@charset "UTF-8";
/**

This is the base of the app.css file, to modify the configuration ot a site level go to /branding.scss if you need modify the global configuration of all sites go to /global/variables.scss.

[ IMPORTANT ] - No BESPOKE CSS RULE'S should be specified here or in branding.scss, if you need to modify the css do it in either /global or in /componants otherwise it will cause tears, IF you really have to to it in the site specific branding.scss under all of the SASS overrides.

**/
/*

values can be either a list or map.

Breakpoint values:
Small = 1
Medium = 2
Large = 3
xLarge = 4
xxLarge = 5

*/
/**

Site specific branding ( colours & fonts ) any sass overrides get defined here as well.

[ IMPORTANT ] - You maybe compelled to write bespoke css rules at the bottom of the file just to make a " quick " site specific change but this WILL conflict with the css being defined in /global and /component either from a configuration stance or responsive point of view, so please consult/modify those 2 directories as needed, this file was only to designed for SASS variables.

**/
@font-face {
  font-family: "Gibson";
  src: url("/template/content/development/css/webfonts/gibson/gibson-light.otf");
  font-weight: 300;
  font-style: normal; }

@font-face {
  font-family: "Gibson";
  src: url("/template/content/development/css/webfonts/gibson/gibson-light-italic.otf");
  font-weight: 300;
  font-style: italic; }

@font-face {
  font-family: "Gibson";
  src: url("/template/content/development/css/webfonts/gibson/gibson-regular.otf");
  font-weight: 400;
  font-style: normal; }

@font-face {
  font-family: "Gibson";
  src: url("/template/content/development/css/webfonts/gibson/gibson-italic.otf");
  font-weight: 400;
  font-style: italic; }

@font-face {
  font-family: "Gibson";
  src: url("/template/content/development/css/webfonts/gibson/gibson-semibold.otf");
  font-weight: 600;
  font-style: normal; }

@font-face {
  font-family: "Gibson";
  src: url("/template/content/development/css/webfonts/gibson/gibson-semibold-italic.otf");
  font-weight: 600;
  font-style: italic; }

@font-face {
  font-family: "Gibson";
  src: url("/template/content/development/css/webfonts/gibson/gibson-bold.otf");
  font-weight: 700;
  font-style: normal; }

@font-face {
  font-family: "Gibson";
  src: url("/template/content/development/css/webfonts/gibson/gibson-bold-italic.otf");
  font-weight: 700;
  font-style: italic; }

/*!
 * Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com
 * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
 * Copyright 2023 Fonticons, Inc.
 */
:root, :host {
  --fa-style-family-brands: 'Font Awesome 6 Brands';
  --fa-font-brands: normal 400 1em/1 'Font Awesome 6 Brands'; }

@font-face {
  font-family: 'Font Awesome 6 Brands';
  font-style: normal;
  font-weight: 400;
  font-display: block;
  src: url("../webfonts/fa-brands-400.woff2") format("woff2"), url("../webfonts/fa-brands-400.ttf") format("truetype"); }

.fab,
.fa-brands {
  font-weight: 400; }

.fa-monero:before {
  content: "\f3d0"; }

.fa-hooli:before {
  content: "\f427"; }

.fa-yelp:before {
  content: "\f1e9"; }

.fa-cc-visa:before {
  content: "\f1f0"; }

.fa-lastfm:before {
  content: "\f202"; }

.fa-shopware:before {
  content: "\f5b5"; }

.fa-creative-commons-nc:before {
  content: "\f4e8"; }

.fa-aws:before {
  content: "\f375"; }

.fa-redhat:before {
  content: "\f7bc"; }

.fa-yoast:before {
  content: "\f2b1"; }

.fa-cloudflare:before {
  content: "\e07d"; }

.fa-ups:before {
  content: "\f7e0"; }

.fa-pixiv:before {
  content: "\e640"; }

.fa-wpexplorer:before {
  content: "\f2de"; }

.fa-dyalog:before {
  content: "\f399"; }

.fa-bity:before {
  content: "\f37a"; }

.fa-stackpath:before {
  content: "\f842"; }

.fa-buysellads:before {
  content: "\f20d"; }

.fa-first-order:before {
  content: "\f2b0"; }

.fa-modx:before {
  content: "\f285"; }

.fa-guilded:before {
  content: "\e07e"; }

.fa-vnv:before {
  content: "\f40b"; }

.fa-square-js:before {
  content: "\f3b9"; }

.fa-js-square:before {
  content: "\f3b9"; }

.fa-microsoft:before {
  content: "\f3ca"; }

.fa-qq:before {
  content: "\f1d6"; }

.fa-orcid:before {
  content: "\f8d2"; }

.fa-java:before {
  content: "\f4e4"; }

.fa-invision:before {
  content: "\f7b0"; }

.fa-creative-commons-pd-alt:before {
  content: "\f4ed"; }

.fa-centercode:before {
  content: "\f380"; }

.fa-glide-g:before {
  content: "\f2a6"; }

.fa-drupal:before {
  content: "\f1a9"; }

.fa-hire-a-helper:before {
  content: "\f3b0"; }

.fa-creative-commons-by:before {
  content: "\f4e7"; }

.fa-unity:before {
  content: "\e049"; }

.fa-whmcs:before {
  content: "\f40d"; }

.fa-rocketchat:before {
  content: "\f3e8"; }

.fa-vk:before {
  content: "\f189"; }

.fa-untappd:before {
  content: "\f405"; }

.fa-mailchimp:before {
  content: "\f59e"; }

.fa-css3-alt:before {
  content: "\f38b"; }

.fa-square-reddit:before {
  content: "\f1a2"; }

.fa-reddit-square:before {
  content: "\f1a2"; }

.fa-vimeo-v:before {
  content: "\f27d"; }

.fa-contao:before {
  content: "\f26d"; }

.fa-square-font-awesome:before {
  content: "\e5ad"; }

.fa-deskpro:before {
  content: "\f38f"; }

.fa-brave:before {
  content: "\e63c"; }

.fa-sistrix:before {
  content: "\f3ee"; }

.fa-square-instagram:before {
  content: "\e055"; }

.fa-instagram-square:before {
  content: "\e055"; }

.fa-battle-net:before {
  content: "\f835"; }

.fa-the-red-yeti:before {
  content: "\f69d"; }

.fa-square-hacker-news:before {
  content: "\f3af"; }

.fa-hacker-news-square:before {
  content: "\f3af"; }

.fa-edge:before {
  content: "\f282"; }

.fa-threads:before {
  content: "\e618"; }

.fa-napster:before {
  content: "\f3d2"; }

.fa-square-snapchat:before {
  content: "\f2ad"; }

.fa-snapchat-square:before {
  content: "\f2ad"; }

.fa-google-plus-g:before {
  content: "\f0d5"; }

.fa-artstation:before {
  content: "\f77a"; }

.fa-markdown:before {
  content: "\f60f"; }

.fa-sourcetree:before {
  content: "\f7d3"; }

.fa-google-plus:before {
  content: "\f2b3"; }

.fa-diaspora:before {
  content: "\f791"; }

.fa-foursquare:before {
  content: "\f180"; }

.fa-stack-overflow:before {
  content: "\f16c"; }

.fa-github-alt:before {
  content: "\f113"; }

.fa-phoenix-squadron:before {
  content: "\f511"; }

.fa-pagelines:before {
  content: "\f18c"; }

.fa-algolia:before {
  content: "\f36c"; }

.fa-red-river:before {
  content: "\f3e3"; }

.fa-creative-commons-sa:before {
  content: "\f4ef"; }

.fa-safari:before {
  content: "\f267"; }

.fa-google:before {
  content: "\f1a0"; }

.fa-square-font-awesome-stroke:before {
  content: "\f35c"; }

.fa-font-awesome-alt:before {
  content: "\f35c"; }

.fa-atlassian:before {
  content: "\f77b"; }

.fa-linkedin-in:before {
  content: "\f0e1"; }

.fa-digital-ocean:before {
  content: "\f391"; }

.fa-nimblr:before {
  content: "\f5a8"; }

.fa-chromecast:before {
  content: "\f838"; }

.fa-evernote:before {
  content: "\f839"; }

.fa-hacker-news:before {
  content: "\f1d4"; }

.fa-creative-commons-sampling:before {
  content: "\f4f0"; }

.fa-adversal:before {
  content: "\f36a"; }

.fa-creative-commons:before {
  content: "\f25e"; }

.fa-watchman-monitoring:before {
  content: "\e087"; }

.fa-fonticons:before {
  content: "\f280"; }

.fa-weixin:before {
  content: "\f1d7"; }

.fa-shirtsinbulk:before {
  content: "\f214"; }

.fa-codepen:before {
  content: "\f1cb"; }

.fa-git-alt:before {
  content: "\f841"; }

.fa-lyft:before {
  content: "\f3c3"; }

.fa-rev:before {
  content: "\f5b2"; }

.fa-windows:before {
  content: "\f17a"; }

.fa-wizards-of-the-coast:before {
  content: "\f730"; }

.fa-square-viadeo:before {
  content: "\f2aa"; }

.fa-viadeo-square:before {
  content: "\f2aa"; }

.fa-meetup:before {
  content: "\f2e0"; }

.fa-centos:before {
  content: "\f789"; }

.fa-adn:before {
  content: "\f170"; }

.fa-cloudsmith:before {
  content: "\f384"; }

.fa-opensuse:before {
  content: "\e62b"; }

.fa-pied-piper-alt:before {
  content: "\f1a8"; }

.fa-square-dribbble:before {
  content: "\f397"; }

.fa-dribbble-square:before {
  content: "\f397"; }

.fa-codiepie:before {
  content: "\f284"; }

.fa-node:before {
  content: "\f419"; }

.fa-mix:before {
  content: "\f3cb"; }

.fa-steam:before {
  content: "\f1b6"; }

.fa-cc-apple-pay:before {
  content: "\f416"; }

.fa-scribd:before {
  content: "\f28a"; }

.fa-debian:before {
  content: "\e60b"; }

.fa-openid:before {
  content: "\f19b"; }

.fa-instalod:before {
  content: "\e081"; }

.fa-expeditedssl:before {
  content: "\f23e"; }

.fa-sellcast:before {
  content: "\f2da"; }

.fa-square-twitter:before {
  content: "\f081"; }

.fa-twitter-square:before {
  content: "\f081"; }

.fa-r-project:before {
  content: "\f4f7"; }

.fa-delicious:before {
  content: "\f1a5"; }

.fa-freebsd:before {
  content: "\f3a4"; }

.fa-vuejs:before {
  content: "\f41f"; }

.fa-accusoft:before {
  content: "\f369"; }

.fa-ioxhost:before {
  content: "\f208"; }

.fa-fonticons-fi:before {
  content: "\f3a2"; }

.fa-app-store:before {
  content: "\f36f"; }

.fa-cc-mastercard:before {
  content: "\f1f1"; }

.fa-itunes-note:before {
  content: "\f3b5"; }

.fa-golang:before {
  content: "\e40f"; }

.fa-kickstarter:before {
  content: "\f3bb"; }

.fa-grav:before {
  content: "\f2d6"; }

.fa-weibo:before {
  content: "\f18a"; }

.fa-uncharted:before {
  content: "\e084"; }

.fa-firstdraft:before {
  content: "\f3a1"; }

.fa-square-youtube:before {
  content: "\f431"; }

.fa-youtube-square:before {
  content: "\f431"; }

.fa-wikipedia-w:before {
  content: "\f266"; }

.fa-wpressr:before {
  content: "\f3e4"; }

.fa-rendact:before {
  content: "\f3e4"; }

.fa-angellist:before {
  content: "\f209"; }

.fa-galactic-republic:before {
  content: "\f50c"; }

.fa-nfc-directional:before {
  content: "\e530"; }

.fa-skype:before {
  content: "\f17e"; }

.fa-joget:before {
  content: "\f3b7"; }

.fa-fedora:before {
  content: "\f798"; }

.fa-stripe-s:before {
  content: "\f42a"; }

.fa-meta:before {
  content: "\e49b"; }

.fa-laravel:before {
  content: "\f3bd"; }

.fa-hotjar:before {
  content: "\f3b1"; }

.fa-bluetooth-b:before {
  content: "\f294"; }

.fa-square-letterboxd:before {
  content: "\e62e"; }

.fa-sticker-mule:before {
  content: "\f3f7"; }

.fa-creative-commons-zero:before {
  content: "\f4f3"; }

.fa-hips:before {
  content: "\f452"; }

.fa-behance:before {
  content: "\f1b4"; }

.fa-reddit:before {
  content: "\f1a1"; }

.fa-discord:before {
  content: "\f392"; }

.fa-chrome:before {
  content: "\f268"; }

.fa-app-store-ios:before {
  content: "\f370"; }

.fa-cc-discover:before {
  content: "\f1f2"; }

.fa-wpbeginner:before {
  content: "\f297"; }

.fa-confluence:before {
  content: "\f78d"; }

.fa-shoelace:before {
  content: "\e60c"; }

.fa-mdb:before {
  content: "\f8ca"; }

.fa-dochub:before {
  content: "\f394"; }

.fa-accessible-icon:before {
  content: "\f368"; }

.fa-ebay:before {
  content: "\f4f4"; }

.fa-amazon:before {
  content: "\f270"; }

.fa-unsplash:before {
  content: "\e07c"; }

.fa-yarn:before {
  content: "\f7e3"; }

.fa-square-steam:before {
  content: "\f1b7"; }

.fa-steam-square:before {
  content: "\f1b7"; }

.fa-500px:before {
  content: "\f26e"; }

.fa-square-vimeo:before {
  content: "\f194"; }

.fa-vimeo-square:before {
  content: "\f194"; }

.fa-asymmetrik:before {
  content: "\f372"; }

.fa-font-awesome:before {
  content: "\f2b4"; }

.fa-font-awesome-flag:before {
  content: "\f2b4"; }

.fa-font-awesome-logo-full:before {
  content: "\f2b4"; }

.fa-gratipay:before {
  content: "\f184"; }

.fa-apple:before {
  content: "\f179"; }

.fa-hive:before {
  content: "\e07f"; }

.fa-gitkraken:before {
  content: "\f3a6"; }

.fa-keybase:before {
  content: "\f4f5"; }

.fa-apple-pay:before {
  content: "\f415"; }

.fa-padlet:before {
  content: "\e4a0"; }

.fa-amazon-pay:before {
  content: "\f42c"; }

.fa-square-github:before {
  content: "\f092"; }

.fa-github-square:before {
  content: "\f092"; }

.fa-stumbleupon:before {
  content: "\f1a4"; }

.fa-fedex:before {
  content: "\f797"; }

.fa-phoenix-framework:before {
  content: "\f3dc"; }

.fa-shopify:before {
  content: "\e057"; }

.fa-neos:before {
  content: "\f612"; }

.fa-square-threads:before {
  content: "\e619"; }

.fa-hackerrank:before {
  content: "\f5f7"; }

.fa-researchgate:before {
  content: "\f4f8"; }

.fa-swift:before {
  content: "\f8e1"; }

.fa-angular:before {
  content: "\f420"; }

.fa-speakap:before {
  content: "\f3f3"; }

.fa-angrycreative:before {
  content: "\f36e"; }

.fa-y-combinator:before {
  content: "\f23b"; }

.fa-empire:before {
  content: "\f1d1"; }

.fa-envira:before {
  content: "\f299"; }

.fa-google-scholar:before {
  content: "\e63b"; }

.fa-square-gitlab:before {
  content: "\e5ae"; }

.fa-gitlab-square:before {
  content: "\e5ae"; }

.fa-studiovinari:before {
  content: "\f3f8"; }

.fa-pied-piper:before {
  content: "\f2ae"; }

.fa-wordpress:before {
  content: "\f19a"; }

.fa-product-hunt:before {
  content: "\f288"; }

.fa-firefox:before {
  content: "\f269"; }

.fa-linode:before {
  content: "\f2b8"; }

.fa-goodreads:before {
  content: "\f3a8"; }

.fa-square-odnoklassniki:before {
  content: "\f264"; }

.fa-odnoklassniki-square:before {
  content: "\f264"; }

.fa-jsfiddle:before {
  content: "\f1cc"; }

.fa-sith:before {
  content: "\f512"; }

.fa-themeisle:before {
  content: "\f2b2"; }

.fa-page4:before {
  content: "\f3d7"; }

.fa-hashnode:before {
  content: "\e499"; }

.fa-react:before {
  content: "\f41b"; }

.fa-cc-paypal:before {
  content: "\f1f4"; }

.fa-squarespace:before {
  content: "\f5be"; }

.fa-cc-stripe:before {
  content: "\f1f5"; }

.fa-creative-commons-share:before {
  content: "\f4f2"; }

.fa-bitcoin:before {
  content: "\f379"; }

.fa-keycdn:before {
  content: "\f3ba"; }

.fa-opera:before {
  content: "\f26a"; }

.fa-itch-io:before {
  content: "\f83a"; }

.fa-umbraco:before {
  content: "\f8e8"; }

.fa-galactic-senate:before {
  content: "\f50d"; }

.fa-ubuntu:before {
  content: "\f7df"; }

.fa-draft2digital:before {
  content: "\f396"; }

.fa-stripe:before {
  content: "\f429"; }

.fa-houzz:before {
  content: "\f27c"; }

.fa-gg:before {
  content: "\f260"; }

.fa-dhl:before {
  content: "\f790"; }

.fa-square-pinterest:before {
  content: "\f0d3"; }

.fa-pinterest-square:before {
  content: "\f0d3"; }

.fa-xing:before {
  content: "\f168"; }

.fa-blackberry:before {
  content: "\f37b"; }

.fa-creative-commons-pd:before {
  content: "\f4ec"; }

.fa-playstation:before {
  content: "\f3df"; }

.fa-quinscape:before {
  content: "\f459"; }

.fa-less:before {
  content: "\f41d"; }

.fa-blogger-b:before {
  content: "\f37d"; }

.fa-opencart:before {
  content: "\f23d"; }

.fa-vine:before {
  content: "\f1ca"; }

.fa-signal-messenger:before {
  content: "\e663"; }

.fa-paypal:before {
  content: "\f1ed"; }

.fa-gitlab:before {
  content: "\f296"; }

.fa-typo3:before {
  content: "\f42b"; }

.fa-reddit-alien:before {
  content: "\f281"; }

.fa-yahoo:before {
  content: "\f19e"; }

.fa-dailymotion:before {
  content: "\e052"; }

.fa-affiliatetheme:before {
  content: "\f36b"; }

.fa-pied-piper-pp:before {
  content: "\f1a7"; }

.fa-bootstrap:before {
  content: "\f836"; }

.fa-odnoklassniki:before {
  content: "\f263"; }

.fa-nfc-symbol:before {
  content: "\e531"; }

.fa-mintbit:before {
  content: "\e62f"; }

.fa-ethereum:before {
  content: "\f42e"; }

.fa-speaker-deck:before {
  content: "\f83c"; }

.fa-creative-commons-nc-eu:before {
  content: "\f4e9"; }

.fa-patreon:before {
  content: "\f3d9"; }

.fa-avianex:before {
  content: "\f374"; }

.fa-ello:before {
  content: "\f5f1"; }

.fa-gofore:before {
  content: "\f3a7"; }

.fa-bimobject:before {
  content: "\f378"; }

.fa-brave-reverse:before {
  content: "\e63d"; }

.fa-facebook-f:before {
  content: "\f39e"; }

.fa-square-google-plus:before {
  content: "\f0d4"; }

.fa-google-plus-square:before {
  content: "\f0d4"; }

.fa-mandalorian:before {
  content: "\f50f"; }

.fa-first-order-alt:before {
  content: "\f50a"; }

.fa-osi:before {
  content: "\f41a"; }

.fa-google-wallet:before {
  content: "\f1ee"; }

.fa-d-and-d-beyond:before {
  content: "\f6ca"; }

.fa-periscope:before {
  content: "\f3da"; }

.fa-fulcrum:before {
  content: "\f50b"; }

.fa-cloudscale:before {
  content: "\f383"; }

.fa-forumbee:before {
  content: "\f211"; }

.fa-mizuni:before {
  content: "\f3cc"; }

.fa-schlix:before {
  content: "\f3ea"; }

.fa-square-xing:before {
  content: "\f169"; }

.fa-xing-square:before {
  content: "\f169"; }

.fa-bandcamp:before {
  content: "\f2d5"; }

.fa-wpforms:before {
  content: "\f298"; }

.fa-cloudversify:before {
  content: "\f385"; }

.fa-usps:before {
  content: "\f7e1"; }

.fa-megaport:before {
  content: "\f5a3"; }

.fa-magento:before {
  content: "\f3c4"; }

.fa-spotify:before {
  content: "\f1bc"; }

.fa-optin-monster:before {
  content: "\f23c"; }

.fa-fly:before {
  content: "\f417"; }

.fa-aviato:before {
  content: "\f421"; }

.fa-itunes:before {
  content: "\f3b4"; }

.fa-cuttlefish:before {
  content: "\f38c"; }

.fa-blogger:before {
  content: "\f37c"; }

.fa-flickr:before {
  content: "\f16e"; }

.fa-viber:before {
  content: "\f409"; }

.fa-soundcloud:before {
  content: "\f1be"; }

.fa-digg:before {
  content: "\f1a6"; }

.fa-tencent-weibo:before {
  content: "\f1d5"; }

.fa-letterboxd:before {
  content: "\e62d"; }

.fa-symfony:before {
  content: "\f83d"; }

.fa-maxcdn:before {
  content: "\f136"; }

.fa-etsy:before {
  content: "\f2d7"; }

.fa-facebook-messenger:before {
  content: "\f39f"; }

.fa-audible:before {
  content: "\f373"; }

.fa-think-peaks:before {
  content: "\f731"; }

.fa-bilibili:before {
  content: "\e3d9"; }

.fa-erlang:before {
  content: "\f39d"; }

.fa-x-twitter:before {
  content: "\e61b"; }

.fa-cotton-bureau:before {
  content: "\f89e"; }

.fa-dashcube:before {
  content: "\f210"; }

.fa-42-group:before {
  content: "\e080"; }

.fa-innosoft:before {
  content: "\e080"; }

.fa-stack-exchange:before {
  content: "\f18d"; }

.fa-elementor:before {
  content: "\f430"; }

.fa-square-pied-piper:before {
  content: "\e01e"; }

.fa-pied-piper-square:before {
  content: "\e01e"; }

.fa-creative-commons-nd:before {
  content: "\f4eb"; }

.fa-palfed:before {
  content: "\f3d8"; }

.fa-superpowers:before {
  content: "\f2dd"; }

.fa-resolving:before {
  content: "\f3e7"; }

.fa-xbox:before {
  content: "\f412"; }

.fa-searchengin:before {
  content: "\f3eb"; }

.fa-tiktok:before {
  content: "\e07b"; }

.fa-square-facebook:before {
  content: "\f082"; }

.fa-facebook-square:before {
  content: "\f082"; }

.fa-renren:before {
  content: "\f18b"; }

.fa-linux:before {
  content: "\f17c"; }

.fa-glide:before {
  content: "\f2a5"; }

.fa-linkedin:before {
  content: "\f08c"; }

.fa-hubspot:before {
  content: "\f3b2"; }

.fa-deploydog:before {
  content: "\f38e"; }

.fa-twitch:before {
  content: "\f1e8"; }

.fa-ravelry:before {
  content: "\f2d9"; }

.fa-mixer:before {
  content: "\e056"; }

.fa-square-lastfm:before {
  content: "\f203"; }

.fa-lastfm-square:before {
  content: "\f203"; }

.fa-vimeo:before {
  content: "\f40a"; }

.fa-mendeley:before {
  content: "\f7b3"; }

.fa-uniregistry:before {
  content: "\f404"; }

.fa-figma:before {
  content: "\f799"; }

.fa-creative-commons-remix:before {
  content: "\f4ee"; }

.fa-cc-amazon-pay:before {
  content: "\f42d"; }

.fa-dropbox:before {
  content: "\f16b"; }

.fa-instagram:before {
  content: "\f16d"; }

.fa-cmplid:before {
  content: "\e360"; }

.fa-upwork:before {
  content: "\e641"; }

.fa-facebook:before {
  content: "\f09a"; }

.fa-gripfire:before {
  content: "\f3ac"; }

.fa-jedi-order:before {
  content: "\f50e"; }

.fa-uikit:before {
  content: "\f403"; }

.fa-fort-awesome-alt:before {
  content: "\f3a3"; }

.fa-phabricator:before {
  content: "\f3db"; }

.fa-ussunnah:before {
  content: "\f407"; }

.fa-earlybirds:before {
  content: "\f39a"; }

.fa-trade-federation:before {
  content: "\f513"; }

.fa-autoprefixer:before {
  content: "\f41c"; }

.fa-whatsapp:before {
  content: "\f232"; }

.fa-slideshare:before {
  content: "\f1e7"; }

.fa-google-play:before {
  content: "\f3ab"; }

.fa-viadeo:before {
  content: "\f2a9"; }

.fa-line:before {
  content: "\f3c0"; }

.fa-google-drive:before {
  content: "\f3aa"; }

.fa-servicestack:before {
  content: "\f3ec"; }

.fa-simplybuilt:before {
  content: "\f215"; }

.fa-bitbucket:before {
  content: "\f171"; }

.fa-imdb:before {
  content: "\f2d8"; }

.fa-deezer:before {
  content: "\e077"; }

.fa-raspberry-pi:before {
  content: "\f7bb"; }

.fa-jira:before {
  content: "\f7b1"; }

.fa-docker:before {
  content: "\f395"; }

.fa-screenpal:before {
  content: "\e570"; }

.fa-bluetooth:before {
  content: "\f293"; }

.fa-gitter:before {
  content: "\f426"; }

.fa-d-and-d:before {
  content: "\f38d"; }

.fa-microblog:before {
  content: "\e01a"; }

.fa-cc-diners-club:before {
  content: "\f24c"; }

.fa-gg-circle:before {
  content: "\f261"; }

.fa-pied-piper-hat:before {
  content: "\f4e5"; }

.fa-kickstarter-k:before {
  content: "\f3bc"; }

.fa-yandex:before {
  content: "\f413"; }

.fa-readme:before {
  content: "\f4d5"; }

.fa-html5:before {
  content: "\f13b"; }

.fa-sellsy:before {
  content: "\f213"; }

.fa-sass:before {
  content: "\f41e"; }

.fa-wirsindhandwerk:before {
  content: "\e2d0"; }

.fa-wsh:before {
  content: "\e2d0"; }

.fa-buromobelexperte:before {
  content: "\f37f"; }

.fa-salesforce:before {
  content: "\f83b"; }

.fa-octopus-deploy:before {
  content: "\e082"; }

.fa-medapps:before {
  content: "\f3c6"; }

.fa-ns8:before {
  content: "\f3d5"; }

.fa-pinterest-p:before {
  content: "\f231"; }

.fa-apper:before {
  content: "\f371"; }

.fa-fort-awesome:before {
  content: "\f286"; }

.fa-waze:before {
  content: "\f83f"; }

.fa-cc-jcb:before {
  content: "\f24b"; }

.fa-snapchat:before {
  content: "\f2ab"; }

.fa-snapchat-ghost:before {
  content: "\f2ab"; }

.fa-fantasy-flight-games:before {
  content: "\f6dc"; }

.fa-rust:before {
  content: "\e07a"; }

.fa-wix:before {
  content: "\f5cf"; }

.fa-square-behance:before {
  content: "\f1b5"; }

.fa-behance-square:before {
  content: "\f1b5"; }

.fa-supple:before {
  content: "\f3f9"; }

.fa-webflow:before {
  content: "\e65c"; }

.fa-rebel:before {
  content: "\f1d0"; }

.fa-css3:before {
  content: "\f13c"; }

.fa-staylinked:before {
  content: "\f3f5"; }

.fa-kaggle:before {
  content: "\f5fa"; }

.fa-space-awesome:before {
  content: "\e5ac"; }

.fa-deviantart:before {
  content: "\f1bd"; }

.fa-cpanel:before {
  content: "\f388"; }

.fa-goodreads-g:before {
  content: "\f3a9"; }

.fa-square-git:before {
  content: "\f1d2"; }

.fa-git-square:before {
  content: "\f1d2"; }

.fa-square-tumblr:before {
  content: "\f174"; }

.fa-tumblr-square:before {
  content: "\f174"; }

.fa-trello:before {
  content: "\f181"; }

.fa-creative-commons-nc-jp:before {
  content: "\f4ea"; }

.fa-get-pocket:before {
  content: "\f265"; }

.fa-perbyte:before {
  content: "\e083"; }

.fa-grunt:before {
  content: "\f3ad"; }

.fa-weebly:before {
  content: "\f5cc"; }

.fa-connectdevelop:before {
  content: "\f20e"; }

.fa-leanpub:before {
  content: "\f212"; }

.fa-black-tie:before {
  content: "\f27e"; }

.fa-themeco:before {
  content: "\f5c6"; }

.fa-python:before {
  content: "\f3e2"; }

.fa-android:before {
  content: "\f17b"; }

.fa-bots:before {
  content: "\e340"; }

.fa-free-code-camp:before {
  content: "\f2c5"; }

.fa-hornbill:before {
  content: "\f592"; }

.fa-js:before {
  content: "\f3b8"; }

.fa-ideal:before {
  content: "\e013"; }

.fa-git:before {
  content: "\f1d3"; }

.fa-dev:before {
  content: "\f6cc"; }

.fa-sketch:before {
  content: "\f7c6"; }

.fa-yandex-international:before {
  content: "\f414"; }

.fa-cc-amex:before {
  content: "\f1f3"; }

.fa-uber:before {
  content: "\f402"; }

.fa-github:before {
  content: "\f09b"; }

.fa-php:before {
  content: "\f457"; }

.fa-alipay:before {
  content: "\f642"; }

.fa-youtube:before {
  content: "\f167"; }

.fa-skyatlas:before {
  content: "\f216"; }

.fa-firefox-browser:before {
  content: "\e007"; }

.fa-replyd:before {
  content: "\f3e6"; }

.fa-suse:before {
  content: "\f7d6"; }

.fa-jenkins:before {
  content: "\f3b6"; }

.fa-twitter:before {
  content: "\f099"; }

.fa-rockrms:before {
  content: "\f3e9"; }

.fa-pinterest:before {
  content: "\f0d2"; }

.fa-buffer:before {
  content: "\f837"; }

.fa-npm:before {
  content: "\f3d4"; }

.fa-yammer:before {
  content: "\f840"; }

.fa-btc:before {
  content: "\f15a"; }

.fa-dribbble:before {
  content: "\f17d"; }

.fa-stumbleupon-circle:before {
  content: "\f1a3"; }

.fa-internet-explorer:before {
  content: "\f26b"; }

.fa-stubber:before {
  content: "\e5c7"; }

.fa-telegram:before {
  content: "\f2c6"; }

.fa-telegram-plane:before {
  content: "\f2c6"; }

.fa-old-republic:before {
  content: "\f510"; }

.fa-odysee:before {
  content: "\e5c6"; }

.fa-square-whatsapp:before {
  content: "\f40c"; }

.fa-whatsapp-square:before {
  content: "\f40c"; }

.fa-node-js:before {
  content: "\f3d3"; }

.fa-edge-legacy:before {
  content: "\e078"; }

.fa-slack:before {
  content: "\f198"; }

.fa-slack-hash:before {
  content: "\f198"; }

.fa-medrt:before {
  content: "\f3c8"; }

.fa-usb:before {
  content: "\f287"; }

.fa-tumblr:before {
  content: "\f173"; }

.fa-vaadin:before {
  content: "\f408"; }

.fa-quora:before {
  content: "\f2c4"; }

.fa-square-x-twitter:before {
  content: "\e61a"; }

.fa-reacteurope:before {
  content: "\f75d"; }

.fa-medium:before {
  content: "\f23a"; }

.fa-medium-m:before {
  content: "\f23a"; }

.fa-amilia:before {
  content: "\f36d"; }

.fa-mixcloud:before {
  content: "\f289"; }

.fa-flipboard:before {
  content: "\f44d"; }

.fa-viacoin:before {
  content: "\f237"; }

.fa-critical-role:before {
  content: "\f6c9"; }

.fa-sitrox:before {
  content: "\e44a"; }

.fa-discourse:before {
  content: "\f393"; }

.fa-joomla:before {
  content: "\f1aa"; }

.fa-mastodon:before {
  content: "\f4f6"; }

.fa-airbnb:before {
  content: "\f834"; }

.fa-wolf-pack-battalion:before {
  content: "\f514"; }

.fa-buy-n-large:before {
  content: "\f8a6"; }

.fa-gulp:before {
  content: "\f3ae"; }

.fa-creative-commons-sampling-plus:before {
  content: "\f4f1"; }

.fa-strava:before {
  content: "\f428"; }

.fa-ember:before {
  content: "\f423"; }

.fa-canadian-maple-leaf:before {
  content: "\f785"; }

.fa-teamspeak:before {
  content: "\f4f9"; }

.fa-pushed:before {
  content: "\f3e1"; }

.fa-wordpress-simple:before {
  content: "\f411"; }

.fa-nutritionix:before {
  content: "\f3d6"; }

.fa-wodu:before {
  content: "\e088"; }

.fa-google-pay:before {
  content: "\e079"; }

.fa-intercom:before {
  content: "\f7af"; }

.fa-zhihu:before {
  content: "\f63f"; }

.fa-korvue:before {
  content: "\f42f"; }

.fa-pix:before {
  content: "\e43a"; }

.fa-steam-symbol:before {
  content: "\f3f6"; }

/*!
 * Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com
 * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
 * Copyright 2023 Fonticons, Inc.
 */
:root, :host {
  --fa-style-family-classic: 'Font Awesome 6 Free';
  --fa-font-regular: normal 400 1em/1 'Font Awesome 6 Free'; }

@font-face {
  font-family: 'Font Awesome 6 Free';
  font-style: normal;
  font-weight: 400;
  font-display: block;
  src: url("../webfonts/fa-regular-400.woff2") format("woff2"), url("../webfonts/fa-regular-400.ttf") format("truetype"); }

.far,
.fa-regular {
  font-weight: 400; }

/*!
 * Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com
 * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
 * Copyright 2023 Fonticons, Inc.
 */
:root, :host {
  --fa-style-family-classic: 'Font Awesome 6 Free';
  --fa-font-solid: normal 900 1em/1 'Font Awesome 6 Free'; }

@font-face {
  font-family: 'Font Awesome 6 Free';
  font-style: normal;
  font-weight: 900;
  font-display: block;
  src: url("../webfonts/fa-solid-900.woff2") format("woff2"), url("../webfonts/fa-solid-900.ttf") format("truetype"); }

.fas,
.fa-solid {
  font-weight: 900; }

@font-face {
  font-family: 'Font Awesome Brands';
  src: url("/template/content/development/css/webfonts/fontawesome/fa-brands-400.woff2"), url("/template/content/development/css/webfonts/fontawesome/fa-brands-400.woff"), url("/template/content/development/css/webfonts/fontawesome/fa-brands-400.ttf");
  font-weight: 400;
  font-size: normal;
  font-display: swap; }

@font-face {
  font-family: 'Font Awesome Solid';
  src: url("/template/content/development/css/webfonts/fontawesome/fa-solid-900.woff2"), url("/template/content/development/css/webfonts/fontawesome/fa-solid-900.woff"), url("/template/content/development/css/webfonts/fontawesome/fa-solid-900.ttf");
  font-weight: 900;
  font-size: normal;
  font-display: swap; }

@font-face {
  font-family: 'Font Awesome Regular';
  src: url("/template/content/development/css/webfonts/fontawesome/fa-regular-400.woff2"), url("/template/content/development/css/webfonts/fontawesome/fa-regular-400.woff"), url("/template/content/development/css/webfonts/fontawesome/fa-regular-400.ttf");
  font-weight: 400;
  font-size: normal;
  font-display: swap; }

@font-face {
  font-family: "fontello";
  src: url("/template/content/development/css/webfonts/fontello-express/fontello.eot") format("embedded-opentype"), url("/template/content/development/css/webfonts/fontello-express/fontello.svg") format("svg"), url("/template/content/development/css/webfonts/fontello-express/fontello.ttf") format("truetype"), url("/template/content/development/css/webfonts/fontello-express/fontello.woff") format("woff"), url("/template/content/development/css/webfonts/fontello-express/fontello.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap; }

@font-face {
  font-family: "fontello-djmiles";
  src: url("/template/content/development/css/webfonts/fontello-djmiles/fontello-djmiles.eot") format("embedded-opentype"), url("/template/content/development/css/webfonts/fontello-djmiles/fontello-djmiles.svg") format("svg"), url("/template/content/development/css/webfonts/fontello-djmiles/fontello-djmiles.ttf") format("truetype"), url("/template/content/development/css/webfonts/fontello-djmiles/fontello-djmiles.woff") format("woff"), url("/template/content/development/css/webfonts/fontello-djmiles/fontello-djmiles.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap; }

/** 
    ----- Email Templates ----- 

    THINK!...... LIKE REALLY THINK OUTLOOK BEFORE MAKING CHANGES, things that these variables will effect: 
    - Fragments ( are colours generic ) 
    - Outlook 
    - Diplomat email parameters

**/
.mobile-break {
  width: 100%;
  height: 0;
  display: block;
  overflow: hidden; }
  @media print, screen and (min-width: 81.25em) {
    .mobile-break {
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content;
      height: auto;
      display: inline-block;
      margin: auto 8px; } }

.page-heading-module h1 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  .page-heading-module h1.preset1 {
    position: relative;
    color: #06052f;
    padding-bottom: 15px;
    position: relative; }
    .page-heading-module h1.preset1:before {
      content: '';
      width: 100%;
      height: 1px;
      position: absolute;
      bottom: 0;
      display: block;
      margin: auto;
      border-width: 0 0 1px 0;
      border-style: solid;
      border-color: #aeaeae; }
      @media print {
        .page-heading-module h1.preset1:before {
          border-bottom: 2px solid #aeaeae;
          background-color: transparent; } }

body h1 {
  margin: 0 0 25px; }

h1 {
  color: #06052f;
  font-size: 2.125rem;
  font-family: "Gibson", "Gibson Fallback", "Arial"; }
  h1.preset1 {
    margin: 0 0 25px;
    font-size: 1.5rem;
    font-weight: 400;
    text-transform: uppercase;
    border-radius: 0; }
  h1.preset2 {
    font-size: 1.9375rem;
    font-weight: 300;
    text-transform: none;
    border-radius: 0;
    position: relative;
    position: relative; }
    h1.preset2:before {
      content: '';
      width: 100%;
      height: 1px;
      position: absolute;
      bottom: 0;
      display: block;
      margin: auto;
      border-width: 0 0 1px 0;
      border-style: solid;
      border-color: #aeaeae; }
      @media print {
        h1.preset2:before {
          border-bottom: 2px solid #aeaeae;
          background-color: transparent; } }

h2 {
  font-size: 1.25rem;
  font-family: "Gibson", "Gibson Fallback", "Arial";
  line-height: 1.5; }
  h2.preset1 {
    padding: 5px 0;
    margin: 0 0 25px;
    color: #ffffff;
    background-color: #50506d;
    text-align: center;
    text-transform: uppercase;
    font-size: 1.25rem;
    font-weight: 300;
    letter-spacing: 1px;
    word-spacing: 2px;
    border-radius: 0;
    border-bottom: 0; }
  h2.preset2 {
    margin: 0;
    color: #06052f;
    text-transform: none;
    font-size: 1.25rem;
    font-weight: 300;
    letter-spacing: normal;
    word-spacing: normal; }
  h2.preset3 {
    margin: 0;
    padding: 0 0 20px;
    font-size: 1.4rem;
    font-weight: 400;
    text-transform: none;
    letter-spacing: normal;
    word-spacing: normal;
    border-radius: 0;
    position: relative;
    color: #06052f;
    padding-bottom: 15px;
    position: relative; }
    h2.preset3:before {
      content: '';
      width: 100%;
      height: 1px;
      position: absolute;
      bottom: 0;
      display: block;
      margin: auto;
      border-width: 0 0 1px 0;
      border-style: solid;
      border-color: #aeaeae; }
      @media print {
        h2.preset3:before {
          border-bottom: 2px solid #aeaeae;
          background-color: transparent; } }
  h2.preset4 {
    padding: 5px 0;
    margin: 0 0 15px;
    color: #ffffff;
    background-color: #50506d;
    font-size: 1.25rem;
    font-weight: 300;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: 2px;
    word-spacing: 2px;
    border-radius: 0; }
    @media print, screen and (min-width: 81.25em) {
      h2.preset4 {
        margin: 0 0 50px; } }

h3 {
  margin: 0;
  font-family: "Gibson", "Gibson Fallback", "Arial";
  font-size: 1.125rem;
  font-weight: 400;
  color: #06052f; }
  h3.preset1 {
    width: 100%;
    margin: 0;
    padding: 5px 0;
    background-color: #50506d;
    text-align: center;
    font-size: 1.0625rem;
    font-weight: 600;
    border-radius: 0;
    text-transform: uppercase;
    color: #ffffff; }
  h3.preset2 {
    position: relative;
    margin: 0 0 25px;
    padding: 0 0 10px;
    font-size: 1.4rem;
    text-transform: none;
    color: #06052f; }
    h3.preset2:after {
      content: '';
      width: 100%;
      height: 1px;
      position: absolute;
      left: 0;
      bottom: 0;
      border-width: 0 0 1px 0;
      border-style: solid;
      border-color: #aeaeae; }

h4 {
  color: #000000;
  font-size: 1.2rem;
  font-weight: 500;
  font-family: "Gibson", "Gibson Fallback", "Arial"; }

h5 {
  color: #000000;
  font-size: 1rem;
  font-weight: 600;
  font-family: "Gibson", "Gibson Fallback", "Arial"; }

h6 {
  color: #000000;
  font-size: 1rem;
  font-weight: 600;
  font-family: "Gibson", "Gibson Fallback", "Arial"; }

.callout.alert h5, .callout.alert p {
  color: #ffffff;
  font-size: 0.875rem;
  font-weight: 700; }

.text-container {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: inline-block;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  margin: 0; }
  @media screen and (min-width: 100em) {
    .text-container {
      margin: 0 auto;
      text-align: right; } }
  @media screen and (min-width: 100em) and (orientation: landscape) {
    .text-container {
      margin: 0; } }
  @media screen and (min-width: 100em) {
    .text-container.align-left {
      text-align: left; } }

a {
  text-decoration: none;
  color: var(--primary-colour-lightness-0, #06052f);
  font-weight: inherit;
  font-size: 1rem;
  -webkit-transition: color 0.8s, opacity 0.8s;
  transition: color 0.8s, opacity 0.8s; }
  a.success {
    color: #12811f; }
    a.success:before, a.success:after {
      color: #12811f; }
  a.warning {
    color: #ff5e05; }
    a.warning:before, a.warning:after {
      color: #ff5e05; }
  a.alert {
    color: #b20c0c; }
    a.alert:before, a.alert:after {
      color: #b20c0c; }
  a.edit {
    font-size: 0.875rem;
    color: #06052f;
    cursor: pointer; }
    a.edit:after {
      content: "";
      margin-left: 10px;
      font-family: "Font Awesome Regular";
      font-size: 17px; }
  a.disabled {
    cursor: not-allowed;
    opacity: 0.4; }
  a.news-button {
    display: none; }
  a.blog-button {
    display: none; }
  a.events-button {
    display: none; }
  a.external-link-icon:after {
    content: "";
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    font-size: 12px;
    font-family: "Font Awesome Solid"; }
  a:hover {
    text-decoration: none;
    color: var(--secondary-colour-lightness-0, #ae9461);
    opacity: 0.9;
    -webkit-transition: color 0.6s, opacity 0.6s;
    transition: color 0.6s, opacity 0.6s; }
  a:active {
    color: var(--neutral-colour-lightness-0, #777777); }
  a.pdf-download {
    position: relative;
    font-weight: 400; }
    a.pdf-download:before {
      content: "";
      margin-right: 15px;
      font-size: 20px;
      font-weight: 400;
      font-family: "Font Awesome Regular";
      color: #ff0101;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
    a.pdf-download:hover:before {
      color: #ae9461;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }

ol li {
  text-align: left; }

@media print, screen and (min-width: 81.25em) {
  hr.mobile-seperator {
    display: none; } }

address {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  font-style: normal;
  color: #000000; }
  address span {
    width: 100%;
    display: block; }

span[class*="-icon"] .icon-text {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  margin-left: 5px; }
  @media print, screen and (min-width: 81.25em) {
    span[class*="-icon"] .icon-text {
      display: none; } }

@media print, screen and (max-width: 81.24875em) {
  .col-label + .prices p:only-child .label {
    display: none; } }

@media print, screen and (max-width: 81.24875em) {
  .col-label + .prices p:only-child .label + .value {
    margin-left: 0; } }

.prices {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  font-size: 1rem; }
  .prices p {
    margin: 0;
    font-weight: 400; }
  .prices .price-container {
    width: 100%;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
    text-align: left;
    line-height: 1.2; }
    .prices .price-container:has(.vat) {
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
    .prices .price-container .label {
      color: #000000;
      font-weight: 400; }
      .prices .price-container .label:not(:empty) {
        margin-right: 5px; }
      .prices .price-container .label ~ .vat {
        width: 100%;
        padding: 0 0 0 5px;
        text-align: right; }
        @media print, screen and (min-width: 40em) {
          .prices .price-container .label ~ .vat {
            width: -webkit-fit-content;
            width: -moz-fit-content;
            width: fit-content; } }
    .prices .price-container .value {
      color: #06052f;
      font-weight: 400; }
      @media print, screen and (min-width: 81.25em) {
        .prices .price-container .value {
          text-align: right; } }
    .prices .price-container.saving .label, .prices .price-container.saving .value {
      color: #06052f;
      font-weight: 400;
      text-transform: uppercase; }
    .prices .price-container.rrp .label, .prices .price-container.rrp .value {
      color: #000000;
      font-weight: 400;
      font-size: 1rem;
      text-transform: uppercase; }
    .prices .price-container .label + .value {
      margin-right: 0;
      margin-left: auto;
      text-align: right; }

.price-container .value {
  font-size: 1rem; }

.price-container .label, .price-container .value {
  font-family: "Gibson", "Gibson Fallback", "Arial"; }

.price {
  margin: 0; }
  .price .currency {
    font-size: 1.625rem; }

.vat {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: inline-block;
  padding-left: 10px;
  color: #777777;
  font-size: 0.75rem;
  font-weight: 400;
  text-align: left;
  white-space: nowrap; }

hr {
  margin: 25px 0; }

/**
 * Foundation for Sites
 * Version 6.7.5
 * https://get.foundation
 * Licensed under MIT Open Source
 */
.table-footer-spacer.preset-1 {
  margin-bottom: 15px; }
  @media screen and (min-width: 81.25em) {
    .table-footer-spacer.preset-1 {
      margin-bottom: 40px; } }

.table-footer-spacer.preset-2 {
  margin-bottom: 10px; }
  @media screen and (min-width: 81.25em) {
    .table-footer-spacer.preset-2 {
      margin-bottom: 20px; } }

.table-footer-spacer hr {
  border-top: 1px solid #aeaeae; }

table {
  --border-colour: var(--neutral-colour-lightness-7);
  --border-hover-colour: #aeaeae;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  border-radius: 0 !important;
  border-color: var(--border-colour); }
  table.striped tr {
    padding: 25px; }
  @media screen and (min-width: 81.25em) {
    table.show-border-bottom tr {
      padding-bottom: 20px; }
      table.show-border-bottom tr:not(:last-child) {
        border-bottom: 1px solid var(--border-colour);
        -webkit-transition: border-color 0.8s;
        transition: border-color 0.8s; }
        table.show-border-bottom tr:not(:last-child):hover {
          border-color: var(--border-hover-colour);
          -webkit-transition: border-color 0.6s;
          transition: border-color 0.6s; } }
  table.show-borders {
    border: 1px solid var(--border-colour); }
    table.show-borders th, table.show-borders td {
      border: 1px solid var(--border-colour); }
  @media screen and (min-width: 81.25em) {
    table.show-internal-borders tr:first-child th, table.show-internal-borders tr:first-child td {
      border-top: 0; }
    table.show-internal-borders tr:last-child th, table.show-internal-borders tr:last-child td {
      border-bottom: 0; }
    table.show-internal-borders tr th, table.show-internal-borders tr td {
      border: 1px solid var(--border-colour); }
      table.show-internal-borders tr th:first-child, table.show-internal-borders tr td:first-child {
        border-left: 0; }
      table.show-internal-borders tr th:last-child, table.show-internal-borders tr td:last-child {
        border-right: 0; } }
  table.highlight-first-column tr td:first-child {
    color: #06052f;
    font-size: 1rem;
    font-weight: 400;
    font-family: "Gibson", "Gibson Fallback", "Arial"; }
  table.preset-1 {
    margin: 10px 0; }
    @media screen and (min-width: 81.25em) {
      table.preset-1 {
        margin: 15px 0; } }
    table.preset-1 td, table.preset-1 th {
      padding: 10px 0; }
    @media screen and (min-width: 81.25em) {
      table.preset-1.row-spacing tbody:before {
        margin: -10px; } }
    table.preset-1 tbody:before {
      content: '';
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; }
      @media screen and (min-width: 81.25em) {
        table.preset-1 tbody:before {
          margin: 10px; } }
    table.preset-1 tbody tr {
      padding: 5px; }
      @media screen and (min-width: 81.25em) {
        table.preset-1 tbody tr {
          padding: 0; } }
    table.preset-1 tbody td {
      position: relative;
      padding: 5px 0 0;
      text-align: left;
      font-size: 1rem; }
      @media screen and (min-width: 81.25em) {
        table.preset-1 tbody td {
          padding: 7px 0;
          text-align: center; } }
      table.preset-1 tbody td.image-col {
        --media-aspect-ratio: 1/1;
        text-align: left;
        padding: 0; }
        table.preset-1 tbody td.image-col .image {
          width: -webkit-fit-content;
          width: -moz-fit-content;
          width: fit-content;
          border: 1px solid #f3f3f3; }
    table.preset-1 tbody a:not([class*="-button"]) {
      color: #06052f;
      font-size: 1rem; }
      table.preset-1 tbody a:not([class*="-button"]):hover {
        color: #ae9461;
        text-decoration: underline; }
        table.preset-1 tbody a:not([class*="-button"]):hover span {
          text-decoration: underline; }
      table.preset-1 tbody a:not([class*="-button"]):active {
        color: #06052f; }
    table.preset-1 tbody a:not(.pdf-download) {
      font-weight: 500; }
  @media screen and (min-width: 81.25em) {
    table.preset-2 {
      margin: 45px 0 40px; } }
  table.preset-2 tbody:before {
    content: '';
    display: block;
    margin: 10px; }
  table.preset-3 td, table.preset-3 th {
    padding: 0 0 10px; }
    @media screen and (min-width: 81.25em) {
      table.preset-3 td, table.preset-3 th {
        padding: 1px 0; } }
  @media screen and (min-width: 81.25em) {
    table.preset-3.row-additional-padding td {
      padding-top: 20px;
      padding-bottom: 20px; } }
  @media screen and (min-width: 81.25em) {
    table.preset-3 tbody:before {
      content: '';
      display: block;
      margin: 10px; } }
  table.preset-3 tbody tr {
    padding: 10px 20px; }
    @media screen and (min-width: 81.25em) {
      table.preset-3 tbody tr {
        padding: 0; } }
  table.preset-3 tbody td, table.preset-3 tbody th {
    font-size: 0.875rem; }
  table.preset-3 tbody td {
    text-align: left; }
    @media screen and (min-width: 81.25em) {
      table.preset-3 tbody td {
        text-align: center; } }
  table.preset-3 tbody a {
    font-weight: 500;
    font-size: 1rem;
    color: #06052f; }
    table.preset-3 tbody a:hover {
      color: #ae9461;
      text-decoration: underline; }
    table.preset-3 tbody a:active {
      color: #06052f; }
  table.row-spacing {
    border-collapse: separate !important;
    border-spacing: 0 10px; }
    table.row-spacing:has(.row-input-toggle) {
      padding-right: 2px;
      padding-left: 2px; }
  table tbody span.col-label {
    width: 100%;
    display: inline-block;
    font-weight: 700; }
    @media screen and (min-width: 81.25em) {
      table tbody span.col-label {
        width: auto; } }
  table td {
    vertical-align: baseline; }
  table:has(td[class*="image-col"]) td {
    vertical-align: middle; }
  @media screen and (min-width: 81.25em) {
    table td.no-pdf-download span.text-container {
      padding-left: 35px; } }
  table button {
    display: inline-block; }
  table tr.success .notification-indicator-container:before {
    background: #12811f; }
  table tr.success .notification-content-container {
    border-color: #12811f; }
    table tr.success .notification-content-container .notification-content {
      color: #12811f; }
  table tr.warning .notification-indicator-container:before {
    background: #ff5e05; }
  table tr.warning .notification-content-container {
    border-color: #ff5e05; }
    table tr.warning .notification-content-container .notification-content {
      color: #ff5e05; }
  table tr.alert .notification-indicator-container:before {
    background: #b20c0c; }
  table tr.alert .notification-content-container {
    border-color: #b20c0c; }
    table tr.alert .notification-content-container .notification-content {
      color: #b20c0c; }
  table tr.error-row, table tr.error {
    background-color: #fde1e1 !important;
    color: #b20c0c; }
  @media screen and (min-width: 81.25em) {
    table tr + tr.error-row td, table tr + tr.error td {
      border-top: 2px solid #ffffff; } }
  table tr.card-expired, table tr.expired {
    background-color: var(--neutral-colour-lightness-9);
    cursor: not-allowed;
    -webkit-transition: background-color, -webkit-box-shadow 0.8s;
    transition: background-color, -webkit-box-shadow 0.8s;
    transition: background-color, box-shadow 0.8s;
    transition: background-color, box-shadow 0.8s, -webkit-box-shadow 0.8s; }
    table tr.card-expired:hover, table tr.expired:hover {
      background-color: transparent;
      -webkit-box-shadow: 0px 0px 0px 2px var(--neutral-colour-lightness-9);
              box-shadow: 0px 0px 0px 2px var(--neutral-colour-lightness-9);
      -webkit-transition: background-color, -webkit-box-shadow 0.6s;
      transition: background-color, -webkit-box-shadow 0.6s;
      transition: background-color, box-shadow 0.6s;
      transition: background-color, box-shadow 0.6s, -webkit-box-shadow 0.6s; }
    table tr.card-expired td, table tr.expired td {
      opacity: 0.5;
      -webkit-transition: opacity 0.8s;
      transition: opacity 0.8s; }
    table tr.card-expired .remove-col, table tr.card-expired .expire-date-col, table tr.expired .remove-col, table tr.expired .expire-date-col {
      opacity: 1; }
  table tr.row-input-toggle {
    -webkit-box-shadow: 0px 0px 0px 2px var(--neutral-colour-lightness-9);
            box-shadow: 0px 0px 0px 2px var(--neutral-colour-lightness-9);
    cursor: pointer;
    -webkit-transition: background-color, -webkit-box-shadow 0.8s;
    transition: background-color, -webkit-box-shadow 0.8s;
    transition: background-color, box-shadow 0.8s;
    transition: background-color, box-shadow 0.8s, -webkit-box-shadow 0.8s; }
    table tr.row-input-toggle:has(input[type='checkbox']:checked, input[type="radio"]:checked) {
      -webkit-box-shadow: 0px 0px 0px 2px var(--secondary-colour-lightness-0);
              box-shadow: 0px 0px 0px 2px var(--secondary-colour-lightness-0);
      background-color: var(--secondary-colour-lightness-10);
      -webkit-transition: background-color, -webkit-box-shadow 0.6s;
      transition: background-color, -webkit-box-shadow 0.6s;
      transition: background-color, box-shadow 0.6s;
      transition: background-color, box-shadow 0.6s, -webkit-box-shadow 0.6s; }
    table tr.row-input-toggle:hover {
      -webkit-box-shadow: 0px 0px 0px 2px var(--secondary-colour-lightness-7);
              box-shadow: 0px 0px 0px 2px var(--secondary-colour-lightness-7); }
  table tr:hover td {
    opacity: 1;
    -webkit-transition: opacity 0.6s;
    transition: opacity 0.6s; }
  table .success-icon:before {
    content: "";
    font-family: "Font Awesome Solid";
    color: #12811f; }
  table .failed-icon:before {
    content: "";
    font-family: "Font Awesome Solid";
    color: #b20c0c; }
  table .failed-reason {
    width: 100%;
    display: block;
    margin-left: 30px;
    font-size: 0.8125rem;
    color: #777777; }
    @media screen and (min-width: 81.25em) {
      table .failed-reason {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content; } }
  @media screen and (min-width: 81.25em) {
    table .failed-icon, table .success-icon {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center; } }
  table .failed-icon:before, table .success-icon:before {
    margin-right: 10px;
    margin-left: 0;
    font-size: 20px; }
  @media screen and (min-width: 81.25em) {
    table .order-total-col, table th.csv-import-col {
      width: 200px; } }
  @media print, screen and (max-width: 81.24875em) {
    table .address-block {
      display: -webkit-inline-box;
      display: -ms-inline-flexbox;
      display: inline-flex; } }
  table .remove-button:before {
    content: "";
    font-family: "Font Awesome Solid";
    font-size: 20px;
    color: #888888;
    -webkit-transition: color 0.8s;
    transition: color 0.8s; }
  table .remove-button:hover:before {
    color: #ae9461;
    -webkit-transition: color 0.6s;
    transition: color 0.6s; }
  table .remove-button:active:before {
    color: #06052f; }
  table .card-type:before {
    content: "";
    margin: 0 10px 0 0;
    font-family: "Font Awesome Solid";
    font-size: 1.25rem;
    color: #888888;
    -webkit-transition: color 0.6s;
    transition: color 0.6s; }
  table .expired-text {
    display: inline-block;
    margin: 0 0 0 5px;
    color: #ff0101;
    font-weight: 700; }
    @media screen and (min-width: 81.25em) {
      table .expired-text {
        position: absolute; } }
  @media screen and (min-width: 81.25em) {
    table .tooltip-container.state-indicator .tooltip-trigger:before {
      font-size: 9px; } }

thead.preset-1 {
  background-color: transparent; }
  thead.preset-1 th {
    padding: 0 0 25px;
    font-size: 1rem;
    font-weight: 400;
    color: #06052f;
    border-bottom: 1px solid #dadada;
    text-align: center;
    text-transform: uppercase; }
    thead.preset-1 th button {
      font-size: 1rem;
      font-weight: 400;
      color: #06052f;
      text-transform: uppercase; }
  thead.preset-1 th[class$=description-col] {
    text-align: left; }
  thead.preset-1 + tbody .col-label {
    font-size: 1rem;
    font-weight: 700;
    color: #06052f; }

thead.preset-2 {
  background-color: transparent; }
  thead.preset-2 th {
    padding: 0 0 20px;
    font-size: 0.9375rem;
    font-weight: 400;
    color: #000000;
    border-bottom: 1px solid #aeaeae; }

thead th {
  vertical-align: baseline;
  font-family: "Gibson", "Gibson Fallback", "Arial"; }

.comparison-table-container .comparison-table-buttons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  @media screen and (min-width: 81.25em) {
    .comparison-table-container .comparison-table-buttons {
      display: none; } }
  .comparison-table-container .comparison-table-buttons ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin: 0;
    padding: 0;
    list-style: none;
    overflow-y: hidden;
    overflow-x: auto; }
    .comparison-table-container .comparison-table-buttons ul li {
      height: 100%; }
      .comparison-table-container .comparison-table-buttons ul li:not(:last-child) {
        margin-right: 10px; }
  .comparison-table-container .comparison-table-buttons .comparison-table-button {
    height: 100%;
    padding: 20px;
    border: 1px solid #888888;
    line-height: 20px;
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }
    .comparison-table-container .comparison-table-buttons .comparison-table-button.active {
      background-color: #06052f;
      color: #ffffff;
      border-color: #06052f;
      -webkit-transition: background-color 0.6s;
      transition: background-color 0.6s; }

.comparison-table-container {
  max-width: 100%;
  width: 100%; }

[comparison-table] .comparison-values td + td, [comparison-table] th + th {
  display: none;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1; }
  @media screen and (min-width: 81.25em) {
    [comparison-table] .comparison-values td + td, [comparison-table] th + th {
      display: table-cell; } }

[comparison-table] thead {
  display: none; }
  @media screen and (min-width: 81.25em) {
    [comparison-table] thead {
      display: table-header-group;
      background-color: transparent; } }
  [comparison-table] thead tr {
    background-color: transparent; }
  [comparison-table] thead th {
    padding: 0 0 15px;
    border-bottom: 1px solid #dadada; }
    [comparison-table] thead th:first-child {
      width: 15%; }

[comparison-table] tbody.comparison-values {
  padding: 10px;
  background-color: #ffffff;
  border: 1px solid #eeeeee; }
  @media screen and (min-width: 81.25em) {
    [comparison-table] tbody.comparison-values {
      border: 0; } }
  @media print, screen and (max-width: 81.24875em) {
    [comparison-table] tbody.comparison-values tr {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-line-pack: baseline;
          align-content: baseline; } }
  [comparison-table] tbody.comparison-values td {
    margin: 5px 0;
    padding: 10px;
    font-size: 1.0625rem;
    border-bottom: 1px solid #dadada; }
    @media screen and (min-width: 81.25em) {
      [comparison-table] tbody.comparison-values td {
        margin: 0;
        border: 0; } }
    [comparison-table] tbody.comparison-values td:nth-child(1) {
      width: 58%;
      font-family: "Gibson", "Gibson Fallback", "Arial"; }
      @media print, screen and (max-width: 81.24875em) {
        [comparison-table] tbody.comparison-values td:nth-child(1) {
          text-align: left; } }
      [comparison-table] tbody.comparison-values td:nth-child(1):first-child {
        margin-top: 0; }
      @media screen and (min-width: 81.25em) {
        [comparison-table] tbody.comparison-values td:nth-child(1) {
          width: 15%;
          border-right: 1px solid #dadada; } }

@media print, screen and (max-width: 81.24875em) {
  [comparison-table].align-value-right tbody td.active {
    text-align: right; } }

[comparison-table].align-value-right .comparison-summary tr {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline; }

[comparison-table].align-value-right .comparison-summary .comparison-currently-selected {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  text-align: right; }

[comparison-table] tbody.comparison-summary {
  display: block;
  margin: 15px 0 10px;
  color: #777777; }
  @media screen and (min-width: 81.25em) {
    [comparison-table] tbody.comparison-summary {
      display: none; } }
  [comparison-table] tbody.comparison-summary .comparison-column-heading {
    width: 58%; }

@media print, screen and (max-width: 81.24875em) {
  table.stack.responsive-table tbody {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 10px 0; } }

@media print, screen and (max-width: 81.24875em) {
  table.stack.responsive-table.force-mobile-row-layout td {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    padding: 5px 0; } }

table.stack.responsive-table.force-mobile-row-layout td .col-label {
  width: 50%; }
  @media print, screen and (min-width: 40em) {
    table.stack.responsive-table.force-mobile-row-layout td .col-label {
      width: 250px; } }

@media print, screen and (max-width: 81.24875em) {
  table.stack.responsive-table td {
    width: 100%;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; } }

@media print, screen and (max-width: 81.24875em) {
  table.stack.responsive-table td.column-empty {
    display: none; } }

@media print, screen and (max-width: 81.24875em) {
  table.stack.responsive-table td .col-label {
    width: 100%; } }

@media print, screen and (max-width: 81.24875em) {
  table.stack.responsive-table td[class*="description-col"] {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: start; } }

@media print, screen and (max-width: 39.99875em) {
  table.stack.responsive-table:has(td[class*="image-col"]) td:not([class*="image-col"]):has(.col-label) {
    grid-template-columns: 50% 50%; } }

@media print, screen and (min-width: 40em) {
  table.stack.responsive-table:has(td[class*="image-col"]) td:not([class*="image-col"]):has(.col-label) {
    grid-template-columns: 30% 70%; } }

@media print, screen and (max-width: 81.24875em) {
  table.stack.responsive-table:has(td[class*="image-col"]) tbody tr {
    display: grid;
    grid-template-columns: 25% 1fr;
    gap: 0 10px; }
  table.stack.responsive-table:has(td[class*="image-col"]) tbody td {
    padding: 0; }
  table.stack.responsive-table:has(td[class*="image-col"]) tbody td:not([class*="image-col"]) {
    grid-column: 2;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
    table.stack.responsive-table:has(td[class*="image-col"]) tbody td:not([class*="image-col"]):has(.col-label) {
      display: grid; }
    table.stack.responsive-table:has(td[class*="image-col"]) tbody td:not([class*="image-col"]) .control {
      margin: auto 0; }
  table.stack.responsive-table:has(td[class*="image-col"]) tbody td[class*="description-col"] {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start; } }

@media print, screen and (max-width: 81.24875em) {
  [responsive-reveal] {
    display: none; } }

.responsive-reveal-table {
  display: block; }
  @media screen and (min-width: 81.25em) {
    .responsive-reveal-table {
      display: none; } }
  @media print, screen and (max-width: 81.24875em) {
    .responsive-reveal-table + table {
      display: none; } }
  .responsive-reveal-table .responsive-table-item {
    background-color: #f3f3f3; }
    .responsive-reveal-table .responsive-table-item:not(:last-child) {
      margin-bottom: 5px; }
    .responsive-reveal-table .responsive-table-item.success {
      border-left: 2px solid #12811f; }
      .responsive-reveal-table .responsive-table-item.success .table-notification-text {
        color: #12811f; }
    .responsive-reveal-table .responsive-table-item.warning {
      border-left: 2px solid #ff5e05; }
      .responsive-reveal-table .responsive-table-item.warning .table-notification-text {
        color: #ff5e05; }
    .responsive-reveal-table .responsive-table-item.alert {
      border-left: 2px solid #b20c0c; }
      .responsive-reveal-table .responsive-table-item.alert .table-notification-text {
        color: #b20c0c; }
    .responsive-reveal-table .responsive-table-item.active .header-container .header-item a {
      color: #06052f; }
    .responsive-reveal-table .responsive-table-item.active .header-container:after {
      content: ""; }
    .responsive-reveal-table .responsive-table-item.active .content-container {
      max-height: 500px;
      margin-top: 10px;
      padding-bottom: 18px;
      -webkit-transition: max-height 0.6s;
      transition: max-height 0.6s; }
    .responsive-reveal-table .responsive-table-item.active .ellipsis-text {
      white-space: normal;
      -webkit-mask-image: none;
              mask-image: none; }
  .responsive-reveal-table .header-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 18px 20px; }
    .responsive-reveal-table .header-container:has(.unread-col) {
      padding-left: 0; }
    .responsive-reveal-table .header-container:after {
      content: "";
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: end;
          -ms-flex-pack: end;
              justify-content: flex-end;
      -webkit-box-flex: 1;
          -ms-flex-positive: 1;
              flex-grow: 1;
      margin-left: 10px;
      font-family: "fontello-djmiles";
      font-size: 18px;
      color: #06052f; }
  .responsive-reveal-table .content-container {
    max-height: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 5px;
    padding: 0 18px;
    overflow: hidden;
    -webkit-transition: max-height 0.8s;
    transition: max-height 0.8s; }
  .responsive-reveal-table .content-item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    font-size: 0.875rem; }
  .responsive-reveal-table .col-label {
    max-width: 120px;
    width: 100%;
    display: block;
    font-weight: 700;
    color: #777777; }
  .responsive-reveal-table .tooltip-container.state-indicator .tooltip-trigger:before {
    font-size: 12px; }

.table-sort-col.ascend button:after {
  content: ""; }

.table-sort-col.descend button:after {
  content: ""; }

.table-sort-col button {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  cursor: pointer; }
  .table-sort-col button:after {
    content: '';
    display: inline-block;
    margin-left: 5px;
    font-family: "fontello-djmiles";
    font-size: 6px;
    color: #888888; }
  .table-sort-col button:hover {
    color: #ae9461;
    -webkit-transition: color 0.8s;
    transition: color 0.8s; }
    .table-sort-col button:hover:after {
      color: #ae9461;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
  .table-sort-col button:active {
    color: #50506d; }
    .table-sort-col button:active:after {
      color: #50506d; }

td.notification-col:hover .table-row-notification .notification-indicator-container {
  width: 6px;
  -webkit-transition: width 0.6s;
  transition: width 0.6s; }

td.notification-col:hover .table-row-notification .notification-content-container {
  max-width: 500px;
  left: 6px;
  -webkit-box-shadow: 4px 0px 8px 3px rgba(12, 12, 12, 0.18);
          box-shadow: 4px 0px 8px 3px rgba(12, 12, 12, 0.18);
  -webkit-transition: max-width 0.6s, border-width 0.6s, left 0.6s;
  transition: max-width 0.6s, border-width 0.6s, left 0.6s; }

.unread-col {
  width: 48px; }
  @media print, screen and (max-width: 81.24875em) {
    .unread-col {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center; } }
  @media screen and (min-width: 81.25em) {
    .unread-col {
      width: 20px; } }

.table-row-notification {
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  cursor: pointer; }
  .table-row-notification .notification-indicator-container {
    width: 2px;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-transition: width 0.8s;
    transition: width 0.8s; }
    .table-row-notification .notification-indicator-container:before {
      content: '';
      width: 100%;
      height: 100%;
      display: block;
      background-color: #777777; }
  .table-row-notification .notification-content-container {
    max-width: 0;
    position: absolute;
    top: 0;
    left: 2px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    background-color: #ffffff;
    overflow: hidden;
    white-space: nowrap;
    border-width: 0;
    border-style: solid;
    border-color: #777777;
    z-index: 5000;
    cursor: text;
    -webkit-transition: max-width 0.8s, left 0.8s ease-in-out;
    transition: max-width 0.8s, left 0.8s ease-in-out; }
    .table-row-notification .notification-content-container .notification-content {
      width: 100%;
      color: #777777;
      font-size: 0.875rem;
      font-style: italic;
      font-weight: 600; }

.table-notification-text {
  font-size: 0.875rem;
  font-style: italic;
  font-weight: 600;
  color: #777777; }
  .table-notification-text p {
    margin: 5px 0;
    padding: 0; }

@media screen and (min-width: 81.25em) {
  table.reusable-card-table.payment .remove-col {
    width: 10%; } }

@media screen and (min-width: 81.25em) {
  table.reusable-card-table .expire-date-col {
    width: 25%; } }

table.reusable-card-table th.select-col, table.reusable-card-table td.select-col {
  display: none; }

table.invalid-basket-table {
  width: calc(100% - 0);
  margin-right: auto;
  margin-left: auto; }
  @media screen and (min-width: 81.25em) {
    table.invalid-basket-table {
      width: calc(100% - 60px); } }
  table.invalid-basket-table .reference-col, table.invalid-basket-table .description-col {
    text-align: left; }

@media screen and (min-width: 81.25em) {
  table.audit-trail-entries {
    width: 850px; } }

table.audit-trail-entries th {
  text-align: left; }

table.audit-trail-entries tbody td {
  text-align: left; }

@media screen and (min-width: 81.25em) {
  table.audit-trail-entries .updated-col, table.audit-trail-entries .updated-by-col {
    width: 19%; } }

@media screen and (min-width: 81.25em) {
  table.audit-trail-entries .access-level-col {
    width: 15%; } }

table.audit-trail-entry {
  margin: 0; }
  table.audit-trail-entry th {
    text-align: left; }
  table.audit-trail-entry th, table.audit-trail-entry td {
    padding: 2.5px 5px; }
    @media screen and (min-width: 81.25em) {
      table.audit-trail-entry th, table.audit-trail-entry td {
        padding: 10px; } }
  table.audit-trail-entry tbody td {
    text-align: left;
    font-size: 1rem; }
  @media screen and (min-width: 81.25em) {
    table.audit-trail-entry .revision-col {
      width: 5%; } }
  @media screen and (min-width: 81.25em) {
    table.audit-trail-entry .updated-by-col {
      width: 17%; } }
  @media screen and (min-width: 81.25em) {
    table.audit-trail-entry .updated-col {
      width: 11%; } }
  @media screen and (min-width: 81.25em) {
    table.audit-trail-entry .published-col, table.audit-trail-entry .access-level-col {
      width: 9%; } }

table.documentation-structured-data {
  --nested-table-row-border-colour: var(--neutral-colour-lightness-8);
  --nested-table-row-border-width: 2px; }
  table.documentation-structured-data .nested-table-row-parent {
    border-width: var(--nested-table-row-border-width) var(--nested-table-row-border-width) 0 var(--nested-table-row-border-width);
    border-style: solid;
    border-color: var(--nested-table-row-border-colour); }
    table.documentation-structured-data .nested-table-row-parent + .nested-table-row {
      border-width: 0 var(--nested-table-row-border-width) var(--nested-table-row-border-width) var(--nested-table-row-border-width);
      border-style: solid;
      border-color: var(--nested-table-row-border-colour); }
      table.documentation-structured-data .nested-table-row-parent + .nested-table-row > td {
        padding: 25px; }
  table.documentation-structured-data thead th {
    text-align: left; }
  table.documentation-structured-data tbody td {
    text-align: left; }

table.folder-filters-table th {
  text-align: left; }

table.folder-filters-table tbody td {
  text-align: left; }

.table-container.table-scroll-enabled {
  position: relative;
  overflow-y: auto;
  border-bottom: 1px solid #dadada; }
  .table-container.table-scroll-enabled table thead th {
    border: 0; }

.table-container.scroll-middle thead:after, .table-container.scroll-at-bottom thead:after {
  -webkit-box-shadow: 0 5px 9px -1px rgba(0, 0, 0, 0.3);
          box-shadow: 0 5px 9px -1px rgba(0, 0, 0, 0.3); }

.table-container.scroll-middle, .table-container.scroll-at-top {
  -webkit-box-shadow: inset 0 -10px 10px -10px rgba(0, 0, 0, 0.3);
          box-shadow: inset 0 -10px 10px -10px rgba(0, 0, 0, 0.3); }

.table-container.scroll-middle {
  -webkit-box-shadow: inset 0 10px 10px -10px rgba(0, 0, 0, 0.3), inset 0 -10px 10px -10px rgba(0, 0, 0, 0.3);
          box-shadow: inset 0 10px 10px -10px rgba(0, 0, 0, 0.3), inset 0 -10px 10px -10px rgba(0, 0, 0, 0.3); }

.table-container.audit-trail-entries {
  max-height: 400px; }
  @media screen and (min-width: 81.25em) {
    .table-container.audit-trail-entries {
      max-height: 600px; } }

.table-container table {
  margin: 0; }

.table-container thead {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  background: var(--white-colour);
  z-index: 1; }
  .table-container thead:after {
    content: '';
    height: 4px;
    position: absolute;
    left: 0;
    bottom: -1px;
    width: 100%;
    border-bottom: 1px solid #dadada; }

/*
---- Inputs ---- 
- Styling for form inputs ( select, input, textarea )
- Quantity selectors
- Forms
  - Fieldsets
  - Fields
- Validation
  - Form errors from the server
  - Advanced validation ( setting password )
- Primary, Secondary, Etc buttons used throughout the site.
- UI block pane.
*/
form {
  background-color: transparent;
  border-radius: 0; }

form.is-invalid button[type=submit], form.is-invalid .form-submit-button {
  cursor: not-allowed;
  opacity: 0.4; }
  form.is-invalid button[type=submit]:hover, form.is-invalid .form-submit-button:hover {
    background-color: #b20c0c !important; }

form.is-invalid input[type=submit] {
  cursor: not-allowed;
  opacity: 0.4; }

button:disabled, button.disabled {
  opacity: 0.4;
  cursor: not-allowed;
  text-decoration: none; }

input[type=submit]:hover {
  cursor: pointer; }

select:focus::-ms-value {
  background-color: transparent;
  color: #000000; }

@media screen and (min-width: 81.25em) {
  .column-content-container .control.text input {
    max-width: 360px; } }

@media screen and (min-width: 81.25em) {
  .column-content-container .control.text.password-reveal-container input {
    max-width: calc(360px - 45px); } }

.field {
  max-width: 100%;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: 5px 0; }
  @media print, screen and (min-width: 40em) {
    .field {
      max-width: 640px;
      margin: auto; } }
  .field.align-right {
    margin-left: 0; }
  .field.align-left {
    margin-right: 0; }
  .field label {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin: 10px 0;
    font-size: 1rem; }
    @media screen and (min-width: 81.25em) {
      .field label {
        margin: 10px 0; } }
    .field label.password-reveal-container input {
      max-width: calc(100% - 45px);
      -webkit-box-ordinal-group: 3;
          -ms-flex-order: 2;
              order: 2;
      border-width: 1px 0 1px 1px;
      border-radius: 0 0 0 0; }
      @media screen and (min-width: 81.25em) {
        .field label.password-reveal-container input {
          max-width: calc(100% - 45px -  160px);
          -webkit-box-flex: 1;
              -ms-flex: 1;
                  flex: 1; } }
    .field label.password-reveal-container .label {
      -webkit-box-ordinal-group: 2;
          -ms-flex-order: 1;
              order: 1; }
    .field label.password-reveal-container .form-error {
      -webkit-box-ordinal-group: 5;
          -ms-flex-order: 4;
              order: 4; }
    .field label.password-reveal-container .password-reveal {
      -webkit-box-ordinal-group: 4;
          -ms-flex-order: 3;
              order: 3; }
    .field label .label + textarea {
      margin: 0; }
    .field label .label .advisory-text {
      width: 100%;
      display: block;
      color: #888888;
      font-size: 0.8125rem;
      font-style: italic; }
    @media screen and (min-width: 81.25em) {
      .field label.text, .field label.email, .field label.tel, .field label.number, .field label.textarea {
        padding: 0 0 0 0; } }
  @media screen and (min-width: 81.25em) {
    .field:has(button[type="submit"].primary-button) {
      margin-top: 10px;
      margin-bottom: 10px; } }
  .field + .cms-content-container {
    margin-top: 20px;
    margin-bottom: 20px; }
  .field input:not([type=checkbox]) {
    padding: 5px 0 5px 25px;
    margin: 0; }
  @media screen and (min-width: 81.25em) {
    .field .label + textarea {
      max-width: 480px;
      width: auto;
      -webkit-box-flex: 1;
          -ms-flex-positive: 1;
              flex-grow: 1; } }
  .field textarea {
    margin: auto; }
    .field textarea:hover {
      border-color: transparent; }
  @media screen and (min-width: 81.25em) {
    .field .error-block {
      max-width: 581.81818px; } }
  .field:not(.medium):not(.large):not(.large-1) {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -ms-flex-line-pack: center;
        align-content: center; }
  .field.small {
    width: 100%;
    margin-bottom: 30px; }
    .field.small label {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center; }
    @media print, screen and (min-width: 40em) {
      .field.small .label {
        width: 300px; } }
  .field.medium {
    width: 100%; }
    .field.medium label {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center; }
    @media print, screen and (min-width: 40em) {
      .field.medium .label {
        width: 350px; } }
  .field.large {
    width: 100%; }
    .field.large label {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start; }
    @media print, screen and (min-width: 40em) {
      .field.large .label {
        width: 440px; } }
  .field.full-width .label {
    width: 100%; }
  .field.list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column; }
    .field.list label {
      margin-bottom: 15px; }
    @media print, screen and (min-width: 40em) {
      .field.list .label {
        width: 340px; } }
  .field .label {
    width: 100%;
    padding-right: 5px;
    margin-bottom: 5px; }
    @media screen and (min-width: 81.25em) {
      .field .label {
        width: 160px;
        margin-bottom: 0; } }
    .field .label a {
      display: block;
      font-style: italic; }
  .field .control.select {
    margin: 0 auto 10px 0; }
  .field .custom-input-container {
    width: 100%;
    max-height: 0;
    overflow: hidden;
    -webkit-transition: max-height 0.8s;
    transition: max-height 0.8s; }
    .field .custom-input-container.active {
      max-height: 200px;
      -webkit-transition: max-height 0.6s;
      transition: max-height 0.6s; }
  .field[class^="field small-"], .field[class^="field medium-"], .field[class^="field large-"] {
    margin: 0; }
    @media screen and (min-width: 81.25em) {
      .field[class^="field small-"] label, .field[class^="field medium-"] label, .field[class^="field large-"] label {
        width: auto; } }
    @media print, screen and (max-width: 81.24875em) {
      .field[class^="field small-"] .control.checkbox span.checkbox, .field[class^="field medium-"] .control.checkbox span.checkbox, .field[class^="field large-"] .control.checkbox span.checkbox {
        margin-right: 40px;
        margin-left: auto; } }
    .field[class^="field small-"] .custom-input-container, .field[class^="field medium-"] .custom-input-container, .field[class^="field large-"] .custom-input-container {
      padding: 0 10px; }
    .field[class^="field small-"] .additional-input-info, .field[class^="field medium-"] .additional-input-info, .field[class^="field large-"] .additional-input-info {
      display: -webkit-inline-box;
      display: -ms-inline-flexbox;
      display: inline-flex; }
  .field.small-1, .field.medium-1, .field.large-1 {
    margin: auto; }
    @media screen and (min-width: 81.25em) {
      .field.small-1, .field.medium-1, .field.large-1 {
        -webkit-box-pack: start;
            -ms-flex-pack: start;
                justify-content: flex-start; } }
    .field.small-1 .label, .field.medium-1 .label, .field.large-1 .label {
      width: auto;
      margin-right: 20px; }
      @media screen and (min-width: 81.25em) {
        .field.small-1 .label, .field.medium-1 .label, .field.large-1 .label {
          width: 360px; } }
  .field.small-2 {
    width: 50%; }
  .field.small-3 {
    width: 33%; }
  @media print, screen and (min-width: 40em) {
    .field.medium-2 {
      width: 50%; } }
  @media print, screen and (min-width: 40em) {
    .field.medium-3 {
      width: 33%; } }
  @media screen and (min-width: 81.25em) {
    .field.large-2 {
      width: 50%; } }
  @media screen and (min-width: 81.25em) {
    .field.large-3 {
      width: 33%; } }

.additional-input-info {
  margin-bottom: 15px; }
  .additional-input-info a[href^="tel:"], .additional-input-info a[href^="mailto:"] {
    font-weight: 700; }
    .additional-input-info a[href^="tel:"]:hover, .additional-input-info a[href^="mailto:"]:hover {
      text-decoration: none; }
    .additional-input-info a[href^="tel:"].show-contact-icon:before, .additional-input-info a[href^="mailto:"].show-contact-icon:before {
      display: inline-block;
      margin-right: 5px;
      font-family: "Font Awesome Solid"; }
  .additional-input-info a[href^="mailto:"].show-contact-icon:before {
    content: ""; }
  .additional-input-info a[href^="tel:"].show-contact-icon:before {
    content: "";
    -webkit-transform: rotate(180deg);
            transform: rotate(180deg); }
  .additional-input-info p a:not([class*="-button"]) {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 0 5px;
    font-weight: 700; }
  .additional-input-info p a:has([style*="float"]) {
    display: inline; }
  .additional-input-info p {
    margin: var(--indent-margin, 0);
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.6;
    color: #777777; }
    .additional-input-info p img[style*="float:left"], .additional-input-info p img[style*="float: left"], .additional-input-info p[style*="float:left"] > img {
      margin: .2em .2em .2em 0; }
    .additional-input-info p img[style*="float:right"], .additional-input-info p img[style*="float: right"], .additional-input-info p[style*="float:right"] > img {
      margin: .2em 0 .2em .2em; }
    .additional-input-info p img {
      margin: .2em 0; }
    .additional-input-info p + p {
      margin-top: 0;
      margin-bottom: 0; }
  .additional-input-info ul, .additional-input-info ol {
    text-align: left; }
  .additional-input-info ul {
    margin: 10px;
    padding: 0;
    line-height: 1.6;
    list-style: none;
    line-height: 25px; }
    .additional-input-info ul ul {
      padding-top: 0;
      padding-bottom: 0;
      padding-left: 25px; }
    .additional-input-info ul li {
      position: relative;
      padding: 0 0 0 15px; }
      .additional-input-info ul li:before {
        content: '';
        width: 5px;
        height: 5px;
        position: absolute;
        top: 10px;
        left: 0;
        margin: auto;
        display: block;
        background-color: #06052f;
        border-radius: 5px; }
  .additional-input-info ol {
    margin: 10px;
    padding: 0 25px;
    line-height: 1.6; }
    .additional-input-info ol ol {
      margin: 0;
      padding-top: 0;
      padding-bottom: 0;
      list-style-type: lower-alpha; }
      .additional-input-info ol ol ol {
        list-style-type: lower-roman; }
        .additional-input-info ol ol ol ol {
          list-style-type: lower-alpha; }
          .additional-input-info ol ol ol ol ol {
            list-style-type: lower-roman; }
  .additional-input-info li {
    color: #777777;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.6; }
  .additional-input-info ul + h1, .additional-input-info ol + h1 {
    margin-top: 35px; }
  .additional-input-info ul + h2, .additional-input-info ol + h2 {
    margin-top: 20px; }
  .additional-input-info ul + h3, .additional-input-info ol + h3 {
    margin-top: 20px; }
  .additional-input-info ul + h4, .additional-input-info ol + h4 {
    margin-top: 20px; }
  .additional-input-info ul + h5, .additional-input-info ol + h5 {
    margin-top: 20px; }
  .additional-input-info ul + h6, .additional-input-info ol + h6 {
    margin-top: 20px; }
  .additional-input-info dl {
    text-align: left; }
  .additional-input-info p, .additional-input-info a {
    font-size: 1rem; }
  .additional-input-info a:not([class*="-button"]) {
    font-size: 1rem; }
  .additional-input-info img {
    margin: 0 15px; }
  .additional-input-info.large {
    width: 100%; }

.lookup-content {
  width: 100%;
  position: relative; }

input[type=password] {
  color: #888888;
  font-size: 22px;
  letter-spacing: -1px;
  font-family: caption;
  -webkit-transition: font-size 0.8s;
  transition: font-size 0.8s;
  overflow: hidden;
  border-radius: 0 0 0 0; }
  @media screen and (min-width: 81.25em) {
    input[type=password] {
      font-size: 44px; } }
  input[type=password]:hover {
    -webkit-box-shadow: -14px -3px 28px 4px rgba(12, 12, 13, 0.1);
            box-shadow: -14px -3px 28px 4px rgba(12, 12, 13, 0.1);
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
    input[type=password]:hover + button {
      -webkit-box-shadow: 14px -3px 28px 4px rgba(12, 12, 13, 0.1);
              box-shadow: 14px -3px 28px 4px rgba(12, 12, 13, 0.1);
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
  input[type=password]:focus + button {
    border-color: #c8c8c8; }
  input[type=password] + button {
    border-radius: 0 0 0 0; }

.password-reveal {
  width: 45px;
  height: 45px;
  position: relative;
  display: inline-block;
  border-color: #c8c8c8;
  border-style: solid;
  border-width: 1px 1px 1px 0;
  -webkit-transition: all 0.8s;
  transition: all 0.8s; }
  .password-reveal:before {
    content: "";
    font-family: "Font Awesome Solid";
    font-style: 12px;
    color: rgba(119, 119, 119, 0.7);
    -webkit-transition: color 0.8s;
    transition: color 0.8s; }
  @media screen and (min-width: 81.25em) {
    .password-reveal:hover:before {
      color: #ae9461;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; } }
  .password-reveal.active:before {
    color: #ae9461;
    -webkit-transition: color 0.6s;
    transition: color 0.6s; }
  .password-reveal.input-active {
    -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
            box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3); }

input::-ms-clear, input::-ms-reveal {
  display: none; }

.action-button {
  --component-specifc-step-height: 15px;
  width: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  margin: var(--common-button-small-margin, 5px 10px);
  padding: var(--common-button-padding, 10px 20px);
  color: #06052f;
  background-color: #e6e6ea;
  border-width: 2px;
  font-size: 0.875rem;
  font-weight: 400;
  text-align: center;
  border-style: solid;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: 0.6px;
  word-spacing: 2px;
  border-color: #e6e6ea;
  text-decoration: none;
  line-height: 1;
  border-radius: 0 !important;
  overflow: hidden;
  -webkit-transition: all 0.8s;
  transition: all 0.8s; }
  @media screen and (min-width: 81.25em) {
    .action-button {
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content;
      margin: var(--common-button-large-margin, 0); } }
  @media (hover: hover) {
    .action-button:hover, .action-button.hover {
      color: #ffffff;
      background-color: #ae9461;
      border-color: #ae9461;
      text-decoration: none;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
      .action-button:hover .graduated-colour-edge .step, .action-button.hover .graduated-colour-edge .step {
        background-color: #ffffff;
        -webkit-transition: background-color 0.6s;
        transition: background-color 0.6s; } }
  .action-button:active, .action-button.active {
    color: #ffffff;
    background-color: #06052f;
    border-color: #06052f;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
  .action-button:disabled, .action-button.disabled, .action-button[disabled] {
    color: #929292;
    background-color: #ffffff;
    border-color: rgba(200, 200, 200, 0.7);
    cursor: not-allowed; }
  .action-button:disabled:hover, .action-button.disabled:hover {
    border-color: rgba(200, 200, 200, 0.7); }
  .action-button:focus-visible {
    outline: none;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
  .action-button .graduated-colour-edge .step {
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }
  .action-button.success, .action-button.email {
    --component-specifc-step-height: 15px;
    width: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: relative;
    margin: var(--common-button-small-margin, 5px 10px);
    padding: var(--common-button-padding, 10px 20px);
    color: #12811f;
    background-color: #dffbe2;
    border-width: 2px;
    font-size: 0.875rem;
    font-weight: 400;
    text-align: center;
    border-style: solid;
    cursor: pointer;
    text-transform: uppercase;
    letter-spacing: 0.6px;
    word-spacing: 2px;
    border-color: #12811f;
    text-decoration: none;
    line-height: 1;
    border-radius: 0 !important;
    overflow: hidden;
    -webkit-transition: all 0.8s;
    transition: all 0.8s; }
    @media screen and (min-width: 81.25em) {
      .action-button.success, .action-button.email {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
        margin: var(--common-button-large-margin, 0); } }
    @media (hover: hover) {
      .action-button.success:hover, .action-button.success.hover, .action-button.email:hover, .action-button.email.hover {
        color: #ffffff;
        background-color: #12811f;
        border-color: #12811f;
        text-decoration: none;
        -webkit-transition: all 0.6s;
        transition: all 0.6s; }
        .action-button.success:hover .graduated-colour-edge .step, .action-button.success.hover .graduated-colour-edge .step, .action-button.email:hover .graduated-colour-edge .step, .action-button.email.hover .graduated-colour-edge .step {
          background-color: #ffffff;
          -webkit-transition: background-color 0.6s;
          transition: background-color 0.6s; } }
    .action-button.success:active, .action-button.success.active, .action-button.email:active, .action-button.email.active {
      color: #ffffff;
      background-color: #e6e6ea;
      border-color: #e6e6ea;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
    .action-button.success:disabled, .action-button.success.disabled, .action-button.success[disabled], .action-button.email:disabled, .action-button.email.disabled, .action-button.email[disabled] {
      color: #929292;
      background-color: #ffffff;
      border-color: rgba(200, 200, 200, 0.7);
      cursor: not-allowed; }
    .action-button.success:disabled:hover, .action-button.success.disabled:hover, .action-button.email:disabled:hover, .action-button.email.disabled:hover {
      border-color: rgba(200, 200, 200, 0.7); }
    .action-button.success:focus-visible, .action-button.email:focus-visible {
      outline: none;
      -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
              box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
    .action-button.success .graduated-colour-edge .step, .action-button.email .graduated-colour-edge .step {
      -webkit-transition: background-color 0.8s;
      transition: background-color 0.8s; }
  .action-button.warning {
    --component-specifc-step-height: 15px;
    width: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: relative;
    margin: var(--common-button-small-margin, 5px 10px);
    padding: var(--common-button-padding, 10px 20px);
    color: #ff5e05;
    background-color: #ffefe6;
    border-width: 2px;
    font-size: 0.875rem;
    font-weight: 400;
    text-align: center;
    border-style: solid;
    cursor: pointer;
    text-transform: uppercase;
    letter-spacing: 0.6px;
    word-spacing: 2px;
    border-color: #ff5e05;
    text-decoration: none;
    line-height: 1;
    border-radius: 0 !important;
    overflow: hidden;
    -webkit-transition: all 0.8s;
    transition: all 0.8s; }
    @media screen and (min-width: 81.25em) {
      .action-button.warning {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
        margin: var(--common-button-large-margin, 0); } }
    @media (hover: hover) {
      .action-button.warning:hover, .action-button.warning.hover {
        color: #ffffff;
        background-color: #ff5e05;
        border-color: #ff5e05;
        text-decoration: none;
        -webkit-transition: all 0.6s;
        transition: all 0.6s; }
        .action-button.warning:hover .graduated-colour-edge .step, .action-button.warning.hover .graduated-colour-edge .step {
          background-color: #ffffff;
          -webkit-transition: background-color 0.6s;
          transition: background-color 0.6s; } }
    .action-button.warning:active, .action-button.warning.active {
      color: #ffffff;
      background-color: #e6e6ea;
      border-color: #e6e6ea;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
    .action-button.warning:disabled, .action-button.warning.disabled, .action-button.warning[disabled] {
      color: #929292;
      background-color: #ffffff;
      border-color: rgba(200, 200, 200, 0.7);
      cursor: not-allowed; }
    .action-button.warning:disabled:hover, .action-button.warning.disabled:hover {
      border-color: rgba(200, 200, 200, 0.7); }
    .action-button.warning:focus-visible {
      outline: none;
      -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
              box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
    .action-button.warning .graduated-colour-edge .step {
      -webkit-transition: background-color 0.8s;
      transition: background-color 0.8s; }
  .action-button.alert {
    --component-specifc-step-height: 15px;
    width: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: relative;
    margin: var(--common-button-small-margin, 5px 10px);
    padding: var(--common-button-padding, 10px 20px);
    color: #b20c0c;
    background-color: #fde1e1;
    border-width: 2px;
    font-size: 0.875rem;
    font-weight: 400;
    text-align: center;
    border-style: solid;
    cursor: pointer;
    text-transform: uppercase;
    letter-spacing: 0.6px;
    word-spacing: 2px;
    border-color: #b20c0c;
    text-decoration: none;
    line-height: 1;
    border-radius: 0 !important;
    overflow: hidden;
    -webkit-transition: all 0.8s;
    transition: all 0.8s; }
    @media screen and (min-width: 81.25em) {
      .action-button.alert {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
        margin: var(--common-button-large-margin, 0); } }
    @media (hover: hover) {
      .action-button.alert:hover, .action-button.alert.hover {
        color: #ffffff;
        background-color: #b20c0c;
        border-color: #b20c0c;
        text-decoration: none;
        -webkit-transition: all 0.6s;
        transition: all 0.6s; }
        .action-button.alert:hover .graduated-colour-edge .step, .action-button.alert.hover .graduated-colour-edge .step {
          background-color: #ffffff;
          -webkit-transition: background-color 0.6s;
          transition: background-color 0.6s; } }
    .action-button.alert:active, .action-button.alert.active {
      color: #ffffff;
      background-color: #e6e6ea;
      border-color: #e6e6ea;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
    .action-button.alert:disabled, .action-button.alert.disabled, .action-button.alert[disabled] {
      color: #929292;
      background-color: #ffffff;
      border-color: rgba(200, 200, 200, 0.7);
      cursor: not-allowed; }
    .action-button.alert:disabled:hover, .action-button.alert.disabled:hover {
      border-color: rgba(200, 200, 200, 0.7); }
    .action-button.alert:focus-visible {
      outline: none;
      -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
              box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
    .action-button.alert .graduated-colour-edge .step {
      -webkit-transition: background-color 0.8s;
      transition: background-color 0.8s; }

a[class*="-button"].align-center {
  margin-right: auto;
  margin-left: auto; }

a[class*="-button"].align-right {
  margin-right: 0;
  margin-left: auto; }

a[class*="-button"].align-left {
  margin-right: auto;
  margin-left: 0; }

.button1, .primary-button {
  --component-specifc-step-height: 15px;
  width: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  margin: var(--common-button-small-margin, 5px 10px);
  padding: var(--common-button-padding, 10px 20px);
  color: #06052f;
  background-color: #e6e6ea;
  border-width: 2px;
  font-size: 0.875rem;
  font-weight: 400;
  text-align: center;
  border-style: solid;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: 0.6px;
  word-spacing: 2px;
  border-color: #e6e6ea;
  text-decoration: none;
  line-height: 1;
  border-radius: 0 !important;
  overflow: hidden;
  -webkit-transition: all 0.8s;
  transition: all 0.8s; }
  @media screen and (min-width: 81.25em) {
    .button1, .primary-button {
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content;
      margin: var(--common-button-large-margin, 0); } }
  @media (hover: hover) {
    .button1:hover, .button1.hover, .primary-button:hover, .primary-button.hover {
      color: #ffffff;
      background-color: #ae9461;
      border-color: #ae9461;
      text-decoration: none;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
      .button1:hover .graduated-colour-edge .step, .button1.hover .graduated-colour-edge .step, .primary-button:hover .graduated-colour-edge .step, .primary-button.hover .graduated-colour-edge .step {
        background-color: #ffffff;
        -webkit-transition: background-color 0.6s;
        transition: background-color 0.6s; } }
  .button1:active, .button1.active, .primary-button:active, .primary-button.active {
    color: #ffffff;
    background-color: #06052f;
    border-color: #06052f;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
  .button1:disabled, .button1.disabled, .button1[disabled], .primary-button:disabled, .primary-button.disabled, .primary-button[disabled] {
    color: #929292;
    background-color: #ffffff;
    border-color: rgba(200, 200, 200, 0.7);
    cursor: not-allowed; }
  .button1:disabled:hover, .button1.disabled:hover, .primary-button:disabled:hover, .primary-button.disabled:hover {
    border-color: rgba(200, 200, 200, 0.7); }
  .button1:focus-visible, .primary-button:focus-visible {
    outline: none;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
  .button1 .graduated-colour-edge .step, .primary-button .graduated-colour-edge .step {
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }

.secondary-button {
  --component-specifc-step-height: 15px;
  width: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  margin: var(--common-button-small-margin, 5px 10px);
  padding: var(--common-button-padding, 10px 20px);
  color: #06052f;
  background-color: #ffffff;
  border-width: 2px;
  font-size: 0.875rem;
  font-weight: 400;
  text-align: center;
  border-style: solid;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: 0.6px;
  word-spacing: 2px;
  border-color: #dadada;
  text-decoration: none;
  line-height: 1;
  border-radius: 0 !important;
  overflow: hidden;
  -webkit-transition: all 0.8s;
  transition: all 0.8s; }
  @media screen and (min-width: 81.25em) {
    .secondary-button {
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content;
      margin: var(--common-button-large-margin, 0); } }
  @media (hover: hover) {
    .secondary-button:hover, .secondary-button.hover {
      color: #ffffff;
      background-color: #3141e4;
      border-color: #06052f;
      text-decoration: none;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
      .secondary-button:hover .graduated-colour-edge .step, .secondary-button.hover .graduated-colour-edge .step {
        background-color: #ffffff;
        -webkit-transition: background-color 0.6s;
        transition: background-color 0.6s; } }
  .secondary-button:active, .secondary-button.active {
    color: #ffffff;
    background-color: #06052f;
    border-color: #06052f;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
  .secondary-button:disabled, .secondary-button.disabled, .secondary-button[disabled] {
    color: #929292;
    background-color: #ffffff;
    border-color: rgba(200, 200, 200, 0.7);
    cursor: not-allowed; }
  .secondary-button:disabled:hover, .secondary-button.disabled:hover {
    border-color: rgba(200, 200, 200, 0.7); }
  .secondary-button:focus-visible {
    outline: none;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
  .secondary-button .graduated-colour-edge .step {
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }

.tertiary-button {
  --component-specifc-step-height: 15px;
  width: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  margin: var(--common-button-small-margin, 5px 10px);
  padding: var(--common-button-padding, 10px 20px);
  color: #ff0101;
  background-color: #ffdfdf;
  border-width: 2px;
  font-size: 0.875rem;
  font-weight: 400;
  text-align: center;
  border-style: solid;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: 0.6px;
  word-spacing: 2px;
  border-color: #dadada;
  text-decoration: none;
  line-height: 1;
  border-radius: 0 !important;
  overflow: hidden;
  -webkit-transition: all 0.8s;
  transition: all 0.8s; }
  @media screen and (min-width: 81.25em) {
    .tertiary-button {
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content;
      margin: var(--common-button-large-margin, 0); } }
  @media (hover: hover) {
    .tertiary-button:hover, .tertiary-button.hover {
      color: #ffffff;
      background-color: #ff0101;
      border-color: #ff0101;
      text-decoration: none;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
      .tertiary-button:hover .graduated-colour-edge .step, .tertiary-button.hover .graduated-colour-edge .step {
        background-color: #ffffff;
        -webkit-transition: background-color 0.6s;
        transition: background-color 0.6s; } }
  .tertiary-button:active, .tertiary-button.active {
    color: #ffffff;
    background-color: #06052f;
    border-color: #ffffff;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
  .tertiary-button:disabled, .tertiary-button.disabled, .tertiary-button[disabled] {
    color: #929292;
    background-color: #ffffff;
    border-color: rgba(200, 200, 200, 0.7);
    cursor: not-allowed; }
  .tertiary-button:disabled:hover, .tertiary-button.disabled:hover {
    border-color: rgba(200, 200, 200, 0.7); }
  .tertiary-button:focus-visible {
    outline: none;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
  .tertiary-button .graduated-colour-edge .step {
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }

.quaternary-button {
  --component-specifc-step-height: 15px;
  width: auto;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  margin: var(--common-button-small-margin, 0);
  padding: var(--common-button-padding, 3.5px 16px);
  color: #ffffff;
  background-color: #ae9461;
  border-width: 2px;
  font-size: 0.875rem;
  font-weight: 400;
  text-align: center;
  border-style: solid;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: 0.6px;
  word-spacing: 2px;
  border-color: #ae9461;
  text-decoration: none;
  line-height: 1;
  border-radius: 0 !important;
  overflow: hidden;
  -webkit-transition: all 0.8s;
  transition: all 0.8s; }
  @media screen and (min-width: 81.25em) {
    .quaternary-button {
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content;
      margin: var(--common-button-large-margin, 0); } }
  @media (hover: hover) {
    .quaternary-button:hover, .quaternary-button.hover {
      color: #ae9461;
      background-color: #ffffff;
      border-color: #ae9461;
      text-decoration: none;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
      .quaternary-button:hover .graduated-colour-edge .step, .quaternary-button.hover .graduated-colour-edge .step {
        background-color: #ffffff;
        -webkit-transition: background-color 0.6s;
        transition: background-color 0.6s; } }
  .quaternary-button:active, .quaternary-button.active {
    color: #06052f;
    background-color: #ffffff;
    border-color: #06052f;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
  .quaternary-button:disabled, .quaternary-button.disabled, .quaternary-button[disabled] {
    color: #929292;
    background-color: #ffffff;
    border-color: rgba(200, 200, 200, 0.7);
    cursor: not-allowed; }
  .quaternary-button:disabled:hover, .quaternary-button.disabled:hover {
    border-color: rgba(200, 200, 200, 0.7); }
  .quaternary-button:focus-visible {
    outline: none;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
  .quaternary-button .graduated-colour-edge .step {
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }

.quinary-button {
  --component-specifc-step-height: 15px;
  width: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  margin: var(--common-button-small-margin, 5px 10px);
  padding: var(--common-button-padding, 10px 20px);
  color: #06052f;
  background-color: #eeeeee;
  border-width: 2px;
  font-size: 0.875rem;
  font-weight: 400;
  text-align: center;
  border-style: solid;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: 0.6px;
  word-spacing: 2px;
  border-color: #dadada;
  text-decoration: none;
  line-height: 1;
  border-radius: 0 !important;
  overflow: hidden;
  -webkit-transition: all 0.8s;
  transition: all 0.8s; }
  @media screen and (min-width: 81.25em) {
    .quinary-button {
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content;
      margin: var(--common-button-large-margin, 0); } }
  @media (hover: hover) {
    .quinary-button:hover, .quinary-button.hover {
      color: #06052f;
      background-color: #06052f;
      border-color: #06052f;
      text-decoration: none;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
      .quinary-button:hover .graduated-colour-edge .step, .quinary-button.hover .graduated-colour-edge .step {
        background-color: #ffffff;
        -webkit-transition: background-color 0.6s;
        transition: background-color 0.6s; } }
  .quinary-button:active, .quinary-button.active {
    color: #06052f;
    background-color: #ffffff;
    border-color: #06052f;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
  .quinary-button:disabled, .quinary-button.disabled, .quinary-button[disabled] {
    color: #929292;
    background-color: #ffffff;
    border-color: rgba(200, 200, 200, 0.7);
    cursor: not-allowed; }
  .quinary-button:disabled:hover, .quinary-button.disabled:hover {
    border-color: rgba(200, 200, 200, 0.7); }
  .quinary-button:focus-visible {
    outline: none;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
  .quinary-button .graduated-colour-edge .step {
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }

.cms-button {
  --component-specifc-step-height: 15px;
  width: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  margin: var(--common-button-small-margin, 0);
  padding: var(--common-button-padding, 10px 20px);
  color: #06052f;
  background-color: transparent;
  border-width: 2px;
  font-size: 0.875rem;
  font-weight: 400;
  text-align: center;
  border-style: solid;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: 0.6px;
  word-spacing: 2px;
  border-color: #06052f;
  text-decoration: none;
  line-height: 1;
  border-radius: 0 !important;
  overflow: hidden;
  -webkit-transition: all 0.8s;
  transition: all 0.8s; }
  @media print, screen and (min-width: 40em) {
    .cms-button {
      margin: var(--common-button-medium-margin, 0 0 10px); } }
  @media screen and (min-width: 81.25em) {
    .cms-button {
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content;
      margin: var(--common-button-large-margin, 0 0 10px); } }
  @media (hover: hover) {
    .cms-button:hover, .cms-button.hover {
      color: #ffffff;
      background-color: #06052f;
      border-color: hover-color((default: transparent, hover: #06052f, active: #ae9461, disabled: #ffffff));
      text-decoration: none;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
      .cms-button:hover .graduated-colour-edge .step, .cms-button.hover .graduated-colour-edge .step {
        background-color: #ffffff;
        -webkit-transition: background-color 0.6s;
        transition: background-color 0.6s; } }
  .cms-button:active, .cms-button.active {
    color: #06052f;
    background-color: #ae9461;
    border-color: #06052f;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
  .cms-button:disabled, .cms-button.disabled, .cms-button[disabled] {
    color: #929292;
    background-color: #ffffff;
    border-color: rgba(200, 200, 200, 0.7);
    cursor: not-allowed; }
  .cms-button:disabled:hover, .cms-button.disabled:hover {
    border-color: rgba(200, 200, 200, 0.7); }
  .cms-button:focus-visible {
    outline: none;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
  .cms-button .graduated-colour-edge .step {
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }

.cms-proceed-button {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 5px;
  font-size: 1rem;
  font-weight: 600;
  text-transform: uppercase; }
  .cms-proceed-button:after {
    content: "";
    font-size: 8px;
    font-family: "fontello-djmiles";
    font-weight: normal; }
  .cms-proceed-button:hover {
    text-decoration: none; }

.copy-to-clipboard-button {
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  .copy-to-clipboard-button:after {
    content: "";
    margin-left: 5px;
    color: #777777;
    font-family: "Font Awesome Solid";
    size: 15px; }
  .copy-to-clipboard-button .copied-text-container {
    width: calc(100% + 10px);
    height: calc(100% + 10px);
    position: absolute;
    top: -5px;
    left: -5px;
    padding: 5px;
    background-color: rgba(238, 238, 238, 0.9);
    color: #000000;
    text-align: center;
    font-size: 0.8125rem;
    font-weight: 600; }

.location-button {
  --component-specifc-step-height: 15px;
  width: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  position: relative;
  margin: var(--common-button-small-margin, 0);
  padding: var(--common-button-padding, 9.5px 12px 9.5px 21px);
  color: #000000;
  background-color: #ffffff;
  border-width: 2px;
  font-size: 0.875rem;
  font-weight: 400;
  text-align: center;
  border-style: solid;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: 0.6px;
  word-spacing: 2px;
  border-color: #dadada;
  text-decoration: none;
  line-height: 1;
  border-radius: 0 !important;
  overflow: hidden;
  -webkit-transition: all 0.8s;
  transition: all 0.8s;
  /*
        --- Icon configuration ---
        - $icposition => Before or after text
        - margin => icon margin
        - colour => icon colour states ( default, hover & active )
        - size => icon size.
        - content => the font icon itself, normally stored in $site-icons
        - font-family => the font family that the icon belongs to font awesome or fontello.
        */ }
  @media screen and (min-width: 81.25em) {
    .location-button {
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content;
      margin: var(--common-button-large-margin, 0); } }
  @media (hover: hover) {
    .location-button:hover, .location-button.hover {
      color: #06052f;
      background-color: #06052f;
      border-color: #06052f;
      text-decoration: none;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
      .location-button:hover:after, .location-button.hover:after {
        color: #06052f;
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
      .location-button:hover .graduated-colour-edge .step, .location-button.hover .graduated-colour-edge .step {
        background-color: #ffffff;
        -webkit-transition: background-color 0.6s;
        transition: background-color 0.6s; } }
  .location-button:active, .location-button.active {
    color: #ffffff;
    background-color: #06052f;
    border-color: #06052f;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
    .location-button:active:after, .location-button.active:after {
      color: #ffffff; }
  .location-button:disabled, .location-button.disabled, .location-button[disabled] {
    color: #929292;
    background-color: #ffffff;
    border-color: rgba(200, 200, 200, 0.7);
    cursor: not-allowed; }
    .location-button:disabled:after, .location-button.disabled:after, .location-button[disabled]:after {
      color: #929292; }
  .location-button:disabled:hover, .location-button.disabled:hover {
    border-color: rgba(200, 200, 200, 0.7); }
  .location-button:focus-visible {
    outline: none;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
  .location-button:after {
    content: "";
    margin: 0 0 0 40px;
    font-family: "Font Awesome Solid";
    font-size: 20px;
    color: #06052f;
    -webkit-transition: color 0.8s;
    transition: color 0.8s; }
  .location-button .graduated-colour-edge .step {
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }

.third-party-tracking-reference {
  margin: 0;
  padding: 10px;
  font-size: 0.9375rem;
  font-weight: 600;
  color: #06052f; }
  .third-party-tracking-reference .reference {
    margin-left: 5px; }

.third-party-tracking-button {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 10px;
  font-size: 0.9375rem;
  font-weight: 600;
  color: #06052f;
  background-color: #06052f;
  border: 1px solid #06052f; }
  .third-party-tracking-button:hover {
    color: #06052f;
    background-color: #06052f;
    border-color: #06052f; }
    .third-party-tracking-button:hover:after {
      color: #06052f; }
  .third-party-tracking-button:active {
    color: #ae9461;
    background-color: #ffffff;
    border-color: #ffffff; }
    .third-party-tracking-button:active:after {
      color: #ae9461; }
  .third-party-tracking-button:after {
    content: "";
    margin-left: 12px;
    font-family: "fontello";
    font-size: 16px;
    color: #06052f; }

.third-party-tracking-button-2 {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 5px 0 0;
  padding: 5px 8px;
  font-size: 0.9375rem;
  font-weight: 600;
  color: #06052f;
  border: 1px solid #aeaeae;
  -webkit-transition: color 0.8s, border-color 0.8s, background-color 0.8s;
  transition: color 0.8s, border-color 0.8s, background-color 0.8s; }
  @media screen and (min-width: 81.25em) {
    .third-party-tracking-button-2 {
      padding: 3px 5px;
      font-size: 0.75rem; } }
  .third-party-tracking-button-2:hover {
    color: #ffffff;
    background-color: #06052f;
    border-color: #06052f;
    -webkit-transition: color 0.6s, border-color 0.6s, background-color 0.6s;
    transition: color 0.6s, border-color 0.6s, background-color 0.6s; }
    .third-party-tracking-button-2:hover:after {
      color: #ffffff;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }
  .third-party-tracking-button-2:active {
    color: #06052f;
    background-color: #06052f;
    border-color: #06052f; }
    .third-party-tracking-button-2:active:after {
      color: #06052f; }
  .third-party-tracking-button-2:after {
    content: "";
    margin-left: 12px;
    font-family: "fontello";
    font-size: 16px;
    color: #06052f;
    -webkit-transition: color 0.8s;
    transition: color 0.8s; }
    @media screen and (min-width: 81.25em) {
      .third-party-tracking-button-2:after {
        margin-left: 6px;
        font-size: 13px; } }

.print-element-button {
  --component-specifc-step-height: 15px;
  width: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  margin: var(--common-button-small-margin, 0);
  padding: var(--common-button-padding, 10px 20px);
  color: #06052f;
  background-color: #ffffff;
  border-width: 2px;
  font-size: 0.875rem;
  font-weight: 400;
  text-align: center;
  border-style: solid;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: 0.6px;
  word-spacing: 2px;
  border-color: #dadada;
  text-decoration: none;
  line-height: 1;
  border-radius: 0 !important;
  overflow: hidden;
  -webkit-transition: all 0.8s;
  transition: all 0.8s;
  /*
        --- Icon configuration ---
        - $icposition => Before or after text
        - margin => icon margin
        - colour => icon colour states ( default, hover & active )
        - size => icon size.
        - content => the font icon itself, normally stored in $site-icons
        - font-family => the font family that the icon belongs to font awesome or fontello.
        */ }
  @media print, screen and (min-width: 40em) {
    .print-element-button {
      margin: var(--common-button-medium-margin, 0); } }
  @media screen and (min-width: 81.25em) {
    .print-element-button {
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content;
      margin: var(--common-button-large-margin, 0); } }
  @media (hover: hover) {
    .print-element-button:hover, .print-element-button.hover {
      color: #ffffff;
      background-color: #3141e4;
      border-color: #06052f;
      text-decoration: none;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
      .print-element-button:hover:before, .print-element-button.hover:before {
        color: #ffffff;
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
      .print-element-button:hover .graduated-colour-edge .step, .print-element-button.hover .graduated-colour-edge .step {
        background-color: #ffffff;
        -webkit-transition: background-color 0.6s;
        transition: background-color 0.6s; } }
  .print-element-button:active, .print-element-button.active {
    color: #ffffff;
    background-color: #06052f;
    border-color: #06052f;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
    .print-element-button:active:before, .print-element-button.active:before {
      color: #06052f; }
  .print-element-button:disabled, .print-element-button.disabled, .print-element-button[disabled] {
    color: #929292;
    background-color: #ffffff;
    border-color: rgba(200, 200, 200, 0.7);
    cursor: not-allowed; }
    .print-element-button:disabled:before, .print-element-button.disabled:before, .print-element-button[disabled]:before {
      color: #929292; }
  .print-element-button:disabled:hover, .print-element-button.disabled:hover {
    border-color: rgba(200, 200, 200, 0.7); }
  .print-element-button:focus-visible {
    outline: none;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
  .print-element-button:before {
    content: "";
    margin: 0 12px 0 0;
    font-family: "Font Awesome Solid";
    font-size: 20px;
    color: #06052f;
    -webkit-transition: color 0.8s;
    transition: color 0.8s; }
  .print-element-button .graduated-colour-edge .step {
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }

.print-element-link:before {
  content: "";
  margin-right: 10px;
  font-family: "Font Awesome Solid"; }

#paypal-checkout-button, .paypal-button {
  --component-specifc-step-height: 15px;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  margin: var(--common-button-small-margin, 0);
  padding: var(--common-button-padding, 12px 5px);
  background-color: #ffc439;
  border-width: 2px;
  font-size: 0.9375rem;
  font-weight: 600;
  text-align: center;
  border-style: solid;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: 1.2px;
  word-spacing: 2px;
  border-color: #eeeeee;
  text-decoration: none;
  line-height: 1;
  border-radius: 0 !important;
  overflow: hidden;
  -webkit-transition: all 0.8s;
  transition: all 0.8s;
  border-radius: 5px;
  position: relative; }
  @media print, screen and (min-width: 40em) {
    #paypal-checkout-button, .paypal-button {
      margin: var(--common-button-medium-margin, 0); } }
  @media screen and (min-width: 81.25em) {
    #paypal-checkout-button, .paypal-button {
      width: 100%;
      margin: var(--common-button-large-margin, 0); } }
  @media (hover: hover) {
    #paypal-checkout-button:hover, #paypal-checkout-button.hover, .paypal-button:hover, .paypal-button.hover {
      background-color: #06052f;
      border-color: #06052f;
      text-decoration: none;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
      #paypal-checkout-button:hover .graduated-colour-edge .step, #paypal-checkout-button.hover .graduated-colour-edge .step, .paypal-button:hover .graduated-colour-edge .step, .paypal-button.hover .graduated-colour-edge .step {
        background-color: #ffffff;
        -webkit-transition: background-color 0.6s;
        transition: background-color 0.6s; } }
  #paypal-checkout-button:active, #paypal-checkout-button.active, .paypal-button:active, .paypal-button.active {
    background-color: #ae9461;
    border-color: #ae9461;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
  #paypal-checkout-button:disabled, #paypal-checkout-button.disabled, #paypal-checkout-button[disabled], .paypal-button:disabled, .paypal-button.disabled, .paypal-button[disabled] {
    color: #929292;
    background-color: #ffffff;
    border-color: rgba(200, 200, 200, 0.7);
    cursor: not-allowed; }
  #paypal-checkout-button:disabled:hover, #paypal-checkout-button.disabled:hover, .paypal-button:disabled:hover, .paypal-button.disabled:hover {
    border-color: rgba(200, 200, 200, 0.7); }
  #paypal-checkout-button:focus-visible, .paypal-button:focus-visible {
    outline: none;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
  #paypal-checkout-button .graduated-colour-edge .step, .paypal-button .graduated-colour-edge .step {
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }
  #paypal-checkout-button:after, .paypal-button:after {
    content: '';
    width: 6rem;
    height: 20px;
    display: inline-block;
    background-image: url("/template/content/development/images/icons/paypal.svg");
    background-position: right;
    background-repeat: no-repeat; }

.increment-row-button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
  margin: auto;
  padding: 10px;
  color: #000000;
  -webkit-transition: color 0.8s;
  transition: color 0.8s; }
  .increment-row-button:before {
    content: "+";
    font-family: "Font Awesome Solid"; }
  .increment-row-button:hover {
    color: var(--secondary-colour-lightness-0);
    -webkit-transition: color 0.6s;
    transition: color 0.6s; }

.page-buttons-container {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: 0 auto 30px; }
  @media screen and (min-width: 81.25em) {
    .page-buttons-container {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row; } }
  .page-buttons-container .button-container {
    --common-button-small-margin: 5px 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1; }
    @media print, screen and (max-width: 81.24875em) {
      .page-buttons-container .button-container {
        -webkit-box-pack: justify;
            -ms-flex-pack: justify;
                justify-content: space-between; } }
    @media screen and (min-width: 81.25em) {
      .page-buttons-container .button-container {
        width: 50%;
        display: -webkit-inline-box;
        display: -ms-inline-flexbox;
        display: inline-flex;
        gap: 10px 20px; } }
    .page-buttons-container .button-container:nth-of-type(3n-2) [class*="-button"] {
      margin-right: 0;
      margin-left: 0; }
      @media screen and (min-width: 81.25em) {
        .page-buttons-container .button-container:nth-of-type(3n-2) [class*="-button"] {
          margin-left: 0; } }
    @media screen and (min-width: 81.25em) {
      .page-buttons-container .button-container:nth-of-type(2n):not(.align-center) [class*="-button"]:not(.action-button):only-child, .page-buttons-container .button-container:only-child:not(.align-center) [class*="-button"]:not(.action-button):only-child {
        margin-right: 0;
        margin-left: auto; }
      .page-buttons-container .button-container:nth-of-type(2n):not(.align-center) [class*="-button"]:not(.action-button):not(:only-child):first-child, .page-buttons-container .button-container:only-child:not(.align-center) [class*="-button"]:not(.action-button):not(:only-child):first-child {
        margin-left: auto; } }
    @media print, screen and (max-width: 81.24875em) {
      .page-buttons-container .button-container [class*="-button"] {
        width: 100%; } }
    @media screen and (min-width: 81.25em) {
      .page-buttons-container .button-container [class*="-button"]:not(.action-button) {
        margin-right: 0; }
      .page-buttons-container .button-container [class*="-button"].action-button {
        margin-left: 0; } }
    @media screen and (min-width: 81.25em) {
      .page-buttons-container .button-container .secondary-button {
        margin-left: auto; } }

.addToBasketForm {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }

.basket-add-button.icon {
  width: 35px;
  height: 35px;
  position: relative;
  display: inline-block;
  background-color: transparent;
  cursor: pointer;
  -webkit-transition: background-color 0.8s;
  transition: background-color 0.8s; }
  .basket-add-button.icon:before {
    content: "";
    font-family: "Font Awesome Solid";
    font-size: 23px;
    color: #06052f;
    -webkit-transition: color 0.8s;
    transition: color 0.8s; }
  .basket-add-button.icon:not(.disabled):hover:before {
    font-size: 26px;
    color: #ae9461;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
  .basket-add-button.icon:not(.disabled):active:before {
    color: #06052f; }
  .basket-add-button.icon.disabled {
    cursor: not-allowed; }
    .basket-add-button.icon.disabled:before {
      color: #ffffff; }

.basket-add-button.text-based {
  --component-specifc-step-height: 15px;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  margin: var(--common-button-small-margin, 0);
  padding: var(--common-button-padding, 15px 10px);
  color: #ffffff;
  background-color: #06052f;
  border-width: 2px;
  font-size: 1.125rem;
  font-weight: 400;
  text-align: center;
  border-style: solid;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: 0.6px;
  word-spacing: 2px;
  border-color: #06052f;
  text-decoration: none;
  line-height: 1;
  border-radius: 0 !important;
  overflow: hidden;
  -webkit-transition: all 0.8s;
  transition: all 0.8s; }
  @media screen and (min-width: 81.25em) {
    .basket-add-button.text-based {
      width: 100%;
      margin: var(--common-button-large-margin, 0); } }
  @media (hover: hover) {
    .basket-add-button.text-based:hover, .basket-add-button.text-based.hover {
      color: #ffffff;
      background-color: #ae9461;
      border-color: #ae9461;
      text-decoration: none;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
      .basket-add-button.text-based:hover .graduated-colour-edge .step, .basket-add-button.text-based.hover .graduated-colour-edge .step {
        background-color: #ffffff;
        -webkit-transition: background-color 0.6s;
        transition: background-color 0.6s; } }
  .basket-add-button.text-based:active, .basket-add-button.text-based.active {
    background-color: #06052f;
    border-color: #06052f;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
  .basket-add-button.text-based:disabled, .basket-add-button.text-based.disabled, .basket-add-button.text-based[disabled] {
    color: #929292;
    background-color: #ffffff;
    border-color: rgba(200, 200, 200, 0.7);
    cursor: not-allowed; }
  .basket-add-button.text-based:disabled:hover, .basket-add-button.text-based.disabled:hover {
    border-color: rgba(200, 200, 200, 0.7); }
  .basket-add-button.text-based:focus-visible {
    outline: none;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
  .basket-add-button.text-based .graduated-colour-edge .step {
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }

.addToBasket.icon {
  width: 35px;
  height: 35px;
  position: relative;
  display: inline-block;
  background-color: transparent;
  cursor: pointer;
  -webkit-transition: background-color 0.8s;
  transition: background-color 0.8s; }
  .addToBasket.icon:before {
    content: "";
    font-family: "Font Awesome Solid";
    font-size: 23px;
    color: #06052f;
    -webkit-transition: color 0.8s;
    transition: color 0.8s; }
  .addToBasket.icon:not(.disabled):hover:before {
    font-size: 26px;
    color: #ae9461;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
  .addToBasket.icon:not(.disabled):active:before {
    color: #06052f; }
  .addToBasket.icon.disabled {
    cursor: not-allowed; }
    .addToBasket.icon.disabled:before {
      color: #ffffff; }

.add-to-basket:not(.preset-2) {
  --component-specifc-step-height: 15px;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  margin: var(--common-button-small-margin, 0);
  padding: var(--common-button-padding, 15px 10px);
  color: #ffffff;
  background-color: #06052f;
  border-width: 2px;
  font-size: 1.125rem;
  font-weight: 400;
  text-align: center;
  border-style: solid;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: 0.6px;
  word-spacing: 2px;
  border-color: #06052f;
  text-decoration: none;
  line-height: 1;
  border-radius: 0 !important;
  overflow: hidden;
  -webkit-transition: all 0.8s;
  transition: all 0.8s; }
  @media screen and (min-width: 81.25em) {
    .add-to-basket:not(.preset-2) {
      width: 100%;
      margin: var(--common-button-large-margin, 0); } }
  @media (hover: hover) {
    .add-to-basket:not(.preset-2):hover, .add-to-basket:not(.preset-2).hover {
      color: #ffffff;
      background-color: #ae9461;
      border-color: #ae9461;
      text-decoration: none;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
      .add-to-basket:not(.preset-2):hover .graduated-colour-edge .step, .add-to-basket:not(.preset-2).hover .graduated-colour-edge .step {
        background-color: #ffffff;
        -webkit-transition: background-color 0.6s;
        transition: background-color 0.6s; } }
  .add-to-basket:not(.preset-2):active, .add-to-basket:not(.preset-2).active {
    background-color: #06052f;
    border-color: #06052f;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
  .add-to-basket:not(.preset-2):disabled, .add-to-basket:not(.preset-2).disabled, .add-to-basket:not(.preset-2)[disabled] {
    color: #929292;
    background-color: #ffffff;
    border-color: rgba(200, 200, 200, 0.7);
    cursor: not-allowed; }
  .add-to-basket:not(.preset-2):disabled:hover, .add-to-basket:not(.preset-2).disabled:hover {
    border-color: rgba(200, 200, 200, 0.7); }
  .add-to-basket:not(.preset-2):focus-visible {
    outline: none;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
  .add-to-basket:not(.preset-2) .graduated-colour-edge .step {
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }

.add-to-basket.preset-2 {
  --component-specifc-step-height: 15px;
  width: 100px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  margin: var(--common-button-small-margin, 0);
  padding: var(--common-button-padding, 15px 10px);
  color: #06052f;
  background-color: #e6e6ea;
  border-width: 2px;
  font-size: 0.72917rem;
  font-weight: 400;
  text-align: center;
  border-style: solid;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: 0.6px;
  word-spacing: 2px;
  border-color: #e6e6ea;
  text-decoration: none;
  line-height: 1;
  border-radius: 0 !important;
  overflow: hidden;
  -webkit-transition: all 0.8s;
  transition: all 0.8s; }
  @media screen and (min-width: 81.25em) {
    .add-to-basket.preset-2 {
      width: 100px;
      margin: var(--common-button-large-margin, 0); } }
  @media (hover: hover) {
    .add-to-basket.preset-2:hover, .add-to-basket.preset-2.hover {
      color: #ffffff;
      background-color: #ae9461;
      border-color: #ae9461;
      text-decoration: none;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
      .add-to-basket.preset-2:hover .graduated-colour-edge .step, .add-to-basket.preset-2.hover .graduated-colour-edge .step {
        background-color: #ffffff;
        -webkit-transition: background-color 0.6s;
        transition: background-color 0.6s; } }
  .add-to-basket.preset-2:active, .add-to-basket.preset-2.active {
    color: #ffffff;
    background-color: #06052f;
    border-color: #06052f;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
  .add-to-basket.preset-2:disabled, .add-to-basket.preset-2.disabled, .add-to-basket.preset-2[disabled] {
    color: #929292;
    background-color: #ffffff;
    border-color: rgba(200, 200, 200, 0.7);
    cursor: not-allowed; }
  .add-to-basket.preset-2:disabled:hover, .add-to-basket.preset-2.disabled:hover {
    border-color: rgba(200, 200, 200, 0.7); }
  .add-to-basket.preset-2:focus-visible {
    outline: none;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
  .add-to-basket.preset-2 .graduated-colour-edge .step {
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }

.animated.drop:before {
  color: #ae9461 !important;
  -webkit-transition: color 0.8s;
  transition: color 0.8s; }

.animated.drop:after {
  content: '';
  width: 10px;
  height: 10px;
  position: absolute;
  top: -20px;
  right: 0;
  left: 0;
  margin: auto;
  border-radius: 25px;
  background-color: #ae9461;
  -webkit-animation: basketIconHover 0.5s;
          animation: basketIconHover 0.5s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  z-index: -1;
  opacity: 0; }

@-webkit-keyframes basketIconHover {
  0% {
    top: -20px;
    opacity: 0.2; }
  15% {
    top: -15px;
    opacity: 0.4; }
  30% {
    top: -10px;
    opacity: 0.6; }
  45% {
    top: -5px;
    opacity: 0.8; }
  60% {
    top: 0px;
    border-radius: 16px;
    opacity: 1; }
  75% {
    top: 10px;
    border-radius: 8px;
    opacity: 1; }
  100% {
    width: 15px;
    height: 13px;
    top: 20px;
    border-radius: 0;
    opacity: 1; } }

@keyframes basketIconHover {
  0% {
    top: -20px;
    opacity: 0.2; }
  15% {
    top: -15px;
    opacity: 0.4; }
  30% {
    top: -10px;
    opacity: 0.6; }
  45% {
    top: -5px;
    opacity: 0.8; }
  60% {
    top: 0px;
    border-radius: 16px;
    opacity: 1; }
  75% {
    top: 10px;
    border-radius: 8px;
    opacity: 1; }
  100% {
    width: 15px;
    height: 13px;
    top: 20px;
    border-radius: 0;
    opacity: 1; } }

.stockline-view-button a, .stockline-view-button button, .stockline-view-container a, .stockline-view-container button {
  --component-specifc-step-height: 15px;
  width: auto;
  height: 45px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  margin: var(--common-button-small-margin, 0);
  padding: var(--common-button-padding, 20px 10px);
  color: #06052f;
  background-color: #e6e6ea;
  border-width: 2px;
  font-size: 0.875rem;
  font-weight: 400;
  text-align: center;
  border-style: solid;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: 0.6px;
  word-spacing: 2px;
  border-color: #e6e6ea;
  text-decoration: none;
  line-height: 1;
  border-radius: 0 !important;
  overflow: hidden;
  -webkit-transition: all 0.8s;
  transition: all 0.8s; }
  @media screen and (min-width: 81.25em) {
    .stockline-view-button a, .stockline-view-button button, .stockline-view-container a, .stockline-view-container button {
      width: 100%;
      margin: var(--common-button-large-margin, 0); } }
  @media (hover: hover) {
    .stockline-view-button a:hover, .stockline-view-button a.hover, .stockline-view-button button:hover, .stockline-view-button button.hover, .stockline-view-container a:hover, .stockline-view-container a.hover, .stockline-view-container button:hover, .stockline-view-container button.hover {
      color: #ffffff;
      background-color: #ae9461;
      border-color: #ae9461;
      text-decoration: none;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
      .stockline-view-button a:hover .graduated-colour-edge .step, .stockline-view-button a.hover .graduated-colour-edge .step, .stockline-view-button button:hover .graduated-colour-edge .step, .stockline-view-button button.hover .graduated-colour-edge .step, .stockline-view-container a:hover .graduated-colour-edge .step, .stockline-view-container a.hover .graduated-colour-edge .step, .stockline-view-container button:hover .graduated-colour-edge .step, .stockline-view-container button.hover .graduated-colour-edge .step {
        background-color: #ffffff;
        -webkit-transition: background-color 0.6s;
        transition: background-color 0.6s; } }
  .stockline-view-button a:active, .stockline-view-button a.active, .stockline-view-button button:active, .stockline-view-button button.active, .stockline-view-container a:active, .stockline-view-container a.active, .stockline-view-container button:active, .stockline-view-container button.active {
    color: #ffffff;
    background-color: #06052f;
    border-color: #06052f;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
  .stockline-view-button a:disabled, .stockline-view-button a.disabled, .stockline-view-button a[disabled], .stockline-view-button button:disabled, .stockline-view-button button.disabled, .stockline-view-button button[disabled], .stockline-view-container a:disabled, .stockline-view-container a.disabled, .stockline-view-container a[disabled], .stockline-view-container button:disabled, .stockline-view-container button.disabled, .stockline-view-container button[disabled] {
    color: #929292;
    background-color: #ffffff;
    border-color: rgba(200, 200, 200, 0.7);
    cursor: not-allowed; }
  .stockline-view-button a:disabled:hover, .stockline-view-button a.disabled:hover, .stockline-view-button button:disabled:hover, .stockline-view-button button.disabled:hover, .stockline-view-container a:disabled:hover, .stockline-view-container a.disabled:hover, .stockline-view-container button:disabled:hover, .stockline-view-container button.disabled:hover {
    border-color: rgba(200, 200, 200, 0.7); }
  .stockline-view-button a:focus-visible, .stockline-view-button button:focus-visible, .stockline-view-container a:focus-visible, .stockline-view-container button:focus-visible {
    outline: none;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
  .stockline-view-button a .graduated-colour-edge .step, .stockline-view-button button .graduated-colour-edge .step, .stockline-view-container a .graduated-colour-edge .step, .stockline-view-container button .graduated-colour-edge .step {
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }

.not-logged-in-container a, .not-logged-in-container button {
  --component-specifc-step-height: 15px;
  width: auto;
  height: 45px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  margin: var(--common-button-small-margin, 0);
  padding: var(--common-button-padding, 20px 10px);
  color: #ffffff;
  background-color: #ae9461;
  border-width: 2px;
  font-size: 0.875rem;
  font-weight: 400;
  text-align: center;
  border-style: solid;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: 0.6px;
  word-spacing: 2px;
  border-color: #ae9461;
  text-decoration: none;
  line-height: 1;
  border-radius: 0 !important;
  overflow: hidden;
  -webkit-transition: all 0.8s;
  transition: all 0.8s; }
  @media screen and (min-width: 81.25em) {
    .not-logged-in-container a, .not-logged-in-container button {
      width: 100%;
      margin: var(--common-button-large-margin, 0); } }
  @media (hover: hover) {
    .not-logged-in-container a:hover, .not-logged-in-container a.hover, .not-logged-in-container button:hover, .not-logged-in-container button.hover {
      color: #ffffff;
      background-color: #06052f;
      border-color: #06052f;
      text-decoration: none;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
      .not-logged-in-container a:hover .graduated-colour-edge .step, .not-logged-in-container a.hover .graduated-colour-edge .step, .not-logged-in-container button:hover .graduated-colour-edge .step, .not-logged-in-container button.hover .graduated-colour-edge .step {
        background-color: #ffffff;
        -webkit-transition: background-color 0.6s;
        transition: background-color 0.6s; } }
  .not-logged-in-container a:active, .not-logged-in-container a.active, .not-logged-in-container button:active, .not-logged-in-container button.active {
    color: #ffffff;
    background-color: #ae9461;
    border-color: #ae9461;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
  .not-logged-in-container a:disabled, .not-logged-in-container a.disabled, .not-logged-in-container a[disabled], .not-logged-in-container button:disabled, .not-logged-in-container button.disabled, .not-logged-in-container button[disabled] {
    color: #929292;
    background-color: #ffffff;
    border-color: rgba(200, 200, 200, 0.7);
    cursor: not-allowed; }
  .not-logged-in-container a:disabled:hover, .not-logged-in-container a.disabled:hover, .not-logged-in-container button:disabled:hover, .not-logged-in-container button.disabled:hover {
    border-color: rgba(200, 200, 200, 0.7); }
  .not-logged-in-container a:focus-visible, .not-logged-in-container button:focus-visible {
    outline: none;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
  .not-logged-in-container a .graduated-colour-edge .step, .not-logged-in-container button .graduated-colour-edge .step {
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }

.enquiry-button-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  .enquiry-button-container .enquiry-button {
    --component-specifc-step-height: 15px;
    width: auto;
    height: 45px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: relative;
    margin: var(--common-button-small-margin, 0);
    padding: var(--common-button-padding, 20px 10px);
    color: #06052f;
    background-color: #e6e6ea;
    border-width: 2px;
    font-size: 0.875rem;
    font-weight: 400;
    text-align: center;
    border-style: solid;
    cursor: pointer;
    text-transform: uppercase;
    letter-spacing: 0.6px;
    word-spacing: 2px;
    border-color: #e6e6ea;
    text-decoration: none;
    line-height: 1;
    border-radius: 0 !important;
    overflow: hidden;
    -webkit-transition: all 0.8s;
    transition: all 0.8s;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1; }
    @media screen and (min-width: 81.25em) {
      .enquiry-button-container .enquiry-button {
        width: 100%;
        margin: var(--common-button-large-margin, 0); } }
    @media (hover: hover) {
      .enquiry-button-container .enquiry-button:hover, .enquiry-button-container .enquiry-button.hover {
        color: #ffffff;
        background-color: #ae9461;
        border-color: #ae9461;
        text-decoration: none;
        -webkit-transition: all 0.6s;
        transition: all 0.6s; }
        .enquiry-button-container .enquiry-button:hover .graduated-colour-edge .step, .enquiry-button-container .enquiry-button.hover .graduated-colour-edge .step {
          background-color: #ffffff;
          -webkit-transition: background-color 0.6s;
          transition: background-color 0.6s; } }
    .enquiry-button-container .enquiry-button:active, .enquiry-button-container .enquiry-button.active {
      color: #ffffff;
      background-color: #06052f;
      border-color: #06052f;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
    .enquiry-button-container .enquiry-button:disabled, .enquiry-button-container .enquiry-button.disabled, .enquiry-button-container .enquiry-button[disabled] {
      color: #929292;
      background-color: #ffffff;
      border-color: rgba(200, 200, 200, 0.7);
      cursor: not-allowed; }
    .enquiry-button-container .enquiry-button:disabled:hover, .enquiry-button-container .enquiry-button.disabled:hover {
      border-color: rgba(200, 200, 200, 0.7); }
    .enquiry-button-container .enquiry-button:focus-visible {
      outline: none;
      -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
              box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
    .enquiry-button-container .enquiry-button .graduated-colour-edge .step {
      -webkit-transition: background-color 0.8s;
      transition: background-color 0.8s; }

.favouritesContainer a[disabled], .favouritesContainer a.disabled {
  color: #929292;
  opacity: 0.4;
  cursor: not-allowed; }
  .favouritesContainer a[disabled]:after, .favouritesContainer a[disabled]:hover:after, .favouritesContainer a.disabled:after, .favouritesContainer a.disabled:hover:after {
    font-family: "Font Awesome Regular";
    color: #929292; }

.favouritesContainer a:after {
  content: "";
  color: #ae9461;
  font-size: 23px;
  font-family: "Font Awesome Regular";
  -webkit-transition: color 0.8s;
  transition: color 0.8s; }

.favouritesContainer a:hover:after {
  color: #ae9461;
  font-family: "Font Awesome Solid";
  -webkit-transition: color 0.6s;
  transition: color 0.6s; }

.favouritesContainer a:active:after {
  color: #ae9461;
  font-family: "Font Awesome Solid"; }

.favouritesContainer.active a:after {
  font-family: "Font Awesome Solid"; }

.favouritesContainer.preset1 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  .favouritesContainer.preset1 a {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 10px;
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
    font-size: 1rem;
    font-weight: 400;
    color: #000000;
    text-align: center;
    -webkit-transition: color 0.8s;
    transition: color 0.8s; }
    .favouritesContainer.preset1 a:not(.disabled):hover {
      color: #ae9461;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }

.favouritesContainer.preset2:not(.active) a:hover {
  text-decoration: none; }

.favouritesContainer.preset2 a {
  width: 35px;
  height: 35px;
  position: relative;
  display: block; }
  .favouritesContainer.preset2 a:after {
    width: 100%;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
  .favouritesContainer.preset2 a:hover {
    text-decoration: none; }

label.disabled, label.readonly {
  cursor: no-drop; }

.control input[type=checkbox], .control input[type=radio] {
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  -webkit-box-flex: 0;
      -ms-flex: 0;
          flex: 0;
  opacity: 0; }

@-moz-document url-prefix() {
  .control input[type=checkbox], .control input[type=radio] {
    margin-right: -4px !important; } }

.control {
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  cursor: pointer;
  line-height: 20px; }
  @media print, screen and (max-width: 81.24875em) {
    .control {
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; } }
  @media screen and (min-width: 81.25em) {
    .control {
      -webkit-box-align: baseline;
          -ms-flex-align: baseline;
              align-items: baseline; } }
  .control input[type=checkbox], .control input[type=radio] {
    z-index: -1;
    position: relative; }
  .control.is-hovered .input-prefix-icon, .control:hover .input-prefix-icon {
    background-color: #ffffff;
    border-color: transparent;
    -webkit-box-shadow: -15px 0 27px 3px rgba(12, 12, 13, 0.1);
            box-shadow: -15px 0 27px 3px rgba(12, 12, 13, 0.1);
    -webkit-transition: border-color 0.6s, background-color 0.6s, -webkit-box-shadow 0.6s;
    transition: border-color 0.6s, background-color 0.6s, -webkit-box-shadow 0.6s;
    transition: border-color 0.6s, background-color 0.6s, box-shadow 0.6s;
    transition: border-color 0.6s, background-color 0.6s, box-shadow 0.6s, -webkit-box-shadow 0.6s; }
  .control.is-invalid-label .input-prefix-icon {
    border-color: #b20c0c;
    background-color: #fde1e1; }
    .control.is-invalid-label .input-prefix-icon:before {
      color: #b20c0c; }
  .control.is-invalid-label:hover .input-prefix-icon, .control.is-invalid-label:hover input {
    border-color: transparent;
    background-color: #ffffff;
    -webkit-transition: background-color 0.6s;
    transition: background-color 0.6s; }
  .control.is-focused .input-prefix-icon {
    border-color: #c8c8c8;
    background-color: #ffffff;
    -webkit-box-shadow: -15px 0 27px 3px rgba(12, 12, 13, 0.1);
            box-shadow: -15px 0 27px 3px rgba(12, 12, 13, 0.1); }
  .control + .label {
    padding-left: 5px; }
  .control .input-prefix-icon {
    height: 45px;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin: auto;
    background-color: #ffffff;
    border-width: 1px 0 1px 1px;
    border-color: #c8c8c8;
    border-style: solid;
    -webkit-transition: border-color 0.8s, background-color 0.8s, -webkit-box-shadow 0.8s;
    transition: border-color 0.8s, background-color 0.8s, -webkit-box-shadow 0.8s;
    transition: border-color 0.8s, background-color 0.8s, box-shadow 0.8s;
    transition: border-color 0.8s, background-color 0.8s, box-shadow 0.8s, -webkit-box-shadow 0.8s;
    z-index: 1; }
    .control .input-prefix-icon:hover {
      -webkit-transition: border-color 0.6s, background-color 0.6s;
      transition: border-color 0.6s, background-color 0.6s; }
    .control .input-prefix-icon:before {
      line-height: normal; }
    .control .input-prefix-icon + input {
      border-left-width: 0; }
  .control .label {
    -webkit-transition: color 0.8s;
    transition: color 0.8s; }
  .control:not(.read-only-input):not(.disabled-input):not(.is-invalid-label):hover .label {
    color: #06052f;
    -webkit-transition: color 0.6s;
    transition: color 0.6s; }
  .control:not(.read-only-input):not(.disabled-input):not(.is-invalid-label):hover input[type=text], .control:not(.read-only-input):not(.disabled-input):not(.is-invalid-label):hover input[type=number], .control:not(.read-only-input):not(.disabled-input):not(.is-invalid-label):hover input[type=tel], .control:not(.read-only-input):not(.disabled-input):not(.is-invalid-label):hover textarea {
    -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.1);
            box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.1);
    -webkit-transition: -webkit-box-shadow 0.6s;
    transition: -webkit-box-shadow 0.6s;
    transition: box-shadow 0.6s;
    transition: box-shadow 0.6s, -webkit-box-shadow 0.6s; }
  .control.read-only-input, .control.disabled-input {
    cursor: no-drop; }
    @media print, screen and (max-width: 81.24875em) {
      .control.read-only-input:not(.text):hover:after, .control.disabled-input:not(.text):hover:after {
        color: var(--neutral-colour-lightness-8);
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
      .control.read-only-input:not(.text):after, .control.disabled-input:not(.text):after {
        content: "";
        position: absolute;
        top: 0;
        right: 10px;
        bottom: 0;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        margin: auto;
        font-family: "Font Awesome Solid";
        font-size: 16px;
        color: transparent;
        -webkit-transition: color 0.8s;
        transition: color 0.8s; } }
    @media screen and (min-width: 81.25em) {
      .control.read-only-input:hover:after, .control.disabled-input:hover:after {
        color: var(--neutral-colour-lightness-8);
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
      .control.read-only-input:after, .control.disabled-input:after {
        content: "";
        position: absolute;
        top: 0;
        right: 10px;
        bottom: 0;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        margin: auto;
        font-family: "Font Awesome Solid";
        font-size: 16px;
        color: transparent;
        -webkit-transition: color 0.8s;
        transition: color 0.8s; } }
  @media screen and (min-width: 81.25em) {
    .control.checkbox.small {
      width: auto; } }
  .control.checkbox.small input + span {
    width: 20px;
    height: 20px;
    position: relative;
    display: inline-block;
    border-width: 1px;
    border-style: solid;
    background-color: #ffffff;
    border-radius: 0;
    -webkit-transition: all 0.8s;
    transition: all 0.8s; }
    .control.checkbox.small input + span:before {
      content: "";
      width: 20px;
      height: 20px;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      padding-right: 2px;
      font-family: "Font Awesome Solid";
      font-size: 11.76471px; }
  .control.checkbox.small input + span {
    border-color: #c8c8c8; }
    .control.checkbox.small input + span:before {
      opacity: 0; }
  .control.checkbox.small input[readonly] + span, .control.checkbox.small input[disabled] {
    border-color: rgba(200, 200, 200, 0.7);
    background-color: var(--neutral-colour-lightness-8); }
    .control.checkbox.small input[readonly] + span:before, .control.checkbox.small input[disabled]:before {
      cursor: no-drop; }
  .control.checkbox.small input:hover:not([readonly]):not([disabled]) + span {
    background-color: #ffffff;
    border-color: transparent;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
    .control.checkbox.small input:hover:not([readonly]):not([disabled]) + span:before {
      color: transparent; }
  .control.checkbox.small input:hover:not([readonly]):not([disabled]):checked + span {
    border-color: #c8c8c8; }
  .control.checkbox.small input + span:focus {
    outline: none;
    border-color: #c8c8c8;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
  .control.checkbox.small input:focus + span {
    outline: none;
    border-color: #c8c8c8;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
  .control.checkbox.small input:checked + span:before {
    opacity: 1; }
  .control.checkbox.small input:checked:not([readonly]):not([disabled]) + span:before {
    color: #ae9461; }
  .control.checkbox.small input:checked:not([readonly]):not([disabled]) + span:focus {
    border-color: #c8c8c8; }
  .control.checkbox.small input:checked[disabled] + span:before, .control.checkbox.small input:checked[readonly] + span:before {
    color: #929292; }
  .control.checkbox:not(.small) input + span {
    width: 20px;
    height: 20px;
    position: relative;
    display: inline-block;
    border-width: 1px;
    border-style: solid;
    background-color: #ffffff;
    border-radius: 0;
    -webkit-transition: all 0.8s;
    transition: all 0.8s; }
    .control.checkbox:not(.small) input + span:before {
      content: "";
      width: 20px;
      height: 20px;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      padding-right: 2px;
      font-family: "Font Awesome Solid";
      font-size: 11.76471px; }
  .control.checkbox:not(.small) input + span {
    border-color: #c8c8c8; }
    .control.checkbox:not(.small) input + span:before {
      opacity: 0; }
  .control.checkbox:not(.small) input[readonly] + span, .control.checkbox:not(.small) input[disabled] {
    border-color: rgba(200, 200, 200, 0.7);
    background-color: var(--neutral-colour-lightness-8); }
    .control.checkbox:not(.small) input[readonly] + span:before, .control.checkbox:not(.small) input[disabled]:before {
      cursor: no-drop; }
  .control.checkbox:not(.small) input:hover:not([readonly]):not([disabled]) + span {
    background-color: #ffffff;
    border-color: transparent;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
    .control.checkbox:not(.small) input:hover:not([readonly]):not([disabled]) + span:before {
      color: transparent; }
  .control.checkbox:not(.small) input:hover:not([readonly]):not([disabled]):checked + span {
    border-color: #c8c8c8; }
  .control.checkbox:not(.small) input + span:focus {
    outline: none;
    border-color: #c8c8c8;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
  .control.checkbox:not(.small) input:focus + span {
    outline: none;
    border-color: #c8c8c8;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
  .control.checkbox:not(.small) input:checked + span:before {
    opacity: 1; }
  .control.checkbox:not(.small) input:checked:not([readonly]):not([disabled]) + span:before {
    color: #ae9461; }
  .control.checkbox:not(.small) input:checked:not([readonly]):not([disabled]) + span:focus {
    border-color: #c8c8c8; }
  .control.checkbox:not(.small) input:checked[disabled] + span:before, .control.checkbox:not(.small) input:checked[readonly] + span:before {
    color: #929292; }
  .control.radio {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
  .control.radio:not(.checkbox) input:checked + span.radio {
    background-color: #ffffff;
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }
    .control.radio:not(.checkbox) input:checked + span.radio:after {
      background-color: #ae9461;
      -webkit-transition: background-color 0.8s;
      transition: background-color 0.8s; }
  .control.radio:not(.checkbox) span.radio {
    width: 15px;
    height: 15px;
    position: relative;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    background-color: #ffffff;
    border-radius: 15px;
    border: 1px solid #c8c8c8;
    -webkit-transition: background-color 0.6s;
    transition: background-color 0.6s; }
    .control.radio:not(.checkbox) span.radio:after {
      content: '';
      width: 7.5px;
      height: 7.5px;
      position: relative;
      top: .2px;
      left: .4px;
      display: block;
      margin: auto;
      background-color: #ffffff;
      border-radius: 7.5px;
      -webkit-transition: background-color 0.6s;
      transition: background-color 0.6s; }
    .control.radio:not(.checkbox) span.radio:hover {
      background-color: #ffffff; }
      .control.radio:not(.checkbox) span.radio:hover:after {
        background-color: transparent; }
    .control.radio:not(.checkbox) span.radio:active {
      background-color: #ffffff; }
      .control.radio:not(.checkbox) span.radio:active:after {
        background-color: #ae9461; }
  .control.radio.checkbox input + span {
    width: 20px;
    height: 20px;
    position: relative;
    display: inline-block;
    border-width: 1px;
    border-style: solid;
    background-color: #ffffff;
    border-radius: 0;
    -webkit-transition: all 0.8s;
    transition: all 0.8s; }
    .control.radio.checkbox input + span:before {
      content: "";
      width: 20px;
      height: 20px;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      padding-right: 2px;
      font-family: "Font Awesome Solid";
      font-size: 11.76471px; }
  .control.radio.checkbox input + span {
    border-color: #c8c8c8; }
    .control.radio.checkbox input + span:before {
      opacity: 0; }
  .control.radio.checkbox input[readonly] + span, .control.radio.checkbox input[disabled] {
    border-color: rgba(200, 200, 200, 0.7);
    background-color: var(--neutral-colour-lightness-8); }
    .control.radio.checkbox input[readonly] + span:before, .control.radio.checkbox input[disabled]:before {
      cursor: no-drop; }
  .control.radio.checkbox input:hover:not([readonly]):not([disabled]) + span {
    background-color: #ffffff;
    border-color: transparent;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
    .control.radio.checkbox input:hover:not([readonly]):not([disabled]) + span:before {
      color: transparent; }
  .control.radio.checkbox input:hover:not([readonly]):not([disabled]):checked + span {
    border-color: #c8c8c8; }
  .control.radio.checkbox input + span:focus {
    outline: none;
    border-color: #c8c8c8;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
  .control.radio.checkbox input:focus + span {
    outline: none;
    border-color: #c8c8c8;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
  .control.radio.checkbox input:checked + span:before {
    opacity: 1; }
  .control.radio.checkbox input:checked:not([readonly]):not([disabled]) + span:before {
    color: #ae9461; }
  .control.radio.checkbox input:checked:not([readonly]):not([disabled]) + span:focus {
    border-color: #c8c8c8; }
  .control.radio.checkbox input:checked[disabled] + span:before, .control.radio.checkbox input:checked[readonly] + span:before {
    color: #929292; }
  .control.select {
    width: 100%; }
    .control.select select {
      height: 40px;
      width: auto;
      display: block;
      margin: 0; }
      .control.select select:disabled + .control-select-container .selected-option, .control.select select[readonly] + .control-select-container .selected-option {
        background-color: var(--neutral-colour-lightness-8);
        border-color: rgba(200, 200, 200, 0.7);
        cursor: no-drop; }
      .control.select select:disabled + .control-select-container .control-select-dropdown:hover .select-arrow, .control.select select[readonly] + .control-select-container .control-select-dropdown:hover .select-arrow {
        background-color: var(--neutral-colour-lightness-8); }
        .control.select select:disabled + .control-select-container .control-select-dropdown:hover .select-arrow:after, .control.select select[readonly] + .control-select-container .control-select-dropdown:hover .select-arrow:after {
          color: rgba(200, 200, 200, 0.7); }
      .control.select select.is-invalid-input + .control-select-container .selected-option {
        background-color: #fde1e1;
        border-color: #b20c0c; }
      .control.select select:focus + div[class=control-select-container] .selected-option {
        outline: none;
        -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
                box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
        border-color: transparent; }
    .control.select.is-closing {
      z-index: 2000; }
    .control.select.active, .control.select.active:hover {
      z-index: 1999; }
      .control.select.active:hover .control-select-options, .control.select.active:hover:hover .control-select-options {
        border-color: transparent; }
      .control.select.active.dropdown-top .selected-option, .control.select.active:hover.dropdown-top .selected-option {
        border-radius: 0 0 0 0; }
        .control.select.active.dropdown-top .selected-option .select-arrow, .control.select.active:hover.dropdown-top .selected-option .select-arrow {
          border-radius: 0 0 0 0; }
      .control.select.active.dropdown-top .control-select-options, .control.select.active:hover.dropdown-top .control-select-options {
        border-radius: 0 0 0 0; }
      .control.select.active .selected-option, .control.select.active:hover .selected-option {
        border-width: 1px 1px 0 1px;
        border-color: transparent;
        -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
                box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
        border-radius: 0 0 0 0; }
        .control.select.active .selected-option:focus, .control.select.active:hover .selected-option:focus {
          border-color: transparent; }
      .control.select.active .select-arrow, .control.select.active:hover .select-arrow {
        background-color: #ae9461;
        border-radius: 0 0 0 0; }
        .control.select.active .select-arrow:after, .control.select.active:hover .select-arrow:after {
          content: "";
          color: #ffffff; }
      .control.select.active .control-select-options, .control.select.active:hover .control-select-options {
        max-height: 185px;
        border-color: transparent;
        -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
                box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
        -webkit-transition: all 0.6s;
        transition: all 0.6s; }
    .control.select.dropdown-bottom .selected-option {
      border-bottom-color: #c8c8c8; }
    .control.select.dropdown-top .selected-option {
      border-top-color: #c8c8c8; }
    .control.select.dropdown-top .control-select-options {
      top: auto;
      bottom: 100%;
      margin: 0;
      border-width: 1px 1px 0 1px; }
    .control.select.dropdown-top.active .selected-option {
      border-width: 0 1px 1px 1px; }
    .control.select .select-arrow {
      width: 30px;
      height: 100%;
      position: absolute;
      top: 0;
      right: 0;
      background-color: transparent;
      border-radius: 0 0 0 0;
      -webkit-transition: background-color 0.6s;
      transition: background-color 0.6s; }
      .control.select .select-arrow:after {
        content: "";
        height: 100%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        font-size: 9px;
        font-family: "fontello-djmiles";
        color: #888888;
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
    .control.select .selected-option {
      height: 100%;
      position: relative;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      cursor: pointer;
      padding: 5px 0 5px 0;
      padding-right: 33px;
      margin: 0;
      background: #ffffff;
      border: 1px solid #c8c8c8;
      font-family: "Gibson", "Gibson Fallback", "Arial";
      font-size: 0.875rem;
      opacity: 1;
      outline: 0;
      border-radius: 0; }
      .control.select .selected-option .selected-description {
        padding: 5px 0 5px 25px;
        overflow: hidden;
        text-overflow: ellipsis;
        font-size: 0.875rem; }
        @media screen and (min-width: 81.25em) {
          .control.select .selected-option .selected-description {
            white-space: nowrap; } }
      .selected-description {
        color: #777777; }
      .control.select .selected-option:hover {
        outline: none;
        -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
                box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
        border-color: transparent; }
      .control.select .selected-option:focus {
        border-color: #c8c8c8; }
    .control.select .control-select-options {
      max-height: 0;
      width: 100%;
      position: absolute;
      margin: auto 0 0;
      padding: 0;
      border-width: 0 1px 0 1px;
      border-style: solid;
      border-color: transparent;
      background-color: #ffffff;
      list-style: none;
      font-size: 0.875rem;
      overflow-x: hidden;
      overflow-y: scroll;
      -webkit-transition: all 0.8s;
      transition: all 0.8s;
      z-index: 1;
      border-radius: 0 0 0 0; }
    .control.select .control-select-option {
      padding: 5px 0 5px 10px;
      text-align: left;
      -webkit-transition: all 0.8s;
      transition: all 0.8s; }
      .control.select .control-select-option[selected] {
        background-color: #06052f;
        color: #ffffff;
        font-weight: 600; }
      .control.select .control-select-option[disabled], .control.select .control-select-option.disabled {
        background-color: var(--neutral-colour-lightness-8);
        color: #929292;
        cursor: no-drop; }
      .control.select .control-select-option:hover {
        color: #ffffff;
        background-color: #ae9461;
        -webkit-transition: all 0.6s;
        transition: all 0.6s; }
      .control.select .control-select-option:active {
        background-color: #06052f;
        color: #ffffff; }
        .control.select .control-select-option:active[disabled], .control.select .control-select-option:active.disabled {
          opacity: 0.7; }
    .control.select .control-select-container {
      min-width: 150px;
      max-width: 100%;
      display: -webkit-inline-box;
      display: -ms-inline-flexbox;
      display: inline-flex;
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start;
      -webkit-box-flex: 1;
          -ms-flex: 1;
              flex: 1; }
      @media screen and (min-width: 81.25em) {
        .control.select .control-select-container {
          width: auto; } }
    .control.select .control-select-dropdown {
      width: 100%;
      position: relative; }
      @media screen and (min-width: 81.25em) {
        .control.select .control-select-dropdown {
          height: 40px; } }
      .control.select .control-select-dropdown:hover .select-arrow {
        background-color: #06052f; }
        .control.select .control-select-dropdown:hover .select-arrow:after {
          color: #ffffff; }
    .control.select.title .control-select-dropdown {
      width: 250px; }
  .control.text {
    cursor: text; }
    .control.text input {
      -webkit-transition: border-color 0.8s;
      transition: border-color 0.8s; }
      .control.text input:not([type=password]):hover {
        -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
                box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
      .control.text input:hover {
        border-color: transparent;
        -webkit-transition: all 0.6s;
        transition: all 0.6s; }
        .control.text input:hover.is-invalid-input {
          border-color: #b20c0c; }
          .control.text input:hover.is-invalid-input:focus {
            border-color: transparent; }
            .control.text input:hover.is-invalid-input:focus + button {
              border-color: transparent; }
          .control.text input:hover.is-invalid-input + button {
            border-color: #b20c0c; }
        .control.text input:hover:not(.is-invalid-input) + button {
          border-color: transparent;
          -webkit-transition: border-color 0.6s;
          transition: border-color 0.6s; }
      .control.text input + button:focus {
        outline: none;
        -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
                box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
  .control.slider {
    height: auto;
    background-color: transparent;
    border: 0; }
  .control.file {
    width: 100% !important;
    height: 100% !important;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-bottom: 30px;
    padding: 10px;
    background-color: transparent;
    border: 4px solid #06052f;
    border-radius: 0;
    -webkit-transition: background-color 0.8s, border-color 0.8s;
    transition: background-color 0.8s, border-color 0.8s; }
    .control.file:after {
      content: '';
      width: calc(100% - 2.5px);
      height: calc(100% - 2.5px);
      position: absolute;
      top: 0;
      left: 0;
      bottom: 0;
      right: 0;
      margin: auto;
      border: 2.5px dashed #06052f;
      border-radius: 0;
      -webkit-transition: border-color 0.8s;
      transition: border-color 0.8s; }
    @media screen and (min-width: 81.25em) {
      .control.file {
        width: 700px !important;
        padding: 38px 10px; } }
    .control.file:hover {
      background-color: transparent;
      border-color: #06052f;
      -webkit-transition: background-color 0.6s, border-color 0.6s;
      transition: background-color 0.6s, border-color 0.6s; }
      .control.file:hover:after {
        border-color: #06052f;
        -webkit-transition: border-color 0.6s;
        transition: border-color 0.6s; }
      .control.file:hover span.label {
        color: #06052f;
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
      .control.file:hover .file-upload-icon:before {
        color: #06052f; }
    .control.file:active, .control.file.is-ready {
      background-color: rgba(6, 5, 47, 0.1);
      border-color: rgba(6, 5, 47, 0.7); }
      .control.file:active:after, .control.file.is-ready:after {
        border-color: rgba(6, 5, 47, 0.7); }
    .control.file.is-ready .file-upload-icon:before {
      content: "";
      color: rgba(6, 5, 47, 0.7); }
    .control.file.is-invalid-label {
      border-color: #b20c0c;
      background-color: #fde1e1; }
      .control.file.is-invalid-label:after {
        border-color: #b20c0c; }
      .control.file.is-invalid-label .form-error {
        margin: 20px 0; }
      .control.file.is-invalid-label .file-upload-icon:before {
        content: "";
        color: #b20c0c; }
      .control.file.is-invalid-label span.label {
        color: #b20c0c; }
    .control.file span.label {
      width: 100%;
      padding: 5px 10px;
      text-align: center;
      font-size: 1rem;
      font-weight: 700;
      color: #06052f;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
      @media screen and (min-width: 81.25em) {
        .control.file span.label {
          padding: 5px; } }
    .control.file .file-upload-icon {
      padding: 20px 10px 0;
      display: block;
      line-height: normal; }
      .control.file .file-upload-icon:before {
        content: "";
        font-family: "Font Awesome Solid";
        font-size: 46px;
        color: #06052f; }
      .control.file .file-upload-icon + .label {
        padding-top: 10px; }
    .control.file .input-button-container {
      margin-bottom: 5px;
      z-index: 2; }
      @media screen and (min-width: 81.25em) {
        .control.file .input-button-container {
          margin-bottom: 10px; } }
    .control.file .file-size {
      margin-left: 10px;
      font-size: 0.8125rem;
      font-weight: 700; }
    .control.file .remove-button {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      margin: auto;
      padding: 10px;
      cursor: pointer;
      z-index: 2; }
      .control.file .remove-button:hover {
        text-decoration: underline; }
      .control.file .remove-button:after {
        content: "";
        margin-left: 10px;
        font-family: "Font Awesome Solid";
        font-size: 18px;
        color: #777777; }
    .control.file input {
      width: 100%;
      height: 100%;
      position: absolute;
      top: 0;
      left: 0;
      padding: 0;
      opacity: 0;
      cursor: pointer;
      z-index: 1; }
  .control.search input {
    height: 45px; }
    .control.search input + button {
      height: 45px;
      margin: auto 0; }
  .control .tooltip-container {
    margin-left: 20px; }
  .control:hover .tooltip-trigger:before {
    -webkit-animation: animateToolTipHint 2s;
            animation: animateToolTipHint 2s; }

.quantity-selector-container select, .quantity-selector-container .control.select .control-select-dropdown {
  width: 90px; }

.quantity-selector-container .control.select .selected-option .selected-description {
  padding-left: 10px; }

@-webkit-keyframes animateToolTipHint {
  0% {
    background-color: rgba(119, 119, 119, 0.7);
    color: #ffffff; }
  20% {
    background-color: #ae9461;
    color: #ffffff; } }

@keyframes animateToolTipHint {
  0% {
    background-color: rgba(119, 119, 119, 0.7);
    color: #ffffff; }
  20% {
    background-color: #ae9461;
    color: #ffffff; } }

@media print, screen and (max-width: 81.24875em) {
  input {
    font-size: 1rem !important; } }

input::-webkit-input-placeholder {
  color: #777777;
  font-size: 1.125rem;
  font-weight: 400; }

input::-moz-placeholder {
  color: #777777;
  font-size: 1.125rem;
  font-weight: 400; }

input:-ms-input-placeholder {
  color: #777777;
  font-size: 1.125rem;
  font-weight: 400; }

input::-ms-input-placeholder {
  color: #777777;
  font-size: 1.125rem;
  font-weight: 400; }

input::placeholder {
  color: #777777;
  font-size: 1.125rem;
  font-weight: 400; }

input.mail-input {
  height: 45px;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  float: left;
  border-style: solid;
  border-width: 1px;
  border-radius: 0 0 0 0;
  margin: 0;
  -webkit-transition: border-color 0.8s;
  transition: border-color 0.8s; }
  @media print, screen and (min-width: 40em) {
    input.mail-input {
      width: auto;
      border-width: 1px 0 1px 1px; } }
  input.mail-input.is-invalid-input + button {
    border-color: #b20c0c;
    background-color: #fde1e1;
    opacity: 1; }
    input.mail-input.is-invalid-input + button:before {
      color: #b20c0c; }
    input.mail-input.is-invalid-input + button:hover:before {
      color: #ffffff;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }
  input.mail-input + button {
    width: 100%;
    height: 45px;
    margin: 5px 0 0;
    padding: 0 5px;
    background-color: #ffffff;
    border-style: solid;
    border-color: #c8c8c8;
    border-width: 1px;
    color: rgba(6, 5, 47, 0.6);
    cursor: pointer;
    border-radius: 0 0 0 0;
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }
    @media print, screen and (min-width: 40em) {
      input.mail-input + button {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
        margin: 0;
        border-width: 1px 1px 1px 0; } }
    input.mail-input + button:empty:before {
      content: "";
      width: 40px;
      display: block;
      margin: auto;
      font-family: "Font Awesome Solid";
      font-size: 20px;
      color: rgba(6, 5, 47, 0.6);
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
    input.mail-input + button:hover {
      color: #ffffff;
      border-color: #c8c8c8;
      background-color: rgba(6, 5, 47, 0.6);
      -webkit-transition: background-color 0.6s;
      transition: background-color 0.6s; }
      input.mail-input + button:hover:empty:before {
        color: #ffffff; }
    input.mail-input + button:active {
      color: #ffffff;
      border-color: #c8c8c8;
      background-color: #ae9461;
      -webkit-transition: background-color 0.6s;
      transition: background-color 0.6s; }
      input.mail-input + button:active:empty:before {
        color: #ffffff; }

.conditional-inputs {
  width: 100%;
  max-height: 0;
  overflow: hidden;
  -webkit-transition: max-height 0.8s;
  transition: max-height 0.8s; }
  .conditional-inputs.active {
    max-height: 2000px;
    overflow: visible;
    background-color: #ffffff;
    -webkit-transition: max-height 0.6s;
    transition: max-height 0.6s; }

.quantity-free-text-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  .quantity-free-text-container .input-number-decrement, .quantity-free-text-container .input-number-increment {
    background-color: transparent; }
    .quantity-free-text-container .input-number-decrement:before, .quantity-free-text-container .input-number-increment:before {
      color: #06052f; }
    @media (hover: hover) {
      .quantity-free-text-container .input-number-decrement:hover, .quantity-free-text-container .input-number-increment:hover {
        background-color: #ffffff; }
        .quantity-free-text-container .input-number-decrement:hover:before, .quantity-free-text-container .input-number-increment:hover:before {
          color: #ae9461; } }
    .quantity-free-text-container .input-number-decrement:active, .quantity-free-text-container .input-number-increment:active {
      background-color: #eeeeee; }
      .quantity-free-text-container .input-number-decrement:active:before, .quantity-free-text-container .input-number-increment:active:before {
        color: #000000; }
  .quantity-free-text-container.preset-1 .input-number-decrement, .quantity-free-text-container.preset-1 .input-number-increment {
    background-color: transparent; }
    .quantity-free-text-container.preset-1 .input-number-decrement:before, .quantity-free-text-container.preset-1 .input-number-increment:before {
      color: #ffffff; }
    @media (hover: hover) {
      .quantity-free-text-container.preset-1 .input-number-decrement:hover, .quantity-free-text-container.preset-1 .input-number-increment:hover {
        background-color: #eeeeee; }
        .quantity-free-text-container.preset-1 .input-number-decrement:hover:before, .quantity-free-text-container.preset-1 .input-number-increment:hover:before {
          color: #06052f; } }
    .quantity-free-text-container.preset-1 .input-number-decrement:active, .quantity-free-text-container.preset-1 .input-number-increment:active {
      background-color: #dadada; }
      .quantity-free-text-container.preset-1 .input-number-decrement:active:before, .quantity-free-text-container.preset-1 .input-number-increment:active:before {
        color: #ae9461; }
  .quantity-free-text-container .input-group-button span.disabled {
    background-color: transparent; }
    .quantity-free-text-container .input-group-button span.disabled:before {
      color: #dadada; }
    .quantity-free-text-container .input-group-button span.disabled:hover {
      border-color: transparent; }
    .quantity-free-text-container .input-group-button span.disabled:active {
      background-color: transparent; }
  .quantity-free-text-container .label {
    padding: 6px 0;
    line-height: 25px;
    font-size: 1rem;
    font-weight: 600; }
    @media screen and (min-width: 81.25em) {
      .quantity-free-text-container .label {
        padding: 6px 15px 6px 0; } }
  .quantity-free-text-container input[type=number]::-webkit-inner-spin-button, .quantity-free-text-container input[type=number]::-webkit-outer-spin-button, .quantity-free-text-container input[type=number] {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: textfield;
    margin: 0; }
  .quantity-free-text-container:has(input.is-invalid-input) .input-number-decrement, .quantity-free-text-container:has(input.is-invalid-input) .input-number-increment {
    border-color: #b20c0c; }
    .quantity-free-text-container:has(input.is-invalid-input) .input-number-decrement:not(.disabled), .quantity-free-text-container:has(input.is-invalid-input) .input-number-increment:not(.disabled) {
      background-color: #fde1e1; }
      .quantity-free-text-container:has(input.is-invalid-input) .input-number-decrement:not(.disabled):before, .quantity-free-text-container:has(input.is-invalid-input) .input-number-increment:not(.disabled):before {
        color: #b20c0c; }
    .quantity-free-text-container:has(input.is-invalid-input) .input-number-decrement.disabled, .quantity-free-text-container:has(input.is-invalid-input) .input-number-increment.disabled {
      border-color: rgba(200, 200, 200, 0.7); }
  .quantity-free-text-container:has(input.is-invalid-input) .input-number {
    color: #b20c0c;
    background-color: #fde1e1; }
    .quantity-free-text-container:has(input.is-invalid-input) .input-number::-webkit-input-placeholder {
      color: #b20c0c; }
    .quantity-free-text-container:has(input.is-invalid-input) .input-number::-moz-placeholder {
      color: #b20c0c; }
    .quantity-free-text-container:has(input.is-invalid-input) .input-number:-ms-input-placeholder {
      color: #b20c0c; }
    .quantity-free-text-container:has(input.is-invalid-input) .input-number::-ms-input-placeholder {
      color: #b20c0c; }
    .quantity-free-text-container:has(input.is-invalid-input) .input-number::placeholder {
      color: #b20c0c; }
  .quantity-free-text-container.is-invalid-quantity .input-number-group .input-number {
    border-color: #b20c0c;
    background-color: #fde1e1; }
    @media (hover: hover) {
      .quantity-free-text-container.is-invalid-quantity .input-number-group .input-number:hover {
        border-color: #b20c0c;
        -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
                box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); } }
  .quantity-free-text-container.is-invalid-quantity .quantity-error {
    max-height: 100px;
    -webkit-transition: max-height 0.6s;
    transition: max-height 0.6s; }
  .quantity-free-text-container .quantity-error {
    max-height: 0;
    display: block;
    color: #b20c0c;
    font-size: 0.75rem;
    font-weight: bold;
    overflow: hidden;
    -webkit-transition: max-height 0.8s;
    transition: max-height 0.8s; }

.quantity-free-text-container .input-group {
  margin-bottom: 0;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }
  @media print, screen and (min-width: 40em) {
    .quantity-free-text-container .input-group {
      -webkit-box-pack: unset;
          -ms-flex-pack: unset;
              justify-content: unset; } }
  .quantity-free-text-container .input-group input {
    width: 50px;
    height: 40px; }

.input-number-group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  .input-number-group .input-group-button {
    line-height: 36px; }
  .input-number-group .input-group-button span.disabled {
    cursor: no-drop; }
  .input-number-group .input-number {
    padding: 0;
    font-size: 1rem;
    text-align: center;
    outline: none;
    display: block;
    margin: 0;
    border-color: #c8c8c8;
    -webkit-transition: border-color 0.8s;
    transition: border-color 0.8s; }
    .input-number-group .input-number:hover {
      border-color: transparent;
      -webkit-transition: border-color 0.6s;
      transition: border-color 0.6s; }
  .input-number-group .input-number,
  .input-number-group .input-number-decrement,
  .input-number-group .input-number-increment {
    border-radius: 0;
    height: 40px;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none; }
  .input-number-group .input-number-decrement,
  .input-number-group .input-number-increment {
    position: relative;
    display: inline-block;
    width: 40px;
    height: 45px;
    background: transparent;
    text-align: center;
    border-color: transparent;
    border-style: solid;
    cursor: pointer;
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }
    .input-number-group .input-number-decrement:before,
    .input-number-group .input-number-increment:before {
      width: 100%;
      height: 100%;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      font-size: 12px;
      font-family: "Font Awesome Solid";
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
    @media (hover: hover) {
      .input-number-group .input-number-decrement:hover,
      .input-number-group .input-number-increment:hover {
        border-color: #c8c8c8; }
        .input-number-group .input-number-decrement:hover:not(.disabled),
        .input-number-group .input-number-increment:hover:not(.disabled) {
          -webkit-transition: color 0.6s;
          transition: color 0.6s; } }
  .input-number-group .input-number-decrement {
    border-width: 1px 0 1px 1px;
    border-radius: 0 0 0 0; }
    .input-number-group .input-number-decrement:before {
      content: ""; }
  .input-number-group .input-number-increment {
    border-width: 1px 1px 1px 0;
    border-radius: 0 0 0 0; }
    .input-number-group .input-number-increment:before {
      content: ""; }

.quantity-selector-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }
  @media print, screen and (min-width: 40em) {
    .quantity-selector-container {
      -webkit-box-pack: unset;
          -ms-flex-pack: unset;
              justify-content: unset; } }
  .quantity-selector-container .control-select-container {
    height: 40px; }
  @media screen and (min-width: 81.25em) {
    .quantity-selector-container .select {
      width: 90px; } }
  .quantity-selector-container .select select {
    height: 40px; }
  .quantity-selector-container .label {
    margin-right: 10px;
    padding: 6px 0;
    line-height: 25px;
    font-size: 1rem;
    font-weight: 400;
    color: #000000; }
    @media screen and (min-width: 81.25em) {
      .quantity-selector-container .label {
        margin-right: 15px; } }

span.form-error {
  width: 100%;
  margin: 0;
  text-align: center;
  border: 0; }
  @media screen and (min-width: 81.25em) {
    span.form-error {
      padding-left: 160px;
      text-align: left; } }
  span.form-error.is-visible {
    margin-top: 10px; }

span.form-callout-error {
  display: none !important; }

.is-invalid-input {
  border-color: #b20c0c; }

ul.advanced-validation {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  padding: 0 10px;
  list-style: none;
  margin: 0 0 35px; }
  @media print, screen and (min-width: 40em) {
    ul.advanced-validation {
      -webkit-box-pack: end;
          -ms-flex-pack: end;
              justify-content: flex-end;
      padding: 0; } }
  ul.advanced-validation > li {
    width: 100%; }
    @media print, screen and (min-width: 40em) {
      ul.advanced-validation > li {
        width: auto; } }
    @media print, screen and (min-width: 40em) {
      ul.advanced-validation > li:not(:first-child) {
        padding: 0 0 0 11px; } }
    ul.advanced-validation > li.advanced-form-error {
      width: auto;
      margin: 0 10px;
      position: relative;
      font-size: 1rem;
      font-weight: 600;
      font-style: italic;
      color: #000000; }
      ul.advanced-validation > li.advanced-form-error:before {
        content: "";
        display: inline-block;
        margin: 0 5px 0 0;
        font-size: 15px;
        font-family: "Font Awesome Solid";
        font-style: normal;
        color: rgba(119, 119, 119, 0.7); }
      ul.advanced-validation > li.advanced-form-error.is-valid {
        color: #12811f; }
        ul.advanced-validation > li.advanced-form-error.is-valid:before {
          content: ""; }
      ul.advanced-validation > li.advanced-form-error.is-invalid {
        color: #b20c0c; }
        ul.advanced-validation > li.advanced-form-error.is-invalid:before {
          content: ""; }

.advanced-validation-active.is-invalid-label {
  color: #888888; }

.group-form-error {
  display: none;
  margin: 10px 0 0;
  width: 100%;
  background-color: #fde1e1;
  padding: 10px 20px; }
  .group-form-error h2, .group-form-error h4 {
    margin: 0 0 10px;
    padding: 0 0 20px;
    color: #b20c0c; }
  .group-form-error ul {
    margin: 0;
    padding: 0 0 20px;
    list-style: none;
    line-height: 25px; }
    .group-form-error ul li {
      position: relative;
      padding: 0 0 0 15px; }
      .group-form-error ul li:before {
        content: '';
        width: 5px;
        height: 5px;
        position: absolute;
        top: 10px;
        left: 0;
        margin: auto;
        display: block;
        background-color: #06052f;
        border-radius: 5px; }
    .group-form-error ul li {
      color: #b20c0c;
      font-weight: 600;
      font-size: 1rem; }
  .group-form-error p, .group-form-error a {
    color: #b20c0c;
    font-weight: 600;
    font-size: 1rem; }
  .group-form-error a {
    text-decoration: underline; }
  @media screen and (min-width: 81.25em) {
    .group-form-error {
      margin: 0 0 10px; } }

.error-block {
  width: 100%;
  background-color: #fde1e1;
  margin: 0 0 30px;
  padding: 10px 20px;
  width: 100%;
  background-color: #fde1e1;
  padding: 10px 20px; }
  .error-block h2, .error-block h4 {
    margin: 0 0 10px;
    padding: 0 0 20px;
    color: #b20c0c; }
  .error-block ul {
    margin: 0;
    padding: 0 0 20px;
    list-style: none;
    line-height: 25px; }
    .error-block ul li {
      position: relative;
      padding: 0 0 0 15px; }
      .error-block ul li:before {
        content: '';
        width: 5px;
        height: 5px;
        position: absolute;
        top: 10px;
        left: 0;
        margin: auto;
        display: block;
        background-color: #06052f;
        border-radius: 5px; }
    .error-block ul li {
      color: #b20c0c;
      font-weight: 600;
      font-size: 1rem; }
  .error-block p, .error-block a {
    color: #b20c0c;
    font-weight: 600;
    font-size: 1rem; }
  .error-block a {
    text-decoration: underline; }

.control.is-invalid-label input {
  background-color: #fde1e1;
  border-color: #b20c0c;
  -webkit-transition: border-color 0.6s, background-color 0.6s;
  transition: border-color 0.6s, background-color 0.6s; }
  .control.is-invalid-label input:focus {
    border-color: #c8c8c8; }
  .control.is-invalid-label input::-webkit-input-placeholder {
    color: #b20c0c;
    -webkit-transition: color 0.6s;
    transition: color 0.6s; }
  .control.is-invalid-label input::-moz-placeholder {
    color: #b20c0c;
    -moz-transition: color 0.6s;
    transition: color 0.6s; }
  .control.is-invalid-label input:-ms-input-placeholder {
    color: #b20c0c;
    -ms-transition: color 0.6s;
    transition: color 0.6s; }
  .control.is-invalid-label input::-ms-input-placeholder {
    color: #b20c0c;
    -ms-transition: color 0.6s;
    transition: color 0.6s; }
  .control.is-invalid-label input::placeholder {
    color: #b20c0c;
    -webkit-transition: color 0.6s;
    transition: color 0.6s; }
  .control.is-invalid-label input + button {
    background-color: #fde1e1;
    border-color: #b20c0c;
    color: #b20c0c; }
    .control.is-invalid-label input + button:before {
      color: #b20c0c; }
  .control.is-invalid-label input + span.checkbox {
    background-color: #fde1e1;
    border: 1px solid #b20c0c;
    -webkit-transition: border-color 0.6s;
    transition: border-color 0.6s; }

@-webkit-keyframes kf_shake {
  0% {
    -webkit-transform: translate(10px); }
  20% {
    -webkit-transform: translate(-10px); }
  40% {
    -webkit-transform: translate(5px); }
  60% {
    -webkit-transform: translate(-5px); }
  80% {
    -webkit-transform: translate(4px); }
  100% {
    -webkit-transform: translate(0px); } }

@keyframes kf_shake {
  0% {
    -webkit-transform: translate(10px); }
  20% {
    -webkit-transform: translate(-10px); }
  40% {
    -webkit-transform: translate(5px); }
  60% {
    -webkit-transform: translate(-5px); }
  80% {
    -webkit-transform: translate(4px); }
  100% {
    -webkit-transform: translate(0px); } }

.field-lead-in-text {
  width: 100%;
  color: #000000;
  font-weight: 400; }

label:not(.disabled) .label:hover, label:not(.read-only-input) .label:hover {
  color: #06052f; }

label:not(.disabled) .label:active, label:not(.read-only-input) .label:active {
  color: #ae9461; }

label .label {
  color: #000000;
  font-weight: 400; }

label input:not([type=file]):not([type=checkbox]):not([type=radio]) {
  position: relative;
  height: 45px; }
  @media print, screen and (min-width: 40em) {
    label input:not([type=file]):not([type=checkbox]):not([type=radio]) {
      width: auto;
      -webkit-box-flex: 1;
          -ms-flex-positive: 1;
              flex-grow: 1; } }

label input.is-invalid-input + button.inline-button {
  border-color: #b20c0c; }

label input.is-invalid-input[type=password]:focus + button.inline-button {
  border-color: #c8c8c8; }

label input:focus + button.inline-button:hover {
  border-color: #c8c8c8;
  background-color: #ffffff; }

/* clears the 'X' from Internet Explorer */
/* clears the 'X' from Chrome */
.lookup-container {
  width: 100%; }

.postcode-lookup-error {
  display: none;
  color: #b20c0c; }
  .postcode-lookup-error.active {
    display: block; }

input.lookup-key {
  width: 100%;
  margin-right: 15px; }
  @media print, screen and (min-width: 40em) {
    input.lookup-key {
      width: 360px;
      margin-right: 10px; } }
  @media screen and (min-width: 81.25em) {
    input.lookup-key + button {
      height: 45px; } }
  input.lookup-key.is-valid-input + button {
    background-color: #06052f;
    color: #ffffff; }
  input.lookup-key.is-invalid-input + button {
    cursor: not-allowed; }

button.lookup-submit {
  --component-specifc-step-height: 15px;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  margin: var(--common-button-small-margin, 10px 0 0);
  padding: var(--common-button-padding, 12px 13px);
  color: #000000;
  background-color: #ffffff;
  border-width: 2px;
  font-size: 0.8125rem;
  font-weight: 400;
  text-align: center;
  border-style: solid;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: 0.6px;
  word-spacing: 2px;
  border-color: #888888;
  text-decoration: none;
  line-height: 1;
  border-radius: 0 !important;
  overflow: hidden;
  -webkit-transition: all 0.8s;
  transition: all 0.8s; }
  @media print, screen and (min-width: 40em) {
    button.lookup-submit {
      margin: var(--common-button-medium-margin, 0 0 0 10px); } }
  @media screen and (min-width: 81.25em) {
    button.lookup-submit {
      width: auto;
      margin: var(--common-button-large-margin, 0 0 0 10px); } }
  @media (hover: hover) {
    button.lookup-submit:hover, button.lookup-submit.hover {
      color: #ffffff;
      background-color: #ae9461;
      border-color: #ae9461;
      text-decoration: none;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
      button.lookup-submit:hover .graduated-colour-edge .step, button.lookup-submit.hover .graduated-colour-edge .step {
        background-color: #ffffff;
        -webkit-transition: background-color 0.6s;
        transition: background-color 0.6s; } }
  button.lookup-submit:active, button.lookup-submit.active {
    color: #ffffff;
    background-color: #06052f;
    border-color: #06052f;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
  button.lookup-submit:disabled, button.lookup-submit.disabled, button.lookup-submit[disabled] {
    color: #929292;
    background-color: #ffffff;
    border-color: rgba(200, 200, 200, 0.7);
    cursor: not-allowed; }
  button.lookup-submit:disabled:hover, button.lookup-submit.disabled:hover {
    border-color: rgba(200, 200, 200, 0.7); }
  button.lookup-submit:focus-visible {
    outline: none;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
  button.lookup-submit .graduated-colour-edge .step {
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }

.lookup-results {
  width: 100%; }
  .lookup-results ul {
    max-height: 225px;
    margin: 0;
    padding: 0;
    list-style: none;
    overflow-y: auto; }
    .lookup-results ul .selected {
      color: #06052f;
      font-weight: 600; }
    .lookup-results ul li:not(:last-child) {
      margin-bottom: 10px; }
  .lookup-results button, .lookup-results a {
    font-size: 0.875rem;
    cursor: pointer;
    -webkit-transition: color 0.8s;
    transition: color 0.8s; }
    .lookup-results button span, .lookup-results a span {
      color: #06052f;
      font-weight: 700;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
    .lookup-results button:hover, .lookup-results a:hover {
      color: #06052f;
      text-decoration: underline;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }
    .lookup-results button:active, .lookup-results a:active {
      color: #ae9461; }
      .lookup-results button:active span, .lookup-results a:active span {
        color: #ae9461;
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
  @media screen and (min-width: 81.25em) {
    .lookup-results.branch-search, .lookup-results.account-search {
      margin-left: 120px; } }
  .lookup-results.branch-search button, .lookup-results.account-search button {
    text-align: left; }

.geolocation-contianer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }

input[type=search] {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  margin: 0;
  padding: 5px 0 5px 25px;
  background-color: #ffffff;
  border-style: solid;
  border-width: 1px 0 1px 1px;
  border-color: #c8c8c8;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
  display: inline-block;
  -webkit-transition: background-color 0.8s, border-color 0.8s, -webkit-box-shadow 0.8s;
  transition: background-color 0.8s, border-color 0.8s, -webkit-box-shadow 0.8s;
  transition: background-color 0.8s, border-color 0.8s, box-shadow 0.8s;
  transition: background-color 0.8s, border-color 0.8s, box-shadow 0.8s, -webkit-box-shadow 0.8s;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0; }
  input[type=search]:hover, input[type=search].hover {
    -webkit-box-shadow: -1px 0px 20px 6px rgba(12, 12, 13, 0.1);
            box-shadow: -1px 0px 20px 6px rgba(12, 12, 13, 0.1);
    background-color: #ffffff;
    border-color: transparent;
    -webkit-transition: background-color 0.6s, border-color 0.6s, -webkit-box-shadow 0.6s;
    transition: background-color 0.6s, border-color 0.6s, -webkit-box-shadow 0.6s;
    transition: background-color 0.6s, border-color 0.6s, box-shadow 0.6s;
    transition: background-color 0.6s, border-color 0.6s, box-shadow 0.6s, -webkit-box-shadow 0.6s; }
    input[type=search]:hover + button, input[type=search].hover + button {
      -webkit-box-shadow: 15px 0px 20px 2px rgba(12, 12, 13, 0.1);
              box-shadow: 15px 0px 20px 2px rgba(12, 12, 13, 0.1);
      border-color: transparent;
      background-color: #ae9461; }
      input[type=search]:hover + button:before, input[type=search].hover + button:before {
        color: #ffffff; }
  input[type=search]:focus, input[type=search]:active, input[type=search].focus {
    background-color: #ffffff;
    border-right-width: 0; }
    input[type=search]:focus + button, input[type=search]:active + button, input[type=search].focus + button {
      border-color: #c8c8c8;
      background-color: #c3af89;
      -webkit-transition: border-color 0.8s, -webkit-box-shadow 0.8s background-color 0.6s;
      transition: border-color 0.8s, -webkit-box-shadow 0.8s background-color 0.6s;
      transition: border-color 0.8s, box-shadow 0.8s background-color 0.6s;
      transition: border-color 0.8s, box-shadow 0.8s background-color 0.6s, -webkit-box-shadow 0.8s background-color 0.6s; }
      input[type=search]:focus + button:before, input[type=search]:active + button:before, input[type=search].focus + button:before {
        color: #000000; }
  input[type=search]::-webkit-input-placeholder {
    height: -webkit-fit-content;
    height: fit-content;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    color: #06052f;
    font-family: "Gibson", "Gibson Fallback", "Arial"; }
  input[type=search]::-moz-placeholder {
    height: -moz-fit-content;
    height: fit-content;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    color: #06052f;
    font-family: "Gibson", "Gibson Fallback", "Arial"; }
  input[type=search]:-ms-input-placeholder {
    height: fit-content;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    color: #06052f;
    font-family: "Gibson", "Gibson Fallback", "Arial"; }
  input[type=search]::-ms-input-placeholder {
    height: fit-content;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    color: #06052f;
    font-family: "Gibson", "Gibson Fallback", "Arial"; }
  input[type=search]::placeholder {
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    color: #06052f;
    font-family: "Gibson", "Gibson Fallback", "Arial"; }
  input[type=search]:not(:has(+ button)) {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0; }
  input[type=search] + button {
    width: 70px;
    position: relative;
    background-color: #ffffff;
    border-style: solid;
    border-width: 1px 1px 1px 0;
    border-color: #c8c8c8;
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    cursor: pointer;
    -webkit-transition: background-color 0.8s, border-color 0.8s, -webkit-box-shadow 0.8s;
    transition: background-color 0.8s, border-color 0.8s, -webkit-box-shadow 0.8s;
    transition: background-color 0.8s, border-color 0.8s, box-shadow 0.8s;
    transition: background-color 0.8s, border-color 0.8s, box-shadow 0.8s, -webkit-box-shadow 0.8s; }
    input[type=search] + button:hover {
      background-color: #ae9461;
      -webkit-transition: background-color 0.6s;
      transition: background-color 0.6s; }
      input[type=search] + button:hover:before {
        color: #ffffff;
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
    input[type=search] + button:active {
      background-color: #c3af89; }
      input[type=search] + button:active:before {
        color: #000000; }
    input[type=search] + button:before {
      content: "";
      width: 70px;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      font-family: "Font Awesome Solid";
      font-size: 20px;
      color: #06052f;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }

.toggle-container {
  max-height: 0;
  display: block;
  overflow: hidden;
  -webkit-transition: max-height 0.8s;
  transition: max-height 0.8s; }
  .toggle-container.active {
    max-height: 5000px;
    -webkit-transition: max-height 0.6s;
    transition: max-height 0.6s; }

.ui-block-pane {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  background-color: rgba(238, 238, 238, 0.6);
  cursor: no-drop;
  z-index: 1000; }
  .ui-block-pane:before {
    content: "";
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    font-family: "Font Awesome Solid";
    font-size: 82px;
    color: rgba(136, 136, 136, 0.6); }

.sso-selection-container {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding: 10px 0; }
  @media screen and (min-width: 81.25em) {
    .sso-selection-container {
      padding: 20px 0; } }
  .sso-selection-container .sso-selection-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 20px; }
  .sso-selection-container .option-container {
    width: 100%; }
    .sso-selection-container .option-container + .sso-seperator {
      margin-top: 20px; }
  .sso-selection-container .sso-button {
    width: 70%;
    display: block;
    margin: auto;
    background-size: cover;
    background-repeat: no-repeat;
    aspect-ratio: 215/41;
    -webkit-transition: opacity 0.8s;
    transition: opacity 0.8s; }
    @media print, screen and (min-width: 40em) {
      .sso-selection-container .sso-button {
        width: 300px; } }
    .sso-selection-container .sso-button:hover {
      opacity: 0.4;
      -webkit-transition: opacity 0.6s;
      transition: opacity 0.6s; }
    .sso-selection-container .sso-button.microsoft {
      background-image: url("/template/content/development/images/buttons/microsoft-sso-light.svg"); }
  .sso-selection-container .sso-seperator {
    color: var(--primary-colour-lightness-0);
    font-size: 0.9375rem;
    font-weight: 700;
    text-align: center;
    text-transform: uppercase; }

/*
----- Site Styles ----- 
Allowing CSS variables to override SASS configuration, used in instances where you need department specifc colouring.

*/
.required-prompt {
  width: 100%;
  display: block;
  padding: 0 10px;
  margin: 0;
  text-align: right;
  font-size: 0.9rem;
  font-weight: 400;
  font-style: italic; }
  @media screen and (min-width: 81.25em) {
    .required-prompt {
      padding: 0 20px;
      margin: 0 0 10px; } }
  .required-prompt + .cms-content-container {
    margin-top: 0;
    padding-top: 0; }

@media screen and (min-width: 81.25em) {
  .single-column-callback-container {
    max-width: 80%;
    margin: 0 auto 30px;
    padding-bottom: 30px; } }

.single-column-callback-container.content-border {
  padding: 20px;
  border: 2px solid #eeeeee; }

.single-column-callback-container .cms-content-container {
  text-align: center; }

.single-column-callback-container .buttons-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }

form.user-data-form {
  padding: 0 0 20px;
  background-color: #ffffff;
  border-radius: 0; }

form.single-column {
  margin-bottom: 30px;
  border: 1px solid #c8c8c8;
  border-radius: 0; }
  form.single-column .field {
    padding: 0 10px; }
    @media screen and (min-width: 81.25em) {
      form.single-column .field {
        padding: 0 20px; } }
    form.single-column .field:last-child .button-container {
      margin: 15px 0 0; }

form .cms-content-container {
  width: 100%;
  padding: 5px 10px;
  text-align: left; }
  @media print, screen and (min-width: 40em) {
    form .cms-content-container {
      text-align: center; } }
  @media screen and (min-width: 81.25em) {
    form .cms-content-container {
      margin: auto;
      padding: 10px 205px;
      text-align: center; } }

form fieldset {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  margin: 0 0 30px;
  padding: 0 0 10px; }
  @media screen and (min-width: 81.25em) {
    form fieldset {
      padding: 0 0 20px; } }
  form fieldset:first-of-type h2 {
    border-radius: 0 0 0 0; }
  form fieldset h3, form fieldset div > legend {
    max-width: 100%;
    width: 100%;
    margin: 25px auto 20px;
    font-style: none;
    font-size: 1.5rem;
    font-weight: 600;
    text-align: center;
    position: relative;
    color: #06052f;
    padding-bottom: 15px;
    position: relative;
    background-color: transparent; }
    form fieldset h3:before, form fieldset div > legend:before {
      content: '';
      width: 100%;
      height: 1px;
      position: absolute;
      bottom: 0;
      display: block;
      margin: auto;
      border-width: 0 0 1px 0;
      border-style: solid;
      border-color: #aeaeae; }
      @media print {
        form fieldset h3:before, form fieldset div > legend:before {
          border-bottom: 2px solid #aeaeae;
          background-color: transparent; } }
    @media screen and (min-width: 81.25em) {
      form fieldset h3, form fieldset div > legend {
        max-width: 640px; } }
  form fieldset h2, form fieldset legend {
    width: 100%;
    display: block;
    padding: 5px 0;
    margin: 0 0 10px;
    color: #ffffff;
    background-color: #50506d;
    font-weight: 300;
    font-size: 1.25rem;
    text-align: center;
    text-transform: uppercase;
    word-spacing: 2px; }
    form fieldset h2 + .sub-group-name, form fieldset legend + .sub-group-name {
      margin-top: -10px; }
  form fieldset legend {
    font-family: "Gibson", "Gibson Fallback", "Arial"; }
  form fieldset ul {
    margin: 0 auto;
    padding: 0;
    list-style: none; }
  form fieldset > .form-error {
    margin: auto; }
  form fieldset .sub-group-name {
    width: 100%;
    display: block;
    margin: 0;
    padding: 5px 0;
    background-color: #eeeeee;
    color: #000000;
    text-align: center; }
    form fieldset .sub-group-name + .required-prompt {
      margin-top: 10px; }
  @media screen and (min-width: 81.25em) {
    form fieldset .error-block {
      margin: 0 auto 10px; } }

@media screen and (min-width: 81.25em) {
  form .forgotten-password-link {
    max-width: 570px;
    width: 100%;
    margin-right: auto; } }

.column-content-container {
  margin: 10px 0;
  background-color: #ffffff;
  border: 1px solid #c8c8c8;
  -webkit-transition: -webkit-box-shadow 0.8s;
  transition: -webkit-box-shadow 0.8s;
  transition: box-shadow 0.8s;
  transition: box-shadow 0.8s, -webkit-box-shadow 0.8s;
  border-radius: 0; }
  @media screen and (min-width: 81.25em) {
    .column-content-container {
      margin: 0; } }
  .column-content-container:hover {
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
    border-color: transparent;
    -webkit-transition: border-color 0.6s, -webkit-box-shadow 0.6s;
    transition: border-color 0.6s, -webkit-box-shadow 0.6s;
    transition: box-shadow 0.6s, border-color 0.6s;
    transition: box-shadow 0.6s, border-color 0.6s, -webkit-box-shadow 0.6s; }
  .column-content-container fieldset {
    margin: 0; }
  .column-content-container .fieldset-banner-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    padding: 10px;
    background-color: #06052f;
    border-radius: 0 0 0 0; }
    @media screen and (min-width: 81.25em) {
      .column-content-container .fieldset-banner-container {
        padding: 20px 10px; } }
    .column-content-container .fieldset-banner-container .fieldset-banner {
      width: 120px; }
    .column-content-container .fieldset-banner-container + h2 {
      border-radius: 0; }
  .column-content-container .field {
    padding: 0 10px; }
    @media screen and (min-width: 81.25em) {
      .column-content-container .field {
        padding: 0; } }
    @media screen and (min-width: 81.25em) {
      .column-content-container .field label {
        margin-left: 50px; } }
  .column-content-container .heading-container h2 {
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0; }
  .column-content-container .cms-content-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 0 15px 7.5px; }
    @media print, screen and (min-width: 40em) {
      .column-content-container .cms-content-container {
        padding: 0 85px; } }
  .column-content-container .page-buttons-container {
    padding: 0 10px; }
    @media screen and (min-width: 81.25em) {
      .column-content-container .page-buttons-container {
        padding: 0; } }

.captcha-container {
  position: absolute;
  z-index: 2; }
  .captcha-container.checkbox {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin: 15px 0; }
  .captcha-container .grecaptcha-badge {
    bottom: 60px !important; }

.popup-background {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  display: block; }

.confirmation-prompt-container .content-container {
  max-width: 1150px;
  width: 100%;
  position: relative;
  padding: 26.66667px;
  background-color: #ffffff;
  -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
          box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
  @media screen and (min-width: 81.25em) {
    .confirmation-prompt-container .content-container {
      padding: 80px; } }
  .confirmation-prompt-container .content-container .content {
    --font-family: Font Awesome Solid;
    width: 100%;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 0 10px;
    margin: 0 auto 50px;
    padding: 35px 10px;
    font-size: 0.875rem;
    border-radius: 0;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    text-align: center;
    margin-top: 30px; }
    .confirmation-prompt-container .content-container .content:has(.content-container) {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
      -webkit-box-align: start;
          -ms-flex-align: start;
              align-items: flex-start; }
      @media screen and (min-width: 81.25em) {
        .confirmation-prompt-container .content-container .content:has(.content-container) {
          -webkit-box-align: center;
              -ms-flex-align: center;
                  align-items: center; } }
    @media screen and (min-width: 81.25em) {
      .confirmation-prompt-container .content-container .content {
        gap: 0 15px; } }
    .confirmation-prompt-container .content-container .content:has(.content-container):before {
      font-family: var(--font-family);
      font-size: 19px;
      line-height: 1; }
    .confirmation-prompt-container .content-container .content.preset-1 {
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      text-align: center; }
    .confirmation-prompt-container .content-container .content.preset-2 {
      padding-top: 15px;
      padding-bottom: 15px;
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start;
      text-align: left; }
      @media screen and (min-width: 81.25em) {
        .confirmation-prompt-container .content-container .content.preset-2 {
          padding: 15px 65px; } }
    .confirmation-prompt-container .content-container .content.preset-3 {
      padding: 15px 0; }
      @media screen and (min-width: 81.25em) {
        .confirmation-prompt-container .content-container .content.preset-3 {
          padding: 15px 0; } }
    .confirmation-prompt-container .content-container .content.success {
      background-color: #dffbe2;
      border: 1px solid #12811f;
      border-radius: 0; }
      .confirmation-prompt-container .content-container .content.success:not(.icon-configured):has(.content-container):before {
        content: ""; }
      .confirmation-prompt-container .content-container .content.success:has(.content-container):before {
        color: #12811f; }
      .confirmation-prompt-container .content-container .content.success > p:first-of-type::before {
        content: "";
        color: #12811f; }
      .confirmation-prompt-container .content-container .content.success h1, .confirmation-prompt-container .content-container .content.success h2, .confirmation-prompt-container .content-container .content.success h3, .confirmation-prompt-container .content-container .content.success h4, .confirmation-prompt-container .content-container .content.success h5, .confirmation-prompt-container .content-container .content.success h6, .confirmation-prompt-container .content-container .content.success p, .confirmation-prompt-container .content-container .content.success a {
        color: #12811f; }
    .confirmation-prompt-container .content-container .content.warning {
      background-color: #ffefe6;
      border: 1px solid #ff5e05;
      border-radius: 0; }
      .confirmation-prompt-container .content-container .content.warning:not(.icon-configured):has(.content-container):before {
        content: ""; }
      .confirmation-prompt-container .content-container .content.warning:has(.content-container):before {
        color: #ff5e05; }
      .confirmation-prompt-container .content-container .content.warning > p:first-of-type::before {
        content: "";
        color: #ff5e05; }
      .confirmation-prompt-container .content-container .content.warning h1, .confirmation-prompt-container .content-container .content.warning h2, .confirmation-prompt-container .content-container .content.warning h3, .confirmation-prompt-container .content-container .content.warning h4, .confirmation-prompt-container .content-container .content.warning h5, .confirmation-prompt-container .content-container .content.warning h6, .confirmation-prompt-container .content-container .content.warning p, .confirmation-prompt-container .content-container .content.warning a {
        color: #ff5e05; }
    .confirmation-prompt-container .content-container .content.alert {
      background-color: #fde1e1;
      border: 1px solid #b20c0c;
      border-radius: 0; }
      .confirmation-prompt-container .content-container .content.alert:not(.icon-configured):has(.content-container):before {
        content: ""; }
      .confirmation-prompt-container .content-container .content.alert:has(.content-container):before {
        color: #b20c0c; }
      .confirmation-prompt-container .content-container .content.alert > p:first-of-type:before {
        content: "";
        color: #b20c0c; }
      .confirmation-prompt-container .content-container .content.alert h1, .confirmation-prompt-container .content-container .content.alert h2, .confirmation-prompt-container .content-container .content.alert h3, .confirmation-prompt-container .content-container .content.alert h4, .confirmation-prompt-container .content-container .content.alert h5, .confirmation-prompt-container .content-container .content.alert h6, .confirmation-prompt-container .content-container .content.alert p, .confirmation-prompt-container .content-container .content.alert a {
        color: #b20c0c; }
    .confirmation-prompt-container .content-container .content.disabled p {
      color: #888888;
      font-weight: 600; }
    .confirmation-prompt-container .content-container .content.information {
      background-color: #f1f1f1;
      border: 1px solid #000000; }
      .confirmation-prompt-container .content-container .content.information:not(.icon-configured):has(.content-container):before {
        content: ""; }
      .confirmation-prompt-container .content-container .content.information:has(.content-container):before {
        color: #000000; }
      .confirmation-prompt-container .content-container .content.information p {
        color: #000000;
        font-weight: 600; }
    .confirmation-prompt-container .content-container .content.icon-non-returnable {
      --font-family: fontello; }
      .confirmation-prompt-container .content-container .content.icon-non-returnable:before {
        content: ""; }
    .confirmation-prompt-container .content-container .content .user-friendly-prefix {
      margin-right: 5px; }
    .confirmation-prompt-container .content-container .content > p {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: baseline;
          -ms-flex-align: baseline;
              align-items: baseline;
      margin: 0; }
      .confirmation-prompt-container .content-container .content > p:first-of-type:before {
        display: -webkit-inline-box;
        display: -ms-inline-flexbox;
        display: inline-flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        margin: auto 15px auto 0;
        font-family: var(--font-family);
        font-size: 19px; }
        @media print, screen and (max-width: 81.24875em) {
          .confirmation-prompt-container .content-container .content > p:first-of-type:before {
            position: absolute;
            top: 0;
            margin: auto; } }
    .confirmation-prompt-container .content-container .content .content-container {
      display: -webkit-inline-box;
      display: -ms-inline-flexbox;
      display: inline-flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      margin: auto 0;
      -webkit-box-shadow: none;
              box-shadow: none;
      background-color: transparent; }
      @media screen and (min-width: 81.25em) {
        .confirmation-prompt-container .content-container .content .content-container {
          margin: 0; } }
    .confirmation-prompt-container .content-container .content p {
      margin: var(--indent-margin, 0);
      font-size: 1rem;
      font-weight: 600;
      line-height: normal;
      color: #777777; }
      .confirmation-prompt-container .content-container .content p img[style*="float:left"], .confirmation-prompt-container .content-container .content p img[style*="float: left"], .confirmation-prompt-container .content-container .content p[style*="float:left"] > img {
        margin: .2em .2em .2em 0; }
      .confirmation-prompt-container .content-container .content p img[style*="float:right"], .confirmation-prompt-container .content-container .content p img[style*="float: right"], .confirmation-prompt-container .content-container .content p[style*="float:right"] > img {
        margin: .2em 0 .2em .2em; }
      .confirmation-prompt-container .content-container .content p img {
        margin: .2em 0; }
      .confirmation-prompt-container .content-container .content p + p {
        margin-top: 0;
        margin-bottom: 0; }
    .confirmation-prompt-container .content-container .content p:not(:empty) + table, .confirmation-prompt-container .content-container .content p:not(:empty) + .comparison-table-container {
      margin: 15px 0; }
    .confirmation-prompt-container .content-container .content table {
      --thead-border-colour: $thead-border-colour;
      max-width: 100%;
      margin-bottom: 0; }
      .confirmation-prompt-container .content-container .content table:not([class*=preset]) thead {
        background-color: transparent; }
        .confirmation-prompt-container .content-container .content table:not([class*=preset]) thead tr {
          border-bottom: 1px solid var(--thead-border-colour); }
        .confirmation-prompt-container .content-container .content table:not([class*=preset]) thead th {
          font-weight: 600; }
      .confirmation-prompt-container .content-container .content table.responsive-table {
        display: block; }
        @media screen and (min-width: 81.25em) {
          .confirmation-prompt-container .content-container .content table.responsive-table {
            display: table; } }
        .confirmation-prompt-container .content-container .content table.responsive-table:not([class*=preset]) thead {
          display: none; }
          @media screen and (min-width: 81.25em) {
            .confirmation-prompt-container .content-container .content table.responsive-table:not([class*=preset]) thead {
              display: table-row-group; } }
        .confirmation-prompt-container .content-container .content table.responsive-table tbody:not(.comparison-summary) {
          display: block; }
          @media screen and (min-width: 81.25em) {
            .confirmation-prompt-container .content-container .content table.responsive-table tbody:not(.comparison-summary) {
              display: table-row-group; } }
      .confirmation-prompt-container .content-container .content table th {
        padding: 10px 10px 10px; }
      @media screen and (min-width: 81.25em) {
        .confirmation-prompt-container .content-container .content table td {
          padding: 10px; } }
      .confirmation-prompt-container .content-container .content table thead[class*="preset"] + tbody:before {
        content: '';
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex; }
        @media screen and (min-width: 81.25em) {
          .confirmation-prompt-container .content-container .content table thead[class*="preset"] + tbody:before {
            margin: 10px; } }
      .confirmation-prompt-container .content-container .content table tbody {
        background-color: transparent; }
        .confirmation-prompt-container .content-container .content table tbody th {
          background-color: transparent; }
        .confirmation-prompt-container .content-container .content table tbody tr:not(:last-child) th {
          border-bottom: 1px solid transparent; }
        @media screen and (min-width: 81.25em) {
          .confirmation-prompt-container .content-container .content table tbody tr {
            display: table-row; } }
      .confirmation-prompt-container .content-container .content table .col-label {
        color: #777777; }
      @media print, screen and (max-width: 81.24875em) {
        .confirmation-prompt-container .content-container .content table.responsive-table tbody tr {
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-orient: vertical;
          -webkit-box-direction: normal;
              -ms-flex-direction: column;
                  flex-direction: column; } }
      @media print, screen and (max-width: 81.24875em) {
        .confirmation-prompt-container .content-container .content table.responsive-table tbody tr:not(:last-child) {
          margin-bottom: 10px;
          padding-bottom: 10px;
          border-bottom: 1px solid #eeeeee; } }
      .confirmation-prompt-container .content-container .content table.no-wrap {
        display: block;
        white-space: nowrap;
        overflow-x: auto; }
      .confirmation-prompt-container .content-container .content table.comparison-table tbody td:first-child {
        color: #777777;
        font-weight: 600; }
    .confirmation-prompt-container .content-container .content blockquote {
      width: 100%;
      position: relative;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      -webkit-box-align: start;
          -ms-flex-align: start;
              align-items: flex-start;
      gap: 15px;
      margin: 0 auto 40px;
      padding: 50px 30px;
      border: 1px solid transparent;
      -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
              box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
      text-align: center;
      font-family: "Gibson", "Gibson Fallback", "Arial";
      font-size: 1rem;
      -webkit-transition: border-color 0.8s, -webkit-box-shadow 0.8s;
      transition: border-color 0.8s, -webkit-box-shadow 0.8s;
      transition: box-shadow 0.8s, border-color 0.8s;
      transition: box-shadow 0.8s, border-color 0.8s, -webkit-box-shadow 0.8s; }
      @media screen and (min-width: 81.25em) {
        .confirmation-prompt-container .content-container .content blockquote {
          -webkit-box-orient: horizontal;
          -webkit-box-direction: normal;
              -ms-flex-direction: row;
                  flex-direction: row;
          gap: 25px; } }
      .confirmation-prompt-container .content-container .content blockquote:hover {
        -webkit-box-shadow: none;
                box-shadow: none;
        border-color: #eeeeee;
        -webkit-transition: border-color 0.6s, -webkit-box-shadow 0.6s;
        transition: border-color 0.6s, -webkit-box-shadow 0.6s;
        transition: box-shadow 0.6s, border-color 0.6s;
        transition: box-shadow 0.6s, border-color 0.6s, -webkit-box-shadow 0.6s; }
        .confirmation-prompt-container .content-container .content blockquote:hover:before {
          color: #dadada;
          -webkit-transition: color 0.6s;
          transition: color 0.6s; }
      .confirmation-prompt-container .content-container .content blockquote:has(img) {
        text-align: left; }
      .confirmation-prompt-container .content-container .content blockquote:last-of-type {
        margin-bottom: 40px; }
      @media screen and (min-width: 81.25em) {
        .confirmation-prompt-container .content-container .content blockquote {
          padding: 50px 60px; } }
      .confirmation-prompt-container .content-container .content blockquote + blockquote {
        margin-top: 15px; }
      .confirmation-prompt-container .content-container .content blockquote:before, .confirmation-prompt-container .content-container .content blockquote:after {
        content: "";
        position: absolute;
        display: inline-block;
        padding: 10px;
        font-size: 40px;
        color: #eeeeee;
        font-family: "Font Awesome Solid";
        line-height: .8;
        -webkit-transition: color 0.8s;
        transition: color 0.8s; }
      .confirmation-prompt-container .content-container .content blockquote:before {
        top: 0;
        left: 0; }
      .confirmation-prompt-container .content-container .content blockquote:after {
        right: 0;
        bottom: 0;
        -webkit-transform: rotate(180deg);
                transform: rotate(180deg); }
      .confirmation-prompt-container .content-container .content blockquote img {
        float: left; }
        @media screen and (min-width: 81.25em) {
          .confirmation-prompt-container .content-container .content blockquote img {
            text-align: left; } }
    .confirmation-prompt-container .content-container .content a[href^="tel:"], .confirmation-prompt-container .content-container .content a[href^="mailto:"] {
      font-weight: 700; }
      .confirmation-prompt-container .content-container .content a[href^="tel:"]:hover, .confirmation-prompt-container .content-container .content a[href^="mailto:"]:hover {
        text-decoration: none; }
      .confirmation-prompt-container .content-container .content a[href^="tel:"].show-contact-icon:before, .confirmation-prompt-container .content-container .content a[href^="mailto:"].show-contact-icon:before {
        display: inline-block;
        margin-right: 5px;
        font-family: "Font Awesome Solid"; }
    .confirmation-prompt-container .content-container .content a[href^="mailto:"].show-contact-icon:before {
      content: ""; }
    .confirmation-prompt-container .content-container .content a[href^="tel:"].show-contact-icon:before {
      content: "";
      -webkit-transform: rotate(180deg);
              transform: rotate(180deg); }
    .confirmation-prompt-container .content-container .content p a:not([class*="-button"]) {
      display: -webkit-inline-box;
      display: -ms-inline-flexbox;
      display: inline-flex;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      gap: 0 5px;
      font-weight: 700; }
    .confirmation-prompt-container .content-container .content p a:has([style*="float"]) {
      display: inline; }
    .confirmation-prompt-container .content-container .content a {
      text-decoration: underline; }
    .confirmation-prompt-container .content-container .content > p:first-of-type {
      position: relative; }
      @media print, screen and (max-width: 81.24875em) {
        .confirmation-prompt-container .content-container .content > p:first-of-type {
          padding-top: 24px; } }
    @media screen and (min-width: 81.25em) {
      .confirmation-prompt-container .content-container .content {
        margin-top: 0; } }
    .confirmation-prompt-container .content-container .content p {
      width: 100%;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      margin: 0; }
      .confirmation-prompt-container .content-container .content p:before {
        display: -webkit-inline-box;
        display: -ms-inline-flexbox;
        display: inline-flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        margin: auto 10px auto 0;
        font-family: "Font Awesome Solid";
        font-size: 19px; }
        @media print, screen and (max-width: 81.24875em) {
          .confirmation-prompt-container .content-container .content p:before {
            position: absolute;
            top: 10px;
            margin: auto; } }
  .confirmation-prompt-container .content-container .prompt-button-container {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center; }
    @media screen and (min-width: 81.25em) {
      .confirmation-prompt-container .content-container .prompt-button-container {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row; } }
    .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button {
      margin: 0 45px 20px; }
      .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.success {
        --component-specifc-step-height: 15px;
        width: 230px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        position: relative;
        margin: var(--common-button-small-margin, 10px 0);
        padding: var(--common-button-padding, 20px 10px);
        color: #06052f;
        background-color: #dffbe2;
        border-width: 2px;
        font-size: 0.9375rem;
        font-weight: 700;
        text-align: center;
        border-style: solid;
        cursor: pointer;
        text-transform: uppercase;
        letter-spacing: 1.2px;
        word-spacing: 2px;
        border-color: #dadada;
        text-decoration: none;
        line-height: 1;
        border-radius: 0 !important;
        overflow: hidden;
        -webkit-transition: all 0.8s;
        transition: all 0.8s; }
        @media print, screen and (min-width: 40em) {
          .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.success {
            margin: var(--common-button-medium-margin, 10px 0); } }
        @media screen and (min-width: 81.25em) {
          .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.success {
            width: 230px;
            margin: var(--common-button-large-margin, 0 0 20px); } }
        @media (hover: hover) {
          .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.success:hover, .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.success.hover {
            color: #ffffff;
            background-color: #12811f;
            border-color: #12811f;
            text-decoration: none;
            -webkit-transition: all 0.6s;
            transition: all 0.6s; }
            .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.success:hover .graduated-colour-edge .step, .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.success.hover .graduated-colour-edge .step {
              background-color: #ffffff;
              -webkit-transition: background-color 0.6s;
              transition: background-color 0.6s; } }
        .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.success:active, .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.success.active {
          background-color: #e6e6ea;
          border-color: #e6e6ea;
          -webkit-transition: all 0.6s;
          transition: all 0.6s; }
        .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.success:disabled, .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.success.disabled, .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.success[disabled] {
          color: #929292;
          background-color: #ffffff;
          border-color: rgba(200, 200, 200, 0.7);
          cursor: not-allowed; }
        .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.success:disabled:hover, .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.success.disabled:hover {
          border-color: rgba(200, 200, 200, 0.7); }
        .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.success:focus-visible {
          outline: none;
          -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
                  box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
        .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.success .graduated-colour-edge .step {
          -webkit-transition: background-color 0.8s;
          transition: background-color 0.8s; }
      .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.warning, .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.alert {
        --component-specifc-step-height: 15px;
        width: 230px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        position: relative;
        margin: var(--common-button-small-margin, 10px 0);
        padding: var(--common-button-padding, 20px 10px);
        color: #b20c0c;
        background-color: #fde1e1;
        border-width: 2px;
        font-size: 0.9375rem;
        font-weight: 700;
        text-align: center;
        border-style: solid;
        cursor: pointer;
        text-transform: uppercase;
        letter-spacing: 1.2px;
        word-spacing: 2px;
        border-color: #dadada;
        text-decoration: none;
        line-height: 1;
        border-radius: 0 !important;
        overflow: hidden;
        -webkit-transition: all 0.8s;
        transition: all 0.8s; }
        @media print, screen and (min-width: 40em) {
          .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.warning, .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.alert {
            margin: var(--common-button-medium-margin, 10px 0); } }
        @media screen and (min-width: 81.25em) {
          .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.warning, .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.alert {
            width: 230px;
            margin: var(--common-button-large-margin, 0 0 20px); } }
        @media (hover: hover) {
          .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.warning:hover, .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.warning.hover, .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.alert:hover, .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.alert.hover {
            color: #ffffff;
            background-color: #b20c0c;
            border-color: #b20c0c;
            text-decoration: none;
            -webkit-transition: all 0.6s;
            transition: all 0.6s; }
            .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.warning:hover .graduated-colour-edge .step, .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.warning.hover .graduated-colour-edge .step, .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.alert:hover .graduated-colour-edge .step, .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.alert.hover .graduated-colour-edge .step {
              background-color: #ffffff;
              -webkit-transition: background-color 0.6s;
              transition: background-color 0.6s; } }
        .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.warning:active, .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.warning.active, .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.alert:active, .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.alert.active {
          color: #ffffff;
          background-color: #e6e6ea;
          border-color: #e6e6ea;
          -webkit-transition: all 0.6s;
          transition: all 0.6s; }
        .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.warning:disabled, .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.warning.disabled, .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.warning[disabled], .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.alert:disabled, .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.alert.disabled, .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.alert[disabled] {
          color: #929292;
          background-color: #ffffff;
          border-color: rgba(200, 200, 200, 0.7);
          cursor: not-allowed; }
        .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.warning:disabled:hover, .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.warning.disabled:hover, .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.alert:disabled:hover, .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.alert.disabled:hover {
          border-color: rgba(200, 200, 200, 0.7); }
        .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.warning:focus-visible, .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.alert:focus-visible {
          outline: none;
          -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
                  box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
        .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.warning .graduated-colour-edge .step, .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.alert .graduated-colour-edge .step {
          -webkit-transition: background-color 0.8s;
          transition: background-color 0.8s; }
    .confirmation-prompt-container .content-container .prompt-button-container .prompt-cancel-button {
      --component-specifc-step-height: 15px;
      width: 230px;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      position: relative;
      margin: var(--common-button-small-margin, 0 22.5px 10px);
      padding: var(--common-button-padding, 20px 10px);
      color: #06052f;
      background-color: #ffffff;
      border-width: 2px;
      font-size: 0.9375rem;
      font-weight: 700;
      text-align: center;
      border-style: solid;
      cursor: pointer;
      text-transform: uppercase;
      letter-spacing: 1.2px;
      word-spacing: 2px;
      border-color: #dadada;
      text-decoration: none;
      line-height: 1;
      border-radius: 0 !important;
      overflow: hidden;
      -webkit-transition: all 0.8s;
      transition: all 0.8s; }
      @media screen and (min-width: 81.25em) {
        .confirmation-prompt-container .content-container .prompt-button-container .prompt-cancel-button {
          width: 230px;
          margin: var(--common-button-large-margin, 0 45px 20px); } }
      @media (hover: hover) {
        .confirmation-prompt-container .content-container .prompt-button-container .prompt-cancel-button:hover, .confirmation-prompt-container .content-container .prompt-button-container .prompt-cancel-button.hover {
          color: #ffffff;
          background-color: #dadada;
          border-color: #000000;
          text-decoration: none;
          -webkit-transition: all 0.6s;
          transition: all 0.6s; }
          .confirmation-prompt-container .content-container .prompt-button-container .prompt-cancel-button:hover .graduated-colour-edge .step, .confirmation-prompt-container .content-container .prompt-button-container .prompt-cancel-button.hover .graduated-colour-edge .step {
            background-color: #ffffff;
            -webkit-transition: background-color 0.6s;
            transition: background-color 0.6s; } }
      .confirmation-prompt-container .content-container .prompt-button-container .prompt-cancel-button:active, .confirmation-prompt-container .content-container .prompt-button-container .prompt-cancel-button.active {
        color: #ffffff;
        background-color: #06052f;
        border-color: #06052f;
        -webkit-transition: all 0.6s;
        transition: all 0.6s; }
      .confirmation-prompt-container .content-container .prompt-button-container .prompt-cancel-button:disabled, .confirmation-prompt-container .content-container .prompt-button-container .prompt-cancel-button.disabled, .confirmation-prompt-container .content-container .prompt-button-container .prompt-cancel-button[disabled] {
        color: #929292;
        background-color: #ffffff;
        border-color: rgba(200, 200, 200, 0.7);
        cursor: not-allowed; }
      .confirmation-prompt-container .content-container .prompt-button-container .prompt-cancel-button:disabled:hover, .confirmation-prompt-container .content-container .prompt-button-container .prompt-cancel-button.disabled:hover {
        border-color: rgba(200, 200, 200, 0.7); }
      .confirmation-prompt-container .content-container .prompt-button-container .prompt-cancel-button:focus-visible {
        outline: none;
        -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
                box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
      .confirmation-prompt-container .content-container .prompt-button-container .prompt-cancel-button .graduated-colour-edge .step {
        -webkit-transition: background-color 0.8s;
        transition: background-color 0.8s; }

.confirmation-prompt-container .close-button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  .confirmation-prompt-container .close-button:before {
    content: "";
    font-family: "Font Awesome Solid";
    font-size: 24px;
    color: #000000;
    -webkit-transition: color 0.8s, -webkit-transform 0.6s;
    transition: color 0.8s, -webkit-transform 0.6s;
    transition: transform 0.6s, color 0.8s;
    transition: transform 0.6s, color 0.8s, -webkit-transform 0.6s; }
  .confirmation-prompt-container .close-button:hover:before {
    color: #ae9461;
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg);
    -webkit-transition: color 0.6s, -webkit-transform 0.6s;
    transition: color 0.6s, -webkit-transform 0.6s;
    transition: transform 0.6s, color 0.6s;
    transition: transform 0.6s, color 0.6s, -webkit-transform 0.6s; }
  .confirmation-prompt-container .close-button:active:before {
    color: #06052f;
    -webkit-transition: font-size 1.2s, color 0.6s;
    transition: font-size 1.2s, color 0.6s; }

.confirmation-container {
  width: 100%;
  display: block;
  padding: 15px 10px;
  margin: 30px 0 0;
  text-align: center;
  font-size: 1.125rem;
  font-weight: 600; }
  @media print, screen and (min-width: 40em) {
    .confirmation-container {
      padding: 15px 30px; } }
  .confirmation-container.margin-bottom {
    margin-bottom: 50px; }
  .confirmation-container.success {
    background-color: #dffbe2;
    color: #12811f; }
  .confirmation-container.warning {
    background-color: #ffefe6;
    color: #ff5e05; }
  .confirmation-container.alert {
    background-color: #fef0f0;
    color: #b20c0c; }

/*
----- Header -----
Handles the following: 
- Upper + lower navigation bars.
- Site logo
- Header sticky functionality:
  - Full
  - Minified
  - No Top Bar
  - Menu
- VAT Switcher
- Breadcrumbs
- Basket Summary 
- Callouts in the header to modify callout see axis-notification.scss
- Predictive search positioning to modify search style then go to axis-autocomplete.scss
- USP bar which is essentially a module.
- Welcome Text
- Tag lines
- TODO: I am currently in the process of trying to untangle the mega menu css + make it more generic and rehome it inside of axis-menus.scss
*/
header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin: 0; }
  @media screen and (min-width: 81.25em) {
    header {
      margin: 0; } }
  header [data-axis-sticky] {
    z-index: 2000; }
    header [data-axis-sticky].is-stuck .header-container {
      -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
              box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3); }
      @media print, screen and (max-width: 81.24875em) {
        header [data-axis-sticky].is-stuck .header-container {
          position: fixed;
          top: 0;
          left: 0;
          z-index: 2000; }
          header [data-axis-sticky].is-stuck .header-container:before {
            width: 0;
            -webkit-transition: width 1.5s ease-out;
            transition: width 1.5s ease-out; } }
      header [data-axis-sticky].is-stuck .header-container[data-sticky-type="NoTopBar"] .header-top-bar-container {
        max-height: 0;
        overflow: hidden;
        -webkit-transition: max-height 0.6s;
        transition: max-height 0.6s; }
      header [data-axis-sticky].is-stuck .header-container[data-sticky-type="Minify"] .header-top-bar-container {
        display: none; }
      header [data-axis-sticky].is-stuck .header-container[data-sticky-type="Minify"] .header-content {
        min-height: auto; }
      header [data-axis-sticky].is-stuck .header-container[data-sticky-type="Minify"] .header-content-container {
        padding: 0; }
      header [data-axis-sticky].is-stuck .header-container[data-sticky-type="Minify"] .header-content-left {
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        padding: 0; }
        header [data-axis-sticky].is-stuck .header-container[data-sticky-type="Minify"] .header-content-left .menu > li > a {
          margin-top: 0;
          margin-bottom: 0;
          padding: 0;
          -webkit-transition: margin-top 0.6s, margin-bottom 0.8s;
          transition: margin-top 0.6s, margin-bottom 0.8s; }
      header [data-axis-sticky].is-stuck .header-container[data-sticky-type="Minify"] .header-content-center {
        padding: 0; }
      header [data-axis-sticky].is-stuck .header-container[data-sticky-type="Minify"] .logo-container {
        height: 45px;
        margin: 5px 0; }
        header [data-axis-sticky].is-stuck .header-container[data-sticky-type="Minify"] .logo-container .logo-full-size {
          display: none; }
        header [data-axis-sticky].is-stuck .header-container[data-sticky-type="Minify"] .logo-container .logo-minified {
          width: 30px;
          display: block;
          padding: 0; }
      header [data-axis-sticky].is-stuck .header-container[data-sticky-type="Minify"] .header-content-right {
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        padding: 0; }
      header [data-axis-sticky].is-stuck .header-container[data-sticky-type="Minify"] .header-account-button {
        padding: 3.5px 7.75px;
        -webkit-transition: padding 0.6s;
        transition: padding 0.6s; }
      header [data-axis-sticky].is-stuck .header-container[data-sticky-type="Minify"] #action-bar-container {
        -webkit-box-flex: 0;
            -ms-flex: 0;
                flex: 0;
        margin-top: auto;
        margin-bottom: auto; }
        header [data-axis-sticky].is-stuck .header-container[data-sticky-type="Minify"] #action-bar-container .basket-desktop-summary {
          height: 45px; }
          header [data-axis-sticky].is-stuck .header-container[data-sticky-type="Minify"] #action-bar-container .basket-desktop-summary:after {
            height: 43px;
            padding: 4px 23px; }
        header [data-axis-sticky].is-stuck .header-container[data-sticky-type="Minify"] #action-bar-container .bubble-container {
          top: 45px; }
      header [data-axis-sticky].is-stuck .header-container[data-sticky-type="Minify"] .header-search-container {
        margin-top: auto;
        margin-bottom: auto; }
        header [data-axis-sticky].is-stuck .header-container[data-sticky-type="Minify"] .header-search-container .header-predictive-search .callbackContainer {
          height: 45px; }
        header [data-axis-sticky].is-stuck .header-container[data-sticky-type="Minify"] .header-search-container .ajax-search {
          height: 45px; }
          header [data-axis-sticky].is-stuck .header-container[data-sticky-type="Minify"] .header-search-container .ajax-search + button {
            height: 45px; }
      header [data-axis-sticky].is-stuck .header-container[data-sticky-type="Minify"] .header-tag-line-container {
        display: none; }
      header [data-axis-sticky].is-stuck .header-container[data-sticky-type="Minify"] .header-welcome-text-container {
        display: none; }
        header [data-axis-sticky].is-stuck .header-container[data-sticky-type="Minify"] .header-welcome-text-container + #action-bar-container {
          -webkit-box-align: center;
              -ms-flex-align: center;
                  align-items: center; }
      header [data-axis-sticky].is-stuck .header-container[data-sticky-type="Minify"] .header-call-to-action-container {
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center; }
        header [data-axis-sticky].is-stuck .header-container[data-sticky-type="Minify"] .header-call-to-action-container > div {
          height: 45px; }
        header [data-axis-sticky].is-stuck .header-container[data-sticky-type="Minify"] .header-call-to-action-container a {
          min-height: unset; }
      header [data-axis-sticky].is-stuck .header-container[data-sticky-type="Minify"] .header-menus-inner-container .home-button a {
        padding-top: 0;
        padding-bottom: 0; }
        header [data-axis-sticky].is-stuck .header-container[data-sticky-type="Minify"] .header-menus-inner-container .home-button a:before {
          font-size: 11.66667px;
          padding: 0 0;
          -webkit-transition: padding 0.6s, font-size 0.6s;
          transition: padding 0.6s, font-size 0.6s; }
      header [data-axis-sticky].is-stuck .header-container[data-sticky-type="Minify"] .header-menus-inner-container .menu > li:not(.home-button) > a {
        padding-top: 12px;
        padding-bottom: 12px; }
      @media screen and (min-width: 81.25em) {
        header [data-axis-sticky].is-stuck .header-container[data-sticky-type="Minify"] .header-menus-inner-container .menu > li > a.has-link-image .link-image {
          width: 22.5px;
          height: 22.5px;
          -webkit-transition: width 0.6s, height 0.6s;
          transition: width 0.6s, height 0.6s; } }
      @media screen and (min-width: 81.25em) {
        header [data-axis-sticky].is-stuck .header-container[data-sticky-type="Menu"] .header-top-bar-container, header [data-axis-sticky].is-stuck .header-container[data-sticky-type="Menu"] .header-content-container {
          display: none; } }
      header [data-axis-sticky].is-stuck .header-container[data-sticky-type="Menu"] .logo-container .logo-full-size {
        display: none; }
      header [data-axis-sticky].is-stuck .header-container[data-sticky-type="Menu"] .logo-container .logo-minified {
        width: 30px;
        display: block; }

header .header-container {
  width: 100%;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  background-color: #ffffff; }
  @media print, screen and (max-width: 81.24875em) {
    header .header-container:before {
      content: '';
      width: 99%;
      height: 2px;
      position: absolute;
      right: 0;
      bottom: 0;
      left: 0;
      margin: auto;
      background-color: #06052f;
      -webkit-transition: width 0.8s;
      transition: width 0.8s; } }
  @media screen and (min-width: 81.25em) {
    header .header-container {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      border-bottom: 0; } }

.header-mobile-toggle-bar {
  max-width: 70%;
  margin-left: auto; }
  @media print, screen and (max-width: 81.24875em) {
    .header-mobile-toggle-bar {
      -webkit-box-ordinal-group: 3;
          -ms-flex-order: 2;
              order: 2; } }
  @media print, screen and (min-width: 40em) {
    .header-mobile-toggle-bar {
      max-width: none;
      -webkit-box-flex: 1;
          -ms-flex-positive: 1;
              flex-grow: 1; } }
  @media screen and (min-width: 81.25em) {
    .header-mobile-toggle-bar {
      display: none; } }
  .header-mobile-toggle-bar ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    list-style: none;
    margin: 0;
    padding: 0; }
    .header-mobile-toggle-bar ul li {
      position: relative; }
  .header-mobile-toggle-bar a, .header-mobile-toggle-bar button {
    width: 35px;
    height: 35px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 0 2.5px;
    cursor: pointer; }
    @media print, screen and (min-width: 40em) {
      .header-mobile-toggle-bar a, .header-mobile-toggle-bar button {
        padding: 0 30px; } }
    .header-mobile-toggle-bar a:before, .header-mobile-toggle-bar button:before {
      color: #06052f;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
    .header-mobile-toggle-bar a:hover, .header-mobile-toggle-bar button:hover {
      text-decoration: none; }
      .header-mobile-toggle-bar a:hover:before, .header-mobile-toggle-bar button:hover:before {
        color: #ae9461;
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
  .header-mobile-toggle-bar a[href^="tel:"]:before {
    content: "";
    font-family: "Font Awesome Solid";
    font-size: 20px;
    -webkit-transform: rotate(180deg);
            transform: rotate(180deg);
    line-height: 22px; }
    @media screen and (min-width: 81.25em) {
      .header-mobile-toggle-bar a[href^="tel:"]:before {
        font-size: 24px; } }
  .header-mobile-toggle-bar a[href^="mailto:"]:before {
    content: "";
    font-family: "Font Awesome Solid";
    font-size: 20px; }
    @media screen and (min-width: 81.25em) {
      .header-mobile-toggle-bar a[href^="mailto:"]:before {
        font-size: 24px; } }
  .header-mobile-toggle-bar .header-toggle-search:before {
    content: "";
    font-family: "Font Awesome Solid";
    font-size: 20px; }
    @media screen and (min-width: 81.25em) {
      .header-mobile-toggle-bar .header-toggle-search:before {
        font-size: 24px; } }
  .header-mobile-toggle-bar .header-toggle-basket:before {
    content: "";
    font-family: "Font Awesome Solid";
    font-size: 20px; }
    @media screen and (min-width: 81.25em) {
      .header-mobile-toggle-bar .header-toggle-basket:before {
        font-size: 24px; } }
  .header-mobile-toggle-bar .header-toggle-basket.warning:before {
    content: "";
    font-family: "fontello"; }
  .header-mobile-toggle-bar .header-toggle-basket.alert:before {
    content: "";
    font-family: "fontello"; }
  .header-mobile-toggle-bar .header-toggle-mega-menu:before {
    content: "";
    font-family: "Font Awesome Solid";
    font-size: 25px; }
    @media screen and (min-width: 81.25em) {
      .header-mobile-toggle-bar .header-toggle-mega-menu:before {
        font-size: 30px; } }
  .header-mobile-toggle-bar .header-toggle-account {
    position: relative; }
    .header-mobile-toggle-bar .header-toggle-account:before {
      content: "";
      font-size: 20px;
      font-family: "Font Awesome Solid"; }

.header-mobile-menu {
  max-height: 0;
  width: 100%;
  overflow: hidden;
  background-color: #ffffff;
  z-index: 2000;
  -webkit-transition: max-height 0.8s;
  transition: max-height 0.8s; }
  @media print, screen and (max-width: 81.24875em) {
    .header-mobile-menu {
      position: fixed;
      top: 0;
      left: 0;
      border-radius: 0 0 0 0; } }
  @media screen and (min-width: 81.25em) {
    .header-mobile-menu {
      max-height: none;
      background-color: transparent;
      z-index: auto;
      overflow: visible; } }
  .header-mobile-menu.animate {
    max-height: 80vh;
    padding-bottom: 50px;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
    border-bottom-color: #06052f;
    border-width: 0 0 6px 0;
    border-style: solid;
    -webkit-transition: max-height 0.6s;
    transition: max-height 0.6s; }
  .header-mobile-menu.active {
    overflow-y: auto; }
  .header-mobile-menu .content-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 25px 10px; }
    @media print, screen and (max-width: 81.24875em) {
      .header-mobile-menu .content-container ul.menu > li > a {
        padding: 15px 0 15px 10px;
        text-transform: uppercase; } }
    @media screen and (min-width: 81.25em) {
      .header-mobile-menu .content-container {
        padding: 0; } }

.header-top-bar-container {
  width: 100%;
  display: none; }
  @media screen and (min-width: 81.25em) {
    .header-top-bar-container {
      display: block; } }

.header-content-container {
  max-width: 34%;
  position: relative;
  padding: 0; }
  @media print, screen and (max-width: 81.24875em) {
    .header-content-container {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-ordinal-group: 2;
          -ms-flex-order: 1;
              order: 1; } }
  @media print, screen and (min-width: 40em) {
    .header-content-container {
      max-width: none;
      padding: 0 10px; } }
  @media screen and (min-width: 81.25em) {
    .header-content-container {
      max-width: 1300px;
      width: 100%;
      display: grid;
      display: -ms-grid;
      grid-template-columns: 1fr 47.7% 28.5%;
      grid-template-rows: 1fr;
      margin: auto;
      padding: 0; } }
  @media screen and (min-width: 100em) {
    .header-content-container {
      max-width: 1300px; } }
  @media screen and (min-width: 120em) {
    .header-content-container {
      max-width: 1300px; } }

@media print, screen and (max-width: 81.24875em) {
  .header-content-left > div:not(.logo-container):not(#action-bar-container):not(.header-search-container):not(.header-component-show-mobile), .header-content-center > div:not(.logo-container):not(#action-bar-container):not(.header-search-container):not(.header-component-show-mobile), .header-content-right > div:not(.logo-container):not(#action-bar-container):not(.header-search-container):not(.header-component-show-mobile) {
    display: none; } }

@media screen and (min-width: 81.25em) {
  .header-content-left {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    grid-row: 1 / span 2;
    -ms-grid-row-span: 2;
    -ms-grid-column: 1; } }

.header-content-left .menu, .header-content-left .dropdown.menu {
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  margin: auto 0; }
  .header-content-left .menu > li, .header-content-left .dropdown.menu > li {
    padding: 0; }
    .header-content-left .menu > li > a, .header-content-left .dropdown.menu > li > a {
      padding: 15px 10px; }

.header-content-left .menu-container ul > li > a, .header-content-left .mega-menu-container > ul > li > a {
  color: #000000;
  font-weight: 400; }

.header-content-center {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }
  @media screen and (min-width: 81.25em) {
    .header-content-center {
      padding: 0; } }
  @media screen and (min-width: 81.25em) {
    .header-content-center .menu-container {
      margin: 0; } }
  .header-content-center .menu > li > a, .header-content-center .dropdown.menu > li > a {
    padding: 0; }

.header-content-right {
  position: relative;
  left: inherit; }
  @media screen and (min-width: 81.25em) {
    .header-content-right {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -ms-grid-row: 2;
      -ms-grid-column: 3; } }
  .header-content-right .menu-container > ul > li > a {
    padding: 15px 10px;
    color: #000000;
    font-weight: 400; }

.logoContainer, .logo-container {
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: normal;
      -ms-flex-pack: normal;
          justify-content: normal;
  padding: 0 0 10px 10px; }
  @media screen and (min-width: 81.25em) {
    .logoContainer, .logo-container {
      padding: 0 10px 0 0; } }
  .logoContainer a, .logo-container a {
    max-width: 50vw;
    display: block;
    margin: 5px 0; }
    @media screen and (min-width: 81.25em) {
      .logoContainer a, .logo-container a {
        margin: 0; } }
  .logoContainer img, .logo-container img {
    width: 65px; }
    @media screen and (min-width: 81.25em) {
      .logoContainer img, .logo-container img {
        width: 140px;
        height: auto;
        margin: 0; } }
  .logoContainer .logoMinified, .logoContainer .logo-minified, .logo-container .logoMinified, .logo-container .logo-minified {
    display: none; }
    @media screen and (min-width: 81.25em) {
      .logoContainer .logoMinified, .logoContainer .logo-minified, .logo-container .logoMinified, .logo-container .logo-minified {
        display: none; } }

.header-tag-line-container {
  display: none; }
  .header-tag-line-container p {
    margin: 0;
    padding: 17px 0;
    color: #06052f;
    font-weight: 600;
    font-size: 0.95rem;
    text-transform: uppercase;
    letter-spacing: 2px;
    line-height: normal;
    white-space: nowrap; }
    .header-tag-line-container p:is(:empty) {
      padding: 0; }
    @media screen and (min-width: 81.25em) {
      .header-tag-line-container p {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center; } }
  @media screen and (min-width: 81.25em) {
    .header-tag-line-container {
      width: 100%;
      height: 62px;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-flex: 1;
          -ms-flex-positive: 1;
              flex-grow: 1;
      text-align: center; } }

.header-tagline {
  display: none;
  margin: 0;
  padding: 17px 0;
  color: #06052f;
  font-weight: 600;
  font-size: 0.95rem;
  text-transform: uppercase;
  letter-spacing: 2px;
  line-height: normal;
  white-space: nowrap; }
  @media screen and (min-width: 81.25em) {
    .header-tagline {
      width: 100%;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -ms-flex-preferred-size: 50px;
          flex-basis: 50px;
      -webkit-box-flex: 1;
          -ms-flex-positive: 1;
              flex-grow: 1;
      text-align: center; } }

.header-search-container {
  padding: 0; }
  @media screen and (min-width: 81.25em) {
    .header-search-container {
      -ms-grid-column: 2;
      padding: 0; } }
  @media print, screen and (max-width: 81.24875em) {
    .header-search-container.active .header-predictive-search .callbackContainer {
      width: 100%;
      position: relative; } }
  .header-search-container .header-predictive-search {
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin: 0; }
    @media screen and (min-width: 81.25em) {
      .header-search-container .header-predictive-search {
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center; } }
    .header-search-container .header-predictive-search .callbackContainer {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      margin: 0;
      padding: 0; }
      @media screen and (min-width: 81.25em) {
        .header-search-container .header-predictive-search .callbackContainer {
          width: 100%;
          height: 50px;
          margin: auto; } }
    .header-search-container .header-predictive-search fieldset {
      margin: 0;
      padding: 0; }
  .header-search-container input[type=search] {
    width: 100%;
    height: 50px;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1; }
    .header-search-container input[type=search]::-webkit-input-placeholder {
      font-size: 1.0625rem;
      font-weight: 400; }
    .header-search-container input[type=search]::-moz-placeholder {
      font-size: 1.0625rem;
      font-weight: 400; }
    .header-search-container input[type=search]:-ms-input-placeholder {
      font-size: 1.0625rem;
      font-weight: 400; }
    .header-search-container input[type=search]::-ms-input-placeholder {
      font-size: 1.0625rem;
      font-weight: 400; }
    .header-search-container input[type=search]::placeholder {
      font-size: 1.0625rem;
      font-weight: 400; }
    .header-search-container input[type=search] + button {
      height: 50px;
      -webkit-box-ordinal-group: 3;
          -ms-flex-order: 2;
              order: 2; }
  .header-search-container #unibox-suggest-box {
    max-width: initial !important;
    width: calc(100% - 70px);
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3; }
    @media print, screen and (max-width: 81.24875em) {
      .header-search-container #unibox-suggest-box {
        position: relative !important;
        top: 0 !important; } }
    .header-search-container #unibox-suggest-box a {
      display: block;
      padding: 0 0 0 25px;
      color: #777777; }
    .header-search-container #unibox-suggest-box .unibox-selectable {
      padding-left: 0; }
      .header-search-container #unibox-suggest-box .unibox-selectable:hover {
        background-color: #eeeeee; }
        .header-search-container #unibox-suggest-box .unibox-selectable:hover a {
          color: #06052f;
          -webkit-transition: color 0.6s;
          transition: color 0.6s; }
          .header-search-container #unibox-suggest-box .unibox-selectable:hover a span, .header-search-container #unibox-suggest-box .unibox-selectable:hover a .unibox-highlight {
            color: #ae9461;
            -webkit-transition: color 0.6s;
            transition: color 0.6s; }
      .header-search-container #unibox-suggest-box .unibox-selectable:active a {
        color: #777777; }
      .header-search-container #unibox-suggest-box .unibox-selectable span, .header-search-container #unibox-suggest-box .unibox-selectable .unibox-highlight {
        -webkit-transition: color 0.8s;
        transition: color 0.8s; }
  @media screen and (min-width: 81.25em) {
    .header-search-container .ac-results {
      width: 700px;
      margin-left: -40px; } }
  .header-search-container .results-content-container {
    padding: 0; }
    @media screen and (min-width: 81.25em) {
      .header-search-container .results-content-container {
        padding: 62px 40px 0 40px; } }

.header-predictive-search .ac-results {
  position: absolute;
  top: 0; }
  @media print, screen and (max-width: 81.24875em) {
    .header-predictive-search .ac-results {
      position: relative !important;
      margin-top: 15px; } }
  .header-predictive-search .ac-results li {
    position: relative; }
    .header-predictive-search .ac-results li:not(:first-child):hover a.ac_results_entry:before {
      content: '\f0de';
      position: absolute;
      top: 0;
      bottom: 0;
      left: -5px;
      margin: auto;
      display: inline-block;
      font-family: "Font Awesome Solid";
      color: #ae9461;
      -webkit-transform: rotate(92deg);
              transform: rotate(92deg); }
    .header-predictive-search .ac-results li .no-results {
      display: block;
      margin-left: 15px;
      padding: 5px 0; }

.header-predictive-search .heading2 {
  margin-bottom: 10px;
  font-size: 0.9375rem;
  font-weight: 700;
  font-style: italic;
  color: #06052f; }

.header-predictive-search .heading4 {
  margin-bottom: 3px;
  font-size: 0.9375rem;
  font-weight: 600;
  padding: 6px 15px;
  background-color: #06052f;
  color: #ffffff; }

.header-predictive-search .ac_results_entry {
  display: block;
  padding: 5px 0;
  margin-left: 15px;
  font-size: 0.9375rem;
  text-decoration: none;
  color: #000000; }

.header-call-to-action-container {
  display: none; }
  @media screen and (min-width: 81.25em) {
    .header-call-to-action-container {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-flex: 1;
          -ms-flex-positive: 1;
              flex-grow: 1;
      -webkit-box-ordinal-group: 2;
          -ms-flex-order: 1;
              order: 1; } }
  .header-call-to-action-container .not-logged-in-container {
    height: 50px; }
    @media screen and (min-width: 81.25em) {
      .header-call-to-action-container .not-logged-in-container {
        max-width: 255px;
        width: 100%;
        margin-left: auto; } }
    @media screen and (min-width: 81.25em) {
      .header-call-to-action-container .not-logged-in-container a {
        max-height: none;
        min-height: 50px; } }

#action-bar-container {
  height: 50px; }

@media screen and (min-width: 81.25em) {
  .header-basket-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    text-align: right; } }

.header-basket-container.active .summary-recently-added {
  max-height: 80vh;
  -webkit-transition: max-height 0.6s;
  transition: max-height 0.6s; }
  @media screen and (min-width: 81.25em) {
    .header-basket-container.active .summary-recently-added {
      max-height: 500px; } }

.header-basket-container.warning .basket-desktop-summary {
  background-color: #ffefe6; }
  .header-basket-container.warning .basket-desktop-summary:after {
    content: "";
    font-family: "fontello";
    background-color: #ff5e05;
    color: #ffffff; }
  .header-basket-container.warning .basket-desktop-summary:hover .basket-details-info {
    color: #ffffff;
    font-weight: 700; }
  .header-basket-container.warning .basket-desktop-summary:hover:after {
    color: #ffffff; }
  .header-basket-container.warning .basket-desktop-summary:active .basket-details-info {
    color: #ffffff; }
  .header-basket-container.warning .basket-desktop-summary:active:after {
    color: #ffffff; }

.header-basket-container.warning .basket-mobile-summary .basket-icon:before {
  content: "";
  font-family: "fontello";
  color: #ff5e05; }

.header-basket-container.warning .mobile-summary-message-container, .header-basket-container.warning .text-notification-container {
  background-color: #ffefe6;
  color: #ff5e05;
  border: 1px solid #ff5e05; }

.header-basket-container.warning .basket-details-info {
  font-weight: 700;
  color: #ff5e05; }

.header-basket-container.alert .basket-desktop-summary {
  background-color: #fde1e1; }
  .header-basket-container.alert .basket-desktop-summary:after {
    content: "";
    font-family: "fontello";
    background-color: #b20c0c;
    color: #ffffff; }
  .header-basket-container.alert .basket-desktop-summary:hover .basket-details-info {
    color: #ffffff;
    font-weight: 700; }
  .header-basket-container.alert .basket-desktop-summary:hover:after {
    color: #ffffff; }
  .header-basket-container.alert .basket-desktop-summary:active .basket-details-info {
    color: #ae9461; }
  .header-basket-container.alert .basket-desktop-summary:active:after {
    color: #ae9461; }

.header-basket-container.alert .basket-mobile-summary .basket-icon:before {
  content: "";
  font-family: "fontello";
  color: #b20c0c; }

.header-basket-container.alert .mobile-summary-message-container, .header-basket-container.alert .text-notification-container {
  background-color: #fde1e1;
  color: #b20c0c;
  border: 1px solid #b20c0c; }

.header-basket-container.alert .basket-details-info {
  font-weight: 700;
  color: #b20c0c; }

.header-basket-container .summary-recently-added {
  width: 100%;
  max-height: 0px;
  position: fixed;
  top: 0;
  left: 0;
  overflow: hidden;
  z-index: 5000;
  -webkit-transition: max-height 0.8s;
  transition: max-height 0.8s; }
  @media screen and (min-width: 81.25em) {
    .header-basket-container .summary-recently-added {
      width: 400px;
      left: auto; } }
  .header-basket-container .summary-recently-added .content-container {
    border-radius: 0 0 0 0;
    background-color: #ffffff;
    -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.1);
            box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.1);
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
    border-bottom-color: #06052f;
    border-width: 0 0 6px 0;
    border-style: solid; }
  .header-basket-container .summary-recently-added a {
    width: 100%;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 15px 5px; }
    .header-basket-container .summary-recently-added a:hover .basket-icon:before {
      color: #ae9461;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }
    .header-basket-container .summary-recently-added a:hover .update-message {
      color: #ae9461;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }
    .header-basket-container .summary-recently-added a:active .basket-icon:before {
      color: #06052f; }
    .header-basket-container .summary-recently-added a:active .update-message {
      color: #06052f; }
    .header-basket-container .summary-recently-added a .basket-icon {
      position: relative; }
      .header-basket-container .summary-recently-added a .basket-icon:before {
        content: "";
        font-family: "Font Awesome Solid";
        font-size: 26px;
        color: #06052f; }
    .header-basket-container .summary-recently-added a .update-message {
      padding: 10px 60px 0;
      font-size: 0.9375rem;
      font-weight: 600;
      text-align: center; }

@media screen and (min-width: 81.25em) {
  .header-basket-container [data-basket-summary-notifications] {
    width: 300px;
    position: absolute;
    top: 100%;
    z-index: 10; } }

.header-basket-container .basket-desktop-summary {
  width: 255px;
  height: 50px;
  position: relative;
  display: none;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  background-color: #ffffff;
  border-radius: 0;
  border: 1px solid #c8c8c8;
  font-size: 0.875rem;
  text-decoration: none;
  opacity: 1;
  -webkit-transition: color 0.8s, border-color 0.8s, background-color 0.8s;
  transition: color 0.8s, border-color 0.8s, background-color 0.8s; }
  @media screen and (min-width: 81.25em) {
    .header-basket-container .basket-desktop-summary {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; } }
  .header-basket-container .basket-desktop-summary:hover {
    color: #ffffff;
    -webkit-transition: color 0.6s, border-color 0.6s, background-color 0.6s;
    transition: color 0.6s, border-color 0.6s, background-color 0.6s; }
    .header-basket-container .basket-desktop-summary:hover:after {
      width: 100%;
      color: #ffffff;
      border-top-left-radius: 0;
      border-bottom-left-radius: 0;
      -webkit-transition: all 0.6s;
      transition: all 0.6s;
      z-index: 2; }
    .header-basket-container .basket-desktop-summary:hover .basket-details-info {
      color: #ffffff;
      font-weight: 600; }
  .header-basket-container .basket-desktop-summary:active .basket-details-info {
    color: #ae9461; }
  .header-basket-container .basket-desktop-summary:active:after {
    color: #ffffff; }
  .header-basket-container .basket-desktop-summary:after {
    content: "";
    width: 72px;
    height: 48px;
    position: absolute;
    top: 0;
    right: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 9px 23px;
    font-family: "Font Awesome Solid";
    font-size: 22px;
    color: #ffffff;
    border-width: 0;
    border-style: solid;
    border-color: #ffffff;
    background-color: #ae9461;
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
    -webkit-transition: all 0.8s;
    transition: all 0.8s; }

.header-basket-container .basket-details {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 0;
  z-index: 10; }
  @media screen and (min-width: 81.25em) {
    .header-basket-container .basket-details {
      width: 185px; } }
  .header-basket-container .basket-details:before {
    content: '';
    width: 1.5px;
    height: 0;
    position: absolute;
    top: 0;
    right: 70px;
    bottom: 0;
    margin: auto;
    display: block;
    background-color: #ffffff;
    -webkit-transition: height 0.8s;
    transition: height 0.8s; }

.header-basket-container .basket-details-info {
  color: #000000;
  font-weight: 600; }
  .header-basket-container .basket-details-info.basket-details-quantity span {
    margin-right: 5px; }
  .header-basket-container .basket-details-info.basket-details-price {
    margin-left: 20px; }

.header-basket-container .basket-mobile-summary {
  border-radius: 0 0 0 0; }
  @media screen and (min-width: 81.25em) {
    .header-basket-container .basket-mobile-summary {
      display: none; } }
  .header-basket-container .basket-mobile-summary .basket-icon {
    width: 100%;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
    .header-basket-container .basket-mobile-summary .basket-icon:before {
      content: "";
      font-family: "Font Awesome Solid";
      font-size: 40px;
      line-height: 1;
      color: #06052f; }
  .header-basket-container .basket-mobile-summary .summary-order-total {
    margin-bottom: 30px;
    font-size: 1.375rem;
    font-weight: 700;
    text-align: center;
    color: #06052f; }
  .header-basket-container .basket-mobile-summary .summary-quantity {
    margin: 20px 0 25px;
    padding: 0;
    font-size: 1.0625rem;
    text-align: center; }
    .header-basket-container .basket-mobile-summary .summary-quantity span {
      margin-right: 5px;
      color: #06052f;
      font-weight: 700; }
  .header-basket-container .basket-mobile-summary .action-button {
    margin: 0; }
  .header-basket-container .basket-mobile-summary .mobile-summary-message-container, .header-basket-container .basket-mobile-summary .text-notification-container {
    margin-top: 15px;
    padding: 20px;
    font-size: 1.125rem;
    font-weight: 700;
    text-align: center; }

.summary:hover .textContainer:before {
  content: '';
  height: 85%;
  -webkit-transition: height 0.6s;
  transition: height 0.6s; }

.summary:hover .textContainer #basketQuantity, .summary:hover .textContainer #basketPreviewPrice {
  color: #ffffff;
  font-weight: 600; }

.summary:after {
  -webkit-transition: all 0.8s;
  transition: all 0.8s; }

.summary #basketPreviewPrice {
  margin-left: 20px; }

#basketSummaryContainer {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end; }
  @media screen and (min-width: 81.25em) {
    #basketSummaryContainer {
      -webkit-box-flex: 1;
          -ms-flex-positive: 1;
              flex-grow: 1;
      text-align: right; } }
  #basketSummaryContainer.warning .summary {
    background-color: #ffefe6; }
    #basketSummaryContainer.warning .summary:after {
      content: "";
      font-family: "fontello";
      background-color: #ff5e05; }
  #basketSummaryContainer.warning #basketPreview .basketPreviewHeading:after {
    content: "";
    font-family: "fontello";
    color: #ff5e05; }
  #basketSummaryContainer.warning .mobile-summary-message-container, #basketSummaryContainer.warning .text-notification-container {
    background-color: #ffefe6;
    color: #ff5e05;
    border: 1px solid #ff5e05; }
  #basketSummaryContainer.warning .summary-message-container {
    border-color: #ff5e05; }
    #basketSummaryContainer.warning .summary-message-container:before {
      content: '';
      width: 0;
      height: 0;
      position: absolute;
      top: 0;
      left: 50%;
      border-width: 8px;
      border-style: solid;
      border-color: transparent;
      border-bottom-color: #ff5e05;
      border-top: 0;
      margin-top: -8px;
      margin-left: -8px; }
    #basketSummaryContainer.warning .summary-message-container:after {
      content: '';
      width: 0;
      height: 0;
      position: absolute;
      top: 0;
      left: 50%;
      border-width: 6px;
      border-style: solid;
      border-color: transparent;
      border-bottom-color: #ffefe6;
      border-top: 0;
      margin-top: -5px;
      margin-left: -6px; }
    #basketSummaryContainer.warning .summary-message-container .content-container {
      background-color: #ffefe6; }
      #basketSummaryContainer.warning .summary-message-container .content-container:before {
        content: "";
        color: #ff5e05; }
    #basketSummaryContainer.warning .summary-message-container p {
      color: #ff5e05; }
  #basketSummaryContainer.warning #basketQuantity, #basketSummaryContainer.warning #basketPreviewPrice {
    color: #ff5e05; }
  #basketSummaryContainer.alert .summary {
    background-color: #fde1e1; }
    #basketSummaryContainer.alert .summary:after {
      content: "";
      font-family: "fontello";
      background-color: #b20c0c; }
  #basketSummaryContainer.alert #basketPreview .basketPreviewHeading:after {
    content: "";
    font-family: "fontello";
    color: #b20c0c; }
  #basketSummaryContainer.alert .mobile-summary-message-container, #basketSummaryContainer.alert .text-notification-container {
    background-color: #fde1e1;
    color: #b20c0c;
    border: 1px solid #b20c0c; }
  #basketSummaryContainer.alert .summary-message-container {
    border-color: #b20c0c; }
    #basketSummaryContainer.alert .summary-message-container:before {
      content: '';
      width: 0;
      height: 0;
      position: absolute;
      top: 0;
      left: 50%;
      border-width: 8px;
      border-style: solid;
      border-color: transparent;
      border-bottom-color: #b20c0c;
      border-top: 0;
      margin-top: -8px;
      margin-left: -8px; }
    #basketSummaryContainer.alert .summary-message-container:after {
      content: '';
      width: 0;
      height: 0;
      position: absolute;
      top: 0;
      left: 50%;
      border-width: 6px;
      border-style: solid;
      border-color: transparent;
      border-bottom-color: #fde1e1;
      border-top: 0;
      margin-top: -5px;
      margin-left: -6px; }
    #basketSummaryContainer.alert .summary-message-container .content-container {
      background-color: #fde1e1; }
      #basketSummaryContainer.alert .summary-message-container .content-container:before {
        content: "";
        color: #b20c0c; }
    #basketSummaryContainer.alert .summary-message-container p {
      color: #b20c0c; }
  #basketSummaryContainer.alert #basketQuantity, #basketSummaryContainer.alert #basketPreviewPrice {
    color: #b20c0c; }
  @media print, screen and (max-width: 81.24875em) {
    #basketSummaryContainer .not-logged-in-container {
      display: none; } }
  #basketSummaryContainer .mobile-summary-message-container, #basketSummaryContainer .text-notification-container {
    margin-top: 15px;
    padding: 20px;
    font-size: 1.125rem;
    font-weight: 700; }
  @media print, screen and (max-width: 81.24875em) {
    #basketSummaryContainer.active {
      display: block;
      max-height: 370px;
      width: 100%;
      position: fixed;
      top: 0;
      left: 0; }
      #basketSummaryContainer.active #basketPreview {
        max-height: 570px;
        padding: 25px 10px 60px;
        padding-bottom: 50px;
        -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
                box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
        border-bottom-color: #06052f;
        border-width: 0 0 6px 0;
        border-style: solid;
        -webkit-transition: opacity 0.6s;
        transition: opacity 0.6s;
        opacity: 1;
        z-index: 5000; } }
  @media screen and (min-width: 81.25em) {
    #basketSummaryContainer.active #basketPreview {
      max-height: 460px;
      padding: 20px 30px 30px;
      -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.1);
              box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.1);
      padding-bottom: 50px;
      -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
              box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
      border-bottom-color: #06052f;
      border-width: 0 0 6px 0;
      border-style: solid;
      -webkit-transition: opacity 0.6s;
      transition: opacity 0.6s;
      opacity: 1;
      z-index: 5000; } }
  #basketSummaryContainer #recentlyAdded {
    display: none; }
    #basketSummaryContainer #recentlyAdded h3 {
      margin-top: 30px;
      padding: 10px 60px 0;
      color: #000000;
      font-weight: 600;
      font-size: 0.9375rem;
      text-align: center; }
  #basketSummaryContainer.update.active #basketPreview {
    display: none; }
  @media screen and (min-width: 81.25em) {
    #basketSummaryContainer .not-logged-in-container {
      width: 255px;
      height: 50px;
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      margin: auto; }
      #basketSummaryContainer .not-logged-in-container a {
        max-height: 50px; } }
  #basketSummaryContainer .bubble-container {
    display: none; }
    @media screen and (min-width: 81.25em) {
      #basketSummaryContainer .bubble-container {
        width: 255px;
        max-height: 0;
        position: absolute;
        top: 100px;
        right: 0;
        display: inherit;
        overflow: hidden;
        -webkit-transition: max-height 0.8s;
        transition: max-height 0.8s; } }
    #basketSummaryContainer .bubble-container.active {
      max-height: 300px;
      height: auto;
      -webkit-transition: max-height 0.6s;
      transition: max-height 0.6s; }
  #basketSummaryContainer .summary-message-container {
    position: relative;
    display: inherit;
    margin-top: 10px;
    background-color: #ffffff;
    border-width: 2px;
    border-style: solid;
    border-color: #06052f; }
    #basketSummaryContainer .summary-message-container .content-container {
      padding: 14px 20px; }
      #basketSummaryContainer .summary-message-container .content-container:before {
        content: "";
        display: block;
        margin-bottom: 5px;
        font-size: 20px;
        font-family: "Font Awesome Solid";
        text-align: center;
        color: #06052f; }
    #basketSummaryContainer .summary-message-container p {
      margin: 0;
      padding: 0;
      text-align: center;
      text-transform: uppercase;
      font-size: 0.9375rem;
      font-weight: 700;
      color: #06052f; }

.header-welcome-text-container {
  display: none;
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2; }
  @media screen and (min-width: 81.25em) {
    .header-welcome-text-container {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: end;
          -ms-flex-pack: end;
              justify-content: flex-end;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -ms-flex-preferred-size: 62px;
          flex-basis: 62px; } }
  .header-welcome-text-container .text-container {
    margin: 0;
    text-align: right; }
    .header-welcome-text-container .text-container p {
      margin: 0;
      padding: 0;
      font-size: 1rem;
      font-weight: 400;
      font-style: normal;
      font-family: "Gibson", "Gibson Fallback", "Arial";
      color: #888888; }
  .header-welcome-text-container + #action-bar-container {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1; }
  .header-welcome-text-container + .header-call-to-action-container {
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end; }

.header-menus-outer-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  background-color: #ffffff; }
  @media screen and (min-width: 81.25em) {
    .header-menus-outer-container {
      max-height: none;
      padding: 0;
      background-color: #06052f;
      border-radius: 0;
      visibility: visible;
      overflow: visible; } }
  @media screen and (min-width: 81.25em) {
    .header-menus-outer-container.active {
      position: relative;
      z-index: 1; } }
  .header-menus-outer-container .content-container > ul > li > a {
    font-size: 1.25rem;
    font-weight: 400; }
  .header-menus-outer-container .content-container > ul > li > ul > li > a {
    font-size: 1.0625rem;
    font-weight: 600; }
  .header-menus-outer-container .content-container > ul > li > ul > li ul > > li a {
    font-size: 1.0625rem;
    font-weight: 400; }

.header-menus-inner-container {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start; }
  @media screen and (min-width: 81.25em) {
    .header-menus-inner-container {
      max-width: 1300px;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      margin: auto; } }
  .header-menus-inner-container ul.accordion-menu > li:hover {
    background-color: #06052f; }
    .header-menus-inner-container ul.accordion-menu > li:hover > a {
      color: #ffffff; }
  .header-menus-inner-container ul.accordion-menu > li > a {
    color: #06052f;
    font-weight: 400;
    font-size: 1.25rem;
    text-align: left;
    text-transform: uppercase; }
  .header-menus-inner-container ul.accordion-menu > li > ul {
    padding: 0 0 17.5px; }
    @media print, screen and (max-width: 81.24875em) {
      .header-menus-inner-container ul.accordion-menu > li > ul > li:not(.is-accordion-submenu-parent) > a {
        padding-left: 36px; } }
    .header-menus-inner-container ul.accordion-menu > li > ul > li.is-active.is-dropdown-submenu-parent > a:after, .header-menus-inner-container ul.accordion-menu > li > ul > li.is-dropdown-submenu-parent > a:after {
      content: ''; }
    .header-menus-inner-container ul.accordion-menu > li > ul > li > ul > li > a {
      color: #777777;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      padding: 5px 5px 5px 16px;
      font-size: 1.0625rem;
      font-weight: 400; }
      .header-menus-inner-container ul.accordion-menu > li > ul > li > ul > li > a:hover, .header-menus-inner-container ul.accordion-menu > li > ul > li > ul > li > a:hover:before {
        color: #ae9461; }
      .header-menus-inner-container ul.accordion-menu > li > ul > li > ul > li > a:active, .header-menus-inner-container ul.accordion-menu > li > ul > li > ul > li > a:active:before {
        color: #06052f; }
  .header-menus-inner-container ul.menu.mega-menu > li, .header-menus-inner-container ul.menu.dropdown > li {
    padding: 0; }
    @media screen and (min-width: 81.25em) {
      .header-menus-inner-container ul.menu.mega-menu > li, .header-menus-inner-container ul.menu.dropdown > li {
        padding: 0; } }
    @media screen and (min-width: 81.25em) {
      .header-menus-inner-container ul.menu.mega-menu > li.home-button a, .header-menus-inner-container ul.menu.dropdown > li.home-button a {
        padding: 12px 15px; } }
  @media screen and (min-width: 81.25em) {
    .header-menus-inner-container ul.menu.mega-menu .is-dropdown-submenu-parent, .header-menus-inner-container ul.menu.dropdown .is-dropdown-submenu-parent {
      position: static; } }

.header-menu-left-container {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start; }
  .header-menu-left-container + .header-menu-right-container {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1; }

.header-menu-right-container, .header-menu-left-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }

@media screen and (min-width: 81.25em) {
  .header-menu-right-container {
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end; } }

.header-toggle-bar-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  gap: 0 12.5px; }
  @media screen and (min-width: 81.25em) {
    .header-toggle-bar-container {
      position: relative; } }
  @media print, screen and (max-width: 81.24875em) {
    .header-toggle-bar-container.toggle-bar-inactive-mobile {
      gap: 0; } }
  .header-toggle-bar-container .header-toggle-container {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
    .header-toggle-bar-container .header-toggle-container.align-items-parent {
      position: static; }
  .header-toggle-bar-container .toggle-button-container .toggle-button {
    min-height: 35px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin: auto;
    padding: 3.5px 7.75px;
    cursor: pointer;
    border-radius: 0; }
    .header-toggle-bar-container .toggle-button-container .toggle-button:before {
      color: #06052f;
      font-size: 20px;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
    .header-toggle-bar-container .toggle-button-container .toggle-button:hover:before {
      color: #ae9461;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }
    .header-toggle-bar-container .toggle-button-container .toggle-button:active:before {
      color: #06052f; }
  .header-toggle-bar-container .toggle-button-container.search .toggle-button:before {
    content: "";
    font-family: "Font Awesome Solid"; }
  .header-toggle-bar-container .toggle-button-container.action-bar .toggle-button:before {
    content: "";
    font-family: "Font Awesome Solid"; }
  .header-toggle-bar-container .toggle-button-container.action-bar .toggle-button .basket-item-count {
    position: absolute;
    top: 2px;
    left: 26px;
    padding: 2px 4.5px;
    display: block;
    background-color: #e5b701;
    color: #06052f;
    font-size: 0.6875rem;
    font-family: "Gibson", "Gibson Fallback", "Arial";
    font-weight: 700;
    border-radius: 25px;
    border: 2px solid #e5b701;
    -webkit-transition: color 0.8s, border-color 0.8s, 0.8s;
    transition: color 0.8s, border-color 0.8s, 0.8s; }
  .header-toggle-bar-container .toggle-button-container.action-bar .toggle-button:hover .basket-item-count {
    background-color: #ffffff;
    border-color: #ae9461;
    color: #000000;
    -webkit-transition: color 0.6s, 0.6s, background-color 0.6s;
    transition: color 0.6s, 0.6s, background-color 0.6s; }
  .header-toggle-bar-container .toggle-button-container.action-bar .toggle-button:active .basket-item-count {
    background-color: #06052f;
    color: #ffffff;
    border-color: #06052f; }
  @media screen and (min-width: 81.25em) {
    .header-toggle-bar-container .toggle-content-container.search {
      width: 0;
      position: absolute;
      overflow: hidden; } }
  @media screen and (min-width: 81.25em) {
    .header-toggle-bar-container .toggle-content-container.search.active {
      width: 490px;
      right: -12px;
      overflow: visible; } }
  .header-toggle-bar-container .toggle-content-container.account-menu {
    display: none; }
    @media screen and (min-width: 81.25em) {
      .header-toggle-bar-container .toggle-content-container.account-menu {
        width: 0;
        position: absolute;
        top: calc(100% + 10px);
        right: 0;
        display: block;
        overflow: hidden;
        background-color: #ffffff; } }
    @media screen and (min-width: 81.25em) {
      .header-toggle-bar-container .toggle-content-container.account-menu.active {
        width: 550px;
        right: 0;
        padding: 20px;
        overflow: visible; } }
    @media screen and (min-width: 81.25em) {
      .header-toggle-bar-container .toggle-content-container.account-menu .account-menu {
        margin: 0;
        padding: 0;
        list-style: none; } }
  @media screen and (min-width: 81.25em) {
    .header-toggle-bar-container .toggle-content-container.action-bar {
      width: 0;
      position: absolute;
      right: -16px;
      overflow: hidden; } }
  @media screen and (min-width: 81.25em) {
    .header-toggle-bar-container .toggle-content-container.action-bar.active {
      width: 250px;
      overflow: visible; }
      .header-toggle-bar-container .toggle-content-container.action-bar.active .basket-desktop-summary:after {
        color: #ffffff;
        -webkit-transition: color 0.6s;
        transition: color 0.6s; } }

.header-account-button {
  min-height: 35px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 10px;
  padding: 3.5px 7.75px;
  color: #06052f;
  -webkit-transition: border-color 0.8s, background-color 0.8s, color 0.8s;
  transition: border-color 0.8s, background-color 0.8s, color 0.8s; }
  .header-account-button.logged-in {
    border: 1px solid #c8c8c8; }
  .header-account-button:hover {
    color: #dadada;
    border-color: #06052f;
    -webkit-transition: border-color 0.6s, background-color 0.6s, color 0.6s;
    transition: border-color 0.6s, background-color 0.6s, color 0.6s; }
    .header-account-button:hover:before {
      color: #ae9461;
      -webkit-transition: color 0.6s, background-color 0.6s;
      transition: color 0.6s, background-color 0.6s; }
  .header-account-button:active {
    color: #eeeeee;
    border-color: #06052f; }
    .header-account-button:active:before {
      color: #06052f; }
  .header-account-button:before {
    content: "";
    font-family: "Font Awesome Solid";
    font-size: 20px;
    color: #06052f;
    border-radius: 0;
    -webkit-transition: color 0.8s, background-color 0.8s;
    transition: color 0.8s, background-color 0.8s; }

.account-menu a {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 10px;
  font-size: 0.8125rem;
  font-weight: 600;
  color: #000000;
  -webkit-transition: all 0.6s;
  transition: all 0.6s; }
  .account-menu a:hover {
    color: #06052f;
    -webkit-transition: all 0.8s;
    transition: all 0.8s; }

.usp-bar, .header-usp-bar {
  padding: 5px 0 7.5px; }
  @media screen and (min-width: 81.25em) {
    .usp-bar, .header-usp-bar {
      padding: 15px 0 10px; } }

.usp-container {
  width: 100%;
  background-color: #eeeeee; }
  @media screen and (min-width: 81.25em) {
    .usp-container {
      padding: 0 10px; } }
  @media screen and (min-width: 120em) {
    .usp-container {
      padding: 0; } }
  .usp-container .usp-banner, .usp-container .collection-item {
    --media-aspect-ratio: var(--media-width, auto)/var(--media-height, auto); }
    @media print, screen and (min-width: 40em) {
      .usp-container .usp-banner, .usp-container .collection-item {
        -webkit-box-flex: 1;
            -ms-flex-positive: 1;
                flex-grow: 1; } }
    .usp-container .usp-banner a, .usp-container .usp-banner p, .usp-container .collection-item a, .usp-container .collection-item p {
      text-transform: uppercase;
      -webkit-box-flex: 1;
          -ms-flex-positive: 1;
              flex-grow: 1; }
    .usp-container .usp-banner a, .usp-container .usp-banner > p, .usp-container .collection-item a, .usp-container .collection-item > p {
      border-width: 0;
      border-color: #06052f;
      border-style: solid;
      border-radius: 0; }
    .usp-container .usp-banner p, .usp-container .collection-item p {
      height: 100%;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      margin: 0;
      padding: 15px 5px;
      text-align: center;
      color: #06052f;
      font-style: normal;
      font-size: 0.9375rem;
      font-weight: 400; }
    .usp-container .usp-banner img, .usp-container .collection-item img {
      max-height: 26px;
      margin-top: auto;
      margin-bottom: auto;
      margin-right: 12px;
      aspect-ratio: var(--media-aspect-ratio, auto); }
    .usp-container .usp-banner a, .usp-container .collection-item a {
      width: 100%;
      height: 100%;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      padding: 15px 5px;
      -webkit-transition: opacity, background-color 0.8s;
      transition: opacity, background-color 0.8s; }
      .usp-container .usp-banner a:hover, .usp-container .collection-item a:hover {
        background-color: #d5d5d5;
        opacity: 0.6;
        -webkit-transition: opacity 0.6s, background-color 0.6s;
        transition: opacity 0.6s, background-color 0.6s; }
      .usp-container .usp-banner a:active, .usp-container .collection-item a:active {
        background-color: #bbbbbb; }
      .usp-container .usp-banner a p, .usp-container .collection-item a p {
        padding: 0; }
        .usp-container .usp-banner a p:after, .usp-container .collection-item a p:after {
          content: "";
          display: -webkit-inline-box;
          display: -ms-inline-flexbox;
          display: inline-flex;
          -webkit-box-align: center;
              -ms-flex-align: center;
                  align-items: center;
          margin-left: 10px;
          color: #06052f;
          font-size: 11px;
          font-family: "fontello-djmiles"; }
    @media screen and (min-width: 81.25em) {
      .usp-container .usp-banner[aria-hidden=false], .usp-container .collection-item[aria-hidden=false] {
        padding: 0 0; }
        .usp-container .usp-banner[aria-hidden=false]:first-of-type, .usp-container .collection-item[aria-hidden=false]:first-of-type {
          padding-left: 0; }
        .usp-container .usp-banner[aria-hidden=false]:last-of-type, .usp-container .collection-item[aria-hidden=false]:last-of-type {
          padding-right: 0; } }
    @media screen and (min-width: 81.25em) {
      .usp-container .usp-banner[aria-hidden=false] + .collection-item, .usp-container .collection-item[aria-hidden=false] + .collection-item {
        position: relative;
        padding-left: 3px; }
        .usp-container .usp-banner[aria-hidden=false] + .collection-item:before, .usp-container .collection-item[aria-hidden=false] + .collection-item:before {
          content: '';
          width: 3px;
          height: 100%;
          position: absolute;
          top: 0;
          bottom: 0;
          left: 0;
          margin: auto;
          background-color: #ffffff;
          z-index: 1; } }
  .usp-container .fas {
    margin-right: 10px; }

body:not(#home) .header-breadcrumbs-container {
  margin: 0; }
  body:not(#home) .header-breadcrumbs-container:not(:has(.breadcrumbs)) {
    padding: 7.5px; }

body:not(#home) .header-breadcrumb-vat-switcher-container:not(:has(.breadcrumbs)):not(:has(.header-toggle-switch-container)):not(:has(.vat-switcher-container)) {
  padding: 7.5px; }

.header-usp-bar + #breadcrumb-vat-switcher-container, .header-usp-bar + .header-breadcrumb-vat-switcher-container {
  padding-top: 7px; }
  .header-usp-bar + #breadcrumb-vat-switcher-container:has(.breadcrumbs), .header-usp-bar + #breadcrumb-vat-switcher-container:has(.header-toggle-switch-container), .header-usp-bar + .header-breadcrumb-vat-switcher-container:has(.breadcrumbs), .header-usp-bar + .header-breadcrumb-vat-switcher-container:has(.header-toggle-switch-container) {
    padding-top: 0; }
  @media screen and (min-width: 81.25em) {
    .header-usp-bar + #breadcrumb-vat-switcher-container, .header-usp-bar + .header-breadcrumb-vat-switcher-container {
      padding-top: 5px; } }

#breadcrumb-vat-switcher-container .vat-switcher-container, #breadcrumb-vat-switcher-container .breadcrumbs, #breadcrumb-vat-switcher-container .header-toggle-switch-container, .header-breadcrumb-vat-switcher-container .vat-switcher-container, .header-breadcrumb-vat-switcher-container .breadcrumbs, .header-breadcrumb-vat-switcher-container .header-toggle-switch-container {
  padding-top: 7px;
  padding-bottom: 7px; }
  @media screen and (min-width: 81.25em) {
    #breadcrumb-vat-switcher-container .vat-switcher-container, #breadcrumb-vat-switcher-container .breadcrumbs, #breadcrumb-vat-switcher-container .header-toggle-switch-container, .header-breadcrumb-vat-switcher-container .vat-switcher-container, .header-breadcrumb-vat-switcher-container .breadcrumbs, .header-breadcrumb-vat-switcher-container .header-toggle-switch-container {
      padding-top: 5px;
      padding-bottom: 5px; } }

#breadcrumb-vat-switcher-container .breadcrumbs li, .header-breadcrumb-vat-switcher-container .breadcrumbs li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 2.5px 0; }
  @media screen and (min-width: 81.25em) {
    #breadcrumb-vat-switcher-container .breadcrumbs li, .header-breadcrumb-vat-switcher-container .breadcrumbs li {
      margin: 0; } }

@media screen and (min-width: 81.25em) and (max-width: 99.99875em) {
  #breadcrumb-vat-switcher-container.grid-container, .header-breadcrumb-vat-switcher-container.grid-container {
    padding-right: 10px;
    padding-left: 10px; } }

.breadcrumbs {
  padding: 0; }
  .breadcrumbs a {
    text-decoration: none;
    font-size: 0.9375rem;
    font-weight: 400; }
  .breadcrumbs span {
    font-size: 0.9375rem;
    font-weight: 400; }
  .breadcrumbs li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
    .breadcrumbs li:after {
      margin: 0 5px !important;
      padding-top: 0.5px;
      font-family: "fontello-djmiles";
      font-size: 7px; }
      @media screen and (min-width: 81.25em) {
        .breadcrumbs li:after {
          padding-top: 1px; } }

.toggle-switch-label-container {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex; }
  .toggle-switch-label-container span {
    padding-right: 10px;
    font-weight: 700;
    font-size: 0.75rem;
    color: #000000; }

.vat-switcher-container, .header-toggle-switch-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 10px; }
  .vat-switcher-container.vat-switcher.inclusive .vat-switcher-paddle:before, .vat-switcher-container.vat-switcher.inclusive .header-toggle-switch-paddle:before, .vat-switcher-container.vat-switcher.off .vat-switcher-paddle:before, .vat-switcher-container.vat-switcher.off .header-toggle-switch-paddle:before, .header-toggle-switch-container.vat-switcher.inclusive .vat-switcher-paddle:before, .header-toggle-switch-container.vat-switcher.inclusive .header-toggle-switch-paddle:before, .header-toggle-switch-container.vat-switcher.off .vat-switcher-paddle:before, .header-toggle-switch-container.vat-switcher.off .header-toggle-switch-paddle:before {
    background-color: #ae9461; }
  .vat-switcher-container.vat-switcher.exclusive .vat-switcher-paddle:before, .vat-switcher-container.vat-switcher.exclusive .header-toggle-switch-paddle:before, .vat-switcher-container.vat-switcher.on .vat-switcher-paddle:before, .vat-switcher-container.vat-switcher.on .header-toggle-switch-paddle:before, .header-toggle-switch-container.vat-switcher.exclusive .vat-switcher-paddle:before, .header-toggle-switch-container.vat-switcher.exclusive .header-toggle-switch-paddle:before, .header-toggle-switch-container.vat-switcher.on .vat-switcher-paddle:before, .header-toggle-switch-container.vat-switcher.on .header-toggle-switch-paddle:before {
    background-color: #06052f; }
  .vat-switcher-container.edit-mode.off .vat-switcher-paddle:before, .vat-switcher-container.edit-mode.off .header-toggle-switch-paddle:before, .header-toggle-switch-container.edit-mode.off .vat-switcher-paddle:before, .header-toggle-switch-container.edit-mode.off .header-toggle-switch-paddle:before {
    background-color: #000000; }
  .vat-switcher-container.edit-mode.on .vat-switcher-paddle:before, .vat-switcher-container.edit-mode.on .header-toggle-switch-paddle:before, .header-toggle-switch-container.edit-mode.on .vat-switcher-paddle:before, .header-toggle-switch-container.edit-mode.on .header-toggle-switch-paddle:before {
    background-color: #ae9461; }
  .vat-switcher-container.inclusive .vat-switcher-paddle, .vat-switcher-container.inclusive .header-toggle-switch-paddle, .vat-switcher-container.off .vat-switcher-paddle, .vat-switcher-container.off .header-toggle-switch-paddle, .header-toggle-switch-container.inclusive .vat-switcher-paddle, .header-toggle-switch-container.inclusive .header-toggle-switch-paddle, .header-toggle-switch-container.off .vat-switcher-paddle, .header-toggle-switch-container.off .header-toggle-switch-paddle {
    padding-right: 32px; }
    .vat-switcher-container.inclusive .vat-switcher-paddle:before, .vat-switcher-container.inclusive .header-toggle-switch-paddle:before, .vat-switcher-container.off .vat-switcher-paddle:before, .vat-switcher-container.off .header-toggle-switch-paddle:before, .header-toggle-switch-container.inclusive .vat-switcher-paddle:before, .header-toggle-switch-container.inclusive .header-toggle-switch-paddle:before, .header-toggle-switch-container.off .vat-switcher-paddle:before, .header-toggle-switch-container.off .header-toggle-switch-paddle:before {
      right: 5px;
      background-color: #eeeeee; }
  .vat-switcher-container.inclusive .switch-exc, .vat-switcher-container.off .switch-exc, .header-toggle-switch-container.inclusive .switch-exc, .header-toggle-switch-container.off .switch-exc {
    display: none; }
  .vat-switcher-container.inclusive .switch, .vat-switcher-container.off .switch, .header-toggle-switch-container.inclusive .switch, .header-toggle-switch-container.off .switch {
    background-color: transparent;
    border-color: #dadada; }
  .vat-switcher-container.exclusive .vat-switcher-paddle, .vat-switcher-container.exclusive .header-toggle-switch-paddle, .vat-switcher-container.on .vat-switcher-paddle, .vat-switcher-container.on .header-toggle-switch-paddle, .header-toggle-switch-container.exclusive .vat-switcher-paddle, .header-toggle-switch-container.exclusive .header-toggle-switch-paddle, .header-toggle-switch-container.on .vat-switcher-paddle, .header-toggle-switch-container.on .header-toggle-switch-paddle {
    padding-left: 39px; }
    .vat-switcher-container.exclusive .vat-switcher-paddle:before, .vat-switcher-container.exclusive .header-toggle-switch-paddle:before, .vat-switcher-container.on .vat-switcher-paddle:before, .vat-switcher-container.on .header-toggle-switch-paddle:before, .header-toggle-switch-container.exclusive .vat-switcher-paddle:before, .header-toggle-switch-container.exclusive .header-toggle-switch-paddle:before, .header-toggle-switch-container.on .vat-switcher-paddle:before, .header-toggle-switch-container.on .header-toggle-switch-paddle:before {
      left: 5px;
      background-color: #777777; }
  .vat-switcher-container.exclusive .switch-inc, .vat-switcher-container.on .switch-inc, .header-toggle-switch-container.exclusive .switch-inc, .header-toggle-switch-container.on .switch-inc {
    display: none; }
  .vat-switcher-container.exclusive .switch, .vat-switcher-container.on .switch, .header-toggle-switch-container.exclusive .switch, .header-toggle-switch-container.on .switch {
    background-color: transparent;
    border-color: #aeaeae; }
  .vat-switcher-container .switch, .header-toggle-switch-container .switch {
    width: 34px;
    height: 16.19048px;
    margin: 0;
    border-width: 1px;
    border-style: solid;
    border-radius: 3px;
    line-height: 0;
    -webkit-transition: border-color 0.8s, background-color 0.8s, -webkit-box-shadow 0.8s;
    transition: border-color 0.8s, background-color 0.8s, -webkit-box-shadow 0.8s;
    transition: border-color 0.8s, box-shadow 0.8s, background-color 0.8s;
    transition: border-color 0.8s, box-shadow 0.8s, background-color 0.8s, -webkit-box-shadow 0.8s; }
    .vat-switcher-container .switch:hover, .header-toggle-switch-container .switch:hover {
      -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.1);
              box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.1);
      -webkit-transition: border-color 0.6s, background-color 0.6s, -webkit-box-shadow 0.6s;
      transition: border-color 0.6s, background-color 0.6s, -webkit-box-shadow 0.6s;
      transition: border-color 0.6s, box-shadow 0.6s, background-color 0.6s;
      transition: border-color 0.6s, box-shadow 0.6s, background-color 0.6s, -webkit-box-shadow 0.6s; }
  .vat-switcher-container .vat-switcher-paddle, .vat-switcher-container .header-toggle-switch-paddle, .header-toggle-switch-container .vat-switcher-paddle, .header-toggle-switch-container .header-toggle-switch-paddle {
    min-width: 14.78261px;
    height: 14.78261px;
    display: inline-block; }
    .vat-switcher-container .vat-switcher-paddle:before, .vat-switcher-container .header-toggle-switch-paddle:before, .header-toggle-switch-container .vat-switcher-paddle:before, .header-toggle-switch-container .header-toggle-switch-paddle:before {
      content: '';
      width: 8.09524px;
      height: 8.09524px;
      position: absolute;
      top: 0;
      bottom: 0;
      margin: auto;
      display: block;
      border-radius: 3px;
      -webkit-transition: all 0.8s;
      transition: all 0.8s; }
  .vat-switcher-container .switch-exc, .vat-switcher-container .switch-inc, .header-toggle-switch-container .switch-exc, .header-toggle-switch-container .switch-inc {
    position: relative;
    top: 0;
    bottom: 0;
    margin: auto;
    line-height: 2; }
  .vat-switcher-container .switch-exc, .header-toggle-switch-container .switch-exc {
    right: 7px; }
  .vat-switcher-container .switch-inc, .header-toggle-switch-container .switch-inc {
    left: 5px; }
  .vat-switcher-container .switch-input, .header-toggle-switch-container .switch-input {
    width: 100%;
    padding: 0;
    margin: 0; }
  .vat-switcher-container p, .header-toggle-switch-container p {
    margin: 0;
    color: #888888;
    font-size: 0.75rem;
    font-weight: 400; }
  .vat-switcher-container label, .header-toggle-switch-container label {
    cursor: pointer; }
    .vat-switcher-container label span, .header-toggle-switch-container label span {
      font-size: 0.75rem;
      font-weight: 400; }

/*
----- Footer -----
Handles the following: 
- Footer menu ( also refer to axis-menus.scss )
- Promotion area:
  - Social Icons
  - Mailing List
  - Cms entries
- Footer Banners ( Payment method logos )
- Copyright
- Google Tag Manager footer widget area
- Footer Modules ( also refer to modules.scss )
*/
footer .row-background:first-of-type {
  margin-top: 50px; }

footer .socialIcons, footer .social-icons {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: 0 0 20px;
  padding: 0 0 15px;
  border-bottom: 1px solid #aeaeae; }
  @media screen and (min-width: 81.25em) {
    footer .socialIcons, footer .social-icons {
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content;
      -webkit-box-align: start;
          -ms-flex-align: start;
              align-items: flex-start;
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start;
      margin: 0 0 20px;
      padding: 0 0 30px;
      border: 0; } }
  footer .socialIcons h3:not(:empty), footer .social-icons h3:not(:empty) {
    width: 100%;
    margin: 0 0 30px;
    color: #06052f;
    font-size: 1rem;
    font-weight: 400;
    text-transform: uppercase;
    line-height: 1; }
    @media screen and (min-width: 81.25em) {
      footer .socialIcons h3:not(:empty), footer .social-icons h3:not(:empty) {
        margin: 0 0 40px;
        text-align: left; } }
  footer .socialIcons a, footer .social-icons a {
    height: 45px;
    width: 45px;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    border-radius: 25px;
    background-color: #ffffff;
    border: 1px solid #ffffff;
    text-decoration: none;
    -webkit-transition: opacity 0.8s;
    transition: opacity 0.8s; }
    footer .socialIcons a:hover, footer .social-icons a:hover {
      background-color: #ae9461;
      border-color: #ae9461;
      opacity: 0.5;
      -webkit-transition: opacity 0.6s;
      transition: opacity 0.6s; }
    footer .socialIcons a:active, footer .social-icons a:active {
      background-color: #06052f;
      border-color: #06052f; }
  footer .socialIcons img, footer .social-icons img {
    max-width: 22.5px; }
  footer .socialIcons .icons-container, footer .social-icons .icons-container {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 8px; }
    @media screen and (min-width: 81.25em) {
      footer .socialIcons .icons-container, footer .social-icons .icons-container {
        -webkit-box-pack: start;
            -ms-flex-pack: start;
                justify-content: flex-start; } }

footer .cms-content-container {
  margin: 0;
  padding: 0; }
  @media screen and (min-width: 81.25em) {
    footer .cms-content-container {
      padding: 0; } }
  footer .cms-content-container p {
    color: #777777;
    font-size: 1rem;
    font-weight: 400;
    text-transform: uppercase; }

footer .footer-background .cms-content-container {
  text-align: left; }
  footer .footer-background .cms-content-container a {
    color: #06052f;
    font-size: 1rem; }
    footer .footer-background .cms-content-container a:hover {
      color: #ae9461; }
      footer .footer-background .cms-content-container a:hover:before {
        color: #777777; }
    footer .footer-background .cms-content-container a:active {
      color: #888888; }
      footer .footer-background .cms-content-container a:active:before {
        color: #f3f3f3; }
    footer .footer-background .cms-content-container a.show-contact-icon:before {
      color: #06052f;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
    footer .footer-background .cms-content-container a.show-contact-icon:hover:before {
      color: #777777;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }
    footer .footer-background .cms-content-container a.show-contact-icon:active:before {
      color: #f3f3f3; }

.footer-grid-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin: auto; }
  @media screen and (min-width: 81.25em) {
    .footer-grid-container {
      max-width: 1300px;
      width: 100%;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row; } }

.footer-content-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1; }
  @media screen and (min-width: 81.25em) {
    .footer-content-container {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row; } }

.footer-banner-series-container {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  .footer-banner-series-container.content-header .footer-banner-series {
    max-width: 1300px;
    margin: 0; }
    @media screen and (min-width: 81.25em) {
      .footer-banner-series-container.content-header .footer-banner-series {
        margin: 0 auto 0; } }
  .footer-banner-series-container.payment-methods {
    margin: 20px 0 25px; }
    @media screen and (min-width: 81.25em) {
      .footer-banner-series-container.payment-methods {
        margin: 60px 0 25px; } }
    @media screen and (min-width: 81.25em) {
      .footer-banner-series-container.payment-methods .footer-banner-series .image {
        -ms-flex-preferred-size: fit-content;
            flex-basis: fit-content; } }
  .footer-banner-series-container + .footer-background {
    margin-top: 0; }
  .footer-banner-series-container .footer-banner-series {
    --media-aspect-ratio: var(--media-width, auto)/var(--media-height, auto);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 10px;
    margin: 0; }
    @media screen and (min-width: 81.25em) {
      .footer-banner-series-container .footer-banner-series {
        gap: 0 24.5px;
        margin: auto; } }
    .footer-banner-series-container .footer-banner-series a {
      -webkit-transition: opacity 0.8s;
      transition: opacity 0.8s; }
      .footer-banner-series-container .footer-banner-series a:hover {
        opacity: .6;
        -webkit-transition: opacity 0.6s;
        transition: opacity 0.6s; }
    .footer-banner-series-container .footer-banner-series .image {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center; }
      .footer-banner-series-container .footer-banner-series .image img {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
        height: -webkit-fit-content;
        height: -moz-fit-content;
        height: fit-content; }

.copyright-outer-container {
  padding: 0;
  background-color: #eeeeee; }
  .copyright-outer-container .copyright-inner-container {
    position: relative;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    margin: 0 auto 0;
    text-align: center; }
    @media screen and (min-width: 81.25em) {
      .copyright-outer-container .copyright-inner-container {
        margin: 35px auto 0;
        text-align: center; } }
    .copyright-outer-container .copyright-inner-container p {
      margin: 0;
      font-size: 0.875rem;
      font-weight: 300;
      color: #06052f;
      text-transform: uppercase;
      line-height: 25px; }
    .copyright-outer-container .copyright-inner-container a {
      font-size: 0.875rem;
      font-weight: 300;
      color: #06052f;
      text-decoration: none;
      text-transform: uppercase;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }
      .copyright-outer-container .copyright-inner-container a:hover {
        color: #ae9461;
        text-decoration: underline;
        -webkit-transition: color 0.8s;
        transition: color 0.8s; }
      .copyright-outer-container .copyright-inner-container a:active {
        color: #000000;
        -webkit-transition: color 0.8s;
        transition: color 0.8s; }

@media screen and (min-width: 81.25em) {
  .footer-navigation > ul.menu {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap; } }

.footer-navigation > ul.menu > li.is-accordion-submenu-parent > a:after {
  color: #06052f; }

.footer-navigation > ul.menu > li {
  margin: 0; }
  .footer-navigation > ul.menu > li:first-child p, .footer-navigation > ul.menu > li:first-child a {
    padding-left: 0; }
  .footer-navigation > ul.menu > li:last-child p, .footer-navigation > ul.menu > li:last-child a {
    padding-right: 0; }
  .footer-navigation > ul.menu > li:hover {
    background-color: transparent; }
    .footer-navigation > ul.menu > li:hover > a {
      color: #06052f; }
      .footer-navigation > ul.menu > li:hover > a:not([href]) {
        cursor: default; }
  @media screen and (min-width: 81.25em) {
    .footer-navigation > ul.menu > li {
      width: 230px;
      height: -webkit-fit-content;
      height: -moz-fit-content;
      height: fit-content;
      margin: 0;
      padding: 0;
      border: 0; } }
  .footer-navigation > ul.menu > li > a, .footer-navigation > ul.menu > li > p {
    display: block;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    margin: 0;
    padding: 20px 0;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    cursor: pointer;
    color: #06052f;
    font-size: 1rem;
    font-weight: 400;
    font-family: "Gibson", "Gibson Fallback", "Arial";
    text-transform: uppercase;
    line-height: 1; }
    @media screen and (min-width: 81.25em) {
      .footer-navigation > ul.menu > li > a, .footer-navigation > ul.menu > li > p {
        padding: 0; } }
    .footer-navigation > ul.menu > li > a[href]:hover, .footer-navigation > ul.menu > li > p[href]:hover {
      color: #ae9461; }
    .footer-navigation > ul.menu > li > a[href]:active, .footer-navigation > ul.menu > li > p[href]:active {
      color: #06052f; }
  @media screen and (min-width: 81.25em) {
    .footer-navigation > ul.menu > li > p {
      cursor: default; } }
  .footer-navigation > ul.menu > li > ul {
    width: 100%;
    padding: 0;
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
    background-color: transparent; }
    @media screen and (min-width: 81.25em) {
      .footer-navigation > ul.menu > li > ul {
        margin-top: 40px; } }
    .footer-navigation > ul.menu > li > ul > li {
      padding: 0 0 10.5px; }
      @media screen and (min-width: 81.25em) {
        .footer-navigation > ul.menu > li > ul > li {
          padding: 0 0 21px; } }
      .footer-navigation > ul.menu > li > ul > li:first-child {
        padding-top: 10.5px; }
        @media screen and (min-width: 81.25em) {
          .footer-navigation > ul.menu > li > ul > li:first-child {
            padding-top: 0; } }
      @media screen and (min-width: 81.25em) {
        .footer-navigation > ul.menu > li > ul > li:last-child {
          padding-bottom: 0; } }
      .footer-navigation > ul.menu > li > ul > li > a {
        padding: 0;
        color: #777777;
        font-size: 1rem;
        font-weight: 400;
        line-height: 1;
        text-transform: uppercase;
        -webkit-transition: color 0.8s, opacity 0.8s;
        transition: color 0.8s, opacity 0.8s; }
        .footer-navigation > ul.menu > li > ul > li > a:hover {
          color: #ae9461;
          text-decoration: underline;
          opacity: 0.5;
          -webkit-transition: color 0.6s, opacity 0.6s;
          transition: color 0.6s, opacity 0.6s; }
        .footer-navigation > ul.menu > li > ul > li > a:active {
          color: #000000;
          -webkit-transition: color 0.6s;
          transition: color 0.6s; }

.footer-navigation > ul.menu .link-description {
  display: inline-block;
  text-decoration: inherit; }

.footer-navigation.main-menu {
  width: 100%;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  list-style: none;
  padding: 0;
  margin: 0 0 20px;
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1; }
  @media screen and (min-width: 81.25em) {
    .footer-navigation.main-menu {
      width: auto;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      -webkit-box-flex: 1;
          -ms-flex-positive: 1;
              flex-grow: 1;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      margin: 0;
      -webkit-box-ordinal-group: 2;
          -ms-flex-order: 1;
              order: 1; } }

.footer-navigation .menu .is-submenu-item a {
  padding: 0; }

.footer-navigation ul > li.is-accordion-submenu-parent > a:hover {
  color: #ae9461; }

.footer-navigation ul > li.is-accordion-submenu-parent > a:active {
  color: #06052f; }

.footer-cms-content-container {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  -webkit-box-ordinal-group: 4;
      -ms-flex-order: 3;
          order: 3; }
  .footer-cms-content-container .cms-content-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 20px; }
    @media screen and (min-width: 81.25em) {
      .footer-cms-content-container .cms-content-container {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row;
        gap: 30px; } }
    .footer-cms-content-container .cms-content-container h2 {
      margin: 0 0 40px;
      color: #06052f;
      font-size: 16;
      font-weight: 400; }
    .footer-cms-content-container .cms-content-container h3 {
      padding: 0;
      margin: 0 0 15px;
      color: #06052f;
      font-size: 1rem;
      font-weight: 400; }
    .footer-cms-content-container .cms-content-container table {
      color: #000000; }
      @media print, screen and (max-width: 81.24875em) {
        .footer-cms-content-container .cms-content-container table td:not(:first-child) {
          padding-left: 15px; } }
      @media screen and (min-width: 81.25em) {
        .footer-cms-content-container .cms-content-container table td {
          padding: 0; } }
    .footer-cms-content-container .cms-content-container > div {
      -webkit-box-flex: 1;
          -ms-flex-positive: 1;
              flex-grow: 1; }

.footer-promotions {
  max-width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin: 0;
  padding: 0;
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2; }
  @media screen and (min-width: 81.25em) {
    .footer-promotions {
      max-width: 50%;
      margin: 0;
      padding: 0; } }
  .footer-promotions + .footer-navigation {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start; }
    .footer-promotions + .footer-navigation .menu {
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start; }
  .footer-promotions .mailing-list-container, .footer-promotions .footer-mailing-list-reveal-container {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1; }
  .footer-promotions .socialIcons, .footer-promotions .social-icons {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2; }
  .footer-promotions .cms-content-container {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3; }

.footer-promotion-heading h3 {
  margin: 0 0 15px;
  color: #06052f;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1;
  text-transform: uppercase; }
  @media screen and (min-width: 81.25em) {
    .footer-promotion-heading h3 {
      margin: 0 0 40px; } }

.footer-logo-container {
  width: 50%;
  margin: 0 0 20px; }
  @media print, screen and (min-width: 40em) {
    .footer-logo-container {
      width: 40%; } }
  @media screen and (min-width: 81.25em) {
    .footer-logo-container {
      margin: 0 0 30px; } }

.footer-contact-details {
  margin: 0 0 10px; }
  @media screen and (min-width: 81.25em) {
    .footer-contact-details {
      margin: 0 0 25px; } }
  .footer-contact-details ul.menu {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column; }
    .footer-contact-details ul.menu > li {
      margin: 0 0 10px; }
      .footer-contact-details ul.menu > li:hover {
        background-color: transparent; }
      @media screen and (min-width: 81.25em) {
        .footer-contact-details ul.menu > li {
          margin: 0 0 15px; } }
      .footer-contact-details ul.menu > li > a {
        padding: 20px 0;
        color: #ae9461;
        font-size: 1rem; }
        @media screen and (min-width: 81.25em) {
          .footer-contact-details ul.menu > li > a {
            padding: 0; } }
        .footer-contact-details ul.menu > li > a:hover {
          color: #06052f; }
        .footer-contact-details ul.menu > li > a:active {
          color: #ffffff; }

.footer-reveal-button {
  width: 100%;
  display: block;
  padding: 15px 30px;
  background-color: #06052f;
  color: #ffffff;
  text-align: center;
  font-size: 1.125rem;
  font-weight: 700;
  border-radius: 0;
  -webkit-transition: background-color 0.8s, color 0.8s;
  transition: background-color 0.8s, color 0.8s; }
  @media print, screen and (min-width: 40em) {
    .footer-reveal-button {
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content; } }
  .footer-reveal-button:hover {
    background-color: #ae9461;
    -webkit-transition: background-color 0.6s;
    transition: background-color 0.6s; }
  .footer-reveal-button:active {
    background-color: #06052f; }

.footer-mailing-list-reveal-container.active .footer-reveal-button {
  display: none; }

.footer-mailing-list-reveal-container.active .mailing-list-container {
  display: block; }
  @media screen and (min-width: 81.25em) {
    .footer-mailing-list-reveal-container.active .mailing-list-container {
      max-width: 400px; } }

.footer-mailing-list-reveal-container .mailing-list-container {
  display: none; }

.footer-mailing-list-link {
  --component-specifc-step-height: 15px;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  margin: var(--common-button-small-margin, 0);
  padding: var(--common-button-padding, 10px 15px);
  color: #ffffff;
  background-color: #06052f;
  border-width: 2px;
  font-size: 1rem;
  font-weight: 400;
  text-align: center;
  border-style: solid;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: 0.6px;
  word-spacing: 2px;
  border-color: #06052f;
  text-decoration: none;
  line-height: 1;
  border-radius: 0 !important;
  overflow: hidden;
  -webkit-transition: all 0.8s;
  transition: all 0.8s;
  /*
        --- Icon configuration ---
        - $icposition => Before or after text
        - margin => icon margin
        - colour => icon colour states ( default, hover & active )
        - size => icon size.
        - content => the font icon itself, normally stored in $site-icons
        - font-family => the font family that the icon belongs to font awesome or fontello.
        */ }
  @media screen and (min-width: 81.25em) {
    .footer-mailing-list-link {
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content;
      margin: var(--common-button-large-margin, 0); } }
  @media (hover: hover) {
    .footer-mailing-list-link:hover, .footer-mailing-list-link.hover {
      color: #ffffff;
      background-color: #ae9461;
      border-color: #ae9461;
      text-decoration: none;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
      .footer-mailing-list-link:hover:after, .footer-mailing-list-link.hover:after {
        color: #ffffff;
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
      .footer-mailing-list-link:hover .graduated-colour-edge .step, .footer-mailing-list-link.hover .graduated-colour-edge .step {
        background-color: #ffffff;
        -webkit-transition: background-color 0.6s;
        transition: background-color 0.6s; } }
  .footer-mailing-list-link:active, .footer-mailing-list-link.active {
    color: #ffffff;
    background-color: #06052f;
    border-color: #06052f;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
    .footer-mailing-list-link:active:after, .footer-mailing-list-link.active:after {
      color: #ffffff; }
  .footer-mailing-list-link:disabled, .footer-mailing-list-link.disabled, .footer-mailing-list-link[disabled] {
    color: #929292;
    background-color: #ffffff;
    border-color: rgba(200, 200, 200, 0.7);
    cursor: not-allowed; }
    .footer-mailing-list-link:disabled:after, .footer-mailing-list-link.disabled:after, .footer-mailing-list-link[disabled]:after {
      color: #929292; }
  .footer-mailing-list-link:disabled:hover, .footer-mailing-list-link.disabled:hover {
    border-color: rgba(200, 200, 200, 0.7); }
  .footer-mailing-list-link:focus-visible {
    outline: none;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
  .footer-mailing-list-link:after {
    content: "";
    margin: 0 0 0 10px;
    font-family: "Font Awesome Solid";
    font-size: 16px;
    color: #ffffff;
    -webkit-transition: color 0.8s;
    transition: color 0.8s; }
  .footer-mailing-list-link .graduated-colour-edge .step {
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }

.mailing-list-container {
  margin: 0 0 20px; }
  @media screen and (min-width: 81.25em) {
    .mailing-list-container {
      margin: 0 0 55px; } }
  .mailing-list-container h3 {
    margin: 0 0 15px;
    color: #06052f;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1;
    text-transform: uppercase; }
    @media screen and (min-width: 81.25em) {
      .mailing-list-container h3 {
        margin: 0 0 40px; } }
  .mailing-list-container p {
    color: #777777;
    margin: 0;
    padding-bottom: 10.5px;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.6;
    text-transform: uppercase; }
    @media screen and (min-width: 81.25em) {
      .mailing-list-container p {
        padding-bottom: 21px; } }
  .mailing-list-container span.mail-input {
    width: 100%;
    display: block;
    padding: 10px 0;
    text-align: center;
    border: 1px solid #dadada; }
  .mailing-list-container form {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    background-color: #eeeeee; }
    @media print, screen and (max-width: 39.99875em) {
      .mailing-list-container form input {
        border-top-right-radius: 0;
        border-bottom-right-radius: 0; }
        .mailing-list-container form input + button {
          border-top-left-radius: 0;
          border-bottom-left-radius: 0; } }
  .mailing-list-container fieldset {
    margin: 0;
    padding: 0; }
  .mailing-list-container .form-error {
    margin: 0;
    padding: 10px 0 0;
    text-align: left; }

.footerOuterContainer, .footer-background {
  margin-top: 25px;
  padding: 20px 10px;
  background-color: #eeeeee; }
  @media print, screen and (min-width: 40em) {
    .footerOuterContainer, .footer-background {
      padding: 65px 10px 20px; } }
  @media screen and (min-width: 100em) {
    .footerOuterContainer, .footer-background {
      padding: 65px 0 20px; } }
  .footerOuterContainer #footer-inner-container, .footer-background #footer-inner-container {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column; }
    @media screen and (min-width: 81.25em) {
      .footerOuterContainer #footer-inner-container, .footer-background #footer-inner-container {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row; } }

/*
----- AJAX -----
Handles the following: 
- AJAX Spinner
- Callback containers
- Update Content - Basically a container inside of the ajax response that allows you to update content outside of the callback container.
*/
.callbackContainer {
  width: 100%;
  position: relative;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1; }
  .callbackContainer:has(.AJAXBlock) {
    min-height: 50px; }

.callbackListContainer {
  position: relative; }

.AJAXBlock, .initialising-content-blocker-container {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: rgba(238, 238, 238, 0.6);
  cursor: no-drop;
  z-index: 10000; }
  .AJAXBlock .spinner, .initialising-content-blocker-container .spinner {
    width: 50px;
    height: 50px;
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg); }
    .AJAXBlock .spinner:before, .initialising-content-blocker-container .spinner:before {
      content: "";
      width: 42px;
      height: 42px;
      position: absolute;
      top: 0;
      right: 0;
      left: 0;
      bottom: 0;
      margin: auto;
      display: block;
      border: 4px solid rgba(6, 5, 47, 0.2);
      border-top: 4px solid #06052f;
      border-radius: 50%;
      -webkit-transition: all .2s ease 0s;
      transition: all .2s ease 0s;
      -webkit-animation: spin 0.7s cubic-bezier(0.56, 0.11, 0.22, 0.865) 0s infinite;
              animation: spin 0.7s cubic-bezier(0.56, 0.11, 0.22, 0.865) 0s infinite;
      z-index: 1; }

@-webkit-keyframes spin {
  from {
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg); }
  to {
    -webkit-transform: rotate(405deg);
            transform: rotate(405deg); } }

@keyframes spin {
  from {
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg); }
  to {
    -webkit-transform: rotate(405deg);
            transform: rotate(405deg); } }
    .AJAXBlock .spinner + .cms-content-container, .initialising-content-blocker-container .spinner + .cms-content-container {
      margin: 10px 0 0; }
  .AJAXBlock .cms-content-container p, .initialising-content-blocker-container .cms-content-container p {
    color: #777777;
    font-weight: 600; }

[data-update-content], [data-ajax-update-breadcrumbs] {
  display: none; }

/*
----- Filters ------ 
- These a typically on list pages for products.
- Attribute filters that also include colour filters and price slider.
- You will also find the mobile styles here for filters.
*/
#mobileToggleContainer {
  width: 100%; }
  #mobileToggleContainer ul {
    padding: 0;
    margin: 0;
    list-style: none; }

#filters-toggle, .filter-toggle {
  width: 100%;
  position: relative;
  display: block;
  padding: 20px 0;
  background-color: #06052f;
  text-align: center;
  color: #06052f;
  font-weight: 700;
  font-size: 1rem;
  font-family: "Gibson", "Gibson Fallback", "Arial";
  cursor: pointer;
  -webkit-transition: background-color 0.8s, color 0.8s;
  transition: background-color 0.8s, color 0.8s; }
  @media screen and (min-width: 81.25em) {
    #filters-toggle, .filter-toggle {
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content;
      background-color: transparent;
      color: var(--primary-colour-lightness-0);
      font-size: 0.875rem;
      font-weight: 400; }
      #filters-toggle:hover, .filter-toggle:hover {
        color: #ae9461;
        text-decoration: underline;
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
        #filters-toggle:hover:before, .filter-toggle:hover:before {
          color: #06052f;
          -webkit-transition: color 0.6s;
          transition: color 0.6s; } }
  #filters-toggle:not(.is-stuck), .filter-toggle:not(.is-stuck) {
    top: auto !important; }
  #filters-toggle.is-stuck, .filter-toggle.is-stuck {
    max-width: 100% !important;
    position: fixed;
    left: 0;
    padding: 10px 0;
    background-color: #06052f;
    color: #ffffff;
    -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.1);
            box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.1);
    -webkit-transition: max-height 4s;
    transition: max-height 4s;
    z-index: 1000; }
    #filters-toggle.is-stuck:before, .filter-toggle.is-stuck:before {
      color: #ffffff; }
  #filters-toggle:before, .filter-toggle:before {
    content: "";
    display: inline-block;
    margin-right: 10px;
    font-family: "Font Awesome Solid";
    font-size: 16px;
    color: #06052f; }
    @media screen and (min-width: 81.25em) {
      #filters-toggle:before, .filter-toggle:before {
        font-size: 15px; } }
  #filters-toggle:hover, .filter-toggle:hover {
    opacity: 1; }
  #filters-toggle .active-filter-count, .filter-toggle .active-filter-count {
    margin-right: 3px; }
    @media screen and (min-width: 81.25em) {
      #filters-toggle .active-filter-count, .filter-toggle .active-filter-count {
        width: 15px;
        height: 15px;
        position: absolute;
        top: 12px;
        left: 12px;
        display: inline-block;
        margin-right: 0;
        background-color: #ae9461;
        color: #ffffff;
        font-size: 0.5625rem;
        line-height: 14.2px;
        text-align: center;
        border-radius: 25px;
        border: 0.8px solid #ffffff; } }

.filters-header {
  position: relative;
  background-color: #06052f; }
  @media screen and (min-width: 81.25em) {
    .filters-header {
      background-color: transparent; } }
  .filters-header .close-button {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    top: 0;
    bottom: 0; }
    .filters-header .close-button:before {
      content: "";
      font-family: "Font Awesome Solid";
      font-size: 24px;
      color: rgba(6, 5, 47, 0.8);
      -webkit-transition: color 0.8s, -webkit-transform 0.6s;
      transition: color 0.8s, -webkit-transform 0.6s;
      transition: transform 0.6s, color 0.8s;
      transition: transform 0.6s, color 0.8s, -webkit-transform 0.6s; }
    .filters-header .close-button:hover:before {
      color: #ae9461;
      -webkit-transform: rotate(90deg);
              transform: rotate(90deg);
      -webkit-transition: color 0.6s, -webkit-transform 0.6s;
      transition: color 0.6s, -webkit-transform 0.6s;
      transition: transform 0.6s, color 0.6s;
      transition: transform 0.6s, color 0.6s, -webkit-transform 0.6s; }
    .filters-header .close-button:active:before {
      color: #06052f;
      -webkit-transition: font-size 1.2s, color 0.6s;
      transition: font-size 1.2s, color 0.6s; }

@media screen and (min-width: 81.25em) {
  .filters-footer {
    display: none; } }

.filters-footer .button-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end; }
  .filters-footer .button-container button {
    width: 100%;
    margin: 0; }
    @media print, screen and (min-width: 40em) {
      .filters-footer .button-container button {
        width: auto; } }

#filterBackToList {
  position: relative; }
  #filterBackToList .close-button {
    width: 100%;
    position: relative;
    top: auto;
    right: auto;
    display: block;
    padding: 10px 0;
    background-color: rgba(6, 5, 47, 0.4);
    color: #000000;
    font-size: 1.125rem;
    text-align: center;
    line-height: inherit; }

.attributeList.menu > ul > li:not(.active) .attributesContainer {
  height: 0; }

.attributeList.menu > li {
  margin: 0 0 20px;
  padding: 0 0 15px;
  border-bottom: 1px solid #aeaeae; }
  @media screen and (min-width: 81.25em) {
    .attributeList.menu > li {
      margin: 0 0 25px; } }
  .attributeList.menu > li:first-child {
    padding-top: 15px; }
  .attributeList.menu > li li {
    border-bottom: 0; }

.attributeList.menu ul {
  list-style: none;
  border-top: 0; }
  .attributeList.menu ul:first-child {
    margin: 0;
    padding: 0; }
  .attributeList.menu ul li {
    padding: 5px 0;
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }
    @media screen and (min-width: 81.25em) {
      .attributeList.menu ul li:hover {
        background-color: #f3f3f3;
        -webkit-transition: background-color 0.6s;
        transition: background-color 0.6s; } }
  .attributeList.menu ul li.active a {
    padding: 0;
    background-color: transparent;
    color: #000000;
    font-size: 1rem; }
  .attributeList.menu ul li.active ul {
    max-height: 5000px;
    margin: 0;
    -webkit-transition: max-height 0.6s;
    transition: max-height 0.6s; }
  .attributeList.menu ul ul {
    padding: 0;
    overflow: hidden;
    -webkit-transition: max-height 0.8s;
    transition: max-height 0.8s; }
    .attributeList.menu ul ul li {
      position: relative; }
      .attributeList.menu ul ul li:hover .filterName, .attributeList.menu ul ul li:hover .filterItemCount {
        text-decoration: underline;
        color: #06052f;
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
      .attributeList.menu ul ul li:hover .colourPreview {
        max-width: 12px;
        height: 12px;
        border-radius: 5px;
        -webkit-transition: all 0.6s;
        transition: all 0.6s; }
  .attributeList.menu ul label {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    font-size: 1rem;
    color: #000000; }
    .attributeList.menu ul label:hover {
      color: #ae9461; }
    .attributeList.menu ul label:active {
      color: #000000; }
  .attributeList.menu ul .filterName {
    overflow-wrap: break-word; }
  .attributeList.menu ul .colour-preview-container {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3; }
  .attributeList.menu ul .colourPreview {
    width: 10px;
    height: 10px;
    display: block;
    margin: 0 10px 0 auto;
    border-radius: 5px;
    border: 1px solid transparent;
    -webkit-transition: all 0.8s;
    transition: all 0.8s; }
  .attributeList.menu ul .filterItemCount {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    margin: 0 0 0 5px;
    font-size: 1rem;
    text-align: right; }
  .attributeList.menu ul .control .checkbox {
    margin-right: 12px;
    margin-left: auto;
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4; }
    .attributeList.menu ul .control .checkbox span:before {
      right: 0; }

.attributeList.menu .is-accordion-submenu-parent.is-submenu-item[aria-expanded=true] > a {
  display: none; }

.attributeList.menu .is-accordion-submenu-parent.is-submenu-item.active {
  padding: 0; }

.attributeList.menu .is-accordion-submenu[aria-hidden=true] {
  height: 0;
  -webkit-transition: height 0.8s;
  transition: height 0.8s; }

.attributeList.menu .is-accordion-submenu.scroller {
  overflow-y: auto;
  padding: 0 10px 0 0; }
  .attributeList.menu .is-accordion-submenu.scroller ul {
    display: block !important; }

.attributeList.menu .optionHeading {
  position: relative;
  padding: 0;
  display: block;
  padding-bottom: 10px;
  color: #06052f;
  cursor: pointer;
  font-size: 1.0625rem;
  font-weight: 600; }
  .attributeList.menu .optionHeading:hover {
    color: #ae9461; }
  .attributeList.menu .optionHeading:active {
    color: #000000; }
  .attributeList.menu .optionHeading span {
    display: inline-block; }

.attributeList.menu .submenu {
  padding: 0; }

.attributeList.menu .showMoreAttributes > a, .attributeList.menu .showLessAttributes > a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 10px;
  color: #000000;
  font-weight: 600;
  font-style: italic; }
  .attributeList.menu .showMoreAttributes > a:hover, .attributeList.menu .showLessAttributes > a:hover {
    color: #06052f; }
  .attributeList.menu .showMoreAttributes > a:active, .attributeList.menu .showLessAttributes > a:active {
    color: #06052f; }

.showMoreAttributes.active a {
  font-size: 1rem;
  color: #06052f;
  -webkit-transition: color 0.8s;
  transition: color 0.8s; }
  .showMoreAttributes.active a:hover {
    color: #ae9461;
    -webkit-transition: color 0.6s;
    transition: color 0.6s; }

.accordion-menu .is-accordion-submenu .showLessAttributes a {
  padding: 0; }

.showLessAttributes a {
  color: #000000;
  cursor: pointer; }
  .showLessAttributes a:before {
    content: "";
    color: #ae9461;
    font-size: 8px;
    font-family: "fontello-djmiles";
    font-style: normal;
    -webkit-transition: color 0.6s;
    transition: color 0.6s; }
  .showLessAttributes a:hover {
    color: #06052f; }
    .showLessAttributes a:hover:before {
      color: #06052f;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }
  .showLessAttributes a:active {
    color: #06052f; }
    .showLessAttributes a:active:before {
      color: #06052f;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }

#filters-container {
  display: block; }

#attribute-filters-form {
  width: 0;
  height: 0;
  overflow: hidden;
  background-color: #ffffff; }
  @media screen and (min-width: 81.25em) {
    #attribute-filters-form {
      width: auto;
      height: auto;
      background-color: transparent;
      overflow: visible; } }
  @media print, screen and (max-width: 99.99875em) {
    #attribute-filters-form.active {
      overflow-y: scroll; } }
  @media print, screen and (max-width: 99.99875em) {
    #attribute-filters-form.active-updating {
      overflow: hidden; }
      #attribute-filters-form.active-updating #filters-container {
        opacity: 0.3; } }
  @media print, screen and (max-width: 99.99875em) {
    #attribute-filters-form.active, #attribute-filters-form.active-updating {
      width: 100vw;
      min-height: 100%;
      padding: 10px;
      position: fixed;
      top: 0;
      left: 0;
      z-index: 10000; }
      #attribute-filters-form.active .attribute-list-container, #attribute-filters-form.active-updating .attribute-list-container {
        height: 100vh;
        overflow: scroll; } }
  #attribute-filters-form h2 {
    padding: 10px 5px;
    color: #06052f;
    font-size: 1.25rem;
    font-weight: 600;
    border-bottom: 1px solid transparent; }
    @media screen and (min-width: 81.25em) {
      #attribute-filters-form h2 {
        padding: 0 0 5px;
        border-color: #aeaeae; } }
  #attribute-filters-form ul li {
    margin-left: 0; }
    #attribute-filters-form ul li:active, #attribute-filters-form ul li:hover {
      background-color: transparent; }
    #attribute-filters-form ul li:active a {
      color: #777777; }
  #attribute-filters-form .showMoreAttributesContainer {
    padding-left: 0; }
    #attribute-filters-form .showMoreAttributesContainer li {
      padding-left: 0; }

@media screen and (min-width: 81.25em) {
  #appliedFilters {
    margin-bottom: 35px; } }

#appliedFilters h3 {
  margin: 0;
  padding: 10px 0;
  color: #06052f;
  background-color: transparent;
  font-weight: 700;
  font-size: 1.0625rem;
  font-style: italic; }

#appliedFilters ul {
  margin: 0;
  padding: 0;
  list-style: none;
  border-bottom: 1px solid #aeaeae; }

#appliedFilters li {
  position: relative;
  margin: 5px 0 0; }
  #appliedFilters li:hover a {
    background-color: #f3f3f3;
    -webkit-transition: background-color 0.6s;
    transition: background-color 0.6s; }
    #appliedFilters li:hover a:after {
      color: #ae9461;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }

#appliedFilters a {
  display: block;
  padding: 5px 0 5px 0;
  color: #000000;
  font-size: 1rem;
  font-weight: 400; }
  #appliedFilters a:after {
    content: 'x';
    width: 10px;
    height: 10px;
    position: absolute;
    top: 0;
    right: 5px;
    bottom: 0;
    display: block;
    margin: auto;
    line-height: 0.6;
    color: #888888;
    font-weight: 700;
    font-style: normal;
    font-size: 1.125rem;
    -webkit-transition: all 0.8s;
    transition: all 0.8s; }
  #appliedFilters a:hover:after {
    font-size: 1.25rem;
    color: #ae9461;
    -webkit-transition: background-color 0.6s;
    transition: background-color 0.6s; }
  #appliedFilters a.clear-all-attributes {
    margin: 30px 0 20px;
    font-size: 1rem;
    font-style: italic;
    font-weight: 600;
    color: #000000; }

input.price-slider-input {
  border-radius: 0 0 0 0; }

.price-slider-input {
  max-width: 70px;
  max-height: 35px;
  padding: 0 !important;
  border-width: 1px 1px 1px 0 !important;
  pointer-events: none; }
  .price-slider-input.ui-state-active {
    border-color: #ae9461;
    -webkit-transition: border-color 0.6s;
    transition: border-color 0.6s; }
  .price-slider-input.ui-state-active + .currency {
    border-color: #ae9461;
    -webkit-transition: border-color 0.6s;
    transition: border-color 0.6s; }
  .price-slider-input + .currency {
    height: 35px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 0 0 0 10px;
    background-color: #ffffff;
    border-color: #c8c8c8;
    border-style: solid;
    border-width: 1px 0 1px 1px;
    border-radius: 0 0 0 0; }
  .price-slider-input:focus + .currency {
    border-color: transparent;
    -webkit-box-shadow: -15px -3px 20px 4px rgba(12, 12, 13, 0.1);
            box-shadow: -15px -3px 20px 4px rgba(12, 12, 13, 0.1);
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
  .price-slider-input:-moz-read-only {
    background-color: transparent; }
  .price-slider-input:read-only {
    background-color: transparent; }

.price-input-container {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  .price-input-container:nth-of-type(2) {
    float: right; }

#price-slider {
  max-width: 96%;
  margin-top: 25px; }
  @media screen and (min-width: 81.25em) {
    #price-slider {
      max-width: 93%; } }

#priceAttHigh {
  float: right; }

/*
----- Modals ------ 
- This is the mechanism that gets used for popup content in express.
- Can be used to pop form, cms content, notification & payment frames.
*/
.modal-container {
  width: 0;
  height: 0;
  overflow: hidden; }
  @media print, screen and (min-width: 40em) {
    .modal-container {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center; } }
  .modal-container .popup-background {
    display: none; }
  .modal-container .content-container {
    max-width: 1150px;
    width: 100%;
    max-height: 100%;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 10px;
    background-color: #ffffff;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
    overflow-y: auto;
    border-radius: 0; }
    @media screen and (min-width: 81.25em) {
      .modal-container .content-container {
        overflow: hidden; } }
  .modal-container .content {
    width: 100%;
    margin: auto;
    padding-right: 10px; }
    @media screen and (min-width: 81.25em) {
      .modal-container .content {
        margin-bottom: 10px;
        overflow-y: auto; } }
  .modal-container .buttons-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column; }
    @media screen and (min-width: 81.25em) {
      .modal-container .buttons-container {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row;
        -webkit-box-pack: space-evenly;
            -ms-flex-pack: space-evenly;
                justify-content: space-evenly; } }
  .modal-container .prompt-button-container {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
    @media screen and (min-width: 81.25em) {
      .modal-container .prompt-button-container {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row; } }
  .modal-container .page-buttons-container {
    margin: 15px auto 30px; }
  .modal-container.active {
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    padding: 10px;
    overflow-y: auto;
    z-index: 2001; }
    .modal-container.active .popup-background {
      display: block; }
  .modal-container.ajax .content-container {
    padding: 5px; }
    @media screen and (min-width: 81.25em) {
      .modal-container.ajax .content-container {
        padding: 10px; } }
  .modal-container.dropped-session .content-container {
    max-width: calc(var(--contained-content-max-width) + 100px); }
  .modal-container.cms-entry-viewer .cms-content-container {
    max-width: 850px;
    padding-top: 15px;
    padding-bottom: 15px;
    border: 1px solid #aeaeae; }
  .modal-container.site-list.publish-history .content {
    width: 90%; }
  .modal-container.site-list.site-information .content {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content; }
  .modal-container.documentation {
    --ck-color-base-border: $colour3; }
    .modal-container.documentation.entry-editor .content-container {
      max-width: 98%;
      height: 100%;
      overflow: unset; }
    .modal-container.documentation.entry-editor .documentation-content-container {
      max-width: unset; }
    @media screen and (min-width: 81.25em) {
      .modal-container.documentation.entry-editor .modal-header:has(.cms-content-container) ~ .content {
        width: calc(100% - 60px); } }
    .modal-container.documentation.entry-editor .content {
      width: 100%;
      height: 100%;
      margin-top: 0;
      padding-right: 0;
      overflow: unset; }
    .modal-container.documentation.entry-editor .ck-editor__main > div {
      height: var(--editor-height); }
    .modal-container.documentation.insert-article .ck-editor .ck-content, .modal-container.documentation.insert .ck-editor .ck-content, .modal-container.documentation.property-editor .ck-editor .ck-content {
      height: 30vh; }
    .modal-container.documentation .rich-text-editor-container {
      width: 100%;
      border: 1px solid #eeeeee; }
  .modal-container.media-browser .media-browser-container {
    margin: 0 10px;
    padding: 10px;
    border: 1px solid #dadada; }
  .modal-container.software-download .software-instructions-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin: 0 0 40px; }
    .modal-container.software-download .software-instructions-container .revision-text {
      margin: 10px 0 0 auto;
      font-size: 0.8125rem;
      font-style: italic; }
    .modal-container.software-download .software-instructions-container .cms-content-container {
      max-height: 40vh;
      overflow-y: scroll; }
      .modal-container.software-download .software-instructions-container .cms-content-container p, .modal-container.software-download .software-instructions-container .cms-content-container li {
        margin-left: 0 !important; }
  .modal-container.software-download .software-update-available-downloads {
    margin: 20px 0; }
    .modal-container.software-download .software-update-available-downloads ul {
      display: grid;
      grid-template-columns: 1fr;
      gap: 10px 20px;
      margin: 0;
      padding: 0;
      list-style: none; }
      @media screen and (min-width: 81.25em) {
        .modal-container.software-download .software-update-available-downloads ul {
          grid-template-columns: 1fr 1fr; } }
      .modal-container.software-download .software-update-available-downloads ul .software-download-button {
        width: 100%;
        display: grid;
        grid-template-columns: 60px 1fr 30px;
        gap: 20px;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        padding: 20px;
        border: 1px solid #eeeeee;
        -webkit-transition: background-color 0.8s;
        transition: background-color 0.8s; }
        @media screen and (min-width: 81.25em) {
          .modal-container.software-download .software-update-available-downloads ul .software-download-button {
            padding: 20px 10px; } }
        .modal-container.software-download .software-update-available-downloads ul .software-download-button:hover {
          background-color: #06052f;
          -webkit-transition: background-color 0.6s;
          transition: background-color 0.6s; }
          .modal-container.software-download .software-update-available-downloads ul .software-download-button:hover:before, .modal-container.software-download .software-update-available-downloads ul .software-download-button:hover:after, .modal-container.software-download .software-update-available-downloads ul .software-download-button:hover .button-label, .modal-container.software-download .software-update-available-downloads ul .software-download-button:hover .button-content-container, .modal-container.software-download .software-update-available-downloads ul .software-download-button:hover .data-time-container {
            color: #ffffff;
            -webkit-transition: color 0.6s;
            transition: color 0.6s; }
        .modal-container.software-download .software-update-available-downloads ul .software-download-button:before {
          content: "";
          color: #663399;
          font-family: "fontello";
          font-size: 30px;
          -webkit-transition: color 0.8s;
          transition: color 0.8s; }
        .modal-container.software-download .software-update-available-downloads ul .software-download-button:after {
          content: "";
          color: #663399;
          font-family: "Font Awesome Solid";
          font-size: 22px;
          -webkit-transition: color 0.8s;
          transition: color 0.8s; }
        .modal-container.software-download .software-update-available-downloads ul .software-download-button span {
          grid-column: 2; }
        .modal-container.software-download .software-update-available-downloads ul .software-download-button .button-label {
          margin: 0 0 10px;
          color: #663399;
          font-family: "Gibson", "Gibson Fallback", "Arial";
          font-weight: 600;
          font-size: 1.125rem;
          -webkit-transition: color 0.8s;
          transition: color 0.8s; }
        .modal-container.software-download .software-update-available-downloads ul .software-download-button .button-content-container {
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-orient: vertical;
          -webkit-box-direction: normal;
              -ms-flex-direction: column;
                  flex-direction: column;
          text-align: left;
          -webkit-transition: color 0.8s;
          transition: color 0.8s; }
        .modal-container.software-download .software-update-available-downloads ul .software-download-button .data-time-container {
          color: #aeaeae;
          -webkit-transition: color 0.8s;
          transition: color 0.8s; }
          .modal-container.software-download .software-update-available-downloads ul .software-download-button .data-time-container:before {
            content: "";
            margin-right: 5px;
            font-family: "Font Awesome Regular";
            font-size: 15px; }
  @media screen and (min-width: 81.25em) {
    .modal-container.payment, .modal-container.add-new-card {
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center; } }
  .modal-container.payment .cms-content-container, .modal-container.add-new-card .cms-content-container {
    text-align: center; }
  .modal-container.payment .content-container, .modal-container.add-new-card .content-container {
    max-width: 1150px;
    width: 100%;
    position: relative;
    padding: 10px;
    background-color: #ffffff;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
    overflow-y: auto; }
  .modal-container.payment .content, .modal-container.add-new-card .content {
    margin-bottom: 0; }
    .modal-container.payment .content .cms-content-container, .modal-container.add-new-card .content .cms-content-container {
      margin-top: 15px;
      margin-bottom: 15px; }
      @media screen and (min-width: 81.25em) {
        .modal-container.payment .content .cms-content-container, .modal-container.add-new-card .content .cms-content-container {
          margin: 30px 30px; } }
  .modal-container.payment iframe, .modal-container.add-new-card iframe {
    max-width: 100%;
    width: 630px;
    height: 620px;
    display: block;
    margin: 0 auto 40px;
    border: 1px solid #dadada;
    border-radius: 0;
    -webkit-transition: border 0.8s;
    transition: border 0.8s; }
    .modal-container.payment iframe:hover, .modal-container.add-new-card iframe:hover {
      border-color: #ae9461;
      -webkit-transition: border-color 0.6s;
      transition: border-color 0.6s; }
  .modal-container.enquiry-form .content-container {
    max-width: 900px; }
    .modal-container.enquiry-form .content-container form {
      width: 100%;
      margin: 10px 0; }
      @media screen and (min-width: 81.25em) {
        .modal-container.enquiry-form .content-container form {
          max-width: 80%;
          margin: 10px auto 0; } }
  .modal-container.branch-switcher .content-container, .modal-container.account-switcher .content-container {
    padding: 5px 5px 10px; }
    @media screen and (min-width: 81.25em) {
      .modal-container.branch-switcher .content-container, .modal-container.account-switcher .content-container {
        padding: 10px 10px 50px; } }
  .modal-container.branch-switcher [inject-container], .modal-container.account-switcher [inject-container] {
    overflow-y: auto; }
    @media print, screen and (max-width: 81.24875em) {
      .modal-container.branch-switcher [inject-container], .modal-container.account-switcher [inject-container] {
        margin-bottom: 20px;
        padding: 20px;
        border: 1px solid var(--neutral-colour-lightness-9);
        -webkit-box-shadow: inset 0px 0px 19px 0px rgba(0, 0, 0, 0.1);
                box-shadow: inset 0px 0px 19px 0px rgba(0, 0, 0, 0.1); } }
  .modal-container.branch-switcher .buttons-container, .modal-container.account-switcher .buttons-container {
    --common-button-small-margin: auto;
    --common-button-medium-margin: var(--common-button-small-margin); }
    @media screen and (min-width: 81.25em) {
      .modal-container.branch-switcher .buttons-container, .modal-container.account-switcher .buttons-container {
        margin-bottom: 40px; } }
  @media screen and (min-width: 81.25em) {
    .modal-container.branch-switcher #branch-switcher-container, .modal-container.branch-switcher #account-switcher-container, .modal-container.account-switcher #branch-switcher-container, .modal-container.account-switcher #account-switcher-container {
      padding: 0 80px 0; } }
  @media screen and (min-width: 81.25em) {
    .modal-container.branch-switcher .current-branch-details, .modal-container.branch-switcher .branch-switcher, .modal-container.branch-switcher .current-account-details, .modal-container.branch-switcher .account-switcher, .modal-container.account-switcher .current-branch-details, .modal-container.account-switcher .branch-switcher, .modal-container.account-switcher .current-account-details, .modal-container.account-switcher .account-switcher {
      margin-bottom: 25px; } }
  .modal-container.branch-switcher .current-branch-details h3, .modal-container.branch-switcher .branch-switcher h3, .modal-container.branch-switcher .current-account-details h3, .modal-container.branch-switcher .account-switcher h3, .modal-container.account-switcher .current-branch-details h3, .modal-container.account-switcher .branch-switcher h3, .modal-container.account-switcher .current-account-details h3, .modal-container.account-switcher .account-switcher h3 {
    font-size: 1.375rem; }
  .modal-container.branch-switcher .current-branch-details .address-line, .modal-container.branch-switcher .current-account-details .address-line, .modal-container.account-switcher .current-branch-details .address-line, .modal-container.account-switcher .current-account-details .address-line {
    padding: 2px 0;
    font-size: 0.875rem; }
  .modal-container.branch-switcher .label, .modal-container.account-switcher .label {
    display: inline-block;
    padding-right: 5px;
    color: #06052f;
    font-weight: 700; }
    @media screen and (min-width: 81.25em) {
      .modal-container.branch-switcher .label, .modal-container.account-switcher .label {
        width: 120px; } }
  .modal-container.branch-switcher .control-select-container, .modal-container.account-switcher .control-select-container {
    width: 100%; }
    @media screen and (min-width: 81.25em) {
      .modal-container.branch-switcher .control-select-container, .modal-container.account-switcher .control-select-container {
        width: calc(100% - 120px); } }
  .modal-container.form .content-container {
    max-width: 900px;
    width: 100%;
    padding: 10px;
    margin: auto; }
    .modal-container.form .content-container form {
      max-height: 90vh;
      width: 100%;
      margin: auto;
      overflow-y: auto; }
      @media screen and (min-width: 81.25em) {
        .modal-container.form .content-container form {
          max-width: 80%;
          margin: 20px auto 30px; } }
  .modal-container.form .cms-content-container {
    margin: 10px 0 0; }
  .modal-container.table .content {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content; }
  .modal-container.branch-switcher .content-container, .modal-container.account-switcher .content-container {
    max-width: 1150px;
    width: 100%; }
  .modal-container.manage-user-branch-selecter .modal-header h3 {
    margin: 0 0 15px;
    font-size: 1.375rem;
    font-weight: 600;
    text-align: center; }
    @media screen and (min-width: 81.25em) {
      .modal-container.manage-user-branch-selecter .modal-header h3 {
        margin: 0 0 35px; } }
  .modal-container.manage-user-branch-selecter .content-container {
    max-width: 1150px;
    width: 100%;
    height: 100%;
    position: relative;
    padding: 10px;
    background-color: #ffffff;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
    z-index: 150; }
    @media screen and (min-width: 81.25em) {
      .modal-container.manage-user-branch-selecter .content-container {
        max-height: 730px; } }
  .modal-container.manage-user-branch-selecter #users-branch-search-container {
    max-width: 620px;
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    margin: 0 auto 15px; }
    @media screen and (min-width: 81.25em) {
      .modal-container.manage-user-branch-selecter #users-branch-search-container {
        margin: 0 auto 40px; } }
  @media screen and (min-width: 81.25em) {
    .modal-container.manage-user-branch-selecter .select-branches-container {
      max-width: 850px;
      width: 100%;
      max-height: 300px;
      margin: 0 auto 20px;
      overflow-y: auto; } }
  .modal-container.manage-user-branch-selecter .table-footer-spacer {
    max-width: 850px;
    margin: auto; }
  .modal-container.manage-user-branch-selecter .branch-search {
    width: 90%;
    height: 50px;
    margin: 0; }
  .modal-container.manage-user-branch-selecter .control.checkbox {
    margin: 0; }
  .modal-container.manage-user-branch-selecter td {
    vertical-align: middle; }
  .modal-container.quick-order-search-results .modal-header .cms-content-container {
    max-width: 850px;
    width: 100%;
    margin: 20px auto;
    text-align: center; }
    @media screen and (min-width: 81.25em) {
      .modal-container.quick-order-search-results .modal-header .cms-content-container {
        margin: 30px auto; } }
  .modal-container.quick-order-search-results [inject-container] {
    padding: 5px 5px; }
    @media screen and (min-width: 81.25em) {
      .modal-container.quick-order-search-results [inject-container] {
        padding: 0; } }
  .modal-container.quick-order-search-results .content {
    max-width: 850px;
    width: 100%;
    max-height: 465px; }
  .modal-container.scanner .modal-header .cms-content-container {
    max-width: 640px;
    width: 100%;
    margin: 20px auto;
    padding: 0;
    text-align: center; }
    @media screen and (min-width: 81.25em) {
      .modal-container.scanner .modal-header .cms-content-container {
        margin: 30px auto; } }
  .modal-container.scanner .content {
    max-width: 690px;
    width: 100%; }
  .modal-container.call-form .content {
    max-height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
  .modal-container.call-form .content-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin: auto;
    padding: 5px; }
    @media screen and (min-width: 81.25em) {
      .modal-container.call-form .content-container {
        max-width: 1150px;
        width: 100%;
        overflow: hidden;
        padding: 10px; } }
    .modal-container.call-form .content-container form {
      max-width: 95%;
      width: 100%;
      margin: auto; }
      @media screen and (min-width: 81.25em) {
        .modal-container.call-form .content-container form {
          max-width: 850px; } }
  .modal-container.video-player .modal-header .cms-content-container {
    max-width: 850px;
    margin-right: auto;
    margin-left: auto;
    text-align: center; }
  .modal-container.video-player .content-container {
    max-width: 95vw; }
    .modal-container.video-player .content-container [inject-container] {
      aspect-ratio: 16 / 9; }
      .modal-container.video-player .content-container [inject-container] iframe {
        width: 100%;
        height: 100%; }
  .modal-container .modal-header .modal-heading {
    margin: 0 0 5px;
    padding: 5px 44px;
    background-color: #06052f;
    border-radius: 0; }
    @media screen and (min-width: 81.25em) {
      .modal-container .modal-header .modal-heading {
        padding: 16px 44px; } }
  .modal-container .modal-header h2 {
    margin: 0;
    padding: 0;
    color: #ffffff;
    text-align: center;
    font-size: 1.5625rem;
    font-weight: 700; }
  .modal-container .modal-header p {
    font-size: 1.0625rem; }
  .modal-container .modal-header .cms-content-container {
    margin-top: 15px;
    margin-bottom: 15px; }
    @media screen and (min-width: 81.25em) {
      .modal-container .modal-header .cms-content-container {
        margin: 30px 30px; } }
    .modal-container .modal-header .cms-content-container.disabled-no-content, .modal-container .modal-header .cms-content-container:empty {
      display: none; }
  .modal-container .close-button {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    top: 12.5px;
    right: 20px; }
    .modal-container .close-button:before {
      content: "";
      font-family: "Font Awesome Solid";
      font-size: 24px;
      color: #ffffff;
      -webkit-transition: color 0.8s, -webkit-transform 0.6s;
      transition: color 0.8s, -webkit-transform 0.6s;
      transition: transform 0.6s, color 0.8s;
      transition: transform 0.6s, color 0.8s, -webkit-transform 0.6s; }
    .modal-container .close-button:hover:before {
      color: contract-checker(#ae9461, #06052f);
      -webkit-transform: rotate(90deg);
              transform: rotate(90deg);
      -webkit-transition: color 0.6s, -webkit-transform 0.6s;
      transition: color 0.6s, -webkit-transform 0.6s;
      transition: transform 0.6s, color 0.6s;
      transition: transform 0.6s, color 0.6s, -webkit-transform 0.6s; }
    .modal-container .close-button:active:before {
      color: #06052f;
      -webkit-transition: font-size 1.2s, color 0.6s;
      transition: font-size 1.2s, color 0.6s; }
    @media screen and (min-width: 81.25em) {
      .modal-container .close-button {
        top: 16px; } }
  .modal-container.confirmation .content-container {
    max-width: 1150px;
    width: 100%;
    position: relative;
    padding: 26.66667px; }
    @media screen and (min-width: 81.25em) {
      .modal-container.confirmation .content-container {
        padding: 80px; } }
  .modal-container.confirmation .content {
    width: 100%;
    margin: 0; }
  .modal-container.confirmation:not(.ajax) .content {
    width: 100%;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin: 30px auto 50px;
    padding: 35px 10px;
    font-size: 1rem;
    font-weight: 600;
    text-align: center; }
    @media screen and (min-width: 81.25em) {
      .modal-container.confirmation:not(.ajax) .content {
        margin: 0 auto 50px; } }
    .modal-container.confirmation:not(.ajax) .content p {
      width: 100%;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      margin: 0; }
      .modal-container.confirmation:not(.ajax) .content p:before {
        display: -webkit-inline-box;
        display: -ms-inline-flexbox;
        display: inline-flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        margin: auto 10px auto 0;
        font-family: "Font Awesome Solid";
        font-size: 1.1875rem; }
        @media print, screen and (max-width: 81.24875em) {
          .modal-container.confirmation:not(.ajax) .content p:before {
            position: absolute;
            top: 10px;
            margin: auto; } }
  .modal-container.confirmation .message {
    width: 100%;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin: 30px auto 50px;
    padding: 35px 10px;
    font-size: 1rem;
    font-weight: 600;
    text-align: center; }
    @media screen and (min-width: 81.25em) {
      .modal-container.confirmation .message {
        margin: 0 auto 50px; } }
    .modal-container.confirmation .message p {
      width: 100%;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      margin: 0; }
      .modal-container.confirmation .message p:before {
        display: -webkit-inline-box;
        display: -ms-inline-flexbox;
        display: inline-flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        margin: auto 10px auto 0;
        font-family: "Font Awesome Solid";
        font-size: 1.1875rem; }
        @media print, screen and (max-width: 81.24875em) {
          .modal-container.confirmation .message p:before {
            position: absolute;
            top: 10px;
            margin: auto; } }
  .modal-container.confirmation .prompt-cancel-button {
    --component-specifc-step-height: 15px;
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: relative;
    margin: var(--common-button-small-margin, 10px 0);
    padding: var(--common-button-padding, 20px 10px);
    color: #06052f;
    background-color: #ffffff;
    border-width: 2px;
    font-size: 0.9375rem;
    font-weight: 700;
    text-align: center;
    border-style: solid;
    cursor: pointer;
    text-transform: uppercase;
    letter-spacing: 1.2px;
    word-spacing: 2px;
    border-color: #dadada;
    text-decoration: none;
    line-height: 1;
    border-radius: 0 !important;
    overflow: hidden;
    -webkit-transition: all 0.8s;
    transition: all 0.8s; }
    @media screen and (min-width: 81.25em) {
      .modal-container.confirmation .prompt-cancel-button {
        width: 230px;
        margin: var(--common-button-large-margin, 0 45px 20px); } }
    @media (hover: hover) {
      .modal-container.confirmation .prompt-cancel-button:hover, .modal-container.confirmation .prompt-cancel-button.hover {
        color: #ffffff;
        background-color: #dadada;
        border-color: #000000;
        text-decoration: none;
        -webkit-transition: all 0.6s;
        transition: all 0.6s; }
        .modal-container.confirmation .prompt-cancel-button:hover .graduated-colour-edge .step, .modal-container.confirmation .prompt-cancel-button.hover .graduated-colour-edge .step {
          background-color: #ffffff;
          -webkit-transition: background-color 0.6s;
          transition: background-color 0.6s; } }
    .modal-container.confirmation .prompt-cancel-button:active, .modal-container.confirmation .prompt-cancel-button.active {
      color: #ffffff;
      background-color: #06052f;
      border-color: #06052f;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
    .modal-container.confirmation .prompt-cancel-button:disabled, .modal-container.confirmation .prompt-cancel-button.disabled, .modal-container.confirmation .prompt-cancel-button[disabled] {
      color: #929292;
      background-color: #ffffff;
      border-color: rgba(200, 200, 200, 0.7);
      cursor: not-allowed; }
    .modal-container.confirmation .prompt-cancel-button:disabled:hover, .modal-container.confirmation .prompt-cancel-button.disabled:hover {
      border-color: rgba(200, 200, 200, 0.7); }
    .modal-container.confirmation .prompt-cancel-button:focus-visible {
      outline: none;
      -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
              box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
    .modal-container.confirmation .prompt-cancel-button .graduated-colour-edge .step {
      -webkit-transition: background-color 0.8s;
      transition: background-color 0.8s; }
  .modal-container.confirmation .close-button {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
    .modal-container.confirmation .close-button:before {
      content: "";
      font-family: "Font Awesome Solid";
      font-size: 24px;
      color: #000000;
      -webkit-transition: color 0.8s, -webkit-transform 0.6s;
      transition: color 0.8s, -webkit-transform 0.6s;
      transition: transform 0.6s, color 0.8s;
      transition: transform 0.6s, color 0.8s, -webkit-transform 0.6s; }
    .modal-container.confirmation .close-button:hover:before {
      color: #ae9461;
      -webkit-transform: rotate(90deg);
              transform: rotate(90deg);
      -webkit-transition: color 0.6s, -webkit-transform 0.6s;
      transition: color 0.6s, -webkit-transform 0.6s;
      transition: transform 0.6s, color 0.6s;
      transition: transform 0.6s, color 0.6s, -webkit-transform 0.6s; }
    .modal-container.confirmation .close-button:active:before {
      color: #06052f;
      -webkit-transition: font-size 1.2s, color 0.6s;
      transition: font-size 1.2s, color 0.6s; }
  .modal-container.alert:not(.ajax) .content {
    background-color: #fde1e1;
    border: 1px solid #b20c0c;
    border-radius: 0; }
    .modal-container.alert:not(.ajax) .content:not(.icon-configured):has(.content-container):before {
      content: ""; }
    .modal-container.alert:not(.ajax) .content:has(.content-container):before {
      color: #b20c0c; }
    .modal-container.alert:not(.ajax) .content > p:first-of-type:before {
      content: "";
      color: #b20c0c; }
    .modal-container.alert:not(.ajax) .content h1, .modal-container.alert:not(.ajax) .content h2, .modal-container.alert:not(.ajax) .content h3, .modal-container.alert:not(.ajax) .content h4, .modal-container.alert:not(.ajax) .content h5, .modal-container.alert:not(.ajax) .content h6, .modal-container.alert:not(.ajax) .content p, .modal-container.alert:not(.ajax) .content a {
      color: #b20c0c; }
  .modal-container.alert .message {
    background-color: #fde1e1;
    border: 1px solid #b20c0c;
    border-radius: 0; }
    .modal-container.alert .message:not(.icon-configured):has(.content-container):before {
      content: ""; }
    .modal-container.alert .message:has(.content-container):before {
      color: #b20c0c; }
    .modal-container.alert .message > p:first-of-type:before {
      content: "";
      color: #b20c0c; }
    .modal-container.alert .message h1, .modal-container.alert .message h2, .modal-container.alert .message h3, .modal-container.alert .message h4, .modal-container.alert .message h5, .modal-container.alert .message h6, .modal-container.alert .message p, .modal-container.alert .message a {
      color: #b20c0c; }
  .modal-container.alert .prompt-proceed-button {
    --component-specifc-step-height: 15px;
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: relative;
    margin: var(--common-button-small-margin, 10px 0);
    padding: var(--common-button-padding, 20px 10px);
    color: #b20c0c;
    background-color: #fde1e1;
    border-width: 2px;
    font-size: 0.9375rem;
    font-weight: 700;
    text-align: center;
    border-style: solid;
    cursor: pointer;
    text-transform: uppercase;
    letter-spacing: 1.2px;
    word-spacing: 2px;
    border-color: #dadada;
    text-decoration: none;
    line-height: 1;
    border-radius: 0 !important;
    overflow: hidden;
    -webkit-transition: all 0.8s;
    transition: all 0.8s; }
    @media screen and (min-width: 81.25em) {
      .modal-container.alert .prompt-proceed-button {
        width: 230px;
        margin: var(--common-button-large-margin, 0 45px 20px); } }
    @media (hover: hover) {
      .modal-container.alert .prompt-proceed-button:hover, .modal-container.alert .prompt-proceed-button.hover {
        color: #ffffff;
        background-color: #b20c0c;
        border-color: #b20c0c;
        text-decoration: none;
        -webkit-transition: all 0.6s;
        transition: all 0.6s; }
        .modal-container.alert .prompt-proceed-button:hover .graduated-colour-edge .step, .modal-container.alert .prompt-proceed-button.hover .graduated-colour-edge .step {
          background-color: #ffffff;
          -webkit-transition: background-color 0.6s;
          transition: background-color 0.6s; } }
    .modal-container.alert .prompt-proceed-button:active, .modal-container.alert .prompt-proceed-button.active {
      color: #ffffff;
      background-color: #e6e6ea;
      border-color: #e6e6ea;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
    .modal-container.alert .prompt-proceed-button:disabled, .modal-container.alert .prompt-proceed-button.disabled, .modal-container.alert .prompt-proceed-button[disabled] {
      color: #929292;
      background-color: #ffffff;
      border-color: rgba(200, 200, 200, 0.7);
      cursor: not-allowed; }
    .modal-container.alert .prompt-proceed-button:disabled:hover, .modal-container.alert .prompt-proceed-button.disabled:hover {
      border-color: rgba(200, 200, 200, 0.7); }
    .modal-container.alert .prompt-proceed-button:focus-visible {
      outline: none;
      -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
              box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
    .modal-container.alert .prompt-proceed-button .graduated-colour-edge .step {
      -webkit-transition: background-color 0.8s;
      transition: background-color 0.8s; }
  .modal-container.warning:not(.ajax) .content {
    background-color: #ffefe6;
    border: 1px solid #ff5e05;
    border-radius: 0; }
    .modal-container.warning:not(.ajax) .content:not(.icon-configured):has(.content-container):before {
      content: ""; }
    .modal-container.warning:not(.ajax) .content:has(.content-container):before {
      color: #ff5e05; }
    .modal-container.warning:not(.ajax) .content > p:first-of-type::before {
      content: "";
      color: #ff5e05; }
    .modal-container.warning:not(.ajax) .content h1, .modal-container.warning:not(.ajax) .content h2, .modal-container.warning:not(.ajax) .content h3, .modal-container.warning:not(.ajax) .content h4, .modal-container.warning:not(.ajax) .content h5, .modal-container.warning:not(.ajax) .content h6, .modal-container.warning:not(.ajax) .content p, .modal-container.warning:not(.ajax) .content a {
      color: #ff5e05; }
  .modal-container.warning .message {
    background-color: #ffefe6;
    border: 1px solid #ff5e05;
    border-radius: 0; }
    .modal-container.warning .message:not(.icon-configured):has(.content-container):before {
      content: ""; }
    .modal-container.warning .message:has(.content-container):before {
      color: #ff5e05; }
    .modal-container.warning .message > p:first-of-type::before {
      content: "";
      color: #ff5e05; }
    .modal-container.warning .message h1, .modal-container.warning .message h2, .modal-container.warning .message h3, .modal-container.warning .message h4, .modal-container.warning .message h5, .modal-container.warning .message h6, .modal-container.warning .message p, .modal-container.warning .message a {
      color: #ff5e05; }
  .modal-container.warning .prompt-proceed-button {
    --component-specifc-step-height: 15px;
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: relative;
    margin: var(--common-button-small-margin, 10px 0);
    padding: var(--common-button-padding, 20px 10px);
    color: #b20c0c;
    background-color: #fde1e1;
    border-width: 2px;
    font-size: 0.9375rem;
    font-weight: 700;
    text-align: center;
    border-style: solid;
    cursor: pointer;
    text-transform: uppercase;
    letter-spacing: 1.2px;
    word-spacing: 2px;
    border-color: #dadada;
    text-decoration: none;
    line-height: 1;
    border-radius: 0 !important;
    overflow: hidden;
    -webkit-transition: all 0.8s;
    transition: all 0.8s; }
    @media screen and (min-width: 81.25em) {
      .modal-container.warning .prompt-proceed-button {
        width: 230px;
        margin: var(--common-button-large-margin, 0 45px 20px); } }
    @media (hover: hover) {
      .modal-container.warning .prompt-proceed-button:hover, .modal-container.warning .prompt-proceed-button.hover {
        color: #ffffff;
        background-color: #b20c0c;
        border-color: #b20c0c;
        text-decoration: none;
        -webkit-transition: all 0.6s;
        transition: all 0.6s; }
        .modal-container.warning .prompt-proceed-button:hover .graduated-colour-edge .step, .modal-container.warning .prompt-proceed-button.hover .graduated-colour-edge .step {
          background-color: #ffffff;
          -webkit-transition: background-color 0.6s;
          transition: background-color 0.6s; } }
    .modal-container.warning .prompt-proceed-button:active, .modal-container.warning .prompt-proceed-button.active {
      color: #ffffff;
      background-color: #e6e6ea;
      border-color: #e6e6ea;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
    .modal-container.warning .prompt-proceed-button:disabled, .modal-container.warning .prompt-proceed-button.disabled, .modal-container.warning .prompt-proceed-button[disabled] {
      color: #929292;
      background-color: #ffffff;
      border-color: rgba(200, 200, 200, 0.7);
      cursor: not-allowed; }
    .modal-container.warning .prompt-proceed-button:disabled:hover, .modal-container.warning .prompt-proceed-button.disabled:hover {
      border-color: rgba(200, 200, 200, 0.7); }
    .modal-container.warning .prompt-proceed-button:focus-visible {
      outline: none;
      -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
              box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
    .modal-container.warning .prompt-proceed-button .graduated-colour-edge .step {
      -webkit-transition: background-color 0.8s;
      transition: background-color 0.8s; }
  .modal-container.action-required:not(.ajax) .content {
    background-color: #ffefe6;
    border: 1px solid #ff5e05;
    border-radius: 0; }
    .modal-container.action-required:not(.ajax) .content:not(.icon-configured):has(.content-container):before {
      content: ""; }
    .modal-container.action-required:not(.ajax) .content:has(.content-container):before {
      color: #ff5e05; }
    .modal-container.action-required:not(.ajax) .content > p:first-of-type::before {
      content: "";
      color: #ff5e05; }
    .modal-container.action-required:not(.ajax) .content h1, .modal-container.action-required:not(.ajax) .content h2, .modal-container.action-required:not(.ajax) .content h3, .modal-container.action-required:not(.ajax) .content h4, .modal-container.action-required:not(.ajax) .content h5, .modal-container.action-required:not(.ajax) .content h6, .modal-container.action-required:not(.ajax) .content p, .modal-container.action-required:not(.ajax) .content a {
      color: #ff5e05; }
  .modal-container.action-required .message {
    background-color: #ffefe6;
    border: 1px solid #ff5e05;
    border-radius: 0; }
    .modal-container.action-required .message:not(.icon-configured):has(.content-container):before {
      content: ""; }
    .modal-container.action-required .message:has(.content-container):before {
      color: #ff5e05; }
    .modal-container.action-required .message > p:first-of-type::before {
      content: "";
      color: #ff5e05; }
    .modal-container.action-required .message h1, .modal-container.action-required .message h2, .modal-container.action-required .message h3, .modal-container.action-required .message h4, .modal-container.action-required .message h5, .modal-container.action-required .message h6, .modal-container.action-required .message p, .modal-container.action-required .message a {
      color: #ff5e05; }
  .modal-container.action-required .prompt-proceed-button {
    --component-specifc-step-height: 15px;
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: relative;
    margin: var(--common-button-small-margin, 10px 0);
    padding: var(--common-button-padding, 20px 10px);
    color: #06052f;
    background-color: #dffbe2;
    border-width: 2px;
    font-size: 0.9375rem;
    font-weight: 700;
    text-align: center;
    border-style: solid;
    cursor: pointer;
    text-transform: uppercase;
    letter-spacing: 1.2px;
    word-spacing: 2px;
    border-color: #dadada;
    text-decoration: none;
    line-height: 1;
    border-radius: 0 !important;
    overflow: hidden;
    -webkit-transition: all 0.8s;
    transition: all 0.8s; }
    @media screen and (min-width: 81.25em) {
      .modal-container.action-required .prompt-proceed-button {
        width: 230px;
        margin: var(--common-button-large-margin, 0 45px 20px); } }
    @media (hover: hover) {
      .modal-container.action-required .prompt-proceed-button:hover, .modal-container.action-required .prompt-proceed-button.hover {
        color: #ffffff;
        background-color: #12811f;
        border-color: #12811f;
        text-decoration: none;
        -webkit-transition: all 0.6s;
        transition: all 0.6s; }
        .modal-container.action-required .prompt-proceed-button:hover .graduated-colour-edge .step, .modal-container.action-required .prompt-proceed-button.hover .graduated-colour-edge .step {
          background-color: #ffffff;
          -webkit-transition: background-color 0.6s;
          transition: background-color 0.6s; } }
    .modal-container.action-required .prompt-proceed-button:active, .modal-container.action-required .prompt-proceed-button.active {
      background-color: #e6e6ea;
      border-color: #e6e6ea;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
    .modal-container.action-required .prompt-proceed-button:disabled, .modal-container.action-required .prompt-proceed-button.disabled, .modal-container.action-required .prompt-proceed-button[disabled] {
      color: #929292;
      background-color: #ffffff;
      border-color: rgba(200, 200, 200, 0.7);
      cursor: not-allowed; }
    .modal-container.action-required .prompt-proceed-button:disabled:hover, .modal-container.action-required .prompt-proceed-button.disabled:hover {
      border-color: rgba(200, 200, 200, 0.7); }
    .modal-container.action-required .prompt-proceed-button:focus-visible {
      outline: none;
      -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
              box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
    .modal-container.action-required .prompt-proceed-button .graduated-colour-edge .step {
      -webkit-transition: background-color 0.8s;
      transition: background-color 0.8s; }
  .modal-container.success:not(.ajax) .content {
    background-color: #dffbe2;
    border: 1px solid #12811f;
    border-radius: 0; }
    .modal-container.success:not(.ajax) .content:not(.icon-configured):has(.content-container):before {
      content: ""; }
    .modal-container.success:not(.ajax) .content:has(.content-container):before {
      color: #12811f; }
    .modal-container.success:not(.ajax) .content > p:first-of-type::before {
      content: "";
      color: #12811f; }
    .modal-container.success:not(.ajax) .content h1, .modal-container.success:not(.ajax) .content h2, .modal-container.success:not(.ajax) .content h3, .modal-container.success:not(.ajax) .content h4, .modal-container.success:not(.ajax) .content h5, .modal-container.success:not(.ajax) .content h6, .modal-container.success:not(.ajax) .content p, .modal-container.success:not(.ajax) .content a {
      color: #12811f; }
  .modal-container.success .message {
    background-color: #dffbe2;
    border: 1px solid #12811f;
    border-radius: 0; }
    .modal-container.success .message:not(.icon-configured):has(.content-container):before {
      content: ""; }
    .modal-container.success .message:has(.content-container):before {
      color: #12811f; }
    .modal-container.success .message > p:first-of-type::before {
      content: "";
      color: #12811f; }
    .modal-container.success .message h1, .modal-container.success .message h2, .modal-container.success .message h3, .modal-container.success .message h4, .modal-container.success .message h5, .modal-container.success .message h6, .modal-container.success .message p, .modal-container.success .message a {
      color: #12811f; }
  .modal-container.success .prompt-proceed-button {
    --component-specifc-step-height: 15px;
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: relative;
    margin: var(--common-button-small-margin, 10px 0);
    padding: var(--common-button-padding, 20px 10px);
    color: #06052f;
    background-color: #dffbe2;
    border-width: 2px;
    font-size: 0.9375rem;
    font-weight: 700;
    text-align: center;
    border-style: solid;
    cursor: pointer;
    text-transform: uppercase;
    letter-spacing: 1.2px;
    word-spacing: 2px;
    border-color: #dadada;
    text-decoration: none;
    line-height: 1;
    border-radius: 0 !important;
    overflow: hidden;
    -webkit-transition: all 0.8s;
    transition: all 0.8s; }
    @media screen and (min-width: 81.25em) {
      .modal-container.success .prompt-proceed-button {
        width: 230px;
        margin: var(--common-button-large-margin, 0 45px 20px); } }
    @media (hover: hover) {
      .modal-container.success .prompt-proceed-button:hover, .modal-container.success .prompt-proceed-button.hover {
        color: #ffffff;
        background-color: #12811f;
        border-color: #12811f;
        text-decoration: none;
        -webkit-transition: all 0.6s;
        transition: all 0.6s; }
        .modal-container.success .prompt-proceed-button:hover .graduated-colour-edge .step, .modal-container.success .prompt-proceed-button.hover .graduated-colour-edge .step {
          background-color: #ffffff;
          -webkit-transition: background-color 0.6s;
          transition: background-color 0.6s; } }
    .modal-container.success .prompt-proceed-button:active, .modal-container.success .prompt-proceed-button.active {
      background-color: #e6e6ea;
      border-color: #e6e6ea;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
    .modal-container.success .prompt-proceed-button:disabled, .modal-container.success .prompt-proceed-button.disabled, .modal-container.success .prompt-proceed-button[disabled] {
      color: #929292;
      background-color: #ffffff;
      border-color: rgba(200, 200, 200, 0.7);
      cursor: not-allowed; }
    .modal-container.success .prompt-proceed-button:disabled:hover, .modal-container.success .prompt-proceed-button.disabled:hover {
      border-color: rgba(200, 200, 200, 0.7); }
    .modal-container.success .prompt-proceed-button:focus-visible {
      outline: none;
      -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
              box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
    .modal-container.success .prompt-proceed-button .graduated-colour-edge .step {
      -webkit-transition: background-color 0.8s;
      transition: background-color 0.8s; }
  .modal-container.demo .content-container {
    padding: 20px 10px; }
    @media screen and (min-width: 81.25em) {
      .modal-container.demo .content-container {
        padding: 115px 135px; } }
    .modal-container.demo .content-container h2 {
      margin-bottom: 25px;
      color: #ff0101;
      font-size: 1.625rem;
      font-weight: 600;
      text-transform: uppercase; }
      @media screen and (min-width: 81.25em) {
        .modal-container.demo .content-container h2 {
          margin-bottom: 35px; } }
    .modal-container.demo .content-container h3 {
      margin-bottom: 25px;
      color: #06052f;
      font-size: 1.375rem;
      font-weight: 700; }
    .modal-container.demo .content-container p {
      margin-bottom: 20px;
      padding: 0;
      font-size: 1.125rem;
      font-weight: 300; }
      @media screen and (min-width: 81.25em) {
        .modal-container.demo .content-container p {
          padding: 0 50px; } }
    .modal-container.demo .content-container strong {
      color: #000000; }
  .modal-container.demo .content {
    width: 100%;
    text-align: center; }
    @media screen and (min-width: 81.25em) {
      .modal-container.demo .content {
        max-width: 885px; } }
  .modal-container.demo .modal-logo {
    width: 135px;
    height: 135px;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin: 0 auto 10px; }
  .modal-container.demo .image-slot-1 {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
    .modal-container.demo .image-slot-1:before {
      content: "";
      font-family: "Font Awesome Solid";
      font-size: 70px;
      color: #06052f; }
  .modal-container.demo .image-slot-2 {
    position: absolute; }
    .modal-container.demo .image-slot-2:before {
      content: "";
      font-family: "Font Awesome Solid";
      font-size: 135px;
      color: #ff0101; }
  .modal-container.demo .prompt-cancel-button {
    --component-specifc-step-height: 15px;
    width: 230px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: relative;
    margin: var(--common-button-small-margin, 10px 0);
    padding: var(--common-button-padding, 20px 10px);
    color: #06052f;
    background-color: #dffbe2;
    border-width: 2px;
    font-size: 0.9375rem;
    font-weight: 700;
    text-align: center;
    border-style: solid;
    cursor: pointer;
    text-transform: uppercase;
    letter-spacing: 1.2px;
    word-spacing: 2px;
    border-color: #dadada;
    text-decoration: none;
    line-height: 1;
    border-radius: 0 !important;
    overflow: hidden;
    -webkit-transition: all 0.8s;
    transition: all 0.8s; }
    @media screen and (min-width: 81.25em) {
      .modal-container.demo .prompt-cancel-button {
        width: 230px;
        margin: var(--common-button-large-margin, 0 45px 20px); } }
    @media (hover: hover) {
      .modal-container.demo .prompt-cancel-button:hover, .modal-container.demo .prompt-cancel-button.hover {
        color: #ffffff;
        background-color: #12811f;
        border-color: #12811f;
        text-decoration: none;
        -webkit-transition: all 0.6s;
        transition: all 0.6s; }
        .modal-container.demo .prompt-cancel-button:hover .graduated-colour-edge .step, .modal-container.demo .prompt-cancel-button.hover .graduated-colour-edge .step {
          background-color: #ffffff;
          -webkit-transition: background-color 0.6s;
          transition: background-color 0.6s; } }
    .modal-container.demo .prompt-cancel-button:active, .modal-container.demo .prompt-cancel-button.active {
      background-color: #e6e6ea;
      border-color: #e6e6ea;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
    .modal-container.demo .prompt-cancel-button:disabled, .modal-container.demo .prompt-cancel-button.disabled, .modal-container.demo .prompt-cancel-button[disabled] {
      color: #929292;
      background-color: #ffffff;
      border-color: rgba(200, 200, 200, 0.7);
      cursor: not-allowed; }
    .modal-container.demo .prompt-cancel-button:disabled:hover, .modal-container.demo .prompt-cancel-button.disabled:hover {
      border-color: rgba(200, 200, 200, 0.7); }
    .modal-container.demo .prompt-cancel-button:focus-visible {
      outline: none;
      -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
              box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
    .modal-container.demo .prompt-cancel-button .graduated-colour-edge .step {
      -webkit-transition: background-color 0.8s;
      transition: background-color 0.8s; }
  .modal-container.demo .prompt-proceed-button {
    --component-specifc-step-height: 15px;
    width: 230px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: relative;
    margin: var(--common-button-small-margin, 10px 0);
    padding: var(--common-button-padding, 20px 10px);
    color: #06052f;
    background-color: #ffffff;
    border-width: 2px;
    font-size: 0.9375rem;
    font-weight: 700;
    text-align: center;
    border-style: solid;
    cursor: pointer;
    text-transform: uppercase;
    letter-spacing: 1.2px;
    word-spacing: 2px;
    border-color: #dadada;
    text-decoration: none;
    line-height: 1;
    border-radius: 0 !important;
    overflow: hidden;
    -webkit-transition: all 0.8s;
    transition: all 0.8s; }
    @media screen and (min-width: 81.25em) {
      .modal-container.demo .prompt-proceed-button {
        width: 230px;
        margin: var(--common-button-large-margin, 0 45px 20px); } }
    @media (hover: hover) {
      .modal-container.demo .prompt-proceed-button:hover, .modal-container.demo .prompt-proceed-button.hover {
        color: #ffffff;
        background-color: #dadada;
        border-color: #000000;
        text-decoration: none;
        -webkit-transition: all 0.6s;
        transition: all 0.6s; }
        .modal-container.demo .prompt-proceed-button:hover .graduated-colour-edge .step, .modal-container.demo .prompt-proceed-button.hover .graduated-colour-edge .step {
          background-color: #ffffff;
          -webkit-transition: background-color 0.6s;
          transition: background-color 0.6s; } }
    .modal-container.demo .prompt-proceed-button:active, .modal-container.demo .prompt-proceed-button.active {
      color: #ffffff;
      background-color: #06052f;
      border-color: #06052f;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
    .modal-container.demo .prompt-proceed-button:disabled, .modal-container.demo .prompt-proceed-button.disabled, .modal-container.demo .prompt-proceed-button[disabled] {
      color: #929292;
      background-color: #ffffff;
      border-color: rgba(200, 200, 200, 0.7);
      cursor: not-allowed; }
    .modal-container.demo .prompt-proceed-button:disabled:hover, .modal-container.demo .prompt-proceed-button.disabled:hover {
      border-color: rgba(200, 200, 200, 0.7); }
    .modal-container.demo .prompt-proceed-button:focus-visible {
      outline: none;
      -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
              box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
    .modal-container.demo .prompt-proceed-button .graduated-colour-edge .step {
      -webkit-transition: background-color 0.8s;
      transition: background-color 0.8s; }

.modal-information-container {
  width: 100%;
  margin: auto;
  border: 1px solid #c8c8c8; }
  @media screen and (min-width: 81.25em) {
    .modal-information-container {
      margin: 20px auto 30px; } }
  .modal-information-container .information-section {
    min-width: 80vw;
    width: 100%;
    padding: 0 0 10px; }
    @media screen and (min-width: 81.25em) {
      .modal-information-container .information-section {
        min-width: unset;
        width: 640px;
        padding: 0 0 20px; } }
    .modal-information-container .information-section h2 {
      width: 100%;
      display: block;
      padding: 5px 0;
      margin: 0 0 10px;
      color: #ffffff;
      background-color: #50506d;
      font-weight: 300;
      font-size: 1.25rem;
      text-align: center;
      text-transform: uppercase;
      word-spacing: 2px; }
  .modal-information-container .information-option {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin: 10px 0;
    padding: 0 10px; }
    @media screen and (min-width: 81.25em) {
      .modal-information-container .information-option {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row;
        -webkit-box-pack: justify;
            -ms-flex-pack: justify;
                justify-content: space-between;
        margin: 10px 0;
        padding: 0 20px; } }
    .modal-information-container .information-option .label {
      width: 100%;
      font-size: 1rem;
      font-weight: 600; }
      @media screen and (min-width: 81.25em) {
        .modal-information-container .information-option .label {
          width: 160px; } }

.inject-content {
  display: none; }

[inject-container] {
  width: 100%;
  max-height: 100%;
  min-height: 200px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  position: relative; }
  [inject-container]:has(div.AJAXBlock) {
    min-width: 320px; }
    @media screen and (min-width: 81.25em) {
      [inject-container]:has(div.AJAXBlock) {
        min-width: 640px; } }
  [inject-container] .modal-header .close-button {
    right: 30px; }

.inject-button {
  color: #06052f;
  cursor: pointer;
  -webkit-transition: color 0.8s;
  transition: color 0.8s;
  z-index: 1; }
  .inject-button:hover {
    color: #ae9461;
    -webkit-transition: color 0.6s;
    transition: color 0.6s; }
  .inject-button:active {
    color: #888888; }
  .inject-button.form {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
    padding: 10px;
    background-color: #ffffff;
    font-weight: 700; }
    @media screen and (min-width: 81.25em) {
      .inject-button.form {
        margin: 0 50px 0 auto; } }
    .inject-button.form:after {
      content: "";
      font-family: "fontello-djmiles";
      font-size: 6px;
      margin-left: 5px; }

/*
----- Modules -----
These can be used anywhere on the site header, main content & footer, these have a hard dependancy on foundation XY grid system for their positioning.
Handles the following: 
- Product / Image collections
  - Grid view
  - Slideshow view
- Varous CMS types:
  - Blog
  - News
  - Events
  - Generic CMS entries 
- EBG Information
- Backgrounds ( Currently only support just colours not images ): 
  - Row Backgrounds 
  - Module Backgrounds
*/
.row-background:first-of-type .module-background {
  margin-top: 0; }

.row-background {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-position: center; }
  @media print, screen and (max-width: 81.24875em) {
    .row-background {
      padding-top: 0;
      padding-bottom: 0; } }
  .row-background.container-padding {
    padding: 0 10px; }
    @media screen and (min-width: 81.25em) {
      .row-background.container-padding {
        padding-top: 45px;
        padding-bottom: 45px; } }
    @media screen and (min-width: 81.25em) {
      .row-background.container-padding .module-heading {
        margin-top: -45px; } }
  .row-background .module-heading {
    border: 0px solid transparent; }
    .row-background .module-heading + .cms-module .content-container {
      padding-top: 0; }

.module-heading + .cms-module.news-module {
  margin-top: 0; }
  .module-heading + .cms-module.news-module .content-container {
    margin: 0;
    padding: 0 0 20px; }

.grid-container .module-background {
  border-radius: 0; }

.row-background {
  border-radius: 0; }

.module-background {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  background-position: center; }
  @media screen and (min-width: 81.25em) {
    .module-background.module-padding {
      padding-top: 30px;
      padding-bottom: 30px; } }
  .module-background.module-padding .module-heading {
    border: 2px solid transparent; }
    @media screen and (min-width: 81.25em) {
      .module-background.module-padding .module-heading {
        margin-top: -30px; } }
  .module-background.module-padding .content-banner {
    width: 100%;
    margin-right: 6.5%; }
    @media screen and (min-width: 81.25em) {
      .module-background.module-padding .content-banner {
        height: 375px; } }
    .module-background.module-padding .content-banner img {
      max-height: 100%; }
  .module-background.remove-margin-top {
    margin-top: 0; }
  .module-background.remove-margin-bottom {
    margin-bottom: 0; }
  .module-background.remove-margin-both {
    margin-top: 0;
    margin-bottom: 0; }

.collection {
  --media-aspect-ratio: 1/1;
  width: 100%; }
  .collection.show-colours .collection-item .image {
    padding: 3px; }
  .collection.collection-remove-gutter {
    --module-gutter: 0; }
  .collection.collection-small-gutter {
    --module-gutter: 7.5px; }
  .collection.collection-medium-gutter {
    --module-gutter: 11.53846px; }
    @media screen and (min-width: 81.25em) {
      .collection.collection-medium-gutter {
        --module-gutter: 15px; } }
  .collection.collection-large-gutter {
    --module-gutter: 38.46154px; }
    @media screen and (min-width: 81.25em) {
      .collection.collection-large-gutter {
        --module-gutter: 50px; } }
  .collection.image-grid-module, .collection.image-slideshow-module {
    --media-aspect-ratio: var(--media-width, auto)/var(--media-height, auto); }
  .collection .collection-item.ebg {
    --media-aspect-ratio: 1/1; }
  .collection .grid-margin-x > .collection-item.cell {
    width: auto; }
  .collection .grid-x {
    display: grid; }
  .collection .small-up-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr)); }
  .collection .small-up-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .collection .small-up-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .collection .small-up-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .collection .small-up-5 {
    grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .collection .small-up-6 {
    grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .collection .small-up-7 {
    grid-template-columns: repeat(7, minmax(0, 1fr)); }
  .collection .small-up-8 {
    grid-template-columns: repeat(8, minmax(0, 1fr)); }
  @media print, screen and (min-width: 40em) {
    .collection .medium-up-1 {
      grid-template-columns: repeat(1, minmax(0, 1fr)); } }
  @media print, screen and (min-width: 40em) {
    .collection .medium-up-2 {
      grid-template-columns: repeat(2, minmax(0, 1fr)); } }
  @media print, screen and (min-width: 40em) {
    .collection .medium-up-3 {
      grid-template-columns: repeat(3, minmax(0, 1fr)); } }
  @media print, screen and (min-width: 40em) {
    .collection .medium-up-4 {
      grid-template-columns: repeat(4, minmax(0, 1fr)); } }
  @media print, screen and (min-width: 40em) {
    .collection .medium-up-5 {
      grid-template-columns: repeat(5, minmax(0, 1fr)); } }
  @media print, screen and (min-width: 40em) {
    .collection .medium-up-6 {
      grid-template-columns: repeat(6, minmax(0, 1fr)); } }
  @media print, screen and (min-width: 40em) {
    .collection .medium-up-7 {
      grid-template-columns: repeat(7, minmax(0, 1fr)); } }
  @media print, screen and (min-width: 40em) {
    .collection .medium-up-8 {
      grid-template-columns: repeat(8, minmax(0, 1fr)); } }
  @media screen and (min-width: 81.25em) {
    .collection .large-up-1 {
      grid-template-columns: repeat(1, minmax(0, 1fr)); } }
  @media screen and (min-width: 81.25em) {
    .collection .large-up-2 {
      grid-template-columns: repeat(2, minmax(0, 1fr)); } }
  @media screen and (min-width: 81.25em) {
    .collection .large-up-3 {
      grid-template-columns: repeat(3, minmax(0, 1fr)); } }
  @media screen and (min-width: 81.25em) {
    .collection .large-up-4 {
      grid-template-columns: repeat(4, minmax(0, 1fr)); } }
  @media screen and (min-width: 81.25em) {
    .collection .large-up-5 {
      grid-template-columns: repeat(5, minmax(0, 1fr)); } }
  @media screen and (min-width: 81.25em) {
    .collection .large-up-6 {
      grid-template-columns: repeat(6, minmax(0, 1fr)); } }
  @media screen and (min-width: 81.25em) {
    .collection .large-up-7 {
      grid-template-columns: repeat(7, minmax(0, 1fr)); } }
  @media screen and (min-width: 81.25em) {
    .collection .large-up-8 {
      grid-template-columns: repeat(8, minmax(0, 1fr)); } }
  .collection .small-up-1 .collection-item .product .image, .collection [bx-column-count="1"] .collection-item .product .image {
    max-width: 1280px;
    max-height: 1280px; }
  @media screen and (min-width: 81.25em) {
    .collection .large-up-1 .collection-item .product .image, .collection [bx-column-count="1"] .collection-item .product .image {
      max-width: 1300px;
      max-height: 1300px; } }
  .collection .small-up-2 .collection-item .product .image, .collection [bx-column-count="2"] .collection-item .product .image {
    max-width: 630px;
    max-height: 630px; }
  @media screen and (min-width: 81.25em) {
    .collection .large-up-2 .collection-item .product .image, .collection [bx-column-count="2"] .collection-item .product .image {
      max-width: 644px;
      max-height: 644px; } }
  .collection .small-up-3 .collection-item .product .image, .collection [bx-column-count="3"] .collection-item .product .image {
    max-width: 418px;
    max-height: 418px; }
  @media screen and (min-width: 81.25em) {
    .collection .large-up-3 .collection-item .product .image, .collection [bx-column-count="3"] .collection-item .product .image {
      max-width: 424px;
      max-height: 424px; } }
  .collection .small-up-4 .collection-item .product .image, .collection [bx-column-count="4"] .collection-item .product .image {
    max-width: 312px;
    max-height: 312px; }
  @media screen and (min-width: 81.25em) {
    .collection .large-up-4 .collection-item .product .image, .collection [bx-column-count="4"] .collection-item .product .image {
      max-width: 316px;
      max-height: 316px; } }
  .collection .small-up-5 .collection-item .product .image, .collection [bx-column-count="5"] .collection-item .product .image {
    max-width: 249px;
    max-height: 249px; }
  @media screen and (min-width: 81.25em) {
    .collection .large-up-5 .collection-item .product .image, .collection [bx-column-count="5"] .collection-item .product .image {
      max-width: 250px;
      max-height: 250px; } }
  .collection .small-up-6 .collection-item .product .image, .collection [bx-column-count="6"] .collection-item .product .image {
    max-width: 205px;
    max-height: 205px; }
  @media screen and (min-width: 81.25em) {
    .collection .large-up-6 .collection-item .product .image, .collection [bx-column-count="6"] .collection-item .product .image {
      max-width: 207px;
      max-height: 207px; } }
  .collection .small-up-7 .collection-item .product .image, .collection [bx-column-count="7"] .collection-item .product .image {
    max-width: 175px;
    max-height: 175px; }
  @media screen and (min-width: 81.25em) {
    .collection .large-up-7 .collection-item .product .image, .collection [bx-column-count="7"] .collection-item .product .image {
      max-width: 175px;
      max-height: 175px; } }
  .collection .small-up-8 .collection-item .product .image, .collection [bx-column-count="8"] .collection-item .product .image {
    max-width: 153px;
    max-height: 153px; }
  @media screen and (min-width: 81.25em) {
    .collection .large-up-8 .collection-item .product .image, .collection [bx-column-count="8"] .collection-item .product .image {
      max-width: 152px;
      max-height: 152px; } }
  .collection.show-colours .collection-item.ebg .content-container {
    background-color: #06052f;
    border: 1px solid transparent;
    -webkit-transition: background-color 0.8s, border-color 0.8s;
    transition: background-color 0.8s, border-color 0.8s; }
    .collection.show-colours .collection-item.ebg .content-container.compact .description, .collection.show-colours .collection-item.ebg .content-container:not(.compact) .description {
      color: #ffffff;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
    .collection.show-colours .collection-item.ebg .content-container:hover {
      background-color: #ffffff;
      border-color: #06052f;
      -webkit-transition: background-color 0.6s, border-color 0.6s;
      transition: background-color 0.6s, border-color 0.6s; }
      .collection.show-colours .collection-item.ebg .content-container:hover.compact .description, .collection.show-colours .collection-item.ebg .content-container:hover:not(.compact) .description {
        color: #06052f;
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
  .collection .content-container .image, .collection .content-container.image {
    border-radius: 0;
    /* Setting this generically for the following reasons:
            1. If collection-cell-border-radius is enabled
            2. If image scale is enabled.
            */
    overflow: hidden;
    -webkit-transition: opacity 0.8s;
    transition: opacity 0.8s; }
  .collection .content-container img {
    -webkit-transition: -webkit-transform 0.6s;
    transition: -webkit-transform 0.6s;
    transition: transform 0.6s;
    transition: transform 0.6s, -webkit-transform 0.6s; }
  .collection .content-container:hover .image, .collection .content-container:hover.image {
    opacity: 0.5;
    -webkit-transition: opacity 0.6s;
    transition: opacity 0.6s; }
  .collection .content-container:hover img {
    -webkit-transform: scale(0.9);
            transform: scale(0.9);
    -webkit-transition: -webkit-transform 0.6s;
    transition: -webkit-transform 0.6s;
    transition: transform 0.6s;
    transition: transform 0.6s, -webkit-transform 0.6s; }
  @media print, screen and (max-width: 39.99875em) {
    .collection [bx-column-count="4"] .content-container .quantity-container {
      -ms-flex-pack: distribute;
          justify-content: space-around; }
    .collection [bx-column-count="4"] .quantity-free-text-container {
      width: 100%; } }

.image-grid-module .grid-collection-x, .product-grid-module .grid-collection-x, .collection .grid-collection-x {
  gap: var(--module-gutter, 10px); }
  @media print, screen and (min-width: 40em) {
    .image-grid-module .grid-collection-x, .product-grid-module .grid-collection-x, .collection .grid-collection-x {
      gap: var(--module-gutter, 15px); } }
  @media screen and (min-width: 81.25em) {
    .image-grid-module .grid-collection-x, .product-grid-module .grid-collection-x, .collection .grid-collection-x {
      gap: var(--module-gutter, 15px); } }
  .image-grid-module .grid-collection-x .collection-item.cell, .product-grid-module .grid-collection-x .collection-item.cell, .collection .grid-collection-x .collection-item.cell {
    width: unset; }

.product-grid-module .cell {
  padding-left: 0.23438rem;
  padding-right: 0.23438rem;
  margin-bottom: 20px; }

.product-grid-module:not(.minified-layout) .collection-item:not(.ebg) .content-container:not(.image):not(.compact) > a:first-child {
  position: relative; }
  .product-grid-module:not(.minified-layout) .collection-item:not(.ebg) .content-container:not(.image):not(.compact) > a:first-child:after {
    content: '';
    width: 100%;
    height: 1px;
    position: absolute;
    top: 100%;
    bottom: 20px;
    left: 0;
    background-color: #c8c8c8;
    display: block; }
  .product-grid-module:not(.minified-layout) .collection-item:not(.ebg) .content-container:not(.image):not(.compact) > a:first-child .image {
    margin-bottom: 35px; }

.product-grid-module.multimedia-right .collection-item.ebg .content-container a:first-child {
  grid-row: 1; }

@media screen and (min-width: 81.25em) {
  .product-grid-module.multimedia-right .collection-item.ebg .content-container a.description {
    grid-row: 1; } }

@media screen and (min-width: 81.25em) {
  .product-grid-module.multimedia-right .content-container [data-content-container] {
    grid-row: 1 / span 4; } }

@media screen and (min-width: 81.25em) {
  .product-grid-module.multimedia-right .content-container a:first-child {
    grid-column: 2;
    grid-row: 1 / span 4; } }

@media screen and (min-width: 81.25em) {
  .product-grid-module.multimedia-right .content-container a:nth-child(2) {
    grid-column: 1; } }

@media screen and (min-width: 81.25em) {
  .product-grid-module.multimedia-right .content-container a:nth-child(3) {
    grid-column: 1; } }

@media screen and (min-width: 81.25em) {
  .product-grid-module.multimedia-right .content-container a:nth-child(4) {
    grid-column: 1; } }

@media screen and (min-width: 81.25em) {
  .product-grid-module.multimedia-right .content-container a:nth-child(5) {
    grid-column: 1; } }

@media screen and (min-width: 81.25em) {
  .product-grid-module.multimedia-right .content-container .stock-indicator {
    grid-column: 1; } }

@media screen and (min-width: 81.25em) {
  .product-grid-module.multimedia-right .content-container .quantity-container {
    grid-column: 1 / span 2; } }

@media screen and (min-width: 81.25em) {
  .product-grid-module.multimedia-right .content-container .unit-of-measure {
    grid-column: 1; } }

@media screen and (min-width: 81.25em) {
  .product-grid-module.multimedia-right .content-container .not-logged-in-container, .product-grid-module.multimedia-right .content-container .stockline-view-button, .product-grid-module.multimedia-right .content-container .enquiry-button-container {
    grid-column: 1 / span 2; } }

.product-grid-module.multimedia-right .collection-item.ebg .content-container .description {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 20px 17.5px; }
  @media screen and (min-width: 81.25em) {
    .product-grid-module.multimedia-right .collection-item.ebg .content-container .description {
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start;
      text-align: left; } }

.product-grid-module.multimedia-right .collection-item.ebg .content-container .price {
  display: none; }

.product-grid-module.multimedia-right .collection-item .content-container {
  padding: 10px;
  gap: 10px 0; }
  .product-grid-module.multimedia-right .collection-item .content-container:hover {
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
    -webkit-transition: -webkit-box-shadow 0.6s;
    transition: -webkit-box-shadow 0.6s;
    transition: box-shadow 0.6s;
    transition: box-shadow 0.6s, -webkit-box-shadow 0.6s; }
  @media print, screen and (min-width: 40em) {
    .product-grid-module.multimedia-right .collection-item .content-container {
      padding: 5px; } }
  @media screen and (min-width: 81.25em) {
    .product-grid-module.multimedia-right .collection-item .content-container {
      display: grid;
      grid-template-columns: calc(60% - 10px) calc(40% - 10px);
      grid-gap: 0 20px;
      -webkit-box-flex: 1;
          -ms-flex-positive: 1;
              flex-grow: 1;
      padding: 5px; } }
  .product-grid-module.multimedia-right .collection-item .content-container > a:first-child {
    -ms-flex-item-align: start;
        align-self: start; }
  .product-grid-module.multimedia-right .collection-item .content-container.product:has(span.image) > a:nth-child(2) {
    padding-top: 10px; }
  .product-grid-module.multimedia-right .collection-item .content-container.product .description {
    padding-top: 0;
    padding-bottom: 0; }
  .product-grid-module.multimedia-right .collection-item .content-container .callbackContainer {
    grid-column: 2;
    margin-top: 10px; }
  .product-grid-module.multimedia-right .collection-item .content-container p {
    margin: 0; }
  .product-grid-module.multimedia-right .collection-item .content-container .group-description {
    padding-top: 0;
    padding-bottom: 0; }
  .product-grid-module.multimedia-right .collection-item .content-container .image {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    margin: 0; }
    @media screen and (min-width: 81.25em) {
      .product-grid-module.multimedia-right .collection-item .content-container .image {
        -webkit-box-align: start;
            -ms-flex-align: start;
                align-items: flex-start; } }
    .product-grid-module.multimedia-right .collection-item .content-container .image img {
      margin: 0; }
  .product-grid-module.multimedia-right .collection-item .content-container .description, .product-grid-module.multimedia-right .collection-item .content-container .code, .product-grid-module.multimedia-right .collection-item .content-container .prices, .product-grid-module.multimedia-right .collection-item .content-container .stock-indicator {
    padding-top: 10px;
    padding-right: 0;
    padding-bottom: 10px;
    padding-left: 0; }
  .product-grid-module.multimedia-right .collection-item .content-container form {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-flow: row wrap;
            flex-flow: row wrap; }
    @media screen and (min-width: 81.25em) {
      .product-grid-module.multimedia-right .collection-item .content-container form {
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center; } }
  .product-grid-module.multimedia-right .collection-item .content-container [data-content-container] {
    height: 125px; }
    @media screen and (min-width: 81.25em) {
      .product-grid-module.multimedia-right .collection-item .content-container [data-content-container] {
        height: auto; } }
  .product-grid-module.multimedia-right .collection-item .content-container .read-more-content {
    height: 100%; }
  .product-grid-module.multimedia-right .collection-item .content-container .not-logged-in-container, .product-grid-module.multimedia-right .collection-item .content-container .stockline-view-button, .product-grid-module.multimedia-right .collection-item .content-container .enquiry-button-container {
    margin-right: auto;
    margin-left: auto; }
    @media screen and (min-width: 81.25em) {
      .product-grid-module.multimedia-right .collection-item .content-container .not-logged-in-container, .product-grid-module.multimedia-right .collection-item .content-container .stockline-view-button, .product-grid-module.multimedia-right .collection-item .content-container .enquiry-button-container {
        width: 76%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: end;
            -ms-flex-align: end;
                align-items: flex-end; } }

.product-grid-module.multimedia-left .collection-item.ebg .content-container a:first-child {
  grid-row: 1; }

@media screen and (min-width: 81.25em) {
  .product-grid-module.multimedia-left .collection-item.ebg .content-container a.description {
    grid-row: 1; } }

@media screen and (min-width: 81.25em) {
  .product-grid-module.multimedia-left .content-container [data-content-container] {
    grid-row: 1 / span 4; } }

@media screen and (min-width: 81.25em) {
  .product-grid-module.multimedia-left .content-container a:first-child {
    grid-column: 1;
    grid-row: 1 / span 4; } }

@media screen and (min-width: 81.25em) {
  .product-grid-module.multimedia-left .content-container a:nth-child(2) {
    grid-column: 2; } }

@media screen and (min-width: 81.25em) {
  .product-grid-module.multimedia-left .content-container a:nth-child(3) {
    grid-column: 2; } }

@media screen and (min-width: 81.25em) {
  .product-grid-module.multimedia-left .content-container a:nth-child(4) {
    grid-column: 2; } }

@media screen and (min-width: 81.25em) {
  .product-grid-module.multimedia-left .content-container a:nth-child(5) {
    grid-column: 2; } }

@media screen and (min-width: 81.25em) {
  .product-grid-module.multimedia-left .content-container .stock-indicator {
    grid-column: 2; } }

@media screen and (min-width: 81.25em) {
  .product-grid-module.multimedia-left .content-container .quantity-container {
    grid-column: 1 / span 2; } }

@media screen and (min-width: 81.25em) {
  .product-grid-module.multimedia-left .content-container .unit-of-measure {
    grid-column: 2; } }

@media screen and (min-width: 81.25em) {
  .product-grid-module.multimedia-left .content-container .not-logged-in-container, .product-grid-module.multimedia-left .content-container .stockline-view-button, .product-grid-module.multimedia-left .content-container .enquiry-button-container {
    grid-column: 1 / span 2; } }

.product-grid-module.multimedia-left .collection-item.ebg .description {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 20px 17.5px; }
  @media screen and (min-width: 81.25em) {
    .product-grid-module.multimedia-left .collection-item.ebg .description {
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start;
      text-align: left; } }

.product-grid-module.multimedia-left .collection-item.ebg .price {
  display: none; }

.product-grid-module.multimedia-left .content-container {
  gap: 10px 0; }
  @media print, screen and (min-width: 40em) {
    .product-grid-module.multimedia-left .content-container {
      padding: 5px; } }
  @media screen and (min-width: 81.25em) {
    .product-grid-module.multimedia-left .content-container {
      display: grid;
      grid-template-columns: calc(40% - 10px) calc(60% - 10px);
      grid-gap: 0 20px;
      -webkit-box-flex: 1;
          -ms-flex-positive: 1;
              flex-grow: 1; } }
  .product-grid-module.multimedia-left .content-container > a:first-child {
    -ms-flex-item-align: start;
        align-self: start; }
  .product-grid-module.multimedia-left .content-container.product:has(span.image) > a:nth-child(2) {
    padding-top: 10px; }
  .product-grid-module.multimedia-left .content-container.product .description {
    padding-top: 0;
    padding-bottom: 0; }
  .product-grid-module.multimedia-left .content-container .callbackContainer {
    grid-column: 2;
    margin-top: 10px; }
  .product-grid-module.multimedia-left .content-container p {
    margin: 0; }
  .product-grid-module.multimedia-left .content-container .group-description {
    padding-top: 0;
    padding-bottom: 0; }
  .product-grid-module.multimedia-left .content-container .description {
    text-align: left; }
  .product-grid-module.multimedia-left .content-container .image {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    margin: 0; }
    @media screen and (min-width: 81.25em) {
      .product-grid-module.multimedia-left .content-container .image {
        -webkit-box-align: start;
            -ms-flex-align: start;
                align-items: flex-start; } }
    .product-grid-module.multimedia-left .content-container .image img {
      margin: 0; }
  .product-grid-module.multimedia-left .content-container .code {
    padding-right: 10px;
    padding-left: 10px;
    text-align: left; }
  .product-grid-module.multimedia-left .content-container .prices {
    padding-right: 10px;
    padding-left: 10px; }
    .product-grid-module.multimedia-left .content-container .prices .price-container {
      text-align: left;
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start; }
  .product-grid-module.multimedia-left .content-container .stock-indicator {
    margin-top: auto;
    padding: 0 10px;
    text-align: left; }
  .product-grid-module.multimedia-left .content-container form {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-flow: row wrap;
            flex-flow: row wrap; }
    @media screen and (min-width: 81.25em) {
      .product-grid-module.multimedia-left .content-container form {
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center; } }
  .product-grid-module.multimedia-left .content-container .not-logged-in-container, .product-grid-module.multimedia-left .content-container .stockline-view-button, .product-grid-module.multimedia-left .content-container .enquiry-button-container {
    margin-right: auto;
    margin-left: auto; }
    @media screen and (min-width: 81.25em) {
      .product-grid-module.multimedia-left .content-container .not-logged-in-container, .product-grid-module.multimedia-left .content-container .stockline-view-button, .product-grid-module.multimedia-left .content-container .enquiry-button-container {
        width: 76%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: end;
            -ms-flex-align: end;
                align-items: flex-end; } }
  .product-grid-module.multimedia-left .content-container [data-content-container] {
    height: 125px; }
    @media screen and (min-width: 81.25em) {
      .product-grid-module.multimedia-left .content-container [data-content-container] {
        height: auto; } }
  .product-grid-module.multimedia-left .content-container .read-more-content {
    height: 100%; }

.product-grid-module.multimedia-bottom .content-container > a:first-of-type {
  padding-top: 10px;
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1; }

.product-grid-module.multimedia-bottom .image {
  margin: 0; }

.product-grid-module.minified-layout .collection-item.ebg .content-container a:first-child {
  grid-row: 1; }

@media screen and (min-width: 81.25em) {
  .product-grid-module.minified-layout .collection-item.ebg .content-container a.description {
    grid-row: 1; } }

@media screen and (min-width: 81.25em) {
  .product-grid-module.minified-layout .content-container [data-content-container] {
    grid-row: 1 / span 4; } }

@media screen and (min-width: 81.25em) {
  .product-grid-module.minified-layout .content-container a:first-child {
    grid-column: 1;
    grid-row: 1 / span 4; } }

@media screen and (min-width: 81.25em) {
  .product-grid-module.minified-layout .content-container a:nth-child(2) {
    grid-column: 2; } }

@media screen and (min-width: 81.25em) {
  .product-grid-module.minified-layout .content-container a:nth-child(3) {
    grid-column: 2; } }

@media screen and (min-width: 81.25em) {
  .product-grid-module.minified-layout .content-container a:nth-child(4) {
    grid-column: 2; } }

@media screen and (min-width: 81.25em) {
  .product-grid-module.minified-layout .content-container a:nth-child(5) {
    grid-column: 2; } }

@media screen and (min-width: 81.25em) {
  .product-grid-module.minified-layout .content-container .stock-indicator {
    grid-column: 2; } }

@media screen and (min-width: 81.25em) {
  .product-grid-module.minified-layout .content-container .quantity-container {
    grid-column: 1 / span 2; } }

@media screen and (min-width: 81.25em) {
  .product-grid-module.minified-layout .content-container .unit-of-measure {
    grid-column: 2; } }

@media screen and (min-width: 81.25em) {
  .product-grid-module.minified-layout .content-container .not-logged-in-container, .product-grid-module.minified-layout .content-container .stockline-view-button, .product-grid-module.minified-layout .content-container .enquiry-button-container {
    grid-column: 1 / span 2; } }

.product-grid-module.minified-layout .content-container.product {
  padding: 5px; }

@media screen and (min-width: 81.25em) {
  .product-grid-module.minified-layout .content-container {
    display: grid;
    grid-template-columns: 110px 1fr; } }

.product-grid-module.minified-layout .content-container > a:first-of-type {
  padding-top: 0; }

.product-grid-module.minified-layout .collection-item.ebg .content-container {
  padding: 0; }

.product-grid-module.minified-layout .collection-item.ebg .description {
  height: 100%;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  padding: 10px 20px 10px;
  text-align: left; }

.product-grid-module.minified-layout .image {
  width: 110px;
  margin: 0; }

.product-grid-module.minified-layout .description, .product-grid-module.minified-layout a:first-child {
  -ms-flex-item-align: center;
      align-self: center;
  padding: 25px 20px;
  text-align: left; }

.product-grid-module .image-container {
  width: 100%;
  display: block;
  text-align: center;
  -webkit-transition: opacity 0.8s;
  transition: opacity 0.8s; }
  .product-grid-module .image-container:hover {
    opacity: 0.5;
    -webkit-transition: opacity 0.6s;
    transition: opacity 0.6s; }

.product-grid-module [data-content-container] {
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start; }
  .product-grid-module [data-content-container]:has(.read-more) {
    height: 300px; }
  .product-grid-module [data-content-container] a {
    max-height: 100%; }
  .product-grid-module [data-content-container] p {
    margin: 0;
    padding: 0; }

.product-grid-module .collection-item.ebg:has(.description:empty) .content-container {
  padding-bottom: 0; }

.product-grid-module .collection-item.ebg:hover .description {
  background-color: #ffffff;
  -webkit-transition: background-color 0.6s;
  transition: background-color 0.6s;
  color: #ae9461; }

.product-grid-module .collection-item.ebg:active .description {
  background-color: transparent;
  color: #50506d; }

.product-grid-module .collection-item.ebg .content-container {
  background-color: #ffffff; }

.product-grid-module .collection-item.ebg .description {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
  font-size: 1.125rem;
  font-weight: 300;
  background-color: #50506d;
  color: #ffffff;
  text-transform: uppercase;
  -webkit-transition: background-color 0.8s;
  transition: background-color 0.8s; }
  .product-grid-module .collection-item.ebg .description:not(:empty) {
    margin: 0;
    padding: 20px 5px; }

.product-grid-module .content-container {
  height: 100%;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  border-radius: 0;
  text-align: left;
  height: 100%;
  position: relative;
  margin: auto;
  -webkit-transition: -webkit-box-shadow 0.8s;
  transition: -webkit-box-shadow 0.8s;
  transition: box-shadow 0.8s;
  transition: box-shadow 0.8s, -webkit-box-shadow 0.8s; }
  @media screen and (min-width: 81.25em) {
    .product-grid-module .content-container {
      width: 100%; } }
  .product-grid-module .content-container .code {
    padding-right: 10px;
    padding-left: 10px; }
    .product-grid-module .content-container .code:not(:empty) + .description {
      padding-top: 0; }
  .product-grid-module .content-container .description {
    padding: 10px 0; }
  .product-grid-module .content-container .specification {
    padding-right: 10px;
    padding-left: 10px; }
    .product-grid-module .content-container .specification:not(:empty) {
      margin-bottom: 10px; }
  .product-grid-module .content-container .prices {
    padding-right: 10px;
    padding-left: 10px; }
  .product-grid-module .content-container .stock-indicator {
    margin-top: auto;
    padding: 10px 10px;
    text-align: left; }
    .product-grid-module .content-container .stock-indicator + .not-logged-in-container {
      margin-top: 0; }
    .product-grid-module .content-container .stock-indicator a {
      -webkit-box-pack: left;
          -ms-flex-pack: left;
              justify-content: left; }
    .product-grid-module .content-container .stock-indicator button {
      -webkit-box-align: baseline;
          -ms-flex-align: baseline;
              align-items: baseline;
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start; }
  .product-grid-module .content-container .quantity-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 10px;
    padding: 15px 10px 0; }
    @media screen and (min-width: 81.25em) {
      .product-grid-module .content-container .quantity-container {
        -webkit-box-pack: start;
            -ms-flex-pack: start;
                justify-content: flex-start;
        gap: 5px; } }
  .product-grid-module .content-container .prices + .not-logged-in-container, .product-grid-module .content-container .prices + .stockline-view-button, .product-grid-module .content-container .prices + .enquiry-button-container {
    margin-top: 10px; }
  .product-grid-module .content-container .not-logged-in-container, .product-grid-module .content-container .stockline-view-button, .product-grid-module .content-container .enquiry-button-container {
    width: 66%;
    margin: auto auto 0; }
  .product-grid-module .content-container.minified .image {
    width: 110px; }
  .product-grid-module .content-container:hover .description, .product-grid-module .content-container:hover .read-more {
    color: #ae9461;
    text-decoration: none;
    -webkit-transition: color 0.6s;
    transition: color 0.6s; }
  .product-grid-module .content-container:active .description {
    color: #50506d; }
  .product-grid-module .content-container.image {
    background-color: transparent; }
  .product-grid-module .content-container.product {
    padding-bottom: 20px;
    background-color: #ffffff; }
    .product-grid-module .content-container.product .group-description {
      padding: 10px 10px 5px; }
    .product-grid-module .content-container.product a.group-description + a:has(.description) .description {
      padding-top: 0; }
    .product-grid-module .content-container.product .description {
      padding: 15px 10px; }
      .product-grid-module .content-container.product .description:is(:empty) {
        padding: 0; }
  .product-grid-module .content-container:hover {
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
    -webkit-transition: -webkit-box-shadow 0.6s;
    transition: -webkit-box-shadow 0.6s;
    transition: box-shadow 0.6s;
    transition: box-shadow 0.6s, -webkit-box-shadow 0.6s; }

.product-grid-module .collection-image-container {
  width: 100%; }

.product-grid-module .image {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0 auto 0; }
  @media screen and (min-width: 81.25em) {
    .product-grid-module .image {
      margin: 0; } }
  .product-grid-module .image img {
    -ms-flex-negative: 0;
        flex-shrink: 0; }

.product-grid-module .label-value-pair-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding-top: 5px;
  padding-right: 10px;
  padding-left: 10px; }
  .product-grid-module .label-value-pair-container .label {
    color: #000000;
    font-weight: 600;
    font-size: 0.875rem; }
  .product-grid-module .label-value-pair-container .value {
    margin-left: auto;
    color: #000000;
    font-size: 0.875rem; }

.product-grid-module .department-description {
  color: var(--primary-colour-lightness-0, #06052f);
  font-family: "Gibson", "Gibson Fallback", "Arial";
  font-size: 0.8125rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 2px;
  line-height: 1.6;
  -webkit-transition: color 0.8s;
  transition: color 0.8s; }
  .product-grid-module .department-description:hover {
    color: var(--neutral-colour-lightness-0);
    text-decoration: underline;
    -webkit-transition: color 0.6s;
    transition: color 0.6s; }

.product-grid-module .group-description {
  color: #ffffff;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.2; }
  .product-grid-module .group-description:hover {
    color: #06052f;
    text-decoration: underline; }
  .product-grid-module .group-description:active {
    color: #000000; }

.product-grid-module .description {
  color: #06052f;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.2;
  text-transform: uppercase;
  -webkit-transition: color 0.8s;
  transition: color 0.8s; }
  .product-grid-module .description p {
    margin: 0;
    padding: 0; }

.product-grid-module .read-more {
  color: #06052f; }

.product-grid-module .specification p {
  margin: 0;
  padding: 0; }

.product-grid-module .code {
  color: #888888;
  font-size: 0.9375rem; }

@media print, screen and (max-width: 81.24875em) {
  .product-grid-module .col-label + .prices p:only-child .label {
    display: none; } }

@media print, screen and (max-width: 81.24875em) {
  .product-grid-module .col-label + .prices p:only-child .label + .value {
    margin-left: 0; } }

.product-grid-module .prices {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  font-size: 1rem; }
  .product-grid-module .prices p {
    margin: 0;
    font-weight: 400; }
  .product-grid-module .prices .price-container {
    width: 100%;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
    text-align: left;
    line-height: 1.2; }
    .product-grid-module .prices .price-container:has(.vat) {
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
    .product-grid-module .prices .price-container .label {
      color: #000000;
      font-weight: 400; }
      .product-grid-module .prices .price-container .label:not(:empty) {
        margin-right: 5px; }
      .product-grid-module .prices .price-container .label ~ .vat {
        width: 100%;
        padding: 0 0 0 5px;
        text-align: right; }
        @media print, screen and (min-width: 40em) {
          .product-grid-module .prices .price-container .label ~ .vat {
            width: -webkit-fit-content;
            width: -moz-fit-content;
            width: fit-content; } }
    .product-grid-module .prices .price-container .value {
      color: #06052f;
      font-weight: 400; }
      @media screen and (min-width: 81.25em) {
        .product-grid-module .prices .price-container .value {
          text-align: right; } }
    .product-grid-module .prices .price-container.saving .label, .product-grid-module .prices .price-container.saving .value {
      color: #000000;
      font-weight: 400;
      text-transform: uppercase; }
    .product-grid-module .prices .price-container.rrp .label, .product-grid-module .prices .price-container.rrp .value {
      color: #000000;
      font-weight: 400;
      font-size: 1rem;
      text-transform: uppercase; }
    .product-grid-module .prices .price-container .label + .value {
      margin-right: 0;
      margin-left: auto;
      text-align: right; }

.product-grid-module .price-container .value {
  font-size: 1rem; }

.product-grid-module .price-container .label, .product-grid-module .price-container .value {
  font-family: "Gibson", "Gibson Fallback", "Arial"; }

.product-grid-module .price {
  margin: 0; }
  .product-grid-module .price .currency {
    font-size: 1.625rem; }

.product-grid-module .vat {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: inline-block;
  padding-left: 10px;
  color: #777777;
  font-size: 0.75rem;
  font-weight: 400;
  text-align: left;
  white-space: nowrap; }

.product-grid-module form, .product-grid-module .not-logged-in-container, .product-grid-module .stockline-view-button {
  margin: auto 0 0; }

.product-grid-module .addToBasket.icon {
  margin: 0; }

.product-grid-module .favouritesContainer {
  display: inline-block; }

.product-grid-module .quantity-container .control.select {
  max-width: 80px;
  width: 100%;
  display: inline-block;
  margin: 0 10px 0 0; }
  .product-grid-module .quantity-container .control.select .label {
    display: none; }
  .product-grid-module .quantity-container .control.select .control-select-dropdown {
    width: 80px; }

.product-grid-module .quantity-free-text-container {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  .product-grid-module .quantity-free-text-container .label {
    display: none; }

.product-grid-module .content-container > a:first-of-type, .product-carousel-module .content-container > a:first-of-type {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0; }
  .product-grid-module .content-container > a:first-of-type:not(:has(img)), .product-carousel-module .content-container > a:first-of-type:not(:has(img)) {
    display: none; }

.product-carousel-module .collection-item:not(.ebg) .content-container.product, .product-grid-module .collection-item:not(.ebg) .content-container.product {
  padding-bottom: 20px;
  border-width: 0 0 5px 0;
  border-color: #dadada;
  border-style: solid;
  -webkit-transition: border-color 0.8s;
  transition: border-color 0.8s; }
  .product-carousel-module .collection-item:not(.ebg) .content-container.product:hover, .product-grid-module .collection-item:not(.ebg) .content-container.product:hover {
    border-color: #06052f;
    -webkit-transition: border-color 0.6s;
    transition: border-color 0.6s; }

.image-grid-module .cell {
  padding-left: 0.625rem;
  padding-right: 0.625rem;
  margin-bottom: 20px; }

.image-grid-module .image {
  text-align: center; }

.image-grid-module .content-container {
  margin: auto; }

.module-content-container:not([style*="background-color: transparent;"]) {
  margin: 0;
  padding: 10px;
  border-radius: 0; }
  @media print, screen and (min-width: 40em) {
    .module-content-container:not([style*="background-color: transparent;"]) {
      padding: 10px; } }
  @media screen and (min-width: 81.25em) {
    .module-content-container:not([style*="background-color: transparent;"]) {
      padding: 15px; } }

.cms-module {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1; }
  .cms-module h1 {
    margin: 0 0 35px;
    font-size: 2.125rem;
    font-weight: 400;
    font-style: normal;
    color: #06052f;
    line-height: 1.4;
    background-color: transparent; }
    .cms-module h1:first-child {
      margin-top: 0; }
    .cms-module h1:only-child {
      margin: 0; }
  .cms-module h2 {
    margin: 0 0 20px;
    font-size: 1.25rem;
    font-weight: 600;
    font-style: normal;
    color: #06052f;
    line-height: 1.4; }
    .cms-module h2:first-child {
      margin-top: 0; }
    .cms-module h2:only-child {
      margin: 0; }
  .cms-module h3 {
    margin: 0 0 20px;
    padding: 15px 0;
    font-size: 1.125rem;
    font-weight: 600;
    font-style: normal;
    color: #06052f;
    line-height: 1.4; }
    .cms-module h3:first-child {
      margin-top: 0; }
    .cms-module h3:only-child {
      margin: 0; }
  .cms-module h4 {
    margin: 0 0 20px;
    padding: 0 0 10px;
    font-size: 1.2rem;
    font-weight: 500;
    font-style: normal;
    color: #06052f;
    line-height: 1.4; }
    .cms-module h4:first-child {
      margin-top: 0; }
    .cms-module h4:only-child {
      margin: 0; }
  .cms-module h5 {
    margin: 0 0 20px;
    font-size: 1rem;
    font-weight: 600;
    font-style: normal;
    color: #06052f;
    line-height: 1.4; }
    .cms-module h5:first-child {
      margin-top: 0; }
    .cms-module h5:only-child {
      margin: 0; }
  .cms-module h6 {
    margin: 0 0 20px;
    font-size: 1rem;
    font-weight: 600;
    font-style: normal;
    color: #06052f;
    line-height: 1.4; }
    .cms-module h6:first-child {
      margin-top: 0; }
    .cms-module h6:only-child {
      margin: 0; }
  .cms-module p {
    margin: var(--indent-margin, 0);
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.6;
    color: #777777; }
    .cms-module p img[style*="float:left"], .cms-module p img[style*="float: left"], .cms-module p[style*="float:left"] > img {
      margin: .2em .2em .2em 0; }
    .cms-module p img[style*="float:right"], .cms-module p img[style*="float: right"], .cms-module p[style*="float:right"] > img {
      margin: .2em 0 .2em .2em; }
    .cms-module p img {
      margin: .2em 0; }
    .cms-module p + p {
      margin-top: 0;
      margin-bottom: 0; }
  .cms-module ul, .cms-module ol {
    text-align: left; }
  .cms-module ul {
    margin: 10px;
    padding: 0;
    line-height: 1.6;
    list-style: none;
    line-height: 25px; }
    .cms-module ul ul {
      padding-top: 0;
      padding-bottom: 0;
      padding-left: 25px; }
    .cms-module ul li {
      position: relative;
      padding: 0 0 0 15px; }
      .cms-module ul li:before {
        content: '';
        width: 5px;
        height: 5px;
        position: absolute;
        top: 10px;
        left: 0;
        margin: auto;
        display: block;
        background-color: #06052f;
        border-radius: 5px; }
  .cms-module ol {
    margin: 10px;
    padding: 0 25px;
    line-height: 1.6; }
    .cms-module ol ol {
      margin: 0;
      padding-top: 0;
      padding-bottom: 0;
      list-style-type: lower-alpha; }
      .cms-module ol ol ol {
        list-style-type: lower-roman; }
        .cms-module ol ol ol ol {
          list-style-type: lower-alpha; }
          .cms-module ol ol ol ol ol {
            list-style-type: lower-roman; }
  .cms-module li {
    color: #777777;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.6; }
  .cms-module ul + h1, .cms-module ol + h1 {
    margin-top: 35px; }
  .cms-module ul + h2, .cms-module ol + h2 {
    margin-top: 20px; }
  .cms-module ul + h3, .cms-module ol + h3 {
    margin-top: 20px; }
  .cms-module ul + h4, .cms-module ol + h4 {
    margin-top: 20px; }
  .cms-module ul + h5, .cms-module ol + h5 {
    margin-top: 20px; }
  .cms-module ul + h6, .cms-module ol + h6 {
    margin-top: 20px; }
  .cms-module dl {
    text-align: left; }
  .cms-module p:not(:empty) + table, .cms-module p:not(:empty) + .comparison-table-container {
    margin: 15px 0; }
  .cms-module table {
    --thead-border-colour: $thead-border-colour;
    max-width: 100%;
    margin-bottom: 0; }
    .cms-module table:not([class*=preset]) thead {
      background-color: transparent; }
      .cms-module table:not([class*=preset]) thead tr {
        border-bottom: 1px solid var(--thead-border-colour); }
      .cms-module table:not([class*=preset]) thead th {
        font-weight: 600; }
    .cms-module table.responsive-table {
      display: block; }
      @media screen and (min-width: 81.25em) {
        .cms-module table.responsive-table {
          display: table; } }
      .cms-module table.responsive-table:not([class*=preset]) thead {
        display: none; }
        @media screen and (min-width: 81.25em) {
          .cms-module table.responsive-table:not([class*=preset]) thead {
            display: table-row-group; } }
      .cms-module table.responsive-table tbody:not(.comparison-summary) {
        display: block; }
        @media screen and (min-width: 81.25em) {
          .cms-module table.responsive-table tbody:not(.comparison-summary) {
            display: table-row-group; } }
    .cms-module table th {
      padding: 10px 10px 10px; }
    @media screen and (min-width: 81.25em) {
      .cms-module table td {
        padding: 10px; } }
    .cms-module table thead[class*="preset"] + tbody:before {
      content: '';
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; }
      @media screen and (min-width: 81.25em) {
        .cms-module table thead[class*="preset"] + tbody:before {
          margin: 10px; } }
    .cms-module table tbody {
      background-color: transparent; }
      .cms-module table tbody th {
        background-color: transparent; }
      .cms-module table tbody tr:not(:last-child) th {
        border-bottom: 1px solid transparent; }
      @media screen and (min-width: 81.25em) {
        .cms-module table tbody tr {
          display: table-row; } }
    .cms-module table .col-label {
      color: #777777; }
    @media print, screen and (max-width: 81.24875em) {
      .cms-module table.responsive-table tbody tr {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column; } }
    @media print, screen and (max-width: 81.24875em) {
      .cms-module table.responsive-table tbody tr:not(:last-child) {
        margin-bottom: 10px;
        padding-bottom: 10px;
        border-bottom: 1px solid #eeeeee; } }
    .cms-module table.no-wrap {
      display: block;
      white-space: nowrap;
      overflow-x: auto; }
    .cms-module table.comparison-table tbody td:first-child {
      color: #777777;
      font-weight: 600; }
  .cms-module blockquote {
    width: 100%;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 15px;
    margin: 0 auto 40px;
    padding: 50px 30px;
    border: 1px solid transparent;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
    text-align: center;
    font-family: "Gibson", "Gibson Fallback", "Arial";
    font-size: 1rem;
    -webkit-transition: border-color 0.8s, -webkit-box-shadow 0.8s;
    transition: border-color 0.8s, -webkit-box-shadow 0.8s;
    transition: box-shadow 0.8s, border-color 0.8s;
    transition: box-shadow 0.8s, border-color 0.8s, -webkit-box-shadow 0.8s; }
    @media screen and (min-width: 81.25em) {
      .cms-module blockquote {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row;
        gap: 25px; } }
    .cms-module blockquote:hover {
      -webkit-box-shadow: none;
              box-shadow: none;
      border-color: #eeeeee;
      -webkit-transition: border-color 0.6s, -webkit-box-shadow 0.6s;
      transition: border-color 0.6s, -webkit-box-shadow 0.6s;
      transition: box-shadow 0.6s, border-color 0.6s;
      transition: box-shadow 0.6s, border-color 0.6s, -webkit-box-shadow 0.6s; }
      .cms-module blockquote:hover:before {
        color: #dadada;
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
    .cms-module blockquote:has(img) {
      text-align: left; }
    .cms-module blockquote:last-of-type {
      margin-bottom: 40px; }
    @media screen and (min-width: 81.25em) {
      .cms-module blockquote {
        padding: 50px 60px; } }
    .cms-module blockquote + blockquote {
      margin-top: 15px; }
    .cms-module blockquote:before, .cms-module blockquote:after {
      content: "";
      position: absolute;
      display: inline-block;
      padding: 10px;
      font-size: 40px;
      color: #eeeeee;
      font-family: "Font Awesome Solid";
      line-height: .8;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
    .cms-module blockquote:before {
      top: 0;
      left: 0; }
    .cms-module blockquote:after {
      right: 0;
      bottom: 0;
      -webkit-transform: rotate(180deg);
              transform: rotate(180deg); }
    .cms-module blockquote img {
      float: left; }
      @media screen and (min-width: 81.25em) {
        .cms-module blockquote img {
          text-align: left; } }
  .cms-module div.gallary {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin: 10px 0 20px; }
    .cms-module div.gallary.cell-gutters {
      gap: 10px; }
    .cms-module div.gallary > img {
      -webkit-box-flex: 1;
          -ms-flex-positive: 1;
              flex-grow: 1; }
    .cms-module div.gallary a {
      -webkit-box-flex: 1;
          -ms-flex-positive: 1;
              flex-grow: 1; }
      .cms-module div.gallary a img {
        width: 100%; }
  .cms-module iframe[src*="https://www.youtube.com/"] {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    border-radius: 0; }
  .cms-module code {
    max-height: 500px;
    position: relative;
    padding: 10px 10px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin: 0 0 40px;
    background-color: #f3f3f3;
    border: 1px solid #888888;
    font-size: 0.9375rem;
    line-height: 40px;
    text-align: left;
    white-space: pre-wrap;
    overflow-y: auto;
    -webkit-transition: border-color 0.8s;
    transition: border-color 0.8s; }
    @media screen and (min-width: 81.25em) {
      .cms-module code {
        padding: 10px 35px; } }
    .cms-module code:hover {
      border-color: #777777;
      -webkit-transition: border-color 0.6s;
      transition: border-color 0.6s; }
    .cms-module code .code-copy-button-container {
      position: -webkit-sticky;
      position: sticky;
      top: 0;
      left: calc(100% - 15px);
      white-space: normal; }
    .cms-module code .code-copy-button {
      position: absolute;
      top: 0;
      padding: 8px;
      display: block;
      background-color: #888888;
      -webkit-transition: background-color 0.8s, padding 0.8s, opacity 0.8s;
      transition: background-color 0.8s, padding 0.8s, opacity 0.8s; }
      .cms-module code .code-copy-button:before {
        content: "";
        font-family: "Font Awesome Regular";
        font-size: 14px;
        color: #ffffff;
        -webkit-transition: color 0.8s, font-size 0.8s;
        transition: color 0.8s, font-size 0.8s; }
      .cms-module code .code-copy-button:hover {
        background-color: #06052f;
        -webkit-transition: background-color 0.6s;
        transition: background-color 0.6s; }
      .cms-module code .code-copy-button.active, .cms-module code .code-copy-button:active {
        background-color: #06052f; }
        .cms-module code .code-copy-button.active:before, .cms-module code .code-copy-button:active:before {
          font-family: "Font Awesome Solid"; }
      .cms-module code .code-copy-button.active {
        padding: 12px;
        opacity: .4;
        -webkit-transition: padding 0.6s, opacity 0.6s;
        transition: padding 0.6s, opacity 0.6s; }
        .cms-module code .code-copy-button.active:before {
          font-size: 16px;
          -webkit-transition: font-size 0.6s;
          transition: font-size 0.6s; }
  @media screen and (min-width: 81.25em) {
    .cms-module {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row; } }
  .cms-module a:hover h2 {
    -webkit-text-decoration: false, none, underline;
            text-decoration: false, none, underline;
    color: #ae9461;
    -webkit-transition: color 0.6s;
    transition: color 0.6s; }
  .cms-module a:hover h3 {
    -webkit-text-decoration: false, none, underline;
            text-decoration: false, none, underline; }
  .cms-module h2 {
    line-height: 1.2; }
  .cms-module .content-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1; }
    .cms-module .content-container .content-heading {
      width: 100%;
      display: block; }
  .cms-module.events-module {
    gap: 25px;
    padding: 20px; }
    @media screen and (min-width: 81.25em) {
      .cms-module.events-module {
        display: grid;
        /** Work out the column width, this was originally designed for a 2 column layout which goes down to a single column in the following situations
            - In mobile
            - When the module container is no longer wide enough to show to columns with a width of the calculated column width bellow.
            **/
        grid-template-columns: repeat(auto-fit, minmax(-webkit-min-content, 560px));
        grid-template-columns: repeat(auto-fit, minmax(min-content, 560px));
        padding: 40px;
        gap: 50px; } }
    .cms-module.events-module h3 {
      margin: 0 0 20px;
      padding: 0; }
      @media screen and (min-width: 81.25em) {
        .cms-module.events-module h3 {
          margin: 0 0 40px; } }
    .cms-module.events-module .content-container {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-ordinal-group: 3;
          -ms-flex-order: 2;
              order: 2; }
    .cms-module.events-module .content-banner {
      width: 100%;
      -webkit-box-ordinal-group: 2;
          -ms-flex-order: 1;
              order: 1; }
      @media screen and (min-width: 81.25em) {
        .cms-module.events-module .content-banner {
          height: 550px; } }
      @media screen and (min-width: 81.25em) {
        .cms-module.events-module .content-banner img {
          -o-object-fit: cover;
             object-fit: cover;
          -o-object-position: center;
             object-position: center; } }
    .cms-module.events-module .read-more-content p {
      font-size: 1rem;
      font-weight: 400; }
  .cms-module.blog-module {
    margin-top: 15px;
    margin-bottom: 15px;
    margin-right: 15px;
    margin-left: 15px;
    padding: 0; }
    @media screen and (min-width: 81.25em) {
      .cms-module.blog-module {
        margin-top: 25px;
        margin-bottom: 25px;
        margin-right: 50px;
        margin-left: 50px; } }
    @media screen and (min-width: 81.25em) {
      .cms-module.blog-module:has(.content-banner) .content-container {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 50%;
                flex: 0 0 50%; }
        .cms-module.blog-module:has(.content-banner) .content-container .read-more {
          max-height: unset; }
          .cms-module.blog-module:has(.content-banner) .content-container .read-more .read-more-content {
            max-height: unset; } }
    .cms-module.blog-module .content-container {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      padding: 0; }
      @media screen and (min-width: 81.25em) {
        .cms-module.blog-module .content-container {
          padding: 0 40px 0 0; } }
      .cms-module.blog-module .content-container .read-more {
        max-height: 300px; }
        .cms-module.blog-module .content-container .read-more .read-more-content {
          max-height: 300px; }
    @media screen and (min-width: 81.25em) {
      .cms-module.blog-module .content-banner {
        height: 380px;
        margin-left: auto; } }
    @media screen and (min-width: 81.25em) {
      .cms-module.blog-module .content-banner img {
        height: 100%;
        -o-object-fit: contain;
           object-fit: contain;
        -o-object-position: center;
           object-position: center;
        border-radius: 0 0 0 0; } }
    .cms-module.blog-module .read-more-content p {
      font-size: 1rem;
      font-weight: 400; }
  @media screen and (min-width: 81.25em) {
    .cms-module.news-module:has(.content-banner) .content-container {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 50%;
              flex: 0 0 50%; } }
  .cms-module.news-module .content-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-bottom: 20px; }
    @media screen and (min-width: 81.25em) {
      .cms-module.news-module .content-container {
        margin-bottom: 0; } }
  .cms-module.news-module .content-banner {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1; }
    @media screen and (min-width: 81.25em) {
      .cms-module.news-module .content-banner {
        height: 375px;
        -webkit-box-pack: end;
            -ms-flex-pack: end;
                justify-content: flex-end; } }
    @media screen and (min-width: 81.25em) {
      .cms-module.news-module .content-banner img {
        -o-object-fit: cover;
           object-fit: cover;
        -o-object-position: center;
           object-position: center; } }
    .cms-module.news-module .content-banner .image {
      width: 90%; }
      @media screen and (min-width: 81.25em) {
        .cms-module.news-module .content-banner .image {
          text-align: right; } }
  .cms-module.news-module .read-more-content p {
    font-size: 1rem;
    font-weight: 400; }
  .cms-module.news-module h3 {
    margin: 0 0 15px;
    padding: 0; }
  .cms-module.entry-module {
    padding-right: 25px;
    padding-left: 25px;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 20px;
    text-align: center; }
    @media screen and (min-width: 81.25em) {
      .cms-module.entry-module {
        padding-right: 50px;
        padding-left: 50px; } }
    @media screen and (min-width: 81.25em) {
      .cms-module.entry-module {
        gap: 40px; } }
    .cms-module.entry-module.text-align-left {
      text-align: left; }
      .cms-module.entry-module.text-align-left .read-more-button {
        -webkit-box-pack: start;
            -ms-flex-pack: start;
                justify-content: flex-start; }
    .cms-module.entry-module.text-align-right {
      text-align: right; }
      .cms-module.entry-module.text-align-right .read-more-button {
        -webkit-box-pack: end;
            -ms-flex-pack: end;
                justify-content: flex-end; }
    .cms-module.entry-module.text-align-center {
      text-align: center; }
      .cms-module.entry-module.text-align-center .read-more-button {
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center; }
    .cms-module.entry-module.multimedia-top {
      -webkit-box-orient: vertical;
      -webkit-box-direction: reverse;
          -ms-flex-direction: column-reverse;
              flex-direction: column-reverse; }
      .cms-module.entry-module.multimedia-top .content-container, .cms-module.entry-module.multimedia-top.has-image .content-container {
        -webkit-box-flex: 1;
            -ms-flex: 1;
                flex: 1; }
      .cms-module.entry-module.multimedia-top .read-more {
        max-height: 250px; }
    .cms-module.entry-module.multimedia-right {
      text-align: left; }
      @media screen and (min-width: 81.25em) {
        .cms-module.entry-module.multimedia-right:has(.content-banner) .content-container {
          -webkit-box-flex: 0;
              -ms-flex: 0 0 50%;
                  flex: 0 0 50%; } }
      @media screen and (min-width: 81.25em) {
        .cms-module.entry-module.multimedia-right .content-container {
          padding: 10px 0; } }
      @media screen and (min-width: 81.25em) {
        .cms-module.entry-module.multimedia-right .content-banner {
          -webkit-box-align: center;
              -ms-flex-align: center;
                  align-items: center; } }
      @media print, screen and (max-width: 81.24875em) {
        .cms-module.entry-module.multimedia-right .read-more {
          max-height: 250px; } }
      .cms-module.entry-module.multimedia-right .read-more-button {
        text-align: left;
        -webkit-box-pack: start;
            -ms-flex-pack: start;
                justify-content: flex-start; }
    @media screen and (min-width: 81.25em) {
      .cms-module.entry-module.multimedia-bottom {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column; } }
    .cms-module.entry-module.multimedia-bottom .content-container {
      -webkit-box-flex: 0;
          -ms-flex-positive: 0;
              flex-grow: 0; }
    .cms-module.entry-module.multimedia-bottom .read-more {
      max-height: 250px; }
    .cms-module.entry-module.multimedia-left {
      text-align: left; }
      @media screen and (min-width: 81.25em) {
        .cms-module.entry-module.multimedia-left {
          -webkit-box-orient: horizontal;
          -webkit-box-direction: reverse;
              -ms-flex-direction: row-reverse;
                  flex-direction: row-reverse; } }
      @media screen and (min-width: 81.25em) {
        .cms-module.entry-module.multimedia-left:has(.content-banner) .content-container {
          -webkit-box-flex: 0;
              -ms-flex: 0 0 50%;
                  flex: 0 0 50%; } }
      .cms-module.entry-module.multimedia-left .content-container .image {
        width: auto; }
      @media screen and (min-width: 81.25em) {
        .cms-module.entry-module.multimedia-left .content-container {
          padding: 10px 0; } }
      @media print, screen and (max-width: 81.24875em) {
        .cms-module.entry-module.multimedia-left .read-more {
          max-height: 250px; } }
      .cms-module.entry-module.multimedia-left .read-more-button {
        text-align: left;
        -webkit-box-pack: start;
            -ms-flex-pack: start;
                justify-content: flex-start; }
    @media screen and (min-width: 81.25em) {
      .cms-module.entry-module.layout-style {
        padding: 50px; } }
    .cms-module.entry-module.layout-style .content-banner {
      height: unset; }
    @media screen and (min-width: 81.25em) {
      .cms-module.entry-module.compact .content-container {
        padding-right: 40px; } }
    .cms-module.entry-module.compact .content-container ul {
      padding: 0; }
    .cms-module.entry-module.compact .content-banner {
      height: 375px; }
    @media screen and (min-width: 81.25em) {
      .cms-module.entry-module.right-aligned:has(.content-banner) .content-container, .cms-module.entry-module.left-aligned:has(.content-banner) .content-container, .cms-module.entry-module.compact:has(.content-banner) .content-container {
        width: 50%; } }
    .cms-module.entry-module.right-aligned .content-banner, .cms-module.entry-module.left-aligned .content-banner, .cms-module.entry-module.compact .content-banner {
      height: 380px;
      margin: auto; }
      @media screen and (min-width: 81.25em) {
        .cms-module.entry-module.right-aligned .content-banner img, .cms-module.entry-module.left-aligned .content-banner img, .cms-module.entry-module.compact .content-banner img {
          -o-object-fit: contain;
             object-fit: contain; } }
    .cms-module.entry-module .read-more-button {
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center; }
  .cms-module.right-aligned, .cms-module.left-aligned {
    text-align: left; }
    .cms-module.right-aligned .content-heading, .cms-module.left-aligned .content-heading {
      width: 100%;
      display: block; }
    .cms-module.right-aligned .content-container, .cms-module.left-aligned .content-container {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-flex: 1;
          -ms-flex: auto;
              flex: auto;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
    .cms-module.right-aligned .cms-content, .cms-module.left-aligned .cms-content {
      display: -webkit-inline-box;
      display: -ms-inline-flexbox;
      display: inline-flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      -webkit-box-flex: 0;
          -ms-flex: 0 0 60%;
              flex: 0 0 60%;
      -webkit-box-flex: 1;
          -ms-flex-positive: 1;
              flex-grow: 1; }
  .cms-module.right-aligned .content-container {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2; }
    @media screen and (min-width: 81.25em) {
      .cms-module.right-aligned .content-container {
        padding-left: 40px; } }
  .cms-module.right-aligned .content-banner {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    margin-bottom: 20px; }
    @media screen and (min-width: 81.25em) {
      .cms-module.right-aligned .content-banner {
        margin-bottom: 0; } }
  @media screen and (min-width: 81.25em) {
    .cms-module.left-aligned .content-container {
      padding-right: 40px; } }
  .cms-module.left-aligned .content-container + .content-banner {
    margin-top: 20px; }
    @media screen and (min-width: 81.25em) {
      .cms-module.left-aligned .content-container + .content-banner {
        margin-top: 0; } }
  .cms-module.column .content-container {
    text-align: center; }
  .cms-module.column .content-banner {
    max-width: 1080px;
    width: 100%;
    margin: 40px auto 60px; }
    .cms-module.column .content-banner img {
      max-height: 470px; }
  @media screen and (min-width: 81.25em) {
    .cms-module.column {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column; } }
  .cms-module.column-invert {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    padding-bottom: 40px; }
    .cms-module.column-invert .content-banner {
      max-width: 540px;
      width: 100%;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      margin: 0 auto 0; }
      @media screen and (min-width: 81.25em) {
        .cms-module.column-invert .content-banner {
          height: 390px; } }
  .cms-module:not(.column):not(.column-invert):not(.row-invert):not(.layout-style).has-image .content-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1; }
    @media screen and (min-width: 81.25em) {
      .cms-module:not(.column):not(.column-invert):not(.row-invert):not(.layout-style).has-image .content-container {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 50%;
                flex: 0 0 50%; } }
  .cms-module:not(.left-aligned).has-image .content-container {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column; }
  .cms-module:not(.left-aligned).column-invert .content-banner {
    margin: 0 auto 30px; }
  .cms-module:not(.left-aligned) .content-banner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
  .cms-module .content-banner {
    height: 100%;
    position: relative; }
    .cms-module .content-banner .image {
      height: 100%;
      width: 100%;
      text-align: center;
      place-content: normal; }
    .cms-module .content-banner img {
      -o-object-fit: contain;
         object-fit: contain;
      -o-object-position: top left;
         object-position: top left; }
      @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
        .cms-module .content-banner img {
          height: auto; } }
  .cms-module .read-more {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    overflow: hidden; }
  .cms-module .module-navigation {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    margin-top: auto; }
  .cms-module .read-more-button {
    line-height: 1; }
  .cms-module .blog-button, .cms-module .news-button, .cms-module .events-button {
    margin-left: auto;
    line-height: 1; }

.row-background.container-padding .cms-module.has-image:not(.column):not(.row-invert) .content-banner {
  width: 590px; }
  @media screen and (min-width: 81.25em) {
    .row-background.container-padding .cms-module.has-image:not(.column):not(.row-invert) .content-banner {
      height: 370px; } }
  .row-background.container-padding .cms-module.has-image:not(.column):not(.row-invert) .content-banner img {
    max-height: 375px; }

.row-background {
  position: relative; }
  .row-background:not([style*="background-color: transparent;"]) {
    padding-top: 10px;
    padding-bottom: 10px; }
    @media screen and (min-width: 81.25em) {
      .row-background:not([style*="background-color: transparent;"]) {
        padding-top: 15px;
        padding-bottom: 15px; } }
    .row-background:not([style*="background-color: transparent;"]) .module-background {
      margin-top: 0;
      margin-bottom: 0; }
  .row-background.remove-padding-top {
    padding-top: 0; }
    @media screen and (min-width: 81.25em) {
      .row-background.remove-padding-top {
        padding-top: 0; } }
  .row-background.remove-padding-bottom {
    padding-bottom: 0; }
    @media screen and (min-width: 81.25em) {
      .row-background.remove-padding-bottom {
        padding-bottom: 0; } }
  .row-background.remove-padding-both {
    padding-top: 0;
    padding-bottom: 0; }
    @media screen and (min-width: 81.25em) {
      .row-background.remove-padding-both {
        padding-top: 0;
        padding-bottom: 0; } }
  .row-background .row-background-image[style*="background-image"] {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    background-repeat: no-repeat;
    background-size: cover; }

.module-background {
  width: 100%;
  position: relative;
  margin-top: 10px;
  margin-bottom: 10px; }
  @media screen and (min-width: 81.25em) {
    .module-background {
      margin-top: 7.5px;
      margin-bottom: 7.5px; } }
  .module-background[style*="background-color: transparent;"] .cms-module.entry-module {
    padding-top: 15px;
    padding-bottom: 15px; }
    @media screen and (min-width: 81.25em) {
      .module-background[style*="background-color: transparent;"] .cms-module.entry-module {
        padding-top: 25px;
        padding-bottom: 25px; } }
  .module-background[style*="background-color: transparent;"] .news-module {
    margin-right: 25px;
    margin-left: 25px; }
    @media screen and (min-width: 81.25em) {
      .module-background[style*="background-color: transparent;"] .news-module {
        margin-right: 50px;
        margin-left: 25px; } }
  .module-background:not([style*="background-color: transparent;"]), .module-background.has-background-image {
    padding: 10px; }
    @media print, screen and (min-width: 40em) {
      .module-background:not([style*="background-color: transparent;"]), .module-background.has-background-image {
        padding: 10px; } }
    @media screen and (min-width: 81.25em) {
      .module-background:not([style*="background-color: transparent;"]), .module-background.has-background-image {
        padding: 15px; } }
    .module-background:not([style*="background-color: transparent;"]) .cms-module.entry-module, .module-background.has-background-image .cms-module.entry-module {
      padding-top: 15px;
      padding-bottom: 15px; }
      @media screen and (min-width: 81.25em) {
        .module-background:not([style*="background-color: transparent;"]) .cms-module.entry-module, .module-background.has-background-image .cms-module.entry-module {
          padding-top: 25px;
          padding-bottom: 25px; } }
    .module-background:not([style*="background-color: transparent;"]) .news-module, .module-background.has-background-image .news-module {
      margin: 0 25px; }
      @media screen and (min-width: 81.25em) {
        .module-background:not([style*="background-color: transparent;"]) .news-module, .module-background.has-background-image .news-module {
          margin: 25px 50px; } }
    .module-background:not([style*="background-color: transparent;"]) .content-container:hover, .module-background.has-background-image .content-container:hover {
      -webkit-box-shadow: unset;
              box-shadow: unset; }
  .module-background .row-background-image[style*="background-image"] {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    background-repeat: no-repeat;
    background-size: cover; }
  .module-background .module-background-image[style*="background-image"] {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    background-repeat: no-repeat;
    background-size: cover; }

.product-carousel-module.carousel-padding {
  padding: 0 0 50px; }

.cms-subsidiary-module .series-card {
  max-width: 100%;
  width: 100%;
  padding: 18px;
  border: 1px solid #dadada;
  -webkit-transition: all 0.8s;
  transition: all 0.8s; }
  .cms-subsidiary-module .series-card:hover {
    border-color: transparent;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
  .cms-subsidiary-module .series-card > a {
    font-size: rem-cal(22);
    font-weight: 600;
    color: #06052f;
    -webkit-transition: color 0.8s;
    transition: color 0.8s; }
    .cms-subsidiary-module .series-card > a:hover {
      color: #ae9461;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }
  .cms-subsidiary-module .series-card ul {
    margin: 0;
    padding: 0;
    list-style: none; }
    .cms-subsidiary-module .series-card ul li:hover > a {
      color: #ae9461;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }
    .cms-subsidiary-module .series-card ul li > a {
      font-size: 1rem;
      color: #777777;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }

.ebg-information-module {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  @media screen and (min-width: 81.25em) {
    .ebg-information-module {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row; } }
  .ebg-information-module .group-full-description {
    width: 100%; }
  @media screen and (min-width: 81.25em) {
    .ebg-information-module .group-notes {
      -webkit-box-flex: 1;
          -ms-flex: 1;
              flex: 1; } }
  .ebg-information-module .group-notes.active .read-more-content {
    max-height: inherit; }
  .ebg-information-module .group-notes p {
    padding: 0;
    font-weight: 400;
    font-size: 1rem; }
    @media screen and (min-width: 81.25em) {
      .ebg-information-module .group-notes p {
        margin: 0; } }
  .ebg-information-module .group-notes .read-more-content {
    max-height: 200px; }
    @media screen and (min-width: 81.25em) {
      .ebg-information-module .group-notes .read-more-content {
        max-height: unset; } }
  .ebg-information-module .group-image {
    width: 100%;
    padding: 20px 0 0;
    text-align: center; }
    @media screen and (min-width: 81.25em) {
      .ebg-information-module .group-image {
        max-width: 30%;
        display: inline-block;
        margin-left: 20px;
        padding: 0;
        text-align: right; } }

.page-heading-module {
  margin: 0 0 10px; }
  @media screen and (min-width: 81.25em) {
    .page-heading-module {
      margin: 0 0 10px; } }
  .page-heading-module h1 {
    margin-bottom: 0; }
  .page-heading-module .cms-container {
    margin-bottom: 0; }

.module-config {
  margin-bottom: 10px;
  padding: 15px 10px;
  background-color: #eeeeee; }
  .module-config li, .module-config strong, .module-config h3 {
    color: #777777; }
  .module-config li, .module-config strong {
    font-size: 0.9375rem; }
  .module-config li strong {
    padding-right: 10px; }
    .module-config li strong:after {
      content: ':';
      display: inline-block;
      color: #777777; }
  .module-config h3 {
    position: relative;
    text-transform: uppercase;
    text-align: center; }
    .module-config h3:after {
      content: '';
      width: 80%;
      height: 2px;
      position: absolute;
      right: 0;
      bottom: 0;
      left: 0;
      margin: auto;
      background-color: #777777; }

.module-content-container.effect-style {
  --border-radius-small: 1px;
  --border-radius-medium: 5px;
  --border-radius-large: 25%;
  --border-radius-xlarge: 50%;
  --border-width-thin: 1px;
  --border-width-light: 2px;
  --border-width-medium: 5px;
  --border-width-bold: 10px;
  --image-reduce-small: .95;
  --image-reduce-medium: .80;
  --image-reduce-large: .60; }
  .module-content-container.effect-style .content-container {
    -webkit-transition: all 0.8s;
    transition: all 0.8s; }
    .module-content-container.effect-style .content-container:hover {
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }

.collection.module-content-container.image-border .content-container.image, .collection.module-content-container.image-border .content-container .image {
  border: var(--border-width, 10px) solid var(--border-colour, #ffffff); }

.collection.module-content-container.image-radius-animation .content-container.image, .collection.module-content-container.image-radius-animation .content-container .image {
  border: var(--border-width, 10px) solid var(--border-colour, #ffffff);
  border-radius: var(--border-radius, 50%);
  -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
          box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
  overflow: hidden;
  -webkit-transition: border-radius 0.8s;
  transition: border-radius 0.8s; }
  .collection.module-content-container.image-radius-animation .content-container.image:before, .collection.module-content-container.image-radius-animation .content-container .image:before {
    content: '';
    width: 100%;
    height: 100%;
    position: absolute;
    display: block;
    border-radius: var(--border-radius, 50%);
    -webkit-box-shadow: inset 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
            box-shadow: inset 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
    -webkit-transition: border-radius 0.8s;
    transition: border-radius 0.8s; }

.collection.module-content-container.image-radius-animation .content-container:hover .image {
  opacity: 1;
  border-radius: calc(var(--border-radius, 50%) / 2);
  -webkit-transition: border-radius 0.6s;
  transition: border-radius 0.6s; }
  .collection.module-content-container.image-radius-animation .content-container:hover .image:before {
    border-radius: calc(var(--border-radius, 50%) / 2);
    -webkit-transition: border-radius 0.6s;
    transition: border-radius 0.6s; }

.collection.module-content-container.image-radius-animation .content-container.image:hover {
  opacity: 1;
  border-radius: calc(var(--border-radius, 50%) / 2);
  -webkit-transition: border-radius 0.6s;
  transition: border-radius 0.6s; }
  .collection.module-content-container.image-radius-animation .content-container.image:hover:before {
    border-radius: calc((var(--border-radius, 50%)) / 2);
    -webkit-transition: border-radius 0.6s;
    transition: border-radius 0.6s; }

.collection.module-content-container.invert-cell-shadow .collection-item .content-container {
  border: 2px solid transparent;
  -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
          box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
  -webkit-transition: border-color 0.8s, -webkit-box-shadow 0.8s;
  transition: border-color 0.8s, -webkit-box-shadow 0.8s;
  transition: border-color 0.8s, box-shadow 0.8s;
  transition: border-color 0.8s, box-shadow 0.8s, -webkit-box-shadow 0.8s; }
  .collection.module-content-container.invert-cell-shadow .collection-item .content-container:hover {
    border-color: #eeeeee;
    -webkit-box-shadow: none;
            box-shadow: none;
    -webkit-transition: border-color 0.6s, -webkit-box-shadow 0.6s;
    transition: border-color 0.6s, -webkit-box-shadow 0.6s;
    transition: box-shadow 0.6s, border-color 0.6s;
    transition: box-shadow 0.6s, border-color 0.6s, -webkit-box-shadow 0.6s; }
    .collection.module-content-container.invert-cell-shadow .collection-item .content-container:hover .image {
      opacity: 1; }

.collection.module-content-container.reduce-image-hover .content-container:hover {
  -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
          box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3); }

.collection.module-content-container.reduce-image-hover .content-container.image:hover, .collection.module-content-container.reduce-image-hover .content-container:hover .image {
  opacity: 1; }
  .collection.module-content-container.reduce-image-hover .content-container.image:hover img, .collection.module-content-container.reduce-image-hover .content-container:hover .image img {
    -webkit-transform: scale(var(--reduce-image, 0.95));
            transform: scale(var(--reduce-image, 0.95));
    -webkit-transition: -webkit-transform 0.6s;
    transition: -webkit-transform 0.6s;
    transition: transform 0.6s;
    transition: transform 0.6s, -webkit-transform 0.6s; }

.collection.module-content-container.reduce-image-hover .content-container .image img, .collection.module-content-container.reduce-image-hover .image img {
  border-radius: 0;
  -webkit-transition: -webkit-transform 0.8s;
  transition: -webkit-transform 0.8s;
  transition: transform 0.8s;
  transition: transform 0.8s, -webkit-transform 0.8s; }

.collection.module-content-container.cell-border-default .collection-item .content-container {
  border: 1px solid #eeeeee; }
  .collection.module-content-container.cell-border-default .collection-item .content-container:hover {
    -webkit-box-shadow: none;
            box-shadow: none;
    border-color: #06052f; }

.collection.module-content-container.box-shadow-default-hover-states .collection-item .content-container {
  -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
          box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
  .collection.module-content-container.box-shadow-default-hover-states .collection-item .content-container:hover {
    -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
            box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3); }

.cms-module.effect-style.module-content-container.module-borders {
  padding: 20px 0 0;
  border: var(--border-width) solid var(--border-colour); }
  @media screen and (min-width: 81.25em) {
    .cms-module.effect-style.module-content-container.module-borders {
      padding-top: 0; } }
  .cms-module.effect-style.module-content-container.module-borders.multimedia-top .content-banner {
    border-bottom: var(--border-width) solid var(--border-colour); }
  .cms-module.effect-style.module-content-container.module-borders.multimedia-right .content-banner {
    border-top: var(--border-width) solid var(--border-colour); }
    @media screen and (min-width: 81.25em) {
      .cms-module.effect-style.module-content-container.module-borders.multimedia-right .content-banner {
        border-top: 0;
        border-left: var(--border-width) solid var(--border-colour); } }
  .cms-module.effect-style.module-content-container.module-borders.multimedia-bottom .content-banner {
    border-top: var(--border-width) solid var(--border-colour); }
  .cms-module.effect-style.module-content-container.module-borders.multimedia-left .content-banner {
    border-top: var(--border-width) solid var(--border-colour); }
    @media screen and (min-width: 81.25em) {
      .cms-module.effect-style.module-content-container.module-borders.multimedia-left .content-banner {
        border-top: 0;
        border-right: var(--border-width) solid var(--border-colour); } }
  .cms-module.effect-style.module-content-container.module-borders .content-container {
    padding-right: 20px;
    padding-left: 20px; }
    @media screen and (min-width: 81.25em) {
      .cms-module.effect-style.module-content-container.module-borders .content-container {
        padding: 80px 100px; } }

.animation-module {
  --media-aspect-ratio: var(--media-width, auto)/var(--media-height, auto); }
  .animation-module [data-animation] {
    aspect-ratio: var(--media-aspect-ratio); }

/*
----- Stock Indiciator(s) -----
Handles the following: 
- Instock, Out of stock & Low stock icons.
- Email when back in stock
*/
.stock-indicator.preset1 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center; }
  .stock-indicator.preset1 p {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin: 0;
    padding: 0 5px 0 0;
    font-size: 0.875rem;
    font-weight: 400; }
    .stock-indicator.preset1 p:before {
      padding: 0 10px 0 0; }
  .stock-indicator.preset1 a {
    width: 100%;
    height: 100%;
    cursor: pointer; }
  .stock-indicator.preset1 .stockLevel {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    font-style: normal;
    font-size: 0.875rem;
    font-weight: 600; }

.stock-indicator.preset2 {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  .stock-indicator.preset2.soh-2 a:hover, .stock-indicator.preset2.soh-1 a:hover, .stock-indicator.preset2.soh-0 a:hover {
    text-decoration: none; }
  .stock-indicator.preset2.soh-2 p, .stock-indicator.preset2.soh-2 span, .stock-indicator.preset2.soh-1 p, .stock-indicator.preset2.soh-1 span, .stock-indicator.preset2.soh-0 p, .stock-indicator.preset2.soh-0 span {
    display: inline-block; }
  .stock-indicator.preset2.soh-2 > p, .stock-indicator.preset2.soh-2 p, .stock-indicator.preset2.soh-2 .label, .stock-indicator.preset2.soh-1 > p, .stock-indicator.preset2.soh-1 p, .stock-indicator.preset2.soh-1 .label, .stock-indicator.preset2.soh-0 > p, .stock-indicator.preset2.soh-0 p, .stock-indicator.preset2.soh-0 .label {
    margin: 0 5px 0 0;
    font-style: normal;
    font-size: 0.875rem;
    font-weight: 400;
    color: #000000; }
    .stock-indicator.preset2.soh-2 > p:before, .stock-indicator.preset2.soh-2 p:before, .stock-indicator.preset2.soh-2 .label:before, .stock-indicator.preset2.soh-1 > p:before, .stock-indicator.preset2.soh-1 p:before, .stock-indicator.preset2.soh-1 .label:before, .stock-indicator.preset2.soh-0 > p:before, .stock-indicator.preset2.soh-0 p:before, .stock-indicator.preset2.soh-0 .label:before {
      padding: 0 5px 0 0; }
  .stock-indicator.preset2.soh-2 span, .stock-indicator.preset2.soh-1 span, .stock-indicator.preset2.soh-0 span {
    font-size: 0.875rem;
    font-weight: 600;
    font-style: normal; }

.stock-indicator.soh-2 > p:before, .stock-indicator.soh-2 p:before, .stock-indicator.soh-2 .label:before, .stock-indicator.soh-1 > p:before, .stock-indicator.soh-1 p:before, .stock-indicator.soh-1 .label:before, .stock-indicator.soh-0 > p:before, .stock-indicator.soh-0 p:before, .stock-indicator.soh-0 .label:before {
  display: inline-block;
  font-family: "Font Awesome Solid";
  font-style: normal; }

.stock-indicator.soh-2 > p:before, .stock-indicator.soh-2 .label:before {
  content: "";
  color: #06052f;
  font-size: 16px; }

.stock-indicator.soh-2 span {
  color: #06052f; }

.stock-indicator.soh-1 > p:before, .stock-indicator.soh-1 .label:before {
  content: "";
  color: #9f9f51;
  font-size: 16px; }

.stock-indicator.soh-1 span {
  color: #9f9f51; }

.stock-indicator.soh-1 .stockLevel {
  color: #06052f; }

.stock-indicator.soh-0 > p:before, .stock-indicator.soh-0 .label:before {
  content: "";
  color: #ff0101;
  font-size: 16px; }

.stock-indicator.soh-0 .stockLevel {
  color: #ff0101; }

.stock-indicator.notification:hover .stock-notification-icon:after {
  color: #ae9461; }

.stock-indicator.notification.active .stock-notification-icon:after {
  color: #06052f; }

.stock-indicator.notification .stock-notification-icon:after {
  content: "";
  margin-left: 15px;
  color: #ff0101;
  font-family: "Font Awesome Regular";
  font-size: 16px; }

.stock-indicator.notification:not(.active):hover .stock-notification-icon:after {
  content: ""; }

.stock-indicator.notification.active:hover {
  cursor: no-drop; }

.stock-indicator.notification.active .stock-notification-icon:after {
  font-family: "Font Awesome Solid";
  color: #06052f; }

.stock-indicator [data-tooltip] {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row; }

.stock-indicator .label {
  text-align: left; }

.collection-only-indicator {
  color: #000000;
  font-size: 0.875rem;
  font-style: normal;
  font-weight: 400; }
  .collection-only-indicator:before {
    content: "";
    display: inline-block;
    margin-right: 5px;
    font-size: 24px;
    font-family: "fontello"; }

#stockNotificationDetails {
  position: relative; }
  @media print, screen and (max-width: 81.24875em) {
    #stockNotificationDetails {
      top: 10vw !important; } }
  #stockNotificationDetails .cmsContainer {
    padding: 0 10px 20px;
    font-size: 1rem; }

#notificationFormContainer {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  margin: auto;
  display: block; }
  @media screen and (min-width: 81.25em) {
    #notificationFormContainer {
      top: 0;
      bottom: 0; } }

#notificationDetailsForm {
  max-width: 85vw;
  width: 100%;
  position: relative;
  margin: auto;
  padding: 30px 20px;
  background-color: #ffffff; }
  @media screen and (min-width: 81.25em) {
    #notificationDetailsForm {
      max-width: 30vw; } }
  #notificationDetailsForm #notificationDetailsFormSubmit {
    width: auto;
    display: block;
    padding: 15px 20px;
    font-size: 15px;
    font-weight: 600;
    text-align: center;
    color: #ffffff;
    background-color: #06052f;
    border: 1px solid transparent;
    text-decoration: none;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
    #notificationDetailsForm #notificationDetailsFormSubmit:enabled:hover {
      border: 1px solid #06052f;
      background-color: rgba(6, 5, 47, 0.5);
      color: #06052f;
      -webkit-transition: all 0.8s;
      transition: all 0.8s; }
    #notificationDetailsForm #notificationDetailsFormSubmit:focus {
      outline: none;
      border-color: transparent;
      -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
              box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
  #notificationDetailsForm .close-button {
    width: 45px;
    height: 45px;
    display: block;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-transition: all 0.8s;
    transition: all 0.8s; }
    #notificationDetailsForm .close-button:before {
      content: "";
      font-family: "Font Awesome Solid";
      font-size: 24px;
      color: #eeeeee;
      -webkit-transition: color 0.8s, -webkit-transform 0.6s;
      transition: color 0.8s, -webkit-transform 0.6s;
      transition: transform 0.6s, color 0.8s;
      transition: transform 0.6s, color 0.8s, -webkit-transform 0.6s; }
    #notificationDetailsForm .close-button:hover:before {
      color: #ae9461;
      -webkit-transform: rotate(90deg);
              transform: rotate(90deg);
      -webkit-transition: color 0.6s, -webkit-transform 0.6s;
      transition: color 0.6s, -webkit-transform 0.6s;
      transition: transform 0.6s, color 0.6s;
      transition: transform 0.6s, color 0.6s, -webkit-transform 0.6s; }
    #notificationDetailsForm .close-button:active:before {
      color: #06052f;
      -webkit-transition: font-size 1.2s, color 0.6s;
      transition: font-size 1.2s, color 0.6s; }

[data-stock-indicator-update] {
  display: none; }

.product-enquiry-details-container {
  width: 100%;
  display: grid;
  gap: 10px; }
  @media print, screen and (min-width: 40em) {
    .product-enquiry-details-container {
      grid-auto-columns: auto;
      grid-template-columns: minmax(calc(30% - 7.5px), 1fr) minmax(calc(70% - 7.5px), 1fr);
      gap: 15px;
      margin-bottom: 55px; } }
  @media screen and (min-width: 81.25em) {
    .product-enquiry-details-container {
      grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
      gap: 20px; } }
  .product-enquiry-details-container .product-enquiry-details-right, .product-enquiry-details-container .product-enquiry-details-response-area {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 15px 0; }
    @media screen and (min-width: 81.25em) {
      .product-enquiry-details-container .product-enquiry-details-right, .product-enquiry-details-container .product-enquiry-details-response-area {
        gap: 10px 0; } }
    .product-enquiry-details-container .product-enquiry-details-right .callbackContainer, .product-enquiry-details-container .product-enquiry-details-response-area .callbackContainer {
      -webkit-box-flex: 0;
          -ms-flex-positive: 0;
              flex-grow: 0; }
  .product-enquiry-details-container .product-enquiry-module {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 10px 15px; }
    @media print, screen and (min-width: 40em) {
      .product-enquiry-details-container .product-enquiry-module {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row;
        -webkit-box-align: baseline;
            -ms-flex-align: baseline;
                align-items: baseline;
        gap: 10px 25px; } }
    @media screen and (min-width: 81.25em) {
      .product-enquiry-details-container .product-enquiry-module {
        gap: 10px 30px; } }
    .product-enquiry-details-container .product-enquiry-module:not(:has(*)) {
      display: none; }
    .product-enquiry-details-container .product-enquiry-module hr {
      width: 100%;
      border-top: 1px solid #dadada;
      border-bottom: 0; }
  .product-enquiry-details-container .reveal-social-icons-container .share-button {
    color: #000000;
    font-size: 1rem;
    font-weight: 400; }
    .product-enquiry-details-container .reveal-social-icons-container .share-button:after {
      font-size: 17px; }

.product-enquiry-heading-container .product-enquiry-heading {
  margin: 0;
  padding: 0;
  color: #06052f;
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 34px;
  text-transform: uppercase; }

.product-enquiry-selection-container {
  width: 100%; }
  @media print, screen and (max-width: 39.99875em) {
    .product-enquiry-selection-container {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
      gap: 10px 15px; } }
  @media print, screen and (min-width: 40em) {
    .product-enquiry-selection-container {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      gap: 10px 25px; } }
  @media screen and (min-width: 81.25em) {
    .product-enquiry-selection-container {
      gap: 10px 30px; } }

.quantity-module, .product-enquiry-quantity-selector {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  .quantity-module .label, .product-enquiry-quantity-selector .label {
    margin-right: 10px;
    padding: 6px 0;
    line-height: 25px;
    font-size: 1rem;
    font-weight: 400;
    color: #000000; }
    @media screen and (min-width: 81.25em) {
      .quantity-module .label, .product-enquiry-quantity-selector .label {
        margin-right: 15px; } }
  .quantity-module .select, .product-enquiry-quantity-selector .select {
    width: unset; }
    .quantity-module .select .control-select-container, .product-enquiry-quantity-selector .select .control-select-container {
      min-width: unset; }

#main-product-information-container {
  padding: 20px 5px 0; }
  @media screen and (min-width: 81.25em) {
    #main-product-information-container {
      padding: 40px 0 0; } }

#productImage, .product-enquiry-main-multimedia-container {
  margin: 0 0 20px;
  text-align: center;
  position: relative; }
  @media screen and (min-width: 81.25em) {
    #productImage, .product-enquiry-main-multimedia-container {
      margin: 0 auto;
      text-align: inherit; } }
  #productImage #additional-images, #productImage .product-enquiry-additional-images, .product-enquiry-main-multimedia-container #additional-images, .product-enquiry-main-multimedia-container .product-enquiry-additional-images {
    margin: auto; }
    @media screen and (min-width: 81.25em) {
      #productImage #additional-images, #productImage .product-enquiry-additional-images, .product-enquiry-main-multimedia-container #additional-images, .product-enquiry-main-multimedia-container .product-enquiry-additional-images {
        width: 375px; } }
  #productImage .additionalImageSliderContainer, .product-enquiry-main-multimedia-container .additionalImageSliderContainer {
    margin: auto; }
    #productImage .additionalImageSliderContainer .slide.active .thumbnail, .product-enquiry-main-multimedia-container .additionalImageSliderContainer .slide.active .thumbnail {
      border: 1px solid #50506d; }
    @media screen and (min-width: 81.25em) {
      #productImage .additionalImageSliderContainer .bx-prev,
      #productImage .additionalImageSliderContainer .bx-next, .product-enquiry-main-multimedia-container .additionalImageSliderContainer .bx-prev,
      .product-enquiry-main-multimedia-container .additionalImageSliderContainer .bx-next {
        -webkit-box-shadow: none;
                box-shadow: none;
        width: 30px;
        height: 30px; }
        #productImage .additionalImageSliderContainer .bx-prev:before,
        #productImage .additionalImageSliderContainer .bx-next:before, .product-enquiry-main-multimedia-container .additionalImageSliderContainer .bx-prev:before,
        .product-enquiry-main-multimedia-container .additionalImageSliderContainer .bx-next:before {
          width: 20px;
          height: 20px;
          position: absolute;
          top: 0;
          bottom: 0;
          font-family: "Font Awesome Solid";
          font-size: 26px;
          color: #06052f;
          display: inline-block;
          margin: auto;
          border: 0;
          border-width: 0; } }
    @media screen and (min-width: 81.25em) {
      #productImage .additionalImageSliderContainer .bx-prev, .product-enquiry-main-multimedia-container .additionalImageSliderContainer .bx-prev {
        right: 30px; }
        #productImage .additionalImageSliderContainer .bx-prev:before, .product-enquiry-main-multimedia-container .additionalImageSliderContainer .bx-prev:before {
          right: 15px;
          -webkit-transform: rotate(270deg);
                  transform: rotate(270deg); } }
    @media screen and (min-width: 81.25em) {
      #productImage .additionalImageSliderContainer .bx-next, .product-enquiry-main-multimedia-container .additionalImageSliderContainer .bx-next {
        left: 21px; }
        #productImage .additionalImageSliderContainer .bx-next:before, .product-enquiry-main-multimedia-container .additionalImageSliderContainer .bx-next:before {
          left: 10px;
          -webkit-transform: rotate(-270deg);
                  transform: rotate(-270deg); } }

#mainImageContainer {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0 auto 20px;
  overflow: hidden; }
  #mainImageContainer:hover .overlay {
    opacity: 0;
    -webkit-transition: opacity 0.6s;
    transition: opacity 0.6s; }
  #mainImageContainer .overlay {
    opacity: 1;
    -webkit-transition: opacity 0.8s;
    transition: opacity 0.8s; }
  #mainImageContainer.image-360 {
    position: relative; }
    #mainImageContainer.image-360:hover:after {
      display: none; }
    #mainImageContainer.image-360:after {
      content: '';
      max-width: 90px;
      max-height: 90px;
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      margin: auto;
      display: block;
      background-color: rgba(0, 0, 0, 0.2);
      background-image: url("/template/content/development/images/icons/3dicon.svg");
      background-repeat: no-repeat;
      background-position: center;
      background-size: 80%;
      border-radius: 12.5px;
      border: 2px solid rgba(218, 218, 218, 0.2); }
  #mainImageContainer img {
    max-height: 550px;
    margin: 0 auto; }

.product-enquiry-main-image, #mainImageContainer.product-enquiry-main-image {
  --media-aspect-ratio: 1/1;
  margin: 0 auto;
  border: 1px solid #e4e4e4;
  -webkit-transition: border-color 0.8s;
  transition: border-color 0.8s; }
  .product-enquiry-main-image:hover, #mainImageContainer.product-enquiry-main-image:hover {
    border-color: #06052f;
    -webkit-transition: border-color 0.6s;
    transition: border-color 0.6s; }
  .product-enquiry-main-image img, #mainImageContainer.product-enquiry-main-image img {
    min-width: 300px;
    max-height: none;
    min-height: 300px; }
  .product-enquiry-main-image + .product-enquiry-additional-images:has(img), #mainImageContainer.product-enquiry-main-image + .product-enquiry-additional-images:has(img) {
    margin: 20px auto 0; }

.product-overlay-module {
  margin: 0 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-pack: distribute;
      justify-content: space-around;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  @media print, screen and (max-width: 81.24875em) {
    .product-overlay-module {
      -webkit-box-ordinal-group: 2;
          -ms-flex-order: 1;
              order: 1; } }
  @media screen and (min-width: 81.25em) {
    .product-overlay-module {
      -webkit-box-pack: end;
          -ms-flex-pack: end;
              justify-content: flex-end;
      margin: 0; } }
  .product-overlay-module > a {
    display: block;
    text-align: center;
    margin: 10px auto; }
    @media screen and (min-width: 81.25em) {
      .product-overlay-module > a {
        -webkit-box-flex: 0;
            -ms-flex: 0 1 calc(33% - 15px);
                flex: 0 1 calc(33% - 15px);
        margin: 10px 12px; }
        .product-overlay-module > a:nth-child(3n) {
          margin-right: 0; }
        .product-overlay-module > a:nth-child(3n + 1) {
          margin-left: 0; }
        .product-overlay-module > a:last-child {
          margin-right: 0; } }

.product-enquiry-highlighted-banners {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 10px;
  margin: 5px 0 10px; }
  @media print, screen and (min-width: 40em) {
    .product-enquiry-highlighted-banners {
      grid-template-columns: repeat(3, 1fr); } }
  @media screen and (min-width: 81.25em) {
    .product-enquiry-highlighted-banners {
      grid-template-columns: repeat(5, 1fr);
      gap: 5px;
      margin: 10px 0 15px; } }

.part-code-container span {
  padding-right: 5px; }

.part-code-container, .product-enquiry-reference-container {
  margin-bottom: 40px;
  font-size: 1rem;
  color: #888888; }
  .part-code-container p, .product-enquiry-reference-container p {
    margin: 0;
    padding: 0; }
  .part-code-container span, .product-enquiry-reference-container span {
    font-weight: 600; }

.product-enquiry-reference-container {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin: 0;
  padding: 10px 0;
  gap: 10px 25px;
  border-bottom: 1px solid #dadada; }
  @media print, screen and (min-width: 40em) {
    .product-enquiry-reference-container {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      padding: 20px 0; } }

.product-enquiry-label-value-pair {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  gap: 5px; }
  @media print, screen and (min-width: 40em) {
    .product-enquiry-label-value-pair {
      gap: 5px 10px; } }
  .product-enquiry-label-value-pair .label {
    color: #000000;
    font-size: 1rem;
    font-weight: 600; }
  .product-enquiry-label-value-pair .value {
    color: #000000;
    font-size: 1rem;
    font-weight: 400; }
  .product-enquiry-label-value-pair button, .product-enquiry-label-value-pair .tooltip-trigger {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
    gap: 5px; }
    @media print, screen and (min-width: 40em) {
      .product-enquiry-label-value-pair button, .product-enquiry-label-value-pair .tooltip-trigger {
        gap: 5px 10px; } }

#product #product-info-left h1 {
  margin: 0 0 20px;
  padding-right: 50px;
  color: #06052f;
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 34px;
  text-transform: uppercase; }

#product .slide .label {
  display: none; }

#product .addButtonContainer {
  width: 100%;
  margin: 10px 0;
  -webkit-box-ordinal-group: 5;
      -ms-flex-order: 4;
          order: 4; }

#product #product-notes {
  margin: 20px 0 0; }
  @media screen and (min-width: 81.25em) {
    #product #product-notes {
      margin: 0 0 40px; } }
  #product #product-notes h3 {
    font-weight: 400;
    font-size: 1.125rem;
    color: #000000;
    text-transform: uppercase; }
  #product #product-notes p, #product #product-notes li {
    font-size: 1.0625rem;
    font-weight: 400;
    line-height: 25px;
    color: #000000; }
  #product #product-notes .product-read-more {
    height: 14vh;
    overflow: hidden; }
  #product #product-notes .tabbed-read-more {
    font-weight: 700; }
    #product #product-notes .tabbed-read-more:hover {
      text-decoration: underline; }

#product #alternative-options {
  width: 100%; }
  @media screen and (min-width: 81.25em) {
    #product #alternative-options {
      margin-bottom: 30px; } }
  #product #alternative-options h3 {
    margin-bottom: 40px;
    font-size: 0.9375rem;
    line-height: 1; }
  #product #alternative-options .carousel {
    width: 100%; }

.product-enquiry-basket-button-container {
  width: 100%;
  margin: 0;
  -webkit-box-ordinal-group: 5;
      -ms-flex-order: 4;
          order: 4; }
  @media print, screen and (min-width: 40em) {
    .product-enquiry-basket-button-container {
      margin: 10px 0; } }

.hazard-statement-container {
  margin-bottom: 20px;
  border: 1px solid #000000;
  border-radius: 0; }
  .hazard-statement-container .hazard-icons-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 10px;
    margin: 15px 0 10px; }
    .hazard-statement-container .hazard-icons-container + .hazard-info-container {
      border-top: 1px solid #dadada; }
  .hazard-statement-container .hazard-icon {
    width: 75px;
    height: 75px;
    background-size: 100%; }
    .hazard-statement-container .hazard-icon.haz-cat-toxic {
      background-image: url("/template/content/development/images/icons/hazard-statement-icons/hazard-acute-toxicity-icon.svg"); }
    .hazard-statement-container .hazard-icon.haz-cat-gas {
      background-image: url("/template/content/development/images/icons/hazard-statement-icons/hazard-compressed-gas-icon.svg"); }
    .hazard-statement-container .hazard-icon.haz-cat-corrosive {
      background-image: url("/template/content/development/images/icons/hazard-statement-icons/hazard-corrosive-icon.svg"); }
    .hazard-statement-container .hazard-icon.haz-cat-environment {
      background-image: url("/template/content/development/images/icons/hazard-statement-icons/hazard-environmental-icon.svg"); }
    .hazard-statement-container .hazard-icon.haz-cat-explosive {
      background-image: url("/template/content/development/images/icons/hazard-statement-icons/hazard-explosive-icon.svg"); }
    .hazard-statement-container .hazard-icon.haz-cat-flammable {
      background-image: url("/template/content/development/images/icons/hazard-statement-icons/hazard-flammable-icon.svg"); }
    .hazard-statement-container .hazard-icon.haz-cat-ozone {
      background-image: url("/template/content/development/images/icons/hazard-statement-icons/hazard-harmful-icon.svg"); }
    .hazard-statement-container .hazard-icon.haz-cat-oxidising {
      background-image: url("/template/content/development/images/icons/hazard-statement-icons/hazard-oxidising-icon.svg"); }
    .hazard-statement-container .hazard-icon.haz-cat-health {
      background-image: url("/template/content/development/images/icons/hazard-statement-icons/hazard-serious-health-icon.svg"); }
  .hazard-statement-container .hazard-info-container {
    padding: 10px 0 20px; }
    .hazard-statement-container .hazard-info-container h4 {
      margin: 0 0 15px;
      padding: 0;
      font-size: 1rem;
      font-weight: 600; }
    .hazard-statement-container .hazard-info-container p {
      margin: var(--indent-margin, 0);
      font-size: 1rem;
      color: #777777; }
      .hazard-statement-container .hazard-info-container p img[style*="float:left"], .hazard-statement-container .hazard-info-container p img[style*="float: left"], .hazard-statement-container .hazard-info-container p[style*="float:left"] > img {
        margin: .2em .2em .2em 0; }
      .hazard-statement-container .hazard-info-container p img[style*="float:right"], .hazard-statement-container .hazard-info-container p img[style*="float: right"], .hazard-statement-container .hazard-info-container p[style*="float:right"] > img {
        margin: .2em 0 .2em .2em; }
      .hazard-statement-container .hazard-info-container p img {
        margin: .2em 0; }
      .hazard-statement-container .hazard-info-container p + p {
        margin-top: 0;
        margin-bottom: 0; }
  .hazard-statement-container .hazard-icons-container, .hazard-statement-container .hazard-info-container {
    margin-right: 20px;
    margin-left: 20px; }

.product-enquiry-multi-line-container {
  width: 100%; }
  .product-enquiry-multi-line-container .multi-line-heading {
    margin: 0 0 10px; }
    .product-enquiry-multi-line-container .multi-line-heading h2, .product-enquiry-multi-line-container .multi-line-heading h3, .product-enquiry-multi-line-container .multi-line-heading h4 {
      font-size: 1rem;
      font-weight: 600;
      font-family: "Gibson", "Gibson Fallback", "Arial";
      color: #000000; }
  .product-enquiry-multi-line-container .multi-line-content ul, .product-enquiry-multi-line-container .multi-line-content ol {
    text-align: left; }
  .product-enquiry-multi-line-container .multi-line-content ul {
    margin: 10px;
    padding: 0;
    line-height: 1.6;
    list-style: none;
    line-height: 25px; }
    .product-enquiry-multi-line-container .multi-line-content ul ul {
      padding-top: 0;
      padding-bottom: 0;
      padding-left: 25px; }
    .product-enquiry-multi-line-container .multi-line-content ul li {
      position: relative;
      padding: 0 0 0 15px; }
      .product-enquiry-multi-line-container .multi-line-content ul li:before {
        content: '';
        width: 5px;
        height: 5px;
        position: absolute;
        top: 10px;
        left: 0;
        margin: auto;
        display: block;
        background-color: #06052f;
        border-radius: 5px; }
  .product-enquiry-multi-line-container .multi-line-content ol {
    margin: 10px;
    padding: 0 25px;
    line-height: 1.6; }
    .product-enquiry-multi-line-container .multi-line-content ol ol {
      margin: 0;
      padding-top: 0;
      padding-bottom: 0;
      list-style-type: lower-alpha; }
      .product-enquiry-multi-line-container .multi-line-content ol ol ol {
        list-style-type: lower-roman; }
        .product-enquiry-multi-line-container .multi-line-content ol ol ol ol {
          list-style-type: lower-alpha; }
          .product-enquiry-multi-line-container .multi-line-content ol ol ol ol ol {
            list-style-type: lower-roman; }
  .product-enquiry-multi-line-container .multi-line-content li {
    color: #777777;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.6; }
  .product-enquiry-multi-line-container .multi-line-content ul + h1, .product-enquiry-multi-line-container .multi-line-content ol + h1 {
    margin-top: 35px; }
  .product-enquiry-multi-line-container .multi-line-content ul + h2, .product-enquiry-multi-line-container .multi-line-content ol + h2 {
    margin-top: 20px; }
  .product-enquiry-multi-line-container .multi-line-content ul + h3, .product-enquiry-multi-line-container .multi-line-content ol + h3 {
    margin-top: 20px; }
  .product-enquiry-multi-line-container .multi-line-content ul + h4, .product-enquiry-multi-line-container .multi-line-content ol + h4 {
    margin-top: 20px; }
  .product-enquiry-multi-line-container .multi-line-content ul + h5, .product-enquiry-multi-line-container .multi-line-content ol + h5 {
    margin-top: 20px; }
  .product-enquiry-multi-line-container .multi-line-content ul + h6, .product-enquiry-multi-line-container .multi-line-content ol + h6 {
    margin-top: 20px; }
  .product-enquiry-multi-line-container .multi-line-content dl {
    text-align: left; }
  .product-enquiry-multi-line-container .multi-line-content ul, .product-enquiry-multi-line-container .multi-line-content ol {
    margin: 0; }
  .product-enquiry-multi-line-container .multi-line-content ul {
    padding-left: 0; }
  .product-enquiry-multi-line-container .multi-line-content p, .product-enquiry-multi-line-container .multi-line-content li {
    margin: 0;
    padding: 0;
    font-size: 1rem;
    color: #777777; }
  .product-enquiry-multi-line-container.product-notes {
    padding: 0 0 20px;
    margin-bottom: 20px;
    border-bottom: 1px solid #dadada; }
    .product-enquiry-multi-line-container.product-notes .read-more:not(:has(.read-more-content)) {
      max-height: 100px; }

#split-specification ul {
  list-style: none;
  line-height: 25px;
  padding-left: 0; }
  #split-specification ul li {
    position: relative;
    padding: 0 0 0 15px; }
    #split-specification ul li:before {
      content: '';
      width: 5px;
      height: 5px;
      position: absolute;
      top: 10px;
      left: 0;
      margin: auto;
      display: block;
      background-color: #06052f;
      border-radius: 5px; }

#split-specification li {
  margin: 5px 0; }

#split-specification li, #split-specification p, #split-specification a, #split-specification span {
  color: #000000;
  font-size: 1.0625rem;
  font-weight: 400;
  line-height: 25px; }

.split-specification {
  padding: 20px 0; }

@media print, screen and (max-width: 81.24875em) {
  #product-price-container {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2; } }

#product-price-container .prices {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  #product-price-container .prices .price-container {
    width: 100%; }
    @media screen and (min-width: 81.25em) {
      #product-price-container .prices .price-container {
        margin-right: auto;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; } }

@media screen and (min-width: 81.25em) {
  #product-price-container .rrp {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1; } }

@media screen and (min-width: 81.25em) {
  #product-price-container .pack-price {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2; } }

@media screen and (min-width: 81.25em) {
  #product-price-container .pack-size {
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4; } }

@media screen and (min-width: 81.25em) {
  #product-price-container .pack-item-price {
    -webkit-box-ordinal-group: 7;
        -ms-flex-order: 6;
            order: 6; } }

@media screen and (min-width: 81.25em) {
  #product-price-container .saving {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3; } }

#product-price-container .price .label:empty + .value {
  margin-left: 0; }

@media screen and (min-width: 81.25em) {
  #product-price-container .price {
    -webkit-box-ordinal-group: 6;
        -ms-flex-order: 5;
            order: 5; } }

#product-price-container .price .value {
  font-size: 1.75rem; }

.optional-extras-container {
  padding: 10px 0 20px;
  margin-bottom: 20px;
  border-bottom: 1px solid #dadada; }
  .optional-extras-container table {
    margin-bottom: 0; }
    @media screen and (min-width: 81.25em) {
      .optional-extras-container table tr:not(:has(.image-col)) .description-col {
        width: 400px; } }
    @media screen and (min-width: 81.25em) {
      .optional-extras-container table tr:not(:has(.image-col)) .code-col {
        width: 125px; } }
    @media screen and (min-width: 81.25em) {
      .optional-extras-container table tr:not(:has(.image-col)) .price-col {
        width: 80px; } }
    .optional-extras-container table tr:not(:has(.image-col)) td.description-col {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      text-align: left; }
      .optional-extras-container table tr:not(:has(.image-col)) td.description-col .image {
        width: 100px;
        display: block;
        margin-right: 20px; }
      .optional-extras-container table tr:not(:has(.image-col)) td.description-col .description-container {
        -webkit-box-flex: 1;
            -ms-flex: 1;
                flex: 1;
        margin: 10px 0 0; }
        @media screen and (min-width: 81.25em) {
          .optional-extras-container table tr:not(:has(.image-col)) td.description-col .description-container {
            margin: 0; } }
    @media screen and (min-width: 81.25em) {
      .optional-extras-container table td.description-col {
        width: 280px; } }
    @media screen and (min-width: 81.25em) {
      .optional-extras-container table .code-col {
        width: 100px; } }
    @media screen and (min-width: 81.25em) {
      .optional-extras-container table .price-col {
        width: 80px; } }
    @media screen and (min-width: 81.25em) {
      .optional-extras-container table .add-col {
        width: 80px; } }
    .optional-extras-container table th.description-col {
      padding-left: 10px; }
  .optional-extras-container .description-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    text-align: left;
    gap: 10px; }
    @media screen and (min-width: 81.25em) {
      .optional-extras-container .description-container {
        padding-left: 15px; } }
    .optional-extras-container .description-container .description {
      line-height: 1.2;
      font-weight: 400;
      color: #06052f;
      font-size: 1rem; }
  .optional-extras-container td.code-col {
    font-size: 0.9375rem; }
  .optional-extras-container .image-col {
    text-align: left; }
    @media screen and (min-width: 81.25em) {
      .optional-extras-container .image-col {
        width: 110px; } }
  .optional-extras-container .image {
    max-width: 100%;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    display: block; }
  .optional-extras-container .intro-container {
    padding: 20px 5px; }
    .optional-extras-container .intro-container p {
      margin: var(--indent-margin, 0);
      font-size: 1rem;
      color: #777777; }
      .optional-extras-container .intro-container p img[style*="float:left"], .optional-extras-container .intro-container p img[style*="float: left"], .optional-extras-container .intro-container p[style*="float:left"] > img {
        margin: .2em .2em .2em 0; }
      .optional-extras-container .intro-container p img[style*="float:right"], .optional-extras-container .intro-container p img[style*="float: right"], .optional-extras-container .intro-container p[style*="float:right"] > img {
        margin: .2em 0 .2em .2em; }
      .optional-extras-container .intro-container p img {
        margin: .2em 0; }
      .optional-extras-container .intro-container p + p {
        margin-top: 0;
        margin-bottom: 0; }
    .optional-extras-container .intro-container ul, .optional-extras-container .intro-container ol {
      text-align: left; }
    .optional-extras-container .intro-container ul {
      margin: 10px;
      padding: 0;
      line-height: 1.6;
      list-style: none;
      line-height: 25px; }
      .optional-extras-container .intro-container ul ul {
        padding-top: 0;
        padding-bottom: 0;
        padding-left: 25px; }
      .optional-extras-container .intro-container ul li {
        position: relative;
        padding: 0 0 0 15px; }
        .optional-extras-container .intro-container ul li:before {
          content: '';
          width: 5px;
          height: 5px;
          position: absolute;
          top: 10px;
          left: 0;
          margin: auto;
          display: block;
          background-color: #06052f;
          border-radius: 5px; }
    .optional-extras-container .intro-container ol {
      margin: 10px;
      padding: 0 25px;
      line-height: 1.6; }
      .optional-extras-container .intro-container ol ol {
        margin: 0;
        padding-top: 0;
        padding-bottom: 0;
        list-style-type: lower-alpha; }
        .optional-extras-container .intro-container ol ol ol {
          list-style-type: lower-roman; }
          .optional-extras-container .intro-container ol ol ol ol {
            list-style-type: lower-alpha; }
            .optional-extras-container .intro-container ol ol ol ol ol {
              list-style-type: lower-roman; }
    .optional-extras-container .intro-container li {
      color: #777777;
      font-size: 1rem;
      font-weight: 400;
      line-height: 1.6; }
    .optional-extras-container .intro-container ul + h1, .optional-extras-container .intro-container ol + h1 {
      margin-top: 35px; }
    .optional-extras-container .intro-container ul + h2, .optional-extras-container .intro-container ol + h2 {
      margin-top: 20px; }
    .optional-extras-container .intro-container ul + h3, .optional-extras-container .intro-container ol + h3 {
      margin-top: 20px; }
    .optional-extras-container .intro-container ul + h4, .optional-extras-container .intro-container ol + h4 {
      margin-top: 20px; }
    .optional-extras-container .intro-container ul + h5, .optional-extras-container .intro-container ol + h5 {
      margin-top: 20px; }
    .optional-extras-container .intro-container ul + h6, .optional-extras-container .intro-container ol + h6 {
      margin-top: 20px; }
    .optional-extras-container .intro-container dl {
      text-align: left; }
    @media print, screen and (min-width: 40em) {
      .optional-extras-container .intro-container {
        text-align: center; } }
  .optional-extras-container .cms-content-container {
    text-align: left; }

#product-case-pricing, #product-price-container {
  margin: 0 0 5px; }
  @media screen and (min-width: 81.25em) {
    #product-case-pricing, #product-price-container {
      margin: 0 0 40px; } }

.product-enquiry-favourites-container .favourites:after {
  font-size: 16px; }

#product-quantity-break-pricing, .product-enquiry-price-break-container {
  max-width: 100%;
  margin: auto;
  padding: 0 0 40px; }
  @media screen and (min-width: 81.25em) {
    #product-quantity-break-pricing, .product-enquiry-price-break-container {
      margin: 0 0 0 auto; } }
  #product-quantity-break-pricing .quantity-break-module-description, .product-enquiry-price-break-container .quantity-break-module-description {
    width: 100%;
    padding: 5px 0;
    color: #06052f;
    font-weight: 600;
    font-size: 0.9375rem;
    text-align: center;
    border: 2px solid #06052f;
    border-radius: 0; }
    #product-quantity-break-pricing .quantity-break-module-description span, .product-enquiry-price-break-container .quantity-break-module-description span {
      color: #06052f;
      padding-left: 20px;
      font-weight: 600; }
  #product-quantity-break-pricing table, .product-enquiry-price-break-container table {
    margin: 15px 0 0; }
    #product-quantity-break-pricing table th, .product-enquiry-price-break-container table th {
      padding: 0 5px 10px; }
    #product-quantity-break-pricing table tbody td, .product-enquiry-price-break-container table tbody td {
      text-align: center;
      font-weight: 400; }
      #product-quantity-break-pricing table tbody td.savings-col, .product-enquiry-price-break-container table tbody td.savings-col {
        color: #06052f;
        font-weight: 400; }
    #product-quantity-break-pricing table .quantity-col, .product-enquiry-price-break-container table .quantity-col {
      width: 30%; }
    #product-quantity-break-pricing table .price-per-item-col, .product-enquiry-price-break-container table .price-per-item-col {
      width: 40%; }
    #product-quantity-break-pricing table .savings-col, .product-enquiry-price-break-container table .savings-col {
      width: 30%; }

@media screen and (min-width: 81.25em) {
  #product-quantity-break-pricing, .grouped-product-modules {
    margin-left: 20px; } }

.product-enquiry-price-break-container {
  width: 100%;
  margin: 10px 0 20px;
  padding: 0; }
  @media screen and (min-width: 81.25em) {
    .product-enquiry-price-break-container {
      margin: 15px 0 20px; } }

.product-enquiry-single-pricing {
  --price-max-width: 1fr; }
  @media print, screen and (min-width: 40em) {
    .product-enquiry-single-pricing {
      --price-max-width: 50%; } }
  @media screen and (min-width: 81.25em) {
    .product-enquiry-single-pricing {
      --price-max-width: 40%; } }

.product-enquiry-group-pricing {
  --price-max-width: 1fr; }

@media print, screen and (min-width: 40em) {
  .product-enquiry-single-pricing .prices .price {
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
    margin-top: auto; } }

.product-enquiry-single-pricing .prices .price .value {
  line-height: normal; }

.product-enquiry-single-pricing, .product-enquiry-group-pricing {
  width: 100%;
  padding: 10px 0; }
  .product-enquiry-single-pricing .prices, .product-enquiry-group-pricing .prices {
    width: 100%;
    display: grid;
    gap: 20px;
    grid-template-columns: repeat(auto-fit, minmax(220px, var(--price-max-width))); }
    @media print, screen and (min-width: 40em) {
      .product-enquiry-single-pricing .prices, .product-enquiry-group-pricing .prices {
        grid-template-columns: repeat(auto-fit, minmax(190px, calc(var(--price-max-width) - 10px)));
        gap: 10px 20px; } }
    @media screen and (min-width: 81.25em) {
      .product-enquiry-single-pricing .prices, .product-enquiry-group-pricing .prices {
        grid-template-columns: repeat(auto-fit, minmax(190px, calc(var(--price-max-width) - 10px)));
        gap: 10px 20px; } }
    .product-enquiry-single-pricing .prices .price-group-container, .product-enquiry-group-pricing .prices .price-group-container {
      position: relative;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      -webkit-box-align: start;
          -ms-flex-align: start;
              align-items: flex-start; }
      .product-enquiry-single-pricing .prices .price-group-container:not(:has(*)), .product-enquiry-group-pricing .prices .price-group-container:not(:has(*)) {
        display: none; }
      .product-enquiry-single-pricing .prices .price-group-container:has(+ .price-group-container > *):not(:last-child):after, .product-enquiry-group-pricing .prices .price-group-container:has(+ .price-group-container > *):not(:last-child):after {
        content: '';
        width: 100%;
        height: 1px;
        position: absolute;
        right: 0;
        bottom: calc(20px / 2 * -1);
        left: 0;
        display: block;
        margin: auto;
        background-color: #aeaeae; }
      @media screen and (min-width: 30em) {
        .product-enquiry-single-pricing .prices .price-group-container:has(+ .price-group-container > *):not(:last-child):after, .product-enquiry-group-pricing .prices .price-group-container:has(+ .price-group-container > *):not(:last-child):after {
          width: 1px;
          height: 90%;
          position: absolute;
          top: 0;
          right: calc(20px / 2 * -1);
          bottom: 0;
          left: unset; } }
      .product-enquiry-single-pricing .prices .price-group-container .price-container.rrp, .product-enquiry-single-pricing .prices .price-group-container .price-container.saving, .product-enquiry-group-pricing .prices .price-group-container .price-container.rrp, .product-enquiry-group-pricing .prices .price-group-container .price-container.saving {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content; }
      .product-enquiry-single-pricing .prices .price-group-container .price-container.rrp + .saving, .product-enquiry-group-pricing .prices .price-group-container .price-container.rrp + .saving {
        margin-left: 10px; }
      .product-enquiry-single-pricing .prices .price-group-container .price-container.price .label:not(:empty), .product-enquiry-single-pricing .prices .price-group-container .price-container.group-price .label:not(:empty), .product-enquiry-group-pricing .prices .price-group-container .price-container.price .label:not(:empty), .product-enquiry-group-pricing .prices .price-group-container .price-container.group-price .label:not(:empty) {
        margin-right: 10px; }
      .product-enquiry-single-pricing .prices .price-group-container .price-container.price .value, .product-enquiry-single-pricing .prices .price-group-container .price-container.group-price .value, .product-enquiry-group-pricing .prices .price-group-container .price-container.price .value, .product-enquiry-group-pricing .prices .price-group-container .price-container.group-price .value {
        margin-left: 0;
        font-size: 1.75rem;
        font-weight: 600; }
      .product-enquiry-single-pricing .prices .price-group-container .price-container.price .vat, .product-enquiry-single-pricing .prices .price-group-container .price-container.group-price .vat, .product-enquiry-group-pricing .prices .price-group-container .price-container.price .vat, .product-enquiry-group-pricing .prices .price-group-container .price-container.group-price .vat {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content; }

#product-case-pricing .case-price p {
  margin: 0;
  font-weight: 400;
  font-size: 1.0625rem; }

#product-case-pricing .price {
  margin: 5px 0; }

.delivery-countdown-container [data-countdown-time] {
  font-size: 0.875rem;
  font-weight: 400; }

#additional-images .collection-item.active .thumbnail a, .product-enquiry-additional-images .collection-item.active .thumbnail a {
  border: 1px solid #ae9461;
  opacity: 0.6;
  -webkit-transition: border 0.8s;
  transition: border 0.8s; }

#additional-images .thumbnail, .product-enquiry-additional-images .thumbnail {
  width: 100%;
  height: 100%; }
  #additional-images .thumbnail a, .product-enquiry-additional-images .thumbnail a {
    width: 100%;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    z-index: 100;
    border: 1px solid #dadada;
    -webkit-transition: border 0.6s;
    transition: border 0.6s; }
    #additional-images .thumbnail a:hover, .product-enquiry-additional-images .thumbnail a:hover {
      border: 1px solid #06052f;
      -webkit-transition: border 0.6s;
      transition: border 0.6s; }
    #additional-images .thumbnail a:active, .product-enquiry-additional-images .thumbnail a:active {
      border: 1px solid rgba(174, 148, 97, 0.5);
      -webkit-transition: border 0.6s;
      transition: border 0.6s; }
    #additional-images .thumbnail a.image-360, .product-enquiry-additional-images .thumbnail a.image-360 {
      position: relative; }
      #additional-images .thumbnail a.image-360:hover:after, .product-enquiry-additional-images .thumbnail a.image-360:hover:after {
        display: none; }
      #additional-images .thumbnail a.image-360:after, .product-enquiry-additional-images .thumbnail a.image-360:after {
        content: '';
        max-width: 55px;
        max-height: 55px;
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        margin: auto;
        display: block;
        background-color: rgba(0, 0, 0, 0.2);
        background-image: url("/template/content/development/images/icons/3dicon.svg");
        background-repeat: no-repeat;
        background-position: center;
        background-size: 80%;
        border-radius: 12.5px;
        border: 2px solid rgba(218, 218, 218, 0.2); }
    #additional-images .thumbnail a.video-thumbnail img, .product-enquiry-additional-images .thumbnail a.video-thumbnail img {
      max-width: 150px;
      width: 100%; }
      @media screen and (min-width: 81.25em) {
        #additional-images .thumbnail a.video-thumbnail img, .product-enquiry-additional-images .thumbnail a.video-thumbnail img {
          max-width: auto; } }

.grouped-product-modules {
  padding: 0;
  list-style: none; }
  @media screen and (min-width: 81.25em) {
    .grouped-product-modules {
      margin: 0 0 0 20px; } }
  .grouped-product-modules > li {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-left: auto;
    border-top: 1px solid #dadada; }
    .grouped-product-modules > li:last-child {
      border-bottom: 1px solid #dadada; }
    .grouped-product-modules > li > a, .grouped-product-modules > li > span, .grouped-product-modules > li > p, .grouped-product-modules > li > div {
      padding: 15px 0; }
    .grouped-product-modules > li a, .grouped-product-modules > li span {
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center; }
    .grouped-product-modules > li:last-child {
      margin-bottom: 20px;
      border-bottom: 1px solid #dadada; }
      @media screen and (min-width: 81.25em) {
        .grouped-product-modules > li:last-child {
          margin-bottom: 40px; } }
  .grouped-product-modules .rating-summary-display {
    margin-left: 10px; }

#additional-image-grid .additional-image-x, .additional-image-grid .additional-image-x {
  margin-right: -0.23438rem;
  margin-left: -0.3125rem; }
  @media print, screen and (min-width: 40em) {
    #additional-image-grid .additional-image-x, .additional-image-grid .additional-image-x {
      margin-right: -0.3125rem;
      margin-left: -0.3125rem; } }
  @media screen and (min-width: 81.25em) {
    #additional-image-grid .additional-image-x, .additional-image-grid .additional-image-x {
      margin-right: -0.15625rem;
      margin-left: -0.15625rem; } }

#additional-image-grid .thumbnail, .additional-image-grid .thumbnail {
  height: auto;
  margin-bottom: 10px; }
  @media print, screen and (min-width: 40em) {
    #additional-image-grid .thumbnail, .additional-image-grid .thumbnail {
      margin-bottom: 10px; } }
  @media screen and (min-width: 81.25em) {
    #additional-image-grid .thumbnail, .additional-image-grid .thumbnail {
      margin-bottom: 5px; } }

#additional-image-grid .small-up-1 > .thumbnail, .additional-image-grid .small-up-1 > .thumbnail {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: calc(100% - 0.625rem);
  margin-left: 0.3125rem;
  margin-right: 0.3125rem; }

#additional-image-grid .small-up-2 > .thumbnail, .additional-image-grid .small-up-2 > .thumbnail {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: calc(50% - 0.625rem);
  margin-left: 0.3125rem;
  margin-right: 0.3125rem; }

#additional-image-grid .small-up-3 > .thumbnail, .additional-image-grid .small-up-3 > .thumbnail {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: calc(33.33333% - 0.625rem);
  margin-left: 0.3125rem;
  margin-right: 0.3125rem; }

#additional-image-grid .small-up-4 > .thumbnail, .additional-image-grid .small-up-4 > .thumbnail {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: calc(25% - 0.625rem);
  margin-left: 0.3125rem;
  margin-right: 0.3125rem; }

#additional-image-grid .small-up-5 > .thumbnail, .additional-image-grid .small-up-5 > .thumbnail {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: calc(20% - 0.625rem);
  margin-left: 0.3125rem;
  margin-right: 0.3125rem; }

@media print, screen and (min-width: 40em) {
  #additional-image-grid .medium-up-1 > .thumbnail, .additional-image-grid .medium-up-1 > .thumbnail {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: calc(100% - 0.625rem);
    margin-left: 0.3125rem;
    margin-right: 0.3125rem; } }

@media print, screen and (min-width: 40em) {
  #additional-image-grid .medium-up-2 > .thumbnail, .additional-image-grid .medium-up-2 > .thumbnail {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: calc(50% - 0.625rem);
    margin-left: 0.3125rem;
    margin-right: 0.3125rem; } }

@media print, screen and (min-width: 40em) {
  #additional-image-grid .medium-up-3 > .thumbnail, .additional-image-grid .medium-up-3 > .thumbnail {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: calc(33.33333% - 0.625rem);
    margin-left: 0.3125rem;
    margin-right: 0.3125rem; } }

@media print, screen and (min-width: 40em) {
  #additional-image-grid .medium-up-4 > .thumbnail, .additional-image-grid .medium-up-4 > .thumbnail {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: calc(25% - 0.625rem);
    margin-left: 0.3125rem;
    margin-right: 0.3125rem; } }

@media print, screen and (min-width: 40em) {
  #additional-image-grid .medium-up-5 > .thumbnail, .additional-image-grid .medium-up-5 > .thumbnail {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: calc(20% - 0.625rem);
    margin-left: 0.3125rem;
    margin-right: 0.3125rem; } }

@media screen and (min-width: 81.25em) {
  #additional-image-grid .large-up-1 > .thumbnail, .additional-image-grid .large-up-1 > .thumbnail {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: calc(100% - 0.3125rem);
    margin-left: 0.15625rem;
    margin-right: 0.15625rem; } }

@media screen and (min-width: 81.25em) {
  #additional-image-grid .large-up-2 > .thumbnail, .additional-image-grid .large-up-2 > .thumbnail {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: calc(50% - 0.3125rem);
    margin-left: 0.15625rem;
    margin-right: 0.15625rem; } }

@media screen and (min-width: 81.25em) {
  #additional-image-grid .large-up-3 > .thumbnail, .additional-image-grid .large-up-3 > .thumbnail {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: calc(33.33333% - 0.3125rem);
    margin-left: 0.15625rem;
    margin-right: 0.15625rem; } }

@media screen and (min-width: 81.25em) {
  #additional-image-grid .large-up-4 > .thumbnail, .additional-image-grid .large-up-4 > .thumbnail {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: calc(25% - 0.3125rem);
    margin-left: 0.15625rem;
    margin-right: 0.15625rem; } }

@media screen and (min-width: 81.25em) {
  #additional-image-grid .large-up-5 > .thumbnail, .additional-image-grid .large-up-5 > .thumbnail {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: calc(20% - 0.3125rem);
    margin-left: 0.15625rem;
    margin-right: 0.15625rem; } }

.stockline-attribute-container {
  width: 100%;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 15px;
  margin: 0 0 10px; }
  @media screen and (min-width: 81.25em) {
    .stockline-attribute-container {
      gap: 10px;
      margin: 0 0 20px; } }
  .stockline-attribute-container .control .control-select-container {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1; }
    @media screen and (min-width: 81.25em) {
      .stockline-attribute-container .control .control-select-container {
        max-width: 520px;
        -webkit-box-flex: 1;
            -ms-flex-positive: 1;
                flex-grow: 1; } }
  .stockline-attribute-container .control .control-select-option.unavailable-option {
    background-color: #f3f3f3;
    color: #7b7b7b;
    opacity: .5;
    cursor: not-allowed; }
    .stockline-attribute-container .control .control-select-option.unavailable-option:active {
      opacity: .8; }
  .stockline-attribute-container .label, .stockline-attribute-container .description {
    width: 40%;
    color: #000000;
    font-size: 0.875rem;
    font-weight: 700; }
    @media screen and (min-width: 81.25em) {
      .stockline-attribute-container .label, .stockline-attribute-container .description {
        width: 27%; } }
  .stockline-attribute-container .attribute-display .label {
    display: inline-block;
    margin: 0; }
  .stockline-attribute-container .attribute-display .value {
    display: inline-block;
    font-size: 0.9375rem; }
  .stockline-attribute-container .attribute-container {
    max-width: 100%;
    width: 100%; }
    @media screen and (min-width: 81.25em) {
      .stockline-attribute-container .attribute-container {
        max-width: 100%; } }

#product-info-left {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column; }
  @media screen and (min-width: 81.25em) {
    #product-info-left {
      margin-right: 20px; } }
  #product-info-left.preset-1 #product-specification-description {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1; }
  #product-info-left.preset-1 .part-code-container {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2; }
  #product-info-left.preset-1 #productImage, #product-info-left.preset-1 .product-enquiry-main-multimedia-container {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3; }
  #product-info-left.preset-2 #product-specification-description {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2; }
  #product-info-left.preset-2 .part-code-container {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3; }
  #product-info-left.preset-2 #productImage, #product-info-left.preset-2 .product-enquiry-main-multimedia-container {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1; }

@media print, screen and (min-width: 40em) {
  .product-enquiry-tabs-container {
    padding: 20px 0 35px; } }

@media screen and (min-width: 81.25em) {
  .product-enquiry-tabs-container {
    padding: 25px 0 45px; } }

.product.previously-purchased-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 5px 10px;
  margin: 0 0 15px;
  padding: 15px 0;
  border: 2px solid var(--accent-colour-4-lightness-6);
  background-color: var(--accent-colour-4-lightness-9);
  border-radius: 0; }
  @media print, screen and (min-width: 40em) {
    .product.previously-purchased-container {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      gap: 10px 20px;
      margin: 0 0 35px;
      padding: 15px 0; } }
  .product.previously-purchased-container h3 {
    width: 100%;
    margin: 0;
    padding: 0;
    font-size: 1rem;
    font-weight: 600;
    color: #000000;
    text-align: center; }
    @media print, screen and (min-width: 40em) {
      .product.previously-purchased-container h3 {
        width: auto;
        font-size: 0.875rem; } }
  .product.previously-purchased-container p {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    gap: 5px;
    margin: 0;
    padding: 0;
    color: #000000;
    font-size: 0.875rem;
    font-weight: 600; }
    @media print, screen and (min-width: 40em) {
      .product.previously-purchased-container p {
        gap: 5px 10px; } }
    .product.previously-purchased-container p span {
      font-weight: 400; }
  .product.previously-purchased-container .view-order-link {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin: 0;
    padding: 0;
    color: #ae9461;
    font-size: 0.9375rem;
    font-weight: 600; }
    @media screen and (min-width: 81.25em) {
      .product.previously-purchased-container .view-order-link {
        padding: 5px;
        -webkit-box-pack: start;
            -ms-flex-pack: start;
                justify-content: flex-start; } }
    .product.previously-purchased-container .view-order-link:hover {
      color: #ae9461; }
      .product.previously-purchased-container .view-order-link:hover:after {
        color: #ae9461;
        -webkit-transition: color 0.8s;
        transition: color 0.8s; }
    .product.previously-purchased-container .view-order-link:active {
      color: #06052f; }
      .product.previously-purchased-container .view-order-link:active:after {
        color: #06052f; }
  .product.previously-purchased-container .content-container {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 5px 10px; }
    @media print, screen and (min-width: 40em) {
      .product.previously-purchased-container .content-container {
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        gap: 10px 20px; } }
    @media screen and (min-width: 81.25em) {
      .product.previously-purchased-container .content-container {
        gap: 10px 40px; } }

table.custom-stock-table tbody td {
  text-align: left; }

table.custom-stock-table tbody tr[colspan="2"] td {
  border-bottom: 1px solid #eeeeee; }

@media screen and (min-width: 81.25em) {
  table.custom-stock-table tbody tr td:first-child {
    width: 300px; } }

#basket-form {
  margin-bottom: 20px; }
  @media screen and (min-width: 81.25em) {
    #basket-form {
      margin-bottom: 70px; } }

@media screen and (min-width: 81.25em) {
  #basket-content-container {
    margin: 30px 0 0; } }

#basket-table {
  margin: 0; }
  @media screen and (min-width: 81.25em) {
    #basket-table td:not(.basket-description-col), #basket-table th:not(.basket-description-col) {
      text-align: center; } }
  @media screen and (min-width: 81.25em) {
    #basket-table.read-only td.basket-current-price-col {
      width: auto; } }
  #basket-table.read-only td.add-to-basket-col button {
    margin: auto; }
  #basket-table.read-only td.basket-quantity {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start; }
    @media print, screen and (max-width: 81.24875em) {
      #basket-table.read-only td.basket-quantity {
        width: 20%;
        margin-right: 10px; } }
    #basket-table.read-only td.basket-quantity p {
      margin: 0; }
    #basket-table.read-only td.basket-quantity .label {
      margin-right: 10px;
      font-weight: 600; }
      @media screen and (min-width: 81.25em) {
        #basket-table.read-only td.basket-quantity .label {
          display: none; } }
  #basket-table .basket-description-col {
    --media-aspect-ratio: 1/1; }
    #basket-table .basket-description-col .image {
      width: 175px;
      position: relative;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      margin: 0 20px 0 0; }
      @media screen and (min-width: 81.25em) {
        #basket-table .basket-description-col .image {
          width: -webkit-fit-content;
          width: -moz-fit-content;
          width: fit-content;
          margin: 0 40px 0 0; } }
      #basket-table .basket-description-col .image a {
        width: 155px; }
        @media screen and (min-width: 81.25em) {
          #basket-table .basket-description-col .image a {
            width: 132px;
            display: block;
            overflow: hidden; } }
      #basket-table .basket-description-col .image img {
        width: 155px;
        border: 1px solid #f3f3f3; }
        @media screen and (min-width: 81.25em) {
          #basket-table .basket-description-col .image img {
            width: 132px; } }
  #basket-table td.basket-description-col {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
    @media print, screen and (max-width: 81.24875em) {
      #basket-table td.basket-description-col {
        grid-column: 1 / 2 span; } }
  #basket-table .stock-description-level {
    min-width: 40%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 10px 0;
    padding: 10px 0; }
    @media screen and (min-width: 81.25em) {
      #basket-table .stock-description-level {
        min-width: unset;
        margin-left: 0;
        padding: 25px 0; } }
    #basket-table .stock-description-level .group-description {
      color: #ffffff;
      font-size: 1rem;
      font-weight: 600;
      line-height: 1.2; }
      #basket-table .stock-description-level .group-description:hover {
        color: #06052f;
        text-decoration: underline; }
      #basket-table .stock-description-level .group-description:active {
        color: #000000; }
    #basket-table .stock-description-level .description {
      width: 100%;
      display: block;
      margin: 0;
      padding: 0;
      color: #06052f;
      font-size: 1rem;
      font-weight: 600;
      text-transform: uppercase;
      line-height: 17px;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
      @media screen and (min-width: 81.25em) {
        #basket-table .stock-description-level .description {
          min-width: 300px; } }
      #basket-table .stock-description-level .description:hover {
        color: #ae9461;
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
      #basket-table .stock-description-level .description:active {
        color: #777777;
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
    #basket-table .stock-description-level .stock-indicator {
      margin-top: 5px; }
    #basket-table .stock-description-level .stockWarning {
      display: none;
      color: rgba(136, 136, 136, 0.6);
      font-size: 0.9375rem; }
      #basket-table .stock-description-level .stockWarning.active {
        display: block; }
      #basket-table .stock-description-level .stockWarning p {
        margin: 0;
        padding: 0; }
  #basket-table .subsidiary-description {
    color: #06052f;
    font-size: 0.9375rem;
    font-weight: 500; }
  #basket-table .non-returnable-description {
    font-style: italic;
    font-size: 0.9375rem;
    color: #000000; }
    #basket-table .non-returnable-description:before {
      content: "";
      padding: 0 5px 0 0;
      font-family: "fontello";
      font-style: normal;
      color: #ff5e05; }
  @media screen and (min-width: 81.25em) {
    #basket-table .basket-code-col {
      width: 10%;
      display: table-cell; } }
  @media screen and (min-width: 81.25em) {
    #basket-table .basket-price-col, #basket-table .basket-current-price-col {
      max-width: 15%;
      width: 100%; } }
  #basket-table .vat-rate-container {
    display: block; }
  #basket-table td.basket-price-col {
    font-weight: 400; }
    @media screen and (min-width: 81.25em) {
      #basket-table td.basket-price-col {
        display: table-cell; } }
  #basket-table td.basket-current-price-col {
    font-weight: 400; }
    @media screen and (min-width: 81.25em) {
      #basket-table td.basket-current-price-col {
        display: table-cell; } }
  @media screen and (min-width: 81.25em) {
    #basket-table .add-to-basket-col {
      width: 15%; } }
  #basket-table .basket-quantity {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start; }
    @media screen and (min-width: 81.25em) {
      #basket-table .basket-quantity {
        width: 10%;
        display: table-cell; } }
    #basket-table .basket-quantity .quantity-selector-container {
      width: 100%; }
      @media screen and (min-width: 81.25em) {
        #basket-table .basket-quantity .quantity-selector-container {
          width: auto;
          -webkit-box-pack: center;
              -ms-flex-pack: center;
                  justify-content: center;
          -webkit-box-align: center;
              -ms-flex-align: center;
                  align-items: center; } }
    @media screen and (min-width: 81.25em) {
      #basket-table .basket-quantity .label {
        display: none; } }
    #basket-table .basket-quantity .input-number-group {
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start; }
      @media screen and (min-width: 81.25em) {
        #basket-table .basket-quantity .input-number-group {
          -webkit-box-pack: center;
              -ms-flex-pack: center;
                  justify-content: center; } }
  @media screen and (min-width: 81.25em) {
    #basket-table .basket-sub-total {
      width: 11%; } }
  #basket-table .basket-sub-total span {
    width: 60%;
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    text-align: right; }
    @media screen and (min-width: 81.25em) {
      #basket-table .basket-sub-total span {
        width: auto;
        -webkit-box-ordinal-group: 2;
            -ms-flex-order: 1;
                order: 1; } }
  #basket-table td.basket-sub-total-col {
    width: 50%;
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4;
    font-weight: 600;
    color: #06052f; }
    @media screen and (min-width: 81.25em) {
      #basket-table td.basket-sub-total-col {
        width: auto;
        display: table-cell; } }
  @media screen and (min-width: 81.25em) {
    #basket-table .basket-remove-col {
      width: 5%; } }
  #basket-table td.basket-remove-col {
    width: 50%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-ordinal-group: 7;
        -ms-flex-order: 6;
            order: 6; }
    @media screen and (min-width: 81.25em) {
      #basket-table td.basket-remove-col {
        width: auto;
        display: table-cell; } }
  #basket-table .remove-button {
    width: 80px;
    height: 80px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    position: relative;
    color: #888888;
    -webkit-transition: color 0.8s;
    transition: color 0.8s; }
  #basket-table .basketUpdateRow {
    border-top: 1px solid #888888; }
  @media print, screen and (max-width: 81.24875em) {
    #basket-table .basket-item-row {
      display: grid;
      grid-template-columns: minmax(120px, -webkit-max-content) minmax(120px, -webkit-max-content);
      grid-template-columns: minmax(120px, max-content) minmax(120px, max-content);
      gap: 5px;
      padding: 10px; } }
  @media print, screen and (max-width: 81.24875em) {
    #basket-table .basket-item-row td {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: baseline;
          -ms-flex-align: baseline;
              align-items: baseline; } }
  #basket-table .basket-description-col .col-label, #basket-table .basket-code-col .col-label, #basket-table .basket-sub-total-col .col-label {
    display: none; }

table.quick-order-form-table tbody tr {
  cursor: pointer; }
  @media print, screen and (max-width: 81.24875em) {
    table.quick-order-form-table tbody tr {
      display: grid;
      grid-template-columns: 100px 1fr 30px;
      gap: 10px 20px; } }

@media print, screen and (max-width: 81.24875em) {
  table.quick-order-form-table tbody td {
    padding: 0; } }

@media print, screen and (max-width: 81.24875em) {
  table.quick-order-form-table tbody td:not(.image-col) {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; } }

@media screen and (min-width: 81.25em) {
  table.quick-order-form-table td {
    text-align: center;
    vertical-align: middle; } }

table.quick-order-form-table .image-col {
  grid-column: 1;
  grid-row: span 4; }
  @media screen and (min-width: 81.25em) {
    table.quick-order-form-table .image-col {
      width: 12.2%; } }

table.quick-order-form-table .description-col {
  grid-column: 2 / span 3; }
  table.quick-order-form-table .description-col .stock-description-level {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 10px 0;
    text-align: left; }
    @media screen and (min-width: 81.25em) {
      table.quick-order-form-table .description-col .stock-description-level {
        margin: 0 0 0 10px; } }
  table.quick-order-form-table .description-col .description {
    color: #06052f;
    font-size: 1rem;
    font-weight: 500; }

@media screen and (min-width: 81.25em) {
  table.quick-order-form-table td.description-col {
    width: 30%; } }

table.quick-order-form-table .code-col {
  grid-column: 2;
  grid-row: 2; }
  @media screen and (min-width: 81.25em) {
    table.quick-order-form-table .code-col {
      width: 25%; } }

table.quick-order-form-table .price-col {
  grid-column: 2 / span 3;
  grid-row: 3; }
  @media screen and (min-width: 81.25em) {
    table.quick-order-form-table .price-col {
      width: 20%; } }

table.quick-order-form-table .quantity-col {
  grid-row: 4; }

table.quick-order-form-table .add-col {
  grid-column: 2;
  grid-row: 5; }
  @media screen and (min-width: 81.25em) {
    table.quick-order-form-table .add-col {
      width: 18.9%;
      text-align: center; } }
  table.quick-order-form-table .add-col .addToBasket.icon, table.quick-order-form-table .add-col .basket-add-button {
    margin-left: 0; }

@media print, screen and (max-width: 81.24875em) {
  table.basket-table tbody tr, table#basket-table.basket-table tbody tr {
    display: grid;
    grid-template-columns: 100px 1fr;
    gap: 10px 20px; } }

table.basket-table tbody td, table#basket-table.basket-table tbody td {
  vertical-align: middle; }
  table.basket-table tbody td .col-label, table#basket-table.basket-table tbody td .col-label {
    display: inline-block; }

@media print, screen and (max-width: 81.24875em) {
  table.basket-table td.basket-description-col, table#basket-table.basket-table td.basket-description-col {
    display: grid;
    grid-template-columns: 100px 1fr;
    gap: 10px 20px; } }

@media print, screen and (max-width: 81.24875em) {
  table.basket-table td.basket-description-col .image, table#basket-table.basket-table td.basket-description-col .image {
    width: auto;
    margin: 0; } }

table.basket-table td.basket-description-col .stock-description-level, table#basket-table.basket-table td.basket-description-col .stock-description-level {
  gap: 10px 0; }
  table.basket-table td.basket-description-col .stock-description-level .stock-indicator, table#basket-table.basket-table td.basket-description-col .stock-description-level .stock-indicator {
    margin: 0; }

@media print, screen and (max-width: 81.24875em) {
  table.basket-table .basket-code-col, table.basket-table .basket-price-col, table.basket-table .basket-quantity, table.basket-table .basket-sub-total-col, table.basket-table .basket-remove-col, table#basket-table.basket-table .basket-code-col, table#basket-table.basket-table .basket-price-col, table#basket-table.basket-table .basket-quantity, table#basket-table.basket-table .basket-sub-total-col, table#basket-table.basket-table .basket-remove-col {
    width: 100%;
    display: grid;
    grid-template-columns: 50% 50%; } }

@media print, screen and (max-width: 81.24875em) {
  table.basket-table .basket-code-col, table#basket-table.basket-table .basket-code-col {
    grid-column: 2;
    grid-row: 2; } }

@media print, screen and (max-width: 81.24875em) {
  table.basket-table .basket-price-col, table#basket-table.basket-table .basket-price-col {
    grid-column: 2;
    grid-row: 3; } }

table.basket-table .basket-price-col .basket-price-container, table#basket-table.basket-table .basket-price-col .basket-price-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column; }
  table.basket-table .basket-price-col .basket-price-container.align-right, table#basket-table.basket-table .basket-price-col .basket-price-container.align-right {
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end; }
  table.basket-table .basket-price-col .basket-price-container span, table#basket-table.basket-table .basket-price-col .basket-price-container span {
    width: 100%; }
    @media screen and (min-width: 81.25em) {
      table.basket-table .basket-price-col .basket-price-container span, table#basket-table.basket-table .basket-price-col .basket-price-container span {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content; } }

@media screen and (min-width: 81.25em) {
  table.basket-table .basket-price-col .vat-rate-container, table#basket-table.basket-table .basket-price-col .vat-rate-container {
    text-align: right; } }

@media print, screen and (max-width: 81.24875em) {
  table.basket-table .basket-quantity, table#basket-table.basket-table .basket-quantity {
    grid-column: 2;
    grid-row: 4;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start; } }

@media print, screen and (max-width: 81.24875em) {
  table.basket-table .basket-sub-total-col, table#basket-table.basket-table .basket-sub-total-col {
    grid-column: 2;
    grid-row: 5; } }

@media screen and (min-width: 81.25em) {
  table.basket-table .basket-sub-total-col, table#basket-table.basket-table .basket-sub-total-col {
    width: 10%; } }

@media print, screen and (max-width: 81.24875em) {
  table.basket-table .basket-remove-col, table#basket-table.basket-table .basket-remove-col {
    grid-column: 2;
    grid-row: 6; } }

@media print, screen and (max-width: 81.24875em) {
  table.basket-table .basket-remove-col .remove-button, table#basket-table.basket-table .basket-remove-col .remove-button {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start; } }

#basket-sticky-summary-container {
  position: relative; }

@media print, screen and (max-width: 81.24875em) {
  #basket .basket-item-row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; } }

#basket #basket-delivery {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin: 0 0 30px;
  padding: 20px;
  background-color: transparent;
  border: 1px solid #dadada;
  border-radius: 0; }
  @media screen and (min-width: 81.25em) {
    #basket #basket-delivery {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      margin: 0 0 35px;
      padding: 45px; } }
  #basket #basket-delivery h2 {
    position: relative;
    margin: 0 0 35px;
    color: #06052f;
    font-weight: 700; }
    #basket #basket-delivery h2:before {
      content: "";
      display: inline-block;
      margin-right: 10px;
      font-size: 26px;
      font-family: "Font Awesome Solid";
      color: #06052f; }
  #basket #basket-delivery .cms-container {
    padding: 0; }
    @media screen and (min-width: 81.25em) {
      #basket #basket-delivery .cms-container {
        width: 50%;
        margin-right: 20px;
        font-size: 0.8125rem; } }
    #basket #basket-delivery .cms-container p {
      margin: 0 0 20px; }

#basket .checkout-buttons-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 10px; }
  #basket .checkout-buttons-container:has(.seperator:not(:empty)) {
    gap: 20px; }
  #basket .checkout-buttons-container.invalid a {
    cursor: no-drop; }
  #basket .checkout-buttons-container #sagepay-checkout-button {
    --component-specifc-step-height: 15px;
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: relative;
    margin: var(--common-button-small-margin, 0);
    padding: var(--common-button-padding, 12px 5px);
    color: #ffffff;
    background-color: #06052f;
    border-width: 2px;
    font-size: 1rem;
    font-weight: 600;
    text-align: center;
    border-style: solid;
    cursor: pointer;
    text-transform: uppercase;
    letter-spacing: 1.2px;
    word-spacing: 2px;
    border-color: #06052f;
    text-decoration: none;
    line-height: 1;
    border-radius: 0 !important;
    overflow: hidden;
    -webkit-transition: all 0.8s;
    transition: all 0.8s; }
    @media screen and (min-width: 81.25em) {
      #basket .checkout-buttons-container #sagepay-checkout-button {
        width: 100%;
        margin: var(--common-button-large-margin, 0); } }
    @media (hover: hover) {
      #basket .checkout-buttons-container #sagepay-checkout-button:hover, #basket .checkout-buttons-container #sagepay-checkout-button.hover {
        color: #ffffff;
        background-color: #ae9461;
        border-color: #ae9461;
        text-decoration: none;
        -webkit-transition: all 0.6s;
        transition: all 0.6s; }
        #basket .checkout-buttons-container #sagepay-checkout-button:hover .graduated-colour-edge .step, #basket .checkout-buttons-container #sagepay-checkout-button.hover .graduated-colour-edge .step {
          background-color: #ffffff;
          -webkit-transition: background-color 0.6s;
          transition: background-color 0.6s; } }
    #basket .checkout-buttons-container #sagepay-checkout-button:active, #basket .checkout-buttons-container #sagepay-checkout-button.active {
      color: #000000;
      background-color: #777777;
      border-color: #777777;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
    #basket .checkout-buttons-container #sagepay-checkout-button:disabled, #basket .checkout-buttons-container #sagepay-checkout-button.disabled, #basket .checkout-buttons-container #sagepay-checkout-button[disabled] {
      color: #929292;
      background-color: #ffffff;
      border-color: rgba(200, 200, 200, 0.7);
      cursor: not-allowed; }
    #basket .checkout-buttons-container #sagepay-checkout-button:disabled:hover, #basket .checkout-buttons-container #sagepay-checkout-button.disabled:hover {
      border-color: rgba(200, 200, 200, 0.7); }
    #basket .checkout-buttons-container #sagepay-checkout-button:focus-visible {
      outline: none;
      -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
              box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
    #basket .checkout-buttons-container #sagepay-checkout-button .graduated-colour-edge .step {
      -webkit-transition: background-color 0.8s;
      transition: background-color 0.8s; }
  #basket .checkout-buttons-container p {
    margin: 0;
    padding: 0;
    text-align: center;
    font-weight: 400;
    font-size: 1rem;
    text-transform: uppercase; }

.summary-item-input-container + .checkout-buttons-container, .summary-item + .checkout-buttons-container {
  margin: 20px 0 0; }

.summary-item-input-container.voucher label:before {
  content: ""; }

.summary-item-input-container.vat label:before {
  content: ""; }

.summary-item-input-container {
  width: 100%;
  margin: 30px 0 25px;
  padding: 0; }
  .summary-item-input-container label {
    width: 100%;
    position: relative;
    text-align: center;
    margin-bottom: 10px;
    color: #06052f;
    font-size: 0.9375rem;
    font-weight: 600;
    text-transform: uppercase; }
    .summary-item-input-container label:before {
      display: inline-block;
      margin-right: 5px;
      color: #06052f;
      font-family: "Font Awesome Solid";
      font-size: 0.9375rem; }
  .summary-item-input-container .summary-input-container {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: no-wrap;
        flex-wrap: no-wrap;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding: 5px;
    background-color: #ffffff;
    border-radius: 0; }
    .summary-item-input-container .summary-input-container.is-invalid-container + .form-error {
      display: block;
      margin: 15px 0 0;
      padding: 0; }
  .summary-item-input-container .summary-input {
    height: 35px;
    margin: 0;
    padding: 0 0 0 5px;
    background-color: transparent;
    border: 0;
    font-size: 0.9375rem;
    color: #000000; }
    .summary-item-input-container .summary-input:hover, .summary-item-input-container .summary-input:focus {
      -webkit-box-shadow: none;
              box-shadow: none; }
    .summary-item-input-container .summary-input::-webkit-input-placeholder {
      text-transform: uppercase;
      font-size: 0.9375rem;
      letter-spacing: -0.2px; }
    .summary-item-input-container .summary-input::-moz-placeholder {
      text-transform: uppercase;
      font-size: 0.9375rem;
      letter-spacing: -0.2px; }
    .summary-item-input-container .summary-input:-ms-input-placeholder {
      text-transform: uppercase;
      font-size: 0.9375rem;
      letter-spacing: -0.2px; }
    .summary-item-input-container .summary-input::-ms-input-placeholder {
      text-transform: uppercase;
      font-size: 0.9375rem;
      letter-spacing: -0.2px; }
    .summary-item-input-container .summary-input::placeholder {
      text-transform: uppercase;
      font-size: 0.9375rem;
      letter-spacing: -0.2px; }
    .summary-item-input-container .summary-input.is-valid-input + button {
      cursor: pointer;
      background-color: #06052f; }
  .summary-item-input-container .summary-input-submit.apply {
    --component-specifc-step-height: 15px;
    width: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: relative;
    margin: var(--common-button-small-margin, 0);
    padding: var(--common-button-padding, 12px);
    color: #ffffff;
    background-color: #06052f;
    border-width: 2px;
    font-size: 0.75rem;
    font-weight: 600;
    text-align: center;
    border-style: solid;
    cursor: pointer;
    text-transform: uppercase;
    letter-spacing: 1.2px;
    word-spacing: 2px;
    border-color: #eeeeee;
    text-decoration: none;
    line-height: 1;
    border-radius: 0 !important;
    overflow: hidden;
    -webkit-transition: all 0.8s;
    transition: all 0.8s; }
    @media screen and (min-width: 81.25em) {
      .summary-item-input-container .summary-input-submit.apply {
        width: auto;
        margin: var(--common-button-large-margin, 0); } }
    @media (hover: hover) {
      .summary-item-input-container .summary-input-submit.apply:hover, .summary-item-input-container .summary-input-submit.apply.hover {
        color: #ffffff;
        background-color: #ae9461;
        border-color: #ae9461;
        text-decoration: none;
        -webkit-transition: all 0.6s;
        transition: all 0.6s; }
        .summary-item-input-container .summary-input-submit.apply:hover .graduated-colour-edge .step, .summary-item-input-container .summary-input-submit.apply.hover .graduated-colour-edge .step {
          background-color: #ffffff;
          -webkit-transition: background-color 0.6s;
          transition: background-color 0.6s; } }
    .summary-item-input-container .summary-input-submit.apply:active, .summary-item-input-container .summary-input-submit.apply.active {
      color: #ffffff;
      background-color: #06052f;
      border-color: #06052f;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
    .summary-item-input-container .summary-input-submit.apply:disabled, .summary-item-input-container .summary-input-submit.apply.disabled, .summary-item-input-container .summary-input-submit.apply[disabled] {
      color: #929292;
      background-color: #ffffff;
      border-color: rgba(200, 200, 200, 0.7);
      cursor: not-allowed; }
    .summary-item-input-container .summary-input-submit.apply:disabled:hover, .summary-item-input-container .summary-input-submit.apply.disabled:hover {
      border-color: rgba(200, 200, 200, 0.7); }
    .summary-item-input-container .summary-input-submit.apply:focus-visible {
      outline: none;
      -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
              box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
    .summary-item-input-container .summary-input-submit.apply .graduated-colour-edge .step {
      -webkit-transition: background-color 0.8s;
      transition: background-color 0.8s; }
  .summary-item-input-container .summary-input-submit.remove {
    --component-specifc-step-height: 15px;
    width: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: relative;
    margin: var(--common-button-small-margin, 0);
    padding: var(--common-button-padding, 12px);
    color: #ffffff;
    background-color: #c00000;
    border-width: 2px;
    font-size: 0.75rem;
    font-weight: 600;
    text-align: center;
    border-style: solid;
    cursor: pointer;
    text-transform: uppercase;
    letter-spacing: 1.2px;
    word-spacing: 2px;
    border-color: #eeeeee;
    text-decoration: none;
    line-height: 1;
    border-radius: 0 !important;
    overflow: hidden;
    -webkit-transition: all 0.8s;
    transition: all 0.8s; }
    @media screen and (min-width: 81.25em) {
      .summary-item-input-container .summary-input-submit.remove {
        width: auto;
        margin: var(--common-button-large-margin, 0); } }
    @media (hover: hover) {
      .summary-item-input-container .summary-input-submit.remove:hover, .summary-item-input-container .summary-input-submit.remove.hover {
        color: #ffffff;
        background-color: #777777;
        border-color: #777777;
        text-decoration: none;
        -webkit-transition: all 0.6s;
        transition: all 0.6s; }
        .summary-item-input-container .summary-input-submit.remove:hover .graduated-colour-edge .step, .summary-item-input-container .summary-input-submit.remove.hover .graduated-colour-edge .step {
          background-color: #ffffff;
          -webkit-transition: background-color 0.6s;
          transition: background-color 0.6s; } }
    .summary-item-input-container .summary-input-submit.remove:active, .summary-item-input-container .summary-input-submit.remove.active {
      color: #ffffff;
      background-color: #06052f;
      border-color: #06052f;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
    .summary-item-input-container .summary-input-submit.remove:disabled, .summary-item-input-container .summary-input-submit.remove.disabled, .summary-item-input-container .summary-input-submit.remove[disabled] {
      color: #929292;
      background-color: #ffffff;
      border-color: rgba(200, 200, 200, 0.7);
      cursor: not-allowed; }
    .summary-item-input-container .summary-input-submit.remove:disabled:hover, .summary-item-input-container .summary-input-submit.remove.disabled:hover {
      border-color: rgba(200, 200, 200, 0.7); }
    .summary-item-input-container .summary-input-submit.remove:focus-visible {
      outline: none;
      -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
              box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
    .summary-item-input-container .summary-input-submit.remove .graduated-colour-edge .step {
      -webkit-transition: background-color 0.8s;
      transition: background-color 0.8s; }
  .summary-item-input-container .callout {
    --font-family: Font Awesome Solid;
    width: 100%;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 0 10px;
    margin: 10px 0;
    padding: 35px 10px;
    font-size: 0.875rem;
    border-radius: 0;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    text-align: center; }
    .summary-item-input-container .callout:has(.content-container) {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
      -webkit-box-align: start;
          -ms-flex-align: start;
              align-items: flex-start; }
      @media screen and (min-width: 81.25em) {
        .summary-item-input-container .callout:has(.content-container) {
          -webkit-box-align: center;
              -ms-flex-align: center;
                  align-items: center; } }
    @media screen and (min-width: 81.25em) {
      .summary-item-input-container .callout {
        gap: 0 15px; } }
    .summary-item-input-container .callout:has(.content-container):before {
      font-family: var(--font-family);
      font-size: 19px;
      line-height: 1; }
    .summary-item-input-container .callout.preset-1 {
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      text-align: center; }
    .summary-item-input-container .callout.preset-2 {
      padding-top: 15px;
      padding-bottom: 15px;
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start;
      text-align: left; }
      @media screen and (min-width: 81.25em) {
        .summary-item-input-container .callout.preset-2 {
          padding: 15px 65px; } }
    .summary-item-input-container .callout.preset-3 {
      padding: 15px 0; }
      @media screen and (min-width: 81.25em) {
        .summary-item-input-container .callout.preset-3 {
          padding: 15px 0; } }
    .summary-item-input-container .callout.success {
      background-color: #dffbe2;
      border: 1px solid #12811f;
      border-radius: 0; }
      .summary-item-input-container .callout.success:not(.icon-configured):has(.content-container):before {
        content: ""; }
      .summary-item-input-container .callout.success:has(.content-container):before {
        color: #12811f; }
      .summary-item-input-container .callout.success > p:first-of-type::before {
        content: "";
        color: #12811f; }
      .summary-item-input-container .callout.success h1, .summary-item-input-container .callout.success h2, .summary-item-input-container .callout.success h3, .summary-item-input-container .callout.success h4, .summary-item-input-container .callout.success h5, .summary-item-input-container .callout.success h6, .summary-item-input-container .callout.success p, .summary-item-input-container .callout.success a {
        color: #12811f; }
    .summary-item-input-container .callout.warning {
      background-color: #ffefe6;
      border: 1px solid #ff5e05;
      border-radius: 0; }
      .summary-item-input-container .callout.warning:not(.icon-configured):has(.content-container):before {
        content: ""; }
      .summary-item-input-container .callout.warning:has(.content-container):before {
        color: #ff5e05; }
      .summary-item-input-container .callout.warning > p:first-of-type::before {
        content: "";
        color: #ff5e05; }
      .summary-item-input-container .callout.warning h1, .summary-item-input-container .callout.warning h2, .summary-item-input-container .callout.warning h3, .summary-item-input-container .callout.warning h4, .summary-item-input-container .callout.warning h5, .summary-item-input-container .callout.warning h6, .summary-item-input-container .callout.warning p, .summary-item-input-container .callout.warning a {
        color: #ff5e05; }
    .summary-item-input-container .callout.alert {
      background-color: #fde1e1;
      border: 1px solid #b20c0c;
      border-radius: 0; }
      .summary-item-input-container .callout.alert:not(.icon-configured):has(.content-container):before {
        content: ""; }
      .summary-item-input-container .callout.alert:has(.content-container):before {
        color: #b20c0c; }
      .summary-item-input-container .callout.alert > p:first-of-type:before {
        content: "";
        color: #b20c0c; }
      .summary-item-input-container .callout.alert h1, .summary-item-input-container .callout.alert h2, .summary-item-input-container .callout.alert h3, .summary-item-input-container .callout.alert h4, .summary-item-input-container .callout.alert h5, .summary-item-input-container .callout.alert h6, .summary-item-input-container .callout.alert p, .summary-item-input-container .callout.alert a {
        color: #b20c0c; }
    .summary-item-input-container .callout.disabled p {
      color: #888888;
      font-weight: 600; }
    .summary-item-input-container .callout.information {
      background-color: #f1f1f1;
      border: 1px solid #000000; }
      .summary-item-input-container .callout.information:not(.icon-configured):has(.content-container):before {
        content: ""; }
      .summary-item-input-container .callout.information:has(.content-container):before {
        color: #000000; }
      .summary-item-input-container .callout.information p {
        color: #000000;
        font-weight: 600; }
    .summary-item-input-container .callout.icon-non-returnable {
      --font-family: fontello; }
      .summary-item-input-container .callout.icon-non-returnable:before {
        content: ""; }
    .summary-item-input-container .callout .user-friendly-prefix {
      margin-right: 5px; }
    .summary-item-input-container .callout > p {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: baseline;
          -ms-flex-align: baseline;
              align-items: baseline;
      margin: 0; }
      .summary-item-input-container .callout > p:first-of-type:before {
        display: -webkit-inline-box;
        display: -ms-inline-flexbox;
        display: inline-flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        margin: auto 15px auto 0;
        font-family: var(--font-family);
        font-size: 19px; }
        @media print, screen and (max-width: 81.24875em) {
          .summary-item-input-container .callout > p:first-of-type:before {
            position: absolute;
            top: 0;
            margin: auto; } }
    .summary-item-input-container .callout .content-container {
      display: -webkit-inline-box;
      display: -ms-inline-flexbox;
      display: inline-flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      margin: auto 0;
      -webkit-box-shadow: none;
              box-shadow: none;
      background-color: transparent; }
      @media screen and (min-width: 81.25em) {
        .summary-item-input-container .callout .content-container {
          margin: 0; } }
    .summary-item-input-container .callout p {
      margin: var(--indent-margin, 0);
      font-size: 1rem;
      font-weight: 600;
      line-height: normal;
      color: #777777; }
      .summary-item-input-container .callout p img[style*="float:left"], .summary-item-input-container .callout p img[style*="float: left"], .summary-item-input-container .callout p[style*="float:left"] > img {
        margin: .2em .2em .2em 0; }
      .summary-item-input-container .callout p img[style*="float:right"], .summary-item-input-container .callout p img[style*="float: right"], .summary-item-input-container .callout p[style*="float:right"] > img {
        margin: .2em 0 .2em .2em; }
      .summary-item-input-container .callout p img {
        margin: .2em 0; }
      .summary-item-input-container .callout p + p {
        margin-top: 0;
        margin-bottom: 0; }
    .summary-item-input-container .callout p:not(:empty) + table, .summary-item-input-container .callout p:not(:empty) + .comparison-table-container {
      margin: 15px 0; }
    .summary-item-input-container .callout table {
      --thead-border-colour: $thead-border-colour;
      max-width: 100%;
      margin-bottom: 0; }
      .summary-item-input-container .callout table:not([class*=preset]) thead {
        background-color: transparent; }
        .summary-item-input-container .callout table:not([class*=preset]) thead tr {
          border-bottom: 1px solid var(--thead-border-colour); }
        .summary-item-input-container .callout table:not([class*=preset]) thead th {
          font-weight: 600; }
      .summary-item-input-container .callout table.responsive-table {
        display: block; }
        @media screen and (min-width: 81.25em) {
          .summary-item-input-container .callout table.responsive-table {
            display: table; } }
        .summary-item-input-container .callout table.responsive-table:not([class*=preset]) thead {
          display: none; }
          @media screen and (min-width: 81.25em) {
            .summary-item-input-container .callout table.responsive-table:not([class*=preset]) thead {
              display: table-row-group; } }
        .summary-item-input-container .callout table.responsive-table tbody:not(.comparison-summary) {
          display: block; }
          @media screen and (min-width: 81.25em) {
            .summary-item-input-container .callout table.responsive-table tbody:not(.comparison-summary) {
              display: table-row-group; } }
      .summary-item-input-container .callout table th {
        padding: 10px 10px 10px; }
      @media screen and (min-width: 81.25em) {
        .summary-item-input-container .callout table td {
          padding: 10px; } }
      .summary-item-input-container .callout table thead[class*="preset"] + tbody:before {
        content: '';
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex; }
        @media screen and (min-width: 81.25em) {
          .summary-item-input-container .callout table thead[class*="preset"] + tbody:before {
            margin: 10px; } }
      .summary-item-input-container .callout table tbody {
        background-color: transparent; }
        .summary-item-input-container .callout table tbody th {
          background-color: transparent; }
        .summary-item-input-container .callout table tbody tr:not(:last-child) th {
          border-bottom: 1px solid transparent; }
        @media screen and (min-width: 81.25em) {
          .summary-item-input-container .callout table tbody tr {
            display: table-row; } }
      .summary-item-input-container .callout table .col-label {
        color: #777777; }
      @media print, screen and (max-width: 81.24875em) {
        .summary-item-input-container .callout table.responsive-table tbody tr {
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-orient: vertical;
          -webkit-box-direction: normal;
              -ms-flex-direction: column;
                  flex-direction: column; } }
      @media print, screen and (max-width: 81.24875em) {
        .summary-item-input-container .callout table.responsive-table tbody tr:not(:last-child) {
          margin-bottom: 10px;
          padding-bottom: 10px;
          border-bottom: 1px solid #eeeeee; } }
      .summary-item-input-container .callout table.no-wrap {
        display: block;
        white-space: nowrap;
        overflow-x: auto; }
      .summary-item-input-container .callout table.comparison-table tbody td:first-child {
        color: #777777;
        font-weight: 600; }
    .summary-item-input-container .callout blockquote {
      width: 100%;
      position: relative;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      -webkit-box-align: start;
          -ms-flex-align: start;
              align-items: flex-start;
      gap: 15px;
      margin: 0 auto 40px;
      padding: 50px 30px;
      border: 1px solid transparent;
      -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
              box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
      text-align: center;
      font-family: "Gibson", "Gibson Fallback", "Arial";
      font-size: 1rem;
      -webkit-transition: border-color 0.8s, -webkit-box-shadow 0.8s;
      transition: border-color 0.8s, -webkit-box-shadow 0.8s;
      transition: box-shadow 0.8s, border-color 0.8s;
      transition: box-shadow 0.8s, border-color 0.8s, -webkit-box-shadow 0.8s; }
      @media screen and (min-width: 81.25em) {
        .summary-item-input-container .callout blockquote {
          -webkit-box-orient: horizontal;
          -webkit-box-direction: normal;
              -ms-flex-direction: row;
                  flex-direction: row;
          gap: 25px; } }
      .summary-item-input-container .callout blockquote:hover {
        -webkit-box-shadow: none;
                box-shadow: none;
        border-color: #eeeeee;
        -webkit-transition: border-color 0.6s, -webkit-box-shadow 0.6s;
        transition: border-color 0.6s, -webkit-box-shadow 0.6s;
        transition: box-shadow 0.6s, border-color 0.6s;
        transition: box-shadow 0.6s, border-color 0.6s, -webkit-box-shadow 0.6s; }
        .summary-item-input-container .callout blockquote:hover:before {
          color: #dadada;
          -webkit-transition: color 0.6s;
          transition: color 0.6s; }
      .summary-item-input-container .callout blockquote:has(img) {
        text-align: left; }
      .summary-item-input-container .callout blockquote:last-of-type {
        margin-bottom: 40px; }
      @media screen and (min-width: 81.25em) {
        .summary-item-input-container .callout blockquote {
          padding: 50px 60px; } }
      .summary-item-input-container .callout blockquote + blockquote {
        margin-top: 15px; }
      .summary-item-input-container .callout blockquote:before, .summary-item-input-container .callout blockquote:after {
        content: "";
        position: absolute;
        display: inline-block;
        padding: 10px;
        font-size: 40px;
        color: #eeeeee;
        font-family: "Font Awesome Solid";
        line-height: .8;
        -webkit-transition: color 0.8s;
        transition: color 0.8s; }
      .summary-item-input-container .callout blockquote:before {
        top: 0;
        left: 0; }
      .summary-item-input-container .callout blockquote:after {
        right: 0;
        bottom: 0;
        -webkit-transform: rotate(180deg);
                transform: rotate(180deg); }
      .summary-item-input-container .callout blockquote img {
        float: left; }
        @media screen and (min-width: 81.25em) {
          .summary-item-input-container .callout blockquote img {
            text-align: left; } }
    .summary-item-input-container .callout a[href^="tel:"], .summary-item-input-container .callout a[href^="mailto:"] {
      font-weight: 700; }
      .summary-item-input-container .callout a[href^="tel:"]:hover, .summary-item-input-container .callout a[href^="mailto:"]:hover {
        text-decoration: none; }
      .summary-item-input-container .callout a[href^="tel:"].show-contact-icon:before, .summary-item-input-container .callout a[href^="mailto:"].show-contact-icon:before {
        display: inline-block;
        margin-right: 5px;
        font-family: "Font Awesome Solid"; }
    .summary-item-input-container .callout a[href^="mailto:"].show-contact-icon:before {
      content: ""; }
    .summary-item-input-container .callout a[href^="tel:"].show-contact-icon:before {
      content: "";
      -webkit-transform: rotate(180deg);
              transform: rotate(180deg); }
    .summary-item-input-container .callout p a:not([class*="-button"]) {
      display: -webkit-inline-box;
      display: -ms-inline-flexbox;
      display: inline-flex;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      gap: 0 5px;
      font-weight: 700; }
    .summary-item-input-container .callout p a:has([style*="float"]) {
      display: inline; }
    .summary-item-input-container .callout a {
      text-decoration: underline; }
    .summary-item-input-container .callout > p:first-of-type {
      position: relative; }
      @media print, screen and (max-width: 81.24875em) {
        .summary-item-input-container .callout > p:first-of-type {
          padding-top: 24px; } }

.summary-item-input-container + .warning-container {
  margin-top: 0; }

.warning-container {
  margin: 20px 0 0;
  font-size: 0.9375rem;
  font-weight: 600;
  color: #b20c0c; }
  .warning-container p {
    margin: 0; }

#basket-controls {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: 20px 0 35px;
  gap: 15px 0; }
  @media print, screen and (min-width: 40em) {
    #basket-controls {
      margin: 25px 0 50px;
      gap: 15px 0; } }
  #basket-controls .buttons-container {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    gap: 15px; }
    @media screen and (min-width: 81.25em) {
      #basket-controls .buttons-container {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
        gap: 15px;
        -webkit-box-pack: end;
            -ms-flex-pack: end;
                justify-content: flex-end; } }
    @media screen and (min-width: 81.25em) {
      #basket-controls .buttons-container a {
        margin-bottom: 0; } }
  #basket-controls .update-basket {
    --component-specifc-step-height: 15px;
    width: 100%;
    max-height: 100%;
    height: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: relative;
    margin: var(--common-button-small-margin, 0);
    padding: var(--common-button-padding, 10px 30px);
    color: #06052f;
    background-color: #ffffff;
    border-width: 2px;
    font-size: 0.75rem;
    font-weight: 400;
    text-align: center;
    border-style: solid;
    cursor: pointer;
    text-transform: uppercase;
    letter-spacing: 0.6px;
    word-spacing: 2px;
    border-color: #eeeeee;
    text-decoration: none;
    line-height: 1;
    border-radius: 0 !important;
    overflow: hidden;
    -webkit-transition: all 0.8s;
    transition: all 0.8s;
    /*
        --- Icon configuration ---
        - $icposition => Before or after text
        - margin => icon margin
        - colour => icon colour states ( default, hover & active )
        - size => icon size.
        - content => the font icon itself, normally stored in $site-icons
        - font-family => the font family that the icon belongs to font awesome or fontello.
        */
    align-items: center; }
    @media screen and (min-width: 81.25em) {
      #basket-controls .update-basket {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
        margin: var(--common-button-large-margin, 0); } }
    @media (hover: hover) {
      #basket-controls .update-basket:hover, #basket-controls .update-basket.hover {
        color: #ffffff;
        background-color: #ae9461;
        border-color: #ae9461;
        text-decoration: none;
        -webkit-transition: all 0.6s;
        transition: all 0.6s; }
        #basket-controls .update-basket:hover:after, #basket-controls .update-basket.hover:after {
          color: #ffffff;
          -webkit-transition: color 0.6s;
          transition: color 0.6s; }
        #basket-controls .update-basket:hover .graduated-colour-edge .step, #basket-controls .update-basket.hover .graduated-colour-edge .step {
          background-color: #ffffff;
          -webkit-transition: background-color 0.6s;
          transition: background-color 0.6s; } }
    #basket-controls .update-basket:active, #basket-controls .update-basket.active {
      background-color: #06052f;
      border-color: #06052f;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
    #basket-controls .update-basket:disabled, #basket-controls .update-basket.disabled, #basket-controls .update-basket[disabled] {
      color: #aeaeae;
      background-color: #ffffff;
      border-color: rgba(200, 200, 200, 0.7);
      cursor: not-allowed; }
      #basket-controls .update-basket:disabled:after, #basket-controls .update-basket.disabled:after, #basket-controls .update-basket[disabled]:after {
        color: #929292; }
    #basket-controls .update-basket:disabled:hover, #basket-controls .update-basket.disabled:hover {
      border-color: rgba(200, 200, 200, 0.7); }
    #basket-controls .update-basket:focus-visible {
      outline: none;
      -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
              box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
    #basket-controls .update-basket:after {
      content: "";
      margin: 0 0 0 10px;
      font-family: "Font Awesome Solid";
      font-size: 20px;
      color: #aeaeae;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
    #basket-controls .update-basket .graduated-colour-edge .step {
      -webkit-transition: background-color 0.8s;
      transition: background-color 0.8s; }
  #basket-controls .empty-basket {
    --component-specifc-step-height: 15px;
    width: 100%;
    max-height: 100%;
    height: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: relative;
    margin: var(--common-button-small-margin, 0);
    padding: var(--common-button-padding, 10px 30px);
    color: #06052f;
    background-color: #ffffff;
    border-width: 2px;
    font-size: 0.75rem;
    font-weight: 400;
    text-align: center;
    border-style: solid;
    cursor: pointer;
    text-transform: uppercase;
    letter-spacing: 0.6px;
    word-spacing: 2px;
    border-color: #eeeeee;
    text-decoration: none;
    line-height: 1;
    border-radius: 0 !important;
    overflow: hidden;
    -webkit-transition: all 0.8s;
    transition: all 0.8s;
    /*
        --- Icon configuration ---
        - $icposition => Before or after text
        - margin => icon margin
        - colour => icon colour states ( default, hover & active )
        - size => icon size.
        - content => the font icon itself, normally stored in $site-icons
        - font-family => the font family that the icon belongs to font awesome or fontello.
        */
    align-items: center; }
    @media screen and (min-width: 81.25em) {
      #basket-controls .empty-basket {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
        margin: var(--common-button-large-margin, 0); } }
    @media (hover: hover) {
      #basket-controls .empty-basket:hover, #basket-controls .empty-basket.hover {
        color: #ffffff;
        background-color: #ae9461;
        border-color: #ae9461;
        text-decoration: none;
        -webkit-transition: all 0.6s;
        transition: all 0.6s; }
        #basket-controls .empty-basket:hover:after, #basket-controls .empty-basket.hover:after {
          color: #ffffff;
          -webkit-transition: color 0.6s;
          transition: color 0.6s; }
        #basket-controls .empty-basket:hover .graduated-colour-edge .step, #basket-controls .empty-basket.hover .graduated-colour-edge .step {
          background-color: #ffffff;
          -webkit-transition: background-color 0.6s;
          transition: background-color 0.6s; } }
    #basket-controls .empty-basket:active, #basket-controls .empty-basket.active {
      background-color: #06052f;
      border-color: #06052f;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
    #basket-controls .empty-basket:disabled, #basket-controls .empty-basket.disabled, #basket-controls .empty-basket[disabled] {
      color: #888888;
      background-color: #ffffff;
      border-color: rgba(200, 200, 200, 0.7);
      cursor: not-allowed; }
      #basket-controls .empty-basket:disabled:after, #basket-controls .empty-basket.disabled:after, #basket-controls .empty-basket[disabled]:after {
        color: #929292; }
    #basket-controls .empty-basket:disabled:hover, #basket-controls .empty-basket.disabled:hover {
      border-color: rgba(200, 200, 200, 0.7); }
    #basket-controls .empty-basket:focus-visible {
      outline: none;
      -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
              box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
    #basket-controls .empty-basket:after {
      content: "";
      margin: 0 0 0 10px;
      font-family: "Font Awesome Solid";
      font-size: 20px;
      color: #aeaeae;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
    #basket-controls .empty-basket .graduated-colour-edge .step {
      -webkit-transition: background-color 0.8s;
      transition: background-color 0.8s; }

.quick-order-form-container {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  gap: 15px; }
  @media screen and (min-width: 81.25em) {
    .quick-order-form-container {
      -webkit-box-flex: 0;
          -ms-flex-positive: 0;
              flex-grow: 0;
      gap: 15px; } }
  .quick-order-form-container .search-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1; }
    .quick-order-form-container .search-container .control.search {
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      -webkit-box-flex: 1;
          -ms-flex-positive: 1;
              flex-grow: 1; }
      @media screen and (min-width: 81.25em) {
        .quick-order-form-container .search-container .control.search {
          max-width: 415px; } }
      @media screen and (min-width: 81.25em) {
        .quick-order-form-container .search-container .control.search input {
          width: 305px; } }
    .quick-order-form-container .search-container .input-prefix-icon {
      padding-right: 10px;
      padding-left: 10px; }
      .quick-order-form-container .search-container .input-prefix-icon:before {
        content: "+";
        color: #06052f;
        font-size: 22px;
        font-family: "Font Awesome Solid"; }
    .quick-order-form-container .search-container .form-error {
      padding-left: 0; }

.basket-total-container {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 10px 5px;
  background-color: #06052f;
  font-weight: 700;
  font-size: 1rem;
  color: #ffffff; }
  .basket-total-container .label {
    margin-right: 10px; }

.basket-total-sticky-container {
  height: 0 !important;
  z-index: 10; }
  @media screen and (min-width: 81.25em) {
    .basket-total-sticky-container {
      display: none; } }

@media print, screen and (max-width: 81.24875em) {
  .summary-sticky-container {
    width: 100%;
    height: auto !important; } }

@media screen and (min-width: 81.25em) {
  .summary-sticky-container {
    width: 310px;
    margin-left: auto; } }

#basket-summary, .summary-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin: 0 0 20px;
  padding: 40px;
  background-color: var(--primary-colour-lightness-10);
  border-radius: 0; }
  @media print, screen and (max-width: 81.24875em) {
    #basket-summary, .summary-container {
      max-width: 100% !important;
      width: 100%;
      position: unset; } }
  @media screen and (min-width: 81.25em) {
    #basket-summary, .summary-container {
      width: 310px;
      margin: 0 0 0 auto; } }
  @media screen and (min-width: 81.25em) {
    #basket-summary.is-stuck, .summary-container.is-stuck {
      position: fixed; } }
  #basket-summary.is-stuck:not(.no-animate), .summary-container.is-stuck:not(.no-animate) {
    -webkit-transition: top 0.6s;
    transition: top 0.6s; }
  @media screen and (min-width: 81.25em) {
    #basket-summary.is-anchored, .summary-container.is-anchored {
      position: absolute; } }
  #basket-summary.is-anchored.is-at-top, .summary-container.is-anchored.is-at-top {
    margin-top: 0 !important; }
  #basket-summary.is-anchored:not(.no-animate), .summary-container.is-anchored:not(.no-animate) {
    -webkit-transition: top 0.8s;
    transition: top 0.8s; }
  #basket-summary.preset-1 #voucher-container, .summary-container.preset-1 #voucher-container {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2; }
  #basket-summary.preset-1 #goods-summary-value, .summary-container.preset-1 #goods-summary-value {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3; }
  #basket-summary.preset-1 #voucher-summary-value, .summary-container.preset-1 #voucher-summary-value {
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4; }
  #basket-summary.preset-1 #delivery-summary-value, .summary-container.preset-1 #delivery-summary-value {
    -webkit-box-ordinal-group: 6;
        -ms-flex-order: 5;
            order: 5; }
  #basket-summary.preset-1 #total-value, .summary-container.preset-1 #total-value {
    -webkit-box-ordinal-group: 7;
        -ms-flex-order: 6;
            order: 6;
    position: relative; }
    #basket-summary.preset-1 #total-value:before, .summary-container.preset-1 #total-value:before {
      content: '';
      width: 100%;
      height: 1px;
      display: block;
      margin: 20px 0;
      border-width: 0 0 1px 0;
      border-style: solid;
      border-color: #aeaeae;
      color: #000000; }
    #basket-summary.preset-1 #total-value:after, .summary-container.preset-1 #total-value:after {
      content: '';
      width: 100%;
      height: 1px;
      display: block;
      margin: 20px 0;
      border-width: 0 0 1px 0;
      border-style: solid;
      border-color: #aeaeae;
      color: #000000; }
  #basket-summary.preset-1 #net-summary-value, .summary-container.preset-1 #net-summary-value {
    -webkit-box-ordinal-group: 8;
        -ms-flex-order: 7;
            order: 7; }
  #basket-summary.preset-1 #vat-summary-value, .summary-container.preset-1 #vat-summary-value {
    -webkit-box-ordinal-group: 9;
        -ms-flex-order: 8;
            order: 8; }
  #basket-summary.preset-1 #vat-input-container, .summary-container.preset-1 #vat-input-container {
    -webkit-box-ordinal-group: 10;
        -ms-flex-order: 9;
            order: 9; }
  #basket-summary.preset-1 #edit-basket-container, .summary-container.preset-1 #edit-basket-container {
    -webkit-box-ordinal-group: 11;
        -ms-flex-order: 10;
            order: 10; }
  #basket-summary.preset-1 #summary-warning-container, .summary-container.preset-1 #summary-warning-container {
    -webkit-box-ordinal-group: 12;
        -ms-flex-order: 11;
            order: 11; }
  #basket-summary.preset-1 .checkout-buttons-container, .summary-container.preset-1 .checkout-buttons-container {
    -webkit-box-ordinal-group: 13;
        -ms-flex-order: 12;
            order: 12; }
  #basket-summary.preset-2 #voucher-container, .summary-container.preset-2 #voucher-container {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2; }
  #basket-summary.preset-2 #goods-summary-value, .summary-container.preset-2 #goods-summary-value {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3; }
  #basket-summary.preset-2 #voucher-summary-value, .summary-container.preset-2 #voucher-summary-value {
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4; }
  #basket-summary.preset-2 #delivery-summary-value, .summary-container.preset-2 #delivery-summary-value {
    -webkit-box-ordinal-group: 6;
        -ms-flex-order: 5;
            order: 5; }
  #basket-summary.preset-2 #total-value, .summary-container.preset-2 #total-value {
    padding: 0;
    -webkit-box-ordinal-group: 9;
        -ms-flex-order: 8;
            order: 8; }
    #basket-summary.preset-2 #total-value:before, .summary-container.preset-2 #total-value:before {
      content: '';
      width: 100%;
      height: 1px;
      display: block;
      margin: 20px 0;
      border-width: 0 0 1px 0;
      border-style: solid;
      border-color: #aeaeae;
      color: #000000; }
  #basket-summary.preset-2 #net-summary-value, .summary-container.preset-2 #net-summary-value {
    padding: 0;
    -webkit-box-ordinal-group: 7;
        -ms-flex-order: 6;
            order: 6;
    position: relative; }
    #basket-summary.preset-2 #net-summary-value:before, .summary-container.preset-2 #net-summary-value:before {
      content: '';
      width: 100%;
      height: 1px;
      display: block;
      margin: 20px 0;
      border-width: 0 0 1px 0;
      border-style: solid;
      border-color: #aeaeae;
      color: #000000; }
  #basket-summary.preset-2 #vat-summary-value, .summary-container.preset-2 #vat-summary-value {
    -webkit-box-ordinal-group: 8;
        -ms-flex-order: 7;
            order: 7;
    position: relative; }
  #basket-summary.preset-2 #vat-input-container, .summary-container.preset-2 #vat-input-container {
    -webkit-box-ordinal-group: 10;
        -ms-flex-order: 9;
            order: 9; }
  #basket-summary.preset-2 #edit-basket-container, .summary-container.preset-2 #edit-basket-container {
    -webkit-box-ordinal-group: 11;
        -ms-flex-order: 10;
            order: 10; }
  #basket-summary.preset-2 #summary-warning-container, .summary-container.preset-2 #summary-warning-container {
    -webkit-box-ordinal-group: 12;
        -ms-flex-order: 11;
            order: 11; }
  #basket-summary.preset-2 .checkout-buttons-container, .summary-container.preset-2 .checkout-buttons-container {
    -webkit-box-ordinal-group: 13;
        -ms-flex-order: 12;
            order: 12; }
  #basket-summary .basket-summary-heading, #basket-summary .summary-heading, .summary-container .basket-summary-heading, .summary-container .summary-heading {
    margin: 0;
    text-align: center;
    font-size: 1.125rem;
    font-weight: 700;
    color: #06052f;
    text-transform: uppercase;
    word-spacing: 2px; }
  #basket-summary .summary-intro-container, .summary-container .summary-intro-container {
    margin: 0 0 20px; }
    #basket-summary .summary-intro-container p, .summary-container .summary-intro-container p {
      margin: 0;
      padding: 0;
      font-size: 0.9375rem; }
  #basket-summary .summary-item, .summary-container .summary-item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    padding: 5px 0 0;
    font-size: 1rem;
    color: #000000; }
    #basket-summary .summary-item.highlighted, .summary-container .summary-item.highlighted {
      color: var(--accent-colour-1-lightness-0);
      font-weight: 600; }
    #basket-summary .summary-item span, .summary-container .summary-item span {
      display: inline-block; }
      #basket-summary .summary-item span.value, #basket-summary .summary-item span.label, .summary-container .summary-item span.value, .summary-container .summary-item span.label {
        width: 100%; }
      #basket-summary .summary-item span.label, .summary-container .summary-item span.label {
        max-width: 60%;
        font-weight: 400; }
      #basket-summary .summary-item span.value, .summary-container .summary-item span.value {
        max-width: 40%;
        text-align: right;
        font-weight: 400; }
    #basket-summary .summary-item .incVat, .summary-container .summary-item .incVat {
      width: 100%;
      text-align: right;
      font-size: 1rem;
      font-weight: 400;
      font-style: italic; }
  #basket-summary #total-value .label, #basket-summary #total-value .value, .summary-container #total-value .label, .summary-container #total-value .value {
    color: #06052f;
    font-size: 1rem;
    font-weight: 700;
    text-transform: uppercase; }
  #basket-summary #edit-basket-container, .summary-container #edit-basket-container {
    position: relative;
    margin: 30px 7px 0 0;
    color: #06052f;
    font-size: 0.75rem;
    text-align: right; }
    #basket-summary #edit-basket-container:after, .summary-container #edit-basket-container:after {
      content: "";
      width: 10px;
      height: 10px;
      display: inline-block;
      margin-left: 5px;
      font-size: 1rem;
      font-family: "Font Awesome Solid";
      line-height: 1; }
    #basket-summary #edit-basket-container:hover, .summary-container #edit-basket-container:hover {
      color: #ae9461; }
    #basket-summary #edit-basket-container:active, .summary-container #edit-basket-container:active {
      color: #777777; }

@media screen and (min-width: 81.25em) {
  #delivery-selector {
    width: 50%; } }

#delivery-selector select, #delivery-selector label {
  width: 100%; }

#delivery-selector .delivery-label {
  margin: 10px 0;
  color: #06052f;
  font-weight: 600; }

@media screen and (min-width: 81.25em) {
  #delivery-selector .delivery-service, #delivery-selector .delivery-area {
    width: 405px;
    margin: 0 0 0 auto; } }

#delivery-selector .delivery-service.disabled {
  opacity: 0.5; }

.link-failed-container {
  margin: 0 0 50px;
  text-align: center; }
  .link-failed-container .link-failed-heading {
    margin: 0 0 30px;
    color: #ff0101;
    font-size: 1.375rem;
    font-weight: 400; }
  .link-failed-container .primary-button {
    margin-right: auto;
    margin-left: auto; }

.account-menu-items-container .account-page [class*="-icon"]:before {
  content: ""; }

.account-menu-items-container .account-page [class*="-icon"].customer-assets:before, .account-menu-items-container .account-page [class*="-icon"].function-1:before {
  content: ""; }

.account-menu-items-container .account-page [class*="-icon"].branch-switcher:before, .account-menu-items-container .account-page [class*="-icon"].account-switcher:before, .account-menu-items-container .account-page [class*="-icon"].function-2:before {
  content: ""; }

.account-menu-items-container .account-page [class*="-icon"].manage-calls:before, .account-menu-items-container .account-page [class*="-icon"].function-3:before {
  content: ""; }

.account-menu-items-container .account-page [class*="-icon"].change-details:before, .account-menu-items-container .account-page [class*="-icon"].function-4:before {
  content: ""; }

.account-menu-items-container .account-page [class*="-icon"].contact-preferences:before, .account-menu-items-container .account-page [class*="-icon"].function-5:before {
  content: ""; }

.account-menu-items-container .account-page [class*="-icon"].contract-items:before, .account-menu-items-container .account-page [class*="-icon"].function-6:before {
  content: ""; }

.account-menu-items-container .account-page [class*="-icon"].service-contracts:before, .account-menu-items-container .account-page [class*="-icon"].function-7:before {
  content: ""; }

.account-menu-items-container .account-page [class*="-icon"].software-development-logs:before, .account-menu-items-container .account-page [class*="-icon"].function-8:before {
  content: "";
  color: #663399; }

.account-menu-items-container .account-page [class*="-icon"].diplomat-update-download:before, .account-menu-items-container .account-page [class*="-icon"].function-9:before {
  content: "";
  color: #663399; }

.account-menu-items-container .account-page [class*="-icon"].online-documentation:before, .account-menu-items-container .account-page [class*="-icon"].function-10:before, .account-menu-items-container .account-page [class*="-icon"].function-34:before {
  content: ""; }

.account-menu-items-container .account-page [class*="-icon"].favourites:before, .account-menu-items-container .account-page [class*="-icon"].function-11:before {
  content: "";
  font-family: "Font Awesome Regular"; }

.account-menu-items-container .account-page [class*="-icon"].logout:before, .account-menu-items-container .account-page [class*="-icon"].function-13:before {
  content: ""; }

.account-menu-items-container .account-page [class*="-icon"].view-orders:before, .account-menu-items-container .account-page [class*="-icon"].function-15:before {
  content: ""; }

.account-menu-items-container .account-page [class*="-icon"].change-password:before, .account-menu-items-container .account-page [class*="-icon"].function-16:before {
  content: ""; }

.account-menu-items-container .account-page [class*="-icon"].manage-cards:before, .account-menu-items-container .account-page [class*="-icon"].function-17:before {
  content: ""; }

.account-menu-items-container .account-page [class*="-icon"].payment-requests:before, .account-menu-items-container .account-page [class*="-icon"].function-18:before {
  content: ""; }

.account-menu-items-container .account-page [class*="-icon"].download-price-lists:before, .account-menu-items-container .account-page [class*="-icon"].function-19:before {
  content: ""; }

.account-menu-items-container .account-page [class*="-icon"].recently-purchased:before, .account-menu-items-container .account-page [class*="-icon"].function-21:before {
  content: ""; }

.account-menu-items-container .account-page [class*="-icon"].site-list:before, .account-menu-items-container .account-page [class*="-icon"].function-22:before {
  content: "";
  color: #5f7b27; }

.account-menu-items-container .account-page [class*="-icon"].statement:before, .account-menu-items-container .account-page [class*="-icon"].function-24:before {
  content: ""; }

.account-menu-items-container .account-page [class*="-icon"].historical-transactions:before, .account-menu-items-container .account-page [class*="-icon"].function-25:before {
  content: ""; }

.account-menu-items-container .account-page [class*="-icon"].upload-basket:before, .account-menu-items-container .account-page [class*="-icon"].function-26:before {
  content: ""; }

.account-menu-items-container .account-page [class*="-icon"].upload-orders:before, .account-menu-items-container .account-page [class*="-icon"].function-27:before {
  content: ""; }

.account-menu-items-container .account-page [class*="-icon"].manage-users:before, .account-menu-items-container .account-page [class*="-icon"].function-28:before {
  content: ""; }

.account-menu-items-container .account-page [class*="-icon"].employee-status:before, .account-menu-items-container .account-page [class*="-icon"].function-29:before {
  content: ""; }

.account-menu-items-container .account-page [class*="-icon"].diplomat-update-database:before, .account-menu-items-container .account-page [class*="-icon"].function-30:before {
  content: "";
  color: #663399; }

.account-menu-items-container .account-page [class*="-icon"].function-31:before {
  content: "";
  font-family: "Font Awesome Brands";
  color: #336699; }

.account-menu-items-container .account-page [class*="-icon"].function-32:before {
  content: "";
  color: #336699; }

.account-menu-items-container .account-page [class*="-icon"].function-33:before {
  content: "";
  color: #336699; }

.account-menu-items-container .account-page [class*="-icon"].function-34:before {
  content: "";
  width: 30px;
  height: 30px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-family: "Font Awesome Solid";
  font-size: 17px;
  border-radius: 40px;
  background-color: var(--primary-colour-lightness-0);
  color: var(--white-colour);
  -webkit-transition: background-color 0.6s, color 0.6s;
  transition: background-color 0.6s, color 0.6s; }

.account-menu-items-container .account-page [class*="-icon"].function-35:before {
  content: "";
  color: #663399; }

.menu .account-menu-sections {
  margin-top: 10px; }
  @media screen and (min-width: 81.25em) {
    .menu .account-menu-sections {
      margin-top: 0; } }
  .menu .account-menu-sections .account-page a {
    gap: 10px;
    padding: 5px; }
    .menu .account-menu-sections .account-page a .page-icon {
      font-size: 20px; }
      .menu .account-menu-sections .account-page a .page-icon.change-password, .menu .account-menu-sections .account-page a .page-icon.function-16 {
        font-size: 5.33333px; }
  .menu .account-menu-sections .account-menu-heading-container {
    margin: 5px 0 10px; }

.account-menu-heading-container {
  margin: 35px 0 20px; }

.account-menu-items-container .cell {
  margin-bottom: 10px; }

.account-menu-items-container .account-page {
  height: 100%;
  cursor: pointer; }
  .account-menu-items-container .account-page.site-style span[class*="-icon"]:before {
    color: var(--primary-colour-lightness-0); }
  .account-menu-items-container .account-page a {
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 30px;
    padding: 19px;
    color: #000000;
    background-color: #f3f3f3;
    border: 1px solid #f3f3f3;
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }
    .account-menu-items-container .account-page a:hover {
      background-color: #06052f;
      border-color: #06052f; }
      .account-menu-items-container .account-page a:hover span[class*="-description"] {
        color: #ffffff;
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
      .account-menu-items-container .account-page a:hover span[class*="-icon"]:before {
        color: var(--secondary-colour-lightness-0);
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
  .account-menu-items-container .account-page span[class*="-description"] {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    color: #000000;
    font-weight: 600;
    -webkit-transition: color 0.8s;
    transition: color 0.8s; }
  .account-menu-items-container .account-page span[class*="-icon"] {
    width: 50px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
    .account-menu-items-container .account-page span[class*="-icon"]:before {
      font-family: "fontello";
      font-weight: 400;
      color: var(--primary-colour-lightness-0);
      line-height: 1;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
  .account-menu-items-container .account-page:hover span[class*="-icon"].function-34:before {
    background-color: var(--white-colour);
    color: var(--primary-colour-lightness-0);
    -webkit-transition: background-color 0.6s, color 0.6s;
    transition: background-color 0.6s, color 0.6s; }

.account-menu-items-container .account-page .page-icon {
  font-size: 30px; }
  .account-menu-items-container .account-page .page-icon.change-password, .account-menu-items-container .account-page .page-icon.function-16 {
    font-size: 8px; }
  .account-menu-items-container .account-page .page-icon.change-details, .account-menu-items-container .account-page .page-icon.function-4 {
    font-size: 25px; }
  .account-menu-items-container .account-page .page-icon.manage-cards, .account-menu-items-container .account-page .page-icon.function-17 {
    font-size: 23px; }
  .account-menu-items-container .account-page .page-icon.diplomat-update-download, .account-menu-items-container .account-page .page-icon.function-9 {
    font-size: 25px; }
  .account-menu-items-container .account-page .page-icon.diplomat-update-download, .account-menu-items-container .account-page .page-icon.function-35 {
    font-size: 25px; }
  .account-menu-items-container .account-page .page-icon.logout, .account-menu-items-container .account-page .page-icon.function-29 {
    font-size: 25px; }

.account-menu .account-menu-items-container .account-page .page-icon {
  font-size: 20px; }

.account-menu h2 {
  padding-bottom: 10px;
  font-size: 1.25rem; }
  @media screen and (min-width: 81.25em) {
    .account-menu h2 {
      font-size: 1rem; } }

#account-page-grid .account-page {
  padding: 0 0 20px; }
  #account-page-grid .account-page a {
    display: block;
    padding: 35px 20px 30px; }

#account-page-grid .page-icon.change-details:before {
  font-size: 45px; }

#account-page-grid .page-icon.change-password:before {
  font-size: 13px; }

#account-page-grid .page-icon.contract-items:before {
  font-size: 65px; }

#account-page-grid .page-icon.favourites:before {
  font-size: 45px; }

#account-page-grid .page-icon.view-orders:before {
  font-size: 55px; }

#account-page-grid .page-icon.recently-purchased:before {
  font-size: 65px; }

#account-page-grid .page-icon.manage-cards:before {
  font-size: 35px; }

#account-page-grid .page-icon.statement:before {
  font-size: 45px; }

#account-page-grid .page-icon.manage-users:before {
  font-size: 55px; }

#account-page-grid .page-icon.branch-switcher:before, #account-page-grid .page-icon.account-switcher:before {
  font-size: 60px; }

#account-page-grid .page-icon.contact-preferences:before {
  font-size: 60px; }

#account-page-grid .page-icon.historical-transactions:before {
  font-size: 60px; }

#account-page-grid .page-icon.upload-basket:before {
  font-size: 45px; }

#account-page-grid .page-icon.upload-orders:before {
  font-size: 45px; }

#account-page-grid .page-icon.logout:before {
  font-size: 45px; }

#account-page-grid .page-icon.manage-calls:before {
  font-size: 45px; }

#account-page-grid .page-icon.service-contracts:before {
  font-size: 45px; }

#account-page-grid .page-icon.customer-assets:before {
  font-size: 45px; }

#account-page-grid .page-icon.payment-requests {
  font-size: 45px; }

#account-page-grid .page-icon.download-price-lists {
  font-size: 45px; }

#account-page-grid .page-icon.site-list {
  font-size: 45px; }

#account-page-grid .page-icon.diplomat-update-download {
  font-size: 45px; }

#account-page-grid .page-icon.diplomat-update-database {
  font-size: 45px; }

#account-page-grid .page-icon.online-documentation {
  font-size: 45px; }

.account-sorting-options {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }
  @media screen and (min-width: 81.25em) {
    .account-sorting-options {
      margin: 0 0 10px; } }
  .account-sorting-options .sort-option {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin: 15px 0; }
    @media screen and (min-width: 81.25em) {
      .account-sorting-options .sort-option {
        width: auto;
        height: 100%;
        margin: 0; } }
    @media screen and (min-width: 81.25em) {
      .account-sorting-options .sort-option.branch-filter {
        max-width: 490px; } }
    @media screen and (min-width: 81.25em) {
      .account-sorting-options .sort-option.branch-filter select, .account-sorting-options .sort-option.branch-filter .control-select-dropdown {
        width: 300px; } }
    .account-sorting-options .sort-option.branch-filter .tooltip-container {
      -ms-flex-item-align: center;
          align-self: center;
      margin-left: 5px; }
    .account-sorting-options .sort-option.pagination {
      margin-right: 0;
      margin-left: auto; }
    .account-sorting-options .sort-option .label, .account-sorting-options .sort-option .paginationLabel {
      width: auto;
      margin-right: 10px;
      white-space: nowrap; }

.account-buttons-container {
  margin-bottom: 40px; }
  @media screen and (min-width: 81.25em) {
    .account-buttons-container {
      width: 235px; } }
  .account-buttons-container.center-buttons {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center; }

.order-container {
  width: 100%;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column; }
  @media screen and (min-width: 81.25em) {
    .order-container {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      margin: 0 auto; } }
  .order-container + .responsive-tabs {
    margin-top: 20px; }
    @media screen and (min-width: 81.25em) {
      .order-container + .responsive-tabs {
        margin-top: 40px; } }
  .order-container.payment-confirmation {
    margin-bottom: 10px; }
    @media screen and (min-width: 81.25em) {
      .order-container.payment-confirmation {
        margin-bottom: 20px; } }
    @media screen and (min-width: 81.25em) {
      .order-container.payment-confirmation .order-details-container .order-details, .order-container.payment-confirmation .order-details-container .order-delivery {
        width: calc(50% - 10px); } }
  @media screen and (min-width: 81.25em) {
    .order-container.preset-1 #order-table {
      width: 970px;
      margin-right: auto;
      margin-left: 0; } }
  @media screen and (min-width: 81.25em) {
    .order-container.preset-1 #order-table .basket-price-col {
      width: 15%; } }
  @media screen and (min-width: 81.25em) {
    .order-container.preset-1 #order-table td.basket-description-col {
      width: 515px; } }
  .order-container #order-table {
    margin: 20px auto 25px; }
    @media screen and (min-width: 81.25em) {
      .order-container #order-table td:not(.basket-description-col), .order-container #order-table th:not(.basket-description-col) {
        text-align: center; } }
    @media screen and (min-width: 81.25em) {
      .order-container #order-table.read-only td.basket-current-price-col {
        width: auto; } }
    .order-container #order-table.read-only td.add-to-basket-col button {
      margin: auto; }
    .order-container #order-table.read-only td.basket-quantity {
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start; }
      @media print, screen and (max-width: 81.24875em) {
        .order-container #order-table.read-only td.basket-quantity {
          width: 20%;
          margin-right: 10px; } }
      .order-container #order-table.read-only td.basket-quantity p {
        margin: 0; }
      .order-container #order-table.read-only td.basket-quantity .label {
        margin-right: 10px;
        font-weight: 600; }
        @media screen and (min-width: 81.25em) {
          .order-container #order-table.read-only td.basket-quantity .label {
            display: none; } }
    .order-container #order-table .basket-description-col {
      --media-aspect-ratio: 1/1; }
      .order-container #order-table .basket-description-col .image {
        width: 175px;
        position: relative;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        margin: 0 20px 0 0; }
        @media screen and (min-width: 81.25em) {
          .order-container #order-table .basket-description-col .image {
            width: -webkit-fit-content;
            width: -moz-fit-content;
            width: fit-content;
            margin: 0 40px 0 0; } }
        .order-container #order-table .basket-description-col .image a {
          width: 155px; }
          @media screen and (min-width: 81.25em) {
            .order-container #order-table .basket-description-col .image a {
              width: 132px;
              display: block;
              overflow: hidden; } }
        .order-container #order-table .basket-description-col .image img {
          width: 155px;
          border: 1px solid #f3f3f3; }
          @media screen and (min-width: 81.25em) {
            .order-container #order-table .basket-description-col .image img {
              width: 132px; } }
    .order-container #order-table td.basket-description-col {
      width: 100%;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; }
      @media print, screen and (max-width: 81.24875em) {
        .order-container #order-table td.basket-description-col {
          grid-column: 1 / 2 span; } }
    .order-container #order-table .stock-description-level {
      min-width: 40%;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-flex: 1;
          -ms-flex: 1;
              flex: 1;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      gap: 10px 0;
      padding: 10px 0; }
      @media screen and (min-width: 81.25em) {
        .order-container #order-table .stock-description-level {
          min-width: unset;
          margin-left: 0;
          padding: 25px 0; } }
      .order-container #order-table .stock-description-level .group-description {
        color: #ffffff;
        font-size: 1rem;
        font-weight: 600;
        line-height: 1.2; }
        .order-container #order-table .stock-description-level .group-description:hover {
          color: #06052f;
          text-decoration: underline; }
        .order-container #order-table .stock-description-level .group-description:active {
          color: #000000; }
      .order-container #order-table .stock-description-level .description {
        width: 100%;
        display: block;
        margin: 0;
        padding: 0;
        color: #06052f;
        font-size: 1rem;
        font-weight: 600;
        text-transform: uppercase;
        line-height: 17px;
        -webkit-transition: color 0.8s;
        transition: color 0.8s; }
        @media screen and (min-width: 81.25em) {
          .order-container #order-table .stock-description-level .description {
            min-width: 300px; } }
        .order-container #order-table .stock-description-level .description:hover {
          color: #ae9461;
          -webkit-transition: color 0.6s;
          transition: color 0.6s; }
        .order-container #order-table .stock-description-level .description:active {
          color: #777777;
          -webkit-transition: color 0.6s;
          transition: color 0.6s; }
      .order-container #order-table .stock-description-level .stock-indicator {
        margin-top: 5px; }
      .order-container #order-table .stock-description-level .stockWarning {
        display: none;
        color: rgba(136, 136, 136, 0.6);
        font-size: 0.9375rem; }
        .order-container #order-table .stock-description-level .stockWarning.active {
          display: block; }
        .order-container #order-table .stock-description-level .stockWarning p {
          margin: 0;
          padding: 0; }
    .order-container #order-table .subsidiary-description {
      color: #06052f;
      font-size: 0.9375rem;
      font-weight: 500; }
    .order-container #order-table .non-returnable-description {
      font-style: italic;
      font-size: 0.9375rem;
      color: #000000; }
      .order-container #order-table .non-returnable-description:before {
        content: "";
        padding: 0 5px 0 0;
        font-family: "fontello";
        font-style: normal;
        color: #ff5e05; }
    @media screen and (min-width: 81.25em) {
      .order-container #order-table .basket-code-col {
        width: 10%;
        display: table-cell; } }
    @media screen and (min-width: 81.25em) {
      .order-container #order-table .basket-price-col, .order-container #order-table .basket-current-price-col {
        max-width: 15%;
        width: 100%; } }
    .order-container #order-table .vat-rate-container {
      display: block; }
    .order-container #order-table td.basket-price-col {
      font-weight: 400; }
      @media screen and (min-width: 81.25em) {
        .order-container #order-table td.basket-price-col {
          display: table-cell; } }
    .order-container #order-table td.basket-current-price-col {
      font-weight: 400; }
      @media screen and (min-width: 81.25em) {
        .order-container #order-table td.basket-current-price-col {
          display: table-cell; } }
    @media screen and (min-width: 81.25em) {
      .order-container #order-table .add-to-basket-col {
        width: 15%; } }
    .order-container #order-table .basket-quantity {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: start;
          -ms-flex-align: start;
              align-items: flex-start; }
      @media screen and (min-width: 81.25em) {
        .order-container #order-table .basket-quantity {
          width: 10%;
          display: table-cell; } }
      .order-container #order-table .basket-quantity .quantity-selector-container {
        width: 100%; }
        @media screen and (min-width: 81.25em) {
          .order-container #order-table .basket-quantity .quantity-selector-container {
            width: auto;
            -webkit-box-pack: center;
                -ms-flex-pack: center;
                    justify-content: center;
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center; } }
      @media screen and (min-width: 81.25em) {
        .order-container #order-table .basket-quantity .label {
          display: none; } }
      .order-container #order-table .basket-quantity .input-number-group {
        -webkit-box-pack: start;
            -ms-flex-pack: start;
                justify-content: flex-start; }
        @media screen and (min-width: 81.25em) {
          .order-container #order-table .basket-quantity .input-number-group {
            -webkit-box-pack: center;
                -ms-flex-pack: center;
                    justify-content: center; } }
    @media screen and (min-width: 81.25em) {
      .order-container #order-table .basket-sub-total {
        width: 11%; } }
    .order-container #order-table .basket-sub-total span {
      width: 60%;
      -webkit-box-ordinal-group: 3;
          -ms-flex-order: 2;
              order: 2;
      text-align: right; }
      @media screen and (min-width: 81.25em) {
        .order-container #order-table .basket-sub-total span {
          width: auto;
          -webkit-box-ordinal-group: 2;
              -ms-flex-order: 1;
                  order: 1; } }
    .order-container #order-table td.basket-sub-total-col {
      width: 50%;
      -webkit-box-ordinal-group: 5;
          -ms-flex-order: 4;
              order: 4;
      font-weight: 600;
      color: #06052f; }
      @media screen and (min-width: 81.25em) {
        .order-container #order-table td.basket-sub-total-col {
          width: auto;
          display: table-cell; } }
    @media screen and (min-width: 81.25em) {
      .order-container #order-table .basket-remove-col {
        width: 5%; } }
    .order-container #order-table td.basket-remove-col {
      width: 50%;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-ordinal-group: 7;
          -ms-flex-order: 6;
              order: 6; }
      @media screen and (min-width: 81.25em) {
        .order-container #order-table td.basket-remove-col {
          width: auto;
          display: table-cell; } }
    .order-container #order-table .remove-button {
      width: 80px;
      height: 80px;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      position: relative;
      color: #888888;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
    .order-container #order-table .basketUpdateRow {
      border-top: 1px solid #888888; }
    @media print, screen and (max-width: 81.24875em) {
      .order-container #order-table .basket-item-row {
        display: grid;
        grid-template-columns: minmax(120px, -webkit-max-content) minmax(120px, -webkit-max-content);
        grid-template-columns: minmax(120px, max-content) minmax(120px, max-content);
        gap: 5px;
        padding: 10px; } }
    @media print, screen and (max-width: 81.24875em) {
      .order-container #order-table .basket-item-row td {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: baseline;
            -ms-flex-align: baseline;
                align-items: baseline; } }
  .order-container #basket-summary {
    margin: 0; }
  .order-container #basket-summary {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex; }

.order-details, .order-delivery, .enquiry-details-container {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 5px 0;
  padding: 15px 20px;
  background-color: #f3f3f3;
  border-radius: 0; }
  @media screen and (min-width: 81.25em) {
    .order-details, .order-delivery, .enquiry-details-container {
      width: auto;
      margin: 0;
      padding: 30px 40px; } }
  .order-details.inline, .order-delivery.inline, .enquiry-details-container.inline {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 10px 20px; }
    .order-details.inline .order-detail-heading, .order-delivery.inline .order-detail-heading, .enquiry-details-container.inline .order-detail-heading {
      margin: 0; }
    @media screen and (min-width: 81.25em) {
      .order-details.inline .detail-item-container > span, .order-delivery.inline .detail-item-container > span, .enquiry-details-container.inline .detail-item-container > span {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
        margin-right: 5px; } }
    .order-details.inline .detail-item-container > address, .order-delivery.inline .detail-item-container > address, .enquiry-details-container.inline .detail-item-container > address {
      display: -webkit-inline-box;
      display: -ms-inline-flexbox;
      display: inline-flex;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
      gap: 5px; }
      .order-details.inline .detail-item-container > address span, .order-delivery.inline .detail-item-container > address span, .enquiry-details-container.inline .detail-item-container > address span {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
        white-space: nowrap; }
        .order-details.inline .detail-item-container > address span:not(:last-child):after, .order-delivery.inline .detail-item-container > address span:not(:last-child):after, .enquiry-details-container.inline .detail-item-container > address span:not(:last-child):after {
          content: ',';
          display: inline-block; }
  .order-details.payer-details, .order-delivery.payer-details, .enquiry-details-container.payer-details {
    padding: 20px 20px; }

.order-detail-heading, .order-delivery-heading, .enquiry-details-heading {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0 0 5px;
  margin: 0 0 25px;
  border-bottom: 1px solid #aeaeae; }
  .order-detail-heading h3, .order-delivery-heading h3, .enquiry-details-heading h3 {
    font-size: 1.375rem;
    font-weight: 400; }
  .order-detail-heading a.edit, .order-delivery-heading a.edit, .enquiry-details-heading a.edit {
    margin-left: auto; }

.detail-item-container, .delivery-item-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  .detail-item-container:has(> p:empty), .delivery-item-container:has(> p:empty) {
    display: none; }
  .detail-item-container > span, .delivery-item-container > span {
    width: 100%;
    display: inline-block;
    color: #06052f;
    font-size: 0.875rem;
    font-weight: 700; }
    @media screen and (min-width: 81.25em) {
      .detail-item-container > span, .delivery-item-container > span {
        width: 170px; } }
  .detail-item-container > p, .delivery-item-container > p {
    margin: 0;
    padding: 0;
    color: #000000;
    font-size: 0.875rem; }
    @media screen and (min-width: 81.25em) {
      .detail-item-container > p, .delivery-item-container > p {
        -webkit-box-flex: 1;
            -ms-flex: 1;
                flex: 1; } }
  .detail-item-container a, .delivery-item-container a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
    font-weight: 700;
    font-size: 0.875rem; }
  .detail-item-container address, .delivery-item-container address {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    font-size: 0.875rem; }

.basket-current-price-col {
  position: relative;
  color: #ff0101; }
  .basket-current-price-col .current-price-saving {
    position: relative;
    color: #06052f;
    font-size: 0.6875rem;
    font-weight: 700;
    text-transform: uppercase;
    display: none; }
    @media screen and (min-width: 81.25em) {
      .basket-current-price-col .current-price-saving {
        width: 70px;
        position: absolute;
        top: 35px;
        right: 0;
        left: 0;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        margin: auto; } }
    .basket-current-price-col .current-price-saving:after {
      content: '\f0dd';
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      line-height: 0;
      color: #ff0101;
      font-family: "Font Awesome Solid";
      font-size: 13px; }

.order-details-container {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 20px; }
  @media screen and (min-width: 81.25em) {
    .order-details-container {
      display: -webkit-inline-box;
      display: -ms-inline-flexbox;
      display: inline-flex; } }
  .order-details-container .grid-x {
    width: calc(100% + 10px); }
    @media print, screen and (min-width: 40em) {
      .order-details-container .grid-x {
        width: calc(100% + 20px); } }

.requisition-buttons-container {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between; }
  @media screen and (min-width: 81.25em) {
    .requisition-buttons-container {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      margin: 0 auto 50px; } }

.package-reference-container {
  font-size: 1rem;
  font-weight: 700; }
  .package-reference-container .label {
    display: inline-block; }
  .package-reference-container .container-reference {
    display: inline-block;
    text-transform: uppercase; }
    @media print, screen and (min-width: 40em) {
      .package-reference-container .container-reference {
        margin-right: 30px;
        margin-left: 15px; } }
    @media screen and (min-width: 81.25em) {
      .package-reference-container .container-reference {
        margin-right: 60px;
        margin-left: 30px; } }

.users-found-count {
  margin-bottom: 30px;
  font-size: 1rem; }
  @media screen and (min-width: 81.25em) {
    .users-found-count {
      margin-bottom: 50px; } }
  .users-found-count span {
    margin-right: 5px;
    color: #06052f;
    font-weight: 700; }
  .users-found-count p {
    margin: 0;
    padding: 0; }

#users-table td {
  font-size: 1rem; }
  #users-table td .label {
    margin-right: 5px;
    font-weight: 600; }
    @media screen and (min-width: 81.25em) {
      #users-table td .label {
        display: none; } }

#users-table td.users-contact-col {
  font-weight: 700;
  color: #777777; }

#users-table .users-account-col {
  text-align: left; }
  @media screen and (min-width: 81.25em) {
    #users-table .users-account-col {
      width: 25%;
      text-align: center; } }

@media screen and (min-width: 81.25em) {
  #users-table .users-contact-col {
    width: 33%; } }

@media screen and (min-width: 81.25em) {
  #users-table .users-email-col {
    width: 33%; } }

@media screen and (min-width: 81.25em) {
  #users-table .users-delete-col {
    width: 33%; } }

@media screen and (min-width: 81.25em) {
  #users-table .users-delete-col {
    text-align: center; } }

@media screen and (min-width: 81.25em) {
  #users-table .users-delete-col .remove-user-button {
    margin: auto; } }

.remove-user-button {
  width: 20px;
  height: 20px;
  position: relative;
  cursor: pointer; }
  @media screen and (min-width: 81.25em) {
    .remove-user-button {
      display: block; } }
  .remove-user-button:before {
    content: "";
    color: #888888;
    font-family: "Font Awesome Regular";
    font-size: 1.13636rem;
    -webkit-transition: color 0.8s;
    transition: color 0.8s; }
  .remove-user-button:hover:before {
    color: #ae9461;
    -webkit-transition: color 0.6s;
    transition: color 0.6s; }
  .remove-user-button:active:before {
    color: #06052f; }

.manage-user-button-container {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: 20px auto 0; }
  @media screen and (min-width: 81.25em) {
    .manage-user-button-container {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      -webkit-box-pack: end;
          -ms-flex-pack: end;
              justify-content: flex-end;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center; } }
  @media screen and (min-width: 81.25em) {
    .manage-user-button-container .primary-button {
      margin: 0 20px 0 auto; } }
  @media screen and (min-width: 81.25em) {
    .manage-user-button-container .secondary-button {
      margin: 0; } }
  @media screen and (min-width: 81.25em) {
    .manage-user-button-container .tertiary-button {
      margin: 0; } }

#select-branches-table {
  max-width: 850px;
  width: 100%;
  margin: auto;
  overflow-y: scroll; }
  @media screen and (min-width: 81.25em) {
    #select-branches-table .label {
      display: none; } }
  #select-branches-table .branch-col {
    text-align: left; }
    @media screen and (min-width: 81.25em) {
      #select-branches-table .branch-col {
        padding-left: 80px; } }
  #select-branches-table td.branch-col {
    font-size: 1rem; }
  @media screen and (min-width: 81.25em) {
    #select-branches-table .allow-login-col {
      padding-right: 160px; } }

@media screen and (min-width: 81.25em) {
  #tokens-table.payment .card-type-col {
    width: 250px;
    padding-left: 50px; } }

@media screen and (min-width: 81.25em) {
  #tokens-table.payment .card-number-col {
    width: 180px; } }

@media screen and (min-width: 81.25em) {
  #tokens-table.payment .card-expire-date-col {
    width: 240px; } }

@media screen and (min-width: 81.25em) {
  #tokens-table.payment .card-remove-col {
    padding-right: 0; } }

#tokens-table, .tokens-table {
  margin: 0; }
  #tokens-table tr:hover .card-type:before, .tokens-table tr:hover .card-type:before {
    color: #ae9461;
    -webkit-transition: color 0.8s;
    transition: color 0.8s; }
  #tokens-table tr.card-expired .card-type-col, #tokens-table tr.card-expired .card-number-col, #tokens-table tr.card-expired .expire-date, .tokens-table tr.card-expired .card-type-col, .tokens-table tr.card-expired .card-number-col, .tokens-table tr.card-expired .expire-date {
    opacity: 0.5;
    -webkit-transition: opacity 0.8s;
    transition: opacity 0.8s; }
  @media print, screen and (max-width: 81.24875em) {
    #tokens-table tr.card-expired .expire-date, .tokens-table tr.card-expired .expire-date {
      opacity: 1; } }
  #tokens-table tr.card-expired:hover .card-type-col, #tokens-table tr.card-expired:hover .card-number-col, #tokens-table tr.card-expired:hover .expire-date, .tokens-table tr.card-expired:hover .card-type-col, .tokens-table tr.card-expired:hover .card-number-col, .tokens-table tr.card-expired:hover .expire-date {
    opacity: 1;
    -webkit-transition: opacity 0.6s;
    transition: opacity 0.6s; }
  #tokens-table td, .tokens-table td {
    font-size: 1rem; }
  #tokens-table .card-select-col .radio, .tokens-table .card-select-col .radio {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center; }
  @media screen and (min-width: 81.25em) {
    #tokens-table .card-type-col, .tokens-table .card-type-col {
      width: 30%;
      padding-left: 200px;
      text-align: left; } }
  #tokens-table .card-expire-date-col, .tokens-table .card-expire-date-col {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row; }
    @media screen and (min-width: 81.25em) {
      #tokens-table .card-expire-date-col, .tokens-table .card-expire-date-col {
        width: 20%;
        -webkit-box-orient: unset;
        -webkit-box-direction: unset;
            -ms-flex-direction: unset;
                flex-direction: unset;
        text-align: center; } }
  #tokens-table .expire-date, .tokens-table .expire-date {
    display: inline-block; }
    @media screen and (min-width: 81.25em) {
      #tokens-table .expire-date, .tokens-table .expire-date {
        width: auto; } }
  @media screen and (min-width: 81.25em) {
    #tokens-table .card-remove-col, .tokens-table .card-remove-col {
      text-align: center;
      padding-right: 200px; } }
  #tokens-table .selected-card, .tokens-table .selected-card {
    display: inline-block;
    font-weight: 600; }

.no-tokens-found {
  margin: 50px 0;
  text-align: center;
  font-size: 1rem;
  font-weight: 600; }
  @media screen and (min-width: 81.25em) {
    .no-tokens-found {
      margin: 100px 0; } }
  .no-tokens-found .no-tokens-icon:before {
    content: "";
    font-family: "Font Awesome Regular";
    font-size: 4.0625rem;
    color: #dadada; }

.payment-details-container {
  max-height: 60vh;
  overflow-y: scroll; }

.modal-container[type=select-payment] #payment-add-new-card-form {
  display: none; }

#payment-add-new-card-form {
  max-width: 640px;
  width: 100%;
  margin: auto; }
  #payment-add-new-card-form fieldset {
    margin: 0;
    padding: 0; }
  #payment-add-new-card-form .cms-content-container {
    padding: 0; }

.save-card-container {
  width: 100%; }
  .save-card-container .control.checkbox {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center; }
  .save-card-container .label {
    width: auto; }

#payment-frame {
  width: 100%;
  border: 0; }

.statement-list-container.in-active, .statement-pay-container.in-active, .account-pay-container.in-active {
  max-height: 0;
  overflow: hidden;
  -webkit-transition: height 0.6s;
  transition: height 0.6s; }

.statement-balance-container {
  margin: 0 0 20px; }
  @media screen and (min-width: 81.25em) {
    .statement-balance-container {
      margin: 0 2% 20px 0;
      text-align: right; } }
  .statement-balance-container p {
    margin: 0;
    padding: 0;
    font-size: 1.1875rem;
    font-weight: 700;
    color: #06052f; }
    .statement-balance-container p span {
      padding-left: 60px; }

.statement-pay-container, .account-pay-container {
  position: relative; }
  @media screen and (min-width: 81.25em) {
    .statement-pay-container, .account-pay-container {
      margin: 30px 0 0; } }

.summary-container.statement .summary-heading, .summary-container.account-payment-summary .summary-heading {
  margin: 0 0 40px; }

.transaction-type {
  display: inline-block; }
  @media screen and (min-width: 81.25em) {
    .transaction-type {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center; } }

.direct-debit-icon {
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  .direct-debit-icon:after {
    content: "";
    margin-left: 5px;
    font-family: "fontello";
    font-size: 16px;
    color: #000000; }

table.service-contracts {
  table-layout: fixed; }
  @media screen and (min-width: 81.25em) {
    table.service-contracts .branch-col {
      width: 6.2%; } }
  @media screen and (min-width: 81.25em) {
    table.service-contracts .next-due-date-col {
      width: 8%;
      padding: 0 12px; } }
  @media screen and (min-width: 81.25em) {
    table.service-contracts .document-reference-col {
      width: 9%; } }
  @media screen and (min-width: 81.25em) {
    table.service-contracts .your-reference-col {
      width: 10%; } }
  @media screen and (min-width: 81.25em) {
    table.service-contracts .sku-reference-col {
      width: 12%; } }
  @media screen and (min-width: 81.25em) {
    table.service-contracts .contract-value-col {
      width: 8%; } }
  @media screen and (min-width: 81.25em) {
    table.service-contracts .contract-type-col {
      width: 12%; } }
  @media screen and (min-width: 81.25em) {
    table.service-contracts td.contract-type-col {
      padding: 0 10px;
      text-align: left; } }
  @media screen and (min-width: 81.25em) {
    table.service-contracts .contract-group-col {
      width: 9.8%; } }
  @media screen and (min-width: 81.25em) {
    table.service-contracts .frequency-col {
      width: 8.5%; } }
  @media screen and (min-width: 81.25em) {
    table.service-contracts .payment-method-col {
      width: 9%; } }
  @media screen and (min-width: 81.25em) {
    table.service-contracts .termination-date-col {
      width: 8%; } }
  @media screen and (min-width: 81.25em) {
    table.service-contracts .balance-col {
      width: 7%; } }
  @media screen and (min-width: 81.25em) {
    table.service-contracts .renewal-col {
      width: 5.5%; } }
  table.service-contracts .tubs-renew-button {
    font-weight: 400;
    font-size: 0.875rem;
    color: #06052f; }
    @media print, screen and (max-width: 81.24875em) {
      table.service-contracts .tubs-renew-button {
        width: 100%;
        padding: 10px 20px;
        border: 1px solid #e6e6ea;
        text-transform: uppercase;
        text-align: center; } }

@media screen and (min-width: 81.25em) {
  table.order-status-table .item-col, table.order-invoice-enquiry-table .item-col {
    width: 5%; } }

table.order-status-table .reference-col, table.order-invoice-enquiry-table .reference-col {
  overflow-wrap: anywhere; }
  @media screen and (min-width: 81.25em) {
    table.order-status-table .reference-col, table.order-invoice-enquiry-table .reference-col {
      width: 14%; } }

@media screen and (min-width: 81.25em) {
  table.order-status-table .description-col, table.order-invoice-enquiry-table .description-col {
    width: 23%; } }

@media screen and (min-width: 81.25em) {
  table.order-status-table th.description-col, table.order-invoice-enquiry-table th.description-col {
    text-align: center; } }

@media screen and (min-width: 81.25em) {
  table.order-status-table .invoices-col, table.order-status-table .deliveries-col, table.order-invoice-enquiry-table .invoices-col, table.order-invoice-enquiry-table .deliveries-col {
    width: 12%; } }

table.order-status-table ul, table.order-invoice-enquiry-table ul {
  padding: 0;
  list-style: none; }

@media screen and (min-width: 81.25em) {
  table.delivery-enquiry-table .item-col {
    width: 6.95%; } }

@media screen and (min-width: 81.25em) {
  table.delivery-enquiry-table .reference-col {
    width: 13%; } }

@media screen and (min-width: 81.25em) {
  table.delivery-enquiry-table .quantity-col {
    width: 15%; } }

@media screen and (min-width: 81.25em) {
  table.delivery-enquiry-table .description-col {
    width: 27%;
    text-align: left; } }

@media screen and (min-width: 81.25em) {
  table.delivery-enquiry-table .our-reference-col {
    width: 15%; } }

@media screen and (min-width: 81.25em) {
  table.delivery-enquiry-table .your-reference-col {
    width: 15%; } }

@media screen and (min-width: 81.25em) {
  table.contracts-table {
    margin-top: 40px; } }

@media screen and (min-width: 81.25em) {
  table.contracts-table .description-col {
    width: 33%;
    padding-left: 20px;
    text-align: left; } }

table.contracts-table td.description-col {
  font-weight: 700;
  color: #777777; }

@media screen and (min-width: 81.25em) {
  table.transactions-table .type-col, table.transactions-table .document-reference-col, table.transactions-table .value-col, table.transactions-table .status-col {
    text-align: center; } }

@media screen and (min-width: 81.25em) {
  table.transactions-table .date-col {
    padding-left: 20px;
    text-align: left; } }

.account-return-button {
  --component-specifc-step-height: 15px;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  margin: var(--common-button-small-margin, 0);
  padding: var(--common-button-padding, 10px 20px);
  color: #06052f;
  background-color: #ffffff;
  border-width: 2px;
  font-size: 0.875rem;
  font-weight: 400;
  text-align: center;
  border-style: solid;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: 0.6px;
  word-spacing: 2px;
  border-color: #dadada;
  text-decoration: none;
  line-height: 1;
  border-radius: 0 !important;
  overflow: hidden;
  -webkit-transition: all 0.8s;
  transition: all 0.8s; }
  @media screen and (min-width: 81.25em) {
    .account-return-button {
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content;
      margin: var(--common-button-large-margin, 0); } }
  @media (hover: hover) {
    .account-return-button:hover, .account-return-button.hover {
      color: #ffffff;
      background-color: #3141e4;
      border-color: #06052f;
      text-decoration: none;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
      .account-return-button:hover .graduated-colour-edge .step, .account-return-button.hover .graduated-colour-edge .step {
        background-color: #ffffff;
        -webkit-transition: background-color 0.6s;
        transition: background-color 0.6s; } }
  .account-return-button:active, .account-return-button.active {
    color: #ffffff;
    background-color: #06052f;
    border-color: #06052f;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
  .account-return-button:disabled, .account-return-button.disabled, .account-return-button[disabled] {
    color: #929292;
    background-color: #ffffff;
    border-color: rgba(200, 200, 200, 0.7);
    cursor: not-allowed; }
  .account-return-button:disabled:hover, .account-return-button.disabled:hover {
    border-color: rgba(200, 200, 200, 0.7); }
  .account-return-button:focus-visible {
    outline: none;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
  .account-return-button .graduated-colour-edge .step {
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }

@media screen and (min-width: 81.25em) {
  table.payment-requests-table .pay-col {
    width: 6.2%; } }

@media screen and (min-width: 81.25em) {
  table.payment-requests-table .date-col {
    width: 20%; } }

@media screen and (min-width: 81.25em) {
  table.payment-requests-table .time-col {
    width: 8.5%; } }

@media screen and (min-width: 81.25em) {
  table.payment-requests-table .reference-col {
    width: 18.1%; } }

@media screen and (min-width: 81.25em) {
  table.payment-requests-table .amount-col {
    width: 10.8%; } }

@media screen and (min-width: 81.25em) {
  table.payment-requests-table .contact-col {
    width: 25%; } }

.site-list-container {
  margin: 0 0 20px; }
  @media screen and (min-width: 81.25em) {
    .site-list-container {
      margin: 0 0 40px; } }
  .site-list-container .bespoke-site-icon {
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
    .site-list-container .bespoke-site-icon:before {
      content: "";
      margin: auto;
      font-family: "fontello";
      font-size: 26px;
      color: #ae9461; }
  .site-list-container .site-logo {
    -webkit-transition: opacity 0.8s;
    transition: opacity 0.8s; }
    .site-list-container .site-logo:hover {
      opacity: .5;
      -webkit-transition: opacity 0.6s;
      transition: opacity 0.6s; }
    .site-list-container .site-logo .image {
      height: 100%;
      aspect-ratio: 1 / 1; }
      .site-list-container .site-logo .image img {
        height: 100%; }
  .site-list-container .site-description a:hover {
    color: #ae9461; }
  .site-list-container .site-description a:active {
    color: #777777; }

.site-list-publish-status:before {
  font-family: "Font Awesome Solid";
  font-size: 16px; }

.site-list-publish-status.success:before {
  content: "";
  color: #12811f; }

.site-list-publish-status.failed:before {
  content: "";
  color: #b20c0c; }

.site-list-publish-status.unknown:before {
  content: "";
  color: #777777; }

.site-list-publish-status.cancelled:before {
  content: "";
  color: #777777; }

.site-list-publish-status.in-progress:before {
  content: "";
  display: block;
  color: #06052f;
  -webkit-animation: spinner 1.5s linear infinite;
          animation: spinner 1.5s linear infinite; }

@-webkit-keyframes spinner {
  to {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg); } }

@keyframes spinner {
  to {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg); } }

.data-time-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row; }
  .data-time-container .time {
    display: inline-block;
    margin-left: 15px;
    font-style: italic; }
    @media screen and (min-width: 81.25em) {
      .data-time-container .time {
        display: block;
        margin-left: 15px; } }

@media screen and (min-width: 81.25em) {
  table.publish-history .data-time-container {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center; } }

@media print, screen and (max-width: 81.24875em) {
  table.site-list-table {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column; } }

@media print, screen and (max-width: 81.24875em) {
  table.site-list-table tbody {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 10px; } }

table.site-list-table tbody td {
  vertical-align: middle; }

@media print, screen and (max-width: 81.24875em) {
  table.site-list-table.responsive-table td {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    font-size: 0.875rem; } }

@media print, screen and (max-width: 81.24875em) {
  table.site-list-table.responsive-table td.site-logo-col {
    padding: 0; } }

table.site-list-table.responsive-table td .col-label {
  width: 40%;
  font-weight: 600;
  color: #000000; }

table.site-list-table.preset-1 tbody tr {
  padding: 20px; }
  @media print, screen and (max-width: 81.24875em) {
    table.site-list-table.preset-1 tbody tr {
      background-color: #f3f3f3; } }
  @media screen and (min-width: 81.25em) {
    table.site-list-table.preset-1 tbody tr {
      padding: 0; } }

table.site-list-table td p {
  margin: 0;
  padding: 0; }

table.site-list-table th.site-logo-col {
  display: none; }

table.site-list-table tr.staging-site .site-logo-col .site-logo {
  -webkit-filter: grayscale(1);
          filter: grayscale(1); }

@media screen and (min-width: 81.25em) {
  table.site-list-table .site-logo-col {
    width: 112px;
    padding: 0; } }

table.site-list-table .site-logo-col a {
  width: 100%;
  text-align: center; }

table.site-list-table .site-logo-col .site-logo {
  height: 120px;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0 0 20px;
  padding: 30px;
  background-color: #dadada;
  border: 2px solid #ffffff; }
  @media screen and (min-width: 81.25em) {
    table.site-list-table .site-logo-col .site-logo {
      width: 110px;
      margin: 2px;
      padding: 10px;
      border: 0; } }
  table.site-list-table .site-logo-col .site-logo .image, table.site-list-table .site-logo-col .site-logo a {
    width: 100%; }

table.site-list-table .site-description-col {
  text-align: left; }
  table.site-list-table .site-description-col p {
    margin: 0;
    padding: 0; }
  table.site-list-table .site-description-col hr {
    width: 100%;
    margin: 10px 0 15px; }
    @media screen and (min-width: 81.25em) {
      table.site-list-table .site-description-col hr {
        display: none; } }
  table.site-list-table .site-description-col .site-description a {
    color: #06052f;
    font-size: 1.0625rem;
    font-weight: 700; }
    @media screen and (min-width: 81.25em) {
      table.site-list-table .site-description-col .site-description a {
        font-size: 0.9375rem; } }
  table.site-list-table .site-description-col .site-environment {
    font-size: 1.0625rem;
    font-style: italic; }
    @media screen and (min-width: 81.25em) {
      table.site-list-table .site-description-col .site-environment {
        font-size: 0.9375rem; } }

@media screen and (min-width: 81.25em) {
  table.site-list-table th.site-description-col {
    padding-left: 20px; } }

@media screen and (min-width: 81.25em) {
  table.site-list-table td.site-description-col {
    width: 250px;
    padding-left: 30px; } }

@media print, screen and (max-width: 81.24875em) {
  table.site-list-table td.site-description-col {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    text-align: center; } }

@media print, screen and (max-width: 81.24875em) {
  table.site-list-table .site-description, table.site-list-table .site-environment {
    width: 100%; } }

@media screen and (min-width: 81.25em) {
  table.site-list-table .license-col, table.site-list-table .publishing-col {
    width: 110px; } }

@media screen and (min-width: 81.25em) {
  table.site-list-table .started-col, table.site-list-table .ended-col, table.site-list-table .last-touch-col {
    width: 145px; } }

table.site-list-table .site-buttons-col .site-buttons-container {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 20px;
  margin: 30px 0 0; }
  @media screen and (min-width: 81.25em) {
    table.site-list-table .site-buttons-col .site-buttons-container {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      -webkit-box-pack: end;
          -ms-flex-pack: end;
              justify-content: flex-end;
      gap: 10px;
      margin: 0; } }

table.site-list-table .site-buttons-col button, table.site-list-table .site-buttons-col a {
  margin: 0;
  font-size: 0.8125rem;
  padding: 10px 15px; }

@media screen and (min-width: 81.25em) {
  table.site-list-table .data-time-container {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center; } }

@media screen and (min-width: 81.25em) {
  table.site-list-table .data-time-container .time {
    margin-left: 0; } }

table.site-list-table .bespoke-site-icon:before {
  font-size: 44px; }

.site-list-content-container {
  padding: 20px;
  background-color: #f3f3f3;
  -webkit-transition: background-color 0.8s, -webkit-box-shadow 0.8s;
  transition: background-color 0.8s, -webkit-box-shadow 0.8s;
  transition: background-color 0.8s, box-shadow 0.8s;
  transition: background-color 0.8s, box-shadow 0.8s, -webkit-box-shadow 0.8s; }
  .site-list-content-container:hover {
    background-color: #ffffff;
    -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
            box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
    -webkit-transition: background-color 0.6s, -webkit-box-shadow 0.6s;
    transition: background-color 0.6s, -webkit-box-shadow 0.6s;
    transition: background-color 0.6s, box-shadow 0.6s;
    transition: background-color 0.6s, box-shadow 0.6s, -webkit-box-shadow 0.6s; }
    .site-list-content-container:hover img {
      -webkit-transform: scale(0.9);
              transform: scale(0.9);
      -webkit-transition: -webkit-transform 0.6s;
      transition: -webkit-transform 0.6s;
      transition: transform 0.6s;
      transition: transform 0.6s, -webkit-transform 0.6s; }
  .site-list-content-container.staging-site .site-logo {
    -webkit-filter: grayscale(1);
            filter: grayscale(1); }
  .site-list-content-container .site-logo {
    height: 120px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin: 0 0 20px;
    background-color: #dadada;
    border: 2px solid #ffffff; }
    .site-list-content-container .site-logo .image {
      padding: 30px; }
    .site-list-content-container .site-logo .image, .site-list-content-container .site-logo img {
      width: 100%; }
    .site-list-content-container .site-logo img {
      -webkit-transition: -webkit-transform 0.8s;
      transition: -webkit-transform 0.8s;
      transition: transform 0.8s;
      transition: transform 0.8s, -webkit-transform 0.8s; }
  .site-list-content-container .site-description {
    text-align: center; }
    .site-list-content-container .site-description a {
      margin: 0;
      color: #06052f;
      font-size: 1.0625rem;
      font-weight: 700; }
  .site-list-content-container hr {
    margin: 10px 0 15px; }
  .site-list-content-container .site-option {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 5px 0; }
    .site-list-content-container .site-option > span {
      width: 40%;
      display: inline-block;
      font-size: 0.875rem;
      font-weight: 600;
      color: #000000; }
    .site-list-content-container .site-option p {
      margin: 0;
      font-size: 0.875rem; }
    .site-list-content-container .site-option + .site-buttons-container {
      margin-top: 30px; }
  .site-list-content-container .data-time-container {
    font-size: 0.875rem; }
    .site-list-content-container .data-time-container .time {
      display: inline-block; }
  .site-list-content-container .site-buttons-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 20px;
    margin: 30px 0 0; }
    @media screen and (min-width: 81.25em) {
      .site-list-content-container .site-buttons-container {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row;
        -webkit-box-pack: justify;
            -ms-flex-pack: justify;
                justify-content: space-between;
        gap: 15px;
        margin: 0; } }
    .site-list-content-container .site-buttons-container button, .site-list-content-container .site-buttons-container a {
      margin: 0;
      font-size: 0.8125rem;
      padding: 10px 15px; }
  .site-list-content-container .bespoke-site-icon:before {
    font-size: 74px; }

/*
----- CMS Styling ------ 
- Style for the actual cms pages themselves:
  - CMS Entry
  - Blog
  - News
  - Events
  - CMS Series
- CMS entry controls
- CMS module
- CMS content container, this get used throughout express for various pieces of content that is defined in the vmadmin's cms system these block of content can literally be anywhere ( headings for pages, in the footer, ajax responses ).
*/
.display-cms-series-intro, .series-explanatory-text {
  max-width: 850px;
  margin: 22.5px auto 30px;
  text-align: center; }
  .display-cms-series-intro.cms-content-container p, .series-explanatory-text.cms-content-container p {
    margin: 0;
    font-size: 1rem;
    font-weight: 700;
    color: #7b7b7b; }
  .display-cms-series-intro p, .series-explanatory-text p {
    margin: 0;
    font-size: 1rem;
    font-weight: 700;
    color: #7b7b7b; }

.display-cms-series {
  margin: 25px 0 0; }
  .display-cms-series a:hover h3, .display-cms-series a:hover .video-player-indicator-text {
    text-decoration: underline;
    color: var(--secondary-colour-lightness-0, #ae9461);
    -webkit-transition: color 0.6s;
    transition: color 0.6s; }
  .display-cms-series h3 {
    margin: 0 0 10px;
    font-size: 1.25rem;
    font-weight: 700; }
  .display-cms-series .content-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    overflow: hidden; }
  .display-cms-series .entry-content {
    font-size: 1.0625rem; }
    .display-cms-series .entry-content p {
      margin: 0;
      padding: 0; }
  .display-cms-series.news .cell {
    background-color: #eeeeee; }
    .display-cms-series.news .cell:hover {
      background-color: #ffffff; }
  .display-cms-series.blog .cell {
    background-color: #eeeeee; }
    .display-cms-series.blog .cell:hover {
      background-color: #ffffff; }
  .display-cms-series.events .cell {
    background-color: #eeeeee; }
    .display-cms-series.events .cell:hover {
      background-color: #ffffff; }
  .display-cms-series.video-playlist .cell > a {
    background-color: #f3f3f3; }
    .display-cms-series.video-playlist .cell > a:hover {
      background-color: var(--white-colour); }
  .display-cms-series .cell {
    -webkit-transition: all 0.8s;
    transition: all 0.8s; }
    .display-cms-series .cell:hover {
      -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
              box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
  .display-cms-series.table .cell {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-bottom: 10px;
    padding: 10px; }
    @media screen and (min-width: 81.25em) {
      .display-cms-series.table .cell {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row;
        padding: 0; } }
  @media screen and (min-width: 81.25em) {
    .display-cms-series.table .content-container {
      height: 270px;
      -webkit-box-flex: 1;
          -ms-flex: 1;
              flex: 1;
      padding-top: 40px;
      padding-left: 110px;
      padding-right: 110px; } }
  @media screen and (min-width: 81.25em) {
    .display-cms-series.table .content-banner {
      width: 400px;
      height: 260px;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start; } }
  .display-cms-series.table .content-banner .image {
    width: 310px;
    height: 200px;
    margin: auto; }
    @media screen and (min-width: 81.25em) {
      .display-cms-series.table .content-banner .image {
        margin: 40px 0 0; } }
  .display-cms-series.table .entry-content {
    margin: 0 0 20px; }
    @media screen and (min-width: 81.25em) {
      .display-cms-series.table .entry-content {
        margin: 0; } }
  .display-cms-series.table .entry-content.read-more {
    overflow: hidden; }
    .display-cms-series.table .entry-content.read-more:not(.fade-disabled-low-content) {
      height: 200px; }
      @media screen and (min-width: 81.25em) {
        .display-cms-series.table .entry-content.read-more:not(.fade-disabled-low-content) {
          height: 30%; } }
    @media screen and (min-width: 81.25em) {
      .display-cms-series.table .entry-content.read-more {
        height: 30%; } }
  .display-cms-series.grid.video-playlist .cell a {
    max-height: 520px;
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    padding: 20px; }
    @media screen and (min-width: 81.25em) {
      .display-cms-series.grid.video-playlist .cell a {
        padding: 45px; } }
  .display-cms-series.grid.video-playlist .content-banner {
    margin-bottom: 25px; }
  .display-cms-series.grid.video-playlist h3 {
    margin: 0 0 10px;
    line-height: normal; }
  .display-cms-series.grid.video-playlist .duration-container {
    margin: 0 0 10px; }
  .display-cms-series.grid.video-playlist .entry-content.read-more {
    padding: 0 0 30px;
    font-size: 1rem;
    color: var(--black-colour);
    overflow: hidden; }
    @media screen and (min-width: 81.25em) {
      .display-cms-series.grid.video-playlist .entry-content.read-more {
        padding: 0 0 50px; } }
  .display-cms-series.grid.video-playlist .content-container {
    height: 100%; }
    .display-cms-series.grid.video-playlist .content-container .video-player-indicator-text {
      margin-top: auto; }
  .display-cms-series.grid.blog .cell {
    height: 530px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    padding: 25px; }
    @media screen and (min-width: 81.25em) {
      .display-cms-series.grid.blog .cell {
        padding: 50px; } }
    .display-cms-series.grid.blog .cell .content-banner {
      margin-bottom: 35px; }
      .display-cms-series.grid.blog .cell .content-banner .image {
        height: 170px; }
    .display-cms-series.grid.blog .cell .entry-content.read-more {
      overflow: hidden; }
  .display-cms-series.grid.events .cell {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 20px; }
    @media screen and (min-width: 81.25em) {
      .display-cms-series.grid.events .cell {
        height: 260px;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row;
        padding: 35px 45px; } }
    .display-cms-series.grid.events .cell .content-container {
      height: 200px;
      -webkit-box-flex: 1;
          -ms-flex: 1;
              flex: 1; }
    @media screen and (min-width: 81.25em) {
      .display-cms-series.grid.events .cell .content-banner {
        width: 200px;
        margin-left: 40px;
        margin-right: 0; } }
    .display-cms-series.grid.events .cell .entry-content.read-more {
      overflow: hidden; }
      .display-cms-series.grid.events .cell .entry-content.read-more:not(.fade-disabled-low-content) {
        height: 200px; }
        @media screen and (min-width: 81.25em) {
          .display-cms-series.grid.events .cell .entry-content.read-more:not(.fade-disabled-low-content) {
            height: 75px; } }
      @media screen and (min-width: 81.25em) {
        .display-cms-series.grid.events .cell .entry-content.read-more {
          height: 75px; } }
  .display-cms-series.grid .cell {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 20px; }
  @media screen and (min-width: 81.25em) {
    .display-cms-series.grid .content-banner .image {
      width: 100%;
      height: 100%;
      text-align: center;
      border: 1px solid #dadada; }
      .display-cms-series.grid .content-banner .image img {
        height: 100%;
        -o-object-fit: cover;
           object-fit: cover; } }
  .display-cms-series .publish-date {
    margin: 0 0 17px; }

.publish-date {
  font-style: italic;
  font-size: 0.9375rem;
  color: #777777; }

.read-more-anchor {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0 0 20px;
  color: #777777;
  font-size: 1rem;
  font-weight: 400;
  text-transform: uppercase; }
  @media screen and (min-width: 81.25em) {
    .read-more-anchor {
      margin: 10px 0 0; } }
  .read-more-anchor:hover {
    text-decoration: underline; }
  .read-more-anchor:after {
    content: "";
    margin-left: 5px;
    color: #ae9461;
    font-size: 8px;
    font-family: "fontello-djmiles";
    -webkit-transition: color 0.8s;
    transition: color 0.8s; }
  .read-more-anchor:hover:after {
    color: #ae9461;
    -webkit-transition: color 0.6s;
    transition: color 0.6s; }
  .read-more-anchor:active {
    color: #06052f; }

.cms-entry-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  padding: 25px 30px 40px; }
  @media screen and (min-width: 81.25em) {
    .cms-entry-container {
      padding: 50px 110px 70px; } }
  .cms-entry-container.event .cms-heading:before {
    content: ""; }
  .cms-entry-container.information {
    background-color: #f3f3f3; }
    .cms-entry-container.information.style-1 {
      padding: 0;
      background-color: transparent; }
  .cms-entry-container .cms-heading {
    width: 100%;
    display: block;
    text-align: center; }
    .cms-entry-container .cms-heading:before {
      display: block;
      margin-bottom: 25px;
      font-family: "Font Awesome Regular";
      font-size: 2.875rem;
      color: #06052f;
      line-height: 0.8;
      opacity: 0.3; }
    .cms-entry-container .cms-heading h1 {
      margin: 0 0 40px; }
  .cms-entry-container .content-container {
    width: 100%;
    -webkit-box-flex: 1;
        -ms-flex: 1 1px;
            flex: 1 1px; }
    .cms-entry-container .content-container h1 {
      margin: 0 0 35px;
      font-size: 2.125rem;
      font-weight: 400;
      font-style: normal;
      color: #06052f;
      line-height: 1.4;
      background-color: transparent; }
      .cms-entry-container .content-container h1:first-child {
        margin-top: 0; }
      .cms-entry-container .content-container h1:only-child {
        margin: 0; }
    .cms-entry-container .content-container h2 {
      margin: 0 0 20px;
      font-size: 1.25rem;
      font-weight: 600;
      font-style: normal;
      color: #06052f;
      line-height: 1.4; }
      .cms-entry-container .content-container h2:first-child {
        margin-top: 0; }
      .cms-entry-container .content-container h2:only-child {
        margin: 0; }
    .cms-entry-container .content-container h3 {
      margin: 0 0 20px;
      padding: 15px 0;
      font-size: 1.125rem;
      font-weight: 600;
      font-style: normal;
      color: #06052f;
      line-height: 1.4; }
      .cms-entry-container .content-container h3:first-child {
        margin-top: 0; }
      .cms-entry-container .content-container h3:only-child {
        margin: 0; }
    .cms-entry-container .content-container h4 {
      margin: 0 0 20px;
      padding: 0 0 10px;
      font-size: 1.2rem;
      font-weight: 500;
      font-style: normal;
      color: #06052f;
      line-height: 1.4; }
      .cms-entry-container .content-container h4:first-child {
        margin-top: 0; }
      .cms-entry-container .content-container h4:only-child {
        margin: 0; }
    .cms-entry-container .content-container h5 {
      margin: 0 0 20px;
      font-size: 1rem;
      font-weight: 600;
      font-style: normal;
      color: #06052f;
      line-height: 1.4; }
      .cms-entry-container .content-container h5:first-child {
        margin-top: 0; }
      .cms-entry-container .content-container h5:only-child {
        margin: 0; }
    .cms-entry-container .content-container h6 {
      margin: 0 0 20px;
      font-size: 1rem;
      font-weight: 600;
      font-style: normal;
      color: #06052f;
      line-height: 1.4; }
      .cms-entry-container .content-container h6:first-child {
        margin-top: 0; }
      .cms-entry-container .content-container h6:only-child {
        margin: 0; }
    .cms-entry-container .content-container p {
      margin: var(--indent-margin, 0);
      font-size: 1rem;
      font-weight: 400;
      line-height: 1.6;
      color: #777777; }
      .cms-entry-container .content-container p img[style*="float:left"], .cms-entry-container .content-container p img[style*="float: left"], .cms-entry-container .content-container p[style*="float:left"] > img {
        margin: .2em .2em .2em 0; }
      .cms-entry-container .content-container p img[style*="float:right"], .cms-entry-container .content-container p img[style*="float: right"], .cms-entry-container .content-container p[style*="float:right"] > img {
        margin: .2em 0 .2em .2em; }
      .cms-entry-container .content-container p img {
        margin: .2em 0; }
      .cms-entry-container .content-container p + p {
        margin-top: 0;
        margin-bottom: 0; }
    .cms-entry-container .content-container ul, .cms-entry-container .content-container ol {
      text-align: left; }
    .cms-entry-container .content-container ul {
      margin: 10px;
      padding: 0;
      line-height: 1.6;
      list-style: none;
      line-height: 25px; }
      .cms-entry-container .content-container ul ul {
        padding-top: 0;
        padding-bottom: 0;
        padding-left: 25px; }
      .cms-entry-container .content-container ul li {
        position: relative;
        padding: 0 0 0 15px; }
        .cms-entry-container .content-container ul li:before {
          content: '';
          width: 5px;
          height: 5px;
          position: absolute;
          top: 10px;
          left: 0;
          margin: auto;
          display: block;
          background-color: #06052f;
          border-radius: 5px; }
    .cms-entry-container .content-container ol {
      margin: 10px;
      padding: 0 25px;
      line-height: 1.6; }
      .cms-entry-container .content-container ol ol {
        margin: 0;
        padding-top: 0;
        padding-bottom: 0;
        list-style-type: lower-alpha; }
        .cms-entry-container .content-container ol ol ol {
          list-style-type: lower-roman; }
          .cms-entry-container .content-container ol ol ol ol {
            list-style-type: lower-alpha; }
            .cms-entry-container .content-container ol ol ol ol ol {
              list-style-type: lower-roman; }
    .cms-entry-container .content-container li {
      color: #777777;
      font-size: 1rem;
      font-weight: 400;
      line-height: 1.6; }
    .cms-entry-container .content-container ul + h1, .cms-entry-container .content-container ol + h1 {
      margin-top: 35px; }
    .cms-entry-container .content-container ul + h2, .cms-entry-container .content-container ol + h2 {
      margin-top: 20px; }
    .cms-entry-container .content-container ul + h3, .cms-entry-container .content-container ol + h3 {
      margin-top: 20px; }
    .cms-entry-container .content-container ul + h4, .cms-entry-container .content-container ol + h4 {
      margin-top: 20px; }
    .cms-entry-container .content-container ul + h5, .cms-entry-container .content-container ol + h5 {
      margin-top: 20px; }
    .cms-entry-container .content-container ul + h6, .cms-entry-container .content-container ol + h6 {
      margin-top: 20px; }
    .cms-entry-container .content-container dl {
      text-align: left; }
    .cms-entry-container .content-container p:not(:empty) + table, .cms-entry-container .content-container p:not(:empty) + .comparison-table-container {
      margin: 15px 0; }
    .cms-entry-container .content-container table {
      --thead-border-colour: $thead-border-colour;
      max-width: 100%;
      margin-bottom: 0; }
      .cms-entry-container .content-container table:not([class*=preset]) thead {
        background-color: transparent; }
        .cms-entry-container .content-container table:not([class*=preset]) thead tr {
          border-bottom: 1px solid var(--thead-border-colour); }
        .cms-entry-container .content-container table:not([class*=preset]) thead th {
          font-weight: 600; }
      .cms-entry-container .content-container table.responsive-table {
        display: block; }
        @media screen and (min-width: 81.25em) {
          .cms-entry-container .content-container table.responsive-table {
            display: table; } }
        .cms-entry-container .content-container table.responsive-table:not([class*=preset]) thead {
          display: none; }
          @media screen and (min-width: 81.25em) {
            .cms-entry-container .content-container table.responsive-table:not([class*=preset]) thead {
              display: table-row-group; } }
        .cms-entry-container .content-container table.responsive-table tbody:not(.comparison-summary) {
          display: block; }
          @media screen and (min-width: 81.25em) {
            .cms-entry-container .content-container table.responsive-table tbody:not(.comparison-summary) {
              display: table-row-group; } }
      .cms-entry-container .content-container table th {
        padding: 10px 10px 10px; }
      @media screen and (min-width: 81.25em) {
        .cms-entry-container .content-container table td {
          padding: 10px; } }
      .cms-entry-container .content-container table thead[class*="preset"] + tbody:before {
        content: '';
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex; }
        @media screen and (min-width: 81.25em) {
          .cms-entry-container .content-container table thead[class*="preset"] + tbody:before {
            margin: 10px; } }
      .cms-entry-container .content-container table tbody {
        background-color: transparent; }
        .cms-entry-container .content-container table tbody th {
          background-color: transparent; }
        .cms-entry-container .content-container table tbody tr:not(:last-child) th {
          border-bottom: 1px solid transparent; }
        @media screen and (min-width: 81.25em) {
          .cms-entry-container .content-container table tbody tr {
            display: table-row; } }
      .cms-entry-container .content-container table .col-label {
        color: #777777; }
      @media print, screen and (max-width: 81.24875em) {
        .cms-entry-container .content-container table.responsive-table tbody tr {
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-orient: vertical;
          -webkit-box-direction: normal;
              -ms-flex-direction: column;
                  flex-direction: column; } }
      @media print, screen and (max-width: 81.24875em) {
        .cms-entry-container .content-container table.responsive-table tbody tr:not(:last-child) {
          margin-bottom: 10px;
          padding-bottom: 10px;
          border-bottom: 1px solid #eeeeee; } }
      .cms-entry-container .content-container table.no-wrap {
        display: block;
        white-space: nowrap;
        overflow-x: auto; }
      .cms-entry-container .content-container table.comparison-table tbody td:first-child {
        color: #777777;
        font-weight: 600; }
    .cms-entry-container .content-container blockquote {
      width: 100%;
      position: relative;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      -webkit-box-align: start;
          -ms-flex-align: start;
              align-items: flex-start;
      gap: 15px;
      margin: 0 auto 40px;
      padding: 50px 30px;
      border: 1px solid transparent;
      -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
              box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
      text-align: center;
      font-family: "Gibson", "Gibson Fallback", "Arial";
      font-size: 1rem;
      -webkit-transition: border-color 0.8s, -webkit-box-shadow 0.8s;
      transition: border-color 0.8s, -webkit-box-shadow 0.8s;
      transition: box-shadow 0.8s, border-color 0.8s;
      transition: box-shadow 0.8s, border-color 0.8s, -webkit-box-shadow 0.8s; }
      @media screen and (min-width: 81.25em) {
        .cms-entry-container .content-container blockquote {
          -webkit-box-orient: horizontal;
          -webkit-box-direction: normal;
              -ms-flex-direction: row;
                  flex-direction: row;
          gap: 25px; } }
      .cms-entry-container .content-container blockquote:hover {
        -webkit-box-shadow: none;
                box-shadow: none;
        border-color: #eeeeee;
        -webkit-transition: border-color 0.6s, -webkit-box-shadow 0.6s;
        transition: border-color 0.6s, -webkit-box-shadow 0.6s;
        transition: box-shadow 0.6s, border-color 0.6s;
        transition: box-shadow 0.6s, border-color 0.6s, -webkit-box-shadow 0.6s; }
        .cms-entry-container .content-container blockquote:hover:before {
          color: #dadada;
          -webkit-transition: color 0.6s;
          transition: color 0.6s; }
      .cms-entry-container .content-container blockquote:has(img) {
        text-align: left; }
      .cms-entry-container .content-container blockquote:last-of-type {
        margin-bottom: 40px; }
      @media screen and (min-width: 81.25em) {
        .cms-entry-container .content-container blockquote {
          padding: 50px 60px; } }
      .cms-entry-container .content-container blockquote + blockquote {
        margin-top: 15px; }
      .cms-entry-container .content-container blockquote:before, .cms-entry-container .content-container blockquote:after {
        content: "";
        position: absolute;
        display: inline-block;
        padding: 10px;
        font-size: 40px;
        color: #eeeeee;
        font-family: "Font Awesome Solid";
        line-height: .8;
        -webkit-transition: color 0.8s;
        transition: color 0.8s; }
      .cms-entry-container .content-container blockquote:before {
        top: 0;
        left: 0; }
      .cms-entry-container .content-container blockquote:after {
        right: 0;
        bottom: 0;
        -webkit-transform: rotate(180deg);
                transform: rotate(180deg); }
      .cms-entry-container .content-container blockquote img {
        float: left; }
        @media screen and (min-width: 81.25em) {
          .cms-entry-container .content-container blockquote img {
            text-align: left; } }
    .cms-entry-container .content-container div.gallary {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      margin: 10px 0 20px; }
      .cms-entry-container .content-container div.gallary.cell-gutters {
        gap: 10px; }
      .cms-entry-container .content-container div.gallary > img {
        -webkit-box-flex: 1;
            -ms-flex-positive: 1;
                flex-grow: 1; }
      .cms-entry-container .content-container div.gallary a {
        -webkit-box-flex: 1;
            -ms-flex-positive: 1;
                flex-grow: 1; }
        .cms-entry-container .content-container div.gallary a img {
          width: 100%; }
    .cms-entry-container .content-container iframe[src*="https://www.google.com/maps/embed"] {
      border: 2px solid #ffffff; }
    th, td {
      text-align: left; }
    .cms-entry-container .content-container form fieldset h2 {
      color: #ffffff; }
    .cms-entry-container .content-container .background-section {
      padding: 10px; }
      @media screen and (min-width: 81.25em) {
        .cms-entry-container .content-container .background-section {
          padding: 15px; } }
  @media screen and (min-width: 81.25em) {
    .cms-entry-container .content-banner {
      width: 50%; } }
  .cms-entry-container .content-banner .image:first-child {
    margin-bottom: 10px; }
  .cms-entry-container .content-banner .image:last-child {
    margin-top: 10px; }
  .cms-entry-container .content-banner .image:not(:first-child), .cms-entry-container .content-banner .image:not(:last-child) {
    margin-top: 10px;
    margin-bottom: 10px; }
  @media screen and (min-width: 81.25em) {
    .cms-entry-container .content-banner .image {
      width: 78%;
      margin-left: auto; } }
  .cms-entry-container .publish-date {
    display: block;
    margin: 20px 0 0; }
  .cms-entry-container .tagging-container {
    width: 100%;
    margin: 20px 0 0; }
    @media screen and (min-width: 81.25em) {
      .cms-entry-container .tagging-container {
        margin: 40px 0 0; } }

.cms-entry-container a[href^="tel:"], .cms-entry-container a[href^="mailto:"], .cms-content-container a[href^="tel:"], .cms-content-container a[href^="mailto:"], .cms-modul.entry-module a[href^="tel:"], .cms-modul.entry-module a[href^="mailto:"] {
  font-weight: 700; }
  .cms-entry-container a[href^="tel:"]:hover, .cms-entry-container a[href^="mailto:"]:hover, .cms-content-container a[href^="tel:"]:hover, .cms-content-container a[href^="mailto:"]:hover, .cms-modul.entry-module a[href^="tel:"]:hover, .cms-modul.entry-module a[href^="mailto:"]:hover {
    text-decoration: none; }
  .cms-entry-container a[href^="tel:"].show-contact-icon:before, .cms-entry-container a[href^="mailto:"].show-contact-icon:before, .cms-content-container a[href^="tel:"].show-contact-icon:before, .cms-content-container a[href^="mailto:"].show-contact-icon:before, .cms-modul.entry-module a[href^="tel:"].show-contact-icon:before, .cms-modul.entry-module a[href^="mailto:"].show-contact-icon:before {
    display: inline-block;
    margin-right: 5px;
    font-family: "Font Awesome Solid"; }

.cms-entry-container a[href^="mailto:"].show-contact-icon:before, .cms-content-container a[href^="mailto:"].show-contact-icon:before, .cms-modul.entry-module a[href^="mailto:"].show-contact-icon:before {
  content: ""; }

.cms-entry-container a[href^="tel:"].show-contact-icon:before, .cms-content-container a[href^="tel:"].show-contact-icon:before, .cms-modul.entry-module a[href^="tel:"].show-contact-icon:before {
  content: "";
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg); }

.cms-entry-container p a:not([class*="-button"]), .cms-content-container p a:not([class*="-button"]), .cms-modul.entry-module p a:not([class*="-button"]) {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  gap: 0 5px;
  font-weight: 700; }

.cms-entry-container p a:has([style*="float"]), .cms-content-container p a:has([style*="float"]), .cms-modul.entry-module p a:has([style*="float"]) {
  display: inline; }

.cms-entry-navigation {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin: 40px 0 30px; }
  @media print, screen and (min-width: 40em) {
    .cms-entry-navigation {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row; } }
  .cms-entry-navigation .buttons-container {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex; }
    @media print, screen and (min-width: 40em) {
      .cms-entry-navigation .buttons-container {
        width: 50%; } }

.cms-entries-controls, .entries-icon-controls {
  width: 100%;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-top: 30px; }
  @media print, screen and (min-width: 40em) {
    .cms-entries-controls, .entries-icon-controls {
      width: 50%;
      -webkit-box-pack: end;
          -ms-flex-pack: end;
              justify-content: flex-end;
      margin-top: 0; } }
  .cms-entries-controls .label, .entries-icon-controls .label {
    margin-right: 30px;
    color: #06052f;
    font-size: 1.125rem;
    font-weight: 700;
    text-transform: none; }
  .cms-entries-controls .control-button, .entries-icon-controls .control-button {
    width: 55px;
    height: 55px;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    background-color: #ffffff;
    color: #06052f;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
    -webkit-transition: all 0.8s;
    transition: all 0.8s; }
    .cms-entries-controls .control-button:first-of-type, .entries-icon-controls .control-button:first-of-type {
      margin-right: 30px; }
    .cms-entries-controls .control-button:hover, .entries-icon-controls .control-button:hover {
      background-color: #06052f;
      color: #06052f;
      -webkit-box-shadow: 0;
              box-shadow: 0;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
    .cms-entries-controls .control-button:active, .entries-icon-controls .control-button:active {
      background-color: #ae9461;
      color: #ffffff; }
    .cms-entries-controls .control-button:before, .entries-icon-controls .control-button:before {
      font-family: "fontello-djmiles";
      font-size: 20px; }
  .cms-entries-controls .previous-cms-entry:before, .entries-icon-controls .previous-cms-entry:before {
    content: ""; }
  .cms-entries-controls .next-cms-entry:before, .entries-icon-controls .next-cms-entry:before {
    content: ""; }

.entries-text-controls-container {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px 0;
  margin: 15px 0 20px; }
  @media screen and (min-width: 81.25em) {
    .entries-text-controls-container {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      gap: 10px 30px;
      margin: 0 0 20px; } }
  .entries-text-controls-container .label {
    color: #06052f;
    font-size: 1.125rem;
    font-weight: 700;
    text-transform: none; }
  .entries-text-controls-container .control-button.previous-entry {
    --component-specifc-step-height: 15px;
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: relative;
    margin: var(--common-button-small-margin, 0);
    padding: var(--common-button-padding, 10px 15px 10px);
    color: #06052f;
    background-color: #ffffff;
    border-width: 2px;
    font-size: 0.875rem;
    font-weight: 400;
    text-align: center;
    border-style: solid;
    cursor: pointer;
    text-transform: uppercase;
    letter-spacing: 0.6px;
    word-spacing: 2px;
    border-color: #dadada;
    text-decoration: none;
    line-height: 1;
    border-radius: 0 !important;
    overflow: hidden;
    -webkit-transition: all 0.8s;
    transition: all 0.8s;
    /*
        --- Icon configuration ---
        - $icposition => Before or after text
        - margin => icon margin
        - colour => icon colour states ( default, hover & active )
        - size => icon size.
        - content => the font icon itself, normally stored in $site-icons
        - font-family => the font family that the icon belongs to font awesome or fontello.
        */ }
    @media screen and (min-width: 81.25em) {
      .entries-text-controls-container .control-button.previous-entry {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
        margin: var(--common-button-large-margin, 0); } }
    @media (hover: hover) {
      .entries-text-controls-container .control-button.previous-entry:hover, .entries-text-controls-container .control-button.previous-entry.hover {
        color: #06052f;
        background-color: #06052f;
        border-color: #06052f;
        text-decoration: none;
        -webkit-transition: all 0.6s;
        transition: all 0.6s; }
        .entries-text-controls-container .control-button.previous-entry:hover:before, .entries-text-controls-container .control-button.previous-entry.hover:before {
          color: #06052f;
          -webkit-transition: color 0.6s;
          transition: color 0.6s; }
        .entries-text-controls-container .control-button.previous-entry:hover .graduated-colour-edge .step, .entries-text-controls-container .control-button.previous-entry.hover .graduated-colour-edge .step {
          background-color: #ffffff;
          -webkit-transition: background-color 0.6s;
          transition: background-color 0.6s; } }
    .entries-text-controls-container .control-button.previous-entry:active, .entries-text-controls-container .control-button.previous-entry.active {
      color: #ffffff;
      background-color: #ae9461;
      border-color: #06052f;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
      .entries-text-controls-container .control-button.previous-entry:active:before, .entries-text-controls-container .control-button.previous-entry.active:before {
        color: #ffffff; }
    .entries-text-controls-container .control-button.previous-entry:disabled, .entries-text-controls-container .control-button.previous-entry.disabled, .entries-text-controls-container .control-button.previous-entry[disabled] {
      color: #929292;
      background-color: #ffffff;
      border-color: rgba(200, 200, 200, 0.7);
      cursor: not-allowed; }
      .entries-text-controls-container .control-button.previous-entry:disabled:before, .entries-text-controls-container .control-button.previous-entry.disabled:before, .entries-text-controls-container .control-button.previous-entry[disabled]:before {
        color: #929292; }
    .entries-text-controls-container .control-button.previous-entry:disabled:hover, .entries-text-controls-container .control-button.previous-entry.disabled:hover {
      border-color: rgba(200, 200, 200, 0.7); }
    .entries-text-controls-container .control-button.previous-entry:focus-visible {
      outline: none;
      -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
              box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
    .entries-text-controls-container .control-button.previous-entry:before {
      content: "";
      margin: 0 10px 0 0;
      font-family: "fontello-djmiles";
      font-size: 20px;
      color: #06052f;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
    .entries-text-controls-container .control-button.previous-entry .graduated-colour-edge .step {
      -webkit-transition: background-color 0.8s;
      transition: background-color 0.8s; }
  .entries-text-controls-container .control-button.next-entry {
    --component-specifc-step-height: 15px;
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: relative;
    margin: var(--common-button-small-margin, 0);
    padding: var(--common-button-padding, 10px 15px 10px);
    color: #06052f;
    background-color: #ffffff;
    border-width: 2px;
    font-size: 0.875rem;
    font-weight: 400;
    text-align: center;
    border-style: solid;
    cursor: pointer;
    text-transform: uppercase;
    letter-spacing: 0.6px;
    word-spacing: 2px;
    border-color: #dadada;
    text-decoration: none;
    line-height: 1;
    border-radius: 0 !important;
    overflow: hidden;
    -webkit-transition: all 0.8s;
    transition: all 0.8s;
    /*
        --- Icon configuration ---
        - $icposition => Before or after text
        - margin => icon margin
        - colour => icon colour states ( default, hover & active )
        - size => icon size.
        - content => the font icon itself, normally stored in $site-icons
        - font-family => the font family that the icon belongs to font awesome or fontello.
        */ }
    @media screen and (min-width: 81.25em) {
      .entries-text-controls-container .control-button.next-entry {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
        margin: var(--common-button-large-margin, 0); } }
    @media (hover: hover) {
      .entries-text-controls-container .control-button.next-entry:hover, .entries-text-controls-container .control-button.next-entry.hover {
        color: #06052f;
        background-color: #06052f;
        border-color: #06052f;
        text-decoration: none;
        -webkit-transition: all 0.6s;
        transition: all 0.6s; }
        .entries-text-controls-container .control-button.next-entry:hover:after, .entries-text-controls-container .control-button.next-entry.hover:after {
          color: #06052f;
          -webkit-transition: color 0.6s;
          transition: color 0.6s; }
        .entries-text-controls-container .control-button.next-entry:hover .graduated-colour-edge .step, .entries-text-controls-container .control-button.next-entry.hover .graduated-colour-edge .step {
          background-color: #ffffff;
          -webkit-transition: background-color 0.6s;
          transition: background-color 0.6s; } }
    .entries-text-controls-container .control-button.next-entry:active, .entries-text-controls-container .control-button.next-entry.active {
      color: #ffffff;
      background-color: #ae9461;
      border-color: #06052f;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
      .entries-text-controls-container .control-button.next-entry:active:after, .entries-text-controls-container .control-button.next-entry.active:after {
        color: #ffffff; }
    .entries-text-controls-container .control-button.next-entry:disabled, .entries-text-controls-container .control-button.next-entry.disabled, .entries-text-controls-container .control-button.next-entry[disabled] {
      color: #929292;
      background-color: #ffffff;
      border-color: rgba(200, 200, 200, 0.7);
      cursor: not-allowed; }
      .entries-text-controls-container .control-button.next-entry:disabled:after, .entries-text-controls-container .control-button.next-entry.disabled:after, .entries-text-controls-container .control-button.next-entry[disabled]:after {
        color: #929292; }
    .entries-text-controls-container .control-button.next-entry:disabled:hover, .entries-text-controls-container .control-button.next-entry.disabled:hover {
      border-color: rgba(200, 200, 200, 0.7); }
    .entries-text-controls-container .control-button.next-entry:focus-visible {
      outline: none;
      -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
              box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
    .entries-text-controls-container .control-button.next-entry:after {
      content: "";
      margin: 0 0 0 10px;
      font-family: "fontello-djmiles";
      font-size: 20px;
      color: #06052f;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
    .entries-text-controls-container .control-button.next-entry .graduated-colour-edge .step {
      -webkit-transition: background-color 0.8s;
      transition: background-color 0.8s; }

.cms-entry-back-button {
  --component-specifc-step-height: 15px;
  width: 230px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  margin: var(--common-button-small-margin, 10px 0);
  padding: var(--common-button-padding, 10px 20px);
  color: #06052f;
  background-color: #ffffff;
  border-width: 2px;
  font-size: 0.875rem;
  font-weight: 400;
  text-align: center;
  border-style: solid;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: 0.6px;
  word-spacing: 2px;
  border-color: #dadada;
  text-decoration: none;
  line-height: 1;
  border-radius: 0 !important;
  overflow: hidden;
  -webkit-transition: all 0.8s;
  transition: all 0.8s; }
  @media print, screen and (min-width: 40em) {
    .cms-entry-back-button {
      margin: var(--common-button-medium-margin, 10px 0); } }
  @media screen and (min-width: 81.25em) {
    .cms-entry-back-button {
      width: 230px;
      margin: var(--common-button-large-margin, 0 0 20px); } }
  @media (hover: hover) {
    .cms-entry-back-button:hover, .cms-entry-back-button.hover {
      color: #ffffff;
      background-color: #3141e4;
      border-color: #06052f;
      text-decoration: none;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
      .cms-entry-back-button:hover .graduated-colour-edge .step, .cms-entry-back-button.hover .graduated-colour-edge .step {
        background-color: #ffffff;
        -webkit-transition: background-color 0.6s;
        transition: background-color 0.6s; } }
  .cms-entry-back-button:active, .cms-entry-back-button.active {
    color: #ffffff;
    background-color: #06052f;
    border-color: #06052f;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
  .cms-entry-back-button:disabled, .cms-entry-back-button.disabled, .cms-entry-back-button[disabled] {
    color: #929292;
    background-color: #ffffff;
    border-color: rgba(200, 200, 200, 0.7);
    cursor: not-allowed; }
  .cms-entry-back-button:disabled:hover, .cms-entry-back-button.disabled:hover {
    border-color: rgba(200, 200, 200, 0.7); }
  .cms-entry-back-button:focus-visible {
    outline: none;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
  .cms-entry-back-button .graduated-colour-edge .step {
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }

.site-map {
  margin: 0 0 25px; }
  .site-map > ul {
    margin: 0;
    padding: 0; }
    .site-map > ul > li {
      padding: 20px 0; }
  .site-map:not(.suppress-border) > ul > li {
    border-width: 0 0 1px 0;
    border-style: solid;
    border-color: #aeaeae;
    -webkit-transition: border-color 0.8s, -webkit-box-shadow 0.8s;
    transition: border-color 0.8s, -webkit-box-shadow 0.8s;
    transition: border-color 0.8s, box-shadow 0.8s;
    transition: border-color 0.8s, box-shadow 0.8s, -webkit-box-shadow 0.8s; }
    .site-map:not(.suppress-border) > ul > li:only-child {
      border-width: 0; }
    .site-map:not(.suppress-border) > ul > li:last-child {
      border-color: transparent; }
    .site-map:not(.suppress-border) > ul > li:hover {
      -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
              box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
      -webkit-transition: -webkit-box-shadow 0.6s;
      transition: -webkit-box-shadow 0.6s;
      transition: box-shadow 0.6s;
      transition: box-shadow 0.6s, -webkit-box-shadow 0.6s; }
      .site-map:not(.suppress-border) > ul > li:hover a:before {
        border-color: #06052f;
        -webkit-transition: border-color 0.6s;
        transition: border-color 0.6s; }
  .site-map ul {
    list-style: none;
    -webkit-transition: -webkit-box-shadow 0.8s;
    transition: -webkit-box-shadow 0.8s;
    transition: box-shadow 0.8s;
    transition: box-shadow 0.8s, -webkit-box-shadow 0.8s; }
    .site-map ul .parent > a, .site-map ul .parent > span {
      position: relative;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      font-size: 1.25rem;
      font-weight: 700;
      color: #06052f; }
      .site-map ul .parent > a:before, .site-map ul .parent > span:before {
        content: "";
        display: inline-block;
        margin: 0 35px 0 25px;
        font-family: "fontello-djmiles";
        color: #aeaeae;
        font-size: 20px;
        -webkit-transition: border-color 0.8s;
        transition: border-color 0.8s; }
    .site-map ul .parent > ul {
      margin-left: 30px; }
    .site-map ul .parent .child {
      padding: 7px 0; }
      .site-map ul .parent .child > a {
        font-size: 1rem;
        font-weight: 400;
        color: #000000; }
  .site-map .parent a:hover, .site-map ul .child > a:hover {
    color: #ae9461;
    -webkit-transition: color 0.6s;
    transition: color 0.6s; }
  .site-map .parent a:active, .site-map ul .child > a:active {
    color: #06052f;
    -webkit-transition: color 0.8s;
    transition: color 0.8s; }

.cms-module .read-more-button {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 20px 0 0;
  padding: 0;
  font-size: 1rem;
  font-weight: 400;
  font-style: normal;
  color: #06052f;
  text-decoration: none;
  background-color: transparent;
  border: 1px solid transparent;
  text-transform: uppercase;
  -webkit-transition: color, border, background-color 0.8s;
  transition: color, border, background-color 0.8s; }
  .cms-module .read-more-button:hover {
    color: #ae9461;
    text-decoration: none;
    border-color: transparent;
    background-color: transparent;
    -webkit-transition: color, border-color, background-color 0.6s;
    transition: color, border-color, background-color 0.6s; }
  .cms-module .read-more-button:active {
    color: #06052f;
    background-color: transparent; }
  .cms-module .read-more-button:after {
    content: "";
    margin-left: 5px;
    color: #ae9461;
    font-size: 8px;
    font-family: "fontello-djmiles";
    -webkit-transition: color 0.8s;
    transition: color 0.8s; }
  .cms-module .read-more-button:hover:after {
    color: #ae9461;
    -webkit-transition: color 0.6s;
    transition: color 0.6s; }
  .cms-module .read-more-button:active {
    color: #06052f; }

.back-to-information {
  --component-specifc-step-height: 15px;
  width: 230px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  margin: var(--common-button-small-margin, 10px 0);
  padding: var(--common-button-padding, 10px 20px);
  color: #06052f;
  background-color: #ffffff;
  border-width: 2px;
  font-size: 0.875rem;
  font-weight: 400;
  text-align: center;
  border-style: solid;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: 0.6px;
  word-spacing: 2px;
  border-color: #dadada;
  text-decoration: none;
  line-height: 1;
  border-radius: 0 !important;
  overflow: hidden;
  -webkit-transition: all 0.8s;
  transition: all 0.8s; }
  @media print, screen and (min-width: 40em) {
    .back-to-information {
      margin: var(--common-button-medium-margin, 10px 0); } }
  @media screen and (min-width: 81.25em) {
    .back-to-information {
      width: 230px;
      margin: var(--common-button-large-margin, 0 0 20px); } }
  @media (hover: hover) {
    .back-to-information:hover, .back-to-information.hover {
      color: #ffffff;
      background-color: #3141e4;
      border-color: #06052f;
      text-decoration: none;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
      .back-to-information:hover .graduated-colour-edge .step, .back-to-information.hover .graduated-colour-edge .step {
        background-color: #ffffff;
        -webkit-transition: background-color 0.6s;
        transition: background-color 0.6s; } }
  .back-to-information:active, .back-to-information.active {
    color: #ffffff;
    background-color: #06052f;
    border-color: #06052f;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
  .back-to-information:disabled, .back-to-information.disabled, .back-to-information[disabled] {
    color: #929292;
    background-color: #ffffff;
    border-color: rgba(200, 200, 200, 0.7);
    cursor: not-allowed; }
  .back-to-information:disabled:hover, .back-to-information.disabled:hover {
    border-color: rgba(200, 200, 200, 0.7); }
  .back-to-information:focus-visible {
    outline: none;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
  .back-to-information .graduated-colour-edge .step {
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }

.cms-container {
  margin: 12px 0 41px; }
  .cms-container p {
    font-size: 1rem; }

div[style*="background-color"] .cms-content-container {
  padding: 0 25px; }
  @media screen and (min-width: 81.25em) {
    div[style*="background-color"] .cms-content-container {
      padding: 0 50px; } }

.cms-content-container h1 {
  margin: 0 0 35px;
  font-size: 2.125rem;
  font-weight: 400;
  font-style: normal;
  color: #06052f;
  line-height: 1.4;
  background-color: transparent; }
  .cms-content-container h1:first-child {
    margin-top: 0; }
  .cms-content-container h1:only-child {
    margin: 0; }

.cms-content-container h2 {
  margin: 0 0 20px;
  font-size: 1.25rem;
  font-weight: 600;
  font-style: normal;
  color: #06052f;
  line-height: 1.4; }
  .cms-content-container h2:first-child {
    margin-top: 0; }
  .cms-content-container h2:only-child {
    margin: 0; }

.cms-content-container h3 {
  margin: 0 0 20px;
  padding: 15px 0;
  font-size: 1.125rem;
  font-weight: 600;
  font-style: normal;
  color: #06052f;
  line-height: 1.4; }
  .cms-content-container h3:first-child {
    margin-top: 0; }
  .cms-content-container h3:only-child {
    margin: 0; }

.cms-content-container h4 {
  margin: 0 0 20px;
  padding: 0 0 10px;
  font-size: 1.2rem;
  font-weight: 500;
  font-style: normal;
  color: #06052f;
  line-height: 1.4; }
  .cms-content-container h4:first-child {
    margin-top: 0; }
  .cms-content-container h4:only-child {
    margin: 0; }

.cms-content-container h5 {
  margin: 0 0 20px;
  font-size: 1rem;
  font-weight: 600;
  font-style: normal;
  color: #06052f;
  line-height: 1.4; }
  .cms-content-container h5:first-child {
    margin-top: 0; }
  .cms-content-container h5:only-child {
    margin: 0; }

.cms-content-container h6 {
  margin: 0 0 20px;
  font-size: 1rem;
  font-weight: 600;
  font-style: normal;
  color: #06052f;
  line-height: 1.4; }
  .cms-content-container h6:first-child {
    margin-top: 0; }
  .cms-content-container h6:only-child {
    margin: 0; }

.cms-content-container p {
  margin: var(--indent-margin, 0);
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.6;
  color: #777777; }
  .cms-content-container p img[style*="float:left"], .cms-content-container p img[style*="float: left"], .cms-content-container p[style*="float:left"] > img {
    margin: .2em .2em .2em 0; }
  .cms-content-container p img[style*="float:right"], .cms-content-container p img[style*="float: right"], .cms-content-container p[style*="float:right"] > img {
    margin: .2em 0 .2em .2em; }
  .cms-content-container p img {
    margin: .2em 0; }
  .cms-content-container p + p {
    margin-top: 0;
    margin-bottom: 0; }

.cms-content-container blockquote {
  width: 100%;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 15px;
  margin: 0 auto 40px;
  padding: 50px 30px;
  border: 1px solid transparent;
  -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
          box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
  text-align: center;
  font-family: "Gibson", "Gibson Fallback", "Arial";
  font-size: 1rem;
  -webkit-transition: border-color 0.8s, -webkit-box-shadow 0.8s;
  transition: border-color 0.8s, -webkit-box-shadow 0.8s;
  transition: box-shadow 0.8s, border-color 0.8s;
  transition: box-shadow 0.8s, border-color 0.8s, -webkit-box-shadow 0.8s; }
  @media screen and (min-width: 81.25em) {
    .cms-content-container blockquote {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      gap: 25px; } }
  .cms-content-container blockquote:hover {
    -webkit-box-shadow: none;
            box-shadow: none;
    border-color: #eeeeee;
    -webkit-transition: border-color 0.6s, -webkit-box-shadow 0.6s;
    transition: border-color 0.6s, -webkit-box-shadow 0.6s;
    transition: box-shadow 0.6s, border-color 0.6s;
    transition: box-shadow 0.6s, border-color 0.6s, -webkit-box-shadow 0.6s; }
    .cms-content-container blockquote:hover:before {
      color: #dadada;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }
  .cms-content-container blockquote:has(img) {
    text-align: left; }
  .cms-content-container blockquote:last-of-type {
    margin-bottom: 40px; }
  @media screen and (min-width: 81.25em) {
    .cms-content-container blockquote {
      padding: 50px 60px; } }
  .cms-content-container blockquote + blockquote {
    margin-top: 15px; }
  .cms-content-container blockquote:before, .cms-content-container blockquote:after {
    content: "";
    position: absolute;
    display: inline-block;
    padding: 10px;
    font-size: 40px;
    color: #eeeeee;
    font-family: "Font Awesome Solid";
    line-height: .8;
    -webkit-transition: color 0.8s;
    transition: color 0.8s; }
  .cms-content-container blockquote:before {
    top: 0;
    left: 0; }
  .cms-content-container blockquote:after {
    right: 0;
    bottom: 0;
    -webkit-transform: rotate(180deg);
            transform: rotate(180deg); }
  .cms-content-container blockquote img {
    float: left; }
    @media screen and (min-width: 81.25em) {
      .cms-content-container blockquote img {
        text-align: left; } }

.cms-content-container p:not(:empty) + table, .cms-content-container p:not(:empty) + .comparison-table-container {
  margin: 15px 0; }

.cms-content-container table {
  --thead-border-colour: $thead-border-colour;
  max-width: 100%;
  margin-bottom: 0; }
  .cms-content-container table:not([class*=preset]) thead {
    background-color: transparent; }
    .cms-content-container table:not([class*=preset]) thead tr {
      border-bottom: 1px solid var(--thead-border-colour); }
    .cms-content-container table:not([class*=preset]) thead th {
      font-weight: 600; }
  .cms-content-container table.responsive-table {
    display: block; }
    @media screen and (min-width: 81.25em) {
      .cms-content-container table.responsive-table {
        display: table; } }
    .cms-content-container table.responsive-table:not([class*=preset]) thead {
      display: none; }
      @media screen and (min-width: 81.25em) {
        .cms-content-container table.responsive-table:not([class*=preset]) thead {
          display: table-row-group; } }
    .cms-content-container table.responsive-table tbody:not(.comparison-summary) {
      display: block; }
      @media screen and (min-width: 81.25em) {
        .cms-content-container table.responsive-table tbody:not(.comparison-summary) {
          display: table-row-group; } }
  .cms-content-container table th {
    padding: 10px 10px 10px; }
  @media screen and (min-width: 81.25em) {
    .cms-content-container table td {
      padding: 10px; } }
  .cms-content-container table thead[class*="preset"] + tbody:before {
    content: '';
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
    @media screen and (min-width: 81.25em) {
      .cms-content-container table thead[class*="preset"] + tbody:before {
        margin: 10px; } }
  .cms-content-container table tbody {
    background-color: transparent; }
    .cms-content-container table tbody th {
      background-color: transparent; }
    .cms-content-container table tbody tr:not(:last-child) th {
      border-bottom: 1px solid transparent; }
    @media screen and (min-width: 81.25em) {
      .cms-content-container table tbody tr {
        display: table-row; } }
  .cms-content-container table .col-label {
    color: #777777; }
  @media print, screen and (max-width: 81.24875em) {
    .cms-content-container table.responsive-table tbody tr {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column; } }
  @media print, screen and (max-width: 81.24875em) {
    .cms-content-container table.responsive-table tbody tr:not(:last-child) {
      margin-bottom: 10px;
      padding-bottom: 10px;
      border-bottom: 1px solid #eeeeee; } }
  .cms-content-container table.no-wrap {
    display: block;
    white-space: nowrap;
    overflow-x: auto; }
  .cms-content-container table.comparison-table tbody td:first-child {
    color: #777777;
    font-weight: 600; }

.cms-content-container ul, .cms-content-container ol {
  text-align: left; }

.cms-content-container ul {
  margin: 10px;
  padding: 0;
  line-height: 1.6;
  list-style: none;
  line-height: 25px; }
  .cms-content-container ul ul {
    padding-top: 0;
    padding-bottom: 0;
    padding-left: 25px; }
  .cms-content-container ul li {
    position: relative;
    padding: 0 0 0 15px; }
    .cms-content-container ul li:before {
      content: '';
      width: 5px;
      height: 5px;
      position: absolute;
      top: 10px;
      left: 0;
      margin: auto;
      display: block;
      background-color: #06052f;
      border-radius: 5px; }

.cms-content-container ol {
  margin: 10px;
  padding: 0 25px;
  line-height: 1.6; }
  .cms-content-container ol ol {
    margin: 0;
    padding-top: 0;
    padding-bottom: 0;
    list-style-type: lower-alpha; }
    .cms-content-container ol ol ol {
      list-style-type: lower-roman; }
      .cms-content-container ol ol ol ol {
        list-style-type: lower-alpha; }
        .cms-content-container ol ol ol ol ol {
          list-style-type: lower-roman; }

.cms-content-container li {
  color: #777777;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.6; }

.cms-content-container ul + h1, .cms-content-container ol + h1 {
  margin-top: 35px; }

.cms-content-container ul + h2, .cms-content-container ol + h2 {
  margin-top: 20px; }

.cms-content-container ul + h3, .cms-content-container ol + h3 {
  margin-top: 20px; }

.cms-content-container ul + h4, .cms-content-container ol + h4 {
  margin-top: 20px; }

.cms-content-container ul + h5, .cms-content-container ol + h5 {
  margin-top: 20px; }

.cms-content-container ul + h6, .cms-content-container ol + h6 {
  margin-top: 20px; }

.cms-content-container dl {
  text-align: left; }

.cms-content-container.success {
  margin-bottom: 70px; }
  .cms-content-container.success h2 {
    color: #777777; }
  .cms-content-container.success .amount-paid {
    font-weight: 700;
    color: #12811f; }

.cms-content-container.alert {
  margin-bottom: 35px; }
  .cms-content-container.alert h2 {
    margin: 0 0 5px;
    color: #777777; }
  .cms-content-container.alert p {
    color: #777777; }
  .cms-content-container.alert .amount-paid {
    font-weight: 700;
    color: #b20c0c; }

.cms-content-container.center-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  text-align: center; }

.cms-content-container.error {
  color: #b20c0c; }
  .cms-content-container.error h2, .cms-content-container.error h3, .cms-content-container.error h4, .cms-content-container.error h5 {
    color: #b20c0c; }

.cms-content-container.gutter-y {
  margin: 12px 0 41px; }

.cms-content-container.page-heading-content {
  padding: 0 0 15px; }

.cms-content-container.no-side-padding {
  padding-right: 0;
  padding-left: 0; }

.cms-content-container.outline {
  padding: 15px 10px;
  border: 2px solid #eeeeee;
  border-radius: 0;
  -webkit-transition: border-color 0.8s;
  transition: border-color 0.8s; }
  @media screen and (min-width: 81.25em) {
    .cms-content-container.outline {
      padding: 30px 20px; } }
  .cms-content-container.outline:hover {
    border-color: #888888;
    -webkit-transition: border-color 0.6s;
    transition: border-color 0.6s; }

.cms-content-container p {
  width: 100%; }

a {
  font-size: 1rem;
  color: var(--primary-colour-lightness-0, var(--primary-colour-lightness-0)); }
  a:hover {
    color: var(--secondary-colour-lightness-0); }
  a:active {
    color: var(--primary-colour-lightness-2); }

.cms-content-container a:hover {
  text-decoration: underline; }

.cms-content-container a[class*="-button"]:hover {
  text-decoration: none; }

.cms-content-container p:first-of-type {
  margin-top: 0;
  padding-top: 0; }

.cms-content-container p:last-of-type {
  margin-bottom: 0;
  padding-bottom: 0; }

.cms-content-container + table {
  margin-top: 15px; }

.cms-content-container + .page-buttons-container {
  margin-top: 20px; }

/************************************** Popups ************************************/
/**********************************************************************************/
#popupOverlay {
  background-color: rgba(119, 119, 119, 0.5);
  display: none;
  height: 100%;
  left: 0;
  overflow: auto;
  position: fixed;
  text-align: center;
  top: 0;
  width: 100%;
  z-index: 50000; }
  #popupOverlay:after {
    content: " ";
    display: inline-block;
    height: 100%;
    vertical-align: middle;
    width: 0; }

#popupContainer {
  width: 100%;
  background-color: #ffffff;
  border-radius: 0.3em;
  -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
          box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
  display: inline-block;
  margin: 0 2%;
  max-width: 800px;
  overflow: hidden;
  position: relative;
  text-align: left;
  vertical-align: middle; }
  @media screen and (min-width: 81.25em) {
    #popupContainer {
      width: 840px; } }
  #popupContainer.standard {
    max-height: 90%; }
    #popupContainer.standard #popupContent {
      padding: 20px; }
      #popupContainer.standard #popupContent .contentContainer {
        max-height: 50vh;
        overflow-y: auto; }
  #popupContainer.scroll #popupContent {
    max-height: 90vh;
    padding: 20px;
    overflow-y: scroll; }
    #popupContainer.scroll #popupContent .contentContainer {
      max-height: 50vh;
      overflow-y: auto; }
  #popupContainer legend {
    padding: 10px 5px;
    width: calc(100% - 10px); }
  #popupContainer form {
    width: 100%;
    margin: auto; }
    @media screen and (min-width: 81.25em) {
      #popupContainer form {
        width: 740px; } }
  #popupContainer .confirmationContainer {
    background-color: #ffffff;
    color: #12811f;
    display: inline-block;
    line-height: 1em;
    margin: 0 1em 0 0;
    padding: 13px 10px; }
  #popupContainer .popupButtonContainer {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: distribute;
        justify-content: space-around; }
    #popupContainer .popupButtonContainer .popupCloseButton {
      line-height: 1em;
      position: relative; }

.closeButton.popupCloseButton {
  width: 70px;
  position: absolute;
  right: 0;
  top: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  .closeButton.popupCloseButton:before {
    content: "";
    font-family: "Font Awesome Solid";
    font-size: 24px;
    color: #000000;
    -webkit-transition: color 0.8s, -webkit-transform 0.6s;
    transition: color 0.8s, -webkit-transform 0.6s;
    transition: transform 0.6s, color 0.8s;
    transition: transform 0.6s, color 0.8s, -webkit-transform 0.6s; }
  .closeButton.popupCloseButton:hover:before {
    color: #ae9461;
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg);
    -webkit-transition: color 0.6s, -webkit-transform 0.6s;
    transition: color 0.6s, -webkit-transform 0.6s;
    transition: transform 0.6s, color 0.6s;
    transition: transform 0.6s, color 0.6s, -webkit-transform 0.6s; }
  .closeButton.popupCloseButton:active:before {
    color: #06052f;
    -webkit-transition: font-size 1.2s, color 0.6s;
    transition: font-size 1.2s, color 0.6s; }

.secondary-button.popupCloseButton:before {
  content: "";
  display: none; }

#checkout-content-container {
  width: 100%;
  position: relative; }

.section-buttons-container {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 30px; }
  .section-buttons-container a {
    margin-bottom: 0; }

.formFieldContainer {
  width: 100%; }

#checkoutForm select {
  padding: 0 0 0 25px; }

#checkoutForm .changeDetails {
  margin: 5px 0 15px; }

#checkoutForm #checkoutFormDetails {
  border: 1px solid rgba(80, 80, 109, 0.2); }

#checkoutForm .checkout-details {
  width: 100%;
  text-align: center;
  font-size: 0.875rem; }

#checkoutForm #deliveryDetailsContainer {
  margin: 20px 0 35px; }
  #checkoutForm #deliveryDetailsContainer h3 {
    position: relative;
    font-size: 1.0625rem;
    font-style: italic;
    color: #06052f;
    text-align: center;
    padding-bottom: 10px;
    margin-bottom: 30px; }
    #checkoutForm #deliveryDetailsContainer h3:before {
      content: '';
      width: 100%;
      height: 1px;
      position: absolute;
      bottom: 0;
      left: 0;
      background-color: #dadada; }

#checkoutForm #checkoutButtonContainer {
  margin: 75px 0 0; }
  #checkoutForm #checkoutButtonContainer #checkoutSubmitButton {
    width: auto;
    display: block;
    padding: 15px 25px;
    font-size: 15px;
    font-weight: 600;
    text-align: center;
    color: #ffffff;
    background-color: #06052f;
    border: 1px solid transparent;
    text-decoration: none;
    -webkit-transition: all 0.6s;
    transition: all 0.6s;
    margin: auto; }
    #checkoutForm #checkoutButtonContainer #checkoutSubmitButton:enabled:hover {
      border: 1px solid #06052f;
      background-color: rgba(6, 5, 47, 0.5);
      color: #06052f;
      -webkit-transition: all 0.8s;
      transition: all 0.8s; }
    #checkoutForm #checkoutButtonContainer #checkoutSubmitButton:focus {
      outline: none;
      border-color: transparent;
      -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
              box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }

#editDetailsFormContainer {
  max-width: 600px;
  max-height: 800px;
  position: absolute;
  right: 0;
  left: 0;
  margin: auto;
  padding: 10px 10px 20px;
  overflow-y: scroll;
  background-color: #ffffff;
  -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
          box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3); }
  #editDetailsFormContainer h1 {
    position: relative;
    padding: 70.4px 0 0;
    text-align: center;
    font-size: 1.5rem;
    color: #888888; }
    #editDetailsFormContainer h1:before {
      content: '\f4ff';
      position: absolute;
      top: 0;
      right: 0;
      left: 0;
      margin: auto;
      font-size: 44px;
      font-family: "Font Awesome Solid";
      color: #06052f; }
  #editDetailsFormContainer .buttonContainer {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
    @media print, screen and (min-width: 40em) {
      #editDetailsFormContainer .buttonContainer {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row; } }
    @media print, screen and (min-width: 40em) {
      #editDetailsFormContainer .buttonContainer button {
        margin: 0 10px; } }
  #editDetailsFormContainer #changeDetailsCancelButton {
    width: auto;
    display: block;
    padding: 15px 20px;
    font-size: 15px;
    font-weight: 600;
    text-align: center;
    color: #ffffff;
    background-color: #aeaeae;
    border: 1px solid transparent;
    text-decoration: none;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
    #editDetailsFormContainer #changeDetailsCancelButton:enabled:hover {
      border: 1px solid #aeaeae;
      background-color: rgba(6, 5, 47, 0.5);
      color: #aeaeae;
      -webkit-transition: all 0.8s;
      transition: all 0.8s; }
    #editDetailsFormContainer #changeDetailsCancelButton:focus {
      outline: none;
      border-color: transparent;
      -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
              box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
  #editDetailsFormContainer #changeDetailsSubmitButton {
    width: auto;
    display: block;
    padding: 15px 20px;
    font-size: 15px;
    font-weight: 600;
    text-align: center;
    color: #ffffff;
    background-color: #06052f;
    border: 1px solid transparent;
    text-decoration: none;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
    #editDetailsFormContainer #changeDetailsSubmitButton:enabled:hover {
      border: 1px solid #06052f;
      background-color: rgba(6, 5, 47, 0.5);
      color: #06052f;
      -webkit-transition: all 0.8s;
      transition: all 0.8s; }
    #editDetailsFormContainer #changeDetailsSubmitButton:focus {
      outline: none;
      border-color: transparent;
      -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
              box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
  #editDetailsFormContainer #changeDetailsClose {
    width: auto;
    display: block;
    padding: 15px 20px;
    font-size: 15px;
    font-weight: 600;
    text-align: center;
    color: #ffffff;
    background-color: #06052f;
    border: 1px solid transparent;
    text-decoration: none;
    -webkit-transition: all 0.6s;
    transition: all 0.6s;
    margin: auto; }
    #editDetailsFormContainer #changeDetailsClose:enabled:hover {
      border: 1px solid #06052f;
      background-color: rgba(6, 5, 47, 0.5);
      color: #06052f;
      -webkit-transition: all 0.8s;
      transition: all 0.8s; }
    #editDetailsFormContainer #changeDetailsClose:focus {
      outline: none;
      border-color: transparent;
      -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
              box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }

#changeDetails.success h2 {
  width: 100%;
  display: block;
  padding: 15px 0;
  text-align: center;
  font-weight: 600;
  font-size: 1rem;
  color: #06052f;
  background-color: #06052f; }

#accountPostcodeLookupAddressContainer {
  width: 100%; }

#terms {
  margin: 50px 0 0; }

#deliveryDetailsContainer {
  max-height: 0;
  overflow: hidden;
  -webkit-transition: max-height 0.8s;
  transition: max-height 0.8s; }
  #deliveryDetailsContainer.active {
    max-height: 5000px;
    -webkit-transition: max-height 0.6s;
    transition: max-height 0.6s; }

#deliveryContainer {
  position: relative;
  display: none; }

#deliveryUpgradeContainer {
  width: 100%; }

.validationError {
  width: 100%;
  -webkit-box-pack: center !important;
      -ms-flex-pack: center !important;
          justify-content: center !important;
  font-weight: bold;
  font-size: 0.75rem !important;
  text-align: center;
  color: #b20c0c; }

.delivery-option {
  width: 260px !important; }

.checkout-complete-buttons-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }

#billPostcodeLookupAddressContainer {
  width: 100%; }

.edit.checkoutPopupLink {
  margin-bottom: 15px; }

.checkout-returning-customer-container {
  margin-bottom: 20px;
  border: 1px solid #c8c8c8;
  border-radius: 0;
  background-color: #f3f3f3; }
  .checkout-returning-customer-container p, .checkout-returning-customer-container h2 {
    padding: 0; }
  .checkout-returning-customer-container:hover .content-container:before {
    color: #06052f;
    -webkit-transition: color 0.6s;
    transition: color 0.6s; }
  .checkout-returning-customer-container:hover .quaternary-button:not(:hover) {
    border-color: #c8c8c8; }
  .checkout-returning-customer-container .content-container {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding: 20px 25px;
    text-align: center; }
    @media screen and (min-width: 81.25em) {
      .checkout-returning-customer-container .content-container {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row;
        -webkit-box-pack: start;
            -ms-flex-pack: start;
                justify-content: flex-start;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        text-align: left; } }
    .checkout-returning-customer-container .content-container h2 {
      margin: 0;
      font-size: 1.875rem;
      font-weight: 300;
      line-height: 1;
      color: #06052f; }
      @media screen and (min-width: 81.25em) {
        .checkout-returning-customer-container .content-container h2 {
          margin-right: 15px; } }
    .checkout-returning-customer-container .content-container p {
      margin: 10px 0;
      font-size: 0.875rem;
      font-weight: 400;
      color: #06052f; }
      @media screen and (min-width: 81.25em) {
        .checkout-returning-customer-container .content-container p {
          margin: auto 25px 0 0; } }
    .checkout-returning-customer-container .content-container .quaternary-button:after {
      content: "";
      display: inline-block;
      margin-left: 5px;
      font-family: "fontello-djmiles";
      font-size: 8px;
      color: #ffffff;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
    .checkout-returning-customer-container .content-container .quaternary-button:hover:after {
      color: #ae9461;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }
    .checkout-returning-customer-container .content-container .quaternary-button:active:after {
      color: #06052f; }
    .checkout-returning-customer-container .content-container:before {
      content: "";
      display: block;
      margin: 0 0 10px;
      font-family: "Font Awesome Solid";
      font-size: 32px;
      line-height: 1;
      color: #000d76;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
      @media screen and (min-width: 120em) {
        .checkout-returning-customer-container .content-container:before {
          margin: 0 20px 0 0; } }

.errorContainer.postcodeLookupSelectContainer {
  margin: 0 auto;
  padding: 10px 0;
  text-align: center; }

.delivery-read-only {
  position: relative; }

/*
----- 404 ------ 
- Are you lost? 
*/
.error-not-found-logo {
  width: 200px;
  height: 100px;
  margin-bottom: 52.5px; }
  @media screen and (min-width: 81.25em) {
    .error-not-found-logo {
      margin-bottom: 105px; } }

.error-not-found-container {
  height: 100vh;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #ffffff;
  background-image: url("/template/content/development/images/icons/404.svg");
  background-position: top left;
  background-size: 90px 30px; }

.error-not-found-content-container {
  width: 90vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: auto;
  padding: 20px;
  background-color: rgba(255, 255, 255, 0.8);
  -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.1);
          box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.1); }
  @media screen and (min-width: 81.25em) {
    .error-not-found-content-container {
      width: 800px; } }
  .error-not-found-content-container .cms-content-container h1 {
    margin: 0;
    font-size: 12.5rem;
    font-weight: 700;
    color: #06052f;
    line-height: 1; }
  .error-not-found-content-container .cms-content-container h2 {
    margin: 0 0 30px;
    font-size: 3.75rem;
    font-weight: 700;
    color: #ae9461; }
  .error-not-found-content-container .cms-content-container p {
    margin: 0;
    font-size: 1.5rem;
    font-weight: 700;
    color: #06052f; }
  .error-not-found-content-container .button-container {
    margin: 62.5px 0 0; }
    @media screen and (min-width: 81.25em) {
      .error-not-found-content-container .button-container {
        margin: 125px 0 0; } }

/*
----- Light box  -----
- This get displayed on product pages to display the full resolution product images.
Funtionality this holds:
- Light box active / inactive states.
- The overlay styles.
- Additional Images.
- 360 image support.
- The header that gets generated.
- Video player.
*/
#lightbox-overlay.active {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  display: block;
  background-color: #000000;
  opacity: 0.7;
  z-index: 10000; }

.lightbox {
  visibility: hidden;
  opacity: 0;
  -webkit-transition: all 0.6s;
  transition: all 0.6s; }
  .lightbox.active {
    visibility: visible;
    opacity: 1;
    -webkit-transition: all 0.8s;
    transition: all 0.8s; }
    @media print, screen and (max-width: 39.99875em) {
      .lightbox.active {
        max-height: 50%;
        max-width: 100%; } }

#lightbox-header {
  width: 100%;
  display: block;
  position: relative;
  background-color: #06052f;
  z-index: 5000; }
  #lightbox-header ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin: 0;
    list-style: none; }
  #lightbox-header #lightbox-count {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    text-align: center;
    font-size: 1rem;
    color: #ffffff;
    letter-spacing: 7px; }
    @media print, screen and (min-width: 40em) {
      #lightbox-header #lightbox-count {
        font-size: 1.25rem; } }
  #lightbox-header #lightbox-close-button-container {
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4; }

#lightbox-content-outer-container {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 10000; }

#lightbox-content-inner-container {
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }

.reel-overlay {
  width: auto !important;
  height: auto !important;
  margin: 0 auto; }

.image.lightbox-enabled:before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  display: block;
  padding: 2px 8px;
  background-color: rgba(255, 255, 255, 0.85);
  font-family: "Font Awesome Solid";
  font-size: 22px;
  color: #06052f;
  border-width: 1px 1px 0 0;
  border-style: solid;
  border-color: #e4e4e4;
  -webkit-transition: all 0.8s;
  transition: all 0.8s;
  z-index: 1000; }

.image.lightbox-enabled:hover:before {
  color: #ae9461;
  border-color: #06052f; }

.lightbox #lightbox-close-button-container {
  position: relative;
  margin: auto 15px; }

.lightbox .close-button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 100; }
  .lightbox .close-button:before {
    content: "";
    font-family: "Font Awesome Solid";
    font-size: 24px;
    color: #eeeeee;
    -webkit-transition: color 0.8s, -webkit-transform 0.6s;
    transition: color 0.8s, -webkit-transform 0.6s;
    transition: transform 0.6s, color 0.8s;
    transition: transform 0.6s, color 0.8s, -webkit-transform 0.6s; }
  .lightbox .close-button:hover:before {
    color: #ae9461;
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg);
    -webkit-transition: color 0.6s, -webkit-transform 0.6s;
    transition: color 0.6s, -webkit-transform 0.6s;
    transition: transform 0.6s, color 0.6s;
    transition: transform 0.6s, color 0.6s, -webkit-transform 0.6s; }
  .lightbox .close-button:active:before {
    color: #ffffff;
    -webkit-transition: font-size 1.2s, color 0.6s;
    transition: font-size 1.2s, color 0.6s; }

@media print, screen and (max-width: 99.99875em) {
  .lightbox .reel-overlay {
    max-width: 100%; } }

.lightbox .lightbox-content {
  max-height: calc(100% - var(--lightbox-header-height) - 10px);
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -ms-flex-item-align: start;
      align-self: flex-start;
  margin: 10px 0;
  padding: 0;
  background-color: #ffffff; }
  @media print, screen and (min-width: 40em) {
    .lightbox .lightbox-content {
      max-height: none;
      -webkit-box-orient: unset;
      -webkit-box-direction: unset;
          -ms-flex-direction: unset;
              flex-direction: unset;
      margin-left: 100px; } }
  @media screen and (min-width: 81.25em) {
    .lightbox .lightbox-content {
      margin: 20px 0;
      border-radius: 0 0 0 0; } }
  @media screen and (min-width: 100em) {
    .lightbox .lightbox-content {
      -ms-flex-item-align: auto;
          align-self: auto;
      margin: auto; } }
  .lightbox .lightbox-content .lightBoxSlide {
    display: none; }
    .lightbox .lightbox-content .lightBoxSlide.active {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      width: 100vw;
      max-height: 70vh; }
      @media print, screen and (min-width: 40em) {
        .lightbox .lightbox-content .lightBoxSlide.active {
          max-width: calc(100vw - 100px);
          width: -webkit-fit-content;
          width: -moz-fit-content;
          width: fit-content;
          max-height: 80vh; } }
      @media screen and (min-width: 81.25em) {
        .lightbox .lightbox-content .lightBoxSlide.active {
          width: -webkit-fit-content;
          width: -moz-fit-content;
          width: fit-content;
          max-height: 85vh; } }
      .lightbox .lightbox-content .lightBoxSlide.active.is-video {
        width: 100vw; }
        @media print, screen and (min-width: 40em) {
          .lightbox .lightbox-content .lightBoxSlide.active.is-video {
            width: 60vw; } }
    .lightbox .lightbox-content .lightBoxSlide img, .lightbox .lightbox-content .lightBoxSlide #lightbox-video-player {
      max-height: 100%;
      margin: 0;
      -webkit-user-select: none;
         -moz-user-select: none;
          -ms-user-select: none;
              user-select: none;
      -o-object-fit: contain;
         object-fit: contain; }
  .lightbox .lightbox-content .prev,
  .lightbox .lightbox-content .next {
    width: 25px;
    height: 40px;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    background-color: #ffffff;
    border-style: solid;
    border-color: #06052f;
    cursor: pointer;
    opacity: 0.8;
    -webkit-transition: opacity 0.8s, background-color 0.8s, border-color 0.6s;
    transition: opacity 0.8s, background-color 0.8s, border-color 0.6s; }
    @media screen and (min-width: 81.25em) {
      .lightbox .lightbox-content .prev,
      .lightbox .lightbox-content .next {
        width: 50px;
        height: 70px; } }
    .lightbox .lightbox-content .prev:before,
    .lightbox .lightbox-content .next:before {
      width: 100%;
      height: 100%;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      color: #06052f;
      font-family: "fontello-djmiles";
      font-size: 16px;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
      @media screen and (min-width: 81.25em) {
        .lightbox .lightbox-content .prev:before,
        .lightbox .lightbox-content .next:before {
          font-size: 26px; } }
    .lightbox .lightbox-content .prev:not(.disabled):hover,
    .lightbox .lightbox-content .next:not(.disabled):hover {
      background-color: #ae9461;
      border-color: #ffffff;
      opacity: 1;
      -webkit-transition: background-color 0.6s, border-color 0.6s;
      transition: background-color 0.6s, border-color 0.6s; }
      .lightbox .lightbox-content .prev:not(.disabled):hover:before,
      .lightbox .lightbox-content .next:not(.disabled):hover:before {
        color: #ffffff;
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
    .lightbox .lightbox-content .prev:not(.disabled):active,
    .lightbox .lightbox-content .next:not(.disabled):active {
      background-color: #06052f;
      border-color: #ffffff; }
      .lightbox .lightbox-content .prev:not(.disabled):active:before,
      .lightbox .lightbox-content .next:not(.disabled):active:before {
        color: #ffffff; }
    .lightbox .lightbox-content .prev.disabled,
    .lightbox .lightbox-content .next.disabled {
      opacity: 0.4;
      background: transparent;
      border-color: rgba(200, 200, 200, 0.7);
      -webkit-transition: opacity 0.6s;
      transition: opacity 0.6s;
      cursor: no-drop; }
  .lightbox .lightbox-content .prev {
    left: 0;
    border-radius: 0 5px 5px 0;
    border-width: 2px 2px 2px 0; }
    .lightbox .lightbox-content .prev:before {
      content: ""; }
  .lightbox .lightbox-content .next {
    right: 0;
    border-radius: 5px 0 0 5px;
    border-width: 2px 0 2px 2px; }
    .lightbox .lightbox-content .next:before {
      content: ""; }

.lightbox .slidesContainer {
  -webkit-box-shadow: -20px 6px 60px -13px #000000;
          box-shadow: -20px 6px 60px -13px #000000; }

.lightbox #lightboxPagerContainer {
  height: auto;
  margin: 0;
  padding: 0;
  overflow-y: hidden;
  list-style: none; }
  @media screen and (min-width: 81.25em) {
    .lightbox #lightboxPagerContainer {
      width: auto;
      border-radius: 0 0 0 0; } }
  .lightbox #lightboxPagerContainer.disabled {
    display: none; }
  .lightbox #lightboxPagerContainer.vertical {
    height: 100%;
    position: absolute;
    top: 0;
    right: 100%;
    background-color: #ffffff; }
    .lightbox #lightboxPagerContainer.vertical li {
      padding-right: 5px; }
      .lightbox #lightboxPagerContainer.vertical li.active img {
        opacity: 0.4; }
    .lightbox #lightboxPagerContainer.vertical .ps__rail-y {
      width: 10px;
      position: absolute;
      left: 0;
      background: rgba(255, 255, 255, 0.5);
      z-index: 10; }
      .lightbox #lightboxPagerContainer.vertical .ps__rail-y .ps__thumb-y {
        width: 10px;
        position: absolute;
        background-color: rgba(6, 5, 47, 0.7); }
    .lightbox #lightboxPagerContainer.vertical .ps__rail-x {
      display: none; }
  .lightbox #lightboxPagerContainer.horizontal {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    right: 0;
    bottom: 0;
    left: 0;
    overflow: hidden; }
    @media print, screen and (min-width: 40em) {
      .lightbox #lightboxPagerContainer.horizontal {
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center; } }
    .lightbox #lightboxPagerContainer.horizontal li {
      position: relative;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
      @media print, screen and (min-width: 40em) {
        .lightbox #lightboxPagerContainer.horizontal li {
          -webkit-box-flex: inherit;
              -ms-flex: inherit;
                  flex: inherit; } }
      .lightbox #lightboxPagerContainer.horizontal li.active {
        background-color: #ffffff; }
        .lightbox #lightboxPagerContainer.horizontal li.active img {
          opacity: 0.4; }
    .lightbox #lightboxPagerContainer.horizontal .ps__rail-y {
      display: none; }
    .lightbox #lightboxPagerContainer.horizontal .ps__rail-x {
      width: 100%;
      height: 10px;
      position: absolute;
      top: auto !important;
      right: 0;
      bottom: 0;
      left: 0;
      margin: auto;
      background: rgba(255, 255, 255, 0.5);
      z-index: 10; }
      .lightbox #lightboxPagerContainer.horizontal .ps__rail-x .ps__thumb-x {
        height: 10px;
        position: absolute;
        background-color: rgba(6, 5, 47, 0.7); }

.lightbox-pager-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #ffffff;
  cursor: pointer; }
  @media print, screen and (min-width: 40em) {
    .lightbox-pager-item {
      width: 100px; } }
  @media screen and (min-width: 81.25em) {
    .lightbox-pager-item {
      width: 170px; } }
  .lightbox-pager-item img {
    max-height: 100%; }
    @media screen and (min-width: 81.25em) {
      .lightbox-pager-item img {
        max-width: 25vw;
        max-height: 20vh; } }
  .lightbox-pager-item.active {
    cursor: default; }
  @media screen and (min-width: 81.25em) {
    .lightbox-pager-item.is-video {
      width: auto; } }
  .lightbox-pager-item.is-video img {
    height: 50px;
    margin: 10px; }
    @media screen and (min-width: 81.25em) {
      .lightbox-pager-item.is-video img {
        height: auto;
        margin: 20px; } }
  .lightbox-pager-item.image-360 {
    position: relative; }
    .lightbox-pager-item.image-360:hover:after {
      display: none; }
    .lightbox-pager-item.image-360:after {
      content: '';
      max-width: 55px;
      max-height: 55px;
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      margin: auto;
      display: block;
      background-color: rgba(0, 0, 0, 0.2);
      background-image: url("/template/content/development/images/icons/3dicon.svg");
      background-repeat: no-repeat;
      background-position: center;
      background-size: 80%;
      border-radius: 12.5px;
      border: 2px solid rgba(218, 218, 218, 0.2); }

.lightbox-background {
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  background-color: rgba(174, 174, 174, 0.3); }

#lightbox-video-player {
  width: 100%;
  height: 100%;
  aspect-ratio: 16/9; }

/*
----- Magnifier ----- 
This is primarily used on the product page when you hover over the main image.
*/
.img-magnifier-container {
  position: relative; }

.img-magnifier-glass {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  cursor: crosshair; }

.product-enquiry-main-image.magnification-container.image:hover:before {
  padding: 2px 4px;
  font-size: 11px; }

.image-magnification {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #ffffff;
  visibility: hidden; }
  .image-magnification.active {
    visibility: visible; }
  .image-magnification .magnifying-glass {
    width: 100%;
    height: 100%;
    display: block;
    margin: auto;
    background-repeat: no-repeat;
    z-index: 1;
    cursor: crosshair; }

.magnifier-controls-container {
  position: absolute;
  bottom: 0;
  right: 0; }
  .magnifier-controls-container .magnifier-control {
    display: block;
    padding: 20px;
    border: 1px solid #06052f;
    cursor: pointer; }
    .magnifier-controls-container .magnifier-control:before {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      font-family: "Font Awesome Solid";
      font-size: 30px;
      color: #06052f;
      line-height: 0; }
    .magnifier-controls-container .magnifier-control.de-increment:before {
      content: ""; }
    .magnifier-controls-container .magnifier-control.increment:before {
      content: ""; }

/*
----- bxSlider ( Carousels ) ------ 
- https://bxslider.com/
- This handles all the display styles for carousels / slideshows around express this can be in a module or additional images on the product page, the content is not restricted to just images but can extend to display product / ebg's. 
*/
.carousel {
  width: 100%;
  position: relative;
  --module-gutter: 10px; }
  .carousel.bx-underline .collection-item .content-container {
    border-width: 0;
    border-style: solid;
    border-color: #dadada;
    -webkit-transition: border-color 0.8s;
    transition: border-color 0.8s; }
    .carousel.bx-underline .collection-item .content-container:hover {
      border-color: #06052f;
      -webkit-transition: border-color 0.6s;
      transition: border-color 0.6s; }
  .carousel.bx-shadow .collection-item .content-container {
    height: 100%;
    position: relative;
    margin: auto;
    -webkit-transition: -webkit-box-shadow 0.8s;
    transition: -webkit-box-shadow 0.8s;
    transition: box-shadow 0.8s;
    transition: box-shadow 0.8s, -webkit-box-shadow 0.8s; }
    .carousel.bx-shadow .collection-item .content-container:hover {
      -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
              box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
      -webkit-transition: -webkit-box-shadow 0.6s;
      transition: -webkit-box-shadow 0.6s;
      transition: box-shadow 0.6s;
      transition: box-shadow 0.6s, -webkit-box-shadow 0.6s; }
  .carousel.transition-mode-horizontal .collection-item {
    height: 100%; }
  .carousel.transition-mode-horizonal .bx-viewport, .carousel.transition-mode-fade .bx-viewport {
    overflow-y: visible !important;
    overflow-x: clip !important; }
  @media print, screen and (min-width: 40em) {
    .carousel {
      --module-gutter: 15px; } }
  @media screen and (min-width: 81.25em) {
    .carousel {
      --module-gutter: 15px; } }

[data-bxSlider]:not(.minified-layout) .collection-item:not(.ebg) .content-container:not(.image):not(.compact) > a:first-child, .product-carousel-module:not(.minified-layout) .collection-item:not(.ebg) .content-container:not(.image):not(.compact) > a:first-child, .cms-carousel-module:not(.minified-layout) .collection-item:not(.ebg) .content-container:not(.image):not(.compact) > a:first-child {
  position: relative; }
  [data-bxSlider]:not(.minified-layout) .collection-item:not(.ebg) .content-container:not(.image):not(.compact) > a:first-child:after, .product-carousel-module:not(.minified-layout) .collection-item:not(.ebg) .content-container:not(.image):not(.compact) > a:first-child:after, .cms-carousel-module:not(.minified-layout) .collection-item:not(.ebg) .content-container:not(.image):not(.compact) > a:first-child:after {
    content: '';
    width: 100%;
    height: 1px;
    position: absolute;
    top: 100%;
    bottom: 20px;
    left: 0;
    background-color: #c8c8c8;
    display: block; }
  [data-bxSlider]:not(.minified-layout) .collection-item:not(.ebg) .content-container:not(.image):not(.compact) > a:first-child .image, .product-carousel-module:not(.minified-layout) .collection-item:not(.ebg) .content-container:not(.image):not(.compact) > a:first-child .image, .cms-carousel-module:not(.minified-layout) .collection-item:not(.ebg) .content-container:not(.image):not(.compact) > a:first-child .image {
    margin-bottom: 35px; }

[data-bxSlider].multimedia-right .collection-item.ebg .content-container a:first-child, .product-carousel-module.multimedia-right .collection-item.ebg .content-container a:first-child, .cms-carousel-module.multimedia-right .collection-item.ebg .content-container a:first-child {
  grid-row: 1; }

@media screen and (min-width: 81.25em) {
  [data-bxSlider].multimedia-right .collection-item.ebg .content-container a.description, .product-carousel-module.multimedia-right .collection-item.ebg .content-container a.description, .cms-carousel-module.multimedia-right .collection-item.ebg .content-container a.description {
    grid-row: 1; } }

@media screen and (min-width: 81.25em) {
  [data-bxSlider].multimedia-right .content-container [data-content-container], .product-carousel-module.multimedia-right .content-container [data-content-container], .cms-carousel-module.multimedia-right .content-container [data-content-container] {
    grid-row: 1 / span 4; } }

@media screen and (min-width: 81.25em) {
  [data-bxSlider].multimedia-right .content-container a:first-child, .product-carousel-module.multimedia-right .content-container a:first-child, .cms-carousel-module.multimedia-right .content-container a:first-child {
    grid-column: 2;
    grid-row: 1 / span 4; } }

@media screen and (min-width: 81.25em) {
  [data-bxSlider].multimedia-right .content-container a:nth-child(2), .product-carousel-module.multimedia-right .content-container a:nth-child(2), .cms-carousel-module.multimedia-right .content-container a:nth-child(2) {
    grid-column: 1; } }

@media screen and (min-width: 81.25em) {
  [data-bxSlider].multimedia-right .content-container a:nth-child(3), .product-carousel-module.multimedia-right .content-container a:nth-child(3), .cms-carousel-module.multimedia-right .content-container a:nth-child(3) {
    grid-column: 1; } }

@media screen and (min-width: 81.25em) {
  [data-bxSlider].multimedia-right .content-container a:nth-child(4), .product-carousel-module.multimedia-right .content-container a:nth-child(4), .cms-carousel-module.multimedia-right .content-container a:nth-child(4) {
    grid-column: 1; } }

@media screen and (min-width: 81.25em) {
  [data-bxSlider].multimedia-right .content-container a:nth-child(5), .product-carousel-module.multimedia-right .content-container a:nth-child(5), .cms-carousel-module.multimedia-right .content-container a:nth-child(5) {
    grid-column: 1; } }

@media screen and (min-width: 81.25em) {
  [data-bxSlider].multimedia-right .content-container .stock-indicator, .product-carousel-module.multimedia-right .content-container .stock-indicator, .cms-carousel-module.multimedia-right .content-container .stock-indicator {
    grid-column: 1; } }

@media screen and (min-width: 81.25em) {
  [data-bxSlider].multimedia-right .content-container .quantity-container, .product-carousel-module.multimedia-right .content-container .quantity-container, .cms-carousel-module.multimedia-right .content-container .quantity-container {
    grid-column: 1 / span 2; } }

@media screen and (min-width: 81.25em) {
  [data-bxSlider].multimedia-right .content-container .unit-of-measure, .product-carousel-module.multimedia-right .content-container .unit-of-measure, .cms-carousel-module.multimedia-right .content-container .unit-of-measure {
    grid-column: 1; } }

@media screen and (min-width: 81.25em) {
  [data-bxSlider].multimedia-right .content-container .not-logged-in-container, [data-bxSlider].multimedia-right .content-container .stockline-view-button, [data-bxSlider].multimedia-right .content-container .enquiry-button-container, .product-carousel-module.multimedia-right .content-container .not-logged-in-container, .product-carousel-module.multimedia-right .content-container .stockline-view-button, .product-carousel-module.multimedia-right .content-container .enquiry-button-container, .cms-carousel-module.multimedia-right .content-container .not-logged-in-container, .cms-carousel-module.multimedia-right .content-container .stockline-view-button, .cms-carousel-module.multimedia-right .content-container .enquiry-button-container {
    grid-column: 1 / span 2; } }

[data-bxSlider].multimedia-right .collection-item.ebg .content-container .description, .product-carousel-module.multimedia-right .collection-item.ebg .content-container .description, .cms-carousel-module.multimedia-right .collection-item.ebg .content-container .description {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 20px 17.5px; }
  @media screen and (min-width: 81.25em) {
    [data-bxSlider].multimedia-right .collection-item.ebg .content-container .description, .product-carousel-module.multimedia-right .collection-item.ebg .content-container .description, .cms-carousel-module.multimedia-right .collection-item.ebg .content-container .description {
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start;
      text-align: left; } }

[data-bxSlider].multimedia-right .collection-item.ebg .content-container .price, .product-carousel-module.multimedia-right .collection-item.ebg .content-container .price, .cms-carousel-module.multimedia-right .collection-item.ebg .content-container .price {
  display: none; }

[data-bxSlider].multimedia-right .collection-item .content-container, .product-carousel-module.multimedia-right .collection-item .content-container, .cms-carousel-module.multimedia-right .collection-item .content-container {
  padding: 10px;
  gap: 10px 0; }
  [data-bxSlider].multimedia-right .collection-item .content-container:hover, .product-carousel-module.multimedia-right .collection-item .content-container:hover, .cms-carousel-module.multimedia-right .collection-item .content-container:hover {
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
    -webkit-transition: -webkit-box-shadow 0.6s;
    transition: -webkit-box-shadow 0.6s;
    transition: box-shadow 0.6s;
    transition: box-shadow 0.6s, -webkit-box-shadow 0.6s; }
  @media print, screen and (min-width: 40em) {
    [data-bxSlider].multimedia-right .collection-item .content-container, .product-carousel-module.multimedia-right .collection-item .content-container, .cms-carousel-module.multimedia-right .collection-item .content-container {
      padding: 5px; } }
  @media screen and (min-width: 81.25em) {
    [data-bxSlider].multimedia-right .collection-item .content-container, .product-carousel-module.multimedia-right .collection-item .content-container, .cms-carousel-module.multimedia-right .collection-item .content-container {
      display: grid;
      grid-template-columns: calc(60% - 10px) calc(40% - 10px);
      grid-gap: 0 20px;
      -webkit-box-flex: 1;
          -ms-flex-positive: 1;
              flex-grow: 1;
      padding: 5px; } }
  [data-bxSlider].multimedia-right .collection-item .content-container > a:first-child, .product-carousel-module.multimedia-right .collection-item .content-container > a:first-child, .cms-carousel-module.multimedia-right .collection-item .content-container > a:first-child {
    -ms-flex-item-align: start;
        align-self: start; }
  [data-bxSlider].multimedia-right .collection-item .content-container.product:has(span.image) > a:nth-child(2), .product-carousel-module.multimedia-right .collection-item .content-container.product:has(span.image) > a:nth-child(2), .cms-carousel-module.multimedia-right .collection-item .content-container.product:has(span.image) > a:nth-child(2) {
    padding-top: 10px; }
  [data-bxSlider].multimedia-right .collection-item .content-container.product .description, .product-carousel-module.multimedia-right .collection-item .content-container.product .description, .cms-carousel-module.multimedia-right .collection-item .content-container.product .description {
    padding-top: 0;
    padding-bottom: 0; }
  [data-bxSlider].multimedia-right .collection-item .content-container .callbackContainer, .product-carousel-module.multimedia-right .collection-item .content-container .callbackContainer, .cms-carousel-module.multimedia-right .collection-item .content-container .callbackContainer {
    grid-column: 2;
    margin-top: 10px; }
  [data-bxSlider].multimedia-right .collection-item .content-container p, .product-carousel-module.multimedia-right .collection-item .content-container p, .cms-carousel-module.multimedia-right .collection-item .content-container p {
    margin: 0; }
  [data-bxSlider].multimedia-right .collection-item .content-container .group-description, .product-carousel-module.multimedia-right .collection-item .content-container .group-description, .cms-carousel-module.multimedia-right .collection-item .content-container .group-description {
    padding-top: 0;
    padding-bottom: 0; }
  [data-bxSlider].multimedia-right .collection-item .content-container .image, .product-carousel-module.multimedia-right .collection-item .content-container .image, .cms-carousel-module.multimedia-right .collection-item .content-container .image {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    margin: 0; }
    @media screen and (min-width: 81.25em) {
      [data-bxSlider].multimedia-right .collection-item .content-container .image, .product-carousel-module.multimedia-right .collection-item .content-container .image, .cms-carousel-module.multimedia-right .collection-item .content-container .image {
        -webkit-box-align: start;
            -ms-flex-align: start;
                align-items: flex-start; } }
    [data-bxSlider].multimedia-right .collection-item .content-container .image img, .product-carousel-module.multimedia-right .collection-item .content-container .image img, .cms-carousel-module.multimedia-right .collection-item .content-container .image img {
      margin: 0; }
  [data-bxSlider].multimedia-right .collection-item .content-container .description, [data-bxSlider].multimedia-right .collection-item .content-container .code, [data-bxSlider].multimedia-right .collection-item .content-container .prices, [data-bxSlider].multimedia-right .collection-item .content-container .stock-indicator, .product-carousel-module.multimedia-right .collection-item .content-container .description, .product-carousel-module.multimedia-right .collection-item .content-container .code, .product-carousel-module.multimedia-right .collection-item .content-container .prices, .product-carousel-module.multimedia-right .collection-item .content-container .stock-indicator, .cms-carousel-module.multimedia-right .collection-item .content-container .description, .cms-carousel-module.multimedia-right .collection-item .content-container .code, .cms-carousel-module.multimedia-right .collection-item .content-container .prices, .cms-carousel-module.multimedia-right .collection-item .content-container .stock-indicator {
    padding-top: 10px;
    padding-right: 0;
    padding-bottom: 10px;
    padding-left: 0; }
  [data-bxSlider].multimedia-right .collection-item .content-container form, .product-carousel-module.multimedia-right .collection-item .content-container form, .cms-carousel-module.multimedia-right .collection-item .content-container form {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-flow: row wrap;
            flex-flow: row wrap; }
    @media screen and (min-width: 81.25em) {
      [data-bxSlider].multimedia-right .collection-item .content-container form, .product-carousel-module.multimedia-right .collection-item .content-container form, .cms-carousel-module.multimedia-right .collection-item .content-container form {
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center; } }
  [data-bxSlider].multimedia-right .collection-item .content-container [data-content-container], .product-carousel-module.multimedia-right .collection-item .content-container [data-content-container], .cms-carousel-module.multimedia-right .collection-item .content-container [data-content-container] {
    height: 125px; }
    @media screen and (min-width: 81.25em) {
      [data-bxSlider].multimedia-right .collection-item .content-container [data-content-container], .product-carousel-module.multimedia-right .collection-item .content-container [data-content-container], .cms-carousel-module.multimedia-right .collection-item .content-container [data-content-container] {
        height: auto; } }
  [data-bxSlider].multimedia-right .collection-item .content-container .read-more-content, .product-carousel-module.multimedia-right .collection-item .content-container .read-more-content, .cms-carousel-module.multimedia-right .collection-item .content-container .read-more-content {
    height: 100%; }
  [data-bxSlider].multimedia-right .collection-item .content-container .not-logged-in-container, [data-bxSlider].multimedia-right .collection-item .content-container .stockline-view-button, [data-bxSlider].multimedia-right .collection-item .content-container .enquiry-button-container, .product-carousel-module.multimedia-right .collection-item .content-container .not-logged-in-container, .product-carousel-module.multimedia-right .collection-item .content-container .stockline-view-button, .product-carousel-module.multimedia-right .collection-item .content-container .enquiry-button-container, .cms-carousel-module.multimedia-right .collection-item .content-container .not-logged-in-container, .cms-carousel-module.multimedia-right .collection-item .content-container .stockline-view-button, .cms-carousel-module.multimedia-right .collection-item .content-container .enquiry-button-container {
    margin-right: auto;
    margin-left: auto; }
    @media screen and (min-width: 81.25em) {
      [data-bxSlider].multimedia-right .collection-item .content-container .not-logged-in-container, [data-bxSlider].multimedia-right .collection-item .content-container .stockline-view-button, [data-bxSlider].multimedia-right .collection-item .content-container .enquiry-button-container, .product-carousel-module.multimedia-right .collection-item .content-container .not-logged-in-container, .product-carousel-module.multimedia-right .collection-item .content-container .stockline-view-button, .product-carousel-module.multimedia-right .collection-item .content-container .enquiry-button-container, .cms-carousel-module.multimedia-right .collection-item .content-container .not-logged-in-container, .cms-carousel-module.multimedia-right .collection-item .content-container .stockline-view-button, .cms-carousel-module.multimedia-right .collection-item .content-container .enquiry-button-container {
        width: 76%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: end;
            -ms-flex-align: end;
                align-items: flex-end; } }

[data-bxSlider].multimedia-left .collection-item.ebg .content-container a:first-child, .product-carousel-module.multimedia-left .collection-item.ebg .content-container a:first-child, .cms-carousel-module.multimedia-left .collection-item.ebg .content-container a:first-child {
  grid-row: 1; }

@media screen and (min-width: 81.25em) {
  [data-bxSlider].multimedia-left .collection-item.ebg .content-container a.description, .product-carousel-module.multimedia-left .collection-item.ebg .content-container a.description, .cms-carousel-module.multimedia-left .collection-item.ebg .content-container a.description {
    grid-row: 1; } }

@media screen and (min-width: 81.25em) {
  [data-bxSlider].multimedia-left .content-container [data-content-container], .product-carousel-module.multimedia-left .content-container [data-content-container], .cms-carousel-module.multimedia-left .content-container [data-content-container] {
    grid-row: 1 / span 4; } }

@media screen and (min-width: 81.25em) {
  [data-bxSlider].multimedia-left .content-container a:first-child, .product-carousel-module.multimedia-left .content-container a:first-child, .cms-carousel-module.multimedia-left .content-container a:first-child {
    grid-column: 1;
    grid-row: 1 / span 4; } }

@media screen and (min-width: 81.25em) {
  [data-bxSlider].multimedia-left .content-container a:nth-child(2), .product-carousel-module.multimedia-left .content-container a:nth-child(2), .cms-carousel-module.multimedia-left .content-container a:nth-child(2) {
    grid-column: 2; } }

@media screen and (min-width: 81.25em) {
  [data-bxSlider].multimedia-left .content-container a:nth-child(3), .product-carousel-module.multimedia-left .content-container a:nth-child(3), .cms-carousel-module.multimedia-left .content-container a:nth-child(3) {
    grid-column: 2; } }

@media screen and (min-width: 81.25em) {
  [data-bxSlider].multimedia-left .content-container a:nth-child(4), .product-carousel-module.multimedia-left .content-container a:nth-child(4), .cms-carousel-module.multimedia-left .content-container a:nth-child(4) {
    grid-column: 2; } }

@media screen and (min-width: 81.25em) {
  [data-bxSlider].multimedia-left .content-container a:nth-child(5), .product-carousel-module.multimedia-left .content-container a:nth-child(5), .cms-carousel-module.multimedia-left .content-container a:nth-child(5) {
    grid-column: 2; } }

@media screen and (min-width: 81.25em) {
  [data-bxSlider].multimedia-left .content-container .stock-indicator, .product-carousel-module.multimedia-left .content-container .stock-indicator, .cms-carousel-module.multimedia-left .content-container .stock-indicator {
    grid-column: 2; } }

@media screen and (min-width: 81.25em) {
  [data-bxSlider].multimedia-left .content-container .quantity-container, .product-carousel-module.multimedia-left .content-container .quantity-container, .cms-carousel-module.multimedia-left .content-container .quantity-container {
    grid-column: 1 / span 2; } }

@media screen and (min-width: 81.25em) {
  [data-bxSlider].multimedia-left .content-container .unit-of-measure, .product-carousel-module.multimedia-left .content-container .unit-of-measure, .cms-carousel-module.multimedia-left .content-container .unit-of-measure {
    grid-column: 2; } }

@media screen and (min-width: 81.25em) {
  [data-bxSlider].multimedia-left .content-container .not-logged-in-container, [data-bxSlider].multimedia-left .content-container .stockline-view-button, [data-bxSlider].multimedia-left .content-container .enquiry-button-container, .product-carousel-module.multimedia-left .content-container .not-logged-in-container, .product-carousel-module.multimedia-left .content-container .stockline-view-button, .product-carousel-module.multimedia-left .content-container .enquiry-button-container, .cms-carousel-module.multimedia-left .content-container .not-logged-in-container, .cms-carousel-module.multimedia-left .content-container .stockline-view-button, .cms-carousel-module.multimedia-left .content-container .enquiry-button-container {
    grid-column: 1 / span 2; } }

[data-bxSlider].multimedia-left .collection-item.ebg .description, .product-carousel-module.multimedia-left .collection-item.ebg .description, .cms-carousel-module.multimedia-left .collection-item.ebg .description {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 20px 17.5px; }
  @media screen and (min-width: 81.25em) {
    [data-bxSlider].multimedia-left .collection-item.ebg .description, .product-carousel-module.multimedia-left .collection-item.ebg .description, .cms-carousel-module.multimedia-left .collection-item.ebg .description {
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start;
      text-align: left; } }

[data-bxSlider].multimedia-left .collection-item.ebg .price, .product-carousel-module.multimedia-left .collection-item.ebg .price, .cms-carousel-module.multimedia-left .collection-item.ebg .price {
  display: none; }

[data-bxSlider].multimedia-left .content-container, .product-carousel-module.multimedia-left .content-container, .cms-carousel-module.multimedia-left .content-container {
  gap: 10px 0; }
  @media print, screen and (min-width: 40em) {
    [data-bxSlider].multimedia-left .content-container, .product-carousel-module.multimedia-left .content-container, .cms-carousel-module.multimedia-left .content-container {
      padding: 5px; } }
  @media screen and (min-width: 81.25em) {
    [data-bxSlider].multimedia-left .content-container, .product-carousel-module.multimedia-left .content-container, .cms-carousel-module.multimedia-left .content-container {
      display: grid;
      grid-template-columns: calc(40% - 10px) calc(60% - 10px);
      grid-gap: 0 20px;
      -webkit-box-flex: 1;
          -ms-flex-positive: 1;
              flex-grow: 1; } }
  [data-bxSlider].multimedia-left .content-container > a:first-child, .product-carousel-module.multimedia-left .content-container > a:first-child, .cms-carousel-module.multimedia-left .content-container > a:first-child {
    -ms-flex-item-align: start;
        align-self: start; }
  [data-bxSlider].multimedia-left .content-container.product:has(span.image) > a:nth-child(2), .product-carousel-module.multimedia-left .content-container.product:has(span.image) > a:nth-child(2), .cms-carousel-module.multimedia-left .content-container.product:has(span.image) > a:nth-child(2) {
    padding-top: 10px; }
  [data-bxSlider].multimedia-left .content-container.product .description, .product-carousel-module.multimedia-left .content-container.product .description, .cms-carousel-module.multimedia-left .content-container.product .description {
    padding-top: 0;
    padding-bottom: 0; }
  [data-bxSlider].multimedia-left .content-container .callbackContainer, .product-carousel-module.multimedia-left .content-container .callbackContainer, .cms-carousel-module.multimedia-left .content-container .callbackContainer {
    grid-column: 2;
    margin-top: 10px; }
  [data-bxSlider].multimedia-left .content-container p, .product-carousel-module.multimedia-left .content-container p, .cms-carousel-module.multimedia-left .content-container p {
    margin: 0; }
  [data-bxSlider].multimedia-left .content-container .group-description, .product-carousel-module.multimedia-left .content-container .group-description, .cms-carousel-module.multimedia-left .content-container .group-description {
    padding-top: 0;
    padding-bottom: 0; }
  [data-bxSlider].multimedia-left .content-container .description, .product-carousel-module.multimedia-left .content-container .description, .cms-carousel-module.multimedia-left .content-container .description {
    text-align: left; }
  [data-bxSlider].multimedia-left .content-container .image, .product-carousel-module.multimedia-left .content-container .image, .cms-carousel-module.multimedia-left .content-container .image {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    margin: 0; }
    @media screen and (min-width: 81.25em) {
      [data-bxSlider].multimedia-left .content-container .image, .product-carousel-module.multimedia-left .content-container .image, .cms-carousel-module.multimedia-left .content-container .image {
        -webkit-box-align: start;
            -ms-flex-align: start;
                align-items: flex-start; } }
    [data-bxSlider].multimedia-left .content-container .image img, .product-carousel-module.multimedia-left .content-container .image img, .cms-carousel-module.multimedia-left .content-container .image img {
      margin: 0; }
  [data-bxSlider].multimedia-left .content-container .code, .product-carousel-module.multimedia-left .content-container .code, .cms-carousel-module.multimedia-left .content-container .code {
    padding-right: 10px;
    padding-left: 10px;
    text-align: left; }
  [data-bxSlider].multimedia-left .content-container .prices, .product-carousel-module.multimedia-left .content-container .prices, .cms-carousel-module.multimedia-left .content-container .prices {
    padding-right: 10px;
    padding-left: 10px; }
    [data-bxSlider].multimedia-left .content-container .prices .price-container, .product-carousel-module.multimedia-left .content-container .prices .price-container, .cms-carousel-module.multimedia-left .content-container .prices .price-container {
      text-align: left;
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start; }
  [data-bxSlider].multimedia-left .content-container .stock-indicator, .product-carousel-module.multimedia-left .content-container .stock-indicator, .cms-carousel-module.multimedia-left .content-container .stock-indicator {
    margin-top: auto;
    padding: 0 10px;
    text-align: left; }
  [data-bxSlider].multimedia-left .content-container form, .product-carousel-module.multimedia-left .content-container form, .cms-carousel-module.multimedia-left .content-container form {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-flow: row wrap;
            flex-flow: row wrap; }
    @media screen and (min-width: 81.25em) {
      [data-bxSlider].multimedia-left .content-container form, .product-carousel-module.multimedia-left .content-container form, .cms-carousel-module.multimedia-left .content-container form {
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center; } }
  [data-bxSlider].multimedia-left .content-container .not-logged-in-container, [data-bxSlider].multimedia-left .content-container .stockline-view-button, [data-bxSlider].multimedia-left .content-container .enquiry-button-container, .product-carousel-module.multimedia-left .content-container .not-logged-in-container, .product-carousel-module.multimedia-left .content-container .stockline-view-button, .product-carousel-module.multimedia-left .content-container .enquiry-button-container, .cms-carousel-module.multimedia-left .content-container .not-logged-in-container, .cms-carousel-module.multimedia-left .content-container .stockline-view-button, .cms-carousel-module.multimedia-left .content-container .enquiry-button-container {
    margin-right: auto;
    margin-left: auto; }
    @media screen and (min-width: 81.25em) {
      [data-bxSlider].multimedia-left .content-container .not-logged-in-container, [data-bxSlider].multimedia-left .content-container .stockline-view-button, [data-bxSlider].multimedia-left .content-container .enquiry-button-container, .product-carousel-module.multimedia-left .content-container .not-logged-in-container, .product-carousel-module.multimedia-left .content-container .stockline-view-button, .product-carousel-module.multimedia-left .content-container .enquiry-button-container, .cms-carousel-module.multimedia-left .content-container .not-logged-in-container, .cms-carousel-module.multimedia-left .content-container .stockline-view-button, .cms-carousel-module.multimedia-left .content-container .enquiry-button-container {
        width: 76%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: end;
            -ms-flex-align: end;
                align-items: flex-end; } }
  [data-bxSlider].multimedia-left .content-container [data-content-container], .product-carousel-module.multimedia-left .content-container [data-content-container], .cms-carousel-module.multimedia-left .content-container [data-content-container] {
    height: 125px; }
    @media screen and (min-width: 81.25em) {
      [data-bxSlider].multimedia-left .content-container [data-content-container], .product-carousel-module.multimedia-left .content-container [data-content-container], .cms-carousel-module.multimedia-left .content-container [data-content-container] {
        height: auto; } }
  [data-bxSlider].multimedia-left .content-container .read-more-content, .product-carousel-module.multimedia-left .content-container .read-more-content, .cms-carousel-module.multimedia-left .content-container .read-more-content {
    height: 100%; }

[data-bxSlider].multimedia-bottom .content-container > a:first-of-type, .product-carousel-module.multimedia-bottom .content-container > a:first-of-type, .cms-carousel-module.multimedia-bottom .content-container > a:first-of-type {
  padding-top: 10px;
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1; }

[data-bxSlider].multimedia-bottom .image, .product-carousel-module.multimedia-bottom .image, .cms-carousel-module.multimedia-bottom .image {
  margin: 0; }

[data-bxSlider].minified-layout .collection-item.ebg .content-container a:first-child, .product-carousel-module.minified-layout .collection-item.ebg .content-container a:first-child, .cms-carousel-module.minified-layout .collection-item.ebg .content-container a:first-child {
  grid-row: 1; }

@media screen and (min-width: 81.25em) {
  [data-bxSlider].minified-layout .collection-item.ebg .content-container a.description, .product-carousel-module.minified-layout .collection-item.ebg .content-container a.description, .cms-carousel-module.minified-layout .collection-item.ebg .content-container a.description {
    grid-row: 1; } }

@media screen and (min-width: 81.25em) {
  [data-bxSlider].minified-layout .content-container [data-content-container], .product-carousel-module.minified-layout .content-container [data-content-container], .cms-carousel-module.minified-layout .content-container [data-content-container] {
    grid-row: 1 / span 4; } }

@media screen and (min-width: 81.25em) {
  [data-bxSlider].minified-layout .content-container a:first-child, .product-carousel-module.minified-layout .content-container a:first-child, .cms-carousel-module.minified-layout .content-container a:first-child {
    grid-column: 1;
    grid-row: 1 / span 4; } }

@media screen and (min-width: 81.25em) {
  [data-bxSlider].minified-layout .content-container a:nth-child(2), .product-carousel-module.minified-layout .content-container a:nth-child(2), .cms-carousel-module.minified-layout .content-container a:nth-child(2) {
    grid-column: 2; } }

@media screen and (min-width: 81.25em) {
  [data-bxSlider].minified-layout .content-container a:nth-child(3), .product-carousel-module.minified-layout .content-container a:nth-child(3), .cms-carousel-module.minified-layout .content-container a:nth-child(3) {
    grid-column: 2; } }

@media screen and (min-width: 81.25em) {
  [data-bxSlider].minified-layout .content-container a:nth-child(4), .product-carousel-module.minified-layout .content-container a:nth-child(4), .cms-carousel-module.minified-layout .content-container a:nth-child(4) {
    grid-column: 2; } }

@media screen and (min-width: 81.25em) {
  [data-bxSlider].minified-layout .content-container a:nth-child(5), .product-carousel-module.minified-layout .content-container a:nth-child(5), .cms-carousel-module.minified-layout .content-container a:nth-child(5) {
    grid-column: 2; } }

@media screen and (min-width: 81.25em) {
  [data-bxSlider].minified-layout .content-container .stock-indicator, .product-carousel-module.minified-layout .content-container .stock-indicator, .cms-carousel-module.minified-layout .content-container .stock-indicator {
    grid-column: 2; } }

@media screen and (min-width: 81.25em) {
  [data-bxSlider].minified-layout .content-container .quantity-container, .product-carousel-module.minified-layout .content-container .quantity-container, .cms-carousel-module.minified-layout .content-container .quantity-container {
    grid-column: 1 / span 2; } }

@media screen and (min-width: 81.25em) {
  [data-bxSlider].minified-layout .content-container .unit-of-measure, .product-carousel-module.minified-layout .content-container .unit-of-measure, .cms-carousel-module.minified-layout .content-container .unit-of-measure {
    grid-column: 2; } }

@media screen and (min-width: 81.25em) {
  [data-bxSlider].minified-layout .content-container .not-logged-in-container, [data-bxSlider].minified-layout .content-container .stockline-view-button, [data-bxSlider].minified-layout .content-container .enquiry-button-container, .product-carousel-module.minified-layout .content-container .not-logged-in-container, .product-carousel-module.minified-layout .content-container .stockline-view-button, .product-carousel-module.minified-layout .content-container .enquiry-button-container, .cms-carousel-module.minified-layout .content-container .not-logged-in-container, .cms-carousel-module.minified-layout .content-container .stockline-view-button, .cms-carousel-module.minified-layout .content-container .enquiry-button-container {
    grid-column: 1 / span 2; } }

[data-bxSlider].minified-layout .content-container.product, .product-carousel-module.minified-layout .content-container.product, .cms-carousel-module.minified-layout .content-container.product {
  padding: 5px; }

@media screen and (min-width: 81.25em) {
  [data-bxSlider].minified-layout .content-container, .product-carousel-module.minified-layout .content-container, .cms-carousel-module.minified-layout .content-container {
    display: grid;
    grid-template-columns: 110px 1fr; } }

[data-bxSlider].minified-layout .content-container > a:first-of-type, .product-carousel-module.minified-layout .content-container > a:first-of-type, .cms-carousel-module.minified-layout .content-container > a:first-of-type {
  padding-top: 0; }

[data-bxSlider].minified-layout .collection-item.ebg .content-container, .product-carousel-module.minified-layout .collection-item.ebg .content-container, .cms-carousel-module.minified-layout .collection-item.ebg .content-container {
  padding: 0; }

[data-bxSlider].minified-layout .collection-item.ebg .description, .product-carousel-module.minified-layout .collection-item.ebg .description, .cms-carousel-module.minified-layout .collection-item.ebg .description {
  height: 100%;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  padding: 10px 20px 10px;
  text-align: left; }

[data-bxSlider].minified-layout .image, .product-carousel-module.minified-layout .image, .cms-carousel-module.minified-layout .image {
  width: 110px;
  margin: 0; }

[data-bxSlider].minified-layout .description, [data-bxSlider].minified-layout a:first-child, .product-carousel-module.minified-layout .description, .product-carousel-module.minified-layout a:first-child, .cms-carousel-module.minified-layout .description, .cms-carousel-module.minified-layout a:first-child {
  -ms-flex-item-align: center;
      align-self: center;
  padding: 25px 20px;
  text-align: left; }

[data-bxSlider] .image-container, .product-carousel-module .image-container, .cms-carousel-module .image-container {
  width: 100%;
  display: block;
  text-align: center;
  -webkit-transition: opacity 0.8s;
  transition: opacity 0.8s; }
  [data-bxSlider] .image-container:hover, .product-carousel-module .image-container:hover, .cms-carousel-module .image-container:hover {
    opacity: 0.5;
    -webkit-transition: opacity 0.6s;
    transition: opacity 0.6s; }

[data-bxSlider] [data-content-container], .product-carousel-module [data-content-container], .cms-carousel-module [data-content-container] {
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start; }
  [data-bxSlider] [data-content-container]:has(.read-more), .product-carousel-module [data-content-container]:has(.read-more), .cms-carousel-module [data-content-container]:has(.read-more) {
    height: 300px; }
  [data-bxSlider] [data-content-container] a, .product-carousel-module [data-content-container] a, .cms-carousel-module [data-content-container] a {
    max-height: 100%; }
  [data-bxSlider] [data-content-container] p, .product-carousel-module [data-content-container] p, .cms-carousel-module [data-content-container] p {
    margin: 0;
    padding: 0; }

[data-bxSlider] .collection-item.ebg:has(.description:empty) .content-container, .product-carousel-module .collection-item.ebg:has(.description:empty) .content-container, .cms-carousel-module .collection-item.ebg:has(.description:empty) .content-container {
  padding-bottom: 0; }

[data-bxSlider] .collection-item.ebg:hover .description, .product-carousel-module .collection-item.ebg:hover .description, .cms-carousel-module .collection-item.ebg:hover .description {
  background-color: #ffffff;
  -webkit-transition: background-color 0.6s;
  transition: background-color 0.6s;
  color: #ae9461; }

[data-bxSlider] .collection-item.ebg:active .description, .product-carousel-module .collection-item.ebg:active .description, .cms-carousel-module .collection-item.ebg:active .description {
  background-color: transparent;
  color: #50506d; }

[data-bxSlider] .collection-item.ebg .content-container, .product-carousel-module .collection-item.ebg .content-container, .cms-carousel-module .collection-item.ebg .content-container {
  background-color: #ffffff; }

[data-bxSlider] .collection-item.ebg .description, .product-carousel-module .collection-item.ebg .description, .cms-carousel-module .collection-item.ebg .description {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
  font-size: 1.125rem;
  font-weight: 300;
  background-color: #50506d;
  color: #ffffff;
  text-transform: uppercase;
  -webkit-transition: background-color 0.8s;
  transition: background-color 0.8s; }
  [data-bxSlider] .collection-item.ebg .description:not(:empty), .product-carousel-module .collection-item.ebg .description:not(:empty), .cms-carousel-module .collection-item.ebg .description:not(:empty) {
    margin: 0;
    padding: 20px 5px; }

[data-bxSlider] .content-container, .product-carousel-module .content-container, .cms-carousel-module .content-container {
  height: 100%;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  border-radius: 0;
  text-align: left;
  height: 100%;
  position: relative;
  margin: auto;
  -webkit-transition: -webkit-box-shadow 0.8s;
  transition: -webkit-box-shadow 0.8s;
  transition: box-shadow 0.8s;
  transition: box-shadow 0.8s, -webkit-box-shadow 0.8s; }
  @media screen and (min-width: 81.25em) {
    [data-bxSlider] .content-container, .product-carousel-module .content-container, .cms-carousel-module .content-container {
      width: 100%; } }
  [data-bxSlider] .content-container .code, .product-carousel-module .content-container .code, .cms-carousel-module .content-container .code {
    padding-right: 10px;
    padding-left: 10px; }
    [data-bxSlider] .content-container .code:not(:empty) + .description, .product-carousel-module .content-container .code:not(:empty) + .description, .cms-carousel-module .content-container .code:not(:empty) + .description {
      padding-top: 0; }
  [data-bxSlider] .content-container .description, .product-carousel-module .content-container .description, .cms-carousel-module .content-container .description {
    padding: 10px 0; }
  [data-bxSlider] .content-container .specification, .product-carousel-module .content-container .specification, .cms-carousel-module .content-container .specification {
    padding-right: 10px;
    padding-left: 10px; }
    [data-bxSlider] .content-container .specification:not(:empty), .product-carousel-module .content-container .specification:not(:empty), .cms-carousel-module .content-container .specification:not(:empty) {
      margin-bottom: 10px; }
  [data-bxSlider] .content-container .prices, .product-carousel-module .content-container .prices, .cms-carousel-module .content-container .prices {
    padding-right: 10px;
    padding-left: 10px; }
  [data-bxSlider] .content-container .stock-indicator, .product-carousel-module .content-container .stock-indicator, .cms-carousel-module .content-container .stock-indicator {
    margin-top: auto;
    padding: 10px 10px;
    text-align: left; }
    [data-bxSlider] .content-container .stock-indicator + .not-logged-in-container, .product-carousel-module .content-container .stock-indicator + .not-logged-in-container, .cms-carousel-module .content-container .stock-indicator + .not-logged-in-container {
      margin-top: 0; }
    [data-bxSlider] .content-container .stock-indicator a, .product-carousel-module .content-container .stock-indicator a, .cms-carousel-module .content-container .stock-indicator a {
      -webkit-box-pack: left;
          -ms-flex-pack: left;
              justify-content: left; }
    [data-bxSlider] .content-container .stock-indicator button, .product-carousel-module .content-container .stock-indicator button, .cms-carousel-module .content-container .stock-indicator button {
      -webkit-box-align: baseline;
          -ms-flex-align: baseline;
              align-items: baseline;
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start; }
  [data-bxSlider] .content-container .quantity-container, .product-carousel-module .content-container .quantity-container, .cms-carousel-module .content-container .quantity-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 10px;
    padding: 15px 10px 0; }
    @media screen and (min-width: 81.25em) {
      [data-bxSlider] .content-container .quantity-container, .product-carousel-module .content-container .quantity-container, .cms-carousel-module .content-container .quantity-container {
        -webkit-box-pack: start;
            -ms-flex-pack: start;
                justify-content: flex-start;
        gap: 5px; } }
  [data-bxSlider] .content-container .prices + .not-logged-in-container, [data-bxSlider] .content-container .prices + .stockline-view-button, [data-bxSlider] .content-container .prices + .enquiry-button-container, .product-carousel-module .content-container .prices + .not-logged-in-container, .product-carousel-module .content-container .prices + .stockline-view-button, .product-carousel-module .content-container .prices + .enquiry-button-container, .cms-carousel-module .content-container .prices + .not-logged-in-container, .cms-carousel-module .content-container .prices + .stockline-view-button, .cms-carousel-module .content-container .prices + .enquiry-button-container {
    margin-top: 10px; }
  [data-bxSlider] .content-container .not-logged-in-container, [data-bxSlider] .content-container .stockline-view-button, [data-bxSlider] .content-container .enquiry-button-container, .product-carousel-module .content-container .not-logged-in-container, .product-carousel-module .content-container .stockline-view-button, .product-carousel-module .content-container .enquiry-button-container, .cms-carousel-module .content-container .not-logged-in-container, .cms-carousel-module .content-container .stockline-view-button, .cms-carousel-module .content-container .enquiry-button-container {
    width: 66%;
    margin: auto auto 0; }
  [data-bxSlider] .content-container.minified .image, .product-carousel-module .content-container.minified .image, .cms-carousel-module .content-container.minified .image {
    width: 110px; }
  [data-bxSlider] .content-container:hover .description, [data-bxSlider] .content-container:hover .read-more, .product-carousel-module .content-container:hover .description, .product-carousel-module .content-container:hover .read-more, .cms-carousel-module .content-container:hover .description, .cms-carousel-module .content-container:hover .read-more {
    color: #ae9461;
    text-decoration: none;
    -webkit-transition: color 0.6s;
    transition: color 0.6s; }
  [data-bxSlider] .content-container:active .description, .product-carousel-module .content-container:active .description, .cms-carousel-module .content-container:active .description {
    color: #50506d; }
  [data-bxSlider] .content-container.image, .product-carousel-module .content-container.image, .cms-carousel-module .content-container.image {
    background-color: transparent; }
  [data-bxSlider] .content-container.product, .product-carousel-module .content-container.product, .cms-carousel-module .content-container.product {
    padding-bottom: 20px;
    background-color: #ffffff; }
    [data-bxSlider] .content-container.product .group-description, .product-carousel-module .content-container.product .group-description, .cms-carousel-module .content-container.product .group-description {
      padding: 10px 10px 5px; }
    [data-bxSlider] .content-container.product a.group-description + a:has(.description) .description, .product-carousel-module .content-container.product a.group-description + a:has(.description) .description, .cms-carousel-module .content-container.product a.group-description + a:has(.description) .description {
      padding-top: 0; }
    [data-bxSlider] .content-container.product .description, .product-carousel-module .content-container.product .description, .cms-carousel-module .content-container.product .description {
      padding: 15px 10px; }
      [data-bxSlider] .content-container.product .description:is(:empty), .product-carousel-module .content-container.product .description:is(:empty), .cms-carousel-module .content-container.product .description:is(:empty) {
        padding: 0; }
  [data-bxSlider] .content-container:hover, .product-carousel-module .content-container:hover, .cms-carousel-module .content-container:hover {
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
    -webkit-transition: -webkit-box-shadow 0.6s;
    transition: -webkit-box-shadow 0.6s;
    transition: box-shadow 0.6s;
    transition: box-shadow 0.6s, -webkit-box-shadow 0.6s; }

[data-bxSlider] .collection-image-container, .product-carousel-module .collection-image-container, .cms-carousel-module .collection-image-container {
  width: 100%; }

[data-bxSlider] .image, .product-carousel-module .image, .cms-carousel-module .image {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0 auto 0; }
  @media screen and (min-width: 81.25em) {
    [data-bxSlider] .image, .product-carousel-module .image, .cms-carousel-module .image {
      margin: 0; } }
  [data-bxSlider] .image img, .product-carousel-module .image img, .cms-carousel-module .image img {
    -ms-flex-negative: 0;
        flex-shrink: 0; }

[data-bxSlider] .label-value-pair-container, .product-carousel-module .label-value-pair-container, .cms-carousel-module .label-value-pair-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding-top: 5px;
  padding-right: 10px;
  padding-left: 10px; }
  [data-bxSlider] .label-value-pair-container .label, .product-carousel-module .label-value-pair-container .label, .cms-carousel-module .label-value-pair-container .label {
    color: #000000;
    font-weight: 600;
    font-size: 0.875rem; }
  [data-bxSlider] .label-value-pair-container .value, .product-carousel-module .label-value-pair-container .value, .cms-carousel-module .label-value-pair-container .value {
    margin-left: auto;
    color: #000000;
    font-size: 0.875rem; }

[data-bxSlider] .department-description, .product-carousel-module .department-description, .cms-carousel-module .department-description {
  color: var(--primary-colour-lightness-0, #06052f);
  font-family: "Gibson", "Gibson Fallback", "Arial";
  font-size: 0.8125rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 2px;
  line-height: 1.6;
  -webkit-transition: color 0.8s;
  transition: color 0.8s; }
  [data-bxSlider] .department-description:hover, .product-carousel-module .department-description:hover, .cms-carousel-module .department-description:hover {
    color: var(--neutral-colour-lightness-0);
    text-decoration: underline;
    -webkit-transition: color 0.6s;
    transition: color 0.6s; }

[data-bxSlider] .group-description, .product-carousel-module .group-description, .cms-carousel-module .group-description {
  color: #ffffff;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.2; }
  [data-bxSlider] .group-description:hover, .product-carousel-module .group-description:hover, .cms-carousel-module .group-description:hover {
    color: #06052f;
    text-decoration: underline; }
  [data-bxSlider] .group-description:active, .product-carousel-module .group-description:active, .cms-carousel-module .group-description:active {
    color: #000000; }

[data-bxSlider] .description, .product-carousel-module .description, .cms-carousel-module .description {
  color: #06052f;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.2;
  text-transform: uppercase;
  -webkit-transition: color 0.8s;
  transition: color 0.8s; }
  [data-bxSlider] .description p, .product-carousel-module .description p, .cms-carousel-module .description p {
    margin: 0;
    padding: 0; }

[data-bxSlider] .read-more, .product-carousel-module .read-more, .cms-carousel-module .read-more {
  color: #06052f; }

[data-bxSlider] .specification p, .product-carousel-module .specification p, .cms-carousel-module .specification p {
  margin: 0;
  padding: 0; }

[data-bxSlider] .code, .product-carousel-module .code, .cms-carousel-module .code {
  color: #888888;
  font-size: 0.9375rem; }

@media print, screen and (max-width: 81.24875em) {
  [data-bxSlider] .col-label + .prices p:only-child .label, .product-carousel-module .col-label + .prices p:only-child .label, .cms-carousel-module .col-label + .prices p:only-child .label {
    display: none; } }

@media print, screen and (max-width: 81.24875em) {
  [data-bxSlider] .col-label + .prices p:only-child .label + .value, .product-carousel-module .col-label + .prices p:only-child .label + .value, .cms-carousel-module .col-label + .prices p:only-child .label + .value {
    margin-left: 0; } }

[data-bxSlider] .prices, .product-carousel-module .prices, .cms-carousel-module .prices {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  font-size: 1rem; }
  [data-bxSlider] .prices p, .product-carousel-module .prices p, .cms-carousel-module .prices p {
    margin: 0;
    font-weight: 400; }
  [data-bxSlider] .prices .price-container, .product-carousel-module .prices .price-container, .cms-carousel-module .prices .price-container {
    width: 100%;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
    text-align: left;
    line-height: 1.2; }
    [data-bxSlider] .prices .price-container:has(.vat), .product-carousel-module .prices .price-container:has(.vat), .cms-carousel-module .prices .price-container:has(.vat) {
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
    [data-bxSlider] .prices .price-container .label, .product-carousel-module .prices .price-container .label, .cms-carousel-module .prices .price-container .label {
      color: #000000;
      font-weight: 400; }
      [data-bxSlider] .prices .price-container .label:not(:empty), .product-carousel-module .prices .price-container .label:not(:empty), .cms-carousel-module .prices .price-container .label:not(:empty) {
        margin-right: 5px; }
      [data-bxSlider] .prices .price-container .label ~ .vat, .product-carousel-module .prices .price-container .label ~ .vat, .cms-carousel-module .prices .price-container .label ~ .vat {
        width: 100%;
        padding: 0 0 0 5px;
        text-align: right; }
        @media print, screen and (min-width: 40em) {
          [data-bxSlider] .prices .price-container .label ~ .vat, .product-carousel-module .prices .price-container .label ~ .vat, .cms-carousel-module .prices .price-container .label ~ .vat {
            width: -webkit-fit-content;
            width: -moz-fit-content;
            width: fit-content; } }
    [data-bxSlider] .prices .price-container .value, .product-carousel-module .prices .price-container .value, .cms-carousel-module .prices .price-container .value {
      color: #06052f;
      font-weight: 400; }
      @media screen and (min-width: 81.25em) {
        [data-bxSlider] .prices .price-container .value, .product-carousel-module .prices .price-container .value, .cms-carousel-module .prices .price-container .value {
          text-align: right; } }
    [data-bxSlider] .prices .price-container.saving .label, [data-bxSlider] .prices .price-container.saving .value, .product-carousel-module .prices .price-container.saving .label, .product-carousel-module .prices .price-container.saving .value, .cms-carousel-module .prices .price-container.saving .label, .cms-carousel-module .prices .price-container.saving .value {
      color: #000000;
      font-weight: 400;
      text-transform: uppercase; }
    [data-bxSlider] .prices .price-container.rrp .label, [data-bxSlider] .prices .price-container.rrp .value, .product-carousel-module .prices .price-container.rrp .label, .product-carousel-module .prices .price-container.rrp .value, .cms-carousel-module .prices .price-container.rrp .label, .cms-carousel-module .prices .price-container.rrp .value {
      color: #000000;
      font-weight: 400;
      font-size: 1rem;
      text-transform: uppercase; }
    [data-bxSlider] .prices .price-container .label + .value, .product-carousel-module .prices .price-container .label + .value, .cms-carousel-module .prices .price-container .label + .value {
      margin-right: 0;
      margin-left: auto;
      text-align: right; }

[data-bxSlider] .price-container .value, .product-carousel-module .price-container .value, .cms-carousel-module .price-container .value {
  font-size: 1rem; }

[data-bxSlider] .price-container .label, [data-bxSlider] .price-container .value, .product-carousel-module .price-container .label, .product-carousel-module .price-container .value, .cms-carousel-module .price-container .label, .cms-carousel-module .price-container .value {
  font-family: "Gibson", "Gibson Fallback", "Arial"; }

[data-bxSlider] .price, .product-carousel-module .price, .cms-carousel-module .price {
  margin: 0; }
  [data-bxSlider] .price .currency, .product-carousel-module .price .currency, .cms-carousel-module .price .currency {
    font-size: 1.625rem; }

[data-bxSlider] .vat, .product-carousel-module .vat, .cms-carousel-module .vat {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: inline-block;
  padding-left: 10px;
  color: #777777;
  font-size: 0.75rem;
  font-weight: 400;
  text-align: left;
  white-space: nowrap; }

[data-bxSlider] form, [data-bxSlider] .not-logged-in-container, [data-bxSlider] .stockline-view-button, .product-carousel-module form, .product-carousel-module .not-logged-in-container, .product-carousel-module .stockline-view-button, .cms-carousel-module form, .cms-carousel-module .not-logged-in-container, .cms-carousel-module .stockline-view-button {
  margin: auto 0 0; }

[data-bxSlider] .addToBasket.icon, .product-carousel-module .addToBasket.icon, .cms-carousel-module .addToBasket.icon {
  margin: 0; }

[data-bxSlider] .favouritesContainer, .product-carousel-module .favouritesContainer, .cms-carousel-module .favouritesContainer {
  display: inline-block; }

[data-bxSlider] .quantity-container .control.select, .product-carousel-module .quantity-container .control.select, .cms-carousel-module .quantity-container .control.select {
  max-width: 80px;
  width: 100%;
  display: inline-block;
  margin: 0 10px 0 0; }
  [data-bxSlider] .quantity-container .control.select .label, .product-carousel-module .quantity-container .control.select .label, .cms-carousel-module .quantity-container .control.select .label {
    display: none; }
  [data-bxSlider] .quantity-container .control.select .control-select-dropdown, .product-carousel-module .quantity-container .control.select .control-select-dropdown, .cms-carousel-module .quantity-container .control.select .control-select-dropdown {
    width: 80px; }

[data-bxSlider] .quantity-free-text-container, .product-carousel-module .quantity-free-text-container, .cms-carousel-module .quantity-free-text-container {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  [data-bxSlider] .quantity-free-text-container .label, .product-carousel-module .quantity-free-text-container .label, .cms-carousel-module .quantity-free-text-container .label {
    display: none; }

@media screen and (min-width: 81.25em) {
  .bx-seperator .collection-item[aria-hidden=false] + .collection-item:before {
    content: '';
    width: 1px;
    height: 80%;
    background-color: #777777;
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto; } }

.bx-viewport {
  z-index: 1; }
  .bx-viewport > div {
    height: 100%; }

[id$="-carousel-container"] {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1; }

.carousel:not(.largeControls):not(.smallControls) .bx-controls {
  height: 30px; }
  .carousel:not(.largeControls):not(.smallControls) .bx-controls .bx-prev:not(.disabled),
  .carousel:not(.largeControls):not(.smallControls) .bx-controls .bx-next:not(.disabled) {
    width: 30px;
    height: 30px; }

.carousel.largeControls .bx-controls .bx-controls-direction {
  width: 110px;
  margin: 10px;
  right: 0;
  bottom: 0;
  height: 45px; }
  @media screen and (min-width: 81.25em) {
    .carousel.largeControls .bx-controls .bx-controls-direction {
      width: 100px; } }
  @media screen and (min-width: 81.25em) {
    .carousel.largeControls .bx-controls .bx-controls-direction {
      height: 45px; } }

.carousel.largeControls .bx-controls .bx-prev:not(.disabled),
.carousel.largeControls .bx-controls .bx-next:not(.disabled) {
  width: 45px;
  height: 45px; }
  @media screen and (min-width: 81.25em) {
    .carousel.largeControls .bx-controls .bx-prev:not(.disabled),
    .carousel.largeControls .bx-controls .bx-next:not(.disabled) {
      width: 45px;
      height: 45px; } }

.carousel.smallControls .bx-controls {
  height: 45px;
  width: 100px; }
  .carousel.smallControls .bx-controls .bx-prev:not(.disabled),
  .carousel.smallControls .bx-controls .bx-next:not(.disabled) {
    width: 45px;
    height: 45px;
    -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
            box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }
    .carousel.smallControls .bx-controls .bx-prev:not(.disabled):hover,
    .carousel.smallControls .bx-controls .bx-next:not(.disabled):hover {
      background-color: #ffffff;
      -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
              box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
      -webkit-transition: background-color 0.6s;
      transition: background-color 0.6s; }
    .carousel.smallControls .bx-controls .bx-prev:not(.disabled):before,
    .carousel.smallControls .bx-controls .bx-next:not(.disabled):before {
      width: 12px;
      height: 12px; }
  @media screen and (min-width: 81.25em) {
    .carousel.smallControls .bx-controls .bx-prev:not(.disabled):before {
      height: 18px;
      width: 18px;
      padding: 3px;
      border: 1px solid #06052f;
      border-width: 0 2px 2px 0;
      -webkit-transform: rotate(-223deg);
              transform: rotate(-223deg); } }
  @media screen and (min-width: 81.25em) {
    .carousel.smallControls .bx-controls .bx-next:not(.disabled):before {
      height: 18px;
      width: 18px;
      padding: 3px;
      border: 1px solid #06052f;
      border-width: 0 2px 2px 0;
      -webkit-transform: rotate(-43deg);
              transform: rotate(-43deg); } }

.carousel:not(.smallControls) .bx-controls {
  width: 100%; }
  .carousel:not(.smallControls) .bx-controls .bx-prev:not(.disabled),
  .carousel:not(.smallControls) .bx-controls .bx-next:not(.disabled) {
    background-color: #dadada;
    opacity: 0.8;
    -webkit-transition: background-color 0.8s, opacity 0.8s, border-color 0.8s;
    transition: background-color 0.8s, opacity 0.8s, border-color 0.8s; }
    @media print, screen and (max-width: 81.24875em) {
      .carousel:not(.smallControls) .bx-controls .bx-prev:not(.disabled),
      .carousel:not(.smallControls) .bx-controls .bx-next:not(.disabled) {
        -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
                box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3); } }
    @media screen and (min-width: 81.25em) {
      .carousel:not(.smallControls) .bx-controls .bx-prev:not(.disabled),
      .carousel:not(.smallControls) .bx-controls .bx-next:not(.disabled) {
        opacity: 0.5;
        -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
                box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3); } }
    .carousel:not(.smallControls) .bx-controls .bx-prev:not(.disabled):hover,
    .carousel:not(.smallControls) .bx-controls .bx-next:not(.disabled):hover {
      text-decoration: none;
      background-color: #ffffff;
      -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
              box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
      opacity: 0.8;
      -webkit-transition: background-color 0.6s, opacity 0.6s;
      transition: background-color 0.6s, opacity 0.6s; }
      .carousel:not(.smallControls) .bx-controls .bx-prev:not(.disabled):hover:before,
      .carousel:not(.smallControls) .bx-controls .bx-next:not(.disabled):hover:before {
        border-color: #06052f; }
    .carousel:not(.smallControls) .bx-controls .bx-prev:not(.disabled):active,
    .carousel:not(.smallControls) .bx-controls .bx-next:not(.disabled):active {
      background-color: #ffffff;
      opacity: 1; }

.image-slideshow-module .bx-controls-direction {
  margin: 10px; }

.product-carousel-module .bx-controls {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end; }

.image-slideshow-module .bx-controls, .image-slideshow-module .bx-controls-direction {
  position: absolute; }

.small-wide-controls .bx-controls .bx-prev:not(.disabled):before {
  content: "";
  font-size: 14px; }

.small-wide-controls .bx-controls .bx-next:not(.disabled):before {
  content: "";
  font-size: 14px; }

.bx-controls.disabled {
  display: none; }

.bx-controls .bx-prev:not(.disabled):before,
.bx-controls .bx-next:not(.disabled):before {
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-family: "fontello-djmiles";
  font-size: 14px;
  color: #06052f;
  -webkit-transition: color 0.8s;
  transition: color 0.8s;
  -webkit-filter: drop-shadow(0);
          filter: drop-shadow(0); }
  @media screen and (min-width: 81.25em) {
    .bx-controls .bx-prev:not(.disabled):before,
    .bx-controls .bx-next:not(.disabled):before {
      font-size: 14px; } }

.bx-controls .bx-prev:not(.disabled):hover:before,
.bx-controls .bx-next:not(.disabled):hover:before {
  color: #06052f;
  -webkit-transition: color 0.6s;
  transition: color 0.6s; }

.bx-controls .bx-prev:not(.disabled):active:before,
.bx-controls .bx-next:not(.disabled):active:before {
  color: #06052f; }

.bx-controls .bx-prev {
  position: relative;
  float: left; }

.bx-controls .bx-prev:not(.disabled):before {
  content: ""; }

.bx-controls .bx-next {
  position: relative;
  float: right; }

.bx-controls .bx-next:not(.disabled):before {
  content: ""; }

.bx-prev, .bx-next {
  position: relative;
  z-index: 1;
  border-radius: 0; }

.bx-prev {
  padding: 0; }
  @media screen and (min-width: 81.25em) {
    .bx-prev {
      padding: 0; } }

.bx-next {
  padding: 0; }
  @media screen and (min-width: 81.25em) {
    .bx-next {
      padding: 0; } }

div[data-bxSlider][bx-column-count="1"] {
  --columns: 1; }

div[data-bxSlider][bx-column-count="2"] {
  --columns: 2; }

div[data-bxSlider][bx-column-count="3"] {
  --columns: 3; }

div[data-bxSlider][bx-column-count="4"] {
  --columns: 4; }

div[data-bxSlider][bx-column-count="5"] {
  --columns: 5; }

div[data-bxSlider][bx-column-count="6"] {
  --columns: 6; }

div[data-bxSlider][bx-column-count="7"] {
  --columns: 7; }

div[data-bxSlider][bx-column-count="8"] {
  --columns: 8; }

div[data-bxSlider][bx-column-count="9"] {
  --columns: 9; }

div[data-bxSlider][bx-column-count="10"] {
  --columns: 10; }

div[data-bxSlider][bx-column-count="11"] {
  --columns: 11; }

div[data-bxSlider][bx-column-count="12"] {
  --columns: 12; }

div[data-bxSlider]:not([data-initialised="true"]) {
  width: 100%;
  position: relative;
  display: grid;
  --small-columns: max(round(down, calc(var(--columns) / 2), 1), 1);
  --medium-columns: calc(var(--small-columns) + 1);
  grid-template-columns: repeat(var(--small-columns), minmax(0, 1fr));
  gap: var(--module-gutter, 10px); }
  @media print, screen and (min-width: 40em) {
    div[data-bxSlider]:not([data-initialised="true"]) {
      grid-template-columns: repeat(var(--medium-columns), minmax(0, 1fr));
      gap: var(--module-gutter, 15px); } }
  @media screen and (min-width: 81.25em) {
    div[data-bxSlider]:not([data-initialised="true"]) {
      grid-template-columns: repeat(var(--columns), minmax(0, 1fr));
      gap: var(--module-gutter, 15px); } }
  div[data-bxSlider]:not([data-initialised="true"]) > * {
    visibility: hidden; }
  div[data-bxSlider]:not([data-initialised="true"]):after {
    content: '';
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background-color: #ffffff;
    display: block; }
  div[data-bxSlider]:not([data-initialised="true"]):before {
    content: "";
    width: 42px;
    height: 42px;
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    margin: auto;
    display: block;
    border: 4px solid rgba(136, 136, 136, 0.2);
    border-top: 4px solid #888888;
    border-radius: 50%;
    -webkit-transition: all .2s ease 0s;
    transition: all .2s ease 0s;
    -webkit-animation: spin 0.7s cubic-bezier(0.56, 0.11, 0.22, 0.865) 0s infinite;
            animation: spin 0.7s cubic-bezier(0.56, 0.11, 0.22, 0.865) 0s infinite;
    z-index: 1; }

@keyframes spin {
  from {
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg); }
  to {
    -webkit-transform: rotate(405deg);
            transform: rotate(405deg); } }
  div[data-bxSlider]:not([data-initialised="true"]) .collection-item:not(:first-child) {
    display: none; }

.bx-viewport {
  overflow-y: visible; }

.carousel .bx-viewport .collection-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end; }

.bx-pager {
  width: 100%;
  position: absolute;
  bottom: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-bottom: 20px; }
  .bx-pager .bx-pager-item {
    position: relative;
    width: 22.5px;
    height: 22.5px;
    display: block;
    margin: 0 7.5px;
    z-index: 1; }
    @media screen and (min-width: 81.25em) {
      .bx-pager .bx-pager-item {
        width: 15px;
        height: 15px; } }
    .bx-pager .bx-pager-item a {
      width: 100%;
      height: 100%;
      display: block;
      background-color: #ffffff;
      border-radius: 25px;
      border: 1px solid #aeaeae;
      opacity: 0.5;
      -webkit-transition: opacity, border-color, background-color 0.8s;
      transition: opacity, border-color, background-color 0.8s; }
      .bx-pager .bx-pager-item a:hover {
        background-color: #ae9461;
        border-color: #ae9461;
        -webkit-transition: border-color, background-color 0.6s;
        transition: border-color, background-color 0.6s; }
      .bx-pager .bx-pager-item a:active {
        background-color: #06052f;
        border-color: #06052f; }
      .bx-pager .bx-pager-item a.active {
        background-color: #06052f;
        border-color: #06052f;
        opacity: 1;
        cursor: not-allowed;
        -webkit-transition: opacity 0.6s;
        transition: opacity 0.6s; }

/*
----- Sliders -----
Handles the following: 
- This is *NOT* carousel functionality please refer to bxslider.scss for that.
- This is form form controls where you require an input type = slider.
- The stlyes here will also have a heavy influence on the price slider for filters.
*/
.slider {
  height: 10px;
  position: relative;
  background-color: rgba(255, 255, 255, 0.7);
  border: 1px solid transparent;
  border-radius: 5px;
  -webkit-transition: background-color 0.8s, border-color 0.8s;
  transition: background-color 0.8s, border-color 0.8s; }
  .slider:hover {
    background-color: #ffffff;
    border-color: transparent;
    -webkit-transition: background-color 0.6s, border-color 0.6s;
    transition: background-color 0.6s, border-color 0.6s; }
    .slider:hover .ui-slider-range:before {
      background-color: #fed120;
      -webkit-transition: background-color 0.6s;
      transition: background-color 0.6s; }
  .slider:active {
    background-color: #ffffff;
    border-color: transparent; }
    .slider:active .ui-slider-range:before {
      background-color: #ae9461; }
  .slider.slider-invalid .ui-slider-range:before {
    background-color: #b20c0c; }
  .slider.slider-invalid .ui-slider-handle:before {
    background-color: #b20c0c; }

.ui-slider-handle {
  width: 22px;
  height: 22px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: absolute;
  top: -.5em;
  margin-left: -5px;
  background-color: #ffffff;
  border: 1px solid #eeeeee;
  border-radius: 25px;
  cursor: pointer;
  z-index: 2;
  -webkit-transition: -webkit-box-shadow 0.8s;
  transition: -webkit-box-shadow 0.8s;
  transition: box-shadow 0.8s;
  transition: box-shadow 0.8s, -webkit-box-shadow 0.8s; }
  .ui-slider-handle:before {
    content: '';
    width: 100%;
    height: 100%;
    background-color: #ae9461;
    border-radius: 25px;
    border: 3px solid #ffffff; }
  .ui-slider-handle:hover {
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
    -webkit-transition: -webkit-box-shadow 0.6s;
    transition: -webkit-box-shadow 0.6s;
    transition: box-shadow 0.6s;
    transition: box-shadow 0.6s, -webkit-box-shadow 0.6s; }

.ui-state-active {
  outline: 0; }

.ui-slider-range {
  position: absolute;
  top: 0;
  bottom: 0;
  display: block;
  margin: auto;
  z-index: 1; }
  .ui-slider-range:before {
    content: '';
    width: calc(100% + 4px);
    height: calc(100% + 2px);
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    background-color: #e5b701;
    border-radius: 5px;
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }
  .ui-slider-range.ui-slider-range-min:before {
    left: -1px; }
  .ui-slider-range.ui-slider-range-max:before {
    right: -1px; }
  .ui-slider-range.ui-slider-horizontal {
    top: 0;
    height: 100%; }

.slider-errors {
  max-height: 0;
  overflow: hidden;
  text-align: center;
  margin: 25px 3px 5px;
  font-weight: 600;
  font-size: 0.6875rem;
  color: #b20c0c;
  -webkit-transition: all 0.8s;
  transition: all 0.8s; }
  .slider-errors.active {
    max-height: 300px;
    padding: 5px;
    border: 1px solid #b20c0c;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }

[data-tooltip] {
  width: 100%;
  position: absolute;
  bottom: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row; }

span.tooltip-trigger {
  position: relative;
  cursor: help;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
   -ms-user-select: none;
       user-select: none;
  -webkit-tap-highlight-color: transparent; }
  span.tooltip-trigger:before {
    content: "";
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -ms-flex-line-pack: center;
        align-content: center;
    padding: 5px 8px;
    font-size: 10px;
    font-family: "Font Awesome Solid";
    color: #ffffff;
    line-height: 1;
    background-color: rgba(119, 119, 119, 0.7);
    border-radius: 25px;
    -webkit-transition: background-color 0.8s, color 0.8s;
    transition: background-color 0.8s, color 0.8s; }
  span.tooltip-trigger:hover:before {
    background-color: #ae9461;
    color: #ffffff;
    -webkit-transition: background-color 0.6s, color 0.6s;
    transition: background-color 0.6s, color 0.6s; }
  span.tooltip-trigger:active:before {
    background-color: #06052f;
    color: #ffffff; }

.tooltip-container {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  cursor: pointer; }
  .tooltip-container.warning .tooltip-content .content-container:before, .tooltip-container.alert .tooltip-content .content-container:before {
    content: "";
    display: block;
    margin-bottom: 5px;
    font-size: 20px;
    font-family: "Font Awesome Solid";
    text-align: center; }
  .tooltip-container.warning .tooltip-content .content-container p, .tooltip-container.alert .tooltip-content .content-container p {
    margin: 0;
    padding: 0;
    text-align: center;
    text-transform: uppercase;
    font-size: 0.9375rem;
    font-weight: 600; }
  .tooltip-container.warning .tooltip-trigger:before {
    content: "";
    padding: 0;
    background-color: transparent;
    color: #ff5e05;
    font-size: 20px; }
  .tooltip-container.warning .tooltip-content {
    border-color: #ff5e05;
    background-color: #ffefe6; }
    .tooltip-container.warning .tooltip-content:before {
      content: '';
      width: 0;
      height: 0;
      position: absolute;
      top: 0;
      left: 50%;
      border-width: 9px;
      border-style: solid;
      border-color: transparent;
      border-bottom-color: #ff5e05;
      border-top: 0;
      margin-top: -9px;
      margin-left: -9px; }
    .tooltip-container.warning .tooltip-content:after {
      content: '';
      width: 0;
      height: 0;
      position: absolute;
      top: 0;
      left: 50%;
      border-width: 7px;
      border-style: solid;
      border-color: transparent;
      border-bottom-color: #ffefe6;
      border-top: 0;
      margin-top: -6px;
      margin-left: -7px; }
    .tooltip-container.warning .tooltip-content .content-container:before {
      content: "";
      color: #ff5e05; }
    .tooltip-container.warning .tooltip-content p {
      color: #ff5e05;
      font-size: 0.8125rem;
      font-weight: 600;
      text-transform: uppercase; }
  .tooltip-container.alert .tooltip-trigger:before {
    content: "";
    padding: 0;
    background-color: transparent;
    color: #b20c0c;
    font-size: 20px; }
  .tooltip-container.alert .tooltip-content {
    border-color: #b20c0c;
    background-color: #fde1e1; }
    .tooltip-container.alert .tooltip-content:before {
      content: '';
      width: 0;
      height: 0;
      position: absolute;
      top: 0;
      left: 50%;
      border-width: 9px;
      border-style: solid;
      border-color: transparent;
      border-bottom-color: #b20c0c;
      border-top: 0;
      margin-top: -9px;
      margin-left: -9px; }
    .tooltip-container.alert .tooltip-content:after {
      content: '';
      width: 0;
      height: 0;
      position: absolute;
      top: 0;
      left: 50%;
      border-width: 7px;
      border-style: solid;
      border-color: transparent;
      border-bottom-color: #fde1e1;
      border-top: 0;
      margin-top: -6px;
      margin-left: -7px; }
    .tooltip-container.alert .tooltip-content .content-container:before {
      content: "";
      color: #b20c0c; }
    .tooltip-container.alert .tooltip-content p {
      color: #b20c0c;
      font-size: 0.8125rem;
      font-weight: 600;
      text-transform: uppercase; }
  .tooltip-container.state-indicator .tooltip-trigger:before {
    content: ""; }
  .tooltip-container.align-right {
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end; }
    .tooltip-container.align-right .tooltip-content:before, .tooltip-container.align-right .tooltip-content:after {
      left: calc(100% - 8px); }
  .tooltip-container.responsive-override-align-right {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start; }
    .tooltip-container.responsive-override-align-right .tooltip-content-container {
      left: 0; }
    .tooltip-container.responsive-override-align-right .tooltip-content:before, .tooltip-container.responsive-override-align-right .tooltip-content:after {
      left: 8px; }
  .tooltip-container.align-left {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start; }
    .tooltip-container.align-left .tooltip-content:before, .tooltip-container.align-left .tooltip-content:after {
      left: 8px; }
  .tooltip-container.responsive-override-align-left {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start; }
    .tooltip-container.responsive-override-align-left .tooltip-content-container {
      right: 0;
      left: unset; }
    .tooltip-container.responsive-override-align-left .tooltip-content:before, .tooltip-container.responsive-override-align-left .tooltip-content:after {
      left: calc(100% - 8px); }
  .tooltip-container .tooltip-content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column; }
    .tooltip-container .tooltip-content:before {
      content: '';
      width: 0;
      height: 0;
      position: absolute;
      top: 0;
      left: 50%;
      border-width: 9px;
      border-style: solid;
      border-color: transparent;
      border-bottom-color: #ae9461;
      border-top: 0;
      margin-top: -9px;
      margin-left: -9px; }
    .tooltip-container .tooltip-content:after {
      content: '';
      width: 0;
      height: 0;
      position: absolute;
      top: 0;
      left: 50%;
      border-width: 7px;
      border-style: solid;
      border-color: transparent;
      border-bottom-color: #ffffff;
      border-top: 0;
      margin-top: -6px;
      margin-left: -7px; }

.tooltip-content-container .tooltip-content {
  visibility: visible;
  overflow: visible; }

.tooltip-content {
  width: 0;
  height: 0;
  overflow: hidden;
  visibility: hidden; }

.tooltip-content-container {
  width: 300px;
  position: absolute;
  top: 100%;
  z-index: 10;
  max-height: 0;
  display: block;
  overflow: hidden;
  -webkit-transition: max-height 0.8s;
  transition: max-height 0.8s; }
  .tooltip-content-container.active {
    max-height: 300px;
    -webkit-transition: max-height 0.6s;
    transition: max-height 0.6s; }
  .tooltip-content-container .tooltip-content {
    width: auto;
    height: auto;
    position: relative;
    padding: 20px;
    margin-top: 9px;
    background-color: #ffffff;
    border: 2px solid #ae9461;
    border-radius: 0;
    z-index: 1; }
    .tooltip-content-container .tooltip-content ul {
      padding: 0;
      margin: 0;
      list-style: none; }
    .tooltip-content-container .tooltip-content li, .tooltip-content-container .tooltip-content a, .tooltip-content-container .tooltip-content p {
      font-size: 0.8125rem;
      font-weight: 400;
      line-height: 1.6;
      color: #000000; }
    .tooltip-content-container .tooltip-content li p {
      margin: 10px 0; }
    .tooltip-content-container .tooltip-content p {
      padding: 0;
      margin: 0; }

/*
----- Read more -----
Handles the following: 
- Revealing additional markup, this can include text or images.
- How the fade / gradiant gets used when cutting of the overflowing content.
*/
.read-more {
  position: relative; }
  .read-more.container-calculation-waiting {
    display: none; }
  .read-more.active .read-more-content {
    height: 100% !important;
    -webkit-transition: height 0.6s;
    transition: height 0.6s; }
  .read-more.active .readMoreButton:before {
    content: ""; }
  @media screen and (min-width: 81.25em) {
    .read-more.mobile-only .read-more-content {
      height: auto !important; } }
  @media screen and (min-width: 81.25em) {
    .read-more.mobile-only .readMoreButton {
      display: none; } }
  .read-more .read-more-content {
    max-height: 100%;
    position: relative;
    overflow: hidden;
    -webkit-transition: height 0.8s;
    transition: height 0.8s; }
  .read-more .readMoreButton {
    display: block;
    margin: 0 auto;
    padding: 10px 15px 24px;
    color: #06052f;
    font-weight: 600; }
    .read-more .readMoreButton:hover:before {
      color: #888888;
      font-size: 0.9375rem;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
    .read-more .readMoreButton:before {
      content: "";
      position: absolute;
      right: 0;
      bottom: 5px;
      left: 0;
      font-family: "fontello-djmiles";
      font-size: 0.75rem;
      -webkit-transition: all 0.8s;
      transition: all 0.8s; }

.read-more:not(.fade-disabled-low-content) .read-more-content:not(.no-fade) {
  -webkit-mask-image: linear-gradient(to top, transparent 0px, #000000 50px);
          mask-image: linear-gradient(to top, transparent 0px, #000000 50px); }

@media screen and (min-width: 81.25em) {
  .read-more:not(.fade-disabled-low-content).mobile-only .read-more-content:not(.no-fade) {
    -webkit-mask-image: unset;
            mask-image: unset; } }

.read-more:not(.fade-disabled-low-content).active .read-more-content {
  -webkit-mask-image: unset;
          mask-image: unset; }

.read-more:not(.fade-disabled-low-content) .read-more-content.content-truncate-enabled > p {
  display: -webkit-box;
  -webkit-line-clamp: var(--read-more-line-clamp);
  -webkit-box-orient: vertical; }
  .read-more:not(.fade-disabled-low-content) .read-more-content.content-truncate-enabled > p + p {
    display: none; }

.read-more:not([rm-id]) {
  visibility: hidden; }

/*
----- Auto Complete ( Predictive Search ) ------ 
The dropdown you see when you start typing in a query within the search bar in the header.
*/
#headerSearchForm .ac-results {
  border-radius: 0 0 0 0;
  padding: 110px 0 40px; }
  @media screen and (min-width: 81.25em) {
    #headerSearchForm .ac-results > ul {
      width: 700px !important;
      padding: 0 6%;
      -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.1);
              box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.1);
      background-color: #ffffff;
      border-bottom: 5px solid #06052f;
      z-index: 50000; } }

.ac-results {
  width: 100%;
  max-height: 100vh; }
  @media screen and (min-width: 81.25em) {
    .ac-results {
      z-index: 200001; } }
  .ac-results.scroller > ul {
    overflow-y: scroll; }
  .ac-results > ul, .ac-results .results-content-container > ul {
    max-height: 70vh;
    padding: 0;
    margin: 0;
    list-style: none;
    overflow-y: auto; }
    @media screen and (min-width: 81.25em) {
      .ac-results > ul, .ac-results .results-content-container > ul {
        margin: auto; } }

.ac-collection-title-container {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  padding: 5px 15px;
  background-color: #06052f;
  border-radius: 0; }
  .ac-collection-title-container .ac-title {
    color: #ffffff;
    font-size: 1.0625rem;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-family: "Gibson", "Gibson Fallback", "Arial"; }
  .ac-collection-title-container .view-all {
    float: right; }
    .ac-collection-title-container .view-all:hover a:after {
      color: #ffffff;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }
    .ac-collection-title-container .view-all a {
      color: #ffffff;
      font-size: 1rem;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center; }
      .ac-collection-title-container .view-all a:after {
        content: "";
        margin: 0 0 0 5px;
        font-family: "fontello-djmiles";
        font-size: 0.5625rem;
        color: #ae9461;
        -webkit-transition: color 0.8s;
        transition: color 0.8s; }

.ac-title-container {
  margin: 10px 0 15px;
  font-style: italic;
  font-weight: 600;
  font-family: "Gibson", "Gibson Fallback", "Arial";
  letter-spacing: 0.5px; }

.ac-item-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  padding: 10px 0;
  list-style: none; }
  .ac-item-list.column .ac-item {
    width: 100%; }
    @media print, screen and (min-width: 40em) {
      .ac-item-list.column .ac-item {
        -webkit-box-flex: 1;
            -ms-flex: 1 0 50%;
                flex: 1 0 50%; } }
  .ac-item-list:not(.column) .ac-item {
    width: 100%; }
  .ac-item-list.row .ac-item {
    margin: 0 0 10px; }

.ac-item {
  margin: 0 0 5px; }
  .ac-item:hover a span {
    color: #06052f;
    text-decoration: underline;
    -webkit-transition: color 0.6s;
    transition: color 0.6s; }
  .ac-item .image, .ac-item .ac-item-multimedia-content {
    width: 50px;
    height: 50px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    border: 1px solid #dadada; }
  .ac-item img {
    max-width: 100%; }
  .ac-item a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 0 10px;
    padding: 0 20px 0 0; }
    .ac-item a span {
      font-weight: 400;
      color: #000000;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
  .ac-item .ac-item-content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1; }
  .ac-item .item-reference {
    font-size: 0.8125rem;
    text-transform: uppercase;
    color: #888888; }
  .ac-item .item-snippet {
    margin: 5px 0 0;
    font-size: 0.8125rem;
    color: #888888; }

.autocomplete-results-search-container {
  display: none; }
  @media screen and (min-width: 81.25em) {
    .autocomplete-results-search-container {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; } }
  .autocomplete-results-search-container .ajax-search {
    height: 50px; }
    .autocomplete-results-search-container .ajax-search + button {
      height: 50px; }

.autocomplete-container.active .ac-results {
  max-height: 900px;
  display: block; }
  @media screen and (min-width: 81.25em) {
    .autocomplete-container.active .ac-results {
      -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.1);
              box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.1); } }

.autocomplete-container .ac-results {
  max-height: 0px;
  display: none; }

.autocomplete-container .results-content-container {
  background: #ffffff; }
  @media screen and (min-width: 81.25em) {
    .autocomplete-container .results-content-container {
      border-radius: 0 0 0 0;
      padding-bottom: 50px;
      -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
              box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
      border-bottom-color: #06052f;
      border-width: 0 0 6px 0;
      border-style: solid; } }
  .autocomplete-container .results-content-container ul li:last-child .ac-item-list {
    padding-bottom: 0; }

.sa {
  width: 90px;
  height: 90px;
  margin: 30px auto 15px; }
  .sa-warning {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    border: 4px solid #ff5e05;
    -webkit-box-sizing: content-box;
            box-sizing: content-box;
    padding: 0;
    position: relative;
    -webkit-animation: scaleWarning 0.75s infinite alternate;
            animation: scaleWarning 0.75s infinite alternate; }
    .sa-warning:after, .sa-warning:before {
      content: '';
      width: 100%;
      height: 100%;
      position: absolute;
      border-radius: 50%; }
    .sa-warning:before {
      display: inline-block;
      opacity: 0; }
    .sa-warning:after {
      display: block;
      z-index: 1; }
    .sa-warning-body {
      width: 5px;
      height: 47px;
      position: absolute;
      top: 10px;
      left: 50%;
      margin-left: -2px;
      background-color: #ff5e05;
      border-radius: 2px;
      z-index: 2;
      -webkit-animation: pulseWarningIns 0.75s infinite alternate;
              animation: pulseWarningIns 0.75s infinite alternate; }
    .sa-warning-dot {
      background-color: #ff5e05;
      border-radius: 50%;
      bottom: 10px;
      height: 7px;
      left: 50%;
      margin-left: -3px;
      position: absolute;
      width: 7px;
      z-index: 2;
      -webkit-animation: pulseWarningIns 0.75s infinite alternate;
              animation: pulseWarningIns 0.75s infinite alternate; }
  .sa-error {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    border: 4px solid #b20c0c;
    -webkit-box-sizing: content-box;
            box-sizing: content-box;
    padding: 0;
    position: relative;
    -webkit-animation: animateErrorIcon .5s;
            animation: animateErrorIcon .5s; }
    .sa-error:after, .sa-error:before {
      content: '';
      height: 120px;
      position: absolute;
      -webkit-transform: rotate(45deg);
              transform: rotate(45deg);
      width: 60px; }
    .sa-error:before {
      border-radius: 40px 0 0 40px;
      width: 26px;
      height: 80px;
      top: -17px;
      left: 5px;
      -webkit-transform-origin: 60px 60px;
              transform-origin: 60px 60px;
      -webkit-transform: rotate(-45deg);
              transform: rotate(-45deg); }
    .sa-error:after {
      border-radius: 0 120px 120px 0;
      left: 30px;
      top: -11px;
      -webkit-transform-origin: 0 60px;
              transform-origin: 0 60px;
      -webkit-transform: rotate(-45deg);
              transform: rotate(-45deg);
      -webkit-animation: rotatePlaceholder 4.25s ease-in;
              animation: rotatePlaceholder 4.25s ease-in; }
    .sa-error-x {
      display: block;
      position: relative;
      z-index: 2; }
    .sa-error-placeholder {
      border-radius: 50%;
      -webkit-box-sizing: content-box;
              box-sizing: content-box;
      height: 80px;
      left: -4px;
      position: absolute;
      top: -4px;
      width: 80px;
      z-index: 2; }
    .sa-error-fix {
      width: 5px;
      height: 90px;
      left: 28px;
      position: absolute;
      top: 8px;
      -webkit-transform: rotate(-45deg);
              transform: rotate(-45deg);
      z-index: 1; }
    .sa-error-left, .sa-error-right {
      border-radius: 2px;
      display: block;
      height: 5px;
      position: absolute;
      z-index: 2;
      background-color: #b20c0c;
      top: 37px;
      width: 47px; }
    .sa-error-left {
      left: 17px;
      -webkit-transform: rotate(45deg);
              transform: rotate(45deg);
      -webkit-animation: animateXLeft .75s;
              animation: animateXLeft .75s; }
    .sa-error-right {
      right: 16px;
      -webkit-transform: rotate(-45deg);
              transform: rotate(-45deg);
      -webkit-animation: animateXRight .75s;
              animation: animateXRight .75s; }

@keyframes rotatePlaceholder {
  0%,
  5% {
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg); }
  100%,
  12% {
    -webkit-transform: rotate(-405deg);
            transform: rotate(-405deg); } }

@-webkit-keyframes animateErrorIcon {
  0% {
    -webkit-transform: rotateX(100deg);
            transform: rotateX(100deg);
    opacity: 0; }
  100% {
    -webkit-transform: rotateX(0deg);
            transform: rotateX(0deg);
    opacity: 1; } }

@keyframes animateErrorIcon {
  0% {
    -webkit-transform: rotateX(100deg);
            transform: rotateX(100deg);
    opacity: 0; }
  100% {
    -webkit-transform: rotateX(0deg);
            transform: rotateX(0deg);
    opacity: 1; } }

@-webkit-keyframes animateXLeft {
  0%,
  65% {
    left: 82px;
    top: 95px;
    width: 0; }
  84% {
    left: 14px;
    top: 33px;
    width: 47px; }
  100% {
    left: 17px;
    top: 37px;
    width: 47px; } }

@keyframes animateXLeft {
  0%,
  65% {
    left: 82px;
    top: 95px;
    width: 0; }
  84% {
    left: 14px;
    top: 33px;
    width: 47px; }
  100% {
    left: 17px;
    top: 37px;
    width: 47px; } }

@-webkit-keyframes animateXRight {
  0%,
  65% {
    right: 82px;
    top: 95px;
    width: 0; }
  84% {
    right: 14px;
    top: 33px;
    width: 47px; }
  100% {
    right: 16px;
    top: 37px;
    width: 47px; } }

@keyframes animateXRight {
  0%,
  65% {
    right: 82px;
    top: 95px;
    width: 0; }
  84% {
    right: 14px;
    top: 33px;
    width: 47px; }
  100% {
    right: 16px;
    top: 37px;
    width: 47px; } }

@-webkit-keyframes scaleWarning {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1); }
  30% {
    -webkit-transform: scale(1.02);
            transform: scale(1.02); }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1); } }

@keyframes scaleWarning {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1); }
  30% {
    -webkit-transform: scale(1.02);
            transform: scale(1.02); }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1); } }

@-webkit-keyframes pulseWarning {
  0% {
    background-color: transparent;
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 0.5; }
  30% {
    background-color: transparent;
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 0.5; }
  100% {
    background-color: #ff5e05;
    -webkit-transform: scale(2);
            transform: scale(2);
    opacity: 0; } }

@keyframes pulseWarning {
  0% {
    background-color: transparent;
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 0.5; }
  30% {
    background-color: transparent;
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 0.5; }
  100% {
    background-color: #ff5e05;
    -webkit-transform: scale(2);
            transform: scale(2);
    opacity: 0; } }

@-webkit-keyframes pulseWarningIns {
  0% {
    background-color: #ff5e05; }
  100% {
    background-color: #ff5e05; } }

@keyframes pulseWarningIns {
  0% {
    background-color: #ff5e05; }
  100% {
    background-color: #ff5e05; } }

.check_mark {
  width: 90px;
  height: 90px;
  margin: 30px auto 15px; }

.sa-icon {
  width: 80px;
  height: 80px;
  border: 4px solid #12811f;
  border-radius: 40px;
  border-radius: 50%;
  padding: 0;
  position: relative;
  -webkit-box-sizing: content-box;
          box-sizing: content-box; }

.sa-icon.sa-success {
  border-color: #12811f; }

.sa-icon.sa-success::before,
.sa-icon.sa-success::after {
  content: '';
  border-radius: 40px;
  border-radius: 50%;
  position: absolute;
  width: 60px;
  height: 120px;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg); }

.sa-icon.sa-success::before {
  border-radius: 120px 0 0 120px;
  top: -7px;
  left: -33px;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  -webkit-transform-origin: 60px 60px;
          transform-origin: 60px 60px; }

.sa-icon.sa-success::after {
  border-radius: 0 120px 120px 0;
  top: -11px;
  left: 30px;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  -webkit-transform-origin: 0px 60px;
          transform-origin: 0px 60px; }

.sa-icon.sa-success .sa-placeholder {
  width: 80px;
  height: 80px;
  border-radius: 40px;
  border-radius: 50%;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  position: absolute;
  left: -4px;
  top: -4px;
  z-index: 2; }

.sa-icon.sa-success .sa-fix {
  width: 5px;
  height: 90px;
  position: absolute;
  left: 28px;
  top: 8px;
  z-index: 1;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg); }

.sa-icon.sa-success.animate::after {
  -webkit-animation: rotatePlaceholder 4.25s ease-in;
          animation: rotatePlaceholder 4.25s ease-in; }

.sa-icon.sa-success {
  border-color: transparent\9; }

.sa-icon.sa-success .sa-line.sa-tip {
  -webkit-transform: rotate(45deg) \9;
          transform: rotate(45deg) \9; }

.sa-icon.sa-success .sa-line.sa-long {
  -webkit-transform: rotate(-45deg) \9;
          transform: rotate(-45deg) \9; }

.animateSuccessTip {
  -webkit-animation: animateSuccessTip 0.75s;
          animation: animateSuccessTip 0.75s; }

.animateSuccessLong {
  -webkit-animation: animateSuccessLong 0.75s;
          animation: animateSuccessLong 0.75s; }

@-webkit-keyframes animateSuccessLong {
  0% {
    width: 0;
    right: 46px;
    top: 54px; }
  65% {
    width: 0;
    right: 46px;
    top: 54px; }
  84% {
    width: 55px;
    right: 0px;
    top: 35px; }
  100% {
    width: 47px;
    right: 8px;
    top: 38px; } }

@-webkit-keyframes animateSuccessTip {
  0% {
    width: 0;
    left: 1px;
    top: 19px; }
  54% {
    width: 0;
    left: 1px;
    top: 19px; }
  70% {
    width: 50px;
    left: -8px;
    top: 37px; }
  84% {
    width: 17px;
    left: 21px;
    top: 48px; }
  100% {
    width: 25px;
    left: 14px;
    top: 45px; } }

@keyframes animateSuccessTip {
  0% {
    width: 0;
    left: 1px;
    top: 19px; }
  54% {
    width: 0;
    left: 1px;
    top: 19px; }
  70% {
    width: 50px;
    left: -8px;
    top: 37px; }
  84% {
    width: 17px;
    left: 21px;
    top: 48px; }
  100% {
    width: 25px;
    left: 14px;
    top: 45px; } }

@keyframes animateSuccessLong {
  0% {
    width: 0;
    right: 46px;
    top: 54px; }
  65% {
    width: 0;
    right: 46px;
    top: 54px; }
  84% {
    width: 55px;
    right: 0px;
    top: 35px; }
  100% {
    width: 47px;
    right: 8px;
    top: 38px; } }

.sa-icon.sa-success .sa-line {
  height: 5px;
  background-color: #12811f;
  display: block;
  border-radius: 2px;
  position: absolute;
  z-index: 2; }

.sa-icon.sa-success .sa-line.sa-tip {
  width: 25px;
  left: 14px;
  top: 46px;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg); }

.sa-icon.sa-success .sa-line.sa-long {
  width: 47px;
  right: 8px;
  top: 38px;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg); }

@-webkit-keyframes rotatePlaceholder {
  0% {
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg); }
  5% {
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg); }
  12% {
    -webkit-transform: rotate(-405deg);
            transform: rotate(-405deg); }
  100% {
    -webkit-transform: rotate(-405deg);
            transform: rotate(-405deg); } }

@keyframes rotatePlaceholder {
  0% {
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg); }
  5% {
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg); }
  12% {
    -webkit-transform: rotate(-405deg);
            transform: rotate(-405deg); }
  100% {
    -webkit-transform: rotate(-405deg);
            transform: rotate(-405deg); } }

/*
----- Notifications ( Callouts ) -----
Handles the following: 
- On page notications ( no items found ) 
- Header notifications.
- Cookie notification.
- Callouts ( things that slide out from the edged of a window ) 
- No Javascript notification
- Browser compatiblity notification 

*/
.header-notification-container {
  width: 100%; }
  .header-notification-container .callout {
    margin: 0;
    padding: 0 10px; }
    @media print, screen and (min-width: 40em) {
      .header-notification-container .callout {
        padding: 0; } }
    .header-notification-container .callout:not(:first-of-type) {
      border-top-color: #ffffff; }
    .header-notification-container .callout h5 {
      position: relative;
      padding: 0 0 0 35px;
      margin: 10px 0;
      font-size: 0.875rem;
      font-weight: 700;
      color: #ffffff; }
      .header-notification-container .callout h5:before {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        margin: auto;
        padding: 0 5px 0 0;
        font-size: 22px;
        color: #ffffff;
        font-family: "Font Awesome Solid";
        line-height: 1; }
    .header-notification-container .callout a {
      color: #ffffff;
      font-size: 0.875rem;
      font-weight: 700;
      -webkit-transition: opacity 0.8s;
      transition: opacity 0.8s; }
      .header-notification-container .callout a:hover {
        color: #ffffff;
        opacity: 0.6;
        -webkit-transition: opacity 0.6s;
        transition: opacity 0.6s; }
      .header-notification-container .callout a:active {
        color: #ffffff; }
    .header-notification-container .callout button:not(.close-button) {
      width: 100%; }
      @media print, screen and (min-width: 40em) {
        .header-notification-container .callout button:not(.close-button) {
          width: auto; } }
      @media screen and (min-width: 81.25em) {
        .header-notification-container .callout button:not(.close-button) {
          margin-left: 10px; } }
    @media print, screen and (max-width: 81.24875em) {
      .header-notification-container .callout button.close-button {
        position: relative;
        right: 0; } }
  .header-notification-container .alert h5:before {
    content: ""; }
  .header-notification-container .warning h5:before {
    content: ""; }
  .header-notification-container .success h5:before {
    content: ""; }
  .header-notification-container .content-container {
    max-width: 1300px;
    margin: 0 auto;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
  .header-notification-container .close-button {
    width: 17px;
    height: 17px;
    display: block;
    margin: 5px 0 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
    .header-notification-container .close-button:before {
      content: "";
      font-family: "Font Awesome Solid";
      font-size: 20px;
      color: #ffffff;
      -webkit-transition: color 0.8s, -webkit-transform 0.6s;
      transition: color 0.8s, -webkit-transform 0.6s;
      transition: transform 0.6s, color 0.8s;
      transition: transform 0.6s, color 0.8s, -webkit-transform 0.6s; }
    .header-notification-container .close-button:hover:before {
      color: #ae9461;
      -webkit-transform: rotate(90deg);
              transform: rotate(90deg);
      -webkit-transition: color 0.6s, -webkit-transform 0.6s;
      transition: color 0.6s, -webkit-transform 0.6s;
      transition: transform 0.6s, color 0.6s;
      transition: transform 0.6s, color 0.6s, -webkit-transform 0.6s; }
    .header-notification-container .close-button:active:before {
      color: #06052f;
      -webkit-transition: font-size 1.2s, color 0.6s;
      transition: font-size 1.2s, color 0.6s; }

.notification-container.callout {
  display: none; }

.callout-container {
  position: fixed;
  right: 0;
  bottom: 30px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  z-index: 999999999999; }
  .callout-container.side .callout {
    border-radius: 0 0 0 0; }
  .callout-container .callout {
    position: relative;
    display: block;
    margin: 1rem 0;
    padding: 25px;
    font-weight: 600;
    font-size: 1.0625rem; }
    .callout-container .callout:before {
      content: '';
      width: 100%;
      height: 100%;
      position: absolute;
      top: 0;
      left: 0;
      display: block;
      background-color: #ffffff;
      z-index: -1; }
    .callout-container .callout.success {
      border-left: 5px solid #12811f;
      background-color: #dffbe2;
      color: #12811f; }
      .callout-container .callout.success strong {
        color: #12811f; }
    .callout-container .callout.warning {
      border-left: 5px solid #ff5e05;
      background-color: #ffefe6;
      color: #ff5e05; }
      .callout-container .callout.warning strong {
        color: #ff5e05; }
    .callout-container .callout.alert {
      border-left: 5px solid #b20c0c;
      background-color: #fde1e1;
      color: #b20c0c; }
      .callout-container .callout.alert strong {
        color: #b20c0c; }
    .callout-container .callout h5 {
      margin: 0 25px 0 0;
      font-weight: 400;
      font-size: 1.0625rem; }
      .callout-container .callout h5 strong {
        font-weight: 700; }
    .callout-container .callout .close-button {
      top: 50%;
      -webkit-transform: translateY(-50%);
              transform: translateY(-50%); }
      .callout-container .callout .close-button:before {
        position: relative;
        bottom: 4px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center; }
        .callout-container .callout .close-button:before:before {
          content: "";
          font-family: "Font Awesome Solid";
          font-size: 20px;
          color: #aeaeae;
          -webkit-transition: color 0.8s, -webkit-transform 0.6s;
          transition: color 0.8s, -webkit-transform 0.6s;
          transition: transform 0.6s, color 0.8s;
          transition: transform 0.6s, color 0.8s, -webkit-transform 0.6s; }
        .callout-container .callout .close-button:before:hover:before {
          color: #ae9461;
          -webkit-transform: rotate(90deg);
                  transform: rotate(90deg);
          -webkit-transition: color 0.6s, -webkit-transform 0.6s;
          transition: color 0.6s, -webkit-transform 0.6s;
          transition: transform 0.6s, color 0.6s;
          transition: transform 0.6s, color 0.6s, -webkit-transform 0.6s; }
        .callout-container .callout .close-button:before:active:before {
          color: #06052f;
          -webkit-transition: font-size 1.2s, color 0.6s;
          transition: font-size 1.2s, color 0.6s; }

.on-page-notifications-container {
  margin: 0 0 20px; }

.on-page-notification {
  --font-family: Font Awesome Solid;
  width: 100%;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0 10px;
  margin: 10px 0;
  padding: 35px 10px;
  font-size: 0.9375rem;
  border-radius: 0;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center; }
  .on-page-notification:has(.content-container) {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start; }
    @media screen and (min-width: 81.25em) {
      .on-page-notification:has(.content-container) {
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center; } }
  @media screen and (min-width: 81.25em) {
    .on-page-notification {
      gap: 0 15px; } }
  .on-page-notification:has(.content-container):before {
    font-family: var(--font-family);
    font-size: 22px;
    line-height: 1; }
  .on-page-notification.preset-1 {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    text-align: center; }
  .on-page-notification.preset-2 {
    padding-top: 15px;
    padding-bottom: 15px;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    text-align: left; }
    @media screen and (min-width: 81.25em) {
      .on-page-notification.preset-2 {
        padding: 15px 65px; } }
  .on-page-notification.preset-3 {
    padding: 15px 0; }
    @media screen and (min-width: 81.25em) {
      .on-page-notification.preset-3 {
        padding: 15px 0; } }
  .on-page-notification.success {
    background-color: #dffbe2;
    border: 1px solid #12811f;
    border-radius: 0; }
    .on-page-notification.success:not(.icon-configured):has(.content-container):before {
      content: ""; }
    .on-page-notification.success:has(.content-container):before {
      color: #12811f; }
    .on-page-notification.success > p:first-of-type::before {
      content: "";
      color: #12811f; }
    .on-page-notification.success h1, .on-page-notification.success h2, .on-page-notification.success h3, .on-page-notification.success h4, .on-page-notification.success h5, .on-page-notification.success h6, .on-page-notification.success p, .on-page-notification.success a {
      color: #12811f; }
  .on-page-notification.warning {
    background-color: #ffefe6;
    border: 1px solid #ff5e05;
    border-radius: 0; }
    .on-page-notification.warning:not(.icon-configured):has(.content-container):before {
      content: ""; }
    .on-page-notification.warning:has(.content-container):before {
      color: #ff5e05; }
    .on-page-notification.warning > p:first-of-type::before {
      content: "";
      color: #ff5e05; }
    .on-page-notification.warning h1, .on-page-notification.warning h2, .on-page-notification.warning h3, .on-page-notification.warning h4, .on-page-notification.warning h5, .on-page-notification.warning h6, .on-page-notification.warning p, .on-page-notification.warning a {
      color: #ff5e05; }
  .on-page-notification.alert {
    background-color: #fde1e1;
    border: 1px solid #b20c0c;
    border-radius: 0; }
    .on-page-notification.alert:not(.icon-configured):has(.content-container):before {
      content: ""; }
    .on-page-notification.alert:has(.content-container):before {
      color: #b20c0c; }
    .on-page-notification.alert > p:first-of-type:before {
      content: "";
      color: #b20c0c; }
    .on-page-notification.alert h1, .on-page-notification.alert h2, .on-page-notification.alert h3, .on-page-notification.alert h4, .on-page-notification.alert h5, .on-page-notification.alert h6, .on-page-notification.alert p, .on-page-notification.alert a {
      color: #b20c0c; }
  .on-page-notification.disabled p {
    color: #888888;
    font-weight: 600; }
  .on-page-notification.information {
    background-color: #f1f1f1;
    border: 1px solid #000000; }
    .on-page-notification.information:not(.icon-configured):has(.content-container):before {
      content: ""; }
    .on-page-notification.information:has(.content-container):before {
      color: #000000; }
    .on-page-notification.information p {
      color: #000000;
      font-weight: 600; }
  .on-page-notification.icon-non-returnable {
    --font-family: fontello; }
    .on-page-notification.icon-non-returnable:before {
      content: ""; }
  .on-page-notification .user-friendly-prefix {
    margin-right: 5px; }
  .on-page-notification > p {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
    margin: 0; }
    .on-page-notification > p:first-of-type:before {
      display: -webkit-inline-box;
      display: -ms-inline-flexbox;
      display: inline-flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      margin: auto 15px auto 0;
      font-family: var(--font-family);
      font-size: 22px; }
      @media print, screen and (max-width: 81.24875em) {
        .on-page-notification > p:first-of-type:before {
          position: absolute;
          top: 0;
          margin: auto; } }
  .on-page-notification .content-container {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin: auto 0;
    -webkit-box-shadow: none;
            box-shadow: none;
    background-color: transparent; }
    @media screen and (min-width: 81.25em) {
      .on-page-notification .content-container {
        margin: 0; } }
  .on-page-notification p {
    margin: var(--indent-margin, 0);
    font-size: 1rem;
    font-weight: 600;
    line-height: normal;
    color: #777777; }
    .on-page-notification p img[style*="float:left"], .on-page-notification p img[style*="float: left"], .on-page-notification p[style*="float:left"] > img {
      margin: .2em .2em .2em 0; }
    .on-page-notification p img[style*="float:right"], .on-page-notification p img[style*="float: right"], .on-page-notification p[style*="float:right"] > img {
      margin: .2em 0 .2em .2em; }
    .on-page-notification p img {
      margin: .2em 0; }
    .on-page-notification p + p {
      margin-top: 0;
      margin-bottom: 0; }
  .on-page-notification p:not(:empty) + table, .on-page-notification p:not(:empty) + .comparison-table-container {
    margin: 15px 0; }
  .on-page-notification table {
    --thead-border-colour: $thead-border-colour;
    max-width: 100%;
    margin-bottom: 0; }
    .on-page-notification table:not([class*=preset]) thead {
      background-color: transparent; }
      .on-page-notification table:not([class*=preset]) thead tr {
        border-bottom: 1px solid var(--thead-border-colour); }
      .on-page-notification table:not([class*=preset]) thead th {
        font-weight: 600; }
    .on-page-notification table.responsive-table {
      display: block; }
      @media screen and (min-width: 81.25em) {
        .on-page-notification table.responsive-table {
          display: table; } }
      .on-page-notification table.responsive-table:not([class*=preset]) thead {
        display: none; }
        @media screen and (min-width: 81.25em) {
          .on-page-notification table.responsive-table:not([class*=preset]) thead {
            display: table-row-group; } }
      .on-page-notification table.responsive-table tbody:not(.comparison-summary) {
        display: block; }
        @media screen and (min-width: 81.25em) {
          .on-page-notification table.responsive-table tbody:not(.comparison-summary) {
            display: table-row-group; } }
    .on-page-notification table th {
      padding: 10px 10px 10px; }
    @media screen and (min-width: 81.25em) {
      .on-page-notification table td {
        padding: 10px; } }
    .on-page-notification table thead[class*="preset"] + tbody:before {
      content: '';
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; }
      @media screen and (min-width: 81.25em) {
        .on-page-notification table thead[class*="preset"] + tbody:before {
          margin: 10px; } }
    .on-page-notification table tbody {
      background-color: transparent; }
      .on-page-notification table tbody th {
        background-color: transparent; }
      .on-page-notification table tbody tr:not(:last-child) th {
        border-bottom: 1px solid transparent; }
      @media screen and (min-width: 81.25em) {
        .on-page-notification table tbody tr {
          display: table-row; } }
    .on-page-notification table .col-label {
      color: #777777; }
    @media print, screen and (max-width: 81.24875em) {
      .on-page-notification table.responsive-table tbody tr {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column; } }
    @media print, screen and (max-width: 81.24875em) {
      .on-page-notification table.responsive-table tbody tr:not(:last-child) {
        margin-bottom: 10px;
        padding-bottom: 10px;
        border-bottom: 1px solid #eeeeee; } }
    .on-page-notification table.no-wrap {
      display: block;
      white-space: nowrap;
      overflow-x: auto; }
    .on-page-notification table.comparison-table tbody td:first-child {
      color: #777777;
      font-weight: 600; }
  .on-page-notification blockquote {
    width: 100%;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 15px;
    margin: 0 auto 40px;
    padding: 50px 30px;
    border: 1px solid transparent;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
    text-align: center;
    font-family: "Gibson", "Gibson Fallback", "Arial";
    font-size: 1rem;
    -webkit-transition: border-color 0.8s, -webkit-box-shadow 0.8s;
    transition: border-color 0.8s, -webkit-box-shadow 0.8s;
    transition: box-shadow 0.8s, border-color 0.8s;
    transition: box-shadow 0.8s, border-color 0.8s, -webkit-box-shadow 0.8s; }
    @media screen and (min-width: 81.25em) {
      .on-page-notification blockquote {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row;
        gap: 25px; } }
    .on-page-notification blockquote:hover {
      -webkit-box-shadow: none;
              box-shadow: none;
      border-color: #eeeeee;
      -webkit-transition: border-color 0.6s, -webkit-box-shadow 0.6s;
      transition: border-color 0.6s, -webkit-box-shadow 0.6s;
      transition: box-shadow 0.6s, border-color 0.6s;
      transition: box-shadow 0.6s, border-color 0.6s, -webkit-box-shadow 0.6s; }
      .on-page-notification blockquote:hover:before {
        color: #dadada;
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
    .on-page-notification blockquote:has(img) {
      text-align: left; }
    .on-page-notification blockquote:last-of-type {
      margin-bottom: 40px; }
    @media screen and (min-width: 81.25em) {
      .on-page-notification blockquote {
        padding: 50px 60px; } }
    .on-page-notification blockquote + blockquote {
      margin-top: 15px; }
    .on-page-notification blockquote:before, .on-page-notification blockquote:after {
      content: "";
      position: absolute;
      display: inline-block;
      padding: 10px;
      font-size: 40px;
      color: #eeeeee;
      font-family: "Font Awesome Solid";
      line-height: .8;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
    .on-page-notification blockquote:before {
      top: 0;
      left: 0; }
    .on-page-notification blockquote:after {
      right: 0;
      bottom: 0;
      -webkit-transform: rotate(180deg);
              transform: rotate(180deg); }
    .on-page-notification blockquote img {
      float: left; }
      @media screen and (min-width: 81.25em) {
        .on-page-notification blockquote img {
          text-align: left; } }
  .on-page-notification a[href^="tel:"], .on-page-notification a[href^="mailto:"] {
    font-weight: 700; }
    .on-page-notification a[href^="tel:"]:hover, .on-page-notification a[href^="mailto:"]:hover {
      text-decoration: none; }
    .on-page-notification a[href^="tel:"].show-contact-icon:before, .on-page-notification a[href^="mailto:"].show-contact-icon:before {
      display: inline-block;
      margin-right: 5px;
      font-family: "Font Awesome Solid"; }
  .on-page-notification a[href^="mailto:"].show-contact-icon:before {
    content: ""; }
  .on-page-notification a[href^="tel:"].show-contact-icon:before {
    content: "";
    -webkit-transform: rotate(180deg);
            transform: rotate(180deg); }
  .on-page-notification p a:not([class*="-button"]) {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 0 5px;
    font-weight: 700; }
  .on-page-notification p a:has([style*="float"]) {
    display: inline; }
  .on-page-notification a {
    text-decoration: underline; }
  .on-page-notification > p:first-of-type {
    position: relative; }
    @media print, screen and (max-width: 81.24875em) {
      .on-page-notification > p:first-of-type {
        padding-top: 27px; } }

.no-items-found-container {
  --font-family: Font Awesome Solid;
  width: 100%;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0 10px;
  margin: 10px 0;
  padding: 35px 10px;
  font-size: 0.9375rem;
  border-radius: 0;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center; }
  .no-items-found-container:has(.content-container) {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start; }
    @media screen and (min-width: 81.25em) {
      .no-items-found-container:has(.content-container) {
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center; } }
  @media screen and (min-width: 81.25em) {
    .no-items-found-container {
      gap: 0 15px; } }
  .no-items-found-container:has(.content-container):before {
    font-family: var(--font-family);
    font-size: 22px;
    line-height: 1; }
  .no-items-found-container.preset-1 {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    text-align: center; }
  .no-items-found-container.preset-2 {
    padding-top: 15px;
    padding-bottom: 15px;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    text-align: left; }
    @media screen and (min-width: 81.25em) {
      .no-items-found-container.preset-2 {
        padding: 15px 65px; } }
  .no-items-found-container.preset-3 {
    padding: 15px 0; }
    @media screen and (min-width: 81.25em) {
      .no-items-found-container.preset-3 {
        padding: 15px 0; } }
  .no-items-found-container.success {
    background-color: #dffbe2;
    border: 1px solid #12811f;
    border-radius: 0; }
    .no-items-found-container.success:not(.icon-configured):has(.content-container):before {
      content: ""; }
    .no-items-found-container.success:has(.content-container):before {
      color: #12811f; }
    .no-items-found-container.success > p:first-of-type::before {
      content: "";
      color: #12811f; }
    .no-items-found-container.success h1, .no-items-found-container.success h2, .no-items-found-container.success h3, .no-items-found-container.success h4, .no-items-found-container.success h5, .no-items-found-container.success h6, .no-items-found-container.success p, .no-items-found-container.success a {
      color: #12811f; }
  .no-items-found-container.warning {
    background-color: #ffefe6;
    border: 1px solid #ff5e05;
    border-radius: 0; }
    .no-items-found-container.warning:not(.icon-configured):has(.content-container):before {
      content: ""; }
    .no-items-found-container.warning:has(.content-container):before {
      color: #ff5e05; }
    .no-items-found-container.warning > p:first-of-type::before {
      content: "";
      color: #ff5e05; }
    .no-items-found-container.warning h1, .no-items-found-container.warning h2, .no-items-found-container.warning h3, .no-items-found-container.warning h4, .no-items-found-container.warning h5, .no-items-found-container.warning h6, .no-items-found-container.warning p, .no-items-found-container.warning a {
      color: #ff5e05; }
  .no-items-found-container.alert {
    background-color: #fde1e1;
    border: 1px solid #b20c0c;
    border-radius: 0; }
    .no-items-found-container.alert:not(.icon-configured):has(.content-container):before {
      content: ""; }
    .no-items-found-container.alert:has(.content-container):before {
      color: #b20c0c; }
    .no-items-found-container.alert > p:first-of-type:before {
      content: "";
      color: #b20c0c; }
    .no-items-found-container.alert h1, .no-items-found-container.alert h2, .no-items-found-container.alert h3, .no-items-found-container.alert h4, .no-items-found-container.alert h5, .no-items-found-container.alert h6, .no-items-found-container.alert p, .no-items-found-container.alert a {
      color: #b20c0c; }
  .no-items-found-container.disabled p {
    color: #888888;
    font-weight: 600; }
  .no-items-found-container.information {
    background-color: #f1f1f1;
    border: 1px solid #000000; }
    .no-items-found-container.information:not(.icon-configured):has(.content-container):before {
      content: ""; }
    .no-items-found-container.information:has(.content-container):before {
      color: #000000; }
    .no-items-found-container.information p {
      color: #000000;
      font-weight: 600; }
  .no-items-found-container.icon-non-returnable {
    --font-family: fontello; }
    .no-items-found-container.icon-non-returnable:before {
      content: ""; }
  .no-items-found-container .user-friendly-prefix {
    margin-right: 5px; }
  .no-items-found-container > p {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
    margin: 0; }
    .no-items-found-container > p:first-of-type:before {
      display: -webkit-inline-box;
      display: -ms-inline-flexbox;
      display: inline-flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      margin: auto 15px auto 0;
      font-family: var(--font-family);
      font-size: 22px; }
      @media print, screen and (max-width: 81.24875em) {
        .no-items-found-container > p:first-of-type:before {
          position: absolute;
          top: 0;
          margin: auto; } }
  .no-items-found-container .content-container {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin: auto 0;
    -webkit-box-shadow: none;
            box-shadow: none;
    background-color: transparent; }
    @media screen and (min-width: 81.25em) {
      .no-items-found-container .content-container {
        margin: 0; } }
  .no-items-found-container p {
    margin: var(--indent-margin, 0);
    font-size: 1rem;
    font-weight: 600;
    line-height: normal;
    color: #777777; }
    .no-items-found-container p img[style*="float:left"], .no-items-found-container p img[style*="float: left"], .no-items-found-container p[style*="float:left"] > img {
      margin: .2em .2em .2em 0; }
    .no-items-found-container p img[style*="float:right"], .no-items-found-container p img[style*="float: right"], .no-items-found-container p[style*="float:right"] > img {
      margin: .2em 0 .2em .2em; }
    .no-items-found-container p img {
      margin: .2em 0; }
    .no-items-found-container p + p {
      margin-top: 0;
      margin-bottom: 0; }
  .no-items-found-container p:not(:empty) + table, .no-items-found-container p:not(:empty) + .comparison-table-container {
    margin: 15px 0; }
  .no-items-found-container table {
    --thead-border-colour: $thead-border-colour;
    max-width: 100%;
    margin-bottom: 0; }
    .no-items-found-container table:not([class*=preset]) thead {
      background-color: transparent; }
      .no-items-found-container table:not([class*=preset]) thead tr {
        border-bottom: 1px solid var(--thead-border-colour); }
      .no-items-found-container table:not([class*=preset]) thead th {
        font-weight: 600; }
    .no-items-found-container table.responsive-table {
      display: block; }
      @media screen and (min-width: 81.25em) {
        .no-items-found-container table.responsive-table {
          display: table; } }
      .no-items-found-container table.responsive-table:not([class*=preset]) thead {
        display: none; }
        @media screen and (min-width: 81.25em) {
          .no-items-found-container table.responsive-table:not([class*=preset]) thead {
            display: table-row-group; } }
      .no-items-found-container table.responsive-table tbody:not(.comparison-summary) {
        display: block; }
        @media screen and (min-width: 81.25em) {
          .no-items-found-container table.responsive-table tbody:not(.comparison-summary) {
            display: table-row-group; } }
    .no-items-found-container table th {
      padding: 10px 10px 10px; }
    @media screen and (min-width: 81.25em) {
      .no-items-found-container table td {
        padding: 10px; } }
    .no-items-found-container table thead[class*="preset"] + tbody:before {
      content: '';
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; }
      @media screen and (min-width: 81.25em) {
        .no-items-found-container table thead[class*="preset"] + tbody:before {
          margin: 10px; } }
    .no-items-found-container table tbody {
      background-color: transparent; }
      .no-items-found-container table tbody th {
        background-color: transparent; }
      .no-items-found-container table tbody tr:not(:last-child) th {
        border-bottom: 1px solid transparent; }
      @media screen and (min-width: 81.25em) {
        .no-items-found-container table tbody tr {
          display: table-row; } }
    .no-items-found-container table .col-label {
      color: #777777; }
    @media print, screen and (max-width: 81.24875em) {
      .no-items-found-container table.responsive-table tbody tr {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column; } }
    @media print, screen and (max-width: 81.24875em) {
      .no-items-found-container table.responsive-table tbody tr:not(:last-child) {
        margin-bottom: 10px;
        padding-bottom: 10px;
        border-bottom: 1px solid #eeeeee; } }
    .no-items-found-container table.no-wrap {
      display: block;
      white-space: nowrap;
      overflow-x: auto; }
    .no-items-found-container table.comparison-table tbody td:first-child {
      color: #777777;
      font-weight: 600; }
  .no-items-found-container blockquote {
    width: 100%;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 15px;
    margin: 0 auto 40px;
    padding: 50px 30px;
    border: 1px solid transparent;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
    text-align: center;
    font-family: "Gibson", "Gibson Fallback", "Arial";
    font-size: 1rem;
    -webkit-transition: border-color 0.8s, -webkit-box-shadow 0.8s;
    transition: border-color 0.8s, -webkit-box-shadow 0.8s;
    transition: box-shadow 0.8s, border-color 0.8s;
    transition: box-shadow 0.8s, border-color 0.8s, -webkit-box-shadow 0.8s; }
    @media screen and (min-width: 81.25em) {
      .no-items-found-container blockquote {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row;
        gap: 25px; } }
    .no-items-found-container blockquote:hover {
      -webkit-box-shadow: none;
              box-shadow: none;
      border-color: #eeeeee;
      -webkit-transition: border-color 0.6s, -webkit-box-shadow 0.6s;
      transition: border-color 0.6s, -webkit-box-shadow 0.6s;
      transition: box-shadow 0.6s, border-color 0.6s;
      transition: box-shadow 0.6s, border-color 0.6s, -webkit-box-shadow 0.6s; }
      .no-items-found-container blockquote:hover:before {
        color: #dadada;
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
    .no-items-found-container blockquote:has(img) {
      text-align: left; }
    .no-items-found-container blockquote:last-of-type {
      margin-bottom: 40px; }
    @media screen and (min-width: 81.25em) {
      .no-items-found-container blockquote {
        padding: 50px 60px; } }
    .no-items-found-container blockquote + blockquote {
      margin-top: 15px; }
    .no-items-found-container blockquote:before, .no-items-found-container blockquote:after {
      content: "";
      position: absolute;
      display: inline-block;
      padding: 10px;
      font-size: 40px;
      color: #eeeeee;
      font-family: "Font Awesome Solid";
      line-height: .8;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
    .no-items-found-container blockquote:before {
      top: 0;
      left: 0; }
    .no-items-found-container blockquote:after {
      right: 0;
      bottom: 0;
      -webkit-transform: rotate(180deg);
              transform: rotate(180deg); }
    .no-items-found-container blockquote img {
      float: left; }
      @media screen and (min-width: 81.25em) {
        .no-items-found-container blockquote img {
          text-align: left; } }
  .no-items-found-container a[href^="tel:"], .no-items-found-container a[href^="mailto:"] {
    font-weight: 700; }
    .no-items-found-container a[href^="tel:"]:hover, .no-items-found-container a[href^="mailto:"]:hover {
      text-decoration: none; }
    .no-items-found-container a[href^="tel:"].show-contact-icon:before, .no-items-found-container a[href^="mailto:"].show-contact-icon:before {
      display: inline-block;
      margin-right: 5px;
      font-family: "Font Awesome Solid"; }
  .no-items-found-container a[href^="mailto:"].show-contact-icon:before {
    content: ""; }
  .no-items-found-container a[href^="tel:"].show-contact-icon:before {
    content: "";
    -webkit-transform: rotate(180deg);
            transform: rotate(180deg); }
  .no-items-found-container p a:not([class*="-button"]) {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 0 5px;
    font-weight: 700; }
  .no-items-found-container p a:has([style*="float"]) {
    display: inline; }
  .no-items-found-container a {
    text-decoration: underline; }
  .no-items-found-container > p:first-of-type {
    position: relative; }
    @media print, screen and (max-width: 81.24875em) {
      .no-items-found-container > p:first-of-type {
        padding-top: 27px; } }

.internal-error-container {
  --font-family: Font Awesome Solid;
  width: 100%;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0 10px;
  margin: 10px 0;
  padding: 35px 10px;
  font-size: 0.9375rem;
  border-radius: 0;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
  background-color: #fde1e1;
  border: 1px solid #b20c0c; }
  .internal-error-container:has(.content-container) {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start; }
    @media screen and (min-width: 81.25em) {
      .internal-error-container:has(.content-container) {
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center; } }
  @media screen and (min-width: 81.25em) {
    .internal-error-container {
      gap: 0 15px; } }
  .internal-error-container:has(.content-container):before {
    font-family: var(--font-family);
    font-size: 22px;
    line-height: 1; }
  .internal-error-container.preset-1 {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    text-align: center; }
  .internal-error-container.preset-2 {
    padding-top: 15px;
    padding-bottom: 15px;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    text-align: left; }
    @media screen and (min-width: 81.25em) {
      .internal-error-container.preset-2 {
        padding: 15px 65px; } }
  .internal-error-container.preset-3 {
    padding: 15px 0; }
    @media screen and (min-width: 81.25em) {
      .internal-error-container.preset-3 {
        padding: 15px 0; } }
  .internal-error-container.success {
    background-color: #dffbe2;
    border: 1px solid #12811f;
    border-radius: 0; }
    .internal-error-container.success:not(.icon-configured):has(.content-container):before {
      content: ""; }
    .internal-error-container.success:has(.content-container):before {
      color: #12811f; }
    .internal-error-container.success > p:first-of-type::before {
      content: "";
      color: #12811f; }
    .internal-error-container.success h1, .internal-error-container.success h2, .internal-error-container.success h3, .internal-error-container.success h4, .internal-error-container.success h5, .internal-error-container.success h6, .internal-error-container.success p, .internal-error-container.success a {
      color: #12811f; }
  .internal-error-container.warning {
    background-color: #ffefe6;
    border: 1px solid #ff5e05;
    border-radius: 0; }
    .internal-error-container.warning:not(.icon-configured):has(.content-container):before {
      content: ""; }
    .internal-error-container.warning:has(.content-container):before {
      color: #ff5e05; }
    .internal-error-container.warning > p:first-of-type::before {
      content: "";
      color: #ff5e05; }
    .internal-error-container.warning h1, .internal-error-container.warning h2, .internal-error-container.warning h3, .internal-error-container.warning h4, .internal-error-container.warning h5, .internal-error-container.warning h6, .internal-error-container.warning p, .internal-error-container.warning a {
      color: #ff5e05; }
  .internal-error-container.alert {
    background-color: #fde1e1;
    border: 1px solid #b20c0c;
    border-radius: 0; }
    .internal-error-container.alert:not(.icon-configured):has(.content-container):before {
      content: ""; }
    .internal-error-container.alert:has(.content-container):before {
      color: #b20c0c; }
    .internal-error-container.alert > p:first-of-type:before {
      content: "";
      color: #b20c0c; }
    .internal-error-container.alert h1, .internal-error-container.alert h2, .internal-error-container.alert h3, .internal-error-container.alert h4, .internal-error-container.alert h5, .internal-error-container.alert h6, .internal-error-container.alert p, .internal-error-container.alert a {
      color: #b20c0c; }
  .internal-error-container.disabled p {
    color: #888888;
    font-weight: 600; }
  .internal-error-container.information {
    background-color: #f1f1f1;
    border: 1px solid #000000; }
    .internal-error-container.information:not(.icon-configured):has(.content-container):before {
      content: ""; }
    .internal-error-container.information:has(.content-container):before {
      color: #000000; }
    .internal-error-container.information p {
      color: #000000;
      font-weight: 600; }
  .internal-error-container.icon-non-returnable {
    --font-family: fontello; }
    .internal-error-container.icon-non-returnable:before {
      content: ""; }
  .internal-error-container .user-friendly-prefix {
    margin-right: 5px; }
  .internal-error-container > p {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
    margin: 0; }
    .internal-error-container > p:first-of-type:before {
      display: -webkit-inline-box;
      display: -ms-inline-flexbox;
      display: inline-flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      margin: auto 15px auto 0;
      font-family: var(--font-family);
      font-size: 22px; }
      @media print, screen and (max-width: 81.24875em) {
        .internal-error-container > p:first-of-type:before {
          position: absolute;
          top: 0;
          margin: auto; } }
  .internal-error-container .content-container {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin: auto 0;
    -webkit-box-shadow: none;
            box-shadow: none;
    background-color: transparent; }
    @media screen and (min-width: 81.25em) {
      .internal-error-container .content-container {
        margin: 0; } }
  .internal-error-container p {
    margin: var(--indent-margin, 0);
    font-size: 1rem;
    font-weight: 600;
    line-height: normal;
    color: #777777; }
    .internal-error-container p img[style*="float:left"], .internal-error-container p img[style*="float: left"], .internal-error-container p[style*="float:left"] > img {
      margin: .2em .2em .2em 0; }
    .internal-error-container p img[style*="float:right"], .internal-error-container p img[style*="float: right"], .internal-error-container p[style*="float:right"] > img {
      margin: .2em 0 .2em .2em; }
    .internal-error-container p img {
      margin: .2em 0; }
    .internal-error-container p + p {
      margin-top: 0;
      margin-bottom: 0; }
  .internal-error-container p:not(:empty) + table, .internal-error-container p:not(:empty) + .comparison-table-container {
    margin: 15px 0; }
  .internal-error-container table {
    --thead-border-colour: $thead-border-colour;
    max-width: 100%;
    margin-bottom: 0; }
    .internal-error-container table:not([class*=preset]) thead {
      background-color: transparent; }
      .internal-error-container table:not([class*=preset]) thead tr {
        border-bottom: 1px solid var(--thead-border-colour); }
      .internal-error-container table:not([class*=preset]) thead th {
        font-weight: 600; }
    .internal-error-container table.responsive-table {
      display: block; }
      @media screen and (min-width: 81.25em) {
        .internal-error-container table.responsive-table {
          display: table; } }
      .internal-error-container table.responsive-table:not([class*=preset]) thead {
        display: none; }
        @media screen and (min-width: 81.25em) {
          .internal-error-container table.responsive-table:not([class*=preset]) thead {
            display: table-row-group; } }
      .internal-error-container table.responsive-table tbody:not(.comparison-summary) {
        display: block; }
        @media screen and (min-width: 81.25em) {
          .internal-error-container table.responsive-table tbody:not(.comparison-summary) {
            display: table-row-group; } }
    .internal-error-container table th {
      padding: 10px 10px 10px; }
    @media screen and (min-width: 81.25em) {
      .internal-error-container table td {
        padding: 10px; } }
    .internal-error-container table thead[class*="preset"] + tbody:before {
      content: '';
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; }
      @media screen and (min-width: 81.25em) {
        .internal-error-container table thead[class*="preset"] + tbody:before {
          margin: 10px; } }
    .internal-error-container table tbody {
      background-color: transparent; }
      .internal-error-container table tbody th {
        background-color: transparent; }
      .internal-error-container table tbody tr:not(:last-child) th {
        border-bottom: 1px solid transparent; }
      @media screen and (min-width: 81.25em) {
        .internal-error-container table tbody tr {
          display: table-row; } }
    .internal-error-container table .col-label {
      color: #777777; }
    @media print, screen and (max-width: 81.24875em) {
      .internal-error-container table.responsive-table tbody tr {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column; } }
    @media print, screen and (max-width: 81.24875em) {
      .internal-error-container table.responsive-table tbody tr:not(:last-child) {
        margin-bottom: 10px;
        padding-bottom: 10px;
        border-bottom: 1px solid #eeeeee; } }
    .internal-error-container table.no-wrap {
      display: block;
      white-space: nowrap;
      overflow-x: auto; }
    .internal-error-container table.comparison-table tbody td:first-child {
      color: #777777;
      font-weight: 600; }
  .internal-error-container blockquote {
    width: 100%;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 15px;
    margin: 0 auto 40px;
    padding: 50px 30px;
    border: 1px solid transparent;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
    text-align: center;
    font-family: "Gibson", "Gibson Fallback", "Arial";
    font-size: 1rem;
    -webkit-transition: border-color 0.8s, -webkit-box-shadow 0.8s;
    transition: border-color 0.8s, -webkit-box-shadow 0.8s;
    transition: box-shadow 0.8s, border-color 0.8s;
    transition: box-shadow 0.8s, border-color 0.8s, -webkit-box-shadow 0.8s; }
    @media screen and (min-width: 81.25em) {
      .internal-error-container blockquote {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row;
        gap: 25px; } }
    .internal-error-container blockquote:hover {
      -webkit-box-shadow: none;
              box-shadow: none;
      border-color: #eeeeee;
      -webkit-transition: border-color 0.6s, -webkit-box-shadow 0.6s;
      transition: border-color 0.6s, -webkit-box-shadow 0.6s;
      transition: box-shadow 0.6s, border-color 0.6s;
      transition: box-shadow 0.6s, border-color 0.6s, -webkit-box-shadow 0.6s; }
      .internal-error-container blockquote:hover:before {
        color: #dadada;
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
    .internal-error-container blockquote:has(img) {
      text-align: left; }
    .internal-error-container blockquote:last-of-type {
      margin-bottom: 40px; }
    @media screen and (min-width: 81.25em) {
      .internal-error-container blockquote {
        padding: 50px 60px; } }
    .internal-error-container blockquote + blockquote {
      margin-top: 15px; }
    .internal-error-container blockquote:before, .internal-error-container blockquote:after {
      content: "";
      position: absolute;
      display: inline-block;
      padding: 10px;
      font-size: 40px;
      color: #eeeeee;
      font-family: "Font Awesome Solid";
      line-height: .8;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
    .internal-error-container blockquote:before {
      top: 0;
      left: 0; }
    .internal-error-container blockquote:after {
      right: 0;
      bottom: 0;
      -webkit-transform: rotate(180deg);
              transform: rotate(180deg); }
    .internal-error-container blockquote img {
      float: left; }
      @media screen and (min-width: 81.25em) {
        .internal-error-container blockquote img {
          text-align: left; } }
  .internal-error-container a[href^="tel:"], .internal-error-container a[href^="mailto:"] {
    font-weight: 700; }
    .internal-error-container a[href^="tel:"]:hover, .internal-error-container a[href^="mailto:"]:hover {
      text-decoration: none; }
    .internal-error-container a[href^="tel:"].show-contact-icon:before, .internal-error-container a[href^="mailto:"].show-contact-icon:before {
      display: inline-block;
      margin-right: 5px;
      font-family: "Font Awesome Solid"; }
  .internal-error-container a[href^="mailto:"].show-contact-icon:before {
    content: ""; }
  .internal-error-container a[href^="tel:"].show-contact-icon:before {
    content: "";
    -webkit-transform: rotate(180deg);
            transform: rotate(180deg); }
  .internal-error-container p a:not([class*="-button"]) {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 0 5px;
    font-weight: 700; }
  .internal-error-container p a:has([style*="float"]) {
    display: inline; }
  .internal-error-container a {
    text-decoration: underline; }
  .internal-error-container > p:first-of-type {
    position: relative; }
    @media print, screen and (max-width: 81.24875em) {
      .internal-error-container > p:first-of-type {
        padding-top: 27px; } }
  .internal-error-container p {
    color: #b20c0c; }
    .internal-error-container p:before {
      content: "";
      color: #b20c0c; }

#noJsBasketNotification {
  position: absolute;
  top: 100%;
  padding: 10px 30px;
  background-color: #ffffff;
  text-align: left;
  opacity: 0;
  visibility: hidden;
  z-index: 1; }
  #noJsBasketNotification p {
    margin: 0 0 10px;
    color: #ff0101;
    font-weight: 700; }
    #noJsBasketNotification p:last-of-type {
      margin: 0 0 30px; }
  #noJsBasketNotification a {
    width: auto;
    float: right;
    padding: 15px 20px;
    font-size: 1rem; }

.notification-container.compatibility {
  width: 100%;
  max-height: 500px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 20px 0;
  background-color: rgba(255, 1, 1, 0.9);
  color: #ffffff;
  z-index: 1;
  border-color: #ffffff;
  border-style: solid;
  border-width: 1px 0 0;
  -webkit-transition: background-color 0.8s;
  transition: background-color 0.8s; }
  .notification-container.compatibility:hover {
    background-color: #ff0101;
    -webkit-transition: background-color 0.6s;
    transition: background-color 0.6s; }
  .notification-container.compatibility h3 {
    margin: 0;
    font-size: 1.5rem;
    color: #ffffff; }
  .notification-container.compatibility p {
    margin: 0;
    font-size: 1rem;
    font-weight: 600; }
  .notification-container.compatibility a {
    color: #ffffff;
    text-decoration: underline; }
    .notification-container.compatibility a:hover {
      color: #000000;
      -webkit-transition: color box-shadow 0.8s, border-color 0.8s;
      transition: color box-shadow 0.8s, border-color 0.8s; }

.notifications-container {
  width: 100%;
  position: fixed;
  bottom: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  z-index: 2000; }

.notification-container {
  max-height: 0;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  overflow: hidden;
  z-index: 9999999999;
  -webkit-transition: max-height 0.8s;
  transition: max-height 0.8s; }
  .notification-container.active {
    max-height: 500px;
    padding: 7.5px 15px;
    -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.1);
            box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.1);
    -webkit-transition-delay: 450ms;
            transition-delay: 450ms;
    -webkit-transition: max-height 3s;
    transition: max-height 3s; }
    @media screen and (min-width: 81.25em) {
      .notification-container.active {
        padding: 15px 30px; } }
  .notification-container .notification {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
  .notification-container .notification-icon {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    margin: auto 12px auto 0;
    padding: 5px;
    background-color: #ffffff;
    border-radius: 0; }
    @media screen and (min-width: 81.25em) {
      .notification-container .notification-icon {
        margin-right: auto 10px auto 0; } }
    .notification-container .notification-icon img {
      width: 40px; }
  .notification-container .content-container {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -ms-flex-preferred-size: 180px;
        flex-basis: 180px;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    color: #000000; }
    @media screen and (min-width: 81.25em) {
      .notification-container .content-container {
        width: 70%; } }
    .notification-container .content-container p {
      padding: 0;
      margin: 0; }
  .notification-container .button-container {
    width: 100%;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-top: 17px; }
    @media screen and (min-width: 81.25em) {
      .notification-container .button-container {
        width: auto;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row;
        -webkit-box-pack: end;
            -ms-flex-pack: end;
                justify-content: flex-end;
        margin: auto; } }
    .notification-container .button-container [class$="-button"] {
      margin: 0; }
      .notification-container .button-container [class$="-button"]:not(:first-child) {
        margin-top: 12px; }
        @media screen and (min-width: 81.25em) {
          .notification-container .button-container [class$="-button"]:not(:first-child) {
            margin-top: 0;
            margin-left: 10px; } }
  .notification-container .read-more {
    width: 100%;
    max-height: 0;
    overflow: hidden;
    -webkit-transition: padding-top 2s, max-height 0.8s;
    transition: padding-top 2s, max-height 0.8s; }
    .notification-container .read-more.active {
      max-height: 300px;
      padding-top: 25px;
      -webkit-transition: padding-top 0.6s, max-height 0.6s;
      transition: padding-top 0.6s, max-height 0.6s; }
      .notification-container .read-more.active .read-more-content {
        border-width: 1px;
        border-color: #000000;
        -webkit-transition: border-color 0.6s;
        transition: border-color 0.6s; }
    .notification-container .read-more .read-more-content {
      overflow-y: scroll;
      padding: 10px;
      background-color: #ffffff;
      border-width: 0;
      border-style: solid;
      border-color: transparent;
      border-radius: 0;
      -webkit-transition: border-color 0.8s;
      transition: border-color 0.8s; }
      .notification-container .read-more .read-more-content h1 {
        margin: 0 0 35px;
        font-size: 2.125rem;
        font-weight: 400;
        font-style: normal;
        color: #06052f;
        line-height: 1.4;
        background-color: transparent; }
        .notification-container .read-more .read-more-content h1:first-child {
          margin-top: 0; }
        .notification-container .read-more .read-more-content h1:only-child {
          margin: 0; }
      .notification-container .read-more .read-more-content h2 {
        margin: 0 0 20px;
        font-size: 1.25rem;
        font-weight: 600;
        font-style: normal;
        color: #06052f;
        line-height: 1.4; }
        .notification-container .read-more .read-more-content h2:first-child {
          margin-top: 0; }
        .notification-container .read-more .read-more-content h2:only-child {
          margin: 0; }
      .notification-container .read-more .read-more-content h3 {
        margin: 0 0 20px;
        padding: 15px 0;
        font-size: 1.125rem;
        font-weight: 600;
        font-style: normal;
        color: #06052f;
        line-height: 1.4; }
        .notification-container .read-more .read-more-content h3:first-child {
          margin-top: 0; }
        .notification-container .read-more .read-more-content h3:only-child {
          margin: 0; }
      .notification-container .read-more .read-more-content h4 {
        margin: 0 0 20px;
        padding: 0 0 10px;
        font-size: 1.2rem;
        font-weight: 500;
        font-style: normal;
        color: #06052f;
        line-height: 1.4; }
        .notification-container .read-more .read-more-content h4:first-child {
          margin-top: 0; }
        .notification-container .read-more .read-more-content h4:only-child {
          margin: 0; }
      .notification-container .read-more .read-more-content h5 {
        margin: 0 0 20px;
        font-size: 1rem;
        font-weight: 600;
        font-style: normal;
        color: #06052f;
        line-height: 1.4; }
        .notification-container .read-more .read-more-content h5:first-child {
          margin-top: 0; }
        .notification-container .read-more .read-more-content h5:only-child {
          margin: 0; }
      .notification-container .read-more .read-more-content h6 {
        margin: 0 0 20px;
        font-size: 1rem;
        font-weight: 600;
        font-style: normal;
        color: #06052f;
        line-height: 1.4; }
        .notification-container .read-more .read-more-content h6:first-child {
          margin-top: 0; }
        .notification-container .read-more .read-more-content h6:only-child {
          margin: 0; }
      .notification-container .read-more .read-more-content p {
        margin: var(--indent-margin, 0);
        font-size: 1rem;
        font-weight: 400;
        line-height: 1.6;
        color: #777777; }
        .notification-container .read-more .read-more-content p img[style*="float:left"], .notification-container .read-more .read-more-content p img[style*="float: left"], .notification-container .read-more .read-more-content p[style*="float:left"] > img {
          margin: .2em .2em .2em 0; }
        .notification-container .read-more .read-more-content p img[style*="float:right"], .notification-container .read-more .read-more-content p img[style*="float: right"], .notification-container .read-more .read-more-content p[style*="float:right"] > img {
          margin: .2em 0 .2em .2em; }
        .notification-container .read-more .read-more-content p img {
          margin: .2em 0; }
        .notification-container .read-more .read-more-content p + p {
          margin-top: 0;
          margin-bottom: 0; }
      .notification-container .read-more .read-more-content ul, .notification-container .read-more .read-more-content ol {
        text-align: left; }
      .notification-container .read-more .read-more-content ul {
        margin: 10px;
        padding: 0;
        line-height: 1.6;
        list-style: none;
        line-height: 25px; }
        .notification-container .read-more .read-more-content ul ul {
          padding-top: 0;
          padding-bottom: 0;
          padding-left: 25px; }
        .notification-container .read-more .read-more-content ul li {
          position: relative;
          padding: 0 0 0 15px; }
          .notification-container .read-more .read-more-content ul li:before {
            content: '';
            width: 5px;
            height: 5px;
            position: absolute;
            top: 10px;
            left: 0;
            margin: auto;
            display: block;
            background-color: #06052f;
            border-radius: 5px; }
      .notification-container .read-more .read-more-content ol {
        margin: 10px;
        padding: 0 25px;
        line-height: 1.6; }
        .notification-container .read-more .read-more-content ol ol {
          margin: 0;
          padding-top: 0;
          padding-bottom: 0;
          list-style-type: lower-alpha; }
          .notification-container .read-more .read-more-content ol ol ol {
            list-style-type: lower-roman; }
            .notification-container .read-more .read-more-content ol ol ol ol {
              list-style-type: lower-alpha; }
              .notification-container .read-more .read-more-content ol ol ol ol ol {
                list-style-type: lower-roman; }
      .notification-container .read-more .read-more-content li {
        color: #777777;
        font-size: 1rem;
        font-weight: 400;
        line-height: 1.6; }
      .notification-container .read-more .read-more-content ul + h1, .notification-container .read-more .read-more-content ol + h1 {
        margin-top: 35px; }
      .notification-container .read-more .read-more-content ul + h2, .notification-container .read-more .read-more-content ol + h2 {
        margin-top: 20px; }
      .notification-container .read-more .read-more-content ul + h3, .notification-container .read-more .read-more-content ol + h3 {
        margin-top: 20px; }
      .notification-container .read-more .read-more-content ul + h4, .notification-container .read-more .read-more-content ol + h4 {
        margin-top: 20px; }
      .notification-container .read-more .read-more-content ul + h5, .notification-container .read-more .read-more-content ol + h5 {
        margin-top: 20px; }
      .notification-container .read-more .read-more-content ul + h6, .notification-container .read-more .read-more-content ol + h6 {
        margin-top: 20px; }
      .notification-container .read-more .read-more-content dl {
        text-align: left; }
      .notification-container .read-more .read-more-content p:not(:empty) + table, .notification-container .read-more .read-more-content p:not(:empty) + .comparison-table-container {
        margin: 15px 0; }
      .notification-container .read-more .read-more-content table {
        --thead-border-colour: $thead-border-colour;
        max-width: 100%;
        margin-bottom: 0; }
        .notification-container .read-more .read-more-content table:not([class*=preset]) thead {
          background-color: transparent; }
          .notification-container .read-more .read-more-content table:not([class*=preset]) thead tr {
            border-bottom: 1px solid var(--thead-border-colour); }
          .notification-container .read-more .read-more-content table:not([class*=preset]) thead th {
            font-weight: 600; }
        .notification-container .read-more .read-more-content table.responsive-table {
          display: block; }
          @media screen and (min-width: 81.25em) {
            .notification-container .read-more .read-more-content table.responsive-table {
              display: table; } }
          .notification-container .read-more .read-more-content table.responsive-table:not([class*=preset]) thead {
            display: none; }
            @media screen and (min-width: 81.25em) {
              .notification-container .read-more .read-more-content table.responsive-table:not([class*=preset]) thead {
                display: table-row-group; } }
          .notification-container .read-more .read-more-content table.responsive-table tbody:not(.comparison-summary) {
            display: block; }
            @media screen and (min-width: 81.25em) {
              .notification-container .read-more .read-more-content table.responsive-table tbody:not(.comparison-summary) {
                display: table-row-group; } }
        .notification-container .read-more .read-more-content table th {
          padding: 10px 10px 10px; }
        @media screen and (min-width: 81.25em) {
          .notification-container .read-more .read-more-content table td {
            padding: 10px; } }
        .notification-container .read-more .read-more-content table thead[class*="preset"] + tbody:before {
          content: '';
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex; }
          @media screen and (min-width: 81.25em) {
            .notification-container .read-more .read-more-content table thead[class*="preset"] + tbody:before {
              margin: 10px; } }
        .notification-container .read-more .read-more-content table tbody {
          background-color: transparent; }
          .notification-container .read-more .read-more-content table tbody th {
            background-color: transparent; }
          .notification-container .read-more .read-more-content table tbody tr:not(:last-child) th {
            border-bottom: 1px solid transparent; }
          @media screen and (min-width: 81.25em) {
            .notification-container .read-more .read-more-content table tbody tr {
              display: table-row; } }
        .notification-container .read-more .read-more-content table .col-label {
          color: #777777; }
        @media print, screen and (max-width: 81.24875em) {
          .notification-container .read-more .read-more-content table.responsive-table tbody tr {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-orient: vertical;
            -webkit-box-direction: normal;
                -ms-flex-direction: column;
                    flex-direction: column; } }
        @media print, screen and (max-width: 81.24875em) {
          .notification-container .read-more .read-more-content table.responsive-table tbody tr:not(:last-child) {
            margin-bottom: 10px;
            padding-bottom: 10px;
            border-bottom: 1px solid #eeeeee; } }
        .notification-container .read-more .read-more-content table.no-wrap {
          display: block;
          white-space: nowrap;
          overflow-x: auto; }
        .notification-container .read-more .read-more-content table.comparison-table tbody td:first-child {
          color: #777777;
          font-weight: 600; }
  .notification-container .read-more-trigger {
    width: 100%;
    display: block;
    margin-bottom: 12px;
    color: #000000;
    font-weight: 600;
    -webkit-transition: color 0.8s;
    transition: color 0.8s; }
    @media screen and (min-width: 81.25em) {
      .notification-container .read-more-trigger {
        margin-bottom: 0; } }
    .notification-container .read-more-trigger:hover {
      color: #ae9461;
      text-decoration: underline;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }
    .notification-container .read-more-trigger:active, .notification-container .read-more-trigger.active {
      color: #06052f;
      text-decoration: underline; }
  .notification-container.pwa {
    background-color: #50506d; }
  .notification-container.cookie {
    background-color: rgba(174, 174, 174, 0.9); }

/*

---- Image Overlays ---- 

Image overlays for essentially highlighted items:
- Special Offers
- Featured Items
- Best Sellers
- Previously Purchased

These normally are the size of the product image whether its on a listing or product page with a transparent background.

We allow for different images to be displayed if a group is marked as a highlighted item or whether its an individual product.

*/
#special-offers .overlay.stock.specialOffer {
  display: none; }

#featured-items .overlay.stock.featured {
  display: none; }

#best-sellers .overlay.stock.bestSeller {
  display: none; }

.content-container:not(.compact) .overlay {
  background-position: center; }

#mainImageContainer .overlay {
  background-position: center; }

.image {
  position: relative;
  display: grid;
  place-content: center;
  aspect-ratio: var(--media-aspect-ratio, auto);
  overflow: hidden; }
  .image:has(img[src$=".png"]) {
    background-color: #ffffff; }
  .image:hover .overlay {
    opacity: 0;
    -webkit-transition: opacity 0.6s;
    transition: opacity 0.6s; }
  .image img {
    max-width: 100%;
    max-height: 100%;
    -o-object-fit: contain;
       object-fit: contain; }
    .image img[src$=".svg"], .image img[src$=".SVG"] {
      width: 100%; }
  .image a {
    width: 100%;
    text-align: center; }
  .image .overlay {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background-size: contain;
    background-repeat: no-repeat;
    pointer-events: none;
    -webkit-transition: opacity 0.8s;
    transition: opacity 0.8s; }
    .image .overlay.group.specialOffer {
      background-image: url("/content/images/overlays/group/sash-special-ebg.png"); }
    .image .overlay.group.featured {
      background-image: url("/content/images/overlays/group/sash-featured-ebg.png"); }
    .image .overlay.group.bestSeller {
      background-image: url("/content/images/overlays/group/sash-bestseller-ebg.png"); }
    .image .overlay.stock.specialOffer {
      background-image: url("/content/images/overlays/product/sash-special-ebg.png"); }
    .image .overlay.stock.featured {
      background-image: url("/content/images/overlays/product/sash-featured-ebg.png"); }
    .image .overlay.stock.bestSeller {
      background-image: url("/content/images/overlays/product/sash-bestseller-ebg.png"); }
    .image .overlay.stock.previously-purchased {
      background-image: url("/content/images/overlays/product/sash-previously-purchased.png"); }
    .image .overlay.stock.contract-item {
      background-image: url("/content/images/overlays/product/sash-contract-item.png"); }

[data-countdown-time] {
  max-height: 0;
  overflow: hidden; }

.countdown-container p {
  display: inline-block;
  margin: 0;
  padding: 0; }
  .countdown-container p:before {
    content: "";
    display: inline-block;
    padding: 0 7px 0 0;
    font-family: "Font Awesome Solid";
    font-size: 16px;
    color: #06052f; }

.countdown-container .countdown-display, .countdown-container .display-label {
  margin: 0 5px 0;
  font-weight: 700;
  color: #06052f;
  -webkit-transition: color 0.6s;
  transition: color 0.6s; }
  .countdown-container .countdown-display + .display-label, .countdown-container .display-label + .display-label {
    margin-left: 0; }

.countdown-container[countdown-status=alert] .countdown-display, .countdown-container[countdown-status=alert] .display-label {
  color: #b20c0c;
  -webkit-transition: color 0.8s;
  transition: color 0.8s; }

.countdown-container[countdown-status=warning] .countdown-display, .countdown-container[countdown-status=warning] .display-label {
  color: #ae9461;
  -webkit-transition: color 0.8s;
  transition: color 0.8s; }

.countdown-container.countdown-inactive {
  max-height: 0;
  -webkit-transition: max-height 0.6s;
  transition: max-height 0.6s; }

.countdown-container.countdown-active {
  max-height: 1000px;
  -webkit-transition: max-height 5s;
  transition: max-height 5s; }

/*

----- PWA ( Progressive Web Application ) ----- 
- Installation prompt.

*/
/*
----- Payment Methods -----
Handles the following: 
- How payment methods such of opayo iframe looks in the checkout.
*/
.payment-container {
  margin: 0 0 20px; }
  .payment-container:not(:has(> .payment-method)) {
    max-width: 100%;
    width: 100%;
    margin: 0 auto 20px;
    padding: 20px;
    border: 1px solid var(--neutral-colour-lightness-8);
    -webkit-transition: border-color 0.8s, -webkit-box-shadow 0.8s;
    transition: border-color 0.8s, -webkit-box-shadow 0.8s;
    transition: box-shadow 0.8s, border-color 0.8s;
    transition: box-shadow 0.8s, border-color 0.8s, -webkit-box-shadow 0.8s; }
    .payment-container:not(:has(> .payment-method)):hover {
      -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
              box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
      border-color: #c8c8c8;
      -webkit-transition: 0.6s, -webkit-box-shadow 0.6s;
      transition: 0.6s, -webkit-box-shadow 0.6s;
      transition: box-shadow 0.6s, 0.6s;
      transition: box-shadow 0.6s, 0.6s, -webkit-box-shadow 0.6s; }
    @media screen and (min-width: 81.25em) {
      .payment-container:not(:has(> .payment-method)) {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
        margin: 0 0 30px; } }
    .payment-container:not(:has(> .payment-method)) iframe {
      width: 100%;
      border: 0; }
    .payment-container:not(:has(> .payment-method)):has(.container-resized) {
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content; }
  .payment-container .payment-method {
    max-width: 500px;
    min-height: 504px;
    width: 100%;
    margin: auto;
    border: 2px solid #dadada;
    overflow-y: auto;
    -webkit-transition: border-color 0.8s, -webkit-box-shadow 0.8s;
    transition: border-color 0.8s, -webkit-box-shadow 0.8s;
    transition: box-shadow 0.8s, border-color 0.8s;
    transition: box-shadow 0.8s, border-color 0.8s, -webkit-box-shadow 0.8s; }
    .payment-container .payment-method:hover {
      border-color: #eeeeee;
      -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.1);
              box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.1);
      -webkit-transition: border-color 0.6s, -webkit-box-shadow 0.6s;
      transition: border-color 0.6s, -webkit-box-shadow 0.6s;
      transition: box-shadow 0.6s, border-color 0.6s;
      transition: box-shadow 0.6s, border-color 0.6s, -webkit-box-shadow 0.6s; }
    .payment-container .payment-method iframe {
      width: 100%;
      height: 500px;
      display: block; }
      .payment-container .payment-method iframe#opayo-iframe {
        height: 550px;
        min-height: 500px; }
  .payment-container .pi-card-payment {
    max-width: 100%; }
    .payment-container .pi-card-payment.small {
      width: 250px;
      height: 400px; }
    .payment-container .pi-card-payment.medium {
      width: 390px;
      height: 400px; }
    .payment-container .pi-card-payment.large {
      width: 500px;
      height: 600px; }
    .payment-container .pi-card-payment.extra-large {
      width: 600px;
      height: 400px; }
    .payment-container .pi-card-payment iframe {
      width: 100%;
      height: 100%; }

form + .payment-method-selector {
  margin-top: 20px; }

.payment-method-selector {
  position: relative;
  margin-bottom: 50px; }
  .payment-method-selector .payment-method-container:only-child .accordion-title:after {
    display: none; }
  .payment-method-selector .payment-method-container.card-payment .title-icon {
    width: 30px;
    background-image: url("/template/content/development/images/icons/card-payment.svg"); }
  .payment-method-selector .payment-method-container.paypal .title-icon {
    width: 100px;
    background-image: url("/template/content/development/images/icons/paypal.svg"); }
  .payment-method-selector .payment-method-container.google-pay .accordion-title {
    padding: 0 20px 0 0; }
  .payment-method-selector .payment-method-container.google-pay .title-icon {
    width: 115px;
    height: 72px;
    background-image: url("/template/content/development/images/icons/google-pay.svg"); }
  .payment-method-selector .payment-method-container.apple-pay .title-icon {
    width: 60px;
    background-image: url("/template/content/development/images/icons/apply-pay.svg"); }
  .payment-method-selector .payment-method-container .accordion-title {
    gap: 10px;
    padding: 20px 20px; }
  .payment-method-selector .payment-method-container.card-payment.opayo {
    --container-font-family: sans-serif;
    --container-font-size: 1rem;
    --container-line-height: 40px; }
  .payment-method-selector .payment-method-container.card-payment .page-buttons-container {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row; }
  .payment-method-selector .payment-method-container.card-payment .button-container {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 20px;
    margin: 0 auto; }
    @media screen and (min-width: 81.25em) {
      .payment-method-selector .payment-method-container.card-payment .button-container {
        margin: 0; } }
  .payment-method-selector .payment-method-container.card-payment .control.checkbox {
    max-width: 600px;
    width: 100%;
    border-top: 1px solid #ddd; }
    .payment-method-selector .payment-method-container.card-payment .control.checkbox.checkbox .checkbox {
      margin-left: auto; }
    .payment-method-selector .payment-method-container.card-payment .control.checkbox .label {
      font-family: var(--container-font-family);
      font-size: var(--container-font-size);
      line-height: var(--container-line-height); }
  .payment-method-selector .payment-method-container .details-container {
    width: 100%;
    padding: 0 20px; }
    .payment-method-selector .payment-method-container .details-container + .payment-container {
      margin-top: 20px; }
    @media screen and (min-width: 81.25em) {
      .payment-method-selector .payment-method-container .details-container {
        width: calc(440px + 20px); } }
  .payment-method-selector .payment-method-container iframe {
    border: 0; }
  .payment-method-selector .paypal-button {
    max-width: 340px; }

.card-frame-container {
  max-width: 100%;
  width: 100%; }

/**

---- Social Media Icons ---- 

Where these get used:
- On the product page to share a sku on either of the following:
    - Facebook
    - Twitter
    - LinkedIn 
    - Email
- In the footer to take the user to the organisation's social media pages
- There are two colour modes:
    - site-specific: matches the customer's site branding.
    - social-branding: follows the brand guidelines of each social platform.

**/
.social-icons-heading {
  width: 100%;
  display: block;
  color: #06052f; }

.social-icons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column; }
  .social-icons.product, .social-icons.module {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 8px;
    margin: 10px 0; }
    @media screen and (min-width: 81.25em) {
      .social-icons.product, .social-icons.module {
        float: right; } }
  .social-icons.review {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 8px; }
  .social-icons.footer {
    margin: 0 0 20px;
    padding: 0 0 15px;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start; }
    @media screen and (min-width: 81.25em) {
      .social-icons.footer {
        margin: 0 0 20px;
        padding: 0 0 30px; } }
    .social-icons.footer .social-icons-heading h3 {
      margin: 0 0 30px;
      color: #06052f;
      font-size: 1rem;
      font-weight: 400;
      text-transform: uppercase;
      line-height: 1; }
      @media screen and (min-width: 81.25em) {
        .social-icons.footer .social-icons-heading h3 {
          margin: 0 0 40px; } }
    .social-icons.footer a {
      width: 45px;
      height: 45px; }
      .social-icons.footer a:before {
        font-size: 23px; }
    .social-icons.footer .icons-container {
      width: 100%;
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start; }
  .social-icons a {
    width: 35px;
    height: 35px;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    text-decoration: none;
    background-color: #ffffff;
    border-width: 2px;
    border-style: solid;
    border-color: #ffffff;
    border-radius: 25px;
    -webkit-transition: border-color 0.8s , opacity 0.8s;
    transition: border-color 0.8s , opacity 0.8s; }
    .social-icons a:before {
      font-size: 18px;
      font-family: "Font Awesome Brands";
      color: #000000;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
    .social-icons a:hover {
      background-color: #ae9461;
      border-color: #ae9461;
      opacity: 1;
      -webkit-transition: background-color 0.6s, color 0.6s , opacity 0.6s;
      transition: background-color 0.6s, color 0.6s , opacity 0.6s; }
      .social-icons a:hover:before {
        color: #ffffff;
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
    .social-icons a:active {
      background-color: #06052f;
      border-color: #06052f; }
      .social-icons a:active:before {
        color: #ffffff; }
    .social-icons a.facebook {
      border-color: #1877f2; }
      .social-icons a.facebook:hover {
        background-color: #1877f2; }
        .social-icons a.facebook:hover:before {
          color: #ffffff; }
      .social-icons a.facebook:active {
        background-color: rgba(24, 119, 242, 0.6); }
      .social-icons a.facebook:before {
        content: "";
        color: #1877f2; }
    .social-icons a.twitter {
      border-color: #1DA1F2; }
      .social-icons a.twitter:hover {
        background-color: #1DA1F2; }
        .social-icons a.twitter:hover:before {
          color: #ffffff; }
      .social-icons a.twitter:active {
        background-color: rgba(29, 161, 242, 0.6); }
      .social-icons a.twitter:before {
        content: "";
        color: #1DA1F2; }
    .social-icons a.linkedIn {
      border-color: #0A66C2; }
      .social-icons a.linkedIn:hover {
        background-color: #0A66C2; }
        .social-icons a.linkedIn:hover:before {
          color: #ffffff; }
      .social-icons a.linkedIn:active {
        background-color: rgba(10, 102, 194, 0.6); }
      .social-icons a.linkedIn:before {
        content: "";
        color: #0A66C2; }
    .social-icons a.instagram {
      border-width: 2px;
      border-color: #d6249f;
      background: #ffffff;
      -webkit-transition: background 0.8s;
      transition: background 0.8s; }
      .social-icons a.instagram:hover {
        background: #d6249f;
        background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285AEB 90%);
        border-width: 0;
        -webkit-transition: background 0.6s;
        transition: background 0.6s; }
        .social-icons a.instagram:hover:before {
          color: #ffffff;
          -webkit-text-fill-color: inherit;
          -webkit-transition: background 0.6s;
          transition: background 0.6s; }
      .social-icons a.instagram:active {
        background: #d6249f;
        background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285AEB 90%);
        opacity: 0.6; }
        .social-icons a.instagram:active:before {
          color: #ffffff;
          -webkit-text-fill-color: inherit; }
      .social-icons a.instagram:before {
        content: "";
        padding: 5px;
        background: #d6249f;
        background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285AEB 90%);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent; }
    .social-icons a.youtube {
      border-color: #FF0000; }
      .social-icons a.youtube:hover {
        background-color: #FF0000; }
        .social-icons a.youtube:hover:before {
          color: #ffffff; }
      .social-icons a.youtube:active {
        background-color: rgba(255, 0, 0, 0.6); }
      .social-icons a.youtube:before {
        content: "";
        color: #FF0000; }
    .social-icons a.google-plus, .social-icons a.google_plus {
      border-color: #FF0000; }
      .social-icons a.google-plus:hover, .social-icons a.google_plus:hover {
        background-color: #FF0000; }
        .social-icons a.google-plus:hover:before, .social-icons a.google_plus:hover:before {
          color: #ffffff; }
      .social-icons a.google-plus:active, .social-icons a.google_plus:active {
        background-color: rgba(255, 0, 0, 0.6); }
      .social-icons a.google-plus:before, .social-icons a.google_plus:before {
        content: "";
        color: #FF0000; }
    .social-icons a.email:before {
      content: "";
      font-family: "Font Awesome Solid"; }
  .social-icons .icons-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 8px; }

.reveal-social-icons-container {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  .reveal-social-icons-container .social-icons {
    max-width: 0;
    height: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    overflow: hidden;
    -webkit-transition: max-width 0.8s;
    transition: max-width 0.8s; }
    .reveal-social-icons-container .social-icons.reveal-next-to-toggle.active {
      max-width: 300px;
      height: auto;
      -webkit-transition: max-width 0.6s;
      transition: max-width 0.6s; }
      .reveal-social-icons-container .social-icons.reveal-next-to-toggle.active + .social-icons-share-toggle {
        margin-left: 10px; }
    .reveal-social-icons-container .social-icons.reveal-over-toggle {
      position: absolute;
      top: 0;
      left: 0;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      gap: 8px;
      background-color: #ffffff; }
      .reveal-social-icons-container .social-icons.reveal-over-toggle.active {
        max-width: 300px;
        height: auto;
        -webkit-transition: max-width 0.6s;
        transition: max-width 0.6s;
        padding: 8px;
        border: 1px solid #06052f;
        z-index: 1000; }
        .reveal-social-icons-container .social-icons.reveal-over-toggle.active + .social-icons-share-toggle {
          margin-left: 0; }
      .reveal-social-icons-container .social-icons.reveal-over-toggle .reveal-close-button-container {
        position: relative;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        padding-left: 10px; }
        .reveal-social-icons-container .social-icons.reveal-over-toggle .reveal-close-button-container:before {
          content: '';
          width: 1px;
          height: 80%;
          display: block;
          position: absolute;
          top: 0;
          left: 0;
          bottom: 0;
          margin: auto;
          background: #dadada; }
      .reveal-social-icons-container .social-icons.reveal-over-toggle .reveal-close-button {
        position: relative;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center; }
        .reveal-social-icons-container .social-icons.reveal-over-toggle .reveal-close-button:before {
          content: "";
          font-family: "Font Awesome Solid";
          font-size: 20px;
          color: #000000;
          -webkit-transition: color 0.8s, -webkit-transform 0.6s;
          transition: color 0.8s, -webkit-transform 0.6s;
          transition: transform 0.6s, color 0.8s;
          transition: transform 0.6s, color 0.8s, -webkit-transform 0.6s; }
        .reveal-social-icons-container .social-icons.reveal-over-toggle .reveal-close-button:hover:before {
          color: #ae9461;
          -webkit-transform: rotate(90deg);
                  transform: rotate(90deg);
          -webkit-transition: color 0.6s, -webkit-transform 0.6s;
          transition: color 0.6s, -webkit-transform 0.6s;
          transition: transform 0.6s, color 0.6s;
          transition: transform 0.6s, color 0.6s, -webkit-transform 0.6s; }
        .reveal-social-icons-container .social-icons.reveal-over-toggle .reveal-close-button:active:before {
          color: #06052f;
          -webkit-transition: font-size 1.2s, color 0.6s;
          transition: font-size 1.2s, color 0.6s; }

.social-icons-share-toggle .share-button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  gap: 10px;
  font-size: 0.875rem;
  color: #888888;
  -webkit-transition: color 0.8s;
  transition: color 0.8s; }
  .social-icons-share-toggle .share-button:after {
    content: "";
    display: inline-block;
    font-family: "Font Awesome Solid";
    color: #06052f;
    font-size: 12px;
    -webkit-transition: color 0.8s;
    transition: color 0.8s; }
  .social-icons-share-toggle .share-button:hover, .social-icons-share-toggle .share-button:hover:after {
    color: #ae9461;
    -webkit-transition: color 0.6s;
    transition: color 0.6s; }
  .social-icons-share-toggle .share-button:active, .social-icons-share-toggle .share-button:active:after {
    color: #06052f; }

/*
----- Equipment selector ( Printer wizard ) ------ 
- The equipment selector drop down selection.
- Equipment selector list which is essentially a list of anchors.
*/
.equipment-selector-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  background: #06052f;
  background: -webkit-gradient(linear, left bottom, left top, color-stop(5%, #dadada), color-stop(65%, #777777));
  background: linear-gradient(0deg, #dadada 5%, #777777 65%); }
  @media screen and (min-width: 81.25em) {
    .equipment-selector-container {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      padding: 20px 30px; } }

.equipment-selector-heading {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 10px 0 0;
  text-align: center;
  font-size: 1.625rem;
  font-style: italic;
  font-weight: 400;
  color: #ffffff; }
  @media screen and (min-width: 81.25em) {
    .equipment-selector-heading {
      padding: 0;
      text-align: left; } }
  .equipment-selector-heading span {
    width: 100%; }
    @media screen and (min-width: 81.25em) {
      .equipment-selector-heading span {
        width: auto;
        margin-right: 25px; } }

.equipment-selectors {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  padding: 10px 10px 20px; }
  @media screen and (min-width: 81.25em) {
    .equipment-selectors {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      padding: 0; } }
  .equipment-selectors form {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
  .equipment-selectors label.control {
    width: 100%;
    margin: 5px 0; }
    @media screen and (min-width: 81.25em) {
      .equipment-selectors label.control {
        max-width: 300px;
        width: auto;
        -webkit-box-flex: 1;
            -ms-flex-positive: 1;
                flex-grow: 1;
        margin: 0 15px; } }
  .equipment-selectors a {
    max-height: 45px;
    margin: 5px auto; }
    @media screen and (min-width: 81.25em) {
      .equipment-selectors a {
        margin: 0 0 0 auto; } }

.equipment-selector-list {
  margin-top: 20px; }
  @media screen and (min-width: 81.25em) {
    .equipment-selector-list {
      margin-top: 40px; } }
  .equipment-selector-list h2 {
    margin: 0 0 0 0 25px-10px; }
  .equipment-selector-list ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin: 0;
    padding: 0;
    list-style: none; }
    .equipment-selector-list ul li {
      -ms-flex-preferred-size: 100%;
          flex-basis: 100%;
      margin: 0;
      padding: 10px 0; }
      @media print, screen and (min-width: 40em) {
        .equipment-selector-list ul li {
          -ms-flex-preferred-size: 50%;
              flex-basis: 50%; } }
      @media screen and (min-width: 81.25em) {
        .equipment-selector-list ul li {
          -ms-flex-preferred-size: 33%;
              flex-basis: 33%; } }
    .equipment-selector-list ul a:hover {
      text-decoration: underline; }

/*
----- Pick & Mix ------ 
- A selection of multiple items to create a pack.
*/
.pick-n-mix-container {
  margin: 15px 0;
  padding: 0 0 25px;
  background: #06052f;
  background: -webkit-gradient(linear, left bottom, left top, color-stop(5%, #dadada), color-stop(65%, #777777));
  background: linear-gradient(0deg, #dadada 5%, #777777 65%);
  border-radius: 0; }
  @media screen and (min-width: 81.25em) {
    .pick-n-mix-container {
      padding: 0 0 50px; } }

.pick-n-mix-header {
  margin-bottom: 20px;
  text-align: center;
  color: #ffffff; }
  .pick-n-mix-header h2 {
    margin: 0 0 25px;
    font-size: 2.1875rem;
    font-weight: 400;
    font-style: italic;
    color: #ffffff; }
    .pick-n-mix-header h2:before {
      background-color: #ffffff; }
  .pick-n-mix-header h3 {
    font-size: 1.625rem;
    color: #ffffff; }
  .pick-n-mix-header h4 {
    padding: 0 10px;
    margin: 0 0 20px;
    font-size: 1.6875rem;
    color: #ffffff; }
    .pick-n-mix-header h4 span {
      color: #ae9461; }
  .pick-n-mix-header p {
    padding: 0 10px;
    margin: 0;
    font-size: 1.125rem; }
  .pick-n-mix-header .header-background {
    margin-bottom: 20px;
    padding: 30px 10px;
    background-repeat: no-repeat;
    background-position: center;
    border-bottom: 1px solid #ffffff; }
    @media screen and (min-width: 81.25em) {
      .pick-n-mix-header .header-background {
        padding: 20px 10px; } }

.pick-n-mix-selector-container {
  padding: 0 10px; }
  @media screen and (min-width: 81.25em) {
    .pick-n-mix-selector-container {
      max-width: 850px;
      width: 100%;
      margin: auto; } }
  .pick-n-mix-selector-container .pick-n-mix-item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    margin: 7.5px 0; }
    @media screen and (min-width: 81.25em) {
      .pick-n-mix-selector-container .pick-n-mix-item {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row; } }
  @media screen and (min-width: 81.25em) {
    .pick-n-mix-selector-container .image-container {
      margin-right: 10px; } }
  .pick-n-mix-selector-container .image-container .image {
    --media-aspect-ratio: 1/1;
    border-radius: 0;
    aspect-ratio: var(--media-aspect-ratio, auto); }
  .pick-n-mix-selector-container .pick-n-mix-item-description {
    width: 100%;
    color: #ffffff;
    font-size: 1.125rem;
    font-weight: 700; }
    @media screen and (min-width: 81.25em) {
      .pick-n-mix-selector-container .pick-n-mix-item-description {
        width: auto;
        -webkit-box-flex: 1;
            -ms-flex: 1;
                flex: 1; } }
  .pick-n-mix-selector-container .slider {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    margin: 0 20px; }
    @media screen and (min-width: 81.25em) {
      .pick-n-mix-selector-container .slider {
        max-width: 240px;
        width: 100%;
        -webkit-box-flex: 1;
            -ms-flex: auto;
                flex: auto;
        margin: 0 40px; } }
  @media screen and (min-width: 81.25em) {
    .pick-n-mix-selector-container .input-group .label {
      display: none; } }
  .pick-n-mix-selector-container .pick-n-mix-total-row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    margin-bottom: 22.5px;
    color: #ffffff;
    font-weight: 700; }
    @media screen and (min-width: 81.25em) {
      .pick-n-mix-selector-container .pick-n-mix-total-row {
        margin-bottom: 45px; } }
    .pick-n-mix-selector-container .pick-n-mix-total-row .total-selected-container, .pick-n-mix-selector-container .pick-n-mix-total-row .remaining-container {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: end;
          -ms-flex-pack: end;
              justify-content: flex-end;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center; }
    .pick-n-mix-selector-container .pick-n-mix-total-row .total-selected-container {
      margin: 17.5px 0; }
      .pick-n-mix-selector-container .pick-n-mix-total-row .total-selected-container .label {
        color: #ae9461;
        margin: 0 20px; }
        @media screen and (min-width: 81.25em) {
          .pick-n-mix-selector-container .pick-n-mix-total-row .total-selected-container .label {
            margin: 0 40px; } }
      .pick-n-mix-selector-container .pick-n-mix-total-row .total-selected-container .selected-count {
        width: 50px;
        height: 40px;
        display: -webkit-inline-box;
        display: -ms-inline-flexbox;
        display: inline-flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        margin: 0 40px;
        font-size: 1rem;
        font-weight: 800;
        color: #ffffff;
        border-color: #c8c8c8;
        background-color: #ae9461; }
    .pick-n-mix-selector-container .pick-n-mix-total-row .remaining-container .remaining-count-message {
      opacity: 0;
      -webkit-transition: opacity 0.8s;
      transition: opacity 0.8s;
      font-size: 1rem; }
      .pick-n-mix-selector-container .pick-n-mix-total-row .remaining-container .remaining-count-message.active {
        opacity: 1;
        -webkit-transition: opacity 0.6s;
        transition: opacity 0.6s; }
    .pick-n-mix-selector-container .pick-n-mix-total-row .remaining-container .remaining-count {
      margin-right: 5px;
      font-size: 1.125rem;
      color: #ae9461; }
    @media screen and (min-width: 81.25em) {
      .pick-n-mix-selector-container .pick-n-mix-total-row .form-error {
        text-align: right; } }

.pick-n-mix-buttons-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column; }
  @media screen and (min-width: 81.25em) {
    .pick-n-mix-buttons-container {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row; } }
  .pick-n-mix-buttons-container .add-to-basket-container {
    width: 100%; }
    @media print, screen and (max-width: 81.24875em) {
      .pick-n-mix-buttons-container .add-to-basket-container button[type=submit] {
        margin-rigth: 0;
        margin-left: 0; } }
    @media screen and (min-width: 81.25em) {
      .pick-n-mix-buttons-container .add-to-basket-container {
        max-width: -webkit-fit-content;
        max-width: -moz-fit-content;
        max-width: fit-content;
        margin-left: auto; } }

input.ui-state-active, .input-number.ui-state-active {
  -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.1);
          box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.1);
  border-color: #e5b701;
  border-width: 2px;
  -webkit-transition: box-shodaw 0.6s;
  transition: box-shodaw 0.6s; }

.cms-content-container + .pick-n-mix-container {
  margin-top: 10px; }
  @media print, screen and (min-width: 40em) {
    .cms-content-container + .pick-n-mix-container {
      margin-top: 10px; } }
  @media screen and (min-width: 81.25em) {
    .cms-content-container + .pick-n-mix-container {
      margin-top: 15px; } }

@media screen and (min-width: 81.25em) {
  #productListItems.list .pick-n-mix-button {
    width: 25%;
    text-align: center; } }

.pick-n-mix-selection {
  margin: 5px 0;
  padding: 0 0 0 20px; }
  .pick-n-mix-selection li {
    font-size: 0.875rem; }

/* 

----- Animations ----- 
TODO: This is the very first dev cycle of just tring to get HTML5 Canvas's exported from adobe animate to work inside of express and to have multiple animations on the page at once, so there is still much work to be done here its more of a proof of concept at this point.
- Animated HTML5 Canvas's
- Interactive Animations.
*/
canvas {
  max-width: 100%; }

.client-search-no-results {
  display: none; }
  .client-search-no-results.active {
    display: block; }
  .client-search-no-results h3 {
    margin-bottom: 10px; }

/*
----- Top bar -----
This has had to be written due to foundation's top-bar currently doesn't support centered items, you only get the option top-bar-left & top-bar-right, the design calls for the currency selector to be in the middle.
*/
.top-bar {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column; }
  @media screen and (min-width: 81.25em) {
    .top-bar {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row; } }
  .top-bar.upper {
    max-width: 1300px;
    margin: auto; }
  .top-bar .top-bar-left, .top-bar .top-bar-right {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
    .top-bar .top-bar-left > ul, .top-bar .top-bar-right > ul {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      margin: auto 0; }
      .top-bar .top-bar-left > ul li, .top-bar .top-bar-right > ul li {
        padding: 7.5px 15px; }
        .top-bar .top-bar-left > ul li:first-child, .top-bar .top-bar-right > ul li:first-child {
          padding-right: 15px !important; }
        .top-bar .top-bar-left > ul li:last-child, .top-bar .top-bar-right > ul li:last-child {
          padding-left: 15px !important; }
  .top-bar .top-bar-center {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1; }
  @media screen and (min-width: 81.25em) {
    .top-bar .top-bar-right {
      margin-left: auto; } }
  .top-bar .menu, .top-bar .dropdown.menu {
    margin: 0;
    padding: 0; }
    @media screen and (min-width: 81.25em) {
      .top-bar .menu > li, .top-bar .dropdown.menu > li {
        border-radius: 0; } }
    .top-bar .menu > li a:active, .top-bar .dropdown.menu > li a:active {
      background-color: transparent; }
    .top-bar .menu li, .top-bar .dropdown.menu li {
      list-style: none; }
      .top-bar .menu li:hover, .top-bar .dropdown.menu li:hover {
        background-color: transparent; }
        .top-bar .menu li:hover > a, .top-bar .dropdown.menu li:hover > a {
          color: #ae9461; }
      .top-bar .menu li:active, .top-bar .dropdown.menu li:active {
        background-color: transparent; }
        .top-bar .menu li:active > a, .top-bar .dropdown.menu li:active > a {
          color: #06052f; }
      .top-bar .menu li a, .top-bar .dropdown.menu li a {
        color: #000000;
        font-family: "Gibson", "Gibson Fallback", "Arial";
        font-size: 1rem;
        font-weight: 400;
        text-decoration: none;
        text-transform: none;
        padding: 7.5px 15px;
        -webkit-transition: color 0.8s;
        transition: color 0.8s; }
        .top-bar .menu li a:hover, .top-bar .dropdown.menu li a:hover {
          -webkit-transition: color 0.6s;
          transition: color 0.6s; }
      .top-bar .menu li.site-setting-menu > a:before, .top-bar .dropdown.menu li.site-setting-menu > a:before {
        color: #000000; }
      .top-bar .menu li.site-setting-menu > a .currency-icon:before, .top-bar .dropdown.menu li.site-setting-menu > a .currency-icon:before {
        color: #000000; }
      .top-bar .menu li.site-setting-menu > a:hover:before, .top-bar .dropdown.menu li.site-setting-menu > a:hover:before {
        color: #ae9461; }

#topBarUpperOuterCountainer, .header-top-bar-container {
  background-color: #eeeeee;
  padding: 0; }
  @media screen and (min-width: 81.25em) {
    #topBarUpperOuterCountainer, .header-top-bar-container {
      padding: 0 10px; } }
  @media screen and (min-width: 120em) {
    #topBarUpperOuterCountainer, .header-top-bar-container {
      padding: 0; } }

.sg-page-header {
  margin-bottom: 35px;
  padding: 20px 10px;
  background-color: #eeeeee; }
  @media screen and (min-width: 81.25em) {
    .sg-page-header {
      margin: 0 15px 35px 0; } }

.sg-section-container {
  margin: 0 15px 15px 0; }
  @media screen and (min-width: 81.25em) {
    .sg-section-container {
      margin: 0 15px 25px 0; } }

.sg-heading {
  padding: 15px 10px;
  background-color: #def3b3; }
  .sg-heading h2 {
    color: #5f7b27; }

.sg-intro {
  padding: 0 5px; }

.sg-sub-heading {
  padding: 10px 5px;
  background-color: #def3b3; }
  .sg-sub-heading h3 {
    color: #5f7b27;
    font-weight: 600;
    font-size: 1.5rem; }

.sg-sub-description {
  margin-bottom: 10px; }

.sg-content {
  display: block;
  margin-bottom: 20px;
  padding: 10px;
  border: 2px solid #f3f3f3; }

.sg-demo-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: distribute;
      justify-content: space-around;
  padding: 0;
  margin: 0;
  list-style: none; }
  .sg-demo-list li {
    padding: 0 10px; }

.sg-item-information-container,
.css-property-view {
  margin: 0 0 20px;
  padding: 10px;
  background-color: #eeeeee;
  color: #777777; }
  .sg-item-information-container p,
  .css-property-view p {
    margin: 3px 0; }
  .sg-item-information-container p,
  .sg-item-information-container li,
  .css-property-view p,
  .css-property-view li {
    font-size: 0.875rem; }
  .sg-item-information-container ul,
  .css-property-view ul {
    margin: 0;
    padding: 0 0 0 20px; }
  .sg-item-information-container .item-info-label,
  .css-property-view .item-info-label {
    width: 200px;
    padding-right: 5px;
    font-weight: 600; }

.sg-item-seperator {
  border: 1px solid #eeeeee; }

.sg-cell-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin: 10px 20px;
  padding: 15px;
  border: 1px solid #eeeeee; }

.sg-colour-palette .grid-collection-x {
  padding: 15px 0; }
  .sg-colour-palette .grid-collection-x:not(:last-child) {
    border-bottom: 2px solid #eeeeee; }

.colour-block {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin: 5px 0;
  padding: 8px 8px 6px;
  color: #777777;
  text-transform: uppercase;
  border: 1px solid #dadada;
  border-radius: 2px;
  -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
          box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3); }
  .colour-block:hover .lightened-percentage {
    opacity: 1;
    -webkit-transition: opacity 0.6s;
    transition: opacity 0.6s; }
  .colour-block .lightened-percentage {
    position: absolute;
    top: 5px;
    left: 5px;
    padding: 10px;
    background-color: #ffffff;
    font-size: 0.875rem;
    font-weight: 600;
    opacity: .7;
    text-transform: uppercase;
    -webkit-transition: opacity 0.8s;
    transition: opacity 0.8s; }
  .colour-block [data-colour-preview] {
    display: block;
    width: 100%;
    height: 100px;
    margin-bottom: 0.42857rem; }
  .colour-block .colour-hex-label {
    text-align: right;
    font-weight: 600; }
  .colour-block .colour0 {
    background-color: transparent; }
  .colour-block .colour1 {
    background-color: #ffffff; }
  .colour-block .colour2 {
    background-color: #000000; }
  .colour-block .colour3 {
    background-color: #eeeeee; }
  .colour-block .colour3-1 {
    background-color: #dadada; }
  .colour-block .colour3-2 {
    background-color: #aeaeae; }
  .colour-block .colour3-3 {
    background-color: #888888; }
  .colour-block .colour3-4 {
    background-color: #c8c8c8; }
  .colour-block .colour3-5 {
    background-color: #f3f3f3; }
  .colour-block .colour3-6 {
    background-color: #777777; }
  .colour-block .colour3-7 {
    background-color: #7b7b7b; }
  .colour-block .colour4 {
    background-color: #06052f; }
  .colour-block .colour4-1 {
    background-color: #06052f; }
  .colour-block .colour4-2 {
    background-color: #06052f; }
  .colour-block .colour4-3 {
    background-color: #50506d; }
  .colour-block .colour4-4 {
    background-color: #06052f; }
  .colour-block .colour4-5 {
    background-color: #06052f; }
  .colour-block .colour4-6 {
    background-color: #06052f; }
  .colour-block .colour4-7 {
    background-color: #06052f; }
  .colour-block .colour6 {
    background-color: #ae9461; }
  .colour-block .colour6-1 {
    background-color: #806a52; }
  .colour-block .colour6-2 {
    background-color: #b8b875; }
  .colour-block .accent-colour-1-lightness-0 {
    background-color: #c00000; }
  .colour-block .accent-colour-1-lightness-1 {
    background-color: #e00000; }
  .colour-block .accent-colour-1-lightness-2 {
    background-color: #ff0101; }
  .colour-block .accent-colour-1-lightness-3 {
    background-color: #ff2020; }
  .colour-block .accent-colour-1-lightness-4 {
    background-color: #ff4040; }
  .colour-block .accent-colour-1-lightness-5 {
    background-color: #ff6060; }
  .colour-block .accent-colour-1-lightness-6 {
    background-color: #ff8080; }
  .colour-block .accent-colour-1-lightness-7 {
    background-color: #ffa0a0; }
  .colour-block .accent-colour-1-lightness-8 {
    background-color: #ffbfbf; }
  .colour-block .accent-colour-1-lightness-9 {
    background-color: #ffdfdf; }
  .colour-block .accent-colour-1-lightness-10 {
    background-color: #ffefef; }
  .colour-block .accent-colour-2-lightness-0 {
    background-color: #2b579a; }
  .colour-block .accent-colour-2-lightness-1 {
    background-color: #3265b2; }
  .colour-block .accent-colour-2-lightness-2 {
    background-color: #3b73c8; }
  .colour-block .accent-colour-2-lightness-3 {
    background-color: #5485cf; }
  .colour-block .accent-colour-2-lightness-4 {
    background-color: #6c96d6; }
  .colour-block .accent-colour-2-lightness-5 {
    background-color: #85a8dd; }
  .colour-block .accent-colour-2-lightness-6 {
    background-color: #9db9e4; }
  .colour-block .accent-colour-2-lightness-7 {
    background-color: #b6cbeb; }
  .colour-block .accent-colour-2-lightness-8 {
    background-color: #cedcf1; }
  .colour-block .accent-colour-2-lightness-9 {
    background-color: #e7eef8; }
  .colour-block .accent-colour-2-lightness-10 {
    background-color: #f3f6fc; }
  .colour-block .accent-colour-3-lightness-0 {
    background-color: #e5b701; }
  .colour-block .accent-colour-3-lightness-1 {
    background-color: #fecc04; }
  .colour-block .accent-colour-3-lightness-2 {
    background-color: #fed120; }
  .colour-block .accent-colour-3-lightness-3 {
    background-color: #fed73c; }
  .colour-block .accent-colour-3-lightness-4 {
    background-color: #fedd58; }
  .colour-block .accent-colour-3-lightness-5 {
    background-color: #fee274; }
  .colour-block .accent-colour-3-lightness-6 {
    background-color: #ffe88f; }
  .colour-block .accent-colour-3-lightness-7 {
    background-color: #ffeeab; }
  .colour-block .accent-colour-3-lightness-8 {
    background-color: #fff4c7; }
  .colour-block .accent-colour-3-lightness-9 {
    background-color: #fff9e3; }
  .colour-block .accent-colour-3-lightness-10 {
    background-color: #fffcf1; }
  .colour-block .accent-colour-4-lightness-0 {
    background-color: #ae9461; }
  .colour-block .accent-colour-4-lightness-1 {
    background-color: #b69f71; }
  .colour-block .accent-colour-4-lightness-2 {
    background-color: #bea981; }
  .colour-block .accent-colour-4-lightness-3 {
    background-color: #c6b490; }
  .colour-block .accent-colour-4-lightness-4 {
    background-color: #cebfa0; }
  .colour-block .accent-colour-4-lightness-5 {
    background-color: #d7cab0; }
  .colour-block .accent-colour-4-lightness-6 {
    background-color: #dfd4c0; }
  .colour-block .accent-colour-4-lightness-7 {
    background-color: #e7dfd0; }
  .colour-block .accent-colour-4-lightness-8 {
    background-color: #efeadf; }
  .colour-block .accent-colour-4-lightness-9 {
    background-color: #f7f4ef; }
  .colour-block .accent-colour-4-lightness-10 {
    background-color: #fbfaf7; }
  .colour-block .success-colour {
    background-color: #12811f; }
  .colour-block .warning-colour {
    background-color: #ff5e05; }
  .colour-block .alert-colour {
    background-color: #b20c0c; }
  .colour-block .price-colour {
    background-color: #06052f; }
  .colour-block .saving-colour {
    background-color: #06052f; }
  .colour-block .rrp-colour {
    background-color: #000000; }

.sg-buttons .sg-comparison-table .action-button {
  margin: 0 auto !important; }

.sg-on-page-notifications td {
  vertical-align: middle; }

.sg-on-page-notifications .notification-type {
  width: 100%; }
  .sg-on-page-notifications .notification-type + .notification-style {
    margin-top: 10px;
    padding: 10px 0;
    border-top: 1px solid #eeeeee; }

.sg-on-page-notifications .notification-style {
  color: #777777; }

.sg-quantity-selectors .product-grid-module {
  margin: auto 0 0; }

.sg-callouts .callout-container {
  position: relative; }

.sg-comparison-table th {
  text-align: center; }
  .sg-comparison-table th:first-child {
    padding-left: 10px;
    text-align: left; }

.sg-comparison-table td:first-child {
  padding-left: 10px;
  font-weight: 600; }

.sg-comparison-table td:not(:first-child) {
  padding: 10px;
  text-align: center; }

.sg-comparison-table td [class*="-button"] {
  margin-right: auto;
  margin-left: auto; }

#table-of-contents-sticky-container .sticky {
  z-index: 2; }

.table-of-contents {
  width: 100%;
  display: block;
  margin-right: 10px;
  padding: 10px;
  border: 1px solid #eeeeee;
  background-color: #ffffff; }
  @media screen and (min-width: 81.25em) {
    .table-of-contents {
      -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
              box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); } }
  .table-of-contents .heading {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 10px;
    padding: 15px 10px;
    color: #5f7b27;
    background-color: #def3b3; }
    .table-of-contents .heading h2 {
      margin: 0;
      padding: 0;
      font-size: 1.375rem;
      line-height: 1; }
  @media screen and (min-width: 81.25em) {
    .table-of-contents .sections {
      max-height: 60vh;
      overflow-y: auto; } }
  .table-of-contents .sections ul {
    padding: 0;
    list-style: none; }
    .table-of-contents .sections ul li {
      position: relative;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      padding-left: 20px;
      -webkit-transition: background-color 0.8s;
      transition: background-color 0.8s; }
      .table-of-contents .sections ul li:first-child:before {
        border-top-right-radius: 10px;
        border-top-left-radius: 10px; }
      .table-of-contents .sections ul li:last-child:before {
        border-bottom-right-radius: 10px;
        border-bottom-left-radius: 10px; }
      .table-of-contents .sections ul li:before {
        content: '';
        width: 5px;
        height: 100%;
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        background-color: #777777;
        -webkit-transition: background-color .6s ease-in;
        transition: background-color .6s ease-in; }
      .table-of-contents .sections ul li:hover {
        background-color: #eeeeee;
        -webkit-transition: background-color 0.6s;
        transition: background-color 0.6s; }
      .table-of-contents .sections ul li.active {
        background-color: #def3b365; }
        .table-of-contents .sections ul li.active:before {
          background-color: #06052f;
          -webkit-transition: background-color .4s ease-out;
          transition: background-color .4s ease-out; }
        .table-of-contents .sections ul li.active a {
          font-weight: 700;
          -webkit-transition: font-weight .6s ease-in;
          transition: font-weight .6s ease-in; }
      .table-of-contents .sections ul li a {
        width: 100%;
        display: block;
        padding: 10px 0;
        font-size: 0.875rem;
        font-weight: 600;
        color: #777777;
        -webkit-transition: font-weight .4s ease-out;
        transition: font-weight .4s ease-out; }
        .table-of-contents .sections ul li a:hover {
          text-decoration: underline; }

/* This styles the example rows used in the grid documentation. */
.grid-x.display {
  background: #eee;
  font-size: 11px;
  margin-bottom: 10px;
  line-height: 2rem;
  border: solid 1px #c6c6c6;
  margin-left: 0 !important;
  margin-right: 0 !important; }

.grid-x.display .cell:nth-child(2),
.grid-x.display .cell.small-centered,
.grid-x.display .cell.large-centered {
  background: #e1e1e1; }

.grid-x.display .cell.color-end {
  background: #d4d4d4; }

.sg-header {
  background: #eee;
  padding: 2rem; }

.grid-container {
  max-width: 1400px; }

.sg-side-menu {
  margin-left: 1rem; }

.grid-container.padded {
  padding-top: 2rem; }

.sg-side-menu a {
  -webkit-transition: all 0.15s ease-in;
  transition: all 0.15s ease-in; }

.sg-side-menu a:hover {
  background: #eee; }

.sg-side-menu a:focus {
  background: #1468a0;
  color: #fff; }

.sg-side-menu.menu {
  overflow: auto;
  height: 100vh;
  padding-bottom: 5rem; }

/*
----- Admin -----
This will potential hand vmAdmin v2.
*/
.vmadmin-editor {
  width: 100%;
  height: 100%;
  position: absolute;
  border: 2px solid transparent;
  -webkit-transition: border-color 0.8s;
  transition: border-color 0.8s; }
  .vmadmin-editor.active {
    border-color: #aeaeae;
    -webkit-transition: border-color 0.6s;
    transition: border-color 0.6s; }
  .vmadmin-editor.inline-editor {
    position: relative; }
    .vmadmin-editor.inline-editor .editor-trigger-controls {
      max-width: -webkit-fit-content;
      max-width: -moz-fit-content;
      max-width: fit-content;
      max-height: 0;
      top: auto;
      right: 0;
      bottom: -30px; }
      .vmadmin-editor.inline-editor .editor-trigger-controls.active {
        max-height: 200px;
        -webkit-transition: max-height 0.6s;
        transition: max-height 0.6s; }
  .vmadmin-editor .ck-content.ck-editor__editable_inline > p {
    margin: 0 !important;
    padding: 0 !important; }
  .vmadmin-editor .ck-content.ck.ck-editor__editable {
    border-color: transparent !important;
    -webkit-box-shadow: none !important;
            box-shadow: none !important; }
  .vmadmin-editor .editor-trigger-controls {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    margin: auto;
    background-color: rgba(174, 174, 174, 0.9);
    overflow: hidden;
    -webkit-transition: max-height 0.8s;
    transition: max-height 0.8s;
    z-index: 100000; }
    .vmadmin-editor .editor-trigger-controls .admin-button {
      position: relative;
      margin: 5px;
      cursor: pointer; }
      .vmadmin-editor .editor-trigger-controls .admin-button:before {
        padding: 5px 10px;
        color: #06052f;
        font-family: "Font Awesome Solid";
        font-size: 20px;
        -webkit-transition: color 0.8s;
        transition: color 0.8s; }
      .vmadmin-editor .editor-trigger-controls .admin-button:hover:before {
        color: #ae9461;
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
  .vmadmin-editor + div {
    z-index: 1; }

.property-editor-trigger:before {
  content: '\f013'; }

.content-editor-trigger:before {
  content: '\f044'; }

.editor-save-button.inline:before {
  content: '\f0c7'; }

.editor-cancel-button.inline:before {
  content: '\f00d'; }

.off-canvas-header .close-button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  .off-canvas-header .close-button:before {
    content: "";
    font-family: "Font Awesome Solid";
    font-size: 24px;
    color: #000000;
    -webkit-transition: color 0.8s, -webkit-transform 0.6s;
    transition: color 0.8s, -webkit-transform 0.6s;
    transition: transform 0.6s, color 0.8s;
    transition: transform 0.6s, color 0.8s, -webkit-transform 0.6s; }
  .off-canvas-header .close-button:hover:before {
    color: #ae9461;
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg);
    -webkit-transition: color 0.6s, -webkit-transform 0.6s;
    transition: color 0.6s, -webkit-transform 0.6s;
    transition: transform 0.6s, color 0.6s;
    transition: transform 0.6s, color 0.6s, -webkit-transform 0.6s; }
  .off-canvas-header .close-button:active:before {
    color: #06052f;
    -webkit-transition: font-size 1.2s, color 0.6s;
    transition: font-size 1.2s, color 0.6s; }

.off-canvas-header .off-canvas-heading {
  margin: 0;
  padding: 16px 0;
  background-color: #06052f; }
  @media screen and (min-width: 81.25em) {
    .off-canvas-header .off-canvas-heading {
      margin: 0 0 35px; } }

.off-canvas-header h2 {
  margin: 0;
  padding: 0;
  color: #ffffff;
  text-align: center;
  font-size: 1.5625rem;
  font-weight: 700; }

.off-canvas-header p {
  font-size: 1.0625rem; }

/*
----- Accordion Tabs ------ 
- TODO: The naming conventions need to be re-writen at some point as this was originally build for on being used on the product page hense the very specific naming of id's and classes.
- This functionality is based on Foundation's Responsive Accordion Tabs https://get.foundation/sites/docs/responsive-accordion-tabs.html
- The styling for product tabbed notes is defined here
  - Attachments
  - Specification's
  - Reviews
  - Componants.

*/
.responsive-tabs-header {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 20px 0; }
  @media screen and (min-width: 81.25em) {
    .responsive-tabs-header .responsive-tabs-controls {
      margin-left: auto; } }
  .responsive-tabs-header .accordion-toggle-all-button {
    font-size: 0.75rem;
    font-weight: 700;
    color: #06052f; }
    .responsive-tabs-header .accordion-toggle-all-button:after {
      content: "";
      width: 18px;
      height: 18px;
      position: relative;
      display: -webkit-inline-box;
      display: -ms-inline-flexbox;
      display: inline-flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      margin-left: 10px;
      border-radius: 25px;
      border: 2px solid #06052f;
      background-color: #ffffff;
      color: #06052f;
      font-family: "fontello-djmiles";
      font-size: 4px; }
    .responsive-tabs-header .accordion-toggle-all-button.active:after {
      content: ""; }

#tabbed-notes-container {
  visibility: hidden; }
  #tabbed-notes-container.component-ready {
    visibility: visible; }

.responsive-tabs {
  width: 100%;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  visibility: hidden;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column; }
  .responsive-tabs.component-ready {
    visibility: visible; }
  .responsive-tabs:has(.tabs.vertical) {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row; }
  @media screen and (min-width: 81.25em) {
    .responsive-tabs.account-area {
      margin: 5px 0 0; } }
  .responsive-tabs.account-area .tabs-panel {
    padding: 10px; }
    @media screen and (min-width: 81.25em) {
      .responsive-tabs.account-area .tabs-panel {
        padding: 25px 0; } }
    .responsive-tabs.account-area .tabs-panel table {
      margin: 0; }
  @media print, screen and (max-width: 39.99875em) {
    .responsive-tabs.account-area .accordion-title-container {
      display: grid;
      gap: 10px; } }
  @media print, screen and (max-width: 39.99875em) {
    .responsive-tabs.account-area .accordion-title-container .package-reference-container, .responsive-tabs.account-area .accordion-title-container .third-party-tracking-button {
      grid-column: 1; } }
  @media print, screen and (max-width: 39.99875em) {
    .responsive-tabs.account-area .accordion-title-container .package-reference-container {
      grid-row: 1; } }
  @media print, screen and (max-width: 39.99875em) {
    .responsive-tabs.account-area .accordion-title-container:after {
      grid-column: 2;
      grid-row: 1; } }
  @media print, screen and (max-width: 39.99875em) {
    .responsive-tabs.account-area .accordion-title-container .third-party-tracking-reference {
      padding-left: 0; } }
  @media print, screen and (max-width: 39.99875em) {
    .responsive-tabs.account-area .accordion-title-container .third-party-tracking-button {
      grid-row: 3; } }
  .responsive-tabs.account-area .accordion-title {
    padding: 20px; }
    @media print, screen and (min-width: 40em) {
      .responsive-tabs.account-area .accordion-title {
        padding: 8px 20px; } }
  .responsive-tabs.account-area .accordion-content[aria-hidden="false"] {
    padding: 10px 5px; }
    @media screen and (min-width: 81.25em) {
      .responsive-tabs.account-area .accordion-content[aria-hidden="false"] {
        padding: 10px 20px; } }
  @media screen and (min-width: 81.25em) {
    .responsive-tabs.search-results .tabs-title a {
      padding: 18px 35px; } }
  .responsive-tabs.search-results .tabs-panel {
    padding: 45px 0; }
  .responsive-tabs.search-results .accordion-content[aria-hidden="false"] {
    padding: 20px 5px; }
  .responsive-tabs .tabs.vertical {
    position: relative;
    border: 0; }
    .responsive-tabs .tabs.vertical:after {
      content: '';
      width: 1px;
      height: 100%;
      position: absolute;
      top: 0;
      right: 0;
      margin: auto;
      background-color: #eeeeee; }
    .responsive-tabs .tabs.vertical .tabs-title {
      border-radius: 0;
      border-width: 0 1px 0 0;
      border-style: solid;
      border-color: #eeeeee;
      -webkit-transition: border-width 0.8s, border-color 0.8s;
      transition: border-width 0.8s, border-color 0.8s; }
      .responsive-tabs .tabs.vertical .tabs-title.is-active {
        background-color: #06052f;
        border-color: #06052f;
        border-width: 0 3px 0 0;
        -webkit-transition: border-width 0.6s, border-color 0.6s;
        transition: border-width 0.6s, border-color 0.6s; }
        .responsive-tabs .tabs.vertical .tabs-title.is-active a {
          color: #06052f; }
          .responsive-tabs .tabs.vertical .tabs-title.is-active a:after {
            content: ''; }
      .responsive-tabs .tabs.vertical .tabs-title:not(.is-active):hover {
        border-color: #ae9461;
        border-width: 0 3px 0 0;
        -webkit-transition: border-width 0.2s, border-color 0.6s;
        transition: border-width 0.2s, border-color 0.6s; }
      .responsive-tabs .tabs.vertical .tabs-title a {
        padding: 20px 10px 20px 15px;
        text-align: left;
        -webkit-box-pack: start;
            -ms-flex-pack: start;
                justify-content: flex-start; }
        .responsive-tabs .tabs.vertical .tabs-title a:after {
          content: ''; }
        .responsive-tabs .tabs.vertical .tabs-title a .found-count {
          margin-left: auto; }
    .responsive-tabs .tabs.vertical + .tabs-content {
      -webkit-transition: none;
      transition: none; }
      @media print, screen and (min-width: 40em) {
        .responsive-tabs .tabs.vertical + .tabs-content .tabs-panel {
          padding: 10px 15px 10px 30px; } }
  .responsive-tabs .tabs-title {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content; }
    .responsive-tabs .tabs-title a {
      padding: 18px 80px;
      text-align: center; }
      @media screen and (min-width: 81.25em) {
        .responsive-tabs .tabs-title a {
          width: 100%; } }
    .responsive-tabs .tabs-title .found-count {
      margin-left: 5px; }
      .responsive-tabs .tabs-title .found-count:before {
        content: '('; }
      .responsive-tabs .tabs-title .found-count:after {
        content: ')'; }
      .responsive-tabs .tabs-title .found-count:before, .responsive-tabs .tabs-title .found-count:after {
        display: inline-block; }
  .responsive-tabs .tabs-panel table, .responsive-tabs .accordion-content table {
    border: 0; }
    .responsive-tabs .tabs-panel table tr td, .responsive-tabs .accordion-content table tr td {
      border: 0; }
  .responsive-tabs .tabs-panel {
    padding: 20px 25px; }
    @media screen and (min-width: 81.25em) {
      .responsive-tabs .tabs-panel {
        padding: 40px 50px; } }
  .responsive-tabs .accordion-item.is-active .accordion-content {
    padding: 20px 25px; }
    @media screen and (min-width: 81.25em) {
      .responsive-tabs .accordion-item.is-active .accordion-content {
        padding: 40px 50px; } }
  .responsive-tabs .tabs-content {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1; }
  .responsive-tabs .accordion-item:last-child .accordion-content[aria-hidden=true] {
    border-bottom: 0 !important; }
  .responsive-tabs .tabs-content table:not([class*=preset]) tr:not(:last-child),
  .responsive-tabs .accordion-content table:not([class*=preset]) tr:not(:last-child) {
    border-bottom: 1px solid #dadada; }
  .responsive-tabs .tabs-content table:not([class*=preset]) td,
  .responsive-tabs .accordion-content table:not([class*=preset]) td {
    font-size: 0.875rem; }
  .responsive-tabs .tabs-content ul,
  .responsive-tabs .accordion-content ul {
    list-style: none; }

#tabbed-notes-container .tabs-panel .tabbed-cms-entry h1, #tabbed-notes-container .tabs-panel .tabbed-specification-container h1, #tabbed-notes-container .tabs-panel .tabbed-notes-container h1, #tabbed-notes-container .accordion-content .tabbed-cms-entry h1, #tabbed-notes-container .accordion-content .tabbed-specification-container h1, #tabbed-notes-container .accordion-content .tabbed-notes-container h1 {
  margin: 0 0 35px;
  font-size: 2.125rem;
  font-weight: 400;
  font-style: normal;
  color: #06052f;
  line-height: 1.4;
  background-color: transparent; }
  #tabbed-notes-container .tabs-panel .tabbed-cms-entry h1:first-child, #tabbed-notes-container .tabs-panel .tabbed-specification-container h1:first-child, #tabbed-notes-container .tabs-panel .tabbed-notes-container h1:first-child, #tabbed-notes-container .accordion-content .tabbed-cms-entry h1:first-child, #tabbed-notes-container .accordion-content .tabbed-specification-container h1:first-child, #tabbed-notes-container .accordion-content .tabbed-notes-container h1:first-child {
    margin-top: 0; }
  #tabbed-notes-container .tabs-panel .tabbed-cms-entry h1:only-child, #tabbed-notes-container .tabs-panel .tabbed-specification-container h1:only-child, #tabbed-notes-container .tabs-panel .tabbed-notes-container h1:only-child, #tabbed-notes-container .accordion-content .tabbed-cms-entry h1:only-child, #tabbed-notes-container .accordion-content .tabbed-specification-container h1:only-child, #tabbed-notes-container .accordion-content .tabbed-notes-container h1:only-child {
    margin: 0; }

#tabbed-notes-container .tabs-panel .tabbed-cms-entry h2, #tabbed-notes-container .tabs-panel .tabbed-specification-container h2, #tabbed-notes-container .tabs-panel .tabbed-notes-container h2, #tabbed-notes-container .accordion-content .tabbed-cms-entry h2, #tabbed-notes-container .accordion-content .tabbed-specification-container h2, #tabbed-notes-container .accordion-content .tabbed-notes-container h2 {
  margin: 0 0 20px;
  font-size: 1.25rem;
  font-weight: 600;
  font-style: normal;
  color: #06052f;
  line-height: 1.4; }
  #tabbed-notes-container .tabs-panel .tabbed-cms-entry h2:first-child, #tabbed-notes-container .tabs-panel .tabbed-specification-container h2:first-child, #tabbed-notes-container .tabs-panel .tabbed-notes-container h2:first-child, #tabbed-notes-container .accordion-content .tabbed-cms-entry h2:first-child, #tabbed-notes-container .accordion-content .tabbed-specification-container h2:first-child, #tabbed-notes-container .accordion-content .tabbed-notes-container h2:first-child {
    margin-top: 0; }
  #tabbed-notes-container .tabs-panel .tabbed-cms-entry h2:only-child, #tabbed-notes-container .tabs-panel .tabbed-specification-container h2:only-child, #tabbed-notes-container .tabs-panel .tabbed-notes-container h2:only-child, #tabbed-notes-container .accordion-content .tabbed-cms-entry h2:only-child, #tabbed-notes-container .accordion-content .tabbed-specification-container h2:only-child, #tabbed-notes-container .accordion-content .tabbed-notes-container h2:only-child {
    margin: 0; }

#tabbed-notes-container .tabs-panel .tabbed-cms-entry h3, #tabbed-notes-container .tabs-panel .tabbed-specification-container h3, #tabbed-notes-container .tabs-panel .tabbed-notes-container h3, #tabbed-notes-container .accordion-content .tabbed-cms-entry h3, #tabbed-notes-container .accordion-content .tabbed-specification-container h3, #tabbed-notes-container .accordion-content .tabbed-notes-container h3 {
  margin: 0 0 20px;
  padding: 15px 0;
  font-size: 1.125rem;
  font-weight: 600;
  font-style: normal;
  color: #06052f;
  line-height: 1.4; }
  #tabbed-notes-container .tabs-panel .tabbed-cms-entry h3:first-child, #tabbed-notes-container .tabs-panel .tabbed-specification-container h3:first-child, #tabbed-notes-container .tabs-panel .tabbed-notes-container h3:first-child, #tabbed-notes-container .accordion-content .tabbed-cms-entry h3:first-child, #tabbed-notes-container .accordion-content .tabbed-specification-container h3:first-child, #tabbed-notes-container .accordion-content .tabbed-notes-container h3:first-child {
    margin-top: 0; }
  #tabbed-notes-container .tabs-panel .tabbed-cms-entry h3:only-child, #tabbed-notes-container .tabs-panel .tabbed-specification-container h3:only-child, #tabbed-notes-container .tabs-panel .tabbed-notes-container h3:only-child, #tabbed-notes-container .accordion-content .tabbed-cms-entry h3:only-child, #tabbed-notes-container .accordion-content .tabbed-specification-container h3:only-child, #tabbed-notes-container .accordion-content .tabbed-notes-container h3:only-child {
    margin: 0; }

#tabbed-notes-container .tabs-panel .tabbed-cms-entry h4, #tabbed-notes-container .tabs-panel .tabbed-specification-container h4, #tabbed-notes-container .tabs-panel .tabbed-notes-container h4, #tabbed-notes-container .accordion-content .tabbed-cms-entry h4, #tabbed-notes-container .accordion-content .tabbed-specification-container h4, #tabbed-notes-container .accordion-content .tabbed-notes-container h4 {
  margin: 0 0 20px;
  padding: 0 0 10px;
  font-size: 1.2rem;
  font-weight: 500;
  font-style: normal;
  color: #06052f;
  line-height: 1.4; }
  #tabbed-notes-container .tabs-panel .tabbed-cms-entry h4:first-child, #tabbed-notes-container .tabs-panel .tabbed-specification-container h4:first-child, #tabbed-notes-container .tabs-panel .tabbed-notes-container h4:first-child, #tabbed-notes-container .accordion-content .tabbed-cms-entry h4:first-child, #tabbed-notes-container .accordion-content .tabbed-specification-container h4:first-child, #tabbed-notes-container .accordion-content .tabbed-notes-container h4:first-child {
    margin-top: 0; }
  #tabbed-notes-container .tabs-panel .tabbed-cms-entry h4:only-child, #tabbed-notes-container .tabs-panel .tabbed-specification-container h4:only-child, #tabbed-notes-container .tabs-panel .tabbed-notes-container h4:only-child, #tabbed-notes-container .accordion-content .tabbed-cms-entry h4:only-child, #tabbed-notes-container .accordion-content .tabbed-specification-container h4:only-child, #tabbed-notes-container .accordion-content .tabbed-notes-container h4:only-child {
    margin: 0; }

#tabbed-notes-container .tabs-panel .tabbed-cms-entry h5, #tabbed-notes-container .tabs-panel .tabbed-specification-container h5, #tabbed-notes-container .tabs-panel .tabbed-notes-container h5, #tabbed-notes-container .accordion-content .tabbed-cms-entry h5, #tabbed-notes-container .accordion-content .tabbed-specification-container h5, #tabbed-notes-container .accordion-content .tabbed-notes-container h5 {
  margin: 0 0 20px;
  font-size: 1rem;
  font-weight: 600;
  font-style: normal;
  color: #06052f;
  line-height: 1.4; }
  #tabbed-notes-container .tabs-panel .tabbed-cms-entry h5:first-child, #tabbed-notes-container .tabs-panel .tabbed-specification-container h5:first-child, #tabbed-notes-container .tabs-panel .tabbed-notes-container h5:first-child, #tabbed-notes-container .accordion-content .tabbed-cms-entry h5:first-child, #tabbed-notes-container .accordion-content .tabbed-specification-container h5:first-child, #tabbed-notes-container .accordion-content .tabbed-notes-container h5:first-child {
    margin-top: 0; }
  #tabbed-notes-container .tabs-panel .tabbed-cms-entry h5:only-child, #tabbed-notes-container .tabs-panel .tabbed-specification-container h5:only-child, #tabbed-notes-container .tabs-panel .tabbed-notes-container h5:only-child, #tabbed-notes-container .accordion-content .tabbed-cms-entry h5:only-child, #tabbed-notes-container .accordion-content .tabbed-specification-container h5:only-child, #tabbed-notes-container .accordion-content .tabbed-notes-container h5:only-child {
    margin: 0; }

#tabbed-notes-container .tabs-panel .tabbed-cms-entry h6, #tabbed-notes-container .tabs-panel .tabbed-specification-container h6, #tabbed-notes-container .tabs-panel .tabbed-notes-container h6, #tabbed-notes-container .accordion-content .tabbed-cms-entry h6, #tabbed-notes-container .accordion-content .tabbed-specification-container h6, #tabbed-notes-container .accordion-content .tabbed-notes-container h6 {
  margin: 0 0 20px;
  font-size: 1rem;
  font-weight: 600;
  font-style: normal;
  color: #06052f;
  line-height: 1.4; }
  #tabbed-notes-container .tabs-panel .tabbed-cms-entry h6:first-child, #tabbed-notes-container .tabs-panel .tabbed-specification-container h6:first-child, #tabbed-notes-container .tabs-panel .tabbed-notes-container h6:first-child, #tabbed-notes-container .accordion-content .tabbed-cms-entry h6:first-child, #tabbed-notes-container .accordion-content .tabbed-specification-container h6:first-child, #tabbed-notes-container .accordion-content .tabbed-notes-container h6:first-child {
    margin-top: 0; }
  #tabbed-notes-container .tabs-panel .tabbed-cms-entry h6:only-child, #tabbed-notes-container .tabs-panel .tabbed-specification-container h6:only-child, #tabbed-notes-container .tabs-panel .tabbed-notes-container h6:only-child, #tabbed-notes-container .accordion-content .tabbed-cms-entry h6:only-child, #tabbed-notes-container .accordion-content .tabbed-specification-container h6:only-child, #tabbed-notes-container .accordion-content .tabbed-notes-container h6:only-child {
    margin: 0; }

#tabbed-notes-container .tabs-panel .tabbed-cms-entry p, #tabbed-notes-container .tabs-panel .tabbed-specification-container p, #tabbed-notes-container .tabs-panel .tabbed-notes-container p, #tabbed-notes-container .accordion-content .tabbed-cms-entry p, #tabbed-notes-container .accordion-content .tabbed-specification-container p, #tabbed-notes-container .accordion-content .tabbed-notes-container p {
  margin: var(--indent-margin, 0);
  font-size: 1rem;
  color: #777777; }
  #tabbed-notes-container .tabs-panel .tabbed-cms-entry p img[style*="float:left"], #tabbed-notes-container .tabs-panel .tabbed-cms-entry p img[style*="float: left"], #tabbed-notes-container .tabs-panel .tabbed-cms-entry p[style*="float:left"] > img, #tabbed-notes-container .tabs-panel .tabbed-specification-container p img[style*="float:left"], #tabbed-notes-container .tabs-panel .tabbed-specification-container p img[style*="float: left"], #tabbed-notes-container .tabs-panel .tabbed-specification-container p[style*="float:left"] > img, #tabbed-notes-container .tabs-panel .tabbed-notes-container p img[style*="float:left"], #tabbed-notes-container .tabs-panel .tabbed-notes-container p img[style*="float: left"], #tabbed-notes-container .tabs-panel .tabbed-notes-container p[style*="float:left"] > img, #tabbed-notes-container .accordion-content .tabbed-cms-entry p img[style*="float:left"], #tabbed-notes-container .accordion-content .tabbed-cms-entry p img[style*="float: left"], #tabbed-notes-container .accordion-content .tabbed-cms-entry p[style*="float:left"] > img, #tabbed-notes-container .accordion-content .tabbed-specification-container p img[style*="float:left"], #tabbed-notes-container .accordion-content .tabbed-specification-container p img[style*="float: left"], #tabbed-notes-container .accordion-content .tabbed-specification-container p[style*="float:left"] > img, #tabbed-notes-container .accordion-content .tabbed-notes-container p img[style*="float:left"], #tabbed-notes-container .accordion-content .tabbed-notes-container p img[style*="float: left"], #tabbed-notes-container .accordion-content .tabbed-notes-container p[style*="float:left"] > img {
    margin: .2em .2em .2em 0; }
  #tabbed-notes-container .tabs-panel .tabbed-cms-entry p img[style*="float:right"], #tabbed-notes-container .tabs-panel .tabbed-cms-entry p img[style*="float: right"], #tabbed-notes-container .tabs-panel .tabbed-cms-entry p[style*="float:right"] > img, #tabbed-notes-container .tabs-panel .tabbed-specification-container p img[style*="float:right"], #tabbed-notes-container .tabs-panel .tabbed-specification-container p img[style*="float: right"], #tabbed-notes-container .tabs-panel .tabbed-specification-container p[style*="float:right"] > img, #tabbed-notes-container .tabs-panel .tabbed-notes-container p img[style*="float:right"], #tabbed-notes-container .tabs-panel .tabbed-notes-container p img[style*="float: right"], #tabbed-notes-container .tabs-panel .tabbed-notes-container p[style*="float:right"] > img, #tabbed-notes-container .accordion-content .tabbed-cms-entry p img[style*="float:right"], #tabbed-notes-container .accordion-content .tabbed-cms-entry p img[style*="float: right"], #tabbed-notes-container .accordion-content .tabbed-cms-entry p[style*="float:right"] > img, #tabbed-notes-container .accordion-content .tabbed-specification-container p img[style*="float:right"], #tabbed-notes-container .accordion-content .tabbed-specification-container p img[style*="float: right"], #tabbed-notes-container .accordion-content .tabbed-specification-container p[style*="float:right"] > img, #tabbed-notes-container .accordion-content .tabbed-notes-container p img[style*="float:right"], #tabbed-notes-container .accordion-content .tabbed-notes-container p img[style*="float: right"], #tabbed-notes-container .accordion-content .tabbed-notes-container p[style*="float:right"] > img {
    margin: .2em 0 .2em .2em; }
  #tabbed-notes-container .tabs-panel .tabbed-cms-entry p img, #tabbed-notes-container .tabs-panel .tabbed-specification-container p img, #tabbed-notes-container .tabs-panel .tabbed-notes-container p img, #tabbed-notes-container .accordion-content .tabbed-cms-entry p img, #tabbed-notes-container .accordion-content .tabbed-specification-container p img, #tabbed-notes-container .accordion-content .tabbed-notes-container p img {
    margin: .2em 0; }
  #tabbed-notes-container .tabs-panel .tabbed-cms-entry p + p, #tabbed-notes-container .tabs-panel .tabbed-specification-container p + p, #tabbed-notes-container .tabs-panel .tabbed-notes-container p + p, #tabbed-notes-container .accordion-content .tabbed-cms-entry p + p, #tabbed-notes-container .accordion-content .tabbed-specification-container p + p, #tabbed-notes-container .accordion-content .tabbed-notes-container p + p {
    margin-top: 0;
    margin-bottom: 0; }

#tabbed-notes-container .tabs-panel .tabbed-cms-entry ul, #tabbed-notes-container .tabs-panel .tabbed-cms-entry ol, #tabbed-notes-container .tabs-panel .tabbed-specification-container ul, #tabbed-notes-container .tabs-panel .tabbed-specification-container ol, #tabbed-notes-container .tabs-panel .tabbed-notes-container ul, #tabbed-notes-container .tabs-panel .tabbed-notes-container ol, #tabbed-notes-container .accordion-content .tabbed-cms-entry ul, #tabbed-notes-container .accordion-content .tabbed-cms-entry ol, #tabbed-notes-container .accordion-content .tabbed-specification-container ul, #tabbed-notes-container .accordion-content .tabbed-specification-container ol, #tabbed-notes-container .accordion-content .tabbed-notes-container ul, #tabbed-notes-container .accordion-content .tabbed-notes-container ol {
  text-align: left; }

#tabbed-notes-container .tabs-panel .tabbed-cms-entry ul, #tabbed-notes-container .tabs-panel .tabbed-specification-container ul, #tabbed-notes-container .tabs-panel .tabbed-notes-container ul, #tabbed-notes-container .accordion-content .tabbed-cms-entry ul, #tabbed-notes-container .accordion-content .tabbed-specification-container ul, #tabbed-notes-container .accordion-content .tabbed-notes-container ul {
  margin: 10px;
  padding: 0;
  list-style: none;
  line-height: 25px; }
  #tabbed-notes-container .tabs-panel .tabbed-cms-entry ul ul, #tabbed-notes-container .tabs-panel .tabbed-specification-container ul ul, #tabbed-notes-container .tabs-panel .tabbed-notes-container ul ul, #tabbed-notes-container .accordion-content .tabbed-cms-entry ul ul, #tabbed-notes-container .accordion-content .tabbed-specification-container ul ul, #tabbed-notes-container .accordion-content .tabbed-notes-container ul ul {
    padding-top: 0;
    padding-bottom: 0;
    padding-left: 25px; }
  #tabbed-notes-container .tabs-panel .tabbed-cms-entry ul li, #tabbed-notes-container .tabs-panel .tabbed-specification-container ul li, #tabbed-notes-container .tabs-panel .tabbed-notes-container ul li, #tabbed-notes-container .accordion-content .tabbed-cms-entry ul li, #tabbed-notes-container .accordion-content .tabbed-specification-container ul li, #tabbed-notes-container .accordion-content .tabbed-notes-container ul li {
    position: relative;
    padding: 0 0 0 15px; }
    #tabbed-notes-container .tabs-panel .tabbed-cms-entry ul li:before, #tabbed-notes-container .tabs-panel .tabbed-specification-container ul li:before, #tabbed-notes-container .tabs-panel .tabbed-notes-container ul li:before, #tabbed-notes-container .accordion-content .tabbed-cms-entry ul li:before, #tabbed-notes-container .accordion-content .tabbed-specification-container ul li:before, #tabbed-notes-container .accordion-content .tabbed-notes-container ul li:before {
      content: '';
      width: 5px;
      height: 5px;
      position: absolute;
      top: 10px;
      left: 0;
      margin: auto;
      display: block;
      background-color: #06052f;
      border-radius: 5px; }

#tabbed-notes-container .tabs-panel .tabbed-cms-entry ol, #tabbed-notes-container .tabs-panel .tabbed-specification-container ol, #tabbed-notes-container .tabs-panel .tabbed-notes-container ol, #tabbed-notes-container .accordion-content .tabbed-cms-entry ol, #tabbed-notes-container .accordion-content .tabbed-specification-container ol, #tabbed-notes-container .accordion-content .tabbed-notes-container ol {
  margin: 10px;
  padding: 0 25px; }
  #tabbed-notes-container .tabs-panel .tabbed-cms-entry ol ol, #tabbed-notes-container .tabs-panel .tabbed-specification-container ol ol, #tabbed-notes-container .tabs-panel .tabbed-notes-container ol ol, #tabbed-notes-container .accordion-content .tabbed-cms-entry ol ol, #tabbed-notes-container .accordion-content .tabbed-specification-container ol ol, #tabbed-notes-container .accordion-content .tabbed-notes-container ol ol {
    margin: 0;
    padding-top: 0;
    padding-bottom: 0;
    list-style-type: lower-alpha; }
    #tabbed-notes-container .tabs-panel .tabbed-cms-entry ol ol ol, #tabbed-notes-container .tabs-panel .tabbed-specification-container ol ol ol, #tabbed-notes-container .tabs-panel .tabbed-notes-container ol ol ol, #tabbed-notes-container .accordion-content .tabbed-cms-entry ol ol ol, #tabbed-notes-container .accordion-content .tabbed-specification-container ol ol ol, #tabbed-notes-container .accordion-content .tabbed-notes-container ol ol ol {
      list-style-type: lower-roman; }
      #tabbed-notes-container .tabs-panel .tabbed-cms-entry ol ol ol ol, #tabbed-notes-container .tabs-panel .tabbed-specification-container ol ol ol ol, #tabbed-notes-container .tabs-panel .tabbed-notes-container ol ol ol ol, #tabbed-notes-container .accordion-content .tabbed-cms-entry ol ol ol ol, #tabbed-notes-container .accordion-content .tabbed-specification-container ol ol ol ol, #tabbed-notes-container .accordion-content .tabbed-notes-container ol ol ol ol {
        list-style-type: lower-alpha; }
        #tabbed-notes-container .tabs-panel .tabbed-cms-entry ol ol ol ol ol, #tabbed-notes-container .tabs-panel .tabbed-specification-container ol ol ol ol ol, #tabbed-notes-container .tabs-panel .tabbed-notes-container ol ol ol ol ol, #tabbed-notes-container .accordion-content .tabbed-cms-entry ol ol ol ol ol, #tabbed-notes-container .accordion-content .tabbed-specification-container ol ol ol ol ol, #tabbed-notes-container .accordion-content .tabbed-notes-container ol ol ol ol ol {
          list-style-type: lower-roman; }

#tabbed-notes-container .tabs-panel .tabbed-cms-entry li, #tabbed-notes-container .tabs-panel .tabbed-specification-container li, #tabbed-notes-container .tabs-panel .tabbed-notes-container li, #tabbed-notes-container .accordion-content .tabbed-cms-entry li, #tabbed-notes-container .accordion-content .tabbed-specification-container li, #tabbed-notes-container .accordion-content .tabbed-notes-container li {
  color: #777777;
  font-size: 1rem; }

#tabbed-notes-container .tabs-panel .tabbed-cms-entry ul + h1, #tabbed-notes-container .tabs-panel .tabbed-cms-entry ol + h1, #tabbed-notes-container .tabs-panel .tabbed-specification-container ul + h1, #tabbed-notes-container .tabs-panel .tabbed-specification-container ol + h1, #tabbed-notes-container .tabs-panel .tabbed-notes-container ul + h1, #tabbed-notes-container .tabs-panel .tabbed-notes-container ol + h1, #tabbed-notes-container .accordion-content .tabbed-cms-entry ul + h1, #tabbed-notes-container .accordion-content .tabbed-cms-entry ol + h1, #tabbed-notes-container .accordion-content .tabbed-specification-container ul + h1, #tabbed-notes-container .accordion-content .tabbed-specification-container ol + h1, #tabbed-notes-container .accordion-content .tabbed-notes-container ul + h1, #tabbed-notes-container .accordion-content .tabbed-notes-container ol + h1 {
  margin-top: 35px; }

#tabbed-notes-container .tabs-panel .tabbed-cms-entry ul + h2, #tabbed-notes-container .tabs-panel .tabbed-cms-entry ol + h2, #tabbed-notes-container .tabs-panel .tabbed-specification-container ul + h2, #tabbed-notes-container .tabs-panel .tabbed-specification-container ol + h2, #tabbed-notes-container .tabs-panel .tabbed-notes-container ul + h2, #tabbed-notes-container .tabs-panel .tabbed-notes-container ol + h2, #tabbed-notes-container .accordion-content .tabbed-cms-entry ul + h2, #tabbed-notes-container .accordion-content .tabbed-cms-entry ol + h2, #tabbed-notes-container .accordion-content .tabbed-specification-container ul + h2, #tabbed-notes-container .accordion-content .tabbed-specification-container ol + h2, #tabbed-notes-container .accordion-content .tabbed-notes-container ul + h2, #tabbed-notes-container .accordion-content .tabbed-notes-container ol + h2 {
  margin-top: 20px; }

#tabbed-notes-container .tabs-panel .tabbed-cms-entry ul + h3, #tabbed-notes-container .tabs-panel .tabbed-cms-entry ol + h3, #tabbed-notes-container .tabs-panel .tabbed-specification-container ul + h3, #tabbed-notes-container .tabs-panel .tabbed-specification-container ol + h3, #tabbed-notes-container .tabs-panel .tabbed-notes-container ul + h3, #tabbed-notes-container .tabs-panel .tabbed-notes-container ol + h3, #tabbed-notes-container .accordion-content .tabbed-cms-entry ul + h3, #tabbed-notes-container .accordion-content .tabbed-cms-entry ol + h3, #tabbed-notes-container .accordion-content .tabbed-specification-container ul + h3, #tabbed-notes-container .accordion-content .tabbed-specification-container ol + h3, #tabbed-notes-container .accordion-content .tabbed-notes-container ul + h3, #tabbed-notes-container .accordion-content .tabbed-notes-container ol + h3 {
  margin-top: 20px; }

#tabbed-notes-container .tabs-panel .tabbed-cms-entry ul + h4, #tabbed-notes-container .tabs-panel .tabbed-cms-entry ol + h4, #tabbed-notes-container .tabs-panel .tabbed-specification-container ul + h4, #tabbed-notes-container .tabs-panel .tabbed-specification-container ol + h4, #tabbed-notes-container .tabs-panel .tabbed-notes-container ul + h4, #tabbed-notes-container .tabs-panel .tabbed-notes-container ol + h4, #tabbed-notes-container .accordion-content .tabbed-cms-entry ul + h4, #tabbed-notes-container .accordion-content .tabbed-cms-entry ol + h4, #tabbed-notes-container .accordion-content .tabbed-specification-container ul + h4, #tabbed-notes-container .accordion-content .tabbed-specification-container ol + h4, #tabbed-notes-container .accordion-content .tabbed-notes-container ul + h4, #tabbed-notes-container .accordion-content .tabbed-notes-container ol + h4 {
  margin-top: 20px; }

#tabbed-notes-container .tabs-panel .tabbed-cms-entry ul + h5, #tabbed-notes-container .tabs-panel .tabbed-cms-entry ol + h5, #tabbed-notes-container .tabs-panel .tabbed-specification-container ul + h5, #tabbed-notes-container .tabs-panel .tabbed-specification-container ol + h5, #tabbed-notes-container .tabs-panel .tabbed-notes-container ul + h5, #tabbed-notes-container .tabs-panel .tabbed-notes-container ol + h5, #tabbed-notes-container .accordion-content .tabbed-cms-entry ul + h5, #tabbed-notes-container .accordion-content .tabbed-cms-entry ol + h5, #tabbed-notes-container .accordion-content .tabbed-specification-container ul + h5, #tabbed-notes-container .accordion-content .tabbed-specification-container ol + h5, #tabbed-notes-container .accordion-content .tabbed-notes-container ul + h5, #tabbed-notes-container .accordion-content .tabbed-notes-container ol + h5 {
  margin-top: 20px; }

#tabbed-notes-container .tabs-panel .tabbed-cms-entry ul + h6, #tabbed-notes-container .tabs-panel .tabbed-cms-entry ol + h6, #tabbed-notes-container .tabs-panel .tabbed-specification-container ul + h6, #tabbed-notes-container .tabs-panel .tabbed-specification-container ol + h6, #tabbed-notes-container .tabs-panel .tabbed-notes-container ul + h6, #tabbed-notes-container .tabs-panel .tabbed-notes-container ol + h6, #tabbed-notes-container .accordion-content .tabbed-cms-entry ul + h6, #tabbed-notes-container .accordion-content .tabbed-cms-entry ol + h6, #tabbed-notes-container .accordion-content .tabbed-specification-container ul + h6, #tabbed-notes-container .accordion-content .tabbed-specification-container ol + h6, #tabbed-notes-container .accordion-content .tabbed-notes-container ul + h6, #tabbed-notes-container .accordion-content .tabbed-notes-container ol + h6 {
  margin-top: 20px; }

#tabbed-notes-container .tabs-panel .tabbed-cms-entry dl, #tabbed-notes-container .tabs-panel .tabbed-specification-container dl, #tabbed-notes-container .tabs-panel .tabbed-notes-container dl, #tabbed-notes-container .accordion-content .tabbed-cms-entry dl, #tabbed-notes-container .accordion-content .tabbed-specification-container dl, #tabbed-notes-container .accordion-content .tabbed-notes-container dl {
  text-align: left; }

#tabbed-notes-container .tabs-panel p:not(:empty) + table, #tabbed-notes-container .tabs-panel p:not(:empty) + .comparison-table-container, #tabbed-notes-container .accordion-content p:not(:empty) + table, #tabbed-notes-container .accordion-content p:not(:empty) + .comparison-table-container {
  margin: 15px 0; }

#tabbed-notes-container .tabs-panel table, #tabbed-notes-container .accordion-content table {
  --thead-border-colour: $thead-border-colour;
  max-width: 100%;
  margin-bottom: 0; }
  #tabbed-notes-container .tabs-panel table:not([class*=preset]) thead, #tabbed-notes-container .accordion-content table:not([class*=preset]) thead {
    background-color: transparent; }
    #tabbed-notes-container .tabs-panel table:not([class*=preset]) thead tr, #tabbed-notes-container .accordion-content table:not([class*=preset]) thead tr {
      border-bottom: 1px solid var(--thead-border-colour); }
    #tabbed-notes-container .tabs-panel table:not([class*=preset]) thead th, #tabbed-notes-container .accordion-content table:not([class*=preset]) thead th {
      font-weight: 600; }
  #tabbed-notes-container .tabs-panel table.responsive-table, #tabbed-notes-container .accordion-content table.responsive-table {
    display: block; }
    @media screen and (min-width: 81.25em) {
      #tabbed-notes-container .tabs-panel table.responsive-table, #tabbed-notes-container .accordion-content table.responsive-table {
        display: table; } }
    #tabbed-notes-container .tabs-panel table.responsive-table:not([class*=preset]) thead, #tabbed-notes-container .accordion-content table.responsive-table:not([class*=preset]) thead {
      display: none; }
      @media screen and (min-width: 81.25em) {
        #tabbed-notes-container .tabs-panel table.responsive-table:not([class*=preset]) thead, #tabbed-notes-container .accordion-content table.responsive-table:not([class*=preset]) thead {
          display: table-row-group; } }
    #tabbed-notes-container .tabs-panel table.responsive-table tbody:not(.comparison-summary), #tabbed-notes-container .accordion-content table.responsive-table tbody:not(.comparison-summary) {
      display: block; }
      @media screen and (min-width: 81.25em) {
        #tabbed-notes-container .tabs-panel table.responsive-table tbody:not(.comparison-summary), #tabbed-notes-container .accordion-content table.responsive-table tbody:not(.comparison-summary) {
          display: table-row-group; } }
  #tabbed-notes-container .tabs-panel table th, #tabbed-notes-container .accordion-content table th {
    padding: 10px 10px 10px; }
  @media screen and (min-width: 81.25em) {
    #tabbed-notes-container .tabs-panel table td, #tabbed-notes-container .accordion-content table td {
      padding: 10px; } }
  #tabbed-notes-container .tabs-panel table thead[class*="preset"] + tbody:before, #tabbed-notes-container .accordion-content table thead[class*="preset"] + tbody:before {
    content: '';
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
    @media screen and (min-width: 81.25em) {
      #tabbed-notes-container .tabs-panel table thead[class*="preset"] + tbody:before, #tabbed-notes-container .accordion-content table thead[class*="preset"] + tbody:before {
        margin: 10px; } }
  #tabbed-notes-container .tabs-panel table tbody, #tabbed-notes-container .accordion-content table tbody {
    background-color: transparent; }
    #tabbed-notes-container .tabs-panel table tbody th, #tabbed-notes-container .accordion-content table tbody th {
      background-color: transparent; }
    #tabbed-notes-container .tabs-panel table tbody tr:not(:last-child) th, #tabbed-notes-container .accordion-content table tbody tr:not(:last-child) th {
      border-bottom: 1px solid transparent; }
    @media screen and (min-width: 81.25em) {
      #tabbed-notes-container .tabs-panel table tbody tr, #tabbed-notes-container .accordion-content table tbody tr {
        display: table-row; } }
  #tabbed-notes-container .tabs-panel table .col-label, #tabbed-notes-container .accordion-content table .col-label {
    color: #777777; }
  @media print, screen and (max-width: 81.24875em) {
    #tabbed-notes-container .tabs-panel table.responsive-table tbody tr, #tabbed-notes-container .accordion-content table.responsive-table tbody tr {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column; } }
  @media print, screen and (max-width: 81.24875em) {
    #tabbed-notes-container .tabs-panel table.responsive-table tbody tr:not(:last-child), #tabbed-notes-container .accordion-content table.responsive-table tbody tr:not(:last-child) {
      margin-bottom: 10px;
      padding-bottom: 10px;
      border-bottom: 1px solid #eeeeee; } }
  #tabbed-notes-container .tabs-panel table.no-wrap, #tabbed-notes-container .accordion-content table.no-wrap {
    display: block;
    white-space: nowrap;
    overflow-x: auto; }
  #tabbed-notes-container .tabs-panel table.comparison-table tbody td:first-child, #tabbed-notes-container .accordion-content table.comparison-table tbody td:first-child {
    color: #777777;
    font-weight: 600; }

#tabbed-notes-container .tabbed-specification-container table tbody td:first-child {
  color: var(--neutral-colour-lightness-0);
  font-size: 1rem;
  font-weight: 400; }

.tabs-panel .components-intro-container, .accordion-content .components-intro-container {
  margin: 0 0 30px;
  padding: 0;
  text-align: left; }

.tabs-panel:has(.components-intro-container) p:not(:empty) + table, .tabs-panel:has(.components-intro-container) p:not(:empty) + .comparison-table-container, .accordion-content:has(.components-intro-container) p:not(:empty) + table, .accordion-content:has(.components-intro-container) p:not(:empty) + .comparison-table-container {
  margin: 15px 0; }

.tabs-panel:has(.components-intro-container) table, .accordion-content:has(.components-intro-container) table {
  --thead-border-colour: $thead-border-colour;
  max-width: 100%;
  margin-bottom: 0; }
  .tabs-panel:has(.components-intro-container) table:not([class*=preset]) thead, .accordion-content:has(.components-intro-container) table:not([class*=preset]) thead {
    background-color: transparent; }
    .tabs-panel:has(.components-intro-container) table:not([class*=preset]) thead tr, .accordion-content:has(.components-intro-container) table:not([class*=preset]) thead tr {
      border-bottom: 1px solid var(--thead-border-colour); }
    .tabs-panel:has(.components-intro-container) table:not([class*=preset]) thead th, .accordion-content:has(.components-intro-container) table:not([class*=preset]) thead th {
      font-weight: 600; }
  .tabs-panel:has(.components-intro-container) table.responsive-table, .accordion-content:has(.components-intro-container) table.responsive-table {
    display: block; }
    @media screen and (min-width: 81.25em) {
      .tabs-panel:has(.components-intro-container) table.responsive-table, .accordion-content:has(.components-intro-container) table.responsive-table {
        display: table; } }
    .tabs-panel:has(.components-intro-container) table.responsive-table:not([class*=preset]) thead, .accordion-content:has(.components-intro-container) table.responsive-table:not([class*=preset]) thead {
      display: none; }
      @media screen and (min-width: 81.25em) {
        .tabs-panel:has(.components-intro-container) table.responsive-table:not([class*=preset]) thead, .accordion-content:has(.components-intro-container) table.responsive-table:not([class*=preset]) thead {
          display: table-row-group; } }
    .tabs-panel:has(.components-intro-container) table.responsive-table tbody:not(.comparison-summary), .accordion-content:has(.components-intro-container) table.responsive-table tbody:not(.comparison-summary) {
      display: block; }
      @media screen and (min-width: 81.25em) {
        .tabs-panel:has(.components-intro-container) table.responsive-table tbody:not(.comparison-summary), .accordion-content:has(.components-intro-container) table.responsive-table tbody:not(.comparison-summary) {
          display: table-row-group; } }
  .tabs-panel:has(.components-intro-container) table th, .accordion-content:has(.components-intro-container) table th {
    padding: 10px 10px 10px; }
  @media screen and (min-width: 81.25em) {
    .tabs-panel:has(.components-intro-container) table td, .accordion-content:has(.components-intro-container) table td {
      padding: 10px; } }
  .tabs-panel:has(.components-intro-container) table thead[class*="preset"] + tbody:before, .accordion-content:has(.components-intro-container) table thead[class*="preset"] + tbody:before {
    content: '';
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
    @media screen and (min-width: 81.25em) {
      .tabs-panel:has(.components-intro-container) table thead[class*="preset"] + tbody:before, .accordion-content:has(.components-intro-container) table thead[class*="preset"] + tbody:before {
        margin: 10px; } }
  .tabs-panel:has(.components-intro-container) table tbody, .accordion-content:has(.components-intro-container) table tbody {
    background-color: transparent; }
    .tabs-panel:has(.components-intro-container) table tbody th, .accordion-content:has(.components-intro-container) table tbody th {
      background-color: transparent; }
    .tabs-panel:has(.components-intro-container) table tbody tr:not(:last-child) th, .accordion-content:has(.components-intro-container) table tbody tr:not(:last-child) th {
      border-bottom: 1px solid transparent; }
    @media screen and (min-width: 81.25em) {
      .tabs-panel:has(.components-intro-container) table tbody tr, .accordion-content:has(.components-intro-container) table tbody tr {
        display: table-row; } }
  .tabs-panel:has(.components-intro-container) table .col-label, .accordion-content:has(.components-intro-container) table .col-label {
    color: #777777; }
  @media print, screen and (max-width: 81.24875em) {
    .tabs-panel:has(.components-intro-container) table.responsive-table tbody tr, .accordion-content:has(.components-intro-container) table.responsive-table tbody tr {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column; } }
  @media print, screen and (max-width: 81.24875em) {
    .tabs-panel:has(.components-intro-container) table.responsive-table tbody tr:not(:last-child), .accordion-content:has(.components-intro-container) table.responsive-table tbody tr:not(:last-child) {
      margin-bottom: 10px;
      padding-bottom: 10px;
      border-bottom: 1px solid #eeeeee; } }
  .tabs-panel:has(.components-intro-container) table.no-wrap, .accordion-content:has(.components-intro-container) table.no-wrap {
    display: block;
    white-space: nowrap;
    overflow-x: auto; }
  .tabs-panel:has(.components-intro-container) table.comparison-table tbody td:first-child, .accordion-content:has(.components-intro-container) table.comparison-table tbody td:first-child {
    color: #777777;
    font-weight: 600; }

.tabs-panel:has(.components-intro-container) .description-col, .tabs-panel:has(.components-intro-container) .reference-col, .accordion-content:has(.components-intro-container) .description-col, .accordion-content:has(.components-intro-container) .reference-col {
  text-align: left; }

.tabs {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-top: 80px;
  padding: 0;
  border-bottom: 1px solid #dadada !important; }
  .tabs.vertical {
    width: 20%;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    border-bottom: 0 !important; }
    @media screen and (min-width: 81.25em) {
      .tabs.vertical {
        max-width: 300px; } }
  .tabs .tabs-title {
    position: relative;
    border-style: solid;
    border-color: transparent;
    border-width: 1px 1px 0 1px;
    border-radius: 0 0 0 0; }
    .tabs .tabs-title.is-active {
      border-color: #dadada; }
      .tabs .tabs-title.is-active:after {
        content: '';
        width: 100%;
        height: 1px;
        display: block;
        position: absolute;
        bottom: -1px;
        left: 0;
        background-color: #ffffff; }
      .tabs .tabs-title.is-active a:after {
        content: ""; }
    .tabs .tabs-title a:after {
      content: "";
      margin: 0 10px;
      font-size: 10px;
      font-family: "fontello-djmiles"; }
    .tabs .tabs-title a {
      display: -webkit-inline-box;
      display: -ms-inline-flexbox;
      display: inline-flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      font-weight: 400;
      text-decoration: none;
      text-transform: uppercase; }
      .tabs .tabs-title a:hover {
        color: var(--secondary-colour-lightness-0); }
      .tabs .tabs-title a:active {
        color: var(--primary-colour-lightness-0); }

.accordion {
  margin: 0;
  padding: 10px 0; }
  @media screen and (min-width: 81.25em) {
    .accordion {
      padding: 0; } }
  .accordion.panel-state-indicator-first .accordion-title:after {
    margin-right: 10px;
    margin-left: 0;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1; }
  .accordion.panel-state-indicator-first .accordion-title .title {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2; }
  .accordion.radio-indicators .accordion-item.is-active .accordion-title:after {
    content: "";
    font-family: "Font Awesome Solid"; }
  .accordion.radio-indicators .accordion-item .accordion-title:after {
    content: "";
    font-family: "Font Awesome Regular"; }
  .accordion.suppress-title-single-child .accordion-item:only-child .accordion-title {
    display: none; }
  .accordion.suppress-title-single-child .accordion-item:only-child .accordion-content {
    border-width: 1px; }
  .accordion.accordion-title-inverted-colours .accordion-title {
    background-color: #06052f;
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }
    .accordion.accordion-title-inverted-colours .accordion-title:after {
      color: #ffffff;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
    .accordion.accordion-title-inverted-colours .accordion-title a.accordion-title-content {
      color: #ffffff;
      -webkit-transition: color 0.8s, border-color 0.8s, background-color 0.8s;
      transition: color 0.8s, border-color 0.8s, background-color 0.8s; }
    .accordion.accordion-title-inverted-colours .accordion-title:hover {
      background-color: #06052f;
      -webkit-transition: background-color 0.6s, color 0.6s, border-color 0.6s;
      transition: background-color 0.6s, color 0.6s, border-color 0.6s; }
      .accordion.accordion-title-inverted-colours .accordion-title:hover:after {
        color: #ffffff;
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
      .accordion.accordion-title-inverted-colours .accordion-title:hover a.accordion-title-content {
        color: #ffffff; }
        .accordion.accordion-title-inverted-colours .accordion-title:hover a.accordion-title-content:after {
          color: #ffffff;
          -webkit-transition: color 0.6s;
          transition: color 0.6s; }
    .accordion.accordion-title-inverted-colours .accordion-title:active {
      background-color: #50506d; }
      .accordion.accordion-title-inverted-colours .accordion-title:active:after {
        color: #06052f; }
      .accordion.accordion-title-inverted-colours .accordion-title:active a.accordion-title-content {
        color: #06052f; }
        .accordion.accordion-title-inverted-colours .accordion-title:active a.accordion-title-content:after {
          color: #06052f; }
  .accordion.accordion-title-inverted-colours .accordion-item.is-active .accordion-title {
    background-color: #50506d; }
    .accordion.accordion-title-inverted-colours .accordion-item.is-active .accordion-title:after {
      color: #06052f; }
    .accordion.accordion-title-inverted-colours .accordion-item.is-active .accordion-title a:first-child {
      color: #06052f; }
      .accordion.accordion-title-inverted-colours .accordion-item.is-active .accordion-title a:first-child:after {
        color: #06052f; }
  .accordion .accordion-title-container {
    cursor: pointer; }
  .accordion .accordion-title {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    font-weight: 400;
    text-decoration: none;
    text-transform: uppercase;
    border-bottom: 0; }
    .accordion .accordion-title.disabled {
      background-color: var(--neutral-colour-lightness-8);
      color: #929292;
      cursor: no-drop;
      pointer-events: none; }
      .accordion .accordion-title.disabled .title-icon {
        opacity: .4; }
    .accordion .accordion-title:after {
      content: "";
      margin-left: auto;
      font-size: 10px;
      font-family: "fontello-djmiles";
      color: #888888; }
    .accordion .accordion-title .title-icon {
      width: 175px;
      height: 30px;
      display: -webkit-inline-box;
      display: -ms-inline-flexbox;
      display: inline-flex;
      background-repeat: no-repeat;
      background-position: center; }
    .accordion .accordion-title .found-count {
      margin-right: 10px;
      -webkit-box-ordinal-group: 0;
          -ms-flex-order: -1;
              order: -1; }
  .accordion a.accordion-title:hover {
    color: #06052f; }
  .accordion .is-active .accordion-title {
    border-bottom: 0;
    background-color: var(--primary-colour-lightness-10); }
    .accordion .is-active .accordion-title:after {
      content: "";
      color: var(--primary-colour-lightness-0); }
  .accordion .accordion-item {
    margin-bottom: 10px; }
  .accordion .accordion-content {
    border-style: solid;
    border-color: #dadada;
    border-width: 0 1px 1px 1px; }

.accordion-content {
  height: 0;
  display: block !important;
  overflow: hidden; }
  .accordion-content[aria-hidden="false"] {
    height: auto;
    padding: 20px 25px; }
    @media screen and (min-width: 81.25em) {
      .accordion-content[aria-hidden="false"] {
        padding: 40px 50px; } }

.accordion-title-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }

.attachments-container ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  padding: 0;
  list-style: none; }
  @media print, screen and (min-width: 40em) {
    .attachments-container ul li {
      -webkit-box-flex: 1;
          -ms-flex: 1 0 50%;
              flex: 1 0 50%; } }
  @media screen and (min-width: 81.25em) {
    .attachments-container ul li {
      -webkit-box-flex: 1;
          -ms-flex: 1 0 33%;
              flex: 1 0 33%; } }

.attachments-container .attachment {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 10px 5px;
  color: #000000;
  font-weight: 400;
  font-size: 1rem;
  -webkit-transition: color 0.8s;
  transition: color 0.8s; }
  .attachments-container .attachment:hover {
    color: #ae9461;
    -webkit-transition: color 0.6s;
    transition: color 0.6s; }
  .attachments-container .attachment:active {
    color: #888888;
    -webkit-transition: color 0.6s;
    transition: color 0.6s; }
    .attachments-container .attachment:active:before {
      color: #888888;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }
  .attachments-container .attachment:before {
    content: "";
    font-family: "Font Awesome Regular";
    color: #06052f;
    margin: 0 15px 0 0;
    font-size: 26px; }

.attachments-container .brochure:before {
  content: "";
  font-family: "Font Awesome Regular";
  color: rgba(6, 5, 47, 0.6); }

.attachments-container .user-guide:before {
  content: "";
  font-family: "Font Awesome Solid";
  color: rgba(6, 5, 47, 0.6); }

.attachments-container .parts-diagram:before {
  content: "";
  font-family: "Font Awesome Solid";
  color: rgba(6, 5, 47, 0.6); }

.attachments-container .word:before, .attachments-container [href$='.doc']:before, .attachments-container [href$='.docx']:before {
  content: "";
  font-family: "Font Awesome Solid";
  color: #2b579a; }

.attachments-container .powerpoint:before, .attachments-container [href$='.ppt']:before {
  content: "";
  font-family: "Font Awesome Solid";
  color: #806a52; }

.attachments-container .excel:before, .attachments-container [href$='.xls']:before, .attachments-container [href$='.xlsx']:before {
  content: "";
  font-family: "Font Awesome Solid";
  color: #06052f; }

.attachments-container .pdf:before, .attachments-container [href$='.pdf']:before {
  content: "";
  font-family: "Font Awesome Regular";
  color: #ff0101; }

.attachments-container .csv:before, .attachments-container [href$='.csv']:before {
  content: "";
  font-family: "Font Awesome Solid";
  color: rgba(6, 5, 47, 0.9); }

.attachments-container .image-attachment:before, .attachments-container [href$='.jpg']:before, .attachments-container [href$='.png']:before, .attachments-container [href$='.gif']:before, .attachments-container [href$='.webm']:before {
  content: "";
  font-family: "Font Awesome Solid";
  color: #888888; }

.attachments-container .video-attachment:before, .attachments-container [href$='.mov']:before, .attachments-container [href$='.mp4']:before {
  content: "";
  font-family: "Font Awesome Solid";
  color: #777777; }

.attachments-container .zip:before, .attachments-container [href$='.zip']:before {
  content: "";
  font-family: "Font Awesome Solid";
  color: #ae9461; }

/*
----- Sticky ------ 
Sticky functionality that is build ontop of https://get.foundation/sites/docs/sticky.html.

[IMPORTANT] - This CSS is not for the basket summmary or the header please view header.scss and basket.scss for that.
*/
.sticky {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  .sticky.is-stuck {
    position: fixed; }
  .sticky.is-anchored {
    position: absolute; }
  .sticky.is-stuck:not(.no-animate) {
    -webkit-transition: margin-top 0.6s;
    transition: margin-top 0.6s; }
  .sticky.is-anchored:not(.no-animate) {
    -webkit-transition: margin-top 0.8s;
    transition: margin-top 0.8s; }
  .sticky.element-not-in-viewport {
    position: relative !important;
    top: 0 !important;
    left: 0 !important;
    margin-top: unset !important; }

[data-axis-sticky-container] {
  width: 100%;
  position: relative; }
  [data-axis-sticky-container] .callbackContainer {
    position: initial; }

[data-axis-sticky] {
  width: 100%; }

[data-sticky-container] {
  width: 100%;
  position: relative; }

.sticky-side-buttons-container {
  width: 100%;
  position: fixed;
  top: auto;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 2; }
  @media print, screen and (min-width: 40em) {
    .sticky-side-buttons-container {
      max-width: 95%;
      margin: 0 auto;
      background-color: transparent;
      -webkit-box-shadow: none;
              box-shadow: none; } }
  @media screen and (min-width: 81.25em) {
    .sticky-side-buttons-container {
      max-width: 80%; } }
  @media screen and (min-width: 97.25em) {
    .sticky-side-buttons-container {
      max-height: 0;
      width: 128px;
      position: absolute;
      top: 0;
      left: unset;
      margin: 0; } }
  .sticky-side-buttons-container .sticky {
    width: 100%; }
    @media screen and (max-width: 97.25em) {
      .sticky-side-buttons-container .sticky {
        position: absolute !important;
        top: auto !important;
        bottom: 0 !important;
        margin-top: 0 !important; } }
    @media screen and (min-width: 120em) {
      .sticky-side-buttons-container .sticky.is-stuck {
        padding-top: 20px; } }

.sticky-side-buttons-container .sticky-side-buttons {
  visibility: visible; }

.sticky-side-buttons {
  width: 100%;
  visibility: hidden;
  -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
          box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3); }
  @media print, screen and (min-width: 40em) {
    .sticky-side-buttons {
      -webkit-box-shadow: none;
              box-shadow: none; } }
  .sticky-side-buttons ul {
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    margin: 0;
    padding: 0;
    list-style: none; }
    @media print, screen and (min-width: 40em) {
      .sticky-side-buttons ul {
        gap: 10px; } }
    @media screen and (min-width: 97.25em) {
      .sticky-side-buttons ul {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column; } }
  .sticky-side-buttons li {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0; }
    .sticky-side-buttons li button, .sticky-side-buttons li a {
      border-radius: 0; }
    @media print, screen and (min-width: 40em) {
      .sticky-side-buttons li:first-child button, .sticky-side-buttons li:first-child a {
        border-radius: 0 0 0; }
      .sticky-side-buttons li:last-child button, .sticky-side-buttons li:last-child a {
        border-radius: 0 0 0 0; }
      .sticky-side-buttons li:only-child button, .sticky-side-buttons li:only-child a {
        border-radius: 0 0 0 0; } }
    @media screen and (min-width: 97.25em) {
      .sticky-side-buttons li:first-child button, .sticky-side-buttons li:first-child a {
        border-radius: 0 0 0; }
      .sticky-side-buttons li:last-child button, .sticky-side-buttons li:last-child a {
        border-radius: 0 0 0 0; }
      .sticky-side-buttons li:only-child button, .sticky-side-buttons li:only-child a {
        border-radius: 0 0 0 0; } }
  .sticky-side-buttons .sticky-side-button {
    height: 100%; }
    @media screen and (min-width: 97.25em) {
      .sticky-side-buttons .sticky-side-button {
        width: 128px;
        height: 128px; }
        .sticky-side-buttons .sticky-side-button a, .sticky-side-buttons .sticky-side-button button {
          padding: 10px; } }
    .sticky-side-buttons .sticky-side-button:hover a, .sticky-side-buttons .sticky-side-button:hover button {
      background-color: #ae9461;
      -webkit-transition: background-color 0.6s;
      transition: background-color 0.6s; }
      @media screen and (min-width: 97.25em) {
        .sticky-side-buttons .sticky-side-button:hover a, .sticky-side-buttons .sticky-side-button:hover button {
          background-color: #06052f; } }
    .sticky-side-buttons .sticky-side-button:hover span[class*="-description"] {
      color: #ffffff;
      text-decoration: underline;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }
      @media screen and (min-width: 97.25em) {
        .sticky-side-buttons .sticky-side-button:hover span[class*="-description"] {
          color: #ffffff; } }
    .sticky-side-buttons .sticky-side-button:hover span[class*="-icon"]:before {
      color: #ffffff;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }
      @media screen and (min-width: 97.25em) {
        .sticky-side-buttons .sticky-side-button:hover span[class*="-icon"]:before {
          color: #ffffff; } }
    .sticky-side-buttons .sticky-side-button:active a, .sticky-side-buttons .sticky-side-button:active button {
      background-color: #ffffff; }
      @media screen and (min-width: 97.25em) {
        .sticky-side-buttons .sticky-side-button:active a, .sticky-side-buttons .sticky-side-button:active button {
          background-color: #ae9461; } }
    .sticky-side-buttons .sticky-side-button:active span[class*="-description"] {
      color: #777777;
      text-decoration: underline; }
      @media screen and (min-width: 97.25em) {
        .sticky-side-buttons .sticky-side-button:active span[class*="-description"] {
          color: #ffffff; } }
    .sticky-side-buttons .sticky-side-button:active span[class*="-icon"]:before {
      color: #777777; }
      @media screen and (min-width: 97.25em) {
        .sticky-side-buttons .sticky-side-button:active span[class*="-icon"]:before {
          color: #ffffff; } }
    .sticky-side-buttons .sticky-side-button span[class*="-description"] {
      display: block;
      margin: 0;
      color: #ffffff;
      font-size: 0.875rem;
      font-weight: 700;
      line-height: 17px;
      text-align: center; }
      @media screen and (min-width: 97.25em) {
        .sticky-side-buttons .sticky-side-button span[class*="-description"] {
          color: #777777;
          margin: 0 auto; } }
    .sticky-side-buttons .sticky-side-button span[class*="-icon"] {
      height: 25px;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; }

@media screen and (max-width: 81.24875em) and (orientation: landscape) {
  .sticky-side-buttons .sticky-side-button span[class*="-icon"] {
    display: none; } }
      @media screen and (min-width: 97.25em) {
        .sticky-side-buttons .sticky-side-button span[class*="-icon"] {
          height: auto; } }
      .sticky-side-buttons .sticky-side-button span[class*="-icon"]:before {
        margin: auto;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        font-family: "fontello";
        font-weight: 400;
        color: #ffffff;
        line-height: 1;
        -webkit-transition: color 0.8s;
        transition: color 0.8s; }
        @media screen and (min-width: 97.25em) {
          .sticky-side-buttons .sticky-side-button span[class*="-icon"]:before {
            color: #06052f; } }
    .sticky-side-buttons .sticky-side-button a, .sticky-side-buttons .sticky-side-button button {
      width: 100%;
      height: 100%;
      padding: 10px 15px;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      gap: 10px;
      background-color: #06052f;
      border: 2px solid #ffffff;
      opacity: 1;
      -webkit-transition: background-color 0.8s;
      transition: background-color 0.8s; }
      @media print, screen and (min-width: 40em) {
        .sticky-side-buttons .sticky-side-button a, .sticky-side-buttons .sticky-side-button button {
          -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
                  box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
          border: 1px solid #eeeeee; } }
      @media screen and (min-width: 97.25em) {
        .sticky-side-buttons .sticky-side-button a, .sticky-side-buttons .sticky-side-button button {
          -webkit-box-orient: vertical;
          -webkit-box-direction: normal;
              -ms-flex-direction: column;
                  flex-direction: column;
          background-color: #ffffff;
          padding: 4px 14px;
          -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
                  box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3); } }
      .sticky-side-buttons .sticky-side-button a.disabled, .sticky-side-buttons .sticky-side-button a[disabled], .sticky-side-buttons .sticky-side-button button.disabled, .sticky-side-buttons .sticky-side-button button[disabled] {
        background-color: #eeeeee;
        cursor: no-drop;
        border-color: #929292; }
        .sticky-side-buttons .sticky-side-button a.disabled span[class*="-description"], .sticky-side-buttons .sticky-side-button a[disabled] span[class*="-description"], .sticky-side-buttons .sticky-side-button button.disabled span[class*="-description"], .sticky-side-buttons .sticky-side-button button[disabled] span[class*="-description"] {
          color: #929292; }
        .sticky-side-buttons .sticky-side-button a.disabled span[class*="-icon"]:before, .sticky-side-buttons .sticky-side-button a[disabled] span[class*="-icon"]:before, .sticky-side-buttons .sticky-side-button button.disabled span[class*="-icon"]:before, .sticky-side-buttons .sticky-side-button button[disabled] span[class*="-icon"]:before {
          color: #929292; }

/*
----- List Sorting Options  -----
- Holds the styles for the following: 
  - Product list(s)
  - Account area sorting ( historical transactions, call system, orders )
- The following components will be found here: 
  - List item count
  - Sort by 
  - Filters toggle ( If opening a popup )
  - View switcher ( Grid or Table )
  - Pagination 
  - Items per page.
*/
.AXISResultsContainer .control .label, .list-sort-container .control .label {
  width: 160px;
  margin-right: 13px;
  font-size: 0.875rem;
  font-weight: 400;
  color: var(--primary-colour-lightness-0); }
  @media screen and (min-width: 81.25em) {
    .AXISResultsContainer .control .label, .list-sort-container .control .label {
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content; } }

.AXISResultsContainer, .list-sort-container {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 20px;
  position: relative;
  margin: 0 0 10px;
  padding: 5px 0 20px; }
  @media screen and (min-width: 81.25em) {
    .AXISResultsContainer, .list-sort-container {
      gap: 10px 15px;
      margin: 0;
      padding: 0 0 20px; } }
  @media screen and (min-width: 100em) {
    .AXISResultsContainer, .list-sort-container {
      min-height: 40px;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center; } }
  .AXISResultsContainer > div, .list-sort-container > div {
    height: auto;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
  .AXISResultsContainer .sort-option, .list-sort-container .sort-option {
    width: 100%; }
    @media screen and (min-width: 81.25em) {
      .AXISResultsContainer .sort-option, .list-sort-container .sort-option {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content; } }
  .AXISResultsContainer .download-option, .list-sort-container .download-option {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
    .AXISResultsContainer .download-option:before, .list-sort-container .download-option:before {
      content: "";
      margin-right: 10px;
      font-family: "Font Awesome Solid";
      color: var(--primary-colour-lightness-3);
      font-size: 20px; }
    .AXISResultsContainer .download-option a, .list-sort-container .download-option a {
      position: relative;
      padding: 0 5px;
      color: #000000;
      font-size: 0.875rem; }
      @media screen and (min-width: 81.25em) {
        .AXISResultsContainer .download-option a, .list-sort-container .download-option a {
          padding: 0; } }
      .AXISResultsContainer .download-option a:hover, .list-sort-container .download-option a:hover {
        color: var(--secondary-colour-lightness-0); }
      .AXISResultsContainer .download-option a:not(:only-child):not(:first-child):before, .list-sort-container .download-option a:not(:only-child):not(:first-child):before {
        content: '';
        width: 2px;
        height: 60%;
        position: absolute;
        top: 0;
        bottom: 0;
        left: -6px;
        display: inline-block;
        margin: auto;
        background-color: #aeaeae; }
    .AXISResultsContainer .download-option .buttons-container, .list-sort-container .download-option .buttons-container {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      gap: 12px; }
  .AXISResultsContainer .AXISResultDisplayContainer, .AXISResultsContainer .item-count-container, .list-sort-container .AXISResultDisplayContainer, .list-sort-container .item-count-container {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex; }
    @media screen and (min-width: 81.25em) {
      .AXISResultsContainer .AXISResultDisplayContainer, .AXISResultsContainer .item-count-container, .list-sort-container .AXISResultDisplayContainer, .list-sort-container .item-count-container {
        height: 100%;
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        padding: 0; } }
    .AXISResultsContainer .AXISResultDisplayContainer .AXISResultDisplay, .AXISResultsContainer .AXISResultDisplayContainer .item-count, .AXISResultsContainer .item-count-container .AXISResultDisplay, .AXISResultsContainer .item-count-container .item-count, .list-sort-container .AXISResultDisplayContainer .AXISResultDisplay, .list-sort-container .AXISResultDisplayContainer .item-count, .list-sort-container .item-count-container .AXISResultDisplay, .list-sort-container .item-count-container .item-count {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      font-size: 0.875rem;
      font-weight: 400;
      color: var(--primary-colour-lightness-0);
      background-color: transparent; }
      @media screen and (min-width: 81.25em) {
        .AXISResultsContainer .AXISResultDisplayContainer .AXISResultDisplay, .AXISResultsContainer .AXISResultDisplayContainer .item-count, .AXISResultsContainer .item-count-container .AXISResultDisplay, .AXISResultsContainer .item-count-container .item-count, .list-sort-container .AXISResultDisplayContainer .AXISResultDisplay, .list-sort-container .AXISResultDisplayContainer .item-count, .list-sort-container .item-count-container .AXISResultDisplay, .list-sort-container .item-count-container .item-count {
          height: 100%; } }
  .AXISResultsContainer .filter-toggle-container, .list-sort-container .filter-toggle-container {
    width: 100%;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex; }
    @media screen and (min-width: 81.25em) {
      .AXISResultsContainer .filter-toggle-container, .list-sort-container .filter-toggle-container {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content; } }
    @media screen and (min-width: 81.25em) {
      .AXISResultsContainer .filter-toggle-container .filter-toggle, .list-sort-container .filter-toggle-container .filter-toggle {
        padding: 0; } }
    .AXISResultsContainer .filter-toggle-container .filter-toggle:before, .list-sort-container .filter-toggle-container .filter-toggle:before {
      color: var(--primary-colour-lightness-3);
      margin-right: 15px; }
    .AXISResultsContainer .filter-toggle-container .active-filter-count, .list-sort-container .filter-toggle-container .active-filter-count {
      top: -6px;
      left: 10px; }
  .AXISResultsContainer .call-search-container, .list-sort-container .call-search-container {
    width: 100%; }
    @media screen and (min-width: 81.25em) {
      .AXISResultsContainer .call-search-container, .list-sort-container .call-search-container {
        width: auto; } }
    .AXISResultsContainer .call-search-container .control.search, .list-sort-container .call-search-container .control.search {
      -webkit-box-flex: 1;
          -ms-flex: 1;
              flex: 1; }
    @media screen and (min-width: 81.25em) {
      .AXISResultsContainer .call-search-container input, .list-sort-container .call-search-container input {
        min-width: 340px;
        height: 40px !important; }
        .AXISResultsContainer .call-search-container input + button, .list-sort-container .call-search-container input + button {
          height: 40px; } }
    .AXISResultsContainer .call-search-container .label, .list-sort-container .call-search-container .label {
      margin-right: 13px;
      font-size: 0.875rem;
      font-weight: 400;
      color: var(--primary-colour-lightness-0); }
  @media screen and (min-width: 81.25em) {
    .AXISResultsContainer .branch-filter, .list-sort-container .branch-filter {
      max-width: 490px; } }
  @media screen and (min-width: 81.25em) {
    .AXISResultsContainer .branch-filter select, .AXISResultsContainer .branch-filter .control-select-dropdown, .list-sort-container .branch-filter select, .list-sort-container .branch-filter .control-select-dropdown {
      width: 300px; } }
  .AXISResultsContainer .branch-filter .tooltip-container, .list-sort-container .branch-filter .tooltip-container {
    -ms-flex-item-align: center;
        align-self: center;
    margin-left: 5px; }
  .AXISResultsContainer .AXISSortForm, .AXISResultsContainer .list-sort-by-container, .list-sort-container .AXISSortForm, .list-sort-container .list-sort-by-container {
    width: 100%;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    color: #000000; }
    @media screen and (min-width: 81.25em) {
      .AXISResultsContainer .AXISSortForm, .AXISResultsContainer .list-sort-by-container, .list-sort-container .AXISSortForm, .list-sort-container .list-sort-by-container {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content; } }
    .AXISResultsContainer .AXISSortForm label, .AXISResultsContainer .list-sort-by-container label, .list-sort-container .AXISSortForm label, .list-sort-container .list-sort-by-container label {
      font-size: 1rem; }
      @media screen and (min-width: 81.25em) {
        .AXISResultsContainer .AXISSortForm label, .AXISResultsContainer .list-sort-by-container label, .list-sort-container .AXISSortForm label, .list-sort-container .list-sort-by-container label {
          width: auto; } }
    .AXISResultsContainer .AXISSortForm .control.select select, .AXISResultsContainer .list-sort-by-container .control.select select, .list-sort-container .AXISSortForm .control.select select, .list-sort-container .list-sort-by-container .control.select select {
      width: 100%; }
      @media screen and (min-width: 81.25em) {
        .AXISResultsContainer .AXISSortForm .control.select select, .AXISResultsContainer .list-sort-by-container .control.select select, .list-sort-container .AXISSortForm .control.select select, .list-sort-container .list-sort-by-container .control.select select {
          width: 215px;
          height: 40px; } }
    .AXISResultsContainer .AXISSortForm .control.select .control-select-container, .AXISResultsContainer .list-sort-by-container .control.select .control-select-container, .list-sort-container .AXISSortForm .control.select .control-select-container, .list-sort-container .list-sort-by-container .control.select .control-select-container {
      width: 215px; }
    .AXISResultsContainer .AXISSortForm .control.select .control-select-dropdown, .AXISResultsContainer .list-sort-by-container .control.select .control-select-dropdown, .list-sort-container .AXISSortForm .control.select .control-select-dropdown, .list-sort-container .list-sort-by-container .control.select .control-select-dropdown {
      height: 40px; }
  .AXISResultsContainer .AXISViewContainer, .AXISResultsContainer .list-view-container, .list-sort-container .AXISViewContainer, .list-sort-container .list-view-container {
    width: 25%; }
    @media screen and (min-width: 81.25em) {
      .AXISResultsContainer .AXISViewContainer, .AXISResultsContainer .list-view-container, .list-sort-container .AXISViewContainer, .list-sort-container .list-view-container {
        width: 10%;
        margin: 0; } }
    .AXISResultsContainer .AXISViewContainer ul, .AXISResultsContainer .list-view-container ul, .list-sort-container .AXISViewContainer ul, .list-sort-container .list-view-container ul {
      width: 100%;
      height: 100%;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      gap: 0 10px;
      margin: 0;
      padding: 0;
      list-style: none; }
      @media screen and (min-width: 81.25em) {
        .AXISResultsContainer .AXISViewContainer ul, .AXISResultsContainer .list-view-container ul, .list-sort-container .AXISViewContainer ul, .list-sort-container .list-view-container ul {
          gap: 0 5px; } }
      .AXISResultsContainer .AXISViewContainer ul li, .AXISResultsContainer .list-view-container ul li, .list-sort-container .AXISViewContainer ul li, .list-sort-container .list-view-container ul li {
        width: 50%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        text-align: center; }
        @media screen and (min-width: 81.25em) {
          .AXISResultsContainer .AXISViewContainer ul li, .AXISResultsContainer .list-view-container ul li, .list-sort-container .AXISViewContainer ul li, .list-sort-container .list-view-container ul li {
            border: 0; } }
      .AXISResultsContainer .AXISViewContainer ul a, .AXISResultsContainer .AXISViewContainer ul .view-control, .AXISResultsContainer .list-view-container ul a, .AXISResultsContainer .list-view-container ul .view-control, .list-sort-container .AXISViewContainer ul a, .list-sort-container .AXISViewContainer ul .view-control, .list-sort-container .list-view-container ul a, .list-sort-container .list-view-container ul .view-control {
        width: 100%;
        height: 100%;
        display: block;
        padding: 12px 8px;
        position: relative;
        background-color: var(--neutral-colour-lightness-10);
        border-radius: 0;
        -webkit-transition: background-color 0.8s;
        transition: background-color 0.8s; }
        @media screen and (min-width: 81.25em) {
          .AXISResultsContainer .AXISViewContainer ul a, .AXISResultsContainer .AXISViewContainer ul .view-control, .AXISResultsContainer .list-view-container ul a, .AXISResultsContainer .list-view-container ul .view-control, .list-sort-container .AXISViewContainer ul a, .list-sort-container .AXISViewContainer ul .view-control, .list-sort-container .list-view-container ul a, .list-sort-container .list-view-container ul .view-control {
            padding: 12px; } }
        .AXISResultsContainer .AXISViewContainer ul a:hover, .AXISResultsContainer .AXISViewContainer ul .view-control:hover, .AXISResultsContainer .list-view-container ul a:hover, .AXISResultsContainer .list-view-container ul .view-control:hover, .list-sort-container .AXISViewContainer ul a:hover, .list-sort-container .AXISViewContainer ul .view-control:hover, .list-sort-container .list-view-container ul a:hover, .list-sort-container .list-view-container ul .view-control:hover {
          background-color: var(--primary-colour-lightness-0);
          -webkit-transition: background-color 0.6s;
          transition: background-color 0.6s; }
          .AXISResultsContainer .AXISViewContainer ul a:hover .icon:before, .AXISResultsContainer .AXISViewContainer ul .view-control:hover .icon:before, .AXISResultsContainer .list-view-container ul a:hover .icon:before, .AXISResultsContainer .list-view-container ul .view-control:hover .icon:before, .list-sort-container .AXISViewContainer ul a:hover .icon:before, .list-sort-container .AXISViewContainer ul .view-control:hover .icon:before, .list-sort-container .list-view-container ul a:hover .icon:before, .list-sort-container .list-view-container ul .view-control:hover .icon:before {
            color: var(--white-colour); }
        .AXISResultsContainer .AXISViewContainer ul a:active, .AXISResultsContainer .AXISViewContainer ul .view-control:active, .AXISResultsContainer .list-view-container ul a:active, .AXISResultsContainer .list-view-container ul .view-control:active, .list-sort-container .AXISViewContainer ul a:active, .list-sort-container .AXISViewContainer ul .view-control:active, .list-sort-container .list-view-container ul a:active, .list-sort-container .list-view-container ul .view-control:active {
          background-color: var(--neutral-colour-lightness-8); }
          .AXISResultsContainer .AXISViewContainer ul a:active .icon:before, .AXISResultsContainer .AXISViewContainer ul .view-control:active .icon:before, .AXISResultsContainer .list-view-container ul a:active .icon:before, .AXISResultsContainer .list-view-container ul .view-control:active .icon:before, .list-sort-container .AXISViewContainer ul a:active .icon:before, .list-sort-container .AXISViewContainer ul .view-control:active .icon:before, .list-sort-container .list-view-container ul a:active .icon:before, .list-sort-container .list-view-container ul .view-control:active .icon:before {
            color: var(--neutral-colour-lightness-0); }
        .AXISResultsContainer .AXISViewContainer ul a.active, .AXISResultsContainer .AXISViewContainer ul .view-control.active, .AXISResultsContainer .list-view-container ul a.active, .AXISResultsContainer .list-view-container ul .view-control.active, .list-sort-container .AXISViewContainer ul a.active, .list-sort-container .AXISViewContainer ul .view-control.active, .list-sort-container .list-view-container ul a.active, .list-sort-container .list-view-container ul .view-control.active {
          background-color: var(--primary-colour-lightness-10);
          cursor: not-allowed; }
          .AXISResultsContainer .AXISViewContainer ul a.active .icon:before, .AXISResultsContainer .AXISViewContainer ul .view-control.active .icon:before, .AXISResultsContainer .list-view-container ul a.active .icon:before, .AXISResultsContainer .list-view-container ul .view-control.active .icon:before, .list-sort-container .AXISViewContainer ul a.active .icon:before, .list-sort-container .AXISViewContainer ul .view-control.active .icon:before, .list-sort-container .list-view-container ul a.active .icon:before, .list-sort-container .list-view-container ul .view-control.active .icon:before {
            color: var(--primary-colour-lightness-0); }
        .AXISResultsContainer .AXISViewContainer ul a.AXISViewGrid.disabled, .AXISResultsContainer .AXISViewContainer ul a.AXISViewList.disabled, .AXISResultsContainer .AXISViewContainer ul .view-control.AXISViewGrid.disabled, .AXISResultsContainer .AXISViewContainer ul .view-control.AXISViewList.disabled, .AXISResultsContainer .list-view-container ul a.AXISViewGrid.disabled, .AXISResultsContainer .list-view-container ul a.AXISViewList.disabled, .AXISResultsContainer .list-view-container ul .view-control.AXISViewGrid.disabled, .AXISResultsContainer .list-view-container ul .view-control.AXISViewList.disabled, .list-sort-container .AXISViewContainer ul a.AXISViewGrid.disabled, .list-sort-container .AXISViewContainer ul a.AXISViewList.disabled, .list-sort-container .AXISViewContainer ul .view-control.AXISViewGrid.disabled, .list-sort-container .AXISViewContainer ul .view-control.AXISViewList.disabled, .list-sort-container .list-view-container ul a.AXISViewGrid.disabled, .list-sort-container .list-view-container ul a.AXISViewList.disabled, .list-sort-container .list-view-container ul .view-control.AXISViewGrid.disabled, .list-sort-container .list-view-container ul .view-control.AXISViewList.disabled {
          cursor: not-allowed;
          background-color: var(--primary-colour-lightness-10); }
          .AXISResultsContainer .AXISViewContainer ul a.AXISViewGrid.disabled .icon:before, .AXISResultsContainer .AXISViewContainer ul a.AXISViewList.disabled .icon:before, .AXISResultsContainer .AXISViewContainer ul .view-control.AXISViewGrid.disabled .icon:before, .AXISResultsContainer .AXISViewContainer ul .view-control.AXISViewList.disabled .icon:before, .AXISResultsContainer .list-view-container ul a.AXISViewGrid.disabled .icon:before, .AXISResultsContainer .list-view-container ul a.AXISViewList.disabled .icon:before, .AXISResultsContainer .list-view-container ul .view-control.AXISViewGrid.disabled .icon:before, .AXISResultsContainer .list-view-container ul .view-control.AXISViewList.disabled .icon:before, .list-sort-container .AXISViewContainer ul a.AXISViewGrid.disabled .icon:before, .list-sort-container .AXISViewContainer ul a.AXISViewList.disabled .icon:before, .list-sort-container .AXISViewContainer ul .view-control.AXISViewGrid.disabled .icon:before, .list-sort-container .AXISViewContainer ul .view-control.AXISViewList.disabled .icon:before, .list-sort-container .list-view-container ul a.AXISViewGrid.disabled .icon:before, .list-sort-container .list-view-container ul a.AXISViewList.disabled .icon:before, .list-sort-container .list-view-container ul .view-control.AXISViewGrid.disabled .icon:before, .list-sort-container .list-view-container ul .view-control.AXISViewList.disabled .icon:before {
            color: var(--primary-colour-lightness-0); }
        .AXISResultsContainer .AXISViewContainer ul a.AXISViewGrid.active, .AXISResultsContainer .AXISViewContainer ul a.AXISViewList.active, .AXISResultsContainer .AXISViewContainer ul .view-control.AXISViewGrid.active, .AXISResultsContainer .AXISViewContainer ul .view-control.AXISViewList.active, .AXISResultsContainer .list-view-container ul a.AXISViewGrid.active, .AXISResultsContainer .list-view-container ul a.AXISViewList.active, .AXISResultsContainer .list-view-container ul .view-control.AXISViewGrid.active, .AXISResultsContainer .list-view-container ul .view-control.AXISViewList.active, .list-sort-container .AXISViewContainer ul a.AXISViewGrid.active, .list-sort-container .AXISViewContainer ul a.AXISViewList.active, .list-sort-container .AXISViewContainer ul .view-control.AXISViewGrid.active, .list-sort-container .AXISViewContainer ul .view-control.AXISViewList.active, .list-sort-container .list-view-container ul a.AXISViewGrid.active, .list-sort-container .list-view-container ul a.AXISViewList.active, .list-sort-container .list-view-container ul .view-control.AXISViewGrid.active, .list-sort-container .list-view-container ul .view-control.AXISViewList.active {
          cursor: pointer;
          background-color: var(--neutral-colour-lightness-8); }
          .AXISResultsContainer .AXISViewContainer ul a.AXISViewGrid.active .icon:before, .AXISResultsContainer .AXISViewContainer ul a.AXISViewList.active .icon:before, .AXISResultsContainer .AXISViewContainer ul .view-control.AXISViewGrid.active .icon:before, .AXISResultsContainer .AXISViewContainer ul .view-control.AXISViewList.active .icon:before, .AXISResultsContainer .list-view-container ul a.AXISViewGrid.active .icon:before, .AXISResultsContainer .list-view-container ul a.AXISViewList.active .icon:before, .AXISResultsContainer .list-view-container ul .view-control.AXISViewGrid.active .icon:before, .AXISResultsContainer .list-view-container ul .view-control.AXISViewList.active .icon:before, .list-sort-container .AXISViewContainer ul a.AXISViewGrid.active .icon:before, .list-sort-container .AXISViewContainer ul a.AXISViewList.active .icon:before, .list-sort-container .AXISViewContainer ul .view-control.AXISViewGrid.active .icon:before, .list-sort-container .AXISViewContainer ul .view-control.AXISViewList.active .icon:before, .list-sort-container .list-view-container ul a.AXISViewGrid.active .icon:before, .list-sort-container .list-view-container ul a.AXISViewList.active .icon:before, .list-sort-container .list-view-container ul .view-control.AXISViewGrid.active .icon:before, .list-sort-container .list-view-container ul .view-control.AXISViewList.active .icon:before {
            color: var(--neutral-colour-lightness-0); }
        .AXISResultsContainer .AXISViewContainer ul a .icon, .AXISResultsContainer .AXISViewContainer ul .view-control .icon, .AXISResultsContainer .list-view-container ul a .icon, .AXISResultsContainer .list-view-container ul .view-control .icon, .list-sort-container .AXISViewContainer ul a .icon, .list-sort-container .AXISViewContainer ul .view-control .icon, .list-sort-container .list-view-container ul a .icon, .list-sort-container .list-view-container ul .view-control .icon {
          width: 100%;
          height: 100%;
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-pack: center;
              -ms-flex-pack: center;
                  justify-content: center;
          -webkit-box-align: center;
              -ms-flex-align: center;
                  align-items: center; }
          .AXISResultsContainer .AXISViewContainer ul a .icon:before, .AXISResultsContainer .AXISViewContainer ul .view-control .icon:before, .AXISResultsContainer .list-view-container ul a .icon:before, .AXISResultsContainer .list-view-container ul .view-control .icon:before, .list-sort-container .AXISViewContainer ul a .icon:before, .list-sort-container .AXISViewContainer ul .view-control .icon:before, .list-sort-container .list-view-container ul a .icon:before, .list-sort-container .list-view-container ul .view-control .icon:before {
            width: 16px;
            height: 16px;
            margin: auto;
            font-size: 16px;
            font-family: "Font Awesome Solid";
            color: var(--neutral-colour-lightness-0);
            line-height: 1;
            -webkit-transition: color 0.8s;
            transition: color 0.8s; }
        .AXISResultsContainer .AXISViewContainer ul a.AXISViewGrid .icon:before, .AXISResultsContainer .AXISViewContainer ul a.grid .icon:before, .AXISResultsContainer .AXISViewContainer ul .view-control.AXISViewGrid .icon:before, .AXISResultsContainer .AXISViewContainer ul .view-control.grid .icon:before, .AXISResultsContainer .list-view-container ul a.AXISViewGrid .icon:before, .AXISResultsContainer .list-view-container ul a.grid .icon:before, .AXISResultsContainer .list-view-container ul .view-control.AXISViewGrid .icon:before, .AXISResultsContainer .list-view-container ul .view-control.grid .icon:before, .list-sort-container .AXISViewContainer ul a.AXISViewGrid .icon:before, .list-sort-container .AXISViewContainer ul a.grid .icon:before, .list-sort-container .AXISViewContainer ul .view-control.AXISViewGrid .icon:before, .list-sort-container .AXISViewContainer ul .view-control.grid .icon:before, .list-sort-container .list-view-container ul a.AXISViewGrid .icon:before, .list-sort-container .list-view-container ul a.grid .icon:before, .list-sort-container .list-view-container ul .view-control.AXISViewGrid .icon:before, .list-sort-container .list-view-container ul .view-control.grid .icon:before {
          content: ""; }
        .AXISResultsContainer .AXISViewContainer ul a.AXISViewList .icon:before, .AXISResultsContainer .AXISViewContainer ul a.list .icon:before, .AXISResultsContainer .AXISViewContainer ul .view-control.AXISViewList .icon:before, .AXISResultsContainer .AXISViewContainer ul .view-control.list .icon:before, .AXISResultsContainer .list-view-container ul a.AXISViewList .icon:before, .AXISResultsContainer .list-view-container ul a.list .icon:before, .AXISResultsContainer .list-view-container ul .view-control.AXISViewList .icon:before, .AXISResultsContainer .list-view-container ul .view-control.list .icon:before, .list-sort-container .AXISViewContainer ul a.AXISViewList .icon:before, .list-sort-container .AXISViewContainer ul a.list .icon:before, .list-sort-container .AXISViewContainer ul .view-control.AXISViewList .icon:before, .list-sort-container .AXISViewContainer ul .view-control.list .icon:before, .list-sort-container .list-view-container ul a.AXISViewList .icon:before, .list-sort-container .list-view-container ul a.list .icon:before, .list-sort-container .list-view-container ul .view-control.AXISViewList .icon:before, .list-sort-container .list-view-container ul .view-control.list .icon:before {
          content: ""; }
  .AXISResultsContainer .AXISPerPageContainer, .list-sort-container .AXISPerPageContainer {
    width: 50%; }
    @media screen and (min-width: 81.25em) {
      .AXISResultsContainer .AXISPerPageContainer, .list-sort-container .AXISPerPageContainer {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
        margin-left: auto; } }
    @media screen and (min-width: 81.25em) {
      .AXISResultsContainer .AXISPerPageContainer + .AXISPerPageContainer, .list-sort-container .AXISPerPageContainer + .AXISPerPageContainer {
        margin-left: 0; } }
    .AXISResultsContainer .AXISPerPageContainer ul, .list-sort-container .AXISPerPageContainer ul {
      width: 100%;
      height: 100%;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      margin: 0;
      padding: 0;
      list-style: none; }
      .AXISResultsContainer .AXISPerPageContainer ul li, .list-sort-container .AXISPerPageContainer ul li {
        height: 100%;
        display: block;
        background-color: var(--neutral-colour-lightness-8);
        border-radius: 0;
        -webkit-transition: background-color 0.8s;
        transition: background-color 0.8s; }
        .AXISResultsContainer .AXISPerPageContainer ul li:nth-child(2), .list-sort-container .AXISPerPageContainer ul li:nth-child(2) {
          margin: 0 5px; }
        .AXISResultsContainer .AXISPerPageContainer ul li:hover, .list-sort-container .AXISPerPageContainer ul li:hover {
          background-color: var(--primary-colour-lightness-0);
          -webkit-transition: background-color 0.6s;
          transition: background-color 0.6s; }
          .AXISResultsContainer .AXISPerPageContainer ul li:hover a, .list-sort-container .AXISPerPageContainer ul li:hover a {
            color: var(--white-colour);
            -webkit-transition: color 0.6s;
            transition: color 0.6s; }
        .AXISResultsContainer .AXISPerPageContainer ul li:active, .list-sort-container .AXISPerPageContainer ul li:active {
          background-color: var(--neutral-colour-lightness-8); }
          .AXISResultsContainer .AXISPerPageContainer ul li:active a, .list-sort-container .AXISPerPageContainer ul li:active a {
            color: var(--neutral-colour-lightness-0); }
        .AXISResultsContainer .AXISPerPageContainer ul li.active, .list-sort-container .AXISPerPageContainer ul li.active {
          background-color: var(--primary-colour-lightness-10); }
          .AXISResultsContainer .AXISPerPageContainer ul li.active a, .list-sort-container .AXISPerPageContainer ul li.active a {
            color: var(--primary-colour-lightness-0);
            cursor: not-allowed; }
      .AXISResultsContainer .AXISPerPageContainer ul a, .list-sort-container .AXISPerPageContainer ul a {
        width: 100%;
        max-height: 40px;
        height: 100%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        padding: 10.26px 16px;
        font-size: 1rem;
        font-weight: 400;
        color: var(--neutral-colour-lightness-0);
        border-radius: 0;
        -webkit-transition: color 0.8s;
        transition: color 0.8s; }
  @media screen and (min-width: 81.25em) {
    .AXISResultsContainer div:first-child.items-per-list-container, .list-sort-container div:first-child.items-per-list-container {
      margin-left: auto; } }
  .AXISResultsContainer .items-per-list-container, .list-sort-container .items-per-list-container {
    width: 50%;
    gap: 0 10px; }
    @media screen and (min-width: 81.25em) {
      .AXISResultsContainer .items-per-list-container, .list-sort-container .items-per-list-container {
        max-width: 17%;
        width: 100%;
        gap: 0 5px;
        margin-left: auto; } }
    .AXISResultsContainer .items-per-list-container a, .list-sort-container .items-per-list-container a {
      max-height: 40px;
      height: 100%;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-flex: 1;
          -ms-flex: 1 1 0px;
              flex: 1 1 0;
      padding: 10.26px 8px;
      background-color: var(--neutral-colour-lightness-10);
      color: var(--neutral-colour-lightness-0);
      font-size: 1rem;
      font-weight: 400;
      border-radius: 0;
      -webkit-transition: background-color 0.8s, color 0.8s;
      transition: background-color 0.8s, color 0.8s; }
      .AXISResultsContainer .items-per-list-container a:hover, .list-sort-container .items-per-list-container a:hover {
        color: var(--white-colour);
        background-color: var(--primary-colour-lightness-0);
        -webkit-transition: background-color 0.6s, color 0.6s;
        transition: background-color 0.6s, color 0.6s; }
      .AXISResultsContainer .items-per-list-container a:active, .list-sort-container .items-per-list-container a:active {
        background-color: var(--neutral-colour-lightness-8);
        color: var(--neutral-colour-lightness-0); }
      .AXISResultsContainer .items-per-list-container a.active, .list-sort-container .items-per-list-container a.active {
        background-color: var(--primary-colour-lightness-10);
        color: var(--primary-colour-lightness-0);
        cursor: not-allowed; }
    @media screen and (min-width: 81.25em) {
      .AXISResultsContainer .items-per-list-container + .pagination-container, .AXISResultsContainer .items-per-list-container + .AXISPageNumbering, .list-sort-container .items-per-list-container + .pagination-container, .list-sort-container .items-per-list-container + .AXISPageNumbering {
        margin-left: 0; } }
  .AXISResultsContainer .sort-by-days-container, .list-sort-container .sort-by-days-container {
    width: 50%;
    display: block;
    margin: 10px 0;
    -webkit-box-ordinal-group: 7;
        -ms-flex-order: 6;
            order: 6; }
    @media screen and (min-width: 81.25em) {
      .AXISResultsContainer .sort-by-days-container, .list-sort-container .sort-by-days-container {
        width: 23%; } }
    .AXISResultsContainer .sort-by-days-container label, .list-sort-container .sort-by-days-container label {
      margin-right: 20px; }
    .AXISResultsContainer .sort-by-days-container .control.select, .list-sort-container .sort-by-days-container .control.select {
      width: 100%; }

.AXISPageNumbering, .pagination-container {
  width: 100%;
  height: 50px;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 10px; }
  @media screen and (min-width: 81.25em) {
    .AXISPageNumbering, .pagination-container {
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content;
      height: 100%;
      -webkit-box-pack: end;
          -ms-flex-pack: end;
              justify-content: flex-end;
      gap: 0 5px;
      margin-left: auto; } }
  .AXISPageNumbering a, .pagination-container a {
    max-height: 40px;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 10.26px 10px;
    font-size: 0.875rem;
    font-weight: 400;
    color: var(--neutral-colour-lightness-0);
    background-color: var(--neutral-colour-lightness-10);
    border-radius: 0;
    -webkit-transition: all 0.8s;
    transition: all 0.8s; }
    .AXISPageNumbering a:hover, .pagination-container a:hover {
      background-color: var(--primary-colour-lightness-0);
      color: var(--white-colour);
      opacity: 1;
      -webkit-transition: background-color 0.6s, color 0.6s;
      transition: background-color 0.6s, color 0.6s; }
    .AXISPageNumbering a:active, .pagination-container a:active {
      background-color: var(--neutral-colour-lightness-8);
      color: var(--neutral-colour-lightness-0); }
    .AXISPageNumbering a.selected, .AXISPageNumbering a.active, .pagination-container a.selected, .pagination-container a.active {
      background-color: var(--primary-colour-lightness-10);
      color: var(--primary-colour-lightness-0); }
      .AXISPageNumbering a.selected:hover, .AXISPageNumbering a.active:hover, .pagination-container a.selected:hover, .pagination-container a.active:hover {
        cursor: not-allowed;
        text-decoration: none; }
  .AXISPageNumbering .AXISPageNumberJoiner, .AXISPageNumbering .pagination-option-joiner, .pagination-container .AXISPageNumberJoiner, .pagination-container .pagination-option-joiner {
    font-size: 1rem; }

.paginationLabel, .pagination-label {
  margin-right: 13px;
  display: block;
  font-size: 0.875rem;
  font-weight: 400;
  color: var(--primary-colour-lightness-0); }

/**

---- Manage Calls ---- 

- Formally know as the call portal before it got embedded in express, manage calls is account functionality that displays calls in a list in express.
- Styles included here: 
  - List for call list + events list.
  - Enquiry summary.
  - Call rating fonts.
  - Sticky buttons icons.
**/
.enquiry-header-section {
  padding: 20px;
  background-color: #f3f3f3; }
  @media screen and (min-width: 81.25em) {
    .enquiry-header-section {
      height: 100%;
      border-radius: 0; } }
  .enquiry-header-section h2 {
    margin: 0;
    font-weight: 700;
    font-size: 0.875rem;
    color: #06052f;
    text-transform: none; }
  .enquiry-header-section ul {
    margin: 0;
    padding: 0;
    list-style: none; }
    .enquiry-header-section ul li {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column; }
      @media screen and (min-width: 81.25em) {
        .enquiry-header-section ul li {
          -webkit-box-orient: horizontal;
          -webkit-box-direction: normal;
              -ms-flex-direction: row;
                  flex-direction: row; } }
      @media screen and (min-width: 81.25em) {
        .enquiry-header-section ul li:not(:last-child) {
          margin-bottom: 5px; } }
    .enquiry-header-section ul .label {
      font-weight: 700;
      font-size: 0.875rem;
      color: #777777; }
      @media screen and (min-width: 81.25em) {
        .enquiry-header-section ul .label {
          width: 110px;
          display: inline-block; } }
    .enquiry-header-section ul .value {
      -webkit-box-flex: 1;
          -ms-flex: 1;
              flex: 1;
      font-size: 0.875rem; }
  @media screen and (min-width: 81.25em) {
    .enquiry-header-section .enquiry-header-heading {
      margin-bottom: 10px; } }
  .enquiry-header-section .control.checkbox:not(.small) input + span {
    background-color: #ffffff;
    border-color: #aeaeae; }
  .enquiry-header-section .control.radio:not(.checkbox) span.radio {
    border-color: #aeaeae; }

.call-rating-container ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  gap: 10px;
  margin: 0 0 10px; }
  @media screen and (min-width: 81.25em) {
    .call-rating-container ul {
      gap: 5px;
      margin: 0; } }

.call-rating-container.page-view {
  width: 100px;
  height: 100px;
  margin: auto; }

.call-rating-container.list-view {
  width: 22.5px;
  height: 22.5px; }
  @media screen and (min-width: 81.25em) {
    .call-rating-container.list-view {
      margin: auto; } }

.call-rating-container .rating-label {
  display: block;
  margin-bottom: 10px;
  font-size: 0.875rem;
  font-weight: 600;
  color: #777777; }

.call-rating-container .rating-information {
  display: block;
  font-size: 0.8125rem;
  font-style: italic;
  line-height: 1; }

.call-rating-container .call-rating-value {
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  background-repeat: no-repeat; }
  .call-rating-container .call-rating-value input {
    width: 0;
    height: 0;
    margin: 0;
    padding: 0;
    visibility: hidden; }
  .call-rating-container .call-rating-value input[type=radio]:checked + span.radio {
    opacity: 1;
    cursor: not-allowed;
    -webkit-transition: opacity 0.6s;
    transition: opacity 0.6s; }
  .call-rating-container .call-rating-value.rating-icon-0 .icon {
    background-image: url("/template/content/development/images/icons//calls/call-rating-cannot-rate.svg");
    opacity: .1; }
  .call-rating-container .call-rating-value.rating-icon-0.unrated .icon {
    background-image: url("/template/content/development/images/icons//calls/call-rating-unrated.svg");
    opacity: .5; }
  .call-rating-container .call-rating-value.rating-icon-1 .icon {
    background-image: url("/template/content/development/images/icons//calls/call-rating-very-bad.svg"); }
  .call-rating-container .call-rating-value.rating-icon-2 .icon {
    background-image: url("/template/content/development/images/icons//calls/call-rating-bad.svg"); }
  .call-rating-container .call-rating-value.rating-icon-3 .icon {
    background-image: url("/template/content/development/images/icons//calls/call-rating-average.svg"); }
  .call-rating-container .call-rating-value.rating-icon-4 .icon {
    background-image: url("/template/content/development/images/icons//calls/call-rating-good.svg"); }
  .call-rating-container .call-rating-value.rating-icon-5 .icon {
    background-image: url("/template/content/development/images/icons//calls/call-rating-very-good.svg"); }
  .call-rating-container .call-rating-value .icon {
    width: 100%;
    height: 100%; }
  .call-rating-container .call-rating-value .radio {
    width: 25px;
    height: 25px;
    display: block;
    opacity: .2;
    cursor: pointer;
    -webkit-transition: opacity 0.8s;
    transition: opacity 0.8s; }
    .call-rating-container .call-rating-value .radio:hover {
      opacity: 1;
      -webkit-transition: opacity 0.6s;
      transition: opacity 0.6s; }
    .call-rating-container .call-rating-value .radio:active {
      opacity: .7; }

.call-urgency-icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  @media screen and (min-width: 81.25em) {
    .call-urgency-icon {
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center; } }
  .call-urgency-icon.low {
    --urgency-image-url: url(/template/content/development/images/icons//calls/cp-urgency-low.svg); }
  .call-urgency-icon.medium {
    --urgency-image-url: url(/template/content/development/images/icons//calls/cp-urgency-medium.svg); }
  .call-urgency-icon.high {
    --urgency-image-url: url(/template/content/development/images/icons//calls/cp-urgency-high.svg); }
  .call-urgency-icon.critical {
    --urgency-image-url: url(/template/content/development/images/icons//calls/cp-urgency-critical.svg); }
  .call-urgency-icon:before {
    content: '';
    width: 22.5px;
    height: 22.5px;
    background-image: var(--urgency-image-url);
    display: block; }

.sticky-side-buttons .sticky-side-button .button-icon:before {
  font-size: 26px; }

@media screen and (min-width: 120em) {
  .sticky-side-buttons .sticky-side-button .button-icon:before {
    font-size: 32px; } }

.sticky-side-buttons .sticky-side-button .button-icon.call-back-to-list:before {
  content: "";
  font-family: "fontello"; }

.sticky-side-buttons .sticky-side-button .button-icon.call-request-archive:before {
  content: "";
  font-family: "fontello"; }

.sticky-side-buttons .sticky-side-button .button-icon.call-add-information:before {
  content: "";
  font-family: "fontello"; }

.sticky-side-buttons .sticky-side-button .button-icon.call-create:before {
  content: "";
  font-family: "fontello"; }

table.call-table, .responsive-reveal-table {
  table-layout: fixed; }
  @media screen and (min-width: 81.25em) {
    table.call-table, .responsive-reveal-table {
      margin: 10px 0; } }
  table.call-table td, .responsive-reveal-table td {
    padding-top: 10px;
    padding-bottom: 10px;
    vertical-align: top; }
  @media screen and (min-width: 81.25em) {
    table.call-table.enquiry-table, .responsive-reveal-table.enquiry-table {
      margin: 20px 0; } }
  table.call-table .notification-col, .responsive-reveal-table .notification-col {
    padding: 0; }
    @media screen and (min-width: 81.25em) {
      table.call-table .notification-col, .responsive-reveal-table .notification-col {
        width: 12px; } }
    table.call-table .notification-col .notification-content, .responsive-reveal-table .notification-col .notification-content {
      margin-right: 20px;
      padding: 10px; }
  table.call-table td.unread-col, .responsive-reveal-table td.unread-col {
    vertical-align: middle; }
  table.call-table td.call-number-col, table.call-table th.call-number-col, table.call-table .call-number-col, .responsive-reveal-table td.call-number-col, .responsive-reveal-table th.call-number-col, .responsive-reveal-table .call-number-col {
    width: 90px; }
    @media print, screen and (max-width: 81.24875em) {
      table.call-table td.call-number-col, table.call-table th.call-number-col, table.call-table .call-number-col, .responsive-reveal-table td.call-number-col, .responsive-reveal-table th.call-number-col, .responsive-reveal-table .call-number-col {
        padding-right: 10px; }
        table.call-table td.call-number-col a, table.call-table th.call-number-col a, table.call-table .call-number-col a, .responsive-reveal-table td.call-number-col a, .responsive-reveal-table th.call-number-col a, .responsive-reveal-table .call-number-col a {
          color: #777777;
          font-size: 1.25rem;
          font-weight: 700; } }
    @media screen and (min-width: 81.25em) {
      table.call-table td.call-number-col, table.call-table th.call-number-col, table.call-table .call-number-col, .responsive-reveal-table td.call-number-col, .responsive-reveal-table th.call-number-col, .responsive-reveal-table .call-number-col {
        width: 8%; } }
  @media screen and (min-width: 81.25em) {
    table.call-table td.customer-name-col, table.call-table th.customer-name-col, .responsive-reveal-table td.customer-name-col, .responsive-reveal-table th.customer-name-col {
      width: 12%;
      text-align: left; } }
  @media screen and (min-width: 81.25em) {
    table.call-table:has(.rating-col) td.subject-col, table.call-table:has(.rating-col) th.subject-col, table.call-table:has(.rating-col) .subject-col, .responsive-reveal-table:has(.rating-col) td.subject-col, .responsive-reveal-table:has(.rating-col) th.subject-col, .responsive-reveal-table:has(.rating-col) .subject-col {
      width: 15%; } }
  table.call-table td.subject-col, table.call-table th.subject-col, table.call-table .subject-col, .responsive-reveal-table td.subject-col, .responsive-reveal-table th.subject-col, .responsive-reveal-table .subject-col {
    width: 55%; }
    @media print, screen and (min-width: 40em) {
      table.call-table td.subject-col, table.call-table th.subject-col, table.call-table .subject-col, .responsive-reveal-table td.subject-col, .responsive-reveal-table th.subject-col, .responsive-reveal-table .subject-col {
        width: 70%; } }
    @media print, screen and (max-width: 81.24875em) {
      table.call-table td.subject-col a, table.call-table th.subject-col a, table.call-table .subject-col a, .responsive-reveal-table td.subject-col a, .responsive-reveal-table th.subject-col a, .responsive-reveal-table .subject-col a {
        display: block;
        font-size: 1rem;
        font-weight: 700;
        color: #777777;
        line-height: 1; } }
    @media screen and (min-width: 81.25em) {
      table.call-table td.subject-col, table.call-table th.subject-col, table.call-table .subject-col, .responsive-reveal-table td.subject-col, .responsive-reveal-table th.subject-col, .responsive-reveal-table .subject-col {
        width: 23.7%;
        text-align: left; } }
  @media screen and (min-width: 81.25em) {
    table.call-table td.service-contract-col, table.call-table th.service-contract-col, .responsive-reveal-table td.service-contract-col, .responsive-reveal-table th.service-contract-col {
      width: 11.5%;
      text-align: left; } }
  @media screen and (min-width: 81.25em) {
    table.call-table td.call-contact-col, table.call-table th.call-contact-col, .responsive-reveal-table td.call-contact-col, .responsive-reveal-table th.call-contact-col {
      width: 10%;
      text-align: left; } }
  @media screen and (min-width: 81.25em) {
    table.call-table td.user-contact-col, table.call-table th.user-contact-col, .responsive-reveal-table td.user-contact-col, .responsive-reveal-table th.user-contact-col {
      width: 10%;
      text-align: left; } }
  @media screen and (min-width: 81.25em) {
    table.call-table td.created-col, table.call-table th.created-col, .responsive-reveal-table td.created-col, .responsive-reveal-table th.created-col {
      width: 7.7%; } }
  @media screen and (min-width: 81.25em) {
    table.call-table td.last-updated, table.call-table th.last-updated, .responsive-reveal-table td.last-updated, .responsive-reveal-table th.last-updated {
      width: 7.7%; } }
  @media screen and (min-width: 81.25em) {
    table.call-table td.rating-col, table.call-table th.rating-col, .responsive-reveal-table td.rating-col, .responsive-reveal-table th.rating-col {
      width: 6%; } }
  @media screen and (min-width: 81.25em) {
    table.call-table td.urgency-col, table.call-table th.urgency-col, .responsive-reveal-table td.urgency-col, .responsive-reveal-table th.urgency-col {
      width: 7%; } }
  table.call-table td.type-col, table.call-table th.type-col, .responsive-reveal-table td.type-col, .responsive-reveal-table th.type-col {
    text-align: left; }
    @media screen and (min-width: 81.25em) {
      table.call-table td.type-col, table.call-table th.type-col, .responsive-reveal-table td.type-col, .responsive-reveal-table th.type-col {
        width: 7%;
        text-align: center; } }
  @media screen and (min-width: 81.25em) {
    table.call-table td.source-col, table.call-table th.source-col, .responsive-reveal-table td.source-col, .responsive-reveal-table th.source-col {
      width: 7%; } }
  table.call-table td.data-time-col p, table.call-table th.date-time-col p, .responsive-reveal-table td.data-time-col p, .responsive-reveal-table th.date-time-col p {
    margin: 0;
    padding: 0; }
  @media screen and (min-width: 81.25em) {
    table.call-table td.data-time-col, table.call-table th.date-time-col, .responsive-reveal-table td.data-time-col, .responsive-reveal-table th.date-time-col {
      width: 16%;
      text-align: left; } }
  @media screen and (min-width: 81.25em) {
    table.call-table td.notes-col, table.call-table th.notes-col, .responsive-reveal-table td.notes-col, .responsive-reveal-table th.notes-col {
      text-align: left; } }
  @media screen and (min-width: 81.25em) {
    table.call-table td.timestamp-col, table.call-table th.timestamp-col, .responsive-reveal-table td.timestamp-col, .responsive-reveal-table th.timestamp-col {
      padding-right: 20px;
      padding-left: 20px;
      text-align: left; } }
  @media screen and (min-width: 81.25em) {
    table.call-table td.changes-col, table.call-table th.changes-col, .responsive-reveal-table td.changes-col, .responsive-reveal-table th.changes-col {
      padding-right: 20px;
      padding-left: 20px;
      text-align: left; } }
  table.call-table td.pending-changes-info-col, .responsive-reveal-table td.pending-changes-info-col {
    padding: 10px 0;
    font-style: italic; }
    @media screen and (min-width: 81.25em) {
      table.call-table td.pending-changes-info-col, .responsive-reveal-table td.pending-changes-info-col {
        padding: 10px 20px; } }
  table.call-table .ellipsis-text:hover, .responsive-reveal-table .ellipsis-text:hover {
    left: -5px; }
  table.call-table .call-notes-container, .responsive-reveal-table .call-notes-container {
    overflow-wrap: anywhere; }
  table.call-table tr.call-closed td:not(.rating-col):not(.unread-col), .responsive-reveal-table tr.call-closed td:not(.rating-col):not(.unread-col) {
    opacity: .5; }
    table.call-table tr.call-closed td:not(.rating-col):not(.unread-col):hover, .responsive-reveal-table tr.call-closed td:not(.rating-col):not(.unread-col):hover {
      opacity: 1; }

.enquiry-filters label {
  width: 100%; }
  .enquiry-filters label span.checkbox, .enquiry-filters label span.radio {
    margin-right: auto;
    margin-left: auto; }

.enquiry-filters .label {
  width: 80%;
  display: inline-block; }

.call-type-icon {
  width: 16px;
  height: 16px;
  display: inline-block;
  margin: 5px 0;
  print-color-adjust: exact;
  -webkit-print-color-adjust: exact; }
  @media screen and (min-width: 81.25em) {
    .call-type-icon {
      margin: 0 auto; } }
  .call-type-icon:before {
    font-family: "fontello";
    font-size: 14px;
    color: #06052f; }
  .call-type-icon.demo {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding: 30px; }
    .call-type-icon.demo:before {
      font-size: 26px; }
  .call-type-icon.attachment:before {
    content: ""; }
  .call-type-icon.call-privacy:before {
    content: ""; }
  .call-type-icon.call-type:before {
    content: ""; }
  .call-type-icon.classification:before {
    content: ""; }
  .call-type-icon.completed:before {
    content: ""; }
  .call-type-icon.contact:before {
    content: ""; }
  .call-type-icon.contract:before {
    content: ""; }
  .call-type-icon.contract-type:before {
    content: ""; }
  .call-type-icon.created:before {
    content: ""; }
  .call-type-icon.deferred:before {
    content: ""; }
  .call-type-icon.escalation:before {
    content: ""; }
  .call-type-icon.impact:before {
    content: ""; }
  .call-type-icon.inbound-phone-call:before {
    content: ""; }
  .call-type-icon.information:before {
    content: ""; }
  .call-type-icon.link:before {
    content: ""; }
  .call-type-icon.outbound-phone-call:before {
    content: ""; }
  .call-type-icon.priority:before {
    content: ""; }
  .call-type-icon.responsiblity:before {
    content: ""; }
  .call-type-icon.shortcut-sent:before {
    content: ""; }
  .call-type-icon.sla-inclusion:before {
    content: ""; }
  .call-type-icon.status:before {
    content: ""; }
  .call-type-icon.undeferred:before {
    content: ""; }
  .call-type-icon.urgency:before {
    content: ""; }
  .call-type-icon.workflow:before {
    content: ""; }

.call-source-icon {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: block; }
  @media screen and (min-width: 81.25em) {
    .call-source-icon {
      margin: 0 auto; } }
  .call-source-icon:before {
    font-family: "Font Awesome Solid";
    font-size: 14px;
    color: #06052f; }
  .call-source-icon.demo {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding: 30px; }
    .call-source-icon.demo:before {
      font-size: 26px; }
  .call-source-icon.user:before {
    content: ""; }
  .call-source-icon.portal:before {
    content: ""; }
  .call-source-icon.email:before {
    content: ""; }

.table-heading {
  margin: 10px 0; }

/*
----- Back to top ------ 
This is the button that appear at the bottom of the page that takes you back to the top of the viewport.
*/
.back-top-container {
  width: 50px;
  height: 50px;
  position: fixed;
  right: 10px;
  bottom: 70px;
  z-index: 1500; }
  @media screen and (min-width: 81.25em) {
    .back-top-container {
      width: 50px;
      height: 60px;
      right: 30px;
      bottom: 90px; } }

.back-top-button {
  width: 100%;
  height: 100%;
  opacity: 0;
  cursor: pointer;
  -webkit-transition: all 0.8s;
  transition: all 0.8s; }
  .back-top-button:before {
    content: "";
    width: 100%;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    border-radius: 10px;
    border: 2px solid #ffffff;
    font-size: 17px;
    font-family: "fontello-djmiles";
    line-height: 1;
    text-align: center;
    background: #06052f;
    color: #ffffff;
    -webkit-transition: all 0.8s;
    transition: all 0.8s; }
    @media screen and (min-width: 81.25em) {
      .back-top-button:before {
        font-size: 22px; } }
  .back-top-button:hover, .back-top-button:hover.active {
    opacity: 1;
    -webkit-transition: opacity 0.6s;
    transition: opacity 0.6s; }
    .back-top-button:hover:before, .back-top-button:hover.active:before {
      background: #06052f;
      color: #ffffff;
      -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
              box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
      border-color: #06052f;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
  .back-top-button:active:before, .back-top-button:active:active:before {
    background: #ae9461;
    color: #ffffff;
    border-color: #ae9461;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
  .back-top-button.active {
    opacity: .7; }

/*
----- Sections ----- 
Axis toggler is build on top of Foundation's Toggler https://get.foundation/sites/docs/toggler.html and is similar to https://get.foundation/sites/docs/accordion.html but sometimes it is not possible convenient to build the section(s) in <ul> or in desktop you require the layout to be completely different to mobile.
*/
.axis-section {
  margin: 0; }
  .axis-section.active .axis-section-header:after {
    content: ""; }
  .axis-section.active .axis-section-content {
    max-height: 80vh;
    margin: 20px 0 0;
    overflow-y: auto;
    -webkit-transition: max-height 0.6s;
    transition: max-height 0.6s; }
  .axis-section.active .axis-section-buttons {
    display: block; }
  .axis-section.reveal-enabled:not(.active) {
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content; }
    .axis-section.reveal-enabled:not(.active) .axis-section-header {
      margin-bottom: 0;
      padding-bottom: 0;
      -webkit-transition: margin-bottom 0.6s, padding-bottom 0.6s;
      transition: margin-bottom 0.6s, padding-bottom 0.6s; }
  .axis-section.disabled {
    background-color: var(--neutral-colour-lightness-7);
    opacity: .6;
    cursor: not-allowed; }
    .axis-section.disabled .axis-section-header {
      cursor: not-allowed; }
      .axis-section.disabled .axis-section-header:after {
        color: #929292; }

.axis-section-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  cursor: pointer; }
  .axis-section-header:after {
    content: "";
    margin-left: auto;
    font-family: "fontello-djmiles";
    font-size: 18px;
    color: #06052f;
    line-height: 14px; }

.axis-section-content {
  max-height: 0;
  overflow: hidden;
  -webkit-transition: max-height 0.8s;
  transition: max-height 0.8s; }
  @media screen and (min-width: 81.25em) {
    .axis-section-content {
      margin: 0; } }
  .axis-section-content p {
    margin: 0;
    font-size: 0.9375rem; }
  .axis-section-content .cms-content-container {
    margin-bottom: 20px; }

.axis-section-buttons {
  display: none; }

/*

----- Ellipsis ----- 
When the content is too longer to fix within a table cell ( for example ) allow the user to show overflowing text by hovering.

IMPORTANT: This only works with single lines of text, multi-line you will need to look into --webkit-line-clamp.
*/
.ellipsis-text-container {
  position: relative; }

.ellipsis-text {
  display: block;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden; }
  @media screen and (min-width: 81.25em) {
    .ellipsis-text {
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content; } }
  .ellipsis-text.ellipsis-active {
    -webkit-mask-image: -webkit-gradient(linear, left top, right top, color-stop(50%, black), to(transparent));
    -webkit-mask-image: linear-gradient(to right, black 50%, transparent 100%);
            mask-image: -webkit-gradient(linear, left top, right top, color-stop(50%, black), to(transparent));
            mask-image: linear-gradient(to right, black 50%, transparent 100%); }
    @media screen and (min-width: 81.25em) {
      .ellipsis-text.ellipsis-active {
        max-width: 100%; }
        .ellipsis-text.ellipsis-active:hover {
          max-width: none;
          height: 100%;
          position: absolute;
          top: 0;
          left: 0;
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-align: center;
              -ms-flex-align: center;
                  align-items: center;
          padding-right: 10px;
          padding-left: 10px;
          background-color: #ffffff;
          text-overflow: inherit;
          overflow: visible;
          -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
                  box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
          z-index: 1;
          -webkit-mask-image: none;
                  mask-image: none;
          opacity: 1; } }

/*
----- Blur ------ 
The effect that gets applied the header, main & footer when a modal or menu is open, essentially blur's out the content in the background when something is overlaying the page's main content.
*/
.blur {
  --defuse-animation: defuseBlur .3s forwards;
  -webkit-filter: blur(10px);
          filter: blur(10px);
  -webkit-animation: blur 0.6s;
          animation: blur 0.6s; }
  .blur.defuse {
    -webkit-filter: blur(0);
            filter: blur(0);
    -webkit-animation: defuseBlur 0.3s;
            animation: defuseBlur 0.3s; }

@-webkit-keyframes defuseBlur {
  0% {
    -webkit-filter: blur(10px);
            filter: blur(10px); }
  20% {
    -webkit-filter: blur(8px);
            filter: blur(8px); }
  40% {
    -webkit-filter: blur(6px);
            filter: blur(6px); }
  60% {
    -webkit-filter: blur(4px);
            filter: blur(4px); }
  80% {
    -webkit-filter: blur(2px);
            filter: blur(2px); }
  100% {
    -webkit-filter: blur(0px);
            filter: blur(0px); } }

@keyframes defuseBlur {
  0% {
    -webkit-filter: blur(10px);
            filter: blur(10px); }
  20% {
    -webkit-filter: blur(8px);
            filter: blur(8px); }
  40% {
    -webkit-filter: blur(6px);
            filter: blur(6px); }
  60% {
    -webkit-filter: blur(4px);
            filter: blur(4px); }
  80% {
    -webkit-filter: blur(2px);
            filter: blur(2px); }
  100% {
    -webkit-filter: blur(0px);
            filter: blur(0px); } }

#pageOverlay, .blur-overlay {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  display: block;
  background-color: transparent;
  opacity: 0.1; }

/*

---- Static ---- 
Dedicated specifically towards the landing page for the static landing page for express.

*/
.modules-test-page-header {
  margin: 0 0 10px;
  padding: 30px;
  background-color: #eeeeee;
  border: 1px solid #777777; }

.row-background.grid-container .modules-control-panel.module-controls {
  top: 36px; }

@media screen and (min-width: 81.25em) {
  .grid-container .modules-control-panel.module-controls {
    top: 0; } }

.modules-control-panel {
  position: absolute;
  left: 0;
  display: block; }
  .modules-control-panel.row-controls {
    top: 0; }
  .modules-control-panel.module-controls {
    top: 50px; }

.modules-control-buttons {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  gap: 10px;
  padding: 10px;
  background-color: #eeeeee;
  opacity: 0.5;
  z-index: 2;
  -webkit-transition: opacity 0.8s;
  transition: opacity 0.8s; }
  .modules-control-buttons:hover {
    opacity: 1;
    -webkit-transition: opacity 0.6s;
    transition: opacity 0.6s; }
  .modules-control-buttons .modules-control-button {
    background-color: #ffffff;
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }
    .modules-control-buttons .modules-control-button[aria-expanded=true] {
      background-color: #06052f;
      -webkit-transition: background-color 0.6s;
      transition: background-color 0.6s; }
      .modules-control-buttons .modules-control-button[aria-expanded=true]:before {
        color: #ffffff;
        border-color: #ffffff;
        -webkit-transition: color 0.6s, border-color 0.6s;
        transition: color 0.6s, border-color 0.6s; }
    .modules-control-buttons .modules-control-button:before {
      display: block;
      padding: 5px 10px;
      color: #06052f;
      font-family: "Font Awesome Solid";
      font-size: 16px;
      border: 1px solid #06052f; }
    .modules-control-buttons .modules-control-button.module-info:before {
      content: '\f129'; }

.modules-info-container {
  max-width: 100%;
  width: 320px;
  position: relative;
  z-index: 1000; }
  @media print, screen and (min-width: 40em) {
    .modules-info-container {
      width: 500px; } }
  .modules-info-container .modules-info-heading-container {
    margin: 0 0 10px;
    padding: 0 0 10px;
    border-bottom: 2px solid #eeeeee; }
  .modules-info-container .general-information-panel {
    background-color: #eeeeee; }
  .modules-info-container .content {
    margin: 20px 0 0;
    padding: 20px;
    background-color: #ffffff;
    border: 2px solid #06052f; }
    .modules-info-container .content ul {
      list-style: none; }
      .modules-info-container .content ul li {
        font-size: 0.9375rem; }
    .modules-info-container .content > ul > li {
      margin: 5px 0;
      padding: 5px;
      border: 2px solid #eeeeee; }
    .modules-info-container .content ul {
      margin: 0;
      padding: 0; }
      .modules-info-container .content ul ul ul {
        margin-left: 10px; }
    .modules-info-container .content h4, .modules-info-container .content h5, .modules-info-container .content h6 {
      padding: 0;
      font-size: 1rem;
      font-weight: 600; }
    .modules-info-container .content h4, .modules-info-container .content h5 {
      margin: 10px 0; }
    .modules-info-container .content h4, .modules-info-container .content h5 {
      color: #777777; }
    .modules-info-container .content h6 {
      margin: 5px 0;
      color: #06052f; }
    .modules-info-container .content strong {
      color: #06052f;
      padding-right: 10px; }
      .modules-info-container .content strong:after {
        content: ":";
        display: inline-block; }

/*

---- Stockist ---- 
Specifically for the stockish component: 
- Sorting area
- Search results 
- Interactive map

*/
.interactive-map-sorting-options {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-bottom: 25px; }
  @media screen and (min-width: 81.25em) {
    .interactive-map-sorting-options {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      -webkit-box-align: baseline;
          -ms-flex-align: baseline;
              align-items: baseline; } }
  .interactive-map-sorting-options .sorting-option {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    padding: 10px 0; }
    @media screen and (min-width: 81.25em) {
      .interactive-map-sorting-options .sorting-option {
        width: auto; } }
    .interactive-map-sorting-options .sorting-option .label {
      width: 100%;
      margin-right: 20px;
      font-size: 0.875rem;
      font-weight: 400;
      color: var(--primary-colour-lightness-0); }
      @media screen and (min-width: 81.25em) {
        .interactive-map-sorting-options .sorting-option .label {
          width: auto; } }
  .interactive-map-sorting-options .control.search {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1; }
  .interactive-map-sorting-options .address-search-container input::-webkit-input-placeholder {
    font-size: 0.875rem; }
  .interactive-map-sorting-options .address-search-container input::-moz-placeholder {
    font-size: 0.875rem; }
  .interactive-map-sorting-options .address-search-container input:-ms-input-placeholder {
    font-size: 0.875rem; }
  .interactive-map-sorting-options .address-search-container input::-ms-input-placeholder {
    font-size: 0.875rem; }
  .interactive-map-sorting-options .address-search-container input::placeholder {
    font-size: 0.875rem; }
  @media screen and (min-width: 81.25em) {
    .interactive-map-sorting-options .address-search-container input {
      width: 290px !important; } }
  @media screen and (min-width: 81.25em) {
    .interactive-map-sorting-options .product-filter-container {
      margin-left: auto; } }
  .interactive-map-sorting-options .product-filter-container .label:before {
    content: "";
    margin-right: 10px;
    font-family: "Font Awesome Solid";
    font-size: 18px;
    color: #06052f; }
  .interactive-map-sorting-options .separator {
    margin: 7px 0 2px;
    font-size: 1rem;
    text-transform: uppercase;
    text-align: center; }
    @media screen and (min-width: 81.25em) {
      .interactive-map-sorting-options .separator {
        margin: 0 25px; } }

.stockist-container {
  max-height: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 20px;
  overflow: hidden;
  -webkit-transition: max-height 0.8s;
  transition: max-height 0.8s; }
  @media screen and (min-width: 81.25em) {
    .stockist-container {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row; } }
  .stockist-container.active {
    max-height: none;
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
    margin-bottom: 20px; }
    @media screen and (min-width: 81.25em) {
      .stockist-container.active {
        max-height: 80vh;
        min-height: 50vh;
        -webkit-transition: max-height 0.6s;
        transition: max-height 0.6s; } }

.interactive-map-search-results-container {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding: 15px 20px 15px;
  background-color: #f3f3f3; }
  @media screen and (min-width: 81.25em) {
    .interactive-map-search-results-container {
      max-width: 420px;
      width: 100%;
      padding: 30px 40px; } }
  .interactive-map-search-results-container ul {
    margin: 0;
    padding: 0;
    list-style: none; }
  .interactive-map-search-results-container li {
    padding: 10px 0 15px;
    border-bottom: 1px solid #aeaeae; }
  .interactive-map-search-results-container .header-container {
    margin-bottom: 20px; }
    .interactive-map-search-results-container .header-container h2 {
      font-size: 1.34375rem; }
  .interactive-map-search-results-container .result-button-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end; }
  @media screen and (min-width: 81.25em) {
    .interactive-map-search-results-container .results-container {
      padding-right: 10px;
      overflow-y: auto; } }
  .interactive-map-search-results-container .results-container .description {
    font-size: 0.875rem;
    font-weight: 700;
    color: #777777; }
  .interactive-map-search-results-container .results-container .address {
    font-size: 0.875rem; }
    .interactive-map-search-results-container .results-container .address + .telephone {
      margin-bottom: 10px; }
    .interactive-map-search-results-container .results-container .address + .result-button-container {
      margin-top: 10px; }
  .interactive-map-search-results-container .results-container .telephone {
    font-size: 0.875rem; }
    .interactive-map-search-results-container .results-container .telephone a {
      padding-left: 5px; }

.website-button {
  --component-specifc-step-height: 15px;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  margin: var(--common-button-small-margin, 0 40px 0 0);
  padding: var(--common-button-padding, 5px 30px);
  color: #06052f;
  background-color: #e6e6ea;
  border-width: 2px;
  font-size: 0.75rem;
  font-weight: 400;
  text-align: center;
  border-style: solid;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: 0.6px;
  word-spacing: 2px;
  border-color: #e6e6ea;
  text-decoration: none;
  line-height: 1;
  border-radius: 0 !important;
  overflow: hidden;
  -webkit-transition: all 0.8s;
  transition: all 0.8s; }
  @media print, screen and (min-width: 40em) {
    .website-button {
      margin: var(--common-button-medium-margin, 0); } }
  @media screen and (min-width: 81.25em) {
    .website-button {
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content;
      margin: var(--common-button-large-margin, 0); } }
  @media (hover: hover) {
    .website-button:hover, .website-button.hover {
      color: #ffffff;
      background-color: #ae9461;
      border-color: #ae9461;
      text-decoration: none;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
      .website-button:hover .graduated-colour-edge .step, .website-button.hover .graduated-colour-edge .step {
        background-color: #ffffff;
        -webkit-transition: background-color 0.6s;
        transition: background-color 0.6s; } }
  .website-button:active, .website-button.active {
    color: #ffffff;
    background-color: #06052f;
    border-color: #06052f;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
  .website-button:disabled, .website-button.disabled, .website-button[disabled] {
    color: #929292;
    background-color: #ffffff;
    border-color: rgba(200, 200, 200, 0.7);
    cursor: not-allowed; }
  .website-button:disabled:hover, .website-button.disabled:hover {
    border-color: rgba(200, 200, 200, 0.7); }
  .website-button:focus-visible {
    outline: none;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
  .website-button .graduated-colour-edge .step {
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }

.interactive-map-location-button {
  margin-left: auto;
  padding: 0 5px; }
  .interactive-map-location-button:before {
    content: "";
    font-family: "Font Awesome Solid";
    font-size: 22px;
    color: #50506d;
    -webkit-transition: color 0.8s;
    transition: color 0.8s; }
  .interactive-map-location-button:hover:before {
    color: #ae9461;
    -webkit-transition: color 0.6s;
    transition: color 0.6s; }
  .interactive-map-location-button:active:before {
    color: #06052f; }

.interactive-map-container {
  min-height: 60vh;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1; }
  @media screen and (min-width: 81.25em) {
    .interactive-map-container {
      min-height: 200px;
      display: -webkit-inline-box;
      display: -ms-inline-flexbox;
      display: inline-flex; } }

.interactive-map {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  border: 1px solid #dadada;
  -webkit-transition: -webkit-box-shadow 0.8s;
  transition: -webkit-box-shadow 0.8s;
  transition: box-shadow 0.8s;
  transition: box-shadow 0.8s, -webkit-box-shadow 0.8s; }
  .interactive-map:hover {
    -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
            box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
    -webkit-transition: -webkit-box-shadow 0.6s;
    transition: -webkit-box-shadow 0.6s;
    transition: box-shadow 0.6s;
    transition: box-shadow 0.6s, -webkit-box-shadow 0.6s; }

.organisation-container {
  font-weight: 700;
  font-size: 0.875rem;
  color: #777777; }

.interactive-map-no-results {
  width: 100%; }

.info-window-address-title {
  display: block;
  font-size: 0.875rem;
  font-weight: 600; }

.info-window-content-container .info-window-address, .info-window-content-container .telephone {
  font-size: 0.8125rem; }
  .info-window-content-container .info-window-address a, .info-window-content-container .telephone a {
    padding-left: 5px;
    font-size: 0.875rem; }

.info-window-content-container .info-window-button-container {
  margin-top: 10px; }

/*
----- Tree Menu -----

*/
.tree-menu input[type=checkbox] {
  visibility: hidden; }

.tree-menu ul {
  padding: 0;
  list-style: none; }
  .tree-menu ul li {
    position: relative; }
  .tree-menu ul li > .node-content-container {
    max-height: 0;
    padding: 0;
    overflow: hidden;
    -webkit-transition: max-height 0.8s;
    transition: max-height 0.8s; }
  .tree-menu ul label {
    width: 100%;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    cursor: pointer; }
    .tree-menu ul label:before {
      content: "";
      width: 25px;
      height: 25px;
      position: relative;
      float: left;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      background-color: #ffffff;
      border: 2px solid #ffffff;
      color: #06052f;
      font-family: "fontello-djmiles";
      font-size: 8px;
      border-radius: 25px;
      z-index: 1; }
    .tree-menu ul label .label {
      margin-left: 20px;
      font-size: 1.25rem;
      font-weight: 700;
      color: #06052f; }
  .tree-menu ul label.active:before {
    content: ""; }
  .tree-menu ul label.active ~ .node-content-container {
    height: 100%;
    -webkit-transition: max-height 0.6s, height 0.6s;
    transition: max-height 0.6s, height 0.6s; }

.tree-menu > ul {
  margin: 0;
  padding: 0; }
  .tree-menu > ul > li > label {
    padding: 10px 0 10px 6.66px;
    border-bottom: 2px solid #ffffff; }
    @media screen and (min-width: 81.25em) {
      .tree-menu > ul > li > label {
        padding: 10px 0 10px 20px; } }
    .tree-menu > ul > li > label .label {
      font-size: 1.25rem;
      color: #ffffff; }
  .tree-menu > ul > li:not(.tree-menu-parent) .node-content-container .tree-additional-information-container {
    padding-right: 10px;
    padding-left: 15px;
    border-bottom: 20px solid #ffffff; }
    @media screen and (min-width: 81.25em) {
      .tree-menu > ul > li:not(.tree-menu-parent) .node-content-container .tree-additional-information-container {
        padding-left: 30px; } }
  .tree-menu > ul > li > .node-content-container > ul:not(:last-child) {
    border-bottom: 2px solid #ffffff; }
  .tree-menu > ul > li > .node-content-container > ul:last-child {
    border-bottom: 20px solid #ffffff; }
  .tree-menu > ul > li > .node-content-container > ul > li {
    padding: 0 5px; }
    .tree-menu > ul > li > .node-content-container > ul > li:not(:last-child) {
      border-bottom: 2px solid #ffffff; }
    .tree-menu > ul > li > .node-content-container > ul > li label .label {
      font-size: 1.125rem; }
    @media screen and (min-width: 81.25em) {
      .tree-menu > ul > li > .node-content-container > ul > li {
        padding: 10px 0 10px 70px; } }
    .tree-menu > ul > li > .node-content-container > ul > li.active:after {
      top: 22.5px;
      left: 16.5px; }
      @media screen and (min-width: 81.25em) {
        .tree-menu > ul > li > .node-content-container > ul > li.active:after {
          top: 32.5px;
          left: 81.5px; } }
    .tree-menu > ul > li > .node-content-container > ul > li > .node-content-container .tree-additional-information-container:before {
      left: 11.5px; }
    .tree-menu > ul > li > .node-content-container > ul > li .node-content-container > ul:last-child > li:not(:last-child):before {
      height: 30px; }
    .tree-menu > ul > li > .node-content-container > ul > li .node-content-container > ul:last-child > li:before {
      height: 17px; }
      @media screen and (min-width: 81.25em) {
        .tree-menu > ul > li > .node-content-container > ul > li .node-content-container > ul:last-child > li:before {
          height: 18px; } }
    .tree-menu > ul > li > .node-content-container > ul > li .node-content-container > ul > li {
      padding: 0 0 0 25px; }
      @media screen and (min-width: 81.25em) {
        .tree-menu > ul > li > .node-content-container > ul > li .node-content-container > ul > li {
          padding: 0 0 0 45px; } }
      .tree-menu > ul > li > .node-content-container > ul > li .node-content-container > ul > li:before {
        content: "";
        width: 2px;
        height: 100%;
        position: absolute;
        top: 0;
        bottom: 0;
        left: 11.5px;
        display: block;
        background-color: #ffffff; }
      .tree-menu > ul > li > .node-content-container > ul > li .node-content-container > ul > li:after {
        top: 22.5px;
        left: 36.5px; }
        @media screen and (min-width: 81.25em) {
          .tree-menu > ul > li > .node-content-container > ul > li .node-content-container > ul > li:after {
            top: 32.5px;
            left: 56.5px; } }
      .tree-menu > ul > li > .node-content-container > ul > li .node-content-container > ul > li.active:not(:last-child):before {
        height: 100%; }
      .tree-menu > ul > li > .node-content-container > ul > li .node-content-container > ul > li label .label {
        font-style: italic;
        font-size: 1rem; }
      .tree-menu > ul > li > .node-content-container > ul > li .node-content-container > ul > li > .tree-additional-information-container:before {
        left: -33.5px; }
  .tree-menu > ul > li > .node-content-container > ul .tree-menu-parent.active:after {
    content: "";
    width: 2px;
    height: 18px;
    position: absolute;
    display: block;
    background-color: #ffffff; }
  .tree-menu > ul ul .tree-menu-parent > .node-content-container > .tree-additional-information-container:before {
    content: '';
    width: 2px;
    height: calc(100% + 25px);
    position: absolute;
    top: -25px;
    background-color: #ffffff; }
  .tree-menu > ul ul .tree-additional-information-container {
    position: relative;
    padding-right: 10px;
    padding-left: 25px; }
    @media screen and (min-width: 81.25em) {
      .tree-menu > ul ul .tree-additional-information-container {
        padding-right: 0;
        padding-left: 45px; } }
  .tree-menu > ul ul ul li label:after {
    content: '';
    width: 32.5px;
    height: 2px;
    position: absolute;
    top: 15.5px;
    left: 12.5px;
    display: block;
    background-color: #ffffff; }

.tree-menu.assets {
  margin-bottom: 50px; }
  .tree-menu.assets > ul {
    background-color: #06052f; }
    .tree-menu.assets > ul > li > label {
      background-color: #06052f; }

.tree-menu .attachments-container ul {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column; }

.tree-menu .attachments-container .attachment {
  padding: 0; }
  .tree-menu .attachments-container .attachment:before {
    width: 30px;
    margin: 0;
    font-size: 20px; }

.tree-menu .alert-node > label:before {
  background-color: #b20c0c;
  color: #ffffff; }

.tree-menu .alert-node .node-content-container > .alert-container .tree-additional-information-background {
  border-color: #b20c0c; }

.tree-menu .alert-node .node-content-container > .alert-container .alert-value .value, .tree-menu .alert-node .node-content-container > .alert-container .alert-value .label {
  color: #b20c0c;
  font-size: 1rem;
  font-weight: 700; }

.tree-menu .alert-node .node-content-container > .alert-container .alert-value .value {
  position: relative; }
  .tree-menu .alert-node .node-content-container > .alert-container .alert-value .value:before {
    content: "";
    width: 30px;
    display: inline-block;
    font-family: "Font Awesome Solid";
    color: #b20c0c;
    font-size: 20px; }

.tree-additional-information-container {
  max-width: 700px;
  padding: 10px 0; }
  .tree-additional-information-container .additional-information {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column; }
    .tree-additional-information-container .additional-information:not(:first-of-type):not(:last-of-type) {
      margin: 10px 0; }
    .tree-additional-information-container .additional-information:first-of-type {
      margin-bottom: 10px; }
    .tree-additional-information-container .additional-information:last-of-type {
      margin-top: 10px; }
    @media screen and (min-width: 81.25em) {
      .tree-additional-information-container .additional-information {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row; } }
    .tree-additional-information-container .additional-information span {
      font-size: 0.875rem; }
  .tree-additional-information-container .label {
    max-width: 225px;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1; }

.tree-additional-information-background {
  padding: 10px;
  border: 1px solid transparent;
  border-radius: 0;
  background-color: #ffffff;
  -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
          box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3); }
  @media screen and (min-width: 81.25em) {
    .tree-additional-information-background {
      padding: 30px 22px; } }

.tree-menu-header {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding: 15px 0 20px; }
  @media screen and (min-width: 81.25em) {
    .tree-menu-header {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row; } }
  @media screen and (min-width: 81.25em) {
    .tree-menu-header .tree-menu-controls {
      margin-right: 0;
      margin-left: auto; } }
  .tree-menu-header .tree-menu-information {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 10px 0; }
    @media screen and (min-width: 81.25em) {
      .tree-menu-header .tree-menu-information {
        padding: 0; } }
  .tree-menu-header .tree-information {
    position: relative;
    font-size: 0.8125rem;
    font-weight: 700;
    color: #06052f; }
    .tree-menu-header .tree-information.alert {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      cursor: pointer; }
      .tree-menu-header .tree-information.alert:before {
        content: '';
        width: 10px;
        height: 10px;
        display: inline-block;
        margin: 0 10px 0 5px;
        background-color: #b20c0c;
        border-radius: 25px; }

.tree-menu-expand-toggle {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: .8125rem;
  font-weight: 700;
  color: #06052f; }
  .tree-menu-expand-toggle:after {
    content: "";
    width: 18px;
    height: 18px;
    position: relative;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-left: 10px;
    border-radius: 25px;
    border: 2px solid #06052f;
    background-color: #ffffff;
    color: #06052f;
    font-family: "fontello-djmiles";
    font-size: 4px; }
  .tree-menu-expand-toggle.active:after {
    content: ""; }

/*
----- Reviews ----- 
- Handles interfacing with third-party review api's like feefo.
*/
.rating-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row; }
  .rating-container .review-stars {
    margin: 0 10px 0; }
    .rating-container .review-stars li:not(:last-child) {
      margin-right: 5px; }
  .rating-container .star-full, .rating-container [class*=rating-icon] {
    position: relative;
    padding-left: 0; }
    .rating-container .star-full:before, .rating-container [class*=rating-icon]:before {
      content: "";
      font-family: "Font Awesome Solid";
      color: #e5b701; }

@media screen and (min-width: 81.25em) {
  .product-reviews-container {
    padding: 0 15px; } }

.product-reviews-container ul {
  padding: 0;
  list-style: none; }
  .product-reviews-container ul li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 15px 0;
    border-bottom: 1px solid #dadada; }

.product-reviews-container .review-details-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }

.product-reviews-container .display-name-container {
  color: #777777;
  font-weight: 600;
  font-size: 0.875rem; }
  .product-reviews-container .display-name-container + .last-updated-container:before {
    content: '-';
    margin: 0 5px;
    line-height: 1.5; }

.product-reviews-container .display-location-container {
  width: 100%;
  display: block;
  font-size: 0.875rem; }

.product-reviews-container .last-updated-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  color: #888888;
  font-size: 0.875rem; }

.product-reviews-container .list-count-container {
  color: #888888; }
  .product-reviews-container .list-count-container .current-showing-count {
    color: #777777; }

.product-reviews-container .reviews-container {
  margin-bottom: 10px; }

.product-reviews-container .reviews-pager-container + .reviews-product-footer {
  border-top: 1px solid #dadada; }

.product-reviews-container .reviews-product-footer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-top: 10px; }
  @media screen and (min-width: 81.25em) {
    .product-reviews-container .reviews-product-footer {
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row; } }
  .product-reviews-container .reviews-product-footer .service-provider-logo {
    display: block;
    margin: 20px 0;
    background-repeat: no-repeat;
    background-size: contain; }
  .product-reviews-container .reviews-product-footer .feefo-logo {
    width: 100px;
    height: 25px;
    background-image: url("/template/content/development/images/icons/feefo-logo.png"); }
  @media screen and (min-width: 81.25em) {
    .product-reviews-container .reviews-product-footer .reviews-product-review-all-container {
      margin-left: auto; } }

.review-social-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  .review-social-container .helpful-votes-container + .reveal-social-icons-container {
    margin-left: 10px; }

.helpful-votes-container {
  font-size: 0.875rem;
  color: #888888; }
  .helpful-votes-container .helpful-votes-display:before {
    content: "";
    display: inline-block;
    margin-right: 5px;
    font-family: "Font Awesome Solid";
    font-size: 11px; }

/*
----- Page Section Colours -----
The purpose of this is is to add background-colours to specific sections on specific pages across express using the body id, so a potential config could look like this:

header-usp-bar: (
    background-colour: $colour3-1,
    pages: ("homepage")
)

The top level map key is the class of the element that you want to effect then inside of that is the configuration i.e background colour + which pages to apply this to which is a list of body id's.
*/
/*

---- Star Ratings ---- 
Handles star ratings for products, this supports persentage based rating, here is an overview of what this would look like https://codepen.io/filcp/pen/QvZVOg .

*/
.star-ratings-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end; }
  .star-ratings-container [class*=rating-icon-]:before {
    content: "";
    font-family: "Font Awesome Solid";
    font-size: 17px; }
  .star-ratings-container .background-stars {
    position: relative; }
    .star-ratings-container .background-stars [class*=rating-icon-]:before {
      color: #e4e4e4; }
  .star-ratings-container .foreground-stars {
    position: absolute;
    top: 0;
    left: 0;
    overflow: hidden; }
    .star-ratings-container .foreground-stars [class*=rating-icon-]:before {
      color: #e5b701; }
  .star-ratings-container .rating-summary-display {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 5px;
    color: #06052f;
    font-size: 0.9375rem; }

.rating-breakdown-list-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse; }
  .rating-breakdown-list-container .breakdown-container {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin: 0; }
  .rating-breakdown-list-container .breakdown-stars-container {
    width: 80px; }
    .rating-breakdown-list-container .breakdown-stars-container [class*=rating-icon-]:before {
      color: #e5b701;
      font-size: 13px; }
  .rating-breakdown-list-container .breakdown-percentage-bar-container {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1; }

.breakdown-percentage-bar-container {
  margin: 0 10px; }
  .breakdown-percentage-bar-container .percentage-bar {
    width: 100%;
    height: 10px;
    display: block; }
  .breakdown-percentage-bar-container .background-bar {
    position: relative; }
    .breakdown-percentage-bar-container .background-bar .percentage-bar {
      background-color: #e4e4e4; }
  .breakdown-percentage-bar-container .foreground-bar {
    position: absolute;
    top: 0;
    left: 0; }
    .breakdown-percentage-bar-container .foreground-bar .percentage-bar {
      background-color: #e5b701; }

.breakdown-count-container {
  width: 30px; }

.tooltip-content-container .breakdown-button-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 20px 0 0; }
  .tooltip-content-container .breakdown-button-container a {
    color: #ffffff; }
    .tooltip-content-container .breakdown-button-container a:hover {
      color: #ae9461; }
    .tooltip-content-container .breakdown-button-container a:active {
      color: #06052f; }

/*
----- Barcode Scanner ------ 

*/
.barcode-scanner-toggle-button {
  --component-specifc-step-height: 15px;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  position: relative;
  margin: var(--common-button-small-margin, 0);
  padding: var(--common-button-padding, 10px 15px);
  color: #000000;
  background-color: #ffffff;
  border-width: 2px;
  font-size: 0.8125rem;
  font-weight: 400;
  text-align: center;
  border-style: solid;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: 0.6px;
  word-spacing: 2px;
  border-color: #dadada;
  text-decoration: none;
  line-height: 1;
  border-radius: 0 !important;
  overflow: hidden;
  -webkit-transition: all 0.8s;
  transition: all 0.8s;
  /*
        --- Icon configuration ---
        - $icposition => Before or after text
        - margin => icon margin
        - colour => icon colour states ( default, hover & active )
        - size => icon size.
        - content => the font icon itself, normally stored in $site-icons
        - font-family => the font family that the icon belongs to font awesome or fontello.
        */ }
  @media screen and (min-width: 81.25em) {
    .barcode-scanner-toggle-button {
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content;
      margin: var(--common-button-large-margin, 0); } }
  @media (hover: hover) {
    .barcode-scanner-toggle-button:hover, .barcode-scanner-toggle-button.hover {
      color: #ffffff;
      background-color: #ae9461;
      border-color: #ae9461;
      text-decoration: none;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
      .barcode-scanner-toggle-button:hover:after, .barcode-scanner-toggle-button.hover:after {
        color: #ffffff;
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
      .barcode-scanner-toggle-button:hover .graduated-colour-edge .step, .barcode-scanner-toggle-button.hover .graduated-colour-edge .step {
        background-color: #ffffff;
        -webkit-transition: background-color 0.6s;
        transition: background-color 0.6s; } }
  .barcode-scanner-toggle-button:active, .barcode-scanner-toggle-button.active {
    color: #ffffff;
    background-color: #06052f;
    border-color: #06052f;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
    .barcode-scanner-toggle-button:active:after, .barcode-scanner-toggle-button.active:after {
      color: #ffffff; }
  .barcode-scanner-toggle-button:disabled, .barcode-scanner-toggle-button.disabled, .barcode-scanner-toggle-button[disabled] {
    color: #929292;
    background-color: #ffffff;
    border-color: rgba(200, 200, 200, 0.7);
    cursor: not-allowed; }
    .barcode-scanner-toggle-button:disabled:after, .barcode-scanner-toggle-button.disabled:after, .barcode-scanner-toggle-button[disabled]:after {
      color: #929292; }
  .barcode-scanner-toggle-button:disabled:hover, .barcode-scanner-toggle-button.disabled:hover {
    border-color: rgba(200, 200, 200, 0.7); }
  .barcode-scanner-toggle-button:focus-visible {
    outline: none;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
  .barcode-scanner-toggle-button:after {
    content: "";
    margin: 0 0 0 15px;
    font-family: "fontello";
    font-size: 20px;
    font-weight: 400;
    color: #06052f;
    -webkit-transition: color 0.8s;
    transition: color 0.8s; }
  .barcode-scanner-toggle-button .graduated-colour-edge .step {
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }

.barcode-scanner-toggle-button-container {
  width: 100%; }
  @media print, screen and (min-width: 40em) {
    .barcode-scanner-toggle-button-container {
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content; } }

.barcode-scanner {
  position: relative; }
  .barcode-scanner video {
    max-width: 100%; }
  .barcode-scanner canvas {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0; }
  .barcode-scanner.is-inactive {
    display: none; }

.scanner-camera-selector-container {
  max-width: 490px;
  margin: 0 auto 30px; }
  @media screen and (min-width: 81.25em) {
    .scanner-camera-selector-container {
      margin: 0 auto 20px; } }
  .scanner-camera-selector-container .label {
    width: 100%;
    margin: 0 0 10px 0;
    color: #06052f;
    font-weight: 600; }
    @media print, screen and (min-width: 40em) {
      .scanner-camera-selector-container .label {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
        margin: 0 20px 0 0; } }
  .scanner-camera-selector-container .control.select .control-select-container {
    width: calc(100% - 41px); }
    @media screen and (min-width: 81.25em) {
      .scanner-camera-selector-container .control.select .control-select-container {
        width: 330px; } }
  .scanner-camera-selector-container .tooltip-container {
    margin-left: 15px; }

.barcode-scanner-response-container {
  margin: 0; }

/*
----- Page Background Image -----
The purpose of this is is to add background image(s) to specific page types using the body id, possible configuration:

homepage: (
    background-image => [ REQUIRED ] The url of the image.
    repeat-background => [ OPTIONAL ] This defaults to no-repeat.
    background-scale => [ OPTIONAL ] This defaults to cover.
    background-attachments => [ OPTIONAL ]
    background-position => [ OPTIONAL ]
)

*/
/*
----- Tags -----
Used to display a catagorisation of groups / keywords, this ia primarily used in the cms system currently for diplsay news, blogs & event's articles.
*/
.tagging-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column; }
  .tagging-container.align-center {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
  .tagging-container.listing .tagging-heading {
    margin: 0;
    font-size: 0.9375rem; }
  .tagging-container .tags-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 10px; }
    @media screen and (min-width: 81.25em) {
      .tagging-container .tags-container {
        gap: 5px 10px; } }
  .tagging-container .tagging-header-container {
    margin: 5px 0 10px; }
  .tagging-container .tagging-heading {
    margin: 0;
    font-size: 1.25rem;
    color: #06052f; }
  .tagging-container .tag-item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
    padding: 8px 18px;
    border: 1px solid #aeaeae;
    border-radius: 0;
    color: #06052f;
    font-size: 0.875rem;
    cursor: pointer;
    -webkit-transition: color 0.8s, border-color 0.8s, -webkit-box-shadow 0.8s;
    transition: color 0.8s, border-color 0.8s, -webkit-box-shadow 0.8s;
    transition: color 0.8s, border-color 0.8s, box-shadow 0.8s;
    transition: color 0.8s, border-color 0.8s, box-shadow 0.8s, -webkit-box-shadow 0.8s; }
    .tagging-container .tag-item:hover {
      color: #ae9461;
      border-color: transparent;
      -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.1);
              box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.1);
      -webkit-transition: color 0.6s, border-color 0.6s, -webkit-box-shadow 0.6s;
      transition: color 0.6s, border-color 0.6s, -webkit-box-shadow 0.6s;
      transition: color 0.6s, border-color 0.6s, box-shadow 0.6s;
      transition: color 0.6s, border-color 0.6s, box-shadow 0.6s, -webkit-box-shadow 0.6s; }
    .tagging-container .tag-item:active {
      color: #777777; }
    .tagging-container .tag-item:first-child {
      margin-left: 0; }
    .tagging-container .tag-item:last-child {
      margin-right: 0; }
    .tagging-container .tag-item.remove-button:after {
      content: "";
      margin-left: 10px;
      font-family: "Font Awesome Solid";
      font-size: 14px;
      color: #06052f;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
    .tagging-container .tag-item.remove-button:hover:after {
      color: #ae9461;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }
    .tagging-container .tag-item.remove-button:active:after {
      color: #777777; }

/*
----- Axis Toggler -----
Build ontop of Foundations toggler https://get.foundation/sites/docs/toggler.html, we needed to add in some additional functionality to allow for re-toggling if the user clicks outside of the content area.
*/
.toggle-content-container.active .toggle-background {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  display: block;
  z-index: -1; }

/*
----- Page Background Colours -----
Similar to axis-section-colours a custom config is provide which gets looped through assigning the background-color property to the relievent pages.

NOTICE: Had to set the !important flag on the background-color property due to foundation enforing that the body background colour must be set.
*/
/*
----- Multi Field Lookup -----

Provides an area to place options ( i.e a form in a horizontal layout ) which then gets filled in to update multiple points on the page.

*/
.multi-field-lookup.quick-order .multi-field-options-container {
  background-color: #06052f;
  padding: 15px;
  border-radius: 0; }
  @media print, screen and (min-width: 40em) {
    .multi-field-lookup.quick-order .multi-field-options-container {
      padding: 50px 8%; } }
  @media screen and (min-width: 81.25em) {
    .multi-field-lookup.quick-order .multi-field-options-container {
      padding: 50px 110px; } }

@media screen and (min-width: 81.25em) {
  .multi-field-lookup.quick-order .lookup-search-container {
    max-width: 500px; } }

@media screen and (min-width: 81.25em) {
  .multi-field-lookup.quick-order .add-to-basket-container {
    max-width: 200px;
    width: 100%; } }

.multi-field-lookup.quick-order .barcode-scanner-trigger-container {
  width: 100%; }
  @media print, screen and (min-width: 40em) {
    .multi-field-lookup.quick-order .barcode-scanner-trigger-container {
      width: 33%; } }
  @media screen and (min-width: 81.25em) {
    .multi-field-lookup.quick-order .barcode-scanner-trigger-container {
      max-width: 190px;
      width: auto; } }

@media screen and (min-width: 81.25em) {
  .multi-field-lookup.quick-order .lookup-quantity-selector-container {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1; } }

.multi-field-lookup.quick-order .lookup-quantity-selector-container .input-number {
  border-radius: 0; }

.multi-field-lookup.quick-order .lookup-quantity-selector-container .input-number-decrement, .multi-field-lookup.quick-order .lookup-quantity-selector-container .input-number-increment {
  background: #ffffff; }

.input-number-decrement, .input-number-increment {
  border-color: #c8c8c8; }

.multi-field-lookup.quick-order .control.search .input-prefix-icon {
  padding-right: 10px;
  padding-left: 10px; }
  .multi-field-lookup.quick-order .control.search .input-prefix-icon:before {
    content: "+";
    font-size: 22px;
    font-family: "Font Awesome Solid"; }

.input-prefix-icon:before {
  color: #06052f; }

.multi-field-lookup .multi-field-options-container {
  margin: 10px 0; }
  @media screen and (min-width: 81.25em) {
    .multi-field-lookup .multi-field-options-container {
      margin: 20px 0 10px; } }
  .multi-field-lookup .multi-field-options-container form {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 15px; }
    @media print, screen and (min-width: 40em) {
      .multi-field-lookup .multi-field-options-container form {
        gap: 25px; } }
    @media screen and (min-width: 81.25em) {
      .multi-field-lookup .multi-field-options-container form {
        gap: 20px; } }
    .multi-field-lookup .multi-field-options-container form .lookup-option.lookup-search-container {
      width: 100%; }

.multi-field-lookup .lookup-option {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  @media print, screen and (max-width: 81.24875em) {
    .multi-field-lookup .lookup-option.add-to-basket-container {
      -webkit-box-flex: 1;
          -ms-flex-positive: 1;
              flex-grow: 1; } }
  .multi-field-lookup .lookup-option button {
    height: 45px; }
  .multi-field-lookup .lookup-option .control {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .multi-field-lookup .lookup-option .control .control-select-dropdown {
      width: 100%; }
    .multi-field-lookup .lookup-option .control .form-error {
      width: 100%;
      padding-left: 0; }
    @media screen and (min-width: 81.25em) {
      .multi-field-lookup .lookup-option .control .control-select-container {
        min-width: unset; } }
  .multi-field-lookup .lookup-option .quantity-selector-container {
    width: 100%;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start; }

.multi-field-lookup .multi-field-response-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column; }

/*!
 * animate.css - https://animate.style/
 * Version - 4.1.1
 * Licensed under the MIT license - http://opensource.org/licenses/MIT
 *
 * Copyright (c) 2020 Animate.css
 */
:root {
  --animate-duration: 1s;
  --animate-delay: 1s;
  --animate-repeat: 1; }

.animate__animated {
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-duration: var(--animate-duration);
  animation-duration: var(--animate-duration);
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both; }

.animate__animated.animate__infinite {
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite; }

.animate__animated.animate__repeat-1 {
  -webkit-animation-iteration-count: 1;
  animation-iteration-count: 1;
  -webkit-animation-iteration-count: var(--animate-repeat);
  animation-iteration-count: var(--animate-repeat); }

.animate__animated.animate__repeat-2 {
  -webkit-animation-iteration-count: calc(1 * 2);
  animation-iteration-count: calc(1 * 2);
  -webkit-animation-iteration-count: calc(var(--animate-repeat) * 2);
  animation-iteration-count: calc(var(--animate-repeat) * 2); }

.animate__animated.animate__repeat-3 {
  -webkit-animation-iteration-count: calc(1 * 3);
  animation-iteration-count: calc(1 * 3);
  -webkit-animation-iteration-count: calc(var(--animate-repeat) * 3);
  animation-iteration-count: calc(var(--animate-repeat) * 3); }

.animate__animated.animate__delay-1s {
  -webkit-animation-delay: 1s;
  animation-delay: 1s;
  -webkit-animation-delay: var(--animate-delay);
  animation-delay: var(--animate-delay); }

.animate__animated.animate__delay-2s {
  -webkit-animation-delay: calc(1s * 2);
  animation-delay: calc(1s * 2);
  -webkit-animation-delay: calc(var(--animate-delay) * 2);
  animation-delay: calc(var(--animate-delay) * 2); }

.animate__animated.animate__delay-3s {
  -webkit-animation-delay: calc(1s * 3);
  animation-delay: calc(1s * 3);
  -webkit-animation-delay: calc(var(--animate-delay) * 3);
  animation-delay: calc(var(--animate-delay) * 3); }

.animate__animated.animate__delay-4s {
  -webkit-animation-delay: calc(1s * 4);
  animation-delay: calc(1s * 4);
  -webkit-animation-delay: calc(var(--animate-delay) * 4);
  animation-delay: calc(var(--animate-delay) * 4); }

.animate__animated.animate__delay-5s {
  -webkit-animation-delay: calc(1s * 5);
  animation-delay: calc(1s * 5);
  -webkit-animation-delay: calc(var(--animate-delay) * 5);
  animation-delay: calc(var(--animate-delay) * 5); }

.animate__animated.animate__faster {
  -webkit-animation-duration: calc(1s / 2);
  animation-duration: calc(1s / 2);
  -webkit-animation-duration: calc(var(--animate-duration) / 2);
  animation-duration: calc(var(--animate-duration) / 2); }

.animate__animated.animate__fast {
  -webkit-animation-duration: calc(1s * 0.8);
  animation-duration: calc(1s * 0.8);
  -webkit-animation-duration: calc(var(--animate-duration) * 0.8);
  animation-duration: calc(var(--animate-duration) * 0.8); }

.animate__animated.animate__slow {
  -webkit-animation-duration: calc(1s * 2);
  animation-duration: calc(1s * 2);
  -webkit-animation-duration: calc(var(--animate-duration) * 2);
  animation-duration: calc(var(--animate-duration) * 2); }

.animate__animated.animate__slower {
  -webkit-animation-duration: calc(1s * 3);
  animation-duration: calc(1s * 3);
  -webkit-animation-duration: calc(var(--animate-duration) * 3);
  animation-duration: calc(var(--animate-duration) * 3); }

@media print, (prefers-reduced-motion: reduce) {
  .animate__animated {
    -webkit-animation-duration: 1ms !important;
    animation-duration: 1ms !important;
    -webkit-transition-duration: 1ms !important;
    transition-duration: 1ms !important;
    -webkit-animation-iteration-count: 1 !important;
    animation-iteration-count: 1 !important; }
  .animate__animated[class*='Out'] {
    opacity: 0; } }

/* Attention seekers  */
@-webkit-keyframes bounce {
  from,
  20%,
  53%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  40%,
  43% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -30px, 0) scaleY(1.1);
    transform: translate3d(0, -30px, 0) scaleY(1.1); }
  70% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -15px, 0) scaleY(1.05);
    transform: translate3d(0, -15px, 0) scaleY(1.05); }
  80% {
    -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, 0, 0) scaleY(0.95);
    transform: translate3d(0, 0, 0) scaleY(0.95); }
  90% {
    -webkit-transform: translate3d(0, -4px, 0) scaleY(1.02);
    transform: translate3d(0, -4px, 0) scaleY(1.02); } }

@keyframes bounce {
  from,
  20%,
  53%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  40%,
  43% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -30px, 0) scaleY(1.1);
    transform: translate3d(0, -30px, 0) scaleY(1.1); }
  70% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -15px, 0) scaleY(1.05);
    transform: translate3d(0, -15px, 0) scaleY(1.05); }
  80% {
    -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, 0, 0) scaleY(0.95);
    transform: translate3d(0, 0, 0) scaleY(0.95); }
  90% {
    -webkit-transform: translate3d(0, -4px, 0) scaleY(1.02);
    transform: translate3d(0, -4px, 0) scaleY(1.02); } }

.animate__bounce {
  -webkit-animation-name: bounce;
  animation-name: bounce;
  -webkit-transform-origin: center bottom;
  transform-origin: center bottom; }

@-webkit-keyframes flash {
  from,
  50%,
  to {
    opacity: 1; }
  25%,
  75% {
    opacity: 0; } }

@keyframes flash {
  from,
  50%,
  to {
    opacity: 1; }
  25%,
  75% {
    opacity: 0; } }

.animate__flash {
  -webkit-animation-name: flash;
  animation-name: flash; }

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes pulse {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); }
  50% {
    -webkit-transform: scale3d(1.05, 1.05, 1.05);
    transform: scale3d(1.05, 1.05, 1.05); }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); } }

@keyframes pulse {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); }
  50% {
    -webkit-transform: scale3d(1.05, 1.05, 1.05);
    transform: scale3d(1.05, 1.05, 1.05); }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); } }

.animate__pulse {
  -webkit-animation-name: pulse;
  animation-name: pulse;
  -webkit-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out; }

@-webkit-keyframes rubberBand {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); }
  30% {
    -webkit-transform: scale3d(1.25, 0.75, 1);
    transform: scale3d(1.25, 0.75, 1); }
  40% {
    -webkit-transform: scale3d(0.75, 1.25, 1);
    transform: scale3d(0.75, 1.25, 1); }
  50% {
    -webkit-transform: scale3d(1.15, 0.85, 1);
    transform: scale3d(1.15, 0.85, 1); }
  65% {
    -webkit-transform: scale3d(0.95, 1.05, 1);
    transform: scale3d(0.95, 1.05, 1); }
  75% {
    -webkit-transform: scale3d(1.05, 0.95, 1);
    transform: scale3d(1.05, 0.95, 1); }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); } }

@keyframes rubberBand {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); }
  30% {
    -webkit-transform: scale3d(1.25, 0.75, 1);
    transform: scale3d(1.25, 0.75, 1); }
  40% {
    -webkit-transform: scale3d(0.75, 1.25, 1);
    transform: scale3d(0.75, 1.25, 1); }
  50% {
    -webkit-transform: scale3d(1.15, 0.85, 1);
    transform: scale3d(1.15, 0.85, 1); }
  65% {
    -webkit-transform: scale3d(0.95, 1.05, 1);
    transform: scale3d(0.95, 1.05, 1); }
  75% {
    -webkit-transform: scale3d(1.05, 0.95, 1);
    transform: scale3d(1.05, 0.95, 1); }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); } }

.animate__rubberBand {
  -webkit-animation-name: rubberBand;
  animation-name: rubberBand; }

@-webkit-keyframes shakeX {
  from,
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  10%,
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0); }
  20%,
  40%,
  60%,
  80% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0); } }

@keyframes shakeX {
  from,
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  10%,
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0); }
  20%,
  40%,
  60%,
  80% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0); } }

.animate__shakeX {
  -webkit-animation-name: shakeX;
  animation-name: shakeX; }

@-webkit-keyframes shakeY {
  from,
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  10%,
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0); }
  20%,
  40%,
  60%,
  80% {
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0); } }

@keyframes shakeY {
  from,
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  10%,
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0); }
  20%,
  40%,
  60%,
  80% {
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0); } }

.animate__shakeY {
  -webkit-animation-name: shakeY;
  animation-name: shakeY; }

@-webkit-keyframes headShake {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0); }
  6.5% {
    -webkit-transform: translateX(-6px) rotateY(-9deg);
    transform: translateX(-6px) rotateY(-9deg); }
  18.5% {
    -webkit-transform: translateX(5px) rotateY(7deg);
    transform: translateX(5px) rotateY(7deg); }
  31.5% {
    -webkit-transform: translateX(-3px) rotateY(-5deg);
    transform: translateX(-3px) rotateY(-5deg); }
  43.5% {
    -webkit-transform: translateX(2px) rotateY(3deg);
    transform: translateX(2px) rotateY(3deg); }
  50% {
    -webkit-transform: translateX(0);
    transform: translateX(0); } }

@keyframes headShake {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0); }
  6.5% {
    -webkit-transform: translateX(-6px) rotateY(-9deg);
    transform: translateX(-6px) rotateY(-9deg); }
  18.5% {
    -webkit-transform: translateX(5px) rotateY(7deg);
    transform: translateX(5px) rotateY(7deg); }
  31.5% {
    -webkit-transform: translateX(-3px) rotateY(-5deg);
    transform: translateX(-3px) rotateY(-5deg); }
  43.5% {
    -webkit-transform: translateX(2px) rotateY(3deg);
    transform: translateX(2px) rotateY(3deg); }
  50% {
    -webkit-transform: translateX(0);
    transform: translateX(0); } }

.animate__headShake {
  -webkit-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out;
  -webkit-animation-name: headShake;
  animation-name: headShake; }

@-webkit-keyframes swing {
  20% {
    -webkit-transform: rotate3d(0, 0, 1, 15deg);
    transform: rotate3d(0, 0, 1, 15deg); }
  40% {
    -webkit-transform: rotate3d(0, 0, 1, -10deg);
    transform: rotate3d(0, 0, 1, -10deg); }
  60% {
    -webkit-transform: rotate3d(0, 0, 1, 5deg);
    transform: rotate3d(0, 0, 1, 5deg); }
  80% {
    -webkit-transform: rotate3d(0, 0, 1, -5deg);
    transform: rotate3d(0, 0, 1, -5deg); }
  to {
    -webkit-transform: rotate3d(0, 0, 1, 0deg);
    transform: rotate3d(0, 0, 1, 0deg); } }

@keyframes swing {
  20% {
    -webkit-transform: rotate3d(0, 0, 1, 15deg);
    transform: rotate3d(0, 0, 1, 15deg); }
  40% {
    -webkit-transform: rotate3d(0, 0, 1, -10deg);
    transform: rotate3d(0, 0, 1, -10deg); }
  60% {
    -webkit-transform: rotate3d(0, 0, 1, 5deg);
    transform: rotate3d(0, 0, 1, 5deg); }
  80% {
    -webkit-transform: rotate3d(0, 0, 1, -5deg);
    transform: rotate3d(0, 0, 1, -5deg); }
  to {
    -webkit-transform: rotate3d(0, 0, 1, 0deg);
    transform: rotate3d(0, 0, 1, 0deg); } }

.animate__swing {
  -webkit-transform-origin: top center;
  transform-origin: top center;
  -webkit-animation-name: swing;
  animation-name: swing; }

@-webkit-keyframes tada {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); }
  10%,
  20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg); }
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg); }
  40%,
  60%,
  80% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg); }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); } }

@keyframes tada {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); }
  10%,
  20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg); }
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg); }
  40%,
  60%,
  80% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg); }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); } }

.animate__tada {
  -webkit-animation-name: tada;
  animation-name: tada; }

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes wobble {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  15% {
    -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
    transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg); }
  30% {
    -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
    transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg); }
  45% {
    -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
    transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg); }
  60% {
    -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
    transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg); }
  75% {
    -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
    transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg); }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes wobble {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  15% {
    -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
    transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg); }
  30% {
    -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
    transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg); }
  45% {
    -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
    transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg); }
  60% {
    -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
    transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg); }
  75% {
    -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
    transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg); }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.animate__wobble {
  -webkit-animation-name: wobble;
  animation-name: wobble; }

@-webkit-keyframes jello {
  from,
  11.1%,
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  22.2% {
    -webkit-transform: skewX(-12.5deg) skewY(-12.5deg);
    transform: skewX(-12.5deg) skewY(-12.5deg); }
  33.3% {
    -webkit-transform: skewX(6.25deg) skewY(6.25deg);
    transform: skewX(6.25deg) skewY(6.25deg); }
  44.4% {
    -webkit-transform: skewX(-3.125deg) skewY(-3.125deg);
    transform: skewX(-3.125deg) skewY(-3.125deg); }
  55.5% {
    -webkit-transform: skewX(1.5625deg) skewY(1.5625deg);
    transform: skewX(1.5625deg) skewY(1.5625deg); }
  66.6% {
    -webkit-transform: skewX(-0.78125deg) skewY(-0.78125deg);
    transform: skewX(-0.78125deg) skewY(-0.78125deg); }
  77.7% {
    -webkit-transform: skewX(0.39063deg) skewY(0.39063deg);
    transform: skewX(0.39063deg) skewY(0.39063deg); }
  88.8% {
    -webkit-transform: skewX(-0.19531deg) skewY(-0.19531deg);
    transform: skewX(-0.19531deg) skewY(-0.19531deg); } }

@keyframes jello {
  from,
  11.1%,
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  22.2% {
    -webkit-transform: skewX(-12.5deg) skewY(-12.5deg);
    transform: skewX(-12.5deg) skewY(-12.5deg); }
  33.3% {
    -webkit-transform: skewX(6.25deg) skewY(6.25deg);
    transform: skewX(6.25deg) skewY(6.25deg); }
  44.4% {
    -webkit-transform: skewX(-3.125deg) skewY(-3.125deg);
    transform: skewX(-3.125deg) skewY(-3.125deg); }
  55.5% {
    -webkit-transform: skewX(1.5625deg) skewY(1.5625deg);
    transform: skewX(1.5625deg) skewY(1.5625deg); }
  66.6% {
    -webkit-transform: skewX(-0.78125deg) skewY(-0.78125deg);
    transform: skewX(-0.78125deg) skewY(-0.78125deg); }
  77.7% {
    -webkit-transform: skewX(0.39063deg) skewY(0.39063deg);
    transform: skewX(0.39063deg) skewY(0.39063deg); }
  88.8% {
    -webkit-transform: skewX(-0.19531deg) skewY(-0.19531deg);
    transform: skewX(-0.19531deg) skewY(-0.19531deg); } }

.animate__jello {
  -webkit-animation-name: jello;
  animation-name: jello;
  -webkit-transform-origin: center;
  transform-origin: center; }

@-webkit-keyframes heartBeat {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1); }
  14% {
    -webkit-transform: scale(1.3);
    transform: scale(1.3); }
  28% {
    -webkit-transform: scale(1);
    transform: scale(1); }
  42% {
    -webkit-transform: scale(1.3);
    transform: scale(1.3); }
  70% {
    -webkit-transform: scale(1);
    transform: scale(1); } }

@keyframes heartBeat {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1); }
  14% {
    -webkit-transform: scale(1.3);
    transform: scale(1.3); }
  28% {
    -webkit-transform: scale(1);
    transform: scale(1); }
  42% {
    -webkit-transform: scale(1.3);
    transform: scale(1.3); }
  70% {
    -webkit-transform: scale(1);
    transform: scale(1); } }

.animate__heartBeat {
  -webkit-animation-name: heartBeat;
  animation-name: heartBeat;
  -webkit-animation-duration: calc(1s * 1.3);
  animation-duration: calc(1s * 1.3);
  -webkit-animation-duration: calc(var(--animate-duration) * 1.3);
  animation-duration: calc(var(--animate-duration) * 1.3);
  -webkit-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out; }

/* Back entrances */
@-webkit-keyframes backInDown {
  0% {
    -webkit-transform: translateY(-1200px) scale(0.7);
    transform: translateY(-1200px) scale(0.7);
    opacity: 0.7; }
  80% {
    -webkit-transform: translateY(0px) scale(0.7);
    transform: translateY(0px) scale(0.7);
    opacity: 0.7; }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1; } }

@keyframes backInDown {
  0% {
    -webkit-transform: translateY(-1200px) scale(0.7);
    transform: translateY(-1200px) scale(0.7);
    opacity: 0.7; }
  80% {
    -webkit-transform: translateY(0px) scale(0.7);
    transform: translateY(0px) scale(0.7);
    opacity: 0.7; }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1; } }

.animate__backInDown {
  -webkit-animation-name: backInDown;
  animation-name: backInDown; }

@-webkit-keyframes backInLeft {
  0% {
    -webkit-transform: translateX(-2000px) scale(0.7);
    transform: translateX(-2000px) scale(0.7);
    opacity: 0.7; }
  80% {
    -webkit-transform: translateX(0px) scale(0.7);
    transform: translateX(0px) scale(0.7);
    opacity: 0.7; }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1; } }

@keyframes backInLeft {
  0% {
    -webkit-transform: translateX(-2000px) scale(0.7);
    transform: translateX(-2000px) scale(0.7);
    opacity: 0.7; }
  80% {
    -webkit-transform: translateX(0px) scale(0.7);
    transform: translateX(0px) scale(0.7);
    opacity: 0.7; }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1; } }

.animate__backInLeft {
  -webkit-animation-name: backInLeft;
  animation-name: backInLeft; }

@-webkit-keyframes backInRight {
  0% {
    -webkit-transform: translateX(2000px) scale(0.7);
    transform: translateX(2000px) scale(0.7);
    opacity: 0.7; }
  80% {
    -webkit-transform: translateX(0px) scale(0.7);
    transform: translateX(0px) scale(0.7);
    opacity: 0.7; }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1; } }

@keyframes backInRight {
  0% {
    -webkit-transform: translateX(2000px) scale(0.7);
    transform: translateX(2000px) scale(0.7);
    opacity: 0.7; }
  80% {
    -webkit-transform: translateX(0px) scale(0.7);
    transform: translateX(0px) scale(0.7);
    opacity: 0.7; }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1; } }

.animate__backInRight {
  -webkit-animation-name: backInRight;
  animation-name: backInRight; }

@-webkit-keyframes backInUp {
  0% {
    -webkit-transform: translateY(1200px) scale(0.7);
    transform: translateY(1200px) scale(0.7);
    opacity: 0.7; }
  80% {
    -webkit-transform: translateY(0px) scale(0.7);
    transform: translateY(0px) scale(0.7);
    opacity: 0.7; }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1; } }

@keyframes backInUp {
  0% {
    -webkit-transform: translateY(1200px) scale(0.7);
    transform: translateY(1200px) scale(0.7);
    opacity: 0.7; }
  80% {
    -webkit-transform: translateY(0px) scale(0.7);
    transform: translateY(0px) scale(0.7);
    opacity: 0.7; }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1; } }

.animate__backInUp {
  -webkit-animation-name: backInUp;
  animation-name: backInUp; }

/* Back exits */
@-webkit-keyframes backOutDown {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1; }
  20% {
    -webkit-transform: translateY(0px) scale(0.7);
    transform: translateY(0px) scale(0.7);
    opacity: 0.7; }
  100% {
    -webkit-transform: translateY(700px) scale(0.7);
    transform: translateY(700px) scale(0.7);
    opacity: 0.7; } }

@keyframes backOutDown {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1; }
  20% {
    -webkit-transform: translateY(0px) scale(0.7);
    transform: translateY(0px) scale(0.7);
    opacity: 0.7; }
  100% {
    -webkit-transform: translateY(700px) scale(0.7);
    transform: translateY(700px) scale(0.7);
    opacity: 0.7; } }

.animate__backOutDown {
  -webkit-animation-name: backOutDown;
  animation-name: backOutDown; }

@-webkit-keyframes backOutLeft {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1; }
  20% {
    -webkit-transform: translateX(0px) scale(0.7);
    transform: translateX(0px) scale(0.7);
    opacity: 0.7; }
  100% {
    -webkit-transform: translateX(-2000px) scale(0.7);
    transform: translateX(-2000px) scale(0.7);
    opacity: 0.7; } }

@keyframes backOutLeft {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1; }
  20% {
    -webkit-transform: translateX(0px) scale(0.7);
    transform: translateX(0px) scale(0.7);
    opacity: 0.7; }
  100% {
    -webkit-transform: translateX(-2000px) scale(0.7);
    transform: translateX(-2000px) scale(0.7);
    opacity: 0.7; } }

.animate__backOutLeft {
  -webkit-animation-name: backOutLeft;
  animation-name: backOutLeft; }

@-webkit-keyframes backOutRight {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1; }
  20% {
    -webkit-transform: translateX(0px) scale(0.7);
    transform: translateX(0px) scale(0.7);
    opacity: 0.7; }
  100% {
    -webkit-transform: translateX(2000px) scale(0.7);
    transform: translateX(2000px) scale(0.7);
    opacity: 0.7; } }

@keyframes backOutRight {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1; }
  20% {
    -webkit-transform: translateX(0px) scale(0.7);
    transform: translateX(0px) scale(0.7);
    opacity: 0.7; }
  100% {
    -webkit-transform: translateX(2000px) scale(0.7);
    transform: translateX(2000px) scale(0.7);
    opacity: 0.7; } }

.animate__backOutRight {
  -webkit-animation-name: backOutRight;
  animation-name: backOutRight; }

@-webkit-keyframes backOutUp {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1; }
  20% {
    -webkit-transform: translateY(0px) scale(0.7);
    transform: translateY(0px) scale(0.7);
    opacity: 0.7; }
  100% {
    -webkit-transform: translateY(-700px) scale(0.7);
    transform: translateY(-700px) scale(0.7);
    opacity: 0.7; } }

@keyframes backOutUp {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1; }
  20% {
    -webkit-transform: translateY(0px) scale(0.7);
    transform: translateY(0px) scale(0.7);
    opacity: 0.7; }
  100% {
    -webkit-transform: translateY(-700px) scale(0.7);
    transform: translateY(-700px) scale(0.7);
    opacity: 0.7; } }

.animate__backOutUp {
  -webkit-animation-name: backOutUp;
  animation-name: backOutUp; }

/* Bouncing entrances  */
@-webkit-keyframes bounceIn {
  from,
  20%,
  40%,
  60%,
  80%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3); }
  20% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1); }
  40% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(1.03, 1.03, 1.03);
    transform: scale3d(1.03, 1.03, 1.03); }
  80% {
    -webkit-transform: scale3d(0.97, 0.97, 0.97);
    transform: scale3d(0.97, 0.97, 0.97); }
  to {
    opacity: 1;
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); } }

@keyframes bounceIn {
  from,
  20%,
  40%,
  60%,
  80%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3); }
  20% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1); }
  40% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(1.03, 1.03, 1.03);
    transform: scale3d(1.03, 1.03, 1.03); }
  80% {
    -webkit-transform: scale3d(0.97, 0.97, 0.97);
    transform: scale3d(0.97, 0.97, 0.97); }
  to {
    opacity: 1;
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); } }

.animate__bounceIn {
  -webkit-animation-duration: calc(1s * 0.75);
  animation-duration: calc(1s * 0.75);
  -webkit-animation-duration: calc(var(--animate-duration) * 0.75);
  animation-duration: calc(var(--animate-duration) * 0.75);
  -webkit-animation-name: bounceIn;
  animation-name: bounceIn; }

@-webkit-keyframes bounceInDown {
  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -3000px, 0) scaleY(3);
    transform: translate3d(0, -3000px, 0) scaleY(3); }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, 25px, 0) scaleY(0.9);
    transform: translate3d(0, 25px, 0) scaleY(0.9); }
  75% {
    -webkit-transform: translate3d(0, -10px, 0) scaleY(0.95);
    transform: translate3d(0, -10px, 0) scaleY(0.95); }
  90% {
    -webkit-transform: translate3d(0, 5px, 0) scaleY(0.985);
    transform: translate3d(0, 5px, 0) scaleY(0.985); }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes bounceInDown {
  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -3000px, 0) scaleY(3);
    transform: translate3d(0, -3000px, 0) scaleY(3); }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, 25px, 0) scaleY(0.9);
    transform: translate3d(0, 25px, 0) scaleY(0.9); }
  75% {
    -webkit-transform: translate3d(0, -10px, 0) scaleY(0.95);
    transform: translate3d(0, -10px, 0) scaleY(0.95); }
  90% {
    -webkit-transform: translate3d(0, 5px, 0) scaleY(0.985);
    transform: translate3d(0, 5px, 0) scaleY(0.985); }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.animate__bounceInDown {
  -webkit-animation-name: bounceInDown;
  animation-name: bounceInDown; }

@-webkit-keyframes bounceInLeft {
  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-3000px, 0, 0) scaleX(3);
    transform: translate3d(-3000px, 0, 0) scaleX(3); }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(25px, 0, 0) scaleX(1);
    transform: translate3d(25px, 0, 0) scaleX(1); }
  75% {
    -webkit-transform: translate3d(-10px, 0, 0) scaleX(0.98);
    transform: translate3d(-10px, 0, 0) scaleX(0.98); }
  90% {
    -webkit-transform: translate3d(5px, 0, 0) scaleX(0.995);
    transform: translate3d(5px, 0, 0) scaleX(0.995); }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes bounceInLeft {
  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-3000px, 0, 0) scaleX(3);
    transform: translate3d(-3000px, 0, 0) scaleX(3); }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(25px, 0, 0) scaleX(1);
    transform: translate3d(25px, 0, 0) scaleX(1); }
  75% {
    -webkit-transform: translate3d(-10px, 0, 0) scaleX(0.98);
    transform: translate3d(-10px, 0, 0) scaleX(0.98); }
  90% {
    -webkit-transform: translate3d(5px, 0, 0) scaleX(0.995);
    transform: translate3d(5px, 0, 0) scaleX(0.995); }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.animate__bounceInLeft {
  -webkit-animation-name: bounceInLeft;
  animation-name: bounceInLeft; }

@-webkit-keyframes bounceInRight {
  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  from {
    opacity: 0;
    -webkit-transform: translate3d(3000px, 0, 0) scaleX(3);
    transform: translate3d(3000px, 0, 0) scaleX(3); }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(-25px, 0, 0) scaleX(1);
    transform: translate3d(-25px, 0, 0) scaleX(1); }
  75% {
    -webkit-transform: translate3d(10px, 0, 0) scaleX(0.98);
    transform: translate3d(10px, 0, 0) scaleX(0.98); }
  90% {
    -webkit-transform: translate3d(-5px, 0, 0) scaleX(0.995);
    transform: translate3d(-5px, 0, 0) scaleX(0.995); }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes bounceInRight {
  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  from {
    opacity: 0;
    -webkit-transform: translate3d(3000px, 0, 0) scaleX(3);
    transform: translate3d(3000px, 0, 0) scaleX(3); }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(-25px, 0, 0) scaleX(1);
    transform: translate3d(-25px, 0, 0) scaleX(1); }
  75% {
    -webkit-transform: translate3d(10px, 0, 0) scaleX(0.98);
    transform: translate3d(10px, 0, 0) scaleX(0.98); }
  90% {
    -webkit-transform: translate3d(-5px, 0, 0) scaleX(0.995);
    transform: translate3d(-5px, 0, 0) scaleX(0.995); }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.animate__bounceInRight {
  -webkit-animation-name: bounceInRight;
  animation-name: bounceInRight; }

@-webkit-keyframes bounceInUp {
  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 3000px, 0) scaleY(5);
    transform: translate3d(0, 3000px, 0) scaleY(5); }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0) scaleY(0.9);
    transform: translate3d(0, -20px, 0) scaleY(0.9); }
  75% {
    -webkit-transform: translate3d(0, 10px, 0) scaleY(0.95);
    transform: translate3d(0, 10px, 0) scaleY(0.95); }
  90% {
    -webkit-transform: translate3d(0, -5px, 0) scaleY(0.985);
    transform: translate3d(0, -5px, 0) scaleY(0.985); }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes bounceInUp {
  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 3000px, 0) scaleY(5);
    transform: translate3d(0, 3000px, 0) scaleY(5); }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0) scaleY(0.9);
    transform: translate3d(0, -20px, 0) scaleY(0.9); }
  75% {
    -webkit-transform: translate3d(0, 10px, 0) scaleY(0.95);
    transform: translate3d(0, 10px, 0) scaleY(0.95); }
  90% {
    -webkit-transform: translate3d(0, -5px, 0) scaleY(0.985);
    transform: translate3d(0, -5px, 0) scaleY(0.985); }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.animate__bounceInUp {
  -webkit-animation-name: bounceInUp;
  animation-name: bounceInUp; }

/* Bouncing exits  */
@-webkit-keyframes bounceOut {
  20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9); }
  50%,
  55% {
    opacity: 1;
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1); }
  to {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3); } }

@keyframes bounceOut {
  20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9); }
  50%,
  55% {
    opacity: 1;
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1); }
  to {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3); } }

.animate__bounceOut {
  -webkit-animation-duration: calc(1s * 0.75);
  animation-duration: calc(1s * 0.75);
  -webkit-animation-duration: calc(var(--animate-duration) * 0.75);
  animation-duration: calc(var(--animate-duration) * 0.75);
  -webkit-animation-name: bounceOut;
  animation-name: bounceOut; }

@-webkit-keyframes bounceOutDown {
  20% {
    -webkit-transform: translate3d(0, 10px, 0) scaleY(0.985);
    transform: translate3d(0, 10px, 0) scaleY(0.985); }
  40%,
  45% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0) scaleY(0.9);
    transform: translate3d(0, -20px, 0) scaleY(0.9); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0) scaleY(3);
    transform: translate3d(0, 2000px, 0) scaleY(3); } }

@keyframes bounceOutDown {
  20% {
    -webkit-transform: translate3d(0, 10px, 0) scaleY(0.985);
    transform: translate3d(0, 10px, 0) scaleY(0.985); }
  40%,
  45% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0) scaleY(0.9);
    transform: translate3d(0, -20px, 0) scaleY(0.9); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0) scaleY(3);
    transform: translate3d(0, 2000px, 0) scaleY(3); } }

.animate__bounceOutDown {
  -webkit-animation-name: bounceOutDown;
  animation-name: bounceOutDown; }

@-webkit-keyframes bounceOutLeft {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(20px, 0, 0) scaleX(0.9);
    transform: translate3d(20px, 0, 0) scaleX(0.9); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0) scaleX(2);
    transform: translate3d(-2000px, 0, 0) scaleX(2); } }

@keyframes bounceOutLeft {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(20px, 0, 0) scaleX(0.9);
    transform: translate3d(20px, 0, 0) scaleX(0.9); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0) scaleX(2);
    transform: translate3d(-2000px, 0, 0) scaleX(2); } }

.animate__bounceOutLeft {
  -webkit-animation-name: bounceOutLeft;
  animation-name: bounceOutLeft; }

@-webkit-keyframes bounceOutRight {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(-20px, 0, 0) scaleX(0.9);
    transform: translate3d(-20px, 0, 0) scaleX(0.9); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0) scaleX(2);
    transform: translate3d(2000px, 0, 0) scaleX(2); } }

@keyframes bounceOutRight {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(-20px, 0, 0) scaleX(0.9);
    transform: translate3d(-20px, 0, 0) scaleX(0.9); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0) scaleX(2);
    transform: translate3d(2000px, 0, 0) scaleX(2); } }

.animate__bounceOutRight {
  -webkit-animation-name: bounceOutRight;
  animation-name: bounceOutRight; }

@-webkit-keyframes bounceOutUp {
  20% {
    -webkit-transform: translate3d(0, -10px, 0) scaleY(0.985);
    transform: translate3d(0, -10px, 0) scaleY(0.985); }
  40%,
  45% {
    opacity: 1;
    -webkit-transform: translate3d(0, 20px, 0) scaleY(0.9);
    transform: translate3d(0, 20px, 0) scaleY(0.9); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0) scaleY(3);
    transform: translate3d(0, -2000px, 0) scaleY(3); } }

@keyframes bounceOutUp {
  20% {
    -webkit-transform: translate3d(0, -10px, 0) scaleY(0.985);
    transform: translate3d(0, -10px, 0) scaleY(0.985); }
  40%,
  45% {
    opacity: 1;
    -webkit-transform: translate3d(0, 20px, 0) scaleY(0.9);
    transform: translate3d(0, 20px, 0) scaleY(0.9); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0) scaleY(3);
    transform: translate3d(0, -2000px, 0) scaleY(3); } }

.animate__bounceOutUp {
  -webkit-animation-name: bounceOutUp;
  animation-name: bounceOutUp; }

/* Fading entrances  */
@-webkit-keyframes fadeIn {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }

@keyframes fadeIn {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }

.animate__fadeIn {
  -webkit-animation-name: fadeIn;
  animation-name: fadeIn; }

@-webkit-keyframes fadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes fadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.animate__fadeInDown {
  -webkit-animation-name: fadeInDown;
  animation-name: fadeInDown; }

@-webkit-keyframes fadeInDownBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes fadeInDownBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.animate__fadeInDownBig {
  -webkit-animation-name: fadeInDownBig;
  animation-name: fadeInDownBig; }

@-webkit-keyframes fadeInLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes fadeInLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.animate__fadeInLeft {
  -webkit-animation-name: fadeInLeft;
  animation-name: fadeInLeft; }

@-webkit-keyframes fadeInLeftBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes fadeInLeftBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.animate__fadeInLeftBig {
  -webkit-animation-name: fadeInLeftBig;
  animation-name: fadeInLeftBig; }

@-webkit-keyframes fadeInRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes fadeInRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.animate__fadeInRight {
  -webkit-animation-name: fadeInRight;
  animation-name: fadeInRight; }

@-webkit-keyframes fadeInRightBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes fadeInRightBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.animate__fadeInRightBig {
  -webkit-animation-name: fadeInRightBig;
  animation-name: fadeInRightBig; }

@-webkit-keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.animate__fadeInUp {
  -webkit-animation-name: fadeInUp;
  animation-name: fadeInUp; }

@-webkit-keyframes fadeInUpBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes fadeInUpBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.animate__fadeInUpBig {
  -webkit-animation-name: fadeInUpBig;
  animation-name: fadeInUpBig; }

@-webkit-keyframes fadeInTopLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, -100%, 0);
    transform: translate3d(-100%, -100%, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes fadeInTopLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, -100%, 0);
    transform: translate3d(-100%, -100%, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.animate__fadeInTopLeft {
  -webkit-animation-name: fadeInTopLeft;
  animation-name: fadeInTopLeft; }

@-webkit-keyframes fadeInTopRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(100%, -100%, 0);
    transform: translate3d(100%, -100%, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes fadeInTopRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(100%, -100%, 0);
    transform: translate3d(100%, -100%, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.animate__fadeInTopRight {
  -webkit-animation-name: fadeInTopRight;
  animation-name: fadeInTopRight; }

@-webkit-keyframes fadeInBottomLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 100%, 0);
    transform: translate3d(-100%, 100%, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes fadeInBottomLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 100%, 0);
    transform: translate3d(-100%, 100%, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.animate__fadeInBottomLeft {
  -webkit-animation-name: fadeInBottomLeft;
  animation-name: fadeInBottomLeft; }

@-webkit-keyframes fadeInBottomRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(100%, 100%, 0);
    transform: translate3d(100%, 100%, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes fadeInBottomRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(100%, 100%, 0);
    transform: translate3d(100%, 100%, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.animate__fadeInBottomRight {
  -webkit-animation-name: fadeInBottomRight;
  animation-name: fadeInBottomRight; }

/* Fading exits */
@-webkit-keyframes fadeOut {
  from {
    opacity: 1; }
  to {
    opacity: 0; } }

@keyframes fadeOut {
  from {
    opacity: 1; }
  to {
    opacity: 0; } }

.animate__fadeOut {
  -webkit-animation-name: fadeOut;
  animation-name: fadeOut; }

@-webkit-keyframes fadeOutDown {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0); } }

@keyframes fadeOutDown {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0); } }

.animate__fadeOutDown {
  -webkit-animation-name: fadeOutDown;
  animation-name: fadeOutDown; }

@-webkit-keyframes fadeOutDownBig {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0); } }

@keyframes fadeOutDownBig {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0); } }

.animate__fadeOutDownBig {
  -webkit-animation-name: fadeOutDownBig;
  animation-name: fadeOutDownBig; }

@-webkit-keyframes fadeOutLeft {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0); } }

@keyframes fadeOutLeft {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0); } }

.animate__fadeOutLeft {
  -webkit-animation-name: fadeOutLeft;
  animation-name: fadeOutLeft; }

@-webkit-keyframes fadeOutLeftBig {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0); } }

@keyframes fadeOutLeftBig {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0); } }

.animate__fadeOutLeftBig {
  -webkit-animation-name: fadeOutLeftBig;
  animation-name: fadeOutLeftBig; }

@-webkit-keyframes fadeOutRight {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0); } }

@keyframes fadeOutRight {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0); } }

.animate__fadeOutRight {
  -webkit-animation-name: fadeOutRight;
  animation-name: fadeOutRight; }

@-webkit-keyframes fadeOutRightBig {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0); } }

@keyframes fadeOutRightBig {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0); } }

.animate__fadeOutRightBig {
  -webkit-animation-name: fadeOutRightBig;
  animation-name: fadeOutRightBig; }

@-webkit-keyframes fadeOutUp {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0); } }

@keyframes fadeOutUp {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0); } }

.animate__fadeOutUp {
  -webkit-animation-name: fadeOutUp;
  animation-name: fadeOutUp; }

@-webkit-keyframes fadeOutUpBig {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0); } }

@keyframes fadeOutUpBig {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0); } }

.animate__fadeOutUpBig {
  -webkit-animation-name: fadeOutUpBig;
  animation-name: fadeOutUpBig; }

@-webkit-keyframes fadeOutTopLeft {
  from {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-100%, -100%, 0);
    transform: translate3d(-100%, -100%, 0); } }

@keyframes fadeOutTopLeft {
  from {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-100%, -100%, 0);
    transform: translate3d(-100%, -100%, 0); } }

.animate__fadeOutTopLeft {
  -webkit-animation-name: fadeOutTopLeft;
  animation-name: fadeOutTopLeft; }

@-webkit-keyframes fadeOutTopRight {
  from {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, -100%, 0);
    transform: translate3d(100%, -100%, 0); } }

@keyframes fadeOutTopRight {
  from {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, -100%, 0);
    transform: translate3d(100%, -100%, 0); } }

.animate__fadeOutTopRight {
  -webkit-animation-name: fadeOutTopRight;
  animation-name: fadeOutTopRight; }

@-webkit-keyframes fadeOutBottomRight {
  from {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 100%, 0);
    transform: translate3d(100%, 100%, 0); } }

@keyframes fadeOutBottomRight {
  from {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 100%, 0);
    transform: translate3d(100%, 100%, 0); } }

.animate__fadeOutBottomRight {
  -webkit-animation-name: fadeOutBottomRight;
  animation-name: fadeOutBottomRight; }

@-webkit-keyframes fadeOutBottomLeft {
  from {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 100%, 0);
    transform: translate3d(-100%, 100%, 0); } }

@keyframes fadeOutBottomLeft {
  from {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 100%, 0);
    transform: translate3d(-100%, 100%, 0); } }

.animate__fadeOutBottomLeft {
  -webkit-animation-name: fadeOutBottomLeft;
  animation-name: fadeOutBottomLeft; }

/* Flippers */
@-webkit-keyframes flip {
  from {
    -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, -360deg);
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, -360deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out; }
  40% {
    -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out; }
  50% {
    -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  80% {
    -webkit-transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
    transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  to {
    -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; } }

@keyframes flip {
  from {
    -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, -360deg);
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, -360deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out; }
  40% {
    -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out; }
  50% {
    -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  80% {
    -webkit-transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
    transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  to {
    -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; } }

.animate__animated.animate__flip {
  -webkit-backface-visibility: visible;
  backface-visibility: visible;
  -webkit-animation-name: flip;
  animation-name: flip; }

@-webkit-keyframes flipInX {
  from {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0; }
  40% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  60% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    opacity: 1; }
  80% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -5deg); }
  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px); } }

@keyframes flipInX {
  from {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0; }
  40% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  60% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    opacity: 1; }
  80% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -5deg); }
  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px); } }

.animate__flipInX {
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: flipInX;
  animation-name: flipInX; }

@-webkit-keyframes flipInY {
  from {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0; }
  40% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  60% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    opacity: 1; }
  80% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -5deg); }
  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px); } }

@keyframes flipInY {
  from {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0; }
  40% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  60% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    opacity: 1; }
  80% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -5deg); }
  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px); } }

.animate__flipInY {
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: flipInY;
  animation-name: flipInY; }

@-webkit-keyframes flipOutX {
  from {
    -webkit-transform: perspective(400px);
    transform: perspective(400px); }
  30% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    opacity: 1; }
  to {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    opacity: 0; } }

@keyframes flipOutX {
  from {
    -webkit-transform: perspective(400px);
    transform: perspective(400px); }
  30% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    opacity: 1; }
  to {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    opacity: 0; } }

.animate__flipOutX {
  -webkit-animation-duration: calc(1s * 0.75);
  animation-duration: calc(1s * 0.75);
  -webkit-animation-duration: calc(var(--animate-duration) * 0.75);
  animation-duration: calc(var(--animate-duration) * 0.75);
  -webkit-animation-name: flipOutX;
  animation-name: flipOutX;
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important; }

@-webkit-keyframes flipOutY {
  from {
    -webkit-transform: perspective(400px);
    transform: perspective(400px); }
  30% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    opacity: 1; }
  to {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    opacity: 0; } }

@keyframes flipOutY {
  from {
    -webkit-transform: perspective(400px);
    transform: perspective(400px); }
  30% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    opacity: 1; }
  to {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    opacity: 0; } }

.animate__flipOutY {
  -webkit-animation-duration: calc(1s * 0.75);
  animation-duration: calc(1s * 0.75);
  -webkit-animation-duration: calc(var(--animate-duration) * 0.75);
  animation-duration: calc(var(--animate-duration) * 0.75);
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: flipOutY;
  animation-name: flipOutY; }

/* Lightspeed */
@-webkit-keyframes lightSpeedInRight {
  from {
    -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);
    transform: translate3d(100%, 0, 0) skewX(-30deg);
    opacity: 0; }
  60% {
    -webkit-transform: skewX(20deg);
    transform: skewX(20deg);
    opacity: 1; }
  80% {
    -webkit-transform: skewX(-5deg);
    transform: skewX(-5deg); }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes lightSpeedInRight {
  from {
    -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);
    transform: translate3d(100%, 0, 0) skewX(-30deg);
    opacity: 0; }
  60% {
    -webkit-transform: skewX(20deg);
    transform: skewX(20deg);
    opacity: 1; }
  80% {
    -webkit-transform: skewX(-5deg);
    transform: skewX(-5deg); }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.animate__lightSpeedInRight {
  -webkit-animation-name: lightSpeedInRight;
  animation-name: lightSpeedInRight;
  -webkit-animation-timing-function: ease-out;
  animation-timing-function: ease-out; }

@-webkit-keyframes lightSpeedInLeft {
  from {
    -webkit-transform: translate3d(-100%, 0, 0) skewX(30deg);
    transform: translate3d(-100%, 0, 0) skewX(30deg);
    opacity: 0; }
  60% {
    -webkit-transform: skewX(-20deg);
    transform: skewX(-20deg);
    opacity: 1; }
  80% {
    -webkit-transform: skewX(5deg);
    transform: skewX(5deg); }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes lightSpeedInLeft {
  from {
    -webkit-transform: translate3d(-100%, 0, 0) skewX(30deg);
    transform: translate3d(-100%, 0, 0) skewX(30deg);
    opacity: 0; }
  60% {
    -webkit-transform: skewX(-20deg);
    transform: skewX(-20deg);
    opacity: 1; }
  80% {
    -webkit-transform: skewX(5deg);
    transform: skewX(5deg); }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.animate__lightSpeedInLeft {
  -webkit-animation-name: lightSpeedInLeft;
  animation-name: lightSpeedInLeft;
  -webkit-animation-timing-function: ease-out;
  animation-timing-function: ease-out; }

@-webkit-keyframes lightSpeedOutRight {
  from {
    opacity: 1; }
  to {
    -webkit-transform: translate3d(100%, 0, 0) skewX(30deg);
    transform: translate3d(100%, 0, 0) skewX(30deg);
    opacity: 0; } }

@keyframes lightSpeedOutRight {
  from {
    opacity: 1; }
  to {
    -webkit-transform: translate3d(100%, 0, 0) skewX(30deg);
    transform: translate3d(100%, 0, 0) skewX(30deg);
    opacity: 0; } }

.animate__lightSpeedOutRight {
  -webkit-animation-name: lightSpeedOutRight;
  animation-name: lightSpeedOutRight;
  -webkit-animation-timing-function: ease-in;
  animation-timing-function: ease-in; }

@-webkit-keyframes lightSpeedOutLeft {
  from {
    opacity: 1; }
  to {
    -webkit-transform: translate3d(-100%, 0, 0) skewX(-30deg);
    transform: translate3d(-100%, 0, 0) skewX(-30deg);
    opacity: 0; } }

@keyframes lightSpeedOutLeft {
  from {
    opacity: 1; }
  to {
    -webkit-transform: translate3d(-100%, 0, 0) skewX(-30deg);
    transform: translate3d(-100%, 0, 0) skewX(-30deg);
    opacity: 0; } }

.animate__lightSpeedOutLeft {
  -webkit-animation-name: lightSpeedOutLeft;
  animation-name: lightSpeedOutLeft;
  -webkit-animation-timing-function: ease-in;
  animation-timing-function: ease-in; }

/* Rotating entrances */
@-webkit-keyframes rotateIn {
  from {
    -webkit-transform: rotate3d(0, 0, 1, -200deg);
    transform: rotate3d(0, 0, 1, -200deg);
    opacity: 0; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1; } }

@keyframes rotateIn {
  from {
    -webkit-transform: rotate3d(0, 0, 1, -200deg);
    transform: rotate3d(0, 0, 1, -200deg);
    opacity: 0; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1; } }

.animate__rotateIn {
  -webkit-animation-name: rotateIn;
  animation-name: rotateIn;
  -webkit-transform-origin: center;
  transform-origin: center; }

@-webkit-keyframes rotateInDownLeft {
  from {
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1; } }

@keyframes rotateInDownLeft {
  from {
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1; } }

.animate__rotateInDownLeft {
  -webkit-animation-name: rotateInDownLeft;
  animation-name: rotateInDownLeft;
  -webkit-transform-origin: left bottom;
  transform-origin: left bottom; }

@-webkit-keyframes rotateInDownRight {
  from {
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1; } }

@keyframes rotateInDownRight {
  from {
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1; } }

.animate__rotateInDownRight {
  -webkit-animation-name: rotateInDownRight;
  animation-name: rotateInDownRight;
  -webkit-transform-origin: right bottom;
  transform-origin: right bottom; }

@-webkit-keyframes rotateInUpLeft {
  from {
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1; } }

@keyframes rotateInUpLeft {
  from {
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1; } }

.animate__rotateInUpLeft {
  -webkit-animation-name: rotateInUpLeft;
  animation-name: rotateInUpLeft;
  -webkit-transform-origin: left bottom;
  transform-origin: left bottom; }

@-webkit-keyframes rotateInUpRight {
  from {
    -webkit-transform: rotate3d(0, 0, 1, -90deg);
    transform: rotate3d(0, 0, 1, -90deg);
    opacity: 0; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1; } }

@keyframes rotateInUpRight {
  from {
    -webkit-transform: rotate3d(0, 0, 1, -90deg);
    transform: rotate3d(0, 0, 1, -90deg);
    opacity: 0; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1; } }

.animate__rotateInUpRight {
  -webkit-animation-name: rotateInUpRight;
  animation-name: rotateInUpRight;
  -webkit-transform-origin: right bottom;
  transform-origin: right bottom; }

/* Rotating exits */
@-webkit-keyframes rotateOut {
  from {
    opacity: 1; }
  to {
    -webkit-transform: rotate3d(0, 0, 1, 200deg);
    transform: rotate3d(0, 0, 1, 200deg);
    opacity: 0; } }

@keyframes rotateOut {
  from {
    opacity: 1; }
  to {
    -webkit-transform: rotate3d(0, 0, 1, 200deg);
    transform: rotate3d(0, 0, 1, 200deg);
    opacity: 0; } }

.animate__rotateOut {
  -webkit-animation-name: rotateOut;
  animation-name: rotateOut;
  -webkit-transform-origin: center;
  transform-origin: center; }

@-webkit-keyframes rotateOutDownLeft {
  from {
    opacity: 1; }
  to {
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0; } }

@keyframes rotateOutDownLeft {
  from {
    opacity: 1; }
  to {
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0; } }

.animate__rotateOutDownLeft {
  -webkit-animation-name: rotateOutDownLeft;
  animation-name: rotateOutDownLeft;
  -webkit-transform-origin: left bottom;
  transform-origin: left bottom; }

@-webkit-keyframes rotateOutDownRight {
  from {
    opacity: 1; }
  to {
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0; } }

@keyframes rotateOutDownRight {
  from {
    opacity: 1; }
  to {
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0; } }

.animate__rotateOutDownRight {
  -webkit-animation-name: rotateOutDownRight;
  animation-name: rotateOutDownRight;
  -webkit-transform-origin: right bottom;
  transform-origin: right bottom; }

@-webkit-keyframes rotateOutUpLeft {
  from {
    opacity: 1; }
  to {
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0; } }

@keyframes rotateOutUpLeft {
  from {
    opacity: 1; }
  to {
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0; } }

.animate__rotateOutUpLeft {
  -webkit-animation-name: rotateOutUpLeft;
  animation-name: rotateOutUpLeft;
  -webkit-transform-origin: left bottom;
  transform-origin: left bottom; }

@-webkit-keyframes rotateOutUpRight {
  from {
    opacity: 1; }
  to {
    -webkit-transform: rotate3d(0, 0, 1, 90deg);
    transform: rotate3d(0, 0, 1, 90deg);
    opacity: 0; } }

@keyframes rotateOutUpRight {
  from {
    opacity: 1; }
  to {
    -webkit-transform: rotate3d(0, 0, 1, 90deg);
    transform: rotate3d(0, 0, 1, 90deg);
    opacity: 0; } }

.animate__rotateOutUpRight {
  -webkit-animation-name: rotateOutUpRight;
  animation-name: rotateOutUpRight;
  -webkit-transform-origin: right bottom;
  transform-origin: right bottom; }

/* Specials */
@-webkit-keyframes hinge {
  0% {
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out; }
  20%,
  60% {
    -webkit-transform: rotate3d(0, 0, 1, 80deg);
    transform: rotate3d(0, 0, 1, 80deg);
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out; }
  40%,
  80% {
    -webkit-transform: rotate3d(0, 0, 1, 60deg);
    transform: rotate3d(0, 0, 1, 60deg);
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
    opacity: 1; }
  to {
    -webkit-transform: translate3d(0, 700px, 0);
    transform: translate3d(0, 700px, 0);
    opacity: 0; } }

@keyframes hinge {
  0% {
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out; }
  20%,
  60% {
    -webkit-transform: rotate3d(0, 0, 1, 80deg);
    transform: rotate3d(0, 0, 1, 80deg);
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out; }
  40%,
  80% {
    -webkit-transform: rotate3d(0, 0, 1, 60deg);
    transform: rotate3d(0, 0, 1, 60deg);
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
    opacity: 1; }
  to {
    -webkit-transform: translate3d(0, 700px, 0);
    transform: translate3d(0, 700px, 0);
    opacity: 0; } }

.animate__hinge {
  -webkit-animation-duration: calc(1s * 2);
  animation-duration: calc(1s * 2);
  -webkit-animation-duration: calc(var(--animate-duration) * 2);
  animation-duration: calc(var(--animate-duration) * 2);
  -webkit-animation-name: hinge;
  animation-name: hinge;
  -webkit-transform-origin: top left;
  transform-origin: top left; }

@-webkit-keyframes jackInTheBox {
  from {
    opacity: 0;
    -webkit-transform: scale(0.1) rotate(30deg);
    transform: scale(0.1) rotate(30deg);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom; }
  50% {
    -webkit-transform: rotate(-10deg);
    transform: rotate(-10deg); }
  70% {
    -webkit-transform: rotate(3deg);
    transform: rotate(3deg); }
  to {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1); } }

@keyframes jackInTheBox {
  from {
    opacity: 0;
    -webkit-transform: scale(0.1) rotate(30deg);
    transform: scale(0.1) rotate(30deg);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom; }
  50% {
    -webkit-transform: rotate(-10deg);
    transform: rotate(-10deg); }
  70% {
    -webkit-transform: rotate(3deg);
    transform: rotate(3deg); }
  to {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1); } }

.animate__jackInTheBox {
  -webkit-animation-name: jackInTheBox;
  animation-name: jackInTheBox; }

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes rollIn {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
    transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes rollIn {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
    transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.animate__rollIn {
  -webkit-animation-name: rollIn;
  animation-name: rollIn; }

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes rollOut {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
    transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg); } }

@keyframes rollOut {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
    transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg); } }

.animate__rollOut {
  -webkit-animation-name: rollOut;
  animation-name: rollOut; }

/* Zooming entrances */
@-webkit-keyframes zoomIn {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3); }
  50% {
    opacity: 1; } }

@keyframes zoomIn {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3); }
  50% {
    opacity: 1; } }

.animate__zoomIn {
  -webkit-animation-name: zoomIn;
  animation-name: zoomIn; }

@-webkit-keyframes zoomInDown {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

@keyframes zoomInDown {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

.animate__zoomInDown {
  -webkit-animation-name: zoomInDown;
  animation-name: zoomInDown; }

@-webkit-keyframes zoomInLeft {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

@keyframes zoomInLeft {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

.animate__zoomInLeft {
  -webkit-animation-name: zoomInLeft;
  animation-name: zoomInLeft; }

@-webkit-keyframes zoomInRight {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

@keyframes zoomInRight {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

.animate__zoomInRight {
  -webkit-animation-name: zoomInRight;
  animation-name: zoomInRight; }

@-webkit-keyframes zoomInUp {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

@keyframes zoomInUp {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

.animate__zoomInUp {
  -webkit-animation-name: zoomInUp;
  animation-name: zoomInUp; }

/* Zooming exits */
@-webkit-keyframes zoomOut {
  from {
    opacity: 1; }
  50% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3); }
  to {
    opacity: 0; } }

@keyframes zoomOut {
  from {
    opacity: 1; }
  50% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3); }
  to {
    opacity: 0; } }

.animate__zoomOut {
  -webkit-animation-name: zoomOut;
  animation-name: zoomOut; }

@-webkit-keyframes zoomOutDown {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  to {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

@keyframes zoomOutDown {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  to {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

.animate__zoomOutDown {
  -webkit-animation-name: zoomOutDown;
  animation-name: zoomOutDown;
  -webkit-transform-origin: center bottom;
  transform-origin: center bottom; }

@-webkit-keyframes zoomOutLeft {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0); }
  to {
    opacity: 0;
    -webkit-transform: scale(0.1) translate3d(-2000px, 0, 0);
    transform: scale(0.1) translate3d(-2000px, 0, 0); } }

@keyframes zoomOutLeft {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0); }
  to {
    opacity: 0;
    -webkit-transform: scale(0.1) translate3d(-2000px, 0, 0);
    transform: scale(0.1) translate3d(-2000px, 0, 0); } }

.animate__zoomOutLeft {
  -webkit-animation-name: zoomOutLeft;
  animation-name: zoomOutLeft;
  -webkit-transform-origin: left center;
  transform-origin: left center; }

@-webkit-keyframes zoomOutRight {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0); }
  to {
    opacity: 0;
    -webkit-transform: scale(0.1) translate3d(2000px, 0, 0);
    transform: scale(0.1) translate3d(2000px, 0, 0); } }

@keyframes zoomOutRight {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0); }
  to {
    opacity: 0;
    -webkit-transform: scale(0.1) translate3d(2000px, 0, 0);
    transform: scale(0.1) translate3d(2000px, 0, 0); } }

.animate__zoomOutRight {
  -webkit-animation-name: zoomOutRight;
  animation-name: zoomOutRight;
  -webkit-transform-origin: right center;
  transform-origin: right center; }

@-webkit-keyframes zoomOutUp {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  to {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

@keyframes zoomOutUp {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  to {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

.animate__zoomOutUp {
  -webkit-animation-name: zoomOutUp;
  animation-name: zoomOutUp;
  -webkit-transform-origin: center bottom;
  transform-origin: center bottom; }

/* Sliding entrances */
@-webkit-keyframes slideInDown {
  from {
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
    visibility: visible; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes slideInDown {
  from {
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
    visibility: visible; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.animate__slideInDown {
  -webkit-animation-name: slideInDown;
  animation-name: slideInDown; }

@-webkit-keyframes slideInLeft {
  from {
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
    visibility: visible; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes slideInLeft {
  from {
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
    visibility: visible; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.animate__slideInLeft {
  -webkit-animation-name: slideInLeft;
  animation-name: slideInLeft; }

@-webkit-keyframes slideInRight {
  from {
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
    visibility: visible; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes slideInRight {
  from {
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
    visibility: visible; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.animate__slideInRight {
  -webkit-animation-name: slideInRight;
  animation-name: slideInRight; }

@-webkit-keyframes slideInUp {
  from {
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
    visibility: visible; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes slideInUp {
  from {
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
    visibility: visible; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.animate__slideInUp {
  -webkit-animation-name: slideInUp;
  animation-name: slideInUp; }

/* Sliding exits */
@-webkit-keyframes slideOutDown {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0); } }

@keyframes slideOutDown {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0); } }

.animate__slideOutDown {
  -webkit-animation-name: slideOutDown;
  animation-name: slideOutDown; }

@-webkit-keyframes slideOutLeft {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0); } }

@keyframes slideOutLeft {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0); } }

.animate__slideOutLeft {
  -webkit-animation-name: slideOutLeft;
  animation-name: slideOutLeft; }

@-webkit-keyframes slideOutRight {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0); } }

@keyframes slideOutRight {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0); } }

.animate__slideOutRight {
  -webkit-animation-name: slideOutRight;
  animation-name: slideOutRight; }

@-webkit-keyframes slideOutUp {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0); } }

@keyframes slideOutUp {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0); } }

.animate__slideOutUp {
  -webkit-animation-name: slideOutUp;
  animation-name: slideOutUp; }

/*

----- Axis Element Print ----- 
Allows you to select an element to be printed inside of the DOM.

This deals with general formatting of text when in print view and which element should be excluded as it doesn't make sense for them to be there.

*/
@media print {
  .pe-no-print {
    display: none !important; }
  .pe-preserve-ancestor {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    -webkit-box-shadow: none !important;
            box-shadow: none !important; }
  [data-axis-sticky], [data-sticky-content-container] {
    display: none; }
  .enquiry-filters {
    display: none; }
  .call-type-icon, .call-source-icon {
    -webkit-filter: grayscale(1);
            filter: grayscale(1); }
  .enquiry-header-section h2 {
    color: #000000 !important; }
  .axis-section-header:after {
    color: #000000 !important; }
  table .col-label {
    color: #000000 !important;
    display: inline-block !important; }
  table tr {
    margin: 0 !important;
    padding-top: 5px !important;
    padding-bottom: 5px !important;
    border-bottom: 2px solid #aeaeae !important; }
  table td {
    padding-top: 0 !important;
    padding-bottom: 0 !important; }
  .page-buttons-container, .account-buttons-container {
    display: none; }
  h1, h2, h3, h4, h5, h6 {
    color: #000000 !important; }
  .cms-content-container {
    max-height: none !important;
    overflow-y: visible !important; }
  .modal-container .content, .modal-container .content-container {
    overflow-y: visible !important;
    overflow: visible !important; }
  .modal-container {
    position: absolute !important;
    overflow: visible !important; }
    .modal-container.active {
      overflow-y: unset !important; } }

/*
----- Documentation ------ 
Specifically handles the styling for AXIS Documentation, there will be similarities between this code and cms containers.

This deals with the following page types:
-- Products
---- Books
------ Chapters
-------- Articles
-------- Functions
---------- Article
*/
.documentation-controls-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 20px; }
  @media screen and (min-width: 81.25em) {
    .documentation-controls-container {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      -webkit-box-align: baseline;
          -ms-flex-align: baseline;
              align-items: baseline;
      gap: 0; } }
  .documentation-controls-container .documentation-search-container {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    padding: 10px;
    background-color: #dadada;
    border-radius: 0; }
    @media screen and (min-width: 81.25em) {
      .documentation-controls-container .documentation-search-container {
        padding: 5px; } }
    .documentation-controls-container .documentation-search-container form {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      gap: 5px; }
      @media screen and (min-width: 81.25em) {
        .documentation-controls-container .documentation-search-container form {
          -webkit-box-orient: horizontal;
          -webkit-box-direction: normal;
              -ms-flex-direction: row;
                  flex-direction: row; } }
      .documentation-controls-container .documentation-search-container form .label {
        width: 100%;
        padding: 0 0 10px;
        color: #777777;
        font-size: 0.875rem;
        font-weight: 700; }
        @media screen and (min-width: 81.25em) {
          .documentation-controls-container .documentation-search-container form .label {
            width: -webkit-fit-content;
            width: -moz-fit-content;
            width: fit-content;
            padding: 0 20px 0 10px; } }
    @media screen and (min-width: 81.25em) {
      .documentation-controls-container .documentation-search-container .search-zone {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content; } }
    @media screen and (min-width: 81.25em) {
      .documentation-controls-container .documentation-search-container .search-zone .control-select-container {
        max-width: 400px;
        min-width: 205px;
        width: 100%; } }
    .documentation-controls-container .documentation-search-container .search-zone .selected-description {
      color: #000000; }
    .documentation-controls-container .documentation-search-container .documentation-search {
      -webkit-box-flex: 1;
          -ms-flex-positive: 1;
              flex-grow: 1;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
      @media screen and (min-width: 81.25em) {
        .documentation-controls-container .documentation-search-container .documentation-search {
          min-width: 420px; } }
      .documentation-controls-container .documentation-search-container .documentation-search .form-error {
        padding-left: 10px;
        text-align: left; }
      .documentation-controls-container .documentation-search-container .documentation-search input::-webkit-input-placeholder {
        color: #777777;
        font-size: 0.875rem; }
      .documentation-controls-container .documentation-search-container .documentation-search input::-moz-placeholder {
        color: #777777;
        font-size: 0.875rem; }
      .documentation-controls-container .documentation-search-container .documentation-search input:-ms-input-placeholder {
        color: #777777;
        font-size: 0.875rem; }
      .documentation-controls-container .documentation-search-container .documentation-search input::-ms-input-placeholder {
        color: #777777;
        font-size: 0.875rem; }
      .documentation-controls-container .documentation-search-container .documentation-search input::placeholder {
        color: #777777;
        font-size: 0.875rem; }
  @media screen and (min-width: 81.25em) {
    .documentation-controls-container .documentation-access-level-container {
      max-width: 575px;
      width: 100%;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: end;
          -ms-flex-pack: end;
              justify-content: flex-end; } }
  .documentation-controls-container .documentation-access-level-container form label {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column; }
    @media screen and (min-width: 81.25em) {
      .documentation-controls-container .documentation-access-level-container form label {
        max-width: 575px;
        width: 100%;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row; } }
  .documentation-controls-container .documentation-access-level-container form .label {
    padding: 0 0 10px;
    font-size: 0.875rem;
    font-weight: 700; }
    @media screen and (min-width: 81.25em) {
      .documentation-controls-container .documentation-access-level-container form .label {
        padding: 0 10px 0 0; } }
  .documentation-controls-container .documentation-access-level-container form .control-select-container {
    width: 100%; }
    @media screen and (min-width: 81.25em) {
      .documentation-controls-container .documentation-access-level-container form .control-select-container {
        max-width: 420px; } }

.documentation-list-item-container.department-colour-palette .documentation-content-header-container h2, .documentation-list-item-container.site-style .documentation-content-header-container h2 {
  color: var(--primary-colour-lightness-0, #06052f); }

.documentation-list-content-container + .documentation-list-content-container {
  margin-top: 20px; }

.documentation-list-content-container ul {
  margin: 0;
  padding: 0;
  list-style: none; }
  .documentation-list-content-container ul.stripes > li:nth-child(odd) {
    background-color: #f3f3f3; }
  .documentation-list-content-container ul.stripes > li:nth-child(even) {
    background-color: #ffffff; }
  .documentation-list-content-container ul.stripes > li ul li.is-submenu-item:nth-child(even) {
    background-color: #f3f3f3; }
  .documentation-list-content-container ul.stripes > li ul li.is-submenu-item:nth-child(odd) {
    background-color: #ffffff; }
  .documentation-list-content-container ul li {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
    gap: 0 5px;
    padding: 7px 0; }
    @media print, screen and (min-width: 40em) {
      .documentation-list-content-container ul li .context-menu-container {
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        padding: 5px 0; } }
    .documentation-list-content-container ul li .tooltip-container {
      -ms-flex-item-align: end;
          align-self: flex-end; }
  .documentation-list-content-container ul a {
    color: #777777;
    font-weight: 500;
    font-size: 1.0625rem;
    -webkit-transition: color 0.8s;
    transition: color 0.8s; }
    .documentation-list-content-container ul a:hover {
      color: var(--primary-colour-lightness-0, #ae9461);
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }

.documentation-list-content-container .index {
  display: inline-block;
  margin: 0 10px 0 0;
  text-align: left; }

.documentation-article-intro-container, .documentation-intro-container {
  --component-specifc-step-height: 56px;
  position: relative;
  overflow: hidden; }
  .documentation-article-intro-container.layout-1, .documentation-intro-container.layout-1 {
    margin: 35px 0 45px; }
    @media screen and (min-width: 81.25em) {
      .documentation-article-intro-container.layout-1, .documentation-intro-container.layout-1 {
        margin: 45px 0 55px; } }
    .documentation-article-intro-container.layout-1 h2, .documentation-intro-container.layout-1 h2 {
      margin: 0 0 30px;
      padding: 0 0 20px;
      color: var(--primary-colour-lightness-0, #06052f);
      text-align: center;
      font-size: 0.9375rem;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 2px;
      position: relative; }
      .documentation-article-intro-container.layout-1 h2:before, .documentation-intro-container.layout-1 h2:before {
        content: '';
        width: 50px;
        height: 1px;
        position: absolute;
        right: 0;
        bottom: 0;
        left: 0;
        display: block;
        margin: auto;
        border-width: 0 0 1px 0;
        border-style: solid;
        border-color: #888888; }
        @media print {
          .documentation-article-intro-container.layout-1 h2:before, .documentation-intro-container.layout-1 h2:before {
            border-bottom: 2px solid #888888;
            background-color: transparent; } }
    .documentation-article-intro-container.layout-1 h1, .documentation-intro-container.layout-1 h1 {
      margin: 0;
      color: #777777;
      font-size: 2.25rem;
      font-weight: 600;
      text-align: center; }
  .documentation-article-intro-container.layout-2, .documentation-intro-container.layout-2 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 30px;
    margin: 20px 0 30px;
    padding: 25px 20px;
    background-color: var(--primary-colour-lightness-9); }
    @media screen and (min-width: 81.25em) {
      .documentation-article-intro-container.layout-2, .documentation-intro-container.layout-2 {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row;
        gap: 80px;
        margin: 30px 0 40px;
        padding: 20px; } }
    .documentation-article-intro-container.layout-2 h1, .documentation-article-intro-container.layout-2 h2, .documentation-intro-container.layout-2 h1, .documentation-intro-container.layout-2 h2 {
      text-align: left; }
    .documentation-article-intro-container.layout-2 h1, .documentation-intro-container.layout-2 h1 {
      margin: 0;
      color: #777777;
      font-size: 1.875rem;
      font-weight: 600; }
    .documentation-article-intro-container.layout-2 h2, .documentation-intro-container.layout-2 h2 {
      margin: 0 0 5px;
      color: var(--primary-colour-lightness-0, #06052f);
      font-size: 0.9375rem;
      text-transform: uppercase;
      letter-spacing: 3px; }
    .documentation-article-intro-container.layout-2 .content-container, .documentation-intro-container.layout-2 .content-container {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-flex: 1;
          -ms-flex: 1;
              flex: 1; }
      @media screen and (min-width: 81.25em) {
        .documentation-article-intro-container.layout-2 .content-container, .documentation-intro-container.layout-2 .content-container {
          margin: 0 0 0 20px; } }
    .documentation-article-intro-container.layout-2 .banner-container .image, .documentation-intro-container.layout-2 .banner-container .image {
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content;
      border: 2px solid #ffffff; }
      @media screen and (min-width: 81.25em) {
        .documentation-article-intro-container.layout-2 .banner-container .image img, .documentation-intro-container.layout-2 .banner-container .image img {
          width: 245px; } }

.documentation-additional-links ul {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  gap: 5px 25px;
  margin: 0;
  padding: 0;
  list-style: none; }
  .documentation-additional-links ul li {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none; }

.documentation-additional-links .attachment {
  padding: 0;
  color: #000000;
  font-size: 0.8125rem;
  font-weight: 600; }
  .documentation-additional-links .attachment:before {
    margin-right: 10px;
    font-size: 0.8125rem;
    color: #06052f;
    -webkit-transition: color 0.8s;
    transition: color 0.8s; }
  .documentation-additional-links .attachment:hover {
    color: #ae9461; }
    .documentation-additional-links .attachment:hover:before {
      color: #ae9461;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }
  .documentation-additional-links .attachment:active {
    color: #06052f; }
    .documentation-additional-links .attachment:active:before {
      color: #06052f; }
  .documentation-additional-links .attachment.printer-link:before {
    content: "";
    font-family: "Font Awesome Solid"; }
  .documentation-additional-links .attachment.documentation-public-link:before {
    content: "";
    font-family: "Font Awesome Solid"; }
  .documentation-additional-links .attachment.documentation-statistics:before {
    content: "";
    font-family: "Font Awesome Solid"; }

.documentation-chapter-header-container h1, .documentation-acticle-header-container h1, .documentation-content-container h1, .documentation-content-header-container h1 {
  margin: 0 0 35px;
  padding: 0 0 15px;
  color: #06052f;
  font-size: 1.625rem;
  font-weight: 600;
  position: relative; }
  .documentation-chapter-header-container h1:before, .documentation-acticle-header-container h1:before, .documentation-content-container h1:before, .documentation-content-header-container h1:before {
    content: '';
    width: 100%;
    height: 1px;
    position: absolute;
    bottom: 0;
    display: block;
    margin: auto;
    border-width: 0 0 1px 0;
    border-style: solid;
    border-color: #aeaeae; }
    @media print {
      .documentation-chapter-header-container h1:before, .documentation-acticle-header-container h1:before, .documentation-content-container h1:before, .documentation-content-header-container h1:before {
        border-bottom: 2px solid #aeaeae;
        background-color: transparent; } }
  .documentation-chapter-header-container h1 + .documentation-additional-links, .documentation-acticle-header-container h1 + .documentation-additional-links, .documentation-content-container h1 + .documentation-additional-links, .documentation-content-header-container h1 + .documentation-additional-links {
    padding: 0;
    border: 0; }

.documentation-chapter-header-container h2, .documentation-acticle-header-container h2, .documentation-content-container h2, .documentation-content-header-container h2 {
  margin: 0 0 20px;
  padding: 0 0 15px;
  color: #06052f;
  font-size: 1.625rem;
  font-weight: 600;
  position: relative; }
  .documentation-chapter-header-container h2:before, .documentation-acticle-header-container h2:before, .documentation-content-container h2:before, .documentation-content-header-container h2:before {
    content: '';
    width: 100%;
    height: 1px;
    position: absolute;
    bottom: 0;
    display: block;
    margin: auto;
    border-width: 0 0 1px 0;
    border-style: solid;
    border-color: #aeaeae; }
    @media print {
      .documentation-chapter-header-container h2:before, .documentation-acticle-header-container h2:before, .documentation-content-container h2:before, .documentation-content-header-container h2:before {
        border-bottom: 2px solid #aeaeae;
        background-color: transparent; } }

.documentation-chapter-header-container h3, .documentation-acticle-header-container h3, .documentation-content-container h3, .documentation-content-header-container h3 {
  margin: 0 0 20px;
  padding: 10px 0;
  color: #06052f;
  font-size: 1.125rem;
  font-weight: 700;
  position: relative; }
  @media screen and (min-width: 81.25em) {
    .documentation-chapter-header-container h3, .documentation-acticle-header-container h3, .documentation-content-container h3, .documentation-content-header-container h3 {
      padding: 10px 0; } }
  .documentation-chapter-header-container h3:before, .documentation-acticle-header-container h3:before, .documentation-content-container h3:before, .documentation-content-header-container h3:before {
    content: '';
    width: 100%;
    height: 1px;
    position: absolute;
    bottom: 0;
    display: block;
    margin: auto;
    border-width: 0 0 1px 0;
    border-style: solid;
    border-color: #aeaeae; }
    @media print {
      .documentation-chapter-header-container h3:before, .documentation-acticle-header-container h3:before, .documentation-content-container h3:before, .documentation-content-header-container h3:before {
        border-bottom: 2px solid #aeaeae;
        background-color: transparent; } }

.documentation-chapter-header-container h4, .documentation-acticle-header-container h4, .documentation-content-container h4, .documentation-content-header-container h4 {
  margin: 0 0 20px;
  padding: 0;
  color: #000000;
  font-size: 1.125rem;
  font-weight: 600; }

.documentation-chapter-header-container h5, .documentation-acticle-header-container h5, .documentation-content-container h5, .documentation-content-header-container h5 {
  margin: 0 0 20px;
  padding: 0;
  color: #000000;
  font-size: 1.125rem;
  font-weight: 600; }

.documentation-chapter-header-container h6, .documentation-acticle-header-container h6, .documentation-content-container h6, .documentation-content-header-container h6 {
  margin: 0 0 20px;
  padding: 0;
  color: #000000;
  font-size: 1.125rem;
  font-weight: 600;
  font-style: italic; }

.documentation-article-container, .documentation-list-item-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-bottom: 35px; }
  .documentation-article-container.indented, .documentation-list-item-container.indented {
    margin-left: 25px; }
  .documentation-article-container.indented-rule, .documentation-list-item-container.indented-rule {
    position: relative;
    margin-bottom: 50px;
    padding-left: 15px; }
    .documentation-article-container.indented-rule:before, .documentation-list-item-container.indented-rule:before {
      content: '';
      width: 1px;
      height: 100%;
      position: absolute;
      top: 0;
      left: 0;
      display: block;
      background: #aeaeae; }

.documentation-chapter-header-container, .documentation-header-container {
  margin-bottom: 35px; }
  .documentation-chapter-header-container .documentation-additional-links, .documentation-header-container .documentation-additional-links {
    padding-top: 25px;
    border-top: 1px solid #888888; }

.documentation-chapter-footer-container, .documentation-footer-container {
  padding-bottom: 25px;
  margin-bottom: 50px;
  border-bottom: 1px solid #888888; }

.documentation-acticle-header-container, .documentation-content-header-container {
  position: relative; }

.documentation-content-container a[href^="tel:"], .documentation-content-container a[href^="mailto:"] {
  font-weight: 700; }
  .documentation-content-container a[href^="tel:"]:hover, .documentation-content-container a[href^="mailto:"]:hover {
    text-decoration: none; }
  .documentation-content-container a[href^="tel:"].show-contact-icon:before, .documentation-content-container a[href^="mailto:"].show-contact-icon:before {
    display: inline-block;
    margin-right: 5px;
    font-family: "Font Awesome Solid"; }

.documentation-content-container a[href^="mailto:"].show-contact-icon:before {
  content: ""; }

.documentation-content-container a[href^="tel:"].show-contact-icon:before {
  content: "";
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg); }

.documentation-content-container p a:not([class*="-button"]) {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  gap: 0 5px;
  font-weight: 700; }

.documentation-content-container p a:has([style*="float"]) {
  display: inline; }

.documentation-content-container p {
  margin: var(--indent-margin, 0);
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.6;
  color: #777777; }
  .documentation-content-container p img[style*="float:left"], .documentation-content-container p img[style*="float: left"], .documentation-content-container p[style*="float:left"] > img {
    margin: .2em .2em .2em 0; }
  .documentation-content-container p img[style*="float:right"], .documentation-content-container p img[style*="float: right"], .documentation-content-container p[style*="float:right"] > img {
    margin: .2em 0 .2em .2em; }
  .documentation-content-container p img {
    margin: .2em 0; }
  .documentation-content-container p + p {
    margin-top: 0;
    margin-bottom: 0; }

.documentation-content-container p:not(:empty) + table, .documentation-content-container p:not(:empty) + .comparison-table-container {
  margin: 15px 0; }

.documentation-content-container table {
  --thead-border-colour: $thead-border-colour;
  max-width: 100%;
  margin-bottom: 0; }
  .documentation-content-container table:not([class*=preset]) thead {
    background-color: transparent; }
    .documentation-content-container table:not([class*=preset]) thead tr {
      border-bottom: 1px solid var(--thead-border-colour); }
    .documentation-content-container table:not([class*=preset]) thead th {
      font-weight: 600; }
  .documentation-content-container table.responsive-table {
    display: block; }
    @media screen and (min-width: 81.25em) {
      .documentation-content-container table.responsive-table {
        display: table; } }
    .documentation-content-container table.responsive-table:not([class*=preset]) thead {
      display: none; }
      @media screen and (min-width: 81.25em) {
        .documentation-content-container table.responsive-table:not([class*=preset]) thead {
          display: table-row-group; } }
    .documentation-content-container table.responsive-table tbody:not(.comparison-summary) {
      display: block; }
      @media screen and (min-width: 81.25em) {
        .documentation-content-container table.responsive-table tbody:not(.comparison-summary) {
          display: table-row-group; } }
  .documentation-content-container table th {
    padding: 10px 10px 10px; }
  @media screen and (min-width: 81.25em) {
    .documentation-content-container table td {
      padding: 10px; } }
  .documentation-content-container table thead[class*="preset"] + tbody:before {
    content: '';
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
    @media screen and (min-width: 81.25em) {
      .documentation-content-container table thead[class*="preset"] + tbody:before {
        margin: 10px; } }
  .documentation-content-container table tbody {
    background-color: transparent; }
    .documentation-content-container table tbody th {
      background-color: transparent; }
    .documentation-content-container table tbody tr:not(:last-child) th {
      border-bottom: 1px solid transparent; }
    @media screen and (min-width: 81.25em) {
      .documentation-content-container table tbody tr {
        display: table-row; } }
  .documentation-content-container table .col-label {
    color: #777777; }
  @media print, screen and (max-width: 81.24875em) {
    .documentation-content-container table.responsive-table tbody tr {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column; } }
  @media print, screen and (max-width: 81.24875em) {
    .documentation-content-container table.responsive-table tbody tr:not(:last-child) {
      margin-bottom: 10px;
      padding-bottom: 10px;
      border-bottom: 1px solid #eeeeee; } }
  .documentation-content-container table.no-wrap {
    display: block;
    white-space: nowrap;
    overflow-x: auto; }
  .documentation-content-container table.comparison-table tbody td:first-child {
    color: #777777;
    font-weight: 600; }

.documentation-content-container blockquote {
  width: 100%;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 15px;
  margin: 0 auto 40px;
  padding: 50px 30px;
  border: 1px solid transparent;
  -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
          box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
  text-align: center;
  font-family: "Gibson", "Gibson Fallback", "Arial";
  font-size: 1rem;
  -webkit-transition: border-color 0.8s, -webkit-box-shadow 0.8s;
  transition: border-color 0.8s, -webkit-box-shadow 0.8s;
  transition: box-shadow 0.8s, border-color 0.8s;
  transition: box-shadow 0.8s, border-color 0.8s, -webkit-box-shadow 0.8s; }
  @media screen and (min-width: 81.25em) {
    .documentation-content-container blockquote {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      gap: 25px; } }
  .documentation-content-container blockquote:hover {
    -webkit-box-shadow: none;
            box-shadow: none;
    border-color: #eeeeee;
    -webkit-transition: border-color 0.6s, -webkit-box-shadow 0.6s;
    transition: border-color 0.6s, -webkit-box-shadow 0.6s;
    transition: box-shadow 0.6s, border-color 0.6s;
    transition: box-shadow 0.6s, border-color 0.6s, -webkit-box-shadow 0.6s; }
    .documentation-content-container blockquote:hover:before {
      color: #dadada;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }
  .documentation-content-container blockquote:has(img) {
    text-align: left; }
  .documentation-content-container blockquote:last-of-type {
    margin-bottom: 40px; }
  @media screen and (min-width: 81.25em) {
    .documentation-content-container blockquote {
      padding: 50px 60px; } }
  .documentation-content-container blockquote + blockquote {
    margin-top: 15px; }
  .documentation-content-container blockquote:before, .documentation-content-container blockquote:after {
    content: "";
    position: absolute;
    display: inline-block;
    padding: 10px;
    font-size: 40px;
    color: #eeeeee;
    font-family: "Font Awesome Solid";
    line-height: .8;
    -webkit-transition: color 0.8s;
    transition: color 0.8s; }
  .documentation-content-container blockquote:before {
    top: 0;
    left: 0; }
  .documentation-content-container blockquote:after {
    right: 0;
    bottom: 0;
    -webkit-transform: rotate(180deg);
            transform: rotate(180deg); }
  .documentation-content-container blockquote img {
    float: left; }
    @media screen and (min-width: 81.25em) {
      .documentation-content-container blockquote img {
        text-align: left; } }

.documentation-content-container iframe[src*="https://www.youtube.com/"] {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  border-radius: 0; }

.documentation-content-container code {
  max-height: 500px;
  position: relative;
  padding: 10px 10px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 0 0 40px;
  background-color: #f3f3f3;
  border: 1px solid #888888;
  font-size: 0.9375rem;
  line-height: 40px;
  text-align: left;
  white-space: pre-wrap;
  overflow-y: auto;
  -webkit-transition: border-color 0.8s;
  transition: border-color 0.8s; }
  @media screen and (min-width: 81.25em) {
    .documentation-content-container code {
      padding: 10px 35px; } }
  .documentation-content-container code:hover {
    border-color: #777777;
    -webkit-transition: border-color 0.6s;
    transition: border-color 0.6s; }
  .documentation-content-container code .code-copy-button-container {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    left: calc(100% - 15px);
    white-space: normal; }
  .documentation-content-container code .code-copy-button {
    position: absolute;
    top: 0;
    padding: 8px;
    display: block;
    background-color: #888888;
    -webkit-transition: background-color 0.8s, padding 0.8s, opacity 0.8s;
    transition: background-color 0.8s, padding 0.8s, opacity 0.8s; }
    .documentation-content-container code .code-copy-button:before {
      content: "";
      font-family: "Font Awesome Regular";
      font-size: 14px;
      color: #ffffff;
      -webkit-transition: color 0.8s, font-size 0.8s;
      transition: color 0.8s, font-size 0.8s; }
    .documentation-content-container code .code-copy-button:hover {
      background-color: #06052f;
      -webkit-transition: background-color 0.6s;
      transition: background-color 0.6s; }
    .documentation-content-container code .code-copy-button.active, .documentation-content-container code .code-copy-button:active {
      background-color: #06052f; }
      .documentation-content-container code .code-copy-button.active:before, .documentation-content-container code .code-copy-button:active:before {
        font-family: "Font Awesome Solid"; }
    .documentation-content-container code .code-copy-button.active {
      padding: 12px;
      opacity: .4;
      -webkit-transition: padding 0.6s, opacity 0.6s;
      transition: padding 0.6s, opacity 0.6s; }
      .documentation-content-container code .code-copy-button.active:before {
        font-size: 16px;
        -webkit-transition: font-size 0.6s;
        transition: font-size 0.6s; }

.documentation-content-container ul, .documentation-content-container ol {
  text-align: left; }

.documentation-content-container ul {
  margin: 10px;
  padding: 0;
  line-height: 1.6;
  list-style: none;
  line-height: 25px; }
  .documentation-content-container ul ul {
    padding-top: 0;
    padding-bottom: 0;
    padding-left: 25px; }
  .documentation-content-container ul li {
    position: relative;
    padding: 0 0 0 15px; }
    .documentation-content-container ul li:before {
      content: '';
      width: 5px;
      height: 5px;
      position: absolute;
      top: 10px;
      left: 0;
      margin: auto;
      display: block;
      background-color: #06052f;
      border-radius: 5px; }

.documentation-content-container ol {
  margin: 10px;
  padding: 0 25px;
  line-height: 1.6; }
  .documentation-content-container ol ol {
    margin: 0;
    padding-top: 0;
    padding-bottom: 0;
    list-style-type: lower-alpha; }
    .documentation-content-container ol ol ol {
      list-style-type: lower-roman; }
      .documentation-content-container ol ol ol ol {
        list-style-type: lower-alpha; }
        .documentation-content-container ol ol ol ol ol {
          list-style-type: lower-roman; }

.documentation-content-container li {
  color: #777777;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.6; }

.documentation-content-container ul + h1, .documentation-content-container ol + h1 {
  margin-top: 35px; }

.documentation-content-container ul + h2, .documentation-content-container ol + h2 {
  margin-top: 20px; }

.documentation-content-container ul + h3, .documentation-content-container ol + h3 {
  margin-top: 20px; }

.documentation-content-container ul + h4, .documentation-content-container ol + h4 {
  margin-top: 20px; }

.documentation-content-container ul + h5, .documentation-content-container ol + h5 {
  margin-top: 20px; }

.documentation-content-container ul + h6, .documentation-content-container ol + h6 {
  margin-top: 20px; }

.documentation-content-container dl {
  text-align: left; }

.documentation-content-container figure {
  max-width: 100%;
  margin: 10px auto; }
  .documentation-content-container figure.image {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    display: grid;
    margin: 10px auto; }
  .documentation-content-container figure.image-style-align-right {
    float: right;
    margin-left: 10px; }
  .documentation-content-container figure.image-style-align-left {
    float: left;
    margin-right: 10px; }
  .documentation-content-container figure.image-style-block-align-left {
    margin-right: auto;
    margin-left: 0; }
  .documentation-content-container figure.image-style-block-align-right {
    margin-right: 0;
    margin-left: auto; }
  .documentation-content-container figure[class*="image-style-block"] {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content; }
  .documentation-content-container figure img {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content; }
  .documentation-content-container figure figcaption {
    width: 100%;
    padding: 5px;
    background-color: var(--neutral-colour-lightness-10);
    color: #000000;
    font-size: 0.875rem;
    font-weight: 600;
    text-align: center; }

@media screen and (min-width: 81.25em) {
  .documentation-content-container {
    max-width: 850px;
    width: 100%; } }

.documentation-restricted-access-container h1, .documentation-restricted-access-container h2, .documentation-restricted-access-container h3, .documentation-restricted-access-container h4, .documentation-restricted-access-container h5, .documentation-restricted-access-container h6, .documentation-restricted-access-container p, .documentation-restricted-access-container li, .documentation-restricted-access-container.documentation-internal-use-only, .documentation-restricted-access-container a, .documentation-restricted-access-container table thead th, .documentation-restricted-access-container table tbody td, .documentation-internal-use-only h1, .documentation-internal-use-only h2, .documentation-internal-use-only h3, .documentation-internal-use-only h4, .documentation-internal-use-only h5, .documentation-internal-use-only h6, .documentation-internal-use-only p, .documentation-internal-use-only li, .documentation-internal-use-only.documentation-internal-use-only, .documentation-internal-use-only a, .documentation-internal-use-only table thead th, .documentation-internal-use-only table tbody td {
  color: var(--accent-colour-1-lightness-0); }

.documentation-not-published {
  font-style: italic; }

ul.functions-list:has(> li.has-submenu-toggle) > li:not(.has-submenu-toggle) {
  padding-left: 45px; }

ul.functions-list:has(> li.has-submenu-toggle) ul.menu:has(> li.has-submenu-toggle) > li:not(.has-submenu-toggle) {
  padding-left: 45px; }

.menu.functions-list {
  --menu-function-list-hover-colour: var(--primary-colour-lightness-0);
  width: 100%; }
  .menu.functions-list > li > ul.submenu {
    padding: 5px;
    background-color: transparent; }
    @media screen and (min-width: 81.25em) {
      .menu.functions-list > li > ul.submenu {
        padding: 5px 0 5px 10px; } }
  .menu.functions-list > li:has(ul.submenu.is-active) {
    border-bottom: 5px solid #ffffff; }
  .menu.functions-list li:has(ul.submenu.is-active) {
    background-color: #f3f3f3; }
    .menu.functions-list li:has(ul.submenu.is-active) > a {
      font-weight: 600;
      color: var(--menu-function-list-hover-colour, #ae9461);
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }
  .menu.functions-list li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 0;
    border-bottom: 0; }
    @media screen and (min-width: 81.25em) {
      .menu.functions-list li {
        padding-right: 0; } }
    .menu.functions-list li:hover {
      background-color: transparent; }
      .menu.functions-list li:hover > a, .menu.functions-list li:hover > button:after {
        color: var(--menu-function-list-hover-colour, #ae9461); }
    .menu.functions-list li > a {
      -webkit-box-align: start;
          -ms-flex-align: start;
              align-items: flex-start;
      -webkit-box-flex: 1;
          -ms-flex: 1;
              flex: 1;
      margin-right: 0;
      padding: 5px 5px 5px 0;
      -webkit-box-ordinal-group: 3;
          -ms-flex-order: 2;
              order: 2; }
      .menu.functions-list li > a + button {
        height: auto;
        position: relative;
        -webkit-box-ordinal-group: 2;
            -ms-flex-order: 1;
                order: 1; }
        .menu.functions-list li > a + button:after {
          color: #777777;
          font-size: 8px;
          -webkit-transition: color 0.8s;
          transition: color 0.8s; }
        .menu.functions-list li > a + button[aria-expanded="true"]:after {
          color: var(--menu-function-list-hover-colour, #ae9461);
          -webkit-transition: color 0.6s;
          transition: color 0.6s; }
    .menu.functions-list li > ul {
      width: 100%;
      -webkit-box-ordinal-group: 4;
          -ms-flex-order: 3;
              order: 3;
      border-top: 0;
      background-color: transparent; }
      @media print, screen and (max-width: 81.24875em) {
        .menu.functions-list li > ul li {
          padding: 0; } }
      .menu.functions-list li > ul li a {
        font-weight: 400;
        color: #777777; }
        @media screen and (min-width: 81.25em) {
          .menu.functions-list li > ul li a {
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center; } }
      .menu.functions-list li > ul .index {
        font-style: italic; }
    .menu.functions-list li .nested.is-accordion-submenu {
      margin-left: 0; }
      @media screen and (min-width: 81.25em) {
        .menu.functions-list li .nested.is-accordion-submenu {
          margin-left: 40px; } }
    .menu.functions-list li .link-description {
      -webkit-box-flex: 1;
          -ms-flex: 1;
              flex: 1; }

.documentation-results-found-list ul > li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }

.documentation-results-found-list ul li {
  padding: 10px 5px; }

.documentation-results-found-list ul .results-items-container ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column; }
  @media screen and (min-width: 81.25em) {
    .documentation-results-found-list ul .results-items-container ul {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; } }
  .documentation-results-found-list ul .results-items-container ul li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 0;
    padding: 0; }
    .documentation-results-found-list ul .results-items-container ul li:not(:last-child):after {
      content: "";
      margin: 0 7px;
      color: #777777;
      font-family: "fontello-djmiles";
      font-size: 10px; }
    .documentation-results-found-list ul .results-items-container ul li a {
      font-weight: 600; }

.documentation-results-found-list ul .results-snippet-container {
  font-size: 0.875rem; }
  .documentation-results-found-list ul .results-snippet-container p {
    margin: 5px 0 10px;
    padding: 0; }

.documentation-back-button-container .documentation-back-button {
  margin: 0; }

.statistics-content-container {
  background-color: #f3f3f3; }
  .statistics-content-container ul {
    padding: 10px 20px; }
    .statistics-content-container ul li {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between;
      font-size: 0.9375rem;
      font-weight: 600; }
  .statistics-content-container .label {
    padding-right: 5px; }

.revision-count-container.seperator span {
  margin: 0 0 10px;
  padding: 0 0 5px;
  position: relative; }
  .revision-count-container.seperator span:before {
    content: '';
    width: 100%;
    height: 1px;
    position: absolute;
    bottom: 0;
    display: block;
    margin: auto;
    border-width: 0 0 1px 0;
    border-style: solid;
    border-color: #000000; }
    @media print {
      .revision-count-container.seperator span:before {
        border-bottom: 2px solid #000000;
        background-color: transparent; } }

.revision-count-container span {
  width: 100%;
  display: block;
  font-size: 0.875rem;
  font-weight: 700; }

.revision-information-container {
  background-color: var(--neutral-colour-lightness-8); }
  .revision-information-container table.audit-trail-entry thead th {
    border-color: var(--white-colour); }

.technical-documentation-list-container:not(:last-child):after {
  content: '';
  display: block;
  margin: 40px 0;
  border-bottom: 1px solid var(--neutral-colour-lightness-8); }

.documentation-demo-link-container {
  margin: 10px 0;
  padding: 10px;
  background-color: var(--neutral-colour-lightness-10); }

.inspect-prompt {
  display: block;
  margin: 30px 0;
  font-weight: 600; }

.express-configuration {
  padding-top: 25px;
  padding-bottom: 25px;
  background-color: var(--neutral-colour-lightness-9); }
  @media screen and (min-width: 81.25em) {
    .express-configuration {
      padding-top: 100px;
      padding-bottom: 100px; } }
  .express-configuration .configuration-section {
    width: 100%;
    padding: 10px 20px;
    background-color: var(--white-colour);
    border: 2px solid var(--neutral-colour-lightness-8); }
    .express-configuration .configuration-section:not(:last-of-type) {
      margin-bottom: 20px; }
    .express-configuration .configuration-section .axis-section-header h2 {
      margin: 0; }

.configuration-introduction-container {
  margin-bottom: 20px; }
  .configuration-introduction-container .cms-content-container p {
    margin: 5px 0; }

.technical-list {
  margin: 0;
  padding: 0; }
  .technical-list li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .technical-list li:not(:last-child) {
      margin-bottom: 20px;
      padding-bottom: 20px;
      border-bottom: 1px solid var(--neutral-colour-lightness-8); }
  .technical-list .header-container {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
  .technical-list .state {
    margin-left: auto;
    padding: 2px 10px;
    background-color: var(--state-background-colour);
    border: 1px solid var(--state-colour);
    font-size: 0.75rem;
    color: var(--state-colour);
    font-weight: 600; }
    .technical-list .state.active {
      --state-background-colour: var(--success-colour-lightness-9);
      --state-colour: var(--success-colour-lightness-0); }
    .technical-list .state.disabled {
      --state-background-colour: var(--warning-colour-lightness-9);
      --state-colour: var(--warning-colour-lightness-0); }
  .technical-list .key-value-pair {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 5px; }
    .technical-list .key-value-pair .name {
      font-weight: 600; }

.neutralised-items {
  margin: 10px 0 20px; }
  .neutralised-items .placeholder-value-display:not(:last-child) {
    margin-bottom: 10px; }

.placeholder-value-display {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  .placeholder-value-display .name {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-weight: 600;
    font-size: 0.875rem; }
    .placeholder-value-display .name::after {
      content: "=>";
      display: -webkit-inline-box;
      display: -ms-inline-flexbox;
      display: inline-flex;
      margin-left: auto;
      margin-right: 15px;
      padding-left: 15px;
      font-weight: 400;
      font-size: 15px;
      color: var(--neutral-colour-lightness-6); }
  .placeholder-value-display .value {
    font-weight: 600;
    font-size: 0.875rem;
    color: var(--primary-colour-lightness-0); }

/*
----- Context Menu ------ 
Essentially a toolbar / toolbox menu
*/
.context-menu-container {
  position: absolute;
  top: 0;
  right: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  border-radius: 0;
  z-index: 1995; }
  @media print, screen and (min-width: 40em) {
    .context-menu-container {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      opacity: 1; } }
  .context-menu-container.active, .context-menu-container.is-closing {
    background-color: #ffffff;
    z-index: 1996; }
  .context-menu-container ol, .context-menu-container ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin: 0;
    padding: 0;
    list-style: none; }
    @media print, screen and (min-width: 40em) {
      .context-menu-container ol, .context-menu-container ul {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row; } }
    .context-menu-container ol li, .context-menu-container ul li {
      position: relative;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      padding: 0; }
      @media print, screen and (min-width: 40em) {
        .context-menu-container ol li, .context-menu-container ul li {
          -webkit-box-orient: horizontal;
          -webkit-box-direction: normal;
              -ms-flex-direction: row;
                  flex-direction: row; } }
      .context-menu-container ol li.active ol, .context-menu-container ol li.active ul, .context-menu-container ul li.active ol, .context-menu-container ul li.active ul {
        max-height: 700px;
        border: 1px solid #aeaeae;
        -webkit-transition: max-height 0.6s, border-color 0.6s;
        transition: max-height 0.6s, border-color 0.6s; }
        @media print, screen and (min-width: 40em) {
          .context-menu-container ol li.active ol, .context-menu-container ol li.active ul, .context-menu-container ul li.active ol, .context-menu-container ul li.active ul {
            max-width: 1300px;
            max-height: none;
            -webkit-transition: max-width 0.6s;
            transition: max-width 0.6s; } }
      .context-menu-container ol li.active > button.menu-option-container, .context-menu-container ul li.active > button.menu-option-container {
        background-color: #ae9461;
        border-color: #ae9461;
        -webkit-transition: background-color 0.6s;
        transition: background-color 0.6s; }
        .context-menu-container ol li.active > button.menu-option-container .menu-option-icon:before, .context-menu-container ul li.active > button.menu-option-container .menu-option-icon:before {
          color: #ffffff;
          -webkit-transition: color 0.6s;
          transition: color 0.6s; }
      .context-menu-container ol li ol, .context-menu-container ol li ul, .context-menu-container ul li ol, .context-menu-container ul li ul {
        width: 100%;
        max-height: 0;
        position: absolute;
        top: 100%;
        background-color: #ffffff;
        overflow: hidden;
        z-index: 1;
        -webkit-transition: max-height 0.8s;
        transition: max-height 0.8s; }
        @media print, screen and (min-width: 40em) {
          .context-menu-container ol li ol, .context-menu-container ol li ul, .context-menu-container ul li ol, .context-menu-container ul li ul {
            max-width: 0;
            width: auto;
            max-height: none;
            height: 100%;
            top: 0;
            right: 100%;
            -webkit-transition: max-width 0.8s;
            transition: max-width 0.8s; } }
  @media print, screen and (min-width: 40em) {
    .context-menu-container .menu-container {
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content; } }
  .context-menu-container .state-menu-container .menu-option-container {
    opacity: .5;
    -webkit-transition: opacity 0.8s;
    transition: opacity 0.8s; }
    .context-menu-container .state-menu-container .menu-option-container:hover, .context-menu-container .state-menu-container .menu-option-container:active {
      opacity: 1;
      -webkit-transition: opacity 0.6s;
      transition: opacity 0.6s; }
  .context-menu-container .edit-menu-container .menu-option-container:hover {
    background-color: var(--neutral-colour-lightness-0);
    -webkit-transition: background-color 0.6s;
    transition: background-color 0.6s; }
    .context-menu-container .edit-menu-container .menu-option-container:hover .menu-option-icon:before {
      color: var(--white-colour);
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }
  .context-menu-container .edit-menu-container .menu-option-container:active {
    background-color: var(--secondary-colour-lightness-0); }
  .context-menu-container .menu-option-container {
    --icon-colour: var(--neutral-colour-lightness-0);
    width: 45px;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 10px;
    padding: 7.5px 10px;
    line-height: 1;
    border: 1px solid transparent; }
    @media print, screen and (min-width: 40em) {
      .context-menu-container .menu-option-container:active {
        width: auto;
        min-width: 45px; }
        .context-menu-container .menu-option-container:active .menu-option-label {
          display: block; } }
    .context-menu-container .menu-option-container .menu-option-label {
      display: none;
      font-weight: 600;
      font-size: 0.8125rem; }
    .context-menu-container .menu-option-container .menu-option-icon-container .menu-option-icon {
      position: relative;
      display: -webkit-inline-box;
      display: -ms-inline-flexbox;
      display: inline-flex; }
      .context-menu-container .menu-option-container .menu-option-icon-container .menu-option-icon:before {
        color: var(--icon-colour);
        font-family: "Font Awesome Solid";
        font-size: 19px;
        -webkit-transition: -webkit-transform 0.6s;
        transition: -webkit-transform 0.6s;
        transition: transform 0.6s;
        transition: transform 0.6s, -webkit-transform 0.6s; }
    .context-menu-container .menu-option-container.access-level .menu-option-icon-container {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; }
      .context-menu-container .menu-option-container.access-level .menu-option-icon-container .menu-option-icon:before {
        content: ""; }
      .context-menu-container .menu-option-container.access-level .menu-option-icon-container .menu-option-icon-text {
        font-size: 11px; }
    .context-menu-container .menu-option-container.access-level.state-value-0 {
      --icon-colour: var(--neutral-colour-lightness-4);
      color: var(--neutral-colour-lightness-4); }
    .context-menu-container .menu-option-container.access-level.state-value-1 {
      --icon-colour: var(--neutral-colour-lightness-0);
      color: var(--neutral-colour-lightness-0); }
    .context-menu-container .menu-option-container.access-level.state-value-2 {
      --icon-colour: var(--black-colour);
      color: var(--black-colour); }
    .context-menu-container .menu-option-container.access-level.state-value-3, .context-menu-container .menu-option-container.access-level.state-value-4 {
      --icon-colour: var(--accent-colour-1-lightness-0);
      color: var(--accent-colour-1-lightness-0); }
    .context-menu-container .menu-option-container.published .menu-option-icon:before {
      content: ""; }
    .context-menu-container .menu-option-container.published.state-value-true {
      --icon-colour: var(--success-colour-lightness-0);
      color: var(--success-colour-lightness-0); }
    .context-menu-container .menu-option-container.published.state-value-false {
      --icon-colour: var(--neutral-colour-lightness-4);
      color: var(--neutral-colour-lightness-4); }
    .context-menu-container .menu-option-container.edit-menu .menu-option-icon:before {
      content: "";
      color: #ae9461; }
    .context-menu-container .menu-option-container.edit-text .menu-option-icon:before {
      content: "";
      font-size: 16px; }
    .context-menu-container .menu-option-container.edit-properties .menu-option-icon:before {
      content: "";
      font-family: "fontello"; }
    .context-menu-container .menu-option-container.move-up .menu-option-icon:before {
      content: ""; }
    .context-menu-container .menu-option-container.move-down .menu-option-icon:before {
      content: ""; }
    .context-menu-container .menu-option-container.insert-before .menu-option-icon:before {
      content: "";
      font-size: 16px;
      font-family: "fontello"; }
    .context-menu-container .menu-option-container.insert-after .menu-option-icon:before {
      content: "";
      font-size: 16px;
      font-family: "fontello"; }
    .context-menu-container .menu-option-container.promote .menu-option-icon:before {
      content: ""; }
    .context-menu-container .menu-option-container.demote .menu-option-icon:before {
      content: ""; }
    .context-menu-container .menu-option-container.delete .menu-option-icon:before {
      content: "";
      font-size: 17px; }
    .context-menu-container .menu-option-container.move-article .menu-option-icon:before {
      content: ""; }
    .context-menu-container .menu-option-container.audit-trail .menu-option-icon:before {
      content: ""; }

/*
----- Graduated Colour Edge ------ 
Edge effect where the is typically 3 tones of a specific colour in the corner of a element / component.
Possible class configuration options:
- Opacity enumeration ( High, Medium, Low )
- Position Top + Bottom L & R corners

For a demonstration go to /static/graduated-colour-edge-test.html
*/
.graduated-colour-edge {
  --graduated-step-height: var(--component-specifc-step-height, 60px);
  width: 600px;
  position: absolute;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column; }
  .graduated-colour-edge.position-1 {
    top: 0;
    right: calc(100% - (300px + (var(--graduated-step-height) * .56)));
    -webkit-transform: rotate(-56deg);
            transform: rotate(-56deg); }
  .graduated-colour-edge.position-2 {
    top: 0;
    left: calc(100% - (300px + (var(--graduated-step-height) * .56)));
    -webkit-transform: rotate(56deg);
            transform: rotate(56deg); }
  .graduated-colour-edge.position-3 {
    right: calc(100% - (300px + (var(--graduated-step-height) * .56)));
    bottom: 0;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    -webkit-transform: rotate(56deg);
            transform: rotate(56deg); }
  .graduated-colour-edge.position-4 {
    bottom: 0;
    left: calc(100% - (300px + (var(--graduated-step-height) * .56)));
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    -webkit-transform: rotate(-56deg);
            transform: rotate(-56deg); }
  .graduated-colour-edge.opacity-1 .step {
    opacity: .9; }
    .graduated-colour-edge.opacity-1 .step + .step {
      opacity: .6; }
      .graduated-colour-edge.opacity-1 .step + .step + .step {
        opacity: .3; }
  .graduated-colour-edge.opacity-2 .step {
    opacity: .6; }
    .graduated-colour-edge.opacity-2 .step + .step {
      opacity: .3; }
      .graduated-colour-edge.opacity-2 .step + .step + .step {
        opacity: .1; }
  .graduated-colour-edge.opacity-3 .step {
    opacity: .3; }
    .graduated-colour-edge.opacity-3 .step + .step {
      opacity: .2; }
      .graduated-colour-edge.opacity-3 .step + .step + .step {
        opacity: .1; }
  .graduated-colour-edge .step {
    width: 600px;
    height: var(--graduated-step-height);
    display: block;
    background-color: var(--primary-colour-lightness-0); }

/*
----- Axis Rich Text Editors ----- 
Bespoke rules that get applied when intergrating with third-party editors.

General rules that get applied to .rich-text-editor-container which is the common container that gets used across all editors.
*/
.ck-body-wrapper {
  z-index: 2021; }
  .ck-body-wrapper.disabled {
    display: none; }

.ck-editor .ck-content ul {
  list-style-type: none; }

.rich-text-editor-container {
  --ck-color-base-border: #dadada;
  --ck-color-base-error: #b20c0c;
  --ck-image-style-spacing: 10px;
  position: relative;
  --ck-color-image-caption-text: #000000; }

[data-axis-rich-text-editor] {
  min-height: 100px; }
  [data-axis-rich-text-editor]:not(.rich-text-editor-container) {
    border: 1px solid #dadada; }
  [data-axis-rich-text-editor] > textarea {
    display: none; }

.ck-source-editing-area textarea {
  overflow: auto !important; }

.axis-editor-indent-level-1 {
  --indent-margin: 0 0 0 calc(1 * 25px); }
  .axis-editor-indent-level-1 + ul, .axis-editor-indent-level-1 + ol {
    margin-left: calc(1 * 25px); }

.axis-editor-indent-level-2 {
  --indent-margin: 0 0 0 calc(2 * 25px); }
  .axis-editor-indent-level-2 + ul, .axis-editor-indent-level-2 + ol {
    margin-left: calc(2 * 25px); }

.axis-editor-indent-level-3 {
  --indent-margin: 0 0 0 calc(3 * 25px); }
  .axis-editor-indent-level-3 + ul, .axis-editor-indent-level-3 + ol {
    margin-left: calc(3 * 25px); }

.axis-editor-indent-level-4 {
  --indent-margin: 0 0 0 calc(4 * 25px); }
  .axis-editor-indent-level-4 + ul, .axis-editor-indent-level-4 + ol {
    margin-left: calc(4 * 25px); }

.axis-editor-indent-level-5 {
  --indent-margin: 0 0 0 calc(5 * 25px); }
  .axis-editor-indent-level-5 + ul, .axis-editor-indent-level-5 + ol {
    margin-left: calc(5 * 25px); }

/*

----- Video Player ----

IMPORTANT: This is specifically for embedding Youtube videos / Banner series. /static/video-series.html

Handles:
- Thumbnail play icon.
- Duration formatting.
- Video indicator text ( click here to watch video )

*/
.video-player-container {
  cursor: pointer; }
  .video-player-container:hover .image:after {
    color: var(--white-colour);
    background-color: var(--accent-colour-1-lightness-3);
    border-color: var(--white-colour);
    -webkit-transition: color 0.6s, background-color 0.6s, border-color 0.6s;
    transition: color 0.6s, background-color 0.6s, border-color 0.6s; }
  .video-player-container .image {
    position: relative; }
    .video-player-container .image:after {
      content: "";
      width: 40px;
      height: 40px;
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      margin: auto;
      padding-left: 2px;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      font-family: "Font Awesome Solid";
      font-size: 20px;
      color: var(--accent-colour-1-lightness-3);
      background-color: var(--white-colour);
      border: 0 solid var(--accent-colour-1-lightness-3);
      border-radius: 40px;
      -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
              box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
      pointer-events: none;
      -webkit-transition: color 0.8s, background-color 0.8s, border-color 0.8s;
      transition: color 0.8s, background-color 0.8s, border-color 0.8s; }
  .video-player-container .duration-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 5px;
    color: var(--neutral-colour-lightness-0); }
    .video-player-container .duration-container:before {
      content: "";
      display: -webkit-inline-box;
      display: -ms-inline-flexbox;
      display: inline-flex;
      font-family: "Font Awesome Solid";
      font-size: 16px; }
    .video-player-container .duration-container .label, .video-player-container .duration-container .value {
      font-size: 1rem;
      font-weight: 700; }
  .video-player-container .video-player-indicator-text {
    font-size: 0.8125rem;
    font-weight: 700; }
  @media screen and (min-width: 81.25em) {
    .video-player-container .read-more {
      -webkit-box-flex: 1;
          -ms-flex: 1;
              flex: 1; } }

/*
  Multimedia Element
  
  Handles styling for video playback

*/
video {
  max-width: 100%; }

.video {
  position: relative; }
  @supports not (-apple-pay-button-style: inherit) {
    .video.is-ready-to-play:after {
      content: "";
      width: 40px;
      height: 40px;
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      margin: auto;
      padding-left: 2px;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      font-family: "Font Awesome Solid";
      font-size: 20px;
      color: var(--accent-colour-1-lightness-3);
      background-color: var(--white-colour);
      border: 0 solid var(--accent-colour-1-lightness-3);
      border-radius: 40px;
      -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
              box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
      pointer-events: none;
      -webkit-transition: color 0.8s, background-color 0.8s, border-color 0.8s;
      transition: color 0.8s, background-color 0.8s, border-color 0.8s; }
    .video.replay-video:after {
      content: "";
      width: 40px;
      height: 40px;
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      margin: auto;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      font-family: "Font Awesome Solid";
      font-size: 20px;
      color: var(--accent-colour-1-lightness-3);
      background-color: var(--white-colour);
      border: 0 solid var(--accent-colour-1-lightness-3);
      border-radius: 40px;
      -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
              box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
      pointer-events: none;
      -webkit-transition: color 0.8s, background-color 0.8s, border-color 0.8s;
      transition: color 0.8s, background-color 0.8s, border-color 0.8s; } }

.source-unsupported > video {
  display: none; }

.source-unsupported > img {
  display: none; }

[data-fallback] {
  display: none; }

.fallback-element {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  position: relative;
  display: none; }
  .fallback-element.active {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
  .fallback-element img {
    z-index: 1; }
  .fallback-element .fallback-text {
    width: 100%;
    position: absolute;
    bottom: 0;
    left: 0;
    display: grid;
    grid-template-columns: 52px 1fr;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 20px;
    background-color: rgba(248, 248, 248, 0.8);
    color: var(--neutral-colour-lightness-0);
    font-size: 1.25rem;
    font-weight: 600;
    z-index: 2; }
    .fallback-element .fallback-text:before {
      content: "";
      display: -webkit-inline-box;
      display: -ms-inline-flexbox;
      display: inline-flex;
      font-size: 32px;
      font-family: "Font Awesome Solid";
      grid-column: 1;
      grid-row: 1 / span 2; }
    .fallback-element .fallback-text .error-details {
      width: 100%;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column; }
    .fallback-element .fallback-text span, .fallback-element .fallback-text div {
      grid-column: 2; }

/*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */
html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%; }

body {
  margin: 0; }

h1 {
  font-size: 2em;
  margin: 0.67em 0; }

hr {
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  height: 0;
  overflow: visible; }

pre {
  font-family: monospace, monospace;
  font-size: 1em; }

a {
  background-color: transparent; }

abbr[title] {
  border-bottom: 0;
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted; }

b,
strong {
  font-weight: bolder; }

code,
kbd,
samp {
  font-family: monospace, monospace;
  font-size: 1em; }

small {
  font-size: 80%; }

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sub {
  bottom: -0.25em; }

sup {
  top: -0.5em; }

img {
  border-style: none; }

button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  font-size: 100%;
  line-height: 1.15;
  margin: 0; }

button,
input {
  overflow: visible; }

button,
select {
  text-transform: none; }

button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button; }

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0; }

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText; }

fieldset {
  padding: 0.35em 0.75em 0.625em; }

legend {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  color: inherit;
  display: table;
  max-width: 100%;
  padding: 0;
  white-space: normal; }

progress {
  vertical-align: baseline; }

textarea {
  overflow: auto; }

[type="checkbox"],
[type="radio"] {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 0; }

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto; }

[type="search"] {
  -webkit-appearance: textfield;
  outline-offset: -2px; }

[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit; }

details {
  display: block; }

summary {
  display: list-item; }

template {
  display: none; }

[hidden] {
  display: none; }

[data-whatintent="mouse"] *, [data-whatintent="mouse"] *:focus,
[data-whatintent="touch"] *,
[data-whatintent="touch"] *:focus,
[data-whatinput="mouse"] *,
[data-whatinput="mouse"] *:focus,
[data-whatinput="touch"] *,
[data-whatinput="touch"] *:focus {
  outline: none; }

[draggable=false] {
  -webkit-touch-callout: none;
  -webkit-user-select: none; }

.foundation-mq {
  font-family: "small=0em&medium=40em&large=81.25em&xlarge=100em&xxlarge=120em"; }

html {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  font-size: 100%; }

*,
*::before,
*::after {
  -webkit-box-sizing: inherit;
          box-sizing: inherit; }

body {
  margin: 0;
  padding: 0;
  background: #ffffff;
  font-family: "Gibson", "Gibson Fallback", "Arial";
  font-weight: normal;
  line-height: 1.6;
  color: #000000;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

img {
  display: inline-block;
  vertical-align: middle;
  max-width: 100%;
  height: auto;
  -ms-interpolation-mode: bicubic; }

textarea {
  height: auto;
  min-height: 50px;
  border-radius: 0; }

select {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  border-radius: 0; }

.map_canvas img,
.map_canvas embed,
.map_canvas object,
.mqa-display img,
.mqa-display embed,
.mqa-display object {
  max-width: none !important; }

button {
  padding: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 0;
  border-radius: 0;
  background: transparent;
  line-height: 1;
  cursor: pointer; }
  [data-whatinput='mouse'] button {
    outline: 0; }

pre {
  overflow: auto;
  -webkit-overflow-scrolling: touch; }

button,
input,
optgroup,
select,
textarea {
  font-family: inherit; }

.is-visible {
  display: block !important; }

.is-hidden {
  display: none !important; }

[type='text'], [type='password'], [type='date'], [type='datetime'], [type='datetime-local'], [type='month'], [type='week'], [type='email'], [type='number'], [type='search'], [type='tel'], [type='time'], [type='url'], [type='color'],
textarea {
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  height: 2.3375rem;
  margin: 0 0 1rem;
  padding: 0.5rem;
  border: 1px solid #c8c8c8;
  border-radius: 0;
  background-color: #ffffff;
  -webkit-box-shadow: 0;
          box-shadow: 0;
  font-family: "Gibson", "Gibson Fallback", "Arial";
  font-size: 0.875rem;
  font-weight: normal;
  line-height: 1.6;
  color: #777777;
  -webkit-transition: border-color 0.8s, -webkit-box-shadow 0.8s;
  transition: border-color 0.8s, -webkit-box-shadow 0.8s;
  transition: box-shadow 0.8s, border-color 0.8s;
  transition: box-shadow 0.8s, border-color 0.8s, -webkit-box-shadow 0.8s;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none; }
  [type='text']:focus, [type='password']:focus, [type='date']:focus, [type='datetime']:focus, [type='datetime-local']:focus, [type='month']:focus, [type='week']:focus, [type='email']:focus, [type='number']:focus, [type='search']:focus, [type='tel']:focus, [type='time']:focus, [type='url']:focus, [type='color']:focus,
  textarea:focus {
    outline: none;
    border: 1px solid #c8c8c8;
    background-color: #ffffff;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
    -webkit-transition: border-color 0.8s, -webkit-box-shadow 0.8s;
    transition: border-color 0.8s, -webkit-box-shadow 0.8s;
    transition: box-shadow 0.8s, border-color 0.8s;
    transition: box-shadow 0.8s, border-color 0.8s, -webkit-box-shadow 0.8s; }

textarea {
  max-width: 100%; }
  textarea[rows] {
    height: auto; }

input:disabled, input[readonly],
textarea:disabled,
textarea[readonly] {
  background-color: var(--neutral-colour-lightness-8);
  cursor: not-allowed; }

[type='submit'],
[type='button'] {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border-radius: 0; }

input[type=search] {
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

::-webkit-input-placeholder {
  color: #c8c8c8; }

::-moz-placeholder {
  color: #c8c8c8; }

:-ms-input-placeholder {
  color: #c8c8c8; }

::-ms-input-placeholder {
  color: #c8c8c8; }

::placeholder {
  color: #c8c8c8; }

[type='file'],
[type='checkbox'],
[type='radio'] {
  margin: 0 0 1rem; }

[type='checkbox'] + label,
[type='radio'] + label {
  display: inline-block;
  vertical-align: baseline;
  margin-left: 0.5rem;
  margin-right: 1rem;
  margin-bottom: 0; }
  [type='checkbox'] + label[for],
  [type='radio'] + label[for] {
    cursor: pointer; }

label > [type='checkbox'],
label > [type='radio'] {
  margin-right: 0.5rem; }

[type=file] {
  width: 100%; }

label {
  display: block;
  margin: 0;
  font-size: 0.875rem;
  font-weight: normal;
  line-height: 1.8;
  color: #000000; }
  label.middle {
    margin: 0 0 1rem;
    line-height: 1.6;
    padding: 0.5625rem 0; }

.help-text {
  margin-top: -0.5rem;
  font-size: 0.8125rem;
  font-style: italic;
  color: #000000; }

.input-group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  margin-bottom: 1rem;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch; }
  .input-group > :first-child, .input-group > :first-child.input-group-button > * {
    border-radius: 0 0 0 0; }
  .input-group > :last-child, .input-group > :last-child.input-group-button > * {
    border-radius: 0 0 0 0; }

.input-group-label, .input-group-field, .input-group-button, .input-group-button a,
.input-group-button input,
.input-group-button button,
.input-group-button label {
  margin: 0;
  white-space: nowrap; }

.input-group-label {
  padding: 0 1rem;
  border: 1px solid #aeaeae;
  background: #dadada;
  color: #000000;
  text-align: center;
  white-space: nowrap;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  .input-group-label:first-child {
    border-right: 0; }
  .input-group-label:last-child {
    border-left: 0; }

.input-group-field {
  border-radius: 0;
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0px;
          flex: 1 1 0px;
  min-width: 0; }

.input-group-button {
  padding-top: 0;
  padding-bottom: 0;
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto; }
  .input-group-button a,
  .input-group-button input,
  .input-group-button button,
  .input-group-button label {
    -ms-flex-item-align: stretch;
        align-self: stretch;
    height: auto;
    padding-top: 0;
    padding-bottom: 0;
    font-size: 0.875rem; }

fieldset {
  margin: 0;
  padding: 0;
  border: 0; }

legend {
  max-width: 100%;
  margin-bottom: 0.5rem; }

.fieldset {
  margin: 1.125rem 0;
  padding: 1.25rem;
  border: 1px solid #aeaeae; }
  .fieldset legend {
    margin: 0;
    margin-left: -0.1875rem;
    padding: 0 0.1875rem; }

select {
  height: 2.3375rem;
  margin: 0 0 1rem;
  padding: 0.5rem;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 1px solid #c8c8c8;
  border-radius: 0;
  background-color: #ffffff;
  font-family: "Gibson", "Gibson Fallback", "Arial";
  font-size: 0.875rem;
  font-weight: normal;
  line-height: 1.6;
  color: #777777;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="32" height="24" viewBox="0 0 32 24"><polygon points="0,0 32,0 16,24" style="fill: rgb%28136, 136, 136%29"></polygon></svg>');
  background-origin: content-box;
  background-position: right -1rem center;
  background-repeat: no-repeat;
  background-size: 9px 6px;
  padding-right: 1.5rem;
  -webkit-transition: border-color 0.8s, -webkit-box-shadow 0.8s;
  transition: border-color 0.8s, -webkit-box-shadow 0.8s;
  transition: box-shadow 0.8s, border-color 0.8s;
  transition: box-shadow 0.8s, border-color 0.8s, -webkit-box-shadow 0.8s; }
  @media screen and (min-width: 0\0) {
    select {
      background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNrEkckNgDAMBBfRkEt0ObRBBdsGXUDgmQfK4XhH2m8czQAAy27R3tsw4Qfe2x8uOO6oYLb6GlOor3GF+swURAOmUJ+RwtEJs9WvTGEYxBXqI1MQAZhCfUQKRzDMVj+TwrAIV6jvSUEkYAr1LSkcyTBb/V+KYfX7xAeusq3sLDtGH3kEGACPWIflNZfhRQAAAABJRU5ErkJggg=="); } }
  select:focus {
    outline: none;
    border: 1px solid #c8c8c8;
    background-color: #ffffff;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
    -webkit-transition: border-color 0.8s, -webkit-box-shadow 0.8s;
    transition: border-color 0.8s, -webkit-box-shadow 0.8s;
    transition: box-shadow 0.8s, border-color 0.8s;
    transition: box-shadow 0.8s, border-color 0.8s, -webkit-box-shadow 0.8s; }
  select:disabled {
    background-color: var(--neutral-colour-lightness-8);
    cursor: not-allowed; }
  select::-ms-expand {
    display: none; }
  select[multiple] {
    height: auto;
    background-image: none; }
  select:not([multiple]) {
    padding-top: 0;
    padding-bottom: 0; }

.is-invalid-input:not(:focus) {
  border-color: #b20c0c;
  background-color: #f7e7e7; }
  .is-invalid-input:not(:focus)::-webkit-input-placeholder {
    color: #b20c0c; }
  .is-invalid-input:not(:focus)::-moz-placeholder {
    color: #b20c0c; }
  .is-invalid-input:not(:focus):-ms-input-placeholder {
    color: #b20c0c; }
  .is-invalid-input:not(:focus)::-ms-input-placeholder {
    color: #b20c0c; }
  .is-invalid-input:not(:focus)::placeholder {
    color: #b20c0c; }

.is-invalid-label {
  color: #b20c0c; }

.form-error {
  display: none;
  margin-top: -0.5rem;
  margin-bottom: 1rem;
  font-size: 0.8125rem;
  font-weight: 600;
  color: #b20c0c; }
  .form-error.is-visible {
    display: block; }

.grid-container {
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  max-width: 1300px;
  margin-left: auto;
  margin-right: auto; }
  .grid-container.fluid {
    padding-right: 0.625rem;
    padding-left: 0.625rem;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto; }
  .grid-container.full {
    padding-right: 0;
    padding-left: 0;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto; }

.grid-x {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap; }

.cell {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  min-height: 0;
  min-width: 0;
  width: 100%; }
  .cell.auto {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0; }
  .cell.shrink {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto; }

.grid-x > .auto {
  width: auto; }

.grid-x > .shrink {
  width: auto; }

.grid-x > .small-shrink, .grid-x > .small-full, .grid-x > .small-1, .grid-x > .small-2, .grid-x > .small-3, .grid-x > .small-4, .grid-x > .small-5, .grid-x > .small-6, .grid-x > .small-7, .grid-x > .small-8, .grid-x > .small-9, .grid-x > .small-10, .grid-x > .small-11, .grid-x > .small-12 {
  -ms-flex-preferred-size: auto;
      flex-basis: auto; }

@media print, screen and (min-width: 40em) {
  .grid-x > .medium-shrink, .grid-x > .medium-full, .grid-x > .medium-1, .grid-x > .medium-2, .grid-x > .medium-3, .grid-x > .medium-4, .grid-x > .medium-5, .grid-x > .medium-6, .grid-x > .medium-7, .grid-x > .medium-8, .grid-x > .medium-9, .grid-x > .medium-10, .grid-x > .medium-11, .grid-x > .medium-12 {
    -ms-flex-preferred-size: auto;
        flex-basis: auto; } }

@media screen and (min-width: 81.25em) {
  .grid-x > .large-shrink, .grid-x > .large-full, .grid-x > .large-1, .grid-x > .large-2, .grid-x > .large-3, .grid-x > .large-4, .grid-x > .large-5, .grid-x > .large-6, .grid-x > .large-7, .grid-x > .large-8, .grid-x > .large-9, .grid-x > .large-10, .grid-x > .large-11, .grid-x > .large-12 {
    -ms-flex-preferred-size: auto;
        flex-basis: auto; } }

@media screen and (min-width: 100em) {
  .grid-x > .xlarge-shrink, .grid-x > .xlarge-full, .grid-x > .xlarge-1, .grid-x > .xlarge-2, .grid-x > .xlarge-3, .grid-x > .xlarge-4, .grid-x > .xlarge-5, .grid-x > .xlarge-6, .grid-x > .xlarge-7, .grid-x > .xlarge-8, .grid-x > .xlarge-9, .grid-x > .xlarge-10, .grid-x > .xlarge-11, .grid-x > .xlarge-12 {
    -ms-flex-preferred-size: auto;
        flex-basis: auto; } }

.grid-x > .small-1, .grid-x > .small-2, .grid-x > .small-3, .grid-x > .small-4, .grid-x > .small-5, .grid-x > .small-6, .grid-x > .small-7, .grid-x > .small-8, .grid-x > .small-9, .grid-x > .small-10, .grid-x > .small-11, .grid-x > .small-12 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto; }

.grid-x > .small-1 {
  width: 8.33333%; }

.grid-x > .small-2 {
  width: 16.66667%; }

.grid-x > .small-3 {
  width: 25%; }

.grid-x > .small-4 {
  width: 33.33333%; }

.grid-x > .small-5 {
  width: 41.66667%; }

.grid-x > .small-6 {
  width: 50%; }

.grid-x > .small-7 {
  width: 58.33333%; }

.grid-x > .small-8 {
  width: 66.66667%; }

.grid-x > .small-9 {
  width: 75%; }

.grid-x > .small-10 {
  width: 83.33333%; }

.grid-x > .small-11 {
  width: 91.66667%; }

.grid-x > .small-12 {
  width: 100%; }

@media print, screen and (min-width: 40em) {
  .grid-x > .medium-auto {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0;
    width: auto; }
  .grid-x > .medium-shrink, .grid-x > .medium-1, .grid-x > .medium-2, .grid-x > .medium-3, .grid-x > .medium-4, .grid-x > .medium-5, .grid-x > .medium-6, .grid-x > .medium-7, .grid-x > .medium-8, .grid-x > .medium-9, .grid-x > .medium-10, .grid-x > .medium-11, .grid-x > .medium-12 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto; }
  .grid-x > .medium-shrink {
    width: auto; }
  .grid-x > .medium-1 {
    width: 8.33333%; }
  .grid-x > .medium-2 {
    width: 16.66667%; }
  .grid-x > .medium-3 {
    width: 25%; }
  .grid-x > .medium-4 {
    width: 33.33333%; }
  .grid-x > .medium-5 {
    width: 41.66667%; }
  .grid-x > .medium-6 {
    width: 50%; }
  .grid-x > .medium-7 {
    width: 58.33333%; }
  .grid-x > .medium-8 {
    width: 66.66667%; }
  .grid-x > .medium-9 {
    width: 75%; }
  .grid-x > .medium-10 {
    width: 83.33333%; }
  .grid-x > .medium-11 {
    width: 91.66667%; }
  .grid-x > .medium-12 {
    width: 100%; } }

@media screen and (min-width: 81.25em) {
  .grid-x > .large-auto {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0;
    width: auto; }
  .grid-x > .large-shrink, .grid-x > .large-1, .grid-x > .large-2, .grid-x > .large-3, .grid-x > .large-4, .grid-x > .large-5, .grid-x > .large-6, .grid-x > .large-7, .grid-x > .large-8, .grid-x > .large-9, .grid-x > .large-10, .grid-x > .large-11, .grid-x > .large-12 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto; }
  .grid-x > .large-shrink {
    width: auto; }
  .grid-x > .large-1 {
    width: 8.33333%; }
  .grid-x > .large-2 {
    width: 16.66667%; }
  .grid-x > .large-3 {
    width: 25%; }
  .grid-x > .large-4 {
    width: 33.33333%; }
  .grid-x > .large-5 {
    width: 41.66667%; }
  .grid-x > .large-6 {
    width: 50%; }
  .grid-x > .large-7 {
    width: 58.33333%; }
  .grid-x > .large-8 {
    width: 66.66667%; }
  .grid-x > .large-9 {
    width: 75%; }
  .grid-x > .large-10 {
    width: 83.33333%; }
  .grid-x > .large-11 {
    width: 91.66667%; }
  .grid-x > .large-12 {
    width: 100%; } }

@media screen and (min-width: 100em) {
  .grid-x > .xlarge-auto {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0;
    width: auto; }
  .grid-x > .xlarge-shrink, .grid-x > .xlarge-1, .grid-x > .xlarge-2, .grid-x > .xlarge-3, .grid-x > .xlarge-4, .grid-x > .xlarge-5, .grid-x > .xlarge-6, .grid-x > .xlarge-7, .grid-x > .xlarge-8, .grid-x > .xlarge-9, .grid-x > .xlarge-10, .grid-x > .xlarge-11, .grid-x > .xlarge-12 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto; }
  .grid-x > .xlarge-shrink {
    width: auto; }
  .grid-x > .xlarge-1 {
    width: 8.33333%; }
  .grid-x > .xlarge-2 {
    width: 16.66667%; }
  .grid-x > .xlarge-3 {
    width: 25%; }
  .grid-x > .xlarge-4 {
    width: 33.33333%; }
  .grid-x > .xlarge-5 {
    width: 41.66667%; }
  .grid-x > .xlarge-6 {
    width: 50%; }
  .grid-x > .xlarge-7 {
    width: 58.33333%; }
  .grid-x > .xlarge-8 {
    width: 66.66667%; }
  .grid-x > .xlarge-9 {
    width: 75%; }
  .grid-x > .xlarge-10 {
    width: 83.33333%; }
  .grid-x > .xlarge-11 {
    width: 91.66667%; }
  .grid-x > .xlarge-12 {
    width: 100%; } }

.grid-margin-x:not(.grid-x) > .cell {
  width: auto; }

.grid-margin-y:not(.grid-y) > .cell {
  height: auto; }

.grid-margin-x {
  margin-left: -0.3125rem;
  margin-right: -0.3125rem; }
  @media print, screen and (min-width: 40em) {
    .grid-margin-x {
      margin-left: -0.625rem;
      margin-right: -0.625rem; } }
  .grid-margin-x > .cell {
    width: calc(100% - 0.625rem);
    margin-left: 0.3125rem;
    margin-right: 0.3125rem; }
  @media print, screen and (min-width: 40em) {
    .grid-margin-x > .cell {
      width: calc(100% - 1.25rem);
      margin-left: 0.625rem;
      margin-right: 0.625rem; } }
  .grid-margin-x > .auto {
    width: auto; }
  .grid-margin-x > .shrink {
    width: auto; }
  .grid-margin-x > .small-1 {
    width: calc(8.33333% - 0.625rem); }
  .grid-margin-x > .small-2 {
    width: calc(16.66667% - 0.625rem); }
  .grid-margin-x > .small-3 {
    width: calc(25% - 0.625rem); }
  .grid-margin-x > .small-4 {
    width: calc(33.33333% - 0.625rem); }
  .grid-margin-x > .small-5 {
    width: calc(41.66667% - 0.625rem); }
  .grid-margin-x > .small-6 {
    width: calc(50% - 0.625rem); }
  .grid-margin-x > .small-7 {
    width: calc(58.33333% - 0.625rem); }
  .grid-margin-x > .small-8 {
    width: calc(66.66667% - 0.625rem); }
  .grid-margin-x > .small-9 {
    width: calc(75% - 0.625rem); }
  .grid-margin-x > .small-10 {
    width: calc(83.33333% - 0.625rem); }
  .grid-margin-x > .small-11 {
    width: calc(91.66667% - 0.625rem); }
  .grid-margin-x > .small-12 {
    width: calc(100% - 0.625rem); }
  @media print, screen and (min-width: 40em) {
    .grid-margin-x > .auto {
      width: auto; }
    .grid-margin-x > .shrink {
      width: auto; }
    .grid-margin-x > .small-1 {
      width: calc(8.33333% - 1.25rem); }
    .grid-margin-x > .small-2 {
      width: calc(16.66667% - 1.25rem); }
    .grid-margin-x > .small-3 {
      width: calc(25% - 1.25rem); }
    .grid-margin-x > .small-4 {
      width: calc(33.33333% - 1.25rem); }
    .grid-margin-x > .small-5 {
      width: calc(41.66667% - 1.25rem); }
    .grid-margin-x > .small-6 {
      width: calc(50% - 1.25rem); }
    .grid-margin-x > .small-7 {
      width: calc(58.33333% - 1.25rem); }
    .grid-margin-x > .small-8 {
      width: calc(66.66667% - 1.25rem); }
    .grid-margin-x > .small-9 {
      width: calc(75% - 1.25rem); }
    .grid-margin-x > .small-10 {
      width: calc(83.33333% - 1.25rem); }
    .grid-margin-x > .small-11 {
      width: calc(91.66667% - 1.25rem); }
    .grid-margin-x > .small-12 {
      width: calc(100% - 1.25rem); }
    .grid-margin-x > .medium-auto {
      width: auto; }
    .grid-margin-x > .medium-shrink {
      width: auto; }
    .grid-margin-x > .medium-1 {
      width: calc(8.33333% - 1.25rem); }
    .grid-margin-x > .medium-2 {
      width: calc(16.66667% - 1.25rem); }
    .grid-margin-x > .medium-3 {
      width: calc(25% - 1.25rem); }
    .grid-margin-x > .medium-4 {
      width: calc(33.33333% - 1.25rem); }
    .grid-margin-x > .medium-5 {
      width: calc(41.66667% - 1.25rem); }
    .grid-margin-x > .medium-6 {
      width: calc(50% - 1.25rem); }
    .grid-margin-x > .medium-7 {
      width: calc(58.33333% - 1.25rem); }
    .grid-margin-x > .medium-8 {
      width: calc(66.66667% - 1.25rem); }
    .grid-margin-x > .medium-9 {
      width: calc(75% - 1.25rem); }
    .grid-margin-x > .medium-10 {
      width: calc(83.33333% - 1.25rem); }
    .grid-margin-x > .medium-11 {
      width: calc(91.66667% - 1.25rem); }
    .grid-margin-x > .medium-12 {
      width: calc(100% - 1.25rem); } }
  @media screen and (min-width: 81.25em) {
    .grid-margin-x > .large-auto {
      width: auto; }
    .grid-margin-x > .large-shrink {
      width: auto; }
    .grid-margin-x > .large-1 {
      width: calc(8.33333% - 1.25rem); }
    .grid-margin-x > .large-2 {
      width: calc(16.66667% - 1.25rem); }
    .grid-margin-x > .large-3 {
      width: calc(25% - 1.25rem); }
    .grid-margin-x > .large-4 {
      width: calc(33.33333% - 1.25rem); }
    .grid-margin-x > .large-5 {
      width: calc(41.66667% - 1.25rem); }
    .grid-margin-x > .large-6 {
      width: calc(50% - 1.25rem); }
    .grid-margin-x > .large-7 {
      width: calc(58.33333% - 1.25rem); }
    .grid-margin-x > .large-8 {
      width: calc(66.66667% - 1.25rem); }
    .grid-margin-x > .large-9 {
      width: calc(75% - 1.25rem); }
    .grid-margin-x > .large-10 {
      width: calc(83.33333% - 1.25rem); }
    .grid-margin-x > .large-11 {
      width: calc(91.66667% - 1.25rem); }
    .grid-margin-x > .large-12 {
      width: calc(100% - 1.25rem); } }
  @media screen and (min-width: 100em) {
    .grid-margin-x > .xlarge-auto {
      width: auto; }
    .grid-margin-x > .xlarge-shrink {
      width: auto; }
    .grid-margin-x > .xlarge-1 {
      width: calc(8.33333% - 1.25rem); }
    .grid-margin-x > .xlarge-2 {
      width: calc(16.66667% - 1.25rem); }
    .grid-margin-x > .xlarge-3 {
      width: calc(25% - 1.25rem); }
    .grid-margin-x > .xlarge-4 {
      width: calc(33.33333% - 1.25rem); }
    .grid-margin-x > .xlarge-5 {
      width: calc(41.66667% - 1.25rem); }
    .grid-margin-x > .xlarge-6 {
      width: calc(50% - 1.25rem); }
    .grid-margin-x > .xlarge-7 {
      width: calc(58.33333% - 1.25rem); }
    .grid-margin-x > .xlarge-8 {
      width: calc(66.66667% - 1.25rem); }
    .grid-margin-x > .xlarge-9 {
      width: calc(75% - 1.25rem); }
    .grid-margin-x > .xlarge-10 {
      width: calc(83.33333% - 1.25rem); }
    .grid-margin-x > .xlarge-11 {
      width: calc(91.66667% - 1.25rem); }
    .grid-margin-x > .xlarge-12 {
      width: calc(100% - 1.25rem); } }

.grid-padding-x .grid-padding-x {
  margin-right: -0.3125rem;
  margin-left: -0.3125rem; }
  @media print, screen and (min-width: 40em) {
    .grid-padding-x .grid-padding-x {
      margin-right: -0.625rem;
      margin-left: -0.625rem; } }

.grid-container:not(.full) > .grid-padding-x {
  margin-right: -0.3125rem;
  margin-left: -0.3125rem; }
  @media print, screen and (min-width: 40em) {
    .grid-container:not(.full) > .grid-padding-x {
      margin-right: -0.625rem;
      margin-left: -0.625rem; } }

.grid-padding-x > .cell {
  padding-right: 0.3125rem;
  padding-left: 0.3125rem; }
  @media print, screen and (min-width: 40em) {
    .grid-padding-x > .cell {
      padding-right: 0.625rem;
      padding-left: 0.625rem; } }

.small-up-1 > .cell {
  width: 100%; }

.small-up-2 > .cell {
  width: 50%; }

.small-up-3 > .cell {
  width: 33.33333%; }

.small-up-4 > .cell {
  width: 25%; }

.small-up-5 > .cell {
  width: 20%; }

.small-up-6 > .cell {
  width: 16.66667%; }

.small-up-7 > .cell {
  width: 14.28571%; }

.small-up-8 > .cell {
  width: 12.5%; }

@media print, screen and (min-width: 40em) {
  .medium-up-1 > .cell {
    width: 100%; }
  .medium-up-2 > .cell {
    width: 50%; }
  .medium-up-3 > .cell {
    width: 33.33333%; }
  .medium-up-4 > .cell {
    width: 25%; }
  .medium-up-5 > .cell {
    width: 20%; }
  .medium-up-6 > .cell {
    width: 16.66667%; }
  .medium-up-7 > .cell {
    width: 14.28571%; }
  .medium-up-8 > .cell {
    width: 12.5%; } }

@media screen and (min-width: 81.25em) {
  .large-up-1 > .cell {
    width: 100%; }
  .large-up-2 > .cell {
    width: 50%; }
  .large-up-3 > .cell {
    width: 33.33333%; }
  .large-up-4 > .cell {
    width: 25%; }
  .large-up-5 > .cell {
    width: 20%; }
  .large-up-6 > .cell {
    width: 16.66667%; }
  .large-up-7 > .cell {
    width: 14.28571%; }
  .large-up-8 > .cell {
    width: 12.5%; } }

@media screen and (min-width: 100em) {
  .xlarge-up-1 > .cell {
    width: 100%; }
  .xlarge-up-2 > .cell {
    width: 50%; }
  .xlarge-up-3 > .cell {
    width: 33.33333%; }
  .xlarge-up-4 > .cell {
    width: 25%; }
  .xlarge-up-5 > .cell {
    width: 20%; }
  .xlarge-up-6 > .cell {
    width: 16.66667%; }
  .xlarge-up-7 > .cell {
    width: 14.28571%; }
  .xlarge-up-8 > .cell {
    width: 12.5%; } }

.grid-margin-x.small-up-1 > .cell {
  width: calc(100% - 0.625rem); }

.grid-margin-x.small-up-2 > .cell {
  width: calc(50% - 0.625rem); }

.grid-margin-x.small-up-3 > .cell {
  width: calc(33.33333% - 0.625rem); }

.grid-margin-x.small-up-4 > .cell {
  width: calc(25% - 0.625rem); }

.grid-margin-x.small-up-5 > .cell {
  width: calc(20% - 0.625rem); }

.grid-margin-x.small-up-6 > .cell {
  width: calc(16.66667% - 0.625rem); }

.grid-margin-x.small-up-7 > .cell {
  width: calc(14.28571% - 0.625rem); }

.grid-margin-x.small-up-8 > .cell {
  width: calc(12.5% - 0.625rem); }

@media print, screen and (min-width: 40em) {
  .grid-margin-x.small-up-1 > .cell {
    width: calc(100% - 1.25rem); }
  .grid-margin-x.small-up-2 > .cell {
    width: calc(50% - 1.25rem); }
  .grid-margin-x.small-up-3 > .cell {
    width: calc(33.33333% - 1.25rem); }
  .grid-margin-x.small-up-4 > .cell {
    width: calc(25% - 1.25rem); }
  .grid-margin-x.small-up-5 > .cell {
    width: calc(20% - 1.25rem); }
  .grid-margin-x.small-up-6 > .cell {
    width: calc(16.66667% - 1.25rem); }
  .grid-margin-x.small-up-7 > .cell {
    width: calc(14.28571% - 1.25rem); }
  .grid-margin-x.small-up-8 > .cell {
    width: calc(12.5% - 1.25rem); }
  .grid-margin-x.medium-up-1 > .cell {
    width: calc(100% - 1.25rem); }
  .grid-margin-x.medium-up-2 > .cell {
    width: calc(50% - 1.25rem); }
  .grid-margin-x.medium-up-3 > .cell {
    width: calc(33.33333% - 1.25rem); }
  .grid-margin-x.medium-up-4 > .cell {
    width: calc(25% - 1.25rem); }
  .grid-margin-x.medium-up-5 > .cell {
    width: calc(20% - 1.25rem); }
  .grid-margin-x.medium-up-6 > .cell {
    width: calc(16.66667% - 1.25rem); }
  .grid-margin-x.medium-up-7 > .cell {
    width: calc(14.28571% - 1.25rem); }
  .grid-margin-x.medium-up-8 > .cell {
    width: calc(12.5% - 1.25rem); } }

@media screen and (min-width: 81.25em) {
  .grid-margin-x.large-up-1 > .cell {
    width: calc(100% - 1.25rem); }
  .grid-margin-x.large-up-2 > .cell {
    width: calc(50% - 1.25rem); }
  .grid-margin-x.large-up-3 > .cell {
    width: calc(33.33333% - 1.25rem); }
  .grid-margin-x.large-up-4 > .cell {
    width: calc(25% - 1.25rem); }
  .grid-margin-x.large-up-5 > .cell {
    width: calc(20% - 1.25rem); }
  .grid-margin-x.large-up-6 > .cell {
    width: calc(16.66667% - 1.25rem); }
  .grid-margin-x.large-up-7 > .cell {
    width: calc(14.28571% - 1.25rem); }
  .grid-margin-x.large-up-8 > .cell {
    width: calc(12.5% - 1.25rem); } }

@media screen and (min-width: 100em) {
  .grid-margin-x.xlarge-up-1 > .cell {
    width: calc(100% - 1.25rem); }
  .grid-margin-x.xlarge-up-2 > .cell {
    width: calc(50% - 1.25rem); }
  .grid-margin-x.xlarge-up-3 > .cell {
    width: calc(33.33333% - 1.25rem); }
  .grid-margin-x.xlarge-up-4 > .cell {
    width: calc(25% - 1.25rem); }
  .grid-margin-x.xlarge-up-5 > .cell {
    width: calc(20% - 1.25rem); }
  .grid-margin-x.xlarge-up-6 > .cell {
    width: calc(16.66667% - 1.25rem); }
  .grid-margin-x.xlarge-up-7 > .cell {
    width: calc(14.28571% - 1.25rem); }
  .grid-margin-x.xlarge-up-8 > .cell {
    width: calc(12.5% - 1.25rem); } }

.small-margin-collapse {
  margin-right: 0;
  margin-left: 0; }
  .small-margin-collapse > .cell {
    margin-right: 0;
    margin-left: 0; }
  .small-margin-collapse > .small-1 {
    width: 8.33333%; }
  .small-margin-collapse > .small-2 {
    width: 16.66667%; }
  .small-margin-collapse > .small-3 {
    width: 25%; }
  .small-margin-collapse > .small-4 {
    width: 33.33333%; }
  .small-margin-collapse > .small-5 {
    width: 41.66667%; }
  .small-margin-collapse > .small-6 {
    width: 50%; }
  .small-margin-collapse > .small-7 {
    width: 58.33333%; }
  .small-margin-collapse > .small-8 {
    width: 66.66667%; }
  .small-margin-collapse > .small-9 {
    width: 75%; }
  .small-margin-collapse > .small-10 {
    width: 83.33333%; }
  .small-margin-collapse > .small-11 {
    width: 91.66667%; }
  .small-margin-collapse > .small-12 {
    width: 100%; }
  @media print, screen and (min-width: 40em) {
    .small-margin-collapse > .medium-1 {
      width: 8.33333%; }
    .small-margin-collapse > .medium-2 {
      width: 16.66667%; }
    .small-margin-collapse > .medium-3 {
      width: 25%; }
    .small-margin-collapse > .medium-4 {
      width: 33.33333%; }
    .small-margin-collapse > .medium-5 {
      width: 41.66667%; }
    .small-margin-collapse > .medium-6 {
      width: 50%; }
    .small-margin-collapse > .medium-7 {
      width: 58.33333%; }
    .small-margin-collapse > .medium-8 {
      width: 66.66667%; }
    .small-margin-collapse > .medium-9 {
      width: 75%; }
    .small-margin-collapse > .medium-10 {
      width: 83.33333%; }
    .small-margin-collapse > .medium-11 {
      width: 91.66667%; }
    .small-margin-collapse > .medium-12 {
      width: 100%; } }
  @media screen and (min-width: 81.25em) {
    .small-margin-collapse > .large-1 {
      width: 8.33333%; }
    .small-margin-collapse > .large-2 {
      width: 16.66667%; }
    .small-margin-collapse > .large-3 {
      width: 25%; }
    .small-margin-collapse > .large-4 {
      width: 33.33333%; }
    .small-margin-collapse > .large-5 {
      width: 41.66667%; }
    .small-margin-collapse > .large-6 {
      width: 50%; }
    .small-margin-collapse > .large-7 {
      width: 58.33333%; }
    .small-margin-collapse > .large-8 {
      width: 66.66667%; }
    .small-margin-collapse > .large-9 {
      width: 75%; }
    .small-margin-collapse > .large-10 {
      width: 83.33333%; }
    .small-margin-collapse > .large-11 {
      width: 91.66667%; }
    .small-margin-collapse > .large-12 {
      width: 100%; } }
  @media screen and (min-width: 100em) {
    .small-margin-collapse > .xlarge-1 {
      width: 8.33333%; }
    .small-margin-collapse > .xlarge-2 {
      width: 16.66667%; }
    .small-margin-collapse > .xlarge-3 {
      width: 25%; }
    .small-margin-collapse > .xlarge-4 {
      width: 33.33333%; }
    .small-margin-collapse > .xlarge-5 {
      width: 41.66667%; }
    .small-margin-collapse > .xlarge-6 {
      width: 50%; }
    .small-margin-collapse > .xlarge-7 {
      width: 58.33333%; }
    .small-margin-collapse > .xlarge-8 {
      width: 66.66667%; }
    .small-margin-collapse > .xlarge-9 {
      width: 75%; }
    .small-margin-collapse > .xlarge-10 {
      width: 83.33333%; }
    .small-margin-collapse > .xlarge-11 {
      width: 91.66667%; }
    .small-margin-collapse > .xlarge-12 {
      width: 100%; } }

.small-padding-collapse {
  margin-right: 0;
  margin-left: 0; }
  .small-padding-collapse > .cell {
    padding-right: 0;
    padding-left: 0; }

@media print, screen and (min-width: 40em) {
  .medium-margin-collapse {
    margin-right: 0;
    margin-left: 0; }
    .medium-margin-collapse > .cell {
      margin-right: 0;
      margin-left: 0; } }

@media print, screen and (min-width: 40em) {
  .medium-margin-collapse > .small-1 {
    width: 8.33333%; }
  .medium-margin-collapse > .small-2 {
    width: 16.66667%; }
  .medium-margin-collapse > .small-3 {
    width: 25%; }
  .medium-margin-collapse > .small-4 {
    width: 33.33333%; }
  .medium-margin-collapse > .small-5 {
    width: 41.66667%; }
  .medium-margin-collapse > .small-6 {
    width: 50%; }
  .medium-margin-collapse > .small-7 {
    width: 58.33333%; }
  .medium-margin-collapse > .small-8 {
    width: 66.66667%; }
  .medium-margin-collapse > .small-9 {
    width: 75%; }
  .medium-margin-collapse > .small-10 {
    width: 83.33333%; }
  .medium-margin-collapse > .small-11 {
    width: 91.66667%; }
  .medium-margin-collapse > .small-12 {
    width: 100%; } }

@media print, screen and (min-width: 40em) {
  .medium-margin-collapse > .medium-1 {
    width: 8.33333%; }
  .medium-margin-collapse > .medium-2 {
    width: 16.66667%; }
  .medium-margin-collapse > .medium-3 {
    width: 25%; }
  .medium-margin-collapse > .medium-4 {
    width: 33.33333%; }
  .medium-margin-collapse > .medium-5 {
    width: 41.66667%; }
  .medium-margin-collapse > .medium-6 {
    width: 50%; }
  .medium-margin-collapse > .medium-7 {
    width: 58.33333%; }
  .medium-margin-collapse > .medium-8 {
    width: 66.66667%; }
  .medium-margin-collapse > .medium-9 {
    width: 75%; }
  .medium-margin-collapse > .medium-10 {
    width: 83.33333%; }
  .medium-margin-collapse > .medium-11 {
    width: 91.66667%; }
  .medium-margin-collapse > .medium-12 {
    width: 100%; } }

@media screen and (min-width: 81.25em) {
  .medium-margin-collapse > .large-1 {
    width: 8.33333%; }
  .medium-margin-collapse > .large-2 {
    width: 16.66667%; }
  .medium-margin-collapse > .large-3 {
    width: 25%; }
  .medium-margin-collapse > .large-4 {
    width: 33.33333%; }
  .medium-margin-collapse > .large-5 {
    width: 41.66667%; }
  .medium-margin-collapse > .large-6 {
    width: 50%; }
  .medium-margin-collapse > .large-7 {
    width: 58.33333%; }
  .medium-margin-collapse > .large-8 {
    width: 66.66667%; }
  .medium-margin-collapse > .large-9 {
    width: 75%; }
  .medium-margin-collapse > .large-10 {
    width: 83.33333%; }
  .medium-margin-collapse > .large-11 {
    width: 91.66667%; }
  .medium-margin-collapse > .large-12 {
    width: 100%; } }

@media screen and (min-width: 100em) {
  .medium-margin-collapse > .xlarge-1 {
    width: 8.33333%; }
  .medium-margin-collapse > .xlarge-2 {
    width: 16.66667%; }
  .medium-margin-collapse > .xlarge-3 {
    width: 25%; }
  .medium-margin-collapse > .xlarge-4 {
    width: 33.33333%; }
  .medium-margin-collapse > .xlarge-5 {
    width: 41.66667%; }
  .medium-margin-collapse > .xlarge-6 {
    width: 50%; }
  .medium-margin-collapse > .xlarge-7 {
    width: 58.33333%; }
  .medium-margin-collapse > .xlarge-8 {
    width: 66.66667%; }
  .medium-margin-collapse > .xlarge-9 {
    width: 75%; }
  .medium-margin-collapse > .xlarge-10 {
    width: 83.33333%; }
  .medium-margin-collapse > .xlarge-11 {
    width: 91.66667%; }
  .medium-margin-collapse > .xlarge-12 {
    width: 100%; } }

@media print, screen and (min-width: 40em) {
  .medium-padding-collapse {
    margin-right: 0;
    margin-left: 0; }
    .medium-padding-collapse > .cell {
      padding-right: 0;
      padding-left: 0; } }

@media screen and (min-width: 81.25em) {
  .large-margin-collapse {
    margin-right: 0;
    margin-left: 0; }
    .large-margin-collapse > .cell {
      margin-right: 0;
      margin-left: 0; } }

@media screen and (min-width: 81.25em) {
  .large-margin-collapse > .small-1 {
    width: 8.33333%; }
  .large-margin-collapse > .small-2 {
    width: 16.66667%; }
  .large-margin-collapse > .small-3 {
    width: 25%; }
  .large-margin-collapse > .small-4 {
    width: 33.33333%; }
  .large-margin-collapse > .small-5 {
    width: 41.66667%; }
  .large-margin-collapse > .small-6 {
    width: 50%; }
  .large-margin-collapse > .small-7 {
    width: 58.33333%; }
  .large-margin-collapse > .small-8 {
    width: 66.66667%; }
  .large-margin-collapse > .small-9 {
    width: 75%; }
  .large-margin-collapse > .small-10 {
    width: 83.33333%; }
  .large-margin-collapse > .small-11 {
    width: 91.66667%; }
  .large-margin-collapse > .small-12 {
    width: 100%; } }

@media screen and (min-width: 81.25em) {
  .large-margin-collapse > .medium-1 {
    width: 8.33333%; }
  .large-margin-collapse > .medium-2 {
    width: 16.66667%; }
  .large-margin-collapse > .medium-3 {
    width: 25%; }
  .large-margin-collapse > .medium-4 {
    width: 33.33333%; }
  .large-margin-collapse > .medium-5 {
    width: 41.66667%; }
  .large-margin-collapse > .medium-6 {
    width: 50%; }
  .large-margin-collapse > .medium-7 {
    width: 58.33333%; }
  .large-margin-collapse > .medium-8 {
    width: 66.66667%; }
  .large-margin-collapse > .medium-9 {
    width: 75%; }
  .large-margin-collapse > .medium-10 {
    width: 83.33333%; }
  .large-margin-collapse > .medium-11 {
    width: 91.66667%; }
  .large-margin-collapse > .medium-12 {
    width: 100%; } }

@media screen and (min-width: 81.25em) {
  .large-margin-collapse > .large-1 {
    width: 8.33333%; }
  .large-margin-collapse > .large-2 {
    width: 16.66667%; }
  .large-margin-collapse > .large-3 {
    width: 25%; }
  .large-margin-collapse > .large-4 {
    width: 33.33333%; }
  .large-margin-collapse > .large-5 {
    width: 41.66667%; }
  .large-margin-collapse > .large-6 {
    width: 50%; }
  .large-margin-collapse > .large-7 {
    width: 58.33333%; }
  .large-margin-collapse > .large-8 {
    width: 66.66667%; }
  .large-margin-collapse > .large-9 {
    width: 75%; }
  .large-margin-collapse > .large-10 {
    width: 83.33333%; }
  .large-margin-collapse > .large-11 {
    width: 91.66667%; }
  .large-margin-collapse > .large-12 {
    width: 100%; } }

@media screen and (min-width: 100em) {
  .large-margin-collapse > .xlarge-1 {
    width: 8.33333%; }
  .large-margin-collapse > .xlarge-2 {
    width: 16.66667%; }
  .large-margin-collapse > .xlarge-3 {
    width: 25%; }
  .large-margin-collapse > .xlarge-4 {
    width: 33.33333%; }
  .large-margin-collapse > .xlarge-5 {
    width: 41.66667%; }
  .large-margin-collapse > .xlarge-6 {
    width: 50%; }
  .large-margin-collapse > .xlarge-7 {
    width: 58.33333%; }
  .large-margin-collapse > .xlarge-8 {
    width: 66.66667%; }
  .large-margin-collapse > .xlarge-9 {
    width: 75%; }
  .large-margin-collapse > .xlarge-10 {
    width: 83.33333%; }
  .large-margin-collapse > .xlarge-11 {
    width: 91.66667%; }
  .large-margin-collapse > .xlarge-12 {
    width: 100%; } }

@media screen and (min-width: 81.25em) {
  .large-padding-collapse {
    margin-right: 0;
    margin-left: 0; }
    .large-padding-collapse > .cell {
      padding-right: 0;
      padding-left: 0; } }

@media screen and (min-width: 100em) {
  .xlarge-margin-collapse {
    margin-right: 0;
    margin-left: 0; }
    .xlarge-margin-collapse > .cell {
      margin-right: 0;
      margin-left: 0; } }

@media screen and (min-width: 100em) {
  .xlarge-margin-collapse > .small-1 {
    width: 8.33333%; }
  .xlarge-margin-collapse > .small-2 {
    width: 16.66667%; }
  .xlarge-margin-collapse > .small-3 {
    width: 25%; }
  .xlarge-margin-collapse > .small-4 {
    width: 33.33333%; }
  .xlarge-margin-collapse > .small-5 {
    width: 41.66667%; }
  .xlarge-margin-collapse > .small-6 {
    width: 50%; }
  .xlarge-margin-collapse > .small-7 {
    width: 58.33333%; }
  .xlarge-margin-collapse > .small-8 {
    width: 66.66667%; }
  .xlarge-margin-collapse > .small-9 {
    width: 75%; }
  .xlarge-margin-collapse > .small-10 {
    width: 83.33333%; }
  .xlarge-margin-collapse > .small-11 {
    width: 91.66667%; }
  .xlarge-margin-collapse > .small-12 {
    width: 100%; } }

@media screen and (min-width: 100em) {
  .xlarge-margin-collapse > .medium-1 {
    width: 8.33333%; }
  .xlarge-margin-collapse > .medium-2 {
    width: 16.66667%; }
  .xlarge-margin-collapse > .medium-3 {
    width: 25%; }
  .xlarge-margin-collapse > .medium-4 {
    width: 33.33333%; }
  .xlarge-margin-collapse > .medium-5 {
    width: 41.66667%; }
  .xlarge-margin-collapse > .medium-6 {
    width: 50%; }
  .xlarge-margin-collapse > .medium-7 {
    width: 58.33333%; }
  .xlarge-margin-collapse > .medium-8 {
    width: 66.66667%; }
  .xlarge-margin-collapse > .medium-9 {
    width: 75%; }
  .xlarge-margin-collapse > .medium-10 {
    width: 83.33333%; }
  .xlarge-margin-collapse > .medium-11 {
    width: 91.66667%; }
  .xlarge-margin-collapse > .medium-12 {
    width: 100%; } }

@media screen and (min-width: 100em) {
  .xlarge-margin-collapse > .large-1 {
    width: 8.33333%; }
  .xlarge-margin-collapse > .large-2 {
    width: 16.66667%; }
  .xlarge-margin-collapse > .large-3 {
    width: 25%; }
  .xlarge-margin-collapse > .large-4 {
    width: 33.33333%; }
  .xlarge-margin-collapse > .large-5 {
    width: 41.66667%; }
  .xlarge-margin-collapse > .large-6 {
    width: 50%; }
  .xlarge-margin-collapse > .large-7 {
    width: 58.33333%; }
  .xlarge-margin-collapse > .large-8 {
    width: 66.66667%; }
  .xlarge-margin-collapse > .large-9 {
    width: 75%; }
  .xlarge-margin-collapse > .large-10 {
    width: 83.33333%; }
  .xlarge-margin-collapse > .large-11 {
    width: 91.66667%; }
  .xlarge-margin-collapse > .large-12 {
    width: 100%; } }

@media screen and (min-width: 100em) {
  .xlarge-margin-collapse > .xlarge-1 {
    width: 8.33333%; }
  .xlarge-margin-collapse > .xlarge-2 {
    width: 16.66667%; }
  .xlarge-margin-collapse > .xlarge-3 {
    width: 25%; }
  .xlarge-margin-collapse > .xlarge-4 {
    width: 33.33333%; }
  .xlarge-margin-collapse > .xlarge-5 {
    width: 41.66667%; }
  .xlarge-margin-collapse > .xlarge-6 {
    width: 50%; }
  .xlarge-margin-collapse > .xlarge-7 {
    width: 58.33333%; }
  .xlarge-margin-collapse > .xlarge-8 {
    width: 66.66667%; }
  .xlarge-margin-collapse > .xlarge-9 {
    width: 75%; }
  .xlarge-margin-collapse > .xlarge-10 {
    width: 83.33333%; }
  .xlarge-margin-collapse > .xlarge-11 {
    width: 91.66667%; }
  .xlarge-margin-collapse > .xlarge-12 {
    width: 100%; } }

@media screen and (min-width: 100em) {
  .xlarge-padding-collapse {
    margin-right: 0;
    margin-left: 0; }
    .xlarge-padding-collapse > .cell {
      padding-right: 0;
      padding-left: 0; } }

.small-offset-0 {
  margin-left: 0%; }

.grid-margin-x > .small-offset-0 {
  margin-left: calc(0% + 0.625rem / 2); }

.small-offset-1 {
  margin-left: 8.33333%; }

.grid-margin-x > .small-offset-1 {
  margin-left: calc(8.33333% + 0.625rem / 2); }

.small-offset-2 {
  margin-left: 16.66667%; }

.grid-margin-x > .small-offset-2 {
  margin-left: calc(16.66667% + 0.625rem / 2); }

.small-offset-3 {
  margin-left: 25%; }

.grid-margin-x > .small-offset-3 {
  margin-left: calc(25% + 0.625rem / 2); }

.small-offset-4 {
  margin-left: 33.33333%; }

.grid-margin-x > .small-offset-4 {
  margin-left: calc(33.33333% + 0.625rem / 2); }

.small-offset-5 {
  margin-left: 41.66667%; }

.grid-margin-x > .small-offset-5 {
  margin-left: calc(41.66667% + 0.625rem / 2); }

.small-offset-6 {
  margin-left: 50%; }

.grid-margin-x > .small-offset-6 {
  margin-left: calc(50% + 0.625rem / 2); }

.small-offset-7 {
  margin-left: 58.33333%; }

.grid-margin-x > .small-offset-7 {
  margin-left: calc(58.33333% + 0.625rem / 2); }

.small-offset-8 {
  margin-left: 66.66667%; }

.grid-margin-x > .small-offset-8 {
  margin-left: calc(66.66667% + 0.625rem / 2); }

.small-offset-9 {
  margin-left: 75%; }

.grid-margin-x > .small-offset-9 {
  margin-left: calc(75% + 0.625rem / 2); }

.small-offset-10 {
  margin-left: 83.33333%; }

.grid-margin-x > .small-offset-10 {
  margin-left: calc(83.33333% + 0.625rem / 2); }

.small-offset-11 {
  margin-left: 91.66667%; }

.grid-margin-x > .small-offset-11 {
  margin-left: calc(91.66667% + 0.625rem / 2); }

@media print, screen and (min-width: 40em) {
  .medium-offset-0 {
    margin-left: 0%; }
  .grid-margin-x > .medium-offset-0 {
    margin-left: calc(0% + 1.25rem / 2); }
  .medium-offset-1 {
    margin-left: 8.33333%; }
  .grid-margin-x > .medium-offset-1 {
    margin-left: calc(8.33333% + 1.25rem / 2); }
  .medium-offset-2 {
    margin-left: 16.66667%; }
  .grid-margin-x > .medium-offset-2 {
    margin-left: calc(16.66667% + 1.25rem / 2); }
  .medium-offset-3 {
    margin-left: 25%; }
  .grid-margin-x > .medium-offset-3 {
    margin-left: calc(25% + 1.25rem / 2); }
  .medium-offset-4 {
    margin-left: 33.33333%; }
  .grid-margin-x > .medium-offset-4 {
    margin-left: calc(33.33333% + 1.25rem / 2); }
  .medium-offset-5 {
    margin-left: 41.66667%; }
  .grid-margin-x > .medium-offset-5 {
    margin-left: calc(41.66667% + 1.25rem / 2); }
  .medium-offset-6 {
    margin-left: 50%; }
  .grid-margin-x > .medium-offset-6 {
    margin-left: calc(50% + 1.25rem / 2); }
  .medium-offset-7 {
    margin-left: 58.33333%; }
  .grid-margin-x > .medium-offset-7 {
    margin-left: calc(58.33333% + 1.25rem / 2); }
  .medium-offset-8 {
    margin-left: 66.66667%; }
  .grid-margin-x > .medium-offset-8 {
    margin-left: calc(66.66667% + 1.25rem / 2); }
  .medium-offset-9 {
    margin-left: 75%; }
  .grid-margin-x > .medium-offset-9 {
    margin-left: calc(75% + 1.25rem / 2); }
  .medium-offset-10 {
    margin-left: 83.33333%; }
  .grid-margin-x > .medium-offset-10 {
    margin-left: calc(83.33333% + 1.25rem / 2); }
  .medium-offset-11 {
    margin-left: 91.66667%; }
  .grid-margin-x > .medium-offset-11 {
    margin-left: calc(91.66667% + 1.25rem / 2); } }

@media screen and (min-width: 81.25em) {
  .large-offset-0 {
    margin-left: 0%; }
  .grid-margin-x > .large-offset-0 {
    margin-left: calc(0% + 1.25rem / 2); }
  .large-offset-1 {
    margin-left: 8.33333%; }
  .grid-margin-x > .large-offset-1 {
    margin-left: calc(8.33333% + 1.25rem / 2); }
  .large-offset-2 {
    margin-left: 16.66667%; }
  .grid-margin-x > .large-offset-2 {
    margin-left: calc(16.66667% + 1.25rem / 2); }
  .large-offset-3 {
    margin-left: 25%; }
  .grid-margin-x > .large-offset-3 {
    margin-left: calc(25% + 1.25rem / 2); }
  .large-offset-4 {
    margin-left: 33.33333%; }
  .grid-margin-x > .large-offset-4 {
    margin-left: calc(33.33333% + 1.25rem / 2); }
  .large-offset-5 {
    margin-left: 41.66667%; }
  .grid-margin-x > .large-offset-5 {
    margin-left: calc(41.66667% + 1.25rem / 2); }
  .large-offset-6 {
    margin-left: 50%; }
  .grid-margin-x > .large-offset-6 {
    margin-left: calc(50% + 1.25rem / 2); }
  .large-offset-7 {
    margin-left: 58.33333%; }
  .grid-margin-x > .large-offset-7 {
    margin-left: calc(58.33333% + 1.25rem / 2); }
  .large-offset-8 {
    margin-left: 66.66667%; }
  .grid-margin-x > .large-offset-8 {
    margin-left: calc(66.66667% + 1.25rem / 2); }
  .large-offset-9 {
    margin-left: 75%; }
  .grid-margin-x > .large-offset-9 {
    margin-left: calc(75% + 1.25rem / 2); }
  .large-offset-10 {
    margin-left: 83.33333%; }
  .grid-margin-x > .large-offset-10 {
    margin-left: calc(83.33333% + 1.25rem / 2); }
  .large-offset-11 {
    margin-left: 91.66667%; }
  .grid-margin-x > .large-offset-11 {
    margin-left: calc(91.66667% + 1.25rem / 2); } }

@media screen and (min-width: 100em) {
  .xlarge-offset-0 {
    margin-left: 0%; }
  .grid-margin-x > .xlarge-offset-0 {
    margin-left: calc(0% + 1.25rem / 2); }
  .xlarge-offset-1 {
    margin-left: 8.33333%; }
  .grid-margin-x > .xlarge-offset-1 {
    margin-left: calc(8.33333% + 1.25rem / 2); }
  .xlarge-offset-2 {
    margin-left: 16.66667%; }
  .grid-margin-x > .xlarge-offset-2 {
    margin-left: calc(16.66667% + 1.25rem / 2); }
  .xlarge-offset-3 {
    margin-left: 25%; }
  .grid-margin-x > .xlarge-offset-3 {
    margin-left: calc(25% + 1.25rem / 2); }
  .xlarge-offset-4 {
    margin-left: 33.33333%; }
  .grid-margin-x > .xlarge-offset-4 {
    margin-left: calc(33.33333% + 1.25rem / 2); }
  .xlarge-offset-5 {
    margin-left: 41.66667%; }
  .grid-margin-x > .xlarge-offset-5 {
    margin-left: calc(41.66667% + 1.25rem / 2); }
  .xlarge-offset-6 {
    margin-left: 50%; }
  .grid-margin-x > .xlarge-offset-6 {
    margin-left: calc(50% + 1.25rem / 2); }
  .xlarge-offset-7 {
    margin-left: 58.33333%; }
  .grid-margin-x > .xlarge-offset-7 {
    margin-left: calc(58.33333% + 1.25rem / 2); }
  .xlarge-offset-8 {
    margin-left: 66.66667%; }
  .grid-margin-x > .xlarge-offset-8 {
    margin-left: calc(66.66667% + 1.25rem / 2); }
  .xlarge-offset-9 {
    margin-left: 75%; }
  .grid-margin-x > .xlarge-offset-9 {
    margin-left: calc(75% + 1.25rem / 2); }
  .xlarge-offset-10 {
    margin-left: 83.33333%; }
  .grid-margin-x > .xlarge-offset-10 {
    margin-left: calc(83.33333% + 1.25rem / 2); }
  .xlarge-offset-11 {
    margin-left: 91.66667%; }
  .grid-margin-x > .xlarge-offset-11 {
    margin-left: calc(91.66667% + 1.25rem / 2); } }

.grid-y {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-flow: column nowrap;
          flex-flow: column nowrap; }
  .grid-y > .cell {
    height: auto;
    max-height: none; }
  .grid-y > .auto {
    height: auto; }
  .grid-y > .shrink {
    height: auto; }
  .grid-y > .small-shrink, .grid-y > .small-full, .grid-y > .small-1, .grid-y > .small-2, .grid-y > .small-3, .grid-y > .small-4, .grid-y > .small-5, .grid-y > .small-6, .grid-y > .small-7, .grid-y > .small-8, .grid-y > .small-9, .grid-y > .small-10, .grid-y > .small-11, .grid-y > .small-12 {
    -ms-flex-preferred-size: auto;
        flex-basis: auto; }
  @media print, screen and (min-width: 40em) {
    .grid-y > .medium-shrink, .grid-y > .medium-full, .grid-y > .medium-1, .grid-y > .medium-2, .grid-y > .medium-3, .grid-y > .medium-4, .grid-y > .medium-5, .grid-y > .medium-6, .grid-y > .medium-7, .grid-y > .medium-8, .grid-y > .medium-9, .grid-y > .medium-10, .grid-y > .medium-11, .grid-y > .medium-12 {
      -ms-flex-preferred-size: auto;
          flex-basis: auto; } }
  @media screen and (min-width: 81.25em) {
    .grid-y > .large-shrink, .grid-y > .large-full, .grid-y > .large-1, .grid-y > .large-2, .grid-y > .large-3, .grid-y > .large-4, .grid-y > .large-5, .grid-y > .large-6, .grid-y > .large-7, .grid-y > .large-8, .grid-y > .large-9, .grid-y > .large-10, .grid-y > .large-11, .grid-y > .large-12 {
      -ms-flex-preferred-size: auto;
          flex-basis: auto; } }
  @media screen and (min-width: 100em) {
    .grid-y > .xlarge-shrink, .grid-y > .xlarge-full, .grid-y > .xlarge-1, .grid-y > .xlarge-2, .grid-y > .xlarge-3, .grid-y > .xlarge-4, .grid-y > .xlarge-5, .grid-y > .xlarge-6, .grid-y > .xlarge-7, .grid-y > .xlarge-8, .grid-y > .xlarge-9, .grid-y > .xlarge-10, .grid-y > .xlarge-11, .grid-y > .xlarge-12 {
      -ms-flex-preferred-size: auto;
          flex-basis: auto; } }
  .grid-y > .small-1, .grid-y > .small-2, .grid-y > .small-3, .grid-y > .small-4, .grid-y > .small-5, .grid-y > .small-6, .grid-y > .small-7, .grid-y > .small-8, .grid-y > .small-9, .grid-y > .small-10, .grid-y > .small-11, .grid-y > .small-12 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto; }
  .grid-y > .small-1 {
    height: 8.33333%; }
  .grid-y > .small-2 {
    height: 16.66667%; }
  .grid-y > .small-3 {
    height: 25%; }
  .grid-y > .small-4 {
    height: 33.33333%; }
  .grid-y > .small-5 {
    height: 41.66667%; }
  .grid-y > .small-6 {
    height: 50%; }
  .grid-y > .small-7 {
    height: 58.33333%; }
  .grid-y > .small-8 {
    height: 66.66667%; }
  .grid-y > .small-9 {
    height: 75%; }
  .grid-y > .small-10 {
    height: 83.33333%; }
  .grid-y > .small-11 {
    height: 91.66667%; }
  .grid-y > .small-12 {
    height: 100%; }
  @media print, screen and (min-width: 40em) {
    .grid-y > .medium-auto {
      -webkit-box-flex: 1;
          -ms-flex: 1 1 0px;
              flex: 1 1 0;
      height: auto; }
    .grid-y > .medium-shrink, .grid-y > .medium-1, .grid-y > .medium-2, .grid-y > .medium-3, .grid-y > .medium-4, .grid-y > .medium-5, .grid-y > .medium-6, .grid-y > .medium-7, .grid-y > .medium-8, .grid-y > .medium-9, .grid-y > .medium-10, .grid-y > .medium-11, .grid-y > .medium-12 {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 auto;
              flex: 0 0 auto; }
    .grid-y > .medium-shrink {
      height: auto; }
    .grid-y > .medium-1 {
      height: 8.33333%; }
    .grid-y > .medium-2 {
      height: 16.66667%; }
    .grid-y > .medium-3 {
      height: 25%; }
    .grid-y > .medium-4 {
      height: 33.33333%; }
    .grid-y > .medium-5 {
      height: 41.66667%; }
    .grid-y > .medium-6 {
      height: 50%; }
    .grid-y > .medium-7 {
      height: 58.33333%; }
    .grid-y > .medium-8 {
      height: 66.66667%; }
    .grid-y > .medium-9 {
      height: 75%; }
    .grid-y > .medium-10 {
      height: 83.33333%; }
    .grid-y > .medium-11 {
      height: 91.66667%; }
    .grid-y > .medium-12 {
      height: 100%; } }
  @media screen and (min-width: 81.25em) {
    .grid-y > .large-auto {
      -webkit-box-flex: 1;
          -ms-flex: 1 1 0px;
              flex: 1 1 0;
      height: auto; }
    .grid-y > .large-shrink, .grid-y > .large-1, .grid-y > .large-2, .grid-y > .large-3, .grid-y > .large-4, .grid-y > .large-5, .grid-y > .large-6, .grid-y > .large-7, .grid-y > .large-8, .grid-y > .large-9, .grid-y > .large-10, .grid-y > .large-11, .grid-y > .large-12 {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 auto;
              flex: 0 0 auto; }
    .grid-y > .large-shrink {
      height: auto; }
    .grid-y > .large-1 {
      height: 8.33333%; }
    .grid-y > .large-2 {
      height: 16.66667%; }
    .grid-y > .large-3 {
      height: 25%; }
    .grid-y > .large-4 {
      height: 33.33333%; }
    .grid-y > .large-5 {
      height: 41.66667%; }
    .grid-y > .large-6 {
      height: 50%; }
    .grid-y > .large-7 {
      height: 58.33333%; }
    .grid-y > .large-8 {
      height: 66.66667%; }
    .grid-y > .large-9 {
      height: 75%; }
    .grid-y > .large-10 {
      height: 83.33333%; }
    .grid-y > .large-11 {
      height: 91.66667%; }
    .grid-y > .large-12 {
      height: 100%; } }
  @media screen and (min-width: 100em) {
    .grid-y > .xlarge-auto {
      -webkit-box-flex: 1;
          -ms-flex: 1 1 0px;
              flex: 1 1 0;
      height: auto; }
    .grid-y > .xlarge-shrink, .grid-y > .xlarge-1, .grid-y > .xlarge-2, .grid-y > .xlarge-3, .grid-y > .xlarge-4, .grid-y > .xlarge-5, .grid-y > .xlarge-6, .grid-y > .xlarge-7, .grid-y > .xlarge-8, .grid-y > .xlarge-9, .grid-y > .xlarge-10, .grid-y > .xlarge-11, .grid-y > .xlarge-12 {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 auto;
              flex: 0 0 auto; }
    .grid-y > .xlarge-shrink {
      height: auto; }
    .grid-y > .xlarge-1 {
      height: 8.33333%; }
    .grid-y > .xlarge-2 {
      height: 16.66667%; }
    .grid-y > .xlarge-3 {
      height: 25%; }
    .grid-y > .xlarge-4 {
      height: 33.33333%; }
    .grid-y > .xlarge-5 {
      height: 41.66667%; }
    .grid-y > .xlarge-6 {
      height: 50%; }
    .grid-y > .xlarge-7 {
      height: 58.33333%; }
    .grid-y > .xlarge-8 {
      height: 66.66667%; }
    .grid-y > .xlarge-9 {
      height: 75%; }
    .grid-y > .xlarge-10 {
      height: 83.33333%; }
    .grid-y > .xlarge-11 {
      height: 91.66667%; }
    .grid-y > .xlarge-12 {
      height: 100%; } }

.grid-padding-y .grid-padding-y {
  margin-top: -0.3125rem;
  margin-bottom: -0.3125rem; }
  @media print, screen and (min-width: 40em) {
    .grid-padding-y .grid-padding-y {
      margin-top: -0.625rem;
      margin-bottom: -0.625rem; } }

.grid-padding-y > .cell {
  padding-top: 0.3125rem;
  padding-bottom: 0.3125rem; }
  @media print, screen and (min-width: 40em) {
    .grid-padding-y > .cell {
      padding-top: 0.625rem;
      padding-bottom: 0.625rem; } }

.grid-margin-y {
  margin-top: -0.3125rem;
  margin-bottom: -0.3125rem; }
  @media print, screen and (min-width: 40em) {
    .grid-margin-y {
      margin-top: -0.625rem;
      margin-bottom: -0.625rem; } }
  .grid-margin-y > .cell {
    height: calc(100% - 0.625rem);
    margin-top: 0.3125rem;
    margin-bottom: 0.3125rem; }
  @media print, screen and (min-width: 40em) {
    .grid-margin-y > .cell {
      height: calc(100% - 1.25rem);
      margin-top: 0.625rem;
      margin-bottom: 0.625rem; } }
  .grid-margin-y > .auto {
    height: auto; }
  .grid-margin-y > .shrink {
    height: auto; }
  .grid-margin-y > .small-1 {
    height: calc(8.33333% - 0.625rem); }
  .grid-margin-y > .small-2 {
    height: calc(16.66667% - 0.625rem); }
  .grid-margin-y > .small-3 {
    height: calc(25% - 0.625rem); }
  .grid-margin-y > .small-4 {
    height: calc(33.33333% - 0.625rem); }
  .grid-margin-y > .small-5 {
    height: calc(41.66667% - 0.625rem); }
  .grid-margin-y > .small-6 {
    height: calc(50% - 0.625rem); }
  .grid-margin-y > .small-7 {
    height: calc(58.33333% - 0.625rem); }
  .grid-margin-y > .small-8 {
    height: calc(66.66667% - 0.625rem); }
  .grid-margin-y > .small-9 {
    height: calc(75% - 0.625rem); }
  .grid-margin-y > .small-10 {
    height: calc(83.33333% - 0.625rem); }
  .grid-margin-y > .small-11 {
    height: calc(91.66667% - 0.625rem); }
  .grid-margin-y > .small-12 {
    height: calc(100% - 0.625rem); }
  @media print, screen and (min-width: 40em) {
    .grid-margin-y > .auto {
      height: auto; }
    .grid-margin-y > .shrink {
      height: auto; }
    .grid-margin-y > .small-1 {
      height: calc(8.33333% - 1.25rem); }
    .grid-margin-y > .small-2 {
      height: calc(16.66667% - 1.25rem); }
    .grid-margin-y > .small-3 {
      height: calc(25% - 1.25rem); }
    .grid-margin-y > .small-4 {
      height: calc(33.33333% - 1.25rem); }
    .grid-margin-y > .small-5 {
      height: calc(41.66667% - 1.25rem); }
    .grid-margin-y > .small-6 {
      height: calc(50% - 1.25rem); }
    .grid-margin-y > .small-7 {
      height: calc(58.33333% - 1.25rem); }
    .grid-margin-y > .small-8 {
      height: calc(66.66667% - 1.25rem); }
    .grid-margin-y > .small-9 {
      height: calc(75% - 1.25rem); }
    .grid-margin-y > .small-10 {
      height: calc(83.33333% - 1.25rem); }
    .grid-margin-y > .small-11 {
      height: calc(91.66667% - 1.25rem); }
    .grid-margin-y > .small-12 {
      height: calc(100% - 1.25rem); }
    .grid-margin-y > .medium-auto {
      height: auto; }
    .grid-margin-y > .medium-shrink {
      height: auto; }
    .grid-margin-y > .medium-1 {
      height: calc(8.33333% - 1.25rem); }
    .grid-margin-y > .medium-2 {
      height: calc(16.66667% - 1.25rem); }
    .grid-margin-y > .medium-3 {
      height: calc(25% - 1.25rem); }
    .grid-margin-y > .medium-4 {
      height: calc(33.33333% - 1.25rem); }
    .grid-margin-y > .medium-5 {
      height: calc(41.66667% - 1.25rem); }
    .grid-margin-y > .medium-6 {
      height: calc(50% - 1.25rem); }
    .grid-margin-y > .medium-7 {
      height: calc(58.33333% - 1.25rem); }
    .grid-margin-y > .medium-8 {
      height: calc(66.66667% - 1.25rem); }
    .grid-margin-y > .medium-9 {
      height: calc(75% - 1.25rem); }
    .grid-margin-y > .medium-10 {
      height: calc(83.33333% - 1.25rem); }
    .grid-margin-y > .medium-11 {
      height: calc(91.66667% - 1.25rem); }
    .grid-margin-y > .medium-12 {
      height: calc(100% - 1.25rem); } }
  @media screen and (min-width: 81.25em) {
    .grid-margin-y > .large-auto {
      height: auto; }
    .grid-margin-y > .large-shrink {
      height: auto; }
    .grid-margin-y > .large-1 {
      height: calc(8.33333% - 1.25rem); }
    .grid-margin-y > .large-2 {
      height: calc(16.66667% - 1.25rem); }
    .grid-margin-y > .large-3 {
      height: calc(25% - 1.25rem); }
    .grid-margin-y > .large-4 {
      height: calc(33.33333% - 1.25rem); }
    .grid-margin-y > .large-5 {
      height: calc(41.66667% - 1.25rem); }
    .grid-margin-y > .large-6 {
      height: calc(50% - 1.25rem); }
    .grid-margin-y > .large-7 {
      height: calc(58.33333% - 1.25rem); }
    .grid-margin-y > .large-8 {
      height: calc(66.66667% - 1.25rem); }
    .grid-margin-y > .large-9 {
      height: calc(75% - 1.25rem); }
    .grid-margin-y > .large-10 {
      height: calc(83.33333% - 1.25rem); }
    .grid-margin-y > .large-11 {
      height: calc(91.66667% - 1.25rem); }
    .grid-margin-y > .large-12 {
      height: calc(100% - 1.25rem); } }
  @media screen and (min-width: 100em) {
    .grid-margin-y > .xlarge-auto {
      height: auto; }
    .grid-margin-y > .xlarge-shrink {
      height: auto; }
    .grid-margin-y > .xlarge-1 {
      height: calc(8.33333% - 1.25rem); }
    .grid-margin-y > .xlarge-2 {
      height: calc(16.66667% - 1.25rem); }
    .grid-margin-y > .xlarge-3 {
      height: calc(25% - 1.25rem); }
    .grid-margin-y > .xlarge-4 {
      height: calc(33.33333% - 1.25rem); }
    .grid-margin-y > .xlarge-5 {
      height: calc(41.66667% - 1.25rem); }
    .grid-margin-y > .xlarge-6 {
      height: calc(50% - 1.25rem); }
    .grid-margin-y > .xlarge-7 {
      height: calc(58.33333% - 1.25rem); }
    .grid-margin-y > .xlarge-8 {
      height: calc(66.66667% - 1.25rem); }
    .grid-margin-y > .xlarge-9 {
      height: calc(75% - 1.25rem); }
    .grid-margin-y > .xlarge-10 {
      height: calc(83.33333% - 1.25rem); }
    .grid-margin-y > .xlarge-11 {
      height: calc(91.66667% - 1.25rem); }
    .grid-margin-y > .xlarge-12 {
      height: calc(100% - 1.25rem); } }

.grid-frame {
  overflow: hidden;
  position: relative;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  width: 100vw; }

.cell .grid-frame {
  width: 100%; }

.cell-block {
  overflow-x: auto;
  max-width: 100%;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-style: -ms-autohiding-scrollbar; }

.cell-block-y {
  overflow-y: auto;
  max-height: 100%;
  min-height: 100%;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-style: -ms-autohiding-scrollbar; }

.cell-block-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  max-height: 100%; }
  .cell-block-container > .grid-x {
    max-height: 100%;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap; }

@media print, screen and (min-width: 40em) {
  .medium-grid-frame {
    overflow: hidden;
    position: relative;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    width: 100vw; }
  .cell .medium-grid-frame {
    width: 100%; }
  .medium-cell-block {
    overflow-x: auto;
    max-width: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar; }
  .medium-cell-block-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    max-height: 100%; }
    .medium-cell-block-container > .grid-x {
      max-height: 100%;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap; }
  .medium-cell-block-y {
    overflow-y: auto;
    max-height: 100%;
    min-height: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar; } }

@media screen and (min-width: 81.25em) {
  .large-grid-frame {
    overflow: hidden;
    position: relative;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    width: 100vw; }
  .cell .large-grid-frame {
    width: 100%; }
  .large-cell-block {
    overflow-x: auto;
    max-width: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar; }
  .large-cell-block-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    max-height: 100%; }
    .large-cell-block-container > .grid-x {
      max-height: 100%;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap; }
  .large-cell-block-y {
    overflow-y: auto;
    max-height: 100%;
    min-height: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar; } }

@media screen and (min-width: 100em) {
  .xlarge-grid-frame {
    overflow: hidden;
    position: relative;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    width: 100vw; }
  .cell .xlarge-grid-frame {
    width: 100%; }
  .xlarge-cell-block {
    overflow-x: auto;
    max-width: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar; }
  .xlarge-cell-block-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    max-height: 100%; }
    .xlarge-cell-block-container > .grid-x {
      max-height: 100%;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap; }
  .xlarge-cell-block-y {
    overflow-y: auto;
    max-height: 100%;
    min-height: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar; } }

.grid-y.grid-frame {
  overflow: hidden;
  position: relative;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  height: 100vh;
  width: auto; }

@media print, screen and (min-width: 40em) {
  .grid-y.medium-grid-frame {
    overflow: hidden;
    position: relative;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    height: 100vh;
    width: auto; } }

@media screen and (min-width: 81.25em) {
  .grid-y.large-grid-frame {
    overflow: hidden;
    position: relative;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    height: 100vh;
    width: auto; } }

@media screen and (min-width: 100em) {
  .grid-y.xlarge-grid-frame {
    overflow: hidden;
    position: relative;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    height: 100vh;
    width: auto; } }

.cell .grid-y.grid-frame {
  height: 100%; }

@media print, screen and (min-width: 40em) {
  .cell .grid-y.medium-grid-frame {
    height: 100%; } }

@media screen and (min-width: 81.25em) {
  .cell .grid-y.large-grid-frame {
    height: 100%; } }

@media screen and (min-width: 100em) {
  .cell .grid-y.xlarge-grid-frame {
    height: 100%; } }

.grid-margin-y {
  margin-top: -0.3125rem;
  margin-bottom: -0.3125rem; }
  @media print, screen and (min-width: 40em) {
    .grid-margin-y {
      margin-top: -0.625rem;
      margin-bottom: -0.625rem; } }
  .grid-margin-y > .cell {
    height: calc(100% - 0.625rem);
    margin-top: 0.3125rem;
    margin-bottom: 0.3125rem; }
  @media print, screen and (min-width: 40em) {
    .grid-margin-y > .cell {
      height: calc(100% - 1.25rem);
      margin-top: 0.625rem;
      margin-bottom: 0.625rem; } }
  .grid-margin-y > .auto {
    height: auto; }
  .grid-margin-y > .shrink {
    height: auto; }
  .grid-margin-y > .small-1 {
    height: calc(8.33333% - 0.625rem); }
  .grid-margin-y > .small-2 {
    height: calc(16.66667% - 0.625rem); }
  .grid-margin-y > .small-3 {
    height: calc(25% - 0.625rem); }
  .grid-margin-y > .small-4 {
    height: calc(33.33333% - 0.625rem); }
  .grid-margin-y > .small-5 {
    height: calc(41.66667% - 0.625rem); }
  .grid-margin-y > .small-6 {
    height: calc(50% - 0.625rem); }
  .grid-margin-y > .small-7 {
    height: calc(58.33333% - 0.625rem); }
  .grid-margin-y > .small-8 {
    height: calc(66.66667% - 0.625rem); }
  .grid-margin-y > .small-9 {
    height: calc(75% - 0.625rem); }
  .grid-margin-y > .small-10 {
    height: calc(83.33333% - 0.625rem); }
  .grid-margin-y > .small-11 {
    height: calc(91.66667% - 0.625rem); }
  .grid-margin-y > .small-12 {
    height: calc(100% - 0.625rem); }
  @media print, screen and (min-width: 40em) {
    .grid-margin-y > .auto {
      height: auto; }
    .grid-margin-y > .shrink {
      height: auto; }
    .grid-margin-y > .small-1 {
      height: calc(8.33333% - 1.25rem); }
    .grid-margin-y > .small-2 {
      height: calc(16.66667% - 1.25rem); }
    .grid-margin-y > .small-3 {
      height: calc(25% - 1.25rem); }
    .grid-margin-y > .small-4 {
      height: calc(33.33333% - 1.25rem); }
    .grid-margin-y > .small-5 {
      height: calc(41.66667% - 1.25rem); }
    .grid-margin-y > .small-6 {
      height: calc(50% - 1.25rem); }
    .grid-margin-y > .small-7 {
      height: calc(58.33333% - 1.25rem); }
    .grid-margin-y > .small-8 {
      height: calc(66.66667% - 1.25rem); }
    .grid-margin-y > .small-9 {
      height: calc(75% - 1.25rem); }
    .grid-margin-y > .small-10 {
      height: calc(83.33333% - 1.25rem); }
    .grid-margin-y > .small-11 {
      height: calc(91.66667% - 1.25rem); }
    .grid-margin-y > .small-12 {
      height: calc(100% - 1.25rem); }
    .grid-margin-y > .medium-auto {
      height: auto; }
    .grid-margin-y > .medium-shrink {
      height: auto; }
    .grid-margin-y > .medium-1 {
      height: calc(8.33333% - 1.25rem); }
    .grid-margin-y > .medium-2 {
      height: calc(16.66667% - 1.25rem); }
    .grid-margin-y > .medium-3 {
      height: calc(25% - 1.25rem); }
    .grid-margin-y > .medium-4 {
      height: calc(33.33333% - 1.25rem); }
    .grid-margin-y > .medium-5 {
      height: calc(41.66667% - 1.25rem); }
    .grid-margin-y > .medium-6 {
      height: calc(50% - 1.25rem); }
    .grid-margin-y > .medium-7 {
      height: calc(58.33333% - 1.25rem); }
    .grid-margin-y > .medium-8 {
      height: calc(66.66667% - 1.25rem); }
    .grid-margin-y > .medium-9 {
      height: calc(75% - 1.25rem); }
    .grid-margin-y > .medium-10 {
      height: calc(83.33333% - 1.25rem); }
    .grid-margin-y > .medium-11 {
      height: calc(91.66667% - 1.25rem); }
    .grid-margin-y > .medium-12 {
      height: calc(100% - 1.25rem); } }
  @media screen and (min-width: 81.25em) {
    .grid-margin-y > .large-auto {
      height: auto; }
    .grid-margin-y > .large-shrink {
      height: auto; }
    .grid-margin-y > .large-1 {
      height: calc(8.33333% - 1.25rem); }
    .grid-margin-y > .large-2 {
      height: calc(16.66667% - 1.25rem); }
    .grid-margin-y > .large-3 {
      height: calc(25% - 1.25rem); }
    .grid-margin-y > .large-4 {
      height: calc(33.33333% - 1.25rem); }
    .grid-margin-y > .large-5 {
      height: calc(41.66667% - 1.25rem); }
    .grid-margin-y > .large-6 {
      height: calc(50% - 1.25rem); }
    .grid-margin-y > .large-7 {
      height: calc(58.33333% - 1.25rem); }
    .grid-margin-y > .large-8 {
      height: calc(66.66667% - 1.25rem); }
    .grid-margin-y > .large-9 {
      height: calc(75% - 1.25rem); }
    .grid-margin-y > .large-10 {
      height: calc(83.33333% - 1.25rem); }
    .grid-margin-y > .large-11 {
      height: calc(91.66667% - 1.25rem); }
    .grid-margin-y > .large-12 {
      height: calc(100% - 1.25rem); } }
  @media screen and (min-width: 100em) {
    .grid-margin-y > .xlarge-auto {
      height: auto; }
    .grid-margin-y > .xlarge-shrink {
      height: auto; }
    .grid-margin-y > .xlarge-1 {
      height: calc(8.33333% - 1.25rem); }
    .grid-margin-y > .xlarge-2 {
      height: calc(16.66667% - 1.25rem); }
    .grid-margin-y > .xlarge-3 {
      height: calc(25% - 1.25rem); }
    .grid-margin-y > .xlarge-4 {
      height: calc(33.33333% - 1.25rem); }
    .grid-margin-y > .xlarge-5 {
      height: calc(41.66667% - 1.25rem); }
    .grid-margin-y > .xlarge-6 {
      height: calc(50% - 1.25rem); }
    .grid-margin-y > .xlarge-7 {
      height: calc(58.33333% - 1.25rem); }
    .grid-margin-y > .xlarge-8 {
      height: calc(66.66667% - 1.25rem); }
    .grid-margin-y > .xlarge-9 {
      height: calc(75% - 1.25rem); }
    .grid-margin-y > .xlarge-10 {
      height: calc(83.33333% - 1.25rem); }
    .grid-margin-y > .xlarge-11 {
      height: calc(91.66667% - 1.25rem); }
    .grid-margin-y > .xlarge-12 {
      height: calc(100% - 1.25rem); } }

.grid-frame.grid-margin-y {
  height: calc(100vh + 0.625rem); }
  @media print, screen and (min-width: 40em) {
    .grid-frame.grid-margin-y {
      height: calc(100vh + 1.25rem); } }
  @media screen and (min-width: 81.25em) {
    .grid-frame.grid-margin-y {
      height: calc(100vh + 1.25rem); } }
  @media screen and (min-width: 100em) {
    .grid-frame.grid-margin-y {
      height: calc(100vh + 1.25rem); } }

@media print, screen and (min-width: 40em) {
  .grid-margin-y.medium-grid-frame {
    height: calc(100vh + 1.25rem); } }

@media screen and (min-width: 81.25em) {
  .grid-margin-y.large-grid-frame {
    height: calc(100vh + 1.25rem); } }

@media screen and (min-width: 100em) {
  .grid-margin-y.xlarge-grid-frame {
    height: calc(100vh + 1.25rem); } }

.close-button {
  position: absolute;
  z-index: 10;
  color: #888888;
  cursor: pointer; }
  [data-whatinput='mouse'] .close-button {
    outline: 0; }
  .close-button:hover, .close-button:focus {
    color: #000000; }
  .close-button.small {
    right: 0.66rem;
    top: 0.33em;
    font-size: 1.5em;
    line-height: 1; }
  .close-button, .close-button.medium {
    right: 26px;
    top: auto;
    font-size: 2em;
    line-height: 1; }

.switch {
  position: relative;
  margin-bottom: 1rem;
  outline: 0;
  font-size: 0.875rem;
  font-weight: bold;
  color: #ffffff;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  height: 2rem; }

.switch-input {
  position: absolute;
  margin-bottom: 0;
  opacity: 0; }

.switch-paddle {
  position: relative;
  display: block;
  width: 4rem;
  height: 2rem;
  border-radius: 0;
  background: #ae9461;
  -webkit-transition: all 0.25s ease-out;
  transition: all 0.25s ease-out;
  font-weight: inherit;
  color: inherit;
  cursor: pointer; }
  input + .switch-paddle {
    margin: 0; }
  .switch-paddle::after {
    position: absolute;
    top: 0.41rem;
    left: 0.41rem;
    display: block;
    width: 1.18rem;
    height: 1.18rem;
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
    border-radius: 0;
    background: #ffffff;
    -webkit-transition: all 0.25s ease-out;
    transition: all 0.25s ease-out;
    content: ''; }
  input:checked ~ .switch-paddle {
    background: #06052f; }
    input:checked ~ .switch-paddle::after {
      left: 2.41rem; }
  input:disabled ~ .switch-paddle {
    cursor: not-allowed;
    opacity: 0.5; }
  [data-whatinput='mouse'] input:focus ~ .switch-paddle {
    outline: 0; }

.switch-active, .switch-inactive {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%); }

.switch-active {
  left: 8%;
  display: none; }
  input:checked + label > .switch-active {
    display: block; }

.switch-inactive {
  right: 15%; }
  input:checked + label > .switch-inactive {
    display: none; }

.switch.tiny {
  height: 1.5rem; }
  .switch.tiny .switch-paddle {
    width: 3rem;
    height: 1.5rem;
    font-size: 0.625rem; }
  .switch.tiny .switch-paddle::after {
    top: 0.41rem;
    left: 0.41rem;
    width: 0.68rem;
    height: 0.68rem; }
  .switch.tiny input:checked ~ .switch-paddle::after {
    left: 1.91rem; }

.switch.small {
  height: 1.75rem; }
  .switch.small .switch-paddle {
    width: 3.5rem;
    height: 1.75rem;
    font-size: 0.75rem; }
  .switch.small .switch-paddle::after {
    top: 0.41rem;
    left: 0.41rem;
    width: 0.93rem;
    height: 0.93rem; }
  .switch.small input:checked ~ .switch-paddle::after {
    left: 2.16rem; }

.switch.large {
  height: 2.5rem; }
  .switch.large .switch-paddle {
    width: 5rem;
    height: 2.5rem;
    font-size: 1rem; }
  .switch.large .switch-paddle::after {
    top: 0.41rem;
    left: 0.41rem;
    width: 1.68rem;
    height: 1.68rem; }
  .switch.large input:checked ~ .switch-paddle::after {
    left: 2.91rem; }

table {
  border-collapse: collapse;
  width: 100%;
  margin-bottom: 1rem;
  border-radius: 0; }
  thead,
  tbody,
  tfoot {
    border: 0;
    background-color: transparent; }
  caption {
    padding: 0;
    font-weight: bold; }
  thead {
    background: rgba(6, 6, 6, 0);
    color: #06052f; }
  tfoot {
    background: rgba(13, 13, 13, 0);
    color: #000000; }
  thead tr,
  tfoot tr {
    background: transparent; }
  thead th,
  thead td,
  tfoot th,
  tfoot td {
    padding: 0;
    font-weight: bold;
    text-align: left; }
  tbody th,
  tbody td {
    padding: 0; }
  tbody tr {
    border-bottom: 0;
    background-color: transparent; }
  table.striped tbody tr:nth-child(odd) {
    background-color: #f3f3f3; }

@media print, screen and (max-width: 81.24875em) {
  table.stack thead {
    display: none; }
  table.stack tfoot {
    display: none; }
  table.stack tr,
  table.stack th,
  table.stack td {
    display: block; }
  table.stack td {
    border-top: 0; } }

table.scroll {
  display: block;
  width: 100%;
  overflow-x: auto; }

table.hover thead tr:hover {
  background-color: transparent; }

table.hover tfoot tr:hover {
  background-color: rgba(8, 8, 8, 0); }

table.hover tbody tr:hover {
  background-color: #ffffff; }

table.hover.striped tr:nth-of-type(odd):hover {
  background-color: #ffffff; }

.table-scroll {
  overflow-x: auto; }

.breadcrumbs {
  margin: 0;
  list-style: none; }
  .breadcrumbs::before, .breadcrumbs::after {
    display: table;
    content: ' ';
    -ms-flex-preferred-size: 0;
        flex-basis: 0;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1; }
  .breadcrumbs::after {
    clear: both; }
  .breadcrumbs li {
    float: left;
    font-size: 0.9375rem;
    color: #06052f;
    cursor: default; }
    .breadcrumbs li:not(:last-child)::after {
      position: relative;
      margin: 0 0.75rem;
      opacity: 1;
      content: "";
      color: #777777; }
  .breadcrumbs a {
    color: #777777; }
    .breadcrumbs a:hover {
      text-decoration: underline; }
  .breadcrumbs .disabled {
    color: #06052f;
    cursor: not-allowed; }

.callout {
  position: relative;
  margin: 0 0 1rem 0;
  padding: 1rem;
  border: 1px solid transparent;
  border-radius: 0;
  background-color: white;
  color: #000000; }
  .callout > :first-child {
    margin-top: 0; }
  .callout > :last-child {
    margin-bottom: 0; }
  .callout.primary {
    background-color: #06052f;
    color: #ffffff; }
  .callout.secondary {
    background-color: #eeeeee;
    color: #000000; }
  .callout.success {
    background-color: #12811f;
    color: #ffffff; }
  .callout.warning {
    background-color: #ff5e05;
    color: #000000; }
  .callout.alert {
    background-color: #b20c0c;
    color: #ffffff; }
  .callout.small {
    padding-top: 0.5rem;
    padding-right: 0.5rem;
    padding-bottom: 0.5rem;
    padding-left: 0.5rem; }
  .callout.large {
    padding-top: 3rem;
    padding-right: 3rem;
    padding-bottom: 3rem;
    padding-left: 3rem; }

.dropdown-pane {
  position: absolute;
  z-index: 10;
  display: none;
  width: 300px;
  padding: 1rem;
  visibility: hidden;
  border: 1px solid #aeaeae;
  border-radius: 0;
  background-color: #ffffff;
  font-size: 1rem; }
  .dropdown-pane.is-opening {
    display: block; }
  .dropdown-pane.is-open {
    display: block;
    visibility: visible; }

.dropdown-pane.tiny {
  width: 100px; }

.dropdown-pane.small {
  width: 200px; }

.dropdown-pane.large {
  width: 400px; }

.accordion {
  margin-left: 0;
  background: transparent;
  list-style-type: none; }
  .accordion[disabled] .accordion-title {
    cursor: not-allowed; }

.accordion-item:first-child > :first-child {
  border-radius: 0 0 0 0; }

.accordion-item:last-child > :last-child {
  border-radius: 0 0 0 0; }

.accordion-title {
  position: relative;
  display: block;
  padding: 1.25rem 1rem;
  border: 1px solid #dadada;
  border-bottom: 0;
  font-size: 1.0625rem;
  line-height: 1;
  color: var(--primary-colour-lightness-0); }
  :last-child:not(.is-active) > .accordion-title {
    border-bottom: 1px solid #dadada;
    border-radius: 0 0 0 0; }
  .accordion-title:hover, .accordion-title:focus {
    background-color: #ffffff; }

.accordion-content {
  display: none;
  padding: 0;
  border: 1px solid #dadada;
  border-bottom: 0;
  background-color: transparent;
  color: #000000; }
  :last-child > .accordion-content:last-child {
    border-bottom: 1px solid #dadada; }

.media-object {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 1rem;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap; }
  .media-object img {
    max-width: none; }
  @media print, screen and (max-width: 39.99875em) {
    .media-object.stack-for-small {
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; } }

.media-object-section {
  -webkit-box-flex: 0;
      -ms-flex: 0 1 auto;
          flex: 0 1 auto; }
  .media-object-section:first-child {
    padding-right: 1rem; }
  .media-object-section:last-child:not(:nth-child(2)) {
    padding-left: 1rem; }
  .media-object-section > :last-child {
    margin-bottom: 0; }
  @media print, screen and (max-width: 39.99875em) {
    .stack-for-small .media-object-section {
      padding: 0;
      padding-bottom: 1rem;
      -ms-flex-preferred-size: 100%;
          flex-basis: 100%;
      max-width: 100%; }
      .stack-for-small .media-object-section img {
        width: 100%; } }
  .media-object-section.main-section {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; }

.responsive-embed,
.flex-video {
  position: relative;
  height: 0;
  margin-bottom: 1rem;
  padding-bottom: 75%;
  overflow: hidden; }
  .responsive-embed iframe,
  .responsive-embed object,
  .responsive-embed embed,
  .responsive-embed video,
  .flex-video iframe,
  .flex-video object,
  .flex-video embed,
  .flex-video video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }
  .responsive-embed.widescreen,
  .flex-video.widescreen {
    padding-bottom: 56.25%; }

.tabs {
  margin: 0;
  border: 1px solid transparent;
  background: none;
  list-style-type: none; }
  .tabs::before, .tabs::after {
    display: table;
    content: ' ';
    -ms-flex-preferred-size: 0;
        flex-basis: 0;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1; }
  .tabs::after {
    clear: both; }

.tabs.vertical > li {
  display: block;
  float: none;
  width: auto; }

.tabs.simple > li > a {
  padding: 0; }
  .tabs.simple > li > a:hover {
    background: transparent; }

.tabs.primary {
  background: #06052f; }
  .tabs.primary > li > a {
    color: #ffffff; }
    .tabs.primary > li > a:hover, .tabs.primary > li > a:focus {
      background: #090744; }

.tabs-title {
  float: left; }
  .tabs-title > a {
    display: block;
    padding: 0;
    font-size: 1.0625rem;
    line-height: 1;
    color: #888888; }
    [data-whatinput='mouse'] .tabs-title > a {
      outline: 0; }
    .tabs-title > a:hover {
      background: transparent;
      color: #757575; }
    .tabs-title > a:focus, .tabs-title > a[aria-selected='true'] {
      background: none;
      color: var(--primary-colour-lightness-0); }

.tabs-content {
  border: 1px solid transparent;
  border-top: 0;
  background: none;
  color: #000000;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease; }

.tabs-content.vertical {
  border: 1px solid transparent;
  border-left: 0; }

.tabs-panel {
  display: none;
  padding: 10px; }
  .tabs-panel.is-active {
    display: block; }

.menu {
  padding: 0;
  margin: 0;
  list-style: none;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  [data-whatinput='mouse'] .menu li {
    outline: 0; }
  .menu a,
  .menu .button {
    line-height: 1;
    text-decoration: none;
    display: block;
    padding: 7.5px 5px 7.5px 16px; }
  .menu input,
  .menu select,
  .menu a,
  .menu button {
    margin-bottom: 0; }
  .menu input {
    display: inline-block; }
  .menu, .menu.horizontal {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row; }
  .menu.vertical {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column; }
    .menu.vertical.icon-top li a img,
    .menu.vertical.icon-top li a i,
    .menu.vertical.icon-top li a svg, .menu.vertical.icon-bottom li a img,
    .menu.vertical.icon-bottom li a i,
    .menu.vertical.icon-bottom li a svg {
      text-align: left; }
  .menu.expanded li {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; }
  .menu.expanded.icon-top li a img,
  .menu.expanded.icon-top li a i,
  .menu.expanded.icon-top li a svg, .menu.expanded.icon-bottom li a img,
  .menu.expanded.icon-bottom li a i,
  .menu.expanded.icon-bottom li a svg {
    text-align: left; }
  .menu.simple {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
    .menu.simple li + li {
      margin-left: 1rem; }
    .menu.simple a {
      padding: 0; }
  @media print, screen and (min-width: 40em) {
    .menu.medium-horizontal {
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row; }
    .menu.medium-vertical {
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column; }
    .menu.medium-expanded li {
      -webkit-box-flex: 1;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; }
    .menu.medium-simple li {
      -webkit-box-flex: 1;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; } }
  @media screen and (min-width: 81.25em) {
    .menu.large-horizontal {
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row; }
    .menu.large-vertical {
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column; }
    .menu.large-expanded li {
      -webkit-box-flex: 1;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; }
    .menu.large-simple li {
      -webkit-box-flex: 1;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; } }
  @media screen and (min-width: 100em) {
    .menu.xlarge-horizontal {
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row; }
    .menu.xlarge-vertical {
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column; }
    .menu.xlarge-expanded li {
      -webkit-box-flex: 1;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; }
    .menu.xlarge-simple li {
      -webkit-box-flex: 1;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; } }
  .menu.nested {
    margin-right: 0;
    margin-left: 1rem; }
  .menu.icons a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
  .menu.icon-left li a, .menu.nested.icon-left li a {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-flow: row nowrap;
            flex-flow: row nowrap; }
    .menu.icon-left li a img,
    .menu.icon-left li a i,
    .menu.icon-left li a svg, .menu.nested.icon-left li a img,
    .menu.nested.icon-left li a i,
    .menu.nested.icon-left li a svg {
      margin-right: 0.25rem; }
  .menu.icon-right li a, .menu.nested.icon-right li a {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-flow: row nowrap;
            flex-flow: row nowrap; }
    .menu.icon-right li a img,
    .menu.icon-right li a i,
    .menu.icon-right li a svg, .menu.nested.icon-right li a img,
    .menu.nested.icon-right li a i,
    .menu.nested.icon-right li a svg {
      margin-left: 0.25rem; }
  .menu.icon-top li a, .menu.nested.icon-top li a {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-flow: column nowrap;
            flex-flow: column nowrap; }
    .menu.icon-top li a img,
    .menu.icon-top li a i,
    .menu.icon-top li a svg, .menu.nested.icon-top li a img,
    .menu.nested.icon-top li a i,
    .menu.nested.icon-top li a svg {
      -ms-flex-item-align: stretch;
          align-self: stretch;
      margin-bottom: 0.25rem;
      text-align: center; }
  .menu.icon-bottom li a, .menu.nested.icon-bottom li a {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-flow: column nowrap;
            flex-flow: column nowrap; }
    .menu.icon-bottom li a img,
    .menu.icon-bottom li a i,
    .menu.icon-bottom li a svg, .menu.nested.icon-bottom li a img,
    .menu.nested.icon-bottom li a i,
    .menu.nested.icon-bottom li a svg {
      -ms-flex-item-align: stretch;
          align-self: stretch;
      margin-bottom: 0.25rem;
      text-align: center; }
  .menu .is-active > a {
    background: transparent;
    color: #ffffff; }
  .menu.align-left {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start; }
  .menu.align-right li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end; }
    .menu.align-right li .submenu li {
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start; }
  .menu.align-right.vertical li {
    display: block;
    text-align: right; }
    .menu.align-right.vertical li .submenu li {
      text-align: right; }
  .menu.align-right.icon-top li a img,
  .menu.align-right.icon-top li a i,
  .menu.align-right.icon-top li a svg, .menu.align-right.icon-bottom li a img,
  .menu.align-right.icon-bottom li a i,
  .menu.align-right.icon-bottom li a svg {
    text-align: right; }
  .menu.align-right .nested {
    margin-right: 1rem;
    margin-left: 0; }
  .menu.align-center li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center; }
    .menu.align-center li .submenu li {
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start; }
  .menu .menu-text {
    padding: 7.5px 5px 7.5px 16px;
    font-weight: bold;
    line-height: 1;
    color: inherit; }

.no-js [data-responsive-menu] ul {
  display: none; }

.menu-icon {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  width: 20px;
  height: 16px;
  cursor: pointer; }
  .menu-icon::after {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 2px;
    background: #ffffff;
    -webkit-box-shadow: 0 7px 0 #ffffff, 0 14px 0 #ffffff;
            box-shadow: 0 7px 0 #ffffff, 0 14px 0 #ffffff;
    content: ''; }
  .menu-icon:hover::after {
    background: #aeaeae;
    -webkit-box-shadow: 0 7px 0 #aeaeae, 0 14px 0 #aeaeae;
            box-shadow: 0 7px 0 #aeaeae, 0 14px 0 #aeaeae; }

.menu-icon.dark {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  width: 20px;
  height: 16px;
  cursor: pointer; }
  .menu-icon.dark::after {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 2px;
    background: #000000;
    -webkit-box-shadow: 0 7px 0 #000000, 0 14px 0 #000000;
            box-shadow: 0 7px 0 #000000, 0 14px 0 #000000;
    content: ''; }
  .menu-icon.dark:hover::after {
    background: #888888;
    -webkit-box-shadow: 0 7px 0 #888888, 0 14px 0 #888888;
            box-shadow: 0 7px 0 #888888, 0 14px 0 #888888; }

.accordion-menu li {
  width: 100%; }

.accordion-menu a {
  padding: 7.5px 5px 7.5px 16px; }

.accordion-menu .is-accordion-submenu a {
  padding: 7.5px 5px 7.5px 16px; }

.accordion-menu .nested.is-accordion-submenu {
  margin-right: 0;
  margin-left: 1rem; }

.accordion-menu.align-right .nested.is-accordion-submenu {
  margin-right: 1rem;
  margin-left: 0; }

.is-accordion-submenu-parent {
  position: relative; }

.has-submenu-toggle > a {
  margin-right: 40px; }

.submenu-toggle {
  position: absolute;
  top: 0;
  right: 0;
  width: 40px;
  height: 40px;
  cursor: pointer; }
  .submenu-toggle::after {
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 6px;
    content: '';
    border-bottom-width: 0;
    border-color: #06052f transparent transparent;
    top: 0;
    bottom: 0;
    margin: auto; }

.submenu-toggle[aria-expanded='true']::after {
  -webkit-transform: scaleY(-1);
          transform: scaleY(-1);
  -webkit-transform-origin: 50% 50%;
          transform-origin: 50% 50%; }

.submenu-toggle-text {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important; }

.is-drilldown {
  position: relative;
  overflow: hidden; }
  .is-drilldown li {
    display: block; }
  .is-drilldown.animate-height {
    -webkit-transition: height 0.5s;
    transition: height 0.5s; }

.drilldown a {
  padding: 7.5px 5px 7.5px 16px;
  background: #ffffff; }

.drilldown .is-drilldown-submenu {
  position: absolute;
  top: 0;
  left: 100%;
  z-index: -1;
  width: 100%;
  background: #ffffff;
  -webkit-transition: -webkit-transform 0.15s linear;
  transition: -webkit-transform 0.15s linear;
  transition: transform 0.15s linear;
  transition: transform 0.15s linear, -webkit-transform 0.15s linear; }
  .drilldown .is-drilldown-submenu.is-active {
    z-index: 1;
    display: block;
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%); }
  .drilldown .is-drilldown-submenu.is-closing {
    -webkit-transform: translateX(100%);
            transform: translateX(100%); }
  .drilldown .is-drilldown-submenu a {
    padding: 7.5px 5px 7.5px 16px; }

.drilldown .nested.is-drilldown-submenu {
  margin-right: 0;
  margin-left: 0; }

.drilldown .drilldown-submenu-cover-previous {
  min-height: 100%; }

.drilldown .is-drilldown-submenu-parent > a {
  position: relative; }
  .drilldown .is-drilldown-submenu-parent > a::after {
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 6px;
    content: '';
    border-right-width: 0;
    border-color: transparent transparent transparent #06052f;
    position: absolute;
    top: 50%;
    margin-top: -6px;
    right: 1rem; }

.drilldown.align-left .is-drilldown-submenu-parent > a::after {
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 6px;
  content: '';
  border-right-width: 0;
  border-color: transparent transparent transparent #06052f;
  right: 1rem;
  left: auto; }

.drilldown.align-right .is-drilldown-submenu-parent > a::after {
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 6px;
  content: '';
  border-left-width: 0;
  border-color: transparent #06052f transparent transparent;
  right: auto;
  left: 1rem; }

.drilldown .js-drilldown-back > a::before {
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 6px;
  content: '';
  border-left-width: 0;
  border-color: transparent #06052f transparent transparent;
  display: inline-block;
  vertical-align: middle;
  margin-right: 0.75rem; }

.dropdown.menu > li.opens-left > .is-dropdown-submenu {
  top: 100%;
  right: 0;
  left: auto; }

.dropdown.menu > li.opens-right > .is-dropdown-submenu {
  top: 100%;
  right: auto;
  left: 0; }

[data-whatinput='mouse'] .dropdown.menu a {
  outline: 0; }

.dropdown.menu > li > a {
  padding: 7.5px 5px 7.5px 16px; }

.dropdown.menu > li.is-active > a {
  background: transparent;
  color: #06052f; }

.no-js .dropdown.menu ul {
  display: none; }

.dropdown.menu .nested.is-dropdown-submenu {
  margin-right: 0;
  margin-left: 0; }

.dropdown.menu.vertical > li .is-dropdown-submenu {
  top: 0; }

.dropdown.menu.vertical > li.opens-left > .is-dropdown-submenu {
  top: 0;
  right: 100%;
  left: auto; }

.dropdown.menu.vertical > li.opens-right > .is-dropdown-submenu {
  right: auto;
  left: 100%; }

@media print, screen and (min-width: 40em) {
  .dropdown.menu.medium-horizontal > li.opens-left > .is-dropdown-submenu {
    top: 100%;
    right: 0;
    left: auto; }
  .dropdown.menu.medium-horizontal > li.opens-right > .is-dropdown-submenu {
    top: 100%;
    right: auto;
    left: 0; }
  .dropdown.menu.medium-vertical > li .is-dropdown-submenu {
    top: 0; }
  .dropdown.menu.medium-vertical > li.opens-left > .is-dropdown-submenu {
    top: 0;
    right: 100%;
    left: auto; }
  .dropdown.menu.medium-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%; } }

@media screen and (min-width: 81.25em) {
  .dropdown.menu.large-horizontal > li.opens-left > .is-dropdown-submenu {
    top: 100%;
    right: 0;
    left: auto; }
  .dropdown.menu.large-horizontal > li.opens-right > .is-dropdown-submenu {
    top: 100%;
    right: auto;
    left: 0; }
  .dropdown.menu.large-vertical > li .is-dropdown-submenu {
    top: 0; }
  .dropdown.menu.large-vertical > li.opens-left > .is-dropdown-submenu {
    top: 0;
    right: 100%;
    left: auto; }
  .dropdown.menu.large-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%; } }

@media screen and (min-width: 100em) {
  .dropdown.menu.xlarge-horizontal > li.opens-left > .is-dropdown-submenu {
    top: 100%;
    right: 0;
    left: auto; }
  .dropdown.menu.xlarge-horizontal > li.opens-right > .is-dropdown-submenu {
    top: 100%;
    right: auto;
    left: 0; }
  .dropdown.menu.xlarge-vertical > li .is-dropdown-submenu {
    top: 0; }
  .dropdown.menu.xlarge-vertical > li.opens-left > .is-dropdown-submenu {
    top: 0;
    right: 100%;
    left: auto; }
  .dropdown.menu.xlarge-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%; } }

.dropdown.menu.align-right .is-dropdown-submenu.first-sub {
  top: 100%;
  right: 0;
  left: auto; }

.is-dropdown-menu.vertical {
  width: 100px; }
  .is-dropdown-menu.vertical.align-right {
    float: right; }

.is-dropdown-submenu-parent {
  position: relative; }
  .is-dropdown-submenu-parent a::after {
    position: absolute;
    top: 50%;
    right: 5px;
    left: auto;
    margin-top: -6px; }
  .is-dropdown-submenu-parent.opens-inner > .is-dropdown-submenu {
    top: 100%;
    left: auto; }
  .is-dropdown-submenu-parent.opens-left > .is-dropdown-submenu {
    right: 100%;
    left: auto; }
  .is-dropdown-submenu-parent.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%; }

.is-dropdown-submenu {
  position: absolute;
  top: 0;
  left: 100%;
  z-index: 1;
  display: none;
  min-width: 300px;
  border: 1px solid #aeaeae;
  background: #ffffff; }
  .dropdown .is-dropdown-submenu a {
    padding: 7.5px 5px 7.5px 16px; }
  .is-dropdown-submenu .is-dropdown-submenu {
    margin-top: -1px; }
  .is-dropdown-submenu > li {
    width: 100%; }
  .is-dropdown-submenu.js-dropdown-active {
    display: block; }

.is-off-canvas-open {
  overflow: hidden; }

.js-off-canvas-overlay {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 11;
  width: 100%;
  height: 100%;
  -webkit-transition: opacity 0.5s ease, visibility 0.5s ease;
  transition: opacity 0.5s ease, visibility 0.5s ease;
  background: rgba(255, 255, 255, 0.25);
  opacity: 0;
  visibility: hidden;
  overflow: hidden; }
  .js-off-canvas-overlay.is-visible {
    opacity: 1;
    visibility: visible; }
  .js-off-canvas-overlay.is-closable {
    cursor: pointer; }
  .js-off-canvas-overlay.is-overlay-absolute {
    position: absolute; }
  .js-off-canvas-overlay.is-overlay-fixed {
    position: fixed; }

.off-canvas-wrapper {
  position: relative;
  overflow: hidden; }

.off-canvas {
  position: fixed;
  z-index: 12;
  -webkit-transition: -webkit-transform 0.5s ease;
  transition: -webkit-transform 0.5s ease;
  transition: transform 0.5s ease;
  transition: transform 0.5s ease, -webkit-transform 0.5s ease;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  background: #ffffff; }
  [data-whatinput='mouse'] .off-canvas {
    outline: 0; }
  .off-canvas.is-transition-push {
    z-index: 12; }
  .off-canvas.is-closed {
    visibility: hidden; }
  .off-canvas.is-transition-overlap {
    z-index: 4000; }
    .off-canvas.is-transition-overlap.is-open {
      -webkit-box-shadow: 0;
              box-shadow: 0; }
  .off-canvas.is-open {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0); }

.off-canvas-absolute {
  position: absolute;
  z-index: 12;
  -webkit-transition: -webkit-transform 0.5s ease;
  transition: -webkit-transform 0.5s ease;
  transition: transform 0.5s ease;
  transition: transform 0.5s ease, -webkit-transform 0.5s ease;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  background: #ffffff; }
  [data-whatinput='mouse'] .off-canvas-absolute {
    outline: 0; }
  .off-canvas-absolute.is-transition-push {
    z-index: 12; }
  .off-canvas-absolute.is-closed {
    visibility: hidden; }
  .off-canvas-absolute.is-transition-overlap {
    z-index: 4000; }
    .off-canvas-absolute.is-transition-overlap.is-open {
      -webkit-box-shadow: 0;
              box-shadow: 0; }
  .off-canvas-absolute.is-open {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0); }

.position-left {
  top: 0;
  left: 0;
  height: 100%;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  width: 250px;
  -webkit-transform: translateX(-250px);
          transform: translateX(-250px); }
  @media screen and (min-width: 81.25em) {
    .position-left {
      width: 400px;
      -webkit-transform: translateX(-400px);
              transform: translateX(-400px); } }
  .off-canvas-content .off-canvas.position-left {
    -webkit-transform: translateX(-250px);
            transform: translateX(-250px); }
    @media screen and (min-width: 81.25em) {
      .off-canvas-content .off-canvas.position-left {
        -webkit-transform: translateX(-400px);
                transform: translateX(-400px); } }
    .off-canvas-content .off-canvas.position-left.is-transition-overlap.is-open {
      -webkit-transform: translate(0, 0);
              transform: translate(0, 0); }
  .off-canvas-content.is-open-left.has-transition-push {
    -webkit-transform: translateX(250px);
            transform: translateX(250px); }
    @media screen and (min-width: 81.25em) {
      .off-canvas-content.is-open-left.has-transition-push {
        -webkit-transform: translateX(400px);
                transform: translateX(400px); } }
  .position-left.is-transition-push {
    -webkit-box-shadow: inset 0 0 0 0 rgba(0, 0, 0, 0.25);
            box-shadow: inset 0 0 0 0 rgba(0, 0, 0, 0.25); }

.position-right {
  top: 0;
  right: 0;
  height: 100%;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  width: 250px;
  -webkit-transform: translateX(250px);
          transform: translateX(250px); }
  @media screen and (min-width: 81.25em) {
    .position-right {
      width: 400px;
      -webkit-transform: translateX(400px);
              transform: translateX(400px); } }
  .off-canvas-content .off-canvas.position-right {
    -webkit-transform: translateX(250px);
            transform: translateX(250px); }
    @media screen and (min-width: 81.25em) {
      .off-canvas-content .off-canvas.position-right {
        -webkit-transform: translateX(400px);
                transform: translateX(400px); } }
    .off-canvas-content .off-canvas.position-right.is-transition-overlap.is-open {
      -webkit-transform: translate(0, 0);
              transform: translate(0, 0); }
  .off-canvas-content.is-open-right.has-transition-push {
    -webkit-transform: translateX(-250px);
            transform: translateX(-250px); }
    @media screen and (min-width: 81.25em) {
      .off-canvas-content.is-open-right.has-transition-push {
        -webkit-transform: translateX(-400px);
                transform: translateX(-400px); } }
  .position-right.is-transition-push {
    -webkit-box-shadow: inset 0 0 0 0 rgba(0, 0, 0, 0.25);
            box-shadow: inset 0 0 0 0 rgba(0, 0, 0, 0.25); }

.position-top {
  top: 0;
  left: 0;
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  height: 250px;
  -webkit-transform: translateY(-250px);
          transform: translateY(-250px); }
  .off-canvas-content .off-canvas.position-top {
    -webkit-transform: translateY(-250px);
            transform: translateY(-250px); }
    .off-canvas-content .off-canvas.position-top.is-transition-overlap.is-open {
      -webkit-transform: translate(0, 0);
              transform: translate(0, 0); }
  .off-canvas-content.is-open-top.has-transition-push {
    -webkit-transform: translateY(250px);
            transform: translateY(250px); }
  .position-top.is-transition-push {
    -webkit-box-shadow: inset 0 0 0 0 rgba(0, 0, 0, 0.25);
            box-shadow: inset 0 0 0 0 rgba(0, 0, 0, 0.25); }

.position-bottom {
  bottom: 0;
  left: 0;
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  height: 250px;
  -webkit-transform: translateY(250px);
          transform: translateY(250px); }
  .off-canvas-content .off-canvas.position-bottom {
    -webkit-transform: translateY(250px);
            transform: translateY(250px); }
    .off-canvas-content .off-canvas.position-bottom.is-transition-overlap.is-open {
      -webkit-transform: translate(0, 0);
              transform: translate(0, 0); }
  .off-canvas-content.is-open-bottom.has-transition-push {
    -webkit-transform: translateY(-250px);
            transform: translateY(-250px); }
  .position-bottom.is-transition-push {
    -webkit-box-shadow: inset 0 0 0 0 rgba(0, 0, 0, 0.25);
            box-shadow: inset 0 0 0 0 rgba(0, 0, 0, 0.25); }

.off-canvas-content {
  -webkit-transform: none;
          transform: none;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }
  .off-canvas-content.has-transition-overlap, .off-canvas-content.has-transition-push {
    -webkit-transition: -webkit-transform 0.5s ease;
    transition: -webkit-transform 0.5s ease;
    transition: transform 0.5s ease;
    transition: transform 0.5s ease, -webkit-transform 0.5s ease; }
  .off-canvas-content.has-transition-push {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0); }
  .off-canvas-content .off-canvas.is-open {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0); }

@media print, screen and (min-width: 40em) {
  .position-left.reveal-for-medium {
    -webkit-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    transition: none;
    visibility: visible; }
    .position-left.reveal-for-medium .close-button {
      display: none; }
    .off-canvas-content .position-left.reveal-for-medium {
      -webkit-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-left {
      margin-left: 250px; }
    .position-left.reveal-for-medium ~ .off-canvas-content {
      margin-left: 250px; }
  .position-right.reveal-for-medium {
    -webkit-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    transition: none;
    visibility: visible; }
    .position-right.reveal-for-medium .close-button {
      display: none; }
    .off-canvas-content .position-right.reveal-for-medium {
      -webkit-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-right {
      margin-right: 250px; }
    .position-right.reveal-for-medium ~ .off-canvas-content {
      margin-right: 250px; }
  .position-top.reveal-for-medium {
    -webkit-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    transition: none;
    visibility: visible; }
    .position-top.reveal-for-medium .close-button {
      display: none; }
    .off-canvas-content .position-top.reveal-for-medium {
      -webkit-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-top {
      margin-top: 250px; }
    .position-top.reveal-for-medium ~ .off-canvas-content {
      margin-top: 250px; }
  .position-bottom.reveal-for-medium {
    -webkit-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    transition: none;
    visibility: visible; }
    .position-bottom.reveal-for-medium .close-button {
      display: none; }
    .off-canvas-content .position-bottom.reveal-for-medium {
      -webkit-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-bottom {
      margin-bottom: 250px; }
    .position-bottom.reveal-for-medium ~ .off-canvas-content {
      margin-bottom: 250px; } }

@media screen and (min-width: 81.25em) {
  .position-left.reveal-for-large {
    -webkit-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    transition: none;
    visibility: visible; }
    .position-left.reveal-for-large .close-button {
      display: none; }
    .off-canvas-content .position-left.reveal-for-large {
      -webkit-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-left {
      margin-left: 400px; }
    .position-left.reveal-for-large ~ .off-canvas-content {
      margin-left: 400px; }
  .position-right.reveal-for-large {
    -webkit-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    transition: none;
    visibility: visible; }
    .position-right.reveal-for-large .close-button {
      display: none; }
    .off-canvas-content .position-right.reveal-for-large {
      -webkit-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-right {
      margin-right: 400px; }
    .position-right.reveal-for-large ~ .off-canvas-content {
      margin-right: 400px; }
  .position-top.reveal-for-large {
    -webkit-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    transition: none;
    visibility: visible; }
    .position-top.reveal-for-large .close-button {
      display: none; }
    .off-canvas-content .position-top.reveal-for-large {
      -webkit-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-top {
      margin-top: 400px; }
    .position-top.reveal-for-large ~ .off-canvas-content {
      margin-top: 400px; }
  .position-bottom.reveal-for-large {
    -webkit-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    transition: none;
    visibility: visible; }
    .position-bottom.reveal-for-large .close-button {
      display: none; }
    .off-canvas-content .position-bottom.reveal-for-large {
      -webkit-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-bottom {
      margin-bottom: 400px; }
    .position-bottom.reveal-for-large ~ .off-canvas-content {
      margin-bottom: 400px; } }

@media screen and (min-width: 100em) {
  .position-left.reveal-for-xlarge {
    -webkit-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    transition: none;
    visibility: visible; }
    .position-left.reveal-for-xlarge .close-button {
      display: none; }
    .off-canvas-content .position-left.reveal-for-xlarge {
      -webkit-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-left {
      margin-left: 400px; }
    .position-left.reveal-for-xlarge ~ .off-canvas-content {
      margin-left: 400px; }
  .position-right.reveal-for-xlarge {
    -webkit-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    transition: none;
    visibility: visible; }
    .position-right.reveal-for-xlarge .close-button {
      display: none; }
    .off-canvas-content .position-right.reveal-for-xlarge {
      -webkit-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-right {
      margin-right: 400px; }
    .position-right.reveal-for-xlarge ~ .off-canvas-content {
      margin-right: 400px; }
  .position-top.reveal-for-xlarge {
    -webkit-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    transition: none;
    visibility: visible; }
    .position-top.reveal-for-xlarge .close-button {
      display: none; }
    .off-canvas-content .position-top.reveal-for-xlarge {
      -webkit-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-top {
      margin-top: 400px; }
    .position-top.reveal-for-xlarge ~ .off-canvas-content {
      margin-top: 400px; }
  .position-bottom.reveal-for-xlarge {
    -webkit-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    transition: none;
    visibility: visible; }
    .position-bottom.reveal-for-xlarge .close-button {
      display: none; }
    .off-canvas-content .position-bottom.reveal-for-xlarge {
      -webkit-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-bottom {
      margin-bottom: 400px; }
    .position-bottom.reveal-for-xlarge ~ .off-canvas-content {
      margin-bottom: 400px; } }

@media print, screen and (min-width: 40em) {
  .off-canvas.in-canvas-for-medium {
    visibility: visible;
    height: auto;
    position: static;
    background: none;
    width: auto;
    overflow: visible;
    -webkit-transition: none;
    transition: none; }
    .off-canvas.in-canvas-for-medium.position-left, .off-canvas.in-canvas-for-medium.position-right, .off-canvas.in-canvas-for-medium.position-top, .off-canvas.in-canvas-for-medium.position-bottom {
      -webkit-box-shadow: none;
              box-shadow: none;
      -webkit-transform: none;
              transform: none; }
    .off-canvas.in-canvas-for-medium .close-button {
      display: none; } }

@media screen and (min-width: 81.25em) {
  .off-canvas.in-canvas-for-large {
    visibility: visible;
    height: auto;
    position: static;
    background: none;
    width: auto;
    overflow: visible;
    -webkit-transition: none;
    transition: none; }
    .off-canvas.in-canvas-for-large.position-left, .off-canvas.in-canvas-for-large.position-right, .off-canvas.in-canvas-for-large.position-top, .off-canvas.in-canvas-for-large.position-bottom {
      -webkit-box-shadow: none;
              box-shadow: none;
      -webkit-transform: none;
              transform: none; }
    .off-canvas.in-canvas-for-large .close-button {
      display: none; } }

@media screen and (min-width: 100em) {
  .off-canvas.in-canvas-for-xlarge {
    visibility: visible;
    height: auto;
    position: static;
    background: none;
    width: auto;
    overflow: visible;
    -webkit-transition: none;
    transition: none; }
    .off-canvas.in-canvas-for-xlarge.position-left, .off-canvas.in-canvas-for-xlarge.position-right, .off-canvas.in-canvas-for-xlarge.position-top, .off-canvas.in-canvas-for-xlarge.position-bottom {
      -webkit-box-shadow: none;
              box-shadow: none;
      -webkit-transform: none;
              transform: none; }
    .off-canvas.in-canvas-for-xlarge .close-button {
      display: none; } }

.title-bar {
  padding: 0.5rem;
  background: #000000;
  color: #ffffff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  .title-bar .menu-icon {
    margin-left: 0.25rem;
    margin-right: 0.25rem; }

.title-bar-left,
.title-bar-right {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0px;
          flex: 1 1 0px; }

.title-bar-right {
  text-align: right; }

.title-bar-title {
  display: inline-block;
  vertical-align: middle;
  font-weight: bold; }

.align-left {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start; }

.align-right {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end; }

.align-center {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }

.align-justify {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between; }

.align-spaced {
  -ms-flex-pack: distribute;
      justify-content: space-around; }

.align-left.vertical.menu > li > a {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start; }

.align-right.vertical.menu > li > a {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end; }

.align-center.vertical.menu > li > a {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }

.align-top {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start; }

.align-self-top {
  -ms-flex-item-align: start;
      align-self: flex-start; }

.align-bottom {
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end; }

.align-self-bottom {
  -ms-flex-item-align: end;
      align-self: flex-end; }

.align-middle {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }

.align-self-middle {
  -ms-flex-item-align: center;
      align-self: center; }

.align-stretch {
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch; }

.align-self-stretch {
  -ms-flex-item-align: stretch;
      align-self: stretch; }

.align-center-middle {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-line-pack: center;
      align-content: center; }

.small-order-1 {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1; }

.small-order-2 {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2; }

.small-order-3 {
  -webkit-box-ordinal-group: 4;
      -ms-flex-order: 3;
          order: 3; }

.small-order-4 {
  -webkit-box-ordinal-group: 5;
      -ms-flex-order: 4;
          order: 4; }

.small-order-5 {
  -webkit-box-ordinal-group: 6;
      -ms-flex-order: 5;
          order: 5; }

.small-order-6 {
  -webkit-box-ordinal-group: 7;
      -ms-flex-order: 6;
          order: 6; }

@media print, screen and (min-width: 40em) {
  .medium-order-1 {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1; }
  .medium-order-2 {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2; }
  .medium-order-3 {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3; }
  .medium-order-4 {
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4; }
  .medium-order-5 {
    -webkit-box-ordinal-group: 6;
        -ms-flex-order: 5;
            order: 5; }
  .medium-order-6 {
    -webkit-box-ordinal-group: 7;
        -ms-flex-order: 6;
            order: 6; } }

@media screen and (min-width: 81.25em) {
  .large-order-1 {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1; }
  .large-order-2 {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2; }
  .large-order-3 {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3; }
  .large-order-4 {
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4; }
  .large-order-5 {
    -webkit-box-ordinal-group: 6;
        -ms-flex-order: 5;
            order: 5; }
  .large-order-6 {
    -webkit-box-ordinal-group: 7;
        -ms-flex-order: 6;
            order: 6; } }

@media screen and (min-width: 100em) {
  .xlarge-order-1 {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1; }
  .xlarge-order-2 {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2; }
  .xlarge-order-3 {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3; }
  .xlarge-order-4 {
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4; }
  .xlarge-order-5 {
    -webkit-box-ordinal-group: 6;
        -ms-flex-order: 5;
            order: 5; }
  .xlarge-order-6 {
    -webkit-box-ordinal-group: 7;
        -ms-flex-order: 6;
            order: 6; } }

.flex-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }

.flex-child-auto {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto; }

.flex-child-grow {
  -webkit-box-flex: 1;
      -ms-flex: 1 0 auto;
          flex: 1 0 auto; }

.flex-child-shrink {
  -webkit-box-flex: 0;
      -ms-flex: 0 1 auto;
          flex: 0 1 auto; }

.flex-dir-row {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row; }

.flex-dir-row-reverse {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse; }

.flex-dir-column {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column; }

.flex-dir-column-reverse {
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse; }

@media print, screen and (min-width: 40em) {
  .medium-flex-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
  .medium-flex-child-auto {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto; }
  .medium-flex-child-grow {
    -webkit-box-flex: 1;
        -ms-flex: 1 0 auto;
            flex: 1 0 auto; }
  .medium-flex-child-shrink {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto; }
  .medium-flex-dir-row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row; }
  .medium-flex-dir-row-reverse {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse; }
  .medium-flex-dir-column {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column; }
  .medium-flex-dir-column-reverse {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse; } }

@media screen and (min-width: 81.25em) {
  .large-flex-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
  .large-flex-child-auto {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto; }
  .large-flex-child-grow {
    -webkit-box-flex: 1;
        -ms-flex: 1 0 auto;
            flex: 1 0 auto; }
  .large-flex-child-shrink {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto; }
  .large-flex-dir-row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row; }
  .large-flex-dir-row-reverse {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse; }
  .large-flex-dir-column {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column; }
  .large-flex-dir-column-reverse {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse; } }

@media screen and (min-width: 100em) {
  .xlarge-flex-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
  .xlarge-flex-child-auto {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto; }
  .xlarge-flex-child-grow {
    -webkit-box-flex: 1;
        -ms-flex: 1 0 auto;
            flex: 1 0 auto; }
  .xlarge-flex-child-shrink {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto; }
  .xlarge-flex-dir-row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row; }
  .xlarge-flex-dir-row-reverse {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse; }
  .xlarge-flex-dir-column {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column; }
  .xlarge-flex-dir-column-reverse {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse; } }

.hide {
  display: none !important; }

.invisible {
  visibility: hidden; }

.visible {
  visibility: visible; }

@media print, screen and (max-width: 39.99875em) {
  .hide-for-small-only {
    display: none !important; } }

@media screen and (max-width: 0em), screen and (min-width: 40em) {
  .show-for-small-only {
    display: none !important; } }

@media print, screen and (min-width: 40em) {
  .hide-for-medium {
    display: none !important; } }

@media screen and (max-width: 39.99875em) {
  .show-for-medium {
    display: none !important; } }

@media print, screen and (min-width: 40em) and (max-width: 81.24875em) {
  .hide-for-medium-only {
    display: none !important; } }

@media screen and (max-width: 39.99875em), screen and (min-width: 81.25em) {
  .show-for-medium-only {
    display: none !important; } }

@media screen and (min-width: 81.25em) {
  .hide-for-large {
    display: none !important; } }

@media screen and (max-width: 81.24875em) {
  .show-for-large {
    display: none !important; } }

@media screen and (min-width: 81.25em) and (max-width: 99.99875em) {
  .hide-for-large-only {
    display: none !important; } }

@media screen and (max-width: 81.24875em), screen and (min-width: 100em) {
  .show-for-large-only {
    display: none !important; } }

@media screen and (min-width: 100em) {
  .hide-for-xlarge {
    display: none !important; } }

@media screen and (max-width: 99.99875em) {
  .show-for-xlarge {
    display: none !important; } }

@media screen and (min-width: 100em) and (max-width: 119.99875em) {
  .hide-for-xlarge-only {
    display: none !important; } }

@media screen and (max-width: 99.99875em), screen and (min-width: 120em) {
  .show-for-xlarge-only {
    display: none !important; } }

.show-for-sr,
.show-on-focus {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important; }

.show-on-focus:active, .show-on-focus:focus {
  position: static !important;
  width: auto !important;
  height: auto !important;
  overflow: visible !important;
  clip: auto !important;
  white-space: normal !important; }

.show-for-landscape,
.hide-for-portrait {
  display: block !important; }
  @media screen and (orientation: landscape) {
    .show-for-landscape,
    .hide-for-portrait {
      display: block !important; } }
  @media screen and (orientation: portrait) {
    .show-for-landscape,
    .hide-for-portrait {
      display: none !important; } }

.hide-for-landscape,
.show-for-portrait {
  display: none !important; }
  @media screen and (orientation: landscape) {
    .hide-for-landscape,
    .show-for-portrait {
      display: none !important; } }
  @media screen and (orientation: portrait) {
    .hide-for-landscape,
    .show-for-portrait {
      display: block !important; } }

.show-for-dark-mode {
  display: none; }

.hide-for-dark-mode {
  display: block; }

@media screen and (prefers-color-scheme: dark) {
  .show-for-dark-mode {
    display: block !important; }
  .hide-for-dark-mode {
    display: none !important; } }

.show-for-ie {
  display: none; }

@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .show-for-ie {
    display: block !important; }
  .hide-for-ie {
    display: none !important; } }

.show-for-sticky {
  display: none; }

.is-stuck .show-for-sticky {
  display: block; }

.is-stuck .hide-for-sticky {
  display: none; }

/*
----- Menus -----
TODO: This is a work in progress I am still migrating from a massive blob of code embedded in header.scss.
Handles the following: 
- Dropdowns
- Drill downs
- Accordions
- Mega menu
  - Mega menu see more link.
  - EBG image.
*/
.menu-header {
  width: 100%;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0 0 20px;
  border-bottom: 0; }
  @media screen and (min-width: 81.25em) {
    .menu-header {
      display: none; } }
  .menu-header:hover {
    background-color: transparent; }
  .menu-header:active {
    background: transparent; }
  .menu-header .close-button {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
    .menu-header .close-button:before {
      content: "";
      font-family: "Font Awesome Solid";
      font-size: 24px;
      color: #06052f;
      -webkit-transition: color 0.8s, -webkit-transform 0.6s;
      transition: color 0.8s, -webkit-transform 0.6s;
      transition: transform 0.6s, color 0.8s;
      transition: transform 0.6s, color 0.8s, -webkit-transform 0.6s; }
    .menu-header .close-button:hover:before {
      color: #ae9461;
      -webkit-transform: rotate(90deg);
              transform: rotate(90deg);
      -webkit-transition: color 0.6s, -webkit-transform 0.6s;
      transition: color 0.6s, -webkit-transform 0.6s;
      transition: transform 0.6s, color 0.6s;
      transition: transform 0.6s, color 0.6s, -webkit-transform 0.6s; }
    .menu-header .close-button:active:before {
      color: #06052f;
      -webkit-transition: font-size 1.2s, color 0.6s;
      transition: font-size 1.2s, color 0.6s; }
  .menu-header .menu-heading {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    margin: 0;
    padding: 0 0 15px;
    color: #06052f;
    font-size: 1.5625rem;
    font-weight: 600;
    border-bottom: 1px solid #aeaeae; }

.menu-container {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  @media screen and (min-width: 81.25em) {
    .menu-container {
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content; } }

.menu, .dropdown.menu {
  width: 100%;
  height: 100%;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }
  @media screen and (min-width: 81.25em) {
    .menu, .dropdown.menu {
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content; } }
  .menu .navigation-cms-container, .menu .menu-header, .dropdown.menu .navigation-cms-container, .dropdown.menu .menu-header {
    position: relative;
    margin: 30px 0 40px;
    border-bottom: 0; }
    .menu .navigation-cms-container:hover, .menu .menu-header:hover, .dropdown.menu .navigation-cms-container:hover, .dropdown.menu .menu-header:hover {
      background-color: transparent; }
    .menu .navigation-cms-container:active, .menu .menu-header:active, .dropdown.menu .navigation-cms-container:active, .dropdown.menu .menu-header:active {
      background: transparent; }
    .menu .navigation-cms-container p, .menu .menu-header p, .dropdown.menu .navigation-cms-container p, .dropdown.menu .menu-header p {
      margin: 0;
      padding: 0;
      color: #06052f;
      font-size: 1.25rem;
      font-weight: 400; }
  .menu .close-button, .dropdown.menu .close-button {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    top: 0;
    bottom: 0; }
    .menu .close-button:before, .dropdown.menu .close-button:before {
      content: "";
      font-family: "Font Awesome Solid";
      font-size: 24px;
      color: #000000;
      -webkit-transition: color 0.8s, -webkit-transform 0.6s;
      transition: color 0.8s, -webkit-transform 0.6s;
      transition: transform 0.6s, color 0.8s;
      transition: transform 0.6s, color 0.8s, -webkit-transform 0.6s; }
    .menu .close-button:hover:before, .dropdown.menu .close-button:hover:before {
      color: #ae9461;
      -webkit-transform: rotate(90deg);
              transform: rotate(90deg);
      -webkit-transition: color 0.6s, -webkit-transform 0.6s;
      transition: color 0.6s, -webkit-transform 0.6s;
      transition: transform 0.6s, color 0.6s;
      transition: transform 0.6s, color 0.6s, -webkit-transform 0.6s; }
    .menu .close-button:active:before, .dropdown.menu .close-button:active:before {
      color: #06052f;
      -webkit-transition: font-size 1.2s, color 0.6s;
      transition: font-size 1.2s, color 0.6s; }
  @media print, screen and (max-width: 81.24875em) {
    .menu > li, .dropdown.menu > li {
      width: 100%;
      position: relative;
      border-bottom: 1px solid #aeaeae; }
      .menu > li > ul, .dropdown.menu > li > ul {
        padding: 0 0 10px;
        background-color: #ffffff;
        list-style: none;
        border-top: 1px solid #aeaeae; }
        .menu > li > ul > li, .dropdown.menu > li > ul > li {
          border: 0; }
          .menu > li > ul > li > a, .dropdown.menu > li > ul > li > a {
            font-size: 1.0625rem;
            font-weight: 600; }
        .menu > li > ul ul, .dropdown.menu > li > ul ul {
          border: none; }
          .menu > li > ul ul a, .dropdown.menu > li > ul ul a {
            color: #000000;
            font-weight: 400;
            font-size: 1.0625rem; }
    .menu .account-menu, .dropdown.menu .account-menu {
      padding: 0; } }
  .menu #mega-menu-image-container, .menu .menu-egb-image-container, .dropdown.menu #mega-menu-image-container, .dropdown.menu .menu-egb-image-container {
    display: none;
    margin-bottom: 25px;
    text-align: center; }
    @media screen and (min-width: 81.25em) {
      .menu #mega-menu-image-container, .menu .menu-egb-image-container, .dropdown.menu #mega-menu-image-container, .dropdown.menu .menu-egb-image-container {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: start;
            -ms-flex-align: start;
                align-items: flex-start;
        margin-bottom: 0; } }
  .menu.accordion-menu > li > a:after, .dropdown.menu.accordion-menu > li > a:after {
    color: #06052f; }
  .menu.accordion-menu > li:hover > a:after, .dropdown.menu.accordion-menu > li:hover > a:after {
    color: #777777;
    -webkit-transition: color 0.6s;
    transition: color 0.6s; }
  .menu.accordion-menu > li:active > a:after, .dropdown.menu.accordion-menu > li:active > a:after {
    color: #ffffff;
    -webkit-transition: color 0.6s;
    transition: color 0.6s; }
  .menu.accordion-menu:not([data-submenu-toggle="true"]) > li.is-accordion-submenu-parent[aria-expanded=true] > a:after, .dropdown.menu.accordion-menu:not([data-submenu-toggle="true"]) > li.is-accordion-submenu-parent[aria-expanded=true] > a:after {
    content: ""; }
  .menu.accordion-menu:not([data-submenu-toggle="true"]) > li.is-accordion-submenu-parent > a, .dropdown.menu.accordion-menu:not([data-submenu-toggle="true"]) > li.is-accordion-submenu-parent > a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
    .menu.accordion-menu:not([data-submenu-toggle="true"]) > li.is-accordion-submenu-parent > a:after, .dropdown.menu.accordion-menu:not([data-submenu-toggle="true"]) > li.is-accordion-submenu-parent > a:after {
      content: "";
      width: 10px;
      height: 10px;
      margin-right: 10px;
      margin-left: auto;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      font-size: 8px;
      font-family: "fontello-djmiles";
      text-align: center;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
  .menu.accordion-menu:not([data-submenu-toggle="true"]) > li.is-accordion-submenu-parent > ul > li.is-accordion-submenu-parent[aria-expanded=true] > a:before, .dropdown.menu.accordion-menu:not([data-submenu-toggle="true"]) > li.is-accordion-submenu-parent > ul > li.is-accordion-submenu-parent[aria-expanded=true] > a:before {
    content: ""; }
  @media print, screen and (max-width: 81.24875em) {
    .menu.accordion-menu:not([data-submenu-toggle="true"]) > li.is-accordion-submenu-parent > ul > li.is-accordion-submenu-parent > a:before, .dropdown.menu.accordion-menu:not([data-submenu-toggle="true"]) > li.is-accordion-submenu-parent > ul > li.is-accordion-submenu-parent > a:before {
      content: "";
      height: 8px;
      margin: auto 0;
      padding: 0 10px 0 0;
      display: -webkit-inline-box;
      display: -ms-inline-flexbox;
      display: inline-flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      font-family: "fontello-djmiles";
      font-size: 8px;
      line-height: 8px;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; } }
  @media screen and (max-width: 81.24875em) and (min-width: 81.25em) {
    .menu.accordion-menu:not([data-submenu-toggle="true"]) > li.is-accordion-submenu-parent > ul > li.is-accordion-submenu-parent > a:before, .dropdown.menu.accordion-menu:not([data-submenu-toggle="true"]) > li.is-accordion-submenu-parent > ul > li.is-accordion-submenu-parent > a:before {
      padding: 0 10px; } }
  .menu.accordion-menu:not([data-submenu-toggle="true"]) > li.is-accordion-submenu-parent > ul > li.is-accordion-submenu-parent ul, .dropdown.menu.accordion-menu:not([data-submenu-toggle="true"]) > li.is-accordion-submenu-parent > ul > li.is-accordion-submenu-parent ul {
    padding: 0 0 0 20px;
    list-style: none; }
  .menu.accordion-menu[data-submenu-toggle="true"][aria-expanded=true] > button:after, .dropdown.menu.accordion-menu[data-submenu-toggle="true"][aria-expanded=true] > button:after {
    content: ""; }
  .submenu-toggle:after {
    content: "";
    width: auto;
    height: auto;
    font-size: 8px;
    font-family: "fontello-djmiles";
    border: 0; }
  @media print, screen and (max-width: 81.24875em) {
    .menu.accordion-menu[data-submenu-toggle="true"] .submenu, .dropdown.menu.accordion-menu[data-submenu-toggle="true"] .submenu {
      margin: 0;
      padding: 0; } }
  @media print, screen and (max-width: 81.24875em) {
    .menu.accordion-menu[data-submenu-toggle="true"] li.is-accordion-submenu-item:not(.has-submenu-toggle) a, .dropdown.menu.accordion-menu[data-submenu-toggle="true"] li.is-accordion-submenu-item:not(.has-submenu-toggle) a {
      padding-left: 45px; } }
  .menu.ebg-colour-background li[style*="--ebg"].is-submenu-item, .dropdown.menu.ebg-colour-background li[style*="--ebg"].is-submenu-item {
    background-color: var(--ebg-background-colour, #06052f); }
    .menu.ebg-colour-background li[style*="--ebg"].is-submenu-item > a, .dropdown.menu.ebg-colour-background li[style*="--ebg"].is-submenu-item > a {
      color: var(--ebg-foreground-colour, #06052f); }
    .menu.ebg-colour-background li[style*="--ebg"].is-submenu-item > a:hover:before, .menu.ebg-colour-background li[style*="--ebg"].is-submenu-item > a:hover:after, .menu.ebg-colour-background li[style*="--ebg"].is-submenu-item li:hover a:before, .menu.ebg-colour-background li[style*="--ebg"].is-submenu-item li:hover a:after, .dropdown.menu.ebg-colour-background li[style*="--ebg"].is-submenu-item > a:hover:before, .dropdown.menu.ebg-colour-background li[style*="--ebg"].is-submenu-item > a:hover:after, .dropdown.menu.ebg-colour-background li[style*="--ebg"].is-submenu-item li:hover a:before, .dropdown.menu.ebg-colour-background li[style*="--ebg"].is-submenu-item li:hover a:after {
      color: var(--ebg-foreground-colour, #06052f); }
    .menu.ebg-colour-background li[style*="--ebg"].is-submenu-item ul, .dropdown.menu.ebg-colour-background li[style*="--ebg"].is-submenu-item ul {
      background-color: var(--ebg-background-colour, #06052f); }
      .menu.ebg-colour-background li[style*="--ebg"].is-submenu-item ul li > a, .dropdown.menu.ebg-colour-background li[style*="--ebg"].is-submenu-item ul li > a {
        color: var(--ebg-foreground-colour, #06052f); }
  .menu.ebg-colour-background li[style*="--ebg"]:not(.is-submenu-item), .dropdown.menu.ebg-colour-background li[style*="--ebg"]:not(.is-submenu-item) {
    background-color: var(--ebg-background-colour, #06052f); }
    .menu.ebg-colour-background li[style*="--ebg"]:not(.is-submenu-item) > a, .dropdown.menu.ebg-colour-background li[style*="--ebg"]:not(.is-submenu-item) > a {
      color: var(--ebg-foreground-colour, #06052f); }
  .menu.ebg-colour-hover li[style*="--ebg"]:hover, .menu.ebg-colour-hover li[style*="--ebg"][aria-expanded="true"], .dropdown.menu.ebg-colour-hover li[style*="--ebg"]:hover, .dropdown.menu.ebg-colour-hover li[style*="--ebg"][aria-expanded="true"] {
    background-color: var(--ebg-background-colour, #06052f); }
    .menu.ebg-colour-hover li[style*="--ebg"]:hover > a:first-child, .menu.ebg-colour-hover li[style*="--ebg"][aria-expanded="true"] > a:first-child, .dropdown.menu.ebg-colour-hover li[style*="--ebg"]:hover > a:first-child, .dropdown.menu.ebg-colour-hover li[style*="--ebg"][aria-expanded="true"] > a:first-child {
      color: var(--ebg-foreground-colour, #06052f); }
      .menu.ebg-colour-hover li[style*="--ebg"]:hover > a:first-child:before, .menu.ebg-colour-hover li[style*="--ebg"]:hover > a:first-child:after, .menu.ebg-colour-hover li[style*="--ebg"][aria-expanded="true"] > a:first-child:before, .menu.ebg-colour-hover li[style*="--ebg"][aria-expanded="true"] > a:first-child:after, .dropdown.menu.ebg-colour-hover li[style*="--ebg"]:hover > a:first-child:before, .dropdown.menu.ebg-colour-hover li[style*="--ebg"]:hover > a:first-child:after, .dropdown.menu.ebg-colour-hover li[style*="--ebg"][aria-expanded="true"] > a:first-child:before, .dropdown.menu.ebg-colour-hover li[style*="--ebg"][aria-expanded="true"] > a:first-child:after {
        color: var(--ebg-foreground-colour, #06052f); }
  .menu.ebg-colour-hover li[style*="--ebg"] li:not([style*="--ebg"]):hover, .menu.ebg-colour-hover li[style*="--ebg"] li:not([style*="--ebg"])[aria-expanded="true"], .dropdown.menu.ebg-colour-hover li[style*="--ebg"] li:not([style*="--ebg"]):hover, .dropdown.menu.ebg-colour-hover li[style*="--ebg"] li:not([style*="--ebg"])[aria-expanded="true"] {
    background-color: var(--ebg-background-colour, #06052f); }
    .menu.ebg-colour-hover li[style*="--ebg"] li:not([style*="--ebg"]):hover > a:first-child, .menu.ebg-colour-hover li[style*="--ebg"] li:not([style*="--ebg"])[aria-expanded="true"] > a:first-child, .dropdown.menu.ebg-colour-hover li[style*="--ebg"] li:not([style*="--ebg"]):hover > a:first-child, .dropdown.menu.ebg-colour-hover li[style*="--ebg"] li:not([style*="--ebg"])[aria-expanded="true"] > a:first-child {
      color: var(--ebg-foreground-colour, #06052f); }
      .menu.ebg-colour-hover li[style*="--ebg"] li:not([style*="--ebg"]):hover > a:first-child:before, .menu.ebg-colour-hover li[style*="--ebg"] li:not([style*="--ebg"]):hover > a:first-child:after, .menu.ebg-colour-hover li[style*="--ebg"] li:not([style*="--ebg"])[aria-expanded="true"] > a:first-child:before, .menu.ebg-colour-hover li[style*="--ebg"] li:not([style*="--ebg"])[aria-expanded="true"] > a:first-child:after, .dropdown.menu.ebg-colour-hover li[style*="--ebg"] li:not([style*="--ebg"]):hover > a:first-child:before, .dropdown.menu.ebg-colour-hover li[style*="--ebg"] li:not([style*="--ebg"]):hover > a:first-child:after, .dropdown.menu.ebg-colour-hover li[style*="--ebg"] li:not([style*="--ebg"])[aria-expanded="true"] > a:first-child:before, .dropdown.menu.ebg-colour-hover li[style*="--ebg"] li:not([style*="--ebg"])[aria-expanded="true"] > a:first-child:after {
        color: var(--ebg-foreground-colour, #06052f); }
  .menu li, .dropdown.menu li {
    list-style: none; }
  .menu > li, .dropdown.menu > li {
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }
    @media screen and (min-width: 81.25em) {
      .menu > li, .dropdown.menu > li {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column; } }
    .menu > li a, .dropdown.menu > li a {
      -webkit-box-align: baseline;
          -ms-flex-align: baseline;
              align-items: baseline;
      line-height: 1.6; }
    .menu > li:hover, .dropdown.menu > li:hover {
      background-color: #06052f; }
      .menu > li:hover > a, .dropdown.menu > li:hover > a {
        color: #ffffff; }
    .menu > li > a.has-link-image, .menu > li > p.has-link-image, .dropdown.menu > li > a.has-link-image, .dropdown.menu > li > p.has-link-image {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; }
      @media screen and (min-width: 81.25em) {
        .menu > li > a.has-link-image, .menu > li > p.has-link-image, .dropdown.menu > li > a.has-link-image, .dropdown.menu > li > p.has-link-image {
          -webkit-box-orient: vertical;
          -webkit-box-direction: normal;
              -ms-flex-direction: column;
                  flex-direction: column;
          -webkit-box-pack: center;
              -ms-flex-pack: center;
                  justify-content: center;
          padding-top: 6px;
          padding-bottom: 6px; } }
      .menu > li > a.has-link-image .link-image, .menu > li > p.has-link-image .link-image, .dropdown.menu > li > a.has-link-image .link-image, .dropdown.menu > li > p.has-link-image .link-image {
        width: 35px;
        height: 35px;
        display: block;
        padding: 0 10px 0 0; }
        @media screen and (min-width: 81.25em) {
          .menu > li > a.has-link-image .link-image, .menu > li > p.has-link-image .link-image, .dropdown.menu > li > a.has-link-image .link-image, .dropdown.menu > li > p.has-link-image .link-image {
            width: 45px;
            height: 45px;
            padding: 0; } }
        @media screen and (min-width: 81.25em) {
          .menu > li > a.has-link-image .link-image + .link-description, .menu > li > p.has-link-image .link-image + .link-description, .dropdown.menu > li > a.has-link-image .link-image + .link-description, .dropdown.menu > li > p.has-link-image .link-image + .link-description {
            padding: 10px 0 0; } }
    .menu > li > a, .dropdown.menu > li > a {
      width: 100%;
      -webkit-box-flex: 1;
          -ms-flex-positive: 1;
              flex-grow: 1;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      line-height: 1.6; }
      @media screen and (min-width: 81.25em) {
        .menu > li > a, .dropdown.menu > li > a {
          -webkit-box-pack: start;
              -ms-flex-pack: start;
                  justify-content: flex-start; } }
    .menu > li > ul, .dropdown.menu > li > ul {
      padding: 0 0 10px;
      border-color: var(--ebg-background-colour, #06052f); }
      .menu > li > ul:not(.submenu), .dropdown.menu > li > ul:not(.submenu) {
        display: none; }
      @media screen and (min-width: 81.25em) {
        .menu > li > ul, .dropdown.menu > li > ul {
          padding: 0; } }
      @media screen and (min-width: 81.25em) {
        .menu > li > ul li ul li.is-submenu-item, .dropdown.menu > li > ul li ul li.is-submenu-item {
          padding-left: 20px; } }
      .menu > li > ul > li a, .menu > li > ul .is-active a, .dropdown.menu > li > ul > li a, .dropdown.menu > li > ul .is-active a {
        position: relative;
        margin: 0; }
      .menu > li > ul > li.is-dropdown-submenu-parent > a:after, .menu > li > ul .is-active.is-dropdown-submenu-parent > a:after, .dropdown.menu > li > ul > li.is-dropdown-submenu-parent > a:after, .dropdown.menu > li > ul .is-active.is-dropdown-submenu-parent > a:after {
        content: "";
        position: relative;
        top: auto;
        right: auto;
        left: auto;
        display: -webkit-inline-box;
        display: -ms-inline-flexbox;
        display: inline-flex;
        margin: 0 0 0 auto;
        font-family: "fontello-djmiles";
        font-size: 8px; }
  .menu.dropdown li > a, .dropdown.menu.dropdown li > a {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
  .menu.dropdown > li.is-dropdown-submenu-parent, .dropdown.menu.dropdown > li.is-dropdown-submenu-parent {
    border-radius: 0 0 0 0; }
  .menu.dropdown > li:not(.is-dropdown-submenu-parent), .dropdown.menu.dropdown > li:not(.is-dropdown-submenu-parent) {
    border-radius: 0; }
  .menu.dropdown > li.is-dropdown-submenu-parent:not(.site-setting-menu):hover > a:after, .dropdown.menu.dropdown > li.is-dropdown-submenu-parent:not(.site-setting-menu):hover > a:after {
    content: "";
    color: #777777;
    -webkit-transition: color 0.6s;
    transition: color 0.6s; }
  .menu.dropdown > li.is-dropdown-submenu-parent:not(.site-setting-menu) > a:after, .dropdown.menu.dropdown > li.is-dropdown-submenu-parent:not(.site-setting-menu) > a:after {
    content: "";
    display: inline-block;
    position: relative;
    top: auto;
    right: auto;
    margin: auto 0 auto 4px;
    font-family: "fontello-djmiles";
    font-size: 8px;
    color: #ffffff;
    -webkit-transition: color 0.8s;
    transition: color 0.8s; }
  .menu.on-page-menu, .dropdown.menu.on-page-menu {
    margin: auto;
    padding: 10px;
    border: 1px solid #eeeeee;
    border-radius: 0; }
    .menu.on-page-menu > li, .dropdown.menu.on-page-menu > li {
      position: initial;
      border: 0;
      border-radius: 0; }
      .menu.on-page-menu > li:hover, .dropdown.menu.on-page-menu > li:hover {
        color: #06052f;
        background-color: #eeeeee; }
        .menu.on-page-menu > li:hover > a, .dropdown.menu.on-page-menu > li:hover > a {
          color: #06052f; }
      .menu.on-page-menu > li p, .dropdown.menu.on-page-menu > li p {
        margin-left: 35px; }
        @media screen and (min-width: 81.25em) {
          .menu.on-page-menu > li p, .dropdown.menu.on-page-menu > li p {
            margin-left: 60px; } }
        .menu.on-page-menu > li p i, .dropdown.menu.on-page-menu > li p i {
          margin-right: 5px; }
  .menu .home-button, .dropdown.menu .home-button {
    width: 100%;
    position: relative;
    display: none; }
    @media screen and (min-width: 81.25em) {
      .menu .home-button, .dropdown.menu .home-button {
        max-width: -webkit-fit-content;
        max-width: -moz-fit-content;
        max-width: fit-content;
        width: 100%;
        display: block; } }
    .menu .home-button:hover, .dropdown.menu .home-button:hover {
      background-color: #ffffff;
      -webkit-transition: background-color 0.8s;
      transition: background-color 0.8s; }
      .menu .home-button:hover a:before, .dropdown.menu .home-button:hover a:before {
        background-color: transparent;
        color: #777777;
        -webkit-transition: color 0.8s, background-color 0.8s;
        transition: color 0.8s, background-color 0.8s; }
    .menu .home-button:active, .dropdown.menu .home-button:active {
      background-color: #06052f; }
      .menu .home-button:active a:before, .dropdown.menu .home-button:active a:before {
        background-color: transparent;
        color: #ffffff; }
    .menu .home-button a, .dropdown.menu .home-button a {
      width: 100%;
      height: 100%;
      position: relative;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center; }
      .menu .home-button a:before, .dropdown.menu .home-button a:before {
        content: "";
        padding: 0;
        font-family: "Font Awesome Solid";
        font-size: 14px;
        color: #ffffff;
        background-color: transparent;
        border-radius: 0;
        -webkit-transition: color 0.6s, padding 0.8s;
        transition: color 0.6s, padding 0.8s; }
  .menu .account-menu, .dropdown.menu .account-menu {
    width: 100%;
    right: 0 !important;
    left: auto !important;
    padding: 10px 0; }
    @media screen and (min-width: 81.25em) {
      .menu .account-menu, .dropdown.menu .account-menu {
        max-height: 70vh;
        width: 550px;
        padding: 20px;
        overflow-y: auto; } }
    .menu .account-menu li, .dropdown.menu .account-menu li {
      position: relative; }
      .menu .account-menu li > a, .dropdown.menu .account-menu li > a {
        padding: 10px; }
    .menu .account-menu .account-page > a:before, .dropdown.menu .account-menu .account-page > a:before {
      content: unset; }
    .menu .account-menu.js-dropdown-active, .dropdown.menu .account-menu.js-dropdown-active {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      border: 0;
      top: 100% !important;
      right: 0;
      left: auto; }
      @media screen and (min-width: 81.25em) {
        .menu .account-menu.js-dropdown-active, .dropdown.menu .account-menu.js-dropdown-active {
          padding-bottom: 50px;
          -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
                  box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
          border-bottom-color: #06052f;
          border-width: 0 0 6px 0;
          border-style: solid; } }
  .menu .site-setting-menu, .dropdown.menu .site-setting-menu {
    margin-bottom: 30px;
    background-color: #eeeeee;
    border-color: transparent;
    cursor: pointer; }
    @media screen and (min-width: 81.25em) {
      .menu .site-setting-menu, .dropdown.menu .site-setting-menu {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        margin-bottom: 0;
        padding-left: 13px;
        padding-right: 45px;
        background-color: transparent; } }
    .menu .site-setting-menu:hover, .dropdown.menu .site-setting-menu:hover {
      background-color: #eeeeee; }
      .menu .site-setting-menu:hover > a, .dropdown.menu .site-setting-menu:hover > a {
        color: #000000; }
    .menu .site-setting-menu > ul, .dropdown.menu .site-setting-menu > ul {
      width: auto;
      margin: 0 20px 20px;
      border-color: #ffffff; }
      @media screen and (min-width: 81.25em) {
        .menu .site-setting-menu > ul, .dropdown.menu .site-setting-menu > ul {
          min-width: 160px;
          margin: 0;
          padding: 10px 45px 10px 22px;
          border-color: transparent;
          border-bottom-color: #06052f;
          border-width: 0 0 6px 0;
          border-style: solid; }
          .menu .site-setting-menu > ul:after, .dropdown.menu .site-setting-menu > ul:after {
            content: '';
            width: 90%;
            height: 2px;
            position: absolute;
            top: 2px;
            right: 0;
            left: 0;
            display: block;
            margin: auto;
            background-color: #eeeeee; } }
      @media screen and (min-width: 81.25em) {
        .menu .site-setting-menu > ul a, .dropdown.menu .site-setting-menu > ul a {
          -webkit-box-pack: start;
              -ms-flex-pack: start;
                  justify-content: flex-start;
          padding: 0; } }
      .menu .site-setting-menu > ul a .currency-icon, .dropdown.menu .site-setting-menu > ul a .currency-icon {
        line-height: 2; }
    .menu .site-setting-menu .currency-container, .dropdown.menu .site-setting-menu .currency-container {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: baseline;
          -ms-flex-align: baseline;
              align-items: baseline;
      margin: auto 0; }
    .menu .site-setting-menu .selected-option, .dropdown.menu .site-setting-menu .selected-option {
      -webkit-box-align: baseline;
          -ms-flex-align: baseline;
              align-items: baseline; }
      @media screen and (min-width: 81.25em) {
        .menu .site-setting-menu .selected-option:before, .dropdown.menu .site-setting-menu .selected-option:before {
          content: "";
          display: inline-block;
          position: relative;
          top: auto;
          right: auto;
          margin: auto 15px auto 0;
          font-family: "fontello-djmiles";
          font-size: 8px;
          color: #aeaeae;
          -webkit-transition: color 0.8s;
          transition: color 0.8s; }
        .menu .site-setting-menu .selected-option:hover:before, .dropdown.menu .site-setting-menu .selected-option:hover:before {
          color: #888888; } }
      .menu .site-setting-menu .selected-option:active, .dropdown.menu .site-setting-menu .selected-option:active {
        background-color: transparent; }
      .menu .site-setting-menu .selected-option .currency-icon, .dropdown.menu .site-setting-menu .selected-option .currency-icon {
        position: relative;
        top: -1px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex; }
        .menu .site-setting-menu .selected-option .currency-icon:before, .dropdown.menu .site-setting-menu .selected-option .currency-icon:before {
          font-size: 12px; }
          @media screen and (min-width: 81.25em) {
            .menu .site-setting-menu .selected-option .currency-icon:before, .dropdown.menu .site-setting-menu .selected-option .currency-icon:before {
              color: #06052f; } }
      .menu .site-setting-menu .selected-option .label, .dropdown.menu .site-setting-menu .selected-option .label {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        margin: 0 0 0 6px; }
        @media print, screen and (max-width: 81.24875em) {
          .menu .site-setting-menu .selected-option .label, .dropdown.menu .site-setting-menu .selected-option .label {
            color: #000000;
            font-size: 0.875rem; } }
    .menu .site-setting-menu .currency, .dropdown.menu .site-setting-menu .currency {
      white-space: nowrap; }
      .menu .site-setting-menu .currency.disabled, .dropdown.menu .site-setting-menu .currency.disabled {
        opacity: .5;
        cursor: not-allowed; }
      .menu .site-setting-menu .currency .currency-icon, .dropdown.menu .site-setting-menu .currency .currency-icon {
        font-size: 13px; }
      .menu .site-setting-menu .currency .label, .dropdown.menu .site-setting-menu .currency .label {
        margin-left: 10px;
        color: #000000;
        font-size: 0.875rem;
        font-weight: 400; }
        .menu .site-setting-menu .currency .label:hover, .dropdown.menu .site-setting-menu .currency .label:hover {
          color: #ae9461; }
        .menu .site-setting-menu .currency .label:active, .dropdown.menu .site-setting-menu .currency .label:active {
          color: #06052f; }
    .menu .site-setting-menu .is-dropdown-submenu-parent, .dropdown.menu .site-setting-menu .is-dropdown-submenu-parent {
      top: calc(100% + 7.5px) !important; }
    .menu .site-setting-menu.is-active > a:hover .label, .dropdown.menu .site-setting-menu.is-active > a:hover .label {
      color: #06052f; }
    @media screen and (min-width: 81.25em) {
      .menu .site-setting-menu.is-active, .menu .site-setting-menu:hover, .dropdown.menu .site-setting-menu.is-active, .dropdown.menu .site-setting-menu:hover {
        background-color: #ffffff; }
        .menu .site-setting-menu.is-active a .currency-icon:before, .menu .site-setting-menu:hover a .currency-icon:before, .dropdown.menu .site-setting-menu.is-active a .currency-icon:before, .dropdown.menu .site-setting-menu:hover a .currency-icon:before {
          color: #06052f; } }
    @media screen and (min-width: 81.25em) {
      .menu .site-setting-menu.is-active > a:before, .menu .site-setting-menu:hover > a:before, .dropdown.menu .site-setting-menu.is-active > a:before, .dropdown.menu .site-setting-menu:hover > a:before {
        content: "";
        color: #888888; } }

ul.menu li a[href^="tel:"]:before, ul.menu li a[href^="mailto:"]:before {
  display: inline-block;
  margin: 0 10px 0 0;
  padding: 1px 5px;
  color: #ae9461;
  font-family: "Font Awesome Solid";
  background-color: #ffffff;
  border-radius: 0;
  -webkit-transition: background-color 0.8s, color 0.8s;
  transition: background-color 0.8s, color 0.8s; }

ul.menu li a[href^="tel:"]:hover:before, ul.menu li a[href^="mailto:"]:hover:before {
  color: #06052f;
  background-color: #ffffff;
  -webkit-transition: background-color 0.6s, color 0.6s;
  transition: background-color 0.6s, color 0.6s; }

ul.menu li a[href^="tel:"]:active:before, ul.menu li a[href^="mailto:"]:active:before {
  color: #ffffff;
  background-color: #ae9461; }

ul.menu li a[href^="mailto:"]:before {
  content: "";
  font-size: 14px; }

ul.menu li a[href^="tel:"]:before {
  content: "";
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
  line-height: 22px;
  font-size: 14px; }

.menu-scroll-container {
  overflow-y: auto;
  overflow-x: hidden; }

.submenu {
  height: auto;
  z-index: 400;
  border-radius: 0 0 0 0; }
  @media screen and (min-width: 81.25em) {
    .submenu.level2 {
      padding-bottom: 50px;
      -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
              box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
      border-bottom-color: #06052f;
      border-width: 0 0 6px 0;
      border-style: solid; } }
  .submenu.js-dropdown-active {
    display: block; }
  .submenu > li.is-active {
    background-color: #06052f; }
    .submenu > li.is-active > a {
      color: #ffffff; }

.is-dropdown-submenu .is-dropdown-submenu {
  margin-top: 0; }

.menu-egb-image-container {
  float: right; }
  @media screen and (min-width: 81.25em) {
    .menu-egb-image-container {
      width: 100%;
      height: -webkit-fit-content;
      height: -moz-fit-content;
      height: fit-content;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      margin: 0 0 20px;
      grid-row: 1 / span last-line; } }
  .menu-egb-image-container .image {
    max-width: 100%;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content; }
    .menu-egb-image-container .image img {
      border: 1px solid #c8c8c8;
      border-radius: 0; }

.mega-menu-container {
  --mega-menu-dropdown-gutter: 15px; }
  @media screen and (min-width: 81.25em) {
    .mega-menu-container > ul.menu {
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap; }
      .mega-menu-container > ul.menu[data-mega-menu-column-count="1"] > li > ul.submenu {
        grid-template-columns: repeat(1, calc((100% - 0px) / 1)); }
        .mega-menu-container > ul.menu[data-mega-menu-column-count="1"] > li > ul.submenu .menu-egb-image-container {
          grid-column: 1; }
      .mega-menu-container > ul.menu[data-mega-menu-column-count="2"] > li > ul.submenu {
        grid-template-columns: repeat(2, calc((100% - 15px) / 2)); }
        .mega-menu-container > ul.menu[data-mega-menu-column-count="2"] > li > ul.submenu .menu-egb-image-container {
          grid-column: 2; }
      .mega-menu-container > ul.menu[data-mega-menu-column-count="3"] > li > ul.submenu {
        grid-template-columns: repeat(3, calc((100% - 30px) / 3)); }
        .mega-menu-container > ul.menu[data-mega-menu-column-count="3"] > li > ul.submenu .menu-egb-image-container {
          grid-column: 3; }
      .mega-menu-container > ul.menu[data-mega-menu-column-count="4"] > li > ul.submenu {
        grid-template-columns: repeat(4, calc((100% - 45px) / 4)); }
        .mega-menu-container > ul.menu[data-mega-menu-column-count="4"] > li > ul.submenu .menu-egb-image-container {
          grid-column: 4; }
      .mega-menu-container > ul.menu[data-mega-menu-column-count="5"] > li > ul.submenu {
        grid-template-columns: repeat(5, calc((100% - 60px) / 5)); }
        .mega-menu-container > ul.menu[data-mega-menu-column-count="5"] > li > ul.submenu .menu-egb-image-container {
          grid-column: 5; }
      .mega-menu-container > ul.menu[data-mega-menu-column-count="6"] > li > ul.submenu {
        grid-template-columns: repeat(6, calc((100% - 75px) / 6)); }
        .mega-menu-container > ul.menu[data-mega-menu-column-count="6"] > li > ul.submenu .menu-egb-image-container {
          grid-column: 6; }
      .mega-menu-container > ul.menu[data-mega-menu-column-count="7"] > li > ul.submenu {
        grid-template-columns: repeat(7, calc((100% - 90px) / 7)); }
        .mega-menu-container > ul.menu[data-mega-menu-column-count="7"] > li > ul.submenu .menu-egb-image-container {
          grid-column: 7; }
      .mega-menu-container > ul.menu[data-mega-menu-column-count="8"] > li > ul.submenu {
        grid-template-columns: repeat(8, calc((100% - 105px) / 8)); }
        .mega-menu-container > ul.menu[data-mega-menu-column-count="8"] > li > ul.submenu .menu-egb-image-container {
          grid-column: 8; } }
  .mega-menu-container > ul.menu > li {
    position: static; }
    .mega-menu-container > ul.menu > li:hover > .submenu {
      display: grid;
      grid-template-rows: auto;
      gap: 20px 15px; }
    @media screen and (min-width: 81.25em) {
      .mega-menu-container > ul.menu > li > ul.overflow-scroll {
        max-height: 70vh;
        padding-right: 30px;
        overflow-y: scroll; } }
    .mega-menu-container > ul.menu > li > ul.submenu {
      position: absolute;
      top: 100%;
      right: auto;
      left: 0;
      display: none;
      background-color: #ffffff; }
      .mega-menu-container > ul.menu > li > ul.submenu > li.has-cloned-groups-parent > a {
        display: none; }
    @media screen and (min-width: 81.25em) {
      .mega-menu-container > ul.menu > li > ul.submenu.js-dropdown-active {
        display: grid;
        grid-auto-flow: dense;
        grid-template-rows: auto;
        gap: 20px 15px; } }
    .mega-menu-container > ul.menu > li > ul > li {
      border-radius: 0; }
      .mega-menu-container > ul.menu > li > ul > li > a {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex; }
    @media screen and (min-width: 81.25em) {
      .mega-menu-container > ul.menu > li > ul > li a:before, .mega-menu-container > ul.menu > li > ul .is-active a:before {
        content: "";
        height: 8px;
        margin: auto 0;
        padding: 0 10px 0 0;
        display: -webkit-inline-box;
        display: -ms-inline-flexbox;
        display: inline-flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        font-family: "fontello-djmiles";
        font-size: 8px;
        line-height: 8px;
        -webkit-transition: color 0.6s;
        transition: color 0.6s; } }
  @media screen and (min-width: 81.25em) and (min-width: 81.25em) {
    .mega-menu-container > ul.menu > li > ul > li a:before, .mega-menu-container > ul.menu > li > ul .is-active a:before {
      padding: 0 10px; } }
    @media screen and (min-width: 81.25em) {
      .mega-menu-container > ul.menu > li > ul > li a:before, .mega-menu-container > ul.menu > li > ul .is-active a:before {
        color: transparent; } }
    .mega-menu-container > ul.menu > li > ul li.menu-egb-image-container {
      border-radius: 0; }
  .mega-menu-container .menu .has-cloned-groups a {
    padding-top: 5px;
    padding-bottom: 5px; }
  .mega-menu-container .megamenu-column-cloned-span {
    display: grid;
    grid-template-rows: repeat(var(--mega-menu-column-cloned-wrap), 1fr);
    grid-auto-flow: column;
    gap: 0 15px; }
  .mega-menu-container .childfree-parent {
    display: none; }
  .mega-menu-container .column-spanned > a {
    visibility: hidden; }
  .mega-menu-container .cloned-to-seperate-row {
    display: none; }
  .mega-menu-container li.is-submenu-parent.account-menu-container {
    position: relative; }
    .mega-menu-container li.is-submenu-parent.account-menu-container ul.account-menu {
      position: absolute;
      top: 100%;
      right: 0;
      background-color: #ffffff; }
      @media screen and (min-width: 81.25em) {
        .mega-menu-container li.is-submenu-parent.account-menu-container ul.account-menu {
          width: 550px;
          display: none; } }
    @media screen and (min-width: 81.25em) {
      .mega-menu-container li.is-submenu-parent.account-menu-container:hover ul.account-menu {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        padding: 20px; } }
  @media screen and (min-width: 81.25em) {
    .mega-menu-container .persistent-ebg-images li ul.submenu > li {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column; } }
  @media screen and (min-width: 81.25em) {
    .mega-menu-container .persistent-ebg-images li ul.submenu > li > a {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      padding-left: 0;
      text-align: center; } }
  @media screen and (min-width: 81.25em) {
    .mega-menu-container .persistent-ebg-images li ul.submenu > li > a:before {
      display: none; } }
  @media screen and (min-width: 81.25em) {
    .mega-menu-container .persistent-ebg-images li ul.submenu > li > ul.submenu {
      display: none; } }
  .mega-menu-container .persistent-ebg-images li ul.submenu > li:hover .image {
    opacity: .6;
    -webkit-transition: opacity 0.6s;
    transition: opacity 0.6s; }
  .mega-menu-container .persistent-ebg-images li ul.submenu > li .image {
    -webkit-transition: opacity 0.8s;
    transition: opacity 0.8s; }
  .mega-menu-container .persistent-ebg-images .persistent-ebg-image {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin: 0 auto 10px; }
    .mega-menu-container .persistent-ebg-images .persistent-ebg-image img {
      width: 150px; }

.mega-menu-container, .header-menu-right-container {
  width: 100%; }
  @media screen and (min-width: 81.25em) {
    .mega-menu-container, .header-menu-right-container {
      width: auto; } }
  .mega-menu-container .level2, .header-menu-right-container .level2 {
    left: 0; }
    @media screen and (min-width: 81.25em) {
      .mega-menu-container .level2 li a, .header-menu-right-container .level2 li a {
        position: relative;
        margin: 0; } }
    @media screen and (min-width: 81.25em) {
      .mega-menu-container .level2 > li:hover, .header-menu-right-container .level2 > li:hover {
        background-color: transparent; }
        .mega-menu-container .level2 > li:hover > a, .header-menu-right-container .level2 > li:hover > a {
          background-color: transparent; } }
    @media screen and (min-width: 81.25em) {
      .mega-menu-container .level2.js-dropdown-active, .header-menu-right-container .level2.js-dropdown-active {
        top: 100%; } }
  .mega-menu-container .is-dropdown-submenu, .header-menu-right-container .is-dropdown-submenu {
    min-width: auto; }
  .mega-menu-container .submenu li.is-active, .header-menu-right-container .submenu li.is-active {
    background-color: transparent; }
  .mega-menu-container ul.menu > li:last-child, .header-menu-right-container ul.menu > li:last-child {
    margin-right: 0; }
  .mega-menu-container ul.menu > li:hover, .header-menu-right-container ul.menu > li:hover {
    background-color: #ffffff;
    -webkit-transition: background-color 0.6s;
    transition: background-color 0.6s; }
    .mega-menu-container ul.menu > li:hover > a, .header-menu-right-container ul.menu > li:hover > a {
      color: #777777;
      -webkit-transition: color 0.6s ;
      transition: color 0.6s ; }
  .mega-menu-container ul.menu > li:active, .header-menu-right-container ul.menu > li:active {
    background-color: #06052f; }
    .mega-menu-container ul.menu > li:active > a, .header-menu-right-container ul.menu > li:active > a {
      color: #ffffff; }
  .mega-menu-container ul.menu > li.is-submenu-parent:hover > a:after, .header-menu-right-container ul.menu > li.is-submenu-parent:hover > a:after {
    content: "";
    color: #777777;
    -webkit-transition: color 0.6s;
    transition: color 0.6s; }
  .mega-menu-container ul.menu > li.is-submenu-parent > a:after, .header-menu-right-container ul.menu > li.is-submenu-parent > a:after {
    content: "";
    display: inline-block;
    position: relative;
    top: auto;
    right: auto;
    margin: auto 0 auto 4px;
    font-family: "fontello-djmiles";
    font-size: 8px;
    color: #ffffff;
    -webkit-transition: color 0.8s;
    transition: color 0.8s; }
  .mega-menu-container ul.menu > li > a, .header-menu-right-container ul.menu > li > a {
    position: relative;
    padding: 15px 0 15px 10px;
    text-transform: uppercase;
    -webkit-transition: color 0.8s;
    transition: color 0.8s; }
    @media screen and (min-width: 81.25em) {
      .mega-menu-container ul.menu > li > a, .header-menu-right-container ul.menu > li > a {
        padding: 12px 15px;
        font-size: 1rem;
        font-weight: 400;
        color: #ffffff;
        text-align: left; } }
  .mega-menu-container ul.menu > li a, .header-menu-right-container ul.menu > li a {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
    .mega-menu-container ul.menu > li a:hover, .header-menu-right-container ul.menu > li a:hover {
      opacity: 1; }
  @media screen and (min-width: 81.25em) {
    .mega-menu-container ul.menu > li > ul, .header-menu-right-container ul.menu > li > ul {
      width: 1300px;
      padding: 40px 47px;
      z-index: 5000;
      -webkit-box-shadow: 0px 20px 20px 4px rgba(12, 12, 13, 0.22);
              box-shadow: 0px 20px 20px 4px rgba(12, 12, 13, 0.22); } }
  .mega-menu-container ul.menu > li > ul > li, .header-menu-right-container ul.menu > li > ul > li {
    position: relative;
    margin: 0; }
    @media screen and (min-width: 81.25em) {
      .mega-menu-container ul.menu > li > ul > li, .header-menu-right-container ul.menu > li > ul > li {
        margin: 0; } }
    .mega-menu-container ul.menu > li > ul > li > a:hover, .header-menu-right-container ul.menu > li > ul > li > a:hover {
      color: #ae9461; }
    .mega-menu-container ul.menu > li > ul > li > a:active, .header-menu-right-container ul.menu > li > ul > li > a:active {
      color: #06052f; }
    .mega-menu-container ul.menu > li > ul > li > a, .header-menu-right-container ul.menu > li > ul > li > a {
      color: #06052f;
      font-size: 1.0625rem;
      font-weight: 600;
      line-height: 1.6;
      text-transform: uppercase; }
      @media screen and (min-width: 81.25em) {
        .mega-menu-container ul.menu > li > ul > li > a, .header-menu-right-container ul.menu > li > ul > li > a {
          padding: 10px 0 5px 5px;
          font-size: 0.9375rem;
          font-weight: 600; } }
  @media screen and (min-width: 81.25em) {
    .mega-menu-container ul.menu > li > ul ul, .header-menu-right-container ul.menu > li > ul ul {
      position: relative;
      left: auto !important;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      padding: 0;
      margin: 0;
      border: 0; } }
  .mega-menu-container ul.menu > li > ul ul.childfree-parents-menu > li > a, .header-menu-right-container ul.menu > li > ul ul.childfree-parents-menu > li > a {
    color: #06052f;
    font-size: 1.0625rem;
    font-weight: 600;
    line-height: 1.6;
    text-transform: uppercase; }
    @media screen and (min-width: 81.25em) {
      .mega-menu-container ul.menu > li > ul ul.childfree-parents-menu > li > a, .header-menu-right-container ul.menu > li > ul ul.childfree-parents-menu > li > a {
        padding: 10px 0 5px 5px;
        font-size: 0.9375rem;
        font-weight: 600; } }
  .mega-menu-container ul.menu > li > ul ul li, .mega-menu-container ul.menu > li > ul ul li.is-dropdown-submenu-item, .header-menu-right-container ul.menu > li > ul ul li, .header-menu-right-container ul.menu > li > ul ul li.is-dropdown-submenu-item {
    padding: 0; }
    @media screen and (min-width: 81.25em) {
      .mega-menu-container ul.menu > li > ul ul li, .mega-menu-container ul.menu > li > ul ul li.is-dropdown-submenu-item, .header-menu-right-container ul.menu > li > ul ul li, .header-menu-right-container ul.menu > li > ul ul li.is-dropdown-submenu-item {
        width: 100%;
        position: relative; } }
    @media screen and (min-width: 81.25em) {
      .mega-menu-container ul.menu > li > ul ul li:last-child, .mega-menu-container ul.menu > li > ul ul li.is-dropdown-submenu-item:last-child, .header-menu-right-container ul.menu > li > ul ul li:last-child, .header-menu-right-container ul.menu > li > ul ul li.is-dropdown-submenu-item:last-child {
        margin-bottom: 10px; } }
    .mega-menu-container ul.menu > li > ul ul li > a, .mega-menu-container ul.menu > li > ul ul li.is-dropdown-submenu-item > a, .header-menu-right-container ul.menu > li > ul ul li > a, .header-menu-right-container ul.menu > li > ul ul li.is-dropdown-submenu-item > a {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; }
      @media screen and (min-width: 81.25em) {
        .mega-menu-container ul.menu > li > ul ul li > a, .mega-menu-container ul.menu > li > ul ul li.is-dropdown-submenu-item > a, .header-menu-right-container ul.menu > li > ul ul li > a, .header-menu-right-container ul.menu > li > ul ul li.is-dropdown-submenu-item > a {
          color: #777777;
          padding: 0 0 0 5px;
          font-size: 0.875rem;
          font-weight: 400;
          line-height: 18px; } }
      .mega-menu-container ul.menu > li > ul ul li > a:hover, .mega-menu-container ul.menu > li > ul ul li > a:hover:before, .mega-menu-container ul.menu > li > ul ul li.is-dropdown-submenu-item > a:hover, .mega-menu-container ul.menu > li > ul ul li.is-dropdown-submenu-item > a:hover:before, .header-menu-right-container ul.menu > li > ul ul li > a:hover, .header-menu-right-container ul.menu > li > ul ul li > a:hover:before, .header-menu-right-container ul.menu > li > ul ul li.is-dropdown-submenu-item > a:hover, .header-menu-right-container ul.menu > li > ul ul li.is-dropdown-submenu-item > a:hover:before {
        color: #ae9461; }
      .mega-menu-container ul.menu > li > ul ul li > a:active, .mega-menu-container ul.menu > li > ul ul li > a:active:before, .mega-menu-container ul.menu > li > ul ul li.is-dropdown-submenu-item > a:active, .mega-menu-container ul.menu > li > ul ul li.is-dropdown-submenu-item > a:active:before, .header-menu-right-container ul.menu > li > ul ul li > a:active, .header-menu-right-container ul.menu > li > ul ul li > a:active:before, .header-menu-right-container ul.menu > li > ul ul li.is-dropdown-submenu-item > a:active, .header-menu-right-container ul.menu > li > ul ul li.is-dropdown-submenu-item > a:active:before {
        color: #06052f; }
    .mega-menu-container ul.menu > li > ul ul li .mega-menu-view-more, .mega-menu-container ul.menu > li > ul ul li.is-dropdown-submenu-item .mega-menu-view-more, .header-menu-right-container ul.menu > li > ul ul li .mega-menu-view-more, .header-menu-right-container ul.menu > li > ul ul li.is-dropdown-submenu-item .mega-menu-view-more {
      font-weight: 400;
      font-style: italic;
      color: #000000; }
      .mega-menu-container ul.menu > li > ul ul li .mega-menu-view-more:hover, .mega-menu-container ul.menu > li > ul ul li.is-dropdown-submenu-item .mega-menu-view-more:hover, .header-menu-right-container ul.menu > li > ul ul li .mega-menu-view-more:hover, .header-menu-right-container ul.menu > li > ul ul li.is-dropdown-submenu-item .mega-menu-view-more:hover {
        color: #ae9461; }

/*
----- Product List -----
Handles the following: 
- Various list views:
  - Table
  - Grid
- Anywhere a product list is show ( search results, product by group, account area pages ) this code will be used.
- This file is NOT dedicated to filters consult filter.scss for that.
- All sorting options ( items per pages, view selection, pagination, items found & sort by )
- No results found.
*/
#bespoke-search-results-container h2 {
  margin: 0 0 25px;
  font-size: 1.5rem;
  font-weight: 400;
  text-transform: uppercase;
  position: relative;
  color: #06052f;
  padding-bottom: 15px;
  position: relative; }
  #bespoke-search-results-container h2:before {
    content: '';
    width: 100%;
    height: 1px;
    position: absolute;
    bottom: 0;
    display: block;
    margin: auto;
    border-width: 0 0 1px 0;
    border-style: solid;
    border-color: #aeaeae; }
    @media print {
      #bespoke-search-results-container h2:before {
        border-bottom: 2px solid #aeaeae;
        background-color: transparent; } }

.search-results-suggestions {
  margin: 0 0 30px; }
  .search-results-suggestions ul {
    margin: auto;
    padding: 0;
    list-style: none; }
    .search-results-suggestions ul ul {
      width: 100%;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      margin: 0; }
      .search-results-suggestions ul ul li {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 100%;
                flex: 0 0 100%;
        padding: 10px 0; }
        @media print, screen and (max-width: 39.99875em) {
          .search-results-suggestions ul ul li:nth-child(2n) {
            background-color: #f3f3f3; } }
        @media print, screen and (min-width: 40em) {
          .search-results-suggestions ul ul li {
            -webkit-box-flex: 0;
                -ms-flex: 0 0 33.3%;
                    flex: 0 0 33.3%; }
            .search-results-suggestions ul ul li:nth-child(6n+3) {
              background-color: #f3f3f3; }
            .search-results-suggestions ul ul li:nth-child(6n+2) {
              background-color: #f3f3f3; }
            .search-results-suggestions ul ul li:nth-child(6n+1) {
              background-color: #f3f3f3; } }
  .search-results-suggestions a.suggestion {
    padding: 0 20px;
    color: #000000;
    font-size: 1.0625rem; }
    .search-results-suggestions a.suggestion:hover {
      color: #06052f;
      text-decoration: underline; }
  .search-results-suggestions .third-party-results-container {
    gap: 0;
    margin: 0; }
    .search-results-suggestions .third-party-results-container .description-container p {
      margin: 0 0 5px; }
    .search-results-suggestions .third-party-results-container .description-container p, .search-results-suggestions .third-party-results-container .snippet-container p {
      padding: 0; }
  .search-results-suggestions .result-container {
    padding: 20px; }
    .search-results-suggestions .result-container:nth-child(odd) {
      background-color: #f3f3f3; }

.section-description {
  margin-bottom: 30px; }

.section-heading {
  width: 100%;
  display: block;
  margin: 0 0 20px;
  padding: 10px 15px;
  background-color: #06052f;
  color: #ffffff;
  font-size: 1rem;
  font-style: normal;
  font-weight: 600;
  border-radius: 0; }
  @media screen and (min-width: 81.25em) {
    .section-heading {
      padding: 15px 20px; } }
  .section-heading p {
    margin: 0;
    padding: 0; }

#product-list #groupData {
  margin-bottom: 50px; }

#productListItem .grid-x .cell {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: calc(100% - 0.625rem);
  margin-left: 0.3125rem;
  margin-right: 0.3125rem; }

.listing-container {
  width: 100%;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  padding: 10px 0; }
  @media screen and (min-width: 81.25em) {
    .listing-container {
      padding: 7.5px 0; } }

.contentContainer {
  position: relative; }
  .contentContainer[data-content-updating=true] {
    display: none; }
  @media screen and (min-width: 81.25em) {
    .contentContainer {
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap; } }
  @media screen and (min-width: 81.25em) {
    .contentContainer #attribute-filters-form {
      max-width: 280px;
      padding: 0 1% 0 0; } }
  @media screen and (min-width: 81.25em) {
    .contentContainer .attributeList {
      width: 180px; } }
  @media screen and (min-width: 100em) {
    .contentContainer .attributeList {
      width: 240px; } }
  .contentContainer #productListItems {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    position: relative;
    margin-bottom: 40px; }
    .contentContainer #productListItems .sub-heading-container h2 {
      margin: 0; }
  .contentContainer #productListItems.list {
    margin-top: 15px; }
    .contentContainer #productListItems.list.seperator .rowContainer {
      padding-bottom: 20px; }
      .contentContainer #productListItems.list.seperator .rowContainer:after {
        content: '';
        width: 100%;
        height: 1px;
        position: absolute;
        bottom: 0;
        left: 0;
        display: block;
        background-color: #dadada; }
    .contentContainer #productListItems.list.oddEven > div[class*="large-"]:nth-child(even) .rowContainer {
      background-color: #f3f3f3; }
      .contentContainer #productListItems.list.oddEven > div[class*="large-"]:nth-child(even) .rowContainer:hover {
        background-color: #ffffff; }
    .contentContainer #productListItems.list.oddEven .list-category-container > div[class*="large-"]:nth-child(even) .rowContainer {
      background-color: #f3f3f3; }
      .contentContainer #productListItems.list.oddEven .list-category-container > div[class*="large-"]:nth-child(even) .rowContainer:hover {
        background-color: #ffffff; }
    .contentContainer #productListItems.list:not(.seperator) .rowContainer:hover, .contentContainer #productListItems.list:not(.oddEven) .rowContainer:hover {
      -webkit-transition: -webkit-box-shadow 0.8s;
      transition: -webkit-box-shadow 0.8s;
      transition: box-shadow 0.8s;
      transition: box-shadow 0.8s, -webkit-box-shadow 0.8s; }
      .contentContainer #productListItems.list:not(.seperator) .rowContainer:hover .description a h3, .contentContainer #productListItems.list:not(.oddEven) .rowContainer:hover .description a h3 {
        color: #06052f;
        text-decoration: underline;
        -webkit-transition: color 0.8s;
        transition: color 0.8s; }
    .contentContainer #productListItems.list .sub-heading-container {
      margin: 0 0 10px; }
    .contentContainer #productListItems.list > div:not(:nth-child(1)) ~ div .sub-heading-container {
      margin: 30px 0 10px; }
      @media screen and (min-width: 81.25em) {
        .contentContainer #productListItems.list > div:not(:nth-child(1)) ~ div .sub-heading-container {
          margin: 30px 0 0; } }
    .contentContainer #productListItems.list .headContainer {
      width: 100%;
      position: relative;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      padding-bottom: 10px;
      margin-bottom: 10px;
      font-size: 1rem;
      font-weight: 600;
      font-family: "Gibson", "Gibson Fallback", "Arial"; }
      .contentContainer #productListItems.list .headContainer:after {
        content: '';
        width: 100%;
        height: 1px;
        position: absolute;
        bottom: 0;
        left: 0;
        background-color: #aeaeae; }
      .contentContainer #productListItems.list .headContainer p {
        margin: 0;
        padding: 0 0 25px;
        font-size: 1rem;
        font-weight: 400;
        font-family: "Gibson", "Gibson Fallback", "Arial";
        color: #06052f;
        text-align: center; }
      .contentContainer #productListItems.list .headContainer .description-col {
        width: 55%; }
        @media screen and (min-width: 81.25em) {
          .contentContainer #productListItems.list .headContainer .description-col {
            width: auto;
            -webkit-box-flex: 1;
                -ms-flex-positive: 1;
                    flex-grow: 1; } }
        .contentContainer #productListItems.list .headContainer .description-col p {
          text-align: left; }
      @media screen and (min-width: 81.25em) {
        .contentContainer #productListItems.list .headContainer .code-col {
          width: 11%; } }
      .contentContainer #productListItems.list .headContainer .code-col p {
        text-align: left;
        padding: 0 10px; }
      @media screen and (min-width: 81.25em) {
        .contentContainer #productListItems.list .headContainer .price-col {
          width: 20%; } }
      .contentContainer #productListItems.list .headContainer .price-col p {
        padding: 0 15px;
        text-align: right; }
      .contentContainer #productListItems.list .headContainer .quantity-container-col {
        width: 100%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row; }
        @media screen and (min-width: 81.25em) {
          .contentContainer #productListItems.list .headContainer .quantity-container-col {
            width: 25%;
            margin-left: auto; } }
      .contentContainer #productListItems.list .headContainer .quantity-col {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
        text-align: center; }
        @media screen and (min-width: 81.25em) {
          .contentContainer #productListItems.list .headContainer .quantity-col {
            width: 150px; } }
      .contentContainer #productListItems.list .headContainer .basket-col {
        -webkit-box-flex: 1;
            -ms-flex-positive: 1;
                flex-grow: 1;
        text-align: center; }
      .contentContainer #productListItems.list .headContainer .favourite-col {
        width: 25%;
        min-width: 90px;
        text-align: right; }
      .contentContainer #productListItems.list .headContainer .login-col, .contentContainer #productListItems.list .headContainer .enquiry-col {
        max-width: 25%;
        width: 100%;
        margin: 0 0 0 auto;
        text-align: center; }
      .contentContainer #productListItems.list .headContainer .quantity {
        width: 12%; }
      .contentContainer #productListItems.list .headContainer .basket, .contentContainer #productListItems.list .headContainer .favourite {
        width: 9%; }
    .contentContainer #productListItems.list .rowContainer {
      width: 100%;
      position: relative;
      padding: 10px;
      display: grid;
      grid-template-columns: 30% 1fr;
      grid-template-areas: "multimedia-content description" "multimedia-content code" "multimedia-content price" "multimedia-content interactive";
      grid-template-rows: -webkit-min-content -webkit-min-content 1fr -webkit-min-content;
      grid-template-rows: min-content min-content 1fr min-content;
      gap: 10px 20px;
      border-radius: 0;
      -webkit-transition: background-color 0.8s, -webkit-box-shadow 0.8s;
      transition: background-color 0.8s, -webkit-box-shadow 0.8s;
      transition: background-color 0.8s, box-shadow 0.8s;
      transition: background-color 0.8s, box-shadow 0.8s, -webkit-box-shadow 0.8s; }
      @media print, screen and (min-width: 40em) {
        .contentContainer #productListItems.list .rowContainer {
          grid-template-columns: 20% 1fr; } }
      .contentContainer #productListItems.list .rowContainer .multimedia-content, .contentContainer #productListItems.list .rowContainer > a:first-child {
        grid-area: multimedia-content; }
      .contentContainer #productListItems.list .rowContainer .description-col {
        grid-area: description; }
      .contentContainer #productListItems.list .rowContainer .code-col {
        grid-area: code; }
      .contentContainer #productListItems.list .rowContainer .price-col {
        grid-area: price; }
      .contentContainer #productListItems.list .rowContainer .interactive-content, .contentContainer #productListItems.list .rowContainer .quantity-container, .contentContainer #productListItems.list .rowContainer .login-col, .contentContainer #productListItems.list .rowContainer .enquiry-col, .contentContainer #productListItems.list .rowContainer .stockline-col {
        grid-area: interactive;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: start;
            -ms-flex-pack: start;
                justify-content: flex-start; }
      @media screen and (min-width: 81.25em) {
        .contentContainer #productListItems.list .rowContainer {
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-orient: horizontal;
          -webkit-box-direction: normal;
              -ms-flex-direction: row;
                  flex-direction: row;
          -webkit-box-align: center;
              -ms-flex-align: center;
                  align-items: center;
          -ms-flex-wrap: nowrap;
              flex-wrap: nowrap;
          gap: 0;
          margin: 10px 0;
          padding: 0; } }
      .contentContainer #productListItems.list .rowContainer:hover {
        background-color: #ffffff;
        -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
                box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
        -webkit-transition: -webkit-box-shadow 0.6s;
        transition: -webkit-box-shadow 0.6s;
        transition: box-shadow 0.6s;
        transition: box-shadow 0.6s, -webkit-box-shadow 0.6s; }
        .contentContainer #productListItems.list .rowContainer:hover img {
          -webkit-transform: scale(0.9);
                  transform: scale(0.9);
          -webkit-transition: -webkit-transform 0.6s;
          transition: -webkit-transform 0.6s;
          transition: transform 0.6s;
          transition: transform 0.6s, -webkit-transform 0.6s; }
      .contentContainer #productListItems.list .rowContainer > a:first-child {
        -ms-flex-item-align: start;
            align-self: flex-start;
        display: inline-block; }
        @media screen and (min-width: 81.25em) {
          .contentContainer #productListItems.list .rowContainer > a:first-child {
            width: 132px;
            margin: 20px; } }
      .contentContainer #productListItems.list .rowContainer .image {
        --media-aspect-ratio: 1/1;
        padding: 10px;
        border: 1px solid #dadada;
        border-radius: 0;
        background-color: #ffffff;
        -webkit-transition: all 0.8s;
        transition: all 0.8s; }
        @media print, screen and (max-width: 81.24875em) {
          .contentContainer #productListItems.list .rowContainer .image {
            -webkit-box-ordinal-group: 2;
                -ms-flex-order: 1;
                    order: 1; } }
        @media screen and (min-width: 81.25em) {
          .contentContainer #productListItems.list .rowContainer .image {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            overflow: hidden; } }
        .contentContainer #productListItems.list .rowContainer .image img {
          margin: auto;
          border-radius: 0; }
      .contentContainer #productListItems.list .rowContainer .description-col {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        gap: 10px;
        margin: 0; }
        @media print, screen and (max-width: 81.24875em) {
          .contentContainer #productListItems.list .rowContainer .description-col {
            -webkit-box-ordinal-group: 3;
                -ms-flex-order: 2;
                    order: 2; } }
        @media screen and (min-width: 81.25em) {
          .contentContainer #productListItems.list .rowContainer .description-col {
            -webkit-box-flex: 1;
                -ms-flex: 1;
                    flex: 1;
            margin: 20px 0; } }
        .contentContainer #productListItems.list .rowContainer .description-col h3 {
          max-width: 245px;
          font-size: 1rem; }
        .contentContainer #productListItems.list .rowContainer .description-col .group-description {
          color: #ffffff;
          font-size: 1rem;
          font-weight: 600;
          line-height: 1.2; }
          .contentContainer #productListItems.list .rowContainer .description-col .group-description:hover {
            color: #06052f;
            text-decoration: underline; }
          .contentContainer #productListItems.list .rowContainer .description-col .group-description:active {
            color: #000000; }
        .contentContainer #productListItems.list .rowContainer .description-col .specification {
          font-size: 0.875rem;
          font-weight: 400;
          color: #000000; }
          .contentContainer #productListItems.list .rowContainer .description-col .specification p {
            margin: 0; }
      .contentContainer #productListItems.list .rowContainer .code-col {
        font-size: 1rem; }
        @media print, screen and (max-width: 81.24875em) {
          .contentContainer #productListItems.list .rowContainer .code-col {
            -webkit-box-ordinal-group: 5;
                -ms-flex-order: 4;
                    order: 4; } }
        @media screen and (min-width: 81.25em) {
          .contentContainer #productListItems.list .rowContainer .code-col {
            width: 11%;
            -webkit-box-flex: 0;
                -ms-flex-positive: 0;
                    flex-grow: 0;
            margin: 0;
            padding: 0 10px;
            text-align: left; } }
      .contentContainer #productListItems.list .rowContainer .price-col {
        max-width: 320px;
        font-size: 1rem;
        font-weight: 600;
        color: #06052f; }
        @media print, screen and (max-width: 81.24875em) {
          .contentContainer #productListItems.list .rowContainer .price-col {
            -webkit-box-ordinal-group: 4;
                -ms-flex-order: 3;
                    order: 3; } }
        @media screen and (min-width: 81.25em) {
          .contentContainer #productListItems.list .rowContainer .price-col {
            max-width: none;
            width: 20%;
            padding: 0 15px; } }
      .contentContainer #productListItems.list .rowContainer .login-col, .contentContainer #productListItems.list .rowContainer .enquiry-col {
        width: 100%; }
        @media print, screen and (max-width: 81.24875em) {
          .contentContainer #productListItems.list .rowContainer .login-col, .contentContainer #productListItems.list .rowContainer .enquiry-col {
            -webkit-box-ordinal-group: 7;
                -ms-flex-order: 6;
                    order: 6; } }
        @media screen and (min-width: 81.25em) {
          .contentContainer #productListItems.list .rowContainer .login-col, .contentContainer #productListItems.list .rowContainer .enquiry-col {
            max-width: 25%; } }
      @media screen and (min-width: 81.25em) {
        .contentContainer #productListItems.list .rowContainer .interactive-content, .contentContainer #productListItems.list .rowContainer .quantity-container, .contentContainer #productListItems.list .rowContainer .login-col, .contentContainer #productListItems.list .rowContainer .enquiry-col, .contentContainer #productListItems.list .rowContainer .stockline-col {
          -webkit-box-pack: center;
              -ms-flex-pack: center;
                  justify-content: center; } }
      .contentContainer #productListItems.list .rowContainer .login-col, .contentContainer #productListItems.list .rowContainer .enquiry-col, .contentContainer #productListItems.list .rowContainer .stockline-col {
        margin-left: auto; }
      .contentContainer #productListItems.list .rowContainer .stockline-col {
        width: 100%; }
        @media screen and (min-width: 81.25em) {
          .contentContainer #productListItems.list .rowContainer .stockline-col {
            max-width: 25%; } }
      .contentContainer #productListItems.list .rowContainer .quantity-container {
        width: 100%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        gap: 0 20px; }
        @media print, screen and (max-width: 81.24875em) {
          .contentContainer #productListItems.list .rowContainer .quantity-container {
            -webkit-box-ordinal-group: 6;
                -ms-flex-order: 5;
                    order: 5; } }
        @media screen and (min-width: 81.25em) {
          .contentContainer #productListItems.list .rowContainer .quantity-container {
            width: 25%;
            -webkit-box-pack: start;
                -ms-flex-pack: start;
                    justify-content: flex-start;
            gap: 0;
            margin-left: auto; } }
        .contentContainer #productListItems.list .rowContainer .quantity-container .label {
          display: none; }
        .contentContainer #productListItems.list .rowContainer .quantity-container .quantity-selector-container {
          width: -webkit-fit-content;
          width: -moz-fit-content;
          width: fit-content;
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex; }
          @media screen and (min-width: 81.25em) {
            .contentContainer #productListItems.list .rowContainer .quantity-container .quantity-selector-container {
              width: 150px; } }
          .contentContainer #productListItems.list .rowContainer .quantity-container .quantity-selector-container .control.select {
            width: 90px;
            margin: auto auto auto 0; }
            @media screen and (min-width: 81.25em) {
              .contentContainer #productListItems.list .rowContainer .quantity-container .quantity-selector-container .control.select {
                margin: auto; } }
        .contentContainer #productListItems.list .rowContainer .quantity-container .input-number-group {
          -webkit-box-pack: start;
              -ms-flex-pack: start;
                  justify-content: flex-start; }
          @media screen and (min-width: 81.25em) {
            .contentContainer #productListItems.list .rowContainer .quantity-container .input-number-group {
              -webkit-box-pack: center;
                  -ms-flex-pack: center;
                      justify-content: center; } }
        @media screen and (min-width: 81.25em) {
          .contentContainer #productListItems.list .rowContainer .quantity-container .quantity-free-text-container {
            width: 150px; } }
        .contentContainer #productListItems.list .rowContainer .quantity-container .add-button-container {
          position: relative; }
          @media screen and (min-width: 81.25em) {
            .contentContainer #productListItems.list .rowContainer .quantity-container .add-button-container {
              width: auto;
              display: -webkit-box;
              display: -ms-flexbox;
              display: flex;
              -webkit-box-flex: 1;
                  -ms-flex-positive: 1;
                      flex-grow: 1; } }
          @media screen and (min-width: 81.25em) {
            .contentContainer #productListItems.list .rowContainer .quantity-container .add-button-container .addToBasket {
              margin: auto; } }
        .contentContainer #productListItems.list .rowContainer .quantity-container .favouritesContainer {
          display: -webkit-inline-box;
          display: -ms-inline-flexbox;
          display: inline-flex;
          -webkit-box-pack: center;
              -ms-flex-pack: center;
                  justify-content: center; }
          @media screen and (min-width: 81.25em) {
            .contentContainer #productListItems.list .rowContainer .quantity-container .favouritesContainer {
              width: 25%;
              min-width: 90px;
              -webkit-box-pack: flex-center;
                  -ms-flex-pack: flex-center;
                      justify-content: flex-center; } }
      .contentContainer #productListItems.list .rowContainer .label-value-pair-container .label {
        color: #000000;
        font-weight: 600;
        font-size: 0.875rem; }
      .contentContainer #productListItems.list .rowContainer .label-value-pair-container .value {
        color: #000000;
        font-size: 0.875rem; }
      .contentContainer #productListItems.list .rowContainer .description {
        display: block;
        color: #06052f;
        font-weight: 600;
        font-size: 1rem;
        line-height: 1.2; }
        .contentContainer #productListItems.list .rowContainer .description:hover {
          color: #ae9461;
          text-decoration: underline; }
      .contentContainer #productListItems.list .rowContainer .code {
        display: block;
        color: #888888;
        font-size: 1rem; }
      @media print, screen and (max-width: 81.24875em) {
        .contentContainer #productListItems.list .rowContainer .col-label + .prices p:only-child .label {
          display: none; } }
      @media print, screen and (max-width: 81.24875em) {
        .contentContainer #productListItems.list .rowContainer .col-label + .prices p:only-child .label + .value {
          margin-left: 0; } }
      .contentContainer #productListItems.list .rowContainer .prices {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        -webkit-box-flex: 1;
            -ms-flex-positive: 1;
                flex-grow: 1;
        font-size: 1rem; }
        .contentContainer #productListItems.list .rowContainer .prices p {
          margin: 0;
          font-weight: 400; }
        .contentContainer #productListItems.list .rowContainer .prices .price-container {
          width: 100%;
          display: -webkit-inline-box;
          display: -ms-inline-flexbox;
          display: inline-flex;
          -webkit-box-align: baseline;
              -ms-flex-align: baseline;
                  align-items: baseline;
          text-align: left;
          line-height: 1.2; }
          .contentContainer #productListItems.list .rowContainer .prices .price-container:has(.vat) {
            -ms-flex-wrap: wrap;
                flex-wrap: wrap; }
          .contentContainer #productListItems.list .rowContainer .prices .price-container .label {
            color: #000000;
            font-weight: 400; }
            .contentContainer #productListItems.list .rowContainer .prices .price-container .label:not(:empty) {
              margin-right: 5px; }
            .contentContainer #productListItems.list .rowContainer .prices .price-container .label ~ .vat {
              width: 100%;
              padding: 0 0 0 5px;
              text-align: right; }
              @media print, screen and (min-width: 40em) {
                .contentContainer #productListItems.list .rowContainer .prices .price-container .label ~ .vat {
                  width: -webkit-fit-content;
                  width: -moz-fit-content;
                  width: fit-content; } }
          .contentContainer #productListItems.list .rowContainer .prices .price-container .value {
            color: #06052f;
            font-weight: 400; }
            @media screen and (min-width: 81.25em) {
              .contentContainer #productListItems.list .rowContainer .prices .price-container .value {
                text-align: right; } }
          .contentContainer #productListItems.list .rowContainer .prices .price-container.saving .label, .contentContainer #productListItems.list .rowContainer .prices .price-container.saving .value {
            color: #000000;
            font-weight: 400;
            text-transform: uppercase; }
          .contentContainer #productListItems.list .rowContainer .prices .price-container.rrp .label, .contentContainer #productListItems.list .rowContainer .prices .price-container.rrp .value {
            color: #000000;
            font-weight: 400;
            font-size: 1rem;
            text-transform: uppercase; }
          .contentContainer #productListItems.list .rowContainer .prices .price-container .label + .value {
            margin-right: 0;
            margin-left: auto;
            text-align: right; }
      .contentContainer #productListItems.list .rowContainer .price-container .value {
        font-size: 1rem; }
      .contentContainer #productListItems.list .rowContainer .price-container .label, .contentContainer #productListItems.list .rowContainer .price-container .value {
        font-family: "Gibson", "Gibson Fallback", "Arial"; }
      .contentContainer #productListItems.list .rowContainer .price {
        margin: 0; }
        .contentContainer #productListItems.list .rowContainer .price .currency {
          font-size: 1.625rem; }
      .contentContainer #productListItems.list .rowContainer .vat {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
        display: inline-block;
        padding-left: 10px;
        color: #777777;
        font-size: 0.75rem;
        font-weight: 400;
        text-align: left;
        white-space: nowrap; }
    .contentContainer #productListItems.list .enquiry-col {
      -webkit-box-flex: 1;
          -ms-flex: 1;
              flex: 1;
      -webkit-box-ordinal-group: 5;
          -ms-flex-order: 4;
              order: 4; }

.list-category-container {
  width: 100%; }
  .list-category-container:not(:last-child) {
    margin-bottom: 30px; }
  .list-category-container h2 {
    margin-bottom: 10px; }

.third-party-results-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 10px 0; }
  .third-party-results-container .result-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 20px 0; }
    @media screen and (min-width: 81.25em) {
      .third-party-results-container .result-container {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row;
        gap: 20px; } }
  @media screen and (min-width: 81.25em) {
    .third-party-results-container .image-container {
      width: 150px; } }
  .third-party-results-container .description-container p {
    padding: 0;
    color: #06052f;
    font-size: 1.0625rem;
    font-weight: 600; }
  .third-party-results-container .snippet-container p {
    margin: 5px 0 10px;
    padding: 0;
    color: #777777;
    font-size: 0.875rem;
    line-height: normal; }

/*

---- AXIS Debugger ---- 

This is a side project of mine purly to make dev life a little easier / faster essentially this is just a drawer with a bunch of options to flush cache, set debug levels & clear the console.

*/
.development-drawer-container {
  width: 0;
  height: 100%;
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  border-right: 1px solid #dadada;
  overflow-x: hidden;
  z-index: 8000000000;
  -webkit-transition: width 0.8s;
  transition: width 0.8s; }
  .development-drawer-container.active {
    width: 100%;
    -webkit-transition: width 0.6s;
    transition: width 0.6s; }
    @media screen and (min-width: 81.25em) {
      .development-drawer-container.active {
        width: 225px;
        -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
                box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); } }

.development-drawer {
  height: 100%;
  display: block;
  overflow-y: auto;
  overflow-x: hidden;
  background-color: #f1f1f1; }
  .development-drawer ul {
    list-style: none;
    margin: 0;
    padding: 0; }
    .development-drawer ul li {
      width: 100%;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center; }
  .development-drawer .service-worker-container .heading {
    font-size: 1.125rem;
    color: #777777; }
  .development-drawer .heading-container h2 {
    color: #777777;
    text-align: center;
    font-size: 1.125rem;
    font-weight: 600;
    text-transform: capitalize; }
  .development-drawer .drawer-header .close-button {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
    .development-drawer .drawer-header .close-button:before {
      content: "";
      font-family: "Font Awesome Solid";
      font-size: 24px;
      color: #000000;
      -webkit-transition: color 0.8s, -webkit-transform 0.6s;
      transition: color 0.8s, -webkit-transform 0.6s;
      transition: transform 0.6s, color 0.8s;
      transition: transform 0.6s, color 0.8s, -webkit-transform 0.6s; }
    .development-drawer .drawer-header .close-button:hover:before {
      color: #ae9461;
      -webkit-transform: rotate(90deg);
              transform: rotate(90deg);
      -webkit-transition: color 0.6s, -webkit-transform 0.6s;
      transition: color 0.6s, -webkit-transform 0.6s;
      transition: transform 0.6s, color 0.6s;
      transition: transform 0.6s, color 0.6s, -webkit-transform 0.6s; }
    .development-drawer .drawer-header .close-button:active:before {
      color: #06052f;
      -webkit-transition: font-size 1.2s, color 0.6s;
      transition: font-size 1.2s, color 0.6s; }
  .development-drawer .option {
    width: 80px;
    height: 80px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin: 10px 0;
    border-radius: 5px;
    border: 2px solid #777777;
    -webkit-transition: all 0.8s;
    transition: all 0.8s;
    cursor: pointer; }
    .development-drawer .option:before {
      display: block;
      font-family: "Font Awesome Solid";
      font-size: 38px;
      color: #777777;
      -webkit-transition: color, font-size 0.8s;
      transition: color, font-size 0.8s; }
    .development-drawer .option[debug-level="1"] {
      border-color: #b20c28; }
      .development-drawer .option[debug-level="1"]:before {
        font-size: 41.8px;
        color: #b20c28;
        -webkit-transition: color, font-size 0.6s;
        transition: color, font-size 0.6s; }
    .development-drawer .option[debug-level="2"] {
      border-color: #b20c43; }
      .development-drawer .option[debug-level="2"]:before {
        font-size: 45.6px;
        color: #b20c43;
        -webkit-transition: color, font-size 0.6s;
        transition: color, font-size 0.6s; }
    .development-drawer .option[debug-level="3"] {
      border-color: #b20c5f; }
      .development-drawer .option[debug-level="3"]:before {
        font-size: 49.4px;
        color: #b20c5f;
        -webkit-transition: color, font-size 0.6s;
        transition: color, font-size 0.6s; }
    .development-drawer .option[debug-level="4"] {
      border-color: #b20c7b; }
      .development-drawer .option[debug-level="4"]:before {
        font-size: 53.2px;
        color: #b20c7b;
        -webkit-transition: color, font-size 0.6s;
        transition: color, font-size 0.6s; }
    .development-drawer .option.clear-cache:before {
      content: ""; }
    .development-drawer .option.clear-console:before {
      content: ""; }
    .development-drawer .option.set-debugging-level:before {
      content: ""; }
    .development-drawer .option.axis-test-mode:before {
      content: ""; }
    .development-drawer .option.site-style:before {
      content: ""; }
    .development-drawer .option:hover {
      background-color: #ffffff;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
      .development-drawer .option:hover:before {
        color: #06052f;
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
    .development-drawer .option:active {
      background-color: #ae9461;
      border-color: #aeaeae;
      -webkit-transition: border-color 0.6s;
      transition: border-color 0.6s; }
      .development-drawer .option:active:before {
        color: #aeaeae; }
  .development-drawer .slider {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    color: #ffffff; }
    .development-drawer .slider .label {
      font-size: 1rem;
      font-weight: 600; }
      .development-drawer .slider .label [data-slider-value] {
        font-weight: 700; }
    .development-drawer .slider input {
      -webkit-box-flex: 0;
          -ms-flex: 0;
              flex: 0; }
  .development-drawer .switch {
    height: auto; }

.option-controls-container, .child-controls-container {
  max-height: 0;
  height: auto;
  overflow: hidden;
  -webkit-transition: max-height 0.8s;
  transition: max-height 0.8s; }
  .option-controls-container.active, .child-controls-container.active {
    max-height: 500px;
    -webkit-transition: max-height 0.6s;
    transition: max-height 0.6s; }

:root {
  --primary-colour-lightness-0: #06052f;
  --primary-colour-lightness-1: #0b0958;
  --primary-colour-lightness-2: #110e82;
  --primary-colour-lightness-3: #1612ab;
  --primary-colour-lightness-4: #1b17d5;
  --primary-colour-lightness-5: #3430e9;
  --primary-colour-lightness-6: #5d59ed;
  --primary-colour-lightness-7: #8583f2;
  --primary-colour-lightness-8: #aeacf6;
  --primary-colour-lightness-9: #d6d6fb;
  --primary-colour-lightness-10: #ebeafd;
  --secondary-colour-lightness-0: #ae9461;
  --secondary-colour-lightness-1: #b69f71;
  --secondary-colour-lightness-2: #bea981;
  --secondary-colour-lightness-3: #c6b490;
  --secondary-colour-lightness-4: #cebfa0;
  --secondary-colour-lightness-5: #d7cab0;
  --secondary-colour-lightness-6: #dfd4c0;
  --secondary-colour-lightness-7: #e7dfd0;
  --secondary-colour-lightness-8: #efeadf;
  --secondary-colour-lightness-9: #f7f4ef;
  --secondary-colour-lightness-10: #fbfaf7;
  --accent-colour-1-lightness-0: #c00000;
  --accent-colour-1-lightness-1: #e00000;
  --accent-colour-1-lightness-2: #ff0101;
  --accent-colour-1-lightness-3: #ff2020;
  --accent-colour-1-lightness-4: #ff4040;
  --accent-colour-1-lightness-5: #ff6060;
  --accent-colour-1-lightness-6: #ff8080;
  --accent-colour-1-lightness-7: #ffa0a0;
  --accent-colour-1-lightness-8: #ffbfbf;
  --accent-colour-1-lightness-9: #ffdfdf;
  --accent-colour-1-lightness-10: #ffefef;
  --accent-colour-2-lightness-0: #2b579a;
  --accent-colour-2-lightness-1: #3265b2;
  --accent-colour-2-lightness-2: #3b73c8;
  --accent-colour-2-lightness-3: #5485cf;
  --accent-colour-2-lightness-4: #6c96d6;
  --accent-colour-2-lightness-5: #85a8dd;
  --accent-colour-2-lightness-6: #9db9e4;
  --accent-colour-2-lightness-7: #b6cbeb;
  --accent-colour-2-lightness-8: #cedcf1;
  --accent-colour-2-lightness-9: #e7eef8;
  --accent-colour-2-lightness-10: #f3f6fc;
  --accent-colour-3-lightness-0: #e5b701;
  --accent-colour-3-lightness-1: #fecc04;
  --accent-colour-3-lightness-2: #fed120;
  --accent-colour-3-lightness-3: #fed73c;
  --accent-colour-3-lightness-4: #fedd58;
  --accent-colour-3-lightness-5: #fee274;
  --accent-colour-3-lightness-6: #ffe88f;
  --accent-colour-3-lightness-7: #ffeeab;
  --accent-colour-3-lightness-8: #fff4c7;
  --accent-colour-3-lightness-9: #fff9e3;
  --accent-colour-3-lightness-10: #fffcf1;
  --accent-colour-4-lightness-0: #ae9461;
  --accent-colour-4-lightness-1: #b69f71;
  --accent-colour-4-lightness-2: #bea981;
  --accent-colour-4-lightness-3: #c6b490;
  --accent-colour-4-lightness-4: #cebfa0;
  --accent-colour-4-lightness-5: #d7cab0;
  --accent-colour-4-lightness-6: #dfd4c0;
  --accent-colour-4-lightness-7: #e7dfd0;
  --accent-colour-4-lightness-8: #efeadf;
  --accent-colour-4-lightness-9: #f7f4ef;
  --accent-colour-4-lightness-10: #fbfaf7;
  --neutral-colour-lightness-0: #777777;
  --neutral-colour-lightness-1: #858585;
  --neutral-colour-lightness-2: #929292;
  --neutral-colour-lightness-3: #a0a0a0;
  --neutral-colour-lightness-4: #adadad;
  --neutral-colour-lightness-5: #bbbbbb;
  --neutral-colour-lightness-6: #c9c9c9;
  --neutral-colour-lightness-7: #d6d6d6;
  --neutral-colour-lightness-8: #e4e4e4;
  --neutral-colour-lightness-9: #f1f1f1;
  --neutral-colour-lightness-10: #f8f8f8;
  --black-colour: #000000;
  --white-colour: #ffffff;
  --success-colour-lightness-0: #12811f;
  --success-colour-lightness-1: #16a127;
  --success-colour-lightness-2: #1bc12e;
  --success-colour-lightness-3: #20e036;
  --success-colour-lightness-4: #40e453;
  --success-colour-lightness-5: #60e970;
  --success-colour-lightness-6: #80ed8c;
  --success-colour-lightness-7: #9ff2a9;
  --success-colour-lightness-8: #bff6c6;
  --success-colour-lightness-9: #dffbe2;
  --success-colour-lightness-10: #effdf1;
  --warning-colour-lightness-0: #ff5e05;
  --warning-colour-lightness-1: #ff6e1e;
  --warning-colour-lightness-2: #ff7e37;
  --warning-colour-lightness-3: #ff8e50;
  --warning-colour-lightness-4: #ff9e69;
  --warning-colour-lightness-5: #ffaf82;
  --warning-colour-lightness-6: #ffbf9b;
  --warning-colour-lightness-7: #ffcfb4;
  --warning-colour-lightness-8: #ffdfcd;
  --warning-colour-lightness-9: #ffefe6;
  --warning-colour-lightness-10: #fff7f3;
  --alert-colour-lightness-0: #b20c0c;
  --alert-colour-lightness-1: #d00e0e;
  --alert-colour-lightness-2: #ee1010;
  --alert-colour-lightness-3: #f12d2d;
  --alert-colour-lightness-4: #f34b4b;
  --alert-colour-lightness-5: #f56969;
  --alert-colour-lightness-6: #f78787;
  --alert-colour-lightness-7: #f9a5a5;
  --alert-colour-lightness-8: #fbc3c3;
  --alert-colour-lightness-9: #fde1e1;
  --alert-colour-lightness-10: #fef0f0;
  --contained-content-max-width: 1300px;
  --uncontained-content-max-width: 1920px;
  --primary-font: Gibson, Gibson Fallback, Arial;
  --smooth-edges-enabled: false;
  --smooth-edges-level: 15px;
  --border-radius-1: 5px;
  --border-radius-2: 25px;
  --global-line-height: 1.6;
  --typography-body-font-colour: #000000;
  --buttons-border-radius: 0; }

@font-face {
  font-family: "Gibson Fallback";
  src: local("Arial");
  size-adjust: 94%;
  ascent-override: 80%;
  descent-override: 20%;
  line-gap-override: 0%; }

body {
  min-height: 100vh;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  overflow-x: hidden; }

body.scrollLock {
  overflow-y: hidden; }

main {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1; }
  main > div {
    width: 100%; }

.image img {
  max-height: 100%; }

@media screen and (min-width: 81.25em) {
  .grid-x {
    max-width: 1920px; } }

.grid-x:not(.grid-margin-x) {
  max-width: 100%;
  width: 100%;
  margin: 0 auto; }

.grid-container {
  width: 100%; }
  @media screen and (min-width: 81.25em) {
    .grid-container {
      padding: 0; } }
  .grid-container.container-grow {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1; }
    .grid-container.container-grow .align-center {
      -webkit-box-flex: 1;
          -ms-flex-positive: 1;
              flex-grow: 1;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center; }

@media print, screen and (max-width: 81.24875em) {
  hr.mobile-seperator {
    margin: 30px 0; } }

#footer-gtm-widget {
  margin-top: 10px;
  margin-bottom: 10px; }
  @media screen and (min-width: 81.25em) {
    #footer-gtm-widget {
      margin-top: 15px;
      margin-bottom: 15px; } }

#group-banner-carousel-container, .group-banner {
  margin-bottom: 20px; }

@media screen and (min-width: 81.25em) {
  #categoryGridOverride .large-2 {
    padding-right: 0.625rem;
    padding-left: 0.625rem;
    width: 18.33333%;
    float: left; } }
  @media screen and (min-width: 81.25em) and (min-width: 40em) {
    #categoryGridOverride .large-2 {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }

@media screen and (min-width: 81.25em) {
    #categoryGridOverride .large-2, #categoryGridOverride .large-2:last-child:not(:first-child) {
      float: left;
      clear: none; }
    #categoryGridOverride .large-2:last-child:not(:first-child) {
      float: right; } }

#categoryHeading, #productListHeading {
  margin-bottom: 20px; }

.popup-container {
  position: relative; }

#basketSummaryContainer:hover #noJsBasketNotification {
  opacity: 1;
  visibility: visible;
  -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.1);
          box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.1);
  border-bottom: 5px solid #06052f; }

#register-submit {
  margin-top: 10px; }

.forgotten-password-link {
  width: 100%;
  display: block;
  text-align: right;
  color: #06052f;
  font-weight: 400;
  font-style: none;
  font-size: 1rem;
  font-family: "Gibson", "Gibson Fallback", "Arial"; }
  .forgotten-password-link:hover {
    color: #ae9461; }
  .forgotten-password-link:active {
    color: #06052f; }

xmp {
  padding: 10px;
  border: 1px solid #dadada;
  white-space: inherit; }

.animate__animated:not(.animated-content-active) {
  visibility: hidden; }

.json-code-block code {
  max-height: 500px;
  position: relative;
  padding: 10px 10px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 0 0 40px;
  background-color: #f3f3f3;
  border: 1px solid #888888;
  font-size: 0.9375rem;
  line-height: 40px;
  text-align: left;
  white-space: pre-wrap;
  overflow-y: auto;
  -webkit-transition: border-color 0.8s;
  transition: border-color 0.8s; }
  @media screen and (min-width: 81.25em) {
    .json-code-block code {
      padding: 10px 35px; } }
  .json-code-block code:hover {
    border-color: #777777;
    -webkit-transition: border-color 0.6s;
    transition: border-color 0.6s; }
  .json-code-block code .code-copy-button-container {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    left: calc(100% - 15px);
    white-space: normal; }
  .json-code-block code .code-copy-button {
    position: absolute;
    top: 0;
    padding: 8px;
    display: block;
    background-color: #888888;
    -webkit-transition: background-color 0.8s, padding 0.8s, opacity 0.8s;
    transition: background-color 0.8s, padding 0.8s, opacity 0.8s; }
    .json-code-block code .code-copy-button:before {
      content: "";
      font-family: "Font Awesome Regular";
      font-size: 14px;
      color: #ffffff;
      -webkit-transition: color 0.8s, font-size 0.8s;
      transition: color 0.8s, font-size 0.8s; }
    .json-code-block code .code-copy-button:hover {
      background-color: #06052f;
      -webkit-transition: background-color 0.6s;
      transition: background-color 0.6s; }
    .json-code-block code .code-copy-button.active, .json-code-block code .code-copy-button:active {
      background-color: #06052f; }
      .json-code-block code .code-copy-button.active:before, .json-code-block code .code-copy-button:active:before {
        font-family: "Font Awesome Solid"; }
    .json-code-block code .code-copy-button.active {
      padding: 12px;
      opacity: .4;
      -webkit-transition: padding 0.6s, opacity 0.6s;
      transition: padding 0.6s, opacity 0.6s; }
      .json-code-block code .code-copy-button.active:before {
        font-size: 16px;
        -webkit-transition: font-size 0.6s;
        transition: font-size 0.6s; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImRqbWlsZXMvYXBwLmNzcyIsImRqbWlsZXMvYXBwLnNjc3MiLCIuLi9nbG9iYWwvX2Z1bmN0aW9ucy5zY3NzIiwiZGptaWxlcy9icmFuZGluZy5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bmb3J0YXdlc29tZS9mb250YXdlc29tZS1mcmVlL3Njc3MvYnJhbmRzLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGZvcnRhd2Vzb21lL2ZvbnRhd2Vzb21lLWZyZWUvc2Nzcy9fdmFyaWFibGVzLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGZvcnRhd2Vzb21lL2ZvbnRhd2Vzb21lLWZyZWUvc2Nzcy9yZWd1bGFyLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGZvcnRhd2Vzb21lL2ZvbnRhd2Vzb21lLWZyZWUvc2Nzcy9zb2xpZC5zY3NzIiwiLi4vZ2xvYmFsL19icmFuZGluZy5zY3NzIiwiLi4vZ2xvYmFsL192YXJpYWJsZXMuc2NzcyIsIi4uL2dsb2JhbC9fdHlwb2dyYXBoeS5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19icmVha3BvaW50LnNjc3MiLCIuLi9nbG9iYWwvX21peGlucy5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL191bml0LnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2ZvdW5kYXRpb24uc2NzcyIsIi4uL2dsb2JhbC9fdGFibGVzLnNjc3MiLCIuLi9nbG9iYWwvX2lucHV0cy5zY3NzIiwiLi4vZ2xvYmFsL19zZXR0aW5ncy5zY3NzIiwiLi4vY29tcG9uZW50cy9fYXhpcy1zaXRlLXN0eWxlcy5zY3NzIiwiLi4vY29tcG9uZW50cy9icm9uemUvX2Zvcm1zLnNjc3MiLCIuLi9jb21wb25lbnRzL2Jyb256ZS9faGVhZGVyLnNjc3MiLCIuLi9jb21wb25lbnRzL2Jyb256ZS9fZm9vdGVyLnNjc3MiLCIuLi9jb21wb25lbnRzL19heGlzLWFqYXguc2NzcyIsIi4uL2NvbXBvbmVudHMvYnJvbnplL19maWx0ZXJzLnNjc3MiLCIuLi9jb21wb25lbnRzL2Jyb256ZS9fbW9kYWxzLnNjc3MiLCIuLi9jb21wb25lbnRzL2Jyb256ZS9fbW9kdWxlcy12Mi5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19ndXR0ZXJzLnNjc3MiLCIuLi9jb21wb25lbnRzL2Jyb256ZS9fc3RvY2staW5kaWNhdG9ycy5zY3NzIiwiLi4vY29tcG9uZW50cy9icm9uemUvX3Byb2R1Y3Quc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2VsbC5zY3NzIiwiLi4vY29tcG9uZW50cy9icm9uemUvX2Jhc2tldC5zY3NzIiwiLi4vY29tcG9uZW50cy9icm9uemUvX2FjY291bnQuc2NzcyIsIi4uL2NvbXBvbmVudHMvYnJvbnplL19jbXMtcGFnZXMuc2NzcyIsIi4uL2NvbXBvbmVudHMvYnJvbnplL19jaGVja291dC5zY3NzIiwiLi4vY29tcG9uZW50cy9icm9uemUvXzQwNC5zY3NzIiwiLi4vY29tcG9uZW50cy9fYXhpcy1saWdodGJveC5zY3NzIiwiLi4vY29tcG9uZW50cy9fYXhpcy1tYWduaWZpZXIuc2NzcyIsIi4uL2NvbXBvbmVudHMvX2J4U2xpZGVyLnNjc3MiLCIuLi9jb21wb25lbnRzL19heGlzLXNsaWRlci5zY3NzIiwiLi4vY29tcG9uZW50cy9fYXhpcy10b29sdGlwLnNjc3MiLCIuLi9jb21wb25lbnRzL19heGlzLXJlYWQtbW9yZS5zY3NzIiwiLi4vY29tcG9uZW50cy9fYXhpcy1hdXRvY29tcGxldGUuc2NzcyIsIi4uL2NvbXBvbmVudHMvX3N3ZWV0LWFsZXJ0LWljb25zLnNjc3MiLCIuLi9jb21wb25lbnRzL19heGlzLW5vdGlmaWNhdGlvbnMuc2NzcyIsIi4uL2NvbXBvbmVudHMvX2F4aXMtaW1hZ2Utb3ZlcmxheXMuc2NzcyIsIi4uL2NvbXBvbmVudHMvX2F4aXMtY291bnRkb3duLnNjc3MiLCIuLi9jb21wb25lbnRzL19heGlzLXB3YS5zY3NzIiwiLi4vY29tcG9uZW50cy9fYXhpcy1wYXltZW50LW1ldGhvZHMuc2NzcyIsIi4uL2NvbXBvbmVudHMvX2F4aXMtc29jaWFsLW1lZGlhLWljb25zLnNjc3MiLCIuLi9jb21wb25lbnRzL19heGlzLWVxdWlwbWVudC1zZWxlY3Rvci5zY3NzIiwiLi4vY29tcG9uZW50cy9fYXhpcy1waWNrLW4tbWl4LnNjc3MiLCIuLi9jb21wb25lbnRzL19heGlzLWFuaW1hdGlvbnMuc2NzcyIsIi4uL2NvbXBvbmVudHMvX2F4aXMtY2xpZW50LXNlYXJjaC5zY3NzIiwiLi4vY29tcG9uZW50cy9fYXhpcy10b3AtYmFyLnNjc3MiLCIuLi9jb21wb25lbnRzL19heGlzLXN0eWxlLWd1aWRlLnNjc3MiLCIuLi9jb21wb25lbnRzL19heGlzLWFkbWluLnNjc3MiLCIuLi9jb21wb25lbnRzL19vZmZfY2FudmFzLnNjc3MiLCIuLi9jb21wb25lbnRzL19heGlzLWFjY29yZGlvbi10YWJzLnNjc3MiLCIuLi9jb21wb25lbnRzL19heGlzLXN0aWNreS5zY3NzIiwiLi4vY29tcG9uZW50cy9fYXhpcy1saXN0LXNvcnRpbmctb3B0aW9ucy5zY3NzIiwiLi4vY29tcG9uZW50cy9fYXhpcy1tYW5hZ2UtY2FsbHMuc2NzcyIsIi4uL2NvbXBvbmVudHMvX2F4aXMtYmFjay10by10b3Auc2NzcyIsIi4uL2NvbXBvbmVudHMvX2F4aXMtc2VjdGlvbnMuc2NzcyIsIi4uL2NvbXBvbmVudHMvX2F4aXMtZWxsaXBzaXMuc2NzcyIsIi4uL2NvbXBvbmVudHMvX2F4aXMtYmx1ci5zY3NzIiwiLi4vY29tcG9uZW50cy9fYXhpcy1zdGF0aWMuc2NzcyIsIi4uL2NvbXBvbmVudHMvX2F4aXMtc3RvY2tpc3Quc2NzcyIsIi4uL2NvbXBvbmVudHMvX2F4aXMtdHJlZS1tZW51LnNjc3MiLCIuLi9jb21wb25lbnRzL19heGlzLXJldmlld3Muc2NzcyIsIi4uL2NvbXBvbmVudHMvX2F4aXMtcGFnZS1zZWN0aW9uLWNvbG91cnMuc2NzcyIsIi4uL2NvbXBvbmVudHMvX2F4aXMtc3Rhci1yYXRpbmdzLnNjc3MiLCIuLi9jb21wb25lbnRzL19heGlzLWJhcmNvZGUtc2Nhbm5lci5zY3NzIiwiLi4vY29tcG9uZW50cy9fYXhpcy1wYWdlLWJhY2tncm91bmQtaW1hZ2VzLnNjc3MiLCIuLi9jb21wb25lbnRzL19heGlzLXRhZ3Muc2NzcyIsIi4uL2NvbXBvbmVudHMvX2F4aXMtdG9nZ2xlci5zY3NzIiwiLi4vY29tcG9uZW50cy9fYXhpcy1wYWdlLWJhY2tncm91bmQtY29sb3Vycy5zY3NzIiwiLi4vY29tcG9uZW50cy9fYXhpcy1tdWx0aS1maWVsZC1sb29rdXAuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9hbmltYXRlLmNzcy9hbmltYXRlLmNzcyIsIi4uL2NvbXBvbmVudHMvX2F4aXMtZWxlbWVudC1wcmludC5zY3NzIiwiLi4vY29tcG9uZW50cy9fYXhpcy1kb2N1bWVudGF0aW9uLnNjc3MiLCIuLi9jb21wb25lbnRzL19heGlzLWNvbnRleHQtbWVudS5zY3NzIiwiLi4vY29tcG9uZW50cy9fYXhpcy1ncmFkdWF0ZWQtY29sb3VyLWVkZ2Uuc2NzcyIsIi4uL2NvbXBvbmVudHMvX2F4aXMtcmljaC10ZXh0LWVkaXRvci5zY3NzIiwiLi4vY29tcG9uZW50cy9fYXhpcy12aWRlby1wbGF5ZXIuc2NzcyIsIi4uL2NvbXBvbmVudHMvX2F4aXMtbXVsdGltZWRpYS1lbGVtZW50LnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3ZlbmRvci9ub3JtYWxpemUuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvX2dsb2JhbC5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19taXhpbnMuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX3RleHQuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2NoZWNrYm94LnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19sYWJlbC5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9faGVscC10ZXh0LnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19pbnB1dC1ncm91cC5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fZmllbGRzZXQuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX3NlbGVjdC5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fZXJyb3Iuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fZ3JpZC5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX21hdGguc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fbGF5b3V0LnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NvbGxhcHNlLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX3Bvc2l0aW9uLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2ZyYW1lLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2Nsb3NlLWJ1dHRvbi5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19zd2l0Y2guc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdGFibGUuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fY29sb3Iuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYnJlYWRjcnVtYnMuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fY2FsbG91dC5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19kcm9wZG93bi5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19hY2NvcmRpb24uc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbWVkaWEtb2JqZWN0LnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Jlc3BvbnNpdmUtZW1iZWQuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdGFicy5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19tZW51LnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX21lbnUtaWNvbi5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19hY2NvcmRpb24tbWVudS5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19kcmlsbGRvd24uc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZHJvcGRvd24tbWVudS5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19vZmYtY2FudmFzLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RpdGxlLWJhci5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19mbGV4LnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX2ZsZXguc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdmlzaWJpbGl0eS5zY3NzIiwiLi4vY29tcG9uZW50cy9fYXhpcy1tZW51cy5zY3NzIiwiLi4vY29tcG9uZW50cy9icm9uemUvX3Byb2R1Y3QtbGlzdC5zY3NzIiwiLi4vZ2xvYmFsL19kZWJ1Z2dlci5zY3NzIiwiLi4vZ2xvYmFsL19hcHAuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fZ3V0dGVyLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX3NpemUuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fY29sdW1uLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX3Bvc2l0aW9uLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsZ0JBQWdCO0FDRWhCOzs7Ozs7RURLRTtBRW1IRjs7Ozs7Ozs7Ozs7Q0Z2R0M7QUduQkQ7Ozs7OztFSDBCRTtBR1JGO0VBQ0kscUJBQXFCO0VBQ3JCLDhFQUErQztFQUMvQyxnQkFBZ0I7RUFDaEIsa0JBQWtCLEVBQUE7O0FBR3RCO0VBQ0kscUJBQXFCO0VBQ3JCLHFGQUFzRDtFQUN0RCxnQkFBZ0I7RUFDaEIsa0JBQWtCLEVBQUE7O0FBR3RCO0VBQ0kscUJBQXFCO0VBQ3JCLGdGQUFpRDtFQUNqRCxnQkFBZ0I7RUFDaEIsa0JBQWtCLEVBQUE7O0FBR3RCO0VBQ0kscUJBQXFCO0VBQ3JCLCtFQUFnRDtFQUNoRCxnQkFBZ0I7RUFDaEIsa0JBQWtCLEVBQUE7O0FBR3RCO0VBQ0kscUJBQXFCO0VBQ3JCLGlGQUFrRDtFQUNsRCxnQkFBZ0I7RUFDaEIsa0JBQWtCLEVBQUE7O0FBR3RCO0VBQ0kscUJBQXFCO0VBQ3JCLHdGQUF5RDtFQUN6RCxnQkFBZ0I7RUFDaEIsa0JBQWtCLEVBQUE7O0FBR3RCO0VBQ0kscUJBQXFCO0VBQ3JCLDZFQUE4QztFQUM5QyxnQkFBZ0I7RUFDaEIsa0JBQWtCLEVBQUE7O0FBR3RCO0VBQ0kscUJBQXFCO0VBQ3JCLG9GQUFxRDtFQUNyRCxnQkFBZ0I7RUFDaEIsa0JBQWtCLEVBQUE7O0FDdkV0Qjs7OztFSitFRTtBSXZFRjtFQUNFLGlEQUE4RDtFQUM5RCwwREFBOEMsRUFBQTs7QUFHaEQ7RUFDRSxvQ0FBb0M7RUFDcEMsa0JBQWtCO0VBQ2xCLGdCQUFnQjtFQUNoQixtQkM4QjZCO0VEN0I3QixvSEFDOEQsRUFBQTs7QUFHaEU7O0VBRUUsZ0JBQWdCLEVBQUE7O0FBSWhCO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtD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SlMsRUFBQSxFSTRKaEI7O0FGMUlMO0VBRVEsZ0JEa0JtQixFQUFBOztBQ2QzQjtFQUNJLGNQNkRhO0VPNURiLG1CR2lENEQ7RUhoRDVELGlEUCtCbUQsRUFBQTtFT2xDdkQ7SUFRUSxnQkRNbUI7SUNGbkIsaUJHdUN3RDtJSHRDeEQsZ0JQb1VTO0lPblVULHlCUHVVZTtJTzVUWCxnQkR5QkcsRUFBQTtFQ2xEZjtJQW1DUSxvQkdnQndEO0lIZnhELGdCUDhTUztJTzdTVCxvQlBpVFU7SU90U04sZ0JER0c7SUdzQ1gsa0JBQWtCO0lBT2xCLGtCQUFrQixFQUFBO0lBQ2xCO01BQ0ksV0FBVztNQUNYLFdBSnNIO01BS3RILFdIOUZnQjtNRytGaEIsa0JBQWtCO01BUWQsU0FkeUw7TUFtQjdMLGNBQWM7TUFDZCxZQUFZO01BR1osdUJBQWtEO01BQ2xELG1CQUFtQjtNQUNuQixxQkpqSXlCLEVBQUE7TUl3SXpCO1FBOUJKO1VBZ0NRLGdDSjFJcUI7VUkySXJCLDZCSjFKUyxFQUFBLEVJNEpoQjs7QUYxRUw7RUFFSSxrQkdUNEQ7RUhVNUQsaURQM0JtRDtFTytCbkQsZ0JEa0RrRixFQUFBO0VDekR0RjtJQVNRLGNQNlNXO0lPNVNYLGdCRGdCZTtJQ2ZmLGNGMUZTO0lFMkZULHlCUExXO0lPTVgsa0JEOEJZO0lDN0JaLHlCUDRSZTtJTzNSZixrQkd0QndEO0lIdUJ4RCxnQlBnU1M7SU8vUlQsbUJQb1RTO0lPblRULGlCUHdUUztJT3RUTCxnQlI5RlM7SVFpR1QsZ0JESmUsRUFBQTtFQ25CM0I7SUEyQlEsU0RBUTtJQ0NSLGNQeEJTO0lPeUJULG9CUDhRVTtJTzdRVixrQkdyQ3dEO0lIc0N4RCxnQlBrUlM7SU9qUlQsc0JQc1NZO0lPclNaLG9CUDBTWSxFQUFBO0VPM1VwQjtJQXlDUSxTRGJPO0lDY1AsaUJQNlFjO0lPNVFkLGlCR2xEd0Q7SUhtRHhELGdCUDJPUztJTzFPVCxvQlArUFU7SU8zUFYsc0JQc1JZO0lPclJaLG9CUDBSWTtJT3JSUixnQkQvREc7SUd1Q1gsa0JBQWtCO0lBQ2xCLGNUNUJhO0lTNkJiLG9CQVg4RjtJQWdCOUYsa0JBQWtCLEVBQUE7SUFDbEI7TUFDSSxXQUFXO01BQ1gsV0FKc0g7TUFLdEgsV0g5RmdCO01HK0ZoQixrQkFBa0I7TUFRZCxTQWR5TDtNQW1CN0wsY0FBYztNQUNkLFlBQVk7TUFHWix1QkFBa0Q7TUFDbEQsbUJBQW1CO01BQ25CLHFCSmpJeUIsRUFBQTtNSXdJekI7UUE5Qko7VUFnQ1EsZ0NKMUlxQjtVSTJJckIsNkJKMUpTLEVBQUEsRUk0SmhCO0VGMUVMO0lBK0RRLGNQeVBXO0lPeFBYLGdCRG5DZTtJQ29DZixjRmhKUztJRWlKVCx5QlAzRFc7SU80RFgsa0JHMUV3RDtJSDJFeEQsZ0JQK09TO0lPOU9ULGtCQUFrQjtJQUNsQix5QlB1T2U7SU9yT1gsbUJBQTJFO0lBQzNFLGlCQUFpQjtJQUdqQixnQlJ0SlMsRUFBQTtJU3dKYjtNRDlFUjtRQStFWSxnQkRsRHFCLEVBQUEsRUNvRDVCOztBQUVMO0VBQ0ksU0FBUztFQUNULGlEUDdHbUQ7RU84R25ELG1CRzdGNEQ7RUg4RjVELGdCUDRQWTtFTzNQWixjUHBGYSxFQUFBO0VPK0VqQjtJQWFRLFdBQVc7SUFDWCxTRGZPO0lDZ0JQLGNQb05XO0lPbk5YLHlCUDVGVztJTzZGWCxrQkFBa0I7SUFDbEIsb0JHNUd3RDtJSDZHeEQsZ0JQOE9TO0lPek9MLGdCUnJMUztJUXVMYix5QlBnTWU7SU8vTGYsY0Y3TFMsRUFBQTtFRWtLakI7SUE4QlEsa0JBQWtCO0lBQ2xCLGdCRC9CYztJQ2dDZCxpQkQ1QmM7SUM2QmQsaUJHM0h3RDtJSCtIeEQsb0JQb0xVO0lPbkxWLGNQckhTLEVBQUE7SU8rRWpCO01Bd0NZLFdBQVc7TUFDWCxXQUFXO01BQ1gsV0RqTFk7TUNrTFosa0JBQWtCO01BQ2xCLE9BQU87TUFDUCxTQUFTO01BQ1QsdUJBQWtEO01BQ2xELG1CQUFtQjtNQUNuQixxQkZ0TXFCLEVBQUE7O0FFME1qQztFQUNJLGNGcE5hO0VFcU5iLGlCR2hKNEQ7RUhpSjVELGdCUHlPTztFT3hPUCxpRFBuS21ELEVBQUE7O0FPMkt2RDtFQUNJ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akVoQyxxQkhnYzJCO0VHL2IzQixpQkg4YndCO0VHM2J4QixxQlR5RVk7RVNyRWhCLHFCQUFxQjtFQUNyQixjSDBieUI7RUd2YnJCLDJCQUFvRTtFQUV4RSxnQkFBZ0I7RUFDaEIsNEJKaExrQjtFSWdMbEIsb0JKaExrQixFQUFBO0VHL0ZkO0lLc1JSO01KQVEsMEJJQ3dPO01KRHhPLHVCSUN3TztNSkR4TyxrQklDd087TUpBeE8sNENBQWtFLEVBQUEsRUlVekU7RUpMRztJQUNJO01BQ0ksY0poY0s7TUlpY0wseUJUdFdLO01Td1dELHFCVHhXQztNUzRXTCxxQkFBcUI7TUFDckIsNEJKeE1VO01Jd01WLG9CSnhNVSxFQUFBO01JZ05WO1FBQ0kseUJKamRDO1FJa2RELHlDSmxOTTtRSWtOTixpQ0psTk0sRUFBQSxFSW1OVDtFQUdUO0lBQ0ksY0p2ZFM7SUl3ZFQseUJUcllTO0lTdVlMLHFCVHZZSztJUzJZVCw0Qko5TmM7SUk4TmQsb0JKOU5jLEVBQUE7RUlxT2xCO0lBSVEsY1Z6SnlEO0lVOEp6RCx5Qko5ZUs7SUltZkwsc0NKamVxQjtJSW1lekIsbUJBQW1CLEVBQUE7RUFPdkI7SUFJUSxzQ0o5ZXFCLEVBQUE7RUlrZjdCO0lBQ0ksYUFBYTtJQUNiLDRESjVQNkM7WUk0UDdDLG9ESjVQNkMsRUFBQTtFSThSakQ7SUFDSSx5Q0p4U2M7SUl3U2QsaUNKeFNjLEVBQUE7RVF1THRCO0lKdEZJLHFDQUFnQztJQXVCNUIsV0lrRWdOO0lKbERwTixvQkExQ2dZO0lBMENoWSxvQkExQ2dZO0lBMENoWSxhQTFDZ1k7SUE0QzVYLHlCQUFtQjtRQUFuQixzQkFBbUI7WUFBbkIsbUJBQW1CO0lBQ25CLHdCQUF1QjtRQUF2QixxQkFBdUI7WUFBdkIsdUJBQXVCO0lBTTNCLGtCQUFrQjtJQUNsQixtREFBa0U7SUFFbEUsZ0RBQStDO0lBQy9DLGNKM1NVO0lJNFNWLHlCVnZFaUU7SVV3RWpFLGlCSCtjNEI7SUc5YzVCLG1CQ2pWNEQ7SURrVjVELGdCVG1FZTtJU2xFZixrQkFBa0I7SUFDbEIsbUJBQW1CO0lBQ25CLGVBQWU7SUFFWCx5QlRvRWdDO0lTakVoQyxxQkhnYzJCO0lHL2IzQixpQkg4YndCO0lHM2J4QixxQkozVE07SUkrVFYscUJBQXFCO0lBQ3JCLGNIMGJ5QjtJR3ZickIsMkJBQW9FO0lBRXhFLGdCQUFnQjtJQUNoQiw0QkpoTGtCO0lJZ0xsQixvQkpoTGtCLEVBQUE7SUcvRmQ7TUtzUlI7UUpBUSwwQklHb087UUpIcE8sdUJJR29PO1FKSHBPLGtCSUdvTztRSkZwTyw0Q0FBa0UsRUFBQSxFSUd2RTtJSkVDO01BQ0k7UUFDSSxjSmhjSztRSWljTCx5Qkp0VkU7UUl3VkUscUJKeFZGO1FJNFZGLHFCQUFxQjtRQUNyQiw0Qkp4TVU7UUl3TVYsb0JKeE1VLEVBQUE7UUlnTlY7VUFDSSx5QkpqZEM7VUlrZEQseUNKbE5NO1VJa05OLGlDSmxOTSxFQUFBLEVJbU5UO0lBR1Q7TUFDSSxjSnZkUztNSXdkVCx5QlRhWTtNU1hSLHFCVFdRO01TUFosNEJKOU5jO01JOE5kLG9CSjlOYyxFQUFBO0lJcU9sQjtNQUlRLGNWekp5RDtNVThKekQseUJKOWVLO01JbWZMLHNDSmplcUI7TUltZXpCLG1CQUFtQixFQUFBO0lBT3ZCO01BSVEsc0NKOWVxQixFQUFBO0lJa2Y3QjtNQUNJLGFBQWE7TUFDYiw0REo1UDZDO2NJNFA3QyxvREo1UDZDLEVBQUE7SUk4UmpEO01BQ0kseUNKeFNjO01Jd1NkLGlDSnhTYyxFQUFBO0VRdUx0QjtJSnRGSSxxQ0FBZ0M7SUF1QjVCLFdJcUVnTjtJSnJEcE4sb0JBMUNnWTtJQTBDaFksb0JBMUNnWTtJQTBDaFksYUExQ2dZO0lBNEM1WCx5QkFBbUI7UUFBbkIsc0JBQW1CO1lBQW5CLG1CQUFtQjtJQUNuQix3QkFBdUI7UUFBdkIscUJBQXVCO1lBQXZCLHVCQUF1QjtJQU0zQixrQkFBa0I7SUFDbEIsbURBQWtFO0lBRWxFLGdEQUErQztJQUMvQyxjSnJTVTtJSXNTVix5QlZ2RWlFO0lVd0VqRSxpQkgrYzRCO0lHOWM1QixtQkNqVjREO0lEa1Y1RCxnQlRtRWU7SVNsRWYsa0JBQWtCO0lBQ2xCLG1CQUFtQjtJQUNuQixlQUFlO0lBRVgseUJUb0VnQztJU2pFaEMscUJIZ2MyQjtJRy9iM0IsaUJIOGJ3QjtJRzNieEIscUJKclRNO0lJeVRWLHFCQUFxQjtJQUNyQixjSDBieUI7SUd2YnJCLDJCQUFvRTtJQUV4RSxnQkFBZ0I7SUFDaEIsNEJKaExrQjtJSWdMbEIsb0JKaExrQixFQUFBO0lHL0ZkO01Lc1JSO1FKQVEsMEJJTW9PO1FKTnBPLHVCSU1vTztRSk5wTyxrQklNb087UUpMcE8sNENBQWtFLEVBQUEsRUlNdkU7SUpEQztNQUNJO1FBQ0ksY0poY0s7UUlpY0wseUJKaFZFO1FJa1ZFLHFCSmxWRjtRSXNWRixxQkFBcUI7UUFDckIsNEJKeE1VO1FJd01WLG9CSnhNVSxFQUFBO1FJZ05WO1VBQ0kseUJKamRDO1VJa2RELHlDSmxOTTtVSWtOTixpQ0psTk0sRUFBQSxFSW1OVDtJQUdUO01BQ0ksY0p2ZFM7TUl3ZFQseUJUYVk7TVNYUixxQlRXUTtNU1BaLDRCSjlOYztNSThOZCxvQko5TmMsRUFBQTtJSXFPbEI7TUFJUSxjVnpKeUQ7TVU4SnpELHlCSjllSztNSW1mTCxzQ0pqZXFCO01JbWV6QixtQkFBbUIsRUFBQTtJQU92QjtNQUlRLHNDSjllcUIsRUFBQTtJSWtmN0I7TUFDSSxhQUFhO01BQ2IsNERKNVA2QztjSTRQN0Msb0RKNVA2QyxFQUFBO0lJOFJqRDtNQUNJLHlDSnhTYztNSXdTZCxpQ0p4U2MsRUFBQTtFUXVMdEI7SUp0RkkscUNBQWdDO0lBdUI1QixXSXdFME07SUp4RDlNLG9CQTFDZ1k7SUEwQ2hZLG9CQTFDZ1k7SUEwQ2hZLGFBMUNnWTtJQTRDNVgseUJBQW1CO1FBQW5CLHNCQUFtQjtZQUFuQixtQkFBbUI7SUFDbkIsd0JBQXVCO1FBQXZCLHFCQUF1QjtZQUF2Qix1QkFBdUI7SUFNM0Isa0JBQWtCO0lBQ2xCLG1EQUFrRTtJQUVsRSxnREFBK0M7SUFDL0MsY0ovUlU7SUlnU1YseUJWdkVpRTtJVXdFakUsaUJIK2M0QjtJRzljNUIsbUJDalY0RDtJRGtWNUQsZ0JUbUVlO0lTbEVmLGtCQUFrQjtJQUNsQixtQkFBbUI7SUFDbkIsZUFBZTtJQUVYLHlCVG9FZ0M7SVNqRWhDLHFCSGdjMkI7SUcvYjNCLGlCSDhid0I7SUczYnhCLHFCSi9TTTtJSW1UVixxQkFBcUI7SUFDckIsY0gwYnlCO0lHdmJyQiwyQkFBb0U7SUFFeEUsZ0JBQWdCO0lBQ2hCLDRCSmhMa0I7SUlnTGxCLG9CSmhMa0IsRUFBQTtJRy9GZDtNS3NSUjtRSkFRLDBCSVM4TjtRSlQ5Tix1QklTOE47UUpUOU4sa0JJUzhOO1FKUjlOLDRDQUFrRSxFQUFBLEVJU3ZFO0lKSkM7TUFDSTtRQUNJLGNKaGNLO1FJaWNMLHlCSjFVRTtRSTRVRSxxQko1VUY7UUlnVkYscUJBQXFCO1FBQ3JCLDRCSnhNVTtRSXdNVixvQkp4TVUsRUFBQTtRSWdOVjtVQUNJLHlCSmpkQztVSWtkRCx5Q0psTk07VUlrTk4saUNKbE5NLEVBQUEsRUltTlQ7SUFHVDtNQUNJLGNKdmRTO01Jd2RULHlCVGFZO01TWFIscUJUV1E7TVNQWiw0Qko5TmM7TUk4TmQsb0JKOU5jLEVBQUE7SUlxT2xCO01BSVEsY1Z6SnlEO01VOEp6RCx5Qko5ZUs7TUltZkwsc0NKamVxQjtNSW1lekIsbUJBQW1CLEVBQUE7SUFPdkI7TUFJUSxzQ0o5ZXFCLEVBQUE7SUlrZjdCO01BQ0ksYUFBYTtNQUNiLDRESjVQNkM7Y0k0UDdDLG9ESjVQNkMsRUFBQTtJSThSakQ7TUFDSSx5Q0p4U2M7TUl3U2QsaUNKeFNjLEVBQUE7O0FRcU10QjtFQUNFLGtCQUFrQjtFQUNsQixpQkFBaUIsRUFBQTs7QUFFbkI7RUFDRSxlQUFlO0VBQ2YsaUJBQWlCLEVBQUE7O0FBRW5CO0VBQ0Usa0JBQWtCO0VBQ2xCLGNBQWMsRUFBQTs7QUFLaEI7RUpuSEkscUNBQWdDO0VBdUI1QixXSTZGNE07RUo3RWhOLG9CQTFDZ1k7RUEwQ2hZLG9CQTFDZ1k7RUEwQ2hZLGFBMUNnWTtFQTRDNVgseUJBQW1CO01BQW5CLHNCQUFtQjtVQUFuQixtQkFBbUI7RUFDbkIsd0JBQXVCO01BQXZCLHFCQUF1QjtVQUF2Qix1QkFBdUI7RUFNM0Isa0JBQWtCO0VBQ2xCLG1EQUFrRTtFQUVsRSxnREFBK0M7RUFDL0MsY1RuVWE7RVNvVWIseUJUOEVnQjtFUzdFaEIsaUJIK2M0QjtFRzljNUIsbUJDalY0RDtFRGtWNUQsZ0JUbUVlO0VTbEVmLGtCQUFrQjtFQUNsQixtQkFBbUI7RUFDbkIsZUFBZTtFQUVYLHlCVG9FZ0M7RVNqRWhDLHFCSGdjMkI7RUcvYjNCLGlCSDhid0I7RUczYnhCLHFCVHlFWTtFU3JFaEIscUJBQXFCO0VBQ3JCLGNIMGJ5QjtFR3ZickIsMkJBQW9FO0VBRXhFLGdCQUFnQjtFQUNoQiw0QkpoTGtCO0VJZ0xsQixvQkpoTGtCLEVBQUE7RUcvRmQ7SUttVFI7TUo3QlEsMEJJOEJnTztNSjlCaE8sdUJJOEJnTztNSjlCaE8sa0JJOEJnTztNSjdCaE8sNENBQWtFLEVBQUEsRUk4QnpFO0VKekJHO0lBQ0k7TUFDSSxjSmhjSztNSWljTCx5QlR0V0s7TVN3V0QscUJUeFdDO01TNFdMLHFCQUFxQjtNQUNyQiw0Qkp4TVU7TUl3TVYsb0JKeE1VLEVBQUE7TUlnTlY7UUFDSSx5QkpqZEM7UUlrZEQseUNKbE5NO1FJa05OLGlDSmxOTSxFQUFBLEVJbU5UO0VBR1Q7SUFDSSxjSnZkUztJSXdkVCx5QlRyWVM7SVN1WUwscUJUdllLO0lTMllULDRCSjlOYztJSThOZCxvQko5TmMsRUFBQTtFSXFPbEI7SUFJUSxjVnpKeUQ7SVU4SnpELHlCSjllSztJSW1mTCxzQ0pqZXFCO0lJbWV6QixtQkFBbUIsRUFBQTtFQU92QjtJQUlRLHNDSjllcUIsRUFBQTtFSWtmN0I7SUFDSSxhQUFhO0lBQ2IsNERKNVA2QztZSTRQN0Msb0RKNVA2QyxFQUFBO0VJOFJqRDtJQUNJLHlDSnhTYztJSXdTZCxpQ0p4U2MsRUFBQTs7QVF3TnRCO0VKdkhJLHFDQUFnQztFQXVCNUIsV0lpR21OO0VKakZ2TixvQkExQ2dZO0VBMENoWSxvQkExQ2dZO0VBMENoWSxhQTFDZ1k7RUE0QzVYLHlCQUFtQjtNQUFuQixzQkFBbUI7VUFBbkIsbUJBQW1CO0VBQ25CLHdCQUF1QjtNQUF2QixxQkFBdUI7VUFBdkIsdUJBQXVCO0VBTTNCLGtCQUFrQjtFQUNsQixtREFBa0U7RUFFbEUsZ0RBQStDO0VBQy9DLGNUblVhO0VTb1ViLHlCSnZaYTtFSXdaYixpQkgrYzRCO0VHOWM1QixtQkNqVjREO0VEa1Y1RCxnQlRtRWU7RVNsRWYsa0JBQWtCO0VBQ2xCLG1CQUFtQjtFQUNuQixlQUFlO0VBRVgseUJUb0VnQztFU2pFaEMscUJIZ2MyQjtFRy9iM0IsaUJIOGJ3QjtFRzNieEIscUJKN1p3QjtFSWlhNUIscUJBQXFCO0VBQ3JCLGNIMGJ5QjtFR3ZickIsMkJBQW9FO0VBRXhFLGdCQUFnQjtFQUNoQiw0QkpoTGtCO0VJZ0xsQixvQkpoTGtCLEVBQUE7RUcvRmQ7SUt1VFI7TUpqQ1EsMEJJa0N1TztNSmxDdk8sdUJJa0N1TztNSmxDdk8sa0JJa0N1TztNSmpDdk8sNENBQWtFLEVBQUEsRUlrQ3pFO0VKN0JHO0lBQ0k7TUFDSSxjSmhjSztNSWljTCx5QkhpY3dEO01HL2JwRCxxQlRoWEM7TVNvWEwscUJBQXFCO01BQ3JCLDRCSnhNVTtNSXdNVixvQkp4TVUsRUFBQTtNSWdOVjtRQUNJLHlCSmpkQztRSWtkRCx5Q0psTk07UUlrTk4saUNKbE5NLEVBQUEsRUltTlQ7RUFHVDtJQUNJLGNKdmRTO0lJd2RULHlCVHJZUztJU3VZTCxxQlR2WUs7SVMyWVQsNEJKOU5jO0lJOE5kLG9CSjlOYyxFQUFBO0VJcU9sQjtJQUlRLGNWekp5RDtJVThKekQseUJKOWVLO0lJbWZMLHNDSmplcUI7SUltZXpCLG1CQUFtQixFQUFBO0VBT3ZCO0lBSVEsc0NKOWVxQixFQUFBO0VJa2Y3QjtJQUNJLGFBQWE7SUFDYiw0REo1UDZDO1lJNFA3QyxvREo1UDZDLEVBQUE7RUk4UmpEO0lBQ0kseUNKeFNjO0lJd1NkLGlDSnhTYyxFQUFBOztBUTJOdEI7RUoxSEkscUNBQWdDO0VBdUI1QixXSW9HK007RUpwRm5OLG9CQTFDZ1k7RUEwQ2hZLG9CQTFDZ1k7RUEwQ2hZLGFBMUNnWTtFQTRDNVgseUJBQW1CO01BQW5CLHNCQUFtQjtVQUFuQixtQkFBbUI7RUFDbkIsd0JBQXVCO01BQXZCLHFCQUF1QjtVQUF2Qix1QkFBdUI7RUFNM0Isa0JBQWtCO0VBQ2xCLG1EQUFrRTtFQUVsRSxnREFBK0M7RUFDL0MsY1Z0RWlFO0VVdUVqRSx5QlZ2RWlFO0VVd0VqRSxpQkgrYzRCO0VHOWM1QixtQkNqVjREO0VEa1Y1RCxnQlRtRWU7RVNsRWYsa0JBQWtCO0VBQ2xCLG1CQUFtQjtFQUNuQixlQUFlO0VBRVgseUJUb0VnQztFU2pFaEMscUJIZ2MyQjtFRy9iM0IsaUJIOGJ3QjtFRzNieEIscUJKN1p3QjtFSWlhNUIscUJBQXFCO0VBQ3JCLGNIMGJ5QjtFR3ZickIsMkJBQW9FO0VBRXhFLGdCQUFnQjtFQUNoQiw0QkpoTGtCO0VJZ0xsQixvQkpoTGtCLEVBQUE7RUcvRmQ7SUswVFI7TUpwQ1EsMEJJcUNtTztNSnJDbk8sdUJJcUNtTztNSnJDbk8sa0JJcUNtTztNSnBDbk8sNENBQWtFLEVBQUEsRUlxQ3pFO0VKaENHO0lBQ0k7TUFDSSxjSmhjSztNSWljTCx5QlZqSHlEO01VbUhyRCxxQlZuSHFEO01VdUh6RCxxQkFBcUI7TUFDckIsNEJKeE1VO01Jd01WLG9CSnhNVSxFQUFBO01JZ05WO1FBQ0kseUJKamRDO1FJa2RELHlDSmxOTTtRSWtOTixpQ0psTk0sRUFBQSxFSW1OVDtFQUdUO0lBQ0ksY0p2ZFM7SUl3ZFQseUJUcllTO0lTdVlMLHFCSjFkSztJSThkVCw0Qko5TmM7SUk4TmQsb0JKOU5jLEVBQUE7RUlxT2xCO0lBSVEsY1Z6SnlEO0lVOEp6RCx5Qko5ZUs7SUltZkwsc0NKamVxQjtJSW1lekIsbUJBQW1CLEVBQUE7RUFPdkI7SUFJUSxzQ0o5ZXFCLEVBQUE7RUlrZjdCO0lBQ0ksYUFBYTtJQUNiLDRESjVQNkM7WUk0UDdDLG9ESjVQNkMsRUFBQTtFSThSakQ7SUFDSSx5Q0p4U2M7SUl3U2QsaUNKeFNjLEVBQUE7O0FROE50QjtFSjdISSxxQ0FBZ0M7RUF1QjVCLFdJdUd1TjtFSnZGM04sMkJJdUZnUTtFSnZGaFEsMkJJdUZnUTtFSnZGaFEsb0JJdUZnUTtFSnJGNVAseUJBQW1CO01BQW5CLHNCQUFtQjtVQUFuQixtQkFBbUI7RUFDbkIsd0JBQXVCO01BQXZCLHFCQUF1QjtVQUF2Qix1QkFBdUI7RUFNM0Isa0JBQWtCO0VBQ2xCLDRDQUFrRTtFQUVsRSxpREFBK0M7RUFDL0MsY0p0WmE7RUl1WmIseUJUNVRhO0VTNlRiLGlCSCtjNEI7RUc5YzVCLG1CQ2pWNEQ7RURrVjVELGdCVG1FZTtFU2xFZixrQkFBa0I7RUFDbEIsbUJBQW1CO0VBQ25CLGVBQWU7RUFFWCx5QlRvRWdDO0VTakVoQyxxQkhnYzJCO0VHL2IzQixpQkg4YndCO0VHM2J4QixxQlQzVVM7RVMrVWIscUJBQXFCO0VBQ3JCLGNIMGJ5QjtFR3ZickIsMkJBQW9FO0VBRXhFLGdCQUFnQjtFQUNoQiw0QkpoTGtCO0VJZ0xsQixvQkpoTGtCLEVBQUE7RUcvRmQ7SUs2VFI7TUp2Q1EsMEJJd0MyTztNSnhDM08sdUJJd0MyTztNSnhDM08sa0JJd0MyTztNSnZDM08sNENBQWtFLEVBQUEsRUl3Q3pFO0VKbkNHO0lBQ0k7TUFDSSxjVHJXSztNU3NXTCx5QkpqY0s7TUltY0QscUJUeFdDO01TNFdMLHFCQUFxQjtNQUNyQiw0Qkp4TVU7TUl3TVYsb0JKeE1VLEVBQUE7TUlnTlY7UUFDSSx5QkpqZEM7UUlrZEQseUNKbE5NO1FJa05OLGlDSmxOTSxFQUFBLEVJbU5UO0VBR1Q7SUFDSSxjVHBZUztJU3FZVCx5Qkp4ZFM7SUkwZEwscUJUdllLO0lTMllULDRCSjlOYztJSThOZCxvQko5TmMsRUFBQTtFSXFPbEI7SUFJUSxjVnpKeUQ7SVU4SnpELHlCSjllSztJSW1mTCxzQ0pqZXFCO0lJbWV6QixtQkFBbUIsRUFBQTtFQU92QjtJQUlRLHNDSjllcUIsRUFBQTtFSWtmN0I7SUFDSSxhQUFhO0lBQ2IsNERKNVA2QztZSTRQN0Msb0RKNVA2QyxFQUFBO0VJOFJqRDtJQUNJLHlDSnhTYztJSXdTZCxpQ0p4U2MsRUFBQTs7QVFpT3RCO0VKaElJLHFDQUFnQztFQXVCNUIsV0kwRzJNO0VKMUYvTSxvQkExQ2dZO0VBMENoWSxvQkExQ2dZO0VBMENoWSxhQTFDZ1k7RUE0QzVYLHlCQUFtQjtNQUFuQixzQkFBbUI7VUFBbkIsbUJBQW1CO0VBQ25CLHdCQUF1QjtNQUF2QixxQkFBdUI7VUFBdkIsdUJBQXVCO0VBTTNCLGtCQUFrQjtFQUNsQixtREFBa0U7RUFFbEUsZ0RBQStDO0VBQy9DLGNUblVhO0VTb1ViLHlCSmpaYTtFSWtaYixpQkgrYzRCO0VHOWM1QixtQkNqVjREO0VEa1Y1RCxnQlRtRWU7RVNsRWYsa0JBQWtCO0VBQ2xCLG1CQUFtQjtFQUNuQixlQUFlO0VBRVgseUJUb0VnQztFU2pFaEMscUJIZ2MyQjtFRy9iM0IsaUJIOGJ3QjtFRzNieEIscUJKN1p3QjtFSWlhNUIscUJBQXFCO0VBQ3JCLGNIMGJ5QjtFR3ZickIsMkJBQW9FO0VBRXhFLGdCQUFnQjtFQUNoQiw0QkpoTGtCO0VJZ0xsQixvQkpoTGtCLEVBQUE7RUcvRmQ7SUtnVVI7TUoxQ1EsMEJJMkMrTjtNSjNDL04sdUJJMkMrTjtNSjNDL04sa0JJMkMrTjtNSjFDL04sNENBQWtFLEVBQUEsRUkyQ3pFO0VKdENHO0lBQ0k7TUFDSSxjVDdXSztNUzhXTCx5QlQ5V0s7TVNnWEQscUJUaFhDO01Tb1hMLHFCQUFxQjtNQUNyQiw0Qkp4TVU7TUl3TVYsb0JKeE1VLEVBQUE7TUlnTlY7UUFDSSx5QkpqZEM7UUlrZEQseUNKbE5NO1FJa05OLGlDSmxOTSxFQUFBLEVJbU5UO0VBR1Q7SUFDSSxjVHBZUztJU3FZVCx5Qkp4ZFM7SUkwZEwscUJUdllLO0lTMllULDRCSjlOYztJSThOZCxvQko5TmMsRUFBQTtFSXFPbEI7SUFJUSxjVnpKeUQ7SVU4SnpELHlCSjllSztJSW1mTCxzQ0pqZXFCO0lJbWV6QixtQkFBbUIsRUFBQTtFQU92QjtJQUlRLHNDSjllcUIsRUFBQTtFSWtmN0I7SUFDSSxhQUFhO0lBQ2IsNERKNVA2QztZSTRQN0Msb0RKNVA2QyxFQUFBO0VJOFJqRDtJQUNJLHlDSnhTYztJSXdTZCxpQ0p4U2MsRUFBQTs7QVFxT3RCO0VKcElJLHFDQUFnQztFQXVCNUIsV0k4RzRMO0VKOUZoTSxvQkExQ2dZO0VBMENoWSxvQkExQ2dZO0VBMENoWSxhQTFDZ1k7RUE0QzVYLHlCQUFtQjtNQUFuQixzQkFBbUI7VUFBbkIsbUJBQW1CO0VBQ25CLHdCQUF1QjtNQUF2QixxQkFBdUI7VUFBdkIsdUJBQXVCO0VBTTNCLGtCQUFrQjtFQUNsQiw0Q0FBa0U7RUFFbEUsZ0RBQStDO0VBQy9DLGNUblVhO0VTb1ViLDZCSjFaaUI7RUkyWmpCLGlCSCtjNEI7RUc5YzVCLG1CQ2pWNEQ7RURrVjVELGdCVG1FZTtFU2xFZixrQkFBa0I7RUFDbEIsbUJBQW1CO0VBQ25CLGVBQWU7RUFFWCx5QlRvRWdDO0VTakVoQyxxQkhnYzJCO0VHL2IzQixpQkg4YndCO0VHM2J4QixxQlRuVlM7RVN1VmIscUJBQXFCO0VBQ3JCLGNIMGJ5QjtFR3ZickIsMkJBQW9FO0VBRXhFLGdCQUFnQjtFQUNoQiw0QkpoTGtCO0VJZ0xsQixvQkpoTGtCLEVBQUE7RUdwR2Q7SUt5VVI7TUpsRFksb0RBQW9FLEVBQUEsRUlvRC9FO0VMdFVPO0lLb1VSO01KOUNRLDBCSStDZ047TUovQ2hOLHVCSStDZ047TUovQ2hOLGtCSStDZ047TUo5Q2hOLG1EQUFrRSxFQUFBLEVJK0N6RTtFSjFDRztJQUNJO01BQ0ksY0poY0s7TUlpY0wseUJUOVdLO01TZ1hELHFHSG9pQnFDO01HaGlCekMscUJBQXFCO01BQ3JCLDRCSnhNVTtNSXdNVixvQkp4TVUsRUFBQTtNSWdOVjtRQUNJLHlCSmpkQztRSWtkRCx5Q0psTk07UUlrTk4saUNKbE5NLEVBQUEsRUltTlQ7RUFHVDtJQUNJLGNUcFlTO0lTcVlULHlCVDdYUztJUytYTCxxQlR2WUs7SVMyWVQsNEJKOU5jO0lJOE5kLG9CSjlOYyxFQUFBO0VJcU9sQjtJQUVRLGNWdkp5RDtJVTRKekQseUJKNWVLO0lJaWZMLHNDSi9kcUI7SUltZXpCLG1CQUFtQixFQUFBO0VBT3ZCO0lBRVEsc0NKNWVxQixFQUFBO0VJa2Y3QjtJQUNJLGFBQWE7SUFDYiw0REo1UDZDO1lJNFA3QyxvREo1UDZDLEVBQUE7RUk4UmpEO0lBQ0kseUNKeFNjO0lJd1NkLGlDSnhTYyxFQUFBOztBUXdPdEI7RUFDRSwyQkFBb0I7RUFBcEIsMkJBQW9CO0VBQXBCLG9CQUFvQjtFQUNwQix3QkFBdUI7TUFBdkIscUJBQXVCO1VBQXZCLHVCQUF1QjtFQUN2Qix5QkFBbUI7TUFBbkIsc0JBQW1CO1VBQW5CLG1CQUFtQjtFQUNuQixRQUFRO0VBQ1IsZUh0YThEO0VHdWE5RCxnQlA4ZmtDO0VPNWZoQyx5QmJkb0MsRUFBQTtFYU14QztJQVdJLFliemFPO0lhMGFQLGNiclMyQjtJYXNTM0IsK0JSbFJpRDtJUW1SakQsbUJBQW1CLEVBQUE7RUFkdkI7SUFpQkkscUJBQXFCLEVBQUE7O0FBS3pCO0VBQ0Usa0JBQWtCO0VBQ2xCLDJCQUFvQjtFQUFwQiwyQkFBb0I7RUFBcEIsb0JBQW9CO0VBQ3BCLHlCQUFtQjtNQUFuQixzQkFBbUI7VUFBbkIsbUJBQW1CLEVBQUE7RUFIckI7SUFNSSxZUDVHZ0I7SU82R2hCLGdCQUFnQjtJQUNoQixjYnJiZTtJYXNiZixpQ1JwV21DO0lRcVduQyxVQUFVLEVBQUE7RUFWZDtJQWNJLHdCQUFpRDtJQUNqRCx5QkFBa0Q7SUFDbEQsa0JBQWtCO0lBQ2xCLFNBQThCO0lBQzlCLFVBQStCO0lBQy9CLFlBTnlCO0lBT3pCLDBDUjdnQmE7SVE4Z0JiLGNSamhCYTtJUWtoQmIsa0JBQWtCO0lBQ2xCLG9CSDljNEQ7SUcrYzVELGdCQUFnQixFQUFBOztBQVNwQjtFSjlMSSxxQ0FBZ0M7RUF1QjVCLFdJd0trSztFSnhKdEssb0JJd0pvTTtFSnhKcE0sb0JJd0pvTTtFSnhKcE0sYUl3Sm9NO0VKdEpoTSx5QkFBbUI7TUFBbkIsc0JBQW1CO1VBQW5CLG1CQUFtQjtFQUNuQix3QkFBdUI7TUFBdkIscUJBQXVCO1VBQXZCLHVCQUF1QjtFQUd2QixtQkFBWTtNQUFaLG9CQUFZO1VBQVosWUFBWTtFQUdoQixrQkFBa0I7RUFDbEIsNENBQWtFO0VBRWxFLDREQUErQztFQUMvQyxjSm5aYTtFSW9aYix5Qkp2WmE7RUl3WmIsaUJIK2M0QjtFRzljNUIsbUJDalY0RDtFRGtWNUQsZ0JJdUlpSjtFSnRJakosa0JBQWtCO0VBQ2xCLG1CQUFtQjtFQUNuQixlQUFlO0VBRVgseUJUb0VnQztFU2pFaEMscUJIZ2MyQjtFRy9iM0IsaUJIOGJ3QjtFRzNieEIscUJKN1p3QjtFSWlhNUIscUJBQXFCO0VBQ3JCLGNIMGJ5QjtFR3ZickIsMkJBQW9FO0VBRXhFLGdCQUFnQjtFQUNoQiw0QkpoTGtCO0VJZ0xsQixvQkpoTGtCO0VJMFFkOzs7Ozs7OztTWjgwR0MsRVl0MEdDO0VEalhGO0lLOFhSO01KeEdRLDBCSXlHc0w7TUp6R3RMLHVCSXlHc0w7TUp6R3RMLGtCSXlHc0w7TUp4R3RMLDRDQUFrRSxFQUFBLEVJeUd6RTtFSnBHRztJQUNJO01BQ0ksY1Q3V0s7TVM4V0wseUJUOVdLO01TZ1hELHFCVGhYQztNU29YTCxxQkFBcUI7TUFDckIsNEJKeE1VO01Jd01WLG9CSnhNVSxFQUFBO01JME1OO1FBQ0MsY1R4WEE7UVN5WEEsOEJKNU1LO1FJNE1MLHNCSjVNSyxFQUFBO01JZ05WO1FBQ0kseUJKamRDO1FJa2RELHlDSmxOTTtRSWtOTixpQ0psTk0sRUFBQSxFSW1OVDtFQUdUO0lBQ0ksY0p2ZFM7SUl3ZFQseUJUcllTO0lTeVlMLHFCVHpZSztJUzJZVCw0Qko5TmM7SUk4TmQsb0JKOU5jLEVBQUE7SUlnT1Y7TUFDQyxjSmplSSxFQUFBO0VJcWViO0lBSVEsY1Z6SnlEO0lVOEp6RCx5Qko5ZUs7SUltZkwsc0NKamVxQjtJSW1lekIsbUJBQW1CLEVBQUE7SUFFZjtNQUNDLGNWeEt3RCxFQUFBO0VVNEtqRTtJQUlRLHNDSjllcUIsRUFBQTtFSWtmN0I7SUFDSSxhQUFhO0lBQ2IsNERKNVA2QztZSTRQN0Msb0RKNVA2QyxFQUFBO0VJaVI3QztJQUNJLFlIektFO0lHMEtGLGtCSHVxSFE7SUd0cUhSLGlDSjFYMkI7SUkyWDNCLGVINHFIQTtJR3ZxSEEsY1RqZEs7SVNrZEwsOEJKcFNVO0lJb1NWLHNCSnBTVSxFQUFBO0VJdVNsQjtJQUNJLHlDSnhTYztJSXdTZCxpQ0p4U2MsRUFBQTs7QVFtU3RCO0VBQ0UsU0FBUztFQUNULGFQNnFCd0M7RU81cUJ4QyxvQkgvZDhEO0VHZ2U5RCxnQlA2cUIyQztFTzVxQjNDLGNidGRlLEVBQUE7RWFpZGpCO0lBT0ksZ0JBQWdCLEVBQUE7O0FBSXBCO0VBQ0UsMEJBQWtCO0VBQWxCLHVCQUFrQjtFQUFsQixrQkFBa0I7RUFDbEIsYVBrcUJ3QztFT2pxQnhDLG9CSDFlOEQ7RUcyZTlELGdCQUFnQjtFQUNoQixjYmplZTtFYWtlZix5QmJsZWU7RWFtZWYseUJibmVlLEVBQUE7RWE0ZGpCO0lBU00sY2JyZVc7SWFzZVgseUJidGVXO0lhdWVYLHFCYnZlVyxFQUFBO0lhNGRqQjtNQWFVLGNiemVPLEVBQUE7RWE0ZGpCO0lBaUJNLGNicmVXO0lhc2VYLHlCUmprQlc7SVFra0JYLHFCUmxrQlcsRUFBQTtJUStpQmpCO01BcUJVLGNiemVPLEVBQUE7RWFvZGpCO0lBeUJNLFlQaE5vQjtJT2lOcEIsaUJQcXJCd0M7SU9wckJ4Qyx1QlJ4WDRCO0lReVg1QixlUGtyQnNDO0lPanJCdEMsY2J6ZlcsRUFBQTs7QWE2ZmpCO0VBQ0UsMEJBQWtCO0VBQWxCLHVCQUFrQjtFQUFsQixrQkFBa0I7RUFDbEIsb0JBQWE7RUFBYixvQkFBYTtFQUFiLGFBQWE7RUFDYix5QkFBbUI7TUFBbkIsc0JBQW1CO1VBQW5CLG1CQUFtQjtFQUNuQixlQUFlO0VBQ2YsZ0JBQWdCO0VBQ2hCLG9CSDlnQjhEO0VHK2dCOUQsZ0JBQWdCO0VBQ2hCLGNicmdCZTtFYXNnQmYseUJSN2tCK0I7RVE4a0IvQix3RVJ6Vm9CO0VReVZwQixnRVJ6Vm9CLEVBQUE7RUcvRmQ7SUs4YVI7TUFZTSxnQkFBZ0I7TUFDaEIsa0JIcmhCMEQsRUFBQSxFR3FqQi9EO0VBN0NEO0lBZ0JNLGNSaG1CVztJUWltQlgseUJiOWdCVztJYStnQlgscUJiL2dCVztJYWdoQlgsd0VSbldnQjtJUW1XaEIsZ0VSbldnQixFQUFBO0lRZ1Z0QjtNQXFCVSxjUnJtQk87TVFzbUJQLDhCUnRXWTtNUXNXWixzQlJ0V1ksRUFBQTtFUWdWdEI7SUEwQk0sY2J2aEJXO0lhd2hCWCx5QmJ4aEJXO0lheWhCWCxxQmJ6aEJXLEVBQUE7SWE2ZmpCO01BOEJVLGNiM2hCTyxFQUFBO0VhNmZqQjtJQWtDTSxZUDFQb0I7SU8yUHBCLGlCQUFpQjtJQUNqQix1QlJsYTRCO0lRbWE1QixlQUFlO0lBQ2YsY2JuaUJXO0lhb2lCWCw4QlJ0WGdCO0lRc1hoQixzQlJ0WGdCLEVBQUE7SUcvRmQ7TUs4YVI7UUF5Q1UsZ0JBQWdCO1FBQ2hCLGVBQWUsRUFBQSxFQUV0Qjs7QUFHSDtFSjdSSSxxQ0FBZ0M7RUF1QjVCLFdJdVFrTztFSnZQdE8sb0JJdVB5UTtFSnZQelEsb0JJdVB5UTtFSnZQelEsYUl1UHlRO0VKclByUSx5QkFBbUI7TUFBbkIsc0JBQW1CO1VBQW5CLG1CQUFtQjtFQUNuQix3QkFBdUI7TUFBdkIscUJBQXVCO1VBQXZCLHVCQUF1QjtFQU0zQixrQkFBa0I7RUFDbEIsNENBQWtFO0VBRWxFLGdEQUErQztFQUMvQyxjVG5VYTtFU29VYix5Qkp2WmE7RUl3WmIsaUJIK2M0QjtFRzljNUIsbUJDalY0RDtFRGtWNUQsZ0JUbUVlO0VTbEVmLGtCQUFrQjtFQUNsQixtQkFBbUI7RUFDbkIsZUFBZTtFQUVYLHlCVG9FZ0M7RVNqRWhDLHFCSGdjMkI7RUcvYjNCLGlCSDhid0I7RUczYnhCLHFCSjdad0I7RUlpYTVCLHFCQUFxQjtFQUNyQixjSDBieUI7RUd2YnJCLDJCQUFvRTtFQUV4RSxnQkFBZ0I7RUFDaEIsNEJKaExrQjtFSWdMbEIsb0JKaExrQjtFSTBRZDs7Ozs7Ozs7U1o0K0dDLEVZcCtHQztFRHRYRjtJS2tlUjtNSjNNWSw2Q0FBb0UsRUFBQSxFSTZNL0U7RUwvZE87SUs2ZFI7TUp2TVEsMEJJd01zUDtNSnhNdFAsdUJJd01zUDtNSnhNdFAsa0JJd01zUDtNSnZNdFAsNENBQWtFLEVBQUEsRUl3TXpFO0VKbk1HO0lBQ0k7TUFDSSxjSmhjSztNSWljTCx5QkhpY3dEO01HL2JwRCxxQlRoWEM7TVNvWEwscUJBQXFCO01BQ3JCLDRCSnhNVTtNSXdNVixvQkp4TVUsRUFBQTtNSTBNTjtRQUNDLGNKM2NBO1FJNGNBLDhCSjVNSztRSTRNTCxzQko1TUssRUFBQTtNSWdOVjtRQUNJLHlCSmpkQztRSWtkRCx5Q0psTk07UUlrTk4saUNKbE5NLEVBQUEsRUltTlQ7RUFHVDtJQUNJLGNKdmRTO0lJd2RULHlCVHJZUztJU3VZTCxxQlR2WUs7SVMyWVQsNEJKOU5jO0lJOE5kLG9CSjlOYyxFQUFBO0lJZ09WO01BQ0MsY1Q5WUksRUFBQTtFU2taYjtJQUlRLGNWekp5RDtJVThKekQseUJKOWVLO0lJbWZMLHNDSmplcUI7SUltZXpCLG1CQUFtQixFQUFBO0lBRWY7TUFDQyxjVnhLd0QsRUFBQTtFVTRLakU7SUFJUSxzQ0o5ZXFCLEVBQUE7RUlrZjdCO0lBQ0ksYUFBYTtJQUNiLDRESjVQNkM7WUk0UDdDLG9ESjVQNkMsRUFBQTtFSWlSN0M7SUFDSSxZSG5LQztJR29LRCxrQkg4c0NRO0lHN3NDUixpQ0oxWDJCO0lJMlgzQixlSCtzQ0E7SUcxc0NBLGNUamRLO0lTa2RMLDhCSnBTVTtJSW9TVixzQkpwU1UsRUFBQTtFSXVTbEI7SUFDSSx5Q0p4U2M7SUl3U2QsaUNKeFNjLEVBQUE7O0FRa1l0QjtFQUVJLFlQNVFTO0VPNlFULGtCQUFrQjtFQUNsQixpQ1JuZW1DLEVBQUE7O0FReWV2QztFSjNTSSxxQ0FBZ0M7RUF5QjVCLFdJbVJnSTtFSnJRcEksb0JBMUNnWTtFQTBDaFksb0JBMUNnWTtFQTBDaFksYUExQ2dZO0VBNEM1WCx5QkFBbUI7TUFBbkIsc0JBQW1CO1VBQW5CLG1CQUFtQjtFQUNuQix3QkFBdUI7TUFBdkIscUJBQXVCO1VBQXZCLHVCQUF1QjtFQU0zQixrQkFBa0I7RUFDbEIsNENBQWtFO0VBRWxFLCtDQUErQztFQUUvQyx5QkhvdEhnQjtFR250SGhCLGlCSCtjNEI7RUc5YzVCLG9CQ2pWNEQ7RURrVjVELGdCSW9Qc0g7RUpuUHRILGtCQUFrQjtFQUNsQixtQkFBbUI7RUFDbkIsZUFBZTtFQUVYLHlCVG9FZ0M7RVNqRWhDLHFCSGtjeUU7RUdqY3pFLGlCSDhid0I7RUd6YnhCLHFCSmxhUztFSW9hYixxQkFBcUI7RUFDckIsY0gwYnlCO0VHdmJyQiwyQkFBb0U7RUFFeEUsZ0JBQWdCO0VBQ2hCLDRCSmhMa0I7RUlnTGxCLG9CSmhMa0I7RVE4WWxCLGtCUm5aZTtFUW9aZixrQkFBa0IsRUFBQTtFTG5mZDtJS2dmUjtNSnpOWSw2Q0FBb0UsRUFBQSxFSXNPL0U7RUx4Zk87SUsyZVI7TUpyTlEsV0lzTmdJO01Kck5oSSw0Q0FBa0UsRUFBQSxFSWlPekU7RUo1Tkc7SUFDSTtNQUVJLHlCVDlXSztNU2tYRCxxQlRsWEM7TVNvWEwscUJBQXFCO01BQ3JCLDRCSnhNVTtNSXdNVixvQkp4TVUsRUFBQTtNSWdOVjtRQUNJLHlCSmpkQztRSWtkRCx5Q0psTk07UUlrTk4saUNKbE5NLEVBQUEsRUltTlQ7RUFHVDtJQUVJLHlCVDdYUztJU2lZTCxxQlRqWUs7SVNtWVQsNEJKOU5jO0lJOE5kLG9CSjlOYyxFQUFBO0VJcU9sQjtJQUlRLGNWekp5RDtJVThKekQseUJKOWVLO0lJbWZMLHNDSmplcUI7SUltZXpCLG1CQUFtQixFQUFBO0VBT3ZCO0lBSVEsc0NKOWVxQixFQUFBO0VJa2Y3QjtJQUNJLGFBQWE7SUFDYiw0REo1UDZDO1lJNFA3QyxvREo1UDZDLEVBQUE7RUk4UmpEO0lBQ0kseUNKeFNjO0lJd1NkLGlDSnhTYyxFQUFBO0VRNFl0QjtJQUtRLFdBQVc7SUFDWCxXQUFXO0lBQ1gsWUFBWTtJQUNaLHFCQUFxQjtJQUNyQiw4RUFBbUQ7SUFDbkQsMEJBQTBCO0lBQzFCLDRCQUE0QixFQUFBOztBQUtwQztFQUNFLG9CQUFhO0VBQWIsb0JBQWE7RUFBYixhQUFhO0VBQ2IsU0FBUztFQUNULFlBQVk7RUFDWixhQUFhO0VBQ2IsY1IvcEJlO0VRZ3FCZiw4QlJsYW9CO0VRa2FwQixzQlJsYW9CLEVBQUE7RVE0WnRCO0lBUUksWVBoUDBCO0lPaVAxQixpQ1JsZ0JtQyxFQUFBO0VReWZ2QztJQWFJLDBDQUEwQztJQUMxQyw4QlIzYWtCO0lRMmFsQixzQlIzYWtCLEVBQUE7O0FRZ2J0QjtFQUNFLFdBQVc7RUFDWCxvQkFBYTtFQUFiLG9CQUFhO0VBQWIsYUFBYTtFQUNiLDRCQUFzQjtFQUF0Qiw2QkFBc0I7TUFBdEIsMEJBQXNCO1VBQXRCLHNCQUFzQjtFQUN0QixtQkFBZTtNQUFmLGVBQWU7RUFDZixtQkFBbUIsRUFBQTtFTG5oQmI7SUs4Z0JSO01BT00sOEJBQW1CO01BQW5CLDZCQUFtQjtVQUFuQix1QkFBbUI7Y0FBbkIsbUJBQW1CLEVBQUEsRUFrRnhCO0VBekZEO0lBV0ksbUNBQTZCO0lBQzdCLG9CQUFhO0lBQWIsb0JBQWE7SUFBYixhQUFhO0lBQ2IsOEJBQW1CO0lBQW5CLDZCQUFtQjtRQUFuQix1QkFBbUI7WUFBbkIsbUJBQW1CO0lBQ25CLG1CQUFlO1FBQWYsZUFBZTtJQUNmLG1CQUFPO1FBQVAsV0FBTztZQUFQLE9BQU8sRUFBQTtJTGxpQkg7TUttaEJSO1FBaUJNLHlCQUE4QjtZQUE5QixzQkFBOEI7Z0JBQTlCLDhCQUE4QixFQUFBLEVBdUVqQztJTHRtQks7TUs4Z0JSO1FBb0JNLFVBQVU7UUFDViwyQkFBb0I7UUFBcEIsMkJBQW9CO1FBQXBCLG9CQUFvQjtRQUNwQixjQUFjLEVBQUEsRUFrRWpCO0lBeEZIO01BMEJRLGVBQWU7TUFDZixjQUFjLEVBQUE7TUx6aUJkO1FLOGdCUjtVQThCVSxjQUFjLEVBQUEsRUFFakI7SUw5aUJDO01LOGdCUjtRQTRDZ0IsZUFBZTtRQUNmLGlCQUFpQixFQUFBO01BN0NqQztRQWtEa0IsaUJBQWlCLEVBQUEsRUFDbEI7SUx0a0JUO01LbWhCUjtRQWdFUSxXQUFXLEVBQUEsRUFZZDtJTDFsQkc7TUs4Z0JSO1FBb0VVLGVBQWUsRUFBQTtNQXBFekI7UUF5RVUsY0FBYyxFQUFBLEVBQ2Y7SUx4bEJEO01LOGdCUjtRQXFGUSxpQkFBaUIsRUFBQSxFQUVwQjs7QUFNTDtFQUNFLG9CQUFhO0VBQWIsb0JBQWE7RUFBYixhQUFhLEVBQUE7O0FBNENmO0VBdkNFLFdQczNCNkI7RU9yM0I3QixZUHEzQjZCO0VPcDNCN0Isa0JBQWtCO0VBQ2xCLHFCQUFxQjtFQUdyQiw2QlI1eEJtQjtFUTZ4Qm5CLGVBQWU7RUFDZix5Q1IxaEJvQjtFUTBoQnBCLGlDUjFoQm9CLEVBQUE7RVEyaEJwQjtJQUNFLFlQamdCYTtJT2tnQmIsaUNSMW5CbUM7SVEybkJuQyxlUDQyQjBCO0lPMzJCMUIsY2I3c0JhO0lhOHNCYiw4QlJoaUJrQjtJUWdpQmxCLHNCUmhpQmtCLEVBQUE7RVFvaUJoQjtJQUNJLGVBQWU7SUFDZixjYjVzQk87SWE2c0JQLDRCUnhpQlk7SVF3aUJaLG9CUnhpQlksRUFBQTtFUTRpQmhCO0lBQ0UsY2IxdEJTLEVBQUE7RWE4dEJmO0lBQ0UsbUJBQW1CLEVBQUE7SUFDbkI7TUFDRSxjUnB6QlcsRUFBQTs7QVEwekJqQjtFSnhkSSxxQ0FBZ0M7RUF5QjVCLFdJb2M4TDtFSnRibE0sb0JBMUNnWTtFQTBDaFksb0JBMUNnWTtFQTBDaFksYUExQ2dZO0VBNEM1WCx5QkFBbUI7TUFBbkIsc0JBQW1CO1VBQW5CLG1CQUFtQjtFQUNuQix3QkFBdUI7TUFBdkIscUJBQXVCO1VBQXZCLHVCQUF1QjtFQU0zQixrQkFBa0I7RUFDbEIsNENBQWtFO0VBRWxFLGdEQUErQztFQUMvQyxjSnRaYTtFSXVaYix5QlRwVWE7RVNxVWIsaUJIK2M0QjtFRzljNUIsbUJDalY0RDtFRGtWNUQsZ0JUbUVlO0VTbEVmLGtCQUFrQjtFQUNsQixtQkFBbUI7RUFDbkIsZUFBZTtFQUVYLHlCVG9FZ0M7RVNqRWhDLHFCSGdjMkI7RUcvYjNCLGlCSDhid0I7RUczYnhCLHFCVG5WUztFU3VWYixxQkFBcUI7RUFDckIsY0gwYnlCO0VHdmJyQiwyQkFBb0U7RUFFeEUsZ0JBQWdCO0VBQ2hCLDRCSmhMa0I7RUlnTGxCLG9CSmhMa0IsRUFBQTtFRy9GZDtJS3dwQlI7TUpsWVEsV0l1WThMO01KdFk5TCw0Q0FBa0UsRUFBQSxFSXVZdkU7RUpsWUM7SUFDSTtNQUNJLGNKaGNLO01JaWNMLHlCVHRXSztNU3dXRCxxQlR4V0M7TVM0V0wscUJBQXFCO01BQ3JCLDRCSnhNVTtNSXdNVixvQkp4TVUsRUFBQTtNSWdOVjtRQUNJLHlCSmpkQztRSWtkRCx5Q0psTk07UUlrTk4saUNKbE5NLEVBQUEsRUltTlQ7RUFHVDtJQUVJLHlCVHJZUztJU3VZTCxxQlR2WUs7SVMyWVQsNEJKOU5jO0lJOE5kLG9CSjlOYyxFQUFBO0VJcU9sQjtJQUVRLGNWdkp5RDtJVTRKekQseUJKNWVLO0lJaWZMLHNDSi9kcUI7SUltZXpCLG1CQUFtQixFQUFBO0VBT3ZCO0lBRVEsc0NKNWVxQixFQUFBO0VJa2Y3QjtJQUNJLGFBQWE7SUFDYiw0REo1UDZDO1lJNFA3QyxvREo1UDZDLEVBQUE7RUk4UmpEO0lBQ0kseUNKeFNjO0lJd1NkLGlDSnhTYyxFQUFBOztBUWtrQnRCO0VBaERFLFdQczNCNkI7RU9yM0I3QixZUHEzQjZCO0VPcDNCN0Isa0JBQWtCO0VBQ2xCLHFCQUFxQjtFQUdyQiw2QlI1eEJtQjtFUTZ4Qm5CLGVBQWU7RUFDZix5Q1IxaEJvQjtFUTBoQnBCLGlDUjFoQm9CLEVBQUE7RVEyaEJwQjtJQUNFLFlQamdCYTtJT2tnQmIsaUNSMW5CbUM7SVEybkJuQyxlUDQyQjBCO0lPMzJCMUIsY2I3c0JhO0lhOHNCYiw4QlJoaUJrQjtJUWdpQmxCLHNCUmhpQmtCLEVBQUE7RVFvaUJoQjtJQUNJLGVBQWU7SUFDZixjYjVzQk87SWE2c0JQLDRCUnhpQlk7SVF3aUJaLG9CUnhpQlksRUFBQTtFUTRpQmhCO0lBQ0UsY2IxdEJTLEVBQUE7RWE4dEJmO0lBQ0UsbUJBQW1CLEVBQUE7SUFDbkI7TUFDRSxjUnB6QlcsRUFBQTs7QVF1MEJqQjtFSnJlSSxxQ0FBZ0M7RUF5QjVCLFdJOGM4TDtFSmhjbE0sb0JBMUNnWTtFQTBDaFksb0JBMUNnWTtFQTBDaFksYUExQ2dZO0VBNEM1WCx5QkFBbUI7TUFBbkIsc0JBQW1CO1VBQW5CLG1CQUFtQjtFQUNuQix3QkFBdUI7TUFBdkIscUJBQXVCO1VBQXZCLHVCQUF1QjtFQU0zQixrQkFBa0I7RUFDbEIsNENBQWtFO0VBRWxFLGdEQUErQztFQUMvQyxjSnRaYTtFSXVaYix5QlRwVWE7RVNxVWIsaUJIK2M0QjtFRzljNUIsbUJDalY0RDtFRGtWNUQsZ0JUbUVlO0VTbEVmLGtCQUFrQjtFQUNsQixtQkFBbUI7RUFDbkIsZUFBZTtFQUVYLHlCVG9FZ0M7RVNqRWhDLHFCSGdjMkI7RUcvYjNCLGlCSDhid0I7RUczYnhCLHFCVG5WUztFU3VWYixxQkFBcUI7RUFDckIsY0gwYnlCO0VHdmJyQiwyQkFBb0U7RUFFeEUsZ0JBQWdCO0VBQ2hCLDRCSmhMa0I7RUlnTGxCLG9CSmhMa0IsRUFBQTtFRy9GZDtJS3FxQlI7TUovWVEsV0lpWjhMO01KaFo5TCw0Q0FBa0UsRUFBQSxFSWladkU7RUo1WUM7SUFDSTtNQUNJLGNKaGNLO01JaWNMLHlCVHRXSztNU3dXRCxxQlR4V0M7TVM0V0wscUJBQXFCO01BQ3JCLDRCSnhNVTtNSXdNVixvQkp4TVUsRUFBQTtNSWdOVjtRQUNJLHlCSmpkQztRSWtkRCx5Q0psTk07UUlrTk4saUNKbE5NLEVBQUEsRUltTlQ7RUFHVDtJQUVJLHlCVHJZUztJU3VZTCxxQlR2WUs7SVMyWVQsNEJKOU5jO0lJOE5kLG9CSjlOYyxFQUFBO0VJcU9sQjtJQUVRLGNWdkp5RDtJVTRKekQseUJKNWVLO0lJaWZMLHNDSi9kcUI7SUltZXpCLG1CQUFtQixFQUFBO0VBT3ZCO0lBRVEsc0NKNWVxQixFQUFBO0VJa2Y3QjtJQUNJLGFBQWE7SUFDYiw0REo1UDZDO1lJNFA3QyxvREo1UDZDLEVBQUE7RUk4UmpEO0lBQ0kseUNKeFNjO0lJd1NkLGlDSnhTYyxFQUFBOztBUXNrQnRCO0VKcmVJLHFDQUFnQztFQXlCNUIsWUlpZGdOO0VKbmNwTixvQkExQ2dZO0VBMENoWSxvQkExQ2dZO0VBMENoWSxhQTFDZ1k7RUE0QzVYLHlCQUFtQjtNQUFuQixzQkFBbUI7VUFBbkIsbUJBQW1CO0VBQ25CLHdCQUF1QjtNQUF2QixxQkFBdUI7VUFBdkIsdUJBQXVCO0VBTTNCLGtCQUFrQjtFQUNsQiw0Q0FBa0U7RUFFbEUsZ0RBQStDO0VBQy9DLGNUblVhO0VTb1ViLHlCVDhFZ0I7RVM3RWhCLGlCSCtjNEI7RUc5YzVCLHFCQ2pWNEQ7RURrVjVELGdCVG1FZTtFU2xFZixrQkFBa0I7RUFDbEIsbUJBQW1CO0VBQ25CLGVBQWU7RUFFWCx5QlRvRWdDO0VTakVoQyxxQkhnYzJCO0VHL2IzQixpQkg4YndCO0VHM2J4QixxQlR5RVk7RVNyRWhCLHFCQUFxQjtFQUNyQixjSDBieUI7RUd2YnJCLDJCQUFvRTtFQUV4RSxnQkFBZ0I7RUFDaEIsNEJKaExrQjtFSWdMbEIsb0JKaExrQixFQUFBO0VHL0ZkO0lLcXFCUjtNSi9ZUSxZSW9aZ047TUpuWmhOLDRDQUFrRSxFQUFBLEVJb1p2RTtFSi9ZQztJQUNJO01BQ0ksY0poY0s7TUlpY0wseUJUdFdLO01Td1dELHFCVHhXQztNUzRXTCxxQkFBcUI7TUFDckIsNEJKeE1VO01Jd01WLG9CSnhNVSxFQUFBO01JZ05WO1FBQ0kseUJKamRDO1FJa2RELHlDSmxOTTtRSWtOTixpQ0psTk0sRUFBQSxFSW1OVDtFQUdUO0lBQ0ksY0p2ZFM7SUl3ZFQseUJUcllTO0lTdVlMLHFCVHZZSztJUzJZVCw0Qko5TmM7SUk4TmQsb0JKOU5jLEVBQUE7RUlxT2xCO0lBSVEsY1Z6SnlEO0lVOEp6RCx5Qko5ZUs7SUltZkwsc0NKamVxQjtJSW1lekIsbUJBQW1CLEVBQUE7RUFPdkI7SUFJUSxzQ0o5ZXFCLEVBQUE7RUlrZjdCO0lBQ0ksYUFBYTtJQUNiLDRESjVQNkM7WUk0UDdDLG9ESjVQNkMsRUFBQTtFSThSakQ7SUFDSSx5Q0p4U2M7SUl3U2QsaUNKeFNjLEVBQUE7O0FRK2tCdEI7RUFFSSx5QkFBeUI7RUFDekIsOEJSbGxCa0I7RVFrbEJsQixzQlJsbEJrQixFQUFBOztBUStrQnRCO0VBTUksV0FBVztFQUNYLFdBQVc7RUFDWCxZQUFZO0VBQ1osa0JBQWtCO0VBQ2xCLFVBQVU7RUFDVixRQUFRO0VBQ1IsT0FBTztFQUNQLFlBQVk7RUFDWixtQkFBbUI7RUFDbkIseUJicHdCYTtFYXF3QmIsdUNBQStCO1VBQS9CLCtCQUErQjtFQUMvQixxQ0FBNkI7VUFBN0IsNkJBQTZCO0VBQzdCLFdBQVc7RUFDWCxVQUFVLEVBQUE7O0FBSWQ7RUFDRTtJQUNFLFVBQVU7SUFDVixZQUFZLEVBQUE7RUFFZDtJQUNFLFVBQVU7SUFDVixZQUFZLEVBQUE7RUFFZDtJQUNFLFVBQVU7SUFDVixZQUFZLEVBQUE7RUFFZDtJQUNFLFNBQVM7SUFDVCxZQUFZLEVBQUE7RUFFZDtJQUNFLFFBQVE7SUFDUixtQkFBbUI7SUFDbkIsVUFBVSxFQUFBO0VBRVo7SUFDRSxTQUFTO0lBQ1Qsa0JBQWtCO0lBQ2xCLFVBQVUsRUFBQTtFQUVaO0lBQ0UsV0FBVztJQUNYLFlBQVk7SUFDWixTQUFTO0lBQ1QsZ0JBQWdCO0lBQ2hCLFVBQVUsRUFBQSxFQUFBOztBQWhDZDtFQUNFO0lBQ0UsVUFBVTtJQUNWLFlBQVksRUFBQTtFQUVkO0lBQ0UsVUFBVTtJQUNWLFlBQVksRUFBQTtFQUVkO0lBQ0UsVUFBVTtJQUNWLFlBQVksRUFBQTtFQUVkO0lBQ0UsU0FBUztJQUNULFlBQVksRUFBQTtFQUVkO0lBQ0UsUUFBUTtJQUNSLG1CQUFtQjtJQUNuQixVQUFVLEVBQUE7RUFFWjtJQUNFLFNBQVM7SUFDVCxrQkFBa0I7SUFDbEIsVUFBVSxFQUFBO0VBRVo7SUFDRSxXQUFXO0lBQ1gsWUFBWTtJQUNaLFNBQVM7SUFDVCxnQkFBZ0I7SUFDaEIsVUFBVSxFQUFBLEVBQUE7O0FBTWQ7RUozaUJJLHFDQUFnQztFQXVCNUIsV0lzaEJ1TjtFSnZnQjNOLFlIbVB3QjtFR2xQeEIsb0JBMUNnWTtFQTBDaFksb0JBMUNnWTtFQTBDaFksYUExQ2dZO0VBNEM1WCx5QkFBbUI7TUFBbkIsc0JBQW1CO1VBQW5CLG1CQUFtQjtFQUNuQix3QkFBdUI7TUFBdkIscUJBQXVCO1VBQXZCLHVCQUF1QjtFQU0zQixrQkFBa0I7RUFDbEIsNENBQWtFO0VBRWxFLGdEQUErQztFQUMvQyxjVG5VYTtFU29VYix5QlQ4RWdCO0VTN0VoQixpQkgrYzRCO0VHOWM1QixtQkNqVjREO0VEa1Y1RCxnQlRtRWU7RVNsRWYsa0JBQWtCO0VBQ2xCLG1CQUFtQjtFQUNuQixlQUFlO0VBRVgseUJUb0VnQztFU2pFaEMscUJIZ2MyQjtFRy9iM0IsaUJIOGJ3QjtFRzNieEIscUJUeUVZO0VTckVoQixxQkFBcUI7RUFDckIsY0gwYnlCO0VHdmJyQiwyQkFBb0U7RUFFeEUsZ0JBQWdCO0VBQ2hCLDRCSmhMa0I7RUlnTGxCLG9CSmhMa0IsRUFBQTtFRy9GZDtJSzJ1QlI7TUpyZFEsV0l1ZG9PO01KdGRwTyw0Q0FBa0UsRUFBQSxFSXVkdkU7RUpsZEM7SUFDSTtNQUNJLGNKaGNLO01JaWNMLHlCVHRXSztNU3dXRCxxQlR4V0M7TVM0V0wscUJBQXFCO01BQ3JCLDRCSnhNVTtNSXdNVixvQkp4TVUsRUFBQTtNSWdOVjtRQUNJLHlCSmpkQztRSWtkRCx5Q0psTk07UUlrTk4saUNKbE5NLEVBQUEsRUltTlQ7RUFHVDtJQUNJLGNKdmRTO0lJd2RULHlCVHJZUztJU3VZTCxxQlR2WUs7SVMyWVQsNEJKOU5jO0lJOE5kLG9CSjlOYyxFQUFBO0VJcU9sQjtJQUlRLGNWekp5RDtJVThKekQseUJKOWVLO0lJbWZMLHNDSmplcUI7SUltZXpCLG1CQUFtQixFQUFBO0VBT3ZCO0lBSVEsc0NKOWVxQixFQUFBO0VJa2Y3QjtJQUNJLGFBQWE7SUFDYiw0REo1UDZDO1lJNFA3QyxvREo1UDZDLEVBQUE7RUk4UmpEO0lBQ0kseUNKeFNjO0lJd1NkLGlDSnhTYyxFQUFBOztBUW1wQnRCO0VKbGpCSSxxQ0FBZ0M7RUF1QjVCLFdJNmhCeU87RUo5Z0I3TyxZSG1Qd0I7RUdsUHhCLG9CQTFDZ1k7RUEwQ2hZLG9CQTFDZ1k7RUEwQ2hZLGFBMUNnWTtFQTRDNVgseUJBQW1CO01BQW5CLHNCQUFtQjtVQUFuQixtQkFBbUI7RUFDbkIsd0JBQXVCO01BQXZCLHFCQUF1QjtVQUF2Qix1QkFBdUI7RUFNM0Isa0JBQWtCO0VBQ2xCLDRDQUFrRTtFQUVsRSxnREFBK0M7RUFDL0MsY0p0WmE7RUl1WmIseUJUNVRhO0VTNlRiLGlCSCtjNEI7RUc5YzVCLG1CQ2pWNEQ7RURrVjVELGdCVG1FZTtFU2xFZixrQkFBa0I7RUFDbEIsbUJBQW1CO0VBQ25CLGVBQWU7RUFFWCx5QlRvRWdDO0VTakVoQyxxQkhnYzJCO0VHL2IzQixpQkg4YndCO0VHM2J4QixxQlQzVVM7RVMrVWIscUJBQXFCO0VBQ3JCLGNIMGJ5QjtFR3ZickIsMkJBQW9FO0VBRXhFLGdCQUFnQjtFQUNoQiw0QkpoTGtCO0VJZ0xsQixvQkpoTGtCLEVBQUE7RUcvRmQ7SUtrdkJSO01KNWRRLFdJOGRzUDtNSjdkdFAsNENBQWtFLEVBQUEsRUk4ZHZFO0VKemRDO0lBQ0k7TUFDSSxjSmhjSztNSWljTCx5QlQ5V0s7TVNnWEQscUJUaFhDO01Tb1hMLHFCQUFxQjtNQUNyQiw0Qkp4TVU7TUl3TVYsb0JKeE1VLEVBQUE7TUlnTlY7UUFDSSx5QkpqZEM7UUlrZEQseUNKbE5NO1FJa05OLGlDSmxOTSxFQUFBLEVJbU5UO0VBR1Q7SUFDSSxjSnZkUztJSXdkVCx5QlQ3WFM7SVMrWEwscUJUL1hLO0lTbVlULDRCSjlOYztJSThOZCxvQko5TmMsRUFBQTtFSXFPbEI7SUFJUSxjVnpKeUQ7SVU4SnpELHlCSjllSztJSW1mTCxzQ0pqZXFCO0lJbWV6QixtQkFBbUIsRUFBQTtFQU92QjtJQUlRLHNDSjllcUIsRUFBQTtFSWtmN0I7SUFDSSxhQUFhO0lBQ2IsNERKNVA2QztZSTRQN0Msb0RKNVA2QyxFQUFBO0VJOFJqRDtJQUNJLHlDSnhTYztJSXdTZCxpQ0p4U2MsRUFBQTs7QVEwcEJ0QjtFQUNFLG9CQUFhO0VBQWIsb0JBQWE7RUFBYixhQUFhLEVBQUE7RUFEZjtJSnpqQkkscUNBQWdDO0lBdUI1QixXSXFpQitNO0lKdGhCbk4sWUhtUHdCO0lHbFB4QixvQkExQ2dZO0lBMENoWSxvQkExQ2dZO0lBMENoWSxhQTFDZ1k7SUE0QzVYLHlCQUFtQjtRQUFuQixzQkFBbUI7WUFBbkIsbUJBQW1CO0lBQ25CLHdCQUF1QjtRQUF2QixxQkFBdUI7WUFBdkIsdUJBQXVCO0lBTTNCLGtCQUFrQjtJQUNsQiw0Q0FBa0U7SUFFbEUsZ0RBQStDO0lBQy9DLGNUblVhO0lTb1ViLHlCVDhFZ0I7SVM3RWhCLGlCSCtjNEI7SUc5YzVCLG1CQ2pWNEQ7SURrVjVELGdCVG1FZTtJU2xFZixrQkFBa0I7SUFDbEIsbUJBQW1CO0lBQ25CLGVBQWU7SUFFWCx5QlRvRWdDO0lTakVoQyxxQkhnYzJCO0lHL2IzQixpQkg4YndCO0lHM2J4QixxQlR5RVk7SVNyRWhCLHFCQUFxQjtJQUNyQixjSDBieUI7SUd2YnJCLDJCQUFvRTtJQUV4RSxnQkFBZ0I7SUFDaEIsNEJKaExrQjtJSWdMbEIsb0JKaExrQjtJUThwQmxCLG1CQUFZO1FBQVosb0JBQVk7WUFBWixZQUFZLEVBQUE7SUw3dkJSO01LeXZCUjtRSm5lUSxXSXNlNE47UUpyZTVOLDRDQUFrRSxFQUFBLEVJdWV2RTtJSmxlQztNQUNJO1FBQ0ksY0poY0s7UUlpY0wseUJUdFdLO1FTd1dELHFCVHhXQztRUzRXTCxxQkFBcUI7UUFDckIsNEJKeE1VO1FJd01WLG9CSnhNVSxFQUFBO1FJZ05WO1VBQ0kseUJKamRDO1VJa2RELHlDSmxOTTtVSWtOTixpQ0psTk0sRUFBQSxFSW1OVDtJQUdUO01BQ0ksY0p2ZFM7TUl3ZFQseUJUcllTO01TdVlMLHFCVHZZSztNUzJZVCw0Qko5TmM7TUk4TmQsb0JKOU5jLEVBQUE7SUlxT2xCO01BSVEsY1Z6SnlEO01VOEp6RCx5Qko5ZUs7TUltZkwsc0NKamVxQjtNSW1lekIsbUJBQW1CLEVBQUE7SUFPdkI7TUFJUSxzQ0o5ZXFCLEVBQUE7SUlrZjdCO01BQ0ksYUFBYTtNQUNiLDRESjVQNkM7Y0k0UDdDLG9ESjVQNkMsRUFBQTtJSThSakQ7TUFDSSx5Q0p4U2M7TUl3U2QsaUNKeFNjLEVBQUE7O0FRb3FCdEI7RUFJTSxjZHpsQitEO0VjMGxCL0QsWVA2dEJzQjtFTzV0QnRCLG1CQUFtQixFQUFBO0VBTnpCO0lBUVEsbUNSeHdCbUM7SVF5d0JuQyxjZDlsQjZELEVBQUE7O0FjcWxCckU7RUFhTSxZUG5vQmtCO0VPb29CbEIsY2J4MUJXO0VheTFCWCxlUHV0QndCO0VPdHRCeEIsbUNSaHhCcUM7RVFpeEJy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QVk7VUFBWixZQUFZO0VBQ1osV0FBVztFQUNYLG1CQUFtQjtFQUVuQixpQkFBaUI7RUFNYixzQmQ1d0RlO0VjK3dEbkIsU0FBUztFQUNULHFDUnBoRG9CO0VRb2hEcEIsNkJScGhEb0IsRUFBQTtFR3BHZDtJS3VtRFI7TUF1QkksV0FBVztNQUNYLDJCUGhFcUMsRUFBQSxFT3VKeEM7RUEvR0Q7SUEyQkkscUJSeHFEVTtJUXlxRFYseUJkaDlDaUU7SWNpOUNqRSxVQUFVLEVBQUE7SUE3QmQ7TUErQlEsY1I1cURNLEVBQUE7SVE2b0RkO01Ba0NRLGNSdHlEUztNUXV5RFQsOEJSdmlEYztNUXVpRGQsc0JSdmlEYyxFQUFBO0VRb2dEdEI7SUF1Q0ksV0FBVztJQUVYLFlQbHJDd0I7SU9vckN0QixlUGpIWTtJT21IZCxjUGhIMEI7SU9pSDFCLHlCUmx6RGE7SVFtekRiLG1CQUFtQjtJQUNuQixxQlJseUQ2QjtJUW95RDdCLGlCQUFpQjtJQUNqQiwwQmJwdURhO0lhcXVEYixlQUFlO0lBV1gsc0JBQTBHO0lBRzlHLHlDUnJrRGtCO0lRcWtEbEIsaUNScmtEa0IsRUFBQTtJR3BHZDtNS3VtRFI7UUFvRU0sMEJBQWtCO1FBQWxCLHVCQUFrQjtRQUFsQixrQkFBa0I7UUFDbEIsU1AxSU87UU8ySVAsMkJQNUgrQixFQUFBLEVPb0tsQztJQTlHSDtNQTBFUSxZUDNnREU7TU80Z0RGLFdQbkowQjtNT29KMUIsY0FBYztNQUNkLFlBQVk7TUFDWixpQ1I5cUQrQjtNUStxRC9CLGVBQWU7TUFDZiwwQmJqd0RTO01ha3dEVCw4QlJwbERjO01Rb2xEZCxzQlJwbERjLEVBQUE7SVFtZ0R0QjtNQXNGUSxjUjExRFM7TVEyMURULHFCUnowRHlCO01RMDBEekIscUNiendEUztNYTB3RFQseUNSN2xEYztNUTZsRGQsaUNSN2xEYyxFQUFBO01Rb2dEdEI7UUE0RlksY1JoMkRLLEVBQUE7SVFvd0RqQjtNQW1HTSxjUnYyRFc7TVF3MkRYLHFCUnQxRDJCO01RdTFEM0IseUJiOXdEVztNYSt3RFgseUNSMW1EZ0I7TVEwbURoQixpQ1Ix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RUoxbERoQixXQUFXO0VBQ1gseUJWbFZpRTtFVW1WakUsa0JBQWtCLEVBQUE7RUFDbEI7SUFDQSxnQkFBZ0I7SUFDaEIsaUJBQWlCO0lBQ2pCLGNKaGpCVSxFQUFBO0VJa2pCVjtJQUNJLFNBQVM7SUFDVCxpQkFBaUI7SUFzWnJCLGdCQUFnQjtJQUNoQixpQkFBaUIsRUFBQTtJQUNqQjtNQUNJLGtCQUFrQjtNQUNsQixtQkFBbUIsRUFBQTtNQUNuQjtRQUNJLFdBQVc7UUFDWCxVSHg1Qks7UUd5NUJMLFdIejVCSztRRzA1Qkwsa0JBQWtCO1FBQ2xCLFNBQVM7UUFFVCxPQUFPO1FBQ1AsWUFBWTtRQUNaLGNBQWM7UUFDZCx5QlQ3L0JLO1FTOC9CTCxrQkpyMUJPLEVBQUE7SUl1MEJmO01BclpRLGNKdmpCRTtNSXdqQkYsZ0JUeE5pQjtNU3lOakIsZUN4bUJvRCxFQUFBO0VEMm1CNUQ7SUFDSSxjSjdqQk07SUk4akJOLGdCVDlOcUI7SVMrTnJCLGVDOW1Cd0QsRUFBQTtFRGduQjVEO0lBQ0ksMEJBQTBCLEVBQUE7O0FJdWtEbEM7RUFFSSx5QmRsN0RpRTtFY203RGpFLHFCUjVvRVU7RVE2b0VWLDREUnBnRWtCO0VRb2dFbEIsb0RScGdFa0IsRUFBQTtFUWdnRXRCO0lBTU0scUJScHZFMkIsRUFBQTtFUTh1RWpDO0lBU00sY1JscEVRO0lRbXBFUiw4QlIxZ0VnQjtJUTBnRWhCLHNCUjFnRWdCLEVBQUE7RVFnZ0V0QjtJQVNNLGNSbHBFUTtJUW1wRVIsMkJSMWdFZ0I7SVEwZ0VoQixzQlIxZ0VnQixFQUFBO0VRZ2dFdEI7SUFTTSxjUmxwRVE7SVFtcEVSLDBCUjFnRWdCO0lRMGdFaEIsc0JSMWdFZ0IsRUFBQTtFUWdnRXRCO0lBU00sY1JscEVRO0lRbXBFUiwwQlIxZ0VnQjtJUTBnRWhCLHNCUjFnRWdCLEVBQUE7RVFnZ0V0QjtJQVNNLGNSbHBFUTtJUW1wRVIsOEJSMWdFZ0I7SVEwZ0VoQixzQlIxZ0VnQixFQUFBO0VRZ2dFdEI7SUFhTSx5QmQ3N0QrRDtJYzg3RC9ELHFCUnZwRVE7SVF3cEVSLGNSeHBFUSxFQUFBO0lReW9FZDtNQWlCUSxjUjFwRU0sRUFBQTtFUXlvRWQ7SUFxQk0seUJkcjhEK0Q7SWNzOEQvRCx5QlIvcEVRO0lRZ3FFUixxQ1J2aEVnQjtJUXVoRWhCLDZCUnZoRWdCLEVBQUE7O0FRNmhFdEI7RUFDRTtJQUNFLGtDQUFrQyxFQUFBO0VBR3BDO0lBQ0UsbUNBQW1DLEVBQUE7RUFHckM7SUFDRSxpQ0FBaUMsRUFBQTtFQUduQztJQUNFLGtDQUFrQyxFQUFBO0VBR3BDO0lBQ0UsaUNBQWlDLEVBQUE7RUFHbkM7SUFDRSxpQ0FBaUMsRUFBQSxFQUFBOztBQXRCckM7RUFDRTtJQUNFLGtDQUFrQyxFQUFBO0VBR3BDO0lBQ0UsbUNBQW1DLEVBQUE7RUFHckM7SUFDRSxpQ0FBaUMsRUFBQTtFQUduQztJQUNFLGtDQUFrQyxFQUFBO0VBR3BDO0lBQ0UsaUNBQWlDLEVBQUE7RUFHbkM7SUFDRSxpQ0FBaUMsRUFBQSxFQUFBOztBQUdyQztFQUNFLFdBQVc7RUFDWCxjUnJ6RWU7RVFzekVmLGdCUGp1RDJCLEVBQUE7O0FPb3VEN0I7RUFJUSxjYjd1RVMsRUFBQTs7QWF5dUVqQjtFQU9RLGNieHVFUyxFQUFBOztBYWl1RWpCO0VBWUksY1JyMEVhO0VRczBFYixnQlBqdkR5QixFQUFBOztBT291RDdCO0VBa0JNLGtCQUFrQjtFQUlsQixZUHZ0RHNCLEVBQUE7RUU5ZHBCO0lLK3BFUjtNQXdCUSxXQUFXO01BQ1gsbUJBQVk7VUFBWixvQkFBWTtjQUFaLFlBQVksRUFBQSxFQUVmOztBQTNCTDtFQWlDTSxxQlJ0dUVRLEVBQUE7O0FRcXNFZDtFQW9DTSxxQlI5MEUyQixFQUFBOztBUTB5RWpDO0VBdUNNLHFCUmoxRTJCO0VRazFFM0IseUJScDJFVyxFQUFBOztBUTIyRWpCLDBDQUFBO0FBSUEsK0JBQUE7QUFPQTtFQUNFLFdBQVcsRUFBQTs7QUFVYjtFQUNFLGFBQWE7RUFDYixjUjV3RVksRUFBQTtFUTB3RWQ7SUFJTSxjQUFjLEVBQUE7O0FBSXBCO0VBQ0UsV0FBVztFQUNYLGtCQUFrQixFQUFBO0VMOXVFWjtJSzR1RVI7TUFJTSxZQUFZO01BQ1osa0JBQWtCLEVBQUEsRUFjdkI7RUwxdkVPO0lLdXVFUjtNQVNNLFlQdnhEc0IsRUFBQSxFT3l4RHpCO0VBWEg7SUFhSSx5QmJuMEVhO0lhbzBFYixjUnY1RWEsRUFBQTtFUXk0RWpCO0lBaUJJLG1CQUFtQixFQUFBOztBQUl2QjtFSjVqRUkscUNBQWdDO0VBdUI1QixXSXVpRW9RO0VKdmhFeFEsb0JBMUNnWTtFQTBDaFksb0JBMUNnWTtFQTBDaFksYUExQ2dZO0VBNEM1WCx5QkFBbUI7TUFBbkIsc0JBQW1CO1VBQW5CLG1CQUFtQjtFQUNuQix3QkFBdUI7TUFBdkIscUJBQXVCO1VBQXZCLHVCQUF1QjtFQU0zQixrQkFBa0I7RUFDbEIsbURBQWtFO0VBRWxFLGdEQUErQztFQUMvQyxjSm5aYTtFSW9aYix5Qkp2WmE7RUl3WmIsaUJIK2M0QjtFRzljNUIsb0JDalY0RDtFRGtWNUQsZ0JUMEQrQjtFU3pEL0Isa0JBQWtCO0VBQ2xCLG1CQUFtQjtFQUNuQixlQUFlO0VBRVgseUJUb0VnQztFU2pFaEMscUJIZ2MyQjtFRy9iM0IsaUJIOGJ3QjtFRzNieEIscUJUclZXO0VTeVZmLHFCQUFxQjtFQUNyQixjSDBieUI7RUd2YnJCLDJCQUFvRTtFQUV4RSxnQkFBZ0I7RUFDaEIsNEJKaExrQjtFSWdMbEIsb0JKaExrQixFQUFBO0VHcEdkO0lLaXdFUjtNSjErRFksc0RBQW9FLEVBQUEsRUk2K0QvRTtFTC92RU87SUs0dkVSO01KdCtEUSxXSXcrRGdQO01KditEaFAscURBQWtFLEVBQUEsRUl3K0R6RTtFSm4rREc7SUFDSTtNQUNJLGNKaGNLO01JaWNMLHlCVHRXSztNU3dXRCxxQlR4V0M7TVM0V0wscUJBQXFCO01BQ3JCLDRCSnhNVTtNSXdNVixvQkp4TVUsRUFBQTtNSWdOVjtRQUNJLHlCSmpkQztRSWtkRCx5Q0psTk07UUlrTk4saUNKbE5NLEVBQUEsRUltTlQ7RUFHVDtJQUNJLGNKdmRTO0lJd2RULHlCVHJZUztJU3lZTCxxQlR6WUs7SVMyWVQsNEJKOU5jO0lJOE5k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bEIsbUJBQW1CO1FBQ25CLGVBQWU7UUFFWCx5QlRvRWdDO1FTakVoQyxxQkhrY3lFO1FHamN6RSxpQkg4YndCO1FHM2J4QixxQko3WndCO1FJaWE1QixxQkFBcUI7UUFDckIsY0gwYnlCO1FHdmJyQiwyQkFBb0U7UUFFeEUsZ0JBQWdCO1FBQ2hCLDRCSmhMa0I7UUlnTGxCLG9CSmhMa0IsRUFBQTtRR3BHZDtVUWtKUjtZUHFJWSxrREFBb0UsRUFBQSxFT3JGL0Q7UVI3TFQ7VVE2SVI7WVB5SVEsWU8xRndNO1lQMkZ4TSxtREFBa0UsRUFBQSxFTzFGekQ7UVArRmI7VUFDSTtZQUNJLGNKaGNLO1lJaWNMLHlCSnRWRTtZSXdWRSxxQkp4VkY7WUk0VkYscUJBQXFCO1lBQ3JCLDRCSnhNVTtZSXdNVixvQkp4TVUsRUFBQTtZSWdOVjtjQUNJLHlCSmpkQztjSWtkRCx5Q0psTk07Y0lrTk4saUNKbE5NLEVBQUEsRUltTlQ7UUFHVDtVQUVJLHlCVGFZO1VTVFIscUJUU1E7VVNQWiw0Qko5TmM7VUk4TmQsb0JKOU5jLEVBQUE7UUlxT2xCO1VBSVEsY1Z6SnlEO1VVOEp6RCx5Qko5ZUs7VUltZkwsc0NKamVxQjtVSW1lekIsbUJBQW1CLEVBQUE7UUFPdkI7VUFJUSxzQ0o5ZXFCLEVBQUE7UUlrZjdCO1VBQ0ksYUFBYTtVQUNiLDRESjVQNkM7a0JJNFA3QyxvREo1UDZDLEVBQUE7UUk4UmpEO1VBQ0kseUNKeFNjO1VJd1NkLGlDSnhTYyxFQUFBO01XOEN0QjtRUG1ESSxxQ0FBZ0M7UUF5QjVCLFlPMUJvTDtRUHdDeEwsb0JBMUNnWTtRQTBDaFksb0JBMUNnWTtRQTBDaFksYUExQ2dZO1FBNEM1WCx5QkFBbUI7WUFBbkIsc0JBQW1CO2dCQUFuQixtQkFBbUI7UUFDbkIsd0JBQXVCO1lBQXZCLHFCQUF1QjtnQkFBdkIsdUJBQXVCO1FBTTNCLGtCQUFrQjtRQUNsQixpREFBa0U7UUFFbEUsZ0RBQStDO1FBQy9DLGNKL1JVO1FJZ1NWLHlCVnZFaUU7UVV3RWpFLGlCSCtjNEI7UUc5YzVCLG9CQ2pWNEQ7UURrVjVELGdCT3pEeUs7UVAwRHpLLGtCQUFrQjtRQUNsQixtQkFBbUI7UUFDbkIsZUFBZTtRQUVYLHlCVG9FZ0M7UVNqRWhDLHFCSGtjeUU7UUdqY3pFLGlCSDhid0I7UUczYnhCLHFCSjdad0I7UUlpYTVCLHFCQUFxQjtRQUNyQixjSDBieUI7UUd2YnJCLDJCQUFvRTtRQUV4RSxnQkFBZ0I7UUFDaEIsNEJKaExrQjtRSWdMbEIsb0JKaExrQixFQUFBO1FHcEdkO1VRa0pSO1lQcUlZLGtEQUFvRSxFQUFBLEVPbEYvRDtRUmhNVDtVUTZJUjtZUHlJUSxZT3ZGb0w7WVB3RnBMLG1EQUFrRSxFQUFBLEVPdkZ6RDtRUDRGYjtVQUNJO1lBQ0ksY0poY0s7WUlpY0wseUJKMVVFO1lJNFVFLHFCSjVVRjtZSWdWRixxQkFBcUI7WUFDckIsNEJKeE1VO1lJd01WLG9CSnhNVSxFQUFBO1lJZ05WO2NBQ0kseUJKamRDO2NJa2RELHlDSmxOTTtjSWtOTixpQ0psTk0sRUFBQSxFSW1OVDtRQUdUO1VBQ0ksY0p2ZFM7VUl3ZFQseUJUYVk7VVNUUixxQlRTUTtVU1BaLDRCSjlOYztVSThOZCxvQko5TmMsRUFBQTtRSXFPbEI7VUFJUSxjVnpKeUQ7VVU4SnpELHlCSjllSztVSW1mTCxzQ0pqZXFCO1VJbWV6QixtQkFBbUIsRUFBQTtRQU92QjtVQUlRLHNDSjllcUIsRUFBQTtRSWtmN0I7VUFDSSxhQUFhO1VBQ2IsNERKNVA2QztrQkk0UDdDLG9ESjVQNkMsRUFBQTtRSThSakQ7VUFDSSx5Q0p4U2M7VUl3U2QsaUNKeFNjLEVBQUE7SVc4Q3RCO01QbURJLHFDQUFnQztNQXlCNUIsWU9yQnlKO01QbUM3SixvQkExQ2dZO01BMENoWSxvQkExQ2dZO01BMENoWSxhQTFDZ1k7TUE0QzVYLHlCQUFtQjtVQUFuQixzQkFBbUI7Y0FBbkIsbUJBQW1CO01BQ25CLHdCQUF1QjtVQUF2QixxQkFBdUI7Y0FBdkIsdUJBQXVCO01BTTNCLGtCQUFrQjtNQUNsQix3REFBa0U7TUFFbEUsZ0RBQStDO01BQy9DLGNUblVhO01Tb1ViLHlCSnZaYTtNSXdaYixpQkgrYzRCO01HOWM1QixvQkNqVjREO01Ea1Y1RCxnQk9wRDhJO01QcUQ5SSxrQkFBa0I7TUFDbEIsbUJBQW1CO01BQ25CLGVBQWU7TUFFWCx5QlRvRWdDO01TakVoQyxxQkhrY3lFO01HamN6RSxpQkg4YndCO01HM2J4QixxQko3WndCO01JaWE1QixxQkFBcUI7TUFDckIsY0gwYnlCO01HdmJyQiwyQkFBb0U7TUFFeEUsZ0JBQWdCO01BQ2hCLDRCSmhMa0I7TUlnTGxCLG9CSmhMa0IsRUFBQTtNRy9GZDtRUTZJUjtVUHlJUSxZT2xGeUo7VVBtRnpKLHNEQUFrRSxFQUFBLEVPbEY3RDtNUHVGVDtRQUNJO1VBQ0ksY0poY0s7VUlpY0wseUJKeGJvQjtVSTBiaEIscUJKaGNDO1VJb2NMLHFCQUFxQjtVQUNyQiw0Qkp4TVU7VUl3TVYsb0JKeE1VLEVBQUE7VUlnTlY7WUFDSSx5QkpqZEM7WUlrZEQseUNKbE5NO1lJa05OLGlDSmxOTSxFQUFBLEVJbU5UO01BR1Q7UUFDSSxjSnZkUztRSXdkVCx5QlRyWVM7UVN5WUwscUJUellLO1FTMllULDRCSjlOYztRSThOZCxvQko5TmMsRUFBQTtNSXFPbEI7UUFJUSxjVnpKeUQ7UVU4SnpELHlCSjllSztRSW1mTCxzQ0pqZXFCO1FJbWV6QixtQkFBbUIsRUFBQTtNQU92QjtRQUlRLHNDSjllcUIsRUFBQTtNSWtmN0I7UUFDSSxhQUFhO1FBQ2IsNERKNVA2QztnQkk0UDdDLG9ESjVQNkMsRUFBQTtNSThSakQ7UUFDSSx5Q0p4U2M7UUl3U2QsaUNKeFNjLEVBQUE7O0FXOEN0QjtFUHlTSSxvQkFBYTtFQUFiLG9CQUFhO0VBQWIsYUFBYTtFQUNiLHdCQUF1QjtNQUF2QixxQkFBdUI7VUFBdkIsdUJBQXVCO0VBQ3ZCLHlCQUFtQjtNQUFuQixzQkFBbUI7VUFBbkIsbUJBQW1CLEVBQUE7RUFDbkI7SUFDSSxZSDlSVTtJRytSVixpQ0p6YitCO0lJMGIvQixlSDROUTtJRzFOSixjSjdsQks7SUlpbUJULHNESm5XYztJSW1XZCw4Q0puV2M7SUltV2Qsc0NKbldjO0lJbVdkLDhE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b0IsY1o5d0NILEVBQUE7RVlrdUNqQjtJQWlEb0IsY1pueENILEVBQUE7RVlrdUNqQjtJQW9Eb0IsY1p0eENILEVBQUE7O0FZa3VDakI7RUE0RG9CLFlYamdDQTtFV2tnQ0EsdUJaN2tDYztFWThrQ2QsY1ovcUNOLEVBQUE7O0FZaW5DZDtFQW1FWSx5QmxCcjlCeUQ7RWtCczlCekQsY1pyckNFO0VZc3JDRix5Qlp0ckNFLEVBQUE7O0FZaW5DZDtFQXdFWSxnQlgyckRpQztFVzFyRGpDLGNaMXJDRSxFQUFBOztBWWluQ2Q7RUE4RVkseUJsQmgrQnlELEVBQUE7RWtCazVCckU7SUFnRmdCLFlYcGhDRTtJV3FoQ0YsdUJaam1Da0I7SVlrbUNsQix5Qlo3ckNGO0lZK3JDTSxjWnR6Q0gsRUFBQTtFWWt1Q2pCO0lBeUZvQixjWjN6Q0g7SVk0ekNHLGdCWHlxRHlCLEVBQUE7RVdud0Q3QztJQTZGb0IsY1ovekNILEVBQUE7RVlrdUNqQjtJQWtHb0IsY2pCenVDSCxFQUFBO0VpQnVvQ2pCO0lBcUdvQixjakI1dUNILEVBQUE7O0FpQnVvQ2pCO0VBNEdvQixZWGhqQ0Y7RVdpakNFLHVCWjduQ2M7RVk4bkNkLGNaenRDTixFQUFBOztBWTJtQ2Q7RUFtSFkseUJsQnJnQ3lEO0VrQnNnQ3pELGNaL3RDRTtFWWd1Q0YseUJaaHVDRSxFQUFBOztBWTJtQ2Q7RUF3SFksZ0JYMm9EaUM7RVcxb0RqQyxjWnB1Q0UsRUFBQTs7QVkybUNkO0VBOEhRLFdBQVc7RUFDWCxlQUFlO0VBQ2YsZUFBZTtFQUNmLE1BQU07RUFDTixPQUFPO0VBQ1AsZ0JBQWdCO0VBQ2hCLGFBQWE7RUFDYixtQ1p0bUNjO0VZc21DZCwyQlp0bUNjLEVBQUE7RUcvRmQ7SVNna0NSO01BdUlZLFlBQVk7TUFDWixVQUFVLEVBQUEsRUErRGpCO0VBdk1MO0lBNElnQixzQmxCejJDSztJa0IyMkNULHlCWmgzQ0s7SVlpM0NMLHlEWnptQ3NDO1lZeW1DdEMsaURaem1Dc0M7SUl1K0Y5Qyw0REpyK0ZpRDtZSXErRmpELG9ESnIrRmlEO0lJMCtGakQsNEJUanFHYTtJU2txR2IsdUJBQW1EO0lBQ25ELG1CQUFtQixFQUFBO0VRcGhFdkI7SUFtSlksV0FBVztJQUNYLFlBQVk7SUFDWixvQkFBYTtJQUFiLG9CQUFhO0lBQWIsYUFBYTtJQUNiLDRCQUFzQjtJQUF0Qiw2QkFBc0I7UUFBdEIsMEJBQXNCO1lBQXRCLHNCQUFzQjtJQUN0Qix3QkFBdUI7UUFBdkIscUJBQXVCO1lBQXZCLHVCQUF1QjtJQUN2Qix5QkFBbUI7UUFBbkIsc0JBQW1CO1lBQW5CLG1CQUFtQjtJQUNuQixpQkFBaUIsRUFBQTtJQXpKN0I7TUE4SjRCLGNqQnJ5Q1g7TWlCc3lDVyw4Qlpqb0NOO01ZaW9DTSxzQlpqb0NOLEVBQUE7SVlrK0J0QjtNQW9Lb0IsY2pCM3lDSDtNaUI0eUNHLDhCWnZvQ0U7TVl1b0NGLHNCWnZvQ0UsRUFBQTtJWWsrQnRCO01BNEs0QixjakIzekNYLEVBQUE7SWlCK29DakI7TUFpTG9CLGNqQmgwQ0gsRUFBQTtJaUIrb0NqQjtNQXNMb0Isa0JBQWtCLEVBQUE7TUF0THRDO1FBd0x3QixZWDluQ1A7UVcrbkNPLGlDWnZ2Q2U7UVl3dkNmLGVBQWU7UUFDZixjakIxMENQLEVBQUE7SWlCK29DakI7TUFpTWdCLG9CQUFvQjtNQUNwQixvQlA1MUNnRDtNTzYxQ2hELGdCQUFnQjtNQUNoQixrQkFBa0IsRUFBQTs7QVRwd0MxQjtFU2drQ1I7SVJvcEVJLFlIaGtDbUM7SUdpa0NuQyxrQkFBa0I7SUFDbEIsU0FBUztJQUNULFdBQVcsRUFBQSxFUTM4RFY7O0FBNU1MO0VBK01RLFlYdWdEcUI7RVd0Z0RyQixZWHExQ21CO0VXcDFDbkIsa0JBQWtCO0VBQ2xCLGFBQWE7RUFDYiw0QkFBc0I7RUFBdEIsNkJBQXNCO01BQXRCLDBCQUFzQjtVQUF0QixzQkFBc0I7RUFDdEIsd0JBQXVCO01BQXZCLHFCQUF1QjtVQUF2Qix1QkFBdUI7RUFDdkIsd0JBQXVCO01BQXZCLHFCQUF1QjtVQUF2Qix1QkFBdUI7RUFDdkIseUJaeDdDUztFWTA3Q0wsZ0JsQnI3Q1M7RWtCdzdDVCx5QlozNkNxQjtFWTY2Q3pCLG1CUHYzQ3dEO0VPdzNDeEQscUJBQXFCO0VBQ3JCLFVBQVU7RUFDVix3RVpqc0NjO0VZaXNDZCxnRVpqc0NjLEVBQUE7RUcvRmQ7SVNna0NSO01Ba09ZLG9CQUFhO01BQWIsb0JBQWE7TUFBYixhQUFhLEVBQUEsRUF1R3BCO0VBelVMO0lBd09ZLGNaMThDSztJWWcvQ0wsd0VaaHZDVTtJWWd2Q1YsZ0VaaHZDVSxFQUFBO0lZaytCdEI7TUEyUG9CLFdBQVc7TUFDWCxjWjk5Q0g7TVlvK0NPLHlCbEIvOUNIO01rQmcrQ0csNEJsQmgrQ0g7TWtCaytDRCw0Qlp2dUNFO01ZdXVDRixvQlp2dUNFO01Zd3VDRixVQUFVLEVBQUE7SUF0UTlCO01BZ1JnQixjWmwvQ0M7TVltL0NELGdCakIxNkJGLEVBQUE7RWlCeXBCZDtJQXlSZ0IsY2pCaDZDQyxFQUFBO0VpQnVvQ2pCO0lBNFJnQixjWjkvQ0MsRUFBQTtFWWt1Q2pCO0lBZ1NZLFlYdHVDSztJV3V1Q0wsV1hrOUNxQjtJVzk4Q2pCLFlBQXlDO0lBSTdDLGtCQUFrQjtJQUNsQixNQUFNO0lBQ04sUUFBUTtJQUNSLG9CQUFhO0lBQWIsb0JBQWE7SUFBYixhQUFhO0lBQ2IscUJYNjlDa0M7UVc3OUNsQyxrQlg2OUNrQztZVzc5Q2xDLHlCWDY5Q2tDO0lXNTlDbEMseUJYNjlDNEI7UVc3OUM1QixzQlg2OUM0QjtZVzc5QzVCLG1CWDY5QzRCO0lXNTlDNUIsaUJYdThDUztJV3Q4Q1QsaUNaOTJDMkI7SVkrMkMzQixlWGsvQ3dCO0lXai9DeEIsY1pwaERLO0lZc2hERCxlWHc5Q29CO0lXdjlDcEIsbUJBQW1CO0lBQ25CLHFCWnhoREM7SVk2aERELHlCakJsOENDO0lpQnk4Q0csMEJsQi9oREM7SWtCZ2lERCw2QmxCaGlEQztJa0JvaURULDRCWnh5Q1U7SVl3eUNWLG9CWnh5Q1UsRUFBQTs7QVlpK0J0QjtFQTRVUSxvQkFBYTtFQUFiLG9CQUFhO0VBQWIsYUFBYTtFQUNiLDhCQUFtQjtFQUFuQiw2QkFBbUI7TUFBbkIsdUJBQW1CO1VBQW5CLG1CQUFtQjtF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Mm9FdEI7SUE2QlEseUJadjVFeUIsRUFBQTtFWTAzRWpDO0lBZ0NRLGNabjZFd0I7SVl1NkV4QixxQmpCNzFFUztJaUI4MUVULHdFWmpyRWM7SVlpckVkLGdFWmpyRWMsRUFBQTtJWTRvRXRCO01BdUNZLGNqQngxRUs7TWlCNDFFTCxxRFp2ckVVO01ZdXJFViw2Q1p2ckVVLEVBQUE7RVk0b0V0QjtJQStDUSxjWnI3RVM7SVl5N0VULHFCakI1MkVTLEVBQUE7SWlCeXpFakI7TUFxRFksY2pCOTJFSyxFQUFBO0VpQnl6RWpCO0lBNERRLFlYdjlESztJVzg5REwsaUNaM3lFK0I7SVk0eUUvQixlWHpFaUM7SVcwRWpDLGNqQjkzRVM7SWlCazRFVCxnQmxCaDlFYTtJa0JpOUViLHFEWnJ0RWM7SVlxdEVkLDZDWnJ0RWMsRUFBQTs7QVl5dEV0QjtFQUVRLHlCQUFtQjtNQUFuQixzQkFBbUI7VUFBbkIsbUJBQW1CO0VBQ25CLGFYMlF3QjtFVzFReEIsb0JQdDVFd0Q7RU91NUV4RCxnQkFBZ0I7RUFDaEIsY1o3OUVTO0VZODlFVCw0QlpqdUVjO0VZaXVFZCxvQlpqdUVjLEVBQUE7RVkwdEV0QjtJQVNZLGNqQmg1RUs7SWlCaTVFTCw0QlpudUVVO0lZbXVFVixvQlpudUVVLEVBQUE7O0FZMHVFdEI7RUFDSSxvQmpCMXpFa0IsRUFBQTtFUWhCZDtJU3kwRVI7TUFNUSxvQmpCOXpFYyxFQUFBLEVpQmcwRXJCOztBQUNEO0VBQ0ksV0FBVztFQUdYLHlCWmwvRWEsRUFBQTtFRzRKVDtJU2sxRVI7TUFPUSxlQUFlLEVBQUEsRUEySnRCO0VUcC9FTztJU2sxRVI7TUFVUSxVQUFVLEVBQUEsRUF3SmpCO0VBbEtEO0lBYVEsd0VBQXFCLEVBQUE7SVRwMkVyQjtNU3UxRVI7UUFzQlksbUJBQVk7WUFBWixvQkFBWTtnQkFBWixZQUFZLEVBQUEsRUF3SW5CO0lBOUpMO01BMEJZLHlCakJqMUVrQjtNaUJrMUVsQixtQkFBWTtVQUFaLG9CQUFZO2NBQVosWUFBWSxFQUFBO0lBM0J4QjtNQStCZ0IsZVhnbEJJO01XL2tCSixxQmpC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d0JaKzlKZ0M7VVkvOUpoQyxxQlorOUpnQztjWS85SmhDLHVCWis5SmdDO01ZOTlKaEMsdUJacy9KNEI7VVl0L0o1QixvQlpzL0o0QjtjWXQvSjVCLDJCWnMvSjRCO01Zci9KNUIsZ0JaeTlKTztNWXg5SlAsaUJaNi9KTztNWTUvSlAsU0FBUyxFQUFBLEVBdURoQjtFQXBITDtJQWlFZ0IsV0FBVztJQUNYLGdCWnE5SnlCO0lZcDlKekIsY2xCYUM7SWtCWkQsZVJDZ0Q7SVFBaEQsZ0JsQmlpQmU7SWtCaGlCZix5QmxCaWlCd0I7SWtCaGlCeEIsY0FBYyxFQUFBO0lWd0Z0QjtNVS9KUjtRQXlFb0IsZ0JsQitoQlM7UWtCOWhCVCxnQlorOEp1QixFQUFBLEVZNzhKOUI7RUE1RWI7SUErRVksWVprOUpnQztJWWo5SmhDLFdaaTlKZ0M7SVloOUpoQywyQkFBb0I7SUFBcEIsMkJBQW9CO0lBQXBCLG9CQUFvQjtJQUNwQix3QkFBdUI7UUFBdkIscUJBQXVCO1lBQXZCLHVCQUF1QjtJQUN2Qix5QkFBbUI7UUFBbkIsc0JBQW1CO1lBQW5CLG1CQUFtQjtJQUVmLG1CYnFLb0I7SWFwS3BCLHlCYnpGQztJYTJGTCx5QmIzRks7SWE0RkwscUJBQXFCO0lBQ3JCLGdDYm9LVTtJYXBLVix3QmJvS1UsRUFBQTtJYTlQdEI7TUE0RmdCLHlCbEJKQztNa0JLRCxxQmxCTEM7TWtCTUQsWVpzOEpzQjtNWXI4SnRCLGdDYjhKTTtNYTlKTix3QmI4Sk0sRUFBQTtJYTdQdEI7TUFrR2dCLHlCbEJsQkM7TWtCbUJELHFCbEJuQkMsRUFBQTtFa0JoRmpCO0lBdUdZLGlCWjI3SmdFLEVBQUE7RVlsaUs1RTtJQTBHWSxXQUFXO0lBQ1gsb0JBQWE7SUFBYixvQkFBYTtJQUFiLGFBQWE7SUFJYixRQUFRLEVBQUE7SVZnRFo7TVUvSlI7UUFpSGdCLHVCWis3SndCO1lZLzdKeEIsb0JaKzdKd0I7Z0JZLzdKeEIsMkJaKzdKd0IsRUFBQSxFWTc3Si9COztBQW5IVDtFQXVIUSxTWnl4SmE7RVl4eEpiLFVaMHhKSSxFQUFBO0VFbnZKSjtJVS9K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QUNiLDRCWnEzSGE7RVlyM0hiLDZCWnEzSGE7TVlyM0hiLDBCWnEzSGE7VVlyM0hiLHNCWnEzSGE7RVk5MkhiLFNaaTJIUTtFWS8xSEosVVptMkhJO0VZajJIUiw0QlpvNkgyQjtNWXA2SDNCLGlCWm82SDJCO1VZcDZIM0IsUVpvNkgyQixFQUFBO0VFMS9JdkI7SVV3a0JSO01BZ0JRLGNaczFITTtNWTEwSEYsU1pnMUhBO01ZNzBIQSxVWmkxSEEsRUFBQSxFWTd5SFg7RUFuRUQ7SUFvQ1EsdUJaMjRIdUM7UVkzNEh2QyxvQloyNEh1QztZWTM0SHZDLDJCWjI0SHVDLEVBQUE7SVkvNkgvQztNQXNDWSx1Qlp5NEhtQztVWXo0SG5DLG9CWnk0SG1DO2NZejRIbkMsMkJaeTRIbUMsRUFBQTtFWS82SC9DO0lBMkNRLDRCWncwSFc7UVl4MEhYLGlCWncwSFc7WVl4MEhYLFFadzBIVyxFQUFBO0VZbjNIbkI7SUErQ1EsNEJacTBIVztRWXIwSFgsaUJacTBIVztZWXIwSFgsUVpxMEhXLEVBQUE7RVlwM0huQjtJQW9EWSw0QlppMEhDO1FZajBIRCxpQlppMEhDO1lZajBIRCxRWmkwSEMsRUFBQTs7QVkveUhiO0VBS1EsZ0JacTdIVztFWXA3SFgsY2xCbnVCUztFa0JvdUJULGVSL3VCd0Q7RVFndkJ4RCxnQmxCL011QjtFa0JnTnZCLGNBQWM7RUFDZCx5QmxCaE5nQyxFQUFBO0VReGNoQztJVThvQlI7TUFZWSxnQmxCak5pQixFQUFBLEVrQm1OeEI7O0FBR0w7RUFDSSxVWjY2SFU7RVl6NkhWLGdCWms3SGUsRUFBQTtFRTNsSlg7SVVvcUJSO01BT1EsVVp3NkhPLEVBQUEsRVk3NUhkO0VWanJCTztJVStwQlI7TUFnQlEsZ0JadzZIVyxFQUFBLEVZdDZIbEI7O0FBRUQ7RUFDSSxnQloyNkhlLEVBQUE7RUUvbEpYO0lVbXJCUjtNQUdRLGdCWjA2SFcsRUFBQSxFWS8zSGxCO0VBOUNEO0lBT1Esb0JBQWE7SUFBYixvQkFBYTtJQUFiLGFBQWE7SUFDYiw0QlpnNkhTO0lZaDZIVCw2QlpnNkhTO1FZaDZIVCwwQlpnNkhTO1lZaDZIVCxzQlpnNkhTLEVBQUE7SVl4NkhqQjtNQWVZLGdCWmk2SE8sRUFBQTtNWWg3SG5CO1FBaUJnQiw2QmJ6MkJLLEVBQUE7TUdxS2I7UVVtckJSO1VBb0JnQixnQlo2NUhHLEVBQUEsRVlyNEhWO01BNUNUO1FBdUJnQixlWnMwSEM7UVlyMEhELGNsQmx4QkM7UWtCbXhCRCxlUnR5QmdELEVBQUE7UUYwRnhEO1VVbXJCUjtZQTJCb0IsVVptMEhSLEVBQUEsRVluekhDO1FBM0NiO1VBOEJvQixjbEJoeUJILEVBQUE7UWtCa3dCakI7VUFpQ29CLGNidDNCSCxFQUFBOztBYXE0QmpCO0VBQ0ksV0FBVztFQUNYLGNBQWM7RUFDZCxrQlp1NEhvQztFWXQ0SHBDLHlCbEJ0ekJhO0VrQnV6QmIsY2IxNEJhO0VhMjRCYixrQkFBa0I7RUFDbEIsbUJScDBCNEQ7RVFxMEI1RCxnQlp5NEhrQztFWXg0SGxDLGdCbkJ6NEJpQjtFbUIwNEJqQixxRGI5b0JrQjtFYThvQmxCLDZDYjlvQmtCLEVBQUE7RUdwR2Q7SVV3dUJSO01BWVEsMEJBQWtCO01BQWxCLHVCQUFrQjtNQUFsQixrQkFBa0IsRUFBQSxFQVN6QjtFQXJCRDtJQWVRLHlCbEJ6ekJTO0lrQjB6QlQseUNicnBCYztJYXFwQmQsaUNicnBCYyxFQUFBO0VhcW9CdEI7SUFtQlEseUJsQnIwQlMsRUFBQTs7QWtCeTBCakI7RUFXWSxhQUFhLEVBQUE7O0FBWHpCO0VBY1ksY0FBYyxFQUFBO0VWeHdCbEI7SVUwdkJSO01BZ0JnQixnQkFBZ0IsRUFBQSxFQUV2Qjs7QUFsQlQ7RUFxQlEsYUFBYSxFQUFBOztBQUlyQjtFVG5sQkkscUNBQWdDO0VBdUI1QixXSGs3SU87RUdsNklYLG9CUzZpQjBYO0VUN2lCMVgsb0JTNmlCMFg7RVQ3aUIxWCxhUzZpQjBYO0VUM2lCdFgseUJBQW1CO01BQW5CLHNCQUFtQjtVQUFuQixtQkFBbUI7RUFDbkIsd0JBQXVCO01BQXZCLHFCQUF1QjtVQUF2Qix1QkFBdUI7RUFNM0Isa0JBQWtCO0VBQ2xCLDRDQUFrRTtFQUVsRSxnREFBK0M7RUFDL0MsY0p0WmE7RUl1WmIseUJUcFVhO0VTcVViLGlCSCtjNEI7RUc5YzVCLGVDalY0RDtFRGtWNUQsZ0JIKzRJc0M7RUc5NEl0QyxrQkFBa0I7RUFDbEIsbUJBQW1CO0VBQ25CLGVBQWU7RUFFWCx5QlRvRWdDO0VTakVoQyxxQkhnYzJCO0VHL2IzQixpQkg4YndCO0VHM2J4QixxQlRuVlM7RVN1VmIscUJBQXFCO0VBQ3JCLGNIMGJ5QjtFR3ZickIsMkJBQW9FO0VBRXhFLGdCQUFnQjtFQUNoQiw0QkpoTGtCO0VJZ0xsQixvQkpoTGtCO0VJMFFkOzs7Ozs7OztTWnMzUUMsRVk5MlFDO0VEalhGO0lVbXhCUjtNVDdmUSwwQkhvM0ljO01HcDNJZCx1QkhvM0ljO01HcDNJZCxrQkhvM0ljO01HbjNJZCw0Q0FBa0UsRUFBQSxFUzhmekU7RVR6Zkc7SUFDSTtNQUNJLGNKaGNLO01JaWNMLHlCVHRXSztNU3dXRCxxQlR4V0M7TVM0V0wscUJBQXFCO01BQ3JCLDRCSnhNVTtNSXdNVixvQkp4TVUsRUFBQTtNSTBNTjtRQUNDLGNKM2NBO1FJNGNBLDhCSjVNSztRSTRNTCxzQko1TUssRUFBQTtNSWdOVjtRQUNJLHlCSmpkQztRSWtkRCx5Q0psTk07UUlrTk4saUNKbE5NLEVBQUEsRUltTlQ7RUFHVDtJQUNJLGNKdmRTO0lJd2RULHlCVHJZUztJU3VZTCxxQlR2WUs7SVMyWVQsNEJKOU5jO0lJOE5kLG9CSjlOYyxFQUFBO0lJZ09WO01BQ0MsY0pqZUksRUFBQTtFSXFlYjtJQUlRLGNWekp5RDtJVThKekQseUJKOWVLO0lJbWZMLHNDSmplcUI7SUltZXpCLG1CQUFtQixFQUFBO0lBRWY7TUFDQyxjVnhLd0QsRUFBQTtFVTRLakU7SUFJUSxzQ0o5ZXFCLEVBQUE7RUlrZjdCO0lBQ0ksYUFBYTtJQUNiLDRESjVQNkM7WUk0UDdDLG9ESjVQNkMsRUFBQTtFSWlSN0M7SUFDSSxZSHpORjtJRzBORSxrQkhveElVO0lHbnhJVixpQ0oxWDJCO0lJMlgzQixlSHF4SUU7SUdoeElGLGNKcGlCSztJSXFpQkwsOEJKcFNV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VUlrZEQseUNKbE5NO1VJa05OLGlDSmxOTSxFQUFBLEVJbU5UO0lBR1Q7TUFDSSxjSnZkUztNSXdkVCx5QlRyWVM7TVN5WUwscUJUellLO01TMllULDRCSjlOYztNSThOZCxvQko5TmMsRUFBQTtJSXFPbEI7TUFJUSxjVnpKeUQ7TVU4SnpELHlCSjllSztNSW1mTCxzQ0pqZXFCO01JbWV6QixtQkFBbUIsRUFBQTtJQU92QjtNQUlRLHNDSjllcUIsRUFBQTtJSWtmN0I7TUFDSSxhQUFhO01BQ2IsNERKNVA2QztjSTRQN0Msb0RKNVA2QyxFQUFBO0lJOFJqRDtNQUNJLHlDSnhTYztNSXdTZCxpQ0p4U2MsRUFBQTtFZ0J0UXRCO0laNmxCSSxvQkFBYTtJQUFiLG9CQUFhO0lBQWIsYUFBYTtJQUNiLHdCQUF1QjtRQUF2QixxQkFBdUI7WUFBdkIsdUJBQXVCO0lBQ3ZCLHlCQUFtQjtRQUFuQixzQkFBbUI7WUFBbkIsbUJBQW1CLEVBQUE7SUFDbkI7TUFDSSxZSDlSVTtNRytSVixpQ0p6YitCO01JMGIvQixlSDROUTtNRzFOSixjSjdsQks7TUlpbUJULHNESm5XYztNSW1XZCw4Q0puV2M7TUltV2Qsc0NKbldjO01JbVdkLDhESm5XYyxFQUFBO0lJc1dkO01BR1EsY1QvZ0JDO01TbWhCTCxnQ0FBd0I7Y0FBeEIsd0JBQXdCO01BQ3hCLHNESi9XVTtNSStXViw4Q0ovV1U7TUkrV1Ysc0NKL1dVO01JK1dWLDhESi9XVSxFQUFBO0lJbVhkO01BQ0ksY1RqaUJLO01Ta2lCTCw4Q0pyWFU7TUlxWFYsc0NKclhVLEVBQUE7RWdCclF0QjtJWjBrRUkseUJWcnZEaUU7SVVzdkRqRSx5QkovOERVO0lJaTlETixnQlZua0VhLEVBQUE7SVVza0ViO01BQ0ksWUhweURELEVBQU87SUd3eURWO01BQ0ksY0oxOURFLEVBQUE7SUkrOUROO01BQ0ksWUgveUREO01HZ3pEQyxjSmorREUsRUFBQTtJSW8rRFY7TUFDSSxjSnIrRE0sRUFBQTtFZ0I1SGQ7SVowa0VJLHlCVnJ2RGlFO0lVc3ZEakUseUJKLzhEVTtJSWk5RE4sZ0JWbmtFYSxFQUFBO0lVc2tFYjtNQUNJLFlIcHlERCxFQUFPO0lHd3lEVjtNQUNJLGNKMTlERSxFQUFBO0lJKzlETjtNQUNJLFlIL3lERDtNR2d6REMsY0pqK0RFLEVBQUE7SUlvK0RWO01BQ0ksY0pyK0RNLEVBQUE7RWdCNUhkO0ladVdJLHFDQUFnQztJQXVCNUIsV1l1V2tMO0ladlZ0TCxvQkExQ2dZO0lBMENoWSxvQkExQ2dZO0lBMENoWSxhQTFDZ1k7SUE0QzVYLHlCQUFtQjtRQUFuQixzQkFBbUI7WUFBbkIsbUJBQW1CO0lBQ25CLHdCQUF1QjtRQUF2QixxQkFBdUI7WUFBdkIsdUJBQXVCO0lBTTNCLGtCQUFrQjtJQUNsQixpREFBa0U7SUFFbEUsZ0RBQStDO0lBQy9DLGNKL1JVO0lJZ1NWLHlCVnZFaUU7SVV3RWpFLGlCSCtjNEI7SUc5YzVCLG9CQ2pWNEQ7SURrVjVELGdCWXNVaUs7SVpyVWpLLGtCQUFrQjtJQUNsQixtQkFBbUI7SUFDbkIsZUFBZTtJQUVYLHlCVG9FZ0M7SVNqRWhDLHFCSGtjeUU7SUdqY3pFLGlCSDhid0I7SUczYnhCLHFCSjdad0I7SUlpYTVCLHFCQUFxQjtJQUNyQixjSDBieUI7SUd2YnJCLDJCQUFvRTtJQUV4RSxnQkFBZ0I7SUFDaEIsNEJKaExrQjtJSWdMbEIsb0JKaExrQixFQUFBO0lHL0ZkO01hdktSO1FaNmJRLFlZd1NnTTtRWnZTaE0sc0RBQWtFLEVBQUEsRVl3U2pFO0lablNMO01BQ0k7UUFDSSxjSmhjSztRSWljTCx5QkoxVUU7UUk0VUUscUJKNVVGO1FJZ1ZGLHFCQUFxQjtRQUNyQiw0Qkp4TVU7UUl3TVYsb0JKeE1VLEVBQUE7UUlnTlY7VUFDSSx5QkpqZEM7VUlrZEQseUNKbE5NO1VJa05OLGlDSmxOTSxFQUFBLEVJbU5UO0lBR1Q7TUFDSSxjSnZkUztNSXdkVCx5QlRhWTtNU1RSLHFCVFNRO01TUFosNEJKOU5jO01JOE5kLG9CSjlOYyxFQUFBO0lJcU9sQjtNQUlRLGNWekp5RDtNVThKekQseUJKOWVLO01JbWZMLHNDSmplcUI7TUltZXpCLG1CQUFtQixFQUFBO0lBT3ZCO01BSVEsc0NKOWVxQixFQUFBO0lJa2Y3QjtNQUNJLGFBQWE7TUFDYiw0REo1UDZDO2NJNFA3QyxvREo1UDZDLEVBQUE7SUk4UmpEO01BQ0kseUNKeFNjO01Jd1NkLGlDSnhTYyxFQUFBO0VnQnRRdEI7SVpxbUVJLHlCVmh4RGlFO0lVaXhEakUseUJKaC9EVTtJSWsvRE4sZ0JWOWxFYSxFQUFBO0lVaW1FYjtNQUNJLFlIaDBEQyxFQUFPO0lHbzBEWjtNQUNJLGNKMy9ERSxFQUFBO0lJZ2dFTjtNQUNJLFlIMzBEQztNRzQwREQsY0psZ0VFLEVBQUE7SUlxZ0VWO01BQ0ksY0p0Z0VNLEVBQUE7RWdCdEhkO0lacW1FSSx5QlZoeERpRTtJVWl4RGpFLHlCSmgvRFU7SUlrL0ROLGdCVjlsRWEsRUFBQTtJVWltRWI7TUFDSSxZSGgwREMsRUFBTztJR28wRFo7TUFDSSxjSjMvREUsRUFBQTtJSWdnRU47TUFDSSxZSDMwREM7TUc0MERELGNKbGdFRSxFQUFBO0lJcWdFVjtNQUNJLGNKdGdFTSxFQUFBO0VnQnRIZDtJWnVXSSxxQ0FBZ0M7SUF1QjVCLFdZcVhrTDtJWnJXdEwsb0JBMUNnWTtJQTBDaFksb0JBMUNnWTtJQTBDaFksYUExQ2dZO0lBNEM1WCx5QkFBbUI7UUFBbkIsc0JBQW1CO1lBQW5CLG1CQUFtQjtJQUNuQix3QkFBdUI7UUFBdkIscUJBQXVCO1lBQXZCLHVCQUF1QjtJQU0zQixrQkFBa0I7SUFDbEIsaURBQWtFO0lBRWxFLGdEQUErQztJQUMvQyxjSi9SVTtJSWdTVix5QlZ2RWlFO0lVd0VqRSxpQkgrYzRCO0lHOWM1QixvQkNqVjREO0lEa1Y1RCxnQllvVmlLO0lablZqSyxrQkFBa0I7SUFDbEIsbUJBQW1CO0lBQ25CLGVBQWU7SUFFWCx5QlRvRWdDO0lTakVoQyxxQkhrY3lFO0lHamN6RSxpQkg4YndCO0lHM2J4QixxQko3WndCO0lJaWE1QixxQkFBcUI7SUFDckIsY0gwYnlCO0lHdmJyQiwyQkFBb0U7SUFFeEUsZ0JBQWdCO0lBQ2hCLDRCSmhMa0I7SUlnTGxCLG9CSmhMa0IsRUFBQTtJRy9GZDtNYXZLUjtRWjZiUSxZWXNUZ007UVpyVGhNLHNEQUFrRSxFQUFBLEVZc1RqRTtJWmpUTDtNQUNJO1FBQ0ksY0poY0s7UUlpY0wseUJKMVVFO1FJNFVFLHFCSjVVRjtRSWdWRixxQkFBcUI7UUFDckIsNEJKeE1VO1FJd01WLG9CSnhNVSxFQUFBO1FJZ05WO1VBQ0kseUJKamRDO1VJa2RELHlDSmxOTTtVSWtOTixpQ0psTk0sRUFBQSxFSW1OVDtJQUdUO01BQ0ksY0p2ZFM7TUl3ZFQseUJUYVk7TVNUUixxQlRTUTtNU1BaLDRCSjlOYztNSThOZCxvQko5TmMsRUFBQTtJSXFPbEI7TUFJUSxjVnpKeUQ7TVU4SnpELHlCSjllSztNSW1mTCxzQ0pqZXFCO01JbWV6QixtQkFBbUIsRUFBQTtJQU92QjtNQUlRLHNDSjllcUIsRUFBQTtJSWtmN0I7TUFDSSxhQUFhO01BQ2IsNERKNVA2QztjSTRQN0Msb0RKNVA2QyxFQUFBO0lJOFJqRDtNQUNJLHlDSnhTYztNSXdTZCxpQ0p4U2MsRUFBQTtFZ0J0UXRCO0lacW1FSSx5QlZoeERpRTtJVWl4RGpFLHlCSmgvRFU7SUlrL0ROLGdCVjlsRWEsRUFBQTtJVWltRWI7TUFDSSxZSGgwREMsRUFBTztJR28wRFo7TUFDSSxjSjMvREUsRUFBQTtJSWdnRU47TUFDSSxZSDMwREM7TUc0MERELGNKbGdFRSxFQUFBO0lJcWdFVjtNQUNJLGNKdGdFTSxFQUFBO0VnQnRIZDtJWnFtRUkseUJWaHhEaUU7SVVpeERqRSx5QkpoL0RVO0lJay9ETixnQlY5bEVhLEVBQUE7SVVpbUViO01BQ0ksWUhoMERDLEVBQU87SUdvMERaO01BQ0ksY0ozL0RFLEVBQUE7SUlnZ0VOO01BQ0ksWUgzMERDO01HNDBERCxjSmxnRUUsRUFBQTtJSXFnRVY7TUFDSSxjSnRnRU0sRUFBQTtFZ0J0SGQ7SVp1V0kscUNBQWdDO0lBdUI1QixXWW9Zc007SVpwWDFNLG9CQTFDZ1k7SUEwQ2hZLG9CQTFDZ1k7SUEwQ2hZLGFBMUNnWTtJQTRDNVgseUJBQW1CO1FBQW5CLHNCQUFtQjtZQUFuQixtQkFBbUI7SUFDbkIsd0JBQXVCO1FBQXZCLHFCQUF1QjtZQUF2Qix1QkFBdUI7SUFNM0Isa0JBQWtCO0lBQ2xCLGlEQUFrRTtJQUVsRSxnREFBK0M7SUFDL0MsY1RuVWE7SVNvVWIseUJWdkVpRTtJVXdFakUsaUJIK2M0QjtJRzljNUIsb0JDalY0RDtJRGtWNUQsZ0JZbVdxTDtJWmxXckwsa0JBQWtCO0lBQ2xCLG1CQUFtQjtJQUNuQixlQUFlO0lBRVgseUJUb0VnQztJU2pFaEMscUJIa2N5RTtJR2pjekUsaUJIOGJ3QjtJRzNieEIscUJKN1p3QjtJSWlhNUIscUJBQXFCO0lBQ3JCLGNIMGJ5QjtJR3ZickIsMkJBQW9FO0lBRXhFLGdCQUFnQjtJQUNoQiw0QkpoTGtCO0lJZ0xsQixvQkpoTGtCLEVBQUE7SUcvRmQ7TWF2S1I7UVo2YlEsWVlxVW9OO1FacFVwTixzREFBa0UsRUFBQSxFWXFVakU7SVpoVUw7TUFDSTtRQUNJLGNKaGNLO1FJaWNMLHlCSnRWRTtRSXdWRSxxQkp4VkY7UUk0VkYscUJBQXFCO1FBQ3JCLDRCSnhNVTtRSXdNVixvQkp4TVUsRUFBQTtRSWdOVjtVQUNJLHlCSmpkQztVSWtkRCx5Q0psTk07VUlrTk4saUNKbE5NLEVBQUEsRUltTlQ7SUFHVDtNQUVJLHlCVGFZO01TVFIscUJUU1E7TVNQWiw0Qko5TmM7TUk4TmQsb0JKOU5jLEVBQUE7SUlxT2xCO01BSVEsY1Z6SnlEO01VOEp6RCx5Qko5ZUs7TUltZkwsc0NKamVxQjtNSW1lekIsbUJBQW1CLEVBQUE7SUFPdkI7TUFJUSxzQ0o5ZXFCLEVBQUE7SUlrZjdCO01BQ0ksYUFBYTtNQUNiLDRESjVQNkM7Y0k0UDdDLG9ESjVQNkMsRUFBQTtJSThSakQ7TUFDSSx5Q0p4U2M7TUl3U2QsaUNKeFNjLEVBQUE7RWdCdFF0QjtJWmdvRUkseUJWM3lEaUU7SVU0eURqRSx5QkpqaEVVO0lJbWhFTixnQlZ6bkVhLEVBQUE7SVU0bkVaO01BQ0csWUg1MURDLEVBQU87SUdnMkRaO01BQ0ksY0o1aEVFLEVBQUE7SUlpaUVOO01BQ0ksWUh2MkRDO01HdzJERCxjSm5pRUUsRUFBQTtJSXNpRVY7TUFDSSxjSnZpRU0sRUFBQTtFZ0JoSGQ7SVpnb0VJLHlCVjN5RGlFO0lVNHlEakUseUJKamhFVTtJSW1oRU4sZ0JWem5FYSxFQUFBO0lVNG5FWjtNQUNHLFlINTFEQyxFQUFPO0lHZzJEWjtNQUNJLGNKNWhFRSxFQUFBO0lJaWlFTjtNQUNJLFlIdjJEQztNR3cyREQsY0puaUVFLEVBQUE7SUlzaUVWO01BQ0ksY0p2aUVNLEVBQUE7RWdCaEhkO0ladVdJLHFDQUFnQztJQXVCNUIsV1lpWnNNO0laalkxTSxvQkExQ2dZO0lBMENoWSxvQkExQ2dZO0lBMENoWSxhQTFDZ1k7SUE0QzVYLHlCQUFtQjtRQUFuQixzQkFBbUI7WUFBbkIsbUJBQW1CO0lBQ25CLHdCQUF1QjtRQUF2QixxQkFBdUI7WUFBdkIsdUJBQXVCO0lBTTNCLGtCQUFrQjtJQUNsQixpREFBa0U7SUFFbEUsZ0RBQStDO0lBQy9DLGNUblVhO0lTb1ViLHlCVnZFaUU7SVV3RWpFLGlCSCtjNEI7SUc5YzVCLG9CQ2pWNEQ7SURrVjVELGdCWWdYcUw7SVovV3JMLGtCQUFrQjtJQUNsQixtQkFBbUI7SUFDbkIsZUFBZTtJQUVYLHlCVG9FZ0M7SVNqRWhDLHFCSGtjeUU7SUdqY3pFLGlCSDhid0I7SUczYnhCLHFCSjdad0I7SUlpYTVCLHFCQUFxQjtJQUNyQixjSDBieUI7SUd2YnJCLDJCQUFvRTtJQUV4RSxnQkFBZ0I7SUFDaEIsNEJKaExrQjtJSWdMbEIsb0JKaExrQixFQUFBO0lHL0ZkO01hdktSO1FaNmJRLFlZa1ZvTjtRWmpWcE4sc0RBQWtFLEVBQUEsRVlrVmpFO0laN1VMO01BQ0k7UUFDSSxjSmhjSztRSWljTCx5Qkp0VkU7UUl3VkUscUJKeFZGO1FJNFZGLHFCQUFxQjtRQUNyQiw0Qkp4TVU7UUl3TVYsb0JKeE1VLEVBQUE7UUlnTlY7VUFDSSx5QkpqZEM7VUlrZEQseUNKbE5NO1VJa05OLGlDSmxOTSxFQUFBLEVJbU5UO0lBR1Q7TUFFSSx5QlRhWTtNU1RSLHFCVFNRO01TUFosNEJKOU5jO01JOE5kLG9CSjlOYyxFQUFBO0lJcU9sQjtNQUlRLGNWekp5RDtNVThKekQseUJKOWVLO01JbWZMLHNDSmplcUI7TUltZXpCLG1CQUFtQixFQUFBO0lBT3ZCO01BSVEsc0NKOWVxQixFQUFBO0lJa2Y3QjtNQUNJLGFBQWE7TUFDYiw0REo1UDZDO2NJNFA3QyxvREo1UDZDLEVBQUE7SUk4UmpEO01BQ0kseUNKeFNjO01Jd1NkLGlDSnhTYyxFQUFBO0VnQnRRdEI7SUF1eEJZLGtCQUFrQixFQUFBO0liaG5CdEI7TWF2S1I7UUF5eEJnQixvQkFBb0IsRUFBQSxFQStCM0I7SUF4ekJUO01BNHhCZ0IsbUJBQW1CO01BQ25CLGN0QnhjcUQ7TXNCeWNyRCxtQlhqdEJnRDtNV2t0QmhELGdCQUFnQjtNQUNoQix5QkFBeUIsRUFBQTtNYnpuQmpDO1FhdktSO1VBa3lCb0IsbUJBQW1CLEVBQUEsRUFFMUI7SUFweUJiO01Bc3lCZ0IsbUJBQW1CO01BQ25CLGNyQi9zQkM7TXFCZ3RCRCxtQlgzdEJnRDtNVzR0QmhELGdCQUFnQixFQUFBO0lBenlCaEM7TUE0eUJnQixtQkFBbUI7TUFDbkIsVUFBVTtNQUNWLG1CWGp1QmdEO01Xa3VCaEQsZ0JBQWdCLEVBQUE7TWJ4b0J4QjtRYXZLUjtVQWt6Qm9CLGVBQWUsRUFBQSxFQUV0QjtJQXB6QmI7TUFzekJnQixjaEI5eUJDLEVBQUE7RWdCUmpCO0lBMHpCWSxXQUFXO0lBQ1gsa0JBQWtCLEVBQUE7SWJwcEJ0QjtNYXZLUjtRQTZ6QmdCLGdCQUFnQixFQUFBLEVBRXZCO0VBL3pCVDtJQWkwQlksWUFBWTtJQUNaLGFBQWE7SUFDYixrQkFBa0I7SUFDbEIsb0JBQWE7SUFBYixvQkFBYTtJQUFiLGFBQWE7SUFDYix5QkFBbUI7UUFBbkIsc0JBQW1CO1lBQW5CLG1CQUFtQjtJQUNuQix3QkFBdUI7UUFBdkIscUJBQXVCO1lBQXZCLHVCQUF1QjtJQUN2QixtQkFBbUIsRUFBQTtFQXYwQi9CO0lBMDBCWSxrQkFBa0I7SUFDbEIsb0JBQWE7SUFBYixvQkFBYTtJQUFiLGFBQWEsRUFBQTtJQTMwQnpCO01BNjBCZ0IsWWY1aUJDO01lNmlCRCxpQ2hCcnFCdUI7TWdCc3FCdkIsZUFBZTtNQUNmLGNyQnh2QkMsRUFBQTtFcUJ4RmpCO0lBbzFCWSxrQkFBa0IsRUFBQTtJQXAxQjlCO01BczFCZ0IsWWZoaEJQO01laWhCTyxpQ2hCOXFCdUI7TWdCK3FCdkIsZ0JBQWdCO01BQ2hCLGN0QnBnQnFELEVBQUE7RXNCclZyRTtJWnVXSSxxQ0FBZ0M7SUF5QjVCLFlZOGRnTTtJWmhkcE0sb0JBMUNnWTtJQTBDaFksb0JBMUNnWTtJQTBDaFksYUExQ2dZO0lBNEM1WCx5QkFBbUI7UUFBbkIsc0JBQW1CO1lBQW5CLG1CQUFtQjtJQUNuQix3QkFBdUI7UUFBdkIscUJBQXVCO1lBQXZCLHVCQUF1QjtJQU0zQixrQkFBa0I7SUFDbEIsaURBQWtFO0lBRWxFLGdEQUErQztJQUMvQyxjVG5VYTtJU29VYix5QlZ2RWlFO0lVd0VqRSxpQkgrYzRCO0lHOWM1QixvQkNqVjREO0lEa1Y1RCxnQlkrYnFMO0laOWJyTCxrQkFBa0I7SUFDbEIsbUJBQW1CO0lBQ25CLGVBQWU7SUFFWCx5QlRvRWdDO0lTakVoQyxxQkhrY3lFO0lHamN6RSxpQkg4YndCO0lHM2J4QixxQko3WndCO0lJaWE1QixxQkFBcUI7SUFDckIsY0gwYnlCO0lHdmJyQiwyQkFBb0U7SUFFeEUsZ0JBQWdCO0lBQ2hCLDRCSmhMa0I7SUlnTGxCLG9CSmhMa0IsRUFBQTtJRy9GZDtNYXZLUjtRWjZiUSxZWWlhZ007UVpoYWhNLHNEQUFrRSxFQUFBLEVZaWFqRTtJWjVaTDtNQUNJO1FBQ0ksY0poY0s7UUlpY0wseUJKdFZFO1FJd1ZFLHFCSnhWRjtRSTRWRixxQkFBcUI7UUFDckIsNEJKeE1VO1FJd01WLG9CSnhNVSxFQUFBO1FJZ05WO1VBQ0kseUJKamRDO1VJa2RELHlDSmxOTTtVSWtOTixpQ0psTk0sRUFBQSxFSW1OVDtJQUdUO01BRUkseUJUYVk7TVNUUixxQlRTUTtNU1BaLDRCSjlOYztNSThOZCxvQko5TmMsRUFBQTtJSXFPbEI7TUFJUSxjVnpKeUQ7TVU4SnpELHlCSjllSztNSW1mTCxzQ0pqZXFCO01JbWV6QixtQkFBbUIsRUFBQTtJQU92QjtNQUlRLHNDSjllcUIsRUFBQTtJSWtmN0I7TUFDSSxhQUFhO01BQ2IsNERKNVA2QztjSTRQN0Msb0RKNVA2QyxFQUFBO0lJOFJqRDtNQUNJLHlDSnhTYztNSXdTZCxpQ0p4U2MsRUFBQTtFZ0J0UXRCO0ladVdJLHFDQUFnQztJQXlCNUIsWVlpZXFKO0labmR6SixvQkExQ2dZO0lBMENoWSxvQkExQ2dZO0lBMENoWSxhQTFDZ1k7SUE0QzVYLHlCQUFtQjtRQUFuQixzQkFBbUI7WUFBbkIsbUJBQW1CO0lBQ25CLHdCQUF1QjtRQUF2QixxQkFBdUI7WUFBdkIsdUJBQXVCO0lBTTNCLGtCQUFrQjtJQUNsQixpREFBa0U7SUFFbEUsZ0RBQStDO0lBQy9DLGNUblVhO0lTb1ViLHlCSnZaYTtJSXdaYixpQkgrYzRCO0lHOWM1QixvQkNqVjREO0lEa1Y1RCxnQllrYzBJO0laamMxSSxrQkFBa0I7SUFDbEIsbUJBQW1CO0lBQ25CLGVBQWU7SUFFWCx5QlRvRWdDO0lTakVoQyxxQkhrY3lFO0lHamN6RSxpQkg4YndCO0lHM2J4QixxQko3WndCO0lJaWE1QixxQkFBcUI7SUFDckIsY0gwYnlCO0lHdmJyQiwyQkFBb0U7SUFFeEUsZ0JBQWdCO0lBQ2hCLDRCSmhMa0I7SUlnTGxCLG9CSmhMa0IsRUFBQTtJRy9GZDtNYXZLUjtRWjZiUSxZWW9hcUo7UVpuYXJKLHNEQUFrRSxFQUFBLEVZb2FqRTtJWi9aTDtNQUNJO1FBQ0ksY0poY0s7UUlpY0wseUJKeGJvQjtRSTBiaEIscUJKaGNDO1FJb2NMLHFCQUFxQjtRQUNyQiw0Qkp4TVU7UUl3TVYsb0JKeE1VLEVBQUE7UUlnTlY7VUFDSSx5QkpqZEM7VUlrZEQseUNKbE5NO1VJa05OLGlDSmxOTSxFQUFBLEVJbU5UO0lBR1Q7TUFDSSxjSnZkUztNSXdkVCx5QlRyWVM7TVN5WUwscUJUellLO01TMllULDRCSjlOYztNSThOZCxvQko5TmMsRUFBQTtJSXFPbEI7TUFJUSxjVnpKeUQ7TVU4SnpELHlCSjllSztNSW1mTCxzQ0pqZXFCO01JbWV6QixtQkFBbUIsRUFBQTtJQU92QjtNQUlRLHNDSjllcUIsRUFBQTtJSWtmN0I7TUFDSSxhQUFhO01BQ2IsNERKNVA2QztjSTRQN0Msb0RKNVA2QyxFQUFBO0lJOFJqRDtNQUNJLHlDSnhTYztNSXdTZCxpQ0p4U2MsRUFBQTs7QWdCaW1CdEI7RUFDSSxXQUFXO0VBRVgsWWZ6Qlc7RWUwQlgseUJoQnAxQjZCLEVBQUE7RUdnSnpCO0lhZ3NCUjtNQU1RLHNCZjNCaUIsRUFBQSxFZXFGeEI7RUFoRUQ7SUFXUSxlQUFlO0lBQ2YsV2ZoUFE7SWVpUFIsaUJmN09XLEVBQUE7SUVoZVg7TWFnc0JSO1FBZVksZ0JBQWdCO1FBQ2hCLFlmblBNO1Flb1BOLGlCZmhQTyxFQUFBLEVld1FkO0lBekNMO01BcUJZLFdBQVc7TUFDWCxjQUFjO01BQ2QsY3JCbGZPO01xQm1mUCxnQkFBZ0I7TUFDaEIsY2hCMzNCSztNZ0I0M0JMLHlCckJ0eUJPO01xQnV5QlAsZ0JyQjNmSztNcUI0Zkwsa0JYdHpCb0Q7TVd1ekJwRCxrQmYvUXdCO01lZ1J4Qix5QnJCcGdCVztNcUI0Z0JQLGlCQUFpQixFQUFBO0VBdENqQztJQTRDUSxvQkFBYTtJQUFiLG9CQUFhO0lBQWIsYUFBYTtJQUViLGNmcFFTO0llcVFULGVmdlNTLEVBQUE7SUV4Y1Q7TWFnc0JSO1FBaURZLDhCQUFtQjtRQUFuQiw2QkFBbUI7WUFBbkIsdUJBQW1CO2dCQUFuQixtQkFBbUI7UUFDbkIseUJBQThCO1lBQTlCLHNCQUE4QjtnQkFBOUIsOEJBQThCO1FBQzlCLGNmeFFLO1FleVFMLGVmM1NLLEVBQUEsRWVzVFo7SUEvREw7TUF3RFksV2Z4UUc7TWV5UUgsZVhuMUJvRDtNV28xQnBELGdCQUFnQixFQUFBO01iMXZCcEI7UWFnc0JSO1VBNERnQixZZjNRQSxFQUFBLEVlNlFQOztBQU1UO0VBRUksYUFBYSxFQUFBOztBeEJndVRqQjtFd0I1dFRJLFdBQVc7RUFDWCxnQkFBZ0I7RUFFaEIsaUJBQWlCO0VBRWpCLG9CQUFhO0VBQWIsb0JBQWE7RUFBYixhQUFhO0VBQ2IsNEJBQXNCO0VBQXRCLDZCQUFzQjtNQUF0QiwwQkFBc0I7VUFBdEIsc0JBQXNCO0VBQ3RCLGtCQUFrQixFQUFBO0V4QjR0VHBCO0l3QjF0VE0sZ0JBQWdCLEVBQUE7SWJueEJoQjtNWGcvVUY7UXdCM3RUTSxnQkFDSixFQUFBLEVBQ0g7RXhCMnRUSDtJd0J2dFRVLFdBQVcsRUFBQTs7QUFLdkI7RUFDSSxjckJoM0JhO0VxQmkzQmIsZUFBZTtFQUNmLDhCaEJwc0JrQjtFZ0Jvc0JsQixzQmhCcHNCa0I7RWdCcXNCbEIsVUFBVSxFQUFBO0VBSmQ7SUFRUSxjckIvMkJTO0lxQmczQlQsOEJoQjNzQmM7SWdCMnNCZCxzQmhCM3NCYyxFQUFBO0VnQmtzQnRCO0lBWVEsY3JCNzNCVyxFQUFBO0VxQmkzQm5CO0lBZVEsa0JBQWtCO0lBQ2xCLG9CQUFhO0lBQWIsb0JBQWE7SUFBYixhQUFhO0lBQ2IsMkJBQXFCO1FBQXJCLHdCQUFxQjtZQUFyQixxQkFBcUI7SUFDckIsYUFBYTtJQUNiLHlCaEJyOUJTO0lnQnM5QlQsZ0JBQWdCLEVBQUE7SWJwekJoQjtNYWd5QlI7UUF1QlkscUJBQXFCLEVBQUEsRUFRNUI7SUEvQkw7TUEwQlksWXJCajVCRDtNcUJrNUJDLCtCaEJ6dkJ5QztNZ0IwdkJ6QyxjZjZnSDhEO01lNWdIOUQsZ0JBQWdCLEVBQUE7O0FDci9CNUI7Ozs7Ozs7Ozs7Ozs7Ozs7Q3pCdXRWQztBeUJyclZHO0VBR1ksYWhCMGxHdUIsRUFBQTs7QWdCbmxHdkM7RUFDSSxXQUFXO0VBQ1gsb0JBQWE7RUFBYixvQkFBYTtFQUFiLGFBQWE7RUFDYiw0QkFBc0I7RUFBdEIsNkJBQXNCO01BQXRCLDBCQUFzQjtVQUF0QixzQkFBc0I7RUFDdEIsd0JBQXVCO01BQXZCLHFCQUF1QjtVQUF2Qix1QkFBdUI7RUFDdkIseUJBQW1CO01BQW5CLHNCQUFtQjtVQUFuQixtQkFBbUI7RUFDbkIsMkJBQTJCLEVBQUE7RWRpSXZCO0ljdklSO01BUVEsY2hCNmxHTTtNZ0I1bEdOLGlCaEI0bEdNLEVBQUEsRWdCcGtHYjtFQWpDRDtJQVlRLGVBQWlFLEVBQUE7SWRnSWpFO01jNUlSO1FBY1ksaUJoQndsR0s7UWdCdmxHTCxvQmhCdWxHSyxFQUFBLEVnQi9rR1o7SWRxSEc7TWM1SVI7UUFtQmdCLGlCQUFvRSxFQUFBLEVBRTNFO0VBckJUO0lBeUJRLDZCakJsRGEsRUFBQTtJaUJ5QnJCO01BNkJnQixjQUFjLEVBQUE7O0FBTTlCO0VBRVEsYUFBYSxFQUFBO0VBRnJCO0lBSVksU0FBUztJQUNULGlCQUFpQixFQUFBOztBQVF6QjtFQUNJLGdCdkJsRWEsRUFBQTs7QXVCaUJyQjtFQW9EUSxnQnZCckVhLEVBQUE7O0F1QnlFckI7RUFDSSxvQkFBYTtFQUFiLG9CQUFhO0VBQWIsYUFBYTtFQUNiLDRCQUFzQjtFQUF0Qiw2QkFBc0I7TUFBdEIsMEJBQXNCO1VBQXRCLHNCQUFzQjtFQUN0QiwyQkFBMkIsRUFBQTtFZGlGdkI7SWNwRlI7TUFXWSxpQmhCZ2pHSTtNZ0IvaUdKLG9CaEIraUdJLEVBQUEsRWdCN2hHWDtFQTlCTDtJQWVZLDZCakJoR1MsRUFBQTtJR3FLYjtNY3BGUjtRQWlCZ0IsaUJBQWlFLEVBQUEsRUFFeEU7RUFuQlQ7SUFxQlksV0FBVztJQUNYLGtCQUFrQixFQUFBO0lkOER0QjtNY3BGUjtRQXdCZ0IsYUFBYSxFQUFBLEVBS3BCO0lBN0JUO01BMkJnQixnQkFBZ0IsRUFBQTtFQTNCaEM7SUFrQ1EsYUFBYSxFQUFBO0VBbENyQjtJQXNDUSxnQkFBZ0IsRUFBQTtFQXRDeEI7SUEwQ1EsYUFBYTtJQUNiLGdCQUFnQixFQUFBOztBQUt4QjtFQUVJLHlCQUFxQjtFQUVyQixXQUFXLEVBQUE7RUFKZjtJQVFnQixZQUFnRSxFQUFBO0VBUmhGO0lBaUJRLGtCQUFnQixFQUFBO0VBakJ4QjtJQXFCUSxzQkFBZ0IsRUFBQTtFQXJCeEI7SUF5QlEsMkJBQWdCLEVBQUE7SWRXaEI7TWNwQ1I7UUEyQlkscUJBQWdCLEVBQUEsRUFFdkI7RUE3Qkw7SUFnQ1EsMkJBQWdCLEVBQUE7SWRJaEI7TWNwQ1I7UUFrQ1kscUJBQWdCLEVBQUEsRUFFdkI7RUFwQ0w7SUF3Q1Esd0VBQXFCLEVBQUE7RUF4QzdCO0lBNkNZLHlCQUFxQixFQUFBO0VBN0NqQztJQW1EUSxXQUFXLEVBQUE7RUFuRG5CO0lBd0RRLGFBQWEsRUFBQTtFQXhEckI7SUF5RW9CLGdEQUErRCxFQUFBO0VBekVuRjtJQXlFb0IsZ0RBQStELEVBQUE7RUF6RW5GO0lBeUVvQixnREFBK0QsRUFBQTtFQXpFbkY7SUF5RW9CLGdEQUErRCxFQUFBO0VBekVuRjtJQXlFb0IsZ0RBQStELEVBQUE7RUF6RW5GO0lBeUVvQixnREFBK0QsRUFBQTtFQXpFbkY7SUF5RW9CLGdEQUErRCxFQUFBO0VBekVuRjtJQXlFb0IsZ0RBQStELEVBQUE7RWQxQzNFO0ljL0JSO01BeUVvQixnREFBK0QsRUFBQSxFQUV0RTtFZDVDTDtJYy9CUjtNQXlFb0IsZ0RBQStELEVBQUEsRUFFdEU7RWQ1Q0w7SWMvQlI7TUF5RW9CLGdEQUErRCxFQUFBLEVBRXRFO0VkNUNMO0ljL0JSO01BeUVvQixnREFBK0QsRUFBQSxFQUV0RTtFZDVDTDtJYy9CUjtNQXlFb0IsZ0RBQStELEVBQUEsRUFFdEU7RWQ1Q0w7SWMvQlI7TUF5RW9CLGdEQUErRCxFQUFBLEVBRXRFO0VkNUNMO0ljL0JSO01BeUVvQixnREFBK0QsRUFBQSxFQUV0RTtFZDVDTDtJYy9CUjtNQXlFb0IsZ0RBQStELEVBQUEsRUFFdEU7RWR2Q0w7SWNwQ1I7TUF5RW9CLGdEQUErRCxFQUFBLEVBRXRFO0VkdkNMO0ljcENSO01BeUVvQixnREFBK0QsRUFBQSxFQUV0RTtFZHZDTDtJY3BDUjtNQXlFb0IsZ0RBQStELEVBQUEsRUFFdEU7RWR2Q0w7SWNwQ1I7TUF5RW9CLGdEQUErRCxFQUFBLEVBRXRFO0VkdkNMO0ljcENSO01BeUVvQixnREFBK0QsRUFBQSxFQUV0RTtFZHZDTDtJY3BDUjtNQXlFb0IsZ0RBQStELEVBQUEsRUFFdEU7RWR2Q0w7SWNwQ1I7TUF5RW9CLGdEQUErRCxFQUFBLEVBRXRFO0VkdkNMO0ljcENSO01BeUVvQixnREFBK0QsRUFBQSxFQUV0RTtFQTNFYjtJQTJGd0IsaUJoQnU5RFA7SWdCcjlEVyxrQmhCcTlEWCxFQUFBO0VFOWdFVDtJY3BDUjtNQTZHNEIsaUJoQnhPUDtNZ0IwT1csa0JoQjFPWCxFQUFBLEVnQjRPSTtFQWpIekI7SUEyRndCLGdCaEJ3OURSO0lnQnQ5RFksaUJoQnM5RFosRUFBQTtFRS9nRVI7SWNwQ1I7TUE2RzRCLGdCaEJnOURaO01nQjk4RGdCLGlCaEI4OERoQixFQUFBLEVnQjU4RFM7RUFqSHpCO0lBMkZ3QixnQmhCeTlEUjtJZ0J2OURZLGlCaEJ1OURaLEVBQUE7RUVoaEVSO0ljcENSO01BNkc0QixnQmhCaTlEWjtNZ0IvOERnQixpQmhCKzhEaEIsRUFBQSxFZ0I3OERTO0VBakh6QjtJQTJGd0IsZ0JoQjA5RFI7SWdCeDlEWSxpQmhCdzlEWixFQUFBO0VFamhFUjtJY3BDUjtNQTZHNEIsZ0JoQms5RFo7TWdCaDlEZ0IsaUJoQmc5RGhCLEVBQUEsRWdCOThEUztFQWpIekI7SUEyRndCLGdCaEIyOURSO0lnQno5RFksaUJoQnk5RFosRUFBQTtFRWxoRVI7SWNwQ1I7TUE2RzRCLGdCaEJtOURaO01nQmo5RGdCLGlCaEJpOURoQixFQUFBLEVnQi84RFM7RUFqSHpCO0lBMkZ3QixnQmhCNDlEUjtJZ0IxOURZLGlCaEIwOURaLEVBQUE7RUVuaEVSO0ljcENSO01BNkc0QixnQmhCbzlEWjtNZ0JsOURnQixpQmhCazlEaEIsRUFBQSxFZ0JoOURTO0VBakh6QjtJQTJGd0IsZ0JoQjY5RFI7SWdCMzlEWSxpQmhCMjlEWixFQUFBO0VFcGhFUjtJY3BDUjtNQTZHNEIsZ0JoQnE5RFo7TWdCbjlEZ0IsaUJoQm05RGhCLEVBQUEsRWdCajlEUztFQWpIekI7SUEyRndCLGdCaEI4OURSO0lnQjU5RFksaUJoQjQ5RFosRUFBQTtFRXJoRVI7SWNwQ1I7TUE2RzRCLGdCaEJzOURaO01nQnA5RGdCLGlCaEJvOURoQixFQUFBLEVnQmw5RFM7RUFqSHpCO0lBdUlnQix5QnRCbExDO0lzQm1MRCw2QmpCelFLO0lpQjBRTCw0RGpCTk07SWlCTU4sb0RqQk5NLEVBQUE7SWlCbkl0QjtNQTZJd0IsY2pCM1FQO01pQjRRTyw4QmpCWEY7TWlCV0Usc0JqQlhGLEVBQUE7SWlCbkl0QjtNQWtKb0IseUJqQmhSSDtNaUJpUkcscUJ0QjlMSDtNc0IrTEcsNERqQmxCRTtNaUJrQkYsb0RqQmxCRSxFQUFBO01pQmxJdEI7UUF1SjRCLGN0QmxNWDtRc0JtTVcsOEJqQnRCTjtRaUJzQk0sc0JqQnRCTixFQUFBO0VpQmxJdEI7SUErS2dCLGdCdkJ4U0s7SXVCMFNUOzs7YXpCOG5WQztJeUIxblZELGdCQUFnQjtJQUVaLGdDakJwRE07SWlCb0ROLHdCakJwRE0sRUFBQTtFaUJuSXRCO0lBNExnQiwwQ2pCMURNO0lpQjBETixrQ2pCMURNO0lpQjBETiwwQmpCMURNO0lpQjBETixrRGpCMURNLEVBQUE7RWlCbEl0QjtJQWtNb0IsWWhCaTJEZTtJZ0JoMkRmLGdDakJqRUU7SWlCaUVGLHdCakJqRUUsRUFBQTtFaUJsSXRCO0lBd01vQiw2QkFBK0M7WUFBL0MscUJBQStDO0lBQy9DLDBDakJ2RUU7SWlCdUVGLGtDakJ2RUU7SWlCdUVGLDBCakJ2RUU7SWlCdUVGLGtEakJ2RUUsRUFBQTtFR25HZDtJYy9CUjtNQXNOZ0IseUJBQTZCO1VBQTdCLDZCQUE2QixFQUFBO0lBdE43QztNQXlOZ0IsV0FBVyxFQUFBLEVBQ2Q7O0FBTWI7RUFFUSwrQkFBd0UsRUFBQTtFZG5NeEU7SWNpTVI7TUFLWSwrQkFBeUUsRUFBQSxFQVNoRjtFZDFNRztJYzRMUjtNQVFZLCtCQUF3RSxFQUFBLEVBTS9FO0VBZEw7SUFZWSxZQUFZLEVBQUE7O0FBT3hCO0VDOVZNLHdCQUE2RDtFQUE3RCx5QkFBNkQ7RURpVzNELG1CQUFtQixFQUFBOztBYnd1Qlg7RUFDSSxrQkFBa0IsRUFBQTtFQUNsQjtJQUNJLFdBQVc7SUFDWCxXSHFtQ1Q7SUdwbUNTLFdIcW1DVDtJR3BtQ1Msa0JBQWtCO0lBQ2xCLFNBQVM7SUFDVCxZSHFrQ3FFO0lHcGtDckUsT0FBTztJQUNQLHlC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SUksZ0JUai9EUTtJU20vREosZUh0NkJFO0lHdzZCTixtQkN0MUV3RDtJRHUxRXhELGdCVDk5REc7SVMrOURILGtCSDM3Qk07SUcrN0JOLGNUajFFUztJU2sxRVQsZ0JULzlEcUIsRUFBQTtJU20rRHJCO01BQ0ksYUFBYSxFQUFBO0lBRWpCO01BQ0ksU0FBUyxFQUFBO0VBR2pCO0lBQ0ksZ0JUdmdFUTtJU3lnRUosaUJINTdCSTtJRzg3QlIsaUJDNzJFd0Q7SUQ4MkV4RCxnQlRwL0RHO0lTcS9ESCxrQkhqOUJNO0lHcTlCTixjVHgyRVM7SVN5MkVULGdCVHQvRHFCLEVBQUE7SVMwL0RyQjtNQUNJLGFBQWEsRUFBQTtJQUVqQjtNQUNJLFNBQVMsRUFBQTtFQUdqQjtJQUNJLGdCVDdoRVE7SVNpaUVSLGVDcDRFd0Q7SURxNEV4RCxnQlQxZ0VHO0lTMmdFSCxrQkh2K0JNO0lHMitCTixjVC8zRVM7SVNnNEVULGdCVDdnRXFCLEVBQUE7SVNpaEVyQjtNQUNJLGFBQWEsRUFBQTtJQUVqQjtNQUNJLFNBQVMsRUFBQTtFQUdqQjtJQUNJLGdCVG5qRVE7SVN1akVSLGVDMzVFd0Q7SUQ0NUV4RCxnQlRoaUVHO0lTaWlFSCxrQkg3L0JNO0lHaWdDTixjVHQ1RVM7SVN1NUVULGdCVHBpRXFCLEVBQUE7SVN3aUVyQjtNQUNJLGFBQWEsRUFBQTtJQUVqQjtNQUNJLFNBQVMsRUFBQTtFQUtqQjtJQUNJLCtCQUFtRDtJQUNuRCxlQ2o3RXdEO0lEazdFeEQsZ0JIditCdUI7SUd3K0J2QixnQlRscUVpQjtJU21xRWpCLGNUMTZFVyxFQUFBO0lTNjZFWDtNQUNJLHdCQUF3QixFQUFBO0lBRzVCO01BQ0ksd0JBQXdCLEVBQUE7SUFFNUI7TUFDSSxjQUFjLEVBQUE7SUFFbEI7TUFDSSxhSDlqQ3FCO01HK2pDckIsZ0JIL2pDcUIsRUFBQTtFRzRrQzdCO0lBRUksZ0JBQWdCLEVBQUE7RUFFcEI7SUFDSSxZSHYvQmM7SUd3L0JkLFVBQVU7SUFDVixnQlR0c0VpQjtJU3d1QnJCLGdCQUFnQjtJQUNoQixpQkFBaUIsRUFBQTtJQSs5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RUF2QjdCO0lBNEJZLDRCakJoeENVO0lpQmd4Q1Ysb0JqQmh4Q1UsRUFBQTtJaUJvdkN0QjtNQThCZ0IsNEJqQm54Q007TWlCbXhDTixvQmpCbnhDTSxFQUFBOztBaUIweEN0QjtFQUlZLHFFQUFzRSxFQUFBOztBQUpsRjtFQVlZLHFFQUFzRTtFQUN0RSx3Q0FBd0Q7RUFDeEQseURqQi94Q3NDO1VpQit4Q3RDLGlEakIveENzQztFaUJneUN0QyxnQkFBZ0I7RUFDaEIsc0NqQnp5Q1U7RWlCeXlDViw4QmpCenlDVSxFQUFBO0VpQnl4Q3RCO0lBbUJnQixXQUFXO0lBQ1gsV0FBVztJQUNYLFlBQVk7SUFDWixrQkFBa0I7SUFDbEIsY0FBYztJQUNkLHdDQUF3RDtJQUN4RCwrRGpCMXlDa0M7WWlCMHlDbEMsdURqQjF5Q2tDO0lpQjJ5Q2xDLHNDakJuekNNO0lpQm16Q04sOEJqQm56Q00sRUFBQTs7QWlCeXhDdEI7RUFnQ29CLFVBQVU7RUFDVixrREFBa0U7RUFDbEUsc0NqQjV6Q0U7RWlCNHpDRiw4QmpCNXpDRSxFQUFBO0VpQjB4Q3RCO0lBb0N3QixrREFBa0U7SUFDbEUsc0NqQi96Q0Y7SWlCK3pDRSw4QmpCL3pDRixFQUFBOztBaUIweEN0QjtFQTZDZ0IsVUFBVTtFQUNWLGtEQUFrRTtFQUNsRSxzQ2pCejBDTTtFaUJ5MENOLDhCakJ6MENNLEVBQUE7RWlCMHhDdEI7SUFpRG9CLG9EQUFvRTtJQUNwRSxzQ2pCNTBDRTtJaUI0MENGLDhCakI1MENFLEVBQUE7O0FpQjB4Q3RCO0VBMkRZLDZCakJ4bERTO0VpQnlsRFQsNERqQjUwQ3lDO1VpQjQwQ3pDLG9EakI1MEN5QztFaUI2MEN6Qyw4RGpCdDFDVTtFaUJzMUNWLHNEakJ0MUNVO0VpQnMxQ1YsOENqQnQxQ1U7RWlCczFDVix1RWpCdDFDVSxFQUFBO0VpQnl4Q3RCO0lBK0RnQixxQmpCbmxEQztJaUJvbERELHdCQUFnQjtZQUFoQixnQkFBZ0I7SUFDaEIsOERqQjMxQ007SWlCMjFDTixzRGpCMzFDTTtJaUIyMUNOLDhDakIzMUNNO0lpQjIxQ04sdUVq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bEI4eUdtQixFQUFBOztBa0I5MkduQztFQXlFZ0IscUJBQXFCO0VBRXJCLGlDbkJ3R3VCO0VtQnZHdkIsa0JBQWtCLEVBQUE7O0FBNUVsQztFQXFGWSxZbEJ3UUQ7RWtCdlFDLGN4QllLO0V3QlhMLGVsQit3RzRCLEVBQUE7O0FrQnQyR3hDO0VBMEZZLGN4QlFLLEVBQUE7O0F3QmxHakI7RUFpR1ksWWxCMlBEO0VrQjFQQyxjbkJQcUM7RW1CUXJDLGVsQm13RzRCLEVBQUE7O0FrQnQyR3hDO0VBc0dZLGNuQlhxQyxFQUFBOztBbUIzRmpEO0VBeUdZLGN4QlBLLEVBQUE7O0F3QmxHakI7RUErR1ksWWxCNE9EO0VrQjNPQyxjekIrT3lEO0V5QjlPekQsZWxCcXZHNEIsRUFBQTs7QWtCdDJHeEM7RUFvSFksY3pCMk95RCxFQUFBOztBeUIvVnJFO0VBMkhnQixjeEJqQkMsRUFBQTs7QXdCMUdqQjtFQWdJZ0IsY3hCOUJDLEVBQUE7O0F3QmxHakI7RUFxSWdCLFlsQnlOYTtFa0J4TmIsaUJBQWlCO0VBQ2pCLGN6QndOcUQ7RXlCdk5yRCxtQ25CNEMyQjtFbUIzQzNCLGVsQmt2R3dCLEVBQUE7O0FrQjMzR3hDO0VBK0lnQixZbEJnTmUsRUFBTzs7QWtCL1Z0QztFQXFKZ0IsZUFBZSxFQUFBOztBQXJKL0I7RUF3SmdCLGlDbkIyQnVCO0VtQjFCdkIsY3hCdkRDLEVBQUE7O0F3QmxHakI7RUE4SlEsOEJBQW1CO0VBQW5CLDZCQUFtQjtNQUFuQix1QkFBbUI7VUFBbkIsbUJBQW1CLEVBQUE7O0FBOUozQjtFQWlLUSxnQkFBZ0IsRUFBQTs7QUFJeEI7RUFDSSxjbkJwSmE7RW1CcUpiLG1CZGhGNEQ7RWNpRjVELGtCbEJzc0crQjtFa0Jyc0cvQixnQnhCeU13QixFQUFBO0V3QjdNNUI7SUFNUSxZbEJnTWE7SWtCL0xiLHFCQUFxQjtJQUNyQixpQkFBaUI7SUFDakIsZWxCK3NHNEI7SWtCOXNHNUIsdUJuQmtEMEIsRUFBQTs7QW1CM0NsQztFQUNJLGtCQUFrQixFQUFBO0VoQlhkO0lnQlVSO01BSVEsb0JBQW1CLEVB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QTBDaFksYUExQ2dZO0lBNEM1WCx5QkFBbUI7UUFBbkIsc0JBQW1CO1lBQW5CLG1CQUFtQjtJQUNuQix3QkFBdUI7UUFBdkIscUJBQXVCO1lBQXZCLHVCQUF1QjtJQU0zQixrQkFBa0I7SUFDbEIsNENBQWtFO0lBRWxFLCtDQUErQztJQUMvQyxjSnRaYTtJSXVaYix5QlRwVWE7SVNxVWIsaUJIK2M0QjtJRzljNUIsZUNqVjREO0lEa1Y1RCxnQkgyc0hxQztJRzFzSHJDLGtCQUFrQjtJQUNsQixtQkFBbUI7SUFDbkIsZUFBZTtJQUVYLHlCVG9FZ0M7SVNqRWhDLHFCSGtjeUU7SUdqY3pFLGlCSDhid0I7SUczYnhCLHFCVG5WUztJU3VWYixxQkFBcUI7SUFDckIsY0gwYnlCO0lHdmJyQiwyQkFBb0U7SUFFeEUsZ0JBQWdCO0lBQ2hCLDRCSmhMa0I7SUlnTGxCLG9CSmhMa0IsRUFBQTtJRy9GZDtNbUIyRFI7UWxCMk5RLFdrQjVKMlE7UWxCNkozUSw0Q0FBa0UsRUFBQSxFa0I1SmpFO0lsQmlLTDtNQUNJO1FBQ0ksY0poY0s7UUlpY0wseUJUdFdLO1FTd1dELHFCVHhXQztRUzRXTCxxQkFBcUI7UUFDckIsNEJKeE1VO1FJd01WLG9CSnhNVSxFQUFBO1FJZ05WO1VBQ0kseUJKamRDO1VJa2RELHlDSmxOTTtVSWtOTixpQ0psTk0sRUFBQSxFSW1OVDtJQUdUO01BQ0ksY0pwZFM7TUlxZFQseUJUdFlXO01Td1lQLHFCVHhZTztNUzRZWCw0Qko5TmM7TUk4TmQsb0JKOU5jLEVBQUE7SUlxT2xCO01BSVEsY1Z6SnlEO01VOEp6RCx5Qko5ZUs7TUltZkwsc0NKamVxQjtNSW1lekIsbUJBQW1CLEVBQUE7SUFPdkI7TUFJUSxzQ0o5ZXFCLEVBQUE7SUlrZjdCO01BQ0ksYUFBYTtNQUNiLDRESjVQNkM7Y0k0UDdDLG9ESjVQNkMsRUFBQTtJSThSakQ7TUFDSSx5Q0p4U2M7TUl3U2QsaUNKeFNjLEVBQUE7RXNCcEN0QjtJQWtFWSxTQUFTO0lBQ1QsVUFBVTtJQUNWLGtCQUFrQjtJQUNsQixnQnJCcTBIZ0M7SXFCcDBI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O01TMllULDRCSjlOYztNSThOZCxvQko5TmMsRUFBQTtJSXFPbEI7TUFJUSxjVnpKeUQ7TVU4SnpELHlCSjllSztNSW1mTCxzQ0pqZXFCO01JbWV6QixtQkFBbUIsRUFBQTtJQU92QjtNQUlRLHNDSjllcUIsRUFBQTtJSWtmN0I7TUFDSSxhQUFhO01BQ2IsNERKNVA2QztjSTRQN0Msb0RKNVA2QyxFQUFBO0lJOFJqRDtNQUNJLHlDSnhTYztNSXdTZCxpQ0p4U2MsRUFBQTtFc0JnRXRCO0lsQmlDSSxxQ0FBZ0M7SUF5QjVCLFdrQk95SztJbEJPN0ssb0JBMUNnWTtJQTBDaFksb0JBMUNnWTtJQTBDaFksYUExQ2dZO0lBNEM1WCx5QkFBbUI7UUFBbkIsc0JBQW1CO1lBQW5CLG1CQUFtQjtJQUNuQix3QkFBdUI7UUFBdkIscUJBQXVCO1lBQXZCLHVCQUF1QjtJQU0zQixrQkFBa0I7SUFDbEIsNENBQWtFO0lBRWxFLDJDQUErQztJQUMvQyxjSnRaYTtJSXVaYix5QkpwVVU7SUlxVVYsaUJIK2M0QjtJRzljNUIsa0JDalY0RDtJRGtWNUQsZ0JBOUNxQjtJQStDckIsa0JBQWtCO0lBQ2xCLG1CQUFtQjtJQUNuQixlQUFlO0lBRVgseUJUb0VnQztJU2pFaEMscUJIa2N5RTtJR2pjekUsaUJIOGJ3QjtJR3pieEIscUJKbGFTO0lJb2FiLHFCQUFxQjtJQUNyQixjSDBieUI7SUd2YnJCLDJCQUFvRTtJQUV4RSxnQkFBZ0I7SUFDaEIsNEJKaExrQjtJSWdMbEIsb0JKaExrQixFQUFBO0lHL0ZkO01tQitKUjtRbEJ1SFEsV2tCdER5SztRbEJ1RHpLLDRDQUFrRSxFQUFBLEVrQnREakU7SWxCMkRMO01BQ0k7UUFDSSxjSmhjSztRSWljTCx5QlQvV087UVNtWEgscUJUblhHO1FTcVhQLHFCQUFxQjtRQUNyQiw0Qkp4TVU7UUl3TVYsb0JKeE1VLEVBQUE7UUlnTlY7VUFDSSx5QkpqZEM7VUlrZEQseUNKbE5NO1VJa05OLGlDSmxOTSxFQUFBLEVJbU5UO0lBR1Q7TUFDSSxjSnZkUztNSXdkVCx5QlRyWVM7TVN5WUwscUJUellLO01TMllULDRCSjlOYztNSThOZCxvQko5TmMsRUFBQTtJSXFPbEI7TUFJUSxjVnpKeUQ7TVU4SnpELHlCSjllSztNSW1mTCxzQ0pqZXFCO01JbWV6QixtQkFBbUIsRUFBQTtJQU92QjtNQUlRLHNDSjllcUIsRUFBQTtJSWtmN0I7TUFDSSxhQUFhO01BQ2IsNERKNVA2QztjSTRQN0Msb0RKNVA2QyxFQUFBO0lJOFJqRDtNQUNJLHlDSnhTYztNSXdTZCxpQ0p4U2MsRUFBQTtFc0JnRXRCO0lsQndsREksaUNBQWM7SUFFZCxXQUFXO0lBQ1gsa0JBQWtCO0lBQ2xCLG9CQUFhO0lBQWIsb0JBQWE7SUFBYixhQUFhO0lBQ2IsNEJBQXNCO0lBQXRCLDZCQUFzQjtRQUF0QiwwQkFBc0I7WUFBdEIsc0JBQXNCO0lBQ3RCLG1CQUFlO1FBQWYsZUFBZTtJQVVmLFdIdUJtQjtJR3RCbkIsY0htQmdCO0lHbEJoQixrQkhxQm1CO0lHcEJuQixtQkNwMkQ0RDtJRHkyRHhELGdCVjU2RGE7SVUyN0RqQix3QkFBdUI7UUFBdkIscUJBQXVCO1lBQXZCLHVCQUF1QjtJQUN2QixrQkFBa0IsRUFBQTtJQWhDbEI7TUFDSSw4QkFBbUI7TUFBbkIsNkJBQW1CO1VBQW5CLHVCQUFtQjtjQUFuQixtQkFBbUI7TUFDbkIscUJBQWlCO1VBQWpCLGlCQUFpQjtNQUNqQix3QkFBdUI7VUFBdkIscUJBQXVCO2NBQXZCLHVCQUF1QixFQUFBO01EbHdEdkI7UUMrdkRKO1VBS1EseUJBQW1CO2NBQW5CLHNCQUFtQjtrQkFBbkIsbUJBQW1CLEVBQUEsRUFFMUI7SUR0d0RHO01tQitKUjtRbEJtbkRRLFdIaUJTLEVBQUEsRXFCOWpEWjtJbEJnakRHO01BQ0ksK0JBQStCO01BQy9CLGVBbEM4RTtNQW1DOUUsY0FBYyxFQUFBO0lBU3RCO01BQ0ksd0JBQXVCO1VBQXZCLHFCQUF1QjtjQUF2Qix1QkFBdUI7TUFDdkIsa0JBQWtCLEVBQUE7SUFHdEI7TUFDSSxpQkFBaUI7TUFDakIsb0JBQW9CO01BQ3BCLHVCQUEyQjtVQUEzQixvQkFBMkI7Y0FBM0IsMkJBQTJCO01BQzNCLGdCQUFnQixFQUFBO01EMXlEaEI7UUNzeURKO1VBTVEsa0JIYlcsRUFBQSxFR2VsQjtJQUVEO01BQ0ksZUgyNURTLEVBQUE7TUU1c0hUO1FDZ3pESjtVQUdRLGVIMDVETSxFQUFBLEVHeDVEYjtJQUdEO01BaUtBLHlCVjN5RGlFO01VNHlEakUseUJKamhFVTtNSW1oRU4sZ0JWem5FYSxFQUFBO01VNG5FWjtRQUNHLFlINTFEQyxFQUFPO01HZzJEWjtRQUNJLGNKNWhFRSxFQUFBO01JaWlFTjtRQUNJLFlIdjJEQztRR3cyREQsY0puaUVFLEVBQUE7TUlzaUVWO1FBQ0ksY0p2aUVNLEVBQUE7SUlrM0RWO01BbUlBLHlCVmh4RGlFO01VaXhEakUseUJKaC9EVTtNSWsvRE4sZ0JWOWxFYSxFQUFBO01VaW1FYjtRQUNJLFlIaDBEQyxFQUFPO01HbzBEWjtRQUNJLGNKMy9ERSxFQUFBO01JZ2dFTjtRQUNJLFlIMzBEQztRRzQwREQsY0psZ0VFLEVBQUE7TUlxZ0VWO1FBQ0ksY0p0Z0VNLEVBQUE7SUkrMkRWO01BcUdBLHlCVnJ2RGlFO01Vc3ZEakUseUJKLzhEVTtNSWk5RE4sZ0JWbmtFYSxFQUFBO01Vc2tFYjtRQUNJLFlIcHlERCxFQUFPO01Hd3lEVjtRQUNJLGNKMTlERSxFQUFBO01JKzlETjtRQUNJLFlIL3lERDtRR2d6REMsY0pqK0RFLEVBQUE7TUlvK0RWO1FBQ0ksY0pyK0RNLEVBQUE7SUlvN0RWO01BQ0ksY1QzOURXO01TNDlEWCxnQkFBZ0IsRUFBQTtJQXZFcEI7TUE0RUEseUJWbHVEaUU7TVVtdURqRSx5QkpoakVhLEVBQUE7TUlrakVUO1FBQ0ksWUg1dkRLLEVBQU87TUdnd0RoQjtRQUNJLGNKeGpFSyxFQUFBO01JMmpFYjtRQUNJLGNKNWpFUztRSTZqRVQsZ0JBQWdCLEVBQUE7SUFyRnBCO01BQ0ksdUJBQWMsRUFBQTtNQUNkO1FBQ0ksWUgzakRRLEVBQU87SUdna0R2QjtNQUNJLGlCQUFpQixFQUFBO0lBSXJCO01BRUksb0JBQWE7TUFBYixvQkFBYTtNQUFiLGFBQWE7TUFDYiw4QkFBbUI7TUFBbkIsNkJBQW1CO1VBQW5CLHVCQUFtQjtjQUFuQixtQkFBbUI7TUFDbkIsbUJBQWU7VUFBZixlQUFlO01BQ2Ysd0JBQXVCO1VBQXZCLHFCQUF1QjtjQUF2Qix1QkFBdUI7TUFFdkIsMkJBQXFCO1VBQXJCLHdCQUFxQjtjQUFyQixxQkFBcUI7TUFDckIsU0FBUyxFQUFBO01BQ1Q7UUFDSSwyQkFBb0I7UUFBcEIsMkJBQW9CO1FBQXBCLG9CQUFvQjtRQUNwQix5QkFBbUI7WUFBbkIsc0JBQW1CO2dCQUFuQixtQkFBbUI7UUFDbkIsd0JBQXNFO1FBQ3RFLCtCQUErQjtRQUMvQixlQS9HOEUsRUFBQTtRRDF2RGxGO1VDbzJEQTtZQU9RLGtCQUFrQjtZQUNsQixNQUFNO1lBQ04sWUFBWSxFQUFBLEVBRW5CO0lBRUw7TUFDSSwyQkFBb0I7TUFBcEIsMkJBQW9CO01BQXBCLG9CQUFvQjtNQUNwQiw0QkFBc0I7TUFBdEIsNkJBQXNCO1VBQXRCLDBCQUFzQjtjQUF0QixzQkFBc0I7TUFDdEIsY0FBYztNQUNkLHdCQUFnQjtjQUFoQixnQkFBZ0I7TUFDaEIsNkJBQTZCLEVBQUE7TURqM0Q3QjtRQzQyREo7VUFPUSxTQUFTLEVBQUEsRUFFaEI7SUFnZUQ7TUFDSSwrQkFBbUQ7TUFDbkQsZUNqN0V3RDtNRGs3RXhELGdCVG5pRXFCO01Tb2lFckIsbUJIbGtCaUM7TUdta0JqQyxjVDE2RVcsRUFBQTtNUzY2RVg7UUFDSSx3QkFBd0IsRUFBQTtNQUc1QjtRQUNJLHdCQUF3QixFQUFBO01BRTVCO1FBQ0ksY0FBYyxFQUFBO01BRWxCO1FBQ0ksYUg5akNxQjtRRytqQ3JCLGdCSC9qQ3FCLEVBQUE7SUc0c0I3QjtNQUNJLGNIL21CeUIsRUFBQTtJR2tuQjdCO01BQ0ksMkNBQXNCO01BZXRCLGVBQWU7TUFDZixnQkFBZ0IsRUFBQTtNQWRaO1FBRUksNkJKcHFFSyxFQUFBO1FJcXFFTDtVQUNJLG1EQUFtRCxFQUFBO1FBRXZEO1VBR0ksZ0JUanVEWSxFQUFBO01TdXVEeEI7UUFDSSxjQUFjLEVBQUE7UUQ3Z0VsQjtVQzRnRUE7WUFHUSxjQUFjLEVBQUEsRUFnQnJCO1FBYk87VUFDSSxhQUFhLEVBQUE7VURuaEV6QjtZQ2toRVE7Y0FHUSx3QkFBd0IsRUFBQSxFQUUvQjtRQUVMO1VBQ0ksY0FBYyxFQUFBO1VEMWhFdEI7WUN5aEVJO2NBR1Esd0JBQXdCLEVBQUEsRUFFL0I7TUFFTDtRQUNJLHVCSHhwQm9DLEVBQUE7TUV6NEN4QztRQ21pRUE7VUFHUSxhSDVwQmUsRUFBQSxFRzhwQnRCO01Bb0VMO1FBQ0ksV0FBVztRQUNYLG9CQUFhO1FBQWIsb0JBQWE7UUFBYixhQUFhLEVBQUE7UUQ5bUViO1VDNG1FSjtZQUlRLFlIMzNCTyxFQUFBLEVHNjNCZDtNQXJFRztRQUNJLDZCSm50RVMsRUFBQTtRSW90RVQ7VUFDSSw2QkpydEVLLEVBQUE7UUl5dEVEO1VBQ0ksb0NKMXRFSCxFQUFBO1FHcUtiO1VDeWpFSTtZQUVRLGtCQUFrQixFQUFBLEVBUXpCO01BRUw7UUFDSSxjVHRwRU8sRUFBQTtNUTJFWDtRQytrRVE7VUFFUSxvQkFBYTtVQUFiLG9CQUFhO1VBQWIsYUFBYTtVQUNiLDRCQUFzQjtVQUF0Qiw2QkFBc0I7Y0FBdEIsMEJBQXNCO2tCQUF0QixzQkFBc0IsRUFBQSxFQVM3QjtNRDNsRVQ7UUNvbEVZO1VBRVEsbUJILzBCRztVR2cxQkgsb0JIaDFCRztVR2kxQkgsZ0NKL3VFWCxFQUFBLEVJaXZFSTtNQUliO1FBQ0ksY0FBYztRQUNkLG1CQUFtQjtRQUNuQixnQkFBZ0IsRUFBQTtNQUtSO1FBQ0ksY1RsckVMO1FTbXJFSyxnQlQ5ekRRLEVBQUE7SVNpMUQ1QjtNQUNJLFdBQVc7TUFDWCxrQkFBa0I7TUFDbEIsb0JBQWE7TUFBYixvQkFBYTtNQUFiLGFBQWE7TUFDYiw0QkFBc0I7TUFBdEIsNkJBQXNCO1VBQXRCLDBCQUFzQjtjQUF0QixzQkFBc0I7TUFDdEIsd0JBQXVCO1VBQXZCLHFCQUF1QjtjQUF2Qix1QkFBdUI7TUFDdkIsU0FBUztNQUNULG1CQUFtQjtNQUNuQixrQkgzc0JZO01HNHNCWiw2QkpweUVhO01JcXlFYiw0REp4aEU2QztjSXdoRTdDLG9ESnhoRTZDO01JeWhFN0Msa0JBQWtCO01BQ2xCLGlEVDd1RStDO01TOHVFL0MsZUM3dEV3RDtNRGl1RXhELDhESnhpRWM7TUl3aUVkLHNESnhpRWM7TUl3aUVkLDhDSnhpRWM7TUl3aUVkLHVFSnhpRWMsRUFBQTtNRy9GZDtRQ3NuRUo7VUFtQlEsOEJBQW1CO1VBQW5CLDZCQUFtQjtjQUFuQix1QkFBbUI7a0JBQW5CLG1CQUFtQjtVQUNuQixTQUFTLEVBQUEsRUFpRGhCO01BL0NHO1FBQ0ksd0JBQWdCO2dCQUFoQixnQkFBZ0I7UUFDaEIscUJKMXlFSztRSTJ5RUwsOERKampFVTtRSWlqRVYsc0RKampFVTtRSWlqRVYsOENKampFVTtRSWlqRVYsdUVKampFVSxFQUFBO1FJa2pFVjtVQUNJLGNKMXlFZ0I7VUkyeUVoQiw4QkpwakVNO1VJb2pFTixzQkpwakVNLEVBQUE7TUl1akVkO1FBQ0ksZ0JBQWdCLEVBQUE7TUFFcEI7UUFDSSxtQkFBbUIsRUFBQTtNRHpwRXZCO1FDc25FSjtVQXNDUSxrQkh4dUJRLEVBQUEsRUd1d0JmO01BN0JHO1FBQ0ksZ0JBQWdCLEVBQUE7TUFFcEI7UUFDSSxZSDVnRUk7UUc2Z0VKLGtCQUFrQjtRQUNsQixxQkFBcUI7UUFDckIsYUgvdUJzQjtRR2d2QnRCLGVIL3VCbUI7UUdndkJuQixjSm4wRUs7UUlvMEVMLGlDSnRxRTJCO1FJdXFFM0IsZUFBZTtRQUNmLDhCSjNrRVU7UUkya0VWLHNCSjNrRVUsRUFBQTtNSTZrRWQ7UUFDSSxNQUFNO1FBQ04sT0FBTyxFQUFBO01BRVg7UUFDSSxRQUFRO1FBQ1IsU0FBUztRQUNULGlDQUF5QjtnQkFBekIseUJBQXlCLEVBQUE7TUFFN0I7UUFDSSxXQUFXLEVBQUE7UUR0ckVmO1VDcXJFQTtZQUdRLGdCQUFnQixFQUFBLEVBRXZCO0lBZ1ZHO01BRUksZ0JIdHBDTyxFQUFBO01HdXBDUDtRQUVJLHFCQUFxQixFQUFBO01BR3JCO1FBQ0kscUJBQXFCO1FBQ3JCLGlCQUFpQjtRQUNqQixpQ0puaEZlLEVBQUE7SUl1aEYzQjtNQUNJLFlILzRFTCxFQUFPO0lHbzVFTjtNQUNJLFlIcDVFRDtNR3E1RUMsaUNBQWlEO2NBQWpELHlCQUFpRCxFQUFBO0lBV3pEO01BR0ksMkJBQW9CO01BQXBCLDJCQUFvQjtNQUFwQixvQkFBb0I7TUFFcEIsOEJBQW1CO01BQW5CLDZCQUFtQjtVQUFuQix1QkFBbUI7Y0FBbkIsbUJBQW1CO01BQ25CLFVBTDZCO01BTzdCLGdCSDlyQ1csRUFBQTtJR2tzQ2Y7TUFDSSxlQUFlLEVBQUE7SUEvckJ2QjtNQUNJLDBCQUEwQixFQUFBO0lBSTFCO01BQ0ksa0JBQWtCLEVBQUE7TURyNER0QjtRQ280REE7VUFHUSxpQkFBYSxFQUFBLEVBRXBCOztBa0IzcERUO0VBQ0ksYUFBYSxFQUFBOztBQUVqQjtFQUNJLGdCQUFnQjtFQUNoQixvQmpCeFU0RDtFaUJ5VTVELGdCQUFnQjtFQUNoQixjdEIzUlUsRUFBQTtFc0J1UmQ7SUFNUSxTQUFTLEVBQUE7O0FBVWpCO0VBQ0ksb0JBQWE7RUFBYixvQkFBYTtFQUFiLGFBQWE7RUFDYiw4QkFBbUI7RUFBbkIsNkJBQW1CO01BQW5CLHVCQUFtQjtVQUFuQixtQkFBbUI7RUFDbkIsbUJBQWU7TUFBZixlQUFlO0VBQ2YsbUJBQW1CO0VBQ25CLFdBQTZDLEVBQUE7RW5CdFF6QztJbUJpUVI7TUFPUSxtQkFBbUI7TUFDbkIsV0FBb0QsRUFBQSxFQXFEM0Q7RUE3REQ7SUFXUSxXQUFXO0lBQ1gsb0JBQWE7SUFBYixvQkFBYTtJQUFiLGFBQWE7SUFDYiw4QkFBbUI7SUFBbkIsNkJBQW1CO1FBQW5CLHVCQUFtQjtZQUFuQixtQkFBbUI7SUFDbkIsbUJBQWU7UUFBZixlQUFlO0lBQ2YsbUJBQVk7UUFBWixvQkFBWTtZQUFaLFlBQVk7SUFDWixTQXBCTyxFQUFBO0luQnhQUDtNbUI0UFI7UUFrQlksMEJBQWtCO1FBQWxCLHVCQUFrQjtRQUFsQixrQkFBa0I7UUFDbEIsU0F0Qkc7UUF1QkgscUJBQXlCO1lBQXpCLGtCQUF5QjtnQkFBekIseUJBQXlCLEVBQUEsRUFRaEM7SW5CeFJHO01tQjRQUjtRQXlCZ0IsZ0JBQWdCLEVBQUEsRUFFdkI7RUEzQlQ7SWxCNURJLHFDQUFnQztJQXVCNUIsV2tCK0U4TTtJbEJqRWxOLGdCa0JpRXNRO0lsQmhFdFEsWWtCZ0VvUDtJbEIvRHBQLG9Ca0IrRG1TO0lsQi9EblMsb0JrQitEbVM7SWxCL0RuUyxha0IrRG1TO0lsQjdEL1IseUJBQW1CO1FBQW5CLHNCQUFtQjtZQUFuQixtQkFBbUI7SUFDbkIsd0JBQXVCO1FBQXZCLHFCQUF1QjtZQUF2Qix1QkFBdUI7SUFNM0Isa0JBQWtCO0lBQ2xCLDRDQUFrRTtJQUVsRSxnREFBK0M7SUFDL0MsY1RuVWE7SVNvVWIseUJKdlphO0lJd1piLGlCSCtjNEI7SUc5YzVCLGtCQ2pWNEQ7SURrVjVELGdCVHlMNkI7SVN4TDdCLGtCQUFrQjtJQUNsQixtQkFBbUI7SUFDbkIsZUFBZTtJQUVYLHlCVG9FZ0M7SVNqRWhDLHFCSGdjMkI7SUcvYjNCLGlCSDhid0I7SUd6YnhCLHFCSmxhUztJSW9hYixxQkFBcUI7SUFDckIsY0gwYnlCO0lHdmJyQiwyQkFBb0U7SUFFeEUsZ0JBQWdCO0lBQ2hCLDRCSmhMa0I7SUlnTGxCLG9CSmhMa0I7SUkwUWQ7Ozs7Ozs7O1NaNGlkQztJOEI5bWRELG1CQUFtQixFQUFBO0luQnZTbkI7TW1CNFBSO1FsQjBCUSwwQmtCZ0JrTztRbEJoQmxPLHVCa0JnQmtPO1FsQmhCbE8sa0JrQmdCa087UWxCZmxPLDRDQUFrRSxFQUFBLEVrQmlCckU7SWxCWkQ7TUFDSTtRQUNJLGNKaGNLO1FJaWNMLHlCVHRXSztRUzBXRCxxQlQxV0M7UVM0V0wscUJBQXFCO1FBQ3JCLDRCSnhNVTtRSXdNVixvQkp4TVUsRUFBQTtRSTBNTjtVQUNDLGNKM2NBO1VJNGNBLDhCSjVNSztVSTRNTCxzQko1TUssRUFBQTtRSWdOVjtVQUNJLHlCSmpkQztVSWtkRCx5Q0psTk07VUlrTk4saUNKbE5NLEVBQUEsRUltTlQ7SUFHVDtNQUVJLHlCVHJZUztNU3lZTCxxQlR6WUs7TVMyWVQsNEJKOU5jO01JOE5kLG9CSjlOYyxFQUFBO0lJcU9sQjtNQUVRLGNKM2RxQjtNSWdlckIseUJKNWVLO01JbWZMLHNDSmplcUI7TUltZXpCLG1CQUFtQixFQUFBO01BRWY7UUFDQyxjVnhLd0QsRUFBQTtJVTRLakU7TUFJUSxzQ0o5ZXFCLEVBQUE7SUlrZjdCO01BQ0ksYUFBYTtNQUNiLDRESjVQNkM7Y0k0UDdDLG9ESjVQNkMsRUFBQTtJSWlSN0M7TUFDSSxZSHpQQTtNRzBQQSxrQmtCOUZrQjtNbEIrRmxCLGlDSjFYMkI7TUkyWDNCLGVIKzlHbUQ7TUcxOUduRCxjSnhoQnFCO01JeWhCckIsOEJKcFNVO01Jb1NWLHNCSnBTVSxFQUFBO0lJdVNsQjtNQUNJLHlDSnhTYztNSXdTZCxpQ0p4U2MsRUFBQTtFc0I2SnRCO0lsQjVESSxxQ0FBZ0M7SUF1QjVCLFdrQitGeUs7SWxCakY3SyxnQmtCaUZpTztJbEJoRmpPLFlrQmdGK007SWxCL0UvTSxvQmtCK0U4UDtJbEIvRTlQLG9Ca0IrRThQO0lsQi9FOVAsYWtCK0U4UDtJbEI3RTFQLHlCQUFtQjtRQUFuQixzQkFBbUI7WUFBbkIsbUJBQW1CO0lBQ25CLHdCQUF1QjtRQUF2QixxQkFBdUI7WUFBdkIsdUJBQXVCO0lBTTNCLGtCQUFrQjtJQUNsQiw0Q0FBa0U7SUFFbEUsZ0RBQStDO0lBQy9DLGNUblVhO0lTb1ViLHlCSnZaYTtJSXdaYixpQkgrYzRCO0lHOWM1QixrQkNqVjREO0lEa1Y1RCxnQlR5TDZCO0lTeEw3QixrQkFBa0I7SUFDbEIsbUJBQW1CO0lBQ25CLGVBQWU7SUFFWCx5QlRvRWdDO0lTakVoQyxxQkhnYzJCO0lHL2IzQixpQkg4YndCO0lHemJ4QixxQkpsYVM7SUlvYWIscUJBQXFCO0lBQ3JCLGNIMGJ5QjtJR3ZickIsMkJBQW9FO0lBRXhFLGdCQUFnQjtJQUNoQiw0QkpoTGtCO0lJZ0xsQixvQkpoTGtCO0lJMFFkOzs7Ozs7OztTWjRuZEM7SThCOXFkRCxtQkFBbUIsRUFBQTtJbkJ2VG5CO01tQjRQUjtRbEIwQlEsMEJrQmdDNkw7UWxCaEM3TCx1QmtCZ0M2TDtRbEJoQzdMLGtCa0JnQzZMO1FsQi9CN0wsNENBQWtFLEVBQUEsRWtCaUNyRTtJbEI1QkQ7TUFDSTtRQUNJLGNKaGNLO1FJaWNMLHlCVHRXSztRUzBXRCxxQlQxV0M7UVM0V0wscUJBQXFCO1FBQ3JCLDRCSnhNVTtRSXdNVixvQkp4TVUsRUFBQTtRSTBNTjtVQUNDLGNKM2NBO1VJNGNBLDhCSjVNSztVSTRNTCxzQko1TUssRUFBQTtRSWdOVjtVQUNJLHlCSmpkQztVSWtkRCx5Q0psTk07VUlrTk4saUNKbE5NLEVBQUEsRUltTlQ7SUFHVDtNQUVJLHlCVHJZUztNU3lZTCxxQlR6WUs7TVMyWVQsNEJKOU5jO01JOE5kLG9CSjlOYyxFQUFBO0lJcU9sQjtNQUVRLGNUdFpPO01TNlpQLHlCSjllSztNSW1mTCxzQ0pqZXFCO01JbWV6QixtQkFBbUIsRUFBQTtNQUVmO1FBQ0MsY1Z4S3dELEVBQUE7SVU0S2pFO01BSVEsc0NKOWVxQixFQUFBO0lJa2Y3QjtNQUNJLGFBQWE7TUFDYiw0REo1UDZDO2NJNFA3QyxvREo1UDZDLEVBQUE7SUlpUjdDO01BQ0ksWUg3UE87TUc4UFAsa0JrQjlFa0I7TWxCK0VsQixpQ0oxWDJCO01JMlgzQixlSDI3RzBEO01HdDdHMUQsY0p4aEJxQjtNSXloQnJCLDhCSnBTVTtNSW9TVixzQkpwU1UsRUFBQTtJSXVTbEI7TUFDSSx5Q0p4U2M7TUl3U2QsaUNKeFNjLEVBQUE7O0FzQjROdEI7RUFDSSwyQkFBb0I7RUFBcEIsMkJBQW9CO0VBQXBCLG9CQUFvQjtFQUNwQixtQkFBZTtNQUFmLGVBQWU7RUFDZixtQkFBWTtNQUFaLG9CQUFZO1VBQVosWUFBWTtFQUNaLFNBdkVXLEVBQUE7RW5CeFBQO0ltQjJUUjtNQU1RLG1CQUFZO1VBQVosb0JBQVk7Y0FBWixZQUFZO01BQ1osU0F6RU8sRUFBQSxFQXdHZDtFQXRDRDtJQVVRLG9CQUFhO0lBQWIsb0JBQWE7SUFBYixhQUFhO0lBQ2IsbUJBQVk7UUFBWixvQkFBWTtZQUFaLFlBQVksRUFBQTtJQVhwQjtNQWFZLG1CQUFlO1VBQWYsZUFBZTtNQUNmLG1CQUFZO1VBQVosb0JBQVk7Y0FBWixZQUFZLEVBQUE7TW5CelVoQjtRbUIyVFI7VUFnQmdCLGdCQUFnQixFQUFBLEVBT3ZCO01uQmxWRDtRbUIyVFI7VUFvQm9CLFlBQVksRUFBQSxFQUVuQjtJQXRCYjtNQXlCWSxtQkFBbUI7TUFDbkIsa0JBQWtCLEVBQUE7TUExQjlCO1FBNEJnQixZckIvSHVCO1FxQmdJdkIsYzNCdmFDO1EyQndhRCxlQUFlO1FBQ2YsaUN0QnhWdUIsRUFBQTtJc0J5VHZDO01BbUNZLGVBQWUsRUFBQTs7QUFLM0I7RUFDSSxXQUFXO0VBQ1gsb0JBQWE7RUFBYixvQkFBYTtFQUFiLGFBQWE7RUFDYix3QkFBdUI7TUFBdkIscUJBQXVCO1VBQXZCLHVCQUF1QjtFQUN2Qix5QkFBbUI7TUFBbkIsc0JBQW1CO1VBQW5CLG1CQUFtQjtFQUNuQixpQkFBaUI7RUFDakIseUIzQnhiYTtFMkJ5YmIsZ0JyQm9rSDBCO0VxQm5rSDFCLGVqQnJjNEQ7RWlCeWM1RCxjdEJqaEJhLEVBQUE7RXNCcWdCakI7SUFjUSxrQkFBa0IsRUFBQTs7QUFJMUI7RUFFSSxvQkFBb0I7RUFDcEIsV0FBVyxFQUFBO0VuQnhYUDtJbUJxWFI7TUFLUSxhQUFhLEVBQUEsRUFFcEI7O0FuQmpZTztFbUJtWVI7SUFJUSxXckJnL0dPO0lxQi8rR1AsdUJBQXVCLEVBQUEsRUFNOUI7O0FuQnpZTztFbUI4WFI7SUFRUSxZckI2K0dRO0lxQjUrR1IsaUJBQWlCLEVBQUEsRUFFeEI7O0FBR0Q7RUFDSSxvQkFBYTtFQUFiLG9CQUFhO0VBQWIsYUFBYTtFQUNiLDRCQUFzQjtFQUF0Qiw2QkFBc0I7TUFBdEIsMEJBQXNCO1VBQXRCLHNCQUFzQjtFQUN0QixnQkFBZ0I7RUFDaEIsYXJCdytHeUI7RXFCditHekIsb0RBQXdEO0VBRXBELGdCNUJoakJhLEVBQUE7RVN3SmI7SW1CaVpSO01BV1EsMEJBQTBCO01BQzFCLFdyQjA5R087TXFCejlHUCxlQUFlLEVBQUEsRUE4TXRCO0VuQnZtQk87SW1CNFlSO01BZ0JRLFlyQnU5R1E7TXFCdDlHUixrQkFBa0IsRUFBQSxFQTBNekI7RW5Cdm1CTztJbUI0WVI7TUFxQlksZUFBZSxFQUFBLEVBRXRCO0VBdkJMO0lBeUJRLDRCdEJ2VWM7SXNCdVVkLG9CdEJ2VWMsRUFBQTtFRzlGZDtJbUI0WVI7TUE4Qlksa0JBQWtCLEVBQUEsRUFNekI7RUFwQ0w7SUFrQ1ksd0JBQXdCLEVBQUE7RUFsQ3BDO0lBc0NRLDRCdEJuVmM7SXNCbVZkLG9CdEJuVmMsRUFBQTtFc0I2U3RCO0lBMENZLDRCQUFRO1FBQVIsaUJBQVE7WUFBUixRQUFRLEVBQUE7RUExQ3BCO0lBNkNZLDRCQUFRO1FBQVIsaUJBQVE7WUFBUixRQUFRLEVBQUE7RUE3Q3BCO0lBZ0RZLDRCQUFRO1FBQVIsaUJBQVE7WUFBUixRQUFRLEVBQUE7RUFoRHBCO0lBbURZLDRCQUFRO1FBQVIsaUJBQVE7WUFBUixRQUFRLEVBQUE7RUFuRHBCO0lBc0RZLDRCQUFRO1FBQVIsaUJBQVE7WUFBUixRQUFRO0lBQ1Isa0JBQWtCLEVBQUE7SUF2RDlCO01sQjIxQ0ksV0FBVztNQUNYLFdBQVc7TUFDWCxXSGgzRG9CO01HaTNEcEIsY0FBYztNQUNkLGNBQWM7TUFFZCx1QkFBa0Q7TUFDbEQsbUJBQW1CO01BQ25CLHFCSnI0RDZCO01JczREN0IsY0ovNERhLEVBQUE7SXNCMmlCakI7TWxCMjFDSSxXQUFXO01BQ1gsV0FBVztNQUNYLFdIaDNEb0I7TUdpM0RwQixjQUFjO01BQ2QsY0FBYztNQUVkLHVCQUFrRDtNQUNsRCxtQkFBbUI7TUFDbkIscUJKcjRENkI7TUlzNEQ3QixjSi80RGEsRUFBQTtFc0IyaUJqQjtJQWlFWSw0QkFBUTtRQUFSLGlCQUFRO1lBQVIsUUFBUSxFQUFBO0VBakVwQjtJQW9FWSw0QkFBUTtRQUFSLGlCQUFRO1lBQVIsUUFBUSxFQUFBO0VBcEVwQjtJQXVFWSw2QkFBUTtRQUFSLGlCQUFRO1lBQVIsUUFBUSxFQUFBO0VBdkVwQjtJQTBFWSw2QkFBUztRQUFULGtCQUFTO1lBQVQsU0FBUyxFQUFBO0VBMUVyQjtJQTZFWSw2QkFBUztRQUFULGtCQUFTO1lBQVQsU0FBUyxFQUFBO0VBN0VyQjtJQWdGWSw2QkFBUztRQUFULGtCQUFTO1lBQVQsU0FBUyxFQUFBO0VBaEZyQjtJQXFGWSw0QkFBUTtRQUFSLGlCQUFRO1lBQVIsUUFBUSxFQUFBO0VBckZwQjtJQXdGWSw0QkFBUTtRQUFSLGlCQUFRO1lBQVIsUUFBUSxFQUFBO0VBeEZwQjtJQTJGWSw0QkFBUTtRQUFSLGlCQUFRO1lBQVIsUUFBUSxFQUFBO0VBM0ZwQjtJQThGWSw0QkFBUTtRQUFSLGlCQUFRO1lBQVIsUUFBUSxFQUFBO0VBOUZwQjtJQWlHWSxVQUFVO0lBQ1YsNEJBQVE7UUFBUixpQkFBUTtZQUFSLFFBQVEsRUFBQTtJQWxHcEI7TWxCMjFDSSxXQUFXO01BQ1gsV0FBVztNQUNYLFdIaDNEb0I7TUdpM0RwQixjQUFjO01BQ2QsY0FBYztNQUVkLHVCQUFrRDtNQUNsRCxtQkFBbUI7TUFDbkIscUJKcjRENkI7TUlzNEQ3QixjSi80RGEsRUFBQTtFc0IyaUJqQjtJQXdHWSxVQUFVO0lBQ1YsNEJBQVE7UUFBUixpQkFBUTtZQUFSLFFBQVE7SUFDUixrQkFBa0IsRUFBQTtJQTFHOUI7TWxCMjFDSSxXQUFXO01BQ1gsV0FBVztNQUNYLFdIaDNEb0I7TUdpM0RwQixjQUFjO01BQ2QsY0FBYztNQUVkLHVCQUFrRDtNQUNsRCxtQkFBbUI7TUFDbkIscUJKcjRENkI7TUlzNEQ3QixjSi80RGEsRUFBQTtFc0IyaUJqQjtJQWdIWSw0QkFBUTtRQUFSLGlCQUFRO1lBQVIsUUFBUTtJQUNSLGtCQUFrQixFQUFBO0VBakg5QjtJQXVIWSw2QkFBUTtRQUFSLGlCQUFRO1lBQVIsUUFBUSxFQUFBO0VBdkhwQjtJQTBIWSw2QkFBUztRQUFULGtCQUFTO1lBQVQsU0FBUyxFQUFBO0VBMUhyQjtJQTZIWSw2QkFBUztRQUFULGtCQUFTO1lBQVQsU0FBUyxFQUFBO0VBN0hyQjtJQWdJWSw2QkFBUztRQUFULGtCQUFTO1lBQVQsU0FBUyxFQUFBO0VBaElyQjtJQW9JUSxTQUFTO0lBQ1Qsa0JBQWtCO0lBQ2xCLG1CakI1bUJ3RDtJaUI2bUJ4RCxnQnJCdzJHZ0M7SXFCdjJHaEMsYzNCbm1CUztJMkJvbUJULHlCM0JqSHlDO0kyQnNIckMsaUJyQnFLb0IsRUFBQTtFcUJuVGhDO0lBa0pRLGdCQUFnQixFQUFBO0lBbEp4QjtNQW9KWSxTQUFTO01BQ1QsVUFBVTtNQUNWLG9CakI1bkJvRCxFQUFBO0VpQnNlaEU7SUEwSlEsb0JBQWE7SUFBYixvQkFBYTtJQUFiLGFBQWE7SUFDYixtQkFBZTtRQUFmLGVBQWU7SUFDZixnQkFBZ0I7SUFDaEIsZWpCbm9Cd0Q7SWlCb29CeEQsY3RCenNCUyxFQUFBO0lzQjJpQmpCO01BZ0tZLHlDckIwMUcrRDtNcUJ6MUcvRCxnQkFBZ0IsRUFBQTtJQWpLNUI7TUFvS1kscUJBQXFCLEVBQUE7TUFwS2pDO1FBc0tnQixXQUFXLEVBQUE7TUF0SzNCO1FBeUtnQixjQUFjO1FBQ2QsZ0JyQjQwR3FCLEVBQUE7TXFCdC9HckM7UUE2S2dCLGNBQWM7UUFDZCxpQkFBaUI7UUFDakIsZ0JyQnUwR3FCLEVBQUE7SXFCdC9HckM7TUFvTFksV0FBVztNQUNYLGlCQUFpQjtNQUNqQixlakI1cEJvRDtNaUI2cEJwRCxnQkFBZ0I7TUFDaEIsa0JBQWtCLEVBQUE7RUF4TDlCO0lBOExZLGMzQnpwQks7STJCMHBCTCxlakJycUJvRDtJaUJzcUJwRCxnQnJCMHlHMEI7SXFCenlHMUIseUIzQnpLcUMsRUFBQTtFMkJ4QmpEO0lBcU1RLGtCQUFrQjtJQUNsQixvQkFBb0I7SUFDcEIsYzNCbHFCUztJMkJtcUJULGtCakI5cUJ3RDtJaUIrcUJ4RCxpQkFBaUIsRUFBQTtJQXpNekI7TUEyTVksWXJCN2RLO01xQjhkTCxXQUFXO01BQ1gsWUFBWTtNQUNaLHFCQUFxQjtNQUNyQixnQkFBZ0I7TUFDaEIsZWpCdHJCb0Q7TWlCdXJCcEQsaUN0QjNsQjJCO01zQjRsQjNCLGNBQWMsRUFBQTtJQWxOMUI7TUFxTlksYzNCeHFCSyxFQUFBO0kyQm1kakI7TUF3TlksYzNCcHJCTyxFQUFBOztBUWdGWDtFbUJ5bUJSO0lBRVEsVUFBVSxFQUFBLEVBdUJqQjs7QUF6QkQ7RUFLUSxXQUFXLEVBQUE7O0FBTG5CO0VBUVEsY0FBYztFQUNkLGMzQmpzQlM7RTJCa3NCVCxnQkFBZ0IsRUFBQTs7QW5Cbm5CaEI7RW1CeW1CUjtJQWVZLFlBQVk7SUFDWixrQkFBa0IsRUFBQSxFQUV6Qjs7QUFsQkw7RUFzQlksWUFBWSxFQUFBOztBQ256QnhCO0VBQ0ksZ0JBQWdCO0VBQ2hCLGtCQUFrQixFQUFBO0VBRnRCO0lBSVEsZ0J0QnlxSWtDO0lzQnhxSWxDLGM3QjZWNkQ7STZCNVY3RCxtQmxCb0Z3RDtJa0JuRnhELGdCdEJxcUlrQyxFQUFBO0VzQjVxSTFDO0lBVVEsa0JBQWtCO0lBQ2xCLGlCQUFpQixFQUFBOztBQUl6QjtFQUlZLFl0QjRmTSxFQUFPOztBc0JoZ0J6QjtFQVFnQixZdEJpZkssRUFBTzs7QXNCemY1QjtFQWFnQixZdEJtZUssRUFBTzs7QXNCaGY1QjtFQWtCZ0IsWXRCcWVFLEVBQU87O0FzQnZmekI7RUF1QmdCLFl0QmdkSSxFQUFPOztBc0J2ZTNCO0VBNEJnQixZdEJxZFMsRUFBTzs7QXNCamZoQztFQWlDZ0IsWXRCd2NJLEVBQU87O0FzQnplM0I7RUFzQ2dCLFl0QmtkTyxFQUFPOztBc0J4ZjlCO0VBMkNnQixZdEJzZGU7RXNCcmRmLGN2QnNGeUIsRUFBQTs7QXVCbEl6QztFQWlEZ0IsWXRCNGNjO0VzQjNjZCxjdkJnRnlCLEVBQUE7O0F1QmxJekM7RUF3RGdCLFl0QnVjVSxFQUFPOztBc0IvZmpDO0VBOERnQixZdEJvUFE7RXNCblBSLG1DdkJ5RzJCLEVBQUE7O0F1QnhLM0M7RUF1RWdCLFl0QjRhSixFQUFPOztBc0JuZm5CO0VBK0VnQixZdEIyWkMsRUFBTzs7QXNCMWV4QjtFQXFGZ0IsWXRCbVpLLEVBQU87O0FzQnhlNUI7RUEwRmdCLFl0Qm1aRSxFQUFPOztBc0I3ZXpCO0VBK0ZnQixZdEIyWk0sRUFBTzs7QXNCMWY3QjtFQW9HZ0IsWXRCdVpVLEVBQU87O0FzQjNmakM7RUE0R2dCLFl0QmdZUSxFQUFPOztBc0I1ZS9CO0VBaUhnQixZdEIyWUQ7RXNCMVlDLGN2QmlCb0IsRUFBQTs7QXVCbklwQztFQTBIZ0IsWXRCb1hELEVBQU87O0FzQjlldEI7RUErSGdCLFl0Qm1YYSxFQUFPOztBc0JsZnBDO0VBb0lnQixZdEJrWEcsRUFBTzs7QXNCdGYxQjtFQXlJZ0IsWXRCNFdFLEVBQU87O0FzQnJmekI7RUE4SWdCLFl0QmlXRSxFQUFPOztBc0IvZXpCO0VBbUpnQixZdEIrV0ssRUFBTzs7QXNCbGdCNUI7RUF3SmdCLFl0QnNXYztFc0JyV2QsY3ZCdkJ5QixFQUFBOztBdUJsSXpDO0VBK0pnQixZdEIyV2E7RXNCMVdiLGtDdkJNeUI7RXVCTHpCLGN2QjdCcUIsRUFBQTs7QXVCcElyQztFQXVLZ0IsWXRCb1dLO0VzQm5XTCxjdkJwQ3FCLEVBQUE7O0F1QnBJckM7RUE4S2dCLFl0QjJVSztFc0IxVUwsY3ZCM0NxQixFQUFBOztBdUJwSXJDO0VBcUxnQixZdEI0UGlCO0VzQjNQakIsV0FBVztFQUNYLFlBQVk7RUFDWixvQkFBYTtFQUFiLG9CQUFhO0VBQWIsYUFBYTtFQUNiLHdCQUF1QjtNQUF2QixxQkFBdUI7VUFBdkIsdUJBQXVCO0VBQ3ZCLHlCQUFtQjtNQUFuQixzQkFBbUI7VUFBbkIsbUJBQW1CO0VBQ25CLGlDdkJwQnVCO0V1QnFCdkIsZUFBZTtFQUNmLG1CQUFtQjtFQUNuQixtRHRCbW1JOEI7RXNCbG1JOUIsMEJ0QjhsSWdCO0VzQjdsSWhCLHFEdkJtRU07RXVCbkVOLDZDdkJtRU0sRUFBQTs7QXVCblF0QjtFQXNNZ0IsWXRCdVRjO0VzQnRUZCxjdkJyRXlCLEVBQUE7O0F1QjZFekM7RUFHUSxnQkFBZ0IsRUFBQTtFcEI3Q2hCO0lvQjBDUjtNQUtZLGFBQWEsRUFBQSxFQWlCcEI7RUF0Qkw7SUFTZ0IsU0FBUztJQUNULFlBQVksRUFBQTtJQVY1QjtNQVlvQixlQUFtRyxFQUFBO01BWnZIO1FBY3dCLG9CQUEyRyxFQUFBO0VBZG5JO0lBb0JZLGtCQUFrQixFQUFBOztBQUs5QjtFQUNJLG1CQUFtQixFQUFBOztBQUd2QjtFQUdRLG1CQUFtQixFQUFBOztBQUgzQjtFQU1RLFlBQVk7RUFDWixlQUFlLEVBQUE7RUFQdkI7SUFXZ0Isd0NBQXdDLEVBQUE7RUFYeEQ7SUFlWSxZQUFZO0lBQ1osb0JBQWE7SUFBYixvQkFBYTtJQUFiLGFBQWE7SUFDYix5QkFBbUI7UUFBbkIsc0JBQW1CO1lBQW5CLG1CQUFtQjtJQUNuQixTQUFTO0lBQ1QsYUFBUztJQUNULGN2QjFQSztJdUIyUEwseUJ2QnpPcUI7SXVCME9yQix5QnZCMU9xQjtJdUIyT3JCLHlDdkJDVTtJdUJEVixpQ3ZCQ1UsRUFBQTtJdUJ4QnRCO01BeUJnQix5QjVCL0tDO000QmdMRCxxQjVCaExDLEVBQUE7TTRCc0pqQjtRQTRCb0IsY3ZCclFIO1F1QnNRRyw4QnZCTkU7UXVCTUYsc0J2Qk5FLEVBQUE7TXVCdkJ0QjtRQWdDb0IsMENBQU87UUFDUCw4QnZCVkU7UXVCVUYsc0J2QlZFLEVBQUE7RXVCdkJ0QjtJQXVDWSxtQkFBTztRQUFQLFdBQU87WUFBUCxPQUFPO0lBQ1AsY3ZCOVFLO0l1QitRTCxnQjVCZ1RTO0k0Qi9TVCw4QnZCbEJVO0l1QmtCVixzQnZCbEJVLEVBQUE7RXVCeEJ0QjtJQTZDWSxXQUFXO0lBQ1gsb0JBQWE7SUFBYixvQkFBYTtJQUFiLGFBQWE7SUFDYix3QkFBdUI7UUFBdkIscUJBQXVCO1lBQXZCLHVCQUF1QjtJQUN2Qix5QkFBbUI7UUFBbkIsc0JBQW1CO1lBQW5CLG1CQUFtQixFQUFBO0lBaEQvQjtNQWtEZ0IsdUJ2QnpFa0I7TXVCMkVsQixnQkFBZ0I7TUFDaEIsd0NBQU87TUFDUCxjQUFjO01BQ2QsOEJ2Qi9CTTtNdUIrQk4sc0J2Qi9CTSxFQUFBO0V1QnhCdEI7SUE4RGdCLHFDdEJ3L0hjO0lzQnYvSGQsd0N0Qm0vSDRCO0lzQmwvSDVCLHFEdkJ6Q007SXVCeUNOLDZDdkJ6Q00sRUFBQTs7QXVCdkJ0QjtFQXFFUSxldEI4bklTLEVBQUE7RXNCbnNJakI7SUF1RVksY3RCNm5JWSxFQUFBO0VzQnBzSXhCO0lBMEVZLGV0QjJuSVksRUFBQTtFc0Jyc0l4QjtJQTZFWSxldEJ5bklVLEVBQUE7RXNCdHNJdEI7SUFnRlksZXRCdW5Jc0IsRUFBQTtFc0J2c0lsQztJQW1GWSxldEJvbklzQixFQUFBO0VzQnZzSWxDO0lBc0ZZLGV0QmtuSUksRUFBQTs7QXNCN21JaEI7RUFHWSxlQUFlLEVBQUE7O0FBSDNCO0VBT1Esb0JBQW9CO0VBQ3BCLGtCbEJwUXdELEVBQUE7RUYwRnhEO0lvQmtLUjtNQVVZLGVsQnRRb0QsRUFBQSxFa0J3UTNEOztBQUdMO0VBRVEsaUJ0Qm1oSTRCLEVBQUE7RXNCcmhJcEM7SUFJWSxjQUFjO0lBQ2QsdUJ0QmloSXFDLEVBQUE7O0FzQnRoSWpEO0VBVVksZXRCbWpJWSxFQUFBOztBc0I3akl4QjtFQWFZLGV0QmlqSWEsRUFBQTs7QXNCOWpJekI7RUFnQlksZXRCK2lJWSxFQUFBOztBc0Ivakl4QjtFQW1CWSxldEI2aUlRLEVBQUE7O0FzQmhrSXBCO0VBc0JZLGV0QjJpSVMsRUFBQTs7QXNCamtJckI7RUF5QlksZXRCeWlJZ0IsRUFBQTs7QXNCbGtJNUI7RUE0QlksZXRCdWlJVSxFQUFBOztBc0Jua0l0QjtFQStCWSxldEJxaUlPLEVBQUE7O0FzQnBrSW5CO0VBa0NZLGV0Qm1pSVUsRUFBQTs7QXNCcmtJdEI7RUFxQ1ksZXRCaWlJYSxFQUFBOztBc0J0a0l6QjtFQXdDWSxldEIraElpQixFQUFBOztBc0J2a0k3QjtFQTJDWSxldEI2aElxQixFQUFBOztBc0J4a0lqQztFQThDWSxldEIyaElXLEVBQUE7O0FzQnprSXZCO0VBaURZLGV0QnloSVUsRUFBQTs7QXNCMWtJdEI7RUFvRFksZXRCdWhJSSxFQUFBOztBc0Iza0loQjtFQXVEWSxldEJxaElVLEVBQUE7O0FzQjVrSXRCO0VBMERZLGV0Qm1oSWUsRUFBQTs7QXNCN2tJM0I7RUE2RFksZXRCaWhJYSxFQUFBOztBc0I5a0l6QjtFQWdFWSxldEIrZ0ljLEVBQUE7O0FzQi9rSTFCO0VBbUVZLGV0QjZnSWtCLEVBQUE7O0FzQmhsSTlCO0VBc0VZLGV0QjBnSWtCLEVBQUE7O0FzQmhsSTlCO0VBeUVZLGV0QnlnSXNCLEVBQUE7O0FzQmxsSWxDO0VBNEVZLGV0QnVnSXNCLEVBQUE7O0FzQm5sSWxDO0VBK0VZLGV0QnNnSWtCLEVBQUE7O0FzQmpnSTlCO0VBQ0ksb0JBQWE7RUFBYixvQkFBYTtFQUFiLGFBQWE7RUFDYiw4QkFBbUI7RUFBbkIsNkJBQW1CO01BQW5CLHVCQUFtQjtVQUFuQixtQkFBbUI7RUFDbkIsbUJBQWU7TUFBZixlQUFlO0VBQ2Ysd0JBQXVCO01BQXZCLHFCQUF1QjtVQUF2Qix1QkFBdUIsRUFBQTtFcEJ6UW5CO0lvQnFRUjtNQU1RLGdCdEJ5dUh5QixFQUFBLEVzQjVySGhDO0VBbkREO0lBU1EsV0FBVztJQUNYLG9CQUFhO0lBQWIsb0JBQWE7SUFBYixhQUFhO0lBQ2IsOEJBQW1CO0lBQW5CLDZCQUFtQjtRQUFuQix1QkFBbUI7WUFBbkIsbUJBQW1CO0lBQ25CLHlCQUFtQjtRQUFuQixzQkFBbUI7WUFBbkIsbUJBQW1CO0lBQ25CLGNBQWMsRUFBQTtJcEJsUmQ7TW9CcVFSO1FBZVksV0FDSTtRQUNKLFlBQVk7UUFDWixTQUFTLEVBQUEsRUFnQ2hCO0lwQnZURztNb0JxUVI7UUFzQmdCLGdCQUFnQixFQUFBLEVBWXZCO0lwQnZTRDtNb0JxUVI7UUEyQm9CLFlBQVksRUFBQSxFQUVuQjtJQTdCYjtNQStCZ0IsMkJBQWtCO1VBQWxCLGtCQUFrQjtNQUNsQixnQkFBZ0IsRUFBQTtJQWhDaEM7TUFvQ1ksZUFBZTtNQUNmLGlCQUFpQixFQUFBO0lBckM3QjtNQTZDWSxXQUFXO01BQ1gsa0JBQWtCO01BRWxCLG1CQUFtQixFQUFBOztBQVMvQjtFQUNJLG1CQUFtQixFQUFBO0VwQi9UZjtJb0I4VFI7TUFHUSxZQUFZLEVBQUEsRUFNbkI7RUFURDtJQU1RLG9CQUFhO0lBQWIsb0JBQWE7SUFBYixhQUFhO0lBQ2Isd0JBQXVCO1FBQXZCLHFCQUF1QjtZQUF2Qix1QkFBdUIsRUFBQTs7QUFLL0I7RUFDSSxXQUFXO0VBQ1gsa0JBQWtCO0VBQ2xCLG9CQUFhO0VBQWIsb0JBQWE7RUFBYixhQUFhO0VBQ2IsNEJBQXNCO0VBQXRCLDZCQUFzQjtNQUF0QiwwQkFBc0I7VUFBdEIsc0JBQXNCLEVBQUE7RXBCOVVsQjtJb0IwVVI7TUFNUSw4QkFBbUI7TUFBbkIsNkJBQW1CO1VBQW5CLHVCQUFtQjtjQUFuQixtQkFBbUI7TUFDbkIsY0FBYyxFQUFBLEVBOERyQjtFQXJFRDtJQVVRLGdCQUFnQixFQUFBO0lwQnBWaEI7TW9CMFVSO1FBWVksZ0JBQWdCLEVBQUEsRUFFdkI7RUFkTDtJQWlCUSxtQkFBbUIsRUFBQTtJcEIzVm5CO01vQjBVUjtRQW1CWSxtQkFBbUIsRUFBQSxFQVMxQjtJcEJ0V0c7TW9CMFVSO1FBd0JvQix1QkFBbUUsRUFBQSxFQUUxRTtFcEJwV0w7SW9CMFVSO01BZ0NnQixZQUFZO01BQ1osa0JBQWtCO01BQ2xCLGNBQWMsRUFBQSxFQVlyQjtFcEJ4WEQ7SW9CMFVSO01Bc0NvQixVQUFVLEVBQUEsRUFFakI7RXBCbFhMO0lvQjBVUjtNQTJDb0IsWUFBWSxFQUFBLEVBRW5CO0VBN0NiO0lBa0RRLHNCQUFzQixFQUFBO0lwQjVYdEI7TUN1dEZBO1FBRVEsa0JBQWtCLEVBQUEsRUFFekI7SUQzdEZEO01Da3ZGQTtRQU1RLFdBQVcsRUFBQSxFQVFsQjtJQVVHO01BQ0ksWUFBWSxFQUFBO0lBR3BCO01BQ0ksdUJBQTJCO1VBQTNCLG9CQUEyQjtjQUEzQiwyQkFBMkIsRUFBQTtNRHB4Ri9CO1FDbXhGQTtVQUdRLFVBQVU7VUFDVixrQkFBa0IsRUFBQSxFQVl6QjtNQVZHO1FBQ0ksU0FBUyxFQUFBO01BRWI7UUFDSSxrQkFBa0I7UUFDbEIsZ0JBQWdCLEVBQUE7UUR6eEZ4QjtVQ3V4Rkk7WUFJUSxhQUFhLEVBQUEsRUFFcEI7SUFLVDtNQUNJLHlCQUFxQixFQUFBO01BQ3JCO1FBRUksWUFBWTtRQUNaLGtCQUFrQjtRQUNsQixvQkFBYTtRQUFiLG9CQUFhO1FBQWIsYUFBYTtRQUNiLHlCQUFtQjtZQUFuQixzQkFBbUI7Z0JBQW5CLG1CQUFtQjtRQUNuQixrQkFBa0IsRUFBQTtRRDF5RnRCO1VDb3lGQTtZQVFRLDBCQUFrQjtZQUFsQix1QkFBa0I7WUFBbEIsa0JBQWtCO1lBQ2xCLGtCQUFrQixFQUFBLEVBbUJ6QjtRQWpCRztVQUNJLFlIL2hEQSxFQUFBO1VFanhDUjtZQyt5Rkk7Y0FHUSxZSHg5Rkk7Y0cyOUZKLGNBQWM7Y0FDZCxnQkFBZ0IsRUFBQSxFQUV2QjtRQUNEO1VBQ0ksWUh6aURBO1VHMGlEQSx5Qkp4OEZpQixFQUFBO1VHNkl6QjtZQ3l6Rkk7Y0FJUSxZSG4rRkksRUFBQSxFR3ErRlg7SUFHVDtNQUNJLFdBQVc7TUFDWCxvQkFBYTtNQUFiLG9CQUFhO01BQWIsYUFBYSxFQUFBO01EejBGYjtRQ3UwRko7VUFLUSx1QkFBdUIsRUFBQSxFQU05QjtJQUNEO01BQ0ksY0FBYztNQUNkLG9CQUFhO01BQWIsb0JBQWE7TUFBYixhQUFhO01BQ2IsbUJBQU87VUFBUCxXQUFPO2NBQVAsT0FBTztNQUNQLG1CQUFlO1VBQWYsZUFBZTtNQUNmLDRCQUFzQjtNQUF0Qiw2QkFBc0I7VUFBdEIsMEJBQXNCO2NBQXRCLHNCQUFzQjtNQUN0Qix3QkFBdUI7VUFBdkIscUJBQXVCO2NBQXZCLHVCQUF1QjtNQUN2QixXSHk5QjZCO01HdjlCN0IsZUFBZSxFQUFBO01EdjFGZjtRQzgwRko7VUFXUSxnQkFBZ0I7VUFHaEIsY0FBYztVQUNkLGVBQWUsRUFBQSxFQTBDdEI7TUF0NENEO1FBQ0ksY0pwcURTO1FJcXFEVCxlQzdsRHdEO1FEOGxEeEQsZ0JIdWlCc0M7UUd0aUJ0QyxnQlRqMkNnQyxFQUFBO1FTazJDaEM7VUFDSSxjVHRsREs7VVN1bERMLDBCQUEwQixFQUFBO1FBRTlCO1VBQ0ksY0oxcURLLEVBQUE7TUkrL0ZUO1FBQ0ksV0FBVztRQUNYLGNBQWM7UUFDZCxTQUFTO1FBQ1QsVUFBVTtRQUNWLGNUcDdGSztRU3E3RkwsZUNoOEZvRDtRRGk4RnBELGdCVHg3RXdCO1FTeTdFeEIseUJUeDdFaUM7UVN5N0VqQyxpQlQzN0V5QjtRUzQ3RXpCLDhCSjN3RlU7UUkyd0ZWLHNCSjN3RlUsRUFBQTtRRy9GZDtVQ2cyRkE7WUFZUSxnQkFBZ0IsRUFBQSxFQVd2QjtRQVRHO1VBQ0ksY1R0N0ZDO1VTdTdGRCw4QkpseEZNO1VJa3hGTixzQkpseEZNLEVBQUE7UUlveEZWO1VBQ0ksY1RuOEZHO1VTbzhGSCw4Qkp0eEZNO1VJc3hGTixzQkp0eEZNLEVBQUE7TUkweEZkO1FBQ0ksZUFBZSxFQUFBO01BRW5CO1FBQ0ksYUFBYTtRQUNiLCtCVDk4Rk87UVMrOEZQLG9CQ3g5Rm9ELEVBQUE7UUR5OUZwRDtVQUNJLGNBQWMsRUFBQTtRQUVsQjtVQUNJLFNBQVM7VUFDVCxVQUFVLEVBQUE7SUFJdEI7TUFDSSxjVHg5RlM7TVN5OUZULG9CQ3ArRndEO01EcStGeEQsZ0JUbm1Gc0IsRUFBQTtJU3FtRjFCO01BUUksa0JBQWtCO01BQ2xCLG9CQ2gvRndEO01EaS9GeEQsY0p0akdTLEVBQUE7TUk2aUdUO1FBQ0ksWUg5bkZRO1FHK25GUixrQkg4UzRCO1FHN1M1Qix1QkpqMkZzQjtRSWsyRnRCLGtCQUFrQjtRQUNsQixjSnA4RkUsRUFBQTtJR2lETjtNQ3k1Rko7UUFNUSxVQUFVO1FBQ1YsbUJBQW1CLEVBQUEsRUFFMUI7SURsNkZHO01DbTZGSjtRQUdRLGNBQWM7UUFDZCxXQUFXLEVBQUEsRUFFbEI7SUFDRDtNQUNJLGNBQWMsRUFBQTtJQUdsQjtNQUVJLGdCSHhwRDJCLEVBQUE7TUV4eEMzQjtRQzg2Rko7VUFLUSxtQkFBbUIsRUFBQSxFQUUxQjtJQUNEO01BQ0ksZ0JIL3BEMkIsRUFBQTtNRXh4QzNCO1FDczdGSjtVQUlRLG1CQUFtQixFQUFBLEVBRTFCO0lENTdGRztNQzY3Rko7UUFFUSxVQUFVLEVBQUEsRUFFakI7SUFDRDtNQUVJLG9CQUFhO01BQWIsb0JBQWE7TUFBYixhQUFhO01BQ2Isd0JBQXVCO1VBQXZCLHFCQUF1QjtjQUF2Qix1QkFBdUI7TUFDdkIsd0JBQXVCO1VBQXZCLHFCQUF1QjtjQUF2Qix1QkFBdUIsRUFBQTtNRHQ4RnZCO1FDazhGSjtVQVdRLFVBQVU7VUFDVixtQkFBbUIsRUFBQSxFQXNCMUI7TUFwQkc7UUFDSSxXQUFXLEVBQUE7UURqOUZmO1VDZzlGQTtZQUdRLFdBQVc7WUFDWCx3QkFBdUI7Z0JBQXZCLHFCQUF1QjtvQkFBdkIsdUJBQXVCO1lBQ3ZCLHlCQUFtQjtnQkFBbkIsc0JBQW1CO29CQUFuQixtQkFBbUIsRUFBQSxFQUUxQjtNRHY5RkQ7UUN3OUZBO1VBRVEsYUFBYSxFQUFBLEVBRXBCO01BRUQ7UUFDSSx1QkFBMkI7WUFBM0Isb0JBQTJCO2dCQUEzQiwyQkFBMkIsRUFBQTtRRC85Ri9CO1VDODlGQTtZQUdRLHdCQUF1QjtnQkFBdkIscUJBQXVCO29CQUF2Qix1QkFBdUIsRUFBQSxFQUU5QjtJRG4rRkQ7TUNxK0ZKO1FBRVEsVUFBVSxFQUFBLEVBV2pCO0lBVEc7TUFDSSxVQUFVO01BQ1YsNEJBQVE7VUFBUixpQkFBUTtjQUFSLFFBQVE7TUFDUixpQkFBaUIsRUFBQTtNRDUrRnJCO1FDeStGQTtVQUtRLFdBQVc7VUFDWCw0QkFBUTtjQUFSLGlCQUFRO2tCQUFSLFFBQVEsRUFBQSxFQUVmO0lBRUw7TUFDSSxVQUFVO01BQ1YsNEJBQVE7VUFBUixpQkFBUTtjQUFSLFFBQVE7TUFFUixnQkg5dEQrQjtNRyt0RC9CLGNUdmtHUyxFQUFBO01RK0VUO1FDbS9GSjtVQU9RLFdBQVc7VUFDWCxtQkFBbUIsRUFBQSxFQUcxQjtJRDkvRkc7TUMrL0ZKO1FBRVEsU0FBUyxFQUFBLEVBRWhCO0lBQ0Q7TUFDSSxVQUFVO01BQ1Ysb0JBQWE7TUFBYixvQkFBYTtNQUFiLGFBQWE7TUFDYix3QkFBdUI7VUFBdkIscUJBQXVCO2NBQXZCLHVCQUF1QjtNQUN2Qiw0QkFBUTtVQUFSLGlCQUFRO2NBQVIsUUFBUSxFQUFBO01EeGdHUjtRQ29nR0o7VUFNUSxXQUFXO1VBQ1gsbUJBQ0osRUFBQSxFQUNIO0lBQ0Q7TUFDSSxXSHB2RDZCO01HcXZEN0IsWUhydkQ2QjtNR3N2RDdCLG9CQUFhO01BQWIsb0JBQWE7TUFBYixhQUFhO01BQ2Isd0JBQXVCO1VBQXZCLHFCQUF1QjtjQUF2Qix1QkFBdUI7TUFDdkIseUJBQW1CO1VBQW5CLHNCQUFtQjtjQUFuQixtQkFBbUI7TUFDbkIsa0JBQWtCO01BQ2xCLGNUdG1HVztNU3VtR1gsOEJKdjdGYztNSXU3RmQsc0JKdjdGYyxFQUFBO0lJKzhGbEI7TUFDSSw2QlRob0dXLEVBQUE7SVE0RVg7TUNzakdKO1FBUVEsYUFBYTtRQUViLDRGQUE0RTtRQUE1RSw0RUFBNEU7UUFDNUUsUUFBUTtRQUNSLGFBQWEsRUFBQSxFQVFwQjtJRDFrR0c7TUNva0dBO1FBRVEsb0JBQWE7UUFBYixvQkFBYTtRQUFiLGFBQWE7UUFDYiwyQkFBcUI7WUFBckIsd0JBQXFCO2dCQUFyQixxQkFBcUIsRUFBQSxFQUU1QjtFbUIxdkZUO0lBcURRLFNBQVMsRUFBQTtFQXJEakI7SUFtRVEsMkJBQW9CO0lBQXBCLDJCQUFvQjtJQUFwQixvQkFBb0IsRUFBQTs7QUFNNUI7RUFDSSxXdEIwNEhXO0VzQno0SFgsb0JBQWE7RUFBYixvQkFBYTtFQUFiLGFBQWE7RUFDYiw0QkFBc0I7RUFBdEIsNkJBQXNCO01BQXRCLDBCQUFzQjtVQUF0QixzQkFBc0I7RUFDdEIsVUFBVTtFQUVWLGtCdEJ5NEhnQjtFc0J4NEhoQix5QnZCdmlCNkI7RXVCeWlCekIsZ0I3QnpqQmEsRUFBQTtFUzZKYjtJb0JtWlI7TUFZUSxXdEJnNEhPO01zQjkzSFAsU0FBUztNQUNULGtCdEJpNEhZLEVBQUEsRXNCOTFIbkI7RUFsREQ7SUFrQlEsb0JBQWE7SUFBYixvQkFBYTtJQUFiLGFBQWE7SUFDYiw4QkFBbUI7SUFBbkIsNkJBQW1CO1FBQW5CLHVCQUFtQjtZQUFuQixtQkFBbUI7SUFDbkIsbUJBQWU7UUFBZixlQUFlO0lBQ2YsY0FBYyxFQUFBO0lBckJ0QjtNQXVCWSxTQUFTLEVBQUE7SXBCMWFiO01vQm1aUjtRQTRCb0IsMEJBQWtCO1FBQWxCLHVCQUFrQjtRQUFsQixrQkFBa0I7UUFDbEIsaUJBQWlCLEVBQUEsRUFFeEI7SUEvQmI7TUFpQ2dCLDJCQUFvQjtNQUFwQiwyQkFBb0I7TUFBcEIsb0JBQW9CO01BQ3BCLHFCQUFpQjtVQUFqQixpQkFBaUI7TUFDakIsUUFBUSxFQUFBO01BbkN4QjtRQXFDb0IsMEJBQWtCO1FBQWxCLHVCQUFrQjtRQUFsQixrQkFBa0I7UUFDbEIsbUJBQW1CLEVBQUE7UUF0Q3ZDO1VBd0N3QixZQUFZO1VBQ1oscUJBQXFCLEVBQUE7RUF6QzdDO0lBZ0RRLGtCdEI0aUhZLEVBQUE7O0FzQnhpSHBCO0VBQ0ksV0FBVztFQUNYLG9CQUFhO0VBQWIsb0JBQWE7RUFBYixhQUFhO0VBQ2IseUJBQW1CO01BQW5CLHNCQUFtQjtVQUFuQixtQkFBbUI7RUFDbkIsZ0JBQWdCO0VBQ2hCLGdCQUFnQjtFQUNoQixnQ0FBMkUsRUFBQTtFQU4vRTtJQVFRLG1CbEJ6aUJ3RDtJa0IwaUJ4RCxnQnRCczFIb0MsRUFBQTtFc0IvMUg1QztJQVlRLGlCQUFpQixFQUFBOztBQUl6QjtFQUNJLG9CQUFhO0VBQWIsb0JBQWE7RUFBYixhQUFhO0VBQ2IsOEJBQW1CO0VBQW5CLDZCQUFtQjtNQUFuQix1QkFBbUI7VUFBbkIsbUJBQW1CO0VBQ25CLDJCQUFxQjtNQUFyQix3QkFBcUI7VUFBckIscUJBQXFCO0VBQ3JCLG1CQUFlO01BQWYsZUFBZSxFQUFBO0VBSm5CO0lBU1EsYUFBYSxFQUFBO0VBVHJCO0lBWVEsV3RCdTBITztJc0J0MEhQLHFCQUFxQjtJQUNyQixjNUJwakJTO0k0QnFqQlQsbUJsQmhrQndEO0lrQmlrQnhELGdCdEJobkJ1QixFQUFBO0lFeUl2QjtNb0J1ZFI7UUFrQlksWXRCazBISSxFQUFBLEVzQmgwSFg7RUFwQkw7SUFzQlEsU0FBUztJQUNULFVBQVU7SUFDVixjdkI5b0JTO0l1QitvQlQsbUJsQjFrQndELEVBQUE7SUYwRnhEO01vQnVkUjtRQTJCWSxtQkFBTztZQUFQLFdBQU87Z0JBQVAsT0FBTyxFQUFBLEVBRWQ7RUE3Qkw7SUFnQ1Esb0JBQWE7SUFBYixvQkFBYTtJQUFiLGFBQWE7SUFDYiwyQkFBcUI7UUFBckIsd0JBQXFCO1lBQXJCLHFCQUFxQjtJQUNyQixnQnRCbG9CdUI7SXNCbW9CdkIsbUJsQnBsQndELEVBQUE7RWtCaWpCaEU7SUFzQ1EsbUJBQU87UUFBUCxXQUFPO1lBQVAsT0FBTztJQUNQLG1CbEJ4bEJ3RCxFQUFBOztBa0I4bEJoRTtFQUNJLGtCQUFrQjtFQUNsQixjN0J4VmlFLEVBQUE7RTZCc1ZyRTtJQUlRLGtCQUFrQjtJQUNsQixjNUJ4bEJTO0k0QnlsQlQsb0JsQnBtQndEO0lrQnFtQnhELGdCdEIwd0hvQjtJc0J6d0hwQix5QnRCMHdINkI7SXNCendIN0IsYUFBYSxFQUFBO0lwQjdnQmI7TW9Cb2dCUjtRQVdZLFdBQVc7UUFDWCxrQkFBa0I7UUFDbEIsU0FBUztRQUNULFFBQVE7UUFDUixPQUFPO1FBQ1Asb0JBQWE7UUFBYixvQkFBYTtRQUFiLGFBQWE7UUFDYixtQkFBZTtZQUFmLGVBQWU7UUFDZix3QkFBdUI7WUFBdkIscUJBQXVCO2dCQUF2Qix1QkFBdUI7UUFDdkIsWUFBWSxFQUFBLEVBWW5CO0lBL0JMO01Bc0JZLGdCQUFnQjtNQUNoQixvQkFBYTtNQUFiLG9CQUFhO01BQWIsYUFBYTtNQUNiLHlCQUFtQjtVQUFuQixzQkFBbUI7Y0FBbkIsbUJBQW1CO01BQ25CLGNBQWM7TUFDZCxjN0JoWHlEO002QmlYekQsaUN2QjdoQjJCO011QjhoQjNCLGVBQWUsRUFBQTs7QUFNM0I7RUFDSSxXQUFXO0VBQ1gsb0JBQWE7RUFBYixvQkFBYTtFQUFiLGFBQWE7RUFDYixtQkFBZTtNQUFmLGVBQWU7RUFDZixTdEJndkhXLEVBQUE7RUUxeElQO0lvQnNpQlI7TUFNUSwyQkFBb0I7TUFBcEIsMkJBQW9CO01BQXBCLG9CQUFvQixFQUFBLEVBUzNCO0VBZkQ7SUFVUSx3QkFBd0QsRUFBQTtJcEJyakJ4RDtNb0IyaUJSO1FBWVksd0JBQXlELEVBQUEsRUFFaEU7O0FBU0w7RUFDSSxXQUFXO0VBQ1gsb0JBQWE7RUFBYixvQkFBYTtFQUFiLGFBQWE7RUFDYiw0QkFBc0I7RUFBdEIsNkJBQXNCO01BQXRCLDBCQUFzQjtVQUF0QixzQkFBc0I7RUFDdEIseUJBQThCO01BQTlCLHNCQUE4QjtVQUE5Qiw4QkFBOEIsRUFBQTtFcEJqa0IxQjtJb0I2akJSO01BTVEsOEJBQW1CO01BQW5CLDZCQUFtQjtVQUFuQix1QkFBbUI7Y0FBbkIsbUJBQW1CO01BQ25CLG1CQUFtQixFQUFBLEVBRTFCOztBQUdEO0VBQ0ksZWxCcHFCNEQ7RWtCcXFCNUQsZ0JBQWdCLEVBQUE7RUFGcEI7SUFJUSxxQkFBcUIsRUFBQTtFQUo3QjtJQU9RLHFCQUFxQjtJQUNyQix5QkFBeUIsRUFBQTtJcEJ0bEJ6QjtNb0I4a0JSO1FBVVksa0JBQWtCO1FBQ2xCLGlCQUFpQixFQUFBLEVBTXhCO0lwQjFsQkc7TW9CeWtCUjtRQWNZLGtCQUFrQjtRQUNsQixpQkFBaUIsRUFBQSxFQUV4Qjs7QUFJTDtFQUNJLG1CQUFtQjtFQUNuQixlbEIxckI0RCxFQUFBO0VGMEZ4RDtJb0I4bEJSO01BSVEsbUJBQW1CLEVBQUEsRUFXMUI7RUFmRDtJQU9RLGlCQUFpQjtJQUNqQixjNUJyckJTO0k0QnNyQlQsZ0JBQWdCLEVBQUE7RUFUeEI7SUFZUSxTQUFTO0lBQ1QsVUFBVSxFQUFBOztBQUlsQjtFQUVRLGVsQjNzQndELEVBQUE7RWtCeXNCaEU7SUFJWSxpQkFBaUI7SUFDakIsZ0JBQWdCLEVBQUE7SXBCcG5CcEI7TW9CK21CUjtRQU9nQixhQUFhLEVBQUEsRUFFcEI7O0FBVFQ7RUFZUSxnQnRCb3NINkI7RXNCbnNIN0IsYzVCNXNCVyxFQUFBOztBNEIrckJuQjtFQWdCUSxnQkFBZ0IsRUFBQTtFcEIvbkJoQjtJb0IrbUJSO01Ba0JZLFVBQVU7TUFDVixrQkFBa0IsRUFBQSxFQUV6Qjs7QXBCcG9CRztFb0IrbUJSO0lBd0JZLFVBQVUsRUFBQSxFQUVqQjs7QXBCem9CRztFb0IrbUJSO0lBNkJZLFVBQVUsRUFBQSxFQUVqQjs7QXBCOW9CRztFb0IrbUJSO0lBa0NZLFVBQVUsRUFBQSxFQUVqQjs7QXBCbnBCRztFb0IrbUJSO0lBMENZLGtCQUFrQixFQUFBLEVBT3pCOztBcEJocUJHO0VvQittQlI7SUE4Q2dCLFlBQVksRUFBQSxFQUVuQjs7QUFJVDtFQUNJLFd0QjhwSHNDO0VzQjdwSHRDLFl0QjZwSHNDO0VzQjVwSHRDLGtCQUFrQjtFQUNsQixlQUFlLEVBQUE7RXBCdnFCWDtJb0JtcUJSO01BTVEsY0FBYyxFQUFBLEVBZ0JyQjtFQXRCRDtJQVNRLFl0Qi9pQlc7SXNCZ2pCWCxjNUI5dkJXO0k0Qit2QlgsbUN2QjNxQm1DO0l1QjRxQm5DLHFCbEJ6d0J3RDtJa0Iwd0J4RCw4QnZCamxCYztJdUJpbEJkLHNCdkJqbEJjLEVBQUE7RXVCb2tCdEI7SUFnQlEsYzVCMXZCUztJNEIydkJULDhCdkJ0bEJjO0l1QnNsQmQsc0J2QnRsQmMsRUFBQTtFdUJxa0J0QjtJQW9CUSxjNUJ0d0JTLEVBQUE7O0E0QjJ3QmpCO0VBQ0ksV0FBVztFQUNYLG9CQUFhO0VBQWIsb0JBQWE7RUFBYixhQUFhO0VBQ2IsNEJBQXNCO0VBQXRCLDZCQUFzQjtNQUF0QiwwQkFBc0I7VUFBdEIsc0JBQXNCO0VBQ3RCLG1CQUFlO01BQWYsZUFBZTtFQUNmLG1CQUFtQixFQUFBO0VwQmpzQmY7SW9CNHJCUjtNQU9RLDhCQUFtQjtNQUFuQiw2QkFBbUI7VUFBbkIsdUJBQW1CO2NBQW5CLG1CQUFtQjtNQUNuQixxQkFBeUI7VUFBekIsa0JBQXlCO2NBQXpCLHlCQUF5QjtNQUN6Qix5QkFBbUI7VUFBbkIsc0JBQW1CO2NBQW5CLG1CQUFtQixFQUFBLEVBaUIxQjtFcEJ0dEJPO0lvQjRyQlI7TUFhWSxxQkFBcUIsRUFBQSxFQUU1QjtFcEIzc0JHO0lvQjRyQlI7TUFrQlksU0FBUyxFQUFBLEVBRWhCO0VwQmh0Qkc7SW9CNHJCUjtNQXVCWSxTQUFTLEVBQUEsRUFFaEI7O0FBRUw7RUFDSSxnQnRCdDJCdUI7RXNCdTJCdkIsV0FBVztFQUNYLFlBQVk7RUFDWixrQkFBa0IsRUFBQTtFcEIzdEJkO0lvQnV0QlI7TUFPWSxhQUFhLEVBQUEsRUFFcEI7RUFUTDtJQVlRLGdCQUFnQixFQUFBO0lwQm51QmhCO01vQnV0QlI7UUFjWSxrQkFBa0IsRUFBQSxFQUV6QjtFQWhCTDtJQWtCUSxlbEJuMEJ3RCxFQUFBO0VGMEZ4RDtJb0J1dEJSO01BdUJZLG9CQUFvQixFQUFBLEVBRTNCOztBcEJodkJHO0VvQm92QlI7SUFRWSxZQUFZO0lBQ1osa0JBQWtCLEVBQUEsRUFHekI7O0FwQmh3Qkc7RW9Cb3ZCUjtJQWVZLFlBQVksRUFBQSxFQUVuQjs7QXBCcndCRztFb0JvdkJSO0lBb0JZLFlBQVksRUFBQSxFQUVuQjs7QXBCMXdCRztFb0JvdkJSO0lBeUJZLGdCQUFnQixFQUFBLEVBRXZCOztBQU1MO0VBQ0ksU0FBUyxFQUFBO0VBRGI7SUFTb0IsYzVCcjJCSDtJNEJzMkJHLDhCdkJoc0JFO0l1QmdzQkYsc0J2QmhzQkUsRUFBQTtFdUJzckJ0QjtJQWdCWSxZQUFZO0lBQ1osZ0N2QnZzQlU7SXVCdXNCVix3QnZCdnNCVSxFQUFBO0VHcEdkO0lvQjB4QlI7TUFxQmdCLFVBQVUsRUFBQSxFQUVkO0VBdkJaO0lBMEJnQixVQUFVO0lBQ1YsZ0N2Qmx0Qk07SXVCa3RCTix3QnZCbHRCTSxFQUFBO0V1QnVyQnRCO0lBaUNRLGVsQmg1QndELEVBQUE7RWtCKzJCaEU7SUFxQ1ksd0JBQXVCO1FBQXZCLHFCQUF1QjtZQUF2Qix1QkFBdUIsRUFBQTtFcEIxekIzQjtJb0JxeEJSO01BMENZLFVBQVU7TUFDVixtQnRCNmpIZ0I7TXNCNWpIaEIsZ0JBQWdCLEVBQUEsRUFFdkI7RUE5Q0w7SUFnRFEsOEJBQW1CO0lBQW5CLDZCQUFtQjtRQUFuQix1QkFBbUI7WUFBbkIsbUJBQW1CLEVBQUE7SXBCcjBCbkI7TW9CcXhCUjtRQWtEWSxVQUFVO1FBQ1YseUJBQXFCO1FBQXJCLDRCQUFxQjtZQUFyQix5QkFBcUI7Z0JBQXJCLHFCQUFxQjtRQUNyQixrQkFBa0IsRUFBQSxFQUV6QjtFQXRETDtJQXdEUSxxQkFBcUIsRUFBQTtJcEI3MEJyQjtNb0JxeEJSO1FBMERZLFdBQVcsRUFBQSxFQUVsQjtFcEJqMUJHO0lvQnF4QlI7TUErRFksa0JBQWtCO01BQ2xCLG9CdEJ3aUhnQixFQUFBLEVzQnRpSHZCO0VBbEVMO0lBb0VRLHFCQUFxQjtJQUNyQixnQkFBZ0IsRUFBQTs7QUFHeEI7RUFDSSxjQUFjO0VBQ2Qsa0JBQWtCO0VBQ2xCLGVsQjE3QjREO0VrQjI3QjVELGdCQUFnQixFQUFBO0VwQmoyQlo7SW9CNjFCUjtNQU1RLGVBQWUsRUFBQSxFQVV0QjtFQWhCRDtJQVVZLFl0QnR0Qk07SXNCdXRCTixtQ3ZCcjJCK0I7SXVCczJCL0Isb0JsQm44Qm9EO0lrQm84QnBELGN2Qm5nQ29CLEVBQUE7O0F1QndnQ2hDO0VBQ0ksZ0JBQWdCO0VBQ2hCLGtCQUFrQixFQUFBOztBQUV0QjtFQUVRLGFBQWEsRUFBQTs7QUFJckI7RUFDSSxnQkFBZ0I7RUFDaEIsV0FBVztFQUNYLFlBQVksRUFBQTtFQUhoQjtJQUtRLFNBQVM7SUFDVCxVQUFVLEVBQUE7RUFObEI7SUFTUSxVQUFVLEVBQUE7O0FBSWxCO0VBQ0ksV0FBVyxFQUFBO0VBRGY7SUFHUSx3QkFBdUI7UUFBdkIscUJBQXVCO1lBQXZCLHVCQUF1QixFQUFBO0VBSC9CO0lBTVEsV0FBVyxFQUFBOztBQUluQjtFQUNJLFdBQVc7RUFDWCxTQUFTLEVBQUE7O0FBSWI7RUFFUSxhQUFhO0VBQ2IsZ0JBQWdCO0VBQ2hCLCtCdkI1ekJjO0V1QjR6QmQsdUJ2QjV6QmMsRUFBQTs7QXVCK3pCdEI7RUFDSSxnQkFBZ0IsRUFBQTtFcEI5NUJaO0lvQjY1QlI7TUFHUSxtQkFBbUI7TUFDbkIsaUJBQWlCLEVBQUEsRUFZeEI7RUFoQkQ7SUFPUSxTQUFTO0lBQ1QsVUFBVTtJQUNWLG9CbEJoZ0N3RDtJa0JpZ0N4RCxnQnRCbTlHMkI7SXNCbDlHM0IsYzVCdi9CUyxFQUFBO0k0QjQrQmpCO01BYVksa0JBQWtCLEVBQUE7O0FBSTlCO0VBQ0ksa0JBQWtCLEVBQUE7RXBCLzZCZDtJb0I4NkJSO01BR1EsZ0JBQWdCLEVBQUEsRUFFdkI7O0FBQ0Q7RUFFUSxnQkFBZ0IsRUFBQTs7QUFJeEI7RUFDSSxxQkFBcUIsRUFBQTtFcEIzN0JqQjtJb0IwN0JSO01BR1Esb0JBQWE7TUFBYixvQkFBYTtNQUFiLGFBQWE7TUFDYix3QkFBdUI7VUFBdkIscUJBQXVCO2NBQXZCLHVCQUF1QjtNQUN2Qix5QkFBbUI7VUFBbkIsc0JBQW1CO2NBQW5CLG1CQUFtQixFQUFBLEVBUTFCOztBQUdEO0VBQ0ksa0JBQWtCO0VBQ2xCLDJCQUFvQjtFQUFwQiwyQkFBb0I7RUFBcEIsb0JBQW9CO0VBQ3BCLHlCQUFtQjtNQUFuQixzQkFBbUI7VUFBbkIsbUJBQW1CLEVBQUE7RUFIdkI7SUFLUSxZdEJ2MUJVO0lzQncxQlYsZ0JBQWdCO0lBQ2hCLHVCdkJqNkIwQjtJdUJrNkIxQixlQUFlO0lBQ2YsY3ZCbG5DUyxFQUFBOztBdUJ1bkNqQjtFQUNJLG1CQUFtQixFQUFBO0VwQno5QmY7SW9CdzlCUjtNQUlZLFdBQVcsRUFBQSxFQUVsQjtFcEI5OUJHO0lvQnc5QlI7TUFTWSxTQUFTO01BQ1QsZUFBZSxFQUFBLEVBRXRCO0VwQnArQkc7SW9CdzlCUjtNQWVZLFNBQVMsRUFBQSxFQUVoQjtFcEJ6K0JHO0lvQnc5QlI7TUFvQlksVUFBVSxFQUFBLEVBRWpCO0VwQjkrQkc7SW9CdzlCUjtNQXlCWSxVQUFVLEVBQUEsRUFFakI7RXBCbi9CRztJb0J3OUJSO01BOEJZLFNBQVMsRUFBQSxFQUVoQjtFcEJ4L0JHO0lvQnc5QlI7TUFtQ1ksVUFBVSxFQUFBLEVBRWpCO0VwQjcvQkc7SW9CdzlCUjtNQXdDWSxlQUFlO01BQ2YsZ0JBQWdCLEVBQUEsRUFFdkI7RXBCbmdDRztJb0J3OUJSO01BOENZLFdBQVcsRUFBQSxFQUVsQjtFcEJ4Z0NHO0lvQnc5QlI7TUFtRFksV0FBVyxFQUFBLEVBRWxCO0VwQjdnQ0c7SW9CdzlCUjtNQXdEWSxTQUFTLEVBQUEsRUFFaEI7RXBCbGhDRztJb0J3OUJSO01BNkRZLFNBQVMsRUFBQSxFQUVoQjtFcEJ2aENHO0lvQnc5QlI7TUFrRVksU0FBUyxFQUFBLEVBRWhCO0VwQjVoQ0c7SW9CdzlCUjtNQXVFWSxXQUFXLEVBQUEsRUFFbEI7RUF6RUw7SUEyRVEsZ0JBQWdCO0lBQ2hCLG1CbEI5bkN3RDtJa0IrbkN4RCxjNUJwbkNTLEVBQUE7SVEwRVQ7TW9CNjlCUjtRQStFWSxXQUFXO1FBQ1gsa0I1Qmh2QnFCO1E0Qml2QnJCLHlCNUI1dEJRO1E0Qjh0QkoseUI1QjF1QndCO1E0QjR1QjVCLGtCQUFrQixFQUFBLEVBRXpCOztBcEIvaUNHO0VvQm1qQ1I7SUFHWSxTQUFTLEVBQUEsRUFFaEI7O0FBTEw7RUFRUSx1QkFBdUIsRUFBQTtFcEIzakN2QjtJb0JtakNSO01BVVksVUFBVSxFQUFBLEVBRWpCOztBcEIvakNHO0VvQm1qQ1I7SUFlWSxVQUFVLEVBQUEsRUFFakI7O0FwQnBrQ0c7RW9CbWpDUjtJQW9CWSxrQkFBa0IsRUFBQSxFQUV6Qjs7QXBCemtDRztFb0JtakNSO0lBeUJZLFVBQ0osRUFBQSxFQUNIOztBQTNCTDtFQTZCUSxVQUFVO0VBQ1YsZ0JBQWdCLEVBQUE7O0FwQmpsQ2hCO0VvQnNsQ1I7SUFHWSxZQUFZLEVBQUEsRUFFbkI7O0FwQjNsQ0c7RW9Cc2xDUjtJQVFZLFVBQVUsRUFBQSxFQUVqQjs7QXBCaG1DRztFb0JzbENSO0lBYVksVUFBVSxFQUFBLEVBRWpCOztBcEJybUNHO0VvQnNsQ1I7SUF3QlksVUFBVTtJQUNWLGdCQUFnQixFQUFBLEVBRXZCOztBcEJqbkNHO0VvQnNsQ1I7SUE4QlksVUFBVSxFQUFBLEVBRWpCOztBcEJ0bkNHO0VvQnNsQ1I7SUFtQ1ksVUFBVSxFQUFBLEVBRWpCOztBcEIzbkNHO0VvQituQ1I7SUFFUSxnQkFBZ0IsRUFBQSxFQWN2Qjs7QXBCL29DTztFb0IrbkNSO0lBTVksVUFBVTtJQUNWLGtCQUFrQjtJQUNsQixnQkFBZ0IsRUFBQSxFQUV2Qjs7QUFWTDtFQVlRLGdCQUFnQjtFQUNoQixjNUI1dENXLEVBQUE7O0FRZ0ZYO0VvQmtwQ1I7SUFHWSxrQkFBa0IsRUFBQSxFQUV6Qjs7QXBCdnBDRztFb0JrcENSO0lBUVksa0JBQWtCO0lBQ2xCLGdCQUFnQixFQUFBLEVBRXZCOztBQUlMO0VuQmorQkkscUNBQWdDO0VBdUI1QixXbUIyOEJzTjtFbkIzN0IxTixvQkExQ2dZO0VBMENoWSxvQkExQ2dZO0VBMENoWSxhQTFDZ1k7RUE0QzVYLHlCQUFtQjtNQUFuQixzQkFBbUI7VUFBbkIsbUJBQW1CO0VBQ25CLHdCQUF1QjtNQUF2QixxQkFBdUI7VUFBdkIsdUJBQXVCO0VBTTNCLGtCQUFrQjtFQUNsQiw0Q0FBa0U7RUFFbEUsZ0RBQStDO0VBQy9DLGNUblVhO0VTb1ViLHlCSnZaYTtFSXdaYixpQkgrYzRCO0VHOWM1QixtQkNqVjREO0VEa1Y1RCxnQlRtRWU7RVNsRWYsa0JBQWtCO0VBQ2xCLG1CQUFtQjtFQUNuQixlQUFlO0VBRVgseUJUb0VnQztFU2pFaEMscUJIZ2MyQjtFRy9iM0IsaUJIOGJ3QjtFRzNieEIscUJKN1p3QjtFSWlhNUIscUJBQXFCO0VBQ3JCLGNIMGJ5QjtFR3ZickIsMkJBQW9FO0VBRXhFLGdCQUFnQjtFQUNoQiw0QkpoTGtCO0VJZ0xsQixvQkpoTGtCLEVBQUE7RUcvRmQ7SW9CaXFDUjtNbkIzNEJRLDBCbUI0NEIwTztNbkI1NEIxTyx1Qm1CNDRCME87TW5CNTRCMU8sa0JtQjQ0QjBPO01uQjM0QjFPLDRDQUFrRSxFQUFBLEVtQjQ0QnpFO0VuQnY0Qkc7SUFDSTtNQUNJLGNKaGNLO01JaWNMLHlCSGljd0Q7TUcvYnBELHFCVGhYQztNU29YTCxxQkFBcUI7TUFDckIsNEJKeE1VO01Jd01WLG9CSnhNVSxFQUFBO01JZ05WO1FBQ0kseUJKamRDO1FJa2RELHlDSmxOTTtRSWtOTixpQ0psTk0sRUFBQSxFSW1OVDtFQUdUO0lBQ0ksY0p2ZFM7SUl3ZFQseUJUcllTO0lTdVlMLHFCVHZZSztJUzJZVCw0Qko5TmM7SUk4TmQsb0JKOU5jLEVBQUE7RUlxT2xCO0lBSVEsY1Z6SnlEO0lVOEp6RCx5Qko5ZUs7SUltZkwsc0NKamVxQjtJSW1lekIsbUJBQW1CLEVBQUE7RUFPdkI7SUFJUSxzQ0o5ZXFCLEVBQUE7RUlrZjdCO0lBQ0ksYUFBYTtJQUNiLDRESjVQNkM7WUk0UDdDLG9ESjVQNkMsRUFBQTtFSThSakQ7SUFDSSx5Q0p4U2M7SUl3U2QsaUNKeFNjLEVBQUE7O0FHL0ZkO0VvQnNxQ1I7SUFHWSxXQUFXLEVB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LGdCVHQ2RHFCO01TdTZEckIsNkJBQTZCLEVBQUE7TUFPN0I7UUFDSSxhQUFhLEVBQUE7TUFFakI7UUFDSSxTQUFTLEVBQUE7SUFJakI7TUFDSSxnQlRyOURRO01TeTlEUixrQkN6ekV3RDtNRDB6RXhELGdCVGw4REc7TVNtOERILGtCSC81Qk07TUdtNkJOLGNUcHpFUztNU3F6RVQsZ0JUbDhEcUIsRUFBQTtNU3k4RHJCO1FBQ0ksYUFBYSxFQUFBO01BRWpCO1FBQ0ksU0FBUyxFQUFBO0lBR2pCO01BSUksZ0JUai9EUTtNU20vREosZUh0NkJFO01HdzZCTixtQkN0MUV3RDtNRHUxRXhELGdCVDk5REc7TVMrOURILGtCSDM3Qk07TUcrN0JOLGNUajFFUztNU2sxRVQsZ0JULzlEcUIsRUFBQTtNU20rRHJCO1FBQ0ksYUFBYSxFQUFBO01BRWpCO1FBQ0ksU0FBUyxFQUFBO0lBR2pCO01BQ0ksZ0JUdmdFUTtNU3lnRUosaUJINTdCSTtNRzg3QlIsaUJDNzJFd0Q7TUQ4MkV4RCxnQlRwL0RHO01TcS9ESCxrQkhqOUJNO01HcTlCTixjVHgyRVM7TVN5MkVULGdCVHQvRHFCLEVBQUE7TVMwL0RyQjtRQUNJLGFBQWEsRUFBQTtNQUVqQjtRQUNJLFNBQVMsRUFBQTtJQUdqQjtNQUNJLGdCVDdoRVE7TVNpaUVSLGVDcDRFd0Q7TURxNEV4RCxnQlQxZ0VHO01TMmdFSCxrQkh2K0JNO01HMitCTixjVC8zRVM7TVNnNEVULGdCVDdnRXFCLEVBQUE7TVNpaEVyQjtRQUNJLGFBQWEsRUFBQTtNQUVqQjtRQUNJLFNBQVMsRUFBQTtJQUdqQjtNQUNJLGdCVG5qRVE7TVN1akVSLGVDMzVFd0Q7TUQ0NUV4RCxnQlRoaUVHO01TaWlFSCxrQkg3L0JNO01HaWdDTixjVHQ1RVM7TVN1NUVULGdCVHBpRXFCLEVBQUE7TVN3aUVyQjtRQUNJLGFBQWEsRUFBQTtNQUVqQjtRQUNJLFNBQVMsRUFBQTtJQUtqQjtNQUNJLCtCQUFtRDtNQUNuRCxlQ2o3RXdEO01EazdFeEQsZ0JIditCdUI7TUd3K0J2QixnQlRscUVpQjtNU21xRWpCLGNU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VjREO0lEa1Y1RCxnQlRtRWU7SVNsRWYsa0JBQWtCO0lBQ2xCLG1CQUFtQjtJQUNuQixlQUFlO0lBRVgseUJUb0VnQztJU2pFaEMscUJIZ2MyQjtJRy9iM0IsaUJIOGJ3QjtJRzNieEIscUJKN1p3QjtJSWlhNUIscUJBQXFCO0lBQ3JCLGNIMGJ5QjtJR3ZickIsMkJBQW9FO0lBRXhFLGdCQUFnQjtJQUNoQiw0QkpoTGtCO0lJZ0xsQixvQkpoTGtCO0lJMFFkOzs7Ozs7OztTWnduaUJDLEVZaG5pQkM7SURqWEY7TXFCaVhSO1FwQjNGUSwwQm9Cb0k4TztRcEJwSTlPLHVCb0JvSThPO1FwQnBJOU8sa0JvQm9JOE87UXBCbkk5Tyw0Q0FBa0UsRUFBQSxFb0JvSWpFO0lwQi9ITDtNQUNJO1FBQ0ksY1Q3V0s7UVM4V0wseUJUOVdLO1FTZ1hELHFCVGhYQztRU29YTCxxQkFBcUI7UUFDckIsNEJKeE1VO1FJd01WLG9CSnhNVSxFQUFBO1FJME1OO1VBQ0MsY1R4WEE7VVN5WEEsOEJKNU1LO1VJNE1MLHNCSjVNSyxFQUFBO1FJZ05WO1VBQ0kseUJKamRDO1VJa2RELHlDSmxOTTtVSWtOTixpQ0psTk0sRUFBQSxFSW1OVDtJQUdUO01BQ0ksY0p2ZFM7TUl3ZFQseUJUN1hTO01TK1hMLHFCVHZZSztNUzJZVCw0Qko5TmM7TUk4TmQsb0JKOU5jLEVBQUE7TUlnT1Y7UUFDQyxjSmplSSxFQUFBO0lJcWViO01BSVEsY1Z6SnlEO01VOEp6RCx5Qko5ZUs7TUltZkwsc0NKamVxQjtNSW1lekIsbUJBQW1CLEVBQUE7TUFFZjtRQUNDLGNWeEt3RCxFQUFBO0lVNEtqRTtNQUlRLHNDSjllcUIsRUFBQTtJSWtmN0I7TUFDSSxhQUFhO01BQ2IsNERKNVA2QztjSTRQN0Msb0RKNVA2QyxFQUFBO0lJaVI3QztNQUNJLFlUL2NGO01TZ2RFLGtCb0Jja0I7TXBCYmxCLCtCSjFUeUM7TUkyVHpDLGVUdEYwQjtNUzJGMUIsY1RqZEs7TVNrZEwsOEJKcFNVO01Jb1NWLHNCSnBTVSxFQUFBO0lJdVNsQjtNQUNJLHlDSnhTYztNSXdTZCxpQ0p4U2MsRUFBQTtFd0JrUnRCO0lwQmpMSSxxQ0FBZ0M7SUF1QjVCLFdvQnVNa1E7SXBCdkx0USxvQm9CdUxtUztJcEJ2TG5TLG9Cb0J1TG1TO0lwQnZMblMsYW9CdUxtUztJcEJyTC9SLHlCQUFtQjtRQUFuQixzQkFBbUI7WUFBbkIsbUJBQW1CO0lBQ25CLHdCQUF1QjtRQUF2QixxQkFBdUI7WUFBdkIsdUJBQXVCO0lBTTNCLGtCQUFrQjtJQUNsQiw0Q0FBa0U7SUFFbEUscURBQStDO0lBQy9DLGNUblVhO0lTb1ViLHlCSnZaYTtJSXdaYixpQkgrYzRCO0lHOWM1QixtQkNqVjREO0lEa1Y1RCxnQlRtRWU7SVNsRWYsa0JBQWtCO0lBQ2xCLG1CQUFtQjtJQUNuQixlQUFlO0lBRVgseUJUb0VnQztJU2pFaEMscUJIZ2MyQjtJRy9iM0IsaUJIOGJ3QjtJRzNieEIscUJKN1p3QjtJSWlhNUIscUJBQXFCO0lBQ3JCLGNIMGJ5QjtJR3ZickIsMkJBQW9FO0lBRXhFLGdCQUFnQjtJQUNoQiw0QkpoTGtCO0lJZ0xsQixvQkpoTGtCO0lJMFFkOzs7Ozs7OztTWndzaUJDLEVZaHNpQkM7SURqWEY7TXFCaVhSO1FwQjNGUSwwQm9Cd0k4TztRcEJ4STlPLHVCb0J3SThPO1FwQnhJOU8sa0JvQndJOE87UXBCdkk5Tyw0Q0FBa0UsRUFBQSxFb0J3SWpFO0lwQm5JTDtNQUNJO1FBQ0ksY1Q3V0s7UVM4V0wseUJUOVdLO1FTZ1hELHFCVGhYQztRU29YTCxxQkFBcUI7UUFDckIsNEJKeE1VO1FJd01WLG9CSnhNVSxFQUFBO1FJME1OO1VBQ0MsY1R4WEE7VVN5WEEsOEJKNU1LO1VJNE1MLHNCSjVNSyxFQUFBO1FJZ05WO1VBQ0kseUJKamRDO1VJa2RELHlDSmxOTTtVSWtOTixpQ0psTk0sRUFBQSxFSW1OVDtJQUdUO01BQ0ksY0p2ZFM7TUl3ZFQseUJUN1hTO01TK1hMLHFCVHZZSztNUzJZVCw0Qko5TmM7TUk4TmQsb0JKOU5jLEVBQUE7TUlnT1Y7UUFDQyxjSmplSSxFQUFBO0lJcWViO01BSVEsY1Z6SnlEO01VOEp6RCx5Qko5ZUs7TUltZkwsc0NKamVxQjtNSW1lekIsbUJBQW1CLEVBQUE7TUFFZjtRQUNDLGNWeEt3RCxFQUFBO0lVNEtqRTtNQUlRLHNDSjllcUIsRUFBQTtJSWtmN0I7TUFDSSxhQUFhO01BQ2IsNERKNVA2QztjSTRQN0Msb0RKNVA2QyxFQUFBO0lJaVI3QztNQUNJLFlUamREO01Ta2RDLGtCb0J1QmtCO01wQnRCbEIsK0JKMVR5QztNSTJUekMsZVR0RjBCO01TMkYxQixjVGpkSztNU2tkTCw4QkpwU1U7TUlvU1Ysc0JKcFNVLEVBQUE7SUl1U2xCO01BQ0kseUNKeFNjO01Jd1NkLGlDSnhTYyxFQUFBOztBd0JvVXRCO0VwQm5PSSxxQ0FBZ0M7RUF5QjVCLFlvQjJNaU47RXBCN0xyTixvQkExQ2dZO0VBMENoWSxvQkExQ2dZO0VBMENoWSxhQTFDZ1k7RUE0QzVYLHlCQUFtQjtNQUFuQixzQkFBbUI7VUFBbkIsbUJBQW1CO0VBQ25CLHdCQUF1QjtNQUF2QixxQkFBdUI7VUFBdkIsdUJBQXVCO0VBTTNCLGtCQUFrQjtFQUNsQixpREFBa0U7RUFFbEUsZ0RBQStDO0VBQy9DLGNUblVhO0VTb1ViLHlCSnZaYTtFSXdaYixpQkgrYzRCO0VHOWM1QixtQkNqVjREO0VEa1Y1RCxnQlRtRWU7RVNsRWYsa0JBQWtCO0VBQ2xCLG1CQUFtQjtFQUNuQixlQUFlO0VBRVgseUJUb0VnQztFU2pFaEMscUJIZ2MyQjtFRy9iM0IsaUJIOGJ3QjtFRzNieEIscUJKN1p3QjtFSWlhNUIscUJBQXFCO0VBQ3JCLGNIMGJ5QjtFR3ZickIsMkJBQW9FO0VBRXhFLGdCQUFnQjtFQUNoQiw0QkpoTGtCO0VJZ0xsQixvQkpoTGtCLEVBQUE7RUdwR2Q7SXFCd2FSO01wQmpKWSxrREFBb0UsRUFBQSxFb0JtSi9FO0VyQnJhTztJcUJtYVI7TXBCN0lRLFlvQjhJaU47TXBCN0lqTixtREFBa0UsRUFBQSxFb0I4SXpFO0VwQnpJRztJQUNJO01BQ0ksY0poY0s7TUlpY0wseUJIaWN3RDtNRy9icEQscUJUaFhDO01Tb1hMLHFCQUFxQjtNQUNyQiw0Qkp4TVU7TUl3TVYsb0JKeE1VLEVBQUE7TUlnTlY7UUFDSSx5QkpqZEM7UUlrZEQseUNKbE5NO1FJa05OLGlDSmxOTSxFQUFBLEVJbU5UO0VBR1Q7SUFDSSxjSnZkUztJSXdkVCx5QlRyWVM7SVN1WUwscUJUdllLO0lTMllULDRCSjlOYztJSThOZCxvQko5TmMsRUFBQTtFSXFPbEI7SUFJUSxjVnpKeUQ7SVU4SnpELHlCSjllSztJSW1mTCxzQ0pqZXFCO0lJbWV6QixtQkFBbUIsRUFBQTtFQU92QjtJQUlRLHNDSjllcUIsRUFBQTtFSWtmN0I7SUFDSSxhQUFhO0lBQ2IsNERKNVA2QztZSTRQN0Msb0RKNVA2QyxFQUFBO0VJOFJqRDtJQUNJLHlDSnhTYztJSXdTZCxpQ0p4U2MsRUFBQTs7QXdCeVV0QjtFQUNJLGdCQUFnQixFQUFBO0VBRHBCO0lBR1EsU0FBUztJQUNULFVBQVUsRUFBQTtJQUpsQjtNQU1ZLGVBQWUsRUFBQTtFQU4zQjtJQVlnQix1QkFBdUI7SUFDdkIsbUJBQW1CO0lBQ25CLHFCeEI1a0JpQjtJd0I2a0JqQiw4RHhCeFZNO0l3QndWTixzRHhCeFZNO0l3QndWTiw4Q3hCeFZNO0l3QndWTix1RXhCeFZNLEVBQUE7SXdCeVV0QjtNQWtCb0IsZUFBZSxFQUFBO0lBbEJuQztNQXNCb0IseUJ4Qm5tQkMsRUFBQTtJd0I2a0JyQjtNQXlCb0IsNER4QnpWaUM7Y3dCeVZqQyxvRHhCelZpQztNd0IwVmpDLDJDeEJwV0U7TXdCb1dGLG1DeEJwV0U7TXdCb1dGLDJCeEJwV0U7TXdCb1dGLG9EeEJwV0UsRUFBQTtNd0IwVXRCO1FBNEJ3QixxQjdCbmhCUDtRNkJvaEJPLHFDeEJ2V0Y7UXdCdVdFLDZCeEJ2V0YsRUFBQTtFd0IwVXRCO0lBb0NRLGdCQUFnQjtJQUNoQiwyQ3hCOVdjO0l3QjhXZCxtQ3hCOVdjO0l3QjhXZCwyQnhCOVdjO0l3QjhXZCxvRHhCOVdjLEVBQUE7SXdCeVV0QjtNQXdDZ0Isa0JBQWtCO01BQ2xCLG9CQUFhO01BQWIsb0JBQWE7TUFBYixhQUFhO01BQ2IseUJBQW1CO1VBQW5CLHNCQUFtQjtjQUFuQixtQkFBbUI7TUFDbkIsa0JuQjdpQmdEO01tQjhpQmhELGdCdkI4bEhpQjtNdUI3bEhqQixjN0JwaUJDLEVBQUE7TTZCdWZqQjtRQStDb0IsWTdCOWlCVDtRNkJnakJTLHFCQUFxQjtRQUNyQixxQkFBcUI7UUFDckIsK0J4QnpaaUM7UXdCMFpqQyxjeEJsbkJhO1F3Qm1uQmIsZUFBZTtRQUNmLHFDeEIvWEU7UXdCK1hGLDZCeEIvWEUsRUFBQTtJd0J5VXRCO01BMERnQixpQkFBaUIsRUFBQTtJQTFEakM7TUE2RGdCLGNBQWMsRUFBQTtNQTdEOUI7UUErRG9CLGVuQmprQjRDO1FtQmtrQjVDLGdCQUFnQjtRQUNoQixjeEJ4b0JILEVBQUE7RXdCdWtCakI7SUEwRVksYzdCempCSztJNkIwakJMLDhCeEJyWlU7SXdCcVpWLHNCeEJyWlUsRUFBQTtFd0IwVXRCO0lBOEVZLGM3QnJrQks7STZCc2tCTCw4QnhCeFpVO0l3QndaVixzQnhCeFpVLEVBQUE7O0FpQmtPdEI7RU82TFEsMkJBQW9CO0VBQXBCLDJCQUFvQjtFQUFwQixvQkFBb0I7RUFDcEIseUJBQW1CO01BQW5CLHNCQUFtQjtVQUFuQixtQkFBbUI7RUFDbkIsZ0J2Qjg0QmdCO0V1Qjc0QmhCLFV2Qjg0QlU7RXVCNzRCVixlbkI1bEJ3RDtFbUI2bEJ4RCxnQjdCbFltQjtFNkJtWW5CLGtCdkJpNUJxQjtFdUJoNUJyQixjN0JwbEJTO0U2QnFsQlQscUJ2Qnc2QlM7RXVCdjZCVCw2QnhCNXFCYTtFd0I2cUJiLDZCeEI3cUJhO0V3QjhxQmIseUI3QnZZNEI7RTZCd1k1Qix3RHhCM2FjO0V3QjJhZCxnRHhCM2FjLEVBQUE7RXdCNlp0QjtJQWdCWSxjN0JubEJLO0k2Qm9sQkwscUJ2Qms2QjhCO0l1Qmo2QjlCLHlCeEJuckJTO0l3Qm9yQlQsNkJ4QnByQlM7SXdCcXJCVCw4RHhCbGJVO0l3QmtiVixzRHhCbGJVLEVBQUE7RXdCOFp0QjtJQXVCWSxjN0JsbUJLO0k2Qm1tQkwsNkJ4QnpyQlMsRUFBQTtFSW1qQmI7SUFDSSxZVHRlRDtJU3VlQyxnQkFBZ0I7SUFDaEIsY1R4ZEs7SVN5ZEwsY1RwV21CO0lTcVduQiwrQkpqVnlDO0lJa1Z6Qyw4QkpyVFU7SUlxVFYsc0JKclRVLEVBQUE7RUl3VFY7SUFDSSxjVC9kQztJU2dlRCw4QkozVE07SUkyVE4sc0JKM1RNLEVBQUE7RXdCOFp0QjtJcEIvRlksY1Q1ZUssRUFBQTs7QTZCeW1CakI7RXBCMVZJLHFDQUFnQztFQXlCNUIsWW9Ca1VpTjtFcEJwVHJOLG9CQTFDZ1k7RUEwQ2hZLG9CQTFDZ1k7RUEwQ2hZLGFBMUNnWTtFQTRDNVgseUJBQW1CO01BQW5CLHNCQUFtQjtVQUFuQixtQkFBbUI7RUFDbkIsd0JBQXVCO01BQXZCLHFCQUF1QjtVQUF2Qix1QkFBdUI7RUFNM0Isa0JBQWtCO0VBQ2xCLGlEQUFrRTtFQUVsRSxnREFBK0M7RUFDL0MsY1RuVWE7RVNvVWIseUJKdlphO0VJd1piLGlCSCtjNEI7RUc5YzVCLG1CQ2pWNEQ7RURrVjVELGdCVG1FZTtFU2xFZixrQkFBa0I7RUFDbEIsbUJBQW1CO0VBQ25CLGVBQWU7RUFFWCx5QlRvRWdDO0VTakVoQyxxQkhnYzJCO0VHL2IzQixpQkg4YndCO0VHM2J4QixxQko3WndCO0VJaWE1QixxQkFBcUI7RUFDckIsY0gwYnlCO0VHdmJyQiwyQkFBb0U7RUFFeEUsZ0JBQWdCO0VBQ2hCLDRCSmhMa0I7RUlnTGxCLG9CSmhMa0IsRUFBQTtFR3BHZDtJcUIraEJSO01wQnhRWSxrREFBb0UsRUFBQSxFb0IwUS9FO0VyQjVoQk87SXFCMGhCUjtNcEJwUVEsWW9CcVFpTjtNcEJwUWpOLG1EQUFrRSxFQUFBLEVvQnFRekU7RXBCaFFHO0lBQ0k7TUFDSSxjSmhjSztNSWljTCx5QkhpY3dEO01HL2JwRCxxQlRoWEM7TVNvWEwscUJBQXFCO01BQ3JCLDRCSnhNVTtNSXdNVixvQkp4TVUsRUFBQTtNSWdOVjtRQUNJLHlCSmpkQztRSWtkRCx5Q0psTk07UUlrTk4saUNKbE5NLEVBQUEsRUltTlQ7RUFHVDtJQUNJLGNKdmRTO0lJd2RULHlCVHJZUztJU3VZTCxxQlR2WUs7SVMyWVQsNEJKOU5jO0lJOE5kLG9CSjlOYyxFQUFBO0VJcU9sQjtJQUlRLGNWekp5RDtJVThKekQseUJKOWVLO0lJbWZMLHNDSmplcUI7SUltZXpCLG1CQUFtQixFQUFBO0VBT3ZCO0lBSVEsc0NKOWVxQixFQUFBO0VJa2Y3QjtJQUNJLGFBQWE7SUFDYiw0REo1UDZDO1lJNFA3QyxvREo1UDZDLEVBQUE7RUk4UmpEO0lBQ0kseUNKeFNjO0lJd1NkLGlDSnhTYyxFQUFBOztBd0JpY3RCO0VBQ0ksbUJBQW1CLEVBQUE7RUFEdkI7SUFHUSxlbkI3bkJ3RCxFQUFBOztBbUJrb0JoRTtFQUVRLGV2QnlHUyxFQUFBO0VFbnBCVDtJcUJ3aUJSO01BSVksZXZCd0dLLEVBQUEsRXVCdEdaOztBcEJncEREO0VBQ0ksZ0JUMTdEUTtFUzg3RFIsbUJDN3hFd0Q7RUQ4eEV4RCxnQlR2NkRHO0VTdzZESCxrQkhwNEJNO0VHdzRCTixjVHh4RVM7RVN5eEVULGdCVHQ2RHFCO0VTdTZEckIsNkJBQTZCLEVBQUE7RUFPN0I7SUFDSSxhQUFhLEVBQUE7RUFFakI7SUFDSSxTQUFTLEVBQUE7O0FBSWpCO0VBQ0ksZ0JUcjlEUTtFU3k5RFIsa0JDenpFd0Q7RUQwekV4RCxnQlRsOERHO0VTbThESCxrQkgvNUJNO0VHbTZCTixjVHB6RVM7RVNxekVULGdCVGw4RHFCLEVBQUE7RVN5OERyQjtJQUNJLGFBQWEsRUFBQTtFQUVqQjtJQUNJLFNBQVMsRUFBQTs7QUFHakI7RUFJSSxnQlRqL0RRO0VTbS9ESixlSHQ2QkU7RUd3NkJOLG1CQ3QxRXdEO0VEdTFFeEQsZ0JUOTlERztFUys5REgsa0JIMzdCTTtFRys3Qk4sY1RqMUVTO0VTazFFVCxnQlQvOURxQixFQUFBO0VTbStEckI7SUFDSSxhQUFhLEVBQUE7RUFFakI7SUFDSSxTQUFTLEVBQUE7O0FBR2pCO0VBQ0ksZ0JUdmdFUTtFU3lnRUosaUJINTdCSTtFRzg3QlIsaUJDNzJFd0Q7RUQ4MkV4RCxnQlRwL0RHO0VTcS9ESCxrQkhqOUJNO0VHcTlCTixjVHgyRVM7RVN5MkVULGdC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a0I7SUFDbEIsY0pyTGE7SUlzTGIseUJKMUs2QjtJSTRLN0IsNkJKM0xpQjtJSTRMakIscUJBQXFCO0lBQ3JCLDRCSnNFa0I7SUl0RWxCLG9CSnNFa0IsRUFBQTtJSXJFbEI7TUFDSSx5QkpoTHlCO01JaUx6QixxQ1QxR1M7TVMyR1QsY0psTHlCO01JbUx6Qiw0QkprRWM7TUlsRWQsb0JKa0VjLEVBQUE7SUloRWxCO01BQ0ksYUFBYTtNQUNiLHlCSnRNYTtNSXVNYiw0REpzRTZDO2NJdEU3QyxvREpzRTZDLEVBQUE7RXlCakhyRDtJckJtQlEsV0FBVztJQUlmLGNBQWM7SUFDZCxrQkFSd0U7SUFTeEUsZUFBVztJQUNYLGdCQVZtRDtJQVduRCxrQkFBa0I7SUFDbEIsY0pyTGE7SUlzTGIseUJUbkdhO0lTcUdiLDZCSjNMaUI7SUk0TGpCLHFCQUFxQjtJQUNyQiw0QkpzRWtCO0lJdEVsQixvQkpzRWtCLEVBQUE7SUlyRWxCO01BQ0kseUJUekdTO01TMEdULHFDVDFHUztNUzJHVCxjVDNHUztNUzRHVCw0QkprRWM7TUlsRWQsb0JKa0VjLEVBQUE7SUloRWxCO01BQ0ksYUFBYTtNQUNiLHlCSnRNYTtNSXVNYiw0REpzRTZDO2NJdEU3QyxvREpzRTZDLEVBQUE7RXlCakhyRDtJckJtQlEsV0FBVztJQUlmLGNBQWM7SUFDZCxrQkFSd0U7SUFTeEUsZUFBVztJQUNYLGdCQVZtRDtJQVduRCxrQkFBa0I7SUFDbEIsY0pyTGE7SUlzTGIseUJUbkdhO0lTcUdiLDZCSjNMaUI7SUk0TGpCLHFCQUFxQjtJQUNyQiw0QkpzRWtCO0lJdEVsQixvQkpzRWtCO0l5QnBEZCxZQUFZLEVBQUE7SXJCakJoQjtNQUNJLHlCVHpHUztNUzBHVCxxQ1QxR1M7TVMyR1QsY1QzR1M7TVM0R1QsNEJKa0VjO01JbEVkLG9CSmtFYyxFQUFBO0lJaEVsQjtNQUNJLGFBQWE7TUFDYix5Qkp0TWE7TUl1TWIsNERKc0U2QztjSXRFN0Msb0RKc0U2QyxFQUFBOztBeUIzRHJEO0VBR1ksV0FBVztFQUNYLGNBQWM7RUFDZCxlQUFlO0VBQ2Ysa0JB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bEIsWUFBWTtJQUNaLDJDSjFtRGtCO0lJMG1EbEIsbUNKMW1Ea0I7SUkwbURsQiwyQkoxbURrQjtJSTBtRGxCLG9ESjFtRGtCLEVBQUE7SUlrbkRkO01BQ0ksNERKMW1EeUM7Y0kwbUR6QyxvREoxbUR5QztNSTJtRHpDLDJDSnJuRFU7TUlxbkRWLG1DSnJuRFU7TUlxbkRWLDJCSnJuRFU7TUlxbkRWLG9ESnJuRFUsRUFBQTtFNkIvUXRCO0lBZVksWUFBWSxFQUFBO0VBZnhCO0lBcUJZLDhCQUE4QjtJQUM5QiwyQkFBMkIsRUFBQTtFMUJzSi9CO0kwQjVLUjtNQTRCUSxxQkFBZ0IsRUFBQSxFQUt2QjtFMUJnSk87STBCakxSO01BK0JRLHFCQUFnQixFQUFBLEVBRXZCOztBckN5dm1CRDtFWTlxa0JvQixrQkFBa0IsRUFBQTtFWmdya0JwQztJWTlxa0JzQixXQUFXO0lBQ1gsV0hxbUNUO0lHcG1DUyxXSHFtQ1Q7SUdwbUNTLGtCQUFrQjtJQUNsQixTQUFTO0lBQ1QsWUhxa0NxRTtJR3BrQ3JFLE9BQU87SUFDUCx5QkpwbENTO0lJcWxDVCxjQUFjLEVBQUE7RVpncmtCcEM7SVk1cWtCc0IsbUJINmpDdUIsRUFBQTs7QVRrbmlCL0M7RVluZ2pCd0IsV0FBVyxFQUFBOztBRHJuRDNCO0VYNG5tQk47SVluZ2pCMEIsV0FBVyxFQUFBLEVBRWxCOztBRDNuRGI7RVhnb21CTjtJWTUvaUJjLG9CQUFvQixFQUFBLEVBRTNCOztBRHRvREQ7RVhvb21CTjtJWTEvaUJrQixjQUFtQztJQUNuQyxvQkFBb0IsRUFBQSxFQUUzQjs7QUQ3b0RMO0VYeW9tQk47SVl6L2lCa0IsY0FBbUMsRUFBQSxFQUcxQzs7QURucERMO0VYNm9tQk47SVl2L2lCa0IsY0FBbUMsRUFBQSxFQUcxQzs7QUR6cERMO0VYaXBtQk47SVlyL2lCa0IsY0FBbUMsRUFBQSxFQUcxQzs7QUQvcERMO0VYcXBtQk47SVluL2lCa0IsY0FBbUMsRUFBQSxFQUcxQzs7QURycURMO0VYeXBtQk47SVkvK2lCYyxjQUFtQyxFQUFBLEVBRzFDOztBRDdxREQ7RVg2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QlZ0NkNTO0VVdzZDYixnQkg2eEJvQjtFR2xXeEIsWUFBWTtFQUNaLGtCQUFrQjtFQUNsQixZQUFZO0VBQ1osMkNKMW1Ea0I7RUkwbURsQixtQ0oxbURrQjtFSTBtRGxCLDJCSjFtRGtCO0VJMG1EbEIsb0RKMW1Ea0IsRUFBQTtFRy9GZDtJWGdobkJKO01ZL3ZrQlEsV0FBVyxFQUFBLEVBcUhsQjtFWjRva0JIO0lZOXZrQlUsbUJIc3JCYztJR3JyQmQsa0JIcXJCYyxFQUFBO0lUMmtqQnRCO01ZN3ZrQlksY0FBYyxFQUFBO0VaK3ZrQjVCO0lZenZrQlUsZUFBZSxFQUFBO0VaMnZrQnpCO0lZeHZrQlUsbUJIeXFCYztJR3hxQmQsa0JId3FCYyxFQUFBO0lUa2xqQnRCO01ZeHZrQlksbUJBQW1CLEVBQUE7RVowdmtCakM7SVl0dmtCVSxtQkhrcUJjO0lHanFCZCxrQkhpcUJjLEVBQUE7RVR1bGpCeEI7SVlwdmtCVSxnQkFBZ0I7SUFDaEIsa0JINHBCYztJRzNwQmQsZ0JIeXZCZ0IsRUFBQTtJVDYvaUJ4QjtNWXB2a0JZLGFBQWEsRUFBQTtJWnN2a0J6QjtNWW52a0JZLHNCSG92Qlk7VUdwdkJaLG1CSG92Qlk7Y0dwdkJaLHFCSG92QlksRUFBQTtJVGlnakJ4QjtNWWx2a0JZLDJCQUFxQjtVQUFyQix3QkFBcUI7Y0FBckIscUJBQXFCO01BRWpCLHVCQUEyQjtVQUEzQixvQkFBMkI7Y0FBM0IsMkJBQTJCLEVBQUE7RVptdmtCN0M7SVk1dWtCVSxvQkFBYTtJQUFiLG9CQUFhO0lBQWIsYUFBYTtJQUNiLHVCSHV3QlM7UUd2d0JULG9CSHV3QlM7WUd2d0JULDJCSHV3QlM7SUd0d0JULHlCQUFtQjtRQUFuQixzQkFBbUI7WUFBbkIsbUJBQW1CO0lBQ25CLG1CQUFlO1FBQWYsZUFBZTtJQUNmLFNBQVM7SUFDVCxvQkg0bkJxQixFQUFBO0lFajhEekI7TVhvam5CRjtRWTd1a0JVLHVCSGt3Qks7WUdsd0JMLG9CSGt3Qks7Z0JHbHdCTCwyQkhrd0JLO1FHandCTCxRQUFRLEVBQUEsRUFFZjtFWjZ1a0JQO0lZMXVrQlUsZ0JBQWdCLEVBQUE7RVo0dWtCMUI7SVl4dWtCVSxVSGd3QmlCO0lHL3ZCakIsbUJIK21CcUIsRUFBQTtFVDJuakIvQjtJWXR1a0JjLFlBQVksRUFBQTtFWnd1a0IxQjtJWWx1a0JjLGNUbjZDQztJU282Q0QscUJBQTRFO0lBQzVFLDhCSmh3Q007SUlnd0NOLHNCSmh3Q00sRUFBQTtFUm8rbUJwQjtJWS90a0JjLGNULzZDRyxFQUFBO0VIZ3BuQmpCO0lZcnRrQlUsNkJKcGhEUyxFQUFBO0VSMnVuQm5CO0lZcHRrQlUsb0JIa2pCeUI7SUdqakJ6Qix5QkpyaERLLEVBQUE7SVIydW5CYjtNWXB0a0JZLHNCQUFnRixFQUFBO0lac3RrQjVGO01ZbnRrQlksY0FBYyxFQUFBO0lacXRrQjFCO01ZaHRrQlksa0JINmtCVSxFQUFBO01UcW9qQnBCO1FZOXNrQmMsVUFBVSxFQUFBO0VaZ3RrQjVCO0lZLzNqQlUsNERKMW1EeUM7WUkwbUR6QyxvREoxbUR5QztJSTJtRHpDLDJDSnJuRFU7SUlxbkRWLG1DSnJuRFU7SUlxbkRWLDJCSnJuRFU7SUlxbkRWLG9ESnJuRFUsRUFBQTs7QVJ1L21CdEI7RVk3c2tCUSxXQUFXLEVBQUE7O0FaZ3RrQm5CO0VZNXNrQlEsV0FBVztFQUtYLG9CQUFhO0VBQWIsb0JBQWE7RUFBYixhQUFhO0VBQ2Isd0JBQXVCO01BQXZCLHFCQUF1QjtVQUF2Qix1QkFBdUI7RUFDdkIseUJBQW1CO01BQW5CLHNCQUFtQjtVQUFuQixtQkFBbUI7RUFDbkIsZ0JINm1CVyxFQUFBO0VFamdFWDtJWCtsbkJKO01ZdHNrQlEsU0h5bUJBLEVBQUEsRUdsbUJQO0VaaXNrQkg7SVlwc2tCVSxvQkFBYztRQUFkLGNBQWMsRUFBQTs7QVp1c2tCMUI7RVlsc2tCUSxvQkFBYTtFQUFiLG9CQUFhO0VBQWIsYUFBYTtFQUNiLGdCQUFnQjtFQUNoQixtQkhzaUJrQjtFR3JpQmxCLGtCSHFpQmtCLEVBQUE7RVQrcGpCeEI7SVlsc2tCVSxjSnRrREs7SUl1a0RMLGdCSDBwQmtDO0lHenBCbEMsbUJDbmdEb0QsRUFBQTtFYnVzbkI5RDtJWWpza0JVLGlCSHEvRG1FO0lHcC9EbkUsY0o1a0RLO0lJNmtETCxtQkN4Z0RvRCxFQUFBOztBYjRzbkJoRTtFWWhza0JRLGlEQUFrRDtFQUNsRCxpRFQ5aEQrQztFUytoRC9DLG9CQzlnRHdEO0VEK2dEeEQsZ0JBQWdCO0VBQ2hCLHlCQUF5QjtFQUN6QixtQkFBbUI7RUFDbkIsZ0JBQWdCO0VBQ2hCLDhCSjExQ2M7RUkwMUNkLHNCSjExQ2MsRUFBQTtFUjRobkJwQjtJWS9ya0JVLHdDQUF3QztJQUN4QywwQkFBMEI7SUFDMUIsOEJKaDJDVTtJSWcyQ1Ysc0JKaDJDVSxFQUFBOztBUmtpbkJ0QjtFWTlua0JRLGNKcHFEUztFSXFxRFQsZUM3bER3RDtFRDhsRHhELGdCSHVpQnNDO0VHdGlCdEMsZ0JUajJDZ0MsRUFBQTtFSGkrbUJ0QztJWTlua0JVLGNUdGxESztJU3VsREwsMEJBQTBCLEVBQUE7RVpnb2tCcEM7SVk3bmtCVSxjSjFxREssRUFBQTs7QVIweW5CakI7RVl4c2tCUSxjVGxoRFM7RVNtaERULGVDOWhEd0Q7RUQraER4RCxnQlRseUNnQztFU215Q2hDLGdCVGx5Q2dDO0VTbXlDaEMseUJUbHlDeUM7RVNteUN6Qyw4Qkp6MkNjO0VJeTJDZCxzQkp6MkNjLEVBQUE7RVJtam5CcEI7SVl4c2tCVSxTQUFTO0lBQ1QsVUFBVSxFQUFBOztBWjJza0J0QjtFWXZza0JRLGNUOWhEUyxFQUFBOztBSHd1bkJqQjtFWXRza0JZLFNBQVM7RUFDVCxVQUFVLEVBQUE7O0FaeXNrQnRCO0VZcnNrQlEsY1R6aURXO0VTMGlEWCxvQkNuakR3RCxFQUFBOztBRnFGeEQ7RVh1cW5CTjtJWXhqbUJjLGFBQWEsRUFBQSxFQU9wQjs7QUR0bkJEO0VYMnFuQk47SVl4am1Ca0IsY0FBYyxFQUFBLEVBRXJCOztBWnlqbUJiO0VZcGptQlEsb0JBQWE7RUFBYixvQkFBYTtFQUFiLGFBQWE7RUFDYiw0QkFBc0I7RUFBdEIsNkJBQXNCO01BQXRCLDBCQUFzQjtVQUF0QixzQkFBc0I7RUFDdEIsbUJBQVk7TUFB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S08sRUFBQTtFUXhLUDtJMEI5Q1I7O01BeUNZLFdsQytLRztNa0M5S0gsWWxDOEtHLEVBQUEsRWtDNUtWOztBQUdMO0VBQ0ksWWxDc0tXO0VrQ3JLWCxZQUFZLEVBQUE7RUFGaEI7O0lBS1EsV2xDa0tPO0lrQ2pLUCxZbENpS087SWtDL0pILHlEN0I4RnNDO1k2QjlGdEMsaUQ3QjhGc0M7STZCNUYxQyx5QzdCb0ZjO0k2QnBGZCxpQzdCb0ZjLEVBQUE7STZCOUZ0Qjs7TUFZWSx5QjdCL0tLO002QmlMRCx5RDdCd0ZrQztjNkJ4RmxDLGlEN0J3RmtDO002QnRGdEMseUM3QjZFVTtNNkI3RVYsaUM3QjZFVSxFQUFBO0k2QjdGdEI7O01BbUJZLFdBQXVEO01BQ3ZELFlBQXdELEVBQUE7RTFCckI1RDtJMEJDUjtNekJsSkksWXlCNEtpRztNekIzS2pHLFd5QjJLaUc7TXpCMUtqRyxZQUFZO01BQ1oseUJUK0RhO01TOURiLHlCQUF5QjtNQUN6QixrQ0FBNkI7Y0FBN0IsMEJBQTZCLEVBQUEsRXlCeUt4QjtFMUI3QkQ7STBCQ1I7TXpCbEpJLFl5Qm1Ma0c7TXpCbExsRyxXeUJrTGtHO016QmpMbEcsWUFBWTtNQUNaLHlCVCtEYTtNUzlEYix5QkFBeUI7TUFDekIsaUNBQTZCO2NBQTdCLHlCQUE2QixFQUFBLEV5QmdMeEI7O0FBSVQ7RUFDSSxXQUFXLEVBQUE7RUFEZjs7SUFPUSx5QjdCeE13QjtJNkJ5TXhCLFk1QjIyREs7STRCMTJETCwwRTdCOENjO0k2QjlDZCxrRTdCOENjLEVBQUE7SUdwR2Q7TTBCNkNSOztRQVlnQix5RDdCbURrQztnQjZCbkRsQyxpRDdCbURrQyxFQUFBLEU2QnBCN0M7STFCbkZHO00wQndDUjs7UUFnQlksWTVCazJERztRNEJoMkRDLHlEN0I2Q2tDO2dCNkI3Q2xDLGlEN0I2Q2tDLEVBQUEsRTZCcEI3QztJQTNDTDs7TUFzQlkscUJBQXFCO01BSXJCLHlCN0JwT0s7TTZCc09ELHlEN0JtQ2tDO2M2Qm5DbEMsaUQ3Qm1Da0M7TTZCakN0QyxZNUJxMURDO000QnAxREQsdUQ3QnVCVTtN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NHpEcUI7RTZCM3pEckIsa0JBQWtCO0VBQ2xCLDBDOUJXYTtFOEJWYiw2QjdCZzBEb0I7RTZCL3pEcEIsa0I5QnFRZTtFOEJwUWYsNEQ5QnlRa0I7RThCelFsQixvRDlCeVFrQixFQUFBO0U4Qi9RdEI7SUFRUSx5QjlCTVM7SThCTFQseUI3QjR6RGM7STZCM3pEZCw0RDlCb1FjO0k4QnBRZCxvRDlCb1FjLEVBQUE7SThCOVF0QjtNQVlZLHlCcENrVnlEO01vQ2pWekQseUM5QmlRVTtNOEJqUVYsaUM5QmlRVSxFQUFBO0U4QjlRdEI7SUFpQlEseUI5QkhTO0k4QklULHlCN0JvekRlLEVBQUE7STZCdDBEdkI7TUFvQlkseUJuQ3FGSyxFQUFBO0VtQ3pHakI7SUEyQmdCLHlCOUIwR0YsRUFBQTtFOEJySWQ7SUFnQ2dCLHlCOUJxR0YsRUFBQTs7QThCNUZkO0VBQ0ksVzdCcXlEMkI7RTZCcHlEM0IsWTdCb3lEMkI7RTZCbnlEM0Isb0JBQWE7RUFBYixvQkFBYTtFQUFiLGFBQWE7RUFDYix3QkFBdUI7TUFBdkIscUJBQXVCO1VBQXZCLHVCQUF1QjtFQUN2Qix5QkFBbUI7TUFBbkIsc0JBQW1CO1VBQW5CLG1CQUFtQjtFQUNuQixrQkFBa0I7RUFDbEIsVUFBVTtFQUVWLGlCQUFpQjtFQUNqQix5QjlCckNhO0U4QnNDYix5QjlCaENhO0U4QmlDYixtQjdCOHhEOEI7RTZCN3hEOUIsZUFBZTtFQUNmLFVBQVU7RUFDViwyQzlCdU5rQjtFOEJ2TmxCLG1DOUJ1TmtCO0U4QnZObEIsMkI5QnVOa0I7RThCdk5sQixvRDlCdU5rQixFQUFBO0U4QnRPdEI7SUFpQlEsV0FBVztJQUNYLFdBQVc7SUFDWCxZQUFZO0lBQ1oseUJuQzRDUztJbUMzQ1QsbUI3QnF4RDBCO0k2QnB4RDFCLHlCOUJqRFMsRUFBQTtFOEIyQmpCO0lBMEJRLDREOUJxTjZDO1k4QnJON0Msb0Q5QnFONkM7SThCcE43QywyQzlCME1jO0k4QjFNZCxtQzlCME1jO0k4QjFNZCwyQjlCME1jO0k4QjFNZCxvRDlCME1jLEVBQUE7O0E4QnRNdEI7RUFDSSxVQUFVLEVBQUE7O0FBS2Q7RUFDSSxrQkFBa0I7RUFDbEIsTUFBTTtFQUNOLFNBQVM7RUFDVCxjQUFjO0VBQ2QsWUFBWTtFQUNaLFVBQVUsRUFBQTtFQU5kO0lBUVEsV0FBVztJQUVYLHVCQUF1QjtJQUN2Qix3QkFBd0I7SUFDeEIsa0JBQWtCO0lBQ2xCLE1BQU07SUFDTixTQUFTO0lBQ1QsWUFBWTtJQUNaLHlCOUJlTTtJOEJkTixrQjlCMktXO0k4QjFLWCx5QzlCK0tjO0k4Qi9LZCxpQzlCK0tjLEVBQUE7RThCak10QjtJQXVCWSxVQUFVLEVBQUE7RUF2QnRCO0lBNEJZLFdBQVcsRUFBQTtFQTVCdkI7SUFnQ1EsTUFBTTtJQUNOLFlBQVksRUFBQTs7QUFJcEI7RUFDSSxhQUFhO0VBQ2IsZ0JBQWdCO0VBQ2hCLGtCQUFrQjtFQUNsQixvQkFBb0I7RUFDcEIsZ0JBQWdCO0VBQ2hCLG9CekJuQzREO0V5Qm9DNUQsYzlCV1U7RThCVlYsNEI5Qm9Ka0I7RThCcEpsQixvQjlCb0prQixFQUFBO0U4QjVKdEI7SUFVUSxpQkFBaUI7SUFDakIsWUFBWTtJQUNaLHlCOUJNTTtJOEJKTiw0QjlCNkljO0k4QjdJZCxvQjlCNkljLEVBQUE7O0FSMGxvQnRCO0V1Qzkyb0JJLFdBQVc7RUFDWCxrQkFBa0I7RUFDbEIsU0FBUztFQUNULG9CQUFhO0VBQWIsb0JBQWE7RUFBYixhQUFhO0VBQ2Isd0JBQXVCO01BQXZCLHFCQUF1QjtVQUF2Qix1QkFBdUI7RUFDdkIsOEJBQW1CO0VBQW5CLDZCQUFtQjtNQUFuQix1QkFBbUI7VUFBbkIsbUJBQW1CLEVBQUE7O0FBR3ZCO0VBQ0ksa0JBQWtCO0VBQ2xCLFlBQVk7RUFDWiwyQkFBMkI7RUFDM0IseUJBQXlCO0VBQ3pCLHNCQUFpQjtHQUFqQixxQkFBaUI7T0FBakIsaUJBQWlCO0VBQ2pCLHdDQUF3QyxFQUFBO0VBTjVDO0lBUU0sWTlCNlRJO0k4QjVUSixvQkFBYTtJQUFiLG9CQUFhO0lBQWIsYUFBYTtJQUNiLHdCQUF1QjtRQUF2QixxQkFBdUI7WUFBdkIsdUJBQXVCO0lBQ3ZCLDBCQUFxQjtRQUFyQixxQkFBcUI7SUFDckIsZ0JBQW9FO0lBQ3BFLGU5Qjh6RXVCO0k4Qjd6RXZCLGlDL0JrS2lDO0krQmpLakMsYy9CSFc7SStCSVgsY0FBYztJQUNkLDBDcEM2RWE7SW9DNUViLG1CL0J1UDhCO0krQnRQOUIscUQvQjBQZ0I7SStCMVBoQiw2Qy9CMFBnQixFQUFBO0UrQjdRdEI7SUFzQk0seUJwQ2lGVztJb0NoRlgsYy9CWFc7SStCWVgscUQvQm9QZ0I7SStCcFBoQiw2Qy9Cb1BnQixFQUFBO0UrQjVRdEI7SUEyQlEseUJwQ29FUztJb0NuRVQsYy9CaEJTLEVBQUE7O0ErQm9CakI7RUFDSSxrQkFBa0I7RUFDbEIsb0JBQWE7RUFBYixvQkFBYTtFQUFiLGFBQWE7RUFDYix3QkFBdUI7TUFBdkIscUJBQXVCO1VBQXZCLHVCQUF1QjtFQUV2QiwyQkFBcUI7TUFBckIsd0JBQXFCO1VBQXJCLHFCQUFxQjtFQUdyQixlQUFlLEVBQUE7RUFSbkI7SUFZZ0IsWTlCc1FIO0k4QnJRRyxjQUFjO0lBQ2Qsa0JBQWtCO0lBQ2xCLGVBQWU7SUFDZixpQy9CZ0l1QjtJK0IvSHZCLGtCQUFrQixFQUFBO0VBakJsQztJQW9CZ0IsU0FBUztJQUNULFVBQVU7SUFDVixrQkFBa0I7SUFDbEIseUJBQXlCO0lBQ3pCLG9CMUI0QmdEO0kwQjNCaEQsZ0JwQzBhYSxFQUFBO0VvQ25jN0I7SUFnQ2dCLFk5Qm1QSDtJOEJsUEcsVUFBVTtJQUNWLDZCL0J6REs7SStCMERMLGMvQjBERjtJK0J6REUsZUFBZSxFQUFBO0VBcEMvQjtJQXlDWSxxQi9Cb0RFO0krQm5ERix5QnJDa1J5RCxFQUFBO0lVZy9FakU7TUFTQSxXQUFXO01BQ1AsUUFBUTtNQUNSLFNBQVM7TUFDVCxrQkFBa0I7TUFFZCxNQUFNO01BQ04sU0FBUztNQVliLGlCQUFjO01BQ2QsbUJBQW1CO01BQ25CLHlCSmgyRmE7TUlrMkZULDRCSjl1RkU7TUkrdUZGLGFBQWE7TUFDYixnQkFBa0M7TUFDbEMsaUJBQWtILEVBQUE7SUEvQjFIO01BTUEsV0FBVztNQUNQLFFBQVE7TUFDUixTQUFTO01BQ1Qsa0JBQWtCO01BRWQsTUFBTTtNQUNOLFNBQVM7TUFZYixpQkFBYztNQUNkLG1CQUFtQjtNQUNuQix5QkpoMkZhO01JazJGVCw0QlYvZ0Z5RDtNVWdoRnpELGFBQWE7TUFDYixnQkFBa0M7TUFDbEMsaUJBQWtILEVBQUE7STJCOTBGOUg7TUE4Q29CLFk5QnFPUDtNOEJwT08sYy9COENOLEVBQUE7SStCN0ZkO01BbURnQixjL0IwQ0Y7TStCekNFLG9CMUJBZ0Q7TTBCQ2hELGdCcEM4WWE7TW9DN1liLHlCQUF5QixFQUFBO0VBdER6QztJQTZEZ0IsWTlCdU5MO0k4QnROSyxVQUFVO0lBQ1YsNkIvQnRGSztJK0J1RkwsYy9CbUNGO0krQmxDRSxlQUFlLEVBQUE7RUFqRS9CO0lBc0VZLHFCL0I2QkU7SStCNUJGLHlCckNxUHlELEVBQUE7SVVnL0VqRTtNQVNBLFdBQVc7TUFDUCxRQUFRO01BQ1IsU0FBUztNQUNULGtCQUFrQjtNQUVkLE1BQU07TUFDTixTQUFTO01BWWIsaUJBQWM7TUFDZCxtQkFBbUI7TUFDbkIseUJKaDJGYTtNSWsyRlQsNEJKeHVGRTtNSXl1RkYsYUFBYTtNQUNiLGdCQUFrQztNQUNsQyxpQkFBa0gsRUFBQTtJQS9CMUg7TUFNQSxXQUFXO01BQ1AsUUFBUTtNQUNSLFNBQVM7TUFDVCxrQkFBa0I7TUFFZCxNQUFNO01BQ04sU0FBUztNQVliLGlCQUFjO01BQ2QsbUJBQW1CO01BQ25CLHlCSmgyRmE7TUlrMkZULDRCVi9nRnlEO01VZ2hGekQsYUFBYTtNQUNiLGdCQUFrQztNQUNsQyxpQkFBa0gsRUFBQTtJMkI5MEY5SDtNQTJFb0IsWTlCeU1UO004QnhNUyxjL0J1Qk4sRUFBQTtJK0JuR2Q7TUFnRmdCLGMvQm1CRjtNK0JsQkUsb0IxQjdCZ0Q7TTBCOEJoRCxnQnBDaVhhO01vQ2hYYix5QkFBeUIsRUFBQTtFQW5GekM7SUE0RmdCLFk5QnVVSyxFQUFPO0U4Qm5hNUI7SUFxR1EscUJBQXlCO1FBQXpCLGtCQUF5QjtZQUF6Qix5QkFBeUIsRUFBQTtJQXJHakM7TUF3R2dCLHNCQUFtRCxFQUFBO0VBeEduRTtJQStHUSx1QkFBMkI7UUFBM0Isb0JBQTJCO1lBQTNCLDJCQUEyQixFQUFBO0lBL0duQztNQWlIWSxPQUFPLEVBQUE7SUFqSG5CO01BcUhnQixTQUFNLEVBQUE7RUFySHRCO0lBMEhRLHVCQUEyQjtRQUEzQixvQkFBMkI7WUFBM0IsMkJBQTJCLEVBQUE7SUExSG5DO01BNkhnQixTQUFNLEVBQUE7RUE3SHRCO0lBbUlRLHVCQUEyQjtRQUEzQixvQkFBMkI7WUFBM0IsMkJBQTJCLEVBQUE7SUFuSW5DO01BcUlZLFFBQVE7TUFDUixXQUFXLEVBQUE7SUF0SXZCO01BMElnQixzQkFBbUQsRUFBQTtFQTFJbkU7SUFpSlEsNEJBQXNCO0lBQXRCLDZCQUFzQjtRQUF0QiwwQkFBc0I7WUFBdEIsc0JBQXNCLEVBQUE7STNCMnBGMUI7TUFTQSxXQUFXO01BQ1AsUUFBUTtNQUNSLFNBQVM7TUFDVCxrQkFBa0I7TUFFZCxNQUFNO01BQ04sU0FBUztNQVliLGlCQUFjO01BQ2QsbUJBQW1CO01BQ25CLHlCSmgyRmE7TUlrMkZULDRCVHB3Rks7TVNxd0ZMLGFBQWE7TUFDYixnQkFBa0M7TUFDbEMsaUJBQWtILEVBQUE7SUEvQjFIO01BTUEsV0FBVztNQUNQLFFBQVE7TUFDUixTQUFTO01BQ1Qsa0JBQWtCO01BRWQsTUFBTTtNQUNOLFNBQVM7TUFZYixpQkFBYztNQUNkLG1CQUFtQjtNQUNuQix5QkpoMkZhO01JazJGVCw0QkovMUZLO01JZzJGTCxhQUFhO01BQ2IsZ0JBQWtDO01BQ2xDLGlCQUFrSCxFQUFBOztBMkJ2ckY5SDtFQUVRLG1CQUFtQjtFQUNuQixpQkFBaUIsRUFBQTs7QUFHekI7RUFDSSxRQUFRO0VBQ1IsU0FBUztFQUNULGdCQUFnQjtFQUNoQixrQkFBa0IsRUFBQTs7QUFHdEI7RTNCOHJHSSxZSGhrQ21DO0VHaWtDbkMsa0JBQWtCO0VBQ2xCLFNBQVM7RUFDVCxXQUFXO0UyQi9yR1gsYUFBYTtFQUViLGNBQWM7RUFDZCxnQkFBZ0I7RUFDaEIsbUMvQm1Fa0I7RStCbkVsQiwyQi9CbUVrQixFQUFBO0UrQnpFdEI7SUFRUSxpQkFBaUI7SUFDakIsbUMvQitEYztJK0IvRGQsMkIvQitEYyxFQUFBO0UrQnJGdEI7SUF5QlEsV0FBVztJQUNYLFlBQVk7SUFDWixrQkFBa0I7SUFDbEIsYUFBYTtJQUNiLGVBQVk7SUFDWix5Qi9Cek1TO0krQjBNVCx5QnBDL0dTO0lvQ2lITCxnQnJDdk1TO0lxQ3lNYixVQUFVLEVBQUE7SUF0QmxCO01Bd0JZLFVBQVU7TUFDVixTQUFTO01BQ1QsZ0JBQWdCLEVBQUE7SUExQjVCO01BNkJZLG9CMUI3SW9EO00wQjhJcEQsZ0I5QnNtRXFCO004QnJtRXJCLGdCcENrSWE7TW9DakliLGMvQnJOSyxFQUFBO0krQnFMakI7TUFvQ2dCLGNBQWMsRUFBQTtJQXBDOUI7TUF3Q1ksVUFBVTtNQUNWLFNBQVMsRUFBQTs7QUN2UHJCOzs7OztDeEM0bXBCQztBWXh4bUJRO0U0QjUwQ0wsa0JBQWtCLEVBQUE7RUFEdEI7SUFHUSxhQUFhLEVBQUE7RUFIckI7SUFRWSx1QkFBdUI7SUFDdkIsK0JoQ3NRVTtJZ0N0UVYsdUJoQ3NRVSxFQUFBO0VnQy9RdEI7SUFhZ0IsWXJDNEVSLEVBQU87RVF3RlA7STZCakxSO01Bb0JnQix1QkFBdUIsRUFBQSxFQUU5QjtFN0IySkQ7STZCakxSO01BMkJnQixhQUFhLEVBQUEsRUFFcEI7RUE3QlQ7SUFtQ1EsZ0JBQWdCO0lBQ2hCLGtCQUFrQjtJQUNsQixnQkFBZ0I7SUFDaEIsK0JoQzBPYztJZ0MxT2QsdUJoQzBPYyxFQUFBO0VnQ2hSdEI7SUE4Q1EsY0FBYztJQUNkLGNBQWM7SUFDZCx1QkFBdUI7SUFDdkIsY3JDaURTO0lxQ2hEVCxnQkFBZ0IsRUFBQTtJQWxEeEI7TUFxRGdCLGNyQzJDRztNcUMxQ0gsb0IzQmlDZ0Q7TTJCaENoRCw0QmhDd05NO01nQ3hOTixvQmhDd05NLEVBQUE7SWdDL1F0QjtNQTJEWSxZckNnQ0Y7TXFDL0JFLGtCQUFrQjtNQUNsQixRQUFRO01BQ1IsV0FBVztNQUNYLE9BQU87TUFDUCwrQmhDbUx5QztNZ0NsTHpDLGtCM0JzQm9EO00yQnJCcEQsNEJoQzhNVTtNZ0M5TVYsb0JoQzhNVSxFQUFBOztBZ0N4TXRCO0U1Qmt3RkksMEVBQTBGO1VBQTFGLGtFQUEwRixFQUFBOztBRHpwRnRGO0U2QnpHUjtJQVdnQix5QkFBaUI7WUFBakIsaUJBQWlCLEVBQUEsRUFFeEI7O0FBYlQ7RUFpQmdCLHlCQUFpQjtVQUFqQixpQkFBaUIsRUFBQTs7QUFqQmpDO0VBc0JnQixvQkFBb0I7RUFFcEIsK0NBQStDO0VBQy9DLDRCQUE0QixFQUFBO0VBekI1QztJQTJCb0IsYUFBYSxFQUFBOztBQTNCakM7RUFvRFEsa0JBQWtCLEVBQUE7O0FDbkkxQjs7O0N6QzRxcEJDO0F5Q3RxcEJEO0VBRVEsc0J2Q21CYTtFdUNqQmpCLHFCaENrMkZZLEVBQUE7RUVwckZSO0k4QmxMUjtNQU9ZLHVCQUFtQztNQUNuQyxhQUFhO01BQ2IseURqQytRc0M7Y2lDL1F0QyxpRGpDK1FzQztNaUM5UXRDLHlCakNNSztNaUNMTCxnQ3RDd0ZLO01zQ3ZGTCxjQUFjLEVBQUEsRUFFckI7O0FBR0w7RUFDSSxXQUFXO0VBQ1gsaUJBQWlCLEVBQUE7RTlCK0piO0k4QmpLUjtNQUtRLGVBQWUsRUFBQSxFQW1CdEI7RUF4QkQ7SUFVWSxrQkFBa0IsRUFBQTtFQVY5QjtJQWNRLGdCQUFnQjtJQUNoQixVQUFVO0lBQ1YsU0FBUztJQUNULGdCQUFnQjtJQUNoQixnQkFBZ0IsRUFBQTtJOUIrSWhCO004QmpLUjtRQXFCWSxZQUFZLEVBQUEsRUFFbkI7O0FBR0w7RUFDSSxXQUFXO0VBQ1gsb0JBQWE7RUFBYixvQkFBYTtFQUFiLGFBQWE7RUFDYix5QkFBOEI7TUFBOUIsc0JBQThCO1VBQTlCLDhCQUE4QjtFQUM5QiwyQkFBcUI7TUFBckIsd0JBQXFCO1VBQXJCLHFCQUFxQjtFQUNyQixpQmhDOHpGa0M7RWdDN3pGbEMseUJ0Q2tEYTtFc0NoRFQsZ0J2QzlCYSxFQUFBO0V1Q3NCckI7SUFnQlEsY2pDM0NTO0lpQzRDVCxvQjVCNEJ3RDtJNEIzQnhELGdCdENnSDZCO0lzQy9HN0IseUJ0QzZHMkI7SXNDM0d2QixxQnRDNEdrQjtJc0MxR3RCLGlEdENLK0MsRUFBQTtFc0M1QnZEO0lBMEJRLFlBQVksRUFBQTtJQTFCcEI7TUE2QmdCLGNqQ3hEQztNaUN5REQsOEJqQ3VNTTtNaUN2TU4sc0JqQ3VNTSxFQUFBO0lpQ3JPdEI7TUFrQ1ksY2pDN0RLO01pQzhETCxlNUJVb0Q7TTRCVHBELG9CQUFhO01BQWIsb0JBQWE7TUFBYixhQUFhO01BQ2IseUJBQW1CO1VBQW5CLHNCQUFtQjtjQUFuQixtQkFBbUIsRUFBQTtNQXJDL0I7UUF1Q2dCLFl0Q1NMO1FzQ1JLLGlCQUFpQjtRQUNqQiwrQmpDZ0txQztRaUMvSnJDLG9CNUJHZ0Q7UTRCRmhELGN0Q3FCQztRc0NwQkQsOEJqQzBMTTtRaUMxTE4sc0JqQzBMTSxFQUFBOztBaUNwTHRCO0VBQ0ksbUJoQzB3RnlCO0VnQ3p3RnpCLGtCaEMwd0Z3QjtFZ0N6d0Z4QixnQmhDMHdGc0I7RWdDendGdEIsaUR0QzFCbUQ7RXNDK0IvQyxxQnRDc0VzQixFQUFBOztBc0NuRTlCO0VBQ0ksb0JBQWE7RUFBYixvQkFBYTtFQUFiLGFBQWE7RUFDYixtQkFBZTtNQUFmLGVBQWU7RUFDZixlaENteEZ5QjtFZ0NseEZ6QixnQkFBZ0IsRUFBQTtFQUpwQjtJQU9ZLFdBQVcsRUFBQTtJOUI2RGY7TThCcEVSO1FBU2dCLG1CQUFhO1lBQWIsaUJBQWE7Z0JBQWIsYUFBYSxFQUFBLEVBR3BCO0VBWlQ7SUFnQlksV0FBVyxFQUFBO0VBaEJ2QjtJQXNCWSxnQkFBZ0IsRUFBQTs7QUFJNUI7RUFDSSxlaEN3d0ZvQixFQUFBO0VnQ3p3RnhCO0lBSVksY3RDcENLO0lzQ3FDTCwwQkFBMEI7SUFDMUIsOEJqQ3VJVTtJaUN2SVYsc0JqQ3VJVSxFQUFBO0VpQzdJdEI7SUFVUSxXaENtd0ZPO0lnQ2x3RlAsWWhDbXdGUTtJZ0Nsd0ZSLG9CQUFhO0lBQWIsb0JBQWE7SUFBYixhQUFhO0lBQ2Isd0JBQXVCO1FBQXZCLHFCQUF1QjtZQUF2Qix1QkFBdUI7SUFDdkIseUJBQW1CO1FBQW5CLHNCQUFtQjtZQUFuQixtQkFBbUI7SUFFbkIseUJqQzFId0IsRUFBQTtFaUMwR2hDO0lBd0JRLGVBQWUsRUFBQTtFQXhCdkI7SUEyQlEsb0JBQWE7SUFBYixvQkFBYTtJQUFiLGFBQWE7SUFDYix5QkFBbUI7UUFBbkIsc0JBQW1CO1lBQW5CLG1CQUFtQjtJQUNuQixXQUFXO0lBQ1gsbUJoQzB1Rm9CLEVBQUE7SWdDeHdGNUI7TUFnQ1ksZ0JBQWdCO01BT2hCLGNqQ3ZKSztNaUN3SkwsOEJqQ3NHVTtNaUN0R1Ysc0JqQ3NHVSxFQUFBO0VpQzlJdEI7SUFtRFEsb0JBQWE7SUFBYixvQkFBYTtJQUFiLGFBQWE7SUFDYiw0QkFBc0I7SUFBdEIsNkJBQXNCO1FBQXRCLDBCQUFzQjtZQUF0QixzQkFBc0I7SUFDdEIsbUJBQU87UUFBUCxXQUFPO1lBQVAsT0FBTyxFQUFBO0VBckRmO0lBNERRLG9CNUJ2R3dEO0k0QndHeEQseUJBQXlCO0lBQ3pCLGN0Q2hHVyxFQUFBO0VzQ2tDbkI7SUFrRVEsZUFBZTtJQUNmLG9CNUI5R3dEO0k0QitHeEQsY3RDdEdXLEVBQUE7O0FzQzJHbkI7RUFDSSxhQUFhLEVBQUE7RTlCM0JUO0k4QjBCUjtNQUdRLG9CQUFhO01BQWIsb0JBQWE7TUFBYixhQUFhLEVBQUEsRUFRcEI7RUFYRDtJQU1RLFloQ3FrRm1CLEVBQUE7SWdDM2tGM0I7TUFRWSxZaENta0ZlLEVBQUE7O0FnQzlqRjNCO0VBR1ksaUJBQWlCO0VBQ2pCLGNBQWMsRUFBQTtFOUIzQ2xCO0k4QnVDUjtNQU9nQix5RGpDd0RrQztjaUN4RGxDLGlEakN3RGtDLEVBQUEsRWlDdER6Qzs7QUFUVDtFQVlRLGVBQWU7RUFDZixhQUFhLEVBQUE7O0FBYnJCO0VBbUJRLG1CakM1TlMsRUFBQTtFR2tLVDtJOEJ1Q1I7TUFzQmdCLHNCdkMxTks7TVV3dUdiLG9CSDNmZ0M7TUc2ZnBDLDRESnIrRmlEO2NJcStGakQsb0RKcitGaUQ7TUkwK0ZqRCw0QlRqcUdhO01Ta3FHYix1QkFBbUQ7TUFDbkQsbUJBQW1CLEVBQUEsRTZCNWdHbEI7RUFqQ0w7SUE2Qm9CLGlCQUFpQixFQUFBOztBQ3ZQckM7RUFDSSxXQUE0QjtFQUM1QixZQUE2QjtFQUM3QixzQmpDczFEc0IsRUFBQTtFaUNyMUR0QjtJQUNJLFdqQ20xRFk7SWlDbDFEWixZakNrMURZO0lpQ2oxRFosa0JBQWtCO0lBQ2xCLHlCbEMwSE07SWtDekhOLCtCQUF1QjtZQUF2Qix1QkFBdUI7SUFDdkIsVUFBVTtJQUNWLGtCQUFrQjtJQUNsQix3REFBZ0Q7WUFBaEQsZ0RBQWdELEVBQUE7SUFSbkQ7TUFXTyxXQUFXO01BQ1gsV0FBVztNQUNYLFlBQVk7TUFDWixrQkFBa0I7TUFDbEIsa0JBQWtCLEVBQUE7SUFmekI7TUFrQk8scUJBQXFCO01BQ3JCLFVBQVUsRUFBQTtJQW5CakI7TUF1Qk8sY0FBYztNQUNkLFVBQVUsRUFBQTtJQUVkO01BQ0ksVUFBVTtNQUNWLFlBQVk7TUFDWixrQkFBa0I7TUFDbEIsU0FBUztNQUNULFNBQVM7TUFDVCxpQkFBaUI7TUFDakIseUJsQzZGRTtNa0M1RkYsa0JBQWtCO01BQ2xCLFVBQVU7TUFDViwyREFBbUQ7Y0FBbkQsbURBQW1ELEVBQUE7SUFFdkQ7TUFDSSx5QmxDdUZFO01rQ3RGRixrQkFBa0I7TUFDbEIsWUFBWTtNQUNaLFdBQVc7TUFDWCxTQUFTO01BQ1QsaUJBQWlCO01BQ2pCLGtCQUFrQjtNQUNsQixVQUFVO01BQ1YsVUFBVTtNQUNWLDJEQUFtRDtjQUFuRCxtREFBbUQsRUFBQTtFQUczRDtJQUNJLFdqQ2d5RFk7SWlDL3hEWixZakMreERZO0lpQzl4RFosa0JBQWtCO0lBQ2xCLHlCbEM2RU07SWtDNUVOLCtCQUF1QjtZQUF2Qix1QkFBdUI7SUFDdkIsVUFBVTtJQUNWLGtCQUFrQjtJQUNsQix1Q0FBK0I7WUFBL0IsK0JBQStCLEVBQUE7SUFSbEM7TUFXTyxXQUFXO01BQ1gsYUFBYTtNQUNiLGtCQUFrQjtNQUNsQixnQ0FBd0I7Y0FBeEIsd0JBQXdCO01BQ3hCLFdBQVcsRUFBQTtJQWZsQjtNQW1CTyw0QkFBNEI7TUFDNUIsV0FBVztNQUNYLFlBQVk7TUFDWixVQUFVO01BQ1YsU0FBUztNQUNULG1DQUEyQjtjQUEzQiwyQkFBMkI7TUFDM0IsaUNBQXlCO2NBQXpCLHlCQUF5QixFQUFBO0lBekJoQztNQTZCTyw4QkFBOEI7TUFDOUIsVUFBVTtNQUNWLFVBQVU7TUFDVixnQ0FBd0I7Y0FBeEIsd0JBQXdCO01BQ3hCLGlDQUF5QjtjQUF6Qix5QkFBeUI7TUFDekIsa0RBQTBDO2NBQTFDLDBDQUEwQyxFQUFBO0lBRzlDO01BQ0ksY0FBYztNQUNkLGtCQUFrQjtNQUNsQixVQUFVLEVBQUE7SUFHZDtNQUNJLGtCQUFrQjtNQUVsQiwrQkFBdUI7Y0FBdkIsdUJBQXVCO01BQ3ZCLFlBQVk7TUFDWixVQUFVO01BQ1Ysa0JBQWtCO01BQ2xCLFNBQVM7TUFDVCxXQUFXO01BQ1gsVUFBVSxFQUFBO0lBR2Q7TUFDSSxVQUFVO01BQ1YsWUFBWTtNQUNaLFVBQVU7TUFDVixrQkFBa0I7TUFDbEIsUUFBUTtNQUNSLGlDQUF5QjtjQUF6Qix5QkFBeUI7TUFDekIsVUFBVSxFQUFBO0lBR2Q7TUFFSSxrQkFBa0I7TUFDbEIsY0FBYztNQUNkLFdBQVc7TUFDWCxrQkFBa0I7TUFDbEIsVUFBVTtNQUNWLHlCbENTRTtNa0NSRixTQUFTO01BQ1QsV0FBVyxFQUFBO0lBR2Y7TUFDSSxVQUFVO01BQ1YsZ0NBQXdCO2NBQXhCLHdCQUF3QjtNQUN4QixvQ0FBNEI7Y0FBNUIsNEJBQTRCLEVBQUE7SUFHaEM7TUFDSSxXQUFXO01BQ1gsaUNBQXlCO2NBQXpCLHlCQUF5QjtNQUN6QixxQ0FBNkI7Y0FBN0IsNkJBQTZCLEVBQUE7O0FBT3pDO0VBRUk7O0lBRUksaUNBQXlCO1lBQXpCLHlCQUF5QixFQUFBO0VBRzdCOztJQUVJLGtDQUEwQjtZQUExQiwwQkFBMEIsRUFBQSxFQUFBOztBQUlsQztFQUNJO0lBQ0ksa0NBQTBCO1lBQTFCLDBCQUEwQjtJQUMxQixVQUFVLEVBQUE7RUFHZDtJQUNJLGdDQUF3QjtZQUF4Qix3QkFBd0I7SUFDeEIsVUFBVSxFQUFBLEVBQUE7O0FBUmxCO0VBQ0k7SUFDSSxrQ0FBMEI7WUFBMUIsMEJBQTBCO0lBQzFCLFVBQVUsRUFBQTtFQUdkO0lBQ0ksZ0NBQXdCO1lBQXhCLHdCQUF3QjtJQUN4QixVQUFVLEVBQUEsRUFBQTs7QUFJbEI7RUFFSTs7SUFFSSxVQUFVO0lBQ1YsU0FBUztJQUNULFFBQVEsRUFBQTtFQUdaO0lBQ0ksVUFBVTtJQUNWLFNBQVM7SUFDVCxXQUFXLEVBQUE7RUFHZjtJQUNJLFVBQVU7SUFDVixTQUFTO0lBQ1QsV0FBVyxFQUFBLEVBQUE7O0FBbEJuQjtFQUVJOztJQUVJLFVBQVU7SUFDVixTQUFTO0lBQ1QsUUFBUSxFQUFBO0VBR1o7SUFDSSxVQUFVO0lBQ1YsU0FBUztJQUNULFdBQVcsRUFBQTtFQUdmO0lBQ0ksVUFBVTtJQUNWLFNBQVM7SUFDVCxXQUFXLEVBQUEsRUFBQTs7QUFJbkI7RUFFSTs7SUFFSSxXQUFXO0lBQ1gsU0FBUztJQUNULFFBQVEsRUFBQTtFQUdaO0lBQ0ksV0FBVztJQUNYLFNBQVM7SUFDVCxXQUFXLEVBQUE7RUFHZjtJQUNJLFdBQVc7SUFDWCxTQUFTO0lBQ1QsV0FBVyxFQUFBLEVBQUE7O0FBbEJuQjtFQUVJOztJQUVJLFdBQVc7SUFDWCxTQUFTO0lBQ1QsUUFBUSxFQUFBO0VBR1o7SUFDSSxXQUFXO0lBQ1gsU0FBUztJQUNULFdBQVcsRUFBQTtFQUdmO0lBQ0ksV0FBVztJQUNYLFNBQVM7SUFDVCxXQUFXLEVBQUEsRUFBQTs7QUFNbkI7RUFDSTtJQUNJLDJCQUFtQjtZQUFuQixtQkFBbUIsRUFBQTtFQUd2QjtJQUNJLDhCQUFzQjtZQUF0QixzQkFBc0IsRUFBQTtFQUcxQjtJQUNJLDJCQUFtQjtZQUFuQixtQkFBbUIsRUFBQSxFQUFBOztBQVYzQjtFQUNJO0lBQ0ksMkJBQW1CO1lBQW5CLG1CQUFtQixFQUFBO0VBR3ZCO0lBQ0ksOEJBQXNCO1lBQXRCLHNCQUFzQixFQUFBO0VBRzFCO0lBQ0ksMkJBQW1CO1lBQW5CLG1CQUFtQixFQUFBLEVBQUE7O0FBSTNCO0VBQ0k7SUFDSSw2QmxDN05hO0lrQzhOYiwyQkFBbUI7WUFBbkIsbUJBQW1CO0lBQ25CLFlBQVksRUFBQTtFQUdoQjtJQUNJLDZCbENuT2E7SWtDb09iLDJCQUFtQjtZQUFuQixtQkFBbUI7SUFDbkIsWUFBWSxFQUFBO0VBR2hCO0lBQ0kseUJsQ3JITTtJa0NzSE4sMkJBQW1CO1lBQW5CLG1CQUFtQjtJQUNuQixVQUFVLEVBQUEsRUFBQTs7QUFoQmxCO0VBQ0k7SUFDSSw2QmxDN05hO0lrQzhOYiwyQkFBbUI7WUFBbkIsbUJBQW1CO0lBQ25CLFlBQVksRUFBQTtFQUdoQjtJQUNJLDZCbENuT2E7SWtDb09iLDJCQUFtQjtZQUFuQixtQkFBbUI7SUFDbkIsWUFBWSxFQUFBO0VBR2hCO0lBQ0kseUJsQ3JITTtJa0NzSE4sMkJBQW1CO1lBQW5CLG1CQUFtQjtJQUNuQixVQUFVLEVBQUEsRUFBQTs7QUFJbEI7RUFDSTtJQUNJLHlCbEM3SE0sRUFBQTtFa0NnSVY7SUFDSSx5QmxDaklNLEVBQUEsRUFBQTs7QWtDMkhkO0VBQ0k7SUFDSSx5QmxDN0hNLEVBQUE7RWtDZ0lWO0lBQ0kseUJsQ2pJTSxFQUFBLEVBQUE7O0FrQ3lJZDtFQUNJLFdBQW9EO0VBQ3BELFlBQXNEO0VBQ3RELHNCakMya0RzQixFQUFBOztBaUN4a0QxQjtFQUNJLFdqQ3NrRGdCO0VpQ3JrRGhCLFlqQ3FrRGdCO0VpQ3BrRGhCLHlCbEN4SlU7RWtDeUpWLG1CQUFtQjtFQUNuQixrQkFBa0I7RUFDbEIsVUFBVTtFQUNWLGtCQUFrQjtFQUNsQiwrQkFBdUI7VUFBdkIsdUJBQXVCLEVBQUE7O0FBRzNCO0VBQ0kscUJsQ2pLVSxFQUFBOztBa0NvS2Q7O0VBRUksV0FBVztFQUNYLG1CQUFtQjtFQUNuQixrQkFBa0I7RUFDbEIsa0JBQWtCO0VBQ2xCLFdBQVc7RUFDWCxhQUFhO0VBQ2IsZ0NBQXdCO1VBQXhCLHdCQUF3QixFQUFBOztBQUc1QjtFQUNJLDhCQUE4QjtFQUM5QixTQUFTO0VBQ1QsV0FBVztFQUNYLGlDQUF5QjtVQUF6Qix5QkFBeUI7RUFDekIsbUNBQTJCO1VBQTNCLDJCQUEyQixFQUFBOztBQUcvQjtFQUNJLDhCQUE4QjtFQUM5QixVQUFVO0VBQ1YsVUFBVTtFQUNWLGlDQUF5QjtVQUF6Qix5QkFBeUI7RUFDekIsa0NBQTBCO1VBQTFCLDBCQUEwQixFQUFBOztBQUc5QjtFQUNJLFdBQVc7RUFDWCxZQUFZO0VBRVosbUJBQW1CO0VBQ25CLGtCQUFrQjtFQUNsQiwrQkFBdUI7VUFBdkIsdUJBQXVCO0VBQ3ZCLGtCQUFrQjtFQUNsQixVQUFVO0VBQ1YsU0FBUztFQUNULFVBQVUsRUFBQTs7QUFHZDtFQUNJLFVBQVU7RUFDVixZQUFZO0VBRVosa0JBQWtCO0VBQ2xCLFVBQVU7RUFDVixRQUFRO0VBQ1IsVUFBVTtFQUNWLGlDQUF5QjtVQUF6Qix5QkFBeUIsRUFBQTs7QUFHN0I7RUFDSSxrREFBMEM7VUFBMUMsMENBQTBDLEVBQUE7O0FBeEQ5QztFQTRESSwyQkFBMkIsRUFBQTs7QUFHL0I7RUFDSSxtQ0FBMkI7VUFBM0IsMkJBQTJCLEVBQUE7O0FBRy9CO0VBQ0ksb0NBQTRCO1VBQTVCLDRCQUE0QixFQUFBOztBQUdoQztFQUNJLDBDQUFrQztVQUFsQyxrQ0FBa0MsRUFBQTs7QUFHdEM7RUFDSSwyQ0FBbUM7VUFBbkMsbUNBQW1DLEVBQUE7O0FBR3ZDO0VBQ0k7SUFDSSxRQUFRO0lBQ1IsV0FBVztJQUNYLFNBQVMsRUFBQTtFQUdiO0lBQ0ksUUFBUTtJQUNSLFdBQVc7SUFDWCxTQUFTLEVBQUE7RUFHYjtJQUNJLFdBQVc7SUFDWCxVQUFVO0lBQ1YsU0FBUyxFQUFBO0VBR2I7SUFDSSxXQUFXO0lBQ1gsVUFBVTtJQUNWLFNBQVMsRUFBQSxFQUFBOztBQUlqQjtFQUNJO0lBQ0ksUUFBUTtJQUNSLFNBQVM7SUFDVCxTQUFTLEVBQUE7RUFHYjtJQUNJLFFBQVE7SUFDUixTQUFTO0lBQ1QsU0FBUyxFQUFBO0VBR2I7SUFDSSxXQUFXO0lBQ1gsVUFBVTtJQUNWLFNBQVMsRUFBQTtFQUdiO0lBQ0ksV0FBVztJQUNYLFVBQVU7SUFDVixTQUFTLEVBQUE7RUFHYjtJQUNJLFdBQVc7SUFDWCxVQUFVO0lBQ1YsU0FBUyxFQUFBLEVBQUE7O0FBSWpCO0VBQ0k7SUFDSSxRQUFRO0lBQ1IsU0FBUztJQUNULFNBQVMsRUFBQTtFQUdiO0lBQ0ksUUFBUTtJQUNSLFNBQVM7SUFDVCxTQUFTLEVBQUE7RUFHYjtJQUNJLFdBQVc7SUFDWCxVQUFVO0lBQ1YsU0FBUyxFQUFBO0VBR2I7SUFDSSxXQUFXO0lBQ1gsVUFBVTtJQUNWLFNBQVMsRUFBQTtFQUdiO0lBQ0ksV0FBVztJQUNYLFVBQVU7SUFDVixTQUFTLEVBQUEsRUFBQTs7QUFJakI7RUFDSTtJQUNJLFFBQVE7SUFDUixXQUFXO0lBQ1gsU0FBUyxFQUFBO0VBR2I7SUFDSSxRQUFRO0lBQ1IsV0FBVztJQUNYLFNBQVMsRUFBQTtFQUdiO0lBQ0ksV0FBVztJQUNYLFVBQVU7SUFDVixTQUFTLEVBQUE7RUFHYjtJQUNJLFdBQVc7SUFDWCxVQUFVO0lBQ1YsU0FBUyxFQUFBLEVBQUE7O0FBSWpCO0VBQ0ksV0FBVztFQUNYLHlCbENyV1U7RWtDc1dWLGNBQWM7RUFDZCxrQkFBa0I7RUFDbEIsa0JBQWtCO0VBQ2xCLFVBQVUsRUFBQTs7QUExSWQ7RUE4SUksV0FBVztFQUNYLFVBQVU7RUFDVixTQUFTO0VBQ1QsZ0NBQWdDO0VBQ2hDLHdCQUF3QixFQUFBOztBQTlJNUI7RUFrSkksV0FBVztFQUNYLFVBQVU7RUFDVixTQUFTO0VBQ1QsaUNBQWlDO0VBQ2pDLHlCQUF5QixFQUFBOztBQUc3QjtFQUNJO0lBQ0ksaUNBQXlCO1lBQXpCLHlCQUF5QixFQUFBO0VBRzdCO0lBQ0ksaUNBQXlCO1lBQXpCLHlCQUF5QixFQUFBO0VBRzdCO0lBQ0ksa0NBQTBCO1lBQTFCLDBCQUEwQixFQUFBO0VBRzlCO0lBQ0ksa0NBQTBCO1lBQTFCLDBCQUEwQixFQUFBLEVBQUE7O0FBSWxDO0VBQ0k7SUFDSSxpQ0FBeUI7WUFBekIseUJBQXlCLEVBQUE7RUFHN0I7SUFDSSxpQ0FBeUI7WUFBekIseUJBQXlCLEVBQUE7RUFHN0I7SUFDSSxrQ0FBMEI7WUFBMUIsMEJBQTBCLEVBQUE7RUFHOUI7SUFDSSxrQ0FBMEI7WUFBMUIsMEJBQTBCLEVBQUEsRUFBQTs7QUM3aEJsQzs7Ozs7Ozs7OztDM0MydHFCQztBMkMvc3FCRDtFQUNJLFdBQVcsRUFBQTtFQURmO0lBR1EsU0FBUztJQUNULGVBQWUsRUFBQTtJaENtS2Y7TWdDdktSO1FBTVksVUFBVSxFQUFBLEVBMERqQjtJQWhFTDtNQVNZLHlCbkNDSyxFQUFBO0ltQ1ZqQjtNQVlZLGtCQUFrQjtNQUNsQixtQkFBbUI7TUFDbkIsY0FBYztNQUNkLG1COUJtRW9EO004QmxFcEQsZ0JBQWdCO01BQ2hCLGNuQ1BLLEVBQUE7TW1DVmpCO1FBbUJnQixvQkFBYTtRQUFiLG9CQUFhO1FBQWIsYUFBYTtRQUNiLHlCQUFtQjtZQUFuQixzQkFBbUI7Z0JBQW5CLG1CQUFtQjtRQUNuQixrQkFBa0I7UUFDbEIsTUFBTTtRQUNOLFNBQVM7UUFDVCxPQUFPO1FBQ1AsWUFBWTtRQUNaLGtCQUFrQjtRQUNsQixlQUFlO1FBQ2YsY25DbEJDO1FtQ21CRCxpQ25DaUp1QjtRbUNoSnZCLGNBQWMsRUFBQTtJQTlCOUI7TUFrQ1ksY25DeEJLO01tQ3lCTCxtQjlCK0NvRDtNOEI5Q3BELGdCQUFnQjtNQUNoQixnQ25Dc09VO01tQ3RPVix3Qm5Dc09VLEVBQUE7TW1DM1F0QjtRQXVDZ0IsY25DN0JDO1FtQzhCRCxZQUFZO1FBQ1osZ0NuQ2lPTTtRbUNqT04sd0JuQ2lPTSxFQUFBO01tQzFRdEI7UUE0Q2dCLGNuQ2xDQyxFQUFBO0ltQ1ZqQjtNQWlEZ0IsV0FBVyxFQUFBO01oQ3NIbkI7UWdDdktSO1VBbURvQixXQUFXLEVBQUEsRUFLbEI7TWhDb0hMO1FnQzVLUjtVQXNEb0IsaUJBQWlCLEVBQUEsRUFFeEI7SWhDK0dMO01nQ3ZLUjtRQTJEb0Isa0JBQWtCO1FBQ2xCLFFBQVEsRUFBQSxFQUVmO0VBOURiO0lBb0VnQixZbEM4T0wsRUFBTztFa0NsVGxCO0lBMkVnQixZbENzT0gsRUFBTztFa0NqVHBCO0lBa0ZnQixZbEM4TkgsRUFBTztFa0NoVHBCO0lBdUZRLGlCbEMxRWE7SWtDMkViLGNBQWM7SUFDZCxrQkFBa0I7SUFDbEIsb0JBQWE7SUFBYixvQkFBYTtJQUFiLGFBQWE7SUFDYix3QkFBdUI7UUFBdkIscUJBQXVCO1lBQXZCLHVCQUF1QjtJQUN2Qix5QkFBbUI7UUFBbkIsc0JBQW1CO1lBQW5CLG1CQUFtQixFQUFBO0VBNUYzQjtJQStGUSxXQUFXO0lBQ1gsWUFBWTtJQUNaLGNBQWM7SUFDZCxlQUFlO0kvQmdnQm5CLG9CQUFhO0lBQWIsb0JBQWE7SUFBYixhQUFhO0lBQ2Isd0JBQXVCO1FBQXZCLHFCQUF1QjtZQUF2Qix1QkFBdUI7SUFDdkIseUJBQW1CO1FBQW5CLHNCQUFtQjtZQUFuQixtQkFBbUIsRUFBQTtJQUNuQjtNQUNJLFlIOVJVO01HK1JWLGlDSnpiK0I7TUkwYi9CLGUrQnJnQnlCO00vQnVnQnJCLGNKaG1CSztNSW9tQlQsc0RKbldjO01JbVdkLDhDSm5XYztNSW1XZCxzQ0puV2M7TUltV2QsOERKbldjLEVBQUE7SUlzV2Q7TUFHUSxjVC9nQkM7TVNtaEJMLGdDQUF3QjtjQUF4Qix3QkFBd0I7TUFDeEIsc0RKL1dVO01JK1dWLDhDSi9XVTtNSStXVixzQ0ovV1U7TUkrV1YsOERKL1dVLEVBQUE7SUltWGQ7TUFDSSxjVGppQks7TVNraUJMLDhDSnJYVTtNSXFYVixzQ0pyWFUsRUFBQTs7QW1Dbkt0QjtFQUNJLGFBQWEsRUFBQTs7QUFLakI7RUFDSSxlQUFlO0VBQ2YsUUFBUTtFQUNSLFlBQVk7RUFDWixvQkFBYTtFQUFiLG9CQUFhO0VBQWIsYUFBYTtFQUNiLDRCQUFzQjtFQUF0Qiw2QkFBc0I7TUFBdEIsMEJBQXNCO1VBQXRCLHNCQUFzQjtFQUN0Qix3QkFBdUI7TUFBdkIscUJBQXVCO1VBQXZCLHVCQUF1QjtFQUN2QixxQkFBcUIsRUFBQTtFQVB6QjtJQVdnQixzQnpDekdLLEVBQUE7RXlDOEZyQjtJQWdCUSxrQkFBa0I7SUFDbEIsY0FBYztJQUNkLGNBQWM7SUFDZCxhQUFhO0lBQ2IsZ0J4Q2dXcUI7SXdDL1ZyQixvQjlCaER3RCxFQUFBO0k4QjJCaEU7TUEyQlksV0FBVztNQUNYLFdBQVc7TUFDWCxZQUFZO01BQ1osa0JBQWtCO01BQ2xCLE1BQU07TUFDTixPQUFPO01BQ1AsY0FBYztNQUNkLHlCbkNySUs7TW1Dc0lMLFdBQVcsRUFBQTtJQW5DdkI7TUFzQ1ksOEJuQzlCRTtNbUMrQkYseUJ6Q3NNeUQ7TXlDck16RCxjbkNoQ0UsRUFBQTtNbUNSZDtRQTJDZ0IsY25DbkNGLEVBQUE7SW1DUmQ7TUErQ1ksOEJuQ2pDRTtNbUNrQ0YseUJ6QzZMeUQ7TXlDNUx6RCxjbkNuQ0UsRUFBQTtNbUNkZDtRQW1EZ0IsY25DckNGLEVBQUE7SW1DZGQ7TUF1RFksOEJuQ25DRTtNbUNvQ0YseUJ6Q3FMeUQ7TXlDcEx6RCxjbkNyQ0UsRUFBQTtNbUNwQmQ7UUEyRGdCLGNuQ3ZDRixFQUFBO0ltQ3BCZDtNQStEWSxrQkFBa0I7TUFDbEIsZ0JBQWdCO01BQ2hCLG9COUI1Rm9ELEVBQUE7TThCMkJoRTtRQW1FZ0IsZ0JBQWdCLEVBQUE7SUFuRWhDO01BdUVZLFFBQVE7TUFDUixtQ0FBMkI7Y0FBM0IsMkJBQTJCLEVBQUE7TUF4RXZDO1FBMkVnQixrQkFBa0I7UUFDbEIsV0FBVztRL0J5YXZCLG9CQUFhO1FBQWIsb0JBQWE7UUFBYixhQUFhO1FBQ2Isd0JBQXVCO1lBQXZCLHFCQUF1QjtnQkFBdkIsdUJBQXVCO1FBQ3ZCLHlCQUFtQjtZQUFuQixzQkFBbUI7Z0JBQW5CLG1CQUFtQixFQUFBO1FBQ25CO1VBQ0ksWUg5UlU7VUcrUlYsaUNKemIrQjtVSTBiL0IsZStCOWFpQztVL0JnYjdCLGNKcGxCcUI7VUl3bEJ6QixzREpuV2M7VUltV2QsOENKbldjO1VJbVdkLHNDSm5XYztVSW1XZCw4REpuV2MsRUFBQTtRSXNXZDtVQUdRLGNUL2dCQztVU21oQkwsZ0NBQXdCO2tCQUF4Qix3QkFBd0I7VUFDeEIsc0RKL1dVO1VJK1dWLDhDSi9XVTtVSStXVixzQ0ovV1U7VUkrV1YsOERKL1dVLEVBQUE7UUltWGQ7VUFDSSxjVGppQks7VVNraUJMLDhDSnJYVTtVSXFYVixzQ0pyWFUsRUFBQTs7QW1DekV0QjtFQUNJLGdCQUFnQixFQUFBOztBQUVwQjtFL0IrdERJLGlDQUFjO0VBRWQsV0FBVztFQUNYLGtCQUFrQjtFQUNsQixvQkFBYTtFQUFiLG9CQUFhO0VBQWIsYUFBYTtFQUNiLDRCQUFzQjtFQUF0Qiw2QkFBc0I7TUFBdEIsMEJBQXNCO1VBQXRCLHNCQUFzQjtFQUN0QixtQkFBZTtNQUFmLGVBQWU7RUFVZixXSHVCbUI7RUd0Qm5CLGNIbUJnQjtFR2xCaEIsa0JIcUJtQjtFR3BCbkIsb0JDcDJENEQ7RUR5MkR4RCxnQlY1NkRhO0VVMjdEakIsd0JBQXVCO01BQXZCLHFCQUF1QjtVQUF2Qix1QkFBdUI7RUFDdkIsa0JBQWtCLEVBQUE7RUFoQ2xCO0lBQ0ksOEJBQW1CO0lBQW5CLDZCQUFtQjtRQUFuQix1QkFBbUI7WUFBbkIsbUJBQW1CO0lBQ25CLHFCQUFpQjtRQUFqQixpQkFBaUI7SUFDakIsd0JBQXVCO1FBQXZCLHFCQUF1QjtZQUF2Qix1QkFBdUIsRUFBQTtJRGx3RHZCO01DK3ZESjtRQUtRLHlCQUFtQjtZQUFuQixzQkFBbUI7Z0JBQW5CLG1CQUFtQixFQUFBLEVBRTFCO0VEdHdERztJZ0N3QlI7TS9CMHZEUSxXSGlCUyxFQUFBLEVrQ3p3RGhCO0UvQjJ2RE87SUFDSSwrQkFBK0I7SUFDL0IsZUhvQm1CO0lHbkJuQixjQUFjLEVBQUE7RUFTdEI7SUFDSSx3QkFBdUI7UUFBdkIscUJBQXVCO1lBQXZCLHVCQUF1QjtJQUN2QixrQkFBa0IsRUFBQTtFQUd0QjtJQUNJLGlCQUFpQjtJQUNqQixvQkFBb0I7SUFDcEIsdUJBQTJCO1FBQTNCLG9CQUEyQjtZQUEzQiwyQkFBMkI7SUFDM0IsZ0JBQWdCLEVBQUE7SUQxeURoQjtNQ3N5REo7UUFNUSxrQkhiVyxFQUFBLEVHZWxCO0VBRUQ7SUFDSSxlSDI1RFMsRUFBQTtJRTVzSFQ7TUNnekRKO1FBR1EsZUgwNURNLEVBQUEsRUd4NURiO0VBR0Q7SUFpS0EseUJWM3lEaUU7SVU0eURqRSx5QkpqaEVVO0lJbWhFTixnQlZ6bkVhLEVBQUE7SVU0bkVaO01BQ0csWUg1MURDLEVBQU87SUdnMkRaO01BQ0ksY0o1aEVFLEVBQUE7SUlpaUVOO01BQ0ksWUh2MkRDO01HdzJERCxjSm5pRUUsRUFBQTtJSXNpRVY7TUFDSSxjSnZpRU0sRUFBQTtFSWszRFY7SUFtSUEseUJWaHhEaUU7SVVpeERqRSx5QkpoL0RVO0lJay9ETixnQlY5bEVhLEVBQUE7SVVpbUViO01BQ0ksWUhoMERDLEVBQU87SUdvMERaO01BQ0ksY0ozL0RFLEVBQUE7SUlnZ0VOO01BQ0ksWUgzMERDO01HNDBERCxjSmxnRUUsRUFBQTtJSXFnRVY7TUFDSSxjSnRnRU0sRUFBQTtFSSsyRFY7SUFxR0EseUJWcnZEaUU7SVVzdkRqRSx5QkovOERVO0lJaTlETixnQlZua0VhLEVBQUE7SVVza0ViO01BQ0ksWUhweURELEVBQU87SUd3eURWO01BQ0ksY0oxOURFLEVBQUE7SUkrOUROO01BQ0ksWUgveUREO01HZ3pEQyxjSmorREUsRUFBQTtJSW8rRFY7TUFDSSxjSnIrRE0sRUFBQTtFSW83RFY7SUFDSSxjVDM5RFc7SVM0OURYLGdCQUFnQixFQUFBO0VBdkVwQjtJQTRFQSx5QlZsdURpRTtJVW11RGpFLHlCSmhqRWEsRUFBQTtJSWtqRVQ7TUFDSSxZSDV2REssRUFBTztJR2d3RGhCO01BQ0ksY0p4akVLLEVBQUE7SUkyakViO01BQ0ksY0o1akVTO01JNmpFVCxnQkFBZ0IsRUFBQTtFQXJGcEI7SUFDSSx1QkFBYyxFQUFBO0lBQ2Q7TUFDSSxZSDNqRFEsRUFBTztFR2drRHZCO0lBQ0ksaUJBQWlCLEVBQUE7RUFJckI7SUFFSSxvQkFBYTtJQUFiLG9CQUFhO0lBQWIsYUFBYTtJQUNiLDhCQUFtQjtJQUFuQiw2QkFBbUI7UUFBbkIsdUJBQW1CO1lBQW5CLG1CQUFtQjtJQUNuQixtQkFBZTtRQUFmLGVBQWU7SUFDZix3QkFBdUI7UUFBdkIscUJBQXVCO1lBQXZCLHVCQUF1QjtJQUV2QiwyQkFBcUI7UUFBckIsd0JBQXFCO1lBQXJCLHFCQUFxQjtJQUNyQixTQUFTLEVBQUE7SUFDVDtNQUNJLDJCQUFvQjtNQUFwQiwyQkFBb0I7TUFBcEIsb0JBQW9CO01BQ3BCLHlCQUFtQjtVQUFuQixzQkFBbUI7Y0FBbkIsbUJBQW1CO01BQ25CLHdCQUFzRTtNQUN0RSwrQkFBK0I7TUFDL0IsZUh6RG1CLEVBQUE7TUVoekR2QjtRQ28yREE7VUFPUSxrQkFBa0I7VUFDbEIsTUFBTTtVQUNOLFlBQVksRUFBQSxFQUVuQjtFQUVMO0lBQ0ksMkJBQW9CO0lBQXBCLDJCQUFvQjtJQUFwQixvQkFBb0I7SUFDcEIsNEJBQXNCO0lBQXRCLDZCQUFzQjtRQUF0QiwwQkFBc0I7WUFBdEIsc0JBQXNCO0lBQ3RCLGNBQWM7SUFDZCx3QkFBZ0I7WUFBaEIsZ0JBQWdCO0lBQ2hCLDZCQUE2QixFQUFBO0lEajNEN0I7TUM0MkRKO1FBT1EsU0FBUyxFQUFBLEVBRWhCO0VBZ2VEO0lBQ0ksK0JBQW1EO0lBQ25ELGVDajdFd0Q7SURrN0V4RCxnQlRuaUVxQjtJU29pRXJCLG1CSGxrQmlDO0lHbWtCakMsY1QxNkVXLEVBQUE7SVM2NkVYO01BQ0ksd0JBQXdCLEVBQUE7SUFHNUI7TUFDSSx3QkFBd0IsRUFBQTtJQUU1QjtNQUNJLGNBQWMsRUFBQTtJQUVsQjtNQUNJLGFIOWpDcUI7TUcrakNyQixnQkgvakNxQixFQUFBO0VHNHNCN0I7SUFDSSxjSC9tQnlCLEVBQUE7RUdrbkI3QjtJQUNJLDJDQUFzQjtJQWV0QixlQUFlO0lBQ2YsZ0JBQWdCLEVBQUE7SUFkWjtNQUVJLDZCSnBxRUssRUFBQTtNSXFxRUw7UUFDSSxtREFBbUQsRUFBQTtNQUV2RDtRQUdJLGdCVGp1RFksRUFBQTtJU3V1RHhCO01BQ0ksY0FBYyxFQUFBO01EN2dFbEI7UUM0Z0VBO1VBR1EsY0FBYyxFQUFBLEVBZ0JyQjtNQWJPO1FBQ0ksYUFBYSxFQUFBO1FEbmhFekI7VUNraEVRO1lBR1Esd0JBQXdCLEVBQUEsRUFFL0I7TUFFTDtRQUNJLGNBQWMsRUFBQTtRRDFoRXRCO1VDeWhFSTtZQUdRLHdCQUF3QixFQUFBLEVBRS9CO0lBRUw7TUFDSSx1Qkh4cEJvQyxFQUFBO0lFejRDeEM7TUNtaUVBO1FBR1EsYUg1cEJlLEVBQUEsRUc4cEJ0QjtJQW9FTDtNQUNJLFdBQVc7TUFDWCxvQkFBYTtNQUFiLG9CQUFhO01BQWIsYUFBYSxFQUFBO01EOW1FYjtRQzRtRUo7VUFJUSxZSDMzQk8sRUFBQSxFRzYzQmQ7SUFyRUc7TUFDSSw2QkpudEVTLEVBQUE7TUlvdEVUO1FBQ0ksNkJKcnRFSyxFQUFBO01JeXRFRDtRQUNJLG9DSjF0RUgsRUFBQTtNR3FLYjtRQ3lqRUk7VUFFUSxrQkFBa0IsRUFBQSxFQVF6QjtJQUVMO01BQ0ksY1R0cEVPLEVBQUE7SVEyRVg7TUMra0VRO1FBRVEsb0JBQWE7UUFBYixvQkFBYTtRQUFiLGFBQWE7UUFDYiw0QkFBc0I7UUFBdEIsNkJBQXNCO1lBQXRCLDBCQUFzQjtnQkFBdEIsc0JBQXNCLEVBQUEsRUFTN0I7SUQzbEVUO01Db2xFWTtRQUVRLG1CSC8wQkc7UUdnMUJILG9CSGgxQkc7UUdpMUJILGdDSi91RVgsRUFBQSxFSWl2RUk7SUFJYjtNQUNJLGNBQWM7TUFDZCxtQkFBbUI7TUFDbkIsZ0JBQWdCLEVBQUE7SUFLUjtNQUNJLGNUbHJFTDtNU21yRUssZ0JUOXpEUSxFQUFBO0VTaTFENUI7SUFDSSxXQUFXO0lBQ1gsa0JBQWtCO0lBQ2xCLG9CQUFhO0lBQWIsb0JBQWE7SUFBYixhQUFhO0lBQ2IsNEJBQXNCO0lBQXRCLDZCQUFzQjtRQUF0QiwwQkFBc0I7WUFBdEIsc0JBQXNCO0lBQ3RCLHdCQUF1QjtRQUF2QixxQkFBdUI7WUFBdkIsdUJBQXVCO0lBQ3ZCLFNBQVM7SUFDVCxtQkFBbUI7SUFDbkIsa0JIM3NCWTtJRzRzQlosNkJKcHlFYTtJSXF5RWIsNERKeGhFNkM7WUl3aEU3QyxvREp4aEU2QztJSXloRTdDLGtCQUFrQjtJQUNsQixpRFQ3dUUrQztJUzh1RS9DLGVDN3RFd0Q7SURpdUV4RCw4REp4aUVjO0lJd2lFZCxzREp4aUVjO0lJd2lFZCw4Q0p4aUVjO0lJd2lFZCx1RUp4aUVjLEVBQUE7SUcvRmQ7TUNzbkVKO1FBbUJRLDhCQUFtQjtRQUFuQiw2QkFBbUI7WUFBbkIsdUJBQW1CO2dCQUFuQixtQkFBbUI7UUFDbkIsU0FBUyxFQUFBLEVBaURoQjtJQS9DRztNQUNJLHdCQUFnQjtjQUFoQixnQkFBZ0I7TUFDaEIscUJKMXlFSztNSTJ5RUwsOERKampFVTtNSWlqRVYsc0RKampFVTtNSWlqRVYsOENKampFVTtNSWlqRVYsdUVKampFVSxFQUFBO01Ja2pFVjtRQUNJLGNKMXlFZ0I7UUkyeUVoQiw4QkpwakVNO1FJb2pFTixzQkpwakVNLEVBQUE7SUl1akVkO01BQ0ksZ0JBQWdCLEVBQUE7SUFFcEI7TUFDSSxtQkFBbUIsRUFBQTtJRHpwRXZCO01Dc25FSjtRQXNDUSxrQkh4dUJRLEVBQUEsRUd1d0JmO0lBN0JHO01BQ0ksZ0JBQWdCLEVBQUE7SUFFcEI7TUFDSSxZSDVnRUk7TUc2Z0VKLGtCQUFrQjtNQUNsQixxQkFBcUI7TUFDckIsYUgvdUJzQjtNR2d2QnRCLGVIL3VCbUI7TUdndkJuQixjSm4wRUs7TUlvMEVMLGlDSnRxRTJCO01JdXFFM0IsZUFBZTtNQUNmLDhCSjNrRVU7TUkya0VWLHNCSjNrRVUsRUFBQTtJSTZrRWQ7TUFDSSxNQUFNO01BQ04sT0FBTyxFQUFBO0lBRVg7TUFDSSxRQUFRO01BQ1IsU0FBUztNQUNULGlDQUF5QjtjQUF6Qix5QkFBeUIsRUFBQTtJQUU3QjtNQUNJLFdBQVcsRUFBQTtNRHRyRWY7UUNxckVBO1VBR1EsZ0JBQWdCLEVBQUEsRUFFdkI7RUFnVkc7SUFFSSxnQkh0cENPLEVBQUE7SUd1cENQO01BRUkscUJBQXFCLEVBQUE7SUFHckI7TUFDSSxxQkFBcUI7TUFDckIsaUJBQWlCO01BQ2pCLGlDSm5oRmUsRUFBQTtFSXVoRjNCO0lBQ0ksWUgvNEVMLEVBQU87RUdvNUVOO0lBQ0ksWUhwNUVEO0lHcTVFQyxpQ0FBaUQ7WUFBakQseUJBQWlELEVBQUE7RUFXekQ7SUFHSSwyQkFBb0I7SUFBcEIsMkJBQW9CO0lBQXBCLG9CQUFvQjtJQUVwQiw4QkFBbUI7SUFBbkIsNkJBQW1CO1FBQW5CLHVCQUFtQjtZQUFuQixtQkFBbUI7SUFDbkIsVUFMNkI7SUFPN0IsZ0JIOXJDVyxFQUFBO0VHa3NDZjtJQUNJLGVBQWUsRUFBQTtFQS9yQnZCO0lBQ0ksMEJBQTBCLEVBQUE7RUFJMUI7SUFDSSxrQkFBa0IsRUFBQTtJRHI0RHRCO01DbzREQTtRQUdRLGlCQUFhLEVBQUEsRUFFcEI7O0ErQnYyRFQ7RS9CMHRESSxpQ0FBYztFQUVkLFdBQVc7RUFDWCxrQkFBa0I7RUFDbEIsb0JBQWE7RUFBYixvQkFBYTtFQUFiLGFBQWE7RUFDYiw0QkFBc0I7RUFBdEIsNkJBQXNCO01BQXRCLDBCQUFzQjtVQUF0QixzQkFBc0I7RUFDdEIsbUJBQWU7TUFBZixlQUFlO0VBVWYsV0h1Qm1CO0VHdEJuQixjSG1CZ0I7RUdsQmhCLGtCSHFCbUI7RUdwQm5CLG9CQ3AyRDREO0VEeTJEeEQsZ0JWNTZEYTtFVTI3RGpCLHdCQUF1QjtNQUF2QixxQkFBdUI7VUFBdkIsdUJBQXVCO0VBQ3ZCLGtCQUFrQixFQUFBO0VBaENsQjtJQUNJLDhCQUFtQjtJQUFuQiw2QkFBbUI7UUFBbkIsdUJBQW1CO1lBQW5CLG1CQUFtQjtJQUNuQixxQkFBaUI7UUFBakIsaUJBQWlCO0lBQ2pCLHdCQUF1QjtRQUF2QixxQkFBdUI7WUFBdkIsdUJBQXVCLEVBQUE7SURsd0R2QjtNQyt2REo7UUFLUSx5QkFBbUI7WUFBbkIsc0JBQW1CO2dCQUFuQixtQkFBbUIsRUFBQSxFQUUxQjtFRHR3REc7SWdDNkJSO00vQnF2RFEsV0hpQlMsRUFBQSxFa0Nwd0RoQjtFL0JzdkRPO0lBQ0ksK0JBQStCO0lBQy9CLGVIb0JtQjtJR25CbkIsY0FBYyxFQUFBO0VBU3RCO0lBQ0ksd0JBQXVCO1FBQXZCLHFCQUF1QjtZQUF2Qix1QkFBdUI7SUFDdkIsa0JBQWtCLEVBQUE7RUFHdEI7SUFDSSxpQkFBaUI7SUFDakIsb0JBQW9CO0lBQ3BCLHVCQUEyQjtRQUEzQixvQkFBMkI7WUFBM0IsMkJBQTJCO0lBQzNCLGdCQUFnQixFQUFBO0lEMXlEaEI7TUNzeURKO1FBTVEsa0JIYlcsRUFBQSxFR2VsQjtFQUVEO0lBQ0ksZUgyNURTLEVBQUE7SUU1c0hUO01DZ3pESjtRQUdRLGVIMDVETSxFQUFBLEVHeDVEYjtFQUdEO0lBaUtBLHlCVjN5RGlFO0lVNHlEakUseUJKamhFVTtJSW1oRU4sZ0JWem5FYSxFQUFBO0lVNG5FWjtNQUNHLFlINTFEQyxFQUFPO0lHZzJEWjtNQUNJLGNKNWhFRSxFQUFBO0lJaWlFTjtNQUNJLFlIdjJEQztNR3cyREQsY0puaUVFLEVBQUE7SUlzaUVWO01BQ0ksY0p2aUVNLEVBQUE7RUlrM0RWO0lBbUlBLHlCVmh4RGlFO0lVaXhEakUseUJKaC9EVTtJSWsvRE4sZ0JWOWxFYSxFQUFBO0lVaW1FYjtNQUNJLFlIaDBEQyxFQUFPO0lHbzBEWjtNQUNJLGNKMy9ERSxFQUFBO0lJZ2dFTjtNQUNJLFlIMzBEQztNRzQwREQsY0psZ0VFLEVBQUE7SUlxZ0VWO01BQ0ksY0p0Z0VNLEVBQUE7RUkrMkRWO0lBcUdBLHlCVnJ2RGlFO0lVc3ZEakUseUJKLzhEVTtJSWk5RE4sZ0JWbmtFYSxFQUFBO0lVc2tFYjtNQUNJLFlIcHlERCxFQUFPO0lHd3lEVjtNQUNJLGNKMTlERSxFQUFBO0lJKzlETjtNQUNJLFlIL3lERDtNR2d6REMsY0pqK0RFLEVBQUE7SUlvK0RWO01BQ0ksY0pyK0RNLEVBQUE7RUlvN0RWO0lBQ0ksY1QzOURXO0lTNDlEWCxnQkFBZ0IsRUFBQTtFQXZFcEI7SUE0RUEseUJWbHVEaUU7SVVtdURqRSx5QkpoakVhLEVBQUE7SUlrakVUO01BQ0ksWUg1dkRLLEVBQU87SUdnd0RoQjtNQUNJLGNKeGpFSyxFQUFBO0lJMmpFYjtNQUNJLGNKNWpFUztNSTZqRVQsZ0JBQWdCLEVBQUE7RUFyRnBCO0lBQ0ksdUJBQWMsRUFBQTtJQUNkO01BQ0ksWUgzakRRLEVBQU87RUdna0R2QjtJQUNJLGlCQUFpQixFQUFBO0VBSXJCO0lBRUksb0JBQWE7SUFBYixvQkFBYTtJQUFiLGFBQWE7SUFDYiw4QkFBbUI7SUFBbkIsNkJBQW1CO1FBQW5CLHVCQUFtQjtZQUFuQixtQkFBbUI7SUFDbkIsbUJBQWU7UUFBZixlQUFlO0lBQ2Ysd0JBQXVCO1FBQXZCLHFCQUF1QjtZQUF2Qix1QkFBdUI7SUFFdkIsMkJBQXFCO1FBQXJCLHdCQUFxQjtZQUFyQixxQkFBcUI7SUFDckIsU0FBUyxFQUFBO0lBQ1Q7TUFDSSwyQkFBb0I7TUFBcEIsMkJBQW9CO01BQXBCLG9CQUFvQjtNQUNwQix5QkFBbUI7VUFBbkIsc0JBQW1CO2NBQW5CLG1CQUFtQjtNQUNuQix3QkFBc0U7TUFDdEUsK0JBQStCO01BQy9CLGVIekRtQixFQUFBO01FaHpEdkI7UUNvMkRBO1VBT1Esa0JBQWtCO1VBQ2xCLE1BQU07VUFDTixZQUFZLEVBQUEsRUFFbkI7RUFFTDtJQUNJLDJCQUFvQjtJQUFwQiwyQkFBb0I7SUFBcEIsb0JBQW9CO0lBQ3BCLDRCQUFzQjtJQUF0Qiw2QkFBc0I7UUFBdEIsMEJBQXNCO1lBQXRCLHNCQUFzQjtJQUN0QixjQUFjO0lBQ2Qsd0JBQWdCO1lBQWhCLGdCQUFnQjtJQUNoQiw2QkFBNkIsRUFBQTtJRGozRDdCO01DNDJESjtRQU9RLFNBQVMsRUFBQSxFQUVoQjtFQWdlRDtJQUNJLCtCQUFtRDtJQUNuRCxlQ2o3RXdEO0lEazdFeEQsZ0JUbmlFcUI7SVNvaUVyQixtQkhsa0JpQztJR21rQmpDLGNUMTZFVyxFQUFBO0lTNjZFWDtNQUNJLHdCQUF3QixFQUFBO0lBRzVCO01BQ0ksd0JBQXdCLEVBQUE7SUFFNUI7TUFDSSxjQUFjLEVBQUE7SUFFbEI7TUFDSSxhSDlqQ3FCO01HK2pDckIsZ0JIL2pDcUIsRUFBQTtFRzRzQjdCO0lBQ0ksY0gvbUJ5QixFQUFBO0VHa25CN0I7SUFDSSwyQ0FBc0I7SUFldEIsZUFBZTtJQUNmLGdCQUFnQixFQUFBO0lBZFo7TUFFSSw2QkpwcUVLLEVBQUE7TUlxcUVMO1FBQ0ksbURBQW1ELEVBQUE7TUFFdkQ7UUFHSSxnQlRqdURZLEVBQUE7SVN1dUR4QjtNQUNJLGNBQWMsRUFBQTtNRDdnRWxCO1FDNGdFQTtVQUdRLGNBQWMsRUFBQSxFQWdCckI7TUFiTztRQUNJLGFBQWEsRUFBQTtRRG5oRXpCO1VDa2hFUTtZQUdRLHdCQUF3QixFQUFBLEVBRS9CO01BRUw7UUFDSSxjQUFjLEVBQUE7UUQxaEV0QjtVQ3loRUk7WUFHUSx3QkFBd0IsRUFBQSxFQUUvQjtJQUVMO01BQ0ksdUJIeHBCb0MsRUFBQTtJRXo0Q3hDO01DbWlFQTtRQUdRLGFINXBCZSxFQUFBLEVHOHBCdEI7SUFvRUw7TUFDSSxXQUFXO01BQ1gsb0JBQWE7TUFBYixvQkFBYTtNQUFiLGFBQWEsRUFBQTtNRDltRWI7UUM0bUVKO1VBSVEsWUgzM0JPLEVBQUEsRUc2M0JkO0lBckVHO01BQ0ksNkJKbnRFUyxFQUFBO01Jb3RFVDtRQUNJLDZCSnJ0RUssRUFBQTtNSXl0RUQ7UUFDSSxvQ0oxdEVILEVBQUE7TUdxS2I7UUN5akVJO1VBRVEsa0JBQWtCLEVBQUEsRUFRekI7SUFFTDtNQUNJLGNUdHBFTyxFQUFBO0lRMkVYO01DK2tFUTtRQUVRLG9CQUFhO1FBQWIsb0JBQWE7UUFBYixhQUFhO1FBQ2IsNEJBQXNCO1FBQXRCLDZCQUFzQjtZQUF0QiwwQkFBc0I7Z0JBQXRCLHNCQUFzQixFQUFBLEVBUzdCO0lEM2xFVDtNQ29sRVk7UUFFUSxtQkgvMEJHO1FHZzFCSCxvQkhoMUJHO1FHaTFCSCxnQ0ovdUVYLEVBQUEsRUlpdkVJO0lBSWI7TUFDSSxjQUFjO01BQ2QsbUJBQW1CO01BQ25CLGdCQUFnQixFQUFBO0lBS1I7TUFDSSxjVGxyRUw7TVNtckVLLGdCVDl6RFEsRUFBQTtFU2kxRDVCO0lBQ0ksV0FBVztJQUNYLGtCQUFrQjtJQUNsQixvQkFBYTtJQUFiLG9CQUFhO0lBQWIsYUFBYTtJQUNiLDRCQUFzQjtJQUF0Qiw2QkFBc0I7UUFBdEIsMEJBQXNCO1lBQXRCLHNCQUFzQjtJQUN0Qix3QkFBdUI7UUFBdkIscUJBQXVCO1lBQXZCLHVCQUF1QjtJQUN2QixTQUFTO0lBQ1QsbUJBQW1CO0lBQ25CLGtCSDNzQlk7SUc0c0JaLDZCSnB5RWE7SUlxeUViLDRESnhoRTZDO1lJd2hFN0Msb0RKeGhFNkM7SUl5aEU3QyxrQkFBa0I7SUFDbEIsaURUN3VFK0M7SVM4dUUvQyxlQzd0RXdEO0lEaXVFeEQsOERKeGlFYztJSXdpRWQsc0RKeGlFYztJSXdpRWQsOENKeGlFYztJSXdpRWQsdUVKeGlFYyxFQUFBO0lHL0ZkO01Dc25FSjtRQW1CUSw4QkFBbUI7UUFBbkIsNkJBQW1CO1lBQW5CLHVCQUFtQjtnQkFBbkIsbUJBQW1CO1FBQ25CLFNBQVMsRUFBQSxFQWlEaEI7SUEvQ0c7TUFDSSx3QkFBZ0I7Y0FBaEIsZ0JBQWdCO01BQ2hCLHFCSjF5RUs7TUkyeUVMLDhESmpqRVU7TUlpakVWLHNESmpqRVU7TUlpakVWLDhDSmpqRVU7TUlpakVWLHVFSmpqRVUsRUFBQTtNSWtqRVY7UUFDSSxjSjF5RWdCO1FJMnlFaEIsOEJKcGpFTTtRSW9qRU4sc0JKcGpFTSxFQUFBO0lJdWpFZDtNQUNJLGdCQUFnQixFQUFBO0lBRXBCO01BQ0ksbUJBQW1CLEVBQUE7SUR6cEV2QjtNQ3NuRUo7UUFzQ1Esa0JIeHVCUSxFQUFBLEVHdXdCZjtJQTdCRztNQUNJLGdCQUFnQixFQUFBO0lBRXBCO01BQ0ksWUg1Z0VJO01HNmdFSixrQkFBa0I7TUFDbEIscUJBQXFCO01BQ3JCLGFIL3VCc0I7TUdndkJ0QixlSC91Qm1CO01HZ3ZCbkIsY0puMEVLO01JbzBFTCxpQ0p0cUUyQjtNSXVxRTNCLGVBQWU7TUFDZiw4Qkoza0VVO01JMmtFVixzQkoza0VVLEVBQUE7SUk2a0VkO01BQ0ksTUFBTTtNQUNOLE9BQU8sRUFBQTtJQUVYO01BQ0ksUUFBUTtNQUNSLFNBQVM7TUFDVCxpQ0FBeUI7Y0FBekIseUJBQXlCLEVBQUE7SUFFN0I7TUFDSSxXQUFXLEVBQUE7TUR0ckVmO1FDcXJFQTtVQUdRLGdCQUFnQixFQUFBLEVBRXZCO0VBZ1ZHO0lBRUksZ0JIdHBDTyxFQUFBO0lHdXBDUDtNQUVJLHFCQUFxQixFQUFBO0lBR3JCO01BQ0kscUJBQXFCO01BQ3JCLGlCQUFpQjtNQUNqQixpQ0puaEZlLEVBQUE7RUl1aEYzQjtJQUNJLFlILzRFTCxFQUFPO0VHbzVFTjtJQUNJLFlIcDVFRDtJR3E1RUMsaUNBQWlEO1lBQWpELHlCQUFpRCxFQUFBO0VBV3pEO0lBR0ksMkJBQW9CO0lBQXBCLDJCQUFvQjtJQUFwQixvQkFBb0I7SUFFcEIsOEJBQW1CO0lBQW5CLDZCQUFtQjtRQUFuQix1QkFBbUI7WUFBbkIsbUJBQW1CO0lBQ25CLFVBTDZCO0lBTzdCLGdCSDlyQ1csRUFBQTtFR2tzQ2Y7SUFDSSxlQUFlLEVBQUE7RUEvckJ2QjtJQUNJLDBCQUEwQixFQUFBO0VBSTFCO0lBQ0ksa0JBQWtCLEVBQUE7SURyNER0QjtNQ280REE7UUFHUSxpQkFBYSxFQUFBLEVBRXBCOztBK0JuMkRUO0UvQnN0REksaUNBQWM7RUFFZCxXQUFXO0VBQ1gsa0JBQWtCO0VBQ2xCLG9CQUFhO0VBQWIsb0JBQWE7RUFBYixhQUFhO0VBQ2IsNEJBQXNCO0VBQXRCLDZCQUFzQjtNQUF0QiwwQkFBc0I7VUFBdEIsc0JBQXNCO0VBQ3RCLG1CQUFlO01BQWYsZUFBZTtFQVVmLFdIdUJtQjtFR3RCbkIsY0htQmdCO0VHbEJoQixrQkhxQm1CO0VHcEJuQixvQkNwMkQ0RDtFRHkyRHhELGdCVjU2RGE7RVUyN0RqQix3QkFBdUI7TUFBdkIscUJBQXVCO1VBQXZCLHVCQUF1QjtFQUN2QixrQkFBa0I7RStCNXZEbEIseUJ6QzJJaUU7RXlDMUlqRSx5Qm5DL0VVLEVBQUE7RUkweURWO0lBQ0ksOEJBQW1CO0lBQW5CLDZCQUFtQjtRQUFuQix1QkFBbUI7WUFBbkIsbUJBQW1CO0lBQ25CLHFCQUFpQjtRQUFqQixpQkFBaUI7SUFDakIsd0JBQXVCO1FBQXZCLHFCQUF1QjtZQUF2Qix1QkFBdUIsRUFBQTtJRGx3RHZCO01DK3ZESjtRQUtRLHlCQUFtQjtZQUFuQixzQkFBbUI7Z0JBQW5CLG1CQUFtQixFQUFBLEVBRTFCO0VEdHdERztJZ0NpQ1I7TS9CaXZEUSxXSGlCUyxFQUFBLEVrQ3Z2RGhCO0UvQnl1RE87SUFDSSwrQkFBK0I7SUFDL0IsZUhvQm1CO0lHbkJuQixjQUFjLEVBQUE7RUFTdEI7SUFDSSx3QkFBdUI7UUFBdkIscUJBQXVCO1lBQXZCLHVCQUF1QjtJQUN2QixrQkFBa0IsRUFBQTtFQUd0QjtJQUNJLGlCQUFpQjtJQUNqQixvQkFBb0I7SUFDcEIsdUJBQTJCO1FBQTNCLG9CQUEyQjtZQUEzQiwyQkFBMkI7SUFDM0IsZ0JBQWdCLEVBQUE7SUQxeURoQjtNQ3N5REo7UUFNUSxrQkhiVyxFQUFBLEVHZWxCO0VBRUQ7SUFDSSxlSDI1RFMsRUFBQTtJRTVzSFQ7TUNnekRKO1FBR1EsZUgwNURNLEVBQUEsRUd4NURiO0VBR0Q7SUFpS0EseUJWM3lEaUU7SVU0eURqRSx5QkpqaEVVO0lJbWhFTixnQlZ6bkVhLEVBQUE7SVU0bkVaO01BQ0csWUg1MURDLEVBQU87SUdnMkRaO01BQ0ksY0o1aEVFLEVBQUE7SUlpaUVOO01BQ0ksWUh2MkRDO01HdzJERCxjSm5pRUUsRUFBQTtJSXNpRVY7TUFDSSxjSnZpRU0sRUFBQTtFSWszRFY7SUFtSUEseUJWaHhEaUU7SVVpeERqRSx5QkpoL0RVO0lJay9ETixnQlY5bEVhLEVBQUE7SVVpbUViO01BQ0ksWUhoMERDLEVBQU87SUdvMERaO01BQ0ksY0ozL0RFLEVBQUE7SUlnZ0VOO01BQ0ksWUgzMERDO01HNDBERCxjSmxnRUUsRUFBQTtJSXFnRVY7TUFDSSxjSnRnRU0sRUFBQTtFSSsyRFY7SUFxR0EseUJWcnZEaUU7SVVzdkRqRSx5QkovOERVO0lJaTlETixnQlZua0VhLEVBQUE7SVVza0ViO01BQ0ksWUhweURELEVBQU87SUd3eURWO01BQ0ksY0oxOURFLEVBQUE7SUkrOUROO01BQ0ksWUgveUREO01HZ3pEQyxjSmorREUsRUFBQTtJSW8rRFY7TUFDSSxjSnIrRE0sRUFBQTtFSW83RFY7SUFDSSxjVDM5RFc7SVM0OURYLGdCQUFnQixFQUFBO0VBdkVwQjtJQTRFQSx5QlZsdURpRTtJVW11RGpFLHlCSmhqRWEsRUFBQTtJSWtqRVQ7TUFDSSxZSDV2REssRUFBTztJR2d3RGhCO01BQ0ksY0p4akVLLEVBQUE7SUkyakViO01BQ0ksY0o1akVTO01JNmpFVCxnQkFBZ0IsRUFBQTtFQXJGcEI7SUFDSSx1QkFB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aUI7TUFDakIscURuQzVHVTtNbUM0R1YsNkNuQzVHVSxFQUFBO01tQzRCdEI7UUFrRmdCLGlCQUFpQjtRQUNqQixxQm5DNVdDO1FtQzZXRCxxQ25DaEhNO1FtQ2dITiw2Qm5DaEhNLEVBQUE7SW1DNEJ0QjtNQXdGWSxrQkFBa0I7TUFDbEIsYUFBYTtNQUNiLHlCbkN0WEs7TW1DdVhMLGVBQWU7TUFDZixtQkFBbUI7TUFDbkIseUJuQzVYUztNbUM2WFQsZ0J6Q3JYUztNeUNzWFQscUNuQzFIVTtNbUMwSFYsNkJuQzFIVSxFQUFBO01JK2xFbEI7UUFDSSxnQlQxN0RRO1FTODdEUixtQkM3eEV3RDtRRDh4RXhELGdCVHY2REc7UVN3NkRILGtCSHA0Qk07UUd3NEJOLGNUeHhFUztRU3l4RVQsZ0JUdDZEcUI7UVN1NkRyQiw2QkFBNkIsRUFBQTtRQU83QjtVQUNJLGFBQWEsRUFBQTtRQUVqQjtVQUNJLFNBQVMsRUFBQTtNQUlqQjtRQUNJLGdCVHI5RFE7UVN5OURSLGtCQ3p6RXdEO1FEMHpFeEQsZ0JUbDhERztRU204REgsa0JILzVCTTtRR202Qk4sY1RwekVTO1FTcXpFVCxnQlRsOERxQixFQUFBO1FTeThEckI7VUFDSSxhQUFhLEVBQUE7UUFFakI7VUFDSSxTQUFTLEVBQUE7TUFHakI7UUFJSSxnQlRqL0RRO1FTbS9ESixlSHQ2QkU7UUd3NkJOLG1CQ3QxRXdEO1FEdTFFeEQsZ0JUOTlERztRUys5REgsa0JIMzdCTTtRRys3Qk4sY1RqMUVTO1FTazFFVCxnQlQvOURxQixFQUFBO1FTbStEckI7VUFDSSxhQUFhLEVBQUE7UUFFakI7VUFDSSxTQUFTLEVBQUE7TUFHakI7UUFDSSxnQlR2Z0VRO1FTeWdFSixpQkg1N0JJO1FHODdCUixpQkM3MkV3RDtRRDgyRXhELGdCVHAvREc7UVNxL0RILGtCSGo5Qk07UUdxOUJOLGNUeDJFUztRU3kyRVQsZ0JUdC9EcUIsRUFBQTtRUzAvRHJCO1VBQ0ksYUFBYSxFQUFBO1FBRWpCO1VBQ0ksU0FBUyxFQUFBO01BR2pCO1FBQ0ksZ0JUN2hFUTtRU2lpRVIsZUNwNEV3RDtR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O0lBQ0kseUJwRG1XK0UsRUFBQTtFb0RwV25GO0lBQ0kseUI5Q3NHRSxFQUFBO0U4Q3ZHTjtJQUNJLHlCcEQ2VnlELEVBQUE7RW9EOVY3RDtJQUNJLHlCcEQ2VnlELEVBQUE7RW9EOVY3RDtJQUNJLHlCcEQ2VnlELEVBQUE7RW9EOVY3RDtJQUNJLHlCcEQ2VnlELEVBQUE7RW9EOVY3RDtJQUNJLHlCcEQ2VnlELEVBQUE7RW9EOVY3RDtJQUNJLHlCcEQ2VnlELEVBQUE7RW9EOVY3RDtJQUNJLHlCcEQ2VnlELEVBQUE7RW9EOVY3RDtJQUNJLHlCcEQ2VnlELEVBQUE7RW9EOVY3RDtJQUNJLHlCcEQ2VnlELEVBQUE7RW9EOVY3RDtJQUNJLHlCcERtVytFLEVBQUE7RW9EcFduRjtJQUNJLHlCOUM0R0UsRUFBQTtFOEM3R047SUFDSSx5QnBENlZ5RCxFQUFBO0VvRDlWN0Q7SUFDSSx5QnBENlZ5RCxFQUFBO0VvRDlWN0Q7SUFDSSx5QnBENlZ5RCxFQUFBO0VvRDlWN0Q7SUFDSSx5QnBENlZ5RCxFQUFBO0VvRDlWN0Q7SUFDSSx5QnBENlZ5RCxFQUFBO0VvRDlWN0Q7SUFDSSx5QnBENlZ5RCxFQUFBO0VvRDlWN0Q7SUFDSSx5QnBENlZ5RCxFQUFBO0VvRDlWN0Q7SUFDSSx5QnBENlZ5RCxFQUFBO0VvRDlWN0Q7SUFDSSx5QnBENlZ5RCxFQUFBO0VvRDlWN0Q7SUFDSSx5QnBEbVcrRSxFQUFBO0VvRHBXbkY7SUFDSSx5Qm5Ed0dLLEVBQUE7RW1EekdUO0lBQ0kseUJwRDZWeUQsRUFBQTtFb0Q5VjdEO0lBQ0kseUJwRDZWeUQsRUFBQTtFb0Q5VjdEO0lBQ0kseUJwRDZWeUQsRUFBQTtFb0Q5VjdEO0lBQ0kseUJwRDZWeUQsRUFBQTtFb0Q5VjdEO0lBQ0kseUJwRDZWeUQsRUFBQTtFb0Q5VjdEO0lBQ0kseUJwRDZWeUQsRUFBQTtFb0Q5VjdEO0lBQ0kseUJwRDZWeUQsRUFBQTtFb0Q5VjdEO0lBQ0kseUJwRDZWeUQsRUFBQTtFb0Q5VjdEO0lBQ0kseUJwRDZWeUQsRUFBQTtFb0Q5VjdEO0lBQ0kseUJwRG1XK0Us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QztJQXlEWSx5QnREcldLO0lzRHNXTCx5Q2pEeExVO0lpRHdMVixpQ2pEeExVLEVBQUE7SWlEOEh0QjtNQTREZ0IsY2pEM2JDO01pRDRiRCw4QmpEM0xNO01pRDJMTixzQmpEM0xNLEVBQUE7SWlEOEh0QjtNQWdFZ0IsY2pEL2JDO01pRGdjRCx3RWpEL0xNO01pRCtMTixnRWpEL0xNLEVBQUE7SWlEOEh0QjtNQXFFZ0IseUJ0RGpYQztNc0RrWEQsd0VqRHJNTTtNaURxTU4sZ0VqRHJNTSxFQUFBO01pRCtIdEI7UUF3RW9CLGNqRHZjSDtRaUR3Y0csOEJqRHhNRTtRaUR3TUYsc0JqRHhNRSxFQUFBO01pRCtIdEI7UUE0RW9CLGNqRDNjSCxFQUFBO1FpRCtYakI7VUE4RXdCLGNqRDdjUDtVaUQ4Y08sOEJqRDlNRjtVaUQ4TUUsc0JqRDlNRixFQUFBO0lpRCtIdEI7TUFxRmdCLHlCdEQ5WEcsRUFBQTtNc0R5U25CO1FBdUZvQixjdERuWUgsRUFBQTtNc0Q0U2pCO1FBMEZvQixjdER0WUgsRUFBQTtRc0Q0U2pCO1VBNEZ3QixjdER4WVAsRUFBQTtFc0Q0U2pCO0lBb0dvQix5QnREN1lELEVBQUE7SXNEeVNuQjtNQXNHd0IsY3REbFpQLEVBQUE7SXNENFNqQjtNQXlHd0IsY3REclpQLEVBQUE7TXNENFNqQjtRQTJHNEIsY3REdlpYLEVBQUE7RXNENFNqQjtJQW1IUSxlQUFlLEVBQUE7RUFuSHZCO0lBdUhRLG9CQUFhO0lBQWIsb0JBQWE7SUFBYixhQUFhO0lBQ2IseUJBQW1CO1FBQW5CLHNCQUFtQjtZQUFuQixtQkFBbUI7SUFDbkIsZ0J0RDBEb0I7SXNEekRwQixxQkFBcUI7SUFDckIseUJ0RHlENkI7SXNEeEQ3QixnQkFBZ0IsRUFBQTtJQTVIeEI7TUFvSVksbURoRHNMbUM7TWdEckxuQyxjdkRwTHlEO011RHFMekQsZUFBZTtNQUNmLG9CQUFvQixFQUFBO01BdkloQztRQXlJZ0IsV0FBVyxFQUFBO0lBekkzQjtNQTZJWSxZdERoY0Y7TXNEaWNFLGlCQUFpQjtNQUNqQixldEQxYXFCO01zRDJhckIsK0JqRDNTeUM7TWlENFN6QyxjdEQvYk8sRUFBQTtJc0Q4U25CO01BcUpZLFlBQVk7TUFDWixZQUFZO01BQ1osMkJBQW9CO01BQXBCLDJCQUFvQjtNQUFwQixvQkFBb0I7TUFDcEIsNEJBQTRCO01BQzVCLDJCQUEyQixFQUFBO0lBekp2QztNQTRKWSxrQkFBa0I7TUFDbEIsNEJBQVM7VUFBVCxrQkFBUztjQUFULFNBQVMsRUFBQTtFQTdKckI7SUFrS1ksY3REOWNLLEVBQUE7RXNENFNqQjtJQXVLWSxnQkFBZ0I7SUFDaEIsb0RoRHkxQ2tDLEVBQUE7SWdEamdEOUM7TUEwS2dCLFl0RC9kUjtNc0RnZVEsd0NoRHN6QzZCLEVBQUE7RWdEaitDN0M7SUFnTFEsbUJBL0tvQixFQUFBO0VBRDVCO0lBMkxRLG1CQUFtQjtJQUNuQixxQmpEbGpCd0I7SWlEbWpCeEIsMkJBQXVJLEVBQUE7O0FBSS9JO0VBQ0ksU0FBUztFQUNULHlCQUF5QjtFQUN6QixnQkFBZ0IsRUFBQTtFQUhwQjtJQUtRLFlBQVk7SUFDWixrQmhEaXlDWSxFQUFBO0lFcnNEWjtNOEM4WlI7UUFRWSxrQmhEZ3lDUSxFQUFBLEVnRDl4Q2Y7O0FBR0w7RUFDSSxvQkFBYTtFQUFiLG9CQUFhO0VBQWIsYUFBYTtFQUNiLG1CQUFlO01BQWYsZUFBZSxFQUFBOztBQUluQjtFQUVRLG9CQUFhO0VBQWIsb0JBQWE7RUFBYixhQUFhO0VBQ2IseUJBQThCO01BQTlCLHNCQUE4QjtVQUE5Qiw4QkFBOEI7RUFDOUIsbUJBQWU7TUFBZixlQUFlO0VBQ2YsVUFBVTtFQUNWLGdCQUFnQixFQUFBO0U5QzViaEI7SThDc2JSO01BU2dCLG1CQUFhO1VBQWIsaUJBQWE7Y0FBYixhQUFhLEVBQUEsRUFLcEI7RTlDL2JEO0k4Q2liUjtNQVlnQixtQkFBYTtVQUFiLGlCQUFhO2NBQWIsYUFBYSxFQUFBLEVBRXBCOztBQWRUO0VBaUJRLGtCQUFrQjtFQUNsQixvQkFBYTtFQUFiLG9CQUFhO0VBQWIsYUFBYTtFQUNiLHlCQUFtQjtNQUFuQixzQkFBbUI7VUFBbkIsbUJBQW1CO0VBQ25CLGlCaERsWTBCO0VnRG1ZMUIsY2pEcm1CUztFaURzbUJULGdCdEQxQ3FCO0VzRDJDckIsZTVDbGlCd0Q7RTRDbWlCeEQsOEJqRDFXYztFaUQwV2Qsc0JqRDFXYyxFQUFBO0VpRGtWdEI7SUEwQlksY3REbGhCSztJc0RtaEJMLDhCakQ5V1U7SWlEOFdWLHNCakQ5V1UsRUFBQTtFaURtVnRCO0lBOEJZLGN0RGhpQk87SXNEaWlCUCw4QmpEbFhVO0lpRGtYVixzQmpEbFhVLEVBQUE7SWlEbVZ0QjtNQWlDZ0IsY3REbmlCRztNc0RvaUJILDhCakRyWE07TWlEcVhOLHNCakRyWE0sRUFBQTtFaURtVnRCO0lBc0NZLFloRGxZQztJZ0RtWUQsbUNqRHJkK0I7SWlEc2QvQixjdER4aUJLO0lzRHlpQkwsa0JBQWtCO0lBQ2xCLGVoRDNaVSxFQUFBOztBZ0RpWHRCO0VBK0NZLFloRHJaRTtFZ0RzWkYsbUNqRDlkK0I7RWlEK2QvQiwwQnREampCSyxFQUFBOztBc0RnZ0JqQjtFQXNEWSxZaEQzWkk7RWdENFpKLGlDakR0ZTJCO0VpRHVlM0IsMEJ0RHhqQkssRUFBQTs7QXNEZ2dCakI7RUE2RFksWWhEamFPO0VnRGthUCxpQ2pEN2UyQjtFaUQ4ZTNCLDBCdEQvakJLLEVBQUE7O0FzRGdnQmpCO0VBb0VZLFloRHZhRjtFZ0R3YUUsaUNqRHBmMkI7RWlEcWYzQixjakRoa0JFLEVBQUE7O0FpRDBmZDtFQTJFWSxZaEQ3YUk7RWdEOGFKLGlDakQzZjJCO0VpRDRmM0IsY2pEMWxCdUQsRUFBQTs7QWlENmdCbkU7RUFrRlksWWhEbmJEO0VnRG9iQyxpQ2pEbGdCMkI7RWlEbWdCM0IsY3REcGxCSyxFQUFBOztBc0RnZ0JqQjtFQXlGWSxZaER6Ykg7RWdEMGJHLG1DakR4Z0IrQjtFaUR5Z0IvQixjdkQ5VnlELEVBQUE7O0F1RG1RckU7RUFnR1ksWWhEL2JIO0VnRGdjRyxpQ2pEaGhCMkI7RWlEaWhCM0IsMEJ0RGxtQkssRUFBQTs7QXNEZ2dCakI7RUF1R1ksWWhEcmNEO0VnRHNjQyxpQ2pEdmhCMkI7RWlEd2hCM0IsY3RE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QUVYLFdwRDBvSk87RW9Eem9KUCxZQUE4RDtFQU1sRSxhQUFhLEVBQUE7RWxEdUtUO0lrRG5MUjtNQWNRLFdwRHduSk87TW9Edm5KUCxZcEQybkpPO01vRHpuSkgsV3BEK25KRztNb0Q5bkpILFlBQThELEVBQUEsRUFPekU7O0FBRUQ7RUFDSSxXQUFXO0VBQ1gsWUFBWTtFQUNaLFVBQVU7RUFDVixlQUFlO0VBQ2YsNEJyRGtQa0I7RXFEbFBsQixvQnJEa1BrQixFQUFBO0VxRHZQdEI7SUFPUSxZMUR5REE7STBEeERBLFdBQVc7SUFDWCxZQUFZO0lBQ1osb0JBQWE7SUFBYixvQkFBYTtJQUFiLGFBQWE7SUFDYix3QkFBdUI7UUFBdkIscUJBQXVCO1lBQXZCLHVCQUF1QjtJQUN2Qix5QkFBbUI7UUFBbkIsc0JBQW1CO1lBQW5CLG1CQUFtQjtJQUNuQixtQnBEMG1Kd0I7SW9Eem1KeEIseUJyRHhCUztJcUR5QlQsZXBEdWxKTztJb0R0bEpQLCtCckQwTTZDO0lxRHpNN0MsY0FBYztJQUNkLGtCQUFrQjtJQUNsQixtQjFEc0RTO0kwRHJEVCxjckQ5QlM7SXFEK0JULDRCckRrT2M7SXFEbE9kLG9CckRrT2MsRUFBQTtJRy9GZDtNa0R4SlI7UUF1QlksZXBEZ2xKRyxFQUFBLEVvRDlrSlY7RUF6Qkw7SUEyQlEsVUFBVTtJQUNWLGdDckQwTmM7SXFEMU5kLHdCckQwTmMsRUFBQTtJcUR0UHRCO01BaUNnQixtQjFEd0NDO00wRHRDTCxjckQ3Q0s7TXFEOENMLHlEckQyTnNDO2NxRDNOdEMsaURyRDJOc0M7TXFEMU50QyxxQjFEb0NLO00wRG5DTCw0QnJEZ05VO01xRGhOVixvQnJEZ05VLEVBQUE7RXFEdFB0QjtJQTJDWSxtQjFEc0NLO0kwRHJDTCxjckR0REs7SXFEdURMLHFCMURvQ0s7STBEbkNMLDRCckR3TVU7SXFEeE1WLG9CckR3TVUsRUFBQTtFcUR0UHRCO0lBa0RRLFdBQVcsRUFBQTs7QUNsRm5COzs7QzlEazF6QkM7QThENzB6QkQ7RUFFSSxTQUFTLEVBQUE7RUFGYjtJQU1nQixZM0RxRlIsRUFBTztF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SUEzQ25DO01BOENnQixnQkFBZ0IsRUFBQTtFQTlDaEM7SUFrRFksbUJyRDNEb0QsRUFBQTtJcURTaEU7TUFvRGdCLGlCQUFpQixFQUFBOztBQU1qQztFdER1TkkscUNBQWdDO0VBdUI1QixXc0Q3TzJLO0V0RDZQL0ssb0JBMUNnWTtFQTBDaFksb0JBMUNnWTtFQTBDaFksYUExQ2dZO0VBNEM1WCx5QkFBbUI7TUFBbkIsc0JBQW1CO1VBQW5CLG1CQUFtQjtFQUNuQix3QkFBdUI7TUFBdkIscUJBQXVCO1VBQXZCLHVCQUF1QjtFQU0zQixrQkFBa0I7RUFDbEIscURBQWtFO0VBRWxFLCtDQUErQztFQUMvQyxjVG5VYTtFU29VYix5QlQ4RWdCO0VTN0VoQixpQkgrYzRCO0VHOWM1QixrQkNqVjREO0VEa1Y1RCxnQlRtRWU7RVNsRWYsa0JBQWtCO0VBQ2xCLG1CQUFtQjtFQUNuQixlQUFlO0VBRVgseUJUb0VnQztFU2pFaEMscUJIZ2MyQjtFRy9iM0IsaUJIOGJ3QjtFRzNieEIscUJUeUVZO0VTckVoQixxQkFBcUI7RUFDckIsY0gwYnlCO0VHdmJyQiwyQkFBb0U7RUFFeEUsZ0JBQWdCO0VBQ2hCLDRCSmhMa0I7RUlnTGxCLG9CSmhMa0IsRUFBQTtFR3BHZDtJdURsQlI7TXREeVNZLDZDQUFvRSxFQUFBLEVzRHZTL0U7RXZEcUJPO0l1RHZCUjtNdEQ2U1EsMEJzRDVTK0w7TXRENFMvTCx1QnNENVMrTDtNdEQ0Uy9MLGtCc0Q1UytMO010RDZTL0wsNENBQWtFLEVBQUEsRXNENVN6RTtFdERpVEc7SUFDSTtNQUNJLGNKaGNLO01JaWNMLHlCVHRXSztNU3dXRCxxQlR4V0M7TVM0V0wscUJBQXFCO01BQ3JCLDRCSnhNVTtNSXdNVixvQkp4TVUsRUFBQTtNSWdOVjtRQUNJLHlCSmpkQztRSWtkRCx5Q0psTk07UUlrTk4saUNKbE5NLEVBQUEsRUltTlQ7RUFHVDtJQUNJLGNKdmRTO0lJd2RULHlCVHJZUztJU3VZTCxxQlR2WUs7SVMyWVQsNEJKOU5jO0lJOE5kLG9CSjlOYyxFQUFBO0VJcU9sQjtJQUlRLGNWekp5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QkNqVjREO0VEa1Y1RCxnQlQwRCtCO0VTekQvQixrQkFBa0I7RUFDbEIsbUJBQW1CO0VBQ25CLGVBQWU7RUFFWCx5QlRvRWdDO0VTakVoQyxxQkhnYzJCO0VHL2IzQixpQkg4YndCO0VHM2J4QixxQko3WndCO0VJaWE1QixxQkFBcUI7RUFDckIsY0gwYnlCO0VHdmJyQiwyQkFBb0U7RUFFeEUsZ0JBQWdCO0VBQ2hCLDRCSmhMa0I7RUlnTGxCLG9CSmhMa0I7RUkwUWQ7Ozs7Ozs7O1NaK3gwQkMsRVl2eDBCQztFRGpYRjtJNERuTFI7TTNEeWNRLDBCMkR4Y2lTO00zRHdjalMsdUIyRHhjaVM7TTNEd2NqUyxrQjJEeGNpUztNM0R5Y2pTLDRDQUFrRSxFQUFBLEUyRHhjekU7RTNENmNHO0lBQ0k7TUFDSSxjSmhjSztNSWljTCx5QlR0V0s7TVN3V0QscUJUeFdDO01TNFdMLHFCQUFxQjtNQUNyQiw0Qkp4TVU7TUl3TVYsb0JKeE1VLEVBQUE7TUkwTU47UUFDQyxjSjNjQTtRSTRjQSw4Qko1TUs7UUk0TUwsc0JKNU1LLEVBQUE7TUlnTlY7UUFDSSx5QkpqZEM7UUlrZEQseUNKbE5NO1FJa05OLGlDSmxOTSxFQUFBLEVJbU5UO0VBR1Q7SUFDSSxjSnZkUztJSXdkVCx5QlRyWVM7SVN1WUwscUJUdllLO0lTMllULDRCSjlOYztJSThOZCxvQko5TmMsRUFBQTtJSWdPVjtNQUNDLGNKamVJLEVBQUE7RUlxZWI7SUFJUSxjVnpKeUQ7SVU4SnpELHlCSjllSztJSW1mTCxzQ0pqZXFCO0lJbWV6QixtQkFBbUIsRUFBQTtJQUVmO01BQ0MsY1Z4S3dELEVBQUE7RVU0S2pFO0lBSVEsc0NKOWVxQixFQUFBO0VJa2Y3QjtJQUNJLGFBQWE7SUFDYiw0REo1UDZDO1lJNFA3QyxvREo1UDZDLEVBQUE7RUlpUjdDO0lBQ0ksWUhqS3FCO0lHa0tyQixrQkhxZlU7SUdwZlYsdUJKNVVzQjtJSTZVdEIsZUgwZkU7SUd2ZkUsZ0JBQWdCO0lBRXBCLGNUamRLO0lTa2RMLDhCSnBTVTtJSW9TVixzQkpwU1UsRUFBQTtFSXVTbEI7SUFD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RXFGdUJyRCxtQjNFTjhEO0UyRU85RCxtQnZFUDJCO0V1RVEzQixnQnJGeVF1QjtFcUZ4UXZCLGNyRkNpQjtFcUZFZiw4RGhGNktrQjtFZ0Y3S2xCLHNEaEY2S2tCO0VnRjdLbEIsOENoRjZLa0I7RWdGN0tsQix1RWhGNktrQjtFZ0Z4SmxCLHdCQUFnQjtLQUFoQixxQkFBZ0I7VUFBaEIsZ0JBQWdCLEVBQUE7RXhGMHYvQmxCOztJd0Yxdy9CRSxhQUFhO0lBQ2IseUJoRnhFNkI7SWdGeUU3Qix5QmhGM0ZhO0lnRjRGYiw0RGhGOEtpRDtZZ0Y5S2pELG9EaEY4S2lEO0lnRjNLL0MsOERoRmtLZ0I7SWdGbEtoQixzRGhGa0tnQjtJZ0ZsS2hCLDhDaEZrS2dCO0lnRmxLaEIsdUVoRmtLZ0IsRUFBQTs7QTZFckVwQjtFRzlFRSxlQUFlLEVBQUE7RUFEakI7SUFJSSxZQUFZLEVBQUE7O0FBSWhCOzs7RUFLSSxtRC9FK2pCeUM7RStFOWpCekMsbUJ2RXlVNkIsRUFBQTs7QWpCazcrQm5DOztFd0Zwdi9CSSx3QkFBZ0I7S0FBaEIscUJBQWdCO1VBQWhCLGdCQUFnQjtFQUNoQixnQnRGOUhpQixFQUFBOztBYzI5RXJCO0V3RXgxRUksOEJBQXNCO1VBQXRCLHNCQUFzQixFQUFBOztBQWlCeEI7RUFDRSxjaEZ4STZCLEVBQUE7O0FnRnVJL0I7RUFDRSxjaEZ4STZCLEVBQUE7O0FnRnVJL0I7RUFDRSxjaEZ4STZCLEVBQUE7O0FnRnVJL0I7RUFDRSxjaEZ4STZCLEVBQUE7O0FnRnVJL0I7RUFDRSxjaEZ4STZCLEVBQUE7O0FSKzIvQmpDOzs7RXlGMzQvQkksZ0I1RWtGNEQsRUFBQTs7QWI4ei9CaEU7O0V5RjE0L0JJLHFCQUFxQjtFQUNyQix3QkFBd0I7RUFFeEIsbUJBQWtEO0VBQ2xELGtCNUV3RTREO0U0RXZFNUQsZ0JBQWdCLEVBQUE7RXpGNDQvQmxCOztJeUZ6NC9CSSxlQUFlLEVBQUE7O0FBS25COztFQUVFLG9CQUFtRCxFQUFBOztBekYwNC9CdkQ7RXlGcjQvQkksV0FBVyxFQUFBOztBQ0tiO0VBbEJBLGNBQWM7RUFDZCxTQUFTO0VBRVQsbUI3RWtFOEQ7RTZFakU5RCxtQnpFaUUyQjtFeUVoRTNCLGdCekUwYTBCO0V5RXphMUIsY2xGTmUsRUFBQTtFa0ZrQmY7SUFOQSxnQjdFeUQ4RDtJNkV4RDlELGdCdkZ5VXVCO0l1RnhVdkIsb0JBQWdFLEVBQUE7O0FDbEJoRTtFQUdFLG1CQUZ1QztFQUd2QyxvQjlFcUU0RDtFOEVwRTVELGtCMUVzYXdCO0UwRXJheEIsY25GRmEsRUFBQTs7QW9GQ2Y7RUFDRSxvQkFBaUM7RUFBakMsb0JBQWlDO0VBQWpDLGFBQWlDO0VBQ2pDLFdBQVc7RUFDWCxtQi9FaUU0RDtFK0U5RDFELDBCQUFvQjtNQUFwQix1QkFBb0I7VUFBcEIsb0JBQW9CLEVBQUE7RUFOeEI7SUFXTSxzQm5Gc2dCOEQsRUFBQTtFbUZqaEJwRTtJQWlCTSxzQkFBaUgsRUFBQTs7QUFLdkg7Ozs7RUFDRSxTQUFTO0VBQ1QsbUJBQW1CLEVBQUE7O0FBUXJCO0VBRUUsZTNFd1l1QjtFMkV2WXZCLHlCcEYzQjZCO0VvRjRCN0IsbUJwRi9CNEI7RW9GaUM1QixjcEZ2Q2E7RW9Gd0NiLGtCQUFrQjtFQUNsQixtQkFBbUI7RUFHakIsb0JBQWE7RUFBYixvQkFBYTtFQUFiLGFBQWE7RUFDYixtQkFBYztNQUFkLGtCQUFjO1VBQWQsY0FBYztFQUNkLHlCQUFtQjtNQUFuQixzQkFBbUI7VUFBbkIsbUJBQW1CLEVBQUE7RUFidkI7SUFzQk0sZUFBaUMsRUFBQTtFQXRCdkM7SUEwQk0sY0FBZ0MsRUFBQTs7QUFLdEM7RUFFRSxnQkFBZ0I7RUFHZCxtQkFBYTtNQUFiLGlCQUFhO1VBQWIsYUFBYTtFQUNiLFlBQVksRUFBQTs7QUFJaEI7RUFFRSxjQUFjO0VBQ2QsaUJBQWlCO0VBQ2pCLGtCQUFrQjtFQUdoQixvQkFBYTtFQUFiLG9CQUFhO0VBQWIsYUFBYTtFQUNiLG1CQUFjO01BQWQsa0JBQWM7VUFBZCxjQUFjLEVBQUE7RUFSbEI7Ozs7SUFzQk0sNEJBQW1CO1FBQW5CLG1CQUFtQjtJQUNuQixZQUFZO0lBS2QsY0FBYztJQUNkLGlCQUFpQjtJQUNqQixtQi9FbkMwRCxFQUFBOztBd0UwRjlEO0VRakpFLFNBQVM7RUFDVCxVQUFVO0VBQ1YsU0FBUyxFQUFBOztBUndKWDtFUXBKRSxlQUFlO0VBQ2YscUJBQWtDLEVBQUE7O0FBR3BDO0VBeEJBLGtCaEYwRVc7RWdGekVYLGdCaEZvRThEO0VnRm5FOUQseUJyRk8rQixFQUFBO0VxRkwvQjtJQUVFLFNBQVM7SUFDVCx1QmhGOEQ0RDtJZ0Y3RDVELG9CaEY2RDRELEVBQUE7O0F5RThHOUQ7RVFyTEEsaUJBRnNKO0VBR3RKLGdCakZzRThEO0VpRnJFOUQsZTdFOGIrQjtFNkU1Yi9CLHdCQUFnQjtLQUFoQixxQkFBZ0I7VUFBaEIsZ0JBQWdCO0VBQ2hCLHlCdEZZK0I7RXNGWC9CLGdCNUZGbUI7RTRGR25CLHlCdEZSZTtFc0ZVZixpRDNGNkNxRDtFMkY1Q3JELG1CakY2RDhEO0VpRjVEOUQsbUI3RTREMkI7RTZFM0QzQixnQjNGNFV1QjtFMkYzVXZCLGMzRm9FaUI7RW9GOENqQix3T0FBeU47RU85R3ZOLDhCQUE4QjtFQUM5Qix1Q0FBMEQ7RUFDMUQsNEJBQTRCO0VBQzVCLHdCQUF3QjtFQUV4QixxQkFBdUQ7RUFJdkQsOER0RnNPa0I7RXNGdE9sQixzRHRGc09rQjtFc0Z0T2xCLDhDdEZzT2tCO0VzRnRPbEIsdUV0RnNPa0IsRUFBQTtFK0UvSHBCO0lEb0RBO01DakRJLHVXQUF1VyxFQUFBLEVPbkUxVztFQW5DRDtJQUNFLGFBQWE7SUFDYix5QnRGZjZCO0lzRmdCN0IseUJ0RmxDYTtJc0ZtQ2IsNER0RnVPaUQ7WXNGdk9qRCxvRHRGdU9pRDtJc0ZwTy9DLDhEdEYyTmdCO0lzRjNOaEIsc0R0RjJOZ0I7SXNGM05oQiw4Q3RGMk5nQjtJc0YzTmhCLHVFdEYyTmdCLEVBQUE7RXNGdE5wQjtJQUNFLG1EckY2b0IyQztJcUY1b0IzQyxtQjdFdVorQixFQUFBO0U2RW5aakM7SUFDRSxhQUFhLEVBQUE7RUFHZjtJQUNFLFlBQVk7SUFDWixzQkFBc0IsRUFBQTtFQUV4QjtJQUNFLGNBQWM7SUFDZCxpQkFBaUIsRUFBQTs7QUNyQ25CO0VBQ0UscUJ2RmdHVTtFdUYvRlYseUJBQStELEVBQUE7RUFFL0Q7SUFDRSxjdkY0RlEsRUFBQTtFdUY3RlY7SUFDRSxjdkY0RlEsRUFBQTtFdUY3RlY7SUFDRSxjdkY0RlEsRUFBQTtFdUY3RlY7SUFDRSxjdkY0RlEsRUFBQTtFdUY3RlY7SUFDRSxjdkY0RlEsRUFBQTs7QVErL0JnQztFK0Voa0N4QyxjdkZpRVEsRUFBQTs7QXVGNURaO0VBekJBLGFBQWE7RUFDYixtQkFBZ0M7RUFDaEMsbUJsRm9DOEQ7RWtGbEM5RCxvQmxGa0M4RDtFa0ZqQzlELGdCNUZnYjJCO0U0Ri9hM0IsY3ZGK0VZLEVBQUE7RXVGNURaO0lBSUksY0FBYyxFQUFBOztBekM0WXBCO0U1QnhiTSx1QkFBNkQ7RUFBN0Qsc0JBQTZEO0VzRXZCakUsaUJ2Rk9tQjtFdUZObkIsaUJBQWlCO0VBQ2pCLGtCQUFrQixFQUFBO0VDUmxCO0l2RTZCSSx1QkFBNkQ7SUFBN0Qsc0JBQTZEO0lzRXZCakUsZUNGbUM7SURHbkMsaUJBQWlCO0lBQ2pCLGtCQUFrQixFQUFBO0VDUmxCO0l2RTZCSSxnQkFBNkQ7SUFBN0QsZUFBNkQ7SXNFdkJqRSxlQ0VtQztJRERuQyxpQkFBaUI7SUFDakIsa0JBQWtCLEVBQUE7O0FDS2xCO0VEU0Esb0JBQWE7RUFBYixvQkFBYTtFQUFiLGFBQWE7RUFDYiw4QkFIcUI7RUFHckIsNkJBSHFCO01BR3JCLHVCQUhxQjtVQUdyQixtQkFIcUIsRUFBQTs7QUNIckI7RXBFcUdBLG1CQUFNO01BQU4sa0JBQU07VUFBTixjQUFNO0VBSUosYUFBYTtFQUNiLFlBQVk7RUFzQ1osV0EvRWlDLEVBQUE7RW9FakVuQztJcEVxR0EsbUJBQU07UUFBTixpQkFBTTtZQUFOLFdBQU0sRUFBQTtFb0VyR047SXBFcUdBLG1CQUFNO1FBQU4sa0JBQU07WUFBTixjQUFNLEVBQUE7O0FvRXpGTjtFcEVvSUUsV0EzRlksRUFBQTs7QW9FekNkO0VwRW9JRSxXQTNGWSxFQUFBOztBb0V6Qlo7RUFNSSw2QkFBZ0I7TUFBaEIsZ0JBQWdCLEVBQUE7O0F0Rm9IaEI7RXNGMUhKO0lBTUksNkJBQWdCO1FBQWhCLGdCQUFnQixFQUFBLEVBQ2pCOztBdEZ3SEM7RXNGL0hKO0lBTUksNkJBQWdCO1FBQWhCLGdCQUFnQixFQUFBLEVBQ2pCOztBdEZ3SEM7RXNGL0hKO0lBTUksNkJBQWdCO1FBQWhCLGdCQUFnQixFQUFBLEVBQ2pCOztBQVlIO0VwRXNERixtQkFBTTtNQUFOLGtCQUFNO1VBQU4sY0FBTSxFQUFBOztBb0V2Q0Y7RXBFa0ZGLGVxRTVCZ0UsRUFBQTs7QUR0RDlEO0VwRWtGRixnQnFFNUJnRSxFQUFBOztBRHREOUQ7RXBFa0ZGLFVxRTVCZ0UsRUFBQTs7QUR0RDlEO0VwRWtGRixnQnFFNUJnRSxFQUFBOztBRHREOUQ7RXBFa0ZGLGdCcUU1QmdFLEVBQUE7O0FEdEQ5RDtFcEVrRkYsVXFFNUJnRSxFQUFBOztBRHREOUQ7RXBFa0ZGLGdCcUU1QmdFLEVBQUE7O0FEdEQ5RDtFcEVrRkYsZ0JxRTVCZ0UsRUFBQTs7QUR0RDlEO0VwRWtGRixVcUU1QmdFLEVBQUE7O0FEdEQ5RDtFcEVrRkYsZ0JxRTVCZ0UsRUFBQTs7QUR0RDlEO0VwRWtGRixnQnFFNUJnRSxFQUFBOztBRHREOUQ7RXBFa0ZGLFdxRTVCZ0UsRUFBQTs7QXZGa0M1RDtFc0Y1R0Y7SXBFMkRKLG1CQUFNO1FBQU4saUJBQU07WUFBTixXQUFNO0lBMkNKLFdBM0ZZLEVBQUE7RW9FTlo7SXBFc0RGLG1CQUFNO1FBQU4sa0JBQU07WUFBTixjQUFNLEVBQUE7RW9FaERGO0lwRTJGRixXQTNGWSxFQUFBO0VvRVNWO0lwRWtGRixlcUU1QmdFLEVBQUE7RUR0RDlEO0lwRWtGRixnQnFFNUJnRSxFQUFBO0VEdEQ5RDtJcEVrRkYsVXFFNUJnRSxFQUFBO0VEdEQ5RDtJcEVrRkYsZ0JxRTVCZ0UsRUFBQTtFRHREOUQ7SXBFa0ZGLGdCcUU1QmdFLEVBQUE7RUR0RDlEO0lwRWtGRixVcUU1QmdFLEVBQUE7RUR0RDlEO0lwRWtGRixnQnFFNUJnRSxFQUFBO0VEdEQ5RDtJcEVrRkYsZ0JxRTVCZ0UsRUFBQTtFRHREOUQ7SXBFa0ZGLFVxRTVCZ0UsRUFBQTtFRHREOUQ7SXBFa0ZGLGdCcUU1QmdFLEVBQUE7RUR0RDlEO0lwRWtGRixnQnFFNUJnRSxFQUFBO0VEdEQ5RDtJcEVrRkYsV3FFNUJnRSxFQUFBLEVEbkQ3RDs7QXRGMEZDO0VzRmpIRjtJcEUyREosbUJBQU07UUFBTixpQkFBTTtZQUFOLFdBQU07SUEyQ0osV0EzRlksRUFBQTtFb0VOWjtJcEVzREYsbUJBQU07UUFBTixrQkFBTTtZQUFOLGNBQU0sRUFBQTtFb0VoREY7SXBFMkZGLFdBM0ZZLEVBQUE7RW9FU1Y7SXBFa0ZGLGVxRTVCZ0UsRUFBQTtFRHREOUQ7SXBFa0ZGLGdCcUU1QmdFLEVBQUE7RUR0RDlEO0lwRWtGRixVcUU1QmdFLEVBQUE7RUR0RDlEO0lwRWtGRixnQnFFNUJnRSxFQUFBO0VEdEQ5RDtJcEVrRkYsZ0JxRTVCZ0UsRUFBQTtFRHREOUQ7SXBFa0ZGLFVxRTVCZ0UsRUFBQTtFRHREOUQ7SXBFa0ZGLGdCcUU1QmdFLEVBQUE7RUR0RDlEO0lwRWtGRixnQnFFNUJnRSxFQUFBO0VEdEQ5RDtJcEVrRkYsVXFFNUJnRSxFQUFBO0VEdEQ5RDtJcEVrRkYsZ0JxRTVCZ0UsRUFBQTtFRHREOUQ7SXBFa0ZGLGdCcUU1QmdFLEVBQUE7RUR0RDlEO0lwRWtGRixXcUU1QmdFLEVBQUEsRURuRDdEOztBdEYwRkM7RXNGakhGO0lwRTJESixtQkFBTTtRQUFOLGlCQUFNO1lBQU4sV0FBTTtJQTJDSixXQTNGWSxFQUFBO0VvRU5aO0lwRXNERixtQkFBTTtRQUFOLGtCQUFNO1lBQU4sY0FBTSxFQUFBO0VvRWhERjtJcEUyRkYsV0EzRlksRUFBQTtFb0VTVjtJcEVrRkYsZXFFNUJnRSxFQUFBO0VEdEQ5RDtJcEVrRkYsZ0JxRTVCZ0UsRUFBQTtFRHREOUQ7SXBFa0ZGLFVxRTVCZ0UsRUFBQTtFRHREOUQ7SXBFa0ZGLGdCcUU1QmdFLEVBQUE7RUR0RDlEO0lwRWtGRixnQnFFNUJnRSxFQUFBO0VEdEQ5RDtJcEVrRkYsVXFFNUJnRSxFQUFBO0VEdEQ5RDtJcEVrRkYsZ0JxRTVCZ0UsRUFBQTtFRHREOUQ7SXBFa0ZGLGdCcUU1QmdFLEVBQUE7RUR0RDlEO0lwRWtGRixVcUU1QmdFLEVBQUE7RUR0RDlEO0lwRWtGRixnQnFFNUJnRSxFQUFBO0VEdEQ5RDtJcEVrRkYsZ0JxRTVCZ0UsRUFBQTtFRHREOUQ7SXBFa0ZGLFdxRTVCZ0UsRUFBQSxFRG5EN0Q7O0FBS0w7RUFDRSxXQUFXLEVBQUE7O0FBSWI7RUFDRSxZQUFZLEVBQUE7O0FBOEJkO0V2RXZHTSx1QkFBNkQ7RUFBN0Qsd0JBQTZELEVBQUE7RWZtSjdEO0lzRjVDTjtNdkV2R00sc0JBQTZEO01BQTdELHVCQUE2RCxFQUFBLEV1RXNJbEU7RUEvQkQ7SXBFc0NFLDRCQXREMEU7SUg5RXhFLHNCQUE2RDtJQUE3RCx1QkFBNkQsRUFBQTtFZjBJM0Q7SXNGNUNOO01wRXNDRSwyQkF0RDBFO01IOUV4RSxxQkFBNkQ7TUFBN0Qsc0JBQTZELEVBQUEsRXVFMkcxRDtFQXJDUDtJcEU4REUsV0EzRlksRUFBQTtFb0VpQ2Q7SXBFMERFLFdBM0ZZLEVBQUE7RW9FeUNaO0lwRWtEQSxnQ0F0RDBFLEVBQUE7RW9FSTFFO0lwRWtEQSxpQ0F0RDBFLEVBQUE7RW9FSTFFO0lwRWtEQSwyQkF0RDBFLEVBQUE7RW9FSTFFO0lwRWtEQSxpQ0F0RDBFLEVBQUE7RW9FSTFFO0lwRWtEQSxpQ0F0RDBFLEVBQUE7RW9FSTFFO0lwRWtEQSwyQkF0RDBFLEVBQUE7RW9FSTFFO0lwRWtEQSxpQ0F0RDBFLEVBQUE7RW9FSTFFO0lwRWtEQSxpQ0F0RDBFLEVBQUE7RW9FSTFFO0lwRWtEQSwyQkF0RDBFLEVBQUE7RW9FSTFFO0lwRWtEQSxpQ0F0RDBFLEVBQUE7RW9FSTFFO0lwRWtEQSxpQ0F0RDBFLEVBQUE7RW9FSTFFO0lwRWtEQSw0QkF0RDBFLEVBQUE7RWxCNER0RTtJc0ZwRU47TXBFOERFLFdBM0ZZLEVBQUE7SW9FaUNkO01wRTBERSxXQTNGWSxFQUFBO0lvRXlDWjtNcEVrREEsK0JBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsZ0NBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsMEJBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsZ0NBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsZ0NBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsMEJBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsZ0NBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsZ0NBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsMEJBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsZ0NBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsZ0NBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsMkJBdEQwRSxFQUFBO0lvRVI1RTtNcEU4REUsV0EzRlksRUFBQTtJb0VpQ2Q7TXBFMERFLFdBM0ZZLEVBQUE7SW9FeUNaO01wRWtEQSwrQkF0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxnQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSwwQkF0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxnQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxnQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSwwQkF0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxnQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxnQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSwwQkF0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxnQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxnQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSwyQkF0RDBFLEVBQUEsRW9FTXpFO0V0RjJERztJc0Z6RU47TXBFOERFLFdBM0ZZLEVBQUE7SW9FaUNkO01wRTBERSxXQTNGWSxFQUFBO0lvRXlDWjtNcEVrREEsK0JBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsZ0NBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsMEJBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsZ0NBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsZ0NBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsMEJBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsZ0NBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsZ0NBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsMEJBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsZ0NBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsZ0NBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsMkJBdEQwRSxFQUFBLEVvRU16RTtFdEYyREc7SXNGekVOO01wRThERSxXQTNGWSxFQUFBO0lvRWlDZDtNcEUwREUsV0EzRlksRUFBQTtJb0V5Q1o7TXBFa0RBLCtCQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLGdDQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLDBCQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLGdDQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLGdDQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLDBCQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLGdDQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLGdDQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLDBCQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLGdDQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLGdDQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLDJCQXREMEUsRUFBQSxFb0VNekU7O0FBOENIO0V2RTNJTSx3QkFBNkQ7RUFBN0QsdUJBQTZELEVBQUE7RWZtSjdEO0lzRlJOO012RTNJTSx1QkFBNkQ7TUFBN0Qsc0JBQTZELEVBQUEsRXVFZ0poRTs7QUFJRDtFdkVwSkksd0JBQTZEO0VBQTdELHVCQUE2RCxFQUFBO0VmbUo3RDtJc0ZDSjtNdkVwSkksdUJBQTZEO01BQTdELHNCQUE2RCxFQUFBLEV1RXNKaEU7O0FBWEg7RXZFM0lNLHdCQUE2RDtFQUE3RCx1QkFBNkQsRUFBQTtFZm1KN0Q7SXNGUk47TXZFM0lNLHVCQUE2RDtNQUE3RCxzQkFBNkQsRUFBQSxFdUUySmhFOztBRTNKSDtFdEU2SUUsV3FFNUJnRSxFQUFBOztBQ2pIbEU7RXRFNklFLFVxRTVCZ0UsRUFBQTs7QUNqSGxFO0V0RTZJRSxnQnFFNUJnRSxFQUFBOztBQ2pIbEU7RXRFNklFLFVxRTVCZ0UsRUFBQTs7QUNqSGxFO0V0RTZJRSxVcUU1QmdFLEVBQUE7O0FDakhsRTtFdEU2SUUsZ0JxRTVCZ0UsRUFBQTs7QUNqSGxFO0V0RTZJRSxnQnFFNUJnRSxFQUFBOztBQ2pIbEU7RXRFNklFLFlxRTVCZ0UsRUFBQTs7QXZGa0M1RDtFd0ZuSk47SXRFNklFLFdxRTVCZ0UsRUFBQTtFQ2pIbEU7SXRFNklFLFVxRTVCZ0UsRUFBQTtFQ2pIbEU7SXRFNklFLGdCcUU1QmdFLEVBQUE7RUNqSGxFO0l0RTZJRSxVcUU1QmdFLEVBQUE7RUNqSGxFO0l0RTZJRSxVcUU1QmdFLEVBQUE7RUNqSGxFO0l0RTZJRSxnQnFFNUJnRSxFQUFBO0VDakhsRTtJdEU2SUUsZ0JxRTVCZ0UsRUFBQTtFQ2pIbEU7SXRFNklFLFlxRTVCZ0UsRUFBQSxFQy9HakU7O0F4RnNKSztFd0Z4Sk47SXRFNklFLFdxRTVCZ0UsRUFBQTtFQ2pIbEU7SXRFNklFLFVxRTVCZ0UsRUFBQTtFQ2pIbEU7SXRFNklFLGdCcUU1QmdFLEVBQUE7RUNqSGxFO0l0RTZJRSxVcUU1QmdFLEVBQUE7RUNqSGxFO0l0RTZJRSxVcUU1QmdFLEVBQUE7RUNqSGxFO0l0RTZJRSxnQnFFNUJnRSxFQUFBO0VDakhsRTtJdEU2SUUsZ0JxRTVCZ0UsRUFBQTtFQ2pIbEU7SXRFNklFLFlxRTVCZ0UsRUFBQSxFQy9HakU7O0F4RnNKSztFd0Z4Sk47SXRFNklFLFdxRTVCZ0UsRUFBQTtFQ2pIbEU7SXRFNklFLFVxRTVCZ0UsRUFBQTtFQ2pIbEU7SXRFNklFLGdCcUU1QmdFLEVBQUE7RUNqSGxFO0l0RTZJRSxVcUU1QmdFLEVBQUE7RUNqSGxFO0l0RTZJRSxVcUU1QmdFLEVBQUE7RUNqSGxFO0l0RTZJRSxnQnFFNUJnRSxFQUFBO0VDakhsRTtJdEU2SUUsZ0JxRTVCZ0UsRUFBQTtFQ2pIbEU7SXRFNklFLFlxRTVCZ0UsRUFBQSxFQy9HakU7O0FBRkQ7RXRFNklFLDRCQXREMEUsRUFBQTs7QXNFdkY1RTtFdEU2SUUsMkJBdEQwRSxFQUFBOztBc0V2RjVFO0V0RTZJRSxpQ0F0RDBFLEVBQUE7O0FzRXZGNUU7RXRFNklFLDJCQXREMEUsRUFBQTs7QXNFdkY1RTtFdEU2SUUsMkJBdEQwRSxFQUFBOztBc0V2RjVFO0V0RTZJRSxpQ0F0RDBFLEVBQUE7O0FzRXZGNUU7RXRFNklFLGlDQXREMEUsRUFBQTs7QXNFdkY1RTtFdEU2SUUsNkJBdEQwRSxFQUFBOztBbEI0RHRFO0V3Rm5KTjtJdEU2SUUsMkJBdEQwRSxFQUFBO0VzRXZGNUU7SXRFNklFLDBCQXREMEUsRUFBQTtFc0V2RjVFO0l0RTZJRSxnQ0F0RDBFLEVBQUE7RXNFdkY1RTtJdEU2SUUsMEJBdEQwRSxFQUFBO0VzRXZGNUU7SXRFNklFLDBCQXREMEUsRUFBQTtFc0V2RjVFO0l0RTZJRSxnQ0F0RDBFLEVBQUE7RXNFdkY1RTtJdEU2SUUsZ0NBdEQwRSxFQUFBO0VzRXZGNUU7SXRFNklFLDRCQXREMEUsRUFBQTtFc0V2RjVFO0l0RTZJRSwyQkF0RDBFLEVBQUE7RXNFdkY1RTtJdEU2SUUsMEJBdEQwRSxFQUFBO0VzRXZGNUU7SXRFNklFLGdDQXREMEUsRUFBQTtFc0V2RjVFO0l0RTZJRSwwQkF0RDBFLEVBQUE7RXNFdkY1RTtJdEU2SUUsMEJBdEQwRSxFQUFBO0VzRXZGNUU7SXRFNklFLGdDQXREMEUsRUFBQTtFc0V2RjVFO0l0RTZJRSxnQ0F0RDBFLEVBQUE7RXNFdkY1RTtJdEU2SUUsNEJBdEQwRSxFQUFBLEVzRXJGM0U7O0F4RnNKSztFd0Z4Sk47SXRFNklFLDJCQXREMEUsRUFBQTtFc0V2RjVFO0l0RTZJRSwwQkF0RDBFLEVBQUE7RXNFdkY1RTtJdEU2SUUsZ0NBdEQwRSxFQUFBO0VzRXZGNUU7SXRFNklFLDBCQXREMEUsRUFBQTtFc0V2RjVFO0l0RTZJRSwwQkF0RDBFLEVBQUE7RXNFdkY1RTtJdEU2SUUsZ0NBdEQwRSxFQUFBO0VzRXZGNUU7SXRFNklFLGdDQXREMEUsRUFBQTtFc0V2RjVFO0l0RTZJRSw0QkF0RDBFLEVBQUEsRXNFckYzRTs7QXhGc0pLO0V3RnhKTjtJdEU2SUUsMkJBdEQwRSxFQUFBO0VzRXZGNUU7SXRFNklFLDBCQXREMEUsRUFBQTtFc0V2RjVFO0l0RTZJRSxnQ0F0RDBFLEVBQUE7RXNFdkY1RTtJdEU2SUUsMEJBdEQwRSxFQUFBO0VzRXZGNUU7SXRFNklFLDBCQXREMEUsRUFBQTtFc0V2RjVFO0l0RTZJRSxnQ0F0RDBFLEVBQUE7RXNFdkY1RTtJdEU2SUUsZ0NBdEQwRSxFQUFBO0VzRXZGNUU7SXRFNklFLDRCQXREMEUsRUFBQSxFc0VyRjNFOztBRnFNRztFRzlNRSxlQUEwQjtFQUExQixjQUEwQixFQUFBO0VBRzVCO0lBRUksZUFBMEI7SUFBMUIsY0FBMEIsRUFBQTtFQXNCeEI7SXZFeUhSLGVxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLGdCcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixVcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixnQnFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsZ0JxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLFVxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLGdCcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixnQnFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsVXFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsZ0JxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLGdCcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixXcUU1QmdFLEVBQUE7RXZGa0M1RDtJeUYvSEk7TXZFeUhSLGVxRTVCZ0UsRUFBQTtJRTdGeEQ7TXZFeUhSLGdCcUU1QmdFLEVBQUE7SUU3RnhEO012RXlIUixVcUU1QmdFLEVBQUE7SUU3RnhEO012RXlIUixnQnFFNUJnRSxFQUFBO0lFN0Z4RDtNdkV5SFIsZ0JxRTVCZ0UsRUFBQTtJRTdGeEQ7TXZFeUhSLFVxRTVCZ0UsRUFBQTtJRTdGeEQ7TXZFeUhSLGdCcUU1QmdFLEVBQUE7SUU3RnhEO012RXlIUixnQnFFNUJnRSxFQUFBO0lFN0Z4RDtNdkV5SFIsVXFFNUJnRSxFQUFBO0lFN0Z4RDtNdkV5SFIsZ0JxRTVCZ0UsRUFBQTtJRTdGeEQ7TXZFeUhSLGdCcUU1QmdFLEVBQUE7SUU3RnhEO012RXlIUixXcUU1QmdFLEVBQUEsRUUzRnZEO0V6RmtJTDtJeUZwSUk7TXZFeUhSLGVxRTVCZ0UsRUFBQTtJRTdGeEQ7TXZFeUhSLGdCcUU1QmdFLEVBQUE7SUU3RnhEO012RXlIUixVcUU1QmdFLEVBQUE7SUU3RnhEO012RXlIUixnQnFFNUJnRSxFQUFBO0lFN0Z4RDtNdkV5SFIsZ0JxRTVCZ0UsRUFBQTtJRTdGeEQ7TXZFeUhSLFVxRTVCZ0UsRUFBQTtJRTdGeEQ7TXZFeUhSLGdCcUU1QmdFLEVBQUE7SUU3RnhEO012RXlIUixnQnFFNUJnRSxFQUFBO0lFN0Z4RDtNdkV5SFIsVXFFNUJnRSxFQUFBO0lFN0Z4RDtNdkV5SFIsZ0JxRTVCZ0UsRUFBQTtJRTdGeEQ7TXZFeUhSLGdCcUU1QmdFLEVBQUE7SUU3RnhEO012RXlIUixXcUU1QmdFLEVBQUEsRUUzRnZEO0V6RmtJTDtJeUZwSUk7TXZFeUhSLGVxRTVCZ0UsRUFBQTtJRTdGeEQ7TXZFeUhSLGdCcUU1QmdFLEVBQUE7SUU3RnhEO012RXlIUixVcUU1QmdFLEVBQUE7SUU3RnhEO012RXlIUixnQnFFNUJnRSxFQUFBO0lFN0Z4RDtNdkV5SFIsZ0JxRTVCZ0UsRUFBQTtJRTdGeEQ7TXZFeUhSLFVxRTVCZ0UsRUFBQTtJRTdGeEQ7TXZFeUhSLGdCcUU1QmdFLEVBQUE7SUU3RnhEO012RXlIUixnQnFFNUJnRSxFQUFBO0lFN0Z4RDtNdkV5SFIsVXFFNUJnRSxFQUFBO0lFN0Z4RDtNdkV5SFIsZ0JxRTVCZ0UsRUFBQTtJRTdGeEQ7TXZFeUhSLGdCcUU1QmdFLEVBQUE7SUU3RnhEO012RXlIUixXcUU1QmdFLEVBQUEsRUUzRnZEOztBSHVMUDtFRzdLRSxlQUEwQjtFQUExQixjQUEwQixFQUFBO0VBRzVCO0lBRUksZ0JBQTRCO0lBQTVCLGVBQTRCLEVBQUE7O0F6RjhHOUI7RXNGb0RGO0lHOU1FLGVBQTBCO0lBQTFCLGNBQTBCLEVBQUE7SUFHNUI7TUFFSSxlQUEwQjtNQUExQixjQUEwQixFQUFBLEVBRTdCOztBekZtSkM7RXlGeElJO0l2RWtJUixlcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixnQnFFNUJnRSxFQUFBO0VFdEd4RDtJdkVrSVIsVXFFNUJnRSxFQUFBO0VFdEd4RDtJdkVrSVIsZ0JxRTVCZ0UsRUFBQTtFRXRHeEQ7SXZFa0lSLGdCcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixVcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixnQnFFNUJnRSxFQUFBO0VFdEd4RDtJdkVrSVIsZ0JxRTVCZ0UsRUFBQTtFRXRHeEQ7SXZFa0lSLFVxRTVCZ0UsRUFBQTtFRXRHeEQ7SXZFa0lSLGdCcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixnQnFFNUJnRSxFQUFBO0VFdEd4RDtJdkVrSVIsV3FFNUJnRSxFQUFBLEVFcEd2RDs7QXpGc0lMO0V5Ri9ISTtJdkV5SFIsZXFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsZ0JxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLFVxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLGdCcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixnQnFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsVXFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsZ0JxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLGdCcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixVcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixnQnFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsZ0JxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLFdxRTVCZ0UsRUFBQSxFRTNGdkQ7O0F6RmtJTDtFeUZwSUk7SXZFeUhSLGVxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLGdCcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixVcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixnQnFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsZ0JxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLFVxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLGdCcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixnQnFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsVXFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsZ0JxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLGdCcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixXcUU1QmdFLEVBQUEsRUUzRnZEOztBekZrSUw7RXlGcElJO0l2RXlIUixlcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixnQnFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsVXFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsZ0JxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLGdCcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixVcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixnQnFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsZ0JxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLFVxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLGdCcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixnQnFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsV3FFNUJnRSxFQUFBLEVFM0Z2RDs7QXpGNkhMO0VzRjBERjtJRzdLRSxlQUEwQjtJQUExQixjQUEwQixFQUFBO0lBRzVCO01BRUksZ0JBQTRCO01BQTVCLGVBQTRCLEVBQUEsRUFFL0I7O0F6RmlIQztFc0YrQ0Y7SUc5TUUsZUFBMEI7SUFBMUIsY0FBMEIsRUFBQTtJQUc1QjtNQUVJLGVBQTBCO01BQTFCLGNBQTBCLEVBQUEsRUFFN0I7O0F6RndKQztFeUY3SUk7SXZFa0lSLGVxRTVCZ0UsRUFBQTtFRXRHeEQ7SXZFa0lSLGdCcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixVcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixnQnFFNUJnRSxFQUFBO0VFdEd4RDtJdkVrSVIsZ0JxRTVCZ0UsRUFBQTtFRXRHeEQ7SXZFa0lSLFVxRTVCZ0UsRUFBQTtFRXRHeEQ7SXZFa0lSLGdCcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixnQnFFNUJnRSxFQUFBO0VFdEd4RDtJdkVrSVIsVXFFNUJnRSxFQUFBO0VFdEd4RDtJdkVrSVIsZ0JxRTVCZ0UsRUFBQTtFRXRHeEQ7SXZFa0lSLGdCcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixXcUU1QmdFLEVBQUEsRUVwR3ZEOztBekYySUw7RXlGN0lJO0l2RWtJUixlcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixnQnFFNUJnRSxFQUFBO0VFdEd4RDtJdkVrSVIsVXFFNUJnRSxFQUFBO0VFdEd4RDtJdkVrSVIsZ0JxRTVCZ0UsRUFBQTtFRXRHeEQ7SXZFa0lSLGdCcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixVcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixnQnFFNUJnRSxFQUFBO0VFdEd4RDtJdkVrSVIsZ0JxRTVCZ0UsRUFBQTtFRXRHeEQ7SXZFa0lSLFVxRTVCZ0UsRUFBQTtFRXRHeEQ7SXZFa0lSLGdCcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixnQnFFNUJnRSxFQUFBO0VFdEd4RDtJdkVrSVIsV3FFNUJnRSxFQUFBLEVFcEd2RDs7QXpGMklMO0V5RnBJSTtJdkV5SFIsZXFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsZ0JxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLFVxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLGdCcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixnQnFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsVXFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsZ0JxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLGdCcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixVcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixnQnFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsZ0JxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLFdxRTVCZ0UsRUFBQSxFRTNGdkQ7O0F6RmtJTDtFeUZwSUk7SXZFeUhSLGVxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLGdCcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixVcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixnQnFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsZ0JxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLFVxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLGdCcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixnQnFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsVXFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsZ0JxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLGdCcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixXcUU1QmdFLEVBQUEsRUUzRnZEOztBekZrSUw7RXNGcURGO0lHN0tFLGVBQTBCO0lBQTFCLGNBQTBCLEVBQUE7SUFHNUI7TUFFSSxnQkFBNEI7TUFBNUIsZUFBNEIsRUFBQSxFQUUvQjs7QXpGaUhDO0VzRitDRjtJRzlNRSxlQUEwQjtJQUExQixjQUEwQixFQUFBO0lBRzVCO01BRUksZUFBMEI7TUFBMUIsY0FBMEIsRUFBQSxFQUU3Qjs7QXpGd0pDO0V5RjdJSTtJdkVrSVIsZXFFNUJnRSxFQUFBO0VFdEd4RDtJdkVrSVIsZ0JxRTVCZ0UsRUFBQTtFRXRHeEQ7SXZFa0lSLFVxRTVCZ0UsRUFBQTtFRXRHeEQ7SXZFa0lSLGdCcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixnQnFFNUJnRSxFQUFBO0VFdEd4RDtJdkVrSVIsVXFFNUJnRSxFQUFBO0VFdEd4RDtJdkVrSVIsZ0JxRTVCZ0UsRUFBQTtFRXRHeEQ7SXZFa0lSLGdCcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixVcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixnQnFFNUJnRSxFQUFBO0VFdEd4RDtJdkVrSVIsZ0JxRTVCZ0UsRUFBQTtFRXRHeEQ7SXZFa0lSLFdxRTVCZ0UsRUFBQSxFRXBHdkQ7O0F6RjJJTDtFeUY3SUk7SXZFa0lSLGVxRTVCZ0UsRUFBQTtFRXRHeEQ7SXZFa0lSLGdCcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixVcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixnQnFFNUJnRSxFQUFBO0VFdEd4RDtJdkVrSVIsZ0JxRTVCZ0UsRUFBQTtFRXRHeEQ7SXZFa0lSLFVxRTVCZ0UsRUFBQTtFRXRHeEQ7SXZFa0lSLGdCcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixnQnFFNUJnRSxFQUFBO0VFdEd4RDtJdkVrSVIsVXFFNUJnRSxFQUFBO0VFdEd4RDtJdkVrSVIsZ0JxRTVCZ0UsRUFBQTtFRXRHeEQ7SXZFa0lSLGdCcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixXcUU1QmdFLEVBQUEsRUVwR3ZEOztBekYySUw7RXlGN0lJO0l2RWtJUixlcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixnQnFFNUJnRSxFQUFBO0VFdEd4RDtJdkVrSVIsVXFFNUJnRSxFQUFBO0VFdEd4RDtJdkVrSVIsZ0JxRTVCZ0UsRUFBQTtFRXRHeEQ7SXZFa0lSLGdCcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixVcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixnQnFFNUJnRSxFQUFBO0VFdEd4RDtJdkVrSVIsZ0JxRTVCZ0UsRUFBQTtFRXRHeEQ7SXZFa0lSLFVxRTVCZ0UsRUFBQTtFRXRHeEQ7SXZFa0lSLGdCcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixnQnFFNUJnRSxFQUFBO0VFdEd4RDtJdkVrSVIsV3FFNUJnRSxFQUFBLEVFcEd2RDs7QXpGMklMO0V5RnBJSTtJdkV5SFIsZXFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsZ0JxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLFVxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLGdCcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixnQnFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsVXFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsZ0JxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLGdCcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixVcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixnQnFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsZ0JxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLFdxRTVCZ0UsRUFBQSxFRTNGdkQ7O0F6RmtJTDtFc0ZxREY7SUc3S0UsZUFBMEI7SUFBMUIsY0FBMEIsRUFBQTtJQUc1QjtNQUVJLGdCQUE0QjtNQUE1QixlQUE0QixFQUFBLEVBRS9COztBSG9MRDtFSW5NRixlQUE2QixFQUFBOztBSnVNM0I7RUl2TUYsb0NBQTZCLEVBQUE7O0FKbU0zQjtFSW5NRixxQkFBNkIsRUFBQTs7QUp1TTNCO0VJdk1GLDBDQUE2QixFQUFBOztBSm1NM0I7RUluTUYsc0JBQTZCLEVBQUE7O0FKdU0zQjtFSXZNRiwyQ0FBNkIsRUFBQTs7QUptTTNCO0VJbk1GLGdCQUE2QixFQUFBOztBSnVNM0I7RUl2TUYscUNBQTZCLEVBQUE7O0FKbU0zQjtFSW5NRixzQkFBNkIsRUFBQTs7QUp1TTNCO0VJdk1GLDJDQUE2QixFQUFBOztBSm1NM0I7RUluTUYsc0JBQTZCLEVBQUE7O0FKdU0zQjtFSXZNRiwyQ0FBNkIsRUFBQTs7QUptTTNCO0VJbk1GLGdCQUE2QixFQUFBOztBSnVNM0I7RUl2TUYscUNBQTZCLEVBQUE7O0FKbU0zQjtFSW5NRixzQkFBNkIsRUFBQTs7QUp1TTNCO0VJdk1GLDJDQUE2QixFQUFBOztBSm1NM0I7RUluTUYsc0JBQTZCLEVBQUE7O0FKdU0zQjtFSXZNRiwyQ0FBNkIsRUFBQTs7QUptTTNCO0VJbk1GLGdCQUE2QixFQUFBOztBSnVNM0I7RUl2TUYscUNBQTZCLEVBQUE7O0FKbU0zQjtFSW5NRixzQkFBNkIsRUFBQTs7QUp1TTNCO0VJdk1GLDJDQUE2QixFQUFBOztBSm1NM0I7RUluTUYsc0JBQTZCLEVBQUE7O0FKdU0zQjtFSXZNRiwyQ0FBNkIsRUFBQTs7QTFGMkh6QjtFc0Z3RUY7SUluTUYsZUFBNkIsRUFBQTtFSnVNM0I7SUl2TUYsbUNBQTZCLEVBQUE7RUptTTNCO0lJbk1GLHFCQUE2QixFQUFBO0VKdU0zQjtJSXZNRix5Q0FBNkIsRUFBQTtFSm1NM0I7SUluTUYsc0JBQTZCLEVBQUE7RUp1TTNCO0lJdk1GLDBDQUE2QixFQUFBO0VKbU0zQjtJSW5NRixnQkFBNkIsRUFBQTtFSnVNM0I7SUl2TUYsb0NBQTZCLEVBQUE7RUptTTNCO0lJbk1GLHNCQUE2QixFQUFBO0VKdU0zQjtJSXZNRiwwQ0FBNkIsRUFBQTtFSm1NM0I7SUluTUYsc0JBQTZCLEVBQUE7RUp1TTNCO0lJdk1GLDBDQUE2QixFQUFBO0VKbU0zQjtJSW5NRixnQkFBNkIsRUFBQTtFSnVNM0I7SUl2TUYsb0NBQTZCLEVBQUE7RUptTTNCO0lJbk1GLHNCQUE2QixFQUFBO0VKdU0zQjtJSXZNRiwwQ0FBNkIsRUFBQTtFSm1NM0I7SUluTUYsc0JBQTZCLEVBQUE7RUp1TTNCO0lJdk1GLDBDQUE2QixFQUFBO0VKbU0zQjtJSW5NRixnQkFBNkIsRUFBQTtFSnVNM0I7SUl2TUYsb0NBQTZCLEVBQUE7RUptTTNCO0lJbk1GLHNCQUE2QixFQUFBO0VKdU0zQjtJSXZNRiwwQ0FBNkIsRUFBQTtFSm1NM0I7SUluTUYsc0JBQTZCLEVBQUE7RUp1TTNCO0lJdk1GLDBDQUE2QixFQUFBLEVKeU0xQjs7QXRGekVDO0VzRm1FRjtJSW5NRixlQUE2QixFQUFBO0VKdU0zQjtJSXZNRixtQ0FBNkIsRUFBQTtFSm1NM0I7SUluTUYscUJBQTZCLEVBQUE7RUp1TTNCO0lJdk1GLHlDQUE2QixFQUFBO0VKbU0zQjtJSW5NRixzQkFBNkIsRUFBQTtFSnVNM0I7SUl2TUYsMENBQTZCLEVBQUE7RUptTTNCO0lJbk1GLGdCQUE2QixFQUFBO0VKdU0zQjtJSXZNRixvQ0FBNkIsRUFBQTtFSm1NM0I7SUluTUYsc0JBQTZCLEVBQUE7RUp1TTNCO0lJdk1GLDBDQUE2QixFQUFBO0VKbU0zQjtJSW5NRixzQkFBNkIsRUFBQTtFSnVNM0I7SUl2TUYsMENBQTZCLEVBQUE7RUptTTNCO0lJbk1GLGdCQUE2QixFQUFBO0VKdU0zQjtJSXZNRixvQ0FBNkIsRUFBQTtFSm1NM0I7SUluTUYsc0JBQTZCLEVBQUE7RUp1TTNCO0lJdk1GLDBDQUE2QixFQUFBO0VKbU0zQjtJSW5NRixzQkFBNkIsRUFBQTtFSnVNM0I7SUl2TUYsMENBQTZCLEVBQUE7RUptTTNCO0lJbk1GLGdCQUE2QixFQUFBO0VKdU0zQjtJSXZNRixvQ0FBNkIsRUFBQTtFSm1NM0I7SUluTUYsc0JBQTZCLEVBQUE7RUp1TTNCO0lJdk1GLDBDQUE2QixFQUFBO0VKbU0zQjtJSW5NRixzQkFBNkIsRUFBQTtFSnVNM0I7SUl2TUYsMENBQTZCLEVBQUEsRUp5TTFCOztBdEZ6RUM7RXNGbUVGO0lJbk1GLGVBQTZCLEVBQUE7RUp1TTNCO0lJdk1GLG1DQUE2QixFQUFBO0VKbU0zQjtJSW5NRixxQkFBNkIsRUFBQTtFSnVNM0I7SUl2TUYseUNBQTZCLEVBQUE7RUptTTNCO0lJbk1GLHNCQUE2QixFQUFBO0VKdU0zQjtJSXZNRiwwQ0FBNkIsRUFBQTtFSm1NM0I7SUluTUYsZ0JBQTZCLEVBQUE7RUp1TTNCO0lJdk1GLG9DQUE2QixFQUFBO0VKbU0zQjtJSW5NRixzQkFBNkIsRUFBQTtFSnVNM0I7SUl2TUYsMENBQTZCLEVBQUE7RUptTTNCO0lJbk1GLHNCQUE2QixFQUFBO0VKdU0zQjtJSXZNRiwwQ0FBNkIsRUFBQTtFSm1NM0I7SUluTUYsZ0JBQTZCLEVBQUE7RUp1TTNCO0lJdk1GLG9DQUE2QixFQUFBO0VKbU0zQjtJSW5NRixzQkFBNkIsRUFBQTtFSnVNM0I7SUl2TUYsMENBQTZCLEVBQUE7RUptTTNCO0lJbk1GLHNCQUE2QixFQUFBO0VKdU0zQjtJSXZNRiwwQ0FBNkIsRUFBQTtFSm1NM0I7SUluTUYsZ0JBQTZCLEVBQUE7RUp1TTNCO0lJdk1GLG9DQUE2QixFQUFBO0VKbU0zQjtJSW5NRixzQkFBNkIsRUFBQTtFSnVNM0I7SUl2TUYsMENBQTZCLEVBQUE7RUptTTNCO0lJbk1GLHNCQUE2QixFQUFBO0VKdU0zQjtJSXZNRiwwQ0FBNkIsRUFBQSxFSnlNMUI7O0FBekpTO0VEdEVkLG9CQUFhO0VBQWIsb0JBQWE7RUFBYixhQUFhO0VBQ2IsNEJBSDZCO0VBRzdCLDZCQUg2QjtNQUc3Qiw0QkFINkI7VUFHN0Isd0JBSDZCLEVBQUE7RUNpUDdCO0lwRWpJQSxZQUFtQjtJQUNuQixnQkFBMkIsRUFBQTtFb0VnSTNCO0lwRXBHRSxZQTNGWSxFQUFBO0VvRStMZDtJcEVwR0UsWUEzRlksRUFBQTtFb0UrTGQ7SUEyQk0sNkJBQWdCO1FBQWhCLGdCQUFnQixFQUFBO0V0RnpIaEI7SXNGOEZOO01BMkJNLDZCQUFnQjtVQUFoQixnQkFBZ0IsRUFBQSxFQUNqQjtFdEZySEM7SXNGeUZOO01BMkJNLDZCQUFnQjtVQUFoQixnQkFBZ0IsRUFBQSxFQUNqQjtFdEZySEM7SXNGeUZOO01BMkJNLDZCQUFnQjtVQUFoQixnQkFBZ0IsRUFBQSxFQUNqQjtFQTVCTDtJcEUvSUEsbUJBQU07UUFBTixrQkFBTTtZQUFOLGNBQU0sRUFBQTtFb0UrSU47SXBFcEdFLGdCcUU1QmdFLEVBQUE7RURnSWxFO0lwRXBHRSxpQnFFNUJnRSxFQUFBO0VEZ0lsRTtJcEVwR0UsV3FFNUJnRSxFQUFBO0VEZ0lsRTtJcEVwR0UsaUJxRTVCZ0UsRUFBQTtFRGdJbEU7SXBFcEdFLGlCcUU1QmdFLEVBQUE7RURnSWxFO0lwRXBHRSxXcUU1QmdFLEVBQUE7RURnSWxFO0lwRXBHRSxpQnFFNUJnRSxFQUFBO0VEZ0lsRTtJcEVwR0UsaUJxRTVCZ0UsRUFBQTtFRGdJbEU7SXBFcEdFLFdxRTVCZ0UsRUFBQTtFRGdJbEU7SXBFcEdFLGlCcUU1QmdFLEVBQUE7RURnSWxFO0lwRXBHRSxpQnFFNUJnRSxFQUFBO0VEZ0lsRTtJcEVwR0UsWXFFNUJnRSxFQUFBO0V2RmtDNUQ7SXNGOEZOO01wRS9JQSxtQkFBTTtVQUFOLGlCQUFNO2NBQU4sV0FBTTtNQTJDSixZQTNGWSxFQUFBO0lvRStMZDtNcEUvSUEsbUJBQU07VUFBTixrQkFBTTtjQUFOLGNBQU0sRUFBQTtJb0UrSU47TXBFcEdFLFlBM0ZZLEVBQUE7SW9FK0xkO01wRXBHRSxnQnFFNUJnRSxFQUFBO0lEZ0lsRTtNcEVwR0UsaUJxRTVCZ0UsRUFBQTtJRGdJbEU7TXBFcEdFLFdxRTVCZ0UsRUFBQTtJRGdJbEU7TXBFcEdFLGlCcUU1QmdFLEVBQUE7SURnSWxFO01wRXBHRSxpQnFFNUJnRSxFQUFBO0lEZ0lsRTtNcEVwR0UsV3FFNUJnRSxFQUFBO0lEZ0lsRTtNcEVwR0UsaUJxRTVCZ0UsRUFBQTtJRGdJbEU7TXBFcEdFLGlCcUU1QmdFLEVBQUE7SURnSWxFO01wRXBHRSxXcUU1QmdFLEVBQUE7SURnSWxFO01wRXBHRSxpQnFFNUJnRSxFQUFBO0lEZ0lsRTtNcEVwR0UsaUJxRTVCZ0UsRUFBQTtJRGdJbEU7TXBFcEdFLFlxRTVCZ0UsRUFBQSxFRHlMM0Q7RXRGbEpEO0lzRnlGTjtNcEUvSUEsbUJBQU07VUFBTixpQkFBTTtjQUFOLFdBQU07TUEyQ0osWUEzRlksRUFBQTtJb0UrTGQ7TXBFL0lBLG1CQUFNO1VBQU4sa0JBQU07Y0FBTixjQUFNLEVBQUE7SW9FK0lOO01wRXBHRSxZQTNGWSxFQUFBO0lvRStMZDtNcEVwR0UsZ0JxRTVCZ0UsRUFBQTtJRGdJbEU7TXBFcEdFLGlCcUU1QmdFLEVBQUE7SURnSWxFO01wRXBHRSxXcUU1QmdFLEVBQUE7SURnSWxFO01wRXBHRSxpQnFFNUJnRSxFQUFBO0lEZ0lsRTtNcEVwR0UsaUJxRTVCZ0UsRUFBQTtJRGdJbEU7TXBFcEdFLFdxRTVCZ0UsRUFBQTtJRGdJbEU7TXBFcEdFLGlCcUU1QmdFLEVBQUE7SURnSWxFO01wRXBHRSxpQnFFNUJnRSxFQUFBO0lEZ0lsRTtNcEVwR0UsV3FFNUJnRSxFQUFBO0lEZ0lsRTtNcEVwR0UsaUJxRTVCZ0UsRUFBQTtJRGdJbEU7TXBFcEdFLGlCcUU1QmdFLEVBQUE7SURnSWxFO01wRXBHRSxZcUU1QmdFLEVBQUEsRUR5TDNEO0V0RmxKRDtJc0Z5Rk47TXBFL0lBLG1CQUFNO1VBQU4saUJBQU07Y0FBTixXQUFNO01BMkNKLFlBM0ZZLEVBQUE7SW9FK0xkO01wRS9JQSxtQkFBTTtVQUFOLGtCQUFNO2NBQU4sY0FBTSxFQUFBO0lvRStJTjtNcEVwR0UsWUEzRlksRUFBQTtJb0UrTGQ7TXBFcEdFLGdCcUU1QmdFLEVBQUE7SURnSWxFO01wRXBHRSxpQnFFNUJnRSxFQUFBO0lEZ0lsRTtNcEVwR0UsV3FFNUJnRSxFQUFBO0lEZ0lsRTtNcEVwR0UsaUJxRTVCZ0UsRUFBQTtJRGdJbEU7TXBFcEdFLGlCcUU1QmdFLEVBQUE7SURnSWxFO01wRXBHRSxXcUU1QmdFLEVBQUE7SURnSWxFO01wRXBHRSxpQnFFNUJnRSxFQUFBO0lEZ0lsRTtNcEVwR0UsaUJxRTVCZ0UsRUFBQTtJRGdJbEU7TXBFcEdFLFdxRTVCZ0UsRUFBQTtJRGdJbEU7TXBFcEdFLGlCcUU1QmdFLEVBQUE7SURnSWxFO01wRXBHRSxpQnFFNUJnRSxFQUFBO0lEZ0lsRTtNcEVwR0UsWXFFNUJnRSxFQUFBLEVEeUwzRDs7QUFPTDtFdkVqVEksc0JBQTZEO0VBQTdELHlCQUE2RCxFQUFBO0VmbUo3RDtJc0Y4Sko7TXZFalRJLHFCQUE2RDtNQUE3RCx3QkFBNkQsRUFBQSxFdUVxVDlEOztBQUpIO0V2RWpUSSxzQkFBNkQ7RUFBN0QseUJBQTZELEVBQUE7RWZtSjdEO0lzRjhKSjtNdkVqVEkscUJBQTZEO01BQTdELHdCQUE2RCxFQUFBLEV1RTBUOUQ7O0FBbk5MO0V2RXZHTSxzQkFBNkQ7RUFBN0QseUJBQTZELEVBQUE7RWZtSjdEO0lzRjVDTjtNdkV2R00scUJBQTZEO01BQTdELHdCQUE2RCxFQUFBLEV1RXNJbEU7RUEvQkQ7SXBFc0NFLDZCQXREMEU7SUg5RXhFLHFCQUE2RDtJQUE3RCx3QkFBNkQsRUFBQTtFZjBJM0Q7SXNGNUNOO01wRXNDRSw0QkF0RDBFO01IOUV4RSxvQkFBNkQ7TUFBN0QsdUJBQTZELEVBQUEsRXVFMkcxRDtFQXJDUDtJcEU4REUsWUEzRlksRUFBQTtFb0VpQ2Q7SXBFMERFLFlBM0ZZLEVBQUE7RW9FeUNaO0lwRWtEQSxpQ0F0RDBFLEVBQUE7RW9FSTFFO0lwRWtEQSxrQ0F0RDBFLEVBQUE7RW9FSTFFO0lwRWtEQSw0QkF0RDBFLEVBQUE7RW9FSTFFO0lwRWtEQSxrQ0F0RDBFLEVBQUE7RW9FSTFFO0lwRWtEQSxrQ0F0RDBFLEVBQUE7RW9FSTFFO0lwRWtEQSw0QkF0RDBFLEVBQUE7RW9FSTFFO0lwRWtEQSxrQ0F0RDBFLEVBQUE7RW9FSTFFO0lwRWtEQSxrQ0F0RDBFLEVBQUE7RW9FSTFFO0lwRWtEQSw0QkF0RDBFLEVBQUE7RW9FSTFFO0lwRWtEQSxrQ0F0RDBFLEVBQUE7RW9FSTFFO0lwRWtEQSxrQ0F0RDBFLEVBQUE7RW9FSTFFO0lwRWtEQSw2QkF0RDBFLEVBQUE7RWxCNER0RTtJc0ZwRU47TXBFOERFLFlBM0ZZLEVBQUE7SW9FaUNkO01wRTBERSxZQTNGWSxFQUFBO0lvRXlDWjtNcEVrREEsZ0NBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsaUNBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsMkJBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsaUNBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsaUNBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsMkJBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsaUNBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsaUNBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsMkJBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsaUNBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsaUNBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsNEJBdEQwRSxFQUFBO0lvRVI1RTtNcEU4REUsWUEzRlksRUFBQTtJb0VpQ2Q7TXBFMERFLFlBM0ZZLEVBQUE7SW9FeUNaO01wRWtEQSxnQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxpQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSwyQkF0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxpQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxpQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSwyQkF0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxpQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxpQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSwyQkF0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxpQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxpQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSw0QkF0RDBFLEVBQUEsRW9FTXpFO0V0RjJERztJc0Z6RU47TXBFOERFLFlB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RDBFLEVBQUE7RW9FSTFFO0lwRWtEQSw0QkF0RDBFLEVBQUE7RW9FSTFFO0lwRWtEQSxrQ0F0RDBFLEVBQUE7RW9FSTFFO0lwRWtEQSxrQ0F0RDBFLEVBQUE7RW9FSTFFO0lwRWtEQSw0QkF0RDBFLEVBQUE7RW9FSTFFO0lwRWtEQSxrQ0F0RDBFLEVBQUE7RW9FSTFFO0lwRWtEQSxrQ0F0RDBFLEVBQUE7RW9FSTFFO0lwRWtEQSw2QkF0RDBFLEVBQUE7RWxCNER0RTtJc0ZwRU47TXBFOERFLFlBM0ZZLEVBQUE7SW9FaUNkO01wRTBERSxZQTNGWSxFQUFBO0lvRXlDWjtNcEVrREEsZ0NBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsaUNBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsMkJBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsaUNBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsaUNBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsMkJBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsaUNBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsaUNBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsMkJBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsaUNBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsaUNBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsNEJBdEQwRSxFQUFBO0lvRVI1RTtNcEU4REUsWUEzRlksRUFBQTtJb0VpQ2Q7TXBFMERFLFlBM0ZZLEVBQUE7SW9FeUNaO01wRWtEQSxnQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxpQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSwyQkF0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxpQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxpQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSwyQkF0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxpQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxpQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSwyQkF0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxpQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxpQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSw0QkF0RDBFLEVBQUEsRW9FTXpFO0V0RjJERztJc0Z6RU47TXBFOERFLFlBM0ZZLEVBQUE7SW9FaUNkO01wRTBERSxZQTNGWSxFQUFBO0lvRXlDWjtNcEVrREEsZ0NBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsaUNBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsMkJBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsaUNBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsaUNBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsMkJBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsaUNBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsaUNBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsMkJBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsaUNBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsaUNBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsNEJBdEQwRSxFQUFBLEVvRU16RTtFdEYyREc7SXNGekVOO01wRThERSxZQTNGWSxFQUFBO0lvRWlDZDtNcEUwREUsWUEzRlksRUFBQTtJb0V5Q1o7TXBFa0RBLGdDQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLGlDQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLDJCQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLGlDQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLGlDQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLDJCQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLGlDQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLGlDQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLDJCQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLGlDQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLGlDQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLDRCQXREMEUsRUFBQSxFb0VNekU7O0FBa1REO0VLdFlJLDhCQUFtQyxFQUFBO0UzRjBJbkM7SXNGNFBKO01LdFlJLDZCQUFtQyxFQUFBLEVMd1l0QztFdEZ6UEc7SXNGdVBKO01LdFlJLDZCQUFtQyxFQUFBLEVMd1l0QztFdEZ6UEc7SXNGdVBKO01LdFlJLDZCQUFtQyxFQUFBLEVMd1l0Qzs7QXRGOVBHO0VzRmdRRjtJSzFZRSw2QkFBbUMsRUFBQSxFTDRZcEM7O0F0RjdQQztFc0YyUEY7SUsxWUUsNkJBQW1DLEVBQUEsRUw0WXBDOztBdEY3UEM7RXNGMlBGO0lLMVlFLDZCQUFtQyxFQUFBLEVMNFlwQzs7QXREelhNO0U0RG1DWCxrQkFBa0I7RUFDbEIsV3RGK1FzQjtFc0Y5UXRCLGNwR01pQjtFb0dMakIsZUFBZSxFQUFBO0V2R28yakNmO0l1RjV2akNFLFVBQVUsRUFBQTtFZ0J0R1o7SUFFRSxjL0Y3RWEsRUFBQTtFK0ZrRmY7SUF4QkEsY3RGK1JjO0lzRjlSZCxXdEZrU2E7SXNGalNiLGdCdEZxU1k7SXNGcFNaLGN0RnVTd0IsRUFBQTtFc0ZsUnhCO0lBeEJBLFd0RmdTWTtJc0YvUlosU3RGbVNZO0lzRmxTWixjdEZzU1c7SXNGclNYLGN0RnVTd0IsRUFBQTs7QXVGckt4QjtFQWxKQSxrQkFBa0I7RUFDbEIsbUJ2Rm9Ca0I7RXVGbkJsQixVQUFVO0VBR1YsbUIzRm1COEQ7RTJGbEI5RCxpQkFBaUI7RUFDakIsY2hHdkRlO0VnR3lEZix5QkFBaUI7S0FBakIsc0JBQWlCO01BQWpCLHFCQUFpQjtVQUFqQixpQkFBaUI7RUEySWYsWXZGK2pCZ0IsRUFBQTs7QXVGM2pCbEI7RUExSUEsa0JBQWtCO0VBQ2xCLGdCQUFnQjtFQUNoQixVQUFVLEVBQUE7O0FBNklWO0VBbklBLGtCQUFrQjtFQUNsQixjQUFjO0VBQ2QsV0FQaUM7RUFRakMsWXZGc3JCa0I7RXVGcHJCbEIsZ0J0RzFFbUI7RXNHMkVuQixtQnJHV2U7RXFHVmYsc0N2RjJyQjJDO0V1RjNyQjNDLDhCdkYyckIyQztFdUZ4ckIzQyxvQkFBb0I7RUFDcEIsY0FBYztFQUVkLGVBQWUsRUFBQTtFQUdmO0lBQ0UsU0FBUyxFQUFBO0VBSVg7SUFDRSxrQkFBa0I7SUFDbEIsWXZGeXFCMEI7SXVGeHFC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aUJEK0JnQjtZQy9CaEIsUUQrQmdCLEVBQUE7RUFDWjtJQ2hDSiw0QkQrQmdCO1FDL0JoQixpQkQrQmdCO1lDL0JoQixRRCtCZ0IsRUFBQTtFQUNaO0lDaENKLDRCRCtCZ0I7UUMvQmhCLGlCRCtCZ0I7WUMvQmhCLFFEK0JnQixFQUFBO0VBQ1o7SUNoQ0osNEJEK0JnQjtRQy9CaEIsaUJEK0JnQjtZQy9CaEIsUUQrQmdCLEVBQUE7RUFDWjtJQ2hDSiw0QkQrQmdCO1FDL0JoQixpQkQrQmdCO1lDL0JoQixRRCtCZ0IsRUFBQTtFQUNaO0lDaENKLDRCRCtCZ0I7UUMvQmhCLGlCRCtCZ0I7WUMvQmhCLFFEK0JnQixFQUFBLEVBR1g7O0E5R3dFQztFOEcxRUY7SUNoQ0osNEJEK0JnQjtRQy9CaEIsaUJEK0JnQjtZQy9CaEIsUUQrQmdCLEVBQUE7RUFDWjtJQ2hDSiw0QkQrQmdCO1FDL0JoQixpQkQrQmdCO1lDL0JoQixRRCtCZ0IsRUFBQTtFQUNaO0lDaENKLDRCRCtCZ0I7UUMvQmhCLGlCRCtCZ0I7WUMvQmhCLFFEK0JnQixFQUFBO0VBQ1o7SUNoQ0osNEJEK0JnQjtRQy9CaEIsaUJEK0JnQjtZQy9CaEIsUUQrQmdCLEVBQUE7RUFDWjtJQ2hDSiw0QkQrQmdCO1FDL0JoQixpQkQrQmdCO1lDL0JoQixRRCtCZ0IsRUFBQTtFQUNaO0lDaENKLDRCRCtCZ0I7UUMvQmhCLGlCRCtCZ0I7WUMvQmhCLFFEK0JnQixFQUFBLEVBR1g7O0E5R3dFQztFOEcxRUY7SUNoQ0osNEJEK0JnQjtRQy9CaEIsaUJEK0JnQjtZQy9CaEIsUUQrQmdCLEVBQUE7RUFDWjtJQ2hDSiw0QkQrQmdCO1FDL0JoQixpQkQrQmdCO1lDL0JoQixRRCtCZ0IsRUFBQTtFQUNaO0lDaENKLDRCRCtCZ0I7UUMvQmhCLGlCRCtCZ0I7WUMvQmhCLFFEK0JnQixFQUFBO0VBQ1o7SUNoQ0osNEJEK0JnQjtRQy9CaEIsaUJEK0JnQjtZQy9CaEIsUUQrQmdCLEVBQUE7RUFDWjtJQ2hDSiw0QkQrQmdCO1FDL0JoQixpQkQrQmdCO1lDL0JoQixRRCtCZ0Is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LE1BQU07SUFDTixTQUFTLEVBQUE7SWhINGhCYjtNQUNJLFlIOVJVO01HK1JWLGlDSnpiK0I7TUkwYi9CLGVINE5RO01HMU5KLGNKN2xCSztNSWltQlQsc0RKbldjO01JbVdkLDhDSm5XYztNSW1XZCxzQ0puV2M7TUltV2QsOERKbldjLEVBQUE7SUlzV2Q7TUFHUSxjVC9nQkM7TVNtaEJMLGdDQUF3QjtjQUF4Qix3QkFBd0I7TUFDeEIsc0RKL1dVO01JK1dWLDhDSi9XVTtNSStXVixzQ0ovV1U7TUkrV1YsOERKL1dVLEVBQUE7SUltWGQ7TUFDSSxjVGppQks7TVNraUJMLDhDSnJYVTtNSXFYVixzQ0pyWFUsRUFBQTtFR25HZDtJaUhoSVI7TUF3Q1ksV0FBVztNQUNYLGtCQUFrQjtNQUNsQixnQ3BIM0RxQixFQUFBO01vSGlCakM7UUE2Q2dCLGlCbkh3dUNHO1FtSHZ1Q0gseUJwSDNFQztRb0g0RUQsZ0JBQWdCO1FBQ2hCLDZCcEhqRWlCLEVBQUE7UW9IaUJqQztVQWtEb0IsU25IMHVDUixFQUFBO1VtSDV4Q1o7WUFvRHdCLG9CL0dUd0M7WStHVXhDLGdCekhvSlYsRUFBQTtReUh6TWQ7VUEyRG9CLFlBQVksRUFBQTtVQTNEaEM7WUE2RHdCLGNwSHZGUDtZb0h3Rk8sZ0JuSG1uRlY7WW1IbG5GVSxvQi9HcEJ3QyxFQUFBO0krRzNDaEU7TUFxRVksVUFBVSxFQUFBLEVBQ2I7RUF0RVQ7SUEwRVEsYUFBYTtJQUNiLG1CQUFtQjtJQUNuQixrQkFBa0IsRUFBQTtJakh5RGxCO01pSHJJUjtRQThFWSxvQkFBYTtRQUFiLG9CQUFhO1FBQWIsYUFBYTtRQUNiLHdCQUF1QjtZQUF2QixxQkFBdUI7Z0JBQXZCLHVCQUF1QjtRQUN2QixnQkFBZ0IsRUFBQSxFQUV2QjtFQWxGTDtJQXlGb0IsY3pIbkNILEVBQUE7RXlIdERqQjtJQStGd0IsY3pIMUNMO0l5SDJDSyw4QnBIbUlGO0lvSG5JRSxzQnBIbUlGLEVBQUE7RW9Ibk90QjtJQXVHd0IsY3BIcElQO0lvSHFJTyw4QnBIMkhGO0lvSDNIRSxzQnBIMkhGLEVBQUE7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Q3ZCLCtCSnhvR3lDO0lJeW9HekMsY1Q3cEdtQjtJUzhwR25CLGNKOTJHSztJSSsyR0wsOEJKOW1HVTtJSThtR1Ysc0JKOW1HVSxFQUFBO0VvSDA4QnRCO0lBc0lnQixrQkFBa0I7SUFLZCx5QnpIaG9DTztJeUhrb0NYLHlCekgzbkNpQztJeUhnb0NqQyw4QnBINWxDTTtJb0g0bENOLHNCcEg1bENNLEVBQUE7SUcvRmQ7TWlIeWlDUjtRQXVKb0Isa0J6SDNvQ0E7UXlING9DQSxlL0czeEM0QztRK0c0eEM1QyxnQnpIem9DTjtReUgwb0NNLGNwSHIyQ0g7UW9IczJDRyxnQm5IcXVDVSxFQUFBLEVtSG51Q2pCO0VBN0piO0lBK0pnQix5QkFBbUI7UUFBbkIsc0JBQW1CO1lBQW5CLG1CQUFtQixFQUFBO0lBL0puQztNQWtLb0IsVUFBVSxFQUFBO0VqSDNzQ3RCO0lpSHlpQ1I7TUF5S29CLGFBQU87TUFDUCxrQm5IMHVDQTtNbUh6dUNBLGFBQWE7TUFRVCw0RG5IcXVDK0M7Y21IcnVDL0Msb0RuSHF1QytDLEVBQUEsRW1IMW5DMUQ7RUE5UmI7SUF3TG9CLGtCQUFrQjtJQUtkLFNuSG95Q1osRUFBQTtJRTFnRko7TWlIeWlDUjtRQWlNNEIsU25IaXlDaEIsRUFBQSxFbUh6d0NLO0lBek5qQjtNQThNd0IsY3pIOXpDUCxFQUFBO0l5SGduQ2pCO01Bc053Qixjekg5MENQLEVBQUE7SVNpdkdiO01BSUksY1RydkdTO01Tc3ZHVCxvQkNqd0d3RDtNRGt3R3hELGdCVHBtR007TVNxbUdOLGdCVGwvRmlCO01TbS9GakIseUJUeG1HbUMsRUFBQTtNUWxFbkM7UUNrcUdKO1VBZVEsdUJIbHFCYTtVR21xQmIsb0JDNXdHb0Q7VUQ2d0dwRCxnQlQ5bUdFLEVBQUEsRVNnbkdUO0VEcnJHRztJaUh5aUNSO01BNk53QixrQkFBa0I7TUFFbEIscUJBQW9CO01BQ3BCLG9CQUFhO01BQWIsb0JBQWE7TUFBYixhQUFhO01BQ2IsNEJBQXNCO01BQXRCLDZCQUFzQjtVQUF0QiwwQkFBc0I7Y0FBdEIsc0JBQXNCO01BQ3RCLG1CQUFl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RUFBQTtNVXdvQmpCO1FpSHBOWSxvQkFBYTtRQUFiLG9CQUFhO1FBQWIsYUFBYTtRQUNiLDRCQUFzQjtRQUF0Qiw2QkFBc0I7WUFBdEIsMEJBQXNCO2dCQUF0QixzQkFBc0I7UUFDdEIsU3BIcWxHNkI7UW9IcGxHN0IsU3BIc2xHSixFQUFBO1FFcjNHSjtVQ2dmSjtZaUgvTWdCLDRCcEhtbkdjO2dCb0hubkdkLGlCcEhtbkdjO29Cb0hubkdkLFFwSG1uR2MsRUFBQSxFb0g5bEdyQjtRbEhqVEw7VUMyZUo7WWlIMU1nQixtQkFBTztnQkFBUCxXQUFPO29CQUFQLE9BQU87WUFDUCxjcEgra0dILEVBQUEsRW9IaGtHSjtRQTVVYjtVQWdVb0IsZ0JBQWdCO1VBQ2hCLGVoSGhZNEMsRUFBQTtRRDJsRDVEO1VBQ0ksY0pwcURTO1VJcXFEVCxlQzdsRHdEO1VEOGxEeEQsZ0JIdWlCc0M7VUd0aUJ0QyxnQlRqMkNnQyxFQUFBO1VTazJDaEM7WUFDSSxjVHRsREs7WVN1bERMLDBCQUEwQixFQUFBO1VBRTlCO1lBQ0ksY0oxcURLLEVBQUE7UXFIb0lqQjtVQXFVb0IsbUJoSHBZNEM7VWdIcVk1QyxnQnBIeWtHNkI7VW9IeGtHN0IsY3JIM2NILEVBQUE7VXFIb0lqQjtZQXlVd0IsU0FBUyxFQUFBO01qSGdNN0I7UWlIeExZLGVoSGhaZ0QsRUFBQTtRRnFGeEQ7VUNtZko7WWlIdExnQiw0QnBId2xHTztnQm9IeGxHUCxpQnBId2xHTztvQm9IeGxHUCxRcEh3bEdPLEVBQUEsRW9IL2tHZDtRbEhqVUw7VUM4ZUo7WWlIbkxnQixVcEgwa0dOO1lvSHprR00sbUJBQVk7Z0JBQVosb0JBQVk7b0JBQVosWUFBWTtZQUNaLFNBQVM7WUFDVCxlcEgwa0dIO1lvSHprR0csZ0JBQWdCLEVBQUEsRUFFdkI7TWpIZ0xUO1FpSDlLWSxnQkFBZ0I7UUFHaEIsZWhIaGFnRDtRZ0hpYWhELGdCQUFnQjtRQUNoQixjMUh2WkMsRUFBQTtRUTBFVDtVQ3NmSjtZaUh2S2dCLDRCcEh1a0dRO2dCb0h2a0dSLGlCcEh1a0dRO29Cb0h2a0dSLFFw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Q0FBdUQ7RUFBdkQsc0NBQXVEO0VBQXZELHNDQUF1RDtFQUF2RCxzQ0FBdUQ7RUFBdkQsc0NBQXVEO0VBQXZELHNDQUF1RDtFQUF2RCxzQ0FBdUQ7RUFBdkQsc0NBQXVEO0VBQXZELHNDQUF1RDtFQUF2RCx1Q0FBdUQ7RUFBdkQsc0NBQXVEO0VBQXZELHNDQUF1RDtFQUF2RCxzQ0FBdUQ7RUFBdkQsc0NBQXVEO0VBQXZELHNDQUF1RDtFQUF2RCxzQ0FBdUQ7RUFBdkQsc0NBQXVEO0VBQXZELHNDQUF1RDtFQUF2RCxzQ0FBdUQ7RUFBdkQsc0NBQXVEO0VBQXZELHVDQUF1RDtFQUF2RCxzQ0FBdUQ7RUFBdkQsc0NBQXVEO0VBQXZELHNDQUF1RDtFQUF2RCxzQ0FBdUQ7RUFBdkQsc0NBQXVEO0VBQXZELHNDQUF1RDtFQUF2RCxzQ0FBdUQ7RUFBdkQsc0NBQXVEO0VBQXZELHNDQUF1RDtFQUF2RCxzQ0FBdUQ7RUFBdkQsdUNBQXVEO0VBQXZELHFDQUF1RDtFQUF2RCxxQ0FBdUQ7RUFBdkQscUNBQXVEO0VBQXZELHFDQUF1RDtFQUF2RCxxQ0FBdUQ7RUFBdkQscUNBQXVEO0VBQXZELHFDQUF1RDtFQUF2RCxxQ0FBdUQ7RUFBdkQscUNBQXVEO0VBQXZELHFDQUF1RDtFQUF2RCxzQ0FBdUQ7RW1IanFHM0QsdUJBQWU7RUFFZix1QkFBZTtFbkgrcEdYLHFDQUF1RDtFQUF2RCxxQ0FBdUQ7RUFBdkQscUNBQXVEO0VBQXZELHFDQUF1RDtFQUF2RCxxQ0FBdUQ7RUFBdkQscUNBQXVEO0VBQXZELHFDQUF1RDtFQUF2RCxxQ0FBdUQ7RUFBdkQscUNBQXVEO0VBQXZELHFDQUF1RDtFQUF2RCxzQ0FBdUQ7RUFBdkQscUNBQXVEO0VBQXZELHFDQUF1RDtFQUF2RCxxQ0FBdUQ7RUFBdkQscUNBQXVEO0VBQXZELHFDQUF1RDtFQUF2RCxxQ0FBdUQ7RUFBdkQscUNBQXVEO0VBQXZELHFDQUF1RDtFQUF2RCxxQ0FBdUQ7RUFBdkQscUNBQXVEO0VBQXZELHNDQUF1RDtFQUF2RCxtQ0FBdUQ7RUFBdkQsbUNBQXVEO0VBQXZELG1DQUF1RDtFQUF2RCxtQ0FBdUQ7RUFBdkQsbUNBQXVEO0VBQXZELG1DQUF1RDtFQUF2RCxtQ0FBdUQ7RUFBdkQsbUNBQXVEO0VBQXZELG1DQUF1RDtFQUF2RCxtQ0FBdUQ7RUFBdkQsb0NBQXVEO0VtSG5wRzNELHFDQUE4QjtFQUM5Qix1Q0FBZ0M7RUFJNUIsOENBQWtCO0VBSXRCLDZCQUF1QjtFQUN2QiwwQkFBcUI7RUFDckIsc0JBQWtCO0VBQ2xCLHVCQUFrQjtFQUlsQix5QkFBcUI7RUFFckIsc0NBQThCO0VBRzlCLDBCQUF3QixFQUFBOztBbkhzdkd4QjtFQUNJLDhCQUFnQztFQUNoQyxtQkFBMEI7RUFDMUIsZ0JUNTNHZ0I7RVM2M0doQixvQlQ1M0d1QjtFUzYzR3ZCLHFCVDUzR3dCO0VTNjNHeEIscUJUNTNHd0IsRUFBQTs7QWtGakU5QjtFMEMrTUUsaUJBQWlCO0VBQ2pCLG9CQUFhO0VBQWIsb0JBQWE7RUFBYixhQUFhO0VBQ2IsNEJBQXNCO0VBQXRCLDZCQUFzQjtNQUF0QiwwQkFBc0I7VUFBdEIsc0JBQXNCO0VBRXRCLGtCQUFrQixFQUFBOztBQUV0QjtFQUNJLGtCQUFrQixFQUFBOztBQVF0QjtFQUdJLFdBQVc7RUFDWCxvQkFBYTtFQUFiLG9CQUFhO0VBQWIsYUFBYTtFQUNiLDRCQUFzQjtFQUF0Qiw2QkFBc0I7TUFBdEIsMEJBQXNCO1VBQXRCLHNCQUFzQjtFQUV0Qix3QkFBdUI7TUFBdkIscUJBQXVCO1VBQXZCLHVCQUF1QjtFQUV2QixtQkFBWTtNQUFaLG9CQUFZO1VBQVosWUFBWSxFQUFBO0VBVGhCO0lBV1EsV0FBVyxFQUFBOztBbkY3TW5CO0VtRm1OSSxnQkFBZ0IsRUFBQTs7QXBINUVaO0VzRi9KTjtJOEJnUE0saUJ0SDlPcUMsRUFBQSxFc0h1UDVDOztBQVhEO0VBTVEsZUFBZTtFQUNmLFdBQVc7RUFFWCxjQUFjLEVBQUE7O0F6RWlOdEI7RXlFM01JLFdBQVcsRUFBQTtFcEg5RlA7STJDeVNSO015RXpNUSxVQUFVLEVBQUEsRUFhakI7RUFqQkQ7SUFRUSxvQkFBYTtJQUFiLG9CQUFhO0lBQWIsYUFBYTtJQUNiLDRCQUFzQjtJQUF0Qiw2QkFBc0I7UUFBdEIsMEJBQXNCO1lBQXRCLHNCQUFzQjtJQUN0QixtQkFBWTtRQUFaLG9CQUFZO1lBQVosWUFBWSxFQUFBO0lBVnBCO01BWVksbUJBQVk7VUFBWixvQkFBWTtjQUFaLFlBQVk7TUFDWix5QkFBbUI7VUFBbkIsc0JBQW1CO2NBQW5CLG1CQUFtQixFQUFBOztBcEg5R3ZCO0VEc1VSO0lxSDlNWSxjQUFjLEVBQUEsRUFFckI7O0FBR0w7RUFDSSxnQnRINDFGVztFc0gzMUZYLG1CdEgyMUZXLEVBQUE7RUVyOUZQO0lvSHdIUjtNQUlRLGdCdEgwMUZPO01zSHoxRlAsbUJ0SHkxRk8sRUFBQSxFc0h2MUZkOztBQUVEO0VBQ0ksbUJBQW1CLEVBQUE7O0FwSGxJZjtFb0hxSVI7SUN2U0ksdUJBRnVDO0lBR3ZDLHNCQUh1QztJQ056QyxnQi9CbUlrRTtJZ0M5R2xFLFc1QzJGeUQsRUFBQSxFeUNzTXREO0VwSGpKRztJb0gwSVI7TUN2U0ksd0JBRnVDO01BR3ZDLHVCQUh1QyxFQUFBLEVEZ1R0Qzs7QXBINUlHO0lvSHFJUjtNSXpTTSxXN0MwR3FEO002Q3pHckQsV0FBVyxFQUFBO0lKd1NqQjtNSWxTUSxZN0NvR29ELEVBQUEsRTZDbkdyRDs7QUoyU1A7RUFDSSxtQkFBbUIsRUFBQTs7QUFHdkI7RUFDSSxrQkFBa0IsRUFBQTs7QUFHdEI7RUFFUSxVQUFVO0VBQ1YsbUJBQW1CO0VBQ25CLHlEdkhyRDBDO1V1SHFEMUMsaUR2SHJEMEM7RXVIc0QxQyxnQzVIM09TLEVBQUE7O0E0SCtPakI7RUFDSSxnQkFBZ0IsRUFBQTs7QUFHcEI7RUFDSSxXQUFXO0VBQ1gsY0FBYztFQUNkLGlCQUFpQjtFQUNqQixjNUh2UGE7RTRId1BiLGdCNUhzSXVDO0U0SHJJdkMsZ0I1SHNJdUM7RTRIckl2QyxlbEhyUTREO0VrSHNRNUQsaUQ1SHZSbUQsRUFBQTtFNEgrUXZEO0lBYVEsYzVIeFBTLEVBQUE7RTRIMk9qQjtJQWdCUSxjNUhuUVMsRUFBQTs7QTRId1FqQjtFQUNJLGFBQWE7RUFDYix5QnZIcFY0QjtFdUhxVjVCLG9CQUFvQixFQUFBOztBQUd4QjtFQUVRLGtCQUFrQixFQUFBOztBQUkxQjtFbkhnd0VRLGlCQUFpQjtFQUNqQixrQkFBa0I7RUFDbEIsa0JIdmdDWTtFR3dnQ1osb0JBQWE7RUFBYixvQkFBYTtFQUFiLGFBQWE7RUFDYixnQkFBZ0I7RUFDaEIseUJKdmxGeUI7RUl3bEZ6Qix5QlQ1aEZXO0VTNmhGWCxvQkN0aUZ3RDtFRHVpRnhELGlCQUFpQjtFQUNqQixnQkFBZ0I7RUFDaEIscUJBQXFCO0VBQ3JCLGdCQUFnQjtFQUNoQixxQ0psM0VjO0VJazNFZCw2QkpsM0VjLEVBQUE7RUcvRmQ7SW9IcU1SO01uSDh3RVksa0JIbGhDUSxFQUFBLEVHZ2tDZjtFbUg1ekVMO0luSGl4RVkscUJUdGlGTztJU3VpRlAscUNKejNFVTtJSXkzRVYsNkJKejNFVSxFQUFBO0V1SHVHdEI7SW5IcXhFWSx3QkFBZ0I7SUFBaEIsZ0JBQWdCO0lBQ2hCLE1BQU07SUFDTix1QkFBdUI7SUFDdkIsbUJBQW1CLEVBQUE7RW1IeHhFL0I7SW5IMnhFWSxrQkFBa0I7SUFDbEIsTUFBTTtJQUNOLFlBQVk7SUFDWixjQUFjO0lBQ2QseUJUcmpGTztJU3NqRlAscUVKdDRFVTtJSXM0RVYsNkRKdDRFVSxFQUFBO0l1SHNHdEI7TW5Ia3lFZ0IsWUhodkVJO01HaXZFSixtQ0pyK0UyQjtNSXMrRTNCLGVBQWU7TUFDZixjSjVvRkM7TUk2b0ZELDhDSjU0RU07TUk0NEVOLHNDSjU0RU0sRUFBQTtJdUhzR3RCO01uSHl5RWdCLHlCVDdqRkM7TVM4akZELHlDSmo1RU07TUlpNUVOLGlDSmo1RU0sRUFBQTtJdUh1R3RCO01uSDZ5RWdCLHlCVGprRkMsRUFBQTtNNEhvUmpCO1FuSCt5RW9CLGlDSmwvRW1CLEVBQUE7SXVIbU12QztNbkhtekVnQixhQUFhO01BQ2IsV0FBVztNQUNYLDhDSjU1RU07TUk0NUVOLHNDSjU1RU0sRUFBQTtNdUh1R3RCO1FuSHV6RW9CLGVBQWU7UUFDZixrQ0ovNUVFO1FJKzVFRiwwQkovNUVFLEVBQUEiLCJmaWxlIjoiZGptaWxlcy9hcHAuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGNoYXJzZXQgXCJVVEYtOFwiO1xuLyoqXHJcblxyXG5UaGlzIGlzIHRoZSBiYXNlIG9mIHRoZSBhcHAuY3NzIGZpbGUsIHRvIG1vZGlmeSB0aGUgY29uZmlndXJhdGlvbiBvdCBhIHNpdGUgbGV2ZWwgZ28gdG8gL2JyYW5kaW5nLnNjc3MgaWYgeW91IG5lZWQgbW9kaWZ5IHRoZSBnbG9iYWwgY29uZmlndXJhdGlvbiBvZiBhbGwgc2l0ZXMgZ28gdG8gL2dsb2JhbC92YXJpYWJsZXMuc2Nzcy5cclxuXHJcblsgSU1QT1JUQU5UIF0gLSBObyBCRVNQT0tFIENTUyBSVUxFJ1Mgc2hvdWxkIGJlIHNwZWNpZmllZCBoZXJlIG9yIGluIGJyYW5kaW5nLnNjc3MsIGlmIHlvdSBuZWVkIHRvIG1vZGlmeSB0aGUgY3NzIGRvIGl0IGluIGVpdGhlciAvZ2xvYmFsIG9yIGluIC9jb21wb25hbnRzIG90aGVyd2lzZSBpdCB3aWxsIGNhdXNlIHRlYXJzLCBJRiB5b3UgcmVhbGx5IGhhdmUgdG8gdG8gaXQgaW4gdGhlIHNpdGUgc3BlY2lmaWMgYnJhbmRpbmcuc2NzcyB1bmRlciBhbGwgb2YgdGhlIFNBU1Mgb3ZlcnJpZGVzLlxyXG5cclxuKiovXG4vKlxyXG5cclxudmFsdWVzIGNhbiBiZSBlaXRoZXIgYSBsaXN0IG9yIG1hcC5cclxuXHJcbkJyZWFrcG9pbnQgdmFsdWVzOlxyXG5TbWFsbCA9IDFcclxuTWVkaXVtID0gMlxyXG5MYXJnZSA9IDNcclxueExhcmdlID0gNFxyXG54eExhcmdlID0gNVxyXG5cclxuKi9cbi8qKlxyXG5cclxuU2l0ZSBzcGVjaWZpYyBicmFuZGluZyAoIGNvbG91cnMgJiBmb250cyApIGFueSBzYXNzIG92ZXJyaWRlcyBnZXQgZGVmaW5lZCBoZXJlIGFzIHdlbGwuXHJcblxyXG5bIElNUE9SVEFOVCBdIC0gWW91IG1heWJlIGNvbXBlbGxlZCB0byB3cml0ZSBiZXNwb2tlIGNzcyBydWxlcyBhdCB0aGUgYm90dG9tIG9mIHRoZSBmaWxlIGp1c3QgdG8gbWFrZSBhIFwiIHF1aWNrIFwiIHNpdGUgc3BlY2lmaWMgY2hhbmdlIGJ1dCB0aGlzIFdJTEwgY29uZmxpY3Qgd2l0aCB0aGUgY3NzIGJlaW5nIGRlZmluZWQgaW4gL2dsb2JhbCBhbmQgL2NvbXBvbmVudCBlaXRoZXIgZnJvbSBhIGNvbmZpZ3VyYXRpb24gc3RhbmNlIG9yIHJlc3BvbnNpdmUgcG9pbnQgb2Ygdmlldywgc28gcGxlYXNlIGNvbnN1bHQvbW9kaWZ5IHRob3NlIDIgZGlyZWN0b3JpZXMgYXMgbmVlZGVkLCB0aGlzIGZpbGUgd2FzIG9ubHkgdG8gZGVzaWduZWQgZm9yIFNBU1MgdmFyaWFibGVzLlxyXG5cclxuKiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiR2lic29uXCI7XG4gIHNyYzogdXJsKFwiL3RlbXBsYXRlL2NvbnRlbnQvZGV2ZWxvcG1lbnQvY3NzL3dlYmZvbnRzL2dpYnNvbi9naWJzb24tbGlnaHQub3RmXCIpO1xuICBmb250LXdlaWdodDogMzAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdpYnNvblwiO1xuICBzcmM6IHVybChcIi90ZW1wbGF0ZS9jb250ZW50L2RldmVsb3BtZW50L2Nzcy93ZWJmb250cy9naWJzb24vZ2lic29uLWxpZ2h0LWl0YWxpYy5vdGZcIik7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiR2lic29uXCI7XG4gIHNyYzogdXJsKFwiL3RlbXBsYXRlL2NvbnRlbnQvZGV2ZWxvcG1lbnQvY3NzL3dlYmZvbnRzL2dpYnNvbi9naWJzb24tcmVndWxhci5vdGZcIik7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiR2lic29uXCI7XG4gIHNyYzogdXJsKFwiL3RlbXBsYXRlL2NvbnRlbnQvZGV2ZWxvcG1lbnQvY3NzL3dlYmZvbnRzL2dpYnNvbi9naWJzb24taXRhbGljLm90ZlwiKTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zdHlsZTogaXRhbGljOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJHaWJzb25cIjtcbiAgc3JjOiB1cmwoXCIvdGVtcGxhdGUvY29udGVudC9kZXZlbG9wbWVudC9jc3Mvd2ViZm9udHMvZ2lic29uL2dpYnNvbi1zZW1pYm9sZC5vdGZcIik7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiR2lic29uXCI7XG4gIHNyYzogdXJsKFwiL3RlbXBsYXRlL2NvbnRlbnQvZGV2ZWxvcG1lbnQvY3NzL3dlYmZvbnRzL2dpYnNvbi9naWJzb24tc2VtaWJvbGQtaXRhbGljLm90ZlwiKTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1zdHlsZTogaXRhbGljOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJHaWJzb25cIjtcbiAgc3JjOiB1cmwoXCIvdGVtcGxhdGUvY29udGVudC9kZXZlbG9wbWVudC9jc3Mvd2ViZm9udHMvZ2lic29uL2dpYnNvbi1ib2xkLm90ZlwiKTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJHaWJzb25cIjtcbiAgc3JjOiB1cmwoXCIvdGVtcGxhdGUvY29udGVudC9kZXZlbG9wbWVudC9jc3Mvd2ViZm9udHMvZ2lic29uL2dpYnNvbi1ib2xkLWl0YWxpYy5vdGZcIik7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuXG4vKiFcbiAqIEZvbnQgQXdlc29tZSBGcmVlIDYuNS4xIGJ5IEBmb250YXdlc29tZSAtIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tXG4gKiBMaWNlbnNlIC0gaHR0cHM6Ly9mb250YXdlc29tZS5jb20vbGljZW5zZS9mcmVlIChJY29uczogQ0MgQlkgNC4wLCBGb250czogU0lMIE9GTCAxLjEsIENvZGU6IE1JVCBMaWNlbnNlKVxuICogQ29weXJpZ2h0IDIwMjMgRm9udGljb25zLCBJbmMuXG4gKi9cbjpyb290LCA6aG9zdCB7XG4gIC0tZmEtc3R5bGUtZmFtaWx5LWJyYW5kczogJ0ZvbnQgQXdlc29tZSA2IEJyYW5kcyc7XG4gIC0tZmEtZm9udC1icmFuZHM6IG5vcm1hbCA0MDAgMWVtLzEgJ0ZvbnQgQXdlc29tZSA2IEJyYW5kcyc7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDYgQnJhbmRzJztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LWRpc3BsYXk6IGJsb2NrO1xuICBzcmM6IHVybChcIi4uL3dlYmZvbnRzL2ZhLWJyYW5kcy00MDAud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL3dlYmZvbnRzL2ZhLWJyYW5kcy00MDAudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi5mYWIsXG4uZmEtYnJhbmRzIHtcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEtbW9uZXJvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2QwXCI7IH1cblxuLmZhLWhvb2xpOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDI3XCI7IH1cblxuLmZhLXllbHA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZTlcIjsgfVxuXG4uZmEtY2MtdmlzYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFmMFwiOyB9XG5cbi5mYS1sYXN0Zm06YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMDJcIjsgfVxuXG4uZmEtc2hvcHdhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1YjVcIjsgfVxuXG4uZmEtY3JlYXRpdmUtY29tbW9ucy1uYzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRlOFwiOyB9XG5cbi5mYS1hd3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzNzVcIjsgfVxuXG4uZmEtcmVkaGF0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2JjXCI7IH1cblxuLmZhLXlvYXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmIxXCI7IH1cblxuLmZhLWNsb3VkZmxhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwN2RcIjsgfVxuXG4uZmEtdXBzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2UwXCI7IH1cblxuLmZhLXBpeGl2OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlNjQwXCI7IH1cblxuLmZhLXdwZXhwbG9yZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyZGVcIjsgfVxuXG4uZmEtZHlhbG9nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzk5XCI7IH1cblxuLmZhLWJpdHk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzN2FcIjsgfVxuXG4uZmEtc3RhY2twYXRoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmODQyXCI7IH1cblxuLmZhLWJ1eXNlbGxhZHM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMGRcIjsgfVxuXG4uZmEtZmlyc3Qtb3JkZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYjBcIjsgfVxuXG4uZmEtbW9keDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI4NVwiOyB9XG5cbi5mYS1ndWlsZGVkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDdlXCI7IH1cblxuLmZhLXZudjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQwYlwiOyB9XG5cbi5mYS1zcXVhcmUtanM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYjlcIjsgfVxuXG4uZmEtanMtc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2I5XCI7IH1cblxuLmZhLW1pY3Jvc29mdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNjYVwiOyB9XG5cbi5mYS1xcTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFkNlwiOyB9XG5cbi5mYS1vcmNpZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjhkMlwiOyB9XG5cbi5mYS1qYXZhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGU0XCI7IH1cblxuLmZhLWludmlzaW9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2IwXCI7IH1cblxuLmZhLWNyZWF0aXZlLWNvbW1vbnMtcGQtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGVkXCI7IH1cblxuLmZhLWNlbnRlcmNvZGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzODBcIjsgfVxuXG4uZmEtZ2xpZGUtZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJhNlwiOyB9XG5cbi5mYS1kcnVwYWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYTlcIjsgfVxuXG4uZmEtaGlyZS1hLWhlbHBlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNiMFwiOyB9XG5cbi5mYS1jcmVhdGl2ZS1jb21tb25zLWJ5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGU3XCI7IH1cblxuLmZhLXVuaXR5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDQ5XCI7IH1cblxuLmZhLXdobWNzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDBkXCI7IH1cblxuLmZhLXJvY2tldGNoYXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZThcIjsgfVxuXG4uZmEtdms6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxODlcIjsgfVxuXG4uZmEtdW50YXBwZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQwNVwiOyB9XG5cbi5mYS1tYWlsY2hpbXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1OWVcIjsgfVxuXG4uZmEtY3NzMy1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzOGJcIjsgfVxuXG4uZmEtc3F1YXJlLXJlZGRpdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFhMlwiOyB9XG5cbi5mYS1yZWRkaXQtc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWEyXCI7IH1cblxuLmZhLXZpbWVvLXY6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyN2RcIjsgfVxuXG4uZmEtY29udGFvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjZkXCI7IH1cblxuLmZhLXNxdWFyZS1mb250LWF3ZXNvbWU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU1YWRcIjsgfVxuXG4uZmEtZGVza3BybzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM4ZlwiOyB9XG5cbi5mYS1icmF2ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTYzY1wiOyB9XG5cbi5mYS1zaXN0cml4OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2VlXCI7IH1cblxuLmZhLXNxdWFyZS1pbnN0YWdyYW06YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNTVcIjsgfVxuXG4uZmEtaW5zdGFncmFtLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA1NVwiOyB9XG5cbi5mYS1iYXR0bGUtbmV0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmODM1XCI7IH1cblxuLmZhLXRoZS1yZWQteWV0aTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjY5ZFwiOyB9XG5cbi5mYS1zcXVhcmUtaGFja2VyLW5ld3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYWZcIjsgfVxuXG4uZmEtaGFja2VyLW5ld3Mtc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2FmXCI7IH1cblxuLmZhLWVkZ2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyODJcIjsgfVxuXG4uZmEtdGhyZWFkczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTYxOFwiOyB9XG5cbi5mYS1uYXBzdGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2QyXCI7IH1cblxuLmZhLXNxdWFyZS1zbmFwY2hhdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJhZFwiOyB9XG5cbi5mYS1zbmFwY2hhdC1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYWRcIjsgfVxuXG4uZmEtZ29vZ2xlLXBsdXMtZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBkNVwiOyB9XG5cbi5mYS1hcnRzdGF0aW9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzdhXCI7IH1cblxuLmZhLW1hcmtkb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNjBmXCI7IH1cblxuLmZhLXNvdXJjZXRyZWU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3ZDNcIjsgfVxuXG4uZmEtZ29vZ2xlLXBsdXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYjNcIjsgfVxuXG4uZmEtZGlhc3BvcmE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3OTFcIjsgfVxuXG4uZmEtZm91cnNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE4MFwiOyB9XG5cbi5mYS1zdGFjay1vdmVyZmxvdzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE2Y1wiOyB9XG5cbi5mYS1naXRodWItYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTEzXCI7IH1cblxuLmZhLXBob2VuaXgtc3F1YWRyb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1MTFcIjsgfVxuXG4uZmEtcGFnZWxpbmVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMThjXCI7IH1cblxuLmZhLWFsZ29saWE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzNmNcIjsgfVxuXG4uZmEtcmVkLXJpdmVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2UzXCI7IH1cblxuLmZhLWNyZWF0aXZlLWNvbW1vbnMtc2E6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ZWZcIjsgfVxuXG4uZmEtc2FmYXJpOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjY3XCI7IH1cblxuLmZhLWdvb2dsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFhMFwiOyB9XG5cbi5mYS1zcXVhcmUtZm9udC1hd2Vzb21lLXN0cm9rZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM1Y1wiOyB9XG5cbi5mYS1mb250LWF3ZXNvbWUtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzVjXCI7IH1cblxuLmZhLWF0bGFzc2lhbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjc3YlwiOyB9XG5cbi5mYS1saW5rZWRpbi1pbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBlMVwiOyB9XG5cbi5mYS1kaWdpdGFsLW9jZWFuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzkxXCI7IH1cblxuLmZhLW5pbWJscjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjVhOFwiOyB9XG5cbi5mYS1jaHJvbWVjYXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmODM4XCI7IH1cblxuLmZhLWV2ZXJub3RlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmODM5XCI7IH1cblxuLmZhLWhhY2tlci1uZXdzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWQ0XCI7IH1cblxuLmZhLWNyZWF0aXZlLWNvbW1vbnMtc2FtcGxpbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ZjBcIjsgfVxuXG4uZmEtYWR2ZXJzYWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzNmFcIjsgfVxuXG4uZmEtY3JlYXRpdmUtY29tbW9uczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI1ZVwiOyB9XG5cbi5mYS13YXRjaG1hbi1tb25pdG9yaW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDg3XCI7IH1cblxuLmZhLWZvbnRpY29uczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI4MFwiOyB9XG5cbi5mYS13ZWl4aW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZDdcIjsgfVxuXG4uZmEtc2hpcnRzaW5idWxrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjE0XCI7IH1cblxuLmZhLWNvZGVwZW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxY2JcIjsgfVxuXG4uZmEtZ2l0LWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjg0MVwiOyB9XG5cbi5mYS1seWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2MzXCI7IH1cblxuLmZhLXJldjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjViMlwiOyB9XG5cbi5mYS13aW5kb3dzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTdhXCI7IH1cblxuLmZhLXdpemFyZHMtb2YtdGhlLWNvYXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzMwXCI7IH1cblxuLmZhLXNxdWFyZS12aWFkZW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYWFcIjsgfVxuXG4uZmEtdmlhZGVvLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJhYVwiOyB9XG5cbi5mYS1tZWV0dXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyZTBcIjsgfVxuXG4uZmEtY2VudG9zOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzg5XCI7IH1cblxuLmZhLWFkbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE3MFwiOyB9XG5cbi5mYS1jbG91ZHNtaXRoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzg0XCI7IH1cblxuLmZhLW9wZW5zdXNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlNjJiXCI7IH1cblxuLmZhLXBpZWQtcGlwZXItYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWE4XCI7IH1cblxuLmZhLXNxdWFyZS1kcmliYmJsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM5N1wiOyB9XG5cbi5mYS1kcmliYmJsZS1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzOTdcIjsgfVxuXG4uZmEtY29kaWVwaWU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyODRcIjsgfVxuXG4uZmEtbm9kZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQxOVwiOyB9XG5cbi5mYS1taXg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzY2JcIjsgfVxuXG4uZmEtc3RlYW06YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYjZcIjsgfVxuXG4uZmEtY2MtYXBwbGUtcGF5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDE2XCI7IH1cblxuLmZhLXNjcmliZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI4YVwiOyB9XG5cbi5mYS1kZWJpYW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU2MGJcIjsgfVxuXG4uZmEtb3BlbmlkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTliXCI7IH1cblxuLmZhLWluc3RhbG9kOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDgxXCI7IH1cblxuLmZhLWV4cGVkaXRlZHNzbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIzZVwiOyB9XG5cbi5mYS1zZWxsY2FzdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJkYVwiOyB9XG5cbi5mYS1zcXVhcmUtdHdpdHRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA4MVwiOyB9XG5cbi5mYS10d2l0dGVyLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA4MVwiOyB9XG5cbi5mYS1yLXByb2plY3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ZjdcIjsgfVxuXG4uZmEtZGVsaWNpb3VzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWE1XCI7IH1cblxuLmZhLWZyZWVic2Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYTRcIjsgfVxuXG4uZmEtdnVlanM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MWZcIjsgfVxuXG4uZmEtYWNjdXNvZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzNjlcIjsgfVxuXG4uZmEtaW94aG9zdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIwOFwiOyB9XG5cbi5mYS1mb250aWNvbnMtZmk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYTJcIjsgfVxuXG4uZmEtYXBwLXN0b3JlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzZmXCI7IH1cblxuLmZhLWNjLW1hc3RlcmNhcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZjFcIjsgfVxuXG4uZmEtaXR1bmVzLW5vdGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYjVcIjsgfVxuXG4uZmEtZ29sYW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlNDBmXCI7IH1cblxuLmZhLWtpY2tzdGFydGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2JiXCI7IH1cblxuLmZhLWdyYXY6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyZDZcIjsgfVxuXG4uZmEtd2VpYm86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxOGFcIjsgfVxuXG4uZmEtdW5jaGFydGVkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDg0XCI7IH1cblxuLmZhLWZpcnN0ZHJhZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYTFcIjsgfVxuXG4uZmEtc3F1YXJlLXlvdXR1YmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MzFcIjsgfVxuXG4uZmEteW91dHViZS1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MzFcIjsgfVxuXG4uZmEtd2lraXBlZGlhLXc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNjZcIjsgfVxuXG4uZmEtd3ByZXNzcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNlNFwiOyB9XG5cbi5mYS1yZW5kYWN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2U0XCI7IH1cblxuLmZhLWFuZ2VsbGlzdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIwOVwiOyB9XG5cbi5mYS1nYWxhY3RpYy1yZXB1YmxpYzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUwY1wiOyB9XG5cbi5mYS1uZmMtZGlyZWN0aW9uYWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU1MzBcIjsgfVxuXG4uZmEtc2t5cGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxN2VcIjsgfVxuXG4uZmEtam9nZXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYjdcIjsgfVxuXG4uZmEtZmVkb3JhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzk4XCI7IH1cblxuLmZhLXN0cmlwZS1zOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDJhXCI7IH1cblxuLmZhLW1ldGE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU0OWJcIjsgfVxuXG4uZmEtbGFyYXZlbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNiZFwiOyB9XG5cbi5mYS1ob3RqYXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYjFcIjsgfVxuXG4uZmEtYmx1ZXRvb3RoLWI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyOTRcIjsgfVxuXG4uZmEtc3F1YXJlLWxldHRlcmJveGQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU2MmVcIjsgfVxuXG4uZmEtc3RpY2tlci1tdWxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2Y3XCI7IH1cblxuLmZhLWNyZWF0aXZlLWNvbW1vbnMtemVybzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRmM1wiOyB9XG5cbi5mYS1oaXBzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDUyXCI7IH1cblxuLmZhLWJlaGFuY2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYjRcIjsgfVxuXG4uZmEtcmVkZGl0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWExXCI7IH1cblxuLmZhLWRpc2NvcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzOTJcIjsgfVxuXG4uZmEtY2hyb21lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjY4XCI7IH1cblxuLmZhLWFwcC1zdG9yZS1pb3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzNzBcIjsgfVxuXG4uZmEtY2MtZGlzY292ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZjJcIjsgfVxuXG4uZmEtd3BiZWdpbm5lcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI5N1wiOyB9XG5cbi5mYS1jb25mbHVlbmNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzhkXCI7IH1cblxuLmZhLXNob2VsYWNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlNjBjXCI7IH1cblxuLmZhLW1kYjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjhjYVwiOyB9XG5cbi5mYS1kb2NodWI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzOTRcIjsgfVxuXG4uZmEtYWNjZXNzaWJsZS1pY29uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzY4XCI7IH1cblxuLmZhLWViYXk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ZjRcIjsgfVxuXG4uZmEtYW1hem9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjcwXCI7IH1cblxuLmZhLXVuc3BsYXNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDdjXCI7IH1cblxuLmZhLXlhcm46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3ZTNcIjsgfVxuXG4uZmEtc3F1YXJlLXN0ZWFtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWI3XCI7IH1cblxuLmZhLXN0ZWFtLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFiN1wiOyB9XG5cbi5mYS01MDBweDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI2ZVwiOyB9XG5cbi5mYS1zcXVhcmUtdmltZW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxOTRcIjsgfVxuXG4uZmEtdmltZW8tc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTk0XCI7IH1cblxuLmZhLWFzeW1tZXRyaWs6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzNzJcIjsgfVxuXG4uZmEtZm9udC1hd2Vzb21lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmI0XCI7IH1cblxuLmZhLWZvbnQtYXdlc29tZS1mbGFnOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmI0XCI7IH1cblxuLmZhLWZvbnQtYXdlc29tZS1sb2dvLWZ1bGw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYjRcIjsgfVxuXG4uZmEtZ3JhdGlwYXk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxODRcIjsgfVxuXG4uZmEtYXBwbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNzlcIjsgfVxuXG4uZmEtaGl2ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA3ZlwiOyB9XG5cbi5mYS1naXRrcmFrZW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYTZcIjsgfVxuXG4uZmEta2V5YmFzZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRmNVwiOyB9XG5cbi5mYS1hcHBsZS1wYXk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MTVcIjsgfVxuXG4uZmEtcGFkbGV0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlNGEwXCI7IH1cblxuLmZhLWFtYXpvbi1wYXk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MmNcIjsgfVxuXG4uZmEtc3F1YXJlLWdpdGh1YjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA5MlwiOyB9XG5cbi5mYS1naXRodWItc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDkyXCI7IH1cblxuLmZhLXN0dW1ibGV1cG9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWE0XCI7IH1cblxuLmZhLWZlZGV4OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzk3XCI7IH1cblxuLmZhLXBob2VuaXgtZnJhbWV3b3JrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2RjXCI7IH1cblxuLmZhLXNob3BpZnk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNTdcIjsgfVxuXG4uZmEtbmVvczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjYxMlwiOyB9XG5cbi5mYS1zcXVhcmUtdGhyZWFkczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTYxOVwiOyB9XG5cbi5mYS1oYWNrZXJyYW5rOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWY3XCI7IH1cblxuLmZhLXJlc2VhcmNoZ2F0ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRmOFwiOyB9XG5cbi5mYS1zd2lmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjhlMVwiOyB9XG5cbi5mYS1hbmd1bGFyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDIwXCI7IH1cblxuLmZhLXNwZWFrYXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZjNcIjsgfVxuXG4uZmEtYW5ncnljcmVhdGl2ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM2ZVwiOyB9XG5cbi5mYS15LWNvbWJpbmF0b3I6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyM2JcIjsgfVxuXG4uZmEtZW1waXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWQxXCI7IH1cblxuLmZhLWVudmlyYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI5OVwiOyB9XG5cbi5mYS1nb29nbGUtc2Nob2xhcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTYzYlwiOyB9XG5cbi5mYS1zcXVhcmUtZ2l0bGFiOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlNWFlXCI7IH1cblxuLmZhLWdpdGxhYi1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU1YWVcIjsgfVxuXG4uZmEtc3R1ZGlvdmluYXJpOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2Y4XCI7IH1cblxuLmZhLXBpZWQtcGlwZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYWVcIjsgfVxuXG4uZmEtd29yZHByZXNzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTlhXCI7IH1cblxuLmZhLXByb2R1Y3QtaHVudDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI4OFwiOyB9XG5cbi5mYS1maXJlZm94OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjY5XCI7IH1cblxuLmZhLWxpbm9kZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJiOFwiOyB9XG5cbi5mYS1nb29kcmVhZHM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYThcIjsgfVxuXG4uZmEtc3F1YXJlLW9kbm9rbGFzc25pa2k6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNjRcIjsgfVxuXG4uZmEtb2Rub2tsYXNzbmlraS1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNjRcIjsgfVxuXG4uZmEtanNmaWRkbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxY2NcIjsgfVxuXG4uZmEtc2l0aDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUxMlwiOyB9XG5cbi5mYS10aGVtZWlzbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYjJcIjsgfVxuXG4uZmEtcGFnZTQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZDdcIjsgfVxuXG4uZmEtaGFzaG5vZGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU0OTlcIjsgfVxuXG4uZmEtcmVhY3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MWJcIjsgfVxuXG4uZmEtY2MtcGF5cGFsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWY0XCI7IH1cblxuLmZhLXNxdWFyZXNwYWNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWJlXCI7IH1cblxuLmZhLWNjLXN0cmlwZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFmNVwiOyB9XG5cbi5mYS1jcmVhdGl2ZS1jb21tb25zLXNoYXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGYyXCI7IH1cblxuLmZhLWJpdGNvaW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzNzlcIjsgfVxuXG4uZmEta2V5Y2RuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2JhXCI7IH1cblxuLmZhLW9wZXJhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjZhXCI7IH1cblxuLmZhLWl0Y2gtaW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4M2FcIjsgfVxuXG4uZmEtdW1icmFjbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjhlOFwiOyB9XG5cbi5mYS1nYWxhY3RpYy1zZW5hdGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1MGRcIjsgfVxuXG4uZmEtdWJ1bnR1OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2RmXCI7IH1cblxuLmZhLWRyYWZ0MmRpZ2l0YWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzOTZcIjsgfVxuXG4uZmEtc3RyaXBlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDI5XCI7IH1cblxuLmZhLWhvdXp6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjdjXCI7IH1cblxuLmZhLWdnOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjYwXCI7IH1cblxuLmZhLWRobDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjc5MFwiOyB9XG5cbi5mYS1zcXVhcmUtcGludGVyZXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGQzXCI7IH1cblxuLmZhLXBpbnRlcmVzdC1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZDNcIjsgfVxuXG4uZmEteGluZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE2OFwiOyB9XG5cbi5mYS1ibGFja2JlcnJ5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzdiXCI7IH1cblxuLmZhLWNyZWF0aXZlLWNvbW1vbnMtcGQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ZWNcIjsgfVxuXG4uZmEtcGxheXN0YXRpb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZGZcIjsgfVxuXG4uZmEtcXVpbnNjYXBlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDU5XCI7IH1cblxuLmZhLWxlc3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MWRcIjsgfVxuXG4uZmEtYmxvZ2dlci1iOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzdkXCI7IH1cblxuLmZhLW9wZW5jYXJ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjNkXCI7IH1cblxuLmZhLXZpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxY2FcIjsgfVxuXG4uZmEtc2lnbmFsLW1lc3NlbmdlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTY2M1wiOyB9XG5cbi5mYS1wYXlwYWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZWRcIjsgfVxuXG4uZmEtZ2l0bGFiOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjk2XCI7IH1cblxuLmZhLXR5cG8zOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDJiXCI7IH1cblxuLmZhLXJlZGRpdC1hbGllbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI4MVwiOyB9XG5cbi5mYS15YWhvbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE5ZVwiOyB9XG5cbi5mYS1kYWlseW1vdGlvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA1MlwiOyB9XG5cbi5mYS1hZmZpbGlhdGV0aGVtZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM2YlwiOyB9XG5cbi5mYS1waWVkLXBpcGVyLXBwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWE3XCI7IH1cblxuLmZhLWJvb3RzdHJhcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjgzNlwiOyB9XG5cbi5mYS1vZG5va2xhc3NuaWtpOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjYzXCI7IH1cblxuLmZhLW5mYy1zeW1ib2w6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU1MzFcIjsgfVxuXG4uZmEtbWludGJpdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTYyZlwiOyB9XG5cbi5mYS1ldGhlcmV1bTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQyZVwiOyB9XG5cbi5mYS1zcGVha2VyLWRlY2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4M2NcIjsgfVxuXG4uZmEtY3JlYXRpdmUtY29tbW9ucy1uYy1ldTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRlOVwiOyB9XG5cbi5mYS1wYXRyZW9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2Q5XCI7IH1cblxuLmZhLWF2aWFuZXg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzNzRcIjsgfVxuXG4uZmEtZWxsbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjVmMVwiOyB9XG5cbi5mYS1nb2ZvcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYTdcIjsgfVxuXG4uZmEtYmltb2JqZWN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzc4XCI7IH1cblxuLmZhLWJyYXZlLXJldmVyc2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU2M2RcIjsgfVxuXG4uZmEtZmFjZWJvb2stZjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM5ZVwiOyB9XG5cbi5mYS1zcXVhcmUtZ29vZ2xlLXBsdXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZDRcIjsgfVxuXG4uZmEtZ29vZ2xlLXBsdXMtc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGQ0XCI7IH1cblxuLmZhLW1hbmRhbG9yaWFuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTBmXCI7IH1cblxuLmZhLWZpcnN0LW9yZGVyLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUwYVwiOyB9XG5cbi5mYS1vc2k6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MWFcIjsgfVxuXG4uZmEtZ29vZ2xlLXdhbGxldDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFlZVwiOyB9XG5cbi5mYS1kLWFuZC1kLWJleW9uZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjZjYVwiOyB9XG5cbi5mYS1wZXJpc2NvcGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZGFcIjsgfVxuXG4uZmEtZnVsY3J1bTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUwYlwiOyB9XG5cbi5mYS1jbG91ZHNjYWxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzgzXCI7IH1cblxuLmZhLWZvcnVtYmVlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjExXCI7IH1cblxuLmZhLW1penVuaTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNjY1wiOyB9XG5cbi5mYS1zY2hsaXg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZWFcIjsgfVxuXG4uZmEtc3F1YXJlLXhpbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNjlcIjsgfVxuXG4uZmEteGluZy1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNjlcIjsgfVxuXG4uZmEtYmFuZGNhbXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyZDVcIjsgfVxuXG4uZmEtd3Bmb3JtczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI5OFwiOyB9XG5cbi5mYS1jbG91ZHZlcnNpZnk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzODVcIjsgfVxuXG4uZmEtdXNwczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjdlMVwiOyB9XG5cbi5mYS1tZWdhcG9ydDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjVhM1wiOyB9XG5cbi5mYS1tYWdlbnRvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2M0XCI7IH1cblxuLmZhLXNwb3RpZnk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYmNcIjsgfVxuXG4uZmEtb3B0aW4tbW9uc3RlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIzY1wiOyB9XG5cbi5mYS1mbHk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MTdcIjsgfVxuXG4uZmEtYXZpYXRvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDIxXCI7IH1cblxuLmZhLWl0dW5lczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNiNFwiOyB9XG5cbi5mYS1jdXR0bGVmaXNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzhjXCI7IH1cblxuLmZhLWJsb2dnZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzN2NcIjsgfVxuXG4uZmEtZmxpY2tyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTZlXCI7IH1cblxuLmZhLXZpYmVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDA5XCI7IH1cblxuLmZhLXNvdW5kY2xvdWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYmVcIjsgfVxuXG4uZmEtZGlnZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFhNlwiOyB9XG5cbi5mYS10ZW5jZW50LXdlaWJvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWQ1XCI7IH1cblxuLmZhLWxldHRlcmJveGQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU2MmRcIjsgfVxuXG4uZmEtc3ltZm9ueTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjgzZFwiOyB9XG5cbi5mYS1tYXhjZG46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMzZcIjsgfVxuXG4uZmEtZXRzeTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJkN1wiOyB9XG5cbi5mYS1mYWNlYm9vay1tZXNzZW5nZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzOWZcIjsgfVxuXG4uZmEtYXVkaWJsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM3M1wiOyB9XG5cbi5mYS10aGluay1wZWFrczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjczMVwiOyB9XG5cbi5mYS1iaWxpYmlsaTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTNkOVwiOyB9XG5cbi5mYS1lcmxhbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzOWRcIjsgfVxuXG4uZmEteC10d2l0dGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlNjFiXCI7IH1cblxuLmZhLWNvdHRvbi1idXJlYXU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4OWVcIjsgfVxuXG4uZmEtZGFzaGN1YmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMTBcIjsgfVxuXG4uZmEtNDItZ3JvdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwODBcIjsgfVxuXG4uZmEtaW5ub3NvZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwODBcIjsgfVxuXG4uZmEtc3RhY2stZXhjaGFuZ2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxOGRcIjsgfVxuXG4uZmEtZWxlbWVudG9yOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDMwXCI7IH1cblxuLmZhLXNxdWFyZS1waWVkLXBpcGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDFlXCI7IH1cblxuLmZhLXBpZWQtcGlwZXItc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDFlXCI7IH1cblxuLmZhLWNyZWF0aXZlLWNvbW1vbnMtbmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ZWJcIjsgfVxuXG4uZmEtcGFsZmVkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2Q4XCI7IH1cblxuLmZhLXN1cGVycG93ZXJzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmRkXCI7IH1cblxuLmZhLXJlc29sdmluZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNlN1wiOyB9XG5cbi5mYS14Ym94OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDEyXCI7IH1cblxuLmZhLXNlYXJjaGVuZ2luOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2ViXCI7IH1cblxuLmZhLXRpa3RvazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA3YlwiOyB9XG5cbi5mYS1zcXVhcmUtZmFjZWJvb2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwODJcIjsgfVxuXG4uZmEtZmFjZWJvb2stc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDgyXCI7IH1cblxuLmZhLXJlbnJlbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE4YlwiOyB9XG5cbi5mYS1saW51eDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE3Y1wiOyB9XG5cbi5mYS1nbGlkZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJhNVwiOyB9XG5cbi5mYS1saW5rZWRpbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA4Y1wiOyB9XG5cbi5mYS1odWJzcG90OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2IyXCI7IH1cblxuLmZhLWRlcGxveWRvZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM4ZVwiOyB9XG5cbi5mYS10d2l0Y2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZThcIjsgfVxuXG4uZmEtcmF2ZWxyeTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJkOVwiOyB9XG5cbi5mYS1taXhlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA1NlwiOyB9XG5cbi5mYS1zcXVhcmUtbGFzdGZtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjAzXCI7IH1cblxuLmZhLWxhc3RmbS1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMDNcIjsgfVxuXG4uZmEtdmltZW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MGFcIjsgfVxuXG4uZmEtbWVuZGVsZXk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3YjNcIjsgfVxuXG4uZmEtdW5pcmVnaXN0cnk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MDRcIjsgfVxuXG4uZmEtZmlnbWE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3OTlcIjsgfVxuXG4uZmEtY3JlYXRpdmUtY29tbW9ucy1yZW1peDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRlZVwiOyB9XG5cbi5mYS1jYy1hbWF6b24tcGF5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDJkXCI7IH1cblxuLmZhLWRyb3Bib3g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNmJcIjsgfVxuXG4uZmEtaW5zdGFncmFtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTZkXCI7IH1cblxuLmZhLWNtcGxpZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTM2MFwiOyB9XG5cbi5mYS11cHdvcms6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU2NDFcIjsgfVxuXG4uZmEtZmFjZWJvb2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwOWFcIjsgfVxuXG4uZmEtZ3JpcGZpcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYWNcIjsgfVxuXG4uZmEtamVkaS1vcmRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUwZVwiOyB9XG5cbi5mYS11aWtpdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQwM1wiOyB9XG5cbi5mYS1mb3J0LWF3ZXNvbWUtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2EzXCI7IH1cblxuLmZhLXBoYWJyaWNhdG9yOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2RiXCI7IH1cblxuLmZhLXVzc3VubmFoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDA3XCI7IH1cblxuLmZhLWVhcmx5YmlyZHM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzOWFcIjsgfVxuXG4uZmEtdHJhZGUtZmVkZXJhdGlvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUxM1wiOyB9XG5cbi5mYS1hdXRvcHJlZml4ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MWNcIjsgfVxuXG4uZmEtd2hhdHNhcHA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMzJcIjsgfVxuXG4uZmEtc2xpZGVzaGFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFlN1wiOyB9XG5cbi5mYS1nb29nbGUtcGxheTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNhYlwiOyB9XG5cbi5mYS12aWFkZW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYTlcIjsgfVxuXG4uZmEtbGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNjMFwiOyB9XG5cbi5mYS1nb29nbGUtZHJpdmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYWFcIjsgfVxuXG4uZmEtc2VydmljZXN0YWNrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2VjXCI7IH1cblxuLmZhLXNpbXBseWJ1aWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjE1XCI7IH1cblxuLmZhLWJpdGJ1Y2tldDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE3MVwiOyB9XG5cbi5mYS1pbWRiOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmQ4XCI7IH1cblxuLmZhLWRlZXplcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA3N1wiOyB9XG5cbi5mYS1yYXNwYmVycnktcGk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3YmJcIjsgfVxuXG4uZmEtamlyYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjdiMVwiOyB9XG5cbi5mYS1kb2NrZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzOTVcIjsgfVxuXG4uZmEtc2NyZWVucGFsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlNTcwXCI7IH1cblxuLmZhLWJsdWV0b290aDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI5M1wiOyB9XG5cbi5mYS1naXR0ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MjZcIjsgfVxuXG4uZmEtZC1hbmQtZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM4ZFwiOyB9XG5cbi5mYS1taWNyb2Jsb2c6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwMWFcIjsgfVxuXG4uZmEtY2MtZGluZXJzLWNsdWI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNGNcIjsgfVxuXG4uZmEtZ2ctY2lyY2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjYxXCI7IH1cblxuLmZhLXBpZWQtcGlwZXItaGF0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGU1XCI7IH1cblxuLmZhLWtpY2tzdGFydGVyLWs6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYmNcIjsgfVxuXG4uZmEteWFuZGV4OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDEzXCI7IH1cblxuLmZhLXJlYWRtZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRkNVwiOyB9XG5cbi5mYS1odG1sNTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEzYlwiOyB9XG5cbi5mYS1zZWxsc3k6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMTNcIjsgfVxuXG4uZmEtc2FzczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQxZVwiOyB9XG5cbi5mYS13aXJzaW5kaGFuZHdlcms6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUyZDBcIjsgfVxuXG4uZmEtd3NoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMmQwXCI7IH1cblxuLmZhLWJ1cm9tb2JlbGV4cGVydGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzN2ZcIjsgfVxuXG4uZmEtc2FsZXNmb3JjZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjgzYlwiOyB9XG5cbi5mYS1vY3RvcHVzLWRlcGxveTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA4MlwiOyB9XG5cbi5mYS1tZWRhcHBzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2M2XCI7IH1cblxuLmZhLW5zODpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNkNVwiOyB9XG5cbi5mYS1waW50ZXJlc3QtcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIzMVwiOyB9XG5cbi5mYS1hcHBlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM3MVwiOyB9XG5cbi5mYS1mb3J0LWF3ZXNvbWU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyODZcIjsgfVxuXG4uZmEtd2F6ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjgzZlwiOyB9XG5cbi5mYS1jYy1qY2I6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNGJcIjsgfVxuXG4uZmEtc25hcGNoYXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYWJcIjsgfVxuXG4uZmEtc25hcGNoYXQtZ2hvc3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYWJcIjsgfVxuXG4uZmEtZmFudGFzeS1mbGlnaHQtZ2FtZXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2ZGNcIjsgfVxuXG4uZmEtcnVzdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA3YVwiOyB9XG5cbi5mYS13aXg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1Y2ZcIjsgfVxuXG4uZmEtc3F1YXJlLWJlaGFuY2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYjVcIjsgfVxuXG4uZmEtYmVoYW5jZS1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYjVcIjsgfVxuXG4uZmEtc3VwcGxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2Y5XCI7IH1cblxuLmZhLXdlYmZsb3c6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU2NWNcIjsgfVxuXG4uZmEtcmViZWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZDBcIjsgfVxuXG4uZmEtY3NzMzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEzY1wiOyB9XG5cbi5mYS1zdGF5bGlua2VkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2Y1XCI7IH1cblxuLmZhLWthZ2dsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjVmYVwiOyB9XG5cbi5mYS1zcGFjZS1hd2Vzb21lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlNWFjXCI7IH1cblxuLmZhLWRldmlhbnRhcnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYmRcIjsgfVxuXG4uZmEtY3BhbmVsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzg4XCI7IH1cblxuLmZhLWdvb2RyZWFkcy1nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2E5XCI7IH1cblxuLmZhLXNxdWFyZS1naXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZDJcIjsgfVxuXG4uZmEtZ2l0LXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFkMlwiOyB9XG5cbi5mYS1zcXVhcmUtdHVtYmxyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTc0XCI7IH1cblxuLmZhLXR1bWJsci1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNzRcIjsgfVxuXG4uZmEtdHJlbGxvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTgxXCI7IH1cblxuLmZhLWNyZWF0aXZlLWNvbW1vbnMtbmMtanA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ZWFcIjsgfVxuXG4uZmEtZ2V0LXBvY2tldDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI2NVwiOyB9XG5cbi5mYS1wZXJieXRlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDgzXCI7IH1cblxuLmZhLWdydW50OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2FkXCI7IH1cblxuLmZhLXdlZWJseTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjVjY1wiOyB9XG5cbi5mYS1jb25uZWN0ZGV2ZWxvcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIwZVwiOyB9XG5cbi5mYS1sZWFucHViOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjEyXCI7IH1cblxuLmZhLWJsYWNrLXRpZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI3ZVwiOyB9XG5cbi5mYS10aGVtZWNvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWM2XCI7IH1cblxuLmZhLXB5dGhvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNlMlwiOyB9XG5cbi5mYS1hbmRyb2lkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTdiXCI7IH1cblxuLmZhLWJvdHM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUzNDBcIjsgfVxuXG4uZmEtZnJlZS1jb2RlLWNhbXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYzVcIjsgfVxuXG4uZmEtaG9ybmJpbGw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1OTJcIjsgfVxuXG4uZmEtanM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYjhcIjsgfVxuXG4uZmEtaWRlYWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwMTNcIjsgfVxuXG4uZmEtZ2l0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWQzXCI7IH1cblxuLmZhLWRldjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjZjY1wiOyB9XG5cbi5mYS1za2V0Y2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3YzZcIjsgfVxuXG4uZmEteWFuZGV4LWludGVybmF0aW9uYWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MTRcIjsgfVxuXG4uZmEtY2MtYW1leDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFmM1wiOyB9XG5cbi5mYS11YmVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDAyXCI7IH1cblxuLmZhLWdpdGh1YjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA5YlwiOyB9XG5cbi5mYS1waHA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0NTdcIjsgfVxuXG4uZmEtYWxpcGF5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNjQyXCI7IH1cblxuLmZhLXlvdXR1YmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNjdcIjsgfVxuXG4uZmEtc2t5YXRsYXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMTZcIjsgfVxuXG4uZmEtZmlyZWZveC1icm93c2VyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDA3XCI7IH1cblxuLmZhLXJlcGx5ZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNlNlwiOyB9XG5cbi5mYS1zdXNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2Q2XCI7IH1cblxuLmZhLWplbmtpbnM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYjZcIjsgfVxuXG4uZmEtdHdpdHRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA5OVwiOyB9XG5cbi5mYS1yb2Nrcm1zOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2U5XCI7IH1cblxuLmZhLXBpbnRlcmVzdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBkMlwiOyB9XG5cbi5mYS1idWZmZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4MzdcIjsgfVxuXG4uZmEtbnBtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2Q0XCI7IH1cblxuLmZhLXlhbW1lcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjg0MFwiOyB9XG5cbi5mYS1idGM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNWFcIjsgfVxuXG4uZmEtZHJpYmJibGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxN2RcIjsgfVxuXG4uZmEtc3R1bWJsZXVwb24tY2lyY2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWEzXCI7IH1cblxuLmZhLWludGVybmV0LWV4cGxvcmVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjZiXCI7IH1cblxuLmZhLXN0dWJiZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU1YzdcIjsgfVxuXG4uZmEtdGVsZWdyYW06YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYzZcIjsgfVxuXG4uZmEtdGVsZWdyYW0tcGxhbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYzZcIjsgfVxuXG4uZmEtb2xkLXJlcHVibGljOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTEwXCI7IH1cblxuLmZhLW9keXNlZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTVjNlwiOyB9XG5cbi5mYS1zcXVhcmUtd2hhdHNhcHA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MGNcIjsgfVxuXG4uZmEtd2hhdHNhcHAtc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDBjXCI7IH1cblxuLmZhLW5vZGUtanM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZDNcIjsgfVxuXG4uZmEtZWRnZS1sZWdhY3k6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNzhcIjsgfVxuXG4uZmEtc2xhY2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxOThcIjsgfVxuXG4uZmEtc2xhY2staGFzaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE5OFwiOyB9XG5cbi5mYS1tZWRydDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNjOFwiOyB9XG5cbi5mYS11c2I6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyODdcIjsgfVxuXG4uZmEtdHVtYmxyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTczXCI7IH1cblxuLmZhLXZhYWRpbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQwOFwiOyB9XG5cbi5mYS1xdW9yYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJjNFwiOyB9XG5cbi5mYS1zcXVhcmUteC10d2l0dGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlNjFhXCI7IH1cblxuLmZhLXJlYWN0ZXVyb3BlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzVkXCI7IH1cblxuLmZhLW1lZGl1bTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIzYVwiOyB9XG5cbi5mYS1tZWRpdW0tbTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIzYVwiOyB9XG5cbi5mYS1hbWlsaWE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzNmRcIjsgfVxuXG4uZmEtbWl4Y2xvdWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyODlcIjsgfVxuXG4uZmEtZmxpcGJvYXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDRkXCI7IH1cblxuLmZhLXZpYWNvaW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMzdcIjsgfVxuXG4uZmEtY3JpdGljYWwtcm9sZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjZjOVwiOyB9XG5cbi5mYS1zaXRyb3g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU0NGFcIjsgfVxuXG4uZmEtZGlzY291cnNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzkzXCI7IH1cblxuLmZhLWpvb21sYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFhYVwiOyB9XG5cbi5mYS1tYXN0b2RvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRmNlwiOyB9XG5cbi5mYS1haXJibmI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4MzRcIjsgfVxuXG4uZmEtd29sZi1wYWNrLWJhdHRhbGlvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUxNFwiOyB9XG5cbi5mYS1idXktbi1sYXJnZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjhhNlwiOyB9XG5cbi5mYS1ndWxwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2FlXCI7IH1cblxuLmZhLWNyZWF0aXZlLWNvbW1vbnMtc2FtcGxpbmctcGx1czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRmMVwiOyB9XG5cbi5mYS1zdHJhdmE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MjhcIjsgfVxuXG4uZmEtZW1iZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MjNcIjsgfVxuXG4uZmEtY2FuYWRpYW4tbWFwbGUtbGVhZjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjc4NVwiOyB9XG5cbi5mYS10ZWFtc3BlYWs6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ZjlcIjsgfVxuXG4uZmEtcHVzaGVkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2UxXCI7IH1cblxuLmZhLXdvcmRwcmVzcy1zaW1wbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MTFcIjsgfVxuXG4uZmEtbnV0cml0aW9uaXg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZDZcIjsgfVxuXG4uZmEtd29kdTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA4OFwiOyB9XG5cbi5mYS1nb29nbGUtcGF5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDc5XCI7IH1cblxuLmZhLWludGVyY29tOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2FmXCI7IH1cblxuLmZhLXpoaWh1OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNjNmXCI7IH1cblxuLmZhLWtvcnZ1ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQyZlwiOyB9XG5cbi5mYS1waXg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU0M2FcIjsgfVxuXG4uZmEtc3RlYW0tc3ltYm9sOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2Y2XCI7IH1cblxuLyohXG4gKiBGb250IEF3ZXNvbWUgRnJlZSA2LjUuMSBieSBAZm9udGF3ZXNvbWUgLSBodHRwczovL2ZvbnRhd2Vzb21lLmNvbVxuICogTGljZW5zZSAtIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tL2xpY2Vuc2UvZnJlZSAoSWNvbnM6IENDIEJZIDQuMCwgRm9udHM6IFNJTCBPRkwgMS4xLCBDb2RlOiBNSVQgTGljZW5zZSlcbiAqIENvcHlyaWdodCAyMDIzIEZvbnRpY29ucywgSW5jLlxuICovXG46cm9vdCwgOmhvc3Qge1xuICAtLWZhLXN0eWxlLWZhbWlseS1jbGFzc2ljOiAnRm9udCBBd2Vzb21lIDYgRnJlZSc7XG4gIC0tZmEtZm9udC1yZWd1bGFyOiBub3JtYWwgNDAwIDFlbS8xICdGb250IEF3ZXNvbWUgNiBGcmVlJzsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNiBGcmVlJztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LWRpc3BsYXk6IGJsb2NrO1xuICBzcmM6IHVybChcIi4uL3dlYmZvbnRzL2ZhLXJlZ3VsYXItNDAwLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi93ZWJmb250cy9mYS1yZWd1bGFyLTQwMC50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLmZhcixcbi5mYS1yZWd1bGFyIHtcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4vKiFcbiAqIEZvbnQgQXdlc29tZSBGcmVlIDYuNS4xIGJ5IEBmb250YXdlc29tZSAtIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tXG4gKiBMaWNlbnNlIC0gaHR0cHM6Ly9mb250YXdlc29tZS5jb20vbGljZW5zZS9mcmVlIChJY29uczogQ0MgQlkgNC4wLCBGb250czogU0lMIE9GTCAxLjEsIENvZGU6IE1JVCBMaWNlbnNlKVxuICogQ29weXJpZ2h0IDIwMjMgRm9udGljb25zLCBJbmMuXG4gKi9cbjpyb290LCA6aG9zdCB7XG4gIC0tZmEtc3R5bGUtZmFtaWx5LWNsYXNzaWM6ICdGb250IEF3ZXNvbWUgNiBGcmVlJztcbiAgLS1mYS1mb250LXNvbGlkOiBub3JtYWwgOTAwIDFlbS8xICdGb250IEF3ZXNvbWUgNiBGcmVlJzsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNiBGcmVlJztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogOTAwO1xuICBmb250LWRpc3BsYXk6IGJsb2NrO1xuICBzcmM6IHVybChcIi4uL3dlYmZvbnRzL2ZhLXNvbGlkLTkwMC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vd2ViZm9udHMvZmEtc29saWQtOTAwLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG4uZmFzLFxuLmZhLXNvbGlkIHtcbiAgZm9udC13ZWlnaHQ6IDkwMDsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgQnJhbmRzJztcbiAgc3JjOiB1cmwoXCIvdGVtcGxhdGUvY29udGVudC9kZXZlbG9wbWVudC9jc3Mvd2ViZm9udHMvZm9udGF3ZXNvbWUvZmEtYnJhbmRzLTQwMC53b2ZmMlwiKSwgdXJsKFwiL3RlbXBsYXRlL2NvbnRlbnQvZGV2ZWxvcG1lbnQvY3NzL3dlYmZvbnRzL2ZvbnRhd2Vzb21lL2ZhLWJyYW5kcy00MDAud29mZlwiKSwgdXJsKFwiL3RlbXBsYXRlL2NvbnRlbnQvZGV2ZWxvcG1lbnQvY3NzL3dlYmZvbnRzL2ZvbnRhd2Vzb21lL2ZhLWJyYW5kcy00MDAudHRmXCIpO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXNpemU6IG5vcm1hbDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSBTb2xpZCc7XG4gIHNyYzogdXJsKFwiL3RlbXBsYXRlL2NvbnRlbnQvZGV2ZWxvcG1lbnQvY3NzL3dlYmZvbnRzL2ZvbnRhd2Vzb21lL2ZhLXNvbGlkLTkwMC53b2ZmMlwiKSwgdXJsKFwiL3RlbXBsYXRlL2NvbnRlbnQvZGV2ZWxvcG1lbnQvY3NzL3dlYmZvbnRzL2ZvbnRhd2Vzb21lL2ZhLXNvbGlkLTkwMC53b2ZmXCIpLCB1cmwoXCIvdGVtcGxhdGUvY29udGVudC9kZXZlbG9wbWVudC9jc3Mvd2ViZm9udHMvZm9udGF3ZXNvbWUvZmEtc29saWQtOTAwLnR0ZlwiKTtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgZm9udC1zaXplOiBub3JtYWw7XG4gIGZvbnQtZGlzcGxheTogc3dhcDsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgUmVndWxhcic7XG4gIHNyYzogdXJsKFwiL3RlbXBsYXRlL2NvbnRlbnQvZGV2ZWxvcG1lbnQvY3NzL3dlYmZvbnRzL2ZvbnRhd2Vzb21lL2ZhLXJlZ3VsYXItNDAwLndvZmYyXCIpLCB1cmwoXCIvdGVtcGxhdGUvY29udGVudC9kZXZlbG9wbWVudC9jc3Mvd2ViZm9udHMvZm9udGF3ZXNvbWUvZmEtcmVndWxhci00MDAud29mZlwiKSwgdXJsKFwiL3RlbXBsYXRlL2NvbnRlbnQvZGV2ZWxvcG1lbnQvY3NzL3dlYmZvbnRzL2ZvbnRhd2Vzb21lL2ZhLXJlZ3VsYXItNDAwLnR0ZlwiKTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zaXplOiBub3JtYWw7XG4gIGZvbnQtZGlzcGxheTogc3dhcDsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG9cIjtcbiAgc3JjOiB1cmwoXCIvdGVtcGxhdGUvY29udGVudC9kZXZlbG9wbWVudC9jc3Mvd2ViZm9udHMvZm9udGVsbG8tZXhwcmVzcy9mb250ZWxsby5lb3RcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcIi90ZW1wbGF0ZS9jb250ZW50L2RldmVsb3BtZW50L2Nzcy93ZWJmb250cy9mb250ZWxsby1leHByZXNzL2ZvbnRlbGxvLnN2Z1wiKSBmb3JtYXQoXCJzdmdcIiksIHVybChcIi90ZW1wbGF0ZS9jb250ZW50L2RldmVsb3BtZW50L2Nzcy93ZWJmb250cy9mb250ZWxsby1leHByZXNzL2ZvbnRlbGxvLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKFwiL3RlbXBsYXRlL2NvbnRlbnQvZGV2ZWxvcG1lbnQvY3NzL3dlYmZvbnRzL2ZvbnRlbGxvLWV4cHJlc3MvZm9udGVsbG8ud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIvdGVtcGxhdGUvY29udGVudC9kZXZlbG9wbWVudC9jc3Mvd2ViZm9udHMvZm9udGVsbG8tZXhwcmVzcy9mb250ZWxsby53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LWRpc3BsYXk6IHN3YXA7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvLWRqbWlsZXNcIjtcbiAgc3JjOiB1cmwoXCIvdGVtcGxhdGUvY29udGVudC9kZXZlbG9wbWVudC9jc3Mvd2ViZm9udHMvZm9udGVsbG8tZGptaWxlcy9mb250ZWxsby1kam1pbGVzLmVvdFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiL3RlbXBsYXRlL2NvbnRlbnQvZGV2ZWxvcG1lbnQvY3NzL3dlYmZvbnRzL2ZvbnRlbGxvLWRqbWlsZXMvZm9udGVsbG8tZGptaWxlcy5zdmdcIikgZm9ybWF0KFwic3ZnXCIpLCB1cmwoXCIvdGVtcGxhdGUvY29udGVudC9kZXZlbG9wbWVudC9jc3Mvd2ViZm9udHMvZm9udGVsbG8tZGptaWxlcy9mb250ZWxsby1kam1pbGVzLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKFwiL3RlbXBsYXRlL2NvbnRlbnQvZGV2ZWxvcG1lbnQvY3NzL3dlYmZvbnRzL2ZvbnRlbGxvLWRqbWlsZXMvZm9udGVsbG8tZGptaWxlcy53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi90ZW1wbGF0ZS9jb250ZW50L2RldmVsb3BtZW50L2Nzcy93ZWJmb250cy9mb250ZWxsby1kam1pbGVzL2ZvbnRlbGxvLWRqbWlsZXMud29mZjJcIikgZm9ybWF0KFwid29mZjJcIik7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwOyB9XG5cbi8qKiBcclxuICAgIC0tLS0tIEVtYWlsIFRlbXBsYXRlcyAtLS0tLSBcclxuXHJcbiAgICBUSElOSyEuLi4uLi4gTElLRSBSRUFMTFkgVEhJTksgT1VUTE9PSyBCRUZPUkUgTUFLSU5HIENIQU5HRVMsIHRoaW5ncyB0aGF0IHRoZXNlIHZhcmlhYmxlcyB3aWxsIGVmZmVjdDogXHJcbiAgICAtIEZyYWdtZW50cyAoIGFyZSBjb2xvdXJzIGdlbmVyaWMgKSBcclxuICAgIC0gT3V0bG9vayBcclxuICAgIC0gRGlwbG9tYXQgZW1haWwgcGFyYW1ldGVyc1xyXG5cclxuKiovXG4ubW9iaWxlLWJyZWFrIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAubW9iaWxlLWJyZWFrIHtcbiAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbjogYXV0byA4cHg7IH0gfVxuXG4ucGFnZS1oZWFkaW5nLW1vZHVsZSBoMSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICAucGFnZS1oZWFkaW5nLW1vZHVsZSBoMS5wcmVzZXQxIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgY29sb3I6ICMwNjA1MmY7XG4gICAgcGFkZGluZy1ib3R0b206IDE1cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLnBhZ2UtaGVhZGluZy1tb2R1bGUgaDEucHJlc2V0MTpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMXB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgICBib3JkZXItd2lkdGg6IDAgMCAxcHggMDtcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICBib3JkZXItY29sb3I6ICNhZWFlYWU7IH1cbiAgICAgIEBtZWRpYSBwcmludCB7XG4gICAgICAgIC5wYWdlLWhlYWRpbmctbW9kdWxlIGgxLnByZXNldDE6YmVmb3JlIHtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2FlYWVhZTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfSB9XG5cbmJvZHkgaDEge1xuICBtYXJnaW46IDAgMCAyNXB4OyB9XG5cbmgxIHtcbiAgY29sb3I6ICMwNjA1MmY7XG4gIGZvbnQtc2l6ZTogMi4xMjVyZW07XG4gIGZvbnQtZmFtaWx5OiBcIkdpYnNvblwiLCBcIkdpYnNvbiBGYWxsYmFja1wiLCBcIkFyaWFsXCI7IH1cbiAgaDEucHJlc2V0MSB7XG4gICAgbWFyZ2luOiAwIDAgMjVweDtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICBoMS5wcmVzZXQyIHtcbiAgICBmb250LXNpemU6IDEuOTM3NXJlbTtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIGgxLnByZXNldDI6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDFweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgYm9yZGVyLXdpZHRoOiAwIDAgMXB4IDA7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjYWVhZWFlOyB9XG4gICAgICBAbWVkaWEgcHJpbnQge1xuICAgICAgICBoMS5wcmVzZXQyOmJlZm9yZSB7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNhZWFlYWU7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH0gfVxuXG5oMiB7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgZm9udC1mYW1pbHk6IFwiR2lic29uXCIsIFwiR2lic29uIEZhbGxiYWNrXCIsIFwiQXJpYWxcIjtcbiAgbGluZS1oZWlnaHQ6IDEuNTsgfVxuICBoMi5wcmVzZXQxIHtcbiAgICBwYWRkaW5nOiA1cHggMDtcbiAgICBtYXJnaW46IDAgMCAyNXB4O1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM1MDUwNmQ7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgICB3b3JkLXNwYWNpbmc6IDJweDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGJvcmRlci1ib3R0b206IDA7IH1cbiAgaDIucHJlc2V0MiB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGNvbG9yOiAjMDYwNTJmO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gICAgd29yZC1zcGFjaW5nOiBub3JtYWw7IH1cbiAgaDIucHJlc2V0MyB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDAgMCAyMHB4O1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgICB3b3JkLXNwYWNpbmc6IG5vcm1hbDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBjb2xvcjogIzA2MDUyZjtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICBoMi5wcmVzZXQzOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IDA7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIGJvcmRlci13aWR0aDogMCAwIDFweCAwO1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgIGJvcmRlci1jb2xvcjogI2FlYWVhZTsgfVxuICAgICAgQG1lZGlhIHByaW50IHtcbiAgICAgICAgaDIucHJlc2V0MzpiZWZvcmUge1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjYWVhZWFlO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9IH1cbiAgaDIucHJlc2V0NCB7XG4gICAgcGFkZGluZzogNXB4IDA7XG4gICAgbWFyZ2luOiAwIDAgMTVweDtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTA1MDZkO1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAycHg7XG4gICAgd29yZC1zcGFjaW5nOiAycHg7XG4gICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICBoMi5wcmVzZXQ0IHtcbiAgICAgICAgbWFyZ2luOiAwIDAgNTBweDsgfSB9XG5cbmgzIHtcbiAgbWFyZ2luOiAwO1xuICBmb250LWZhbWlseTogXCJHaWJzb25cIiwgXCJHaWJzb24gRmFsbGJhY2tcIiwgXCJBcmlhbFwiO1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICBjb2xvcjogIzA2MDUyZjsgfVxuICBoMy5wcmVzZXQxIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogNXB4IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzUwNTA2ZDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAxLjA2MjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgaDMucHJlc2V0MiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbjogMCAwIDI1cHg7XG4gICAgcGFkZGluZzogMCAwIDEwcHg7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgY29sb3I6ICMwNjA1MmY7IH1cbiAgICBoMy5wcmVzZXQyOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDFweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBib3JkZXItd2lkdGg6IDAgMCAxcHggMDtcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICBib3JkZXItY29sb3I6ICNhZWFlYWU7IH1cblxuaDQge1xuICBjb2xvcjogIzAwMDAwMDtcbiAgZm9udC1zaXplOiAxLjJyZW07XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtZmFtaWx5OiBcIkdpYnNvblwiLCBcIkdpYnNvbiBGYWxsYmFja1wiLCBcIkFyaWFsXCI7IH1cblxuaDUge1xuICBjb2xvcjogIzAwMDAwMDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LWZhbWlseTogXCJHaWJzb25cIiwgXCJHaWJzb24gRmFsbGJhY2tcIiwgXCJBcmlhbFwiOyB9XG5cbmg2IHtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1mYW1pbHk6IFwiR2lic29uXCIsIFwiR2lic29uIEZhbGxiYWNrXCIsIFwiQXJpYWxcIjsgfVxuXG4uY2FsbG91dC5hbGVydCBoNSwgLmNhbGxvdXQuYWxlcnQgcCB7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogNzAwOyB9XG5cbi50ZXh0LWNvbnRhaW5lciB7XG4gIHdpZHRoOiBmaXQtY29udGVudDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gIG1hcmdpbjogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgIC50ZXh0LWNvbnRhaW5lciB7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAgIC50ZXh0LWNvbnRhaW5lciB7XG4gICAgICBtYXJnaW46IDA7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgIC50ZXh0LWNvbnRhaW5lci5hbGlnbi1sZWZ0IHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuXG5hIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTAsICMwNjA1MmYpO1xuICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzLCBvcGFjaXR5IDAuOHM7IH1cbiAgYS5zdWNjZXNzIHtcbiAgICBjb2xvcjogIzEyODExZjsgfVxuICAgIGEuc3VjY2VzczpiZWZvcmUsIGEuc3VjY2VzczphZnRlciB7XG4gICAgICBjb2xvcjogIzEyODExZjsgfVxuICBhLndhcm5pbmcge1xuICAgIGNvbG9yOiAjZmY1ZTA1OyB9XG4gICAgYS53YXJuaW5nOmJlZm9yZSwgYS53YXJuaW5nOmFmdGVyIHtcbiAgICAgIGNvbG9yOiAjZmY1ZTA1OyB9XG4gIGEuYWxlcnQge1xuICAgIGNvbG9yOiAjYjIwYzBjOyB9XG4gICAgYS5hbGVydDpiZWZvcmUsIGEuYWxlcnQ6YWZ0ZXIge1xuICAgICAgY29sb3I6ICNiMjBjMGM7IH1cbiAgYS5lZGl0IHtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGNvbG9yOiAjMDYwNTJmO1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgIGEuZWRpdDphZnRlciB7XG4gICAgICBjb250ZW50OiBcIu+BhFwiO1xuICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgUmVndWxhclwiO1xuICAgICAgZm9udC1zaXplOiAxN3B4OyB9XG4gIGEuZGlzYWJsZWQge1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgb3BhY2l0eTogMC40OyB9XG4gIGEubmV3cy1idXR0b24ge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgYS5ibG9nLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICBhLmV2ZW50cy1idXR0b24ge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgYS5leHRlcm5hbC1saW5rLWljb246YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwi74KOXCI7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiOyB9XG4gIGE6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWNvbG91ci1saWdodG5lc3MtMCwgI2FlOTQ2MSk7XG4gICAgb3BhY2l0eTogMC45O1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnMsIG9wYWNpdHkgMC42czsgfVxuICBhOmFjdGl2ZSB7XG4gICAgY29sb3I6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy0wLCAjNzc3Nzc3KTsgfVxuICBhLnBkZi1kb3dubG9hZCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgICBhLnBkZi1kb3dubG9hZDpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvh4FcIjtcbiAgICAgIG1hcmdpbi1yaWdodDogMTVweDtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgUmVndWxhclwiO1xuICAgICAgY29sb3I6ICNmZjAxMDE7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gICAgYS5wZGYtZG93bmxvYWQ6aG92ZXI6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjYWU5NDYxO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuXG5vbCBsaSB7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgaHIubW9iaWxlLXNlcGVyYXRvciB7XG4gICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbmFkZHJlc3Mge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgY29sb3I6ICMwMDAwMDA7IH1cbiAgYWRkcmVzcyBzcGFuIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG5zcGFuW2NsYXNzKj1cIi1pY29uXCJdIC5pY29uLXRleHQge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgbWFyZ2luLWxlZnQ6IDVweDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIHNwYW5bY2xhc3MqPVwiLWljb25cIl0gLmljb24tdGV4dCB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgLmNvbC1sYWJlbCArIC5wcmljZXMgcDpvbmx5LWNoaWxkIC5sYWJlbCB7XG4gICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gIC5jb2wtbGFiZWwgKyAucHJpY2VzIHA6b25seS1jaGlsZCAubGFiZWwgKyAudmFsdWUge1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH1cblxuLnByaWNlcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGZsZXgtZ3JvdzogMTtcbiAgZm9udC1zaXplOiAxcmVtOyB9XG4gIC5wcmljZXMgcCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgLnByaWNlcyAucHJpY2UtY29udGFpbmVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBsaW5lLWhlaWdodDogMS4yOyB9XG4gICAgLnByaWNlcyAucHJpY2UtY29udGFpbmVyOmhhcygudmF0KSB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAucHJpY2VzIC5wcmljZS1jb250YWluZXIgLmxhYmVsIHtcbiAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAgICAgLnByaWNlcyAucHJpY2UtY29udGFpbmVyIC5sYWJlbDpub3QoOmVtcHR5KSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNXB4OyB9XG4gICAgICAucHJpY2VzIC5wcmljZS1jb250YWluZXIgLmxhYmVsIH4gLnZhdCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiAwIDAgMCA1cHg7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgICAgLnByaWNlcyAucHJpY2UtY29udGFpbmVyIC5sYWJlbCB+IC52YXQge1xuICAgICAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50OyB9IH1cbiAgICAucHJpY2VzIC5wcmljZS1jb250YWluZXIgLnZhbHVlIHtcbiAgICAgIGNvbG9yOiAjMDYwNTJmO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLnByaWNlcyAucHJpY2UtY29udGFpbmVyIC52YWx1ZSB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH0gfVxuICAgIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lci5zYXZpbmcgLmxhYmVsLCAucHJpY2VzIC5wcmljZS1jb250YWluZXIuc2F2aW5nIC52YWx1ZSB7XG4gICAgICBjb2xvcjogIzA2MDUyZjtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgLnByaWNlcyAucHJpY2UtY29udGFpbmVyLnJycCAubGFiZWwsIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lci5ycnAgLnZhbHVlIHtcbiAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAucHJpY2VzIC5wcmljZS1jb250YWluZXIgLmxhYmVsICsgLnZhbHVlIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuLnByaWNlLWNvbnRhaW5lciAudmFsdWUge1xuICBmb250LXNpemU6IDFyZW07IH1cblxuLnByaWNlLWNvbnRhaW5lciAubGFiZWwsIC5wcmljZS1jb250YWluZXIgLnZhbHVlIHtcbiAgZm9udC1mYW1pbHk6IFwiR2lic29uXCIsIFwiR2lic29uIEZhbGxiYWNrXCIsIFwiQXJpYWxcIjsgfVxuXG4ucHJpY2Uge1xuICBtYXJnaW46IDA7IH1cbiAgLnByaWNlIC5jdXJyZW5jeSB7XG4gICAgZm9udC1zaXplOiAxLjYyNXJlbTsgfVxuXG4udmF0IHtcbiAgd2lkdGg6IGZpdC1jb250ZW50O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmctbGVmdDogMTBweDtcbiAgY29sb3I6ICM3Nzc3Nzc7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG5ociB7XG4gIG1hcmdpbjogMjVweCAwOyB9XG5cbi8qKlxuICogRm91bmRhdGlvbiBmb3IgU2l0ZXNcbiAqIFZlcnNpb24gNi43LjVcbiAqIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuICovXG4udGFibGUtZm9vdGVyLXNwYWNlci5wcmVzZXQtMSB7XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC50YWJsZS1mb290ZXItc3BhY2VyLnByZXNldC0xIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7IH0gfVxuXG4udGFibGUtZm9vdGVyLXNwYWNlci5wcmVzZXQtMiB7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC50YWJsZS1mb290ZXItc3BhY2VyLnByZXNldC0yIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH0gfVxuXG4udGFibGUtZm9vdGVyLXNwYWNlciBociB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjYWVhZWFlOyB9XG5cbnRhYmxlIHtcbiAgLS1ib3JkZXItY29sb3VyOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtNyk7XG4gIC0tYm9yZGVyLWhvdmVyLWNvbG91cjogI2FlYWVhZTtcbiAgaGVpZ2h0OiBmaXQtY29udGVudDtcbiAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICBib3JkZXItY29sb3I6IHZhcigtLWJvcmRlci1jb2xvdXIpOyB9XG4gIHRhYmxlLnN0cmlwZWQgdHIge1xuICAgIHBhZGRpbmc6IDI1cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIHRhYmxlLnNob3ctYm9yZGVyLWJvdHRvbSB0ciB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDsgfVxuICAgICAgdGFibGUuc2hvdy1ib3JkZXItYm90dG9tIHRyOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLWNvbG91cik7XG4gICAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjhzOyB9XG4gICAgICAgIHRhYmxlLnNob3ctYm9yZGVyLWJvdHRvbSB0cjpub3QoOmxhc3QtY2hpbGQpOmhvdmVyIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWJvcmRlci1ob3Zlci1jb2xvdXIpO1xuICAgICAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjZzOyB9IH1cbiAgdGFibGUuc2hvdy1ib3JkZXJzIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3VyKTsgfVxuICAgIHRhYmxlLnNob3ctYm9yZGVycyB0aCwgdGFibGUuc2hvdy1ib3JkZXJzIHRkIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1jb2xvdXIpOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICB0YWJsZS5zaG93LWludGVybmFsLWJvcmRlcnMgdHI6Zmlyc3QtY2hpbGQgdGgsIHRhYmxlLnNob3ctaW50ZXJuYWwtYm9yZGVycyB0cjpmaXJzdC1jaGlsZCB0ZCB7XG4gICAgICBib3JkZXItdG9wOiAwOyB9XG4gICAgdGFibGUuc2hvdy1pbnRlcm5hbC1ib3JkZXJzIHRyOmxhc3QtY2hpbGQgdGgsIHRhYmxlLnNob3ctaW50ZXJuYWwtYm9yZGVycyB0cjpsYXN0LWNoaWxkIHRkIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDA7IH1cbiAgICB0YWJsZS5zaG93LWludGVybmFsLWJvcmRlcnMgdHIgdGgsIHRhYmxlLnNob3ctaW50ZXJuYWwtYm9yZGVycyB0ciB0ZCB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3VyKTsgfVxuICAgICAgdGFibGUuc2hvdy1pbnRlcm5hbC1ib3JkZXJzIHRyIHRoOmZpcnN0LWNoaWxkLCB0YWJsZS5zaG93LWludGVybmFsLWJvcmRlcnMgdHIgdGQ6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItbGVmdDogMDsgfVxuICAgICAgdGFibGUuc2hvdy1pbnRlcm5hbC1ib3JkZXJzIHRyIHRoOmxhc3QtY2hpbGQsIHRhYmxlLnNob3ctaW50ZXJuYWwtYm9yZGVycyB0ciB0ZDpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAwOyB9IH1cbiAgdGFibGUuaGlnaGxpZ2h0LWZpcnN0LWNvbHVtbiB0ciB0ZDpmaXJzdC1jaGlsZCB7XG4gICAgY29sb3I6ICMwNjA1MmY7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZm9udC1mYW1pbHk6IFwiR2lic29uXCIsIFwiR2lic29uIEZhbGxiYWNrXCIsIFwiQXJpYWxcIjsgfVxuICB0YWJsZS5wcmVzZXQtMSB7XG4gICAgbWFyZ2luOiAxMHB4IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICB0YWJsZS5wcmVzZXQtMSB7XG4gICAgICAgIG1hcmdpbjogMTVweCAwOyB9IH1cbiAgICB0YWJsZS5wcmVzZXQtMSB0ZCwgdGFibGUucHJlc2V0LTEgdGgge1xuICAgICAgcGFkZGluZzogMTBweCAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgdGFibGUucHJlc2V0LTEucm93LXNwYWNpbmcgdGJvZHk6YmVmb3JlIHtcbiAgICAgICAgbWFyZ2luOiAtMTBweDsgfSB9XG4gICAgdGFibGUucHJlc2V0LTEgdGJvZHk6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogZmxleDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICB0YWJsZS5wcmVzZXQtMSB0Ym9keTpiZWZvcmUge1xuICAgICAgICAgIG1hcmdpbjogMTBweDsgfSB9XG4gICAgdGFibGUucHJlc2V0LTEgdGJvZHkgdHIge1xuICAgICAgcGFkZGluZzogNXB4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIHRhYmxlLnByZXNldC0xIHRib2R5IHRyIHtcbiAgICAgICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgICB0YWJsZS5wcmVzZXQtMSB0Ym9keSB0ZCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBwYWRkaW5nOiA1cHggMCAwO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICB0YWJsZS5wcmVzZXQtMSB0Ym9keSB0ZCB7XG4gICAgICAgICAgcGFkZGluZzogN3B4IDA7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cbiAgICAgIHRhYmxlLnByZXNldC0xIHRib2R5IHRkLmltYWdlLWNvbCB7XG4gICAgICAgIC0tbWVkaWEtYXNwZWN0LXJhdGlvOiAxLzE7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAgICAgdGFibGUucHJlc2V0LTEgdGJvZHkgdGQuaW1hZ2UtY29sIC5pbWFnZSB7XG4gICAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNmM2YzZjM7IH1cbiAgICB0YWJsZS5wcmVzZXQtMSB0Ym9keSBhOm5vdChbY2xhc3MqPVwiLWJ1dHRvblwiXSkge1xuICAgICAgY29sb3I6ICMwNjA1MmY7XG4gICAgICBmb250LXNpemU6IDFyZW07IH1cbiAgICAgIHRhYmxlLnByZXNldC0xIHRib2R5IGE6bm90KFtjbGFzcyo9XCItYnV0dG9uXCJdKTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjYWU5NDYxO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAgICAgICB0YWJsZS5wcmVzZXQtMSB0Ym9keSBhOm5vdChbY2xhc3MqPVwiLWJ1dHRvblwiXSk6aG92ZXIgc3BhbiB7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgICAgIHRhYmxlLnByZXNldC0xIHRib2R5IGE6bm90KFtjbGFzcyo9XCItYnV0dG9uXCJdKTphY3RpdmUge1xuICAgICAgICBjb2xvcjogIzA2MDUyZjsgfVxuICAgIHRhYmxlLnByZXNldC0xIHRib2R5IGE6bm90KC5wZGYtZG93bmxvYWQpIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIHRhYmxlLnByZXNldC0yIHtcbiAgICAgIG1hcmdpbjogNDVweCAwIDQwcHg7IH0gfVxuICB0YWJsZS5wcmVzZXQtMiB0Ym9keTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMTBweDsgfVxuICB0YWJsZS5wcmVzZXQtMyB0ZCwgdGFibGUucHJlc2V0LTMgdGgge1xuICAgIHBhZGRpbmc6IDAgMCAxMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgdGFibGUucHJlc2V0LTMgdGQsIHRhYmxlLnByZXNldC0zIHRoIHtcbiAgICAgICAgcGFkZGluZzogMXB4IDA7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgdGFibGUucHJlc2V0LTMucm93LWFkZGl0aW9uYWwtcGFkZGluZyB0ZCB7XG4gICAgICBwYWRkaW5nLXRvcDogMjBweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAyMHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIHRhYmxlLnByZXNldC0zIHRib2R5OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiAxMHB4OyB9IH1cbiAgdGFibGUucHJlc2V0LTMgdGJvZHkgdHIge1xuICAgIHBhZGRpbmc6IDEwcHggMjBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIHRhYmxlLnByZXNldC0zIHRib2R5IHRyIHtcbiAgICAgICAgcGFkZGluZzogMDsgfSB9XG4gIHRhYmxlLnByZXNldC0zIHRib2R5IHRkLCB0YWJsZS5wcmVzZXQtMyB0Ym9keSB0aCB7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICB0YWJsZS5wcmVzZXQtMyB0Ym9keSB0ZCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIHRhYmxlLnByZXNldC0zIHRib2R5IHRkIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cbiAgdGFibGUucHJlc2V0LTMgdGJvZHkgYSB7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgY29sb3I6ICMwNjA1MmY7IH1cbiAgICB0YWJsZS5wcmVzZXQtMyB0Ym9keSBhOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjYWU5NDYxO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgICB0YWJsZS5wcmVzZXQtMyB0Ym9keSBhOmFjdGl2ZSB7XG4gICAgICBjb2xvcjogIzA2MDUyZjsgfVxuICB0YWJsZS5yb3ctc3BhY2luZyB7XG4gICAgYm9yZGVyLWNvbGxhcHNlOiBzZXBhcmF0ZSAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1zcGFjaW5nOiAwIDEwcHg7IH1cbiAgICB0YWJsZS5yb3ctc3BhY2luZzpoYXMoLnJvdy1pbnB1dC10b2dnbGUpIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDJweDtcbiAgICAgIHBhZGRpbmctbGVmdDogMnB4OyB9XG4gIHRhYmxlIHRib2R5IHNwYW4uY29sLWxhYmVsIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIHRhYmxlIHRib2R5IHNwYW4uY29sLWxhYmVsIHtcbiAgICAgICAgd2lkdGg6IGF1dG87IH0gfVxuICB0YWJsZSB0ZCB7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG4gIHRhYmxlOmhhcyh0ZFtjbGFzcyo9XCJpbWFnZS1jb2xcIl0pIHRkIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICB0YWJsZSB0ZC5uby1wZGYtZG93bmxvYWQgc3Bhbi50ZXh0LWNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDM1cHg7IH0gfVxuICB0YWJsZSBidXR0b24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICB0YWJsZSB0ci5zdWNjZXNzIC5ub3RpZmljYXRpb24taW5kaWNhdG9yLWNvbnRhaW5lcjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQ6ICMxMjgxMWY7IH1cbiAgdGFibGUgdHIuc3VjY2VzcyAubm90aWZpY2F0aW9uLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBib3JkZXItY29sb3I6ICMxMjgxMWY7IH1cbiAgICB0YWJsZSB0ci5zdWNjZXNzIC5ub3RpZmljYXRpb24tY29udGVudC1jb250YWluZXIgLm5vdGlmaWNhdGlvbi1jb250ZW50IHtcbiAgICAgIGNvbG9yOiAjMTI4MTFmOyB9XG4gIHRhYmxlIHRyLndhcm5pbmcgLm5vdGlmaWNhdGlvbi1pbmRpY2F0b3ItY29udGFpbmVyOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZDogI2ZmNWUwNTsgfVxuICB0YWJsZSB0ci53YXJuaW5nIC5ub3RpZmljYXRpb24tY29udGVudC1jb250YWluZXIge1xuICAgIGJvcmRlci1jb2xvcjogI2ZmNWUwNTsgfVxuICAgIHRhYmxlIHRyLndhcm5pbmcgLm5vdGlmaWNhdGlvbi1jb250ZW50LWNvbnRhaW5lciAubm90aWZpY2F0aW9uLWNvbnRlbnQge1xuICAgICAgY29sb3I6ICNmZjVlMDU7IH1cbiAgdGFibGUgdHIuYWxlcnQgLm5vdGlmaWNhdGlvbi1pbmRpY2F0b3ItY29udGFpbmVyOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZDogI2IyMGMwYzsgfVxuICB0YWJsZSB0ci5hbGVydCAubm90aWZpY2F0aW9uLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBib3JkZXItY29sb3I6ICNiMjBjMGM7IH1cbiAgICB0YWJsZSB0ci5hbGVydCAubm90aWZpY2F0aW9uLWNvbnRlbnQtY29udGFpbmVyIC5ub3RpZmljYXRpb24tY29udGVudCB7XG4gICAgICBjb2xvcjogI2IyMGMwYzsgfVxuICB0YWJsZSB0ci5lcnJvci1yb3csIHRhYmxlIHRyLmVycm9yIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmRlMWUxICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICNiMjBjMGM7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIHRhYmxlIHRyICsgdHIuZXJyb3Itcm93IHRkLCB0YWJsZSB0ciArIHRyLmVycm9yIHRkIHtcbiAgICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCAjZmZmZmZmOyB9IH1cbiAgdGFibGUgdHIuY2FyZC1leHBpcmVkLCB0YWJsZSB0ci5leHBpcmVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtOSk7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yLCBib3gtc2hhZG93IDAuOHM7IH1cbiAgICB0YWJsZSB0ci5jYXJkLWV4cGlyZWQ6aG92ZXIsIHRhYmxlIHRyLmV4cGlyZWQ6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTkpO1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciwgYm94LXNoYWRvdyAwLjZzOyB9XG4gICAgdGFibGUgdHIuY2FyZC1leHBpcmVkIHRkLCB0YWJsZSB0ci5leHBpcmVkIHRkIHtcbiAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC44czsgfVxuICAgIHRhYmxlIHRyLmNhcmQtZXhwaXJlZCAucmVtb3ZlLWNvbCwgdGFibGUgdHIuY2FyZC1leHBpcmVkIC5leHBpcmUtZGF0ZS1jb2wsIHRhYmxlIHRyLmV4cGlyZWQgLnJlbW92ZS1jb2wsIHRhYmxlIHRyLmV4cGlyZWQgLmV4cGlyZS1kYXRlLWNvbCB7XG4gICAgICBvcGFjaXR5OiAxOyB9XG4gIHRhYmxlIHRyLnJvdy1pbnB1dC10b2dnbGUge1xuICAgIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtOSk7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IsIGJveC1zaGFkb3cgMC44czsgfVxuICAgIHRhYmxlIHRyLnJvdy1pbnB1dC10b2dnbGU6aGFzKGlucHV0W3R5cGU9J2NoZWNrYm94J106Y2hlY2tlZCwgaW5wdXRbdHlwZT1cInJhZGlvXCJdOmNoZWNrZWQpIHtcbiAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCB2YXIoLS1zZWNvbmRhcnktY29sb3VyLWxpZ2h0bmVzcy0wKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNlY29uZGFyeS1jb2xvdXItbGlnaHRuZXNzLTEwKTtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IsIGJveC1zaGFkb3cgMC42czsgfVxuICAgIHRhYmxlIHRyLnJvdy1pbnB1dC10b2dnbGU6aG92ZXIge1xuICAgICAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4IHZhcigtLXNlY29uZGFyeS1jb2xvdXItbGlnaHRuZXNzLTcpOyB9XG4gIHRhYmxlIHRyOmhvdmVyIHRkIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC42czsgfVxuICB0YWJsZSAuc3VjY2Vzcy1pY29uOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLvgIxcIjtcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICBjb2xvcjogIzEyODExZjsgfVxuICB0YWJsZSAuZmFpbGVkLWljb246YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu+BqlwiO1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgIGNvbG9yOiAjYjIwYzBjOyB9XG4gIHRhYmxlIC5mYWlsZWQtcmVhc29uIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tbGVmdDogMzBweDtcbiAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICBjb2xvcjogIzc3Nzc3NzsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIHRhYmxlIC5mYWlsZWQtcmVhc29uIHtcbiAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIHRhYmxlIC5mYWlsZWQtaWNvbiwgdGFibGUgLnN1Y2Nlc3MtaWNvbiB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfSB9XG4gIHRhYmxlIC5mYWlsZWQtaWNvbjpiZWZvcmUsIHRhYmxlIC5zdWNjZXNzLWljb246YmVmb3JlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgZm9udC1zaXplOiAyMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICB0YWJsZSAub3JkZXItdG90YWwtY29sLCB0YWJsZSB0aC5jc3YtaW1wb3J0LWNvbCB7XG4gICAgICB3aWR0aDogMjAwcHg7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgIHRhYmxlIC5hZGRyZXNzLWJsb2NrIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OyB9IH1cbiAgdGFibGUgLnJlbW92ZS1idXR0b246YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu+LrVwiO1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBjb2xvcjogIzg4ODg4ODtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gIHRhYmxlIC5yZW1vdmUtYnV0dG9uOmhvdmVyOmJlZm9yZSB7XG4gICAgY29sb3I6ICNhZTk0NjE7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICB0YWJsZSAucmVtb3ZlLWJ1dHRvbjphY3RpdmU6YmVmb3JlIHtcbiAgICBjb2xvcjogIzA2MDUyZjsgfVxuICB0YWJsZSAuY2FyZC10eXBlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLvgp1cIjtcbiAgICBtYXJnaW46IDAgMTBweCAwIDA7XG4gICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgIGNvbG9yOiAjODg4ODg4O1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgdGFibGUgLmV4cGlyZWQtdGV4dCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogMCAwIDAgNXB4O1xuICAgIGNvbG9yOiAjZmYwMTAxO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICB0YWJsZSAuZXhwaXJlZC10ZXh0IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIHRhYmxlIC50b29sdGlwLWNvbnRhaW5lci5zdGF0ZS1pbmRpY2F0b3IgLnRvb2x0aXAtdHJpZ2dlcjpiZWZvcmUge1xuICAgICAgZm9udC1zaXplOiA5cHg7IH0gfVxuXG50aGVhZC5wcmVzZXQtMSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIHRoZWFkLnByZXNldC0xIHRoIHtcbiAgICBwYWRkaW5nOiAwIDAgMjVweDtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBjb2xvcjogIzA2MDUyZjtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RhZGFkYTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgIHRoZWFkLnByZXNldC0xIHRoIGJ1dHRvbiB7XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgY29sb3I6ICMwNjA1MmY7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gIHRoZWFkLnByZXNldC0xIHRoW2NsYXNzJD1kZXNjcmlwdGlvbi1jb2xdIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIHRoZWFkLnByZXNldC0xICsgdGJvZHkgLmNvbC1sYWJlbCB7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6ICMwNjA1MmY7IH1cblxudGhlYWQucHJlc2V0LTIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICB0aGVhZC5wcmVzZXQtMiB0aCB7XG4gICAgcGFkZGluZzogMCAwIDIwcHg7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBjb2xvcjogIzAwMDAwMDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2FlYWVhZTsgfVxuXG50aGVhZCB0aCB7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgZm9udC1mYW1pbHk6IFwiR2lic29uXCIsIFwiR2lic29uIEZhbGxiYWNrXCIsIFwiQXJpYWxcIjsgfVxuXG4uY29tcGFyaXNvbi10YWJsZS1jb250YWluZXIgLmNvbXBhcmlzb24tdGFibGUtYnV0dG9ucyB7XG4gIGRpc3BsYXk6IGZsZXg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5jb21wYXJpc29uLXRhYmxlLWNvbnRhaW5lciAuY29tcGFyaXNvbi10YWJsZS1idXR0b25zIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAuY29tcGFyaXNvbi10YWJsZS1jb250YWluZXIgLmNvbXBhcmlzb24tdGFibGUtYnV0dG9ucyB1bCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBvdmVyZmxvdy15OiBoaWRkZW47XG4gICAgb3ZlcmZsb3cteDogYXV0bzsgfVxuICAgIC5jb21wYXJpc29uLXRhYmxlLWNvbnRhaW5lciAuY29tcGFyaXNvbi10YWJsZS1idXR0b25zIHVsIGxpIHtcbiAgICAgIGhlaWdodDogMTAwJTsgfVxuICAgICAgLmNvbXBhcmlzb24tdGFibGUtY29udGFpbmVyIC5jb21wYXJpc29uLXRhYmxlLWJ1dHRvbnMgdWwgbGk6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTBweDsgfVxuICAuY29tcGFyaXNvbi10YWJsZS1jb250YWluZXIgLmNvbXBhcmlzb24tdGFibGUtYnV0dG9ucyAuY29tcGFyaXNvbi10YWJsZS1idXR0b24ge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwYWRkaW5nOiAyMHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM4ODg4ODg7XG4gICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG4gICAgLmNvbXBhcmlzb24tdGFibGUtY29udGFpbmVyIC5jb21wYXJpc29uLXRhYmxlLWJ1dHRvbnMgLmNvbXBhcmlzb24tdGFibGUtYnV0dG9uLmFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDYwNTJmO1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBib3JkZXItY29sb3I6ICMwNjA1MmY7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH1cblxuLmNvbXBhcmlzb24tdGFibGUtY29udGFpbmVyIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICB3aWR0aDogMTAwJTsgfVxuXG5bY29tcGFyaXNvbi10YWJsZV0gLmNvbXBhcmlzb24tdmFsdWVzIHRkICsgdGQsIFtjb21wYXJpc29uLXRhYmxlXSB0aCArIHRoIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgZmxleC1ncm93OiAxOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICBbY29tcGFyaXNvbi10YWJsZV0gLmNvbXBhcmlzb24tdmFsdWVzIHRkICsgdGQsIFtjb21wYXJpc29uLXRhYmxlXSB0aCArIHRoIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7IH0gfVxuXG5bY29tcGFyaXNvbi10YWJsZV0gdGhlYWQge1xuICBkaXNwbGF5OiBub25lOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICBbY29tcGFyaXNvbi10YWJsZV0gdGhlYWQge1xuICAgICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH0gfVxuICBbY29tcGFyaXNvbi10YWJsZV0gdGhlYWQgdHIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIFtjb21wYXJpc29uLXRhYmxlXSB0aGVhZCB0aCB7XG4gICAgcGFkZGluZzogMCAwIDE1cHg7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkYWRhZGE7IH1cbiAgICBbY29tcGFyaXNvbi10YWJsZV0gdGhlYWQgdGg6Zmlyc3QtY2hpbGQge1xuICAgICAgd2lkdGg6IDE1JTsgfVxuXG5bY29tcGFyaXNvbi10YWJsZV0gdGJvZHkuY29tcGFyaXNvbi12YWx1ZXMge1xuICBwYWRkaW5nOiAxMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZWVlZWVlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICBbY29tcGFyaXNvbi10YWJsZV0gdGJvZHkuY29tcGFyaXNvbi12YWx1ZXMge1xuICAgICAgYm9yZGVyOiAwOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICBbY29tcGFyaXNvbi10YWJsZV0gdGJvZHkuY29tcGFyaXNvbi12YWx1ZXMgdHIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWNvbnRlbnQ6IGJhc2VsaW5lOyB9IH1cbiAgW2NvbXBhcmlzb24tdGFibGVdIHRib2R5LmNvbXBhcmlzb24tdmFsdWVzIHRkIHtcbiAgICBtYXJnaW46IDVweCAwO1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgZm9udC1zaXplOiAxLjA2MjVyZW07XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkYWRhZGE7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICBbY29tcGFyaXNvbi10YWJsZV0gdGJvZHkuY29tcGFyaXNvbi12YWx1ZXMgdGQge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGJvcmRlcjogMDsgfSB9XG4gICAgW2NvbXBhcmlzb24tdGFibGVdIHRib2R5LmNvbXBhcmlzb24tdmFsdWVzIHRkOm50aC1jaGlsZCgxKSB7XG4gICAgICB3aWR0aDogNTglO1xuICAgICAgZm9udC1mYW1pbHk6IFwiR2lic29uXCIsIFwiR2lic29uIEZhbGxiYWNrXCIsIFwiQXJpYWxcIjsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAgICAgW2NvbXBhcmlzb24tdGFibGVdIHRib2R5LmNvbXBhcmlzb24tdmFsdWVzIHRkOm50aC1jaGlsZCgxKSB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG4gICAgICBbY29tcGFyaXNvbi10YWJsZV0gdGJvZHkuY29tcGFyaXNvbi12YWx1ZXMgdGQ6bnRoLWNoaWxkKDEpOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICBbY29tcGFyaXNvbi10YWJsZV0gdGJvZHkuY29tcGFyaXNvbi12YWx1ZXMgdGQ6bnRoLWNoaWxkKDEpIHtcbiAgICAgICAgICB3aWR0aDogMTUlO1xuICAgICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNkYWRhZGE7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICBbY29tcGFyaXNvbi10YWJsZV0uYWxpZ24tdmFsdWUtcmlnaHQgdGJvZHkgdGQuYWN0aXZlIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfSB9XG5cbltjb21wYXJpc29uLXRhYmxlXS5hbGlnbi12YWx1ZS1yaWdodCAuY29tcGFyaXNvbi1zdW1tYXJ5IHRyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGJhc2VsaW5lOyB9XG5cbltjb21wYXJpc29uLXRhYmxlXS5hbGlnbi12YWx1ZS1yaWdodCAuY29tcGFyaXNvbi1zdW1tYXJ5IC5jb21wYXJpc29uLWN1cnJlbnRseS1zZWxlY3RlZCB7XG4gIGZsZXgtZ3JvdzogMTtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuW2NvbXBhcmlzb24tdGFibGVdIHRib2R5LmNvbXBhcmlzb24tc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDE1cHggMCAxMHB4O1xuICBjb2xvcjogIzc3Nzc3NzsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgW2NvbXBhcmlzb24tdGFibGVdIHRib2R5LmNvbXBhcmlzb24tc3VtbWFyeSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgW2NvbXBhcmlzb24tdGFibGVdIHRib2R5LmNvbXBhcmlzb24tc3VtbWFyeSAuY29tcGFyaXNvbi1jb2x1bW4taGVhZGluZyB7XG4gICAgd2lkdGg6IDU4JTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICB0YWJsZS5zdGFjay5yZXNwb25zaXZlLXRhYmxlIHRib2R5IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAxMHB4IDA7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICB0YWJsZS5zdGFjay5yZXNwb25zaXZlLXRhYmxlLmZvcmNlLW1vYmlsZS1yb3ctbGF5b3V0IHRkIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIHBhZGRpbmc6IDVweCAwOyB9IH1cblxudGFibGUuc3RhY2sucmVzcG9uc2l2ZS10YWJsZS5mb3JjZS1tb2JpbGUtcm93LWxheW91dCB0ZCAuY29sLWxhYmVsIHtcbiAgd2lkdGg6IDUwJTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIHRhYmxlLnN0YWNrLnJlc3BvbnNpdmUtdGFibGUuZm9yY2UtbW9iaWxlLXJvdy1sYXlvdXQgdGQgLmNvbC1sYWJlbCB7XG4gICAgICB3aWR0aDogMjUwcHg7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICB0YWJsZS5zdGFjay5yZXNwb25zaXZlLXRhYmxlIHRkIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gIHRhYmxlLnN0YWNrLnJlc3BvbnNpdmUtdGFibGUgdGQuY29sdW1uLWVtcHR5IHtcbiAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgdGFibGUuc3RhY2sucmVzcG9uc2l2ZS10YWJsZSB0ZCAuY29sLWxhYmVsIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gIHRhYmxlLnN0YWNrLnJlc3BvbnNpdmUtdGFibGUgdGRbY2xhc3MqPVwiZGVzY3JpcHRpb24tY29sXCJdIHtcbiAgICBhbGlnbi1pdGVtczogc3RhcnQ7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICB0YWJsZS5zdGFjay5yZXNwb25zaXZlLXRhYmxlOmhhcyh0ZFtjbGFzcyo9XCJpbWFnZS1jb2xcIl0pIHRkOm5vdChbY2xhc3MqPVwiaW1hZ2UtY29sXCJdKTpoYXMoLmNvbC1sYWJlbCkge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogNTAlIDUwJTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIHRhYmxlLnN0YWNrLnJlc3BvbnNpdmUtdGFibGU6aGFzKHRkW2NsYXNzKj1cImltYWdlLWNvbFwiXSkgdGQ6bm90KFtjbGFzcyo9XCJpbWFnZS1jb2xcIl0pOmhhcyguY29sLWxhYmVsKSB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAzMCUgNzAlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgdGFibGUuc3RhY2sucmVzcG9uc2l2ZS10YWJsZTpoYXModGRbY2xhc3MqPVwiaW1hZ2UtY29sXCJdKSB0Ym9keSB0ciB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDI1JSAxZnI7XG4gICAgZ2FwOiAwIDEwcHg7IH1cbiAgdGFibGUuc3RhY2sucmVzcG9uc2l2ZS10YWJsZTpoYXModGRbY2xhc3MqPVwiaW1hZ2UtY29sXCJdKSB0Ym9keSB0ZCB7XG4gICAgcGFkZGluZzogMDsgfVxuICB0YWJsZS5zdGFjay5yZXNwb25zaXZlLXRhYmxlOmhhcyh0ZFtjbGFzcyo9XCJpbWFnZS1jb2xcIl0pIHRib2R5IHRkOm5vdChbY2xhc3MqPVwiaW1hZ2UtY29sXCJdKSB7XG4gICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgIHRhYmxlLnN0YWNrLnJlc3BvbnNpdmUtdGFibGU6aGFzKHRkW2NsYXNzKj1cImltYWdlLWNvbFwiXSkgdGJvZHkgdGQ6bm90KFtjbGFzcyo9XCJpbWFnZS1jb2xcIl0pOmhhcyguY29sLWxhYmVsKSB7XG4gICAgICBkaXNwbGF5OiBncmlkOyB9XG4gICAgdGFibGUuc3RhY2sucmVzcG9uc2l2ZS10YWJsZTpoYXModGRbY2xhc3MqPVwiaW1hZ2UtY29sXCJdKSB0Ym9keSB0ZDpub3QoW2NsYXNzKj1cImltYWdlLWNvbFwiXSkgLmNvbnRyb2wge1xuICAgICAgbWFyZ2luOiBhdXRvIDA7IH1cbiAgdGFibGUuc3RhY2sucmVzcG9uc2l2ZS10YWJsZTpoYXModGRbY2xhc3MqPVwiaW1hZ2UtY29sXCJdKSB0Ym9keSB0ZFtjbGFzcyo9XCJkZXNjcmlwdGlvbi1jb2xcIl0ge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgW3Jlc3BvbnNpdmUtcmV2ZWFsXSB7XG4gICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi5yZXNwb25zaXZlLXJldmVhbC10YWJsZSB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlICsgdGFibGUge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSAucmVzcG9uc2l2ZS10YWJsZS1pdGVtIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjNmM2YzOyB9XG4gICAgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIC5yZXNwb25zaXZlLXRhYmxlLWl0ZW06bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1cHg7IH1cbiAgICAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgLnJlc3BvbnNpdmUtdGFibGUtaXRlbS5zdWNjZXNzIHtcbiAgICAgIGJvcmRlci1sZWZ0OiAycHggc29saWQgIzEyODExZjsgfVxuICAgICAgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIC5yZXNwb25zaXZlLXRhYmxlLWl0ZW0uc3VjY2VzcyAudGFibGUtbm90aWZpY2F0aW9uLXRleHQge1xuICAgICAgICBjb2xvcjogIzEyODExZjsgfVxuICAgIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSAucmVzcG9uc2l2ZS10YWJsZS1pdGVtLndhcm5pbmcge1xuICAgICAgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCAjZmY1ZTA1OyB9XG4gICAgICAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgLnJlc3BvbnNpdmUtdGFibGUtaXRlbS53YXJuaW5nIC50YWJsZS1ub3RpZmljYXRpb24tdGV4dCB7XG4gICAgICAgIGNvbG9yOiAjZmY1ZTA1OyB9XG4gICAgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIC5yZXNwb25zaXZlLXRhYmxlLWl0ZW0uYWxlcnQge1xuICAgICAgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCAjYjIwYzBjOyB9XG4gICAgICAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgLnJlc3BvbnNpdmUtdGFibGUtaXRlbS5hbGVydCAudGFibGUtbm90aWZpY2F0aW9uLXRleHQge1xuICAgICAgICBjb2xvcjogI2IyMGMwYzsgfVxuICAgIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSAucmVzcG9uc2l2ZS10YWJsZS1pdGVtLmFjdGl2ZSAuaGVhZGVyLWNvbnRhaW5lciAuaGVhZGVyLWl0ZW0gYSB7XG4gICAgICBjb2xvcjogIzA2MDUyZjsgfVxuICAgIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSAucmVzcG9uc2l2ZS10YWJsZS1pdGVtLmFjdGl2ZSAuaGVhZGVyLWNvbnRhaW5lcjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIu6gglwiOyB9XG4gICAgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIC5yZXNwb25zaXZlLXRhYmxlLWl0ZW0uYWN0aXZlIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICBtYXgtaGVpZ2h0OiA1MDBweDtcbiAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMThweDtcbiAgICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgMC42czsgfVxuICAgIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSAucmVzcG9uc2l2ZS10YWJsZS1pdGVtLmFjdGl2ZSAuZWxsaXBzaXMtdGV4dCB7XG4gICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgICAgbWFzay1pbWFnZTogbm9uZTsgfVxuICAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgLmhlYWRlci1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmc6IDE4cHggMjBweDsgfVxuICAgIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSAuaGVhZGVyLWNvbnRhaW5lcjpoYXMoLnVucmVhZC1jb2wpIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAgIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSAuaGVhZGVyLWNvbnRhaW5lcjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIu6gg1wiO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvLWRqbWlsZXNcIjtcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIGNvbG9yOiAjMDYwNTJmOyB9XG4gIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSAuY29udGVudC1jb250YWluZXIge1xuICAgIG1heC1oZWlnaHQ6IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogNXB4O1xuICAgIHBhZGRpbmc6IDAgMThweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgMC44czsgfVxuICAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgLmNvbnRlbnQtaXRlbSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cbiAgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIC5jb2wtbGFiZWwge1xuICAgIG1heC13aWR0aDogMTIwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogIzc3Nzc3NzsgfVxuICAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgLnRvb2x0aXAtY29udGFpbmVyLnN0YXRlLWluZGljYXRvciAudG9vbHRpcC10cmlnZ2VyOmJlZm9yZSB7XG4gICAgZm9udC1zaXplOiAxMnB4OyB9XG5cbi50YWJsZS1zb3J0LWNvbC5hc2NlbmQgYnV0dG9uOmFmdGVyIHtcbiAgY29udGVudDogXCLuoIJcIjsgfVxuXG4udGFibGUtc29ydC1jb2wuZGVzY2VuZCBidXR0b246YWZ0ZXIge1xuICBjb250ZW50OiBcIu6gg1wiOyB9XG5cbi50YWJsZS1zb3J0LWNvbCBidXR0b24ge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC50YWJsZS1zb3J0LWNvbCBidXR0b246YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvLWRqbWlsZXNcIjtcbiAgICBmb250LXNpemU6IDZweDtcbiAgICBjb2xvcjogIzg4ODg4ODsgfVxuICAudGFibGUtc29ydC1jb2wgYnV0dG9uOmhvdmVyIHtcbiAgICBjb2xvcjogI2FlOTQ2MTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gICAgLnRhYmxlLXNvcnQtY29sIGJ1dHRvbjpob3ZlcjphZnRlciB7XG4gICAgICBjb2xvcjogI2FlOTQ2MTtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgLnRhYmxlLXNvcnQtY29sIGJ1dHRvbjphY3RpdmUge1xuICAgIGNvbG9yOiAjNTA1MDZkOyB9XG4gICAgLnRhYmxlLXNvcnQtY29sIGJ1dHRvbjphY3RpdmU6YWZ0ZXIge1xuICAgICAgY29sb3I6ICM1MDUwNmQ7IH1cblxudGQubm90aWZpY2F0aW9uLWNvbDpob3ZlciAudGFibGUtcm93LW5vdGlmaWNhdGlvbiAubm90aWZpY2F0aW9uLWluZGljYXRvci1jb250YWluZXIge1xuICB3aWR0aDogNnB4O1xuICB0cmFuc2l0aW9uOiB3aWR0aCAwLjZzOyB9XG5cbnRkLm5vdGlmaWNhdGlvbi1jb2w6aG92ZXIgLnRhYmxlLXJvdy1ub3RpZmljYXRpb24gLm5vdGlmaWNhdGlvbi1jb250ZW50LWNvbnRhaW5lciB7XG4gIG1heC13aWR0aDogNTAwcHg7XG4gIGxlZnQ6IDZweDtcbiAgYm94LXNoYWRvdzogNHB4IDBweCA4cHggM3B4IHJnYmEoMTIsIDEyLCAxMiwgMC4xOCk7XG4gIHRyYW5zaXRpb246IG1heC13aWR0aCAwLjZzLCBib3JkZXItd2lkdGggMC42cywgbGVmdCAwLjZzOyB9XG5cbi51bnJlYWQtY29sIHtcbiAgd2lkdGg6IDQ4cHg7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAudW5yZWFkLWNvbCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLnVucmVhZC1jb2wge1xuICAgICAgd2lkdGg6IDIwcHg7IH0gfVxuXG4udGFibGUtcm93LW5vdGlmaWNhdGlvbiB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC50YWJsZS1yb3ctbm90aWZpY2F0aW9uIC5ub3RpZmljYXRpb24taW5kaWNhdG9yLWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDJweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICB0cmFuc2l0aW9uOiB3aWR0aCAwLjhzOyB9XG4gICAgLnRhYmxlLXJvdy1ub3RpZmljYXRpb24gLm5vdGlmaWNhdGlvbi1pbmRpY2F0b3ItY29udGFpbmVyOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzc3Nzc3OyB9XG4gIC50YWJsZS1yb3ctbm90aWZpY2F0aW9uIC5ub3RpZmljYXRpb24tY29udGVudC1jb250YWluZXIge1xuICAgIG1heC13aWR0aDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDJweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIGJvcmRlci13aWR0aDogMDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogIzc3Nzc3NztcbiAgICB6LWluZGV4OiA1MDAwO1xuICAgIGN1cnNvcjogdGV4dDtcbiAgICB0cmFuc2l0aW9uOiBtYXgtd2lkdGggMC44cywgbGVmdCAwLjhzIGVhc2UtaW4tb3V0OyB9XG4gICAgLnRhYmxlLXJvdy1ub3RpZmljYXRpb24gLm5vdGlmaWNhdGlvbi1jb250ZW50LWNvbnRhaW5lciAubm90aWZpY2F0aW9uLWNvbnRlbnQge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBjb2xvcjogIzc3Nzc3NztcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICBmb250LXdlaWdodDogNjAwOyB9XG5cbi50YWJsZS1ub3RpZmljYXRpb24tdGV4dCB7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgY29sb3I6ICM3Nzc3Nzc7IH1cbiAgLnRhYmxlLW5vdGlmaWNhdGlvbi10ZXh0IHAge1xuICAgIG1hcmdpbjogNXB4IDA7XG4gICAgcGFkZGluZzogMDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIHRhYmxlLnJldXNhYmxlLWNhcmQtdGFibGUucGF5bWVudCAucmVtb3ZlLWNvbCB7XG4gICAgd2lkdGg6IDEwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgdGFibGUucmV1c2FibGUtY2FyZC10YWJsZSAuZXhwaXJlLWRhdGUtY29sIHtcbiAgICB3aWR0aDogMjUlOyB9IH1cblxudGFibGUucmV1c2FibGUtY2FyZC10YWJsZSB0aC5zZWxlY3QtY29sLCB0YWJsZS5yZXVzYWJsZS1jYXJkLXRhYmxlIHRkLnNlbGVjdC1jb2wge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbnRhYmxlLmludmFsaWQtYmFza2V0LXRhYmxlIHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDApO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICB0YWJsZS5pbnZhbGlkLWJhc2tldC10YWJsZSB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gNjBweCk7IH0gfVxuICB0YWJsZS5pbnZhbGlkLWJhc2tldC10YWJsZSAucmVmZXJlbmNlLWNvbCwgdGFibGUuaW52YWxpZC1iYXNrZXQtdGFibGUgLmRlc2NyaXB0aW9uLWNvbCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIHRhYmxlLmF1ZGl0LXRyYWlsLWVudHJpZXMge1xuICAgIHdpZHRoOiA4NTBweDsgfSB9XG5cbnRhYmxlLmF1ZGl0LXRyYWlsLWVudHJpZXMgdGgge1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbnRhYmxlLmF1ZGl0LXRyYWlsLWVudHJpZXMgdGJvZHkgdGQge1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgdGFibGUuYXVkaXQtdHJhaWwtZW50cmllcyAudXBkYXRlZC1jb2wsIHRhYmxlLmF1ZGl0LXRyYWlsLWVudHJpZXMgLnVwZGF0ZWQtYnktY29sIHtcbiAgICB3aWR0aDogMTklOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICB0YWJsZS5hdWRpdC10cmFpbC1lbnRyaWVzIC5hY2Nlc3MtbGV2ZWwtY29sIHtcbiAgICB3aWR0aDogMTUlOyB9IH1cblxudGFibGUuYXVkaXQtdHJhaWwtZW50cnkge1xuICBtYXJnaW46IDA7IH1cbiAgdGFibGUuYXVkaXQtdHJhaWwtZW50cnkgdGgge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgdGFibGUuYXVkaXQtdHJhaWwtZW50cnkgdGgsIHRhYmxlLmF1ZGl0LXRyYWlsLWVudHJ5IHRkIHtcbiAgICBwYWRkaW5nOiAyLjVweCA1cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICB0YWJsZS5hdWRpdC10cmFpbC1lbnRyeSB0aCwgdGFibGUuYXVkaXQtdHJhaWwtZW50cnkgdGQge1xuICAgICAgICBwYWRkaW5nOiAxMHB4OyB9IH1cbiAgdGFibGUuYXVkaXQtdHJhaWwtZW50cnkgdGJvZHkgdGQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgZm9udC1zaXplOiAxcmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICB0YWJsZS5hdWRpdC10cmFpbC1lbnRyeSAucmV2aXNpb24tY29sIHtcbiAgICAgIHdpZHRoOiA1JTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICB0YWJsZS5hdWRpdC10cmFpbC1lbnRyeSAudXBkYXRlZC1ieS1jb2wge1xuICAgICAgd2lkdGg6IDE3JTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICB0YWJsZS5hdWRpdC10cmFpbC1lbnRyeSAudXBkYXRlZC1jb2wge1xuICAgICAgd2lkdGg6IDExJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICB0YWJsZS5hdWRpdC10cmFpbC1lbnRyeSAucHVibGlzaGVkLWNvbCwgdGFibGUuYXVkaXQtdHJhaWwtZW50cnkgLmFjY2Vzcy1sZXZlbC1jb2wge1xuICAgICAgd2lkdGg6IDklOyB9IH1cblxudGFibGUuZG9jdW1lbnRhdGlvbi1zdHJ1Y3R1cmVkLWRhdGEge1xuICAtLW5lc3RlZC10YWJsZS1yb3ctYm9yZGVyLWNvbG91cjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTgpO1xuICAtLW5lc3RlZC10YWJsZS1yb3ctYm9yZGVyLXdpZHRoOiAycHg7IH1cbiAgdGFibGUuZG9jdW1lbnRhdGlvbi1zdHJ1Y3R1cmVkLWRhdGEgLm5lc3RlZC10YWJsZS1yb3ctcGFyZW50IHtcbiAgICBib3JkZXItd2lkdGg6IHZhcigtLW5lc3RlZC10YWJsZS1yb3ctYm9yZGVyLXdpZHRoKSB2YXIoLS1uZXN0ZWQtdGFibGUtcm93LWJvcmRlci13aWR0aCkgMCB2YXIoLS1uZXN0ZWQtdGFibGUtcm93LWJvcmRlci13aWR0aCk7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLW5lc3RlZC10YWJsZS1yb3ctYm9yZGVyLWNvbG91cik7IH1cbiAgICB0YWJsZS5kb2N1bWVudGF0aW9uLXN0cnVjdHVyZWQtZGF0YSAubmVzdGVkLXRhYmxlLXJvdy1wYXJlbnQgKyAubmVzdGVkLXRhYmxlLXJvdyB7XG4gICAgICBib3JkZXItd2lkdGg6IDAgdmFyKC0tbmVzdGVkLXRhYmxlLXJvdy1ib3JkZXItd2lkdGgpIHZhcigtLW5lc3RlZC10YWJsZS1yb3ctYm9yZGVyLXdpZHRoKSB2YXIoLS1uZXN0ZWQtdGFibGUtcm93LWJvcmRlci13aWR0aCk7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1uZXN0ZWQtdGFibGUtcm93LWJvcmRlci1jb2xvdXIpOyB9XG4gICAgICB0YWJsZS5kb2N1bWVudGF0aW9uLXN0cnVjdHVyZWQtZGF0YSAubmVzdGVkLXRhYmxlLXJvdy1wYXJlbnQgKyAubmVzdGVkLXRhYmxlLXJvdyA+IHRkIHtcbiAgICAgICAgcGFkZGluZzogMjVweDsgfVxuICB0YWJsZS5kb2N1bWVudGF0aW9uLXN0cnVjdHVyZWQtZGF0YSB0aGVhZCB0aCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICB0YWJsZS5kb2N1bWVudGF0aW9uLXN0cnVjdHVyZWQtZGF0YSB0Ym9keSB0ZCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG50YWJsZS5mb2xkZXItZmlsdGVycy10YWJsZSB0aCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxudGFibGUuZm9sZGVyLWZpbHRlcnMtdGFibGUgdGJvZHkgdGQge1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbi50YWJsZS1jb250YWluZXIudGFibGUtc2Nyb2xsLWVuYWJsZWQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGFkYWRhOyB9XG4gIC50YWJsZS1jb250YWluZXIudGFibGUtc2Nyb2xsLWVuYWJsZWQgdGFibGUgdGhlYWQgdGgge1xuICAgIGJvcmRlcjogMDsgfVxuXG4udGFibGUtY29udGFpbmVyLnNjcm9sbC1taWRkbGUgdGhlYWQ6YWZ0ZXIsIC50YWJsZS1jb250YWluZXIuc2Nyb2xsLWF0LWJvdHRvbSB0aGVhZDphZnRlciB7XG4gIGJveC1zaGFkb3c6IDAgNXB4IDlweCAtMXB4IHJnYmEoMCwgMCwgMCwgMC4zKTsgfVxuXG4udGFibGUtY29udGFpbmVyLnNjcm9sbC1taWRkbGUsIC50YWJsZS1jb250YWluZXIuc2Nyb2xsLWF0LXRvcCB7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgLTEwcHggMTBweCAtMTBweCByZ2JhKDAsIDAsIDAsIDAuMyk7IH1cblxuLnRhYmxlLWNvbnRhaW5lci5zY3JvbGwtbWlkZGxlIHtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAxMHB4IDEwcHggLTEwcHggcmdiYSgwLCAwLCAwLCAwLjMpLCBpbnNldCAwIC0xMHB4IDEwcHggLTEwcHggcmdiYSgwLCAwLCAwLCAwLjMpOyB9XG5cbi50YWJsZS1jb250YWluZXIuYXVkaXQtdHJhaWwtZW50cmllcyB7XG4gIG1heC1oZWlnaHQ6IDQwMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAudGFibGUtY29udGFpbmVyLmF1ZGl0LXRyYWlsLWVudHJpZXMge1xuICAgICAgbWF4LWhlaWdodDogNjAwcHg7IH0gfVxuXG4udGFibGUtY29udGFpbmVyIHRhYmxlIHtcbiAgbWFyZ2luOiAwOyB9XG5cbi50YWJsZS1jb250YWluZXIgdGhlYWQge1xuICBwb3NpdGlvbjogc3RpY2t5O1xuICB0b3A6IDA7XG4gIGJhY2tncm91bmQ6IHZhcigtLXdoaXRlLWNvbG91cik7XG4gIHotaW5kZXg6IDE7IH1cbiAgLnRhYmxlLWNvbnRhaW5lciB0aGVhZDphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgaGVpZ2h0OiA0cHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgYm90dG9tOiAtMXB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGFkYWRhOyB9XG5cbi8qXHJcbi0tLS0gSW5wdXRzIC0tLS0gXHJcbi0gU3R5bGluZyBmb3IgZm9ybSBpbnB1dHMgKCBzZWxlY3QsIGlucHV0LCB0ZXh0YXJlYSApXHJcbi0gUXVhbnRpdHkgc2VsZWN0b3JzXHJcbi0gRm9ybXNcclxuICAtIEZpZWxkc2V0c1xyXG4gIC0gRmllbGRzXHJcbi0gVmFsaWRhdGlvblxyXG4gIC0gRm9ybSBlcnJvcnMgZnJvbSB0aGUgc2VydmVyXHJcbiAgLSBBZHZhbmNlZCB2YWxpZGF0aW9uICggc2V0dGluZyBwYXNzd29yZCApXHJcbi0gUHJpbWFyeSwgU2Vjb25kYXJ5LCBFdGMgYnV0dG9ucyB1c2VkIHRocm91Z2hvdXQgdGhlIHNpdGUuXHJcbi0gVUkgYmxvY2sgcGFuZS5cclxuKi9cbmZvcm0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuXG5mb3JtLmlzLWludmFsaWQgYnV0dG9uW3R5cGU9c3VibWl0XSwgZm9ybS5pcy1pbnZhbGlkIC5mb3JtLXN1Ym1pdC1idXR0b24ge1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICBvcGFjaXR5OiAwLjQ7IH1cbiAgZm9ybS5pcy1pbnZhbGlkIGJ1dHRvblt0eXBlPXN1Ym1pdF06aG92ZXIsIGZvcm0uaXMtaW52YWxpZCAuZm9ybS1zdWJtaXQtYnV0dG9uOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjIwYzBjICFpbXBvcnRhbnQ7IH1cblxuZm9ybS5pcy1pbnZhbGlkIGlucHV0W3R5cGU9c3VibWl0XSB7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIG9wYWNpdHk6IDAuNDsgfVxuXG5idXR0b246ZGlzYWJsZWQsIGJ1dHRvbi5kaXNhYmxlZCB7XG4gIG9wYWNpdHk6IDAuNDtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbmlucHV0W3R5cGU9c3VibWl0XTpob3ZlciB7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuXG5zZWxlY3Q6Zm9jdXM6Oi1tcy12YWx1ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogIzAwMDAwMDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5jb2x1bW4tY29udGVudC1jb250YWluZXIgLmNvbnRyb2wudGV4dCBpbnB1dCB7XG4gICAgbWF4LXdpZHRoOiAzNjBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLmNvbHVtbi1jb250ZW50LWNvbnRhaW5lciAuY29udHJvbC50ZXh0LnBhc3N3b3JkLXJldmVhbC1jb250YWluZXIgaW5wdXQge1xuICAgIG1heC13aWR0aDogY2FsYygzNjBweCAtIDQ1cHgpOyB9IH1cblxuLmZpZWxkIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXJnaW46IDVweCAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmZpZWxkIHtcbiAgICAgIG1heC13aWR0aDogNjQwcHg7XG4gICAgICBtYXJnaW46IGF1dG87IH0gfVxuICAuZmllbGQuYWxpZ24tcmlnaHQge1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5maWVsZC5hbGlnbi1sZWZ0IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLmZpZWxkIGxhYmVsIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBtYXJnaW46IDEwcHggMDtcbiAgICBmb250LXNpemU6IDFyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuZmllbGQgbGFiZWwge1xuICAgICAgICBtYXJnaW46IDEwcHggMDsgfSB9XG4gICAgLmZpZWxkIGxhYmVsLnBhc3N3b3JkLXJldmVhbC1jb250YWluZXIgaW5wdXQge1xuICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSA0NXB4KTtcbiAgICAgIG9yZGVyOiAyO1xuICAgICAgYm9yZGVyLXdpZHRoOiAxcHggMCAxcHggMXB4O1xuICAgICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAuZmllbGQgbGFiZWwucGFzc3dvcmQtcmV2ZWFsLWNvbnRhaW5lciBpbnB1dCB7XG4gICAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSA0NXB4IC0gIDE2MHB4KTtcbiAgICAgICAgICBmbGV4OiAxOyB9IH1cbiAgICAuZmllbGQgbGFiZWwucGFzc3dvcmQtcmV2ZWFsLWNvbnRhaW5lciAubGFiZWwge1xuICAgICAgb3JkZXI6IDE7IH1cbiAgICAuZmllbGQgbGFiZWwucGFzc3dvcmQtcmV2ZWFsLWNvbnRhaW5lciAuZm9ybS1lcnJvciB7XG4gICAgICBvcmRlcjogNDsgfVxuICAgIC5maWVsZCBsYWJlbC5wYXNzd29yZC1yZXZlYWwtY29udGFpbmVyIC5wYXNzd29yZC1yZXZlYWwge1xuICAgICAgb3JkZXI6IDM7IH1cbiAgICAuZmllbGQgbGFiZWwgLmxhYmVsICsgdGV4dGFyZWEge1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgLmZpZWxkIGxhYmVsIC5sYWJlbCAuYWR2aXNvcnktdGV4dCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgY29sb3I6ICM4ODg4ODg7XG4gICAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5maWVsZCBsYWJlbC50ZXh0LCAuZmllbGQgbGFiZWwuZW1haWwsIC5maWVsZCBsYWJlbC50ZWwsIC5maWVsZCBsYWJlbC5udW1iZXIsIC5maWVsZCBsYWJlbC50ZXh0YXJlYSB7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAwIDA7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmZpZWxkOmhhcyhidXR0b25bdHlwZT1cInN1Ym1pdFwiXS5wcmltYXJ5LWJ1dHRvbikge1xuICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH0gfVxuICAuZmllbGQgKyAuY21zLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgLmZpZWxkIGlucHV0Om5vdChbdHlwZT1jaGVja2JveF0pIHtcbiAgICBwYWRkaW5nOiA1cHggMCA1cHggMjVweDtcbiAgICBtYXJnaW46IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5maWVsZCAubGFiZWwgKyB0ZXh0YXJlYSB7XG4gICAgICBtYXgtd2lkdGg6IDQ4MHB4O1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBmbGV4LWdyb3c6IDE7IH0gfVxuICAuZmllbGQgdGV4dGFyZWEge1xuICAgIG1hcmdpbjogYXV0bzsgfVxuICAgIC5maWVsZCB0ZXh0YXJlYTpob3ZlciB7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuZmllbGQgLmVycm9yLWJsb2NrIHtcbiAgICAgIG1heC13aWR0aDogNTgxLjgxODE4cHg7IH0gfVxuICAuZmllbGQ6bm90KC5tZWRpdW0pOm5vdCgubGFyZ2UpOm5vdCgubGFyZ2UtMSkge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAuZmllbGQuc21hbGwge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7IH1cbiAgICAuZmllbGQuc21hbGwgbGFiZWwge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuZmllbGQuc21hbGwgLmxhYmVsIHtcbiAgICAgICAgd2lkdGg6IDMwMHB4OyB9IH1cbiAgLmZpZWxkLm1lZGl1bSB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAuZmllbGQubWVkaXVtIGxhYmVsIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmZpZWxkLm1lZGl1bSAubGFiZWwge1xuICAgICAgICB3aWR0aDogMzUwcHg7IH0gfVxuICAuZmllbGQubGFyZ2Uge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmZpZWxkLmxhcmdlIGxhYmVsIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5maWVsZC5sYXJnZSAubGFiZWwge1xuICAgICAgICB3aWR0aDogNDQwcHg7IH0gfVxuICAuZmllbGQuZnVsbC13aWR0aCAubGFiZWwge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5maWVsZC5saXN0IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgLmZpZWxkLmxpc3QgbGFiZWwge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuZmllbGQubGlzdCAubGFiZWwge1xuICAgICAgICB3aWR0aDogMzQwcHg7IH0gfVxuICAuZmllbGQgLmxhYmVsIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLXJpZ2h0OiA1cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogNXB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmZpZWxkIC5sYWJlbCB7XG4gICAgICAgIHdpZHRoOiAxNjBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gICAgLmZpZWxkIC5sYWJlbCBhIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZm9udC1zdHlsZTogaXRhbGljOyB9XG4gIC5maWVsZCAuY29udHJvbC5zZWxlY3Qge1xuICAgIG1hcmdpbjogMCBhdXRvIDEwcHggMDsgfVxuICAuZmllbGQgLmN1c3RvbS1pbnB1dC1jb250YWluZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC1oZWlnaHQ6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuOHM7IH1cbiAgICAuZmllbGQgLmN1c3RvbS1pbnB1dC1jb250YWluZXIuYWN0aXZlIHtcbiAgICAgIG1heC1oZWlnaHQ6IDIwMHB4O1xuICAgICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjZzOyB9XG4gIC5maWVsZFtjbGFzc149XCJmaWVsZCBzbWFsbC1cIl0sIC5maWVsZFtjbGFzc149XCJmaWVsZCBtZWRpdW0tXCJdLCAuZmllbGRbY2xhc3NePVwiZmllbGQgbGFyZ2UtXCJdIHtcbiAgICBtYXJnaW46IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuZmllbGRbY2xhc3NePVwiZmllbGQgc21hbGwtXCJdIGxhYmVsLCAuZmllbGRbY2xhc3NePVwiZmllbGQgbWVkaXVtLVwiXSBsYWJlbCwgLmZpZWxkW2NsYXNzXj1cImZpZWxkIGxhcmdlLVwiXSBsYWJlbCB7XG4gICAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgICAgLmZpZWxkW2NsYXNzXj1cImZpZWxkIHNtYWxsLVwiXSAuY29udHJvbC5jaGVja2JveCBzcGFuLmNoZWNrYm94LCAuZmllbGRbY2xhc3NePVwiZmllbGQgbWVkaXVtLVwiXSAuY29udHJvbC5jaGVja2JveCBzcGFuLmNoZWNrYm94LCAuZmllbGRbY2xhc3NePVwiZmllbGQgbGFyZ2UtXCJdIC5jb250cm9sLmNoZWNrYm94IHNwYW4uY2hlY2tib3gge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDQwcHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9IH1cbiAgICAuZmllbGRbY2xhc3NePVwiZmllbGQgc21hbGwtXCJdIC5jdXN0b20taW5wdXQtY29udGFpbmVyLCAuZmllbGRbY2xhc3NePVwiZmllbGQgbWVkaXVtLVwiXSAuY3VzdG9tLWlucHV0LWNvbnRhaW5lciwgLmZpZWxkW2NsYXNzXj1cImZpZWxkIGxhcmdlLVwiXSAuY3VzdG9tLWlucHV0LWNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nOiAwIDEwcHg7IH1cbiAgICAuZmllbGRbY2xhc3NePVwiZmllbGQgc21hbGwtXCJdIC5hZGRpdGlvbmFsLWlucHV0LWluZm8sIC5maWVsZFtjbGFzc149XCJmaWVsZCBtZWRpdW0tXCJdIC5hZGRpdGlvbmFsLWlucHV0LWluZm8sIC5maWVsZFtjbGFzc149XCJmaWVsZCBsYXJnZS1cIl0gLmFkZGl0aW9uYWwtaW5wdXQtaW5mbyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsgfVxuICAuZmllbGQuc21hbGwtMSwgLmZpZWxkLm1lZGl1bS0xLCAuZmllbGQubGFyZ2UtMSB7XG4gICAgbWFyZ2luOiBhdXRvOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmZpZWxkLnNtYWxsLTEsIC5maWVsZC5tZWRpdW0tMSwgLmZpZWxkLmxhcmdlLTEge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH0gfVxuICAgIC5maWVsZC5zbWFsbC0xIC5sYWJlbCwgLmZpZWxkLm1lZGl1bS0xIC5sYWJlbCwgLmZpZWxkLmxhcmdlLTEgLmxhYmVsIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5maWVsZC5zbWFsbC0xIC5sYWJlbCwgLmZpZWxkLm1lZGl1bS0xIC5sYWJlbCwgLmZpZWxkLmxhcmdlLTEgLmxhYmVsIHtcbiAgICAgICAgICB3aWR0aDogMzYwcHg7IH0gfVxuICAuZmllbGQuc21hbGwtMiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAuZmllbGQuc21hbGwtMyB7XG4gICAgd2lkdGg6IDMzJTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5maWVsZC5tZWRpdW0tMiB7XG4gICAgICB3aWR0aDogNTAlOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZmllbGQubWVkaXVtLTMge1xuICAgICAgd2lkdGg6IDMzJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuZmllbGQubGFyZ2UtMiB7XG4gICAgICB3aWR0aDogNTAlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5maWVsZC5sYXJnZS0zIHtcbiAgICAgIHdpZHRoOiAzMyU7IH0gfVxuXG4uYWRkaXRpb25hbC1pbnB1dC1pbmZvIHtcbiAgbWFyZ2luLWJvdHRvbTogMTVweDsgfVxuICAuYWRkaXRpb25hbC1pbnB1dC1pbmZvIGFbaHJlZl49XCJ0ZWw6XCJdLCAuYWRkaXRpb25hbC1pbnB1dC1pbmZvIGFbaHJlZl49XCJtYWlsdG86XCJdIHtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgLmFkZGl0aW9uYWwtaW5wdXQtaW5mbyBhW2hyZWZePVwidGVsOlwiXTpob3ZlciwgLmFkZGl0aW9uYWwtaW5wdXQtaW5mbyBhW2hyZWZePVwibWFpbHRvOlwiXTpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAuYWRkaXRpb25hbC1pbnB1dC1pbmZvIGFbaHJlZl49XCJ0ZWw6XCJdLnNob3ctY29udGFjdC1pY29uOmJlZm9yZSwgLmFkZGl0aW9uYWwtaW5wdXQtaW5mbyBhW2hyZWZePVwibWFpbHRvOlwiXS5zaG93LWNvbnRhY3QtaWNvbjpiZWZvcmUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjsgfVxuICAuYWRkaXRpb25hbC1pbnB1dC1pbmZvIGFbaHJlZl49XCJtYWlsdG86XCJdLnNob3ctY29udGFjdC1pY29uOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLvg6BcIjsgfVxuICAuYWRkaXRpb25hbC1pbnB1dC1pbmZvIGFbaHJlZl49XCJ0ZWw6XCJdLnNob3ctY29udGFjdC1pY29uOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLvoblcIjtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyB9XG4gIC5hZGRpdGlvbmFsLWlucHV0LWluZm8gcCBhOm5vdChbY2xhc3MqPVwiLWJ1dHRvblwiXSkge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZ2FwOiAwIDVweDtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG4gIC5hZGRpdGlvbmFsLWlucHV0LWluZm8gcCBhOmhhcyhbc3R5bGUqPVwiZmxvYXRcIl0pIHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7IH1cbiAgLmFkZGl0aW9uYWwtaW5wdXQtaW5mbyBwIHtcbiAgICBtYXJnaW46IHZhcigtLWluZGVudC1tYXJnaW4sIDApO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgY29sb3I6ICM3Nzc3Nzc7IH1cbiAgICAuYWRkaXRpb25hbC1pbnB1dC1pbmZvIHAgaW1nW3N0eWxlKj1cImZsb2F0OmxlZnRcIl0sIC5hZGRpdGlvbmFsLWlucHV0LWluZm8gcCBpbWdbc3R5bGUqPVwiZmxvYXQ6IGxlZnRcIl0sIC5hZGRpdGlvbmFsLWlucHV0LWluZm8gcFtzdHlsZSo9XCJmbG9hdDpsZWZ0XCJdID4gaW1nIHtcbiAgICAgIG1hcmdpbjogLjJlbSAuMmVtIC4yZW0gMDsgfVxuICAgIC5hZGRpdGlvbmFsLWlucHV0LWluZm8gcCBpbWdbc3R5bGUqPVwiZmxvYXQ6cmlnaHRcIl0sIC5hZGRpdGlvbmFsLWlucHV0LWluZm8gcCBpbWdbc3R5bGUqPVwiZmxvYXQ6IHJpZ2h0XCJdLCAuYWRkaXRpb25hbC1pbnB1dC1pbmZvIHBbc3R5bGUqPVwiZmxvYXQ6cmlnaHRcIl0gPiBpbWcge1xuICAgICAgbWFyZ2luOiAuMmVtIDAgLjJlbSAuMmVtOyB9XG4gICAgLmFkZGl0aW9uYWwtaW5wdXQtaW5mbyBwIGltZyB7XG4gICAgICBtYXJnaW46IC4yZW0gMDsgfVxuICAgIC5hZGRpdGlvbmFsLWlucHV0LWluZm8gcCArIHAge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmFkZGl0aW9uYWwtaW5wdXQtaW5mbyB1bCwgLmFkZGl0aW9uYWwtaW5wdXQtaW5mbyBvbCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAuYWRkaXRpb25hbC1pbnB1dC1pbmZvIHVsIHtcbiAgICBtYXJnaW46IDEwcHg7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaW5lLWhlaWdodDogMS42O1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbGluZS1oZWlnaHQ6IDI1cHg7IH1cbiAgICAuYWRkaXRpb25hbC1pbnB1dC1pbmZvIHVsIHVsIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDI1cHg7IH1cbiAgICAuYWRkaXRpb25hbC1pbnB1dC1pbmZvIHVsIGxpIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHBhZGRpbmc6IDAgMCAwIDE1cHg7IH1cbiAgICAgIC5hZGRpdGlvbmFsLWlucHV0LWluZm8gdWwgbGk6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHdpZHRoOiA1cHg7XG4gICAgICAgIGhlaWdodDogNXB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMTBweDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzA2MDUyZjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4OyB9XG4gIC5hZGRpdGlvbmFsLWlucHV0LWluZm8gb2wge1xuICAgIG1hcmdpbjogMTBweDtcbiAgICBwYWRkaW5nOiAwIDI1cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjsgfVxuICAgIC5hZGRpdGlvbmFsLWlucHV0LWluZm8gb2wgb2wge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbG93ZXItYWxwaGE7IH1cbiAgICAgIC5hZGRpdGlvbmFsLWlucHV0LWluZm8gb2wgb2wgb2wge1xuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IGxvd2VyLXJvbWFuOyB9XG4gICAgICAgIC5hZGRpdGlvbmFsLWlucHV0LWluZm8gb2wgb2wgb2wgb2wge1xuICAgICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbG93ZXItYWxwaGE7IH1cbiAgICAgICAgICAuYWRkaXRpb25hbC1pbnB1dC1pbmZvIG9sIG9sIG9sIG9sIG9sIHtcbiAgICAgICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbG93ZXItcm9tYW47IH1cbiAgLmFkZGl0aW9uYWwtaW5wdXQtaW5mbyBsaSB7XG4gICAgY29sb3I6ICM3Nzc3Nzc7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjsgfVxuICAuYWRkaXRpb25hbC1pbnB1dC1pbmZvIHVsICsgaDEsIC5hZGRpdGlvbmFsLWlucHV0LWluZm8gb2wgKyBoMSB7XG4gICAgbWFyZ2luLXRvcDogMzVweDsgfVxuICAuYWRkaXRpb25hbC1pbnB1dC1pbmZvIHVsICsgaDIsIC5hZGRpdGlvbmFsLWlucHV0LWluZm8gb2wgKyBoMiB7XG4gICAgbWFyZ2luLXRvcDogMjBweDsgfVxuICAuYWRkaXRpb25hbC1pbnB1dC1pbmZvIHVsICsgaDMsIC5hZGRpdGlvbmFsLWlucHV0LWluZm8gb2wgKyBoMyB7XG4gICAgbWFyZ2luLXRvcDogMjBweDsgfVxuICAuYWRkaXRpb25hbC1pbnB1dC1pbmZvIHVsICsgaDQsIC5hZGRpdGlvbmFsLWlucHV0LWluZm8gb2wgKyBoNCB7XG4gICAgbWFyZ2luLXRvcDogMjBweDsgfVxuICAuYWRkaXRpb25hbC1pbnB1dC1pbmZvIHVsICsgaDUsIC5hZGRpdGlvbmFsLWlucHV0LWluZm8gb2wgKyBoNSB7XG4gICAgbWFyZ2luLXRvcDogMjBweDsgfVxuICAuYWRkaXRpb25hbC1pbnB1dC1pbmZvIHVsICsgaDYsIC5hZGRpdGlvbmFsLWlucHV0LWluZm8gb2wgKyBoNiB7XG4gICAgbWFyZ2luLXRvcDogMjBweDsgfVxuICAuYWRkaXRpb25hbC1pbnB1dC1pbmZvIGRsIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC5hZGRpdGlvbmFsLWlucHV0LWluZm8gcCwgLmFkZGl0aW9uYWwtaW5wdXQtaW5mbyBhIHtcbiAgICBmb250LXNpemU6IDFyZW07IH1cbiAgLmFkZGl0aW9uYWwtaW5wdXQtaW5mbyBhOm5vdChbY2xhc3MqPVwiLWJ1dHRvblwiXSkge1xuICAgIGZvbnQtc2l6ZTogMXJlbTsgfVxuICAuYWRkaXRpb25hbC1pbnB1dC1pbmZvIGltZyB7XG4gICAgbWFyZ2luOiAwIDE1cHg7IH1cbiAgLmFkZGl0aW9uYWwtaW5wdXQtaW5mby5sYXJnZSB7XG4gICAgd2lkdGg6IDEwMCU7IH1cblxuLmxvb2t1cC1jb250ZW50IHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG5pbnB1dFt0eXBlPXBhc3N3b3JkXSB7XG4gIGNvbG9yOiAjODg4ODg4O1xuICBmb250LXNpemU6IDIycHg7XG4gIGxldHRlci1zcGFjaW5nOiAtMXB4O1xuICBmb250LWZhbWlseTogY2FwdGlvbjtcbiAgdHJhbnNpdGlvbjogZm9udC1zaXplIDAuOHM7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIGlucHV0W3R5cGU9cGFzc3dvcmRdIHtcbiAgICAgIGZvbnQtc2l6ZTogNDRweDsgfSB9XG4gIGlucHV0W3R5cGU9cGFzc3dvcmRdOmhvdmVyIHtcbiAgICBib3gtc2hhZG93OiAtMTRweCAtM3B4IDI4cHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4xKTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgIGlucHV0W3R5cGU9cGFzc3dvcmRdOmhvdmVyICsgYnV0dG9uIHtcbiAgICAgIGJveC1zaGFkb3c6IDE0cHggLTNweCAyOHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMSk7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICBpbnB1dFt0eXBlPXBhc3N3b3JkXTpmb2N1cyArIGJ1dHRvbiB7XG4gICAgYm9yZGVyLWNvbG9yOiAjYzhjOGM4OyB9XG4gIGlucHV0W3R5cGU9cGFzc3dvcmRdICsgYnV0dG9uIHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9XG5cbi5wYXNzd29yZC1yZXZlYWwge1xuICB3aWR0aDogNDVweDtcbiAgaGVpZ2h0OiA0NXB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYm9yZGVyLWNvbG9yOiAjYzhjOGM4O1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDFweCAxcHggMXB4IDA7XG4gIHRyYW5zaXRpb246IGFsbCAwLjhzOyB9XG4gIC5wYXNzd29yZC1yZXZlYWw6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu+BrlwiO1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgIGZvbnQtc3R5bGU6IDEycHg7XG4gICAgY29sb3I6IHJnYmEoMTE5LCAxMTksIDExOSwgMC43KTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAucGFzc3dvcmQtcmV2ZWFsOmhvdmVyOmJlZm9yZSB7XG4gICAgICBjb2xvcjogI2FlOTQ2MTtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH0gfVxuICAucGFzc3dvcmQtcmV2ZWFsLmFjdGl2ZTpiZWZvcmUge1xuICAgIGNvbG9yOiAjYWU5NDYxO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgLnBhc3N3b3JkLXJldmVhbC5pbnB1dC1hY3RpdmUge1xuICAgIGJveC1zaGFkb3c6IDBweCAycHggNHB4IDFweCByZ2JhKDEyLCAxMiwgMTMsIDAuMyk7IH1cblxuaW5wdXQ6Oi1tcy1jbGVhciwgaW5wdXQ6Oi1tcy1yZXZlYWwge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5hY3Rpb24tYnV0dG9uIHtcbiAgLS1jb21wb25lbnQtc3BlY2lmYy1zdGVwLWhlaWdodDogMTVweDtcbiAgd2lkdGg6IGF1dG87XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1zbWFsbC1tYXJnaW4sIDVweCAxMHB4KTtcbiAgcGFkZGluZzogdmFyKC0tY29tbW9uLWJ1dHRvbi1wYWRkaW5nLCAxMHB4IDIwcHgpO1xuICBjb2xvcjogIzA2MDUyZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlYTtcbiAgYm9yZGVyLXdpZHRoOiAycHg7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogMC42cHg7XG4gIHdvcmQtc3BhY2luZzogMnB4O1xuICBib3JkZXItY29sb3I6ICNlNmU2ZWE7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuOHM7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5hY3Rpb24tYnV0dG9uIHtcbiAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1sYXJnZS1tYXJnaW4sIDApOyB9IH1cbiAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAuYWN0aW9uLWJ1dHRvbjpob3ZlciwgLmFjdGlvbi1idXR0b24uaG92ZXIge1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWU5NDYxO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjYWU5NDYxO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAgIC5hY3Rpb24tYnV0dG9uOmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIC5hY3Rpb24tYnV0dG9uLmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH0gfVxuICAuYWN0aW9uLWJ1dHRvbjphY3RpdmUsIC5hY3Rpb24tYnV0dG9uLmFjdGl2ZSB7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzA2MDUyZjtcbiAgICBib3JkZXItY29sb3I6ICMwNjA1MmY7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgLmFjdGlvbi1idXR0b246ZGlzYWJsZWQsIC5hY3Rpb24tYnV0dG9uLmRpc2FibGVkLCAuYWN0aW9uLWJ1dHRvbltkaXNhYmxlZF0ge1xuICAgIGNvbG9yOiAjOTI5MjkyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwMCwgMjAwLCAyMDAsIDAuNyk7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAuYWN0aW9uLWJ1dHRvbjpkaXNhYmxlZDpob3ZlciwgLmFjdGlvbi1idXR0b24uZGlzYWJsZWQ6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMDAsIDIwMCwgMjAwLCAwLjcpOyB9XG4gIC5hY3Rpb24tYnV0dG9uOmZvY3VzLXZpc2libGUge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTsgfVxuICAuYWN0aW9uLWJ1dHRvbiAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cbiAgLmFjdGlvbi1idXR0b24uc3VjY2VzcywgLmFjdGlvbi1idXR0b24uZW1haWwge1xuICAgIC0tY29tcG9uZW50LXNwZWNpZmMtc3RlcC1oZWlnaHQ6IDE1cHg7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tc21hbGwtbWFyZ2luLCA1cHggMTBweCk7XG4gICAgcGFkZGluZzogdmFyKC0tY29tbW9uLWJ1dHRvbi1wYWRkaW5nLCAxMHB4IDIwcHgpO1xuICAgIGNvbG9yOiAjMTI4MTFmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkZmZiZTI7XG4gICAgYm9yZGVyLXdpZHRoOiAycHg7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjZweDtcbiAgICB3b3JkLXNwYWNpbmc6IDJweDtcbiAgICBib3JkZXItY29sb3I6ICMxMjgxMWY7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjhzOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmFjdGlvbi1idXR0b24uc3VjY2VzcywgLmFjdGlvbi1idXR0b24uZW1haWwge1xuICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1sYXJnZS1tYXJnaW4sIDApOyB9IH1cbiAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgICAgLmFjdGlvbi1idXR0b24uc3VjY2Vzczpob3ZlciwgLmFjdGlvbi1idXR0b24uc3VjY2Vzcy5ob3ZlciwgLmFjdGlvbi1idXR0b24uZW1haWw6aG92ZXIsIC5hY3Rpb24tYnV0dG9uLmVtYWlsLmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxMjgxMWY7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzEyODExZjtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgICAgICAuYWN0aW9uLWJ1dHRvbi5zdWNjZXNzOmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIC5hY3Rpb24tYnV0dG9uLnN1Y2Nlc3MuaG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLmFjdGlvbi1idXR0b24uZW1haWw6aG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLmFjdGlvbi1idXR0b24uZW1haWwuaG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH0gfVxuICAgIC5hY3Rpb24tYnV0dG9uLnN1Y2Nlc3M6YWN0aXZlLCAuYWN0aW9uLWJ1dHRvbi5zdWNjZXNzLmFjdGl2ZSwgLmFjdGlvbi1idXR0b24uZW1haWw6YWN0aXZlLCAuYWN0aW9uLWJ1dHRvbi5lbWFpbC5hY3RpdmUge1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmVhO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZTZlNmVhO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAuYWN0aW9uLWJ1dHRvbi5zdWNjZXNzOmRpc2FibGVkLCAuYWN0aW9uLWJ1dHRvbi5zdWNjZXNzLmRpc2FibGVkLCAuYWN0aW9uLWJ1dHRvbi5zdWNjZXNzW2Rpc2FibGVkXSwgLmFjdGlvbi1idXR0b24uZW1haWw6ZGlzYWJsZWQsIC5hY3Rpb24tYnV0dG9uLmVtYWlsLmRpc2FibGVkLCAuYWN0aW9uLWJ1dHRvbi5lbWFpbFtkaXNhYmxlZF0ge1xuICAgICAgY29sb3I6ICM5MjkyOTI7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwMCwgMjAwLCAyMDAsIDAuNyk7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgLmFjdGlvbi1idXR0b24uc3VjY2VzczpkaXNhYmxlZDpob3ZlciwgLmFjdGlvbi1idXR0b24uc3VjY2Vzcy5kaXNhYmxlZDpob3ZlciwgLmFjdGlvbi1idXR0b24uZW1haWw6ZGlzYWJsZWQ6aG92ZXIsIC5hY3Rpb24tYnV0dG9uLmVtYWlsLmRpc2FibGVkOmhvdmVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMDAsIDIwMCwgMjAwLCAwLjcpOyB9XG4gICAgLmFjdGlvbi1idXR0b24uc3VjY2Vzczpmb2N1cy12aXNpYmxlLCAuYWN0aW9uLWJ1dHRvbi5lbWFpbDpmb2N1cy12aXNpYmxlIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpOyB9XG4gICAgLmFjdGlvbi1idXR0b24uc3VjY2VzcyAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwLCAuYWN0aW9uLWJ1dHRvbi5lbWFpbCAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuICAuYWN0aW9uLWJ1dHRvbi53YXJuaW5nIHtcbiAgICAtLWNvbXBvbmVudC1zcGVjaWZjLXN0ZXAtaGVpZ2h0OiAxNXB4O1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLXNtYWxsLW1hcmdpbiwgNXB4IDEwcHgpO1xuICAgIHBhZGRpbmc6IHZhcigtLWNvbW1vbi1idXR0b24tcGFkZGluZywgMTBweCAyMHB4KTtcbiAgICBjb2xvcjogI2ZmNWUwNTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZlZmU2O1xuICAgIGJvcmRlci13aWR0aDogMnB4O1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC42cHg7XG4gICAgd29yZC1zcGFjaW5nOiAycHg7XG4gICAgYm9yZGVyLWNvbG9yOiAjZmY1ZTA1O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC44czsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5hY3Rpb24tYnV0dG9uLndhcm5pbmcge1xuICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1sYXJnZS1tYXJnaW4sIDApOyB9IH1cbiAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgICAgLmFjdGlvbi1idXR0b24ud2FybmluZzpob3ZlciwgLmFjdGlvbi1idXR0b24ud2FybmluZy5ob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY1ZTA1O1xuICAgICAgICBib3JkZXItY29sb3I6ICNmZjVlMDU7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAgICAgLmFjdGlvbi1idXR0b24ud2FybmluZzpob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwLCAuYWN0aW9uLWJ1dHRvbi53YXJuaW5nLmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9IH1cbiAgICAuYWN0aW9uLWJ1dHRvbi53YXJuaW5nOmFjdGl2ZSwgLmFjdGlvbi1idXR0b24ud2FybmluZy5hY3RpdmUge1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmVhO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZTZlNmVhO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAuYWN0aW9uLWJ1dHRvbi53YXJuaW5nOmRpc2FibGVkLCAuYWN0aW9uLWJ1dHRvbi53YXJuaW5nLmRpc2FibGVkLCAuYWN0aW9uLWJ1dHRvbi53YXJuaW5nW2Rpc2FibGVkXSB7XG4gICAgICBjb2xvcjogIzkyOTI5MjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMjAwLCAyMDAsIDIwMCwgMC43KTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAuYWN0aW9uLWJ1dHRvbi53YXJuaW5nOmRpc2FibGVkOmhvdmVyLCAuYWN0aW9uLWJ1dHRvbi53YXJuaW5nLmRpc2FibGVkOmhvdmVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMDAsIDIwMCwgMjAwLCAwLjcpOyB9XG4gICAgLmFjdGlvbi1idXR0b24ud2FybmluZzpmb2N1cy12aXNpYmxlIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpOyB9XG4gICAgLmFjdGlvbi1idXR0b24ud2FybmluZyAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuICAuYWN0aW9uLWJ1dHRvbi5hbGVydCB7XG4gICAgLS1jb21wb25lbnQtc3BlY2lmYy1zdGVwLWhlaWdodDogMTVweDtcbiAgICB3aWR0aDogYXV0bztcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1zbWFsbC1tYXJnaW4sIDVweCAxMHB4KTtcbiAgICBwYWRkaW5nOiB2YXIoLS1jb21tb24tYnV0dG9uLXBhZGRpbmcsIDEwcHggMjBweCk7XG4gICAgY29sb3I6ICNiMjBjMGM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZkZTFlMTtcbiAgICBib3JkZXItd2lkdGg6IDJweDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuNnB4O1xuICAgIHdvcmQtc3BhY2luZzogMnB4O1xuICAgIGJvcmRlci1jb2xvcjogI2IyMGMwYztcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuOHM7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuYWN0aW9uLWJ1dHRvbi5hbGVydCB7XG4gICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLWxhcmdlLW1hcmdpbiwgMCk7IH0gfVxuICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgICAuYWN0aW9uLWJ1dHRvbi5hbGVydDpob3ZlciwgLmFjdGlvbi1idXR0b24uYWxlcnQuaG92ZXIge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2IyMGMwYztcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjYjIwYzBjO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgICAgIC5hY3Rpb24tYnV0dG9uLmFsZXJ0OmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIC5hY3Rpb24tYnV0dG9uLmFsZXJ0LmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9IH1cbiAgICAuYWN0aW9uLWJ1dHRvbi5hbGVydDphY3RpdmUsIC5hY3Rpb24tYnV0dG9uLmFsZXJ0LmFjdGl2ZSB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZWE7XG4gICAgICBib3JkZXItY29sb3I6ICNlNmU2ZWE7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgIC5hY3Rpb24tYnV0dG9uLmFsZXJ0OmRpc2FibGVkLCAuYWN0aW9uLWJ1dHRvbi5hbGVydC5kaXNhYmxlZCwgLmFjdGlvbi1idXR0b24uYWxlcnRbZGlzYWJsZWRdIHtcbiAgICAgIGNvbG9yOiAjOTI5MjkyO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMDAsIDIwMCwgMjAwLCAwLjcpO1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgIC5hY3Rpb24tYnV0dG9uLmFsZXJ0OmRpc2FibGVkOmhvdmVyLCAuYWN0aW9uLWJ1dHRvbi5hbGVydC5kaXNhYmxlZDpob3ZlciB7XG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMjAwLCAyMDAsIDIwMCwgMC43KTsgfVxuICAgIC5hY3Rpb24tYnV0dG9uLmFsZXJ0OmZvY3VzLXZpc2libGUge1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7IH1cbiAgICAuYWN0aW9uLWJ1dHRvbi5hbGVydCAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuXG5hW2NsYXNzKj1cIi1idXR0b25cIl0uYWxpZ24tY2VudGVyIHtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuXG5hW2NsYXNzKj1cIi1idXR0b25cIl0uYWxpZ24tcmlnaHQge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG5cbmFbY2xhc3MqPVwiLWJ1dHRvblwiXS5hbGlnbi1sZWZ0IHtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuXG4uYnV0dG9uMSwgLnByaW1hcnktYnV0dG9uIHtcbiAgLS1jb21wb25lbnQtc3BlY2lmYy1zdGVwLWhlaWdodDogMTVweDtcbiAgd2lkdGg6IGF1dG87XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1zbWFsbC1tYXJnaW4sIDVweCAxMHB4KTtcbiAgcGFkZGluZzogdmFyKC0tY29tbW9uLWJ1dHRvbi1wYWRkaW5nLCAxMHB4IDIwcHgpO1xuICBjb2xvcjogIzA2MDUyZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlYTtcbiAgYm9yZGVyLXdpZHRoOiAycHg7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogMC42cHg7XG4gIHdvcmQtc3BhY2luZzogMnB4O1xuICBib3JkZXItY29sb3I6ICNlNmU2ZWE7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuOHM7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5idXR0b24xLCAucHJpbWFyeS1idXR0b24ge1xuICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLWxhcmdlLW1hcmdpbiwgMCk7IH0gfVxuICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgIC5idXR0b24xOmhvdmVyLCAuYnV0dG9uMS5ob3ZlciwgLnByaW1hcnktYnV0dG9uOmhvdmVyLCAucHJpbWFyeS1idXR0b24uaG92ZXIge1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWU5NDYxO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjYWU5NDYxO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAgIC5idXR0b24xOmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIC5idXR0b24xLmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIC5wcmltYXJ5LWJ1dHRvbjpob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwLCAucHJpbWFyeS1idXR0b24uaG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfSB9XG4gIC5idXR0b24xOmFjdGl2ZSwgLmJ1dHRvbjEuYWN0aXZlLCAucHJpbWFyeS1idXR0b246YWN0aXZlLCAucHJpbWFyeS1idXR0b24uYWN0aXZlIHtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDYwNTJmO1xuICAgIGJvcmRlci1jb2xvcjogIzA2MDUyZjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAuYnV0dG9uMTpkaXNhYmxlZCwgLmJ1dHRvbjEuZGlzYWJsZWQsIC5idXR0b24xW2Rpc2FibGVkXSwgLnByaW1hcnktYnV0dG9uOmRpc2FibGVkLCAucHJpbWFyeS1idXR0b24uZGlzYWJsZWQsIC5wcmltYXJ5LWJ1dHRvbltkaXNhYmxlZF0ge1xuICAgIGNvbG9yOiAjOTI5MjkyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwMCwgMjAwLCAyMDAsIDAuNyk7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAuYnV0dG9uMTpkaXNhYmxlZDpob3ZlciwgLmJ1dHRvbjEuZGlzYWJsZWQ6aG92ZXIsIC5wcmltYXJ5LWJ1dHRvbjpkaXNhYmxlZDpob3ZlciwgLnByaW1hcnktYnV0dG9uLmRpc2FibGVkOmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMjAwLCAyMDAsIDIwMCwgMC43KTsgfVxuICAuYnV0dG9uMTpmb2N1cy12aXNpYmxlLCAucHJpbWFyeS1idXR0b246Zm9jdXMtdmlzaWJsZSB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpOyB9XG4gIC5idXR0b24xIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIC5wcmltYXJ5LWJ1dHRvbiAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cblxuLnNlY29uZGFyeS1idXR0b24ge1xuICAtLWNvbXBvbmVudC1zcGVjaWZjLXN0ZXAtaGVpZ2h0OiAxNXB4O1xuICB3aWR0aDogYXV0bztcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLXNtYWxsLW1hcmdpbiwgNXB4IDEwcHgpO1xuICBwYWRkaW5nOiB2YXIoLS1jb21tb24tYnV0dG9uLXBhZGRpbmcsIDEwcHggMjBweCk7XG4gIGNvbG9yOiAjMDYwNTJmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBib3JkZXItd2lkdGg6IDJweDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxldHRlci1zcGFjaW5nOiAwLjZweDtcbiAgd29yZC1zcGFjaW5nOiAycHg7XG4gIGJvcmRlci1jb2xvcjogI2RhZGFkYTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcbiAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiBhbGwgMC44czsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLnNlY29uZGFyeS1idXR0b24ge1xuICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLWxhcmdlLW1hcmdpbiwgMCk7IH0gfVxuICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgIC5zZWNvbmRhcnktYnV0dG9uOmhvdmVyLCAuc2Vjb25kYXJ5LWJ1dHRvbi5ob3ZlciB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzMTQxZTQ7XG4gICAgICBib3JkZXItY29sb3I6ICMwNjA1MmY7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgICAgLnNlY29uZGFyeS1idXR0b246aG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLnNlY29uZGFyeS1idXR0b24uaG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfSB9XG4gIC5zZWNvbmRhcnktYnV0dG9uOmFjdGl2ZSwgLnNlY29uZGFyeS1idXR0b24uYWN0aXZlIHtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDYwNTJmO1xuICAgIGJvcmRlci1jb2xvcjogIzA2MDUyZjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAuc2Vjb25kYXJ5LWJ1dHRvbjpkaXNhYmxlZCwgLnNlY29uZGFyeS1idXR0b24uZGlzYWJsZWQsIC5zZWNvbmRhcnktYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgY29sb3I6ICM5MjkyOTI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMjAwLCAyMDAsIDIwMCwgMC43KTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gIC5zZWNvbmRhcnktYnV0dG9uOmRpc2FibGVkOmhvdmVyLCAuc2Vjb25kYXJ5LWJ1dHRvbi5kaXNhYmxlZDpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwMCwgMjAwLCAyMDAsIDAuNyk7IH1cbiAgLnNlY29uZGFyeS1idXR0b246Zm9jdXMtdmlzaWJsZSB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpOyB9XG4gIC5zZWNvbmRhcnktYnV0dG9uIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuXG4udGVydGlhcnktYnV0dG9uIHtcbiAgLS1jb21wb25lbnQtc3BlY2lmYy1zdGVwLWhlaWdodDogMTVweDtcbiAgd2lkdGg6IGF1dG87XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1zbWFsbC1tYXJnaW4sIDVweCAxMHB4KTtcbiAgcGFkZGluZzogdmFyKC0tY29tbW9uLWJ1dHRvbi1wYWRkaW5nLCAxMHB4IDIwcHgpO1xuICBjb2xvcjogI2ZmMDEwMTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZGZkZjtcbiAgYm9yZGVyLXdpZHRoOiAycHg7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogMC42cHg7XG4gIHdvcmQtc3BhY2luZzogMnB4O1xuICBib3JkZXItY29sb3I6ICNkYWRhZGE7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuOHM7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC50ZXJ0aWFyeS1idXR0b24ge1xuICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLWxhcmdlLW1hcmdpbiwgMCk7IH0gfVxuICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgIC50ZXJ0aWFyeS1idXR0b246aG92ZXIsIC50ZXJ0aWFyeS1idXR0b24uaG92ZXIge1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYwMTAxO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZmYwMTAxO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAgIC50ZXJ0aWFyeS1idXR0b246aG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLnRlcnRpYXJ5LWJ1dHRvbi5ob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9IH1cbiAgLnRlcnRpYXJ5LWJ1dHRvbjphY3RpdmUsIC50ZXJ0aWFyeS1idXR0b24uYWN0aXZlIHtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDYwNTJmO1xuICAgIGJvcmRlci1jb2xvcjogI2ZmZmZmZjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAudGVydGlhcnktYnV0dG9uOmRpc2FibGVkLCAudGVydGlhcnktYnV0dG9uLmRpc2FibGVkLCAudGVydGlhcnktYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgY29sb3I6ICM5MjkyOTI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMjAwLCAyMDAsIDIwMCwgMC43KTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gIC50ZXJ0aWFyeS1idXR0b246ZGlzYWJsZWQ6aG92ZXIsIC50ZXJ0aWFyeS1idXR0b24uZGlzYWJsZWQ6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMDAsIDIwMCwgMjAwLCAwLjcpOyB9XG4gIC50ZXJ0aWFyeS1idXR0b246Zm9jdXMtdmlzaWJsZSB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpOyB9XG4gIC50ZXJ0aWFyeS1idXR0b24gLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG5cbi5xdWF0ZXJuYXJ5LWJ1dHRvbiB7XG4gIC0tY29tcG9uZW50LXNwZWNpZmMtc3RlcC1oZWlnaHQ6IDE1cHg7XG4gIHdpZHRoOiBhdXRvO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLXNtYWxsLW1hcmdpbiwgMCk7XG4gIHBhZGRpbmc6IHZhcigtLWNvbW1vbi1idXR0b24tcGFkZGluZywgMy41cHggMTZweCk7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWU5NDYxO1xuICBib3JkZXItd2lkdGg6IDJweDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxldHRlci1zcGFjaW5nOiAwLjZweDtcbiAgd29yZC1zcGFjaW5nOiAycHg7XG4gIGJvcmRlci1jb2xvcjogI2FlOTQ2MTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcbiAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiBhbGwgMC44czsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLnF1YXRlcm5hcnktYnV0dG9uIHtcbiAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1sYXJnZS1tYXJnaW4sIDApOyB9IH1cbiAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAucXVhdGVybmFyeS1idXR0b246aG92ZXIsIC5xdWF0ZXJuYXJ5LWJ1dHRvbi5ob3ZlciB7XG4gICAgICBjb2xvcjogI2FlOTQ2MTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICBib3JkZXItY29sb3I6ICNhZTk0NjE7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgICAgLnF1YXRlcm5hcnktYnV0dG9uOmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIC5xdWF0ZXJuYXJ5LWJ1dHRvbi5ob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9IH1cbiAgLnF1YXRlcm5hcnktYnV0dG9uOmFjdGl2ZSwgLnF1YXRlcm5hcnktYnV0dG9uLmFjdGl2ZSB7XG4gICAgY29sb3I6ICMwNjA1MmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXItY29sb3I6ICMwNjA1MmY7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgLnF1YXRlcm5hcnktYnV0dG9uOmRpc2FibGVkLCAucXVhdGVybmFyeS1idXR0b24uZGlzYWJsZWQsIC5xdWF0ZXJuYXJ5LWJ1dHRvbltkaXNhYmxlZF0ge1xuICAgIGNvbG9yOiAjOTI5MjkyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwMCwgMjAwLCAyMDAsIDAuNyk7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAucXVhdGVybmFyeS1idXR0b246ZGlzYWJsZWQ6aG92ZXIsIC5xdWF0ZXJuYXJ5LWJ1dHRvbi5kaXNhYmxlZDpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwMCwgMjAwLCAyMDAsIDAuNyk7IH1cbiAgLnF1YXRlcm5hcnktYnV0dG9uOmZvY3VzLXZpc2libGUge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTsgfVxuICAucXVhdGVybmFyeS1idXR0b24gLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG5cbi5xdWluYXJ5LWJ1dHRvbiB7XG4gIC0tY29tcG9uZW50LXNwZWNpZmMtc3RlcC1oZWlnaHQ6IDE1cHg7XG4gIHdpZHRoOiBhdXRvO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tc21hbGwtbWFyZ2luLCA1cHggMTBweCk7XG4gIHBhZGRpbmc6IHZhcigtLWNvbW1vbi1idXR0b24tcGFkZGluZywgMTBweCAyMHB4KTtcbiAgY29sb3I6ICMwNjA1MmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZWVlZWU7XG4gIGJvcmRlci13aWR0aDogMnB4O1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuNnB4O1xuICB3b3JkLXNwYWNpbmc6IDJweDtcbiAgYm9yZGVyLWNvbG9yOiAjZGFkYWRhO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IGFsbCAwLjhzOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAucXVpbmFyeS1idXR0b24ge1xuICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLWxhcmdlLW1hcmdpbiwgMCk7IH0gfVxuICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgIC5xdWluYXJ5LWJ1dHRvbjpob3ZlciwgLnF1aW5hcnktYnV0dG9uLmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjMDYwNTJmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzA2MDUyZjtcbiAgICAgIGJvcmRlci1jb2xvcjogIzA2MDUyZjtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgICAucXVpbmFyeS1idXR0b246aG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLnF1aW5hcnktYnV0dG9uLmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH0gfVxuICAucXVpbmFyeS1idXR0b246YWN0aXZlLCAucXVpbmFyeS1idXR0b24uYWN0aXZlIHtcbiAgICBjb2xvcjogIzA2MDUyZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJvcmRlci1jb2xvcjogIzA2MDUyZjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAucXVpbmFyeS1idXR0b246ZGlzYWJsZWQsIC5xdWluYXJ5LWJ1dHRvbi5kaXNhYmxlZCwgLnF1aW5hcnktYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgY29sb3I6ICM5MjkyOTI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMjAwLCAyMDAsIDIwMCwgMC43KTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gIC5xdWluYXJ5LWJ1dHRvbjpkaXNhYmxlZDpob3ZlciwgLnF1aW5hcnktYnV0dG9uLmRpc2FibGVkOmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMjAwLCAyMDAsIDIwMCwgMC43KTsgfVxuICAucXVpbmFyeS1idXR0b246Zm9jdXMtdmlzaWJsZSB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpOyB9XG4gIC5xdWluYXJ5LWJ1dHRvbiAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cblxuLmNtcy1idXR0b24ge1xuICAtLWNvbXBvbmVudC1zcGVjaWZjLXN0ZXAtaGVpZ2h0OiAxNXB4O1xuICB3aWR0aDogYXV0bztcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLXNtYWxsLW1hcmdpbiwgMCk7XG4gIHBhZGRpbmc6IHZhcigtLWNvbW1vbi1idXR0b24tcGFkZGluZywgMTBweCAyMHB4KTtcbiAgY29sb3I6ICMwNjA1MmY7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItd2lkdGg6IDJweDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxldHRlci1zcGFjaW5nOiAwLjZweDtcbiAgd29yZC1zcGFjaW5nOiAycHg7XG4gIGJvcmRlci1jb2xvcjogIzA2MDUyZjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcbiAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiBhbGwgMC44czsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5jbXMtYnV0dG9uIHtcbiAgICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1tZWRpdW0tbWFyZ2luLCAwIDAgMTBweCk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmNtcy1idXR0b24ge1xuICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLWxhcmdlLW1hcmdpbiwgMCAwIDEwcHgpOyB9IH1cbiAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAuY21zLWJ1dHRvbjpob3ZlciwgLmNtcy1idXR0b24uaG92ZXIge1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDYwNTJmO1xuICAgICAgYm9yZGVyLWNvbG9yOiBob3Zlci1jb2xvcigoZGVmYXVsdDogdHJhbnNwYXJlbnQsIGhvdmVyOiAjMDYwNTJmLCBhY3RpdmU6ICNhZTk0NjEsIGRpc2FibGVkOiAjZmZmZmZmKSk7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgICAgLmNtcy1idXR0b246aG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLmNtcy1idXR0b24uaG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfSB9XG4gIC5jbXMtYnV0dG9uOmFjdGl2ZSwgLmNtcy1idXR0b24uYWN0aXZlIHtcbiAgICBjb2xvcjogIzA2MDUyZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWU5NDYxO1xuICAgIGJvcmRlci1jb2xvcjogIzA2MDUyZjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAuY21zLWJ1dHRvbjpkaXNhYmxlZCwgLmNtcy1idXR0b24uZGlzYWJsZWQsIC5jbXMtYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgY29sb3I6ICM5MjkyOTI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMjAwLCAyMDAsIDIwMCwgMC43KTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gIC5jbXMtYnV0dG9uOmRpc2FibGVkOmhvdmVyLCAuY21zLWJ1dHRvbi5kaXNhYmxlZDpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwMCwgMjAwLCAyMDAsIDAuNyk7IH1cbiAgLmNtcy1idXR0b246Zm9jdXMtdmlzaWJsZSB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpOyB9XG4gIC5jbXMtYnV0dG9uIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuXG4uY21zLXByb2NlZWQtYnV0dG9uIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDVweDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gIC5jbXMtcHJvY2VlZC1idXR0b246YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwi7qCBXCI7XG4gICAgZm9udC1zaXplOiA4cHg7XG4gICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG8tZGptaWxlc1wiO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cbiAgLmNtcy1wcm9jZWVkLWJ1dHRvbjpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi5jb3B5LXRvLWNsaXBib2FyZC1idXR0b24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5jb3B5LXRvLWNsaXBib2FyZC1idXR0b246YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwi74OFXCI7XG4gICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICBjb2xvcjogIzc3Nzc3NztcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICBzaXplOiAxNXB4OyB9XG4gIC5jb3B5LXRvLWNsaXBib2FyZC1idXR0b24gLmNvcGllZC10ZXh0LWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSArIDEwcHgpO1xuICAgIGhlaWdodDogY2FsYygxMDAlICsgMTBweCk7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTVweDtcbiAgICBsZWZ0OiAtNXB4O1xuICAgIHBhZGRpbmc6IDVweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIzOCwgMjM4LCAyMzgsIDAuOSk7XG4gICAgY29sb3I6ICMwMDAwMDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cblxuLmxvY2F0aW9uLWJ1dHRvbiB7XG4gIC0tY29tcG9uZW50LXNwZWNpZmMtc3RlcC1oZWlnaHQ6IDE1cHg7XG4gIHdpZHRoOiBhdXRvO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZmxleC1ncm93OiAxO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1zbWFsbC1tYXJnaW4sIDApO1xuICBwYWRkaW5nOiB2YXIoLS1jb21tb24tYnV0dG9uLXBhZGRpbmcsIDkuNXB4IDEycHggOS41cHggMjFweCk7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBib3JkZXItd2lkdGg6IDJweDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxldHRlci1zcGFjaW5nOiAwLjZweDtcbiAgd29yZC1zcGFjaW5nOiAycHg7XG4gIGJvcmRlci1jb2xvcjogI2RhZGFkYTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcbiAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiBhbGwgMC44cztcbiAgLypcclxuICAgICAgICAtLS0gSWNvbiBjb25maWd1cmF0aW9uIC0tLVxyXG4gICAgICAgIC0gJGljcG9zaXRpb24gPT4gQmVmb3JlIG9yIGFmdGVyIHRleHRcclxuICAgICAgICAtIG1hcmdpbiA9PiBpY29uIG1hcmdpblxyXG4gICAgICAgIC0gY29sb3VyID0+IGljb24gY29sb3VyIHN0YXRlcyAoIGRlZmF1bHQsIGhvdmVyICYgYWN0aXZlIClcclxuICAgICAgICAtIHNpemUgPT4gaWNvbiBzaXplLlxyXG4gICAgICAgIC0gY29udGVudCA9PiB0aGUgZm9udCBpY29uIGl0c2VsZiwgbm9ybWFsbHkgc3RvcmVkIGluICRzaXRlLWljb25zXHJcbiAgICAgICAgLSBmb250LWZhbWlseSA9PiB0aGUgZm9udCBmYW1pbHkgdGhhdCB0aGUgaWNvbiBiZWxvbmdzIHRvIGZvbnQgYXdlc29tZSBvciBmb250ZWxsby5cclxuICAgICAgICAqLyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAubG9jYXRpb24tYnV0dG9uIHtcbiAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1sYXJnZS1tYXJnaW4sIDApOyB9IH1cbiAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAubG9jYXRpb24tYnV0dG9uOmhvdmVyLCAubG9jYXRpb24tYnV0dG9uLmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjMDYwNTJmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzA2MDUyZjtcbiAgICAgIGJvcmRlci1jb2xvcjogIzA2MDUyZjtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgICAubG9jYXRpb24tYnV0dG9uOmhvdmVyOmFmdGVyLCAubG9jYXRpb24tYnV0dG9uLmhvdmVyOmFmdGVyIHtcbiAgICAgICAgY29sb3I6ICMwNjA1MmY7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgICAgIC5sb2NhdGlvbi1idXR0b246aG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLmxvY2F0aW9uLWJ1dHRvbi5ob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9IH1cbiAgLmxvY2F0aW9uLWJ1dHRvbjphY3RpdmUsIC5sb2NhdGlvbi1idXR0b24uYWN0aXZlIHtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDYwNTJmO1xuICAgIGJvcmRlci1jb2xvcjogIzA2MDUyZjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgIC5sb2NhdGlvbi1idXR0b246YWN0aXZlOmFmdGVyLCAubG9jYXRpb24tYnV0dG9uLmFjdGl2ZTphZnRlciB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAubG9jYXRpb24tYnV0dG9uOmRpc2FibGVkLCAubG9jYXRpb24tYnV0dG9uLmRpc2FibGVkLCAubG9jYXRpb24tYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgY29sb3I6ICM5MjkyOTI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMjAwLCAyMDAsIDIwMCwgMC43KTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgLmxvY2F0aW9uLWJ1dHRvbjpkaXNhYmxlZDphZnRlciwgLmxvY2F0aW9uLWJ1dHRvbi5kaXNhYmxlZDphZnRlciwgLmxvY2F0aW9uLWJ1dHRvbltkaXNhYmxlZF06YWZ0ZXIge1xuICAgICAgY29sb3I6ICM5MjkyOTI7IH1cbiAgLmxvY2F0aW9uLWJ1dHRvbjpkaXNhYmxlZDpob3ZlciwgLmxvY2F0aW9uLWJ1dHRvbi5kaXNhYmxlZDpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwMCwgMjAwLCAyMDAsIDAuNyk7IH1cbiAgLmxvY2F0aW9uLWJ1dHRvbjpmb2N1cy12aXNpYmxlIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7IH1cbiAgLmxvY2F0aW9uLWJ1dHRvbjphZnRlciB7XG4gICAgY29udGVudDogXCLvj4VcIjtcbiAgICBtYXJnaW46IDAgMCAwIDQwcHg7XG4gICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGNvbG9yOiAjMDYwNTJmO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgLmxvY2F0aW9uLWJ1dHRvbiAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cblxuLnRoaXJkLXBhcnR5LXRyYWNraW5nLXJlZmVyZW5jZSB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMTBweDtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiAjMDYwNTJmOyB9XG4gIC50aGlyZC1wYXJ0eS10cmFja2luZy1yZWZlcmVuY2UgLnJlZmVyZW5jZSB7XG4gICAgbWFyZ2luLWxlZnQ6IDVweDsgfVxuXG4udGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uIHtcbiAgd2lkdGg6IGZpdC1jb250ZW50O1xuICBwYWRkaW5nOiAxMHB4O1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgY29sb3I6ICMwNjA1MmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwNjA1MmY7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMwNjA1MmY7IH1cbiAgLnRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbjpob3ZlciB7XG4gICAgY29sb3I6ICMwNjA1MmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzA2MDUyZjtcbiAgICBib3JkZXItY29sb3I6ICMwNjA1MmY7IH1cbiAgICAudGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uOmhvdmVyOmFmdGVyIHtcbiAgICAgIGNvbG9yOiAjMDYwNTJmOyB9XG4gIC50aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b246YWN0aXZlIHtcbiAgICBjb2xvcjogI2FlOTQ2MTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJvcmRlci1jb2xvcjogI2ZmZmZmZjsgfVxuICAgIC50aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b246YWN0aXZlOmFmdGVyIHtcbiAgICAgIGNvbG9yOiAjYWU5NDYxOyB9XG4gIC50aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b246YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwi7qCnXCI7XG4gICAgbWFyZ2luLWxlZnQ6IDEycHg7XG4gICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG9cIjtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgY29sb3I6ICMwNjA1MmY7IH1cblxuLnRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbi0yIHtcbiAgd2lkdGg6IGZpdC1jb250ZW50O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW46IDVweCAwIDA7XG4gIHBhZGRpbmc6IDVweCA4cHg7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICBjb2xvcjogIzA2MDUyZjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2FlYWVhZTtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC44cywgYm9yZGVyLWNvbG9yIDAuOHMsIGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLnRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbi0yIHtcbiAgICAgIHBhZGRpbmc6IDNweCA1cHg7XG4gICAgICBmb250LXNpemU6IDAuNzVyZW07IH0gfVxuICAudGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uLTI6aG92ZXIge1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwNjA1MmY7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDYwNTJmO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnMsIGJvcmRlci1jb2xvciAwLjZzLCBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH1cbiAgICAudGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uLTI6aG92ZXI6YWZ0ZXIge1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gIC50aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24tMjphY3RpdmUge1xuICAgIGNvbG9yOiAjMDYwNTJmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwNjA1MmY7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDYwNTJmOyB9XG4gICAgLnRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbi0yOmFjdGl2ZTphZnRlciB7XG4gICAgICBjb2xvcjogIzA2MDUyZjsgfVxuICAudGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uLTI6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwi7qCnXCI7XG4gICAgbWFyZ2luLWxlZnQ6IDEycHg7XG4gICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG9cIjtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgY29sb3I6ICMwNjA1MmY7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC50aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24tMjphZnRlciB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA2cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTNweDsgfSB9XG5cbi5wcmludC1lbGVtZW50LWJ1dHRvbiB7XG4gIC0tY29tcG9uZW50LXNwZWNpZmMtc3RlcC1oZWlnaHQ6IDE1cHg7XG4gIHdpZHRoOiBhdXRvO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tc21hbGwtbWFyZ2luLCAwKTtcbiAgcGFkZGluZzogdmFyKC0tY29tbW9uLWJ1dHRvbi1wYWRkaW5nLCAxMHB4IDIwcHgpO1xuICBjb2xvcjogIzA2MDUyZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgYm9yZGVyLXdpZHRoOiAycHg7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogMC42cHg7XG4gIHdvcmQtc3BhY2luZzogMnB4O1xuICBib3JkZXItY29sb3I6ICNkYWRhZGE7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuOHM7XG4gIC8qXHJcbiAgICAgICAgLS0tIEljb24gY29uZmlndXJhdGlvbiAtLS1cclxuICAgICAgICAtICRpY3Bvc2l0aW9uID0+IEJlZm9yZSBvciBhZnRlciB0ZXh0XHJcbiAgICAgICAgLSBtYXJnaW4gPT4gaWNvbiBtYXJnaW5cclxuICAgICAgICAtIGNvbG91ciA9PiBpY29uIGNvbG91ciBzdGF0ZXMgKCBkZWZhdWx0LCBob3ZlciAmIGFjdGl2ZSApXHJcbiAgICAgICAgLSBzaXplID0+IGljb24gc2l6ZS5cclxuICAgICAgICAtIGNvbnRlbnQgPT4gdGhlIGZvbnQgaWNvbiBpdHNlbGYsIG5vcm1hbGx5IHN0b3JlZCBpbiAkc2l0ZS1pY29uc1xyXG4gICAgICAgIC0gZm9udC1mYW1pbHkgPT4gdGhlIGZvbnQgZmFtaWx5IHRoYXQgdGhlIGljb24gYmVsb25ncyB0byBmb250IGF3ZXNvbWUgb3IgZm9udGVsbG8uXHJcbiAgICAgICAgKi8gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5wcmludC1lbGVtZW50LWJ1dHRvbiB7XG4gICAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tbWVkaXVtLW1hcmdpbiwgMCk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLnByaW50LWVsZW1lbnQtYnV0dG9uIHtcbiAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1sYXJnZS1tYXJnaW4sIDApOyB9IH1cbiAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAucHJpbnQtZWxlbWVudC1idXR0b246aG92ZXIsIC5wcmludC1lbGVtZW50LWJ1dHRvbi5ob3ZlciB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzMTQxZTQ7XG4gICAgICBib3JkZXItY29sb3I6ICMwNjA1MmY7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgICAgLnByaW50LWVsZW1lbnQtYnV0dG9uOmhvdmVyOmJlZm9yZSwgLnByaW50LWVsZW1lbnQtYnV0dG9uLmhvdmVyOmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gICAgICAucHJpbnQtZWxlbWVudC1idXR0b246aG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLnByaW50LWVsZW1lbnQtYnV0dG9uLmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH0gfVxuICAucHJpbnQtZWxlbWVudC1idXR0b246YWN0aXZlLCAucHJpbnQtZWxlbWVudC1idXR0b24uYWN0aXZlIHtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDYwNTJmO1xuICAgIGJvcmRlci1jb2xvcjogIzA2MDUyZjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgIC5wcmludC1lbGVtZW50LWJ1dHRvbjphY3RpdmU6YmVmb3JlLCAucHJpbnQtZWxlbWVudC1idXR0b24uYWN0aXZlOmJlZm9yZSB7XG4gICAgICBjb2xvcjogIzA2MDUyZjsgfVxuICAucHJpbnQtZWxlbWVudC1idXR0b246ZGlzYWJsZWQsIC5wcmludC1lbGVtZW50LWJ1dHRvbi5kaXNhYmxlZCwgLnByaW50LWVsZW1lbnQtYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgY29sb3I6ICM5MjkyOTI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMjAwLCAyMDAsIDIwMCwgMC43KTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgLnByaW50LWVsZW1lbnQtYnV0dG9uOmRpc2FibGVkOmJlZm9yZSwgLnByaW50LWVsZW1lbnQtYnV0dG9uLmRpc2FibGVkOmJlZm9yZSwgLnByaW50LWVsZW1lbnQtYnV0dG9uW2Rpc2FibGVkXTpiZWZvcmUge1xuICAgICAgY29sb3I6ICM5MjkyOTI7IH1cbiAgLnByaW50LWVsZW1lbnQtYnV0dG9uOmRpc2FibGVkOmhvdmVyLCAucHJpbnQtZWxlbWVudC1idXR0b24uZGlzYWJsZWQ6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMDAsIDIwMCwgMjAwLCAwLjcpOyB9XG4gIC5wcmludC1lbGVtZW50LWJ1dHRvbjpmb2N1cy12aXNpYmxlIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7IH1cbiAgLnByaW50LWVsZW1lbnQtYnV0dG9uOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLvgK9cIjtcbiAgICBtYXJnaW46IDAgMTJweCAwIDA7XG4gICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGNvbG9yOiAjMDYwNTJmO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgLnByaW50LWVsZW1lbnQtYnV0dG9uIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuXG4ucHJpbnQtZWxlbWVudC1saW5rOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74CvXCI7XG4gIG1hcmdpbi1yaWdodDogMTBweDtcbiAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7IH1cblxuI3BheXBhbC1jaGVja291dC1idXR0b24sIC5wYXlwYWwtYnV0dG9uIHtcbiAgLS1jb21wb25lbnQtc3BlY2lmYy1zdGVwLWhlaWdodDogMTVweDtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1zbWFsbC1tYXJnaW4sIDApO1xuICBwYWRkaW5nOiB2YXIoLS1jb21tb24tYnV0dG9uLXBhZGRpbmcsIDEycHggNXB4KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYzQzOTtcbiAgYm9yZGVyLXdpZHRoOiAycHg7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDEuMnB4O1xuICB3b3JkLXNwYWNpbmc6IDJweDtcbiAgYm9yZGVyLWNvbG9yOiAjZWVlZWVlO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IGFsbCAwLjhzO1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICNwYXlwYWwtY2hlY2tvdXQtYnV0dG9uLCAucGF5cGFsLWJ1dHRvbiB7XG4gICAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tbWVkaXVtLW1hcmdpbiwgMCk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgI3BheXBhbC1jaGVja291dC1idXR0b24sIC5wYXlwYWwtYnV0dG9uIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLWxhcmdlLW1hcmdpbiwgMCk7IH0gfVxuICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgICNwYXlwYWwtY2hlY2tvdXQtYnV0dG9uOmhvdmVyLCAjcGF5cGFsLWNoZWNrb3V0LWJ1dHRvbi5ob3ZlciwgLnBheXBhbC1idXR0b246aG92ZXIsIC5wYXlwYWwtYnV0dG9uLmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwNjA1MmY7XG4gICAgICBib3JkZXItY29sb3I6ICMwNjA1MmY7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgICAgI3BheXBhbC1jaGVja291dC1idXR0b246aG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgI3BheXBhbC1jaGVja291dC1idXR0b24uaG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLnBheXBhbC1idXR0b246aG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLnBheXBhbC1idXR0b24uaG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfSB9XG4gICNwYXlwYWwtY2hlY2tvdXQtYnV0dG9uOmFjdGl2ZSwgI3BheXBhbC1jaGVja291dC1idXR0b24uYWN0aXZlLCAucGF5cGFsLWJ1dHRvbjphY3RpdmUsIC5wYXlwYWwtYnV0dG9uLmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2FlOTQ2MTtcbiAgICBib3JkZXItY29sb3I6ICNhZTk0NjE7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgI3BheXBhbC1jaGVja291dC1idXR0b246ZGlzYWJsZWQsICNwYXlwYWwtY2hlY2tvdXQtYnV0dG9uLmRpc2FibGVkLCAjcGF5cGFsLWNoZWNrb3V0LWJ1dHRvbltkaXNhYmxlZF0sIC5wYXlwYWwtYnV0dG9uOmRpc2FibGVkLCAucGF5cGFsLWJ1dHRvbi5kaXNhYmxlZCwgLnBheXBhbC1idXR0b25bZGlzYWJsZWRdIHtcbiAgICBjb2xvcjogIzkyOTI5MjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMDAsIDIwMCwgMjAwLCAwLjcpO1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgI3BheXBhbC1jaGVja291dC1idXR0b246ZGlzYWJsZWQ6aG92ZXIsICNwYXlwYWwtY2hlY2tvdXQtYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAucGF5cGFsLWJ1dHRvbjpkaXNhYmxlZDpob3ZlciwgLnBheXBhbC1idXR0b24uZGlzYWJsZWQ6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMDAsIDIwMCwgMjAwLCAwLjcpOyB9XG4gICNwYXlwYWwtY2hlY2tvdXQtYnV0dG9uOmZvY3VzLXZpc2libGUsIC5wYXlwYWwtYnV0dG9uOmZvY3VzLXZpc2libGUge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTsgfVxuICAjcGF5cGFsLWNoZWNrb3V0LWJ1dHRvbiAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwLCAucGF5cGFsLWJ1dHRvbiAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cbiAgI3BheXBhbC1jaGVja291dC1idXR0b246YWZ0ZXIsIC5wYXlwYWwtYnV0dG9uOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICB3aWR0aDogNnJlbTtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi90ZW1wbGF0ZS9jb250ZW50L2RldmVsb3BtZW50L2ltYWdlcy9pY29ucy9wYXlwYWwuc3ZnXCIpO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0O1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cblxuLmluY3JlbWVudC1yb3ctYnV0dG9uIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiAxMHB4O1xuICBtYXJnaW46IGF1dG87XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gIC5pbmNyZW1lbnQtcm93LWJ1dHRvbjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiK1wiO1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiOyB9XG4gIC5pbmNyZW1lbnQtcm93LWJ1dHRvbjpob3ZlciB7XG4gICAgY29sb3I6IHZhcigtLXNlY29uZGFyeS1jb2xvdXItbGlnaHRuZXNzLTApO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cblxuLnBhZ2UtYnV0dG9ucy1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXJnaW46IDAgYXV0byAzMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAucGFnZS1idXR0b25zLWNvbnRhaW5lciB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9IH1cbiAgLnBhZ2UtYnV0dG9ucy1jb250YWluZXIgLmJ1dHRvbi1jb250YWluZXIge1xuICAgIC0tY29tbW9uLWJ1dHRvbi1zbWFsbC1tYXJnaW46IDVweCAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZmxleDogMTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgICAucGFnZS1idXR0b25zLWNvbnRhaW5lciAuYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLnBhZ2UtYnV0dG9ucy1jb250YWluZXIgLmJ1dHRvbi1jb250YWluZXIge1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgZ2FwOiAxMHB4IDIwcHg7IH0gfVxuICAgIC5wYWdlLWJ1dHRvbnMtY29udGFpbmVyIC5idXR0b24tY29udGFpbmVyOm50aC1vZi10eXBlKDNuLTIpIFtjbGFzcyo9XCItYnV0dG9uXCJdIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5wYWdlLWJ1dHRvbnMtY29udGFpbmVyIC5idXR0b24tY29udGFpbmVyOm50aC1vZi10eXBlKDNuLTIpIFtjbGFzcyo9XCItYnV0dG9uXCJdIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLnBhZ2UtYnV0dG9ucy1jb250YWluZXIgLmJ1dHRvbi1jb250YWluZXI6bnRoLW9mLXR5cGUoMm4pOm5vdCguYWxpZ24tY2VudGVyKSBbY2xhc3MqPVwiLWJ1dHRvblwiXTpub3QoLmFjdGlvbi1idXR0b24pOm9ubHktY2hpbGQsIC5wYWdlLWJ1dHRvbnMtY29udGFpbmVyIC5idXR0b24tY29udGFpbmVyOm9ubHktY2hpbGQ6bm90KC5hbGlnbi1jZW50ZXIpIFtjbGFzcyo9XCItYnV0dG9uXCJdOm5vdCguYWN0aW9uLWJ1dHRvbik6b25seS1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cbiAgICAgIC5wYWdlLWJ1dHRvbnMtY29udGFpbmVyIC5idXR0b24tY29udGFpbmVyOm50aC1vZi10eXBlKDJuKTpub3QoLmFsaWduLWNlbnRlcikgW2NsYXNzKj1cIi1idXR0b25cIl06bm90KC5hY3Rpb24tYnV0dG9uKTpub3QoOm9ubHktY2hpbGQpOmZpcnN0LWNoaWxkLCAucGFnZS1idXR0b25zLWNvbnRhaW5lciAuYnV0dG9uLWNvbnRhaW5lcjpvbmx5LWNoaWxkOm5vdCguYWxpZ24tY2VudGVyKSBbY2xhc3MqPVwiLWJ1dHRvblwiXTpub3QoLmFjdGlvbi1idXR0b24pOm5vdCg6b25seS1jaGlsZCk6Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bzsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAgIC5wYWdlLWJ1dHRvbnMtY29udGFpbmVyIC5idXR0b24tY29udGFpbmVyIFtjbGFzcyo9XCItYnV0dG9uXCJdIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5wYWdlLWJ1dHRvbnMtY29udGFpbmVyIC5idXR0b24tY29udGFpbmVyIFtjbGFzcyo9XCItYnV0dG9uXCJdOm5vdCguYWN0aW9uLWJ1dHRvbikge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICAgIC5wYWdlLWJ1dHRvbnMtY29udGFpbmVyIC5idXR0b24tY29udGFpbmVyIFtjbGFzcyo9XCItYnV0dG9uXCJdLmFjdGlvbi1idXR0b24ge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLnBhZ2UtYnV0dG9ucy1jb250YWluZXIgLmJ1dHRvbi1jb250YWluZXIgLnNlY29uZGFyeS1idXR0b24ge1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bzsgfSB9XG5cbi5hZGRUb0Jhc2tldEZvcm0ge1xuICBkaXNwbGF5OiBmbGV4OyB9XG5cbi5iYXNrZXQtYWRkLWJ1dHRvbi5pY29uIHtcbiAgd2lkdGg6IDM1cHg7XG4gIGhlaWdodDogMzVweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuICAuYmFza2V0LWFkZC1idXR0b24uaWNvbjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi74qRXCI7XG4gICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgZm9udC1zaXplOiAyM3B4O1xuICAgIGNvbG9yOiAjMDYwNTJmO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgLmJhc2tldC1hZGQtYnV0dG9uLmljb246bm90KC5kaXNhYmxlZCk6aG92ZXI6YmVmb3JlIHtcbiAgICBmb250LXNpemU6IDI2cHg7XG4gICAgY29sb3I6ICNhZTk0NjE7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgLmJhc2tldC1hZGQtYnV0dG9uLmljb246bm90KC5kaXNhYmxlZCk6YWN0aXZlOmJlZm9yZSB7XG4gICAgY29sb3I6ICMwNjA1MmY7IH1cbiAgLmJhc2tldC1hZGQtYnV0dG9uLmljb24uZGlzYWJsZWQge1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAuYmFza2V0LWFkZC1idXR0b24uaWNvbi5kaXNhYmxlZDpiZWZvcmUge1xuICAgICAgY29sb3I6ICNmZmZmZmY7IH1cblxuLmJhc2tldC1hZGQtYnV0dG9uLnRleHQtYmFzZWQge1xuICAtLWNvbXBvbmVudC1zcGVjaWZjLXN0ZXAtaGVpZ2h0OiAxNXB4O1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLXNtYWxsLW1hcmdpbiwgMCk7XG4gIHBhZGRpbmc6IHZhcigtLWNvbW1vbi1idXR0b24tcGFkZGluZywgMTVweCAxMHB4KTtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwNjA1MmY7XG4gIGJvcmRlci13aWR0aDogMnB4O1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuNnB4O1xuICB3b3JkLXNwYWNpbmc6IDJweDtcbiAgYm9yZGVyLWNvbG9yOiAjMDYwNTJmO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IGFsbCAwLjhzOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuYmFza2V0LWFkZC1idXR0b24udGV4dC1iYXNlZCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1sYXJnZS1tYXJnaW4sIDApOyB9IH1cbiAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAuYmFza2V0LWFkZC1idXR0b24udGV4dC1iYXNlZDpob3ZlciwgLmJhc2tldC1hZGQtYnV0dG9uLnRleHQtYmFzZWQuaG92ZXIge1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWU5NDYxO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjYWU5NDYxO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAgIC5iYXNrZXQtYWRkLWJ1dHRvbi50ZXh0LWJhc2VkOmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIC5iYXNrZXQtYWRkLWJ1dHRvbi50ZXh0LWJhc2VkLmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH0gfVxuICAuYmFza2V0LWFkZC1idXR0b24udGV4dC1iYXNlZDphY3RpdmUsIC5iYXNrZXQtYWRkLWJ1dHRvbi50ZXh0LWJhc2VkLmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzA2MDUyZjtcbiAgICBib3JkZXItY29sb3I6ICMwNjA1MmY7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgLmJhc2tldC1hZGQtYnV0dG9uLnRleHQtYmFzZWQ6ZGlzYWJsZWQsIC5iYXNrZXQtYWRkLWJ1dHRvbi50ZXh0LWJhc2VkLmRpc2FibGVkLCAuYmFza2V0LWFkZC1idXR0b24udGV4dC1iYXNlZFtkaXNhYmxlZF0ge1xuICAgIGNvbG9yOiAjOTI5MjkyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwMCwgMjAwLCAyMDAsIDAuNyk7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAuYmFza2V0LWFkZC1idXR0b24udGV4dC1iYXNlZDpkaXNhYmxlZDpob3ZlciwgLmJhc2tldC1hZGQtYnV0dG9uLnRleHQtYmFzZWQuZGlzYWJsZWQ6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMDAsIDIwMCwgMjAwLCAwLjcpOyB9XG4gIC5iYXNrZXQtYWRkLWJ1dHRvbi50ZXh0LWJhc2VkOmZvY3VzLXZpc2libGUge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTsgfVxuICAuYmFza2V0LWFkZC1idXR0b24udGV4dC1iYXNlZCAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cblxuLmFkZFRvQmFza2V0Lmljb24ge1xuICB3aWR0aDogMzVweDtcbiAgaGVpZ2h0OiAzNXB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG4gIC5hZGRUb0Jhc2tldC5pY29uOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLvipFcIjtcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICBmb250LXNpemU6IDIzcHg7XG4gICAgY29sb3I6ICMwNjA1MmY7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAuYWRkVG9CYXNrZXQuaWNvbjpub3QoLmRpc2FibGVkKTpob3ZlcjpiZWZvcmUge1xuICAgIGZvbnQtc2l6ZTogMjZweDtcbiAgICBjb2xvcjogI2FlOTQ2MTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAuYWRkVG9CYXNrZXQuaWNvbjpub3QoLmRpc2FibGVkKTphY3RpdmU6YmVmb3JlIHtcbiAgICBjb2xvcjogIzA2MDUyZjsgfVxuICAuYWRkVG9CYXNrZXQuaWNvbi5kaXNhYmxlZCB7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgIC5hZGRUb0Jhc2tldC5pY29uLmRpc2FibGVkOmJlZm9yZSB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuXG4uYWRkLXRvLWJhc2tldDpub3QoLnByZXNldC0yKSB7XG4gIC0tY29tcG9uZW50LXNwZWNpZmMtc3RlcC1oZWlnaHQ6IDE1cHg7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tc21hbGwtbWFyZ2luLCAwKTtcbiAgcGFkZGluZzogdmFyKC0tY29tbW9uLWJ1dHRvbi1wYWRkaW5nLCAxNXB4IDEwcHgpO1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzA2MDUyZjtcbiAgYm9yZGVyLXdpZHRoOiAycHg7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogMC42cHg7XG4gIHdvcmQtc3BhY2luZzogMnB4O1xuICBib3JkZXItY29sb3I6ICMwNjA1MmY7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuOHM7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5hZGQtdG8tYmFza2V0Om5vdCgucHJlc2V0LTIpIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLWxhcmdlLW1hcmdpbiwgMCk7IH0gfVxuICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgIC5hZGQtdG8tYmFza2V0Om5vdCgucHJlc2V0LTIpOmhvdmVyLCAuYWRkLXRvLWJhc2tldDpub3QoLnByZXNldC0yKS5ob3ZlciB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNhZTk0NjE7XG4gICAgICBib3JkZXItY29sb3I6ICNhZTk0NjE7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgICAgLmFkZC10by1iYXNrZXQ6bm90KC5wcmVzZXQtMik6aG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLmFkZC10by1iYXNrZXQ6bm90KC5wcmVzZXQtMikuaG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfSB9XG4gIC5hZGQtdG8tYmFza2V0Om5vdCgucHJlc2V0LTIpOmFjdGl2ZSwgLmFkZC10by1iYXNrZXQ6bm90KC5wcmVzZXQtMikuYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDYwNTJmO1xuICAgIGJvcmRlci1jb2xvcjogIzA2MDUyZjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAuYWRkLXRvLWJhc2tldDpub3QoLnByZXNldC0yKTpkaXNhYmxlZCwgLmFkZC10by1iYXNrZXQ6bm90KC5wcmVzZXQtMikuZGlzYWJsZWQsIC5hZGQtdG8tYmFza2V0Om5vdCgucHJlc2V0LTIpW2Rpc2FibGVkXSB7XG4gICAgY29sb3I6ICM5MjkyOTI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMjAwLCAyMDAsIDIwMCwgMC43KTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gIC5hZGQtdG8tYmFza2V0Om5vdCgucHJlc2V0LTIpOmRpc2FibGVkOmhvdmVyLCAuYWRkLXRvLWJhc2tldDpub3QoLnByZXNldC0yKS5kaXNhYmxlZDpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwMCwgMjAwLCAyMDAsIDAuNyk7IH1cbiAgLmFkZC10by1iYXNrZXQ6bm90KC5wcmVzZXQtMik6Zm9jdXMtdmlzaWJsZSB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpOyB9XG4gIC5hZGQtdG8tYmFza2V0Om5vdCgucHJlc2V0LTIpIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuXG4uYWRkLXRvLWJhc2tldC5wcmVzZXQtMiB7XG4gIC0tY29tcG9uZW50LXNwZWNpZmMtc3RlcC1oZWlnaHQ6IDE1cHg7XG4gIHdpZHRoOiAxMDBweDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLXNtYWxsLW1hcmdpbiwgMCk7XG4gIHBhZGRpbmc6IHZhcigtLWNvbW1vbi1idXR0b24tcGFkZGluZywgMTVweCAxMHB4KTtcbiAgY29sb3I6ICMwNjA1MmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZWE7XG4gIGJvcmRlci13aWR0aDogMnB4O1xuICBmb250LXNpemU6IDAuNzI5MTdyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogMC42cHg7XG4gIHdvcmQtc3BhY2luZzogMnB4O1xuICBib3JkZXItY29sb3I6ICNlNmU2ZWE7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuOHM7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5hZGQtdG8tYmFza2V0LnByZXNldC0yIHtcbiAgICAgIHdpZHRoOiAxMDBweDtcbiAgICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1sYXJnZS1tYXJnaW4sIDApOyB9IH1cbiAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAuYWRkLXRvLWJhc2tldC5wcmVzZXQtMjpob3ZlciwgLmFkZC10by1iYXNrZXQucHJlc2V0LTIuaG92ZXIge1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWU5NDYxO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjYWU5NDYxO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAgIC5hZGQtdG8tYmFza2V0LnByZXNldC0yOmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIC5hZGQtdG8tYmFza2V0LnByZXNldC0yLmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH0gfVxuICAuYWRkLXRvLWJhc2tldC5wcmVzZXQtMjphY3RpdmUsIC5hZGQtdG8tYmFza2V0LnByZXNldC0yLmFjdGl2ZSB7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzA2MDUyZjtcbiAgICBib3JkZXItY29sb3I6ICMwNjA1MmY7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgLmFkZC10by1iYXNrZXQucHJlc2V0LTI6ZGlzYWJsZWQsIC5hZGQtdG8tYmFza2V0LnByZXNldC0yLmRpc2FibGVkLCAuYWRkLXRvLWJhc2tldC5wcmVzZXQtMltkaXNhYmxlZF0ge1xuICAgIGNvbG9yOiAjOTI5MjkyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwMCwgMjAwLCAyMDAsIDAuNyk7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAuYWRkLXRvLWJhc2tldC5wcmVzZXQtMjpkaXNhYmxlZDpob3ZlciwgLmFkZC10by1iYXNrZXQucHJlc2V0LTIuZGlzYWJsZWQ6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMDAsIDIwMCwgMjAwLCAwLjcpOyB9XG4gIC5hZGQtdG8tYmFza2V0LnByZXNldC0yOmZvY3VzLXZpc2libGUge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTsgfVxuICAuYWRkLXRvLWJhc2tldC5wcmVzZXQtMiAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cblxuLmFuaW1hdGVkLmRyb3A6YmVmb3JlIHtcbiAgY29sb3I6ICNhZTk0NjEgIWltcG9ydGFudDtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuXG4uYW5pbWF0ZWQuZHJvcDphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICB3aWR0aDogMTBweDtcbiAgaGVpZ2h0OiAxMHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTIwcHg7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiAwO1xuICBtYXJnaW46IGF1dG87XG4gIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNhZTk0NjE7XG4gIGFuaW1hdGlvbjogYmFza2V0SWNvbkhvdmVyIDAuNXM7XG4gIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xuICB6LWluZGV4OiAtMTtcbiAgb3BhY2l0eTogMDsgfVxuXG5Aa2V5ZnJhbWVzIGJhc2tldEljb25Ib3ZlciB7XG4gIDAlIHtcbiAgICB0b3A6IC0yMHB4O1xuICAgIG9wYWNpdHk6IDAuMjsgfVxuICAxNSUge1xuICAgIHRvcDogLTE1cHg7XG4gICAgb3BhY2l0eTogMC40OyB9XG4gIDMwJSB7XG4gICAgdG9wOiAtMTBweDtcbiAgICBvcGFjaXR5OiAwLjY7IH1cbiAgNDUlIHtcbiAgICB0b3A6IC01cHg7XG4gICAgb3BhY2l0eTogMC44OyB9XG4gIDYwJSB7XG4gICAgdG9wOiAwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogMTZweDtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDc1JSB7XG4gICAgdG9wOiAxMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDEwMCUge1xuICAgIHdpZHRoOiAxNXB4O1xuICAgIGhlaWdodDogMTNweDtcbiAgICB0b3A6IDIwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuLnN0b2NrbGluZS12aWV3LWJ1dHRvbiBhLCAuc3RvY2tsaW5lLXZpZXctYnV0dG9uIGJ1dHRvbiwgLnN0b2NrbGluZS12aWV3LWNvbnRhaW5lciBhLCAuc3RvY2tsaW5lLXZpZXctY29udGFpbmVyIGJ1dHRvbiB7XG4gIC0tY29tcG9uZW50LXNwZWNpZmMtc3RlcC1oZWlnaHQ6IDE1cHg7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IDQ1cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1zbWFsbC1tYXJnaW4sIDApO1xuICBwYWRkaW5nOiB2YXIoLS1jb21tb24tYnV0dG9uLXBhZGRpbmcsIDIwcHggMTBweCk7XG4gIGNvbG9yOiAjMDYwNTJmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmVhO1xuICBib3JkZXItd2lkdGg6IDJweDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxldHRlci1zcGFjaW5nOiAwLjZweDtcbiAgd29yZC1zcGFjaW5nOiAycHg7XG4gIGJvcmRlci1jb2xvcjogI2U2ZTZlYTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcbiAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiBhbGwgMC44czsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiBhLCAuc3RvY2tsaW5lLXZpZXctYnV0dG9uIGJ1dHRvbiwgLnN0b2NrbGluZS12aWV3LWNvbnRhaW5lciBhLCAuc3RvY2tsaW5lLXZpZXctY29udGFpbmVyIGJ1dHRvbiB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1sYXJnZS1tYXJnaW4sIDApOyB9IH1cbiAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAuc3RvY2tsaW5lLXZpZXctYnV0dG9uIGE6aG92ZXIsIC5zdG9ja2xpbmUtdmlldy1idXR0b24gYS5ob3ZlciwgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiBidXR0b246aG92ZXIsIC5zdG9ja2xpbmUtdmlldy1idXR0b24gYnV0dG9uLmhvdmVyLCAuc3RvY2tsaW5lLXZpZXctY29udGFpbmVyIGE6aG92ZXIsIC5zdG9ja2xpbmUtdmlldy1jb250YWluZXIgYS5ob3ZlciwgLnN0b2NrbGluZS12aWV3LWNvbnRhaW5lciBidXR0b246aG92ZXIsIC5zdG9ja2xpbmUtdmlldy1jb250YWluZXIgYnV0dG9uLmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2FlOTQ2MTtcbiAgICAgIGJvcmRlci1jb2xvcjogI2FlOTQ2MTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgICAuc3RvY2tsaW5lLXZpZXctYnV0dG9uIGE6aG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiBhLmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIC5zdG9ja2xpbmUtdmlldy1idXR0b24gYnV0dG9uOmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIC5zdG9ja2xpbmUtdmlldy1idXR0b24gYnV0dG9uLmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIC5zdG9ja2xpbmUtdmlldy1jb250YWluZXIgYTpob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwLCAuc3RvY2tsaW5lLXZpZXctY29udGFpbmVyIGEuaG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLnN0b2NrbGluZS12aWV3LWNvbnRhaW5lciBidXR0b246aG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLnN0b2NrbGluZS12aWV3LWNvbnRhaW5lciBidXR0b24uaG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfSB9XG4gIC5zdG9ja2xpbmUtdmlldy1idXR0b24gYTphY3RpdmUsIC5zdG9ja2xpbmUtdmlldy1idXR0b24gYS5hY3RpdmUsIC5zdG9ja2xpbmUtdmlldy1idXR0b24gYnV0dG9uOmFjdGl2ZSwgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiBidXR0b24uYWN0aXZlLCAuc3RvY2tsaW5lLXZpZXctY29udGFpbmVyIGE6YWN0aXZlLCAuc3RvY2tsaW5lLXZpZXctY29udGFpbmVyIGEuYWN0aXZlLCAuc3RvY2tsaW5lLXZpZXctY29udGFpbmVyIGJ1dHRvbjphY3RpdmUsIC5zdG9ja2xpbmUtdmlldy1jb250YWluZXIgYnV0dG9uLmFjdGl2ZSB7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzA2MDUyZjtcbiAgICBib3JkZXItY29sb3I6ICMwNjA1MmY7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiBhOmRpc2FibGVkLCAuc3RvY2tsaW5lLXZpZXctYnV0dG9uIGEuZGlzYWJsZWQsIC5zdG9ja2xpbmUtdmlldy1idXR0b24gYVtkaXNhYmxlZF0sIC5zdG9ja2xpbmUtdmlldy1idXR0b24gYnV0dG9uOmRpc2FibGVkLCAuc3RvY2tsaW5lLXZpZXctYnV0dG9uIGJ1dHRvbi5kaXNhYmxlZCwgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiBidXR0b25bZGlzYWJsZWRdLCAuc3RvY2tsaW5lLXZpZXctY29udGFpbmVyIGE6ZGlzYWJsZWQsIC5zdG9ja2xpbmUtdmlldy1jb250YWluZXIgYS5kaXNhYmxlZCwgLnN0b2NrbGluZS12aWV3LWNvbnRhaW5lciBhW2Rpc2FibGVkXSwgLnN0b2NrbGluZS12aWV3LWNvbnRhaW5lciBidXR0b246ZGlzYWJsZWQsIC5zdG9ja2xpbmUtdmlldy1jb250YWluZXIgYnV0dG9uLmRpc2FibGVkLCAuc3RvY2tsaW5lLXZpZXctY29udGFpbmVyIGJ1dHRvbltkaXNhYmxlZF0ge1xuICAgIGNvbG9yOiAjOTI5MjkyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwMCwgMjAwLCAyMDAsIDAuNyk7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAuc3RvY2tsaW5lLXZpZXctYnV0dG9uIGE6ZGlzYWJsZWQ6aG92ZXIsIC5zdG9ja2xpbmUtdmlldy1idXR0b24gYS5kaXNhYmxlZDpob3ZlciwgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiBidXR0b246ZGlzYWJsZWQ6aG92ZXIsIC5zdG9ja2xpbmUtdmlldy1idXR0b24gYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuc3RvY2tsaW5lLXZpZXctY29udGFpbmVyIGE6ZGlzYWJsZWQ6aG92ZXIsIC5zdG9ja2xpbmUtdmlldy1jb250YWluZXIgYS5kaXNhYmxlZDpob3ZlciwgLnN0b2NrbGluZS12aWV3LWNvbnRhaW5lciBidXR0b246ZGlzYWJsZWQ6aG92ZXIsIC5zdG9ja2xpbmUtdmlldy1jb250YWluZXIgYnV0dG9uLmRpc2FibGVkOmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMjAwLCAyMDAsIDIwMCwgMC43KTsgfVxuICAuc3RvY2tsaW5lLXZpZXctYnV0dG9uIGE6Zm9jdXMtdmlzaWJsZSwgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiBidXR0b246Zm9jdXMtdmlzaWJsZSwgLnN0b2NrbGluZS12aWV3LWNvbnRhaW5lciBhOmZvY3VzLXZpc2libGUsIC5zdG9ja2xpbmUtdmlldy1jb250YWluZXIgYnV0dG9uOmZvY3VzLXZpc2libGUge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTsgfVxuICAuc3RvY2tsaW5lLXZpZXctYnV0dG9uIGEgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiBidXR0b24gLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLnN0b2NrbGluZS12aWV3LWNvbnRhaW5lciBhIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIC5zdG9ja2xpbmUtdmlldy1jb250YWluZXIgYnV0dG9uIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuXG4ubm90LWxvZ2dlZC1pbi1jb250YWluZXIgYSwgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyIGJ1dHRvbiB7XG4gIC0tY29tcG9uZW50LXNwZWNpZmMtc3RlcC1oZWlnaHQ6IDE1cHg7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IDQ1cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1zbWFsbC1tYXJnaW4sIDApO1xuICBwYWRkaW5nOiB2YXIoLS1jb21tb24tYnV0dG9uLXBhZGRpbmcsIDIwcHggMTBweCk7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWU5NDYxO1xuICBib3JkZXItd2lkdGg6IDJweDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxldHRlci1zcGFjaW5nOiAwLjZweDtcbiAgd29yZC1zcGFjaW5nOiAycHg7XG4gIGJvcmRlci1jb2xvcjogI2FlOTQ2MTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcbiAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiBhbGwgMC44czsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyIGEsIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciBidXR0b24ge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tbGFyZ2UtbWFyZ2luLCAwKTsgfSB9XG4gIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyIGE6aG92ZXIsIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciBhLmhvdmVyLCAubm90LWxvZ2dlZC1pbi1jb250YWluZXIgYnV0dG9uOmhvdmVyLCAubm90LWxvZ2dlZC1pbi1jb250YWluZXIgYnV0dG9uLmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzA2MDUyZjtcbiAgICAgIGJvcmRlci1jb2xvcjogIzA2MDUyZjtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgICAubm90LWxvZ2dlZC1pbi1jb250YWluZXIgYTpob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwLCAubm90LWxvZ2dlZC1pbi1jb250YWluZXIgYS5ob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwLCAubm90LWxvZ2dlZC1pbi1jb250YWluZXIgYnV0dG9uOmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciBidXR0b24uaG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfSB9XG4gIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciBhOmFjdGl2ZSwgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyIGEuYWN0aXZlLCAubm90LWxvZ2dlZC1pbi1jb250YWluZXIgYnV0dG9uOmFjdGl2ZSwgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyIGJ1dHRvbi5hY3RpdmUge1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNhZTk0NjE7XG4gICAgYm9yZGVyLWNvbG9yOiAjYWU5NDYxO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciBhOmRpc2FibGVkLCAubm90LWxvZ2dlZC1pbi1jb250YWluZXIgYS5kaXNhYmxlZCwgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyIGFbZGlzYWJsZWRdLCAubm90LWxvZ2dlZC1pbi1jb250YWluZXIgYnV0dG9uOmRpc2FibGVkLCAubm90LWxvZ2dlZC1pbi1jb250YWluZXIgYnV0dG9uLmRpc2FibGVkLCAubm90LWxvZ2dlZC1pbi1jb250YWluZXIgYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgY29sb3I6ICM5MjkyOTI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMjAwLCAyMDAsIDIwMCwgMC43KTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciBhOmRpc2FibGVkOmhvdmVyLCAubm90LWxvZ2dlZC1pbi1jb250YWluZXIgYS5kaXNhYmxlZDpob3ZlciwgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyIGJ1dHRvbjpkaXNhYmxlZDpob3ZlciwgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyIGJ1dHRvbi5kaXNhYmxlZDpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwMCwgMjAwLCAyMDAsIDAuNyk7IH1cbiAgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyIGE6Zm9jdXMtdmlzaWJsZSwgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyIGJ1dHRvbjpmb2N1cy12aXNpYmxlIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7IH1cbiAgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyIGEgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyIGJ1dHRvbiAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cblxuLmVucXVpcnktYnV0dG9uLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7IH1cbiAgLmVucXVpcnktYnV0dG9uLWNvbnRhaW5lciAuZW5xdWlyeS1idXR0b24ge1xuICAgIC0tY29tcG9uZW50LXNwZWNpZmMtc3RlcC1oZWlnaHQ6IDE1cHg7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiA0NXB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLXNtYWxsLW1hcmdpbiwgMCk7XG4gICAgcGFkZGluZzogdmFyKC0tY29tbW9uLWJ1dHRvbi1wYWRkaW5nLCAyMHB4IDEwcHgpO1xuICAgIGNvbG9yOiAjMDYwNTJmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZWE7XG4gICAgYm9yZGVyLXdpZHRoOiAycHg7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjZweDtcbiAgICB3b3JkLXNwYWNpbmc6IDJweDtcbiAgICBib3JkZXItY29sb3I6ICNlNmU2ZWE7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjhzO1xuICAgIGZsZXgtZ3JvdzogMTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5lbnF1aXJ5LWJ1dHRvbi1jb250YWluZXIgLmVucXVpcnktYnV0dG9uIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1sYXJnZS1tYXJnaW4sIDApOyB9IH1cbiAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgICAgLmVucXVpcnktYnV0dG9uLWNvbnRhaW5lciAuZW5xdWlyeS1idXR0b246aG92ZXIsIC5lbnF1aXJ5LWJ1dHRvbi1jb250YWluZXIgLmVucXVpcnktYnV0dG9uLmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNhZTk0NjE7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI2FlOTQ2MTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgICAgICAuZW5xdWlyeS1idXR0b24tY29udGFpbmVyIC5lbnF1aXJ5LWJ1dHRvbjpob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwLCAuZW5xdWlyeS1idXR0b24tY29udGFpbmVyIC5lbnF1aXJ5LWJ1dHRvbi5ob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfSB9XG4gICAgLmVucXVpcnktYnV0dG9uLWNvbnRhaW5lciAuZW5xdWlyeS1idXR0b246YWN0aXZlLCAuZW5xdWlyeS1idXR0b24tY29udGFpbmVyIC5lbnF1aXJ5LWJ1dHRvbi5hY3RpdmUge1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDYwNTJmO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMDYwNTJmO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAuZW5xdWlyeS1idXR0b24tY29udGFpbmVyIC5lbnF1aXJ5LWJ1dHRvbjpkaXNhYmxlZCwgLmVucXVpcnktYnV0dG9uLWNvbnRhaW5lciAuZW5xdWlyeS1idXR0b24uZGlzYWJsZWQsIC5lbnF1aXJ5LWJ1dHRvbi1jb250YWluZXIgLmVucXVpcnktYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgICBjb2xvcjogIzkyOTI5MjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMjAwLCAyMDAsIDIwMCwgMC43KTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAuZW5xdWlyeS1idXR0b24tY29udGFpbmVyIC5lbnF1aXJ5LWJ1dHRvbjpkaXNhYmxlZDpob3ZlciwgLmVucXVpcnktYnV0dG9uLWNvbnRhaW5lciAuZW5xdWlyeS1idXR0b24uZGlzYWJsZWQ6aG92ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwMCwgMjAwLCAyMDAsIDAuNyk7IH1cbiAgICAuZW5xdWlyeS1idXR0b24tY29udGFpbmVyIC5lbnF1aXJ5LWJ1dHRvbjpmb2N1cy12aXNpYmxlIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpOyB9XG4gICAgLmVucXVpcnktYnV0dG9uLWNvbnRhaW5lciAuZW5xdWlyeS1idXR0b24gLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cblxuLmZhdm91cml0ZXNDb250YWluZXIgYVtkaXNhYmxlZF0sIC5mYXZvdXJpdGVzQ29udGFpbmVyIGEuZGlzYWJsZWQge1xuICBjb2xvcjogIzkyOTI5MjtcbiAgb3BhY2l0eTogMC40O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gIC5mYXZvdXJpdGVzQ29udGFpbmVyIGFbZGlzYWJsZWRdOmFmdGVyLCAuZmF2b3VyaXRlc0NvbnRhaW5lciBhW2Rpc2FibGVkXTpob3ZlcjphZnRlciwgLmZhdm91cml0ZXNDb250YWluZXIgYS5kaXNhYmxlZDphZnRlciwgLmZhdm91cml0ZXNDb250YWluZXIgYS5kaXNhYmxlZDpob3ZlcjphZnRlciB7XG4gICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFJlZ3VsYXJcIjtcbiAgICBjb2xvcjogIzkyOTI5MjsgfVxuXG4uZmF2b3VyaXRlc0NvbnRhaW5lciBhOmFmdGVyIHtcbiAgY29udGVudDogXCLvgIRcIjtcbiAgY29sb3I6ICNhZTk0NjE7XG4gIGZvbnQtc2l6ZTogMjNweDtcbiAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFJlZ3VsYXJcIjtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuXG4uZmF2b3VyaXRlc0NvbnRhaW5lciBhOmhvdmVyOmFmdGVyIHtcbiAgY29sb3I6ICNhZTk0NjE7XG4gIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG5cbi5mYXZvdXJpdGVzQ29udGFpbmVyIGE6YWN0aXZlOmFmdGVyIHtcbiAgY29sb3I6ICNhZTk0NjE7XG4gIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiOyB9XG5cbi5mYXZvdXJpdGVzQ29udGFpbmVyLmFjdGl2ZSBhOmFmdGVyIHtcbiAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7IH1cblxuLmZhdm91cml0ZXNDb250YWluZXIucHJlc2V0MSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5mYXZvdXJpdGVzQ29udGFpbmVyLnByZXNldDEgYSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IDEwcHg7XG4gICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gICAgLmZhdm91cml0ZXNDb250YWluZXIucHJlc2V0MSBhOm5vdCguZGlzYWJsZWQpOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjYWU5NDYxO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuXG4uZmF2b3VyaXRlc0NvbnRhaW5lci5wcmVzZXQyOm5vdCguYWN0aXZlKSBhOmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi5mYXZvdXJpdGVzQ29udGFpbmVyLnByZXNldDIgYSB7XG4gIHdpZHRoOiAzNXB4O1xuICBoZWlnaHQ6IDM1cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmZhdm91cml0ZXNDb250YWluZXIucHJlc2V0MiBhOmFmdGVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5mYXZvdXJpdGVzQ29udGFpbmVyLnByZXNldDIgYTpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbmxhYmVsLmRpc2FibGVkLCBsYWJlbC5yZWFkb25seSB7XG4gIGN1cnNvcjogbm8tZHJvcDsgfVxuXG4uY29udHJvbCBpbnB1dFt0eXBlPWNoZWNrYm94XSwgLmNvbnRyb2wgaW5wdXRbdHlwZT1yYWRpb10ge1xuICB3aWR0aDogMCAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDAgIWltcG9ydGFudDtcbiAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gIGZsZXg6IDA7XG4gIG9wYWNpdHk6IDA7IH1cblxuQC1tb3otZG9jdW1lbnQgdXJsLXByZWZpeCgpIHtcbiAgLmNvbnRyb2wgaW5wdXRbdHlwZT1jaGVja2JveF0sIC5jb250cm9sIGlucHV0W3R5cGU9cmFkaW9dIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC00cHggIWltcG9ydGFudDsgfSB9XG5cbi5jb250cm9sIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBsaW5lLWhlaWdodDogMjBweDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgIC5jb250cm9sIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuY29udHJvbCB7XG4gICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7IH0gfVxuICAuY29udHJvbCBpbnB1dFt0eXBlPWNoZWNrYm94XSwgLmNvbnRyb2wgaW5wdXRbdHlwZT1yYWRpb10ge1xuICAgIHotaW5kZXg6IC0xO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuY29udHJvbC5pcy1ob3ZlcmVkIC5pbnB1dC1wcmVmaXgtaWNvbiwgLmNvbnRyb2w6aG92ZXIgLmlucHV0LXByZWZpeC1pY29uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm94LXNoYWRvdzogLTE1cHggMCAyN3B4IDNweCByZ2JhKDEyLCAxMiwgMTMsIDAuMSk7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuNnMsIGJhY2tncm91bmQtY29sb3IgMC42cywgYm94LXNoYWRvdyAwLjZzOyB9XG4gIC5jb250cm9sLmlzLWludmFsaWQtbGFiZWwgLmlucHV0LXByZWZpeC1pY29uIHtcbiAgICBib3JkZXItY29sb3I6ICNiMjBjMGM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZkZTFlMTsgfVxuICAgIC5jb250cm9sLmlzLWludmFsaWQtbGFiZWwgLmlucHV0LXByZWZpeC1pY29uOmJlZm9yZSB7XG4gICAgICBjb2xvcjogI2IyMGMwYzsgfVxuICAuY29udHJvbC5pcy1pbnZhbGlkLWxhYmVsOmhvdmVyIC5pbnB1dC1wcmVmaXgtaWNvbiwgLmNvbnRyb2wuaXMtaW52YWxpZC1sYWJlbDpob3ZlciBpbnB1dCB7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfVxuICAuY29udHJvbC5pcy1mb2N1c2VkIC5pbnB1dC1wcmVmaXgtaWNvbiB7XG4gICAgYm9yZGVyLWNvbG9yOiAjYzhjOGM4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm94LXNoYWRvdzogLTE1cHggMCAyN3B4IDNweCByZ2JhKDEyLCAxMiwgMTMsIDAuMSk7IH1cbiAgLmNvbnRyb2wgKyAubGFiZWwge1xuICAgIHBhZGRpbmctbGVmdDogNXB4OyB9XG4gIC5jb250cm9sIC5pbnB1dC1wcmVmaXgtaWNvbiB7XG4gICAgaGVpZ2h0OiA0NXB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLXdpZHRoOiAxcHggMCAxcHggMXB4O1xuICAgIGJvcmRlci1jb2xvcjogI2M4YzhjODtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjhzLCBiYWNrZ3JvdW5kLWNvbG9yIDAuOHMsIGJveC1zaGFkb3cgMC44cztcbiAgICB6LWluZGV4OiAxOyB9XG4gICAgLmNvbnRyb2wgLmlucHV0LXByZWZpeC1pY29uOmhvdmVyIHtcbiAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjZzLCBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH1cbiAgICAuY29udHJvbCAuaW5wdXQtcHJlZml4LWljb246YmVmb3JlIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7IH1cbiAgICAuY29udHJvbCAuaW5wdXQtcHJlZml4LWljb24gKyBpbnB1dCB7XG4gICAgICBib3JkZXItbGVmdC13aWR0aDogMDsgfVxuICAuY29udHJvbCAubGFiZWwge1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgLmNvbnRyb2w6bm90KC5yZWFkLW9ubHktaW5wdXQpOm5vdCguZGlzYWJsZWQtaW5wdXQpOm5vdCguaXMtaW52YWxpZC1sYWJlbCk6aG92ZXIgLmxhYmVsIHtcbiAgICBjb2xvcjogIzA2MDUyZjtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gIC5jb250cm9sOm5vdCgucmVhZC1vbmx5LWlucHV0KTpub3QoLmRpc2FibGVkLWlucHV0KTpub3QoLmlzLWludmFsaWQtbGFiZWwpOmhvdmVyIGlucHV0W3R5cGU9dGV4dF0sIC5jb250cm9sOm5vdCgucmVhZC1vbmx5LWlucHV0KTpub3QoLmRpc2FibGVkLWlucHV0KTpub3QoLmlzLWludmFsaWQtbGFiZWwpOmhvdmVyIGlucHV0W3R5cGU9bnVtYmVyXSwgLmNvbnRyb2w6bm90KC5yZWFkLW9ubHktaW5wdXQpOm5vdCguZGlzYWJsZWQtaW5wdXQpOm5vdCguaXMtaW52YWxpZC1sYWJlbCk6aG92ZXIgaW5wdXRbdHlwZT10ZWxdLCAuY29udHJvbDpub3QoLnJlYWQtb25seS1pbnB1dCk6bm90KC5kaXNhYmxlZC1pbnB1dCk6bm90KC5pcy1pbnZhbGlkLWxhYmVsKTpob3ZlciB0ZXh0YXJlYSB7XG4gICAgYm94LXNoYWRvdzogMHB4IDJweCA0cHggMXB4IHJnYmEoMTIsIDEyLCAxMywgMC4xKTtcbiAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNnM7IH1cbiAgLmNvbnRyb2wucmVhZC1vbmx5LWlucHV0LCAuY29udHJvbC5kaXNhYmxlZC1pbnB1dCB7XG4gICAgY3Vyc29yOiBuby1kcm9wOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAgIC5jb250cm9sLnJlYWQtb25seS1pbnB1dDpub3QoLnRleHQpOmhvdmVyOmFmdGVyLCAuY29udHJvbC5kaXNhYmxlZC1pbnB1dDpub3QoLnRleHQpOmhvdmVyOmFmdGVyIHtcbiAgICAgICAgY29sb3I6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy04KTtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAgICAgLmNvbnRyb2wucmVhZC1vbmx5LWlucHV0Om5vdCgudGV4dCk6YWZ0ZXIsIC5jb250cm9sLmRpc2FibGVkLWlucHV0Om5vdCgudGV4dCk6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIu+Ao1wiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcmlnaHQ6IDEwcHg7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5jb250cm9sLnJlYWQtb25seS1pbnB1dDpob3ZlcjphZnRlciwgLmNvbnRyb2wuZGlzYWJsZWQtaW5wdXQ6aG92ZXI6YWZ0ZXIge1xuICAgICAgICBjb2xvcjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTgpO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gICAgICAuY29udHJvbC5yZWFkLW9ubHktaW5wdXQ6YWZ0ZXIsIC5jb250cm9sLmRpc2FibGVkLWlucHV0OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCLvgKNcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHJpZ2h0OiAxMHB4O1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5jb250cm9sLmNoZWNrYm94LnNtYWxsIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbiAgLmNvbnRyb2wuY2hlY2tib3guc21hbGwgaW5wdXQgKyBzcGFuIHtcbiAgICB3aWR0aDogMjBweDtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBib3JkZXItd2lkdGg6IDFweDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC44czsgfVxuICAgIC5jb250cm9sLmNoZWNrYm94LnNtYWxsIGlucHV0ICsgc3BhbjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgIxcIjtcbiAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDJweDtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgZm9udC1zaXplOiAxMS43NjQ3MXB4OyB9XG4gIC5jb250cm9sLmNoZWNrYm94LnNtYWxsIGlucHV0ICsgc3BhbiB7XG4gICAgYm9yZGVyLWNvbG9yOiAjYzhjOGM4OyB9XG4gICAgLmNvbnRyb2wuY2hlY2tib3guc21hbGwgaW5wdXQgKyBzcGFuOmJlZm9yZSB7XG4gICAgICBvcGFjaXR5OiAwOyB9XG4gIC5jb250cm9sLmNoZWNrYm94LnNtYWxsIGlucHV0W3JlYWRvbmx5XSArIHNwYW4sIC5jb250cm9sLmNoZWNrYm94LnNtYWxsIGlucHV0W2Rpc2FibGVkXSB7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwMCwgMjAwLCAyMDAsIDAuNyk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTgpOyB9XG4gICAgLmNvbnRyb2wuY2hlY2tib3guc21hbGwgaW5wdXRbcmVhZG9ubHldICsgc3BhbjpiZWZvcmUsIC5jb250cm9sLmNoZWNrYm94LnNtYWxsIGlucHV0W2Rpc2FibGVkXTpiZWZvcmUge1xuICAgICAgY3Vyc29yOiBuby1kcm9wOyB9XG4gIC5jb250cm9sLmNoZWNrYm94LnNtYWxsIGlucHV0OmhvdmVyOm5vdChbcmVhZG9ubHldKTpub3QoW2Rpc2FibGVkXSkgKyBzcGFuIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTsgfVxuICAgIC5jb250cm9sLmNoZWNrYm94LnNtYWxsIGlucHV0OmhvdmVyOm5vdChbcmVhZG9ubHldKTpub3QoW2Rpc2FibGVkXSkgKyBzcGFuOmJlZm9yZSB7XG4gICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgLmNvbnRyb2wuY2hlY2tib3guc21hbGwgaW5wdXQ6aG92ZXI6bm90KFtyZWFkb25seV0pOm5vdChbZGlzYWJsZWRdKTpjaGVja2VkICsgc3BhbiB7XG4gICAgYm9yZGVyLWNvbG9yOiAjYzhjOGM4OyB9XG4gIC5jb250cm9sLmNoZWNrYm94LnNtYWxsIGlucHV0ICsgc3Bhbjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXItY29sb3I6ICNjOGM4Yzg7XG4gICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTsgfVxuICAuY29udHJvbC5jaGVja2JveC5zbWFsbCBpbnB1dDpmb2N1cyArIHNwYW4ge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyLWNvbG9yOiAjYzhjOGM4O1xuICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7IH1cbiAgLmNvbnRyb2wuY2hlY2tib3guc21hbGwgaW5wdXQ6Y2hlY2tlZCArIHNwYW46YmVmb3JlIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIC5jb250cm9sLmNoZWNrYm94LnNtYWxsIGlucHV0OmNoZWNrZWQ6bm90KFtyZWFkb25seV0pOm5vdChbZGlzYWJsZWRdKSArIHNwYW46YmVmb3JlIHtcbiAgICBjb2xvcjogI2FlOTQ2MTsgfVxuICAuY29udHJvbC5jaGVja2JveC5zbWFsbCBpbnB1dDpjaGVja2VkOm5vdChbcmVhZG9ubHldKTpub3QoW2Rpc2FibGVkXSkgKyBzcGFuOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICNjOGM4Yzg7IH1cbiAgLmNvbnRyb2wuY2hlY2tib3guc21hbGwgaW5wdXQ6Y2hlY2tlZFtkaXNhYmxlZF0gKyBzcGFuOmJlZm9yZSwgLmNvbnRyb2wuY2hlY2tib3guc21hbGwgaW5wdXQ6Y2hlY2tlZFtyZWFkb25seV0gKyBzcGFuOmJlZm9yZSB7XG4gICAgY29sb3I6ICM5MjkyOTI7IH1cbiAgLmNvbnRyb2wuY2hlY2tib3g6bm90KC5zbWFsbCkgaW5wdXQgKyBzcGFuIHtcbiAgICB3aWR0aDogMjBweDtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBib3JkZXItd2lkdGg6IDFweDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC44czsgfVxuICAgIC5jb250cm9sLmNoZWNrYm94Om5vdCguc21hbGwpIGlucHV0ICsgc3BhbjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgIxcIjtcbiAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDJweDtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgZm9udC1zaXplOiAxMS43NjQ3MXB4OyB9XG4gIC5jb250cm9sLmNoZWNrYm94Om5vdCguc21hbGwpIGlucHV0ICsgc3BhbiB7XG4gICAgYm9yZGVyLWNvbG9yOiAjYzhjOGM4OyB9XG4gICAgLmNvbnRyb2wuY2hlY2tib3g6bm90KC5zbWFsbCkgaW5wdXQgKyBzcGFuOmJlZm9yZSB7XG4gICAgICBvcGFjaXR5OiAwOyB9XG4gIC5jb250cm9sLmNoZWNrYm94Om5vdCguc21hbGwpIGlucHV0W3JlYWRvbmx5XSArIHNwYW4sIC5jb250cm9sLmNoZWNrYm94Om5vdCguc21hbGwpIGlucHV0W2Rpc2FibGVkXSB7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwMCwgMjAwLCAyMDAsIDAuNyk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTgpOyB9XG4gICAgLmNvbnRyb2wuY2hlY2tib3g6bm90KC5zbWFsbCkgaW5wdXRbcmVhZG9ubHldICsgc3BhbjpiZWZvcmUsIC5jb250cm9sLmNoZWNrYm94Om5vdCguc21hbGwpIGlucHV0W2Rpc2FibGVkXTpiZWZvcmUge1xuICAgICAgY3Vyc29yOiBuby1kcm9wOyB9XG4gIC5jb250cm9sLmNoZWNrYm94Om5vdCguc21hbGwpIGlucHV0OmhvdmVyOm5vdChbcmVhZG9ubHldKTpub3QoW2Rpc2FibGVkXSkgKyBzcGFuIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTsgfVxuICAgIC5jb250cm9sLmNoZWNrYm94Om5vdCguc21hbGwpIGlucHV0OmhvdmVyOm5vdChbcmVhZG9ubHldKTpub3QoW2Rpc2FibGVkXSkgKyBzcGFuOmJlZm9yZSB7XG4gICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgLmNvbnRyb2wuY2hlY2tib3g6bm90KC5zbWFsbCkgaW5wdXQ6aG92ZXI6bm90KFtyZWFkb25seV0pOm5vdChbZGlzYWJsZWRdKTpjaGVja2VkICsgc3BhbiB7XG4gICAgYm9yZGVyLWNvbG9yOiAjYzhjOGM4OyB9XG4gIC5jb250cm9sLmNoZWNrYm94Om5vdCguc21hbGwpIGlucHV0ICsgc3Bhbjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXItY29sb3I6ICNjOGM4Yzg7XG4gICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTsgfVxuICAuY29udHJvbC5jaGVja2JveDpub3QoLnNtYWxsKSBpbnB1dDpmb2N1cyArIHNwYW4ge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyLWNvbG9yOiAjYzhjOGM4O1xuICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7IH1cbiAgLmNvbnRyb2wuY2hlY2tib3g6bm90KC5zbWFsbCkgaW5wdXQ6Y2hlY2tlZCArIHNwYW46YmVmb3JlIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIC5jb250cm9sLmNoZWNrYm94Om5vdCguc21hbGwpIGlucHV0OmNoZWNrZWQ6bm90KFtyZWFkb25seV0pOm5vdChbZGlzYWJsZWRdKSArIHNwYW46YmVmb3JlIHtcbiAgICBjb2xvcjogI2FlOTQ2MTsgfVxuICAuY29udHJvbC5jaGVja2JveDpub3QoLnNtYWxsKSBpbnB1dDpjaGVja2VkOm5vdChbcmVhZG9ubHldKTpub3QoW2Rpc2FibGVkXSkgKyBzcGFuOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICNjOGM4Yzg7IH1cbiAgLmNvbnRyb2wuY2hlY2tib3g6bm90KC5zbWFsbCkgaW5wdXQ6Y2hlY2tlZFtkaXNhYmxlZF0gKyBzcGFuOmJlZm9yZSwgLmNvbnRyb2wuY2hlY2tib3g6bm90KC5zbWFsbCkgaW5wdXQ6Y2hlY2tlZFtyZWFkb25seV0gKyBzcGFuOmJlZm9yZSB7XG4gICAgY29sb3I6ICM5MjkyOTI7IH1cbiAgLmNvbnRyb2wucmFkaW8ge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLmNvbnRyb2wucmFkaW86bm90KC5jaGVja2JveCkgaW5wdXQ6Y2hlY2tlZCArIHNwYW4ucmFkaW8ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG4gICAgLmNvbnRyb2wucmFkaW86bm90KC5jaGVja2JveCkgaW5wdXQ6Y2hlY2tlZCArIHNwYW4ucmFkaW86YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2FlOTQ2MTtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuICAuY29udHJvbC5yYWRpbzpub3QoLmNoZWNrYm94KSBzcGFuLnJhZGlvIHtcbiAgICB3aWR0aDogMTVweDtcbiAgICBoZWlnaHQ6IDE1cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXItcmFkaXVzOiAxNXB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNjOGM4Yzg7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9XG4gICAgLmNvbnRyb2wucmFkaW86bm90KC5jaGVja2JveCkgc3Bhbi5yYWRpbzphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHdpZHRoOiA3LjVweDtcbiAgICAgIGhlaWdodDogNy41cHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0b3A6IC4ycHg7XG4gICAgICBsZWZ0OiAuNHB4O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgYm9yZGVyLXJhZGl1czogNy41cHg7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH1cbiAgICAuY29udHJvbC5yYWRpbzpub3QoLmNoZWNrYm94KSBzcGFuLnJhZGlvOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cbiAgICAgIC5jb250cm9sLnJhZGlvOm5vdCguY2hlY2tib3gpIHNwYW4ucmFkaW86aG92ZXI6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5jb250cm9sLnJhZGlvOm5vdCguY2hlY2tib3gpIHNwYW4ucmFkaW86YWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cbiAgICAgIC5jb250cm9sLnJhZGlvOm5vdCguY2hlY2tib3gpIHNwYW4ucmFkaW86YWN0aXZlOmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2FlOTQ2MTsgfVxuICAuY29udHJvbC5yYWRpby5jaGVja2JveCBpbnB1dCArIHNwYW4ge1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIGhlaWdodDogMjBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGJvcmRlci13aWR0aDogMXB4O1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjhzOyB9XG4gICAgLmNvbnRyb2wucmFkaW8uY2hlY2tib3ggaW5wdXQgKyBzcGFuOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+AjFwiO1xuICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgcGFkZGluZy1yaWdodDogMnB4O1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICBmb250LXNpemU6IDExLjc2NDcxcHg7IH1cbiAgLmNvbnRyb2wucmFkaW8uY2hlY2tib3ggaW5wdXQgKyBzcGFuIHtcbiAgICBib3JkZXItY29sb3I6ICNjOGM4Yzg7IH1cbiAgICAuY29udHJvbC5yYWRpby5jaGVja2JveCBpbnB1dCArIHNwYW46YmVmb3JlIHtcbiAgICAgIG9wYWNpdHk6IDA7IH1cbiAgLmNvbnRyb2wucmFkaW8uY2hlY2tib3ggaW5wdXRbcmVhZG9ubHldICsgc3BhbiwgLmNvbnRyb2wucmFkaW8uY2hlY2tib3ggaW5wdXRbZGlzYWJsZWRdIHtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMjAwLCAyMDAsIDIwMCwgMC43KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtOCk7IH1cbiAgICAuY29udHJvbC5yYWRpby5jaGVja2JveCBpbnB1dFtyZWFkb25seV0gKyBzcGFuOmJlZm9yZSwgLmNvbnRyb2wucmFkaW8uY2hlY2tib3ggaW5wdXRbZGlzYWJsZWRdOmJlZm9yZSB7XG4gICAgICBjdXJzb3I6IG5vLWRyb3A7IH1cbiAgLmNvbnRyb2wucmFkaW8uY2hlY2tib3ggaW5wdXQ6aG92ZXI6bm90KFtyZWFkb25seV0pOm5vdChbZGlzYWJsZWRdKSArIHNwYW4ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpOyB9XG4gICAgLmNvbnRyb2wucmFkaW8uY2hlY2tib3ggaW5wdXQ6aG92ZXI6bm90KFtyZWFkb25seV0pOm5vdChbZGlzYWJsZWRdKSArIHNwYW46YmVmb3JlIHtcbiAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAuY29udHJvbC5yYWRpby5jaGVja2JveCBpbnB1dDpob3Zlcjpub3QoW3JlYWRvbmx5XSk6bm90KFtkaXNhYmxlZF0pOmNoZWNrZWQgKyBzcGFuIHtcbiAgICBib3JkZXItY29sb3I6ICNjOGM4Yzg7IH1cbiAgLmNvbnRyb2wucmFkaW8uY2hlY2tib3ggaW5wdXQgKyBzcGFuOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlci1jb2xvcjogI2M4YzhjODtcbiAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpOyB9XG4gIC5jb250cm9sLnJhZGlvLmNoZWNrYm94IGlucHV0OmZvY3VzICsgc3BhbiB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXItY29sb3I6ICNjOGM4Yzg7XG4gICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTsgfVxuICAuY29udHJvbC5yYWRpby5jaGVja2JveCBpbnB1dDpjaGVja2VkICsgc3BhbjpiZWZvcmUge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgLmNvbnRyb2wucmFkaW8uY2hlY2tib3ggaW5wdXQ6Y2hlY2tlZDpub3QoW3JlYWRvbmx5XSk6bm90KFtkaXNhYmxlZF0pICsgc3BhbjpiZWZvcmUge1xuICAgIGNvbG9yOiAjYWU5NDYxOyB9XG4gIC5jb250cm9sLnJhZGlvLmNoZWNrYm94IGlucHV0OmNoZWNrZWQ6bm90KFtyZWFkb25seV0pOm5vdChbZGlzYWJsZWRdKSArIHNwYW46Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogI2M4YzhjODsgfVxuICAuY29udHJvbC5yYWRpby5jaGVja2JveCBpbnB1dDpjaGVja2VkW2Rpc2FibGVkXSArIHNwYW46YmVmb3JlLCAuY29udHJvbC5yYWRpby5jaGVja2JveCBpbnB1dDpjaGVja2VkW3JlYWRvbmx5XSArIHNwYW46YmVmb3JlIHtcbiAgICBjb2xvcjogIzkyOTI5MjsgfVxuICAuY29udHJvbC5zZWxlY3Qge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmNvbnRyb2wuc2VsZWN0IHNlbGVjdCB7XG4gICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAuY29udHJvbC5zZWxlY3Qgc2VsZWN0OmRpc2FibGVkICsgLmNvbnRyb2wtc2VsZWN0LWNvbnRhaW5lciAuc2VsZWN0ZWQtb3B0aW9uLCAuY29udHJvbC5zZWxlY3Qgc2VsZWN0W3JlYWRvbmx5XSArIC5jb250cm9sLXNlbGVjdC1jb250YWluZXIgLnNlbGVjdGVkLW9wdGlvbiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy04KTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwMCwgMjAwLCAyMDAsIDAuNyk7XG4gICAgICAgIGN1cnNvcjogbm8tZHJvcDsgfVxuICAgICAgLmNvbnRyb2wuc2VsZWN0IHNlbGVjdDpkaXNhYmxlZCArIC5jb250cm9sLXNlbGVjdC1jb250YWluZXIgLmNvbnRyb2wtc2VsZWN0LWRyb3Bkb3duOmhvdmVyIC5zZWxlY3QtYXJyb3csIC5jb250cm9sLnNlbGVjdCBzZWxlY3RbcmVhZG9ubHldICsgLmNvbnRyb2wtc2VsZWN0LWNvbnRhaW5lciAuY29udHJvbC1zZWxlY3QtZHJvcGRvd246aG92ZXIgLnNlbGVjdC1hcnJvdyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy04KTsgfVxuICAgICAgICAuY29udHJvbC5zZWxlY3Qgc2VsZWN0OmRpc2FibGVkICsgLmNvbnRyb2wtc2VsZWN0LWNvbnRhaW5lciAuY29udHJvbC1zZWxlY3QtZHJvcGRvd246aG92ZXIgLnNlbGVjdC1hcnJvdzphZnRlciwgLmNvbnRyb2wuc2VsZWN0IHNlbGVjdFtyZWFkb25seV0gKyAuY29udHJvbC1zZWxlY3QtY29udGFpbmVyIC5jb250cm9sLXNlbGVjdC1kcm9wZG93bjpob3ZlciAuc2VsZWN0LWFycm93OmFmdGVyIHtcbiAgICAgICAgICBjb2xvcjogcmdiYSgyMDAsIDIwMCwgMjAwLCAwLjcpOyB9XG4gICAgICAuY29udHJvbC5zZWxlY3Qgc2VsZWN0LmlzLWludmFsaWQtaW5wdXQgKyAuY29udHJvbC1zZWxlY3QtY29udGFpbmVyIC5zZWxlY3RlZC1vcHRpb24ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmRlMWUxO1xuICAgICAgICBib3JkZXItY29sb3I6ICNiMjBjMGM7IH1cbiAgICAgIC5jb250cm9sLnNlbGVjdCBzZWxlY3Q6Zm9jdXMgKyBkaXZbY2xhc3M9Y29udHJvbC1zZWxlY3QtY29udGFpbmVyXSAuc2VsZWN0ZWQtb3B0aW9uIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5jb250cm9sLnNlbGVjdC5pcy1jbG9zaW5nIHtcbiAgICAgIHotaW5kZXg6IDIwMDA7IH1cbiAgICAuY29udHJvbC5zZWxlY3QuYWN0aXZlLCAuY29udHJvbC5zZWxlY3QuYWN0aXZlOmhvdmVyIHtcbiAgICAgIHotaW5kZXg6IDE5OTk7IH1cbiAgICAgIC5jb250cm9sLnNlbGVjdC5hY3RpdmU6aG92ZXIgLmNvbnRyb2wtc2VsZWN0LW9wdGlvbnMsIC5jb250cm9sLnNlbGVjdC5hY3RpdmU6aG92ZXI6aG92ZXIgLmNvbnRyb2wtc2VsZWN0LW9wdGlvbnMge1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgICAuY29udHJvbC5zZWxlY3QuYWN0aXZlLmRyb3Bkb3duLXRvcCAuc2VsZWN0ZWQtb3B0aW9uLCAuY29udHJvbC5zZWxlY3QuYWN0aXZlOmhvdmVyLmRyb3Bkb3duLXRvcCAuc2VsZWN0ZWQtb3B0aW9uIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDsgfVxuICAgICAgICAuY29udHJvbC5zZWxlY3QuYWN0aXZlLmRyb3Bkb3duLXRvcCAuc2VsZWN0ZWQtb3B0aW9uIC5zZWxlY3QtYXJyb3csIC5jb250cm9sLnNlbGVjdC5hY3RpdmU6aG92ZXIuZHJvcGRvd24tdG9wIC5zZWxlY3RlZC1vcHRpb24gLnNlbGVjdC1hcnJvdyB7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDsgfVxuICAgICAgLmNvbnRyb2wuc2VsZWN0LmFjdGl2ZS5kcm9wZG93bi10b3AgLmNvbnRyb2wtc2VsZWN0LW9wdGlvbnMsIC5jb250cm9sLnNlbGVjdC5hY3RpdmU6aG92ZXIuZHJvcGRvd24tdG9wIC5jb250cm9sLXNlbGVjdC1vcHRpb25zIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDsgfVxuICAgICAgLmNvbnRyb2wuc2VsZWN0LmFjdGl2ZSAuc2VsZWN0ZWQtb3B0aW9uLCAuY29udHJvbC5zZWxlY3QuYWN0aXZlOmhvdmVyIC5zZWxlY3RlZC1vcHRpb24ge1xuICAgICAgICBib3JkZXItd2lkdGg6IDFweCAxcHggMCAxcHg7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cbiAgICAgICAgLmNvbnRyb2wuc2VsZWN0LmFjdGl2ZSAuc2VsZWN0ZWQtb3B0aW9uOmZvY3VzLCAuY29udHJvbC5zZWxlY3QuYWN0aXZlOmhvdmVyIC5zZWxlY3RlZC1vcHRpb246Zm9jdXMge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAgIC5jb250cm9sLnNlbGVjdC5hY3RpdmUgLnNlbGVjdC1hcnJvdywgLmNvbnRyb2wuc2VsZWN0LmFjdGl2ZTpob3ZlciAuc2VsZWN0LWFycm93IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2FlOTQ2MTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDsgfVxuICAgICAgICAuY29udHJvbC5zZWxlY3QuYWN0aXZlIC5zZWxlY3QtYXJyb3c6YWZ0ZXIsIC5jb250cm9sLnNlbGVjdC5hY3RpdmU6aG92ZXIgLnNlbGVjdC1hcnJvdzphZnRlciB7XG4gICAgICAgICAgY29udGVudDogXCLuoIJcIjtcbiAgICAgICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgICAgLmNvbnRyb2wuc2VsZWN0LmFjdGl2ZSAuY29udHJvbC1zZWxlY3Qtb3B0aW9ucywgLmNvbnRyb2wuc2VsZWN0LmFjdGl2ZTpob3ZlciAuY29udHJvbC1zZWxlY3Qtb3B0aW9ucyB7XG4gICAgICAgIG1heC1oZWlnaHQ6IDE4NXB4O1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgIC5jb250cm9sLnNlbGVjdC5kcm9wZG93bi1ib3R0b20gLnNlbGVjdGVkLW9wdGlvbiB7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjYzhjOGM4OyB9XG4gICAgLmNvbnRyb2wuc2VsZWN0LmRyb3Bkb3duLXRvcCAuc2VsZWN0ZWQtb3B0aW9uIHtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6ICNjOGM4Yzg7IH1cbiAgICAuY29udHJvbC5zZWxlY3QuZHJvcGRvd24tdG9wIC5jb250cm9sLXNlbGVjdC1vcHRpb25zIHtcbiAgICAgIHRvcDogYXV0bztcbiAgICAgIGJvdHRvbTogMTAwJTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGJvcmRlci13aWR0aDogMXB4IDFweCAwIDFweDsgfVxuICAgIC5jb250cm9sLnNlbGVjdC5kcm9wZG93bi10b3AuYWN0aXZlIC5zZWxlY3RlZC1vcHRpb24ge1xuICAgICAgYm9yZGVyLXdpZHRoOiAwIDFweCAxcHggMXB4OyB9XG4gICAgLmNvbnRyb2wuc2VsZWN0IC5zZWxlY3QtYXJyb3cge1xuICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfVxuICAgICAgLmNvbnRyb2wuc2VsZWN0IC5zZWxlY3QtYXJyb3c6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIu6gg1wiO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBmb250LXNpemU6IDlweDtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG8tZGptaWxlc1wiO1xuICAgICAgICBjb2xvcjogIzg4ODg4ODtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAgIC5jb250cm9sLnNlbGVjdCAuc2VsZWN0ZWQtb3B0aW9uIHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgcGFkZGluZzogNXB4IDAgNXB4IDA7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAzM3B4O1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjOGM4Yzg7XG4gICAgICBmb250LWZhbWlseTogXCJHaWJzb25cIiwgXCJHaWJzb24gRmFsbGJhY2tcIiwgXCJBcmlhbFwiO1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICBvdXRsaW5lOiAwO1xuICAgICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICAgICAgLmNvbnRyb2wuc2VsZWN0IC5zZWxlY3RlZC1vcHRpb24gLnNlbGVjdGVkLWRlc2NyaXB0aW9uIHtcbiAgICAgICAgcGFkZGluZzogNXB4IDAgNXB4IDI1cHg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAuY29udHJvbC5zZWxlY3QgLnNlbGVjdGVkLW9wdGlvbiAuc2VsZWN0ZWQtZGVzY3JpcHRpb24ge1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfSB9XG4gICAgICAuc2VsZWN0ZWQtZGVzY3JpcHRpb24ge1xuICAgICAgICBjb2xvcjogIzc3Nzc3NzsgfVxuICAgICAgLmNvbnRyb2wuc2VsZWN0IC5zZWxlY3RlZC1vcHRpb246aG92ZXIge1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpO1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgICAuY29udHJvbC5zZWxlY3QgLnNlbGVjdGVkLW9wdGlvbjpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI2M4YzhjODsgfVxuICAgIC5jb250cm9sLnNlbGVjdCAuY29udHJvbC1zZWxlY3Qtb3B0aW9ucyB7XG4gICAgICBtYXgtaGVpZ2h0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBtYXJnaW46IGF1dG8gMCAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGJvcmRlci13aWR0aDogMCAxcHggMCAxcHg7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjhzO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cbiAgICAuY29udHJvbC5zZWxlY3QgLmNvbnRyb2wtc2VsZWN0LW9wdGlvbiB7XG4gICAgICBwYWRkaW5nOiA1cHggMCA1cHggMTBweDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC44czsgfVxuICAgICAgLmNvbnRyb2wuc2VsZWN0IC5jb250cm9sLXNlbGVjdC1vcHRpb25bc2VsZWN0ZWRdIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzA2MDUyZjtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgICAgIC5jb250cm9sLnNlbGVjdCAuY29udHJvbC1zZWxlY3Qtb3B0aW9uW2Rpc2FibGVkXSwgLmNvbnRyb2wuc2VsZWN0IC5jb250cm9sLXNlbGVjdC1vcHRpb24uZGlzYWJsZWQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtOCk7XG4gICAgICAgIGNvbG9yOiAjOTI5MjkyO1xuICAgICAgICBjdXJzb3I6IG5vLWRyb3A7IH1cbiAgICAgIC5jb250cm9sLnNlbGVjdCAuY29udHJvbC1zZWxlY3Qtb3B0aW9uOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNhZTk0NjE7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgICAuY29udHJvbC5zZWxlY3QgLmNvbnRyb2wtc2VsZWN0LW9wdGlvbjphY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDYwNTJmO1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgICAgICAuY29udHJvbC5zZWxlY3QgLmNvbnRyb2wtc2VsZWN0LW9wdGlvbjphY3RpdmVbZGlzYWJsZWRdLCAuY29udHJvbC5zZWxlY3QgLmNvbnRyb2wtc2VsZWN0LW9wdGlvbjphY3RpdmUuZGlzYWJsZWQge1xuICAgICAgICAgIG9wYWNpdHk6IDAuNzsgfVxuICAgIC5jb250cm9sLnNlbGVjdCAuY29udHJvbC1zZWxlY3QtY29udGFpbmVyIHtcbiAgICAgIG1pbi13aWR0aDogMTUwcHg7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgIGZsZXg6IDE7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLmNvbnRyb2wuc2VsZWN0IC5jb250cm9sLXNlbGVjdC1jb250YWluZXIge1xuICAgICAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbiAgICAuY29udHJvbC5zZWxlY3QgLmNvbnRyb2wtc2VsZWN0LWRyb3Bkb3duIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5jb250cm9sLnNlbGVjdCAuY29udHJvbC1zZWxlY3QtZHJvcGRvd24ge1xuICAgICAgICAgIGhlaWdodDogNDBweDsgfSB9XG4gICAgICAuY29udHJvbC5zZWxlY3QgLmNvbnRyb2wtc2VsZWN0LWRyb3Bkb3duOmhvdmVyIC5zZWxlY3QtYXJyb3cge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDYwNTJmOyB9XG4gICAgICAgIC5jb250cm9sLnNlbGVjdCAuY29udHJvbC1zZWxlY3QtZHJvcGRvd246aG92ZXIgLnNlbGVjdC1hcnJvdzphZnRlciB7XG4gICAgICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAuY29udHJvbC5zZWxlY3QudGl0bGUgLmNvbnRyb2wtc2VsZWN0LWRyb3Bkb3duIHtcbiAgICAgIHdpZHRoOiAyNTBweDsgfVxuICAuY29udHJvbC50ZXh0IHtcbiAgICBjdXJzb3I6IHRleHQ7IH1cbiAgICAuY29udHJvbC50ZXh0IGlucHV0IHtcbiAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjhzOyB9XG4gICAgICAuY29udHJvbC50ZXh0IGlucHV0Om5vdChbdHlwZT1wYXNzd29yZF0pOmhvdmVyIHtcbiAgICAgICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTsgfVxuICAgICAgLmNvbnRyb2wudGV4dCBpbnB1dDpob3ZlciB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgICAgIC5jb250cm9sLnRleHQgaW5wdXQ6aG92ZXIuaXMtaW52YWxpZC1pbnB1dCB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAjYjIwYzBjOyB9XG4gICAgICAgICAgLmNvbnRyb2wudGV4dCBpbnB1dDpob3Zlci5pcy1pbnZhbGlkLWlucHV0OmZvY3VzIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAgICAgICAgIC5jb250cm9sLnRleHQgaW5wdXQ6aG92ZXIuaXMtaW52YWxpZC1pbnB1dDpmb2N1cyArIGJ1dHRvbiB7XG4gICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAgICAgICAuY29udHJvbC50ZXh0IGlucHV0OmhvdmVyLmlzLWludmFsaWQtaW5wdXQgKyBidXR0b24ge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAjYjIwYzBjOyB9XG4gICAgICAgIC5jb250cm9sLnRleHQgaW5wdXQ6aG92ZXI6bm90KC5pcy1pbnZhbGlkLWlucHV0KSArIGJ1dHRvbiB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC42czsgfVxuICAgICAgLmNvbnRyb2wudGV4dCBpbnB1dCArIGJ1dHRvbjpmb2N1cyB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7IH1cbiAgLmNvbnRyb2wuc2xpZGVyIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiAwOyB9XG4gIC5jb250cm9sLmZpbGUge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IDRweCBzb2xpZCAjMDYwNTJmO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzLCBib3JkZXItY29sb3IgMC44czsgfVxuICAgIC5jb250cm9sLmZpbGU6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMi41cHgpO1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAyLjVweCk7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgICBib3JkZXI6IDIuNXB4IGRhc2hlZCAjMDYwNTJmO1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjhzOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmNvbnRyb2wuZmlsZSB7XG4gICAgICAgIHdpZHRoOiA3MDBweCAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nOiAzOHB4IDEwcHg7IH0gfVxuICAgIC5jb250cm9sLmZpbGU6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItY29sb3I6ICMwNjA1MmY7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnMsIGJvcmRlci1jb2xvciAwLjZzOyB9XG4gICAgICAuY29udHJvbC5maWxlOmhvdmVyOmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMDYwNTJmO1xuICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC42czsgfVxuICAgICAgLmNvbnRyb2wuZmlsZTpob3ZlciBzcGFuLmxhYmVsIHtcbiAgICAgICAgY29sb3I6ICMwNjA1MmY7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgICAgIC5jb250cm9sLmZpbGU6aG92ZXIgLmZpbGUtdXBsb2FkLWljb246YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICMwNjA1MmY7IH1cbiAgICAuY29udHJvbC5maWxlOmFjdGl2ZSwgLmNvbnRyb2wuZmlsZS5pcy1yZWFkeSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDYsIDUsIDQ3LCAwLjEpO1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDYsIDUsIDQ3LCAwLjcpOyB9XG4gICAgICAuY29udHJvbC5maWxlOmFjdGl2ZTphZnRlciwgLmNvbnRyb2wuZmlsZS5pcy1yZWFkeTphZnRlciB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSg2LCA1LCA0NywgMC43KTsgfVxuICAgIC5jb250cm9sLmZpbGUuaXMtcmVhZHkgLmZpbGUtdXBsb2FkLWljb246YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi7pagXCI7XG4gICAgICBjb2xvcjogcmdiYSg2LCA1LCA0NywgMC43KTsgfVxuICAgIC5jb250cm9sLmZpbGUuaXMtaW52YWxpZC1sYWJlbCB7XG4gICAgICBib3JkZXItY29sb3I6ICNiMjBjMGM7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmRlMWUxOyB9XG4gICAgICAuY29udHJvbC5maWxlLmlzLWludmFsaWQtbGFiZWw6YWZ0ZXIge1xuICAgICAgICBib3JkZXItY29sb3I6ICNiMjBjMGM7IH1cbiAgICAgIC5jb250cm9sLmZpbGUuaXMtaW52YWxpZC1sYWJlbCAuZm9ybS1lcnJvciB7XG4gICAgICAgIG1hcmdpbjogMjBweCAwOyB9XG4gICAgICAuY29udHJvbC5maWxlLmlzLWludmFsaWQtbGFiZWwgLmZpbGUtdXBsb2FkLWljb246YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCLvgI1cIjtcbiAgICAgICAgY29sb3I6ICNiMjBjMGM7IH1cbiAgICAgIC5jb250cm9sLmZpbGUuaXMtaW52YWxpZC1sYWJlbCBzcGFuLmxhYmVsIHtcbiAgICAgICAgY29sb3I6ICNiMjBjMGM7IH1cbiAgICAuY29udHJvbC5maWxlIHNwYW4ubGFiZWwge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwYWRkaW5nOiA1cHggMTBweDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBjb2xvcjogIzA2MDUyZjtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLmNvbnRyb2wuZmlsZSBzcGFuLmxhYmVsIHtcbiAgICAgICAgICBwYWRkaW5nOiA1cHg7IH0gfVxuICAgIC5jb250cm9sLmZpbGUgLmZpbGUtdXBsb2FkLWljb24ge1xuICAgICAgcGFkZGluZzogMjBweCAxMHB4IDA7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7IH1cbiAgICAgIC5jb250cm9sLmZpbGUgLmZpbGUtdXBsb2FkLWljb246YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCLvlbRcIjtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICAgIGZvbnQtc2l6ZTogNDZweDtcbiAgICAgICAgY29sb3I6ICMwNjA1MmY7IH1cbiAgICAgIC5jb250cm9sLmZpbGUgLmZpbGUtdXBsb2FkLWljb24gKyAubGFiZWwge1xuICAgICAgICBwYWRkaW5nLXRvcDogMTBweDsgfVxuICAgIC5jb250cm9sLmZpbGUgLmlucHV0LWJ1dHRvbi1jb250YWluZXIge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgei1pbmRleDogMjsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAuY29udHJvbC5maWxlIC5pbnB1dC1idXR0b24tY29udGFpbmVyIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9IH1cbiAgICAuY29udHJvbC5maWxlIC5maWxlLXNpemUge1xuICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICAuY29udHJvbC5maWxlIC5yZW1vdmUtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgei1pbmRleDogMjsgfVxuICAgICAgLmNvbnRyb2wuZmlsZSAucmVtb3ZlLWJ1dHRvbjpob3ZlciB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gICAgICAuY29udHJvbC5maWxlIC5yZW1vdmUtYnV0dG9uOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCLvgI1cIjtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIGNvbG9yOiAjNzc3Nzc3OyB9XG4gICAgLmNvbnRyb2wuZmlsZSBpbnB1dCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIHotaW5kZXg6IDE7IH1cbiAgLmNvbnRyb2wuc2VhcmNoIGlucHV0IHtcbiAgICBoZWlnaHQ6IDQ1cHg7IH1cbiAgICAuY29udHJvbC5zZWFyY2ggaW5wdXQgKyBidXR0b24ge1xuICAgICAgaGVpZ2h0OiA0NXB4O1xuICAgICAgbWFyZ2luOiBhdXRvIDA7IH1cbiAgLmNvbnRyb2wgLnRvb2x0aXAtY29udGFpbmVyIHtcbiAgICBtYXJnaW4tbGVmdDogMjBweDsgfVxuICAuY29udHJvbDpob3ZlciAudG9vbHRpcC10cmlnZ2VyOmJlZm9yZSB7XG4gICAgYW5pbWF0aW9uOiBhbmltYXRlVG9vbFRpcEhpbnQgMnM7IH1cblxuLnF1YW50aXR5LXNlbGVjdG9yLWNvbnRhaW5lciBzZWxlY3QsIC5xdWFudGl0eS1zZWxlY3Rvci1jb250YWluZXIgLmNvbnRyb2wuc2VsZWN0IC5jb250cm9sLXNlbGVjdC1kcm9wZG93biB7XG4gIHdpZHRoOiA5MHB4OyB9XG5cbi5xdWFudGl0eS1zZWxlY3Rvci1jb250YWluZXIgLmNvbnRyb2wuc2VsZWN0IC5zZWxlY3RlZC1vcHRpb24gLnNlbGVjdGVkLWRlc2NyaXB0aW9uIHtcbiAgcGFkZGluZy1sZWZ0OiAxMHB4OyB9XG5cbkBrZXlmcmFtZXMgYW5pbWF0ZVRvb2xUaXBIaW50IHtcbiAgMCUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTE5LCAxMTksIDExOSwgMC43KTtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAyMCUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNhZTk0NjE7XG4gICAgY29sb3I6ICNmZmZmZmY7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICBpbnB1dCB7XG4gICAgZm9udC1zaXplOiAxcmVtICFpbXBvcnRhbnQ7IH0gfVxuXG5pbnB1dDo6cGxhY2Vob2xkZXIge1xuICBjb2xvcjogIzc3Nzc3NztcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG5pbnB1dC5tYWlsLWlucHV0IHtcbiAgaGVpZ2h0OiA0NXB4O1xuICBmbGV4LWdyb3c6IDE7XG4gIGZsb2F0OiBsZWZ0O1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDFweDtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDtcbiAgbWFyZ2luOiAwO1xuICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC44czsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIGlucHV0Lm1haWwtaW5wdXQge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBib3JkZXItd2lkdGg6IDFweCAwIDFweCAxcHg7IH0gfVxuICBpbnB1dC5tYWlsLWlucHV0LmlzLWludmFsaWQtaW5wdXQgKyBidXR0b24ge1xuICAgIGJvcmRlci1jb2xvcjogI2IyMGMwYztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmRlMWUxO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgICBpbnB1dC5tYWlsLWlucHV0LmlzLWludmFsaWQtaW5wdXQgKyBidXR0b246YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjYjIwYzBjOyB9XG4gICAgaW5wdXQubWFpbC1pbnB1dC5pcy1pbnZhbGlkLWlucHV0ICsgYnV0dG9uOmhvdmVyOmJlZm9yZSB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgaW5wdXQubWFpbC1pbnB1dCArIGJ1dHRvbiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiA0NXB4O1xuICAgIG1hcmdpbjogNXB4IDAgMDtcbiAgICBwYWRkaW5nOiAwIDVweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjYzhjOGM4O1xuICAgIGJvcmRlci13aWR0aDogMXB4O1xuICAgIGNvbG9yOiByZ2JhKDYsIDUsIDQ3LCAwLjYpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICBpbnB1dC5tYWlsLWlucHV0ICsgYnV0dG9uIHtcbiAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGJvcmRlci13aWR0aDogMXB4IDFweCAxcHggMDsgfSB9XG4gICAgaW5wdXQubWFpbC1pbnB1dCArIGJ1dHRvbjplbXB0eTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvh5hcIjtcbiAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIGNvbG9yOiByZ2JhKDYsIDUsIDQ3LCAwLjYpO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAgIGlucHV0Lm1haWwtaW5wdXQgKyBidXR0b246aG92ZXIge1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBib3JkZXItY29sb3I6ICNjOGM4Yzg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDYsIDUsIDQ3LCAwLjYpO1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9XG4gICAgICBpbnB1dC5tYWlsLWlucHV0ICsgYnV0dG9uOmhvdmVyOmVtcHR5OmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgaW5wdXQubWFpbC1pbnB1dCArIGJ1dHRvbjphY3RpdmUge1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBib3JkZXItY29sb3I6ICNjOGM4Yzg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWU5NDYxO1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9XG4gICAgICBpbnB1dC5tYWlsLWlucHV0ICsgYnV0dG9uOmFjdGl2ZTplbXB0eTpiZWZvcmUge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuXG4uY29uZGl0aW9uYWwtaW5wdXRzIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC1oZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IG1heC1oZWlnaHQgMC44czsgfVxuICAuY29uZGl0aW9uYWwtaW5wdXRzLmFjdGl2ZSB7XG4gICAgbWF4LWhlaWdodDogMjAwMHB4O1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjZzOyB9XG5cbi5xdWFudGl0eS1mcmVlLXRleHQtY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDsgfVxuICAucXVhbnRpdHktZnJlZS10ZXh0LWNvbnRhaW5lciAuaW5wdXQtbnVtYmVyLWRlY3JlbWVudCwgLnF1YW50aXR5LWZyZWUtdGV4dC1jb250YWluZXIgLmlucHV0LW51bWJlci1pbmNyZW1lbnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLnF1YW50aXR5LWZyZWUtdGV4dC1jb250YWluZXIgLmlucHV0LW51bWJlci1kZWNyZW1lbnQ6YmVmb3JlLCAucXVhbnRpdHktZnJlZS10ZXh0LWNvbnRhaW5lciAuaW5wdXQtbnVtYmVyLWluY3JlbWVudDpiZWZvcmUge1xuICAgICAgY29sb3I6ICMwNjA1MmY7IH1cbiAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgICAgLnF1YW50aXR5LWZyZWUtdGV4dC1jb250YWluZXIgLmlucHV0LW51bWJlci1kZWNyZW1lbnQ6aG92ZXIsIC5xdWFudGl0eS1mcmVlLXRleHQtY29udGFpbmVyIC5pbnB1dC1udW1iZXItaW5jcmVtZW50OmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxuICAgICAgICAucXVhbnRpdHktZnJlZS10ZXh0LWNvbnRhaW5lciAuaW5wdXQtbnVtYmVyLWRlY3JlbWVudDpob3ZlcjpiZWZvcmUsIC5xdWFudGl0eS1mcmVlLXRleHQtY29udGFpbmVyIC5pbnB1dC1udW1iZXItaW5jcmVtZW50OmhvdmVyOmJlZm9yZSB7XG4gICAgICAgICAgY29sb3I6ICNhZTk0NjE7IH0gfVxuICAgIC5xdWFudGl0eS1mcmVlLXRleHQtY29udGFpbmVyIC5pbnB1dC1udW1iZXItZGVjcmVtZW50OmFjdGl2ZSwgLnF1YW50aXR5LWZyZWUtdGV4dC1jb250YWluZXIgLmlucHV0LW51bWJlci1pbmNyZW1lbnQ6YWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWVlZWU7IH1cbiAgICAgIC5xdWFudGl0eS1mcmVlLXRleHQtY29udGFpbmVyIC5pbnB1dC1udW1iZXItZGVjcmVtZW50OmFjdGl2ZTpiZWZvcmUsIC5xdWFudGl0eS1mcmVlLXRleHQtY29udGFpbmVyIC5pbnB1dC1udW1iZXItaW5jcmVtZW50OmFjdGl2ZTpiZWZvcmUge1xuICAgICAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAucXVhbnRpdHktZnJlZS10ZXh0LWNvbnRhaW5lci5wcmVzZXQtMSAuaW5wdXQtbnVtYmVyLWRlY3JlbWVudCwgLnF1YW50aXR5LWZyZWUtdGV4dC1jb250YWluZXIucHJlc2V0LTEgLmlucHV0LW51bWJlci1pbmNyZW1lbnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLnF1YW50aXR5LWZyZWUtdGV4dC1jb250YWluZXIucHJlc2V0LTEgLmlucHV0LW51bWJlci1kZWNyZW1lbnQ6YmVmb3JlLCAucXVhbnRpdHktZnJlZS10ZXh0LWNvbnRhaW5lci5wcmVzZXQtMSAuaW5wdXQtbnVtYmVyLWluY3JlbWVudDpiZWZvcmUge1xuICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgICAgLnF1YW50aXR5LWZyZWUtdGV4dC1jb250YWluZXIucHJlc2V0LTEgLmlucHV0LW51bWJlci1kZWNyZW1lbnQ6aG92ZXIsIC5xdWFudGl0eS1mcmVlLXRleHQtY29udGFpbmVyLnByZXNldC0xIC5pbnB1dC1udW1iZXItaW5jcmVtZW50OmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZWVlZTsgfVxuICAgICAgICAucXVhbnRpdHktZnJlZS10ZXh0LWNvbnRhaW5lci5wcmVzZXQtMSAuaW5wdXQtbnVtYmVyLWRlY3JlbWVudDpob3ZlcjpiZWZvcmUsIC5xdWFudGl0eS1mcmVlLXRleHQtY29udGFpbmVyLnByZXNldC0xIC5pbnB1dC1udW1iZXItaW5jcmVtZW50OmhvdmVyOmJlZm9yZSB7XG4gICAgICAgICAgY29sb3I6ICMwNjA1MmY7IH0gfVxuICAgIC5xdWFudGl0eS1mcmVlLXRleHQtY29udGFpbmVyLnByZXNldC0xIC5pbnB1dC1udW1iZXItZGVjcmVtZW50OmFjdGl2ZSwgLnF1YW50aXR5LWZyZWUtdGV4dC1jb250YWluZXIucHJlc2V0LTEgLmlucHV0LW51bWJlci1pbmNyZW1lbnQ6YWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkYWRhZGE7IH1cbiAgICAgIC5xdWFudGl0eS1mcmVlLXRleHQtY29udGFpbmVyLnByZXNldC0xIC5pbnB1dC1udW1iZXItZGVjcmVtZW50OmFjdGl2ZTpiZWZvcmUsIC5xdWFudGl0eS1mcmVlLXRleHQtY29udGFpbmVyLnByZXNldC0xIC5pbnB1dC1udW1iZXItaW5jcmVtZW50OmFjdGl2ZTpiZWZvcmUge1xuICAgICAgICBjb2xvcjogI2FlOTQ2MTsgfVxuICAucXVhbnRpdHktZnJlZS10ZXh0LWNvbnRhaW5lciAuaW5wdXQtZ3JvdXAtYnV0dG9uIHNwYW4uZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLnF1YW50aXR5LWZyZWUtdGV4dC1jb250YWluZXIgLmlucHV0LWdyb3VwLWJ1dHRvbiBzcGFuLmRpc2FibGVkOmJlZm9yZSB7XG4gICAgICBjb2xvcjogI2RhZGFkYTsgfVxuICAgIC5xdWFudGl0eS1mcmVlLXRleHQtY29udGFpbmVyIC5pbnB1dC1ncm91cC1idXR0b24gc3Bhbi5kaXNhYmxlZDpob3ZlciB7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLnF1YW50aXR5LWZyZWUtdGV4dC1jb250YWluZXIgLmlucHV0LWdyb3VwLWJ1dHRvbiBzcGFuLmRpc2FibGVkOmFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAucXVhbnRpdHktZnJlZS10ZXh0LWNvbnRhaW5lciAubGFiZWwge1xuICAgIHBhZGRpbmc6IDZweCAwO1xuICAgIGxpbmUtaGVpZ2h0OiAyNXB4O1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLnF1YW50aXR5LWZyZWUtdGV4dC1jb250YWluZXIgLmxhYmVsIHtcbiAgICAgICAgcGFkZGluZzogNnB4IDE1cHggNnB4IDA7IH0gfVxuICAucXVhbnRpdHktZnJlZS10ZXh0LWNvbnRhaW5lciBpbnB1dFt0eXBlPW51bWJlcl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sIC5xdWFudGl0eS1mcmVlLXRleHQtY29udGFpbmVyIGlucHV0W3R5cGU9bnVtYmVyXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiwgLnF1YW50aXR5LWZyZWUtdGV4dC1jb250YWluZXIgaW5wdXRbdHlwZT1udW1iZXJdIHtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtbW96LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgICBtYXJnaW46IDA7IH1cbiAgLnF1YW50aXR5LWZyZWUtdGV4dC1jb250YWluZXI6aGFzKGlucHV0LmlzLWludmFsaWQtaW5wdXQpIC5pbnB1dC1udW1iZXItZGVjcmVtZW50LCAucXVhbnRpdHktZnJlZS10ZXh0LWNvbnRhaW5lcjpoYXMoaW5wdXQuaXMtaW52YWxpZC1pbnB1dCkgLmlucHV0LW51bWJlci1pbmNyZW1lbnQge1xuICAgIGJvcmRlci1jb2xvcjogI2IyMGMwYzsgfVxuICAgIC5xdWFudGl0eS1mcmVlLXRleHQtY29udGFpbmVyOmhhcyhpbnB1dC5pcy1pbnZhbGlkLWlucHV0KSAuaW5wdXQtbnVtYmVyLWRlY3JlbWVudDpub3QoLmRpc2FibGVkKSwgLnF1YW50aXR5LWZyZWUtdGV4dC1jb250YWluZXI6aGFzKGlucHV0LmlzLWludmFsaWQtaW5wdXQpIC5pbnB1dC1udW1iZXItaW5jcmVtZW50Om5vdCguZGlzYWJsZWQpIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZGUxZTE7IH1cbiAgICAgIC5xdWFudGl0eS1mcmVlLXRleHQtY29udGFpbmVyOmhhcyhpbnB1dC5pcy1pbnZhbGlkLWlucHV0KSAuaW5wdXQtbnVtYmVyLWRlY3JlbWVudDpub3QoLmRpc2FibGVkKTpiZWZvcmUsIC5xdWFudGl0eS1mcmVlLXRleHQtY29udGFpbmVyOmhhcyhpbnB1dC5pcy1pbnZhbGlkLWlucHV0KSAuaW5wdXQtbnVtYmVyLWluY3JlbWVudDpub3QoLmRpc2FibGVkKTpiZWZvcmUge1xuICAgICAgICBjb2xvcjogI2IyMGMwYzsgfVxuICAgIC5xdWFudGl0eS1mcmVlLXRleHQtY29udGFpbmVyOmhhcyhpbnB1dC5pcy1pbnZhbGlkLWlucHV0KSAuaW5wdXQtbnVtYmVyLWRlY3JlbWVudC5kaXNhYmxlZCwgLnF1YW50aXR5LWZyZWUtdGV4dC1jb250YWluZXI6aGFzKGlucHV0LmlzLWludmFsaWQtaW5wdXQpIC5pbnB1dC1udW1iZXItaW5jcmVtZW50LmRpc2FibGVkIHtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMDAsIDIwMCwgMjAwLCAwLjcpOyB9XG4gIC5xdWFudGl0eS1mcmVlLXRleHQtY29udGFpbmVyOmhhcyhpbnB1dC5pcy1pbnZhbGlkLWlucHV0KSAuaW5wdXQtbnVtYmVyIHtcbiAgICBjb2xvcjogI2IyMGMwYztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmRlMWUxOyB9XG4gICAgLnF1YW50aXR5LWZyZWUtdGV4dC1jb250YWluZXI6aGFzKGlucHV0LmlzLWludmFsaWQtaW5wdXQpIC5pbnB1dC1udW1iZXI6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAjYjIwYzBjOyB9XG4gIC5xdWFudGl0eS1mcmVlLXRleHQtY29udGFpbmVyLmlzLWludmFsaWQtcXVhbnRpdHkgLmlucHV0LW51bWJlci1ncm91cCAuaW5wdXQtbnVtYmVyIHtcbiAgICBib3JkZXItY29sb3I6ICNiMjBjMGM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZkZTFlMTsgfVxuICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgICAucXVhbnRpdHktZnJlZS10ZXh0LWNvbnRhaW5lci5pcy1pbnZhbGlkLXF1YW50aXR5IC5pbnB1dC1udW1iZXItZ3JvdXAgLmlucHV0LW51bWJlcjpob3ZlciB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI2IyMGMwYztcbiAgICAgICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTsgfSB9XG4gIC5xdWFudGl0eS1mcmVlLXRleHQtY29udGFpbmVyLmlzLWludmFsaWQtcXVhbnRpdHkgLnF1YW50aXR5LWVycm9yIHtcbiAgICBtYXgtaGVpZ2h0OiAxMDBweDtcbiAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuNnM7IH1cbiAgLnF1YW50aXR5LWZyZWUtdGV4dC1jb250YWluZXIgLnF1YW50aXR5LWVycm9yIHtcbiAgICBtYXgtaGVpZ2h0OiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbG9yOiAjYjIwYzBjO1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgMC44czsgfVxuXG4ucXVhbnRpdHktZnJlZS10ZXh0LWNvbnRhaW5lciAuaW5wdXQtZ3JvdXAge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5xdWFudGl0eS1mcmVlLXRleHQtY29udGFpbmVyIC5pbnB1dC1ncm91cCB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHVuc2V0OyB9IH1cbiAgLnF1YW50aXR5LWZyZWUtdGV4dC1jb250YWluZXIgLmlucHV0LWdyb3VwIGlucHV0IHtcbiAgICB3aWR0aDogNTBweDtcbiAgICBoZWlnaHQ6IDQwcHg7IH1cblxuLmlucHV0LW51bWJlci1ncm91cCB7XG4gIGRpc3BsYXk6IGZsZXg7IH1cbiAgLmlucHV0LW51bWJlci1ncm91cCAuaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgICBsaW5lLWhlaWdodDogMzZweDsgfVxuICAuaW5wdXQtbnVtYmVyLWdyb3VwIC5pbnB1dC1ncm91cC1idXR0b24gc3Bhbi5kaXNhYmxlZCB7XG4gICAgY3Vyc29yOiBuby1kcm9wOyB9XG4gIC5pbnB1dC1udW1iZXItZ3JvdXAgLmlucHV0LW51bWJlciB7XG4gICAgcGFkZGluZzogMDtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwO1xuICAgIGJvcmRlci1jb2xvcjogI2M4YzhjODtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC44czsgfVxuICAgIC5pbnB1dC1udW1iZXItZ3JvdXAgLmlucHV0LW51bWJlcjpob3ZlciB7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuNnM7IH1cbiAgLmlucHV0LW51bWJlci1ncm91cCAuaW5wdXQtbnVtYmVyLFxuICAuaW5wdXQtbnVtYmVyLWdyb3VwIC5pbnB1dC1udW1iZXItZGVjcmVtZW50LFxuICAuaW5wdXQtbnVtYmVyLWdyb3VwIC5pbnB1dC1udW1iZXItaW5jcmVtZW50IHtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGhlaWdodDogNDBweDtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTsgfVxuICAuaW5wdXQtbnVtYmVyLWdyb3VwIC5pbnB1dC1udW1iZXItZGVjcmVtZW50LFxuICAuaW5wdXQtbnVtYmVyLWdyb3VwIC5pbnB1dC1udW1iZXItaW5jcmVtZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiA0MHB4O1xuICAgIGhlaWdodDogNDVweDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cbiAgICAuaW5wdXQtbnVtYmVyLWdyb3VwIC5pbnB1dC1udW1iZXItZGVjcmVtZW50OmJlZm9yZSxcbiAgICAuaW5wdXQtbnVtYmVyLWdyb3VwIC5pbnB1dC1udW1iZXItaW5jcmVtZW50OmJlZm9yZSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgICAgLmlucHV0LW51bWJlci1ncm91cCAuaW5wdXQtbnVtYmVyLWRlY3JlbWVudDpob3ZlcixcbiAgICAgIC5pbnB1dC1udW1iZXItZ3JvdXAgLmlucHV0LW51bWJlci1pbmNyZW1lbnQ6aG92ZXIge1xuICAgICAgICBib3JkZXItY29sb3I6ICNjOGM4Yzg7IH1cbiAgICAgICAgLmlucHV0LW51bWJlci1ncm91cCAuaW5wdXQtbnVtYmVyLWRlY3JlbWVudDpob3Zlcjpub3QoLmRpc2FibGVkKSxcbiAgICAgICAgLmlucHV0LW51bWJlci1ncm91cCAuaW5wdXQtbnVtYmVyLWluY3JlbWVudDpob3Zlcjpub3QoLmRpc2FibGVkKSB7XG4gICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfSB9XG4gIC5pbnB1dC1udW1iZXItZ3JvdXAgLmlucHV0LW51bWJlci1kZWNyZW1lbnQge1xuICAgIGJvcmRlci13aWR0aDogMXB4IDAgMXB4IDFweDtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9XG4gICAgLmlucHV0LW51bWJlci1ncm91cCAuaW5wdXQtbnVtYmVyLWRlY3JlbWVudDpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgahcIjsgfVxuICAuaW5wdXQtbnVtYmVyLWdyb3VwIC5pbnB1dC1udW1iZXItaW5jcmVtZW50IHtcbiAgICBib3JkZXItd2lkdGg6IDFweCAxcHggMXB4IDA7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDsgfVxuICAgIC5pbnB1dC1udW1iZXItZ3JvdXAgLmlucHV0LW51bWJlci1pbmNyZW1lbnQ6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74GnXCI7IH1cblxuLnF1YW50aXR5LXNlbGVjdG9yLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnF1YW50aXR5LXNlbGVjdG9yLWNvbnRhaW5lciB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHVuc2V0OyB9IH1cbiAgLnF1YW50aXR5LXNlbGVjdG9yLWNvbnRhaW5lciAuY29udHJvbC1zZWxlY3QtY29udGFpbmVyIHtcbiAgICBoZWlnaHQ6IDQwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5xdWFudGl0eS1zZWxlY3Rvci1jb250YWluZXIgLnNlbGVjdCB7XG4gICAgICB3aWR0aDogOTBweDsgfSB9XG4gIC5xdWFudGl0eS1zZWxlY3Rvci1jb250YWluZXIgLnNlbGVjdCBzZWxlY3Qge1xuICAgIGhlaWdodDogNDBweDsgfVxuICAucXVhbnRpdHktc2VsZWN0b3ItY29udGFpbmVyIC5sYWJlbCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgIHBhZGRpbmc6IDZweCAwO1xuICAgIGxpbmUtaGVpZ2h0OiAyNXB4O1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLnF1YW50aXR5LXNlbGVjdG9yLWNvbnRhaW5lciAubGFiZWwge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7IH0gfVxuXG5zcGFuLmZvcm0tZXJyb3Ige1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlcjogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgc3Bhbi5mb3JtLWVycm9yIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMTYwcHg7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cbiAgc3Bhbi5mb3JtLWVycm9yLmlzLXZpc2libGUge1xuICAgIG1hcmdpbi10b3A6IDEwcHg7IH1cblxuc3Bhbi5mb3JtLWNhbGxvdXQtZXJyb3Ige1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLmlzLWludmFsaWQtaW5wdXQge1xuICBib3JkZXItY29sb3I6ICNiMjBjMGM7IH1cblxudWwuYWR2YW5jZWQtdmFsaWRhdGlvbiB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBwYWRkaW5nOiAwIDEwcHg7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogMCAwIDM1cHg7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICB1bC5hZHZhbmNlZC12YWxpZGF0aW9uIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgdWwuYWR2YW5jZWQtdmFsaWRhdGlvbiA+IGxpIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICB1bC5hZHZhbmNlZC12YWxpZGF0aW9uID4gbGkge1xuICAgICAgICB3aWR0aDogYXV0bzsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIHVsLmFkdmFuY2VkLXZhbGlkYXRpb24gPiBsaTpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAwIDExcHg7IH0gfVxuICAgIHVsLmFkdmFuY2VkLXZhbGlkYXRpb24gPiBsaS5hZHZhbmNlZC1mb3JtLWVycm9yIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgbWFyZ2luOiAwIDEwcHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgICAgIHVsLmFkdmFuY2VkLXZhbGlkYXRpb24gPiBsaS5hZHZhbmNlZC1mb3JtLWVycm9yOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwi74CNXCI7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luOiAwIDVweCAwIDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgY29sb3I6IHJnYmEoMTE5LCAxMTksIDExOSwgMC43KTsgfVxuICAgICAgdWwuYWR2YW5jZWQtdmFsaWRhdGlvbiA+IGxpLmFkdmFuY2VkLWZvcm0tZXJyb3IuaXMtdmFsaWQge1xuICAgICAgICBjb2xvcjogIzEyODExZjsgfVxuICAgICAgICB1bC5hZHZhbmNlZC12YWxpZGF0aW9uID4gbGkuYWR2YW5jZWQtZm9ybS1lcnJvci5pcy12YWxpZDpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6IFwi74CMXCI7IH1cbiAgICAgIHVsLmFkdmFuY2VkLXZhbGlkYXRpb24gPiBsaS5hZHZhbmNlZC1mb3JtLWVycm9yLmlzLWludmFsaWQge1xuICAgICAgICBjb2xvcjogI2IyMGMwYzsgfVxuICAgICAgICB1bC5hZHZhbmNlZC12YWxpZGF0aW9uID4gbGkuYWR2YW5jZWQtZm9ybS1lcnJvci5pcy1pbnZhbGlkOmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogXCLvgI1cIjsgfVxuXG4uYWR2YW5jZWQtdmFsaWRhdGlvbi1hY3RpdmUuaXMtaW52YWxpZC1sYWJlbCB7XG4gIGNvbG9yOiAjODg4ODg4OyB9XG5cbi5ncm91cC1mb3JtLWVycm9yIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWFyZ2luOiAxMHB4IDAgMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZGUxZTE7XG4gIHBhZGRpbmc6IDEwcHggMjBweDsgfVxuICAuZ3JvdXAtZm9ybS1lcnJvciBoMiwgLmdyb3VwLWZvcm0tZXJyb3IgaDQge1xuICAgIG1hcmdpbjogMCAwIDEwcHg7XG4gICAgcGFkZGluZzogMCAwIDIwcHg7XG4gICAgY29sb3I6ICNiMjBjMGM7IH1cbiAgLmdyb3VwLWZvcm0tZXJyb3IgdWwge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwIDAgMjBweDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIGxpbmUtaGVpZ2h0OiAyNXB4OyB9XG4gICAgLmdyb3VwLWZvcm0tZXJyb3IgdWwgbGkge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgcGFkZGluZzogMCAwIDAgMTVweDsgfVxuICAgICAgLmdyb3VwLWZvcm0tZXJyb3IgdWwgbGk6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHdpZHRoOiA1cHg7XG4gICAgICAgIGhlaWdodDogNXB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMTBweDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzA2MDUyZjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4OyB9XG4gICAgLmdyb3VwLWZvcm0tZXJyb3IgdWwgbGkge1xuICAgICAgY29sb3I6ICNiMjBjMGM7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgZm9udC1zaXplOiAxcmVtOyB9XG4gIC5ncm91cC1mb3JtLWVycm9yIHAsIC5ncm91cC1mb3JtLWVycm9yIGEge1xuICAgIGNvbG9yOiAjYjIwYzBjO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZm9udC1zaXplOiAxcmVtOyB9XG4gIC5ncm91cC1mb3JtLWVycm9yIGEge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuZ3JvdXAtZm9ybS1lcnJvciB7XG4gICAgICBtYXJnaW46IDAgMCAxMHB4OyB9IH1cblxuLmVycm9yLWJsb2NrIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZGUxZTE7XG4gIG1hcmdpbjogMCAwIDMwcHg7XG4gIHBhZGRpbmc6IDEwcHggMjBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZGUxZTE7XG4gIHBhZGRpbmc6IDEwcHggMjBweDsgfVxuICAuZXJyb3ItYmxvY2sgaDIsIC5lcnJvci1ibG9jayBoNCB7XG4gICAgbWFyZ2luOiAwIDAgMTBweDtcbiAgICBwYWRkaW5nOiAwIDAgMjBweDtcbiAgICBjb2xvcjogI2IyMGMwYzsgfVxuICAuZXJyb3ItYmxvY2sgdWwge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwIDAgMjBweDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIGxpbmUtaGVpZ2h0OiAyNXB4OyB9XG4gICAgLmVycm9yLWJsb2NrIHVsIGxpIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHBhZGRpbmc6IDAgMCAwIDE1cHg7IH1cbiAgICAgIC5lcnJvci1ibG9jayB1bCBsaTpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgd2lkdGg6IDVweDtcbiAgICAgICAgaGVpZ2h0OiA1cHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAxMHB4O1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDYwNTJmO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7IH1cbiAgICAuZXJyb3ItYmxvY2sgdWwgbGkge1xuICAgICAgY29sb3I6ICNiMjBjMGM7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgZm9udC1zaXplOiAxcmVtOyB9XG4gIC5lcnJvci1ibG9jayBwLCAuZXJyb3ItYmxvY2sgYSB7XG4gICAgY29sb3I6ICNiMjBjMGM7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBmb250LXNpemU6IDFyZW07IH1cbiAgLmVycm9yLWJsb2NrIGEge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG5cbi5jb250cm9sLmlzLWludmFsaWQtbGFiZWwgaW5wdXQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmRlMWUxO1xuICBib3JkZXItY29sb3I6ICNiMjBjMGM7XG4gIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjZzLCBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH1cbiAgLmNvbnRyb2wuaXMtaW52YWxpZC1sYWJlbCBpbnB1dDpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjYzhjOGM4OyB9XG4gIC5jb250cm9sLmlzLWludmFsaWQtbGFiZWwgaW5wdXQ6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogI2IyMGMwYztcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gIC5jb250cm9sLmlzLWludmFsaWQtbGFiZWwgaW5wdXQgKyBidXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZGUxZTE7XG4gICAgYm9yZGVyLWNvbG9yOiAjYjIwYzBjO1xuICAgIGNvbG9yOiAjYjIwYzBjOyB9XG4gICAgLmNvbnRyb2wuaXMtaW52YWxpZC1sYWJlbCBpbnB1dCArIGJ1dHRvbjpiZWZvcmUge1xuICAgICAgY29sb3I6ICNiMjBjMGM7IH1cbiAgLmNvbnRyb2wuaXMtaW52YWxpZC1sYWJlbCBpbnB1dCArIHNwYW4uY2hlY2tib3gge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZGUxZTE7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2IyMGMwYztcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC42czsgfVxuXG5Aa2V5ZnJhbWVzIGtmX3NoYWtlIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMTBweCk7IH1cbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC0xMHB4KTsgfVxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoNXB4KTsgfVxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTVweCk7IH1cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDRweCk7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwcHgpOyB9IH1cblxuLmZpZWxkLWxlYWQtaW4tdGV4dCB7XG4gIHdpZHRoOiAxMDAlO1xuICBjb2xvcjogIzAwMDAwMDtcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG5sYWJlbDpub3QoLmRpc2FibGVkKSAubGFiZWw6aG92ZXIsIGxhYmVsOm5vdCgucmVhZC1vbmx5LWlucHV0KSAubGFiZWw6aG92ZXIge1xuICBjb2xvcjogIzA2MDUyZjsgfVxuXG5sYWJlbDpub3QoLmRpc2FibGVkKSAubGFiZWw6YWN0aXZlLCBsYWJlbDpub3QoLnJlYWQtb25seS1pbnB1dCkgLmxhYmVsOmFjdGl2ZSB7XG4gIGNvbG9yOiAjYWU5NDYxOyB9XG5cbmxhYmVsIC5sYWJlbCB7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbmxhYmVsIGlucHV0Om5vdChbdHlwZT1maWxlXSk6bm90KFt0eXBlPWNoZWNrYm94XSk6bm90KFt0eXBlPXJhZGlvXSkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogNDVweDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIGxhYmVsIGlucHV0Om5vdChbdHlwZT1maWxlXSk6bm90KFt0eXBlPWNoZWNrYm94XSk6bm90KFt0eXBlPXJhZGlvXSkge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBmbGV4LWdyb3c6IDE7IH0gfVxuXG5sYWJlbCBpbnB1dC5pcy1pbnZhbGlkLWlucHV0ICsgYnV0dG9uLmlubGluZS1idXR0b24ge1xuICBib3JkZXItY29sb3I6ICNiMjBjMGM7IH1cblxubGFiZWwgaW5wdXQuaXMtaW52YWxpZC1pbnB1dFt0eXBlPXBhc3N3b3JkXTpmb2N1cyArIGJ1dHRvbi5pbmxpbmUtYnV0dG9uIHtcbiAgYm9yZGVyLWNvbG9yOiAjYzhjOGM4OyB9XG5cbmxhYmVsIGlucHV0OmZvY3VzICsgYnV0dG9uLmlubGluZS1idXR0b246aG92ZXIge1xuICBib3JkZXItY29sb3I6ICNjOGM4Yzg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cblxuLyogY2xlYXJzIHRoZSAnWCcgZnJvbSBJbnRlcm5ldCBFeHBsb3JlciAqL1xuLyogY2xlYXJzIHRoZSAnWCcgZnJvbSBDaHJvbWUgKi9cbi5sb29rdXAtY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLnBvc3Rjb2RlLWxvb2t1cC1lcnJvciB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGNvbG9yOiAjYjIwYzBjOyB9XG4gIC5wb3N0Y29kZS1sb29rdXAtZXJyb3IuYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG5pbnB1dC5sb29rdXAta2V5IHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1yaWdodDogMTVweDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIGlucHV0Lmxvb2t1cC1rZXkge1xuICAgICAgd2lkdGg6IDM2MHB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIGlucHV0Lmxvb2t1cC1rZXkgKyBidXR0b24ge1xuICAgICAgaGVpZ2h0OiA0NXB4OyB9IH1cbiAgaW5wdXQubG9va3VwLWtleS5pcy12YWxpZC1pbnB1dCArIGJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzA2MDUyZjtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICBpbnB1dC5sb29rdXAta2V5LmlzLWludmFsaWQtaW5wdXQgKyBidXR0b24ge1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cblxuYnV0dG9uLmxvb2t1cC1zdWJtaXQge1xuICAtLWNvbXBvbmVudC1zcGVjaWZjLXN0ZXAtaGVpZ2h0OiAxNXB4O1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLXNtYWxsLW1hcmdpbiwgMTBweCAwIDApO1xuICBwYWRkaW5nOiB2YXIoLS1jb21tb24tYnV0dG9uLXBhZGRpbmcsIDEycHggMTNweCk7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBib3JkZXItd2lkdGg6IDJweDtcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogMC42cHg7XG4gIHdvcmQtc3BhY2luZzogMnB4O1xuICBib3JkZXItY29sb3I6ICM4ODg4ODg7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuOHM7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICBidXR0b24ubG9va3VwLXN1Ym1pdCB7XG4gICAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tbWVkaXVtLW1hcmdpbiwgMCAwIDAgMTBweCk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgYnV0dG9uLmxvb2t1cC1zdWJtaXQge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tbGFyZ2UtbWFyZ2luLCAwIDAgMCAxMHB4KTsgfSB9XG4gIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgYnV0dG9uLmxvb2t1cC1zdWJtaXQ6aG92ZXIsIGJ1dHRvbi5sb29rdXAtc3VibWl0LmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2FlOTQ2MTtcbiAgICAgIGJvcmRlci1jb2xvcjogI2FlOTQ2MTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgICBidXR0b24ubG9va3VwLXN1Ym1pdDpob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwLCBidXR0b24ubG9va3VwLXN1Ym1pdC5ob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9IH1cbiAgYnV0dG9uLmxvb2t1cC1zdWJtaXQ6YWN0aXZlLCBidXR0b24ubG9va3VwLXN1Ym1pdC5hY3RpdmUge1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwNjA1MmY7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDYwNTJmO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gIGJ1dHRvbi5sb29rdXAtc3VibWl0OmRpc2FibGVkLCBidXR0b24ubG9va3VwLXN1Ym1pdC5kaXNhYmxlZCwgYnV0dG9uLmxvb2t1cC1zdWJtaXRbZGlzYWJsZWRdIHtcbiAgICBjb2xvcjogIzkyOTI5MjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMDAsIDIwMCwgMjAwLCAwLjcpO1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgYnV0dG9uLmxvb2t1cC1zdWJtaXQ6ZGlzYWJsZWQ6aG92ZXIsIGJ1dHRvbi5sb29rdXAtc3VibWl0LmRpc2FibGVkOmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMjAwLCAyMDAsIDIwMCwgMC43KTsgfVxuICBidXR0b24ubG9va3VwLXN1Ym1pdDpmb2N1cy12aXNpYmxlIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7IH1cbiAgYnV0dG9uLmxvb2t1cC1zdWJtaXQgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG5cbi5sb29rdXAtcmVzdWx0cyB7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5sb29rdXAtcmVzdWx0cyB1bCB7XG4gICAgbWF4LWhlaWdodDogMjI1cHg7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBvdmVyZmxvdy15OiBhdXRvOyB9XG4gICAgLmxvb2t1cC1yZXN1bHRzIHVsIC5zZWxlY3RlZCB7XG4gICAgICBjb2xvcjogIzA2MDUyZjtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgICAubG9va3VwLXJlc3VsdHMgdWwgbGk6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG4gIC5sb29rdXAtcmVzdWx0cyBidXR0b24sIC5sb29rdXAtcmVzdWx0cyBhIHtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gICAgLmxvb2t1cC1yZXN1bHRzIGJ1dHRvbiBzcGFuLCAubG9va3VwLXJlc3VsdHMgYSBzcGFuIHtcbiAgICAgIGNvbG9yOiAjMDYwNTJmO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgICAubG9va3VwLXJlc3VsdHMgYnV0dG9uOmhvdmVyLCAubG9va3VwLXJlc3VsdHMgYTpob3ZlciB7XG4gICAgICBjb2xvcjogIzA2MDUyZjtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAgIC5sb29rdXAtcmVzdWx0cyBidXR0b246YWN0aXZlLCAubG9va3VwLXJlc3VsdHMgYTphY3RpdmUge1xuICAgICAgY29sb3I6ICNhZTk0NjE7IH1cbiAgICAgIC5sb29rdXAtcmVzdWx0cyBidXR0b246YWN0aXZlIHNwYW4sIC5sb29rdXAtcmVzdWx0cyBhOmFjdGl2ZSBzcGFuIHtcbiAgICAgICAgY29sb3I6ICNhZTk0NjE7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5sb29rdXAtcmVzdWx0cy5icmFuY2gtc2VhcmNoLCAubG9va3VwLXJlc3VsdHMuYWNjb3VudC1zZWFyY2gge1xuICAgICAgbWFyZ2luLWxlZnQ6IDEyMHB4OyB9IH1cbiAgLmxvb2t1cC1yZXN1bHRzLmJyYW5jaC1zZWFyY2ggYnV0dG9uLCAubG9va3VwLXJlc3VsdHMuYWNjb3VudC1zZWFyY2ggYnV0dG9uIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbi5nZW9sb2NhdGlvbi1jb250aWFuZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG5cbmlucHV0W3R5cGU9c2VhcmNoXSB7XG4gIGZsZXg6IDE7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogNXB4IDAgNXB4IDI1cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogMXB4IDAgMXB4IDFweDtcbiAgYm9yZGVyLWNvbG9yOiAjYzhjOGM4O1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44cywgYm9yZGVyLWNvbG9yIDAuOHMsIGJveC1zaGFkb3cgMC44cztcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwOyB9XG4gIGlucHV0W3R5cGU9c2VhcmNoXTpob3ZlciwgaW5wdXRbdHlwZT1zZWFyY2hdLmhvdmVyIHtcbiAgICBib3gtc2hhZG93OiAtMXB4IDBweCAyMHB4IDZweCByZ2JhKDEyLCAxMiwgMTMsIDAuMSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42cywgYm9yZGVyLWNvbG9yIDAuNnMsIGJveC1zaGFkb3cgMC42czsgfVxuICAgIGlucHV0W3R5cGU9c2VhcmNoXTpob3ZlciArIGJ1dHRvbiwgaW5wdXRbdHlwZT1zZWFyY2hdLmhvdmVyICsgYnV0dG9uIHtcbiAgICAgIGJveC1zaGFkb3c6IDE1cHggMHB4IDIwcHggMnB4IHJnYmEoMTIsIDEyLCAxMywgMC4xKTtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWU5NDYxOyB9XG4gICAgICBpbnB1dFt0eXBlPXNlYXJjaF06aG92ZXIgKyBidXR0b246YmVmb3JlLCBpbnB1dFt0eXBlPXNlYXJjaF0uaG92ZXIgKyBidXR0b246YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgaW5wdXRbdHlwZT1zZWFyY2hdOmZvY3VzLCBpbnB1dFt0eXBlPXNlYXJjaF06YWN0aXZlLCBpbnB1dFt0eXBlPXNlYXJjaF0uZm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwOyB9XG4gICAgaW5wdXRbdHlwZT1zZWFyY2hdOmZvY3VzICsgYnV0dG9uLCBpbnB1dFt0eXBlPXNlYXJjaF06YWN0aXZlICsgYnV0dG9uLCBpbnB1dFt0eXBlPXNlYXJjaF0uZm9jdXMgKyBidXR0b24ge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjYzhjOGM4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2MzYWY4OTtcbiAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjhzLCBib3gtc2hhZG93IDAuOHMgYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9XG4gICAgICBpbnB1dFt0eXBlPXNlYXJjaF06Zm9jdXMgKyBidXR0b246YmVmb3JlLCBpbnB1dFt0eXBlPXNlYXJjaF06YWN0aXZlICsgYnV0dG9uOmJlZm9yZSwgaW5wdXRbdHlwZT1zZWFyY2hdLmZvY3VzICsgYnV0dG9uOmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gIGlucHV0W3R5cGU9c2VhcmNoXTo6cGxhY2Vob2xkZXIge1xuICAgIGhlaWdodDogZml0LWNvbnRlbnQ7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIGNvbG9yOiAjMDYwNTJmO1xuICAgIGZvbnQtZmFtaWx5OiBcIkdpYnNvblwiLCBcIkdpYnNvbiBGYWxsYmFja1wiLCBcIkFyaWFsXCI7IH1cbiAgaW5wdXRbdHlwZT1zZWFyY2hdOm5vdCg6aGFzKCsgYnV0dG9uKSkge1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwOyB9XG4gIGlucHV0W3R5cGU9c2VhcmNoXSArIGJ1dHRvbiB7XG4gICAgd2lkdGg6IDcwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6IDFweCAxcHggMXB4IDA7XG4gICAgYm9yZGVyLWNvbG9yOiAjYzhjOGM4O1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzLCBib3JkZXItY29sb3IgMC44cywgYm94LXNoYWRvdyAwLjhzOyB9XG4gICAgaW5wdXRbdHlwZT1zZWFyY2hdICsgYnV0dG9uOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNhZTk0NjE7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH1cbiAgICAgIGlucHV0W3R5cGU9c2VhcmNoXSArIGJ1dHRvbjpob3ZlcjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAgIGlucHV0W3R5cGU9c2VhcmNoXSArIGJ1dHRvbjphY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2MzYWY4OTsgfVxuICAgICAgaW5wdXRbdHlwZT1zZWFyY2hdICsgYnV0dG9uOmFjdGl2ZTpiZWZvcmUge1xuICAgICAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgIGlucHV0W3R5cGU9c2VhcmNoXSArIGJ1dHRvbjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgIJcIjtcbiAgICAgIHdpZHRoOiA3MHB4O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgY29sb3I6ICMwNjA1MmY7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG5cbi50b2dnbGUtY29udGFpbmVyIHtcbiAgbWF4LWhlaWdodDogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IG1heC1oZWlnaHQgMC44czsgfVxuICAudG9nZ2xlLWNvbnRhaW5lci5hY3RpdmUge1xuICAgIG1heC1oZWlnaHQ6IDUwMDBweDtcbiAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuNnM7IH1cblxuLnVpLWJsb2NrLXBhbmUge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjM4LCAyMzgsIDIzOCwgMC42KTtcbiAgY3Vyc29yOiBuby1kcm9wO1xuICB6LWluZGV4OiAxMDAwOyB9XG4gIC51aS1ibG9jay1wYW5lOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLvgKNcIjtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgIGZvbnQtc2l6ZTogODJweDtcbiAgICBjb2xvcjogcmdiYSgxMzYsIDEzNiwgMTM2LCAwLjYpOyB9XG5cbi5zc28tc2VsZWN0aW9uLWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBwYWRkaW5nOiAxMHB4IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5zc28tc2VsZWN0aW9uLWNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nOiAyMHB4IDA7IH0gfVxuICAuc3NvLXNlbGVjdGlvbi1jb250YWluZXIgLnNzby1zZWxlY3Rpb24tY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAyMHB4OyB9XG4gIC5zc28tc2VsZWN0aW9uLWNvbnRhaW5lciAub3B0aW9uLWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAuc3NvLXNlbGVjdGlvbi1jb250YWluZXIgLm9wdGlvbi1jb250YWluZXIgKyAuc3NvLXNlcGVyYXRvciB7XG4gICAgICBtYXJnaW4tdG9wOiAyMHB4OyB9XG4gIC5zc28tc2VsZWN0aW9uLWNvbnRhaW5lciAuc3NvLWJ1dHRvbiB7XG4gICAgd2lkdGg6IDcwJTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IGF1dG87XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGFzcGVjdC1yYXRpbzogMjE1LzQxO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC44czsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuc3NvLXNlbGVjdGlvbi1jb250YWluZXIgLnNzby1idXR0b24ge1xuICAgICAgICB3aWR0aDogMzAwcHg7IH0gfVxuICAgIC5zc28tc2VsZWN0aW9uLWNvbnRhaW5lciAuc3NvLWJ1dHRvbjpob3ZlciB7XG4gICAgICBvcGFjaXR5OiAwLjQ7XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNnM7IH1cbiAgICAuc3NvLXNlbGVjdGlvbi1jb250YWluZXIgLnNzby1idXR0b24ubWljcm9zb2Z0IHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi90ZW1wbGF0ZS9jb250ZW50L2RldmVsb3BtZW50L2ltYWdlcy9idXR0b25zL21pY3Jvc29mdC1zc28tbGlnaHQuc3ZnXCIpOyB9XG4gIC5zc28tc2VsZWN0aW9uLWNvbnRhaW5lciAuc3NvLXNlcGVyYXRvciB7XG4gICAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wKTtcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbi8qXHJcbi0tLS0tIFNpdGUgU3R5bGVzIC0tLS0tIFxyXG5BbGxvd2luZyBDU1MgdmFyaWFibGVzIHRvIG92ZXJyaWRlIFNBU1MgY29uZmlndXJhdGlvbiwgdXNlZCBpbiBpbnN0YW5jZXMgd2hlcmUgeW91IG5lZWQgZGVwYXJ0bWVudCBzcGVjaWZjIGNvbG91cmluZy5cclxuXHJcbiovXG4ucmVxdWlyZWQtcHJvbXB0IHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAwIDEwcHg7XG4gIG1hcmdpbjogMDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIGZvbnQtc2l6ZTogMC45cmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXN0eWxlOiBpdGFsaWM7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5yZXF1aXJlZC1wcm9tcHQge1xuICAgICAgcGFkZGluZzogMCAyMHB4O1xuICAgICAgbWFyZ2luOiAwIDAgMTBweDsgfSB9XG4gIC5yZXF1aXJlZC1wcm9tcHQgKyAuY21zLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIHBhZGRpbmctdG9wOiAwOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLnNpbmdsZS1jb2x1bW4tY2FsbGJhY2stY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDgwJTtcbiAgICBtYXJnaW46IDAgYXV0byAzMHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAzMHB4OyB9IH1cblxuLnNpbmdsZS1jb2x1bW4tY2FsbGJhY2stY29udGFpbmVyLmNvbnRlbnQtYm9yZGVyIHtcbiAgcGFkZGluZzogMjBweDtcbiAgYm9yZGVyOiAycHggc29saWQgI2VlZWVlZTsgfVxuXG4uc2luZ2xlLWNvbHVtbi1jYWxsYmFjay1jb250YWluZXIgLmNtcy1jb250ZW50LWNvbnRhaW5lciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uc2luZ2xlLWNvbHVtbi1jYWxsYmFjay1jb250YWluZXIgLmJ1dHRvbnMtY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cblxuZm9ybS51c2VyLWRhdGEtZm9ybSB7XG4gIHBhZGRpbmc6IDAgMCAyMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG5cbmZvcm0uc2luZ2xlLWNvbHVtbiB7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjOGM4Yzg7XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgZm9ybS5zaW5nbGUtY29sdW1uIC5maWVsZCB7XG4gICAgcGFkZGluZzogMCAxMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgZm9ybS5zaW5nbGUtY29sdW1uIC5maWVsZCB7XG4gICAgICAgIHBhZGRpbmc6IDAgMjBweDsgfSB9XG4gICAgZm9ybS5zaW5nbGUtY29sdW1uIC5maWVsZDpsYXN0LWNoaWxkIC5idXR0b24tY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbjogMTVweCAwIDA7IH1cblxuZm9ybSAuY21zLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDVweCAxMHB4O1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgZm9ybSAuY21zLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICBmb3JtIC5jbXMtY29udGVudC1jb250YWluZXIge1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgcGFkZGluZzogMTBweCAyMDVweDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG5cbmZvcm0gZmllbGRzZXQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIG1hcmdpbjogMCAwIDMwcHg7XG4gIHBhZGRpbmc6IDAgMCAxMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICBmb3JtIGZpZWxkc2V0IHtcbiAgICAgIHBhZGRpbmc6IDAgMCAyMHB4OyB9IH1cbiAgZm9ybSBmaWVsZHNldDpmaXJzdC1vZi10eXBlIGgyIHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9XG4gIGZvcm0gZmllbGRzZXQgaDMsIGZvcm0gZmllbGRzZXQgZGl2ID4gbGVnZW5kIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAyNXB4IGF1dG8gMjBweDtcbiAgICBmb250LXN0eWxlOiBub25lO1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBjb2xvcjogIzA2MDUyZjtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICBmb3JtIGZpZWxkc2V0IGgzOmJlZm9yZSwgZm9ybSBmaWVsZHNldCBkaXYgPiBsZWdlbmQ6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDFweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgYm9yZGVyLXdpZHRoOiAwIDAgMXB4IDA7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjYWVhZWFlOyB9XG4gICAgICBAbWVkaWEgcHJpbnQge1xuICAgICAgICBmb3JtIGZpZWxkc2V0IGgzOmJlZm9yZSwgZm9ybSBmaWVsZHNldCBkaXYgPiBsZWdlbmQ6YmVmb3JlIHtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2FlYWVhZTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgZm9ybSBmaWVsZHNldCBoMywgZm9ybSBmaWVsZHNldCBkaXYgPiBsZWdlbmQge1xuICAgICAgICBtYXgtd2lkdGg6IDY0MHB4OyB9IH1cbiAgZm9ybSBmaWVsZHNldCBoMiwgZm9ybSBmaWVsZHNldCBsZWdlbmQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDVweCAwO1xuICAgIG1hcmdpbjogMCAwIDEwcHg7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzUwNTA2ZDtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB3b3JkLXNwYWNpbmc6IDJweDsgfVxuICAgIGZvcm0gZmllbGRzZXQgaDIgKyAuc3ViLWdyb3VwLW5hbWUsIGZvcm0gZmllbGRzZXQgbGVnZW5kICsgLnN1Yi1ncm91cC1uYW1lIHtcbiAgICAgIG1hcmdpbi10b3A6IC0xMHB4OyB9XG4gIGZvcm0gZmllbGRzZXQgbGVnZW5kIHtcbiAgICBmb250LWZhbWlseTogXCJHaWJzb25cIiwgXCJHaWJzb24gRmFsbGJhY2tcIiwgXCJBcmlhbFwiOyB9XG4gIGZvcm0gZmllbGRzZXQgdWwge1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICBmb3JtIGZpZWxkc2V0ID4gLmZvcm0tZXJyb3Ige1xuICAgIG1hcmdpbjogYXV0bzsgfVxuICBmb3JtIGZpZWxkc2V0IC5zdWItZ3JvdXAtbmFtZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDVweCAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWVlZWU7XG4gICAgY29sb3I6ICMwMDAwMDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgZm9ybSBmaWVsZHNldCAuc3ViLWdyb3VwLW5hbWUgKyAucmVxdWlyZWQtcHJvbXB0IHtcbiAgICAgIG1hcmdpbi10b3A6IDEwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIGZvcm0gZmllbGRzZXQgLmVycm9yLWJsb2NrIHtcbiAgICAgIG1hcmdpbjogMCBhdXRvIDEwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIGZvcm0gLmZvcmdvdHRlbi1wYXNzd29yZC1saW5rIHtcbiAgICBtYXgtd2lkdGg6IDU3MHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfSB9XG5cbi5jb2x1bW4tY29udGVudC1jb250YWluZXIge1xuICBtYXJnaW46IDEwcHggMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2M4YzhjODtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjhzO1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuY29sdW1uLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbjogMDsgfSB9XG4gIC5jb2x1bW4tY29udGVudC1jb250YWluZXI6aG92ZXIge1xuICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNnMsIGJvcmRlci1jb2xvciAwLjZzOyB9XG4gIC5jb2x1bW4tY29udGVudC1jb250YWluZXIgZmllbGRzZXQge1xuICAgIG1hcmdpbjogMDsgfVxuICAuY29sdW1uLWNvbnRlbnQtY29udGFpbmVyIC5maWVsZHNldC1iYW5uZXItY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGZsZXg6IDE7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDYwNTJmO1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuY29sdW1uLWNvbnRlbnQtY29udGFpbmVyIC5maWVsZHNldC1iYW5uZXItY29udGFpbmVyIHtcbiAgICAgICAgcGFkZGluZzogMjBweCAxMHB4OyB9IH1cbiAgICAuY29sdW1uLWNvbnRlbnQtY29udGFpbmVyIC5maWVsZHNldC1iYW5uZXItY29udGFpbmVyIC5maWVsZHNldC1iYW5uZXIge1xuICAgICAgd2lkdGg6IDEyMHB4OyB9XG4gICAgLmNvbHVtbi1jb250ZW50LWNvbnRhaW5lciAuZmllbGRzZXQtYmFubmVyLWNvbnRhaW5lciArIGgyIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgLmNvbHVtbi1jb250ZW50LWNvbnRhaW5lciAuZmllbGQge1xuICAgIHBhZGRpbmc6IDAgMTBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5jb2x1bW4tY29udGVudC1jb250YWluZXIgLmZpZWxkIHtcbiAgICAgICAgcGFkZGluZzogMDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmNvbHVtbi1jb250ZW50LWNvbnRhaW5lciAuZmllbGQgbGFiZWwge1xuICAgICAgICBtYXJnaW4tbGVmdDogNTBweDsgfSB9XG4gIC5jb2x1bW4tY29udGVudC1jb250YWluZXIgLmhlYWRpbmctY29udGFpbmVyIGgyIHtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwOyB9XG4gIC5jb2x1bW4tY29udGVudC1jb250YWluZXIgLmNtcy1jb250ZW50LWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMCAxNXB4IDcuNXB4OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5jb2x1bW4tY29udGVudC1jb250YWluZXIgLmNtcy1jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICAgIHBhZGRpbmc6IDAgODVweDsgfSB9XG4gIC5jb2x1bW4tY29udGVudC1jb250YWluZXIgLnBhZ2UtYnV0dG9ucy1jb250YWluZXIge1xuICAgIHBhZGRpbmc6IDAgMTBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5jb2x1bW4tY29udGVudC1jb250YWluZXIgLnBhZ2UtYnV0dG9ucy1jb250YWluZXIge1xuICAgICAgICBwYWRkaW5nOiAwOyB9IH1cblxuLmNhcHRjaGEtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAyOyB9XG4gIC5jYXB0Y2hhLWNvbnRhaW5lci5jaGVja2JveCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWFyZ2luOiAxNXB4IDA7IH1cbiAgLmNhcHRjaGEtY29udGFpbmVyIC5ncmVjYXB0Y2hhLWJhZGdlIHtcbiAgICBib3R0b206IDYwcHggIWltcG9ydGFudDsgfVxuXG4ucG9wdXAtYmFja2dyb3VuZCB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4uY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgbWF4LXdpZHRoOiAxMTUwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDI2LjY2NjY3cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIge1xuICAgICAgcGFkZGluZzogODBweDsgfSB9XG4gIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQge1xuICAgIC0tZm9udC1mYW1pbHk6IEZvbnQgQXdlc29tZSBTb2xpZDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBnYXA6IDAgMTBweDtcbiAgICBtYXJnaW46IDAgYXV0byA1MHB4O1xuICAgIHBhZGRpbmc6IDM1cHggMTBweDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi10b3A6IDMwcHg7IH1cbiAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50OmhhcyguY29udGVudC1jb250YWluZXIpIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQ6aGFzKC5jb250ZW50LWNvbnRhaW5lcikge1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQge1xuICAgICAgICBnYXA6IDAgMTVweDsgfSB9XG4gICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudDpoYXMoLmNvbnRlbnQtY29udGFpbmVyKTpiZWZvcmUge1xuICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5KTtcbiAgICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudC5wcmVzZXQtMSB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQucHJlc2V0LTIge1xuICAgICAgcGFkZGluZy10b3A6IDE1cHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudC5wcmVzZXQtMiB7XG4gICAgICAgICAgcGFkZGluZzogMTVweCA2NXB4OyB9IH1cbiAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50LnByZXNldC0zIHtcbiAgICAgIHBhZGRpbmc6IDE1cHggMDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50LnByZXNldC0zIHtcbiAgICAgICAgICBwYWRkaW5nOiAxNXB4IDA7IH0gfVxuICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQuc3VjY2VzcyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGZmYmUyO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzEyODExZjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQuc3VjY2Vzczpub3QoLmljb24tY29uZmlndXJlZCk6aGFzKC5jb250ZW50LWNvbnRhaW5lcik6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCLvgIxcIjsgfVxuICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudC5zdWNjZXNzOmhhcyguY29udGVudC1jb250YWluZXIpOmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjMTI4MTFmOyB9XG4gICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50LnN1Y2Nlc3MgPiBwOmZpcnN0LW9mLXR5cGU6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwi74CMXCI7XG4gICAgICAgIGNvbG9yOiAjMTI4MTFmOyB9XG4gICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50LnN1Y2Nlc3MgaDEsIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQuc3VjY2VzcyBoMiwgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudC5zdWNjZXNzIGgzLCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50LnN1Y2Nlc3MgaDQsIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQuc3VjY2VzcyBoNSwgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudC5zdWNjZXNzIGg2LCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50LnN1Y2Nlc3MgcCwgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudC5zdWNjZXNzIGEge1xuICAgICAgICBjb2xvcjogIzEyODExZjsgfVxuICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQud2FybmluZyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZlZmU2O1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2ZmNWUwNTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQud2FybmluZzpub3QoLmljb24tY29uZmlndXJlZCk6aGFzKC5jb250ZW50LWNvbnRhaW5lcik6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCLvgbFcIjsgfVxuICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudC53YXJuaW5nOmhhcyguY29udGVudC1jb250YWluZXIpOmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjZmY1ZTA1OyB9XG4gICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50Lndhcm5pbmcgPiBwOmZpcnN0LW9mLXR5cGU6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwi74GxXCI7XG4gICAgICAgIGNvbG9yOiAjZmY1ZTA1OyB9XG4gICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50Lndhcm5pbmcgaDEsIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQud2FybmluZyBoMiwgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudC53YXJuaW5nIGgzLCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50Lndhcm5pbmcgaDQsIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQud2FybmluZyBoNSwgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudC53YXJuaW5nIGg2LCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50Lndhcm5pbmcgcCwgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudC53YXJuaW5nIGEge1xuICAgICAgICBjb2xvcjogI2ZmNWUwNTsgfVxuICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQuYWxlcnQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZkZTFlMTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNiMjBjMGM7XG4gICAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50LmFsZXJ0Om5vdCguaWNvbi1jb25maWd1cmVkKTpoYXMoLmNvbnRlbnQtY29udGFpbmVyKTpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIu+BqlwiOyB9XG4gICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50LmFsZXJ0OmhhcyguY29udGVudC1jb250YWluZXIpOmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjYjIwYzBjOyB9XG4gICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50LmFsZXJ0ID4gcDpmaXJzdC1vZi10eXBlOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwi74GqXCI7XG4gICAgICAgIGNvbG9yOiAjYjIwYzBjOyB9XG4gICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50LmFsZXJ0IGgxLCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50LmFsZXJ0IGgyLCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50LmFsZXJ0IGgzLCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50LmFsZXJ0IGg0LCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50LmFsZXJ0IGg1LCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50LmFsZXJ0IGg2LCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50LmFsZXJ0IHAsIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQuYWxlcnQgYSB7XG4gICAgICAgIGNvbG9yOiAjYjIwYzBjOyB9XG4gICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudC5kaXNhYmxlZCBwIHtcbiAgICAgIGNvbG9yOiAjODg4ODg4O1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQuaW5mb3JtYXRpb24ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjFmMTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMDAwMDA7IH1cbiAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQuaW5mb3JtYXRpb246bm90KC5pY29uLWNvbmZpZ3VyZWQpOmhhcyguY29udGVudC1jb250YWluZXIpOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwi74GaXCI7IH1cbiAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQuaW5mb3JtYXRpb246aGFzKC5jb250ZW50LWNvbnRhaW5lcik6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQuaW5mb3JtYXRpb24gcCB7XG4gICAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICAgICBmb250LXdlaWdodDogNjAwOyB9XG4gICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudC5pY29uLW5vbi1yZXR1cm5hYmxlIHtcbiAgICAgIC0tZm9udC1mYW1pbHk6IGZvbnRlbGxvOyB9XG4gICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50Lmljb24tbm9uLXJldHVybmFibGU6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCLuoZNcIjsgfVxuICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgLnVzZXItZnJpZW5kbHktcHJlZml4IHtcbiAgICAgIG1hcmdpbi1yaWdodDogNXB4OyB9XG4gICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCA+IHAge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCA+IHA6Zmlyc3Qtb2YtdHlwZTpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luOiBhdXRvIDE1cHggYXV0byAwO1xuICAgICAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHkpO1xuICAgICAgICBmb250LXNpemU6IDE5cHg7IH1cbiAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAgICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50ID4gcDpmaXJzdC1vZi10eXBlOmJlZm9yZSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBtYXJnaW46IGF1dG87IH0gfVxuICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIG1hcmdpbjogYXV0byAwO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgICAgICBtYXJnaW46IDA7IH0gfVxuICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgcCB7XG4gICAgICBtYXJnaW46IHZhcigtLWluZGVudC1tYXJnaW4sIDApO1xuICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgICBjb2xvcjogIzc3Nzc3NzsgfVxuICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCBwIGltZ1tzdHlsZSo9XCJmbG9hdDpsZWZ0XCJdLCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IHAgaW1nW3N0eWxlKj1cImZsb2F0OiBsZWZ0XCJdLCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IHBbc3R5bGUqPVwiZmxvYXQ6bGVmdFwiXSA+IGltZyB7XG4gICAgICAgIG1hcmdpbjogLjJlbSAuMmVtIC4yZW0gMDsgfVxuICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCBwIGltZ1tzdHlsZSo9XCJmbG9hdDpyaWdodFwiXSwgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCBwIGltZ1tzdHlsZSo9XCJmbG9hdDogcmlnaHRcIl0sIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgcFtzdHlsZSo9XCJmbG9hdDpyaWdodFwiXSA+IGltZyB7XG4gICAgICAgIG1hcmdpbjogLjJlbSAwIC4yZW0gLjJlbTsgfVxuICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCBwIGltZyB7XG4gICAgICAgIG1hcmdpbjogLjJlbSAwOyB9XG4gICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IHAgKyBwIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgcDpub3QoOmVtcHR5KSArIHRhYmxlLCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IHA6bm90KDplbXB0eSkgKyAuY29tcGFyaXNvbi10YWJsZS1jb250YWluZXIge1xuICAgICAgbWFyZ2luOiAxNXB4IDA7IH1cbiAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IHRhYmxlIHtcbiAgICAgIC0tdGhlYWQtYm9yZGVyLWNvbG91cjogJHRoZWFkLWJvcmRlci1jb2xvdXI7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IHRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCB0YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCB0ciB7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLXRoZWFkLWJvcmRlci1jb2xvdXIpOyB9XG4gICAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQgdGgge1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IHRhYmxlLnJlc3BvbnNpdmUtdGFibGUge1xuICAgICAgICAgICAgZGlzcGxheTogdGFibGU7IH0gfVxuICAgICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IHRhYmxlLnJlc3BvbnNpdmUtdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IHRhYmxlLnJlc3BvbnNpdmUtdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQge1xuICAgICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXA7IH0gfVxuICAgICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IHRhYmxlLnJlc3BvbnNpdmUtdGFibGUgdGJvZHk6bm90KC5jb21wYXJpc29uLXN1bW1hcnkpIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB0Ym9keTpub3QoLmNvbXBhcmlzb24tc3VtbWFyeSkge1xuICAgICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXA7IH0gfVxuICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCB0YWJsZSB0aCB7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMTBweCAxMHB4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgdGFibGUgdGQge1xuICAgICAgICAgIHBhZGRpbmc6IDEwcHg7IH0gfVxuICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCB0YWJsZSB0aGVhZFtjbGFzcyo9XCJwcmVzZXRcIl0gKyB0Ym9keTpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZGlzcGxheTogZmxleDsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCB0YWJsZSB0aGVhZFtjbGFzcyo9XCJwcmVzZXRcIl0gKyB0Ym9keTpiZWZvcmUge1xuICAgICAgICAgICAgbWFyZ2luOiAxMHB4OyB9IH1cbiAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgdGFibGUgdGJvZHkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IHRhYmxlIHRib2R5IHRoIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IHRhYmxlIHRib2R5IHRyOm5vdCg6bGFzdC1jaGlsZCkgdGgge1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCB0YWJsZSB0Ym9keSB0ciB7XG4gICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3c7IH0gfVxuICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCB0YWJsZSAuY29sLWxhYmVsIHtcbiAgICAgICAgY29sb3I6ICM3Nzc3Nzc7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB0Ym9keSB0ciB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB0Ym9keSB0cjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWVlZWVlOyB9IH1cbiAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgdGFibGUubm8td3JhcCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBvdmVyZmxvdy14OiBhdXRvOyB9XG4gICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IHRhYmxlLmNvbXBhcmlzb24tdGFibGUgdGJvZHkgdGQ6Zmlyc3QtY2hpbGQge1xuICAgICAgICBjb2xvcjogIzc3Nzc3NztcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgYmxvY2txdW90ZSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICBnYXA6IDE1cHg7XG4gICAgICBtYXJnaW46IDAgYXV0byA0MHB4O1xuICAgICAgcGFkZGluZzogNTBweCAzMHB4O1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgZm9udC1mYW1pbHk6IFwiR2lic29uXCIsIFwiR2lic29uIEZhbGxiYWNrXCIsIFwiQXJpYWxcIjtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC44cywgYm9yZGVyLWNvbG9yIDAuOHM7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCBibG9ja3F1b3RlIHtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgIGdhcDogMjVweDsgfSB9XG4gICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IGJsb2NrcXVvdGU6aG92ZXIge1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICBib3JkZXItY29sb3I6ICNlZWVlZWU7XG4gICAgICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC42cywgYm9yZGVyLWNvbG9yIDAuNnM7IH1cbiAgICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCBibG9ja3F1b3RlOmhvdmVyOmJlZm9yZSB7XG4gICAgICAgICAgY29sb3I6ICNkYWRhZGE7XG4gICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCBibG9ja3F1b3RlOmhhcyhpbWcpIHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCBibG9ja3F1b3RlOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCBibG9ja3F1b3RlIHtcbiAgICAgICAgICBwYWRkaW5nOiA1MHB4IDYwcHg7IH0gfVxuICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCBibG9ja3F1b3RlICsgYmxvY2txdW90ZSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDE1cHg7IH1cbiAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgYmxvY2txdW90ZTpiZWZvcmUsIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgYmxvY2txdW90ZTphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwi74SNXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgICBmb250LXNpemU6IDQwcHg7XG4gICAgICAgIGNvbG9yOiAjZWVlZWVlO1xuICAgICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICAgICAgbGluZS1oZWlnaHQ6IC44O1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IGJsb2NrcXVvdGU6YmVmb3JlIHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwOyB9XG4gICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IGJsb2NrcXVvdGU6YWZ0ZXIge1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyB9XG4gICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IGJsb2NrcXVvdGUgaW1nIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgYmxvY2txdW90ZSBpbWcge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG4gICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCBhW2hyZWZePVwidGVsOlwiXSwgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCBhW2hyZWZePVwibWFpbHRvOlwiXSB7XG4gICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IGFbaHJlZl49XCJ0ZWw6XCJdOmhvdmVyLCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IGFbaHJlZl49XCJtYWlsdG86XCJdOmhvdmVyIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IGFbaHJlZl49XCJ0ZWw6XCJdLnNob3ctY29udGFjdC1pY29uOmJlZm9yZSwgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCBhW2hyZWZePVwibWFpbHRvOlwiXS5zaG93LWNvbnRhY3QtaWNvbjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjsgfVxuICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgYVtocmVmXj1cIm1haWx0bzpcIl0uc2hvdy1jb250YWN0LWljb246YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74OgXCI7IH1cbiAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IGFbaHJlZl49XCJ0ZWw6XCJdLnNob3ctY29udGFjdC1pY29uOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+huVwiO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsgfVxuICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgcCBhOm5vdChbY2xhc3MqPVwiLWJ1dHRvblwiXSkge1xuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgZ2FwOiAwIDVweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IHAgYTpoYXMoW3N0eWxlKj1cImZsb2F0XCJdKSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmU7IH1cbiAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IGEge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50ID4gcDpmaXJzdC1vZi10eXBlIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCA+IHA6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgcGFkZGluZy10b3A6IDI0cHg7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQge1xuICAgICAgICBtYXJnaW4tdG9wOiAwOyB9IH1cbiAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IHAge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IHA6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbjogYXV0byAxMHB4IGF1dG8gMDtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICAgIGZvbnQtc2l6ZTogMTlweDsgfVxuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgICAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgcDpiZWZvcmUge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAxMHB4O1xuICAgICAgICAgICAgbWFyZ2luOiBhdXRvOyB9IH1cbiAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH0gfVxuICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLnByb21wdC1idXR0b24tY29udGFpbmVyIC5wcm9tcHQtcHJvY2VlZC1idXR0b24ge1xuICAgICAgbWFyZ2luOiAwIDQ1cHggMjBweDsgfVxuICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIgLnByb21wdC1wcm9jZWVkLWJ1dHRvbi5zdWNjZXNzIHtcbiAgICAgICAgLS1jb21wb25lbnQtc3BlY2lmYy1zdGVwLWhlaWdodDogMTVweDtcbiAgICAgICAgd2lkdGg6IDIzMHB4O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tc21hbGwtbWFyZ2luLCAxMHB4IDApO1xuICAgICAgICBwYWRkaW5nOiB2YXIoLS1jb21tb24tYnV0dG9uLXBhZGRpbmcsIDIwcHggMTBweCk7XG4gICAgICAgIGNvbG9yOiAjMDYwNTJmO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGZmYmUyO1xuICAgICAgICBib3JkZXItd2lkdGg6IDJweDtcbiAgICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMS4ycHg7XG4gICAgICAgIHdvcmQtc3BhY2luZzogMnB4O1xuICAgICAgICBib3JkZXItY29sb3I6ICNkYWRhZGE7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuOHM7IH1cbiAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LXByb2NlZWQtYnV0dG9uLnN1Y2Nlc3Mge1xuICAgICAgICAgICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLW1lZGl1bS1tYXJnaW4sIDEwcHggMCk7IH0gfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIgLnByb21wdC1wcm9jZWVkLWJ1dHRvbi5zdWNjZXNzIHtcbiAgICAgICAgICAgIHdpZHRoOiAyMzBweDtcbiAgICAgICAgICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1sYXJnZS1tYXJnaW4sIDAgMCAyMHB4KTsgfSB9XG4gICAgICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIgLnByb21wdC1wcm9jZWVkLWJ1dHRvbi5zdWNjZXNzOmhvdmVyLCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LXByb2NlZWQtYnV0dG9uLnN1Y2Nlc3MuaG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTI4MTFmO1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAjMTI4MTFmO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAgICAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLnByb21wdC1idXR0b24tY29udGFpbmVyIC5wcm9tcHQtcHJvY2VlZC1idXR0b24uc3VjY2Vzczpob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwLCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LXByb2NlZWQtYnV0dG9uLnN1Y2Nlc3MuaG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfSB9XG4gICAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLnByb21wdC1idXR0b24tY29udGFpbmVyIC5wcm9tcHQtcHJvY2VlZC1idXR0b24uc3VjY2VzczphY3RpdmUsIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLnByb21wdC1idXR0b24tY29udGFpbmVyIC5wcm9tcHQtcHJvY2VlZC1idXR0b24uc3VjY2Vzcy5hY3RpdmUge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZWE7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAjZTZlNmVhO1xuICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLnByb21wdC1idXR0b24tY29udGFpbmVyIC5wcm9tcHQtcHJvY2VlZC1idXR0b24uc3VjY2VzczpkaXNhYmxlZCwgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIgLnByb21wdC1wcm9jZWVkLWJ1dHRvbi5zdWNjZXNzLmRpc2FibGVkLCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LXByb2NlZWQtYnV0dG9uLnN1Y2Nlc3NbZGlzYWJsZWRdIHtcbiAgICAgICAgICBjb2xvcjogIzkyOTI5MjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMDAsIDIwMCwgMjAwLCAwLjcpO1xuICAgICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIgLnByb21wdC1wcm9jZWVkLWJ1dHRvbi5zdWNjZXNzOmRpc2FibGVkOmhvdmVyLCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LXByb2NlZWQtYnV0dG9uLnN1Y2Nlc3MuZGlzYWJsZWQ6aG92ZXIge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMDAsIDIwMCwgMjAwLCAwLjcpOyB9XG4gICAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLnByb21wdC1idXR0b24tY29udGFpbmVyIC5wcm9tcHQtcHJvY2VlZC1idXR0b24uc3VjY2Vzczpmb2N1cy12aXNpYmxlIHtcbiAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7IH1cbiAgICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIgLnByb21wdC1wcm9jZWVkLWJ1dHRvbi5zdWNjZXNzIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIgLnByb21wdC1wcm9jZWVkLWJ1dHRvbi53YXJuaW5nLCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LXByb2NlZWQtYnV0dG9uLmFsZXJ0IHtcbiAgICAgICAgLS1jb21wb25lbnQtc3BlY2lmYy1zdGVwLWhlaWdodDogMTVweDtcbiAgICAgICAgd2lkdGg6IDIzMHB4O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tc21hbGwtbWFyZ2luLCAxMHB4IDApO1xuICAgICAgICBwYWRkaW5nOiB2YXIoLS1jb21tb24tYnV0dG9uLXBhZGRpbmcsIDIwcHggMTBweCk7XG4gICAgICAgIGNvbG9yOiAjYjIwYzBjO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmRlMWUxO1xuICAgICAgICBib3JkZXItd2lkdGg6IDJweDtcbiAgICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMS4ycHg7XG4gICAgICAgIHdvcmQtc3BhY2luZzogMnB4O1xuICAgICAgICBib3JkZXItY29sb3I6ICNkYWRhZGE7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuOHM7IH1cbiAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LXByb2NlZWQtYnV0dG9uLndhcm5pbmcsIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLnByb21wdC1idXR0b24tY29udGFpbmVyIC5wcm9tcHQtcHJvY2VlZC1idXR0b24uYWxlcnQge1xuICAgICAgICAgICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLW1lZGl1bS1tYXJnaW4sIDEwcHggMCk7IH0gfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIgLnByb21wdC1wcm9jZWVkLWJ1dHRvbi53YXJuaW5nLCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LXByb2NlZWQtYnV0dG9uLmFsZXJ0IHtcbiAgICAgICAgICAgIHdpZHRoOiAyMzBweDtcbiAgICAgICAgICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1sYXJnZS1tYXJnaW4sIDAgMCAyMHB4KTsgfSB9XG4gICAgICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIgLnByb21wdC1wcm9jZWVkLWJ1dHRvbi53YXJuaW5nOmhvdmVyLCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LXByb2NlZWQtYnV0dG9uLndhcm5pbmcuaG92ZXIsIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLnByb21wdC1idXR0b24tY29udGFpbmVyIC5wcm9tcHQtcHJvY2VlZC1idXR0b24uYWxlcnQ6aG92ZXIsIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLnByb21wdC1idXR0b24tY29udGFpbmVyIC5wcm9tcHQtcHJvY2VlZC1idXR0b24uYWxlcnQuaG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjIwYzBjO1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAjYjIwYzBjO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAgICAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLnByb21wdC1idXR0b24tY29udGFpbmVyIC5wcm9tcHQtcHJvY2VlZC1idXR0b24ud2FybmluZzpob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwLCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LXByb2NlZWQtYnV0dG9uLndhcm5pbmcuaG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIgLnByb21wdC1wcm9jZWVkLWJ1dHRvbi5hbGVydDpob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwLCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LXByb2NlZWQtYnV0dG9uLmFsZXJ0LmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH0gfVxuICAgICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LXByb2NlZWQtYnV0dG9uLndhcm5pbmc6YWN0aXZlLCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LXByb2NlZWQtYnV0dG9uLndhcm5pbmcuYWN0aXZlLCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LXByb2NlZWQtYnV0dG9uLmFsZXJ0OmFjdGl2ZSwgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIgLnByb21wdC1wcm9jZWVkLWJ1dHRvbi5hbGVydC5hY3RpdmUge1xuICAgICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZWE7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAjZTZlNmVhO1xuICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLnByb21wdC1idXR0b24tY29udGFpbmVyIC5wcm9tcHQtcHJvY2VlZC1idXR0b24ud2FybmluZzpkaXNhYmxlZCwgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIgLnByb21wdC1wcm9jZWVkLWJ1dHRvbi53YXJuaW5nLmRpc2FibGVkLCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LXByb2NlZWQtYnV0dG9uLndhcm5pbmdbZGlzYWJsZWRdLCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LXByb2NlZWQtYnV0dG9uLmFsZXJ0OmRpc2FibGVkLCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LXByb2NlZWQtYnV0dG9uLmFsZXJ0LmRpc2FibGVkLCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LXByb2NlZWQtYnV0dG9uLmFsZXJ0W2Rpc2FibGVkXSB7XG4gICAgICAgICAgY29sb3I6ICM5MjkyOTI7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMjAwLCAyMDAsIDIwMCwgMC43KTtcbiAgICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLnByb21wdC1idXR0b24tY29udGFpbmVyIC5wcm9tcHQtcHJvY2VlZC1idXR0b24ud2FybmluZzpkaXNhYmxlZDpob3ZlciwgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIgLnByb21wdC1wcm9jZWVkLWJ1dHRvbi53YXJuaW5nLmRpc2FibGVkOmhvdmVyLCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LXByb2NlZWQtYnV0dG9uLmFsZXJ0OmRpc2FibGVkOmhvdmVyLCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LXByb2NlZWQtYnV0dG9uLmFsZXJ0LmRpc2FibGVkOmhvdmVyIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMjAwLCAyMDAsIDIwMCwgMC43KTsgfVxuICAgICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LXByb2NlZWQtYnV0dG9uLndhcm5pbmc6Zm9jdXMtdmlzaWJsZSwgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIgLnByb21wdC1wcm9jZWVkLWJ1dHRvbi5hbGVydDpmb2N1cy12aXNpYmxlIHtcbiAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7IH1cbiAgICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIgLnByb21wdC1wcm9jZWVkLWJ1dHRvbi53YXJuaW5nIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLnByb21wdC1idXR0b24tY29udGFpbmVyIC5wcm9tcHQtcHJvY2VlZC1idXR0b24uYWxlcnQgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG4gICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIgLnByb21wdC1jYW5jZWwtYnV0dG9uIHtcbiAgICAgIC0tY29tcG9uZW50LXNwZWNpZmMtc3RlcC1oZWlnaHQ6IDE1cHg7XG4gICAgICB3aWR0aDogMjMwcHg7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLXNtYWxsLW1hcmdpbiwgMCAyMi41cHggMTBweCk7XG4gICAgICBwYWRkaW5nOiB2YXIoLS1jb21tb24tYnV0dG9uLXBhZGRpbmcsIDIwcHggMTBweCk7XG4gICAgICBjb2xvcjogIzA2MDUyZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICBib3JkZXItd2lkdGg6IDJweDtcbiAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDEuMnB4O1xuICAgICAgd29yZC1zcGFjaW5nOiAycHg7XG4gICAgICBib3JkZXItY29sb3I6ICNkYWRhZGE7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC44czsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LWNhbmNlbC1idXR0b24ge1xuICAgICAgICAgIHdpZHRoOiAyMzBweDtcbiAgICAgICAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tbGFyZ2UtbWFyZ2luLCAwIDQ1cHggMjBweCk7IH0gfVxuICAgICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIgLnByb21wdC1jYW5jZWwtYnV0dG9uOmhvdmVyLCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LWNhbmNlbC1idXR0b24uaG92ZXIge1xuICAgICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkYWRhZGE7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAjMDAwMDAwO1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgICAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLnByb21wdC1idXR0b24tY29udGFpbmVyIC5wcm9tcHQtY2FuY2VsLWJ1dHRvbjpob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwLCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LWNhbmNlbC1idXR0b24uaG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9IH1cbiAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLnByb21wdC1idXR0b24tY29udGFpbmVyIC5wcm9tcHQtY2FuY2VsLWJ1dHRvbjphY3RpdmUsIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLnByb21wdC1idXR0b24tY29udGFpbmVyIC5wcm9tcHQtY2FuY2VsLWJ1dHRvbi5hY3RpdmUge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzA2MDUyZjtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMDYwNTJmO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIgLnByb21wdC1jYW5jZWwtYnV0dG9uOmRpc2FibGVkLCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LWNhbmNlbC1idXR0b24uZGlzYWJsZWQsIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLnByb21wdC1idXR0b24tY29udGFpbmVyIC5wcm9tcHQtY2FuY2VsLWJ1dHRvbltkaXNhYmxlZF0ge1xuICAgICAgICBjb2xvcjogIzkyOTI5MjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwMCwgMjAwLCAyMDAsIDAuNyk7XG4gICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLnByb21wdC1idXR0b24tY29udGFpbmVyIC5wcm9tcHQtY2FuY2VsLWJ1dHRvbjpkaXNhYmxlZDpob3ZlciwgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIgLnByb21wdC1jYW5jZWwtYnV0dG9uLmRpc2FibGVkOmhvdmVyIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwMCwgMjAwLCAyMDAsIDAuNyk7IH1cbiAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLnByb21wdC1idXR0b24tY29udGFpbmVyIC5wcm9tcHQtY2FuY2VsLWJ1dHRvbjpmb2N1cy12aXNpYmxlIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTsgfVxuICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIgLnByb21wdC1jYW5jZWwtYnV0dG9uIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cblxuLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jbG9zZS1idXR0b24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNsb3NlLWJ1dHRvbjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi74CNXCI7XG4gICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjZzLCBjb2xvciAwLjhzOyB9XG4gIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY2xvc2UtYnV0dG9uOmhvdmVyOmJlZm9yZSB7XG4gICAgY29sb3I6ICNhZTk0NjE7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjZzLCBjb2xvciAwLjZzOyB9XG4gIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY2xvc2UtYnV0dG9uOmFjdGl2ZTpiZWZvcmUge1xuICAgIGNvbG9yOiAjMDYwNTJmO1xuICAgIHRyYW5zaXRpb246IGZvbnQtc2l6ZSAxLjJzLCBjb2xvciAwLjZzOyB9XG5cbi5jb25maXJtYXRpb24tY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAxNXB4IDEwcHg7XG4gIG1hcmdpbjogMzBweCAwIDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5jb25maXJtYXRpb24tY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmc6IDE1cHggMzBweDsgfSB9XG4gIC5jb25maXJtYXRpb24tY29udGFpbmVyLm1hcmdpbi1ib3R0b20ge1xuICAgIG1hcmdpbi1ib3R0b206IDUwcHg7IH1cbiAgLmNvbmZpcm1hdGlvbi1jb250YWluZXIuc3VjY2VzcyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2RmZmJlMjtcbiAgICBjb2xvcjogIzEyODExZjsgfVxuICAuY29uZmlybWF0aW9uLWNvbnRhaW5lci53YXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZlZmU2O1xuICAgIGNvbG9yOiAjZmY1ZTA1OyB9XG4gIC5jb25maXJtYXRpb24tY29udGFpbmVyLmFsZXJ0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmMGYwO1xuICAgIGNvbG9yOiAjYjIwYzBjOyB9XG5cbi8qXHJcbi0tLS0tIEhlYWRlciAtLS0tLVxyXG5IYW5kbGVzIHRoZSBmb2xsb3dpbmc6IFxyXG4tIFVwcGVyICsgbG93ZXIgbmF2aWdhdGlvbiBiYXJzLlxyXG4tIFNpdGUgbG9nb1xyXG4tIEhlYWRlciBzdGlja3kgZnVuY3Rpb25hbGl0eTpcclxuICAtIEZ1bGxcclxuICAtIE1pbmlmaWVkXHJcbiAgLSBObyBUb3AgQmFyXHJcbiAgLSBNZW51XHJcbi0gVkFUIFN3aXRjaGVyXHJcbi0gQnJlYWRjcnVtYnNcclxuLSBCYXNrZXQgU3VtbWFyeSBcclxuLSBDYWxsb3V0cyBpbiB0aGUgaGVhZGVyIHRvIG1vZGlmeSBjYWxsb3V0IHNlZSBheGlzLW5vdGlmaWNhdGlvbi5zY3NzXHJcbi0gUHJlZGljdGl2ZSBzZWFyY2ggcG9zaXRpb25pbmcgdG8gbW9kaWZ5IHNlYXJjaCBzdHlsZSB0aGVuIGdvIHRvIGF4aXMtYXV0b2NvbXBsZXRlLnNjc3NcclxuLSBVU1AgYmFyIHdoaWNoIGlzIGVzc2VudGlhbGx5IGEgbW9kdWxlLlxyXG4tIFdlbGNvbWUgVGV4dFxyXG4tIFRhZyBsaW5lc1xyXG4tIFRPRE86IEkgYW0gY3VycmVudGx5IGluIHRoZSBwcm9jZXNzIG9mIHRyeWluZyB0byB1bnRhbmdsZSB0aGUgbWVnYSBtZW51IGNzcyArIG1ha2UgaXQgbW9yZSBnZW5lcmljIGFuZCByZWhvbWUgaXQgaW5zaWRlIG9mIGF4aXMtbWVudXMuc2Nzc1xyXG4qL1xuaGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWFyZ2luOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICBoZWFkZXIge1xuICAgICAgbWFyZ2luOiAwOyB9IH1cbiAgaGVhZGVyIFtkYXRhLWF4aXMtc3RpY2t5XSB7XG4gICAgei1pbmRleDogMjAwMDsgfVxuICAgIGhlYWRlciBbZGF0YS1heGlzLXN0aWNreV0uaXMtc3R1Y2sgLmhlYWRlci1jb250YWluZXIge1xuICAgICAgYm94LXNoYWRvdzogMHB4IDJweCA0cHggMXB4IHJnYmEoMTIsIDEyLCAxMywgMC4zKTsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAgICAgaGVhZGVyIFtkYXRhLWF4aXMtc3RpY2t5XS5pcy1zdHVjayAuaGVhZGVyLWNvbnRhaW5lciB7XG4gICAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIHotaW5kZXg6IDIwMDA7IH1cbiAgICAgICAgICBoZWFkZXIgW2RhdGEtYXhpcy1zdGlja3ldLmlzLXN0dWNrIC5oZWFkZXItY29udGFpbmVyOmJlZm9yZSB7XG4gICAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHdpZHRoIDEuNXMgZWFzZS1vdXQ7IH0gfVxuICAgICAgaGVhZGVyIFtkYXRhLWF4aXMtc3RpY2t5XS5pcy1zdHVjayAuaGVhZGVyLWNvbnRhaW5lcltkYXRhLXN0aWNreS10eXBlPVwiTm9Ub3BCYXJcIl0gLmhlYWRlci10b3AtYmFyLWNvbnRhaW5lciB7XG4gICAgICAgIG1heC1oZWlnaHQ6IDA7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgMC42czsgfVxuICAgICAgaGVhZGVyIFtkYXRhLWF4aXMtc3RpY2t5XS5pcy1zdHVjayAuaGVhZGVyLWNvbnRhaW5lcltkYXRhLXN0aWNreS10eXBlPVwiTWluaWZ5XCJdIC5oZWFkZXItdG9wLWJhci1jb250YWluZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICBoZWFkZXIgW2RhdGEtYXhpcy1zdGlja3ldLmlzLXN0dWNrIC5oZWFkZXItY29udGFpbmVyW2RhdGEtc3RpY2t5LXR5cGU9XCJNaW5pZnlcIl0gLmhlYWRlci1jb250ZW50IHtcbiAgICAgICAgbWluLWhlaWdodDogYXV0bzsgfVxuICAgICAgaGVhZGVyIFtkYXRhLWF4aXMtc3RpY2t5XS5pcy1zdHVjayAuaGVhZGVyLWNvbnRhaW5lcltkYXRhLXN0aWNreS10eXBlPVwiTWluaWZ5XCJdIC5oZWFkZXItY29udGVudC1jb250YWluZXIge1xuICAgICAgICBwYWRkaW5nOiAwOyB9XG4gICAgICBoZWFkZXIgW2RhdGEtYXhpcy1zdGlja3ldLmlzLXN0dWNrIC5oZWFkZXItY29udGFpbmVyW2RhdGEtc3RpY2t5LXR5cGU9XCJNaW5pZnlcIl0gLmhlYWRlci1jb250ZW50LWxlZnQge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiAwOyB9XG4gICAgICAgIGhlYWRlciBbZGF0YS1heGlzLXN0aWNreV0uaXMtc3R1Y2sgLmhlYWRlci1jb250YWluZXJbZGF0YS1zdGlja3ktdHlwZT1cIk1pbmlmeVwiXSAuaGVhZGVyLWNvbnRlbnQtbGVmdCAubWVudSA+IGxpID4gYSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgdHJhbnNpdGlvbjogbWFyZ2luLXRvcCAwLjZzLCBtYXJnaW4tYm90dG9tIDAuOHM7IH1cbiAgICAgIGhlYWRlciBbZGF0YS1heGlzLXN0aWNreV0uaXMtc3R1Y2sgLmhlYWRlci1jb250YWluZXJbZGF0YS1zdGlja3ktdHlwZT1cIk1pbmlmeVwiXSAuaGVhZGVyLWNvbnRlbnQtY2VudGVyIHtcbiAgICAgICAgcGFkZGluZzogMDsgfVxuICAgICAgaGVhZGVyIFtkYXRhLWF4aXMtc3RpY2t5XS5pcy1zdHVjayAuaGVhZGVyLWNvbnRhaW5lcltkYXRhLXN0aWNreS10eXBlPVwiTWluaWZ5XCJdIC5sb2dvLWNvbnRhaW5lciB7XG4gICAgICAgIGhlaWdodDogNDVweDtcbiAgICAgICAgbWFyZ2luOiA1cHggMDsgfVxuICAgICAgICBoZWFkZXIgW2RhdGEtYXhpcy1zdGlja3ldLmlzLXN0dWNrIC5oZWFkZXItY29udGFpbmVyW2RhdGEtc3RpY2t5LXR5cGU9XCJNaW5pZnlcIl0gLmxvZ28tY29udGFpbmVyIC5sb2dvLWZ1bGwtc2l6ZSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgICBoZWFkZXIgW2RhdGEtYXhpcy1zdGlja3ldLmlzLXN0dWNrIC5oZWFkZXItY29udGFpbmVyW2RhdGEtc3RpY2t5LXR5cGU9XCJNaW5pZnlcIl0gLmxvZ28tY29udGFpbmVyIC5sb2dvLW1pbmlmaWVkIHtcbiAgICAgICAgICB3aWR0aDogMzBweDtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBwYWRkaW5nOiAwOyB9XG4gICAgICBoZWFkZXIgW2RhdGEtYXhpcy1zdGlja3ldLmlzLXN0dWNrIC5oZWFkZXItY29udGFpbmVyW2RhdGEtc3RpY2t5LXR5cGU9XCJNaW5pZnlcIl0gLmhlYWRlci1jb250ZW50LXJpZ2h0IHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAgIGhlYWRlciBbZGF0YS1heGlzLXN0aWNreV0uaXMtc3R1Y2sgLmhlYWRlci1jb250YWluZXJbZGF0YS1zdGlja3ktdHlwZT1cIk1pbmlmeVwiXSAuaGVhZGVyLWFjY291bnQtYnV0dG9uIHtcbiAgICAgICAgcGFkZGluZzogMy41cHggNy43NXB4O1xuICAgICAgICB0cmFuc2l0aW9uOiBwYWRkaW5nIDAuNnM7IH1cbiAgICAgIGhlYWRlciBbZGF0YS1heGlzLXN0aWNreV0uaXMtc3R1Y2sgLmhlYWRlci1jb250YWluZXJbZGF0YS1zdGlja3ktdHlwZT1cIk1pbmlmeVwiXSAjYWN0aW9uLWJhci1jb250YWluZXIge1xuICAgICAgICBmbGV4OiAwO1xuICAgICAgICBtYXJnaW4tdG9wOiBhdXRvO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBhdXRvOyB9XG4gICAgICAgIGhlYWRlciBbZGF0YS1heGlzLXN0aWNreV0uaXMtc3R1Y2sgLmhlYWRlci1jb250YWluZXJbZGF0YS1zdGlja3ktdHlwZT1cIk1pbmlmeVwiXSAjYWN0aW9uLWJhci1jb250YWluZXIgLmJhc2tldC1kZXNrdG9wLXN1bW1hcnkge1xuICAgICAgICAgIGhlaWdodDogNDVweDsgfVxuICAgICAgICAgIGhlYWRlciBbZGF0YS1heGlzLXN0aWNreV0uaXMtc3R1Y2sgLmhlYWRlci1jb250YWluZXJbZGF0YS1zdGlja3ktdHlwZT1cIk1pbmlmeVwiXSAjYWN0aW9uLWJhci1jb250YWluZXIgLmJhc2tldC1kZXNrdG9wLXN1bW1hcnk6YWZ0ZXIge1xuICAgICAgICAgICAgaGVpZ2h0OiA0M3B4O1xuICAgICAgICAgICAgcGFkZGluZzogNHB4IDIzcHg7IH1cbiAgICAgICAgaGVhZGVyIFtkYXRhLWF4aXMtc3RpY2t5XS5pcy1zdHVjayAuaGVhZGVyLWNvbnRhaW5lcltkYXRhLXN0aWNreS10eXBlPVwiTWluaWZ5XCJdICNhY3Rpb24tYmFyLWNvbnRhaW5lciAuYnViYmxlLWNvbnRhaW5lciB7XG4gICAgICAgICAgdG9wOiA0NXB4OyB9XG4gICAgICBoZWFkZXIgW2RhdGEtYXhpcy1zdGlja3ldLmlzLXN0dWNrIC5oZWFkZXItY29udGFpbmVyW2RhdGEtc3RpY2t5LXR5cGU9XCJNaW5pZnlcIl0gLmhlYWRlci1zZWFyY2gtY29udGFpbmVyIHtcbiAgICAgICAgbWFyZ2luLXRvcDogYXV0bztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogYXV0bzsgfVxuICAgICAgICBoZWFkZXIgW2RhdGEtYXhpcy1zdGlja3ldLmlzLXN0dWNrIC5oZWFkZXItY29udGFpbmVyW2RhdGEtc3RpY2t5LXR5cGU9XCJNaW5pZnlcIl0gLmhlYWRlci1zZWFyY2gtY29udGFpbmVyIC5oZWFkZXItcHJlZGljdGl2ZS1zZWFyY2ggLmNhbGxiYWNrQ29udGFpbmVyIHtcbiAgICAgICAgICBoZWlnaHQ6IDQ1cHg7IH1cbiAgICAgICAgaGVhZGVyIFtkYXRhLWF4aXMtc3RpY2t5XS5pcy1zdHVjayAuaGVhZGVyLWNvbnRhaW5lcltkYXRhLXN0aWNreS10eXBlPVwiTWluaWZ5XCJdIC5oZWFkZXItc2VhcmNoLWNvbnRhaW5lciAuYWpheC1zZWFyY2gge1xuICAgICAgICAgIGhlaWdodDogNDVweDsgfVxuICAgICAgICAgIGhlYWRlciBbZGF0YS1heGlzLXN0aWNreV0uaXMtc3R1Y2sgLmhlYWRlci1jb250YWluZXJbZGF0YS1zdGlja3ktdHlwZT1cIk1pbmlmeVwiXSAuaGVhZGVyLXNlYXJjaC1jb250YWluZXIgLmFqYXgtc2VhcmNoICsgYnV0dG9uIHtcbiAgICAgICAgICAgIGhlaWdodDogNDVweDsgfVxuICAgICAgaGVhZGVyIFtkYXRhLWF4aXMtc3RpY2t5XS5pcy1zdHVjayAuaGVhZGVyLWNvbnRhaW5lcltkYXRhLXN0aWNreS10eXBlPVwiTWluaWZ5XCJdIC5oZWFkZXItdGFnLWxpbmUtY29udGFpbmVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgaGVhZGVyIFtkYXRhLWF4aXMtc3RpY2t5XS5pcy1zdHVjayAuaGVhZGVyLWNvbnRhaW5lcltkYXRhLXN0aWNreS10eXBlPVwiTWluaWZ5XCJdIC5oZWFkZXItd2VsY29tZS10ZXh0LWNvbnRhaW5lciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgaGVhZGVyIFtkYXRhLWF4aXMtc3RpY2t5XS5pcy1zdHVjayAuaGVhZGVyLWNvbnRhaW5lcltkYXRhLXN0aWNreS10eXBlPVwiTWluaWZ5XCJdIC5oZWFkZXItd2VsY29tZS10ZXh0LWNvbnRhaW5lciArICNhY3Rpb24tYmFyLWNvbnRhaW5lciB7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgICAgaGVhZGVyIFtkYXRhLWF4aXMtc3RpY2t5XS5pcy1zdHVjayAuaGVhZGVyLWNvbnRhaW5lcltkYXRhLXN0aWNreS10eXBlPVwiTWluaWZ5XCJdIC5oZWFkZXItY2FsbC10by1hY3Rpb24tY29udGFpbmVyIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgICAgICBoZWFkZXIgW2RhdGEtYXhpcy1zdGlja3ldLmlzLXN0dWNrIC5oZWFkZXItY29udGFpbmVyW2RhdGEtc3RpY2t5LXR5cGU9XCJNaW5pZnlcIl0gLmhlYWRlci1jYWxsLXRvLWFjdGlvbi1jb250YWluZXIgPiBkaXYge1xuICAgICAgICAgIGhlaWdodDogNDVweDsgfVxuICAgICAgICBoZWFkZXIgW2RhdGEtYXhpcy1zdGlja3ldLmlzLXN0dWNrIC5oZWFkZXItY29udGFpbmVyW2RhdGEtc3RpY2t5LXR5cGU9XCJNaW5pZnlcIl0gLmhlYWRlci1jYWxsLXRvLWFjdGlvbi1jb250YWluZXIgYSB7XG4gICAgICAgICAgbWluLWhlaWdodDogdW5zZXQ7IH1cbiAgICAgIGhlYWRlciBbZGF0YS1heGlzLXN0aWNreV0uaXMtc3R1Y2sgLmhlYWRlci1jb250YWluZXJbZGF0YS1zdGlja3ktdHlwZT1cIk1pbmlmeVwiXSAuaGVhZGVyLW1lbnVzLWlubmVyLWNvbnRhaW5lciAuaG9tZS1idXR0b24gYSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuICAgICAgICBoZWFkZXIgW2RhdGEtYXhpcy1zdGlja3ldLmlzLXN0dWNrIC5oZWFkZXItY29udGFpbmVyW2RhdGEtc3RpY2t5LXR5cGU9XCJNaW5pZnlcIl0gLmhlYWRlci1tZW51cy1pbm5lci1jb250YWluZXIgLmhvbWUtYnV0dG9uIGE6YmVmb3JlIHtcbiAgICAgICAgICBmb250LXNpemU6IDExLjY2NjY3cHg7XG4gICAgICAgICAgcGFkZGluZzogMCAwO1xuICAgICAgICAgIHRyYW5zaXRpb246IHBhZGRpbmcgMC42cywgZm9udC1zaXplIDAuNnM7IH1cbiAgICAgIGhlYWRlciBbZGF0YS1heGlzLXN0aWNreV0uaXMtc3R1Y2sgLmhlYWRlci1jb250YWluZXJbZGF0YS1zdGlja3ktdHlwZT1cIk1pbmlmeVwiXSAuaGVhZGVyLW1lbnVzLWlubmVyLWNvbnRhaW5lciAubWVudSA+IGxpOm5vdCguaG9tZS1idXR0b24pID4gYSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxMnB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTJweDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICBoZWFkZXIgW2RhdGEtYXhpcy1zdGlja3ldLmlzLXN0dWNrIC5oZWFkZXItY29udGFpbmVyW2RhdGEtc3RpY2t5LXR5cGU9XCJNaW5pZnlcIl0gLmhlYWRlci1tZW51cy1pbm5lci1jb250YWluZXIgLm1lbnUgPiBsaSA+IGEuaGFzLWxpbmstaW1hZ2UgLmxpbmstaW1hZ2Uge1xuICAgICAgICAgIHdpZHRoOiAyMi41cHg7XG4gICAgICAgICAgaGVpZ2h0OiAyMi41cHg7XG4gICAgICAgICAgdHJhbnNpdGlvbjogd2lkdGggMC42cywgaGVpZ2h0IDAuNnM7IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICBoZWFkZXIgW2RhdGEtYXhpcy1zdGlja3ldLmlzLXN0dWNrIC5oZWFkZXItY29udGFpbmVyW2RhdGEtc3RpY2t5LXR5cGU9XCJNZW51XCJdIC5oZWFkZXItdG9wLWJhci1jb250YWluZXIsIGhlYWRlciBbZGF0YS1heGlzLXN0aWNreV0uaXMtc3R1Y2sgLmhlYWRlci1jb250YWluZXJbZGF0YS1zdGlja3ktdHlwZT1cIk1lbnVcIl0gLmhlYWRlci1jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgICBoZWFkZXIgW2RhdGEtYXhpcy1zdGlja3ldLmlzLXN0dWNrIC5oZWFkZXItY29udGFpbmVyW2RhdGEtc3RpY2t5LXR5cGU9XCJNZW51XCJdIC5sb2dvLWNvbnRhaW5lciAubG9nby1mdWxsLXNpemUge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICBoZWFkZXIgW2RhdGEtYXhpcy1zdGlja3ldLmlzLXN0dWNrIC5oZWFkZXItY29udGFpbmVyW2RhdGEtc3RpY2t5LXR5cGU9XCJNZW51XCJdIC5sb2dvLWNvbnRhaW5lciAubG9nby1taW5pZmllZCB7XG4gICAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuXG5oZWFkZXIgLmhlYWRlci1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICBoZWFkZXIgLmhlYWRlci1jb250YWluZXI6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgd2lkdGg6IDk5JTtcbiAgICAgIGhlaWdodDogMnB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzA2MDUyZjtcbiAgICAgIHRyYW5zaXRpb246IHdpZHRoIDAuOHM7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgaGVhZGVyIC5oZWFkZXItY29udGFpbmVyIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBib3JkZXItYm90dG9tOiAwOyB9IH1cblxuLmhlYWRlci1tb2JpbGUtdG9nZ2xlLWJhciB7XG4gIG1heC13aWR0aDogNzAlO1xuICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgIC5oZWFkZXItbW9iaWxlLXRvZ2dsZS1iYXIge1xuICAgICAgb3JkZXI6IDI7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5oZWFkZXItbW9iaWxlLXRvZ2dsZS1iYXIge1xuICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgZmxleC1ncm93OiAxOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5oZWFkZXItbW9iaWxlLXRvZ2dsZS1iYXIge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIC5oZWFkZXItbW9iaWxlLXRvZ2dsZS1iYXIgdWwge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgICAuaGVhZGVyLW1vYmlsZS10b2dnbGUtYmFyIHVsIGxpIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuaGVhZGVyLW1vYmlsZS10b2dnbGUtYmFyIGEsIC5oZWFkZXItbW9iaWxlLXRvZ2dsZS1iYXIgYnV0dG9uIHtcbiAgICB3aWR0aDogMzVweDtcbiAgICBoZWlnaHQ6IDM1cHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmc6IDAgMi41cHg7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5oZWFkZXItbW9iaWxlLXRvZ2dsZS1iYXIgYSwgLmhlYWRlci1tb2JpbGUtdG9nZ2xlLWJhciBidXR0b24ge1xuICAgICAgICBwYWRkaW5nOiAwIDMwcHg7IH0gfVxuICAgIC5oZWFkZXItbW9iaWxlLXRvZ2dsZS1iYXIgYTpiZWZvcmUsIC5oZWFkZXItbW9iaWxlLXRvZ2dsZS1iYXIgYnV0dG9uOmJlZm9yZSB7XG4gICAgICBjb2xvcjogIzA2MDUyZjtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgICAuaGVhZGVyLW1vYmlsZS10b2dnbGUtYmFyIGE6aG92ZXIsIC5oZWFkZXItbW9iaWxlLXRvZ2dsZS1iYXIgYnV0dG9uOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgICAgLmhlYWRlci1tb2JpbGUtdG9nZ2xlLWJhciBhOmhvdmVyOmJlZm9yZSwgLmhlYWRlci1tb2JpbGUtdG9nZ2xlLWJhciBidXR0b246aG92ZXI6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICNhZTk0NjE7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgLmhlYWRlci1tb2JpbGUtdG9nZ2xlLWJhciBhW2hyZWZePVwidGVsOlwiXTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi76G5XCI7XG4gICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgbGluZS1oZWlnaHQ6IDIycHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuaGVhZGVyLW1vYmlsZS10b2dnbGUtYmFyIGFbaHJlZl49XCJ0ZWw6XCJdOmJlZm9yZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjRweDsgfSB9XG4gIC5oZWFkZXItbW9iaWxlLXRvZ2dsZS1iYXIgYVtocmVmXj1cIm1haWx0bzpcIl06YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu+DoFwiO1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgIGZvbnQtc2l6ZTogMjBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5oZWFkZXItbW9iaWxlLXRvZ2dsZS1iYXIgYVtocmVmXj1cIm1haWx0bzpcIl06YmVmb3JlIHtcbiAgICAgICAgZm9udC1zaXplOiAyNHB4OyB9IH1cbiAgLmhlYWRlci1tb2JpbGUtdG9nZ2xlLWJhciAuaGVhZGVyLXRvZ2dsZS1zZWFyY2g6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu+AglwiO1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgIGZvbnQtc2l6ZTogMjBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5oZWFkZXItbW9iaWxlLXRvZ2dsZS1iYXIgLmhlYWRlci10b2dnbGUtc2VhcmNoOmJlZm9yZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjRweDsgfSB9XG4gIC5oZWFkZXItbW9iaWxlLXRvZ2dsZS1iYXIgLmhlYWRlci10b2dnbGUtYmFza2V0OmJlZm9yZSB7XG4gICAgY29udGVudDogXCLvipFcIjtcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICBmb250LXNpemU6IDIwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuaGVhZGVyLW1vYmlsZS10b2dnbGUtYmFyIC5oZWFkZXItdG9nZ2xlLWJhc2tldDpiZWZvcmUge1xuICAgICAgICBmb250LXNpemU6IDI0cHg7IH0gfVxuICAuaGVhZGVyLW1vYmlsZS10b2dnbGUtYmFyIC5oZWFkZXItdG9nZ2xlLWJhc2tldC53YXJuaW5nOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLuoJFcIjtcbiAgICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiOyB9XG4gIC5oZWFkZXItbW9iaWxlLXRvZ2dsZS1iYXIgLmhlYWRlci10b2dnbGUtYmFza2V0LmFsZXJ0OmJlZm9yZSB7XG4gICAgY29udGVudDogXCLuoJJcIjtcbiAgICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiOyB9XG4gIC5oZWFkZXItbW9iaWxlLXRvZ2dsZS1iYXIgLmhlYWRlci10b2dnbGUtbWVnYS1tZW51OmJlZm9yZSB7XG4gICAgY29udGVudDogXCLvg4lcIjtcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICBmb250LXNpemU6IDI1cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuaGVhZGVyLW1vYmlsZS10b2dnbGUtYmFyIC5oZWFkZXItdG9nZ2xlLW1lZ2EtbWVudTpiZWZvcmUge1xuICAgICAgICBmb250LXNpemU6IDMwcHg7IH0gfVxuICAuaGVhZGVyLW1vYmlsZS10b2dnbGUtYmFyIC5oZWFkZXItdG9nZ2xlLWFjY291bnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5oZWFkZXItbW9iaWxlLXRvZ2dsZS1iYXIgLmhlYWRlci10b2dnbGUtYWNjb3VudDpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgIdcIjtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiOyB9XG5cbi5oZWFkZXItbW9iaWxlLW1lbnUge1xuICBtYXgtaGVpZ2h0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgei1pbmRleDogMjAwMDtcbiAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjhzOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgLmhlYWRlci1tb2JpbGUtbWVudSB7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuaGVhZGVyLW1vYmlsZS1tZW51IHtcbiAgICAgIG1heC1oZWlnaHQ6IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIHotaW5kZXg6IGF1dG87XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTsgfSB9XG4gIC5oZWFkZXItbW9iaWxlLW1lbnUuYW5pbWF0ZSB7XG4gICAgbWF4LWhlaWdodDogODB2aDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNTBweDtcbiAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpO1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICMwNjA1MmY7XG4gICAgYm9yZGVyLXdpZHRoOiAwIDAgNnB4IDA7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuNnM7IH1cbiAgLmhlYWRlci1tb2JpbGUtbWVudS5hY3RpdmUge1xuICAgIG92ZXJmbG93LXk6IGF1dG87IH1cbiAgLmhlYWRlci1tb2JpbGUtbWVudSAuY29udGVudC1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBwYWRkaW5nOiAyNXB4IDEwcHg7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgICAgLmhlYWRlci1tb2JpbGUtbWVudSAuY29udGVudC1jb250YWluZXIgdWwubWVudSA+IGxpID4gYSB7XG4gICAgICAgIHBhZGRpbmc6IDE1cHggMCAxNXB4IDEwcHg7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5oZWFkZXItbW9iaWxlLW1lbnUgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgICAgcGFkZGluZzogMDsgfSB9XG5cbi5oZWFkZXItdG9wLWJhci1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogbm9uZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmhlYWRlci10b3AtYmFyLWNvbnRhaW5lciB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG5cbi5oZWFkZXItY29udGVudC1jb250YWluZXIge1xuICBtYXgtd2lkdGg6IDM0JTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgLmhlYWRlci1jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIG9yZGVyOiAxOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuaGVhZGVyLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgIHBhZGRpbmc6IDAgMTBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuaGVhZGVyLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgIG1heC13aWR0aDogMTMwMHB4O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgZGlzcGxheTogLW1zLWdyaWQ7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciA0Ny43JSAyOC41JTtcbiAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogMWZyO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgcGFkZGluZzogMDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgLmhlYWRlci1jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICBtYXgtd2lkdGg6IDEzMDBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMGVtKSB7XG4gICAgLmhlYWRlci1jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICBtYXgtd2lkdGg6IDEzMDBweDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gIC5oZWFkZXItY29udGVudC1sZWZ0ID4gZGl2Om5vdCgubG9nby1jb250YWluZXIpOm5vdCgjYWN0aW9uLWJhci1jb250YWluZXIpOm5vdCguaGVhZGVyLXNlYXJjaC1jb250YWluZXIpOm5vdCguaGVhZGVyLWNvbXBvbmVudC1zaG93LW1vYmlsZSksIC5oZWFkZXItY29udGVudC1jZW50ZXIgPiBkaXY6bm90KC5sb2dvLWNvbnRhaW5lcik6bm90KCNhY3Rpb24tYmFyLWNvbnRhaW5lcik6bm90KC5oZWFkZXItc2VhcmNoLWNvbnRhaW5lcik6bm90KC5oZWFkZXItY29tcG9uZW50LXNob3ctbW9iaWxlKSwgLmhlYWRlci1jb250ZW50LXJpZ2h0ID4gZGl2Om5vdCgubG9nby1jb250YWluZXIpOm5vdCgjYWN0aW9uLWJhci1jb250YWluZXIpOm5vdCguaGVhZGVyLXNlYXJjaC1jb250YWluZXIpOm5vdCguaGVhZGVyLWNvbXBvbmVudC1zaG93LW1vYmlsZSkge1xuICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5oZWFkZXItY29udGVudC1sZWZ0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdyaWQtcm93OiAxIC8gc3BhbiAyO1xuICAgIC1tcy1ncmlkLXJvdy1zcGFuOiAyO1xuICAgIC1tcy1ncmlkLWNvbHVtbjogMTsgfSB9XG5cbi5oZWFkZXItY29udGVudC1sZWZ0IC5tZW51LCAuaGVhZGVyLWNvbnRlbnQtbGVmdCAuZHJvcGRvd24ubWVudSB7XG4gIGhlaWdodDogZml0LWNvbnRlbnQ7XG4gIG1hcmdpbjogYXV0byAwOyB9XG4gIC5oZWFkZXItY29udGVudC1sZWZ0IC5tZW51ID4gbGksIC5oZWFkZXItY29udGVudC1sZWZ0IC5kcm9wZG93bi5tZW51ID4gbGkge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgICAuaGVhZGVyLWNvbnRlbnQtbGVmdCAubWVudSA+IGxpID4gYSwgLmhlYWRlci1jb250ZW50LWxlZnQgLmRyb3Bkb3duLm1lbnUgPiBsaSA+IGEge1xuICAgICAgcGFkZGluZzogMTVweCAxMHB4OyB9XG5cbi5oZWFkZXItY29udGVudC1sZWZ0IC5tZW51LWNvbnRhaW5lciB1bCA+IGxpID4gYSwgLmhlYWRlci1jb250ZW50LWxlZnQgLm1lZ2EtbWVudS1jb250YWluZXIgPiB1bCA+IGxpID4gYSB7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5oZWFkZXItY29udGVudC1jZW50ZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmhlYWRlci1jb250ZW50LWNlbnRlciB7XG4gICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5oZWFkZXItY29udGVudC1jZW50ZXIgLm1lbnUtY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbjogMDsgfSB9XG4gIC5oZWFkZXItY29udGVudC1jZW50ZXIgLm1lbnUgPiBsaSA+IGEsIC5oZWFkZXItY29udGVudC1jZW50ZXIgLmRyb3Bkb3duLm1lbnUgPiBsaSA+IGEge1xuICAgIHBhZGRpbmc6IDA7IH1cblxuLmhlYWRlci1jb250ZW50LXJpZ2h0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiBpbmhlcml0OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuaGVhZGVyLWNvbnRlbnQtcmlnaHQge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIC1tcy1ncmlkLXJvdzogMjtcbiAgICAgIC1tcy1ncmlkLWNvbHVtbjogMzsgfSB9XG4gIC5oZWFkZXItY29udGVudC1yaWdodCAubWVudS1jb250YWluZXIgPiB1bCA+IGxpID4gYSB7XG4gICAgcGFkZGluZzogMTVweCAxMHB4O1xuICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmxvZ29Db250YWluZXIsIC5sb2dvLWNvbnRhaW5lciB7XG4gIGhlaWdodDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBub3JtYWw7XG4gIHBhZGRpbmc6IDAgMCAxMHB4IDEwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5sb2dvQ29udGFpbmVyLCAubG9nby1jb250YWluZXIge1xuICAgICAgcGFkZGluZzogMCAxMHB4IDAgMDsgfSB9XG4gIC5sb2dvQ29udGFpbmVyIGEsIC5sb2dvLWNvbnRhaW5lciBhIHtcbiAgICBtYXgtd2lkdGg6IDUwdnc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiA1cHggMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5sb2dvQ29udGFpbmVyIGEsIC5sb2dvLWNvbnRhaW5lciBhIHtcbiAgICAgICAgbWFyZ2luOiAwOyB9IH1cbiAgLmxvZ29Db250YWluZXIgaW1nLCAubG9nby1jb250YWluZXIgaW1nIHtcbiAgICB3aWR0aDogNjVweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5sb2dvQ29udGFpbmVyIGltZywgLmxvZ28tY29udGFpbmVyIGltZyB7XG4gICAgICAgIHdpZHRoOiAxNDBweDtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBtYXJnaW46IDA7IH0gfVxuICAubG9nb0NvbnRhaW5lciAubG9nb01pbmlmaWVkLCAubG9nb0NvbnRhaW5lciAubG9nby1taW5pZmllZCwgLmxvZ28tY29udGFpbmVyIC5sb2dvTWluaWZpZWQsIC5sb2dvLWNvbnRhaW5lciAubG9nby1taW5pZmllZCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5sb2dvQ29udGFpbmVyIC5sb2dvTWluaWZpZWQsIC5sb2dvQ29udGFpbmVyIC5sb2dvLW1pbmlmaWVkLCAubG9nby1jb250YWluZXIgLmxvZ29NaW5pZmllZCwgLmxvZ28tY29udGFpbmVyIC5sb2dvLW1pbmlmaWVkIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi5oZWFkZXItdGFnLWxpbmUtY29udGFpbmVyIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuICAuaGVhZGVyLXRhZy1saW5lLWNvbnRhaW5lciBwIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMTdweCAwO1xuICAgIGNvbG9yOiAjMDYwNTJmO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZm9udC1zaXplOiAwLjk1cmVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDJweDtcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cbiAgICAuaGVhZGVyLXRhZy1saW5lLWNvbnRhaW5lciBwOmlzKDplbXB0eSkge1xuICAgICAgcGFkZGluZzogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5oZWFkZXItdGFnLWxpbmUtY29udGFpbmVyIHAge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5oZWFkZXItdGFnLWxpbmUtY29udGFpbmVyIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiA2MnB4O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG5cbi5oZWFkZXItdGFnbGluZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMTdweCAwO1xuICBjb2xvcjogIzA2MDUyZjtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1zaXplOiAwLjk1cmVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogMnB4O1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuaGVhZGVyLXRhZ2xpbmUge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZmxleC1iYXNpczogNTBweDtcbiAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG5cbi5oZWFkZXItc2VhcmNoLWNvbnRhaW5lciB7XG4gIHBhZGRpbmc6IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5oZWFkZXItc2VhcmNoLWNvbnRhaW5lciB7XG4gICAgICAtbXMtZ3JpZC1jb2x1bW46IDI7XG4gICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAuaGVhZGVyLXNlYXJjaC1jb250YWluZXIuYWN0aXZlIC5oZWFkZXItcHJlZGljdGl2ZS1zZWFyY2ggLmNhbGxiYWNrQ29udGFpbmVyIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9IH1cbiAgLmhlYWRlci1zZWFyY2gtY29udGFpbmVyIC5oZWFkZXItcHJlZGljdGl2ZS1zZWFyY2gge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmhlYWRlci1zZWFyY2gtY29udGFpbmVyIC5oZWFkZXItcHJlZGljdGl2ZS1zZWFyY2gge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfSB9XG4gICAgLmhlYWRlci1zZWFyY2gtY29udGFpbmVyIC5oZWFkZXItcHJlZGljdGl2ZS1zZWFyY2ggLmNhbGxiYWNrQ29udGFpbmVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5oZWFkZXItc2VhcmNoLWNvbnRhaW5lciAuaGVhZGVyLXByZWRpY3RpdmUtc2VhcmNoIC5jYWxsYmFja0NvbnRhaW5lciB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgICAgIG1hcmdpbjogYXV0bzsgfSB9XG4gICAgLmhlYWRlci1zZWFyY2gtY29udGFpbmVyIC5oZWFkZXItcHJlZGljdGl2ZS1zZWFyY2ggZmllbGRzZXQge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMDsgfVxuICAuaGVhZGVyLXNlYXJjaC1jb250YWluZXIgaW5wdXRbdHlwZT1zZWFyY2hdIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDUwcHg7XG4gICAgb3JkZXI6IDE7IH1cbiAgICAuaGVhZGVyLXNlYXJjaC1jb250YWluZXIgaW5wdXRbdHlwZT1zZWFyY2hdOjpwbGFjZWhvbGRlciB7XG4gICAgICBmb250LXNpemU6IDEuMDYyNXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgICAuaGVhZGVyLXNlYXJjaC1jb250YWluZXIgaW5wdXRbdHlwZT1zZWFyY2hdICsgYnV0dG9uIHtcbiAgICAgIGhlaWdodDogNTBweDtcbiAgICAgIG9yZGVyOiAyOyB9XG4gIC5oZWFkZXItc2VhcmNoLWNvbnRhaW5lciAjdW5pYm94LXN1Z2dlc3QtYm94IHtcbiAgICBtYXgtd2lkdGg6IGluaXRpYWwgIWltcG9ydGFudDtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gNzBweCk7XG4gICAgb3JkZXI6IDM7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgICAgLmhlYWRlci1zZWFyY2gtY29udGFpbmVyICN1bmlib3gtc3VnZ2VzdC1ib3gge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICAgICAgdG9wOiAwICFpbXBvcnRhbnQ7IH0gfVxuICAgIC5oZWFkZXItc2VhcmNoLWNvbnRhaW5lciAjdW5pYm94LXN1Z2dlc3QtYm94IGEge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nOiAwIDAgMCAyNXB4O1xuICAgICAgY29sb3I6ICM3Nzc3Nzc7IH1cbiAgICAuaGVhZGVyLXNlYXJjaC1jb250YWluZXIgI3VuaWJveC1zdWdnZXN0LWJveCAudW5pYm94LXNlbGVjdGFibGUge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gICAgICAuaGVhZGVyLXNlYXJjaC1jb250YWluZXIgI3VuaWJveC1zdWdnZXN0LWJveCAudW5pYm94LXNlbGVjdGFibGU6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlZWVlOyB9XG4gICAgICAgIC5oZWFkZXItc2VhcmNoLWNvbnRhaW5lciAjdW5pYm94LXN1Z2dlc3QtYm94IC51bmlib3gtc2VsZWN0YWJsZTpob3ZlciBhIHtcbiAgICAgICAgICBjb2xvcjogIzA2MDUyZjtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gICAgICAgICAgLmhlYWRlci1zZWFyY2gtY29udGFpbmVyICN1bmlib3gtc3VnZ2VzdC1ib3ggLnVuaWJveC1zZWxlY3RhYmxlOmhvdmVyIGEgc3BhbiwgLmhlYWRlci1zZWFyY2gtY29udGFpbmVyICN1bmlib3gtc3VnZ2VzdC1ib3ggLnVuaWJveC1zZWxlY3RhYmxlOmhvdmVyIGEgLnVuaWJveC1oaWdobGlnaHQge1xuICAgICAgICAgICAgY29sb3I6ICNhZTk0NjE7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gICAgICAuaGVhZGVyLXNlYXJjaC1jb250YWluZXIgI3VuaWJveC1zdWdnZXN0LWJveCAudW5pYm94LXNlbGVjdGFibGU6YWN0aXZlIGEge1xuICAgICAgICBjb2xvcjogIzc3Nzc3NzsgfVxuICAgICAgLmhlYWRlci1zZWFyY2gtY29udGFpbmVyICN1bmlib3gtc3VnZ2VzdC1ib3ggLnVuaWJveC1zZWxlY3RhYmxlIHNwYW4sIC5oZWFkZXItc2VhcmNoLWNvbnRhaW5lciAjdW5pYm94LXN1Z2dlc3QtYm94IC51bmlib3gtc2VsZWN0YWJsZSAudW5pYm94LWhpZ2hsaWdodCB7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5oZWFkZXItc2VhcmNoLWNvbnRhaW5lciAuYWMtcmVzdWx0cyB7XG4gICAgICB3aWR0aDogNzAwcHg7XG4gICAgICBtYXJnaW4tbGVmdDogLTQwcHg7IH0gfVxuICAuaGVhZGVyLXNlYXJjaC1jb250YWluZXIgLnJlc3VsdHMtY29udGVudC1jb250YWluZXIge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuaGVhZGVyLXNlYXJjaC1jb250YWluZXIgLnJlc3VsdHMtY29udGVudC1jb250YWluZXIge1xuICAgICAgICBwYWRkaW5nOiA2MnB4IDQwcHggMCA0MHB4OyB9IH1cblxuLmhlYWRlci1wcmVkaWN0aXZlLXNlYXJjaCAuYWMtcmVzdWx0cyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgLmhlYWRlci1wcmVkaWN0aXZlLXNlYXJjaCAuYWMtcmVzdWx0cyB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICAgIG1hcmdpbi10b3A6IDE1cHg7IH0gfVxuICAuaGVhZGVyLXByZWRpY3RpdmUtc2VhcmNoIC5hYy1yZXN1bHRzIGxpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuaGVhZGVyLXByZWRpY3RpdmUtc2VhcmNoIC5hYy1yZXN1bHRzIGxpOm5vdCg6Zmlyc3QtY2hpbGQpOmhvdmVyIGEuYWNfcmVzdWx0c19lbnRyeTpiZWZvcmUge1xuICAgICAgY29udGVudDogJ1xcZjBkZSc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiAtNXB4O1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICBjb2xvcjogI2FlOTQ2MTtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkyZGVnKTsgfVxuICAgIC5oZWFkZXItcHJlZGljdGl2ZS1zZWFyY2ggLmFjLXJlc3VsdHMgbGkgLm5vLXJlc3VsdHMge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW4tbGVmdDogMTVweDtcbiAgICAgIHBhZGRpbmc6IDVweCAwOyB9XG5cbi5oZWFkZXItcHJlZGljdGl2ZS1zZWFyY2ggLmhlYWRpbmcyIHtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgY29sb3I6ICMwNjA1MmY7IH1cblxuLmhlYWRlci1wcmVkaWN0aXZlLXNlYXJjaCAuaGVhZGluZzQge1xuICBtYXJnaW4tYm90dG9tOiAzcHg7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICBwYWRkaW5nOiA2cHggMTVweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzA2MDUyZjtcbiAgY29sb3I6ICNmZmZmZmY7IH1cblxuLmhlYWRlci1wcmVkaWN0aXZlLXNlYXJjaCAuYWNfcmVzdWx0c19lbnRyeSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiA1cHggMDtcbiAgbWFyZ2luLWxlZnQ6IDE1cHg7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGNvbG9yOiAjMDAwMDAwOyB9XG5cbi5oZWFkZXItY2FsbC10by1hY3Rpb24tY29udGFpbmVyIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmhlYWRlci1jYWxsLXRvLWFjdGlvbi1jb250YWluZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICBvcmRlcjogMTsgfSB9XG4gIC5oZWFkZXItY2FsbC10by1hY3Rpb24tY29udGFpbmVyIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciB7XG4gICAgaGVpZ2h0OiA1MHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmhlYWRlci1jYWxsLXRvLWFjdGlvbi1jb250YWluZXIgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyIHtcbiAgICAgICAgbWF4LXdpZHRoOiAyNTVweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuaGVhZGVyLWNhbGwtdG8tYWN0aW9uLWNvbnRhaW5lciAubm90LWxvZ2dlZC1pbi1jb250YWluZXIgYSB7XG4gICAgICAgIG1heC1oZWlnaHQ6IG5vbmU7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDUwcHg7IH0gfVxuXG4jYWN0aW9uLWJhci1jb250YWluZXIge1xuICBoZWlnaHQ6IDUwcHg7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAuaGVhZGVyLWJhc2tldC1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfSB9XG5cbi5oZWFkZXItYmFza2V0LWNvbnRhaW5lci5hY3RpdmUgLnN1bW1hcnktcmVjZW50bHktYWRkZWQge1xuICBtYXgtaGVpZ2h0OiA4MHZoO1xuICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuNnM7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5oZWFkZXItYmFza2V0LWNvbnRhaW5lci5hY3RpdmUgLnN1bW1hcnktcmVjZW50bHktYWRkZWQge1xuICAgICAgbWF4LWhlaWdodDogNTAwcHg7IH0gfVxuXG4uaGVhZGVyLWJhc2tldC1jb250YWluZXIud2FybmluZyAuYmFza2V0LWRlc2t0b3Atc3VtbWFyeSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmVmZTY7IH1cbiAgLmhlYWRlci1iYXNrZXQtY29udGFpbmVyLndhcm5pbmcgLmJhc2tldC1kZXNrdG9wLXN1bW1hcnk6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwi7qCRXCI7XG4gICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG9cIjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY1ZTA1O1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5oZWFkZXItYmFza2V0LWNvbnRhaW5lci53YXJuaW5nIC5iYXNrZXQtZGVza3RvcC1zdW1tYXJ5OmhvdmVyIC5iYXNrZXQtZGV0YWlscy1pbmZvIHtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG4gIC5oZWFkZXItYmFza2V0LWNvbnRhaW5lci53YXJuaW5nIC5iYXNrZXQtZGVza3RvcC1zdW1tYXJ5OmhvdmVyOmFmdGVyIHtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAuaGVhZGVyLWJhc2tldC1jb250YWluZXIud2FybmluZyAuYmFza2V0LWRlc2t0b3Atc3VtbWFyeTphY3RpdmUgLmJhc2tldC1kZXRhaWxzLWluZm8ge1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5oZWFkZXItYmFza2V0LWNvbnRhaW5lci53YXJuaW5nIC5iYXNrZXQtZGVza3RvcC1zdW1tYXJ5OmFjdGl2ZTphZnRlciB7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cblxuLmhlYWRlci1iYXNrZXQtY29udGFpbmVyLndhcm5pbmcgLmJhc2tldC1tb2JpbGUtc3VtbWFyeSAuYmFza2V0LWljb246YmVmb3JlIHtcbiAgY29udGVudDogXCLuoJFcIjtcbiAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG9cIjtcbiAgY29sb3I6ICNmZjVlMDU7IH1cblxuLmhlYWRlci1iYXNrZXQtY29udGFpbmVyLndhcm5pbmcgLm1vYmlsZS1zdW1tYXJ5LW1lc3NhZ2UtY29udGFpbmVyLCAuaGVhZGVyLWJhc2tldC1jb250YWluZXIud2FybmluZyAudGV4dC1ub3RpZmljYXRpb24tY29udGFpbmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZWZlNjtcbiAgY29sb3I6ICNmZjVlMDU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNmZjVlMDU7IH1cblxuLmhlYWRlci1iYXNrZXQtY29udGFpbmVyLndhcm5pbmcgLmJhc2tldC1kZXRhaWxzLWluZm8ge1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogI2ZmNWUwNTsgfVxuXG4uaGVhZGVyLWJhc2tldC1jb250YWluZXIuYWxlcnQgLmJhc2tldC1kZXNrdG9wLXN1bW1hcnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmRlMWUxOyB9XG4gIC5oZWFkZXItYmFza2V0LWNvbnRhaW5lci5hbGVydCAuYmFza2V0LWRlc2t0b3Atc3VtbWFyeTphZnRlciB7XG4gICAgY29udGVudDogXCLuoJJcIjtcbiAgICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNiMjBjMGM7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLmhlYWRlci1iYXNrZXQtY29udGFpbmVyLmFsZXJ0IC5iYXNrZXQtZGVza3RvcC1zdW1tYXJ5OmhvdmVyIC5iYXNrZXQtZGV0YWlscy1pbmZvIHtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG4gIC5oZWFkZXItYmFza2V0LWNvbnRhaW5lci5hbGVydCAuYmFza2V0LWRlc2t0b3Atc3VtbWFyeTpob3ZlcjphZnRlciB7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLmhlYWRlci1iYXNrZXQtY29udGFpbmVyLmFsZXJ0IC5iYXNrZXQtZGVza3RvcC1zdW1tYXJ5OmFjdGl2ZSAuYmFza2V0LWRldGFpbHMtaW5mbyB7XG4gICAgY29sb3I6ICNhZTk0NjE7IH1cbiAgLmhlYWRlci1iYXNrZXQtY29udGFpbmVyLmFsZXJ0IC5iYXNrZXQtZGVza3RvcC1zdW1tYXJ5OmFjdGl2ZTphZnRlciB7XG4gICAgY29sb3I6ICNhZTk0NjE7IH1cblxuLmhlYWRlci1iYXNrZXQtY29udGFpbmVyLmFsZXJ0IC5iYXNrZXQtbW9iaWxlLXN1bW1hcnkgLmJhc2tldC1pY29uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qCSXCI7XG4gIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvXCI7XG4gIGNvbG9yOiAjYjIwYzBjOyB9XG5cbi5oZWFkZXItYmFza2V0LWNvbnRhaW5lci5hbGVydCAubW9iaWxlLXN1bW1hcnktbWVzc2FnZS1jb250YWluZXIsIC5oZWFkZXItYmFza2V0LWNvbnRhaW5lci5hbGVydCAudGV4dC1ub3RpZmljYXRpb24tY29udGFpbmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZkZTFlMTtcbiAgY29sb3I6ICNiMjBjMGM7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNiMjBjMGM7IH1cblxuLmhlYWRlci1iYXNrZXQtY29udGFpbmVyLmFsZXJ0IC5iYXNrZXQtZGV0YWlscy1pbmZvIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgY29sb3I6ICNiMjBjMGM7IH1cblxuLmhlYWRlci1iYXNrZXQtY29udGFpbmVyIC5zdW1tYXJ5LXJlY2VudGx5LWFkZGVkIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC1oZWlnaHQ6IDBweDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHotaW5kZXg6IDUwMDA7XG4gIHRyYW5zaXRpb246IG1heC1oZWlnaHQgMC44czsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmhlYWRlci1iYXNrZXQtY29udGFpbmVyIC5zdW1tYXJ5LXJlY2VudGx5LWFkZGVkIHtcbiAgICAgIHdpZHRoOiA0MDBweDtcbiAgICAgIGxlZnQ6IGF1dG87IH0gfVxuICAuaGVhZGVyLWJhc2tldC1jb250YWluZXIgLnN1bW1hcnktcmVjZW50bHktYWRkZWQgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm94LXNoYWRvdzogMHB4IDJweCA0cHggMXB4IHJnYmEoMTIsIDEyLCAxMywgMC4xKTtcbiAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpO1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICMwNjA1MmY7XG4gICAgYm9yZGVyLXdpZHRoOiAwIDAgNnB4IDA7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDsgfVxuICAuaGVhZGVyLWJhc2tldC1jb250YWluZXIgLnN1bW1hcnktcmVjZW50bHktYWRkZWQgYSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmc6IDE1cHggNXB4OyB9XG4gICAgLmhlYWRlci1iYXNrZXQtY29udGFpbmVyIC5zdW1tYXJ5LXJlY2VudGx5LWFkZGVkIGE6aG92ZXIgLmJhc2tldC1pY29uOmJlZm9yZSB7XG4gICAgICBjb2xvcjogI2FlOTQ2MTtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgICAuaGVhZGVyLWJhc2tldC1jb250YWluZXIgLnN1bW1hcnktcmVjZW50bHktYWRkZWQgYTpob3ZlciAudXBkYXRlLW1lc3NhZ2Uge1xuICAgICAgY29sb3I6ICNhZTk0NjE7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gICAgLmhlYWRlci1iYXNrZXQtY29udGFpbmVyIC5zdW1tYXJ5LXJlY2VudGx5LWFkZGVkIGE6YWN0aXZlIC5iYXNrZXQtaWNvbjpiZWZvcmUge1xuICAgICAgY29sb3I6ICMwNjA1MmY7IH1cbiAgICAuaGVhZGVyLWJhc2tldC1jb250YWluZXIgLnN1bW1hcnktcmVjZW50bHktYWRkZWQgYTphY3RpdmUgLnVwZGF0ZS1tZXNzYWdlIHtcbiAgICAgIGNvbG9yOiAjMDYwNTJmOyB9XG4gICAgLmhlYWRlci1iYXNrZXQtY29udGFpbmVyIC5zdW1tYXJ5LXJlY2VudGx5LWFkZGVkIGEgLmJhc2tldC1pY29uIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgLmhlYWRlci1iYXNrZXQtY29udGFpbmVyIC5zdW1tYXJ5LXJlY2VudGx5LWFkZGVkIGEgLmJhc2tldC1pY29uOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwi74qRXCI7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgICBmb250LXNpemU6IDI2cHg7XG4gICAgICAgIGNvbG9yOiAjMDYwNTJmOyB9XG4gICAgLmhlYWRlci1iYXNrZXQtY29udGFpbmVyIC5zdW1tYXJ5LXJlY2VudGx5LWFkZGVkIGEgLnVwZGF0ZS1tZXNzYWdlIHtcbiAgICAgIHBhZGRpbmc6IDEwcHggNjBweCAwO1xuICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLmhlYWRlci1iYXNrZXQtY29udGFpbmVyIFtkYXRhLWJhc2tldC1zdW1tYXJ5LW5vdGlmaWNhdGlvbnNdIHtcbiAgICB3aWR0aDogMzAwcHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTAwJTtcbiAgICB6LWluZGV4OiAxMDsgfSB9XG5cbi5oZWFkZXItYmFza2V0LWNvbnRhaW5lciAuYmFza2V0LWRlc2t0b3Atc3VtbWFyeSB7XG4gIHdpZHRoOiAyNTVweDtcbiAgaGVpZ2h0OiA1MHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2M4YzhjODtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzLCBib3JkZXItY29sb3IgMC44cywgYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuaGVhZGVyLWJhc2tldC1jb250YWluZXIgLmJhc2tldC1kZXNrdG9wLXN1bW1hcnkge1xuICAgICAgZGlzcGxheTogZmxleDsgfSB9XG4gIC5oZWFkZXItYmFza2V0LWNvbnRhaW5lciAuYmFza2V0LWRlc2t0b3Atc3VtbWFyeTpob3ZlciB7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC42cywgYm9yZGVyLWNvbG9yIDAuNnMsIGJhY2tncm91bmQtY29sb3IgMC42czsgfVxuICAgIC5oZWFkZXItYmFza2V0LWNvbnRhaW5lciAuYmFza2V0LWRlc2t0b3Atc3VtbWFyeTpob3ZlcjphZnRlciB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC42cztcbiAgICAgIHotaW5kZXg6IDI7IH1cbiAgICAuaGVhZGVyLWJhc2tldC1jb250YWluZXIgLmJhc2tldC1kZXNrdG9wLXN1bW1hcnk6aG92ZXIgLmJhc2tldC1kZXRhaWxzLWluZm8ge1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBmb250LXdlaWdodDogNjAwOyB9XG4gIC5oZWFkZXItYmFza2V0LWNvbnRhaW5lciAuYmFza2V0LWRlc2t0b3Atc3VtbWFyeTphY3RpdmUgLmJhc2tldC1kZXRhaWxzLWluZm8ge1xuICAgIGNvbG9yOiAjYWU5NDYxOyB9XG4gIC5oZWFkZXItYmFza2V0LWNvbnRhaW5lciAuYmFza2V0LWRlc2t0b3Atc3VtbWFyeTphY3RpdmU6YWZ0ZXIge1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5oZWFkZXItYmFza2V0LWNvbnRhaW5lciAuYmFza2V0LWRlc2t0b3Atc3VtbWFyeTphZnRlciB7XG4gICAgY29udGVudDogXCLvipFcIjtcbiAgICB3aWR0aDogNzJweDtcbiAgICBoZWlnaHQ6IDQ4cHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiA5cHggMjNweDtcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICBmb250LXNpemU6IDIycHg7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNhZTk0NjE7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuOHM7IH1cblxuLmhlYWRlci1iYXNrZXQtY29udGFpbmVyIC5iYXNrZXQtZGV0YWlscyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG1hcmdpbjogMDtcbiAgei1pbmRleDogMTA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5oZWFkZXItYmFza2V0LWNvbnRhaW5lciAuYmFza2V0LWRldGFpbHMge1xuICAgICAgd2lkdGg6IDE4NXB4OyB9IH1cbiAgLmhlYWRlci1iYXNrZXQtY29udGFpbmVyIC5iYXNrZXQtZGV0YWlsczpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHdpZHRoOiAxLjVweDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogNzBweDtcbiAgICBib3R0b206IDA7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgdHJhbnNpdGlvbjogaGVpZ2h0IDAuOHM7IH1cblxuLmhlYWRlci1iYXNrZXQtY29udGFpbmVyIC5iYXNrZXQtZGV0YWlscy1pbmZvIHtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgLmhlYWRlci1iYXNrZXQtY29udGFpbmVyIC5iYXNrZXQtZGV0YWlscy1pbmZvLmJhc2tldC1kZXRhaWxzLXF1YW50aXR5IHNwYW4ge1xuICAgIG1hcmdpbi1yaWdodDogNXB4OyB9XG4gIC5oZWFkZXItYmFza2V0LWNvbnRhaW5lciAuYmFza2V0LWRldGFpbHMtaW5mby5iYXNrZXQtZGV0YWlscy1wcmljZSB7XG4gICAgbWFyZ2luLWxlZnQ6IDIwcHg7IH1cblxuLmhlYWRlci1iYXNrZXQtY29udGFpbmVyIC5iYXNrZXQtbW9iaWxlLXN1bW1hcnkge1xuICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuaGVhZGVyLWJhc2tldC1jb250YWluZXIgLmJhc2tldC1tb2JpbGUtc3VtbWFyeSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgLmhlYWRlci1iYXNrZXQtY29udGFpbmVyIC5iYXNrZXQtbW9iaWxlLXN1bW1hcnkgLmJhc2tldC1pY29uIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgLmhlYWRlci1iYXNrZXQtY29udGFpbmVyIC5iYXNrZXQtbW9iaWxlLXN1bW1hcnkgLmJhc2tldC1pY29uOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+KkVwiO1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICBmb250LXNpemU6IDQwcHg7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIGNvbG9yOiAjMDYwNTJmOyB9XG4gIC5oZWFkZXItYmFza2V0LWNvbnRhaW5lciAuYmFza2V0LW1vYmlsZS1zdW1tYXJ5IC5zdW1tYXJ5LW9yZGVyLXRvdGFsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIGZvbnQtc2l6ZTogMS4zNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgY29sb3I6ICMwNjA1MmY7IH1cbiAgLmhlYWRlci1iYXNrZXQtY29udGFpbmVyIC5iYXNrZXQtbW9iaWxlLXN1bW1hcnkgLnN1bW1hcnktcXVhbnRpdHkge1xuICAgIG1hcmdpbjogMjBweCAwIDI1cHg7XG4gICAgcGFkZGluZzogMDtcbiAgICBmb250LXNpemU6IDEuMDYyNXJlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAuaGVhZGVyLWJhc2tldC1jb250YWluZXIgLmJhc2tldC1tb2JpbGUtc3VtbWFyeSAuc3VtbWFyeS1xdWFudGl0eSBzcGFuIHtcbiAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgY29sb3I6ICMwNjA1MmY7XG4gICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gIC5oZWFkZXItYmFza2V0LWNvbnRhaW5lciAuYmFza2V0LW1vYmlsZS1zdW1tYXJ5IC5hY3Rpb24tYnV0dG9uIHtcbiAgICBtYXJnaW46IDA7IH1cbiAgLmhlYWRlci1iYXNrZXQtY29udGFpbmVyIC5iYXNrZXQtbW9iaWxlLXN1bW1hcnkgLm1vYmlsZS1zdW1tYXJ5LW1lc3NhZ2UtY29udGFpbmVyLCAuaGVhZGVyLWJhc2tldC1jb250YWluZXIgLmJhc2tldC1tb2JpbGUtc3VtbWFyeSAudGV4dC1ub3RpZmljYXRpb24tY29udGFpbmVyIHtcbiAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uc3VtbWFyeTpob3ZlciAudGV4dENvbnRhaW5lcjpiZWZvcmUge1xuICBjb250ZW50OiAnJztcbiAgaGVpZ2h0OiA4NSU7XG4gIHRyYW5zaXRpb246IGhlaWdodCAwLjZzOyB9XG5cbi5zdW1tYXJ5OmhvdmVyIC50ZXh0Q29udGFpbmVyICNiYXNrZXRRdWFudGl0eSwgLnN1bW1hcnk6aG92ZXIgLnRleHRDb250YWluZXIgI2Jhc2tldFByZXZpZXdQcmljZSB7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBmb250LXdlaWdodDogNjAwOyB9XG5cbi5zdW1tYXJ5OmFmdGVyIHtcbiAgdHJhbnNpdGlvbjogYWxsIDAuOHM7IH1cblxuLnN1bW1hcnkgI2Jhc2tldFByZXZpZXdQcmljZSB7XG4gIG1hcmdpbi1sZWZ0OiAyMHB4OyB9XG5cbiNiYXNrZXRTdW1tYXJ5Q29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgI2Jhc2tldFN1bW1hcnlDb250YWluZXIge1xuICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH0gfVxuICAjYmFza2V0U3VtbWFyeUNvbnRhaW5lci53YXJuaW5nIC5zdW1tYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZlZmU2OyB9XG4gICAgI2Jhc2tldFN1bW1hcnlDb250YWluZXIud2FybmluZyAuc3VtbWFyeTphZnRlciB7XG4gICAgICBjb250ZW50OiBcIu6gkVwiO1xuICAgICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG9cIjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjVlMDU7IH1cbiAgI2Jhc2tldFN1bW1hcnlDb250YWluZXIud2FybmluZyAjYmFza2V0UHJldmlldyAuYmFza2V0UHJldmlld0hlYWRpbmc6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwi7qCRXCI7XG4gICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG9cIjtcbiAgICBjb2xvcjogI2ZmNWUwNTsgfVxuICAjYmFza2V0U3VtbWFyeUNvbnRhaW5lci53YXJuaW5nIC5tb2JpbGUtc3VtbWFyeS1tZXNzYWdlLWNvbnRhaW5lciwgI2Jhc2tldFN1bW1hcnlDb250YWluZXIud2FybmluZyAudGV4dC1ub3RpZmljYXRpb24tY29udGFpbmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZlZmU2O1xuICAgIGNvbG9yOiAjZmY1ZTA1O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZjVlMDU7IH1cbiAgI2Jhc2tldFN1bW1hcnlDb250YWluZXIud2FybmluZyAuc3VtbWFyeS1tZXNzYWdlLWNvbnRhaW5lciB7XG4gICAgYm9yZGVyLWNvbG9yOiAjZmY1ZTA1OyB9XG4gICAgI2Jhc2tldFN1bW1hcnlDb250YWluZXIud2FybmluZyAuc3VtbWFyeS1tZXNzYWdlLWNvbnRhaW5lcjpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIGJvcmRlci13aWR0aDogOHB4O1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjZmY1ZTA1O1xuICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgIG1hcmdpbi10b3A6IC04cHg7XG4gICAgICBtYXJnaW4tbGVmdDogLThweDsgfVxuICAgICNiYXNrZXRTdW1tYXJ5Q29udGFpbmVyLndhcm5pbmcgLnN1bW1hcnktbWVzc2FnZS1jb250YWluZXI6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIGJvcmRlci13aWR0aDogNnB4O1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjZmZlZmU2O1xuICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgIG1hcmdpbi10b3A6IC01cHg7XG4gICAgICBtYXJnaW4tbGVmdDogLTZweDsgfVxuICAgICNiYXNrZXRTdW1tYXJ5Q29udGFpbmVyLndhcm5pbmcgLnN1bW1hcnktbWVzc2FnZS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmVmZTY7IH1cbiAgICAgICNiYXNrZXRTdW1tYXJ5Q29udGFpbmVyLndhcm5pbmcgLnN1bW1hcnktbWVzc2FnZS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwi74GxXCI7XG4gICAgICAgIGNvbG9yOiAjZmY1ZTA1OyB9XG4gICAgI2Jhc2tldFN1bW1hcnlDb250YWluZXIud2FybmluZyAuc3VtbWFyeS1tZXNzYWdlLWNvbnRhaW5lciBwIHtcbiAgICAgIGNvbG9yOiAjZmY1ZTA1OyB9XG4gICNiYXNrZXRTdW1tYXJ5Q29udGFpbmVyLndhcm5pbmcgI2Jhc2tldFF1YW50aXR5LCAjYmFza2V0U3VtbWFyeUNvbnRhaW5lci53YXJuaW5nICNiYXNrZXRQcmV2aWV3UHJpY2Uge1xuICAgIGNvbG9yOiAjZmY1ZTA1OyB9XG4gICNiYXNrZXRTdW1tYXJ5Q29udGFpbmVyLmFsZXJ0IC5zdW1tYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmRlMWUxOyB9XG4gICAgI2Jhc2tldFN1bW1hcnlDb250YWluZXIuYWxlcnQgLnN1bW1hcnk6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCLuoJJcIjtcbiAgICAgIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvXCI7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjIwYzBjOyB9XG4gICNiYXNrZXRTdW1tYXJ5Q29udGFpbmVyLmFsZXJ0ICNiYXNrZXRQcmV2aWV3IC5iYXNrZXRQcmV2aWV3SGVhZGluZzphZnRlciB7XG4gICAgY29udGVudDogXCLuoJJcIjtcbiAgICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiO1xuICAgIGNvbG9yOiAjYjIwYzBjOyB9XG4gICNiYXNrZXRTdW1tYXJ5Q29udGFpbmVyLmFsZXJ0IC5tb2JpbGUtc3VtbWFyeS1tZXNzYWdlLWNvbnRhaW5lciwgI2Jhc2tldFN1bW1hcnlDb250YWluZXIuYWxlcnQgLnRleHQtbm90aWZpY2F0aW9uLWNvbnRhaW5lciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZkZTFlMTtcbiAgICBjb2xvcjogI2IyMGMwYztcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYjIwYzBjOyB9XG4gICNiYXNrZXRTdW1tYXJ5Q29udGFpbmVyLmFsZXJ0IC5zdW1tYXJ5LW1lc3NhZ2UtY29udGFpbmVyIHtcbiAgICBib3JkZXItY29sb3I6ICNiMjBjMGM7IH1cbiAgICAjYmFza2V0U3VtbWFyeUNvbnRhaW5lci5hbGVydCAuc3VtbWFyeS1tZXNzYWdlLWNvbnRhaW5lcjpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIGJvcmRlci13aWR0aDogOHB4O1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjYjIwYzBjO1xuICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgIG1hcmdpbi10b3A6IC04cHg7XG4gICAgICBtYXJnaW4tbGVmdDogLThweDsgfVxuICAgICNiYXNrZXRTdW1tYXJ5Q29udGFpbmVyLmFsZXJ0IC5zdW1tYXJ5LW1lc3NhZ2UtY29udGFpbmVyOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgd2lkdGg6IDA7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICBib3JkZXItd2lkdGg6IDZweDtcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2ZkZTFlMTtcbiAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgICBtYXJnaW4tdG9wOiAtNXB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IC02cHg7IH1cbiAgICAjYmFza2V0U3VtbWFyeUNvbnRhaW5lci5hbGVydCAuc3VtbWFyeS1tZXNzYWdlLWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZkZTFlMTsgfVxuICAgICAgI2Jhc2tldFN1bW1hcnlDb250YWluZXIuYWxlcnQgLnN1bW1hcnktbWVzc2FnZS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwi74GqXCI7XG4gICAgICAgIGNvbG9yOiAjYjIwYzBjOyB9XG4gICAgI2Jhc2tldFN1bW1hcnlDb250YWluZXIuYWxlcnQgLnN1bW1hcnktbWVzc2FnZS1jb250YWluZXIgcCB7XG4gICAgICBjb2xvcjogI2IyMGMwYzsgfVxuICAjYmFza2V0U3VtbWFyeUNvbnRhaW5lci5hbGVydCAjYmFza2V0UXVhbnRpdHksICNiYXNrZXRTdW1tYXJ5Q29udGFpbmVyLmFsZXJ0ICNiYXNrZXRQcmV2aWV3UHJpY2Uge1xuICAgIGNvbG9yOiAjYjIwYzBjOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgI2Jhc2tldFN1bW1hcnlDb250YWluZXIgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAjYmFza2V0U3VtbWFyeUNvbnRhaW5lciAubW9iaWxlLXN1bW1hcnktbWVzc2FnZS1jb250YWluZXIsICNiYXNrZXRTdW1tYXJ5Q29udGFpbmVyIC50ZXh0LW5vdGlmaWNhdGlvbi1jb250YWluZXIge1xuICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgcGFkZGluZzogMjBweDtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAjYmFza2V0U3VtbWFyeUNvbnRhaW5lci5hY3RpdmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXgtaGVpZ2h0OiAzNzBweDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDsgfVxuICAgICAgI2Jhc2tldFN1bW1hcnlDb250YWluZXIuYWN0aXZlICNiYXNrZXRQcmV2aWV3IHtcbiAgICAgICAgbWF4LWhlaWdodDogNTcwcHg7XG4gICAgICAgIHBhZGRpbmc6IDI1cHggMTBweCA2MHB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNTBweDtcbiAgICAgICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzA2MDUyZjtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDAgNnB4IDA7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC42cztcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgei1pbmRleDogNTAwMDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAjYmFza2V0U3VtbWFyeUNvbnRhaW5lci5hY3RpdmUgI2Jhc2tldFByZXZpZXcge1xuICAgICAgbWF4LWhlaWdodDogNDYwcHg7XG4gICAgICBwYWRkaW5nOiAyMHB4IDMwcHggMzBweDtcbiAgICAgIGJveC1zaGFkb3c6IDBweCAycHggNHB4IDFweCByZ2JhKDEyLCAxMiwgMTMsIDAuMSk7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNTBweDtcbiAgICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjMDYwNTJmO1xuICAgICAgYm9yZGVyLXdpZHRoOiAwIDAgNnB4IDA7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjZzO1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHotaW5kZXg6IDUwMDA7IH0gfVxuICAjYmFza2V0U3VtbWFyeUNvbnRhaW5lciAjcmVjZW50bHlBZGRlZCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAgICNiYXNrZXRTdW1tYXJ5Q29udGFpbmVyICNyZWNlbnRseUFkZGVkIGgzIHtcbiAgICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgICBwYWRkaW5nOiAxMHB4IDYwcHggMDtcbiAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICNiYXNrZXRTdW1tYXJ5Q29udGFpbmVyLnVwZGF0ZS5hY3RpdmUgI2Jhc2tldFByZXZpZXcge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICNiYXNrZXRTdW1tYXJ5Q29udGFpbmVyIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciB7XG4gICAgICB3aWR0aDogMjU1cHg7XG4gICAgICBoZWlnaHQ6IDUwcHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIG1hcmdpbjogYXV0bzsgfVxuICAgICAgI2Jhc2tldFN1bW1hcnlDb250YWluZXIgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyIGEge1xuICAgICAgICBtYXgtaGVpZ2h0OiA1MHB4OyB9IH1cbiAgI2Jhc2tldFN1bW1hcnlDb250YWluZXIgLmJ1YmJsZS1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAjYmFza2V0U3VtbWFyeUNvbnRhaW5lciAuYnViYmxlLWNvbnRhaW5lciB7XG4gICAgICAgIHdpZHRoOiAyNTVweDtcbiAgICAgICAgbWF4LWhlaWdodDogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDEwMHB4O1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgZGlzcGxheTogaW5oZXJpdDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjhzOyB9IH1cbiAgICAjYmFza2V0U3VtbWFyeUNvbnRhaW5lciAuYnViYmxlLWNvbnRhaW5lci5hY3RpdmUge1xuICAgICAgbWF4LWhlaWdodDogMzAwcHg7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuNnM7IH1cbiAgI2Jhc2tldFN1bW1hcnlDb250YWluZXIgLnN1bW1hcnktbWVzc2FnZS1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBpbmhlcml0O1xuICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXItd2lkdGg6IDJweDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogIzA2MDUyZjsgfVxuICAgICNiYXNrZXRTdW1tYXJ5Q29udGFpbmVyIC5zdW1tYXJ5LW1lc3NhZ2UtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nOiAxNHB4IDIwcHg7IH1cbiAgICAgICNiYXNrZXRTdW1tYXJ5Q29udGFpbmVyIC5zdW1tYXJ5LW1lc3NhZ2UtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lcjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIu+AjFwiO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGNvbG9yOiAjMDYwNTJmOyB9XG4gICAgI2Jhc2tldFN1bW1hcnlDb250YWluZXIgLnN1bW1hcnktbWVzc2FnZS1jb250YWluZXIgcCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGNvbG9yOiAjMDYwNTJmOyB9XG5cbi5oZWFkZXItd2VsY29tZS10ZXh0LWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG9yZGVyOiAyOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuaGVhZGVyLXdlbGNvbWUtdGV4dC1jb250YWluZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZmxleC1iYXNpczogNjJweDsgfSB9XG4gIC5oZWFkZXItd2VsY29tZS10ZXh0LWNvbnRhaW5lciAudGV4dC1jb250YWluZXIge1xuICAgIG1hcmdpbjogMDtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAgIC5oZWFkZXItd2VsY29tZS10ZXh0LWNvbnRhaW5lciAudGV4dC1jb250YWluZXIgcCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkdpYnNvblwiLCBcIkdpYnNvbiBGYWxsYmFja1wiLCBcIkFyaWFsXCI7XG4gICAgICBjb2xvcjogIzg4ODg4ODsgfVxuICAuaGVhZGVyLXdlbGNvbWUtdGV4dC1jb250YWluZXIgKyAjYWN0aW9uLWJhci1jb250YWluZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIG9yZGVyOiAxOyB9XG4gIC5oZWFkZXItd2VsY29tZS10ZXh0LWNvbnRhaW5lciArIC5oZWFkZXItY2FsbC10by1hY3Rpb24tY29udGFpbmVyIHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7IH1cblxuLmhlYWRlci1tZW51cy1vdXRlci1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuaGVhZGVyLW1lbnVzLW91dGVyLWNvbnRhaW5lciB7XG4gICAgICBtYXgtaGVpZ2h0OiBub25lO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwNjA1MmY7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5oZWFkZXItbWVudXMtb3V0ZXItY29udGFpbmVyLmFjdGl2ZSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB6LWluZGV4OiAxOyB9IH1cbiAgLmhlYWRlci1tZW51cy1vdXRlci1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyID4gdWwgPiBsaSA+IGEge1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICBmb250LXdlaWdodDogNDAwOyB9XG4gIC5oZWFkZXItbWVudXMtb3V0ZXItY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciA+IHVsID4gbGkgPiB1bCA+IGxpID4gYSB7XG4gICAgZm9udC1zaXplOiAxLjA2MjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAuaGVhZGVyLW1lbnVzLW91dGVyLWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgPiB1bCA+IGxpID4gdWwgPiBsaSB1bCA+ID4gbGkgYSB7XG4gICAgZm9udC1zaXplOiAxLjA2MjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uaGVhZGVyLW1lbnVzLWlubmVyLWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5oZWFkZXItbWVudXMtaW5uZXItY29udGFpbmVyIHtcbiAgICAgIG1heC13aWR0aDogMTMwMHB4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIG1hcmdpbjogYXV0bzsgfSB9XG4gIC5oZWFkZXItbWVudXMtaW5uZXItY29udGFpbmVyIHVsLmFjY29yZGlvbi1tZW51ID4gbGk6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwNjA1MmY7IH1cbiAgICAuaGVhZGVyLW1lbnVzLWlubmVyLWNvbnRhaW5lciB1bC5hY2NvcmRpb24tbWVudSA+IGxpOmhvdmVyID4gYSB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAuaGVhZGVyLW1lbnVzLWlubmVyLWNvbnRhaW5lciB1bC5hY2NvcmRpb24tbWVudSA+IGxpID4gYSB7XG4gICAgY29sb3I6ICMwNjA1MmY7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gIC5oZWFkZXItbWVudXMtaW5uZXItY29udGFpbmVyIHVsLmFjY29yZGlvbi1tZW51ID4gbGkgPiB1bCB7XG4gICAgcGFkZGluZzogMCAwIDE3LjVweDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgICAuaGVhZGVyLW1lbnVzLWlubmVyLWNvbnRhaW5lciB1bC5hY2NvcmRpb24tbWVudSA+IGxpID4gdWwgPiBsaTpub3QoLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCkgPiBhIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAzNnB4OyB9IH1cbiAgICAuaGVhZGVyLW1lbnVzLWlubmVyLWNvbnRhaW5lciB1bC5hY2NvcmRpb24tbWVudSA+IGxpID4gdWwgPiBsaS5pcy1hY3RpdmUuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOmFmdGVyLCAuaGVhZGVyLW1lbnVzLWlubmVyLWNvbnRhaW5lciB1bC5hY2NvcmRpb24tbWVudSA+IGxpID4gdWwgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7IH1cbiAgICAuaGVhZGVyLW1lbnVzLWlubmVyLWNvbnRhaW5lciB1bC5hY2NvcmRpb24tbWVudSA+IGxpID4gdWwgPiBsaSA+IHVsID4gbGkgPiBhIHtcbiAgICAgIGNvbG9yOiAjNzc3Nzc3O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIHBhZGRpbmc6IDVweCA1cHggNXB4IDE2cHg7XG4gICAgICBmb250LXNpemU6IDEuMDYyNXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgICAgIC5oZWFkZXItbWVudXMtaW5uZXItY29udGFpbmVyIHVsLmFjY29yZGlvbi1tZW51ID4gbGkgPiB1bCA+IGxpID4gdWwgPiBsaSA+IGE6aG92ZXIsIC5oZWFkZXItbWVudXMtaW5uZXItY29udGFpbmVyIHVsLmFjY29yZGlvbi1tZW51ID4gbGkgPiB1bCA+IGxpID4gdWwgPiBsaSA+IGE6aG92ZXI6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICNhZTk0NjE7IH1cbiAgICAgIC5oZWFkZXItbWVudXMtaW5uZXItY29udGFpbmVyIHVsLmFjY29yZGlvbi1tZW51ID4gbGkgPiB1bCA+IGxpID4gdWwgPiBsaSA+IGE6YWN0aXZlLCAuaGVhZGVyLW1lbnVzLWlubmVyLWNvbnRhaW5lciB1bC5hY2NvcmRpb24tbWVudSA+IGxpID4gdWwgPiBsaSA+IHVsID4gbGkgPiBhOmFjdGl2ZTpiZWZvcmUge1xuICAgICAgICBjb2xvcjogIzA2MDUyZjsgfVxuICAuaGVhZGVyLW1lbnVzLWlubmVyLWNvbnRhaW5lciB1bC5tZW51Lm1lZ2EtbWVudSA+IGxpLCAuaGVhZGVyLW1lbnVzLWlubmVyLWNvbnRhaW5lciB1bC5tZW51LmRyb3Bkb3duID4gbGkge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuaGVhZGVyLW1lbnVzLWlubmVyLWNvbnRhaW5lciB1bC5tZW51Lm1lZ2EtbWVudSA+IGxpLCAuaGVhZGVyLW1lbnVzLWlubmVyLWNvbnRhaW5lciB1bC5tZW51LmRyb3Bkb3duID4gbGkge1xuICAgICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuaGVhZGVyLW1lbnVzLWlubmVyLWNvbnRhaW5lciB1bC5tZW51Lm1lZ2EtbWVudSA+IGxpLmhvbWUtYnV0dG9uIGEsIC5oZWFkZXItbWVudXMtaW5uZXItY29udGFpbmVyIHVsLm1lbnUuZHJvcGRvd24gPiBsaS5ob21lLWJ1dHRvbiBhIHtcbiAgICAgICAgcGFkZGluZzogMTJweCAxNXB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5oZWFkZXItbWVudXMtaW5uZXItY29udGFpbmVyIHVsLm1lbnUubWVnYS1tZW51IC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCwgLmhlYWRlci1tZW51cy1pbm5lci1jb250YWluZXIgdWwubWVudS5kcm9wZG93biAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xuICAgICAgcG9zaXRpb246IHN0YXRpYzsgfSB9XG5cbi5oZWFkZXItbWVudS1sZWZ0LWNvbnRhaW5lciB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAuaGVhZGVyLW1lbnUtbGVmdC1jb250YWluZXIgKyAuaGVhZGVyLW1lbnUtcmlnaHQtY29udGFpbmVyIHtcbiAgICBmbGV4LWdyb3c6IDE7IH1cblxuLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciwgLmhlYWRlci1tZW51LWxlZnQtY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5oZWFkZXItbWVudS1yaWdodC1jb250YWluZXIge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH0gfVxuXG4uaGVhZGVyLXRvZ2dsZS1iYXItY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgZ2FwOiAwIDEyLjVweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmhlYWRlci10b2dnbGUtYmFyLWNvbnRhaW5lciB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgIC5oZWFkZXItdG9nZ2xlLWJhci1jb250YWluZXIudG9nZ2xlLWJhci1pbmFjdGl2ZS1tb2JpbGUge1xuICAgICAgZ2FwOiAwOyB9IH1cbiAgLmhlYWRlci10b2dnbGUtYmFyLWNvbnRhaW5lciAuaGVhZGVyLXRvZ2dsZS1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAuaGVhZGVyLXRvZ2dsZS1iYXItY29udGFpbmVyIC5oZWFkZXItdG9nZ2xlLWNvbnRhaW5lci5hbGlnbi1pdGVtcy1wYXJlbnQge1xuICAgICAgcG9zaXRpb246IHN0YXRpYzsgfVxuICAuaGVhZGVyLXRvZ2dsZS1iYXItY29udGFpbmVyIC50b2dnbGUtYnV0dG9uLWNvbnRhaW5lciAudG9nZ2xlLWJ1dHRvbiB7XG4gICAgbWluLWhlaWdodDogMzVweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIHBhZGRpbmc6IDMuNXB4IDcuNzVweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICAgIC5oZWFkZXItdG9nZ2xlLWJhci1jb250YWluZXIgLnRvZ2dsZS1idXR0b24tY29udGFpbmVyIC50b2dnbGUtYnV0dG9uOmJlZm9yZSB7XG4gICAgICBjb2xvcjogIzA2MDUyZjtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgICAuaGVhZGVyLXRvZ2dsZS1iYXItY29udGFpbmVyIC50b2dnbGUtYnV0dG9uLWNvbnRhaW5lciAudG9nZ2xlLWJ1dHRvbjpob3ZlcjpiZWZvcmUge1xuICAgICAgY29sb3I6ICNhZTk0NjE7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gICAgLmhlYWRlci10b2dnbGUtYmFyLWNvbnRhaW5lciAudG9nZ2xlLWJ1dHRvbi1jb250YWluZXIgLnRvZ2dsZS1idXR0b246YWN0aXZlOmJlZm9yZSB7XG4gICAgICBjb2xvcjogIzA2MDUyZjsgfVxuICAuaGVhZGVyLXRvZ2dsZS1iYXItY29udGFpbmVyIC50b2dnbGUtYnV0dG9uLWNvbnRhaW5lci5zZWFyY2ggLnRvZ2dsZS1idXR0b246YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu+AglwiO1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiOyB9XG4gIC5oZWFkZXItdG9nZ2xlLWJhci1jb250YWluZXIgLnRvZ2dsZS1idXR0b24tY29udGFpbmVyLmFjdGlvbi1iYXIgLnRvZ2dsZS1idXR0b246YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu+KkVwiO1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiOyB9XG4gIC5oZWFkZXItdG9nZ2xlLWJhci1jb250YWluZXIgLnRvZ2dsZS1idXR0b24tY29udGFpbmVyLmFjdGlvbi1iYXIgLnRvZ2dsZS1idXR0b24gLmJhc2tldC1pdGVtLWNvdW50IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAycHg7XG4gICAgbGVmdDogMjZweDtcbiAgICBwYWRkaW5nOiAycHggNC41cHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U1YjcwMTtcbiAgICBjb2xvcjogIzA2MDUyZjtcbiAgICBmb250LXNpemU6IDAuNjg3NXJlbTtcbiAgICBmb250LWZhbWlseTogXCJHaWJzb25cIiwgXCJHaWJzb24gRmFsbGJhY2tcIiwgXCJBcmlhbFwiO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjZTViNzAxO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHMsIGJvcmRlci1jb2xvciAwLjhzLCAwLjhzOyB9XG4gIC5oZWFkZXItdG9nZ2xlLWJhci1jb250YWluZXIgLnRvZ2dsZS1idXR0b24tY29udGFpbmVyLmFjdGlvbi1iYXIgLnRvZ2dsZS1idXR0b246aG92ZXIgLmJhc2tldC1pdGVtLWNvdW50IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJvcmRlci1jb2xvcjogI2FlOTQ2MTtcbiAgICBjb2xvcjogIzAwMDAwMDtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzLCAwLjZzLCBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH1cbiAgLmhlYWRlci10b2dnbGUtYmFyLWNvbnRhaW5lciAudG9nZ2xlLWJ1dHRvbi1jb250YWluZXIuYWN0aW9uLWJhciAudG9nZ2xlLWJ1dHRvbjphY3RpdmUgLmJhc2tldC1pdGVtLWNvdW50IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDYwNTJmO1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGJvcmRlci1jb2xvcjogIzA2MDUyZjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmhlYWRlci10b2dnbGUtYmFyLWNvbnRhaW5lciAudG9nZ2xlLWNvbnRlbnQtY29udGFpbmVyLnNlYXJjaCB7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmhlYWRlci10b2dnbGUtYmFyLWNvbnRhaW5lciAudG9nZ2xlLWNvbnRlbnQtY29udGFpbmVyLnNlYXJjaC5hY3RpdmUge1xuICAgICAgd2lkdGg6IDQ5MHB4O1xuICAgICAgcmlnaHQ6IC0xMnB4O1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7IH0gfVxuICAuaGVhZGVyLXRvZ2dsZS1iYXItY29udGFpbmVyIC50b2dnbGUtY29udGVudC1jb250YWluZXIuYWNjb3VudC1tZW51IHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmhlYWRlci10b2dnbGUtYmFyLWNvbnRhaW5lciAudG9nZ2xlLWNvbnRlbnQtY29udGFpbmVyLmFjY291bnQtbWVudSB7XG4gICAgICAgIHdpZHRoOiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogY2FsYygxMDAlICsgMTBweCk7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmhlYWRlci10b2dnbGUtYmFyLWNvbnRhaW5lciAudG9nZ2xlLWNvbnRlbnQtY29udGFpbmVyLmFjY291bnQtbWVudS5hY3RpdmUge1xuICAgICAgICB3aWR0aDogNTUwcHg7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBwYWRkaW5nOiAyMHB4O1xuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmhlYWRlci10b2dnbGUtYmFyLWNvbnRhaW5lciAudG9nZ2xlLWNvbnRlbnQtY29udGFpbmVyLmFjY291bnQtbWVudSAuYWNjb3VudC1tZW51IHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5oZWFkZXItdG9nZ2xlLWJhci1jb250YWluZXIgLnRvZ2dsZS1jb250ZW50LWNvbnRhaW5lci5hY3Rpb24tYmFyIHtcbiAgICAgIHdpZHRoOiAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IC0xNnB4O1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuaGVhZGVyLXRvZ2dsZS1iYXItY29udGFpbmVyIC50b2dnbGUtY29udGVudC1jb250YWluZXIuYWN0aW9uLWJhci5hY3RpdmUge1xuICAgICAgd2lkdGg6IDI1MHB4O1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7IH1cbiAgICAgIC5oZWFkZXItdG9nZ2xlLWJhci1jb250YWluZXIgLnRvZ2dsZS1jb250ZW50LWNvbnRhaW5lci5hY3Rpb24tYmFyLmFjdGl2ZSAuYmFza2V0LWRlc2t0b3Atc3VtbWFyeTphZnRlciB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9IH1cblxuLmhlYWRlci1hY2NvdW50LWJ1dHRvbiB7XG4gIG1pbi1oZWlnaHQ6IDM1cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMCAxMHB4O1xuICBwYWRkaW5nOiAzLjVweCA3Ljc1cHg7XG4gIGNvbG9yOiAjMDYwNTJmO1xuICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC44cywgYmFja2dyb3VuZC1jb2xvciAwLjhzLCBjb2xvciAwLjhzOyB9XG4gIC5oZWFkZXItYWNjb3VudC1idXR0b24ubG9nZ2VkLWluIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYzhjOGM4OyB9XG4gIC5oZWFkZXItYWNjb3VudC1idXR0b246aG92ZXIge1xuICAgIGNvbG9yOiAjZGFkYWRhO1xuICAgIGJvcmRlci1jb2xvcjogIzA2MDUyZjtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC42cywgYmFja2dyb3VuZC1jb2xvciAwLjZzLCBjb2xvciAwLjZzOyB9XG4gICAgLmhlYWRlci1hY2NvdW50LWJ1dHRvbjpob3ZlcjpiZWZvcmUge1xuICAgICAgY29sb3I6ICNhZTk0NjE7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzLCBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH1cbiAgLmhlYWRlci1hY2NvdW50LWJ1dHRvbjphY3RpdmUge1xuICAgIGNvbG9yOiAjZWVlZWVlO1xuICAgIGJvcmRlci1jb2xvcjogIzA2MDUyZjsgfVxuICAgIC5oZWFkZXItYWNjb3VudC1idXR0b246YWN0aXZlOmJlZm9yZSB7XG4gICAgICBjb2xvcjogIzA2MDUyZjsgfVxuICAuaGVhZGVyLWFjY291bnQtYnV0dG9uOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLvgIdcIjtcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgY29sb3I6ICMwNjA1MmY7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzLCBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cblxuLmFjY291bnQtbWVudSBhIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogMTBweDtcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAuYWNjb3VudC1tZW51IGE6aG92ZXIge1xuICAgIGNvbG9yOiAjMDYwNTJmO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjhzOyB9XG5cbi51c3AtYmFyLCAuaGVhZGVyLXVzcC1iYXIge1xuICBwYWRkaW5nOiA1cHggMCA3LjVweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLnVzcC1iYXIsIC5oZWFkZXItdXNwLWJhciB7XG4gICAgICBwYWRkaW5nOiAxNXB4IDAgMTBweDsgfSB9XG5cbi51c3AtY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZWVlZWU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC51c3AtY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmc6IDAgMTBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMGVtKSB7XG4gICAgLnVzcC1jb250YWluZXIge1xuICAgICAgcGFkZGluZzogMDsgfSB9XG4gIC51c3AtY29udGFpbmVyIC51c3AtYmFubmVyLCAudXNwLWNvbnRhaW5lciAuY29sbGVjdGlvbi1pdGVtIHtcbiAgICAtLW1lZGlhLWFzcGVjdC1yYXRpbzogdmFyKC0tbWVkaWEtd2lkdGgsIGF1dG8pL3ZhcigtLW1lZGlhLWhlaWdodCwgYXV0byk7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnVzcC1jb250YWluZXIgLnVzcC1iYW5uZXIsIC51c3AtY29udGFpbmVyIC5jb2xsZWN0aW9uLWl0ZW0ge1xuICAgICAgICBmbGV4LWdyb3c6IDE7IH0gfVxuICAgIC51c3AtY29udGFpbmVyIC51c3AtYmFubmVyIGEsIC51c3AtY29udGFpbmVyIC51c3AtYmFubmVyIHAsIC51c3AtY29udGFpbmVyIC5jb2xsZWN0aW9uLWl0ZW0gYSwgLnVzcC1jb250YWluZXIgLmNvbGxlY3Rpb24taXRlbSBwIHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBmbGV4LWdyb3c6IDE7IH1cbiAgICAudXNwLWNvbnRhaW5lciAudXNwLWJhbm5lciBhLCAudXNwLWNvbnRhaW5lciAudXNwLWJhbm5lciA+IHAsIC51c3AtY29udGFpbmVyIC5jb2xsZWN0aW9uLWl0ZW0gYSwgLnVzcC1jb250YWluZXIgLmNvbGxlY3Rpb24taXRlbSA+IHAge1xuICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMDYwNTJmO1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgICAudXNwLWNvbnRhaW5lciAudXNwLWJhbm5lciBwLCAudXNwLWNvbnRhaW5lciAuY29sbGVjdGlvbi1pdGVtIHAge1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAxNXB4IDVweDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGNvbG9yOiAjMDYwNTJmO1xuICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgICBmb250LXdlaWdodDogNDAwOyB9XG4gICAgLnVzcC1jb250YWluZXIgLnVzcC1iYW5uZXIgaW1nLCAudXNwLWNvbnRhaW5lciAuY29sbGVjdGlvbi1pdGVtIGltZyB7XG4gICAgICBtYXgtaGVpZ2h0OiAyNnB4O1xuICAgICAgbWFyZ2luLXRvcDogYXV0bztcbiAgICAgIG1hcmdpbi1ib3R0b206IGF1dG87XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEycHg7XG4gICAgICBhc3BlY3QtcmF0aW86IHZhcigtLW1lZGlhLWFzcGVjdC1yYXRpbywgYXV0byk7IH1cbiAgICAudXNwLWNvbnRhaW5lciAudXNwLWJhbm5lciBhLCAudXNwLWNvbnRhaW5lciAuY29sbGVjdGlvbi1pdGVtIGEge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgcGFkZGluZzogMTVweCA1cHg7XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5LCBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cbiAgICAgIC51c3AtY29udGFpbmVyIC51c3AtYmFubmVyIGE6aG92ZXIsIC51c3AtY29udGFpbmVyIC5jb2xsZWN0aW9uLWl0ZW0gYTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkNWQ1ZDU7XG4gICAgICAgIG9wYWNpdHk6IDAuNjtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjZzLCBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH1cbiAgICAgIC51c3AtY29udGFpbmVyIC51c3AtYmFubmVyIGE6YWN0aXZlLCAudXNwLWNvbnRhaW5lciAuY29sbGVjdGlvbi1pdGVtIGE6YWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2JiYmJiYjsgfVxuICAgICAgLnVzcC1jb250YWluZXIgLnVzcC1iYW5uZXIgYSBwLCAudXNwLWNvbnRhaW5lciAuY29sbGVjdGlvbi1pdGVtIGEgcCB7XG4gICAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAgICAgLnVzcC1jb250YWluZXIgLnVzcC1iYW5uZXIgYSBwOmFmdGVyLCAudXNwLWNvbnRhaW5lciAuY29sbGVjdGlvbi1pdGVtIGEgcDphZnRlciB7XG4gICAgICAgICAgY29udGVudDogXCLuoIFcIjtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgICAgICAgIGNvbG9yOiAjMDYwNTJmO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICAgICAgICBmb250LWZhbWlseTogXCJmb250ZWxsby1kam1pbGVzXCI7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAudXNwLWNvbnRhaW5lciAudXNwLWJhbm5lclthcmlhLWhpZGRlbj1mYWxzZV0sIC51c3AtY29udGFpbmVyIC5jb2xsZWN0aW9uLWl0ZW1bYXJpYS1oaWRkZW49ZmFsc2VdIHtcbiAgICAgICAgcGFkZGluZzogMCAwOyB9XG4gICAgICAgIC51c3AtY29udGFpbmVyIC51c3AtYmFubmVyW2FyaWEtaGlkZGVuPWZhbHNlXTpmaXJzdC1vZi10eXBlLCAudXNwLWNvbnRhaW5lciAuY29sbGVjdGlvbi1pdGVtW2FyaWEtaGlkZGVuPWZhbHNlXTpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgICAgICAgLnVzcC1jb250YWluZXIgLnVzcC1iYW5uZXJbYXJpYS1oaWRkZW49ZmFsc2VdOmxhc3Qtb2YtdHlwZSwgLnVzcC1jb250YWluZXIgLmNvbGxlY3Rpb24taXRlbVthcmlhLWhpZGRlbj1mYWxzZV06bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAudXNwLWNvbnRhaW5lciAudXNwLWJhbm5lclthcmlhLWhpZGRlbj1mYWxzZV0gKyAuY29sbGVjdGlvbi1pdGVtLCAudXNwLWNvbnRhaW5lciAuY29sbGVjdGlvbi1pdGVtW2FyaWEtaGlkZGVuPWZhbHNlXSArIC5jb2xsZWN0aW9uLWl0ZW0ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHBhZGRpbmctbGVmdDogM3B4OyB9XG4gICAgICAgIC51c3AtY29udGFpbmVyIC51c3AtYmFubmVyW2FyaWEtaGlkZGVuPWZhbHNlXSArIC5jb2xsZWN0aW9uLWl0ZW06YmVmb3JlLCAudXNwLWNvbnRhaW5lciAuY29sbGVjdGlvbi1pdGVtW2FyaWEtaGlkZGVuPWZhbHNlXSArIC5jb2xsZWN0aW9uLWl0ZW06YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICB3aWR0aDogM3B4O1xuICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICAgIHotaW5kZXg6IDE7IH0gfVxuICAudXNwLWNvbnRhaW5lciAuZmFzIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7IH1cblxuYm9keTpub3QoI2hvbWUpIC5oZWFkZXItYnJlYWRjcnVtYnMtY29udGFpbmVyIHtcbiAgbWFyZ2luOiAwOyB9XG4gIGJvZHk6bm90KCNob21lKSAuaGVhZGVyLWJyZWFkY3J1bWJzLWNvbnRhaW5lcjpub3QoOmhhcyguYnJlYWRjcnVtYnMpKSB7XG4gICAgcGFkZGluZzogNy41cHg7IH1cblxuYm9keTpub3QoI2hvbWUpIC5oZWFkZXItYnJlYWRjcnVtYi12YXQtc3dpdGNoZXItY29udGFpbmVyOm5vdCg6aGFzKC5icmVhZGNydW1icykpOm5vdCg6aGFzKC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1jb250YWluZXIpKTpub3QoOmhhcygudmF0LXN3aXRjaGVyLWNvbnRhaW5lcikpIHtcbiAgcGFkZGluZzogNy41cHg7IH1cblxuLmhlYWRlci11c3AtYmFyICsgI2JyZWFkY3J1bWItdmF0LXN3aXRjaGVyLWNvbnRhaW5lciwgLmhlYWRlci11c3AtYmFyICsgLmhlYWRlci1icmVhZGNydW1iLXZhdC1zd2l0Y2hlci1jb250YWluZXIge1xuICBwYWRkaW5nLXRvcDogN3B4OyB9XG4gIC5oZWFkZXItdXNwLWJhciArICNicmVhZGNydW1iLXZhdC1zd2l0Y2hlci1jb250YWluZXI6aGFzKC5icmVhZGNydW1icyksIC5oZWFkZXItdXNwLWJhciArICNicmVhZGNydW1iLXZhdC1zd2l0Y2hlci1jb250YWluZXI6aGFzKC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1jb250YWluZXIpLCAuaGVhZGVyLXVzcC1iYXIgKyAuaGVhZGVyLWJyZWFkY3J1bWItdmF0LXN3aXRjaGVyLWNvbnRhaW5lcjpoYXMoLmJyZWFkY3J1bWJzKSwgLmhlYWRlci11c3AtYmFyICsgLmhlYWRlci1icmVhZGNydW1iLXZhdC1zd2l0Y2hlci1jb250YWluZXI6aGFzKC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1jb250YWluZXIpIHtcbiAgICBwYWRkaW5nLXRvcDogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmhlYWRlci11c3AtYmFyICsgI2JyZWFkY3J1bWItdmF0LXN3aXRjaGVyLWNvbnRhaW5lciwgLmhlYWRlci11c3AtYmFyICsgLmhlYWRlci1icmVhZGNydW1iLXZhdC1zd2l0Y2hlci1jb250YWluZXIge1xuICAgICAgcGFkZGluZy10b3A6IDVweDsgfSB9XG5cbiNicmVhZGNydW1iLXZhdC1zd2l0Y2hlci1jb250YWluZXIgLnZhdC1zd2l0Y2hlci1jb250YWluZXIsICNicmVhZGNydW1iLXZhdC1zd2l0Y2hlci1jb250YWluZXIgLmJyZWFkY3J1bWJzLCAjYnJlYWRjcnVtYi12YXQtc3dpdGNoZXItY29udGFpbmVyIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1jb250YWluZXIsIC5oZWFkZXItYnJlYWRjcnVtYi12YXQtc3dpdGNoZXItY29udGFpbmVyIC52YXQtc3dpdGNoZXItY29udGFpbmVyLCAuaGVhZGVyLWJyZWFkY3J1bWItdmF0LXN3aXRjaGVyLWNvbnRhaW5lciAuYnJlYWRjcnVtYnMsIC5oZWFkZXItYnJlYWRjcnVtYi12YXQtc3dpdGNoZXItY29udGFpbmVyIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1jb250YWluZXIge1xuICBwYWRkaW5nLXRvcDogN3B4O1xuICBwYWRkaW5nLWJvdHRvbTogN3B4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAjYnJlYWRjcnVtYi12YXQtc3dpdGNoZXItY29udGFpbmVyIC52YXQtc3dpdGNoZXItY29udGFpbmVyLCAjYnJlYWRjcnVtYi12YXQtc3dpdGNoZXItY29udGFpbmVyIC5icmVhZGNydW1icywgI2JyZWFkY3J1bWItdmF0LXN3aXRjaGVyLWNvbnRhaW5lciAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtY29udGFpbmVyLCAuaGVhZGVyLWJyZWFkY3J1bWItdmF0LXN3aXRjaGVyLWNvbnRhaW5lciAudmF0LXN3aXRjaGVyLWNvbnRhaW5lciwgLmhlYWRlci1icmVhZGNydW1iLXZhdC1zd2l0Y2hlci1jb250YWluZXIgLmJyZWFkY3J1bWJzLCAuaGVhZGVyLWJyZWFkY3J1bWItdmF0LXN3aXRjaGVyLWNvbnRhaW5lciAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmctdG9wOiA1cHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNXB4OyB9IH1cblxuI2JyZWFkY3J1bWItdmF0LXN3aXRjaGVyLWNvbnRhaW5lciAuYnJlYWRjcnVtYnMgbGksIC5oZWFkZXItYnJlYWRjcnVtYi12YXQtc3dpdGNoZXItY29udGFpbmVyIC5icmVhZGNydW1icyBsaSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1hcmdpbjogMi41cHggMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgI2JyZWFkY3J1bWItdmF0LXN3aXRjaGVyLWNvbnRhaW5lciAuYnJlYWRjcnVtYnMgbGksIC5oZWFkZXItYnJlYWRjcnVtYi12YXQtc3dpdGNoZXItY29udGFpbmVyIC5icmVhZGNydW1icyBsaSB7XG4gICAgICBtYXJnaW46IDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSBhbmQgKG1heC13aWR0aDogOTkuOTk4NzVlbSkge1xuICAjYnJlYWRjcnVtYi12YXQtc3dpdGNoZXItY29udGFpbmVyLmdyaWQtY29udGFpbmVyLCAuaGVhZGVyLWJyZWFkY3J1bWItdmF0LXN3aXRjaGVyLWNvbnRhaW5lci5ncmlkLWNvbnRhaW5lciB7XG4gICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7IH0gfVxuXG4uYnJlYWRjcnVtYnMge1xuICBwYWRkaW5nOiAwOyB9XG4gIC5icmVhZGNydW1icyBhIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAuYnJlYWRjcnVtYnMgc3BhbiB7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAuYnJlYWRjcnVtYnMgbGkge1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICAuYnJlYWRjcnVtYnMgbGk6YWZ0ZXIge1xuICAgICAgbWFyZ2luOiAwIDVweCAhaW1wb3J0YW50O1xuICAgICAgcGFkZGluZy10b3A6IDAuNXB4O1xuICAgICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG8tZGptaWxlc1wiO1xuICAgICAgZm9udC1zaXplOiA3cHg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLmJyZWFkY3J1bWJzIGxpOmFmdGVyIHtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogMXB4OyB9IH1cblxuLnRvZ2dsZS1zd2l0Y2gtbGFiZWwtY29udGFpbmVyIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7IH1cbiAgLnRvZ2dsZS1zd2l0Y2gtbGFiZWwtY29udGFpbmVyIHNwYW4ge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgY29sb3I6ICMwMDAwMDA7IH1cblxuLnZhdC1zd2l0Y2hlci1jb250YWluZXIsIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDAgMTBweDsgfVxuICAudmF0LXN3aXRjaGVyLWNvbnRhaW5lci52YXQtc3dpdGNoZXIuaW5jbHVzaXZlIC52YXQtc3dpdGNoZXItcGFkZGxlOmJlZm9yZSwgLnZhdC1zd2l0Y2hlci1jb250YWluZXIudmF0LXN3aXRjaGVyLmluY2x1c2l2ZSAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtcGFkZGxlOmJlZm9yZSwgLnZhdC1zd2l0Y2hlci1jb250YWluZXIudmF0LXN3aXRjaGVyLm9mZiAudmF0LXN3aXRjaGVyLXBhZGRsZTpiZWZvcmUsIC52YXQtc3dpdGNoZXItY29udGFpbmVyLnZhdC1zd2l0Y2hlci5vZmYgLmhlYWRlci10b2dnbGUtc3dpdGNoLXBhZGRsZTpiZWZvcmUsIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1jb250YWluZXIudmF0LXN3aXRjaGVyLmluY2x1c2l2ZSAudmF0LXN3aXRjaGVyLXBhZGRsZTpiZWZvcmUsIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1jb250YWluZXIudmF0LXN3aXRjaGVyLmluY2x1c2l2ZSAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtcGFkZGxlOmJlZm9yZSwgLmhlYWRlci10b2dnbGUtc3dpdGNoLWNvbnRhaW5lci52YXQtc3dpdGNoZXIub2ZmIC52YXQtc3dpdGNoZXItcGFkZGxlOmJlZm9yZSwgLmhlYWRlci10b2dnbGUtc3dpdGNoLWNvbnRhaW5lci52YXQtc3dpdGNoZXIub2ZmIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1wYWRkbGU6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWU5NDYxOyB9XG4gIC52YXQtc3dpdGNoZXItY29udGFpbmVyLnZhdC1zd2l0Y2hlci5leGNsdXNpdmUgLnZhdC1zd2l0Y2hlci1wYWRkbGU6YmVmb3JlLCAudmF0LXN3aXRjaGVyLWNvbnRhaW5lci52YXQtc3dpdGNoZXIuZXhjbHVzaXZlIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1wYWRkbGU6YmVmb3JlLCAudmF0LXN3aXRjaGVyLWNvbnRhaW5lci52YXQtc3dpdGNoZXIub24gLnZhdC1zd2l0Y2hlci1wYWRkbGU6YmVmb3JlLCAudmF0LXN3aXRjaGVyLWNvbnRhaW5lci52YXQtc3dpdGNoZXIub24gLmhlYWRlci10b2dnbGUtc3dpdGNoLXBhZGRsZTpiZWZvcmUsIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1jb250YWluZXIudmF0LXN3aXRjaGVyLmV4Y2x1c2l2ZSAudmF0LXN3aXRjaGVyLXBhZGRsZTpiZWZvcmUsIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1jb250YWluZXIudmF0LXN3aXRjaGVyLmV4Y2x1c2l2ZSAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtcGFkZGxlOmJlZm9yZSwgLmhlYWRlci10b2dnbGUtc3dpdGNoLWNvbnRhaW5lci52YXQtc3dpdGNoZXIub24gLnZhdC1zd2l0Y2hlci1wYWRkbGU6YmVmb3JlLCAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtY29udGFpbmVyLnZhdC1zd2l0Y2hlci5vbiAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtcGFkZGxlOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzA2MDUyZjsgfVxuICAudmF0LXN3aXRjaGVyLWNvbnRhaW5lci5lZGl0LW1vZGUub2ZmIC52YXQtc3dpdGNoZXItcGFkZGxlOmJlZm9yZSwgLnZhdC1zd2l0Y2hlci1jb250YWluZXIuZWRpdC1tb2RlLm9mZiAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtcGFkZGxlOmJlZm9yZSwgLmhlYWRlci10b2dnbGUtc3dpdGNoLWNvbnRhaW5lci5lZGl0LW1vZGUub2ZmIC52YXQtc3dpdGNoZXItcGFkZGxlOmJlZm9yZSwgLmhlYWRlci10b2dnbGUtc3dpdGNoLWNvbnRhaW5lci5lZGl0LW1vZGUub2ZmIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1wYWRkbGU6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwOyB9XG4gIC52YXQtc3dpdGNoZXItY29udGFpbmVyLmVkaXQtbW9kZS5vbiAudmF0LXN3aXRjaGVyLXBhZGRsZTpiZWZvcmUsIC52YXQtc3dpdGNoZXItY29udGFpbmVyLmVkaXQtbW9kZS5vbiAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtcGFkZGxlOmJlZm9yZSwgLmhlYWRlci10b2dnbGUtc3dpdGNoLWNvbnRhaW5lci5lZGl0LW1vZGUub24gLnZhdC1zd2l0Y2hlci1wYWRkbGU6YmVmb3JlLCAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtY29udGFpbmVyLmVkaXQtbW9kZS5vbiAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtcGFkZGxlOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2FlOTQ2MTsgfVxuICAudmF0LXN3aXRjaGVyLWNvbnRhaW5lci5pbmNsdXNpdmUgLnZhdC1zd2l0Y2hlci1wYWRkbGUsIC52YXQtc3dpdGNoZXItY29udGFpbmVyLmluY2x1c2l2ZSAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtcGFkZGxlLCAudmF0LXN3aXRjaGVyLWNvbnRhaW5lci5vZmYgLnZhdC1zd2l0Y2hlci1wYWRkbGUsIC52YXQtc3dpdGNoZXItY29udGFpbmVyLm9mZiAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtcGFkZGxlLCAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtY29udGFpbmVyLmluY2x1c2l2ZSAudmF0LXN3aXRjaGVyLXBhZGRsZSwgLmhlYWRlci10b2dnbGUtc3dpdGNoLWNvbnRhaW5lci5pbmNsdXNpdmUgLmhlYWRlci10b2dnbGUtc3dpdGNoLXBhZGRsZSwgLmhlYWRlci10b2dnbGUtc3dpdGNoLWNvbnRhaW5lci5vZmYgLnZhdC1zd2l0Y2hlci1wYWRkbGUsIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1jb250YWluZXIub2ZmIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1wYWRkbGUge1xuICAgIHBhZGRpbmctcmlnaHQ6IDMycHg7IH1cbiAgICAudmF0LXN3aXRjaGVyLWNvbnRhaW5lci5pbmNsdXNpdmUgLnZhdC1zd2l0Y2hlci1wYWRkbGU6YmVmb3JlLCAudmF0LXN3aXRjaGVyLWNvbnRhaW5lci5pbmNsdXNpdmUgLmhlYWRlci10b2dnbGUtc3dpdGNoLXBhZGRsZTpiZWZvcmUsIC52YXQtc3dpdGNoZXItY29udGFpbmVyLm9mZiAudmF0LXN3aXRjaGVyLXBhZGRsZTpiZWZvcmUsIC52YXQtc3dpdGNoZXItY29udGFpbmVyLm9mZiAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtcGFkZGxlOmJlZm9yZSwgLmhlYWRlci10b2dnbGUtc3dpdGNoLWNvbnRhaW5lci5pbmNsdXNpdmUgLnZhdC1zd2l0Y2hlci1wYWRkbGU6YmVmb3JlLCAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtY29udGFpbmVyLmluY2x1c2l2ZSAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtcGFkZGxlOmJlZm9yZSwgLmhlYWRlci10b2dnbGUtc3dpdGNoLWNvbnRhaW5lci5vZmYgLnZhdC1zd2l0Y2hlci1wYWRkbGU6YmVmb3JlLCAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtY29udGFpbmVyLm9mZiAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtcGFkZGxlOmJlZm9yZSB7XG4gICAgICByaWdodDogNXB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZWVlZTsgfVxuICAudmF0LXN3aXRjaGVyLWNvbnRhaW5lci5pbmNsdXNpdmUgLnN3aXRjaC1leGMsIC52YXQtc3dpdGNoZXItY29udGFpbmVyLm9mZiAuc3dpdGNoLWV4YywgLmhlYWRlci10b2dnbGUtc3dpdGNoLWNvbnRhaW5lci5pbmNsdXNpdmUgLnN3aXRjaC1leGMsIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1jb250YWluZXIub2ZmIC5zd2l0Y2gtZXhjIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC52YXQtc3dpdGNoZXItY29udGFpbmVyLmluY2x1c2l2ZSAuc3dpdGNoLCAudmF0LXN3aXRjaGVyLWNvbnRhaW5lci5vZmYgLnN3aXRjaCwgLmhlYWRlci10b2dnbGUtc3dpdGNoLWNvbnRhaW5lci5pbmNsdXNpdmUgLnN3aXRjaCwgLmhlYWRlci10b2dnbGUtc3dpdGNoLWNvbnRhaW5lci5vZmYgLnN3aXRjaCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjZGFkYWRhOyB9XG4gIC52YXQtc3dpdGNoZXItY29udGFpbmVyLmV4Y2x1c2l2ZSAudmF0LXN3aXRjaGVyLXBhZGRsZSwgLnZhdC1zd2l0Y2hlci1jb250YWluZXIuZXhjbHVzaXZlIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1wYWRkbGUsIC52YXQtc3dpdGNoZXItY29udGFpbmVyLm9uIC52YXQtc3dpdGNoZXItcGFkZGxlLCAudmF0LXN3aXRjaGVyLWNvbnRhaW5lci5vbiAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtcGFkZGxlLCAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtY29udGFpbmVyLmV4Y2x1c2l2ZSAudmF0LXN3aXRjaGVyLXBhZGRsZSwgLmhlYWRlci10b2dnbGUtc3dpdGNoLWNvbnRhaW5lci5leGNsdXNpdmUgLmhlYWRlci10b2dnbGUtc3dpdGNoLXBhZGRsZSwgLmhlYWRlci10b2dnbGUtc3dpdGNoLWNvbnRhaW5lci5vbiAudmF0LXN3aXRjaGVyLXBhZGRsZSwgLmhlYWRlci10b2dnbGUtc3dpdGNoLWNvbnRhaW5lci5vbiAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtcGFkZGxlIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDM5cHg7IH1cbiAgICAudmF0LXN3aXRjaGVyLWNvbnRhaW5lci5leGNsdXNpdmUgLnZhdC1zd2l0Y2hlci1wYWRkbGU6YmVmb3JlLCAudmF0LXN3aXRjaGVyLWNvbnRhaW5lci5leGNsdXNpdmUgLmhlYWRlci10b2dnbGUtc3dpdGNoLXBhZGRsZTpiZWZvcmUsIC52YXQtc3dpdGNoZXItY29udGFpbmVyLm9uIC52YXQtc3dpdGNoZXItcGFkZGxlOmJlZm9yZSwgLnZhdC1zd2l0Y2hlci1jb250YWluZXIub24gLmhlYWRlci10b2dnbGUtc3dpdGNoLXBhZGRsZTpiZWZvcmUsIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1jb250YWluZXIuZXhjbHVzaXZlIC52YXQtc3dpdGNoZXItcGFkZGxlOmJlZm9yZSwgLmhlYWRlci10b2dnbGUtc3dpdGNoLWNvbnRhaW5lci5leGNsdXNpdmUgLmhlYWRlci10b2dnbGUtc3dpdGNoLXBhZGRsZTpiZWZvcmUsIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1jb250YWluZXIub24gLnZhdC1zd2l0Y2hlci1wYWRkbGU6YmVmb3JlLCAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtY29udGFpbmVyLm9uIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1wYWRkbGU6YmVmb3JlIHtcbiAgICAgIGxlZnQ6IDVweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM3Nzc3Nzc7IH1cbiAgLnZhdC1zd2l0Y2hlci1jb250YWluZXIuZXhjbHVzaXZlIC5zd2l0Y2gtaW5jLCAudmF0LXN3aXRjaGVyLWNvbnRhaW5lci5vbiAuc3dpdGNoLWluYywgLmhlYWRlci10b2dnbGUtc3dpdGNoLWNvbnRhaW5lci5leGNsdXNpdmUgLnN3aXRjaC1pbmMsIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1jb250YWluZXIub24gLnN3aXRjaC1pbmMge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLnZhdC1zd2l0Y2hlci1jb250YWluZXIuZXhjbHVzaXZlIC5zd2l0Y2gsIC52YXQtc3dpdGNoZXItY29udGFpbmVyLm9uIC5zd2l0Y2gsIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1jb250YWluZXIuZXhjbHVzaXZlIC5zd2l0Y2gsIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1jb250YWluZXIub24gLnN3aXRjaCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjYWVhZWFlOyB9XG4gIC52YXQtc3dpdGNoZXItY29udGFpbmVyIC5zd2l0Y2gsIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1jb250YWluZXIgLnN3aXRjaCB7XG4gICAgd2lkdGg6IDM0cHg7XG4gICAgaGVpZ2h0OiAxNi4xOTA0OHB4O1xuICAgIG1hcmdpbjogMDtcbiAgICBib3JkZXItd2lkdGg6IDFweDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC44cywgYm94LXNoYWRvdyAwLjhzLCBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cbiAgICAudmF0LXN3aXRjaGVyLWNvbnRhaW5lciAuc3dpdGNoOmhvdmVyLCAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtY29udGFpbmVyIC5zd2l0Y2g6aG92ZXIge1xuICAgICAgYm94LXNoYWRvdzogMHB4IDJweCA0cHggMXB4IHJnYmEoMTIsIDEyLCAxMywgMC4xKTtcbiAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjZzLCBib3gtc2hhZG93IDAuNnMsIGJhY2tncm91bmQtY29sb3IgMC42czsgfVxuICAudmF0LXN3aXRjaGVyLWNvbnRhaW5lciAudmF0LXN3aXRjaGVyLXBhZGRsZSwgLnZhdC1zd2l0Y2hlci1jb250YWluZXIgLmhlYWRlci10b2dnbGUtc3dpdGNoLXBhZGRsZSwgLmhlYWRlci10b2dnbGUtc3dpdGNoLWNvbnRhaW5lciAudmF0LXN3aXRjaGVyLXBhZGRsZSwgLmhlYWRlci10b2dnbGUtc3dpdGNoLWNvbnRhaW5lciAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtcGFkZGxlIHtcbiAgICBtaW4td2lkdGg6IDE0Ljc4MjYxcHg7XG4gICAgaGVpZ2h0OiAxNC43ODI2MXB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgIC52YXQtc3dpdGNoZXItY29udGFpbmVyIC52YXQtc3dpdGNoZXItcGFkZGxlOmJlZm9yZSwgLnZhdC1zd2l0Y2hlci1jb250YWluZXIgLmhlYWRlci10b2dnbGUtc3dpdGNoLXBhZGRsZTpiZWZvcmUsIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1jb250YWluZXIgLnZhdC1zd2l0Y2hlci1wYWRkbGU6YmVmb3JlLCAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtY29udGFpbmVyIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1wYWRkbGU6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgd2lkdGg6IDguMDk1MjRweDtcbiAgICAgIGhlaWdodDogOC4wOTUyNHB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC44czsgfVxuICAudmF0LXN3aXRjaGVyLWNvbnRhaW5lciAuc3dpdGNoLWV4YywgLnZhdC1zd2l0Y2hlci1jb250YWluZXIgLnN3aXRjaC1pbmMsIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1jb250YWluZXIgLnN3aXRjaC1leGMsIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1jb250YWluZXIgLnN3aXRjaC1pbmMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBsaW5lLWhlaWdodDogMjsgfVxuICAudmF0LXN3aXRjaGVyLWNvbnRhaW5lciAuc3dpdGNoLWV4YywgLmhlYWRlci10b2dnbGUtc3dpdGNoLWNvbnRhaW5lciAuc3dpdGNoLWV4YyB7XG4gICAgcmlnaHQ6IDdweDsgfVxuICAudmF0LXN3aXRjaGVyLWNvbnRhaW5lciAuc3dpdGNoLWluYywgLmhlYWRlci10b2dnbGUtc3dpdGNoLWNvbnRhaW5lciAuc3dpdGNoLWluYyB7XG4gICAgbGVmdDogNXB4OyB9XG4gIC52YXQtc3dpdGNoZXItY29udGFpbmVyIC5zd2l0Y2gtaW5wdXQsIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1jb250YWluZXIgLnN3aXRjaC1pbnB1dCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7IH1cbiAgLnZhdC1zd2l0Y2hlci1jb250YWluZXIgcCwgLmhlYWRlci10b2dnbGUtc3dpdGNoLWNvbnRhaW5lciBwIHtcbiAgICBtYXJnaW46IDA7XG4gICAgY29sb3I6ICM4ODg4ODg7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgLnZhdC1zd2l0Y2hlci1jb250YWluZXIgbGFiZWwsIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1jb250YWluZXIgbGFiZWwge1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgIC52YXQtc3dpdGNoZXItY29udGFpbmVyIGxhYmVsIHNwYW4sIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1jb250YWluZXIgbGFiZWwgc3BhbiB7XG4gICAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgICBmb250LXdlaWdodDogNDAwOyB9XG5cbi8qXHJcbi0tLS0tIEZvb3RlciAtLS0tLVxyXG5IYW5kbGVzIHRoZSBmb2xsb3dpbmc6IFxyXG4tIEZvb3RlciBtZW51ICggYWxzbyByZWZlciB0byBheGlzLW1lbnVzLnNjc3MgKVxyXG4tIFByb21vdGlvbiBhcmVhOlxyXG4gIC0gU29jaWFsIEljb25zXHJcbiAgLSBNYWlsaW5nIExpc3RcclxuICAtIENtcyBlbnRyaWVzXHJcbi0gRm9vdGVyIEJhbm5lcnMgKCBQYXltZW50IG1ldGhvZCBsb2dvcyApXHJcbi0gQ29weXJpZ2h0XHJcbi0gR29vZ2xlIFRhZyBNYW5hZ2VyIGZvb3RlciB3aWRnZXQgYXJlYVxyXG4tIEZvb3RlciBNb2R1bGVzICggYWxzbyByZWZlciB0byBtb2R1bGVzLnNjc3MgKVxyXG4qL1xuZm9vdGVyIC5yb3ctYmFja2dyb3VuZDpmaXJzdC1vZi10eXBlIHtcbiAgbWFyZ2luLXRvcDogNTBweDsgfVxuXG5mb290ZXIgLnNvY2lhbEljb25zLCBmb290ZXIgLnNvY2lhbC1pY29ucyB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbjogMCAwIDIwcHg7XG4gIHBhZGRpbmc6IDAgMCAxNXB4O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2FlYWVhZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgZm9vdGVyIC5zb2NpYWxJY29ucywgZm9vdGVyIC5zb2NpYWwtaWNvbnMge1xuICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICBtYXJnaW46IDAgMCAyMHB4O1xuICAgICAgcGFkZGluZzogMCAwIDMwcHg7XG4gICAgICBib3JkZXI6IDA7IH0gfVxuICBmb290ZXIgLnNvY2lhbEljb25zIGgzOm5vdCg6ZW1wdHkpLCBmb290ZXIgLnNvY2lhbC1pY29ucyBoMzpub3QoOmVtcHR5KSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwIDAgMzBweDtcbiAgICBjb2xvcjogIzA2MDUyZjtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgZm9vdGVyIC5zb2NpYWxJY29ucyBoMzpub3QoOmVtcHR5KSwgZm9vdGVyIC5zb2NpYWwtaWNvbnMgaDM6bm90KDplbXB0eSkge1xuICAgICAgICBtYXJnaW46IDAgMCA0MHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cbiAgZm9vdGVyIC5zb2NpYWxJY29ucyBhLCBmb290ZXIgLnNvY2lhbC1pY29ucyBhIHtcbiAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgd2lkdGg6IDQ1cHg7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2ZmZmZmZjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjhzOyB9XG4gICAgZm9vdGVyIC5zb2NpYWxJY29ucyBhOmhvdmVyLCBmb290ZXIgLnNvY2lhbC1pY29ucyBhOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNhZTk0NjE7XG4gICAgICBib3JkZXItY29sb3I6ICNhZTk0NjE7XG4gICAgICBvcGFjaXR5OiAwLjU7XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNnM7IH1cbiAgICBmb290ZXIgLnNvY2lhbEljb25zIGE6YWN0aXZlLCBmb290ZXIgLnNvY2lhbC1pY29ucyBhOmFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDYwNTJmO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMDYwNTJmOyB9XG4gIGZvb3RlciAuc29jaWFsSWNvbnMgaW1nLCBmb290ZXIgLnNvY2lhbC1pY29ucyBpbWcge1xuICAgIG1heC13aWR0aDogMjIuNXB4OyB9XG4gIGZvb3RlciAuc29jaWFsSWNvbnMgLmljb25zLWNvbnRhaW5lciwgZm9vdGVyIC5zb2NpYWwtaWNvbnMgLmljb25zLWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IDhweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIGZvb3RlciAuc29jaWFsSWNvbnMgLmljb25zLWNvbnRhaW5lciwgZm9vdGVyIC5zb2NpYWwtaWNvbnMgLmljb25zLWNvbnRhaW5lciB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfSB9XG5cbmZvb3RlciAuY21zLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICBmb290ZXIgLmNtcy1jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgZm9vdGVyIC5jbXMtY29udGVudC1jb250YWluZXIgcCB7XG4gICAgY29sb3I6ICM3Nzc3Nzc7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG5mb290ZXIgLmZvb3Rlci1iYWNrZ3JvdW5kIC5jbXMtY29udGVudC1jb250YWluZXIge1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIGZvb3RlciAuZm9vdGVyLWJhY2tncm91bmQgLmNtcy1jb250ZW50LWNvbnRhaW5lciBhIHtcbiAgICBjb2xvcjogIzA2MDUyZjtcbiAgICBmb250LXNpemU6IDFyZW07IH1cbiAgICBmb290ZXIgLmZvb3Rlci1iYWNrZ3JvdW5kIC5jbXMtY29udGVudC1jb250YWluZXIgYTpob3ZlciB7XG4gICAgICBjb2xvcjogI2FlOTQ2MTsgfVxuICAgICAgZm9vdGVyIC5mb290ZXItYmFja2dyb3VuZCAuY21zLWNvbnRlbnQtY29udGFpbmVyIGE6aG92ZXI6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICM3Nzc3Nzc7IH1cbiAgICBmb290ZXIgLmZvb3Rlci1iYWNrZ3JvdW5kIC5jbXMtY29udGVudC1jb250YWluZXIgYTphY3RpdmUge1xuICAgICAgY29sb3I6ICM4ODg4ODg7IH1cbiAgICAgIGZvb3RlciAuZm9vdGVyLWJhY2tncm91bmQgLmNtcy1jb250ZW50LWNvbnRhaW5lciBhOmFjdGl2ZTpiZWZvcmUge1xuICAgICAgICBjb2xvcjogI2YzZjNmMzsgfVxuICAgIGZvb3RlciAuZm9vdGVyLWJhY2tncm91bmQgLmNtcy1jb250ZW50LWNvbnRhaW5lciBhLnNob3ctY29udGFjdC1pY29uOmJlZm9yZSB7XG4gICAgICBjb2xvcjogIzA2MDUyZjtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgICBmb290ZXIgLmZvb3Rlci1iYWNrZ3JvdW5kIC5jbXMtY29udGVudC1jb250YWluZXIgYS5zaG93LWNvbnRhY3QtaWNvbjpob3ZlcjpiZWZvcmUge1xuICAgICAgY29sb3I6ICM3Nzc3Nzc7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gICAgZm9vdGVyIC5mb290ZXItYmFja2dyb3VuZCAuY21zLWNvbnRlbnQtY29udGFpbmVyIGEuc2hvdy1jb250YWN0LWljb246YWN0aXZlOmJlZm9yZSB7XG4gICAgICBjb2xvcjogI2YzZjNmMzsgfVxuXG4uZm9vdGVyLWdyaWQtY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWFyZ2luOiBhdXRvOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuZm9vdGVyLWdyaWQtY29udGFpbmVyIHtcbiAgICAgIG1heC13aWR0aDogMTMwMHB4O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9IH1cblxuLmZvb3Rlci1jb250ZW50LWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGZsZXgtZ3JvdzogMTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmZvb3Rlci1jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9IH1cblxuLmZvb3Rlci1iYW5uZXItc2VyaWVzLWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5mb290ZXItYmFubmVyLXNlcmllcy1jb250YWluZXIuY29udGVudC1oZWFkZXIgLmZvb3Rlci1iYW5uZXItc2VyaWVzIHtcbiAgICBtYXgtd2lkdGg6IDEzMDBweDtcbiAgICBtYXJnaW46IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuZm9vdGVyLWJhbm5lci1zZXJpZXMtY29udGFpbmVyLmNvbnRlbnQtaGVhZGVyIC5mb290ZXItYmFubmVyLXNlcmllcyB7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvIDA7IH0gfVxuICAuZm9vdGVyLWJhbm5lci1zZXJpZXMtY29udGFpbmVyLnBheW1lbnQtbWV0aG9kcyB7XG4gICAgbWFyZ2luOiAyMHB4IDAgMjVweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5mb290ZXItYmFubmVyLXNlcmllcy1jb250YWluZXIucGF5bWVudC1tZXRob2RzIHtcbiAgICAgICAgbWFyZ2luOiA2MHB4IDAgMjVweDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmZvb3Rlci1iYW5uZXItc2VyaWVzLWNvbnRhaW5lci5wYXltZW50LW1ldGhvZHMgLmZvb3Rlci1iYW5uZXItc2VyaWVzIC5pbWFnZSB7XG4gICAgICAgIGZsZXgtYmFzaXM6IGZpdC1jb250ZW50OyB9IH1cbiAgLmZvb3Rlci1iYW5uZXItc2VyaWVzLWNvbnRhaW5lciArIC5mb290ZXItYmFja2dyb3VuZCB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICAuZm9vdGVyLWJhbm5lci1zZXJpZXMtY29udGFpbmVyIC5mb290ZXItYmFubmVyLXNlcmllcyB7XG4gICAgLS1tZWRpYS1hc3BlY3QtcmF0aW86IHZhcigtLW1lZGlhLXdpZHRoLCBhdXRvKS92YXIoLS1tZWRpYS1oZWlnaHQsIGF1dG8pO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdhcDogMTBweDtcbiAgICBtYXJnaW46IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuZm9vdGVyLWJhbm5lci1zZXJpZXMtY29udGFpbmVyIC5mb290ZXItYmFubmVyLXNlcmllcyB7XG4gICAgICAgIGdhcDogMCAyNC41cHg7XG4gICAgICAgIG1hcmdpbjogYXV0bzsgfSB9XG4gICAgLmZvb3Rlci1iYW5uZXItc2VyaWVzLWNvbnRhaW5lciAuZm9vdGVyLWJhbm5lci1zZXJpZXMgYSB7XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuOHM7IH1cbiAgICAgIC5mb290ZXItYmFubmVyLXNlcmllcy1jb250YWluZXIgLmZvb3Rlci1iYW5uZXItc2VyaWVzIGE6aG92ZXIge1xuICAgICAgICBvcGFjaXR5OiAuNjtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjZzOyB9XG4gICAgLmZvb3Rlci1iYW5uZXItc2VyaWVzLWNvbnRhaW5lciAuZm9vdGVyLWJhbm5lci1zZXJpZXMgLmltYWdlIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAgIC5mb290ZXItYmFubmVyLXNlcmllcy1jb250YWluZXIgLmZvb3Rlci1iYW5uZXItc2VyaWVzIC5pbWFnZSBpbWcge1xuICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICAgIGhlaWdodDogZml0LWNvbnRlbnQ7IH1cblxuLmNvcHlyaWdodC1vdXRlci1jb250YWluZXIge1xuICBwYWRkaW5nOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlZWVlOyB9XG4gIC5jb3B5cmlnaHQtb3V0ZXItY29udGFpbmVyIC5jb3B5cmlnaHQtaW5uZXItY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIG1hcmdpbjogMCBhdXRvIDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmNvcHlyaWdodC1vdXRlci1jb250YWluZXIgLmNvcHlyaWdodC1pbm5lci1jb250YWluZXIge1xuICAgICAgICBtYXJnaW46IDM1cHggYXV0byAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuICAgIC5jb3B5cmlnaHQtb3V0ZXItY29udGFpbmVyIC5jb3B5cmlnaHQtaW5uZXItY29udGFpbmVyIHAge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICBjb2xvcjogIzA2MDUyZjtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBsaW5lLWhlaWdodDogMjVweDsgfVxuICAgIC5jb3B5cmlnaHQtb3V0ZXItY29udGFpbmVyIC5jb3B5cmlnaHQtaW5uZXItY29udGFpbmVyIGEge1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICBjb2xvcjogIzA2MDUyZjtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gICAgICAuY29weXJpZ2h0LW91dGVyLWNvbnRhaW5lciAuY29weXJpZ2h0LWlubmVyLWNvbnRhaW5lciBhOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICNhZTk0NjE7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gICAgICAuY29weXJpZ2h0LW91dGVyLWNvbnRhaW5lciAuY29weXJpZ2h0LWlubmVyLWNvbnRhaW5lciBhOmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLmZvb3Rlci1uYXZpZ2F0aW9uID4gdWwubWVudSB7XG4gICAgZmxleC13cmFwOiBub3dyYXA7IH0gfVxuXG4uZm9vdGVyLW5hdmlnYXRpb24gPiB1bC5tZW51ID4gbGkuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYTphZnRlciB7XG4gIGNvbG9yOiAjMDYwNTJmOyB9XG5cbi5mb290ZXItbmF2aWdhdGlvbiA+IHVsLm1lbnUgPiBsaSB7XG4gIG1hcmdpbjogMDsgfVxuICAuZm9vdGVyLW5hdmlnYXRpb24gPiB1bC5tZW51ID4gbGk6Zmlyc3QtY2hpbGQgcCwgLmZvb3Rlci1uYXZpZ2F0aW9uID4gdWwubWVudSA+IGxpOmZpcnN0LWNoaWxkIGEge1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAuZm9vdGVyLW5hdmlnYXRpb24gPiB1bC5tZW51ID4gbGk6bGFzdC1jaGlsZCBwLCAuZm9vdGVyLW5hdmlnYXRpb24gPiB1bC5tZW51ID4gbGk6bGFzdC1jaGlsZCBhIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gIC5mb290ZXItbmF2aWdhdGlvbiA+IHVsLm1lbnUgPiBsaTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuZm9vdGVyLW5hdmlnYXRpb24gPiB1bC5tZW51ID4gbGk6aG92ZXIgPiBhIHtcbiAgICAgIGNvbG9yOiAjMDYwNTJmOyB9XG4gICAgICAuZm9vdGVyLW5hdmlnYXRpb24gPiB1bC5tZW51ID4gbGk6aG92ZXIgPiBhOm5vdChbaHJlZl0pIHtcbiAgICAgICAgY3Vyc29yOiBkZWZhdWx0OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuZm9vdGVyLW5hdmlnYXRpb24gPiB1bC5tZW51ID4gbGkge1xuICAgICAgd2lkdGg6IDIzMHB4O1xuICAgICAgaGVpZ2h0OiBmaXQtY29udGVudDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBib3JkZXI6IDA7IH0gfVxuICAuZm9vdGVyLW5hdmlnYXRpb24gPiB1bC5tZW51ID4gbGkgPiBhLCAuZm9vdGVyLW5hdmlnYXRpb24gPiB1bC5tZW51ID4gbGkgPiBwIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDIwcHggMDtcbiAgICBvcmRlcjogMTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgY29sb3I6ICMwNjA1MmY7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZm9udC1mYW1pbHk6IFwiR2lic29uXCIsIFwiR2lic29uIEZhbGxiYWNrXCIsIFwiQXJpYWxcIjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmZvb3Rlci1uYXZpZ2F0aW9uID4gdWwubWVudSA+IGxpID4gYSwgLmZvb3Rlci1uYXZpZ2F0aW9uID4gdWwubWVudSA+IGxpID4gcCB7XG4gICAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAgIC5mb290ZXItbmF2aWdhdGlvbiA+IHVsLm1lbnUgPiBsaSA+IGFbaHJlZl06aG92ZXIsIC5mb290ZXItbmF2aWdhdGlvbiA+IHVsLm1lbnUgPiBsaSA+IHBbaHJlZl06aG92ZXIge1xuICAgICAgY29sb3I6ICNhZTk0NjE7IH1cbiAgICAuZm9vdGVyLW5hdmlnYXRpb24gPiB1bC5tZW51ID4gbGkgPiBhW2hyZWZdOmFjdGl2ZSwgLmZvb3Rlci1uYXZpZ2F0aW9uID4gdWwubWVudSA+IGxpID4gcFtocmVmXTphY3RpdmUge1xuICAgICAgY29sb3I6ICMwNjA1MmY7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5mb290ZXItbmF2aWdhdGlvbiA+IHVsLm1lbnUgPiBsaSA+IHAge1xuICAgICAgY3Vyc29yOiBkZWZhdWx0OyB9IH1cbiAgLmZvb3Rlci1uYXZpZ2F0aW9uID4gdWwubWVudSA+IGxpID4gdWwge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgb3JkZXI6IDM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuZm9vdGVyLW5hdmlnYXRpb24gPiB1bC5tZW51ID4gbGkgPiB1bCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDQwcHg7IH0gfVxuICAgIC5mb290ZXItbmF2aWdhdGlvbiA+IHVsLm1lbnUgPiBsaSA+IHVsID4gbGkge1xuICAgICAgcGFkZGluZzogMCAwIDEwLjVweDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAuZm9vdGVyLW5hdmlnYXRpb24gPiB1bC5tZW51ID4gbGkgPiB1bCA+IGxpIHtcbiAgICAgICAgICBwYWRkaW5nOiAwIDAgMjFweDsgfSB9XG4gICAgICAuZm9vdGVyLW5hdmlnYXRpb24gPiB1bC5tZW51ID4gbGkgPiB1bCA+IGxpOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDEwLjVweDsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgLmZvb3Rlci1uYXZpZ2F0aW9uID4gdWwubWVudSA+IGxpID4gdWwgPiBsaTpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMDsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5mb290ZXItbmF2aWdhdGlvbiA+IHVsLm1lbnUgPiBsaSA+IHVsID4gbGk6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7IH0gfVxuICAgICAgLmZvb3Rlci1uYXZpZ2F0aW9uID4gdWwubWVudSA+IGxpID4gdWwgPiBsaSA+IGEge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBjb2xvcjogIzc3Nzc3NztcbiAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC44cywgb3BhY2l0eSAwLjhzOyB9XG4gICAgICAgIC5mb290ZXItbmF2aWdhdGlvbiA+IHVsLm1lbnUgPiBsaSA+IHVsID4gbGkgPiBhOmhvdmVyIHtcbiAgICAgICAgICBjb2xvcjogI2FlOTQ2MTtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICBvcGFjaXR5OiAwLjU7XG4gICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42cywgb3BhY2l0eSAwLjZzOyB9XG4gICAgICAgIC5mb290ZXItbmF2aWdhdGlvbiA+IHVsLm1lbnUgPiBsaSA+IHVsID4gbGkgPiBhOmFjdGl2ZSB7XG4gICAgICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuXG4uZm9vdGVyLW5hdmlnYXRpb24gPiB1bC5tZW51IC5saW5rLWRlc2NyaXB0aW9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7IH1cblxuLmZvb3Rlci1uYXZpZ2F0aW9uLm1haW4tbWVudSB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwIDAgMjBweDtcbiAgb3JkZXI6IDE7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5mb290ZXItbmF2aWdhdGlvbi5tYWluLW1lbnUge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgZmxleC1ncm93OiAxO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBvcmRlcjogMTsgfSB9XG5cbi5mb290ZXItbmF2aWdhdGlvbiAubWVudSAuaXMtc3VibWVudS1pdGVtIGEge1xuICBwYWRkaW5nOiAwOyB9XG5cbi5mb290ZXItbmF2aWdhdGlvbiB1bCA+IGxpLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGE6aG92ZXIge1xuICBjb2xvcjogI2FlOTQ2MTsgfVxuXG4uZm9vdGVyLW5hdmlnYXRpb24gdWwgPiBsaS5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhOmFjdGl2ZSB7XG4gIGNvbG9yOiAjMDYwNTJmOyB9XG5cbi5mb290ZXItY21zLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgZmxleDogMTtcbiAgb3JkZXI6IDM7IH1cbiAgLmZvb3Rlci1jbXMtY29udGVudC1jb250YWluZXIgLmNtcy1jb250ZW50LWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBnYXA6IDIwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuZm9vdGVyLWNtcy1jb250ZW50LWNvbnRhaW5lciAuY21zLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgZ2FwOiAzMHB4OyB9IH1cbiAgICAuZm9vdGVyLWNtcy1jb250ZW50LWNvbnRhaW5lciAuY21zLWNvbnRlbnQtY29udGFpbmVyIGgyIHtcbiAgICAgIG1hcmdpbjogMCAwIDQwcHg7XG4gICAgICBjb2xvcjogIzA2MDUyZjtcbiAgICAgIGZvbnQtc2l6ZTogMTY7XG4gICAgICBmb250LXdlaWdodDogNDAwOyB9XG4gICAgLmZvb3Rlci1jbXMtY29udGVudC1jb250YWluZXIgLmNtcy1jb250ZW50LWNvbnRhaW5lciBoMyB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luOiAwIDAgMTVweDtcbiAgICAgIGNvbG9yOiAjMDYwNTJmO1xuICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAgIC5mb290ZXItY21zLWNvbnRlbnQtY29udGFpbmVyIC5jbXMtY29udGVudC1jb250YWluZXIgdGFibGUge1xuICAgICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgICAgIC5mb290ZXItY21zLWNvbnRlbnQtY29udGFpbmVyIC5jbXMtY29udGVudC1jb250YWluZXIgdGFibGUgdGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMTVweDsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5mb290ZXItY21zLWNvbnRlbnQtY29udGFpbmVyIC5jbXMtY29udGVudC1jb250YWluZXIgdGFibGUgdGQge1xuICAgICAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAgIC5mb290ZXItY21zLWNvbnRlbnQtY29udGFpbmVyIC5jbXMtY29udGVudC1jb250YWluZXIgPiBkaXYge1xuICAgICAgZmxleC1ncm93OiAxOyB9XG5cbi5mb290ZXItcHJvbW90aW9ucyB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBvcmRlcjogMjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmZvb3Rlci1wcm9tb3Rpb25zIHtcbiAgICAgIG1heC13aWR0aDogNTAlO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMDsgfSB9XG4gIC5mb290ZXItcHJvbW90aW9ucyArIC5mb290ZXItbmF2aWdhdGlvbiB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gICAgLmZvb3Rlci1wcm9tb3Rpb25zICsgLmZvb3Rlci1uYXZpZ2F0aW9uIC5tZW51IHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAuZm9vdGVyLXByb21vdGlvbnMgLm1haWxpbmctbGlzdC1jb250YWluZXIsIC5mb290ZXItcHJvbW90aW9ucyAuZm9vdGVyLW1haWxpbmctbGlzdC1yZXZlYWwtY29udGFpbmVyIHtcbiAgICBvcmRlcjogMTsgfVxuICAuZm9vdGVyLXByb21vdGlvbnMgLnNvY2lhbEljb25zLCAuZm9vdGVyLXByb21vdGlvbnMgLnNvY2lhbC1pY29ucyB7XG4gICAgb3JkZXI6IDI7IH1cbiAgLmZvb3Rlci1wcm9tb3Rpb25zIC5jbXMtY29udGVudC1jb250YWluZXIge1xuICAgIG9yZGVyOiAzOyB9XG5cbi5mb290ZXItcHJvbW90aW9uLWhlYWRpbmcgaDMge1xuICBtYXJnaW46IDAgMCAxNXB4O1xuICBjb2xvcjogIzA2MDUyZjtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmZvb3Rlci1wcm9tb3Rpb24taGVhZGluZyBoMyB7XG4gICAgICBtYXJnaW46IDAgMCA0MHB4OyB9IH1cblxuLmZvb3Rlci1sb2dvLWNvbnRhaW5lciB7XG4gIHdpZHRoOiA1MCU7XG4gIG1hcmdpbjogMCAwIDIwcHg7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZm9vdGVyLWxvZ28tY29udGFpbmVyIHtcbiAgICAgIHdpZHRoOiA0MCU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmZvb3Rlci1sb2dvLWNvbnRhaW5lciB7XG4gICAgICBtYXJnaW46IDAgMCAzMHB4OyB9IH1cblxuLmZvb3Rlci1jb250YWN0LWRldGFpbHMge1xuICBtYXJnaW46IDAgMCAxMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuZm9vdGVyLWNvbnRhY3QtZGV0YWlscyB7XG4gICAgICBtYXJnaW46IDAgMCAyNXB4OyB9IH1cbiAgLmZvb3Rlci1jb250YWN0LWRldGFpbHMgdWwubWVudSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgLmZvb3Rlci1jb250YWN0LWRldGFpbHMgdWwubWVudSA+IGxpIHtcbiAgICAgIG1hcmdpbjogMCAwIDEwcHg7IH1cbiAgICAgIC5mb290ZXItY29udGFjdC1kZXRhaWxzIHVsLm1lbnUgPiBsaTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5mb290ZXItY29udGFjdC1kZXRhaWxzIHVsLm1lbnUgPiBsaSB7XG4gICAgICAgICAgbWFyZ2luOiAwIDAgMTVweDsgfSB9XG4gICAgICAuZm9vdGVyLWNvbnRhY3QtZGV0YWlscyB1bC5tZW51ID4gbGkgPiBhIHtcbiAgICAgICAgcGFkZGluZzogMjBweCAwO1xuICAgICAgICBjb2xvcjogI2FlOTQ2MTtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAuZm9vdGVyLWNvbnRhY3QtZGV0YWlscyB1bC5tZW51ID4gbGkgPiBhIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAgICAgICAuZm9vdGVyLWNvbnRhY3QtZGV0YWlscyB1bC5tZW51ID4gbGkgPiBhOmhvdmVyIHtcbiAgICAgICAgICBjb2xvcjogIzA2MDUyZjsgfVxuICAgICAgICAuZm9vdGVyLWNvbnRhY3QtZGV0YWlscyB1bC5tZW51ID4gbGkgPiBhOmFjdGl2ZSB7XG4gICAgICAgICAgY29sb3I6ICNmZmZmZmY7IH1cblxuLmZvb3Rlci1yZXZlYWwtYnV0dG9uIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAxNXB4IDMwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwNjA1MmY7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44cywgY29sb3IgMC44czsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5mb290ZXItcmV2ZWFsLWJ1dHRvbiB7XG4gICAgICB3aWR0aDogZml0LWNvbnRlbnQ7IH0gfVxuICAuZm9vdGVyLXJldmVhbC1idXR0b246aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNhZTk0NjE7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9XG4gIC5mb290ZXItcmV2ZWFsLWJ1dHRvbjphY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwNjA1MmY7IH1cblxuLmZvb3Rlci1tYWlsaW5nLWxpc3QtcmV2ZWFsLWNvbnRhaW5lci5hY3RpdmUgLmZvb3Rlci1yZXZlYWwtYnV0dG9uIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uZm9vdGVyLW1haWxpbmctbGlzdC1yZXZlYWwtY29udGFpbmVyLmFjdGl2ZSAubWFpbGluZy1saXN0LWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuZm9vdGVyLW1haWxpbmctbGlzdC1yZXZlYWwtY29udGFpbmVyLmFjdGl2ZSAubWFpbGluZy1saXN0LWNvbnRhaW5lciB7XG4gICAgICBtYXgtd2lkdGg6IDQwMHB4OyB9IH1cblxuLmZvb3Rlci1tYWlsaW5nLWxpc3QtcmV2ZWFsLWNvbnRhaW5lciAubWFpbGluZy1saXN0LWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmZvb3Rlci1tYWlsaW5nLWxpc3QtbGluayB7XG4gIC0tY29tcG9uZW50LXNwZWNpZmMtc3RlcC1oZWlnaHQ6IDE1cHg7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tc21hbGwtbWFyZ2luLCAwKTtcbiAgcGFkZGluZzogdmFyKC0tY29tbW9uLWJ1dHRvbi1wYWRkaW5nLCAxMHB4IDE1cHgpO1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzA2MDUyZjtcbiAgYm9yZGVyLXdpZHRoOiAycHg7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxldHRlci1zcGFjaW5nOiAwLjZweDtcbiAgd29yZC1zcGFjaW5nOiAycHg7XG4gIGJvcmRlci1jb2xvcjogIzA2MDUyZjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcbiAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiBhbGwgMC44cztcbiAgLypcclxuICAgICAgICAtLS0gSWNvbiBjb25maWd1cmF0aW9uIC0tLVxyXG4gICAgICAgIC0gJGljcG9zaXRpb24gPT4gQmVmb3JlIG9yIGFmdGVyIHRleHRcclxuICAgICAgICAtIG1hcmdpbiA9PiBpY29uIG1hcmdpblxyXG4gICAgICAgIC0gY29sb3VyID0+IGljb24gY29sb3VyIHN0YXRlcyAoIGRlZmF1bHQsIGhvdmVyICYgYWN0aXZlIClcclxuICAgICAgICAtIHNpemUgPT4gaWNvbiBzaXplLlxyXG4gICAgICAgIC0gY29udGVudCA9PiB0aGUgZm9udCBpY29uIGl0c2VsZiwgbm9ybWFsbHkgc3RvcmVkIGluICRzaXRlLWljb25zXHJcbiAgICAgICAgLSBmb250LWZhbWlseSA9PiB0aGUgZm9udCBmYW1pbHkgdGhhdCB0aGUgaWNvbiBiZWxvbmdzIHRvIGZvbnQgYXdlc29tZSBvciBmb250ZWxsby5cclxuICAgICAgICAqLyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuZm9vdGVyLW1haWxpbmctbGlzdC1saW5rIHtcbiAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1sYXJnZS1tYXJnaW4sIDApOyB9IH1cbiAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAuZm9vdGVyLW1haWxpbmctbGlzdC1saW5rOmhvdmVyLCAuZm9vdGVyLW1haWxpbmctbGlzdC1saW5rLmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2FlOTQ2MTtcbiAgICAgIGJvcmRlci1jb2xvcjogI2FlOTQ2MTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgICAuZm9vdGVyLW1haWxpbmctbGlzdC1saW5rOmhvdmVyOmFmdGVyLCAuZm9vdGVyLW1haWxpbmctbGlzdC1saW5rLmhvdmVyOmFmdGVyIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgICAgIC5mb290ZXItbWFpbGluZy1saXN0LWxpbms6aG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLmZvb3Rlci1tYWlsaW5nLWxpc3QtbGluay5ob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9IH1cbiAgLmZvb3Rlci1tYWlsaW5nLWxpc3QtbGluazphY3RpdmUsIC5mb290ZXItbWFpbGluZy1saXN0LWxpbmsuYWN0aXZlIHtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDYwNTJmO1xuICAgIGJvcmRlci1jb2xvcjogIzA2MDUyZjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgIC5mb290ZXItbWFpbGluZy1saXN0LWxpbms6YWN0aXZlOmFmdGVyLCAuZm9vdGVyLW1haWxpbmctbGlzdC1saW5rLmFjdGl2ZTphZnRlciB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAuZm9vdGVyLW1haWxpbmctbGlzdC1saW5rOmRpc2FibGVkLCAuZm9vdGVyLW1haWxpbmctbGlzdC1saW5rLmRpc2FibGVkLCAuZm9vdGVyLW1haWxpbmctbGlzdC1saW5rW2Rpc2FibGVkXSB7XG4gICAgY29sb3I6ICM5MjkyOTI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMjAwLCAyMDAsIDIwMCwgMC43KTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgLmZvb3Rlci1tYWlsaW5nLWxpc3QtbGluazpkaXNhYmxlZDphZnRlciwgLmZvb3Rlci1tYWlsaW5nLWxpc3QtbGluay5kaXNhYmxlZDphZnRlciwgLmZvb3Rlci1tYWlsaW5nLWxpc3QtbGlua1tkaXNhYmxlZF06YWZ0ZXIge1xuICAgICAgY29sb3I6ICM5MjkyOTI7IH1cbiAgLmZvb3Rlci1tYWlsaW5nLWxpc3QtbGluazpkaXNhYmxlZDpob3ZlciwgLmZvb3Rlci1tYWlsaW5nLWxpc3QtbGluay5kaXNhYmxlZDpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwMCwgMjAwLCAyMDAsIDAuNyk7IH1cbiAgLmZvb3Rlci1tYWlsaW5nLWxpc3QtbGluazpmb2N1cy12aXNpYmxlIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7IH1cbiAgLmZvb3Rlci1tYWlsaW5nLWxpc3QtbGluazphZnRlciB7XG4gICAgY29udGVudDogXCLvh5hcIjtcbiAgICBtYXJnaW46IDAgMCAwIDEwcHg7XG4gICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgLmZvb3Rlci1tYWlsaW5nLWxpc3QtbGluayAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cblxuLm1haWxpbmctbGlzdC1jb250YWluZXIge1xuICBtYXJnaW46IDAgMCAyMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAubWFpbGluZy1saXN0LWNvbnRhaW5lciB7XG4gICAgICBtYXJnaW46IDAgMCA1NXB4OyB9IH1cbiAgLm1haWxpbmctbGlzdC1jb250YWluZXIgaDMge1xuICAgIG1hcmdpbjogMCAwIDE1cHg7XG4gICAgY29sb3I6ICMwNjA1MmY7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5tYWlsaW5nLWxpc3QtY29udGFpbmVyIGgzIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgNDBweDsgfSB9XG4gIC5tYWlsaW5nLWxpc3QtY29udGFpbmVyIHAge1xuICAgIGNvbG9yOiAjNzc3Nzc3O1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTAuNXB4O1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5tYWlsaW5nLWxpc3QtY29udGFpbmVyIHAge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjFweDsgfSB9XG4gIC5tYWlsaW5nLWxpc3QtY29udGFpbmVyIHNwYW4ubWFpbC1pbnB1dCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMTBweCAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZGFkYWRhOyB9XG4gIC5tYWlsaW5nLWxpc3QtY29udGFpbmVyIGZvcm0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlZWVlOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICAgIC5tYWlsaW5nLWxpc3QtY29udGFpbmVyIGZvcm0gaW5wdXQge1xuICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7IH1cbiAgICAgICAgLm1haWxpbmctbGlzdC1jb250YWluZXIgZm9ybSBpbnB1dCArIGJ1dHRvbiB7XG4gICAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwOyB9IH1cbiAgLm1haWxpbmctbGlzdC1jb250YWluZXIgZmllbGRzZXQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIC5tYWlsaW5nLWxpc3QtY29udGFpbmVyIC5mb3JtLWVycm9yIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMTBweCAwIDA7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG4uZm9vdGVyT3V0ZXJDb250YWluZXIsIC5mb290ZXItYmFja2dyb3VuZCB7XG4gIG1hcmdpbi10b3A6IDI1cHg7XG4gIHBhZGRpbmc6IDIwcHggMTBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VlZWVlZTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5mb290ZXJPdXRlckNvbnRhaW5lciwgLmZvb3Rlci1iYWNrZ3JvdW5kIHtcbiAgICAgIHBhZGRpbmc6IDY1cHggMTBweCAyMHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAuZm9vdGVyT3V0ZXJDb250YWluZXIsIC5mb290ZXItYmFja2dyb3VuZCB7XG4gICAgICBwYWRkaW5nOiA2NXB4IDAgMjBweDsgfSB9XG4gIC5mb290ZXJPdXRlckNvbnRhaW5lciAjZm9vdGVyLWlubmVyLWNvbnRhaW5lciwgLmZvb3Rlci1iYWNrZ3JvdW5kICNmb290ZXItaW5uZXItY29udGFpbmVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuZm9vdGVyT3V0ZXJDb250YWluZXIgI2Zvb3Rlci1pbm5lci1jb250YWluZXIsIC5mb290ZXItYmFja2dyb3VuZCAjZm9vdGVyLWlubmVyLWNvbnRhaW5lciB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH0gfVxuXG4vKlxyXG4tLS0tLSBBSkFYIC0tLS0tXHJcbkhhbmRsZXMgdGhlIGZvbGxvd2luZzogXHJcbi0gQUpBWCBTcGlubmVyXHJcbi0gQ2FsbGJhY2sgY29udGFpbmVyc1xyXG4tIFVwZGF0ZSBDb250ZW50IC0gQmFzaWNhbGx5IGEgY29udGFpbmVyIGluc2lkZSBvZiB0aGUgYWpheCByZXNwb25zZSB0aGF0IGFsbG93cyB5b3UgdG8gdXBkYXRlIGNvbnRlbnQgb3V0c2lkZSBvZiB0aGUgY2FsbGJhY2sgY29udGFpbmVyLlxyXG4qL1xuLmNhbGxiYWNrQ29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxleC1ncm93OiAxOyB9XG4gIC5jYWxsYmFja0NvbnRhaW5lcjpoYXMoLkFKQVhCbG9jaykge1xuICAgIG1pbi1oZWlnaHQ6IDUwcHg7IH1cblxuLmNhbGxiYWNrTGlzdENvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uQUpBWEJsb2NrLCAuaW5pdGlhbGlzaW5nLWNvbnRlbnQtYmxvY2tlci1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjM4LCAyMzgsIDIzOCwgMC42KTtcbiAgY3Vyc29yOiBuby1kcm9wO1xuICB6LWluZGV4OiAxMDAwMDsgfVxuICAuQUpBWEJsb2NrIC5zcGlubmVyLCAuaW5pdGlhbGlzaW5nLWNvbnRlbnQtYmxvY2tlci1jb250YWluZXIgLnNwaW5uZXIge1xuICAgIHdpZHRoOiA1MHB4O1xuICAgIGhlaWdodDogNTBweDtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpOyB9XG4gICAgLkFKQVhCbG9jayAuc3Bpbm5lcjpiZWZvcmUsIC5pbml0aWFsaXNpbmctY29udGVudC1ibG9ja2VyLWNvbnRhaW5lciAuc3Bpbm5lcjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHdpZHRoOiA0MnB4O1xuICAgICAgaGVpZ2h0OiA0MnB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBib3JkZXI6IDRweCBzb2xpZCByZ2JhKDYsIDUsIDQ3LCAwLjIpO1xuICAgICAgYm9yZGVyLXRvcDogNHB4IHNvbGlkICMwNjA1MmY7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2UgMHM7XG4gICAgICBhbmltYXRpb246IHNwaW4gMC43cyBjdWJpYy1iZXppZXIoMC41NiwgMC4xMSwgMC4yMiwgMC44NjUpIDBzIGluZmluaXRlO1xuICAgICAgei1pbmRleDogMTsgfVxuXG5Aa2V5ZnJhbWVzIHNwaW4ge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7IH1cbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDQwNWRlZyk7IH0gfVxuICAgIC5BSkFYQmxvY2sgLnNwaW5uZXIgKyAuY21zLWNvbnRlbnQtY29udGFpbmVyLCAuaW5pdGlhbGlzaW5nLWNvbnRlbnQtYmxvY2tlci1jb250YWluZXIgLnNwaW5uZXIgKyAuY21zLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbjogMTBweCAwIDA7IH1cbiAgLkFKQVhCbG9jayAuY21zLWNvbnRlbnQtY29udGFpbmVyIHAsIC5pbml0aWFsaXNpbmctY29udGVudC1ibG9ja2VyLWNvbnRhaW5lciAuY21zLWNvbnRlbnQtY29udGFpbmVyIHAge1xuICAgIGNvbG9yOiAjNzc3Nzc3O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cblxuW2RhdGEtdXBkYXRlLWNvbnRlbnRdLCBbZGF0YS1hamF4LXVwZGF0ZS1icmVhZGNydW1ic10ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi8qXHJcbi0tLS0tIEZpbHRlcnMgLS0tLS0tIFxyXG4tIFRoZXNlIGEgdHlwaWNhbGx5IG9uIGxpc3QgcGFnZXMgZm9yIHByb2R1Y3RzLlxyXG4tIEF0dHJpYnV0ZSBmaWx0ZXJzIHRoYXQgYWxzbyBpbmNsdWRlIGNvbG91ciBmaWx0ZXJzIGFuZCBwcmljZSBzbGlkZXIuXHJcbi0gWW91IHdpbGwgYWxzbyBmaW5kIHRoZSBtb2JpbGUgc3R5bGVzIGhlcmUgZm9yIGZpbHRlcnMuXHJcbiovXG4jbW9iaWxlVG9nZ2xlQ29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgI21vYmlsZVRvZ2dsZUNvbnRhaW5lciB1bCB7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG4jZmlsdGVycy10b2dnbGUsIC5maWx0ZXItdG9nZ2xlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDIwcHggMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzA2MDUyZjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb2xvcjogIzA2MDUyZjtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LWZhbWlseTogXCJHaWJzb25cIiwgXCJHaWJzb24gRmFsbGJhY2tcIiwgXCJBcmlhbFwiO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44cywgY29sb3IgMC44czsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgI2ZpbHRlcnMtdG9nZ2xlLCAuZmlsdGVyLXRvZ2dsZSB7XG4gICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMCk7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAgICAgI2ZpbHRlcnMtdG9nZ2xlOmhvdmVyLCAuZmlsdGVyLXRvZ2dsZTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjYWU5NDYxO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAgICAgICAjZmlsdGVycy10b2dnbGU6aG92ZXI6YmVmb3JlLCAuZmlsdGVyLXRvZ2dsZTpob3ZlcjpiZWZvcmUge1xuICAgICAgICAgIGNvbG9yOiAjMDYwNTJmO1xuICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH0gfVxuICAjZmlsdGVycy10b2dnbGU6bm90KC5pcy1zdHVjayksIC5maWx0ZXItdG9nZ2xlOm5vdCguaXMtc3R1Y2spIHtcbiAgICB0b3A6IGF1dG8gIWltcG9ydGFudDsgfVxuICAjZmlsdGVycy10b2dnbGUuaXMtc3R1Y2ssIC5maWx0ZXItdG9nZ2xlLmlzLXN0dWNrIHtcbiAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgbGVmdDogMDtcbiAgICBwYWRkaW5nOiAxMHB4IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzA2MDUyZjtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBib3gtc2hhZG93OiAwcHggMnB4IDRweCAxcHggcmdiYSgxMiwgMTIsIDEzLCAwLjEpO1xuICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgNHM7XG4gICAgei1pbmRleDogMTAwMDsgfVxuICAgICNmaWx0ZXJzLXRvZ2dsZS5pcy1zdHVjazpiZWZvcmUsIC5maWx0ZXItdG9nZ2xlLmlzLXN0dWNrOmJlZm9yZSB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAjZmlsdGVycy10b2dnbGU6YmVmb3JlLCAuZmlsdGVyLXRvZ2dsZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi74KwXCI7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgY29sb3I6ICMwNjA1MmY7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAjZmlsdGVycy10b2dnbGU6YmVmb3JlLCAuZmlsdGVyLXRvZ2dsZTpiZWZvcmUge1xuICAgICAgICBmb250LXNpemU6IDE1cHg7IH0gfVxuICAjZmlsdGVycy10b2dnbGU6aG92ZXIsIC5maWx0ZXItdG9nZ2xlOmhvdmVyIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gICNmaWx0ZXJzLXRvZ2dsZSAuYWN0aXZlLWZpbHRlci1jb3VudCwgLmZpbHRlci10b2dnbGUgLmFjdGl2ZS1maWx0ZXItY291bnQge1xuICAgIG1hcmdpbi1yaWdodDogM3B4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgI2ZpbHRlcnMtdG9nZ2xlIC5hY3RpdmUtZmlsdGVyLWNvdW50LCAuZmlsdGVyLXRvZ2dsZSAuYWN0aXZlLWZpbHRlci1jb3VudCB7XG4gICAgICAgIHdpZHRoOiAxNXB4O1xuICAgICAgICBoZWlnaHQ6IDE1cHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAxMnB4O1xuICAgICAgICBsZWZ0OiAxMnB4O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2FlOTQ2MTtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGZvbnQtc2l6ZTogMC41NjI1cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMTQuMnB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gICAgICAgIGJvcmRlcjogMC44cHggc29saWQgI2ZmZmZmZjsgfSB9XG5cbi5maWx0ZXJzLWhlYWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzA2MDUyZjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmZpbHRlcnMtaGVhZGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9IH1cbiAgLmZpbHRlcnMtaGVhZGVyIC5jbG9zZS1idXR0b24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwOyB9XG4gICAgLmZpbHRlcnMtaGVhZGVyIC5jbG9zZS1idXR0b246YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74CNXCI7XG4gICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgIGNvbG9yOiByZ2JhKDYsIDUsIDQ3LCAwLjgpO1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNnMsIGNvbG9yIDAuOHM7IH1cbiAgICAuZmlsdGVycy1oZWFkZXIgLmNsb3NlLWJ1dHRvbjpob3ZlcjpiZWZvcmUge1xuICAgICAgY29sb3I6ICNhZTk0NjE7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC42cywgY29sb3IgMC42czsgfVxuICAgIC5maWx0ZXJzLWhlYWRlciAuY2xvc2UtYnV0dG9uOmFjdGl2ZTpiZWZvcmUge1xuICAgICAgY29sb3I6ICMwNjA1MmY7XG4gICAgICB0cmFuc2l0aW9uOiBmb250LXNpemUgMS4ycywgY29sb3IgMC42czsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5maWx0ZXJzLWZvb3RlciB7XG4gICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi5maWx0ZXJzLWZvb3RlciAuYnV0dG9uLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cbiAgLmZpbHRlcnMtZm9vdGVyIC5idXR0b24tY29udGFpbmVyIGJ1dHRvbiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5maWx0ZXJzLWZvb3RlciAuYnV0dG9uLWNvbnRhaW5lciBidXR0b24ge1xuICAgICAgICB3aWR0aDogYXV0bzsgfSB9XG5cbiNmaWx0ZXJCYWNrVG9MaXN0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICNmaWx0ZXJCYWNrVG9MaXN0IC5jbG9zZS1idXR0b24ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IGF1dG87XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMTBweCAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNiwgNSwgNDcsIDAuNCk7XG4gICAgY29sb3I6ICMwMDAwMDA7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IH1cblxuLmF0dHJpYnV0ZUxpc3QubWVudSA+IHVsID4gbGk6bm90KC5hY3RpdmUpIC5hdHRyaWJ1dGVzQ29udGFpbmVyIHtcbiAgaGVpZ2h0OiAwOyB9XG5cbi5hdHRyaWJ1dGVMaXN0Lm1lbnUgPiBsaSB7XG4gIG1hcmdpbjogMCAwIDIwcHg7XG4gIHBhZGRpbmc6IDAgMCAxNXB4O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2FlYWVhZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmF0dHJpYnV0ZUxpc3QubWVudSA+IGxpIHtcbiAgICAgIG1hcmdpbjogMCAwIDI1cHg7IH0gfVxuICAuYXR0cmlidXRlTGlzdC5tZW51ID4gbGk6Zmlyc3QtY2hpbGQge1xuICAgIHBhZGRpbmctdG9wOiAxNXB4OyB9XG4gIC5hdHRyaWJ1dGVMaXN0Lm1lbnUgPiBsaSBsaSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMDsgfVxuXG4uYXR0cmlidXRlTGlzdC5tZW51IHVsIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgYm9yZGVyLXRvcDogMDsgfVxuICAuYXR0cmlidXRlTGlzdC5tZW51IHVsOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDsgfVxuICAuYXR0cmlidXRlTGlzdC5tZW51IHVsIGxpIHtcbiAgICBwYWRkaW5nOiA1cHggMDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuYXR0cmlidXRlTGlzdC5tZW51IHVsIGxpOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YzZjNmMztcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9IH1cbiAgLmF0dHJpYnV0ZUxpc3QubWVudSB1bCBsaS5hY3RpdmUgYSB7XG4gICAgcGFkZGluZzogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogIzAwMDAwMDtcbiAgICBmb250LXNpemU6IDFyZW07IH1cbiAgLmF0dHJpYnV0ZUxpc3QubWVudSB1bCBsaS5hY3RpdmUgdWwge1xuICAgIG1heC1oZWlnaHQ6IDUwMDBweDtcbiAgICBtYXJnaW46IDA7XG4gICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjZzOyB9XG4gIC5hdHRyaWJ1dGVMaXN0Lm1lbnUgdWwgdWwge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuOHM7IH1cbiAgICAuYXR0cmlidXRlTGlzdC5tZW51IHVsIHVsIGxpIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgLmF0dHJpYnV0ZUxpc3QubWVudSB1bCB1bCBsaTpob3ZlciAuZmlsdGVyTmFtZSwgLmF0dHJpYnV0ZUxpc3QubWVudSB1bCB1bCBsaTpob3ZlciAuZmlsdGVySXRlbUNvdW50IHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIGNvbG9yOiAjMDYwNTJmO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gICAgICAuYXR0cmlidXRlTGlzdC5tZW51IHVsIHVsIGxpOmhvdmVyIC5jb2xvdXJQcmV2aWV3IHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMnB4O1xuICAgICAgICBoZWlnaHQ6IDEycHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgLmF0dHJpYnV0ZUxpc3QubWVudSB1bCBsYWJlbCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICAgLmF0dHJpYnV0ZUxpc3QubWVudSB1bCBsYWJlbDpob3ZlciB7XG4gICAgICBjb2xvcjogI2FlOTQ2MTsgfVxuICAgIC5hdHRyaWJ1dGVMaXN0Lm1lbnUgdWwgbGFiZWw6YWN0aXZlIHtcbiAgICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gIC5hdHRyaWJ1dGVMaXN0Lm1lbnUgdWwgLmZpbHRlck5hbWUge1xuICAgIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7IH1cbiAgLmF0dHJpYnV0ZUxpc3QubWVudSB1bCAuY29sb3VyLXByZXZpZXctY29udGFpbmVyIHtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgb3JkZXI6IDM7IH1cbiAgLmF0dHJpYnV0ZUxpc3QubWVudSB1bCAuY29sb3VyUHJldmlldyB7XG4gICAgd2lkdGg6IDEwcHg7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMCAxMHB4IDAgYXV0bztcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuOHM7IH1cbiAgLmF0dHJpYnV0ZUxpc3QubWVudSB1bCAuZmlsdGVySXRlbUNvdW50IHtcbiAgICBvcmRlcjogMjtcbiAgICBtYXJnaW46IDAgMCAwIDVweDtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLmF0dHJpYnV0ZUxpc3QubWVudSB1bCAuY29udHJvbCAuY2hlY2tib3gge1xuICAgIG1hcmdpbi1yaWdodDogMTJweDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBvcmRlcjogNDsgfVxuICAgIC5hdHRyaWJ1dGVMaXN0Lm1lbnUgdWwgLmNvbnRyb2wgLmNoZWNrYm94IHNwYW46YmVmb3JlIHtcbiAgICAgIHJpZ2h0OiAwOyB9XG5cbi5hdHRyaWJ1dGVMaXN0Lm1lbnUgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudC5pcy1zdWJtZW51LWl0ZW1bYXJpYS1leHBhbmRlZD10cnVlXSA+IGEge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5hdHRyaWJ1dGVMaXN0Lm1lbnUgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudC5pcy1zdWJtZW51LWl0ZW0uYWN0aXZlIHtcbiAgcGFkZGluZzogMDsgfVxuXG4uYXR0cmlidXRlTGlzdC5tZW51IC5pcy1hY2NvcmRpb24tc3VibWVudVthcmlhLWhpZGRlbj10cnVlXSB7XG4gIGhlaWdodDogMDtcbiAgdHJhbnNpdGlvbjogaGVpZ2h0IDAuOHM7IH1cblxuLmF0dHJpYnV0ZUxpc3QubWVudSAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUuc2Nyb2xsZXIge1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBwYWRkaW5nOiAwIDEwcHggMCAwOyB9XG4gIC5hdHRyaWJ1dGVMaXN0Lm1lbnUgLmlzLWFjY29yZGlvbi1zdWJtZW51LnNjcm9sbGVyIHVsIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG5cbi5hdHRyaWJ1dGVMaXN0Lm1lbnUgLm9wdGlvbkhlYWRpbmcge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgY29sb3I6ICMwNjA1MmY7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZm9udC1zaXplOiAxLjA2MjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgLmF0dHJpYnV0ZUxpc3QubWVudSAub3B0aW9uSGVhZGluZzpob3ZlciB7XG4gICAgY29sb3I6ICNhZTk0NjE7IH1cbiAgLmF0dHJpYnV0ZUxpc3QubWVudSAub3B0aW9uSGVhZGluZzphY3RpdmUge1xuICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gIC5hdHRyaWJ1dGVMaXN0Lm1lbnUgLm9wdGlvbkhlYWRpbmcgc3BhbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi5hdHRyaWJ1dGVMaXN0Lm1lbnUgLnN1Ym1lbnUge1xuICBwYWRkaW5nOiAwOyB9XG5cbi5hdHRyaWJ1dGVMaXN0Lm1lbnUgLnNob3dNb3JlQXR0cmlidXRlcyA+IGEsIC5hdHRyaWJ1dGVMaXN0Lm1lbnUgLnNob3dMZXNzQXR0cmlidXRlcyA+IGEge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDAgMTBweDtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuICAuYXR0cmlidXRlTGlzdC5tZW51IC5zaG93TW9yZUF0dHJpYnV0ZXMgPiBhOmhvdmVyLCAuYXR0cmlidXRlTGlzdC5tZW51IC5zaG93TGVzc0F0dHJpYnV0ZXMgPiBhOmhvdmVyIHtcbiAgICBjb2xvcjogIzA2MDUyZjsgfVxuICAuYXR0cmlidXRlTGlzdC5tZW51IC5zaG93TW9yZUF0dHJpYnV0ZXMgPiBhOmFjdGl2ZSwgLmF0dHJpYnV0ZUxpc3QubWVudSAuc2hvd0xlc3NBdHRyaWJ1dGVzID4gYTphY3RpdmUge1xuICAgIGNvbG9yOiAjMDYwNTJmOyB9XG5cbi5zaG93TW9yZUF0dHJpYnV0ZXMuYWN0aXZlIGEge1xuICBmb250LXNpemU6IDFyZW07XG4gIGNvbG9yOiAjMDYwNTJmO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gIC5zaG93TW9yZUF0dHJpYnV0ZXMuYWN0aXZlIGE6aG92ZXIge1xuICAgIGNvbG9yOiAjYWU5NDYxO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cblxuLmFjY29yZGlvbi1tZW51IC5pcy1hY2NvcmRpb24tc3VibWVudSAuc2hvd0xlc3NBdHRyaWJ1dGVzIGEge1xuICBwYWRkaW5nOiAwOyB9XG5cbi5zaG93TGVzc0F0dHJpYnV0ZXMgYSB7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLnNob3dMZXNzQXR0cmlidXRlcyBhOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLuoIJcIjtcbiAgICBjb2xvcjogI2FlOTQ2MTtcbiAgICBmb250LXNpemU6IDhweDtcbiAgICBmb250LWZhbWlseTogXCJmb250ZWxsby1kam1pbGVzXCI7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgLnNob3dMZXNzQXR0cmlidXRlcyBhOmhvdmVyIHtcbiAgICBjb2xvcjogIzA2MDUyZjsgfVxuICAgIC5zaG93TGVzc0F0dHJpYnV0ZXMgYTpob3ZlcjpiZWZvcmUge1xuICAgICAgY29sb3I6ICMwNjA1MmY7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gIC5zaG93TGVzc0F0dHJpYnV0ZXMgYTphY3RpdmUge1xuICAgIGNvbG9yOiAjMDYwNTJmOyB9XG4gICAgLnNob3dMZXNzQXR0cmlidXRlcyBhOmFjdGl2ZTpiZWZvcmUge1xuICAgICAgY29sb3I6ICMwNjA1MmY7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG5cbiNmaWx0ZXJzLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbiNhdHRyaWJ1dGUtZmlsdGVycy1mb3JtIHtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgI2F0dHJpYnV0ZS1maWx0ZXJzLWZvcm0ge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk5Ljk5ODc1ZW0pIHtcbiAgICAjYXR0cmlidXRlLWZpbHRlcnMtZm9ybS5hY3RpdmUge1xuICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk5Ljk5ODc1ZW0pIHtcbiAgICAjYXR0cmlidXRlLWZpbHRlcnMtZm9ybS5hY3RpdmUtdXBkYXRpbmcge1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgICAgI2F0dHJpYnV0ZS1maWx0ZXJzLWZvcm0uYWN0aXZlLXVwZGF0aW5nICNmaWx0ZXJzLWNvbnRhaW5lciB7XG4gICAgICAgIG9wYWNpdHk6IDAuMzsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OS45OTg3NWVtKSB7XG4gICAgI2F0dHJpYnV0ZS1maWx0ZXJzLWZvcm0uYWN0aXZlLCAjYXR0cmlidXRlLWZpbHRlcnMtZm9ybS5hY3RpdmUtdXBkYXRpbmcge1xuICAgICAgd2lkdGg6IDEwMHZ3O1xuICAgICAgbWluLWhlaWdodDogMTAwJTtcbiAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgei1pbmRleDogMTAwMDA7IH1cbiAgICAgICNhdHRyaWJ1dGUtZmlsdGVycy1mb3JtLmFjdGl2ZSAuYXR0cmlidXRlLWxpc3QtY29udGFpbmVyLCAjYXR0cmlidXRlLWZpbHRlcnMtZm9ybS5hY3RpdmUtdXBkYXRpbmcgLmF0dHJpYnV0ZS1saXN0LWNvbnRhaW5lciB7XG4gICAgICAgIGhlaWdodDogMTAwdmg7XG4gICAgICAgIG92ZXJmbG93OiBzY3JvbGw7IH0gfVxuICAjYXR0cmlidXRlLWZpbHRlcnMtZm9ybSBoMiB7XG4gICAgcGFkZGluZzogMTBweCA1cHg7XG4gICAgY29sb3I6ICMwNjA1MmY7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgI2F0dHJpYnV0ZS1maWx0ZXJzLWZvcm0gaDIge1xuICAgICAgICBwYWRkaW5nOiAwIDAgNXB4O1xuICAgICAgICBib3JkZXItY29sb3I6ICNhZWFlYWU7IH0gfVxuICAjYXR0cmlidXRlLWZpbHRlcnMtZm9ybSB1bCBsaSB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAjYXR0cmlidXRlLWZpbHRlcnMtZm9ybSB1bCBsaTphY3RpdmUsICNhdHRyaWJ1dGUtZmlsdGVycy1mb3JtIHVsIGxpOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgI2F0dHJpYnV0ZS1maWx0ZXJzLWZvcm0gdWwgbGk6YWN0aXZlIGEge1xuICAgICAgY29sb3I6ICM3Nzc3Nzc7IH1cbiAgI2F0dHJpYnV0ZS1maWx0ZXJzLWZvcm0gLnNob3dNb3JlQXR0cmlidXRlc0NvbnRhaW5lciB7XG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gICAgI2F0dHJpYnV0ZS1maWx0ZXJzLWZvcm0gLnNob3dNb3JlQXR0cmlidXRlc0NvbnRhaW5lciBsaSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAjYXBwbGllZEZpbHRlcnMge1xuICAgIG1hcmdpbi1ib3R0b206IDM1cHg7IH0gfVxuXG4jYXBwbGllZEZpbHRlcnMgaDMge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDEwcHggMDtcbiAgY29sb3I6ICMwNjA1MmY7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IDEuMDYyNXJlbTtcbiAgZm9udC1zdHlsZTogaXRhbGljOyB9XG5cbiNhcHBsaWVkRmlsdGVycyB1bCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNhZWFlYWU7IH1cblxuI2FwcGxpZWRGaWx0ZXJzIGxpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDVweCAwIDA7IH1cbiAgI2FwcGxpZWRGaWx0ZXJzIGxpOmhvdmVyIGEge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmM2YzZjM7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9XG4gICAgI2FwcGxpZWRGaWx0ZXJzIGxpOmhvdmVyIGE6YWZ0ZXIge1xuICAgICAgY29sb3I6ICNhZTk0NjE7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG5cbiNhcHBsaWVkRmlsdGVycyBhIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDVweCAwIDVweCAwO1xuICBjb2xvcjogIzAwMDAwMDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogNDAwOyB9XG4gICNhcHBsaWVkRmlsdGVycyBhOmFmdGVyIHtcbiAgICBjb250ZW50OiAneCc7XG4gICAgd2lkdGg6IDEwcHg7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDVweDtcbiAgICBib3R0b206IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIGxpbmUtaGVpZ2h0OiAwLjY7XG4gICAgY29sb3I6ICM4ODg4ODg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC44czsgfVxuICAjYXBwbGllZEZpbHRlcnMgYTpob3ZlcjphZnRlciB7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgIGNvbG9yOiAjYWU5NDYxO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfVxuICAjYXBwbGllZEZpbHRlcnMgYS5jbGVhci1hbGwtYXR0cmlidXRlcyB7XG4gICAgbWFyZ2luOiAzMHB4IDAgMjBweDtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY29sb3I6ICMwMDAwMDA7IH1cblxuaW5wdXQucHJpY2Utc2xpZGVyLWlucHV0IHtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDsgfVxuXG4ucHJpY2Utc2xpZGVyLWlucHV0IHtcbiAgbWF4LXdpZHRoOiA3MHB4O1xuICBtYXgtaGVpZ2h0OiAzNXB4O1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gIGJvcmRlci13aWR0aDogMXB4IDFweCAxcHggMCAhaW1wb3J0YW50O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuICAucHJpY2Utc2xpZGVyLWlucHV0LnVpLXN0YXRlLWFjdGl2ZSB7XG4gICAgYm9yZGVyLWNvbG9yOiAjYWU5NDYxO1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjZzOyB9XG4gIC5wcmljZS1zbGlkZXItaW5wdXQudWktc3RhdGUtYWN0aXZlICsgLmN1cnJlbmN5IHtcbiAgICBib3JkZXItY29sb3I6ICNhZTk0NjE7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuNnM7IH1cbiAgLnByaWNlLXNsaWRlci1pbnB1dCArIC5jdXJyZW5jeSB7XG4gICAgaGVpZ2h0OiAzNXB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAwIDAgMCAxMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLWNvbG9yOiAjYzhjOGM4O1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAxcHggMCAxcHggMXB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cbiAgLnByaWNlLXNsaWRlci1pbnB1dDpmb2N1cyArIC5jdXJyZW5jeSB7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3gtc2hhZG93OiAtMTVweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4xKTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAucHJpY2Utc2xpZGVyLWlucHV0OnJlYWQtb25seSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuLnByaWNlLWlucHV0LWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLnByaWNlLWlucHV0LWNvbnRhaW5lcjpudGgtb2YtdHlwZSgyKSB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG5cbiNwcmljZS1zbGlkZXIge1xuICBtYXgtd2lkdGg6IDk2JTtcbiAgbWFyZ2luLXRvcDogMjVweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgI3ByaWNlLXNsaWRlciB7XG4gICAgICBtYXgtd2lkdGg6IDkzJTsgfSB9XG5cbiNwcmljZUF0dEhpZ2gge1xuICBmbG9hdDogcmlnaHQ7IH1cblxuLypcclxuLS0tLS0gTW9kYWxzIC0tLS0tLSBcclxuLSBUaGlzIGlzIHRoZSBtZWNoYW5pc20gdGhhdCBnZXRzIHVzZWQgZm9yIHBvcHVwIGNvbnRlbnQgaW4gZXhwcmVzcy5cclxuLSBDYW4gYmUgdXNlZCB0byBwb3AgZm9ybSwgY21zIGNvbnRlbnQsIG5vdGlmaWNhdGlvbiAmIHBheW1lbnQgZnJhbWVzLlxyXG4qL1xuLm1vZGFsLWNvbnRhaW5lciB7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubW9kYWwtY29udGFpbmVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH0gfVxuICAubW9kYWwtY29udGFpbmVyIC5wb3B1cC1iYWNrZ3JvdW5kIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5tb2RhbC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDExNTBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm1vZGFsLWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuOyB9IH1cbiAgLm1vZGFsLWNvbnRhaW5lciAuY29udGVudCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAubW9kYWwtY29udGFpbmVyIC5jb250ZW50IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bzsgfSB9XG4gIC5tb2RhbC1jb250YWluZXIgLmJ1dHRvbnMtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAubW9kYWwtY29udGFpbmVyIC5idXR0b25zLWNvbnRhaW5lciB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtZXZlbmx5OyB9IH1cbiAgLm1vZGFsLWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5tb2RhbC1jb250YWluZXIgLnByb21wdC1idXR0b24tY29udGFpbmVyIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfSB9XG4gIC5tb2RhbC1jb250YWluZXIgLnBhZ2UtYnV0dG9ucy1jb250YWluZXIge1xuICAgIG1hcmdpbjogMTVweCBhdXRvIDMwcHg7IH1cbiAgLm1vZGFsLWNvbnRhaW5lci5hY3RpdmUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIHotaW5kZXg6IDIwMDE7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLmFjdGl2ZSAucG9wdXAtYmFja2dyb3VuZCB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAubW9kYWwtY29udGFpbmVyLmFqYXggLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBwYWRkaW5nOiA1cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAubW9kYWwtY29udGFpbmVyLmFqYXggLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgICAgcGFkZGluZzogMTBweDsgfSB9XG4gIC5tb2RhbC1jb250YWluZXIuZHJvcHBlZC1zZXNzaW9uIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiBjYWxjKHZhcigtLWNvbnRhaW5lZC1jb250ZW50LW1heC13aWR0aCkgKyAxMDBweCk7IH1cbiAgLm1vZGFsLWNvbnRhaW5lci5jbXMtZW50cnktdmlld2VyIC5jbXMtY29udGVudC1jb250YWluZXIge1xuICAgIG1heC13aWR0aDogODUwcHg7XG4gICAgcGFkZGluZy10b3A6IDE1cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDE1cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2FlYWVhZTsgfVxuICAubW9kYWwtY29udGFpbmVyLnNpdGUtbGlzdC5wdWJsaXNoLWhpc3RvcnkgLmNvbnRlbnQge1xuICAgIHdpZHRoOiA5MCU7IH1cbiAgLm1vZGFsLWNvbnRhaW5lci5zaXRlLWxpc3Quc2l0ZS1pbmZvcm1hdGlvbiAuY29udGVudCB7XG4gICAgd2lkdGg6IGZpdC1jb250ZW50OyB9XG4gIC5tb2RhbC1jb250YWluZXIuZG9jdW1lbnRhdGlvbiB7XG4gICAgLS1jay1jb2xvci1iYXNlLWJvcmRlcjogJGNvbG91cjM7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLmRvY3VtZW50YXRpb24uZW50cnktZWRpdG9yIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICBtYXgtd2lkdGg6IDk4JTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIG92ZXJmbG93OiB1bnNldDsgfVxuICAgIC5tb2RhbC1jb250YWluZXIuZG9jdW1lbnRhdGlvbi5lbnRyeS1lZGl0b3IgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIge1xuICAgICAgbWF4LXdpZHRoOiB1bnNldDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5tb2RhbC1jb250YWluZXIuZG9jdW1lbnRhdGlvbi5lbnRyeS1lZGl0b3IgLm1vZGFsLWhlYWRlcjpoYXMoLmNtcy1jb250ZW50LWNvbnRhaW5lcikgfiAuY29udGVudCB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA2MHB4KTsgfSB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5kb2N1bWVudGF0aW9uLmVudHJ5LWVkaXRvciAuY29udGVudCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgb3ZlcmZsb3c6IHVuc2V0OyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5kb2N1bWVudGF0aW9uLmVudHJ5LWVkaXRvciAuY2stZWRpdG9yX19tYWluID4gZGl2IHtcbiAgICAgIGhlaWdodDogdmFyKC0tZWRpdG9yLWhlaWdodCk7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLmRvY3VtZW50YXRpb24uaW5zZXJ0LWFydGljbGUgLmNrLWVkaXRvciAuY2stY29udGVudCwgLm1vZGFsLWNvbnRhaW5lci5kb2N1bWVudGF0aW9uLmluc2VydCAuY2stZWRpdG9yIC5jay1jb250ZW50LCAubW9kYWwtY29udGFpbmVyLmRvY3VtZW50YXRpb24ucHJvcGVydHktZWRpdG9yIC5jay1lZGl0b3IgLmNrLWNvbnRlbnQge1xuICAgICAgaGVpZ2h0OiAzMHZoOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5kb2N1bWVudGF0aW9uIC5yaWNoLXRleHQtZWRpdG9yLWNvbnRhaW5lciB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNlZWVlZWU7IH1cbiAgLm1vZGFsLWNvbnRhaW5lci5tZWRpYS1icm93c2VyIC5tZWRpYS1icm93c2VyLWNvbnRhaW5lciB7XG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZGFkYWRhOyB9XG4gIC5tb2RhbC1jb250YWluZXIuc29mdHdhcmUtZG93bmxvYWQgLnNvZnR3YXJlLWluc3RydWN0aW9ucy1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtYXJnaW46IDAgMCA0MHB4OyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5zb2Z0d2FyZS1kb3dubG9hZCAuc29mdHdhcmUtaW5zdHJ1Y3Rpb25zLWNvbnRhaW5lciAucmV2aXNpb24tdGV4dCB7XG4gICAgICBtYXJnaW46IDEwcHggMCAwIGF1dG87XG4gICAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuICAgIC5tb2RhbC1jb250YWluZXIuc29mdHdhcmUtZG93bmxvYWQgLnNvZnR3YXJlLWluc3RydWN0aW9ucy1jb250YWluZXIgLmNtcy1jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICBtYXgtaGVpZ2h0OiA0MHZoO1xuICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsOyB9XG4gICAgICAubW9kYWwtY29udGFpbmVyLnNvZnR3YXJlLWRvd25sb2FkIC5zb2Z0d2FyZS1pbnN0cnVjdGlvbnMtY29udGFpbmVyIC5jbXMtY29udGVudC1jb250YWluZXIgcCwgLm1vZGFsLWNvbnRhaW5lci5zb2Z0d2FyZS1kb3dubG9hZCAuc29mdHdhcmUtaW5zdHJ1Y3Rpb25zLWNvbnRhaW5lciAuY21zLWNvbnRlbnQtY29udGFpbmVyIGxpIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDsgfVxuICAubW9kYWwtY29udGFpbmVyLnNvZnR3YXJlLWRvd25sb2FkIC5zb2Z0d2FyZS11cGRhdGUtYXZhaWxhYmxlLWRvd25sb2FkcyB7XG4gICAgbWFyZ2luOiAyMHB4IDA7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLnNvZnR3YXJlLWRvd25sb2FkIC5zb2Z0d2FyZS11cGRhdGUtYXZhaWxhYmxlLWRvd25sb2FkcyB1bCB7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgICBnYXA6IDEwcHggMjBweDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBsaXN0LXN0eWxlOiBub25lOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5tb2RhbC1jb250YWluZXIuc29mdHdhcmUtZG93bmxvYWQgLnNvZnR3YXJlLXVwZGF0ZS1hdmFpbGFibGUtZG93bmxvYWRzIHVsIHtcbiAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7IH0gfVxuICAgICAgLm1vZGFsLWNvbnRhaW5lci5zb2Z0d2FyZS1kb3dubG9hZCAuc29mdHdhcmUtdXBkYXRlLWF2YWlsYWJsZS1kb3dubG9hZHMgdWwgLnNvZnR3YXJlLWRvd25sb2FkLWJ1dHRvbiB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDYwcHggMWZyIDMwcHg7XG4gICAgICAgIGdhcDogMjBweDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogMjBweDtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2VlZWVlZTtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAubW9kYWwtY29udGFpbmVyLnNvZnR3YXJlLWRvd25sb2FkIC5zb2Z0d2FyZS11cGRhdGUtYXZhaWxhYmxlLWRvd25sb2FkcyB1bCAuc29mdHdhcmUtZG93bmxvYWQtYnV0dG9uIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHggMTBweDsgfSB9XG4gICAgICAgIC5tb2RhbC1jb250YWluZXIuc29mdHdhcmUtZG93bmxvYWQgLnNvZnR3YXJlLXVwZGF0ZS1hdmFpbGFibGUtZG93bmxvYWRzIHVsIC5zb2Z0d2FyZS1kb3dubG9hZC1idXR0b246aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwNjA1MmY7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9XG4gICAgICAgICAgLm1vZGFsLWNvbnRhaW5lci5zb2Z0d2FyZS1kb3dubG9hZCAuc29mdHdhcmUtdXBkYXRlLWF2YWlsYWJsZS1kb3dubG9hZHMgdWwgLnNvZnR3YXJlLWRvd25sb2FkLWJ1dHRvbjpob3ZlcjpiZWZvcmUsIC5tb2RhbC1jb250YWluZXIuc29mdHdhcmUtZG93bmxvYWQgLnNvZnR3YXJlLXVwZGF0ZS1hdmFpbGFibGUtZG93bmxvYWRzIHVsIC5zb2Z0d2FyZS1kb3dubG9hZC1idXR0b246aG92ZXI6YWZ0ZXIsIC5tb2RhbC1jb250YWluZXIuc29mdHdhcmUtZG93bmxvYWQgLnNvZnR3YXJlLXVwZGF0ZS1hdmFpbGFibGUtZG93bmxvYWRzIHVsIC5zb2Z0d2FyZS1kb3dubG9hZC1idXR0b246aG92ZXIgLmJ1dHRvbi1sYWJlbCwgLm1vZGFsLWNvbnRhaW5lci5zb2Z0d2FyZS1kb3dubG9hZCAuc29mdHdhcmUtdXBkYXRlLWF2YWlsYWJsZS1kb3dubG9hZHMgdWwgLnNvZnR3YXJlLWRvd25sb2FkLWJ1dHRvbjpob3ZlciAuYnV0dG9uLWNvbnRlbnQtY29udGFpbmVyLCAubW9kYWwtY29udGFpbmVyLnNvZnR3YXJlLWRvd25sb2FkIC5zb2Z0d2FyZS11cGRhdGUtYXZhaWxhYmxlLWRvd25sb2FkcyB1bCAuc29mdHdhcmUtZG93bmxvYWQtYnV0dG9uOmhvdmVyIC5kYXRhLXRpbWUtY29udGFpbmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAgICAgICAubW9kYWwtY29udGFpbmVyLnNvZnR3YXJlLWRvd25sb2FkIC5zb2Z0d2FyZS11cGRhdGUtYXZhaWxhYmxlLWRvd25sb2FkcyB1bCAuc29mdHdhcmUtZG93bmxvYWQtYnV0dG9uOmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogXCLuoYFcIjtcbiAgICAgICAgICBjb2xvcjogIzY2MzM5OTtcbiAgICAgICAgICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gICAgICAgIC5tb2RhbC1jb250YWluZXIuc29mdHdhcmUtZG93bmxvYWQgLnNvZnR3YXJlLXVwZGF0ZS1hdmFpbGFibGUtZG93bmxvYWRzIHVsIC5zb2Z0d2FyZS1kb3dubG9hZC1idXR0b246YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6IFwi74CZXCI7XG4gICAgICAgICAgY29sb3I6ICM2NjMzOTk7XG4gICAgICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgICAgICAgLm1vZGFsLWNvbnRhaW5lci5zb2Z0d2FyZS1kb3dubG9hZCAuc29mdHdhcmUtdXBkYXRlLWF2YWlsYWJsZS1kb3dubG9hZHMgdWwgLnNvZnR3YXJlLWRvd25sb2FkLWJ1dHRvbiBzcGFuIHtcbiAgICAgICAgICBncmlkLWNvbHVtbjogMjsgfVxuICAgICAgICAubW9kYWwtY29udGFpbmVyLnNvZnR3YXJlLWRvd25sb2FkIC5zb2Z0d2FyZS11cGRhdGUtYXZhaWxhYmxlLWRvd25sb2FkcyB1bCAuc29mdHdhcmUtZG93bmxvYWQtYnV0dG9uIC5idXR0b24tbGFiZWwge1xuICAgICAgICAgIG1hcmdpbjogMCAwIDEwcHg7XG4gICAgICAgICAgY29sb3I6ICM2NjMzOTk7XG4gICAgICAgICAgZm9udC1mYW1pbHk6IFwiR2lic29uXCIsIFwiR2lic29uIEZhbGxiYWNrXCIsIFwiQXJpYWxcIjtcbiAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAgICAgICAubW9kYWwtY29udGFpbmVyLnNvZnR3YXJlLWRvd25sb2FkIC5zb2Z0d2FyZS11cGRhdGUtYXZhaWxhYmxlLWRvd25sb2FkcyB1bCAuc29mdHdhcmUtZG93bmxvYWQtYnV0dG9uIC5idXR0b24tY29udGVudC1jb250YWluZXIge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgICAgICAgLm1vZGFsLWNvbnRhaW5lci5zb2Z0d2FyZS1kb3dubG9hZCAuc29mdHdhcmUtdXBkYXRlLWF2YWlsYWJsZS1kb3dubG9hZHMgdWwgLnNvZnR3YXJlLWRvd25sb2FkLWJ1dHRvbiAuZGF0YS10aW1lLWNvbnRhaW5lciB7XG4gICAgICAgICAgY29sb3I6ICNhZWFlYWU7XG4gICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAgICAgICAgIC5tb2RhbC1jb250YWluZXIuc29mdHdhcmUtZG93bmxvYWQgLnNvZnR3YXJlLXVwZGF0ZS1hdmFpbGFibGUtZG93bmxvYWRzIHVsIC5zb2Z0d2FyZS1kb3dubG9hZC1idXR0b24gLmRhdGEtdGltZS1jb250YWluZXI6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwi74CXXCI7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBSZWd1bGFyXCI7XG4gICAgICAgICAgICBmb250LXNpemU6IDE1cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5tb2RhbC1jb250YWluZXIucGF5bWVudCwgLm1vZGFsLWNvbnRhaW5lci5hZGQtbmV3LWNhcmQge1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfSB9XG4gIC5tb2RhbC1jb250YWluZXIucGF5bWVudCAuY21zLWNvbnRlbnQtY29udGFpbmVyLCAubW9kYWwtY29udGFpbmVyLmFkZC1uZXctY2FyZCAuY21zLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLm1vZGFsLWNvbnRhaW5lci5wYXltZW50IC5jb250ZW50LWNvbnRhaW5lciwgLm1vZGFsLWNvbnRhaW5lci5hZGQtbmV3LWNhcmQgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDExNTBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7XG4gICAgb3ZlcmZsb3cteTogYXV0bzsgfVxuICAubW9kYWwtY29udGFpbmVyLnBheW1lbnQgLmNvbnRlbnQsIC5tb2RhbC1jb250YWluZXIuYWRkLW5ldy1jYXJkIC5jb250ZW50IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5wYXltZW50IC5jb250ZW50IC5jbXMtY29udGVudC1jb250YWluZXIsIC5tb2RhbC1jb250YWluZXIuYWRkLW5ldy1jYXJkIC5jb250ZW50IC5jbXMtY29udGVudC1jb250YWluZXIge1xuICAgICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLm1vZGFsLWNvbnRhaW5lci5wYXltZW50IC5jb250ZW50IC5jbXMtY29udGVudC1jb250YWluZXIsIC5tb2RhbC1jb250YWluZXIuYWRkLW5ldy1jYXJkIC5jb250ZW50IC5jbXMtY29udGVudC1jb250YWluZXIge1xuICAgICAgICAgIG1hcmdpbjogMzBweCAzMHB4OyB9IH1cbiAgLm1vZGFsLWNvbnRhaW5lci5wYXltZW50IGlmcmFtZSwgLm1vZGFsLWNvbnRhaW5lci5hZGQtbmV3LWNhcmQgaWZyYW1lIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgd2lkdGg6IDYzMHB4O1xuICAgIGhlaWdodDogNjIwcHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwIGF1dG8gNDBweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZGFkYWRhO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyIDAuOHM7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLnBheW1lbnQgaWZyYW1lOmhvdmVyLCAubW9kYWwtY29udGFpbmVyLmFkZC1uZXctY2FyZCBpZnJhbWU6aG92ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjYWU5NDYxO1xuICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuNnM7IH1cbiAgLm1vZGFsLWNvbnRhaW5lci5lbnF1aXJ5LWZvcm0gLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDkwMHB4OyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5lbnF1aXJ5LWZvcm0gLmNvbnRlbnQtY29udGFpbmVyIGZvcm0ge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW46IDEwcHggMDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAubW9kYWwtY29udGFpbmVyLmVucXVpcnktZm9ybSAuY29udGVudC1jb250YWluZXIgZm9ybSB7XG4gICAgICAgICAgbWF4LXdpZHRoOiA4MCU7XG4gICAgICAgICAgbWFyZ2luOiAxMHB4IGF1dG8gMDsgfSB9XG4gIC5tb2RhbC1jb250YWluZXIuYnJhbmNoLXN3aXRjaGVyIC5jb250ZW50LWNvbnRhaW5lciwgLm1vZGFsLWNvbnRhaW5lci5hY2NvdW50LXN3aXRjaGVyIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgcGFkZGluZzogNXB4IDVweCAxMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm1vZGFsLWNvbnRhaW5lci5icmFuY2gtc3dpdGNoZXIgLmNvbnRlbnQtY29udGFpbmVyLCAubW9kYWwtY29udGFpbmVyLmFjY291bnQtc3dpdGNoZXIgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgICAgcGFkZGluZzogMTBweCAxMHB4IDUwcHg7IH0gfVxuICAubW9kYWwtY29udGFpbmVyLmJyYW5jaC1zd2l0Y2hlciBbaW5qZWN0LWNvbnRhaW5lcl0sIC5tb2RhbC1jb250YWluZXIuYWNjb3VudC1zd2l0Y2hlciBbaW5qZWN0LWNvbnRhaW5lcl0ge1xuICAgIG92ZXJmbG93LXk6IGF1dG87IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgICAgLm1vZGFsLWNvbnRhaW5lci5icmFuY2gtc3dpdGNoZXIgW2luamVjdC1jb250YWluZXJdLCAubW9kYWwtY29udGFpbmVyLmFjY291bnQtc3dpdGNoZXIgW2luamVjdC1jb250YWluZXJdIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgcGFkZGluZzogMjBweDtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTkpO1xuICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwcHggMHB4IDE5cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xKTsgfSB9XG4gIC5tb2RhbC1jb250YWluZXIuYnJhbmNoLXN3aXRjaGVyIC5idXR0b25zLWNvbnRhaW5lciwgLm1vZGFsLWNvbnRhaW5lci5hY2NvdW50LXN3aXRjaGVyIC5idXR0b25zLWNvbnRhaW5lciB7XG4gICAgLS1jb21tb24tYnV0dG9uLXNtYWxsLW1hcmdpbjogYXV0bztcbiAgICAtLWNvbW1vbi1idXR0b24tbWVkaXVtLW1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1zbWFsbC1tYXJnaW4pOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm1vZGFsLWNvbnRhaW5lci5icmFuY2gtc3dpdGNoZXIgLmJ1dHRvbnMtY29udGFpbmVyLCAubW9kYWwtY29udGFpbmVyLmFjY291bnQtc3dpdGNoZXIgLmJ1dHRvbnMtY29udGFpbmVyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAubW9kYWwtY29udGFpbmVyLmJyYW5jaC1zd2l0Y2hlciAjYnJhbmNoLXN3aXRjaGVyLWNvbnRhaW5lciwgLm1vZGFsLWNvbnRhaW5lci5icmFuY2gtc3dpdGNoZXIgI2FjY291bnQtc3dpdGNoZXItY29udGFpbmVyLCAubW9kYWwtY29udGFpbmVyLmFjY291bnQtc3dpdGNoZXIgI2JyYW5jaC1zd2l0Y2hlci1jb250YWluZXIsIC5tb2RhbC1jb250YWluZXIuYWNjb3VudC1zd2l0Y2hlciAjYWNjb3VudC1zd2l0Y2hlci1jb250YWluZXIge1xuICAgICAgcGFkZGluZzogMCA4MHB4IDA7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLm1vZGFsLWNvbnRhaW5lci5icmFuY2gtc3dpdGNoZXIgLmN1cnJlbnQtYnJhbmNoLWRldGFpbHMsIC5tb2RhbC1jb250YWluZXIuYnJhbmNoLXN3aXRjaGVyIC5icmFuY2gtc3dpdGNoZXIsIC5tb2RhbC1jb250YWluZXIuYnJhbmNoLXN3aXRjaGVyIC5jdXJyZW50LWFjY291bnQtZGV0YWlscywgLm1vZGFsLWNvbnRhaW5lci5icmFuY2gtc3dpdGNoZXIgLmFjY291bnQtc3dpdGNoZXIsIC5tb2RhbC1jb250YWluZXIuYWNjb3VudC1zd2l0Y2hlciAuY3VycmVudC1icmFuY2gtZGV0YWlscywgLm1vZGFsLWNvbnRhaW5lci5hY2NvdW50LXN3aXRjaGVyIC5icmFuY2gtc3dpdGNoZXIsIC5tb2RhbC1jb250YWluZXIuYWNjb3VudC1zd2l0Y2hlciAuY3VycmVudC1hY2NvdW50LWRldGFpbHMsIC5tb2RhbC1jb250YWluZXIuYWNjb3VudC1zd2l0Y2hlciAuYWNjb3VudC1zd2l0Y2hlciB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyNXB4OyB9IH1cbiAgLm1vZGFsLWNvbnRhaW5lci5icmFuY2gtc3dpdGNoZXIgLmN1cnJlbnQtYnJhbmNoLWRldGFpbHMgaDMsIC5tb2RhbC1jb250YWluZXIuYnJhbmNoLXN3aXRjaGVyIC5icmFuY2gtc3dpdGNoZXIgaDMsIC5tb2RhbC1jb250YWluZXIuYnJhbmNoLXN3aXRjaGVyIC5jdXJyZW50LWFjY291bnQtZGV0YWlscyBoMywgLm1vZGFsLWNvbnRhaW5lci5icmFuY2gtc3dpdGNoZXIgLmFjY291bnQtc3dpdGNoZXIgaDMsIC5tb2RhbC1jb250YWluZXIuYWNjb3VudC1zd2l0Y2hlciAuY3VycmVudC1icmFuY2gtZGV0YWlscyBoMywgLm1vZGFsLWNvbnRhaW5lci5hY2NvdW50LXN3aXRjaGVyIC5icmFuY2gtc3dpdGNoZXIgaDMsIC5tb2RhbC1jb250YWluZXIuYWNjb3VudC1zd2l0Y2hlciAuY3VycmVudC1hY2NvdW50LWRldGFpbHMgaDMsIC5tb2RhbC1jb250YWluZXIuYWNjb3VudC1zd2l0Y2hlciAuYWNjb3VudC1zd2l0Y2hlciBoMyB7XG4gICAgZm9udC1zaXplOiAxLjM3NXJlbTsgfVxuICAubW9kYWwtY29udGFpbmVyLmJyYW5jaC1zd2l0Y2hlciAuY3VycmVudC1icmFuY2gtZGV0YWlscyAuYWRkcmVzcy1saW5lLCAubW9kYWwtY29udGFpbmVyLmJyYW5jaC1zd2l0Y2hlciAuY3VycmVudC1hY2NvdW50LWRldGFpbHMgLmFkZHJlc3MtbGluZSwgLm1vZGFsLWNvbnRhaW5lci5hY2NvdW50LXN3aXRjaGVyIC5jdXJyZW50LWJyYW5jaC1kZXRhaWxzIC5hZGRyZXNzLWxpbmUsIC5tb2RhbC1jb250YWluZXIuYWNjb3VudC1zd2l0Y2hlciAuY3VycmVudC1hY2NvdW50LWRldGFpbHMgLmFkZHJlc3MtbGluZSB7XG4gICAgcGFkZGluZzogMnB4IDA7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICAubW9kYWwtY29udGFpbmVyLmJyYW5jaC1zd2l0Y2hlciAubGFiZWwsIC5tb2RhbC1jb250YWluZXIuYWNjb3VudC1zd2l0Y2hlciAubGFiZWwge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nLXJpZ2h0OiA1cHg7XG4gICAgY29sb3I6ICMwNjA1MmY7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5tb2RhbC1jb250YWluZXIuYnJhbmNoLXN3aXRjaGVyIC5sYWJlbCwgLm1vZGFsLWNvbnRhaW5lci5hY2NvdW50LXN3aXRjaGVyIC5sYWJlbCB7XG4gICAgICAgIHdpZHRoOiAxMjBweDsgfSB9XG4gIC5tb2RhbC1jb250YWluZXIuYnJhbmNoLXN3aXRjaGVyIC5jb250cm9sLXNlbGVjdC1jb250YWluZXIsIC5tb2RhbC1jb250YWluZXIuYWNjb3VudC1zd2l0Y2hlciAuY29udHJvbC1zZWxlY3QtY29udGFpbmVyIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5tb2RhbC1jb250YWluZXIuYnJhbmNoLXN3aXRjaGVyIC5jb250cm9sLXNlbGVjdC1jb250YWluZXIsIC5tb2RhbC1jb250YWluZXIuYWNjb3VudC1zd2l0Y2hlciAuY29udHJvbC1zZWxlY3QtY29udGFpbmVyIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEyMHB4KTsgfSB9XG4gIC5tb2RhbC1jb250YWluZXIuZm9ybSAuY29udGVudC1jb250YWluZXIge1xuICAgIG1heC13aWR0aDogOTAwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBtYXJnaW46IGF1dG87IH1cbiAgICAubW9kYWwtY29udGFpbmVyLmZvcm0gLmNvbnRlbnQtY29udGFpbmVyIGZvcm0ge1xuICAgICAgbWF4LWhlaWdodDogOTB2aDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgb3ZlcmZsb3cteTogYXV0bzsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAubW9kYWwtY29udGFpbmVyLmZvcm0gLmNvbnRlbnQtY29udGFpbmVyIGZvcm0ge1xuICAgICAgICAgIG1heC13aWR0aDogODAlO1xuICAgICAgICAgIG1hcmdpbjogMjBweCBhdXRvIDMwcHg7IH0gfVxuICAubW9kYWwtY29udGFpbmVyLmZvcm0gLmNtcy1jb250ZW50LWNvbnRhaW5lciB7XG4gICAgbWFyZ2luOiAxMHB4IDAgMDsgfVxuICAubW9kYWwtY29udGFpbmVyLnRhYmxlIC5jb250ZW50IHtcbiAgICB3aWR0aDogZml0LWNvbnRlbnQ7IH1cbiAgLm1vZGFsLWNvbnRhaW5lci5icmFuY2gtc3dpdGNoZXIgLmNvbnRlbnQtY29udGFpbmVyLCAubW9kYWwtY29udGFpbmVyLmFjY291bnQtc3dpdGNoZXIgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDExNTBweDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAubW9kYWwtY29udGFpbmVyLm1hbmFnZS11c2VyLWJyYW5jaC1zZWxlY3RlciAubW9kYWwtaGVhZGVyIGgzIHtcbiAgICBtYXJnaW46IDAgMCAxNXB4O1xuICAgIGZvbnQtc2l6ZTogMS4zNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAubW9kYWwtY29udGFpbmVyLm1hbmFnZS11c2VyLWJyYW5jaC1zZWxlY3RlciAubW9kYWwtaGVhZGVyIGgzIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMzVweDsgfSB9XG4gIC5tb2RhbC1jb250YWluZXIubWFuYWdlLXVzZXItYnJhbmNoLXNlbGVjdGVyIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiAxMTUwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTtcbiAgICB6LWluZGV4OiAxNTA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAubW9kYWwtY29udGFpbmVyLm1hbmFnZS11c2VyLWJyYW5jaC1zZWxlY3RlciAuY29udGVudC1jb250YWluZXIge1xuICAgICAgICBtYXgtaGVpZ2h0OiA3MzBweDsgfSB9XG4gIC5tb2RhbC1jb250YWluZXIubWFuYWdlLXVzZXItYnJhbmNoLXNlbGVjdGVyICN1c2Vycy1icmFuY2gtc2VhcmNoLWNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiA2MjBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgbWFyZ2luOiAwIGF1dG8gMTVweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5tb2RhbC1jb250YWluZXIubWFuYWdlLXVzZXItYnJhbmNoLXNlbGVjdGVyICN1c2Vycy1icmFuY2gtc2VhcmNoLWNvbnRhaW5lciB7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvIDQwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLm1vZGFsLWNvbnRhaW5lci5tYW5hZ2UtdXNlci1icmFuY2gtc2VsZWN0ZXIgLnNlbGVjdC1icmFuY2hlcy1jb250YWluZXIge1xuICAgICAgbWF4LXdpZHRoOiA4NTBweDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWF4LWhlaWdodDogMzAwcHg7XG4gICAgICBtYXJnaW46IDAgYXV0byAyMHB4O1xuICAgICAgb3ZlcmZsb3cteTogYXV0bzsgfSB9XG4gIC5tb2RhbC1jb250YWluZXIubWFuYWdlLXVzZXItYnJhbmNoLXNlbGVjdGVyIC50YWJsZS1mb290ZXItc3BhY2VyIHtcbiAgICBtYXgtd2lkdGg6IDg1MHB4O1xuICAgIG1hcmdpbjogYXV0bzsgfVxuICAubW9kYWwtY29udGFpbmVyLm1hbmFnZS11c2VyLWJyYW5jaC1zZWxlY3RlciAuYnJhbmNoLXNlYXJjaCB7XG4gICAgd2lkdGg6IDkwJTtcbiAgICBoZWlnaHQ6IDUwcHg7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5tb2RhbC1jb250YWluZXIubWFuYWdlLXVzZXItYnJhbmNoLXNlbGVjdGVyIC5jb250cm9sLmNoZWNrYm94IHtcbiAgICBtYXJnaW46IDA7IH1cbiAgLm1vZGFsLWNvbnRhaW5lci5tYW5hZ2UtdXNlci1icmFuY2gtc2VsZWN0ZXIgdGQge1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgLm1vZGFsLWNvbnRhaW5lci5xdWljay1vcmRlci1zZWFyY2gtcmVzdWx0cyAubW9kYWwtaGVhZGVyIC5jbXMtY29udGVudC1jb250YWluZXIge1xuICAgIG1heC13aWR0aDogODUwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAyMHB4IGF1dG87XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm1vZGFsLWNvbnRhaW5lci5xdWljay1vcmRlci1zZWFyY2gtcmVzdWx0cyAubW9kYWwtaGVhZGVyIC5jbXMtY29udGVudC1jb250YWluZXIge1xuICAgICAgICBtYXJnaW46IDMwcHggYXV0bzsgfSB9XG4gIC5tb2RhbC1jb250YWluZXIucXVpY2stb3JkZXItc2VhcmNoLXJlc3VsdHMgW2luamVjdC1jb250YWluZXJdIHtcbiAgICBwYWRkaW5nOiA1cHggNXB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm1vZGFsLWNvbnRhaW5lci5xdWljay1vcmRlci1zZWFyY2gtcmVzdWx0cyBbaW5qZWN0LWNvbnRhaW5lcl0ge1xuICAgICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgLm1vZGFsLWNvbnRhaW5lci5xdWljay1vcmRlci1zZWFyY2gtcmVzdWx0cyAuY29udGVudCB7XG4gICAgbWF4LXdpZHRoOiA4NTBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtaGVpZ2h0OiA0NjVweDsgfVxuICAubW9kYWwtY29udGFpbmVyLnNjYW5uZXIgLm1vZGFsLWhlYWRlciAuY21zLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDY0MHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMjBweCBhdXRvO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm1vZGFsLWNvbnRhaW5lci5zY2FubmVyIC5tb2RhbC1oZWFkZXIgLmNtcy1jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICAgIG1hcmdpbjogMzBweCBhdXRvOyB9IH1cbiAgLm1vZGFsLWNvbnRhaW5lci5zY2FubmVyIC5jb250ZW50IHtcbiAgICBtYXgtd2lkdGg6IDY5MHB4O1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5tb2RhbC1jb250YWluZXIuY2FsbC1mb3JtIC5jb250ZW50IHtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgLm1vZGFsLWNvbnRhaW5lci5jYWxsLWZvcm0gLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIHBhZGRpbmc6IDVweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5tb2RhbC1jb250YWluZXIuY2FsbC1mb3JtIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICAgIG1heC13aWR0aDogMTE1MHB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgcGFkZGluZzogMTBweDsgfSB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5jYWxsLWZvcm0gLmNvbnRlbnQtY29udGFpbmVyIGZvcm0ge1xuICAgICAgbWF4LXdpZHRoOiA5NSU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbjogYXV0bzsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAubW9kYWwtY29udGFpbmVyLmNhbGwtZm9ybSAuY29udGVudC1jb250YWluZXIgZm9ybSB7XG4gICAgICAgICAgbWF4LXdpZHRoOiA4NTBweDsgfSB9XG4gIC5tb2RhbC1jb250YWluZXIudmlkZW8tcGxheWVyIC5tb2RhbC1oZWFkZXIgLmNtcy1jb250ZW50LWNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiA4NTBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5tb2RhbC1jb250YWluZXIudmlkZW8tcGxheWVyIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiA5NXZ3OyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci52aWRlby1wbGF5ZXIgLmNvbnRlbnQtY29udGFpbmVyIFtpbmplY3QtY29udGFpbmVyXSB7XG4gICAgICBhc3BlY3QtcmF0aW86IDE2IC8gOTsgfVxuICAgICAgLm1vZGFsLWNvbnRhaW5lci52aWRlby1wbGF5ZXIgLmNvbnRlbnQtY29udGFpbmVyIFtpbmplY3QtY29udGFpbmVyXSBpZnJhbWUge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlOyB9XG4gIC5tb2RhbC1jb250YWluZXIgLm1vZGFsLWhlYWRlciAubW9kYWwtaGVhZGluZyB7XG4gICAgbWFyZ2luOiAwIDAgNXB4O1xuICAgIHBhZGRpbmc6IDVweCA0NHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwNjA1MmY7XG4gICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5tb2RhbC1jb250YWluZXIgLm1vZGFsLWhlYWRlciAubW9kYWwtaGVhZGluZyB7XG4gICAgICAgIHBhZGRpbmc6IDE2cHggNDRweDsgfSB9XG4gIC5tb2RhbC1jb250YWluZXIgLm1vZGFsLWhlYWRlciBoMiB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogMS41NjI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgLm1vZGFsLWNvbnRhaW5lciAubW9kYWwtaGVhZGVyIHAge1xuICAgIGZvbnQtc2l6ZTogMS4wNjI1cmVtOyB9XG4gIC5tb2RhbC1jb250YWluZXIgLm1vZGFsLWhlYWRlciAuY21zLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAubW9kYWwtY29udGFpbmVyIC5tb2RhbC1oZWFkZXIgLmNtcy1jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICAgIG1hcmdpbjogMzBweCAzMHB4OyB9IH1cbiAgICAubW9kYWwtY29udGFpbmVyIC5tb2RhbC1oZWFkZXIgLmNtcy1jb250ZW50LWNvbnRhaW5lci5kaXNhYmxlZC1uby1jb250ZW50LCAubW9kYWwtY29udGFpbmVyIC5tb2RhbC1oZWFkZXIgLmNtcy1jb250ZW50LWNvbnRhaW5lcjplbXB0eSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5tb2RhbC1jb250YWluZXIgLmNsb3NlLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHRvcDogMTIuNXB4O1xuICAgIHJpZ2h0OiAyMHB4OyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lciAuY2xvc2UtYnV0dG9uOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+AjVwiO1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjZzLCBjb2xvciAwLjhzOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lciAuY2xvc2UtYnV0dG9uOmhvdmVyOmJlZm9yZSB7XG4gICAgICBjb2xvcjogY29udHJhY3QtY2hlY2tlcigjYWU5NDYxLCAjMDYwNTJmKTtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjZzLCBjb2xvciAwLjZzOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lciAuY2xvc2UtYnV0dG9uOmFjdGl2ZTpiZWZvcmUge1xuICAgICAgY29sb3I6ICMwNjA1MmY7XG4gICAgICB0cmFuc2l0aW9uOiBmb250LXNpemUgMS4ycywgY29sb3IgMC42czsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5tb2RhbC1jb250YWluZXIgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICAgIHRvcDogMTZweDsgfSB9XG4gIC5tb2RhbC1jb250YWluZXIuY29uZmlybWF0aW9uIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiAxMTUwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IDI2LjY2NjY3cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAubW9kYWwtY29udGFpbmVyLmNvbmZpcm1hdGlvbiAuY29udGVudC1jb250YWluZXIge1xuICAgICAgICBwYWRkaW5nOiA4MHB4OyB9IH1cbiAgLm1vZGFsLWNvbnRhaW5lci5jb25maXJtYXRpb24gLmNvbnRlbnQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMDsgfVxuICAubW9kYWwtY29udGFpbmVyLmNvbmZpcm1hdGlvbjpub3QoLmFqYXgpIC5jb250ZW50IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXJnaW46IDMwcHggYXV0byA1MHB4O1xuICAgIHBhZGRpbmc6IDM1cHggMTBweDtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAubW9kYWwtY29udGFpbmVyLmNvbmZpcm1hdGlvbjpub3QoLmFqYXgpIC5jb250ZW50IHtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG8gNTBweDsgfSB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5jb25maXJtYXRpb246bm90KC5hamF4KSAuY29udGVudCBwIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgLm1vZGFsLWNvbnRhaW5lci5jb25maXJtYXRpb246bm90KC5hamF4KSAuY29udGVudCBwOmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBtYXJnaW46IGF1dG8gMTBweCBhdXRvIDA7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgICBmb250LXNpemU6IDEuMTg3NXJlbTsgfVxuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgICAgICAgIC5tb2RhbC1jb250YWluZXIuY29uZmlybWF0aW9uOm5vdCguYWpheCkgLmNvbnRlbnQgcDpiZWZvcmUge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAxMHB4O1xuICAgICAgICAgICAgbWFyZ2luOiBhdXRvOyB9IH1cbiAgLm1vZGFsLWNvbnRhaW5lci5jb25maXJtYXRpb24gLm1lc3NhZ2Uge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1hcmdpbjogMzBweCBhdXRvIDUwcHg7XG4gICAgcGFkZGluZzogMzVweCAxMHB4O1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5tb2RhbC1jb250YWluZXIuY29uZmlybWF0aW9uIC5tZXNzYWdlIHtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG8gNTBweDsgfSB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5jb25maXJtYXRpb24gLm1lc3NhZ2UgcCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAgIC5tb2RhbC1jb250YWluZXIuY29uZmlybWF0aW9uIC5tZXNzYWdlIHA6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbjogYXV0byAxMHB4IGF1dG8gMDtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xODc1cmVtOyB9XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgICAgICAgLm1vZGFsLWNvbnRhaW5lci5jb25maXJtYXRpb24gLm1lc3NhZ2UgcDpiZWZvcmUge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAxMHB4O1xuICAgICAgICAgICAgbWFyZ2luOiBhdXRvOyB9IH1cbiAgLm1vZGFsLWNvbnRhaW5lci5jb25maXJtYXRpb24gLnByb21wdC1jYW5jZWwtYnV0dG9uIHtcbiAgICAtLWNvbXBvbmVudC1zcGVjaWZjLXN0ZXAtaGVpZ2h0OiAxNXB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLXNtYWxsLW1hcmdpbiwgMTBweCAwKTtcbiAgICBwYWRkaW5nOiB2YXIoLS1jb21tb24tYnV0dG9uLXBhZGRpbmcsIDIwcHggMTBweCk7XG4gICAgY29sb3I6ICMwNjA1MmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXItd2lkdGg6IDJweDtcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAxLjJweDtcbiAgICB3b3JkLXNwYWNpbmc6IDJweDtcbiAgICBib3JkZXItY29sb3I6ICNkYWRhZGE7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjhzOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm1vZGFsLWNvbnRhaW5lci5jb25maXJtYXRpb24gLnByb21wdC1jYW5jZWwtYnV0dG9uIHtcbiAgICAgICAgd2lkdGg6IDIzMHB4O1xuICAgICAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tbGFyZ2UtbWFyZ2luLCAwIDQ1cHggMjBweCk7IH0gfVxuICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgICAubW9kYWwtY29udGFpbmVyLmNvbmZpcm1hdGlvbiAucHJvbXB0LWNhbmNlbC1idXR0b246aG92ZXIsIC5tb2RhbC1jb250YWluZXIuY29uZmlybWF0aW9uIC5wcm9tcHQtY2FuY2VsLWJ1dHRvbi5ob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGFkYWRhO1xuICAgICAgICBib3JkZXItY29sb3I6ICMwMDAwMDA7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAgICAgLm1vZGFsLWNvbnRhaW5lci5jb25maXJtYXRpb24gLnByb21wdC1jYW5jZWwtYnV0dG9uOmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIC5tb2RhbC1jb250YWluZXIuY29uZmlybWF0aW9uIC5wcm9tcHQtY2FuY2VsLWJ1dHRvbi5ob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfSB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5jb25maXJtYXRpb24gLnByb21wdC1jYW5jZWwtYnV0dG9uOmFjdGl2ZSwgLm1vZGFsLWNvbnRhaW5lci5jb25maXJtYXRpb24gLnByb21wdC1jYW5jZWwtYnV0dG9uLmFjdGl2ZSB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwNjA1MmY7XG4gICAgICBib3JkZXItY29sb3I6ICMwNjA1MmY7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgIC5tb2RhbC1jb250YWluZXIuY29uZmlybWF0aW9uIC5wcm9tcHQtY2FuY2VsLWJ1dHRvbjpkaXNhYmxlZCwgLm1vZGFsLWNvbnRhaW5lci5jb25maXJtYXRpb24gLnByb21wdC1jYW5jZWwtYnV0dG9uLmRpc2FibGVkLCAubW9kYWwtY29udGFpbmVyLmNvbmZpcm1hdGlvbiAucHJvbXB0LWNhbmNlbC1idXR0b25bZGlzYWJsZWRdIHtcbiAgICAgIGNvbG9yOiAjOTI5MjkyO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMDAsIDIwMCwgMjAwLCAwLjcpO1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgIC5tb2RhbC1jb250YWluZXIuY29uZmlybWF0aW9uIC5wcm9tcHQtY2FuY2VsLWJ1dHRvbjpkaXNhYmxlZDpob3ZlciwgLm1vZGFsLWNvbnRhaW5lci5jb25maXJtYXRpb24gLnByb21wdC1jYW5jZWwtYnV0dG9uLmRpc2FibGVkOmhvdmVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMDAsIDIwMCwgMjAwLCAwLjcpOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5jb25maXJtYXRpb24gLnByb21wdC1jYW5jZWwtYnV0dG9uOmZvY3VzLXZpc2libGUge1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLmNvbmZpcm1hdGlvbiAucHJvbXB0LWNhbmNlbC1idXR0b24gLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cbiAgLm1vZGFsLWNvbnRhaW5lci5jb25maXJtYXRpb24gLmNsb3NlLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5jb25maXJtYXRpb24gLmNsb3NlLWJ1dHRvbjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgI1cIjtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC42cywgY29sb3IgMC44czsgfVxuICAgIC5tb2RhbC1jb250YWluZXIuY29uZmlybWF0aW9uIC5jbG9zZS1idXR0b246aG92ZXI6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjYWU5NDYxO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNnMsIGNvbG9yIDAuNnM7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLmNvbmZpcm1hdGlvbiAuY2xvc2UtYnV0dG9uOmFjdGl2ZTpiZWZvcmUge1xuICAgICAgY29sb3I6ICMwNjA1MmY7XG4gICAgICB0cmFuc2l0aW9uOiBmb250LXNpemUgMS4ycywgY29sb3IgMC42czsgfVxuICAubW9kYWwtY29udGFpbmVyLmFsZXJ0Om5vdCguYWpheCkgLmNvbnRlbnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZGUxZTE7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2IyMGMwYztcbiAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5hbGVydDpub3QoLmFqYXgpIC5jb250ZW50Om5vdCguaWNvbi1jb25maWd1cmVkKTpoYXMoLmNvbnRlbnQtY29udGFpbmVyKTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgapcIjsgfVxuICAgIC5tb2RhbC1jb250YWluZXIuYWxlcnQ6bm90KC5hamF4KSAuY29udGVudDpoYXMoLmNvbnRlbnQtY29udGFpbmVyKTpiZWZvcmUge1xuICAgICAgY29sb3I6ICNiMjBjMGM7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLmFsZXJ0Om5vdCguYWpheCkgLmNvbnRlbnQgPiBwOmZpcnN0LW9mLXR5cGU6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74GqXCI7XG4gICAgICBjb2xvcjogI2IyMGMwYzsgfVxuICAgIC5tb2RhbC1jb250YWluZXIuYWxlcnQ6bm90KC5hamF4KSAuY29udGVudCBoMSwgLm1vZGFsLWNvbnRhaW5lci5hbGVydDpub3QoLmFqYXgpIC5jb250ZW50IGgyLCAubW9kYWwtY29udGFpbmVyLmFsZXJ0Om5vdCguYWpheCkgLmNvbnRlbnQgaDMsIC5tb2RhbC1jb250YWluZXIuYWxlcnQ6bm90KC5hamF4KSAuY29udGVudCBoNCwgLm1vZGFsLWNvbnRhaW5lci5hbGVydDpub3QoLmFqYXgpIC5jb250ZW50IGg1LCAubW9kYWwtY29udGFpbmVyLmFsZXJ0Om5vdCguYWpheCkgLmNvbnRlbnQgaDYsIC5tb2RhbC1jb250YWluZXIuYWxlcnQ6bm90KC5hamF4KSAuY29udGVudCBwLCAubW9kYWwtY29udGFpbmVyLmFsZXJ0Om5vdCguYWpheCkgLmNvbnRlbnQgYSB7XG4gICAgICBjb2xvcjogI2IyMGMwYzsgfVxuICAubW9kYWwtY29udGFpbmVyLmFsZXJ0IC5tZXNzYWdlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmRlMWUxO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNiMjBjMGM7XG4gICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICAgIC5tb2RhbC1jb250YWluZXIuYWxlcnQgLm1lc3NhZ2U6bm90KC5pY29uLWNvbmZpZ3VyZWQpOmhhcyguY29udGVudC1jb250YWluZXIpOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+BqlwiOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5hbGVydCAubWVzc2FnZTpoYXMoLmNvbnRlbnQtY29udGFpbmVyKTpiZWZvcmUge1xuICAgICAgY29sb3I6ICNiMjBjMGM7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLmFsZXJ0IC5tZXNzYWdlID4gcDpmaXJzdC1vZi10eXBlOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+BqlwiO1xuICAgICAgY29sb3I6ICNiMjBjMGM7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLmFsZXJ0IC5tZXNzYWdlIGgxLCAubW9kYWwtY29udGFpbmVyLmFsZXJ0IC5tZXNzYWdlIGgyLCAubW9kYWwtY29udGFpbmVyLmFsZXJ0IC5tZXNzYWdlIGgzLCAubW9kYWwtY29udGFpbmVyLmFsZXJ0IC5tZXNzYWdlIGg0LCAubW9kYWwtY29udGFpbmVyLmFsZXJ0IC5tZXNzYWdlIGg1LCAubW9kYWwtY29udGFpbmVyLmFsZXJ0IC5tZXNzYWdlIGg2LCAubW9kYWwtY29udGFpbmVyLmFsZXJ0IC5tZXNzYWdlIHAsIC5tb2RhbC1jb250YWluZXIuYWxlcnQgLm1lc3NhZ2UgYSB7XG4gICAgICBjb2xvcjogI2IyMGMwYzsgfVxuICAubW9kYWwtY29udGFpbmVyLmFsZXJ0IC5wcm9tcHQtcHJvY2VlZC1idXR0b24ge1xuICAgIC0tY29tcG9uZW50LXNwZWNpZmMtc3RlcC1oZWlnaHQ6IDE1cHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tc21hbGwtbWFyZ2luLCAxMHB4IDApO1xuICAgIHBhZGRpbmc6IHZhcigtLWNvbW1vbi1idXR0b24tcGFkZGluZywgMjBweCAxMHB4KTtcbiAgICBjb2xvcjogI2IyMGMwYztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmRlMWUxO1xuICAgIGJvcmRlci13aWR0aDogMnB4O1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDEuMnB4O1xuICAgIHdvcmQtc3BhY2luZzogMnB4O1xuICAgIGJvcmRlci1jb2xvcjogI2RhZGFkYTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuOHM7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAubW9kYWwtY29udGFpbmVyLmFsZXJ0IC5wcm9tcHQtcHJvY2VlZC1idXR0b24ge1xuICAgICAgICB3aWR0aDogMjMwcHg7XG4gICAgICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1sYXJnZS1tYXJnaW4sIDAgNDVweCAyMHB4KTsgfSB9XG4gICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAgIC5tb2RhbC1jb250YWluZXIuYWxlcnQgLnByb21wdC1wcm9jZWVkLWJ1dHRvbjpob3ZlciwgLm1vZGFsLWNvbnRhaW5lci5hbGVydCAucHJvbXB0LXByb2NlZWQtYnV0dG9uLmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNiMjBjMGM7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI2IyMGMwYztcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgICAgICAubW9kYWwtY29udGFpbmVyLmFsZXJ0IC5wcm9tcHQtcHJvY2VlZC1idXR0b246aG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLm1vZGFsLWNvbnRhaW5lci5hbGVydCAucHJvbXB0LXByb2NlZWQtYnV0dG9uLmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9IH1cbiAgICAubW9kYWwtY29udGFpbmVyLmFsZXJ0IC5wcm9tcHQtcHJvY2VlZC1idXR0b246YWN0aXZlLCAubW9kYWwtY29udGFpbmVyLmFsZXJ0IC5wcm9tcHQtcHJvY2VlZC1idXR0b24uYWN0aXZlIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlYTtcbiAgICAgIGJvcmRlci1jb2xvcjogI2U2ZTZlYTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5hbGVydCAucHJvbXB0LXByb2NlZWQtYnV0dG9uOmRpc2FibGVkLCAubW9kYWwtY29udGFpbmVyLmFsZXJ0IC5wcm9tcHQtcHJvY2VlZC1idXR0b24uZGlzYWJsZWQsIC5tb2RhbC1jb250YWluZXIuYWxlcnQgLnByb21wdC1wcm9jZWVkLWJ1dHRvbltkaXNhYmxlZF0ge1xuICAgICAgY29sb3I6ICM5MjkyOTI7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwMCwgMjAwLCAyMDAsIDAuNyk7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5hbGVydCAucHJvbXB0LXByb2NlZWQtYnV0dG9uOmRpc2FibGVkOmhvdmVyLCAubW9kYWwtY29udGFpbmVyLmFsZXJ0IC5wcm9tcHQtcHJvY2VlZC1idXR0b24uZGlzYWJsZWQ6aG92ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwMCwgMjAwLCAyMDAsIDAuNyk7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLmFsZXJ0IC5wcm9tcHQtcHJvY2VlZC1idXR0b246Zm9jdXMtdmlzaWJsZSB7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTsgfVxuICAgIC5tb2RhbC1jb250YWluZXIuYWxlcnQgLnByb21wdC1wcm9jZWVkLWJ1dHRvbiAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuICAubW9kYWwtY29udGFpbmVyLndhcm5pbmc6bm90KC5hamF4KSAuY29udGVudCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZWZlNjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZmY1ZTA1O1xuICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLndhcm5pbmc6bm90KC5hamF4KSAuY29udGVudDpub3QoLmljb24tY29uZmlndXJlZCk6aGFzKC5jb250ZW50LWNvbnRhaW5lcik6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74GxXCI7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLndhcm5pbmc6bm90KC5hamF4KSAuY29udGVudDpoYXMoLmNvbnRlbnQtY29udGFpbmVyKTpiZWZvcmUge1xuICAgICAgY29sb3I6ICNmZjVlMDU7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLndhcm5pbmc6bm90KC5hamF4KSAuY29udGVudCA+IHA6Zmlyc3Qtb2YtdHlwZTo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74GxXCI7XG4gICAgICBjb2xvcjogI2ZmNWUwNTsgfVxuICAgIC5tb2RhbC1jb250YWluZXIud2FybmluZzpub3QoLmFqYXgpIC5jb250ZW50IGgxLCAubW9kYWwtY29udGFpbmVyLndhcm5pbmc6bm90KC5hamF4KSAuY29udGVudCBoMiwgLm1vZGFsLWNvbnRhaW5lci53YXJuaW5nOm5vdCguYWpheCkgLmNvbnRlbnQgaDMsIC5tb2RhbC1jb250YWluZXIud2FybmluZzpub3QoLmFqYXgpIC5jb250ZW50IGg0LCAubW9kYWwtY29udGFpbmVyLndhcm5pbmc6bm90KC5hamF4KSAuY29udGVudCBoNSwgLm1vZGFsLWNvbnRhaW5lci53YXJuaW5nOm5vdCguYWpheCkgLmNvbnRlbnQgaDYsIC5tb2RhbC1jb250YWluZXIud2FybmluZzpub3QoLmFqYXgpIC5jb250ZW50IHAsIC5tb2RhbC1jb250YWluZXIud2FybmluZzpub3QoLmFqYXgpIC5jb250ZW50IGEge1xuICAgICAgY29sb3I6ICNmZjVlMDU7IH1cbiAgLm1vZGFsLWNvbnRhaW5lci53YXJuaW5nIC5tZXNzYWdlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZlZmU2O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZjVlMDU7XG4gICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICAgIC5tb2RhbC1jb250YWluZXIud2FybmluZyAubWVzc2FnZTpub3QoLmljb24tY29uZmlndXJlZCk6aGFzKC5jb250ZW50LWNvbnRhaW5lcik6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74GxXCI7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLndhcm5pbmcgLm1lc3NhZ2U6aGFzKC5jb250ZW50LWNvbnRhaW5lcik6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjZmY1ZTA1OyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci53YXJuaW5nIC5tZXNzYWdlID4gcDpmaXJzdC1vZi10eXBlOjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgbFcIjtcbiAgICAgIGNvbG9yOiAjZmY1ZTA1OyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci53YXJuaW5nIC5tZXNzYWdlIGgxLCAubW9kYWwtY29udGFpbmVyLndhcm5pbmcgLm1lc3NhZ2UgaDIsIC5tb2RhbC1jb250YWluZXIud2FybmluZyAubWVzc2FnZSBoMywgLm1vZGFsLWNvbnRhaW5lci53YXJuaW5nIC5tZXNzYWdlIGg0LCAubW9kYWwtY29udGFpbmVyLndhcm5pbmcgLm1lc3NhZ2UgaDUsIC5tb2RhbC1jb250YWluZXIud2FybmluZyAubWVzc2FnZSBoNiwgLm1vZGFsLWNvbnRhaW5lci53YXJuaW5nIC5tZXNzYWdlIHAsIC5tb2RhbC1jb250YWluZXIud2FybmluZyAubWVzc2FnZSBhIHtcbiAgICAgIGNvbG9yOiAjZmY1ZTA1OyB9XG4gIC5tb2RhbC1jb250YWluZXIud2FybmluZyAucHJvbXB0LXByb2NlZWQtYnV0dG9uIHtcbiAgICAtLWNvbXBvbmVudC1zcGVjaWZjLXN0ZXAtaGVpZ2h0OiAxNXB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLXNtYWxsLW1hcmdpbiwgMTBweCAwKTtcbiAgICBwYWRkaW5nOiB2YXIoLS1jb21tb24tYnV0dG9uLXBhZGRpbmcsIDIwcHggMTBweCk7XG4gICAgY29sb3I6ICNiMjBjMGM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZkZTFlMTtcbiAgICBib3JkZXItd2lkdGg6IDJweDtcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAxLjJweDtcbiAgICB3b3JkLXNwYWNpbmc6IDJweDtcbiAgICBib3JkZXItY29sb3I6ICNkYWRhZGE7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjhzOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm1vZGFsLWNvbnRhaW5lci53YXJuaW5nIC5wcm9tcHQtcHJvY2VlZC1idXR0b24ge1xuICAgICAgICB3aWR0aDogMjMwcHg7XG4gICAgICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1sYXJnZS1tYXJnaW4sIDAgNDVweCAyMHB4KTsgfSB9XG4gICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAgIC5tb2RhbC1jb250YWluZXIud2FybmluZyAucHJvbXB0LXByb2NlZWQtYnV0dG9uOmhvdmVyLCAubW9kYWwtY29udGFpbmVyLndhcm5pbmcgLnByb21wdC1wcm9jZWVkLWJ1dHRvbi5ob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjIwYzBjO1xuICAgICAgICBib3JkZXItY29sb3I6ICNiMjBjMGM7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAgICAgLm1vZGFsLWNvbnRhaW5lci53YXJuaW5nIC5wcm9tcHQtcHJvY2VlZC1idXR0b246aG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLm1vZGFsLWNvbnRhaW5lci53YXJuaW5nIC5wcm9tcHQtcHJvY2VlZC1idXR0b24uaG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH0gfVxuICAgIC5tb2RhbC1jb250YWluZXIud2FybmluZyAucHJvbXB0LXByb2NlZWQtYnV0dG9uOmFjdGl2ZSwgLm1vZGFsLWNvbnRhaW5lci53YXJuaW5nIC5wcm9tcHQtcHJvY2VlZC1idXR0b24uYWN0aXZlIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlYTtcbiAgICAgIGJvcmRlci1jb2xvcjogI2U2ZTZlYTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci53YXJuaW5nIC5wcm9tcHQtcHJvY2VlZC1idXR0b246ZGlzYWJsZWQsIC5tb2RhbC1jb250YWluZXIud2FybmluZyAucHJvbXB0LXByb2NlZWQtYnV0dG9uLmRpc2FibGVkLCAubW9kYWwtY29udGFpbmVyLndhcm5pbmcgLnByb21wdC1wcm9jZWVkLWJ1dHRvbltkaXNhYmxlZF0ge1xuICAgICAgY29sb3I6ICM5MjkyOTI7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwMCwgMjAwLCAyMDAsIDAuNyk7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci53YXJuaW5nIC5wcm9tcHQtcHJvY2VlZC1idXR0b246ZGlzYWJsZWQ6aG92ZXIsIC5tb2RhbC1jb250YWluZXIud2FybmluZyAucHJvbXB0LXByb2NlZWQtYnV0dG9uLmRpc2FibGVkOmhvdmVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMDAsIDIwMCwgMjAwLCAwLjcpOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci53YXJuaW5nIC5wcm9tcHQtcHJvY2VlZC1idXR0b246Zm9jdXMtdmlzaWJsZSB7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTsgfVxuICAgIC5tb2RhbC1jb250YWluZXIud2FybmluZyAucHJvbXB0LXByb2NlZWQtYnV0dG9uIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG4gIC5tb2RhbC1jb250YWluZXIuYWN0aW9uLXJlcXVpcmVkOm5vdCguYWpheCkgLmNvbnRlbnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmVmZTY7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2ZmNWUwNTtcbiAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5hY3Rpb24tcmVxdWlyZWQ6bm90KC5hamF4KSAuY29udGVudDpub3QoLmljb24tY29uZmlndXJlZCk6aGFzKC5jb250ZW50LWNvbnRhaW5lcik6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74GxXCI7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLmFjdGlvbi1yZXF1aXJlZDpub3QoLmFqYXgpIC5jb250ZW50OmhhcyguY29udGVudC1jb250YWluZXIpOmJlZm9yZSB7XG4gICAgICBjb2xvcjogI2ZmNWUwNTsgfVxuICAgIC5tb2RhbC1jb250YWluZXIuYWN0aW9uLXJlcXVpcmVkOm5vdCguYWpheCkgLmNvbnRlbnQgPiBwOmZpcnN0LW9mLXR5cGU6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+BsVwiO1xuICAgICAgY29sb3I6ICNmZjVlMDU7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLmFjdGlvbi1yZXF1aXJlZDpub3QoLmFqYXgpIC5jb250ZW50IGgxLCAubW9kYWwtY29udGFpbmVyLmFjdGlvbi1yZXF1aXJlZDpub3QoLmFqYXgpIC5jb250ZW50IGgyLCAubW9kYWwtY29udGFpbmVyLmFjdGlvbi1yZXF1aXJlZDpub3QoLmFqYXgpIC5jb250ZW50IGgzLCAubW9kYWwtY29udGFpbmVyLmFjdGlvbi1yZXF1aXJlZDpub3QoLmFqYXgpIC5jb250ZW50IGg0LCAubW9kYWwtY29udGFpbmVyLmFjdGlvbi1yZXF1aXJlZDpub3QoLmFqYXgpIC5jb250ZW50IGg1LCAubW9kYWwtY29udGFpbmVyLmFjdGlvbi1yZXF1aXJlZDpub3QoLmFqYXgpIC5jb250ZW50IGg2LCAubW9kYWwtY29udGFpbmVyLmFjdGlvbi1yZXF1aXJlZDpub3QoLmFqYXgpIC5jb250ZW50IHAsIC5tb2RhbC1jb250YWluZXIuYWN0aW9uLXJlcXVpcmVkOm5vdCguYWpheCkgLmNvbnRlbnQgYSB7XG4gICAgICBjb2xvcjogI2ZmNWUwNTsgfVxuICAubW9kYWwtY29udGFpbmVyLmFjdGlvbi1yZXF1aXJlZCAubWVzc2FnZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZWZlNjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZmY1ZTA1O1xuICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLmFjdGlvbi1yZXF1aXJlZCAubWVzc2FnZTpub3QoLmljb24tY29uZmlndXJlZCk6aGFzKC5jb250ZW50LWNvbnRhaW5lcik6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74GxXCI7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLmFjdGlvbi1yZXF1aXJlZCAubWVzc2FnZTpoYXMoLmNvbnRlbnQtY29udGFpbmVyKTpiZWZvcmUge1xuICAgICAgY29sb3I6ICNmZjVlMDU7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLmFjdGlvbi1yZXF1aXJlZCAubWVzc2FnZSA+IHA6Zmlyc3Qtb2YtdHlwZTo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74GxXCI7XG4gICAgICBjb2xvcjogI2ZmNWUwNTsgfVxuICAgIC5tb2RhbC1jb250YWluZXIuYWN0aW9uLXJlcXVpcmVkIC5tZXNzYWdlIGgxLCAubW9kYWwtY29udGFpbmVyLmFjdGlvbi1yZXF1aXJlZCAubWVzc2FnZSBoMiwgLm1vZGFsLWNvbnRhaW5lci5hY3Rpb24tcmVxdWlyZWQgLm1lc3NhZ2UgaDMsIC5tb2RhbC1jb250YWluZXIuYWN0aW9uLXJlcXVpcmVkIC5tZXNzYWdlIGg0LCAubW9kYWwtY29udGFpbmVyLmFjdGlvbi1yZXF1aXJlZCAubWVzc2FnZSBoNSwgLm1vZGFsLWNvbnRhaW5lci5hY3Rpb24tcmVxdWlyZWQgLm1lc3NhZ2UgaDYsIC5tb2RhbC1jb250YWluZXIuYWN0aW9uLXJlcXVpcmVkIC5tZXNzYWdlIHAsIC5tb2RhbC1jb250YWluZXIuYWN0aW9uLXJlcXVpcmVkIC5tZXNzYWdlIGEge1xuICAgICAgY29sb3I6ICNmZjVlMDU7IH1cbiAgLm1vZGFsLWNvbnRhaW5lci5hY3Rpb24tcmVxdWlyZWQgLnByb21wdC1wcm9jZWVkLWJ1dHRvbiB7XG4gICAgLS1jb21wb25lbnQtc3BlY2lmYy1zdGVwLWhlaWdodDogMTVweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1zbWFsbC1tYXJnaW4sIDEwcHggMCk7XG4gICAgcGFkZGluZzogdmFyKC0tY29tbW9uLWJ1dHRvbi1wYWRkaW5nLCAyMHB4IDEwcHgpO1xuICAgIGNvbG9yOiAjMDYwNTJmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkZmZiZTI7XG4gICAgYm9yZGVyLXdpZHRoOiAycHg7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMS4ycHg7XG4gICAgd29yZC1zcGFjaW5nOiAycHg7XG4gICAgYm9yZGVyLWNvbG9yOiAjZGFkYWRhO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC44czsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5tb2RhbC1jb250YWluZXIuYWN0aW9uLXJlcXVpcmVkIC5wcm9tcHQtcHJvY2VlZC1idXR0b24ge1xuICAgICAgICB3aWR0aDogMjMwcHg7XG4gICAgICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1sYXJnZS1tYXJnaW4sIDAgNDVweCAyMHB4KTsgfSB9XG4gICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAgIC5tb2RhbC1jb250YWluZXIuYWN0aW9uLXJlcXVpcmVkIC5wcm9tcHQtcHJvY2VlZC1idXR0b246aG92ZXIsIC5tb2RhbC1jb250YWluZXIuYWN0aW9uLXJlcXVpcmVkIC5wcm9tcHQtcHJvY2VlZC1idXR0b24uaG92ZXIge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzEyODExZjtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMTI4MTFmO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgICAgIC5tb2RhbC1jb250YWluZXIuYWN0aW9uLXJlcXVpcmVkIC5wcm9tcHQtcHJvY2VlZC1idXR0b246aG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLm1vZGFsLWNvbnRhaW5lci5hY3Rpb24tcmVxdWlyZWQgLnByb21wdC1wcm9jZWVkLWJ1dHRvbi5ob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfSB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5hY3Rpb24tcmVxdWlyZWQgLnByb21wdC1wcm9jZWVkLWJ1dHRvbjphY3RpdmUsIC5tb2RhbC1jb250YWluZXIuYWN0aW9uLXJlcXVpcmVkIC5wcm9tcHQtcHJvY2VlZC1idXR0b24uYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZWE7XG4gICAgICBib3JkZXItY29sb3I6ICNlNmU2ZWE7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgIC5tb2RhbC1jb250YWluZXIuYWN0aW9uLXJlcXVpcmVkIC5wcm9tcHQtcHJvY2VlZC1idXR0b246ZGlzYWJsZWQsIC5tb2RhbC1jb250YWluZXIuYWN0aW9uLXJlcXVpcmVkIC5wcm9tcHQtcHJvY2VlZC1idXR0b24uZGlzYWJsZWQsIC5tb2RhbC1jb250YWluZXIuYWN0aW9uLXJlcXVpcmVkIC5wcm9tcHQtcHJvY2VlZC1idXR0b25bZGlzYWJsZWRdIHtcbiAgICAgIGNvbG9yOiAjOTI5MjkyO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMDAsIDIwMCwgMjAwLCAwLjcpO1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgIC5tb2RhbC1jb250YWluZXIuYWN0aW9uLXJlcXVpcmVkIC5wcm9tcHQtcHJvY2VlZC1idXR0b246ZGlzYWJsZWQ6aG92ZXIsIC5tb2RhbC1jb250YWluZXIuYWN0aW9uLXJlcXVpcmVkIC5wcm9tcHQtcHJvY2VlZC1idXR0b24uZGlzYWJsZWQ6aG92ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwMCwgMjAwLCAyMDAsIDAuNyk7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLmFjdGlvbi1yZXF1aXJlZCAucHJvbXB0LXByb2NlZWQtYnV0dG9uOmZvY3VzLXZpc2libGUge1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLmFjdGlvbi1yZXF1aXJlZCAucHJvbXB0LXByb2NlZWQtYnV0dG9uIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG4gIC5tb2RhbC1jb250YWluZXIuc3VjY2Vzczpub3QoLmFqYXgpIC5jb250ZW50IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGZmYmUyO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMxMjgxMWY7XG4gICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICAgIC5tb2RhbC1jb250YWluZXIuc3VjY2Vzczpub3QoLmFqYXgpIC5jb250ZW50Om5vdCguaWNvbi1jb25maWd1cmVkKTpoYXMoLmNvbnRlbnQtY29udGFpbmVyKTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgIxcIjsgfVxuICAgIC5tb2RhbC1jb250YWluZXIuc3VjY2Vzczpub3QoLmFqYXgpIC5jb250ZW50OmhhcyguY29udGVudC1jb250YWluZXIpOmJlZm9yZSB7XG4gICAgICBjb2xvcjogIzEyODExZjsgfVxuICAgIC5tb2RhbC1jb250YWluZXIuc3VjY2Vzczpub3QoLmFqYXgpIC5jb250ZW50ID4gcDpmaXJzdC1vZi10eXBlOjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgIxcIjtcbiAgICAgIGNvbG9yOiAjMTI4MTFmOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5zdWNjZXNzOm5vdCguYWpheCkgLmNvbnRlbnQgaDEsIC5tb2RhbC1jb250YWluZXIuc3VjY2Vzczpub3QoLmFqYXgpIC5jb250ZW50IGgyLCAubW9kYWwtY29udGFpbmVyLnN1Y2Nlc3M6bm90KC5hamF4KSAuY29udGVudCBoMywgLm1vZGFsLWNvbnRhaW5lci5zdWNjZXNzOm5vdCguYWpheCkgLmNvbnRlbnQgaDQsIC5tb2RhbC1jb250YWluZXIuc3VjY2Vzczpub3QoLmFqYXgpIC5jb250ZW50IGg1LCAubW9kYWwtY29udGFpbmVyLnN1Y2Nlc3M6bm90KC5hamF4KSAuY29udGVudCBoNiwgLm1vZGFsLWNvbnRhaW5lci5zdWNjZXNzOm5vdCguYWpheCkgLmNvbnRlbnQgcCwgLm1vZGFsLWNvbnRhaW5lci5zdWNjZXNzOm5vdCguYWpheCkgLmNvbnRlbnQgYSB7XG4gICAgICBjb2xvcjogIzEyODExZjsgfVxuICAubW9kYWwtY29udGFpbmVyLnN1Y2Nlc3MgLm1lc3NhZ2Uge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkZmZiZTI7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzEyODExZjtcbiAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5zdWNjZXNzIC5tZXNzYWdlOm5vdCguaWNvbi1jb25maWd1cmVkKTpoYXMoLmNvbnRlbnQtY29udGFpbmVyKTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgIxcIjsgfVxuICAgIC5tb2RhbC1jb250YWluZXIuc3VjY2VzcyAubWVzc2FnZTpoYXMoLmNvbnRlbnQtY29udGFpbmVyKTpiZWZvcmUge1xuICAgICAgY29sb3I6ICMxMjgxMWY7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLnN1Y2Nlc3MgLm1lc3NhZ2UgPiBwOmZpcnN0LW9mLXR5cGU6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+AjFwiO1xuICAgICAgY29sb3I6ICMxMjgxMWY7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLnN1Y2Nlc3MgLm1lc3NhZ2UgaDEsIC5tb2RhbC1jb250YWluZXIuc3VjY2VzcyAubWVzc2FnZSBoMiwgLm1vZGFsLWNvbnRhaW5lci5zdWNjZXNzIC5tZXNzYWdlIGgzLCAubW9kYWwtY29udGFpbmVyLnN1Y2Nlc3MgLm1lc3NhZ2UgaDQsIC5tb2RhbC1jb250YWluZXIuc3VjY2VzcyAubWVzc2FnZSBoNSwgLm1vZGFsLWNvbnRhaW5lci5zdWNjZXNzIC5tZXNzYWdlIGg2LCAubW9kYWwtY29udGFpbmVyLnN1Y2Nlc3MgLm1lc3NhZ2UgcCwgLm1vZGFsLWNvbnRhaW5lci5zdWNjZXNzIC5tZXNzYWdlIGEge1xuICAgICAgY29sb3I6ICMxMjgxMWY7IH1cbiAgLm1vZGFsLWNvbnRhaW5lci5zdWNjZXNzIC5wcm9tcHQtcHJvY2VlZC1idXR0b24ge1xuICAgIC0tY29tcG9uZW50LXNwZWNpZmMtc3RlcC1oZWlnaHQ6IDE1cHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tc21hbGwtbWFyZ2luLCAxMHB4IDApO1xuICAgIHBhZGRpbmc6IHZhcigtLWNvbW1vbi1idXR0b24tcGFkZGluZywgMjBweCAxMHB4KTtcbiAgICBjb2xvcjogIzA2MDUyZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGZmYmUyO1xuICAgIGJvcmRlci13aWR0aDogMnB4O1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDEuMnB4O1xuICAgIHdvcmQtc3BhY2luZzogMnB4O1xuICAgIGJvcmRlci1jb2xvcjogI2RhZGFkYTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuOHM7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAubW9kYWwtY29udGFpbmVyLnN1Y2Nlc3MgLnByb21wdC1wcm9jZWVkLWJ1dHRvbiB7XG4gICAgICAgIHdpZHRoOiAyMzBweDtcbiAgICAgICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLWxhcmdlLW1hcmdpbiwgMCA0NXB4IDIwcHgpOyB9IH1cbiAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgICAgLm1vZGFsLWNvbnRhaW5lci5zdWNjZXNzIC5wcm9tcHQtcHJvY2VlZC1idXR0b246aG92ZXIsIC5tb2RhbC1jb250YWluZXIuc3VjY2VzcyAucHJvbXB0LXByb2NlZWQtYnV0dG9uLmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxMjgxMWY7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzEyODExZjtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgICAgICAubW9kYWwtY29udGFpbmVyLnN1Y2Nlc3MgLnByb21wdC1wcm9jZWVkLWJ1dHRvbjpob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwLCAubW9kYWwtY29udGFpbmVyLnN1Y2Nlc3MgLnByb21wdC1wcm9jZWVkLWJ1dHRvbi5ob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfSB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5zdWNjZXNzIC5wcm9tcHQtcHJvY2VlZC1idXR0b246YWN0aXZlLCAubW9kYWwtY29udGFpbmVyLnN1Y2Nlc3MgLnByb21wdC1wcm9jZWVkLWJ1dHRvbi5hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlYTtcbiAgICAgIGJvcmRlci1jb2xvcjogI2U2ZTZlYTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5zdWNjZXNzIC5wcm9tcHQtcHJvY2VlZC1idXR0b246ZGlzYWJsZWQsIC5tb2RhbC1jb250YWluZXIuc3VjY2VzcyAucHJvbXB0LXByb2NlZWQtYnV0dG9uLmRpc2FibGVkLCAubW9kYWwtY29udGFpbmVyLnN1Y2Nlc3MgLnByb21wdC1wcm9jZWVkLWJ1dHRvbltkaXNhYmxlZF0ge1xuICAgICAgY29sb3I6ICM5MjkyOTI7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwMCwgMjAwLCAyMDAsIDAuNyk7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5zdWNjZXNzIC5wcm9tcHQtcHJvY2VlZC1idXR0b246ZGlzYWJsZWQ6aG92ZXIsIC5tb2RhbC1jb250YWluZXIuc3VjY2VzcyAucHJvbXB0LXByb2NlZWQtYnV0dG9uLmRpc2FibGVkOmhvdmVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMDAsIDIwMCwgMjAwLCAwLjcpOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5zdWNjZXNzIC5wcm9tcHQtcHJvY2VlZC1idXR0b246Zm9jdXMtdmlzaWJsZSB7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTsgfVxuICAgIC5tb2RhbC1jb250YWluZXIuc3VjY2VzcyAucHJvbXB0LXByb2NlZWQtYnV0dG9uIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG4gIC5tb2RhbC1jb250YWluZXIuZGVtbyAuY29udGVudC1jb250YWluZXIge1xuICAgIHBhZGRpbmc6IDIwcHggMTBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5tb2RhbC1jb250YWluZXIuZGVtbyAuY29udGVudC1jb250YWluZXIge1xuICAgICAgICBwYWRkaW5nOiAxMTVweCAxMzVweDsgfSB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5kZW1vIC5jb250ZW50LWNvbnRhaW5lciBoMiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgICAgY29sb3I6ICNmZjAxMDE7XG4gICAgICBmb250LXNpemU6IDEuNjI1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLm1vZGFsLWNvbnRhaW5lci5kZW1vIC5jb250ZW50LWNvbnRhaW5lciBoMiB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzVweDsgfSB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5kZW1vIC5jb250ZW50LWNvbnRhaW5lciBoMyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgICAgY29sb3I6ICMwNjA1MmY7XG4gICAgICBmb250LXNpemU6IDEuMzc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgIC5tb2RhbC1jb250YWluZXIuZGVtbyAuY29udGVudC1jb250YWluZXIgcCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICBmb250LXdlaWdodDogMzAwOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5tb2RhbC1jb250YWluZXIuZGVtbyAuY29udGVudC1jb250YWluZXIgcCB7XG4gICAgICAgICAgcGFkZGluZzogMCA1MHB4OyB9IH1cbiAgICAubW9kYWwtY29udGFpbmVyLmRlbW8gLmNvbnRlbnQtY29udGFpbmVyIHN0cm9uZyB7XG4gICAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAubW9kYWwtY29udGFpbmVyLmRlbW8gLmNvbnRlbnQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5tb2RhbC1jb250YWluZXIuZGVtbyAuY29udGVudCB7XG4gICAgICAgIG1heC13aWR0aDogODg1cHg7IH0gfVxuICAubW9kYWwtY29udGFpbmVyLmRlbW8gLm1vZGFsLWxvZ28ge1xuICAgIHdpZHRoOiAxMzVweDtcbiAgICBoZWlnaHQ6IDEzNXB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWFyZ2luOiAwIGF1dG8gMTBweDsgfVxuICAubW9kYWwtY29udGFpbmVyLmRlbW8gLmltYWdlLXNsb3QtMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLmRlbW8gLmltYWdlLXNsb3QtMTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvipFcIjtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgZm9udC1zaXplOiA3MHB4O1xuICAgICAgY29sb3I6ICMwNjA1MmY7IH1cbiAgLm1vZGFsLWNvbnRhaW5lci5kZW1vIC5pbWFnZS1zbG90LTIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuICAgIC5tb2RhbC1jb250YWluZXIuZGVtbyAuaW1hZ2Utc2xvdC0yOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+BnlwiO1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICBmb250LXNpemU6IDEzNXB4O1xuICAgICAgY29sb3I6ICNmZjAxMDE7IH1cbiAgLm1vZGFsLWNvbnRhaW5lci5kZW1vIC5wcm9tcHQtY2FuY2VsLWJ1dHRvbiB7XG4gICAgLS1jb21wb25lbnQtc3BlY2lmYy1zdGVwLWhlaWdodDogMTVweDtcbiAgICB3aWR0aDogMjMwcHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tc21hbGwtbWFyZ2luLCAxMHB4IDApO1xuICAgIHBhZGRpbmc6IHZhcigtLWNvbW1vbi1idXR0b24tcGFkZGluZywgMjBweCAxMHB4KTtcbiAgICBjb2xvcjogIzA2MDUyZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGZmYmUyO1xuICAgIGJvcmRlci13aWR0aDogMnB4O1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDEuMnB4O1xuICAgIHdvcmQtc3BhY2luZzogMnB4O1xuICAgIGJvcmRlci1jb2xvcjogI2RhZGFkYTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuOHM7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAubW9kYWwtY29udGFpbmVyLmRlbW8gLnByb21wdC1jYW5jZWwtYnV0dG9uIHtcbiAgICAgICAgd2lkdGg6IDIzMHB4O1xuICAgICAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tbGFyZ2UtbWFyZ2luLCAwIDQ1cHggMjBweCk7IH0gfVxuICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgICAubW9kYWwtY29udGFpbmVyLmRlbW8gLnByb21wdC1jYW5jZWwtYnV0dG9uOmhvdmVyLCAubW9kYWwtY29udGFpbmVyLmRlbW8gLnByb21wdC1jYW5jZWwtYnV0dG9uLmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxMjgxMWY7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzEyODExZjtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgICAgICAubW9kYWwtY29udGFpbmVyLmRlbW8gLnByb21wdC1jYW5jZWwtYnV0dG9uOmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIC5tb2RhbC1jb250YWluZXIuZGVtbyAucHJvbXB0LWNhbmNlbC1idXR0b24uaG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH0gfVxuICAgIC5tb2RhbC1jb250YWluZXIuZGVtbyAucHJvbXB0LWNhbmNlbC1idXR0b246YWN0aXZlLCAubW9kYWwtY29udGFpbmVyLmRlbW8gLnByb21wdC1jYW5jZWwtYnV0dG9uLmFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmVhO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZTZlNmVhO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLmRlbW8gLnByb21wdC1jYW5jZWwtYnV0dG9uOmRpc2FibGVkLCAubW9kYWwtY29udGFpbmVyLmRlbW8gLnByb21wdC1jYW5jZWwtYnV0dG9uLmRpc2FibGVkLCAubW9kYWwtY29udGFpbmVyLmRlbW8gLnByb21wdC1jYW5jZWwtYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgICBjb2xvcjogIzkyOTI5MjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMjAwLCAyMDAsIDIwMCwgMC43KTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLmRlbW8gLnByb21wdC1jYW5jZWwtYnV0dG9uOmRpc2FibGVkOmhvdmVyLCAubW9kYWwtY29udGFpbmVyLmRlbW8gLnByb21wdC1jYW5jZWwtYnV0dG9uLmRpc2FibGVkOmhvdmVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMDAsIDIwMCwgMjAwLCAwLjcpOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5kZW1vIC5wcm9tcHQtY2FuY2VsLWJ1dHRvbjpmb2N1cy12aXNpYmxlIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5kZW1vIC5wcm9tcHQtY2FuY2VsLWJ1dHRvbiAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuICAubW9kYWwtY29udGFpbmVyLmRlbW8gLnByb21wdC1wcm9jZWVkLWJ1dHRvbiB7XG4gICAgLS1jb21wb25lbnQtc3BlY2lmYy1zdGVwLWhlaWdodDogMTVweDtcbiAgICB3aWR0aDogMjMwcHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tc21hbGwtbWFyZ2luLCAxMHB4IDApO1xuICAgIHBhZGRpbmc6IHZhcigtLWNvbW1vbi1idXR0b24tcGFkZGluZywgMjBweCAxMHB4KTtcbiAgICBjb2xvcjogIzA2MDUyZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJvcmRlci13aWR0aDogMnB4O1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDEuMnB4O1xuICAgIHdvcmQtc3BhY2luZzogMnB4O1xuICAgIGJvcmRlci1jb2xvcjogI2RhZGFkYTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuOHM7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAubW9kYWwtY29udGFpbmVyLmRlbW8gLnByb21wdC1wcm9jZWVkLWJ1dHRvbiB7XG4gICAgICAgIHdpZHRoOiAyMzBweDtcbiAgICAgICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLWxhcmdlLW1hcmdpbiwgMCA0NXB4IDIwcHgpOyB9IH1cbiAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgICAgLm1vZGFsLWNvbnRhaW5lci5kZW1vIC5wcm9tcHQtcHJvY2VlZC1idXR0b246aG92ZXIsIC5tb2RhbC1jb250YWluZXIuZGVtbyAucHJvbXB0LXByb2NlZWQtYnV0dG9uLmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkYWRhZGE7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzAwMDAwMDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgICAgICAubW9kYWwtY29udGFpbmVyLmRlbW8gLnByb21wdC1wcm9jZWVkLWJ1dHRvbjpob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwLCAubW9kYWwtY29udGFpbmVyLmRlbW8gLnByb21wdC1wcm9jZWVkLWJ1dHRvbi5ob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfSB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5kZW1vIC5wcm9tcHQtcHJvY2VlZC1idXR0b246YWN0aXZlLCAubW9kYWwtY29udGFpbmVyLmRlbW8gLnByb21wdC1wcm9jZWVkLWJ1dHRvbi5hY3RpdmUge1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDYwNTJmO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMDYwNTJmO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLmRlbW8gLnByb21wdC1wcm9jZWVkLWJ1dHRvbjpkaXNhYmxlZCwgLm1vZGFsLWNvbnRhaW5lci5kZW1vIC5wcm9tcHQtcHJvY2VlZC1idXR0b24uZGlzYWJsZWQsIC5tb2RhbC1jb250YWluZXIuZGVtbyAucHJvbXB0LXByb2NlZWQtYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgICBjb2xvcjogIzkyOTI5MjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMjAwLCAyMDAsIDIwMCwgMC43KTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLmRlbW8gLnByb21wdC1wcm9jZWVkLWJ1dHRvbjpkaXNhYmxlZDpob3ZlciwgLm1vZGFsLWNvbnRhaW5lci5kZW1vIC5wcm9tcHQtcHJvY2VlZC1idXR0b24uZGlzYWJsZWQ6aG92ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwMCwgMjAwLCAyMDAsIDAuNyk7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLmRlbW8gLnByb21wdC1wcm9jZWVkLWJ1dHRvbjpmb2N1cy12aXNpYmxlIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5kZW1vIC5wcm9tcHQtcHJvY2VlZC1idXR0b24gLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cblxuLm1vZGFsLWluZm9ybWF0aW9uLWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW46IGF1dG87XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjOGM4Yzg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5tb2RhbC1pbmZvcm1hdGlvbi1jb250YWluZXIge1xuICAgICAgbWFyZ2luOiAyMHB4IGF1dG8gMzBweDsgfSB9XG4gIC5tb2RhbC1pbmZvcm1hdGlvbi1jb250YWluZXIgLmluZm9ybWF0aW9uLXNlY3Rpb24ge1xuICAgIG1pbi13aWR0aDogODB2dztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAwIDAgMTBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5tb2RhbC1pbmZvcm1hdGlvbi1jb250YWluZXIgLmluZm9ybWF0aW9uLXNlY3Rpb24ge1xuICAgICAgICBtaW4td2lkdGg6IHVuc2V0O1xuICAgICAgICB3aWR0aDogNjQwcHg7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAyMHB4OyB9IH1cbiAgICAubW9kYWwtaW5mb3JtYXRpb24tY29udGFpbmVyIC5pbmZvcm1hdGlvbi1zZWN0aW9uIGgyIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nOiA1cHggMDtcbiAgICAgIG1hcmdpbjogMCAwIDEwcHg7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM1MDUwNmQ7XG4gICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIHdvcmQtc3BhY2luZzogMnB4OyB9XG4gIC5tb2RhbC1pbmZvcm1hdGlvbi1jb250YWluZXIgLmluZm9ybWF0aW9uLW9wdGlvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXJnaW46IDEwcHggMDtcbiAgICBwYWRkaW5nOiAwIDEwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAubW9kYWwtaW5mb3JtYXRpb24tY29udGFpbmVyIC5pbmZvcm1hdGlvbi1vcHRpb24ge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIG1hcmdpbjogMTBweCAwO1xuICAgICAgICBwYWRkaW5nOiAwIDIwcHg7IH0gfVxuICAgIC5tb2RhbC1pbmZvcm1hdGlvbi1jb250YWluZXIgLmluZm9ybWF0aW9uLW9wdGlvbiAubGFiZWwge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICBmb250LXdlaWdodDogNjAwOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5tb2RhbC1pbmZvcm1hdGlvbi1jb250YWluZXIgLmluZm9ybWF0aW9uLW9wdGlvbiAubGFiZWwge1xuICAgICAgICAgIHdpZHRoOiAxNjBweDsgfSB9XG5cbi5pbmplY3QtY29udGVudCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuW2luamVjdC1jb250YWluZXJdIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDIwMHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgW2luamVjdC1jb250YWluZXJdOmhhcyhkaXYuQUpBWEJsb2NrKSB7XG4gICAgbWluLXdpZHRoOiAzMjBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIFtpbmplY3QtY29udGFpbmVyXTpoYXMoZGl2LkFKQVhCbG9jaykge1xuICAgICAgICBtaW4td2lkdGg6IDY0MHB4OyB9IH1cbiAgW2luamVjdC1jb250YWluZXJdIC5tb2RhbC1oZWFkZXIgLmNsb3NlLWJ1dHRvbiB7XG4gICAgcmlnaHQ6IDMwcHg7IH1cblxuLmluamVjdC1idXR0b24ge1xuICBjb2xvcjogIzA2MDUyZjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzO1xuICB6LWluZGV4OiAxOyB9XG4gIC5pbmplY3QtYnV0dG9uOmhvdmVyIHtcbiAgICBjb2xvcjogI2FlOTQ2MTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gIC5pbmplY3QtYnV0dG9uOmFjdGl2ZSB7XG4gICAgY29sb3I6ICM4ODg4ODg7IH1cbiAgLmluamVjdC1idXR0b24uZm9ybSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmluamVjdC1idXR0b24uZm9ybSB7XG4gICAgICAgIG1hcmdpbjogMCA1MHB4IDAgYXV0bzsgfSB9XG4gICAgLmluamVjdC1idXR0b24uZm9ybTphZnRlciB7XG4gICAgICBjb250ZW50OiBcIu6ggVwiO1xuICAgICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG8tZGptaWxlc1wiO1xuICAgICAgZm9udC1zaXplOiA2cHg7XG4gICAgICBtYXJnaW4tbGVmdDogNXB4OyB9XG5cbi8qXHJcbi0tLS0tIE1vZHVsZXMgLS0tLS1cclxuVGhlc2UgY2FuIGJlIHVzZWQgYW55d2hlcmUgb24gdGhlIHNpdGUgaGVhZGVyLCBtYWluIGNvbnRlbnQgJiBmb290ZXIsIHRoZXNlIGhhdmUgYSBoYXJkIGRlcGVuZGFuY3kgb24gZm91bmRhdGlvbiBYWSBncmlkIHN5c3RlbSBmb3IgdGhlaXIgcG9zaXRpb25pbmcuXHJcbkhhbmRsZXMgdGhlIGZvbGxvd2luZzogXHJcbi0gUHJvZHVjdCAvIEltYWdlIGNvbGxlY3Rpb25zXHJcbiAgLSBHcmlkIHZpZXdcclxuICAtIFNsaWRlc2hvdyB2aWV3XHJcbi0gVmFyb3VzIENNUyB0eXBlczpcclxuICAtIEJsb2dcclxuICAtIE5ld3NcclxuICAtIEV2ZW50c1xyXG4gIC0gR2VuZXJpYyBDTVMgZW50cmllcyBcclxuLSBFQkcgSW5mb3JtYXRpb25cclxuLSBCYWNrZ3JvdW5kcyAoIEN1cnJlbnRseSBvbmx5IHN1cHBvcnQganVzdCBjb2xvdXJzIG5vdCBpbWFnZXMgKTogXHJcbiAgLSBSb3cgQmFja2dyb3VuZHMgXHJcbiAgLSBNb2R1bGUgQmFja2dyb3VuZHNcclxuKi9cbi5yb3ctYmFja2dyb3VuZDpmaXJzdC1vZi10eXBlIC5tb2R1bGUtYmFja2dyb3VuZCB7XG4gIG1hcmdpbi10b3A6IDA7IH1cblxuLnJvdy1iYWNrZ3JvdW5kIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAucm93LWJhY2tncm91bmQge1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDsgfSB9XG4gIC5yb3ctYmFja2dyb3VuZC5jb250YWluZXItcGFkZGluZyB7XG4gICAgcGFkZGluZzogMCAxMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLnJvdy1iYWNrZ3JvdW5kLmNvbnRhaW5lci1wYWRkaW5nIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDQ1cHg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA0NXB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAucm93LWJhY2tncm91bmQuY29udGFpbmVyLXBhZGRpbmcgLm1vZHVsZS1oZWFkaW5nIHtcbiAgICAgICAgbWFyZ2luLXRvcDogLTQ1cHg7IH0gfVxuICAucm93LWJhY2tncm91bmQgLm1vZHVsZS1oZWFkaW5nIHtcbiAgICBib3JkZXI6IDBweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxuICAgIC5yb3ctYmFja2dyb3VuZCAubW9kdWxlLWhlYWRpbmcgKyAuY21zLW1vZHVsZSAuY29udGVudC1jb250YWluZXIge1xuICAgICAgcGFkZGluZy10b3A6IDA7IH1cblxuLm1vZHVsZS1oZWFkaW5nICsgLmNtcy1tb2R1bGUubmV3cy1tb2R1bGUge1xuICBtYXJnaW4tdG9wOiAwOyB9XG4gIC5tb2R1bGUtaGVhZGluZyArIC5jbXMtbW9kdWxlLm5ld3MtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDAgMCAyMHB4OyB9XG5cbi5ncmlkLWNvbnRhaW5lciAubW9kdWxlLWJhY2tncm91bmQge1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG5cbi5yb3ctYmFja2dyb3VuZCB7XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cblxuLm1vZHVsZS1iYWNrZ3JvdW5kIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAubW9kdWxlLWJhY2tncm91bmQubW9kdWxlLXBhZGRpbmcge1xuICAgICAgcGFkZGluZy10b3A6IDMwcHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMzBweDsgfSB9XG4gIC5tb2R1bGUtYmFja2dyb3VuZC5tb2R1bGUtcGFkZGluZyAubW9kdWxlLWhlYWRpbmcge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm1vZHVsZS1iYWNrZ3JvdW5kLm1vZHVsZS1wYWRkaW5nIC5tb2R1bGUtaGVhZGluZyB7XG4gICAgICAgIG1hcmdpbi10b3A6IC0zMHB4OyB9IH1cbiAgLm1vZHVsZS1iYWNrZ3JvdW5kLm1vZHVsZS1wYWRkaW5nIC5jb250ZW50LWJhbm5lciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXJpZ2h0OiA2LjUlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm1vZHVsZS1iYWNrZ3JvdW5kLm1vZHVsZS1wYWRkaW5nIC5jb250ZW50LWJhbm5lciB7XG4gICAgICAgIGhlaWdodDogMzc1cHg7IH0gfVxuICAgIC5tb2R1bGUtYmFja2dyb3VuZC5tb2R1bGUtcGFkZGluZyAuY29udGVudC1iYW5uZXIgaW1nIHtcbiAgICAgIG1heC1oZWlnaHQ6IDEwMCU7IH1cbiAgLm1vZHVsZS1iYWNrZ3JvdW5kLnJlbW92ZS1tYXJnaW4tdG9wIHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG4gIC5tb2R1bGUtYmFja2dyb3VuZC5yZW1vdmUtbWFyZ2luLWJvdHRvbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAubW9kdWxlLWJhY2tncm91bmQucmVtb3ZlLW1hcmdpbi1ib3RoIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmNvbGxlY3Rpb24ge1xuICAtLW1lZGlhLWFzcGVjdC1yYXRpbzogMS8xO1xuICB3aWR0aDogMTAwJTsgfVxuICAuY29sbGVjdGlvbi5zaG93LWNvbG91cnMgLmNvbGxlY3Rpb24taXRlbSAuaW1hZ2Uge1xuICAgIHBhZGRpbmc6IDNweDsgfVxuICAuY29sbGVjdGlvbi5jb2xsZWN0aW9uLXJlbW92ZS1ndXR0ZXIge1xuICAgIC0tbW9kdWxlLWd1dHRlcjogMDsgfVxuICAuY29sbGVjdGlvbi5jb2xsZWN0aW9uLXNtYWxsLWd1dHRlciB7XG4gICAgLS1tb2R1bGUtZ3V0dGVyOiA3LjVweDsgfVxuICAuY29sbGVjdGlvbi5jb2xsZWN0aW9uLW1lZGl1bS1ndXR0ZXIge1xuICAgIC0tbW9kdWxlLWd1dHRlcjogMTEuNTM4NDZweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5jb2xsZWN0aW9uLmNvbGxlY3Rpb24tbWVkaXVtLWd1dHRlciB7XG4gICAgICAgIC0tbW9kdWxlLWd1dHRlcjogMTVweDsgfSB9XG4gIC5jb2xsZWN0aW9uLmNvbGxlY3Rpb24tbGFyZ2UtZ3V0dGVyIHtcbiAgICAtLW1vZHVsZS1ndXR0ZXI6IDM4LjQ2MTU0cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuY29sbGVjdGlvbi5jb2xsZWN0aW9uLWxhcmdlLWd1dHRlciB7XG4gICAgICAgIC0tbW9kdWxlLWd1dHRlcjogNTBweDsgfSB9XG4gIC5jb2xsZWN0aW9uLmltYWdlLWdyaWQtbW9kdWxlLCAuY29sbGVjdGlvbi5pbWFnZS1zbGlkZXNob3ctbW9kdWxlIHtcbiAgICAtLW1lZGlhLWFzcGVjdC1yYXRpbzogdmFyKC0tbWVkaWEtd2lkdGgsIGF1dG8pL3ZhcigtLW1lZGlhLWhlaWdodCwgYXV0byk7IH1cbiAgLmNvbGxlY3Rpb24gLmNvbGxlY3Rpb24taXRlbS5lYmcge1xuICAgIC0tbWVkaWEtYXNwZWN0LXJhdGlvOiAxLzE7IH1cbiAgLmNvbGxlY3Rpb24gLmdyaWQtbWFyZ2luLXggPiAuY29sbGVjdGlvbi1pdGVtLmNlbGwge1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5jb2xsZWN0aW9uIC5ncmlkLXgge1xuICAgIGRpc3BsYXk6IGdyaWQ7IH1cbiAgLmNvbGxlY3Rpb24gLnNtYWxsLXVwLTEge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEsIG1pbm1heCgwLCAxZnIpKTsgfVxuICAuY29sbGVjdGlvbiAuc21hbGwtdXAtMiB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgbWlubWF4KDAsIDFmcikpOyB9XG4gIC5jb2xsZWN0aW9uIC5zbWFsbC11cC0zIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCBtaW5tYXgoMCwgMWZyKSk7IH1cbiAgLmNvbGxlY3Rpb24gLnNtYWxsLXVwLTQge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIG1pbm1heCgwLCAxZnIpKTsgfVxuICAuY29sbGVjdGlvbiAuc21hbGwtdXAtNSB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNSwgbWlubWF4KDAsIDFmcikpOyB9XG4gIC5jb2xsZWN0aW9uIC5zbWFsbC11cC02IHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg2LCBtaW5tYXgoMCwgMWZyKSk7IH1cbiAgLmNvbGxlY3Rpb24gLnNtYWxsLXVwLTcge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDcsIG1pbm1heCgwLCAxZnIpKTsgfVxuICAuY29sbGVjdGlvbiAuc21hbGwtdXAtOCB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoOCwgbWlubWF4KDAsIDFmcikpOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmNvbGxlY3Rpb24gLm1lZGl1bS11cC0xIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEsIG1pbm1heCgwLCAxZnIpKTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmNvbGxlY3Rpb24gLm1lZGl1bS11cC0yIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIG1pbm1heCgwLCAxZnIpKTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmNvbGxlY3Rpb24gLm1lZGl1bS11cC0zIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIG1pbm1heCgwLCAxZnIpKTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmNvbGxlY3Rpb24gLm1lZGl1bS11cC00IHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIG1pbm1heCgwLCAxZnIpKTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmNvbGxlY3Rpb24gLm1lZGl1bS11cC01IHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDUsIG1pbm1heCgwLCAxZnIpKTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmNvbGxlY3Rpb24gLm1lZGl1bS11cC02IHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDYsIG1pbm1heCgwLCAxZnIpKTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmNvbGxlY3Rpb24gLm1lZGl1bS11cC03IHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDcsIG1pbm1heCgwLCAxZnIpKTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmNvbGxlY3Rpb24gLm1lZGl1bS11cC04IHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDgsIG1pbm1heCgwLCAxZnIpKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuY29sbGVjdGlvbiAubGFyZ2UtdXAtMSB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxLCBtaW5tYXgoMCwgMWZyKSk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmNvbGxlY3Rpb24gLmxhcmdlLXVwLTIge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgbWlubWF4KDAsIDFmcikpOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5jb2xsZWN0aW9uIC5sYXJnZS11cC0zIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIG1pbm1heCgwLCAxZnIpKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuY29sbGVjdGlvbiAubGFyZ2UtdXAtNCB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LCBtaW5tYXgoMCwgMWZyKSk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmNvbGxlY3Rpb24gLmxhcmdlLXVwLTUge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNSwgbWlubWF4KDAsIDFmcikpOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5jb2xsZWN0aW9uIC5sYXJnZS11cC02IHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDYsIG1pbm1heCgwLCAxZnIpKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuY29sbGVjdGlvbiAubGFyZ2UtdXAtNyB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg3LCBtaW5tYXgoMCwgMWZyKSk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmNvbGxlY3Rpb24gLmxhcmdlLXVwLTgge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoOCwgbWlubWF4KDAsIDFmcikpOyB9IH1cbiAgLmNvbGxlY3Rpb24gLnNtYWxsLXVwLTEgLmNvbGxlY3Rpb24taXRlbSAucHJvZHVjdCAuaW1hZ2UsIC5jb2xsZWN0aW9uIFtieC1jb2x1bW4tY291bnQ9XCIxXCJdIC5jb2xsZWN0aW9uLWl0ZW0gLnByb2R1Y3QgLmltYWdlIHtcbiAgICBtYXgtd2lkdGg6IDEyODBweDtcbiAgICBtYXgtaGVpZ2h0OiAxMjgwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5jb2xsZWN0aW9uIC5sYXJnZS11cC0xIC5jb2xsZWN0aW9uLWl0ZW0gLnByb2R1Y3QgLmltYWdlLCAuY29sbGVjdGlvbiBbYngtY29sdW1uLWNvdW50PVwiMVwiXSAuY29sbGVjdGlvbi1pdGVtIC5wcm9kdWN0IC5pbWFnZSB7XG4gICAgICBtYXgtd2lkdGg6IDEzMDBweDtcbiAgICAgIG1heC1oZWlnaHQ6IDEzMDBweDsgfSB9XG4gIC5jb2xsZWN0aW9uIC5zbWFsbC11cC0yIC5jb2xsZWN0aW9uLWl0ZW0gLnByb2R1Y3QgLmltYWdlLCAuY29sbGVjdGlvbiBbYngtY29sdW1uLWNvdW50PVwiMlwiXSAuY29sbGVjdGlvbi1pdGVtIC5wcm9kdWN0IC5pbWFnZSB7XG4gICAgbWF4LXdpZHRoOiA2MzBweDtcbiAgICBtYXgtaGVpZ2h0OiA2MzBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmNvbGxlY3Rpb24gLmxhcmdlLXVwLTIgLmNvbGxlY3Rpb24taXRlbSAucHJvZHVjdCAuaW1hZ2UsIC5jb2xsZWN0aW9uIFtieC1jb2x1bW4tY291bnQ9XCIyXCJdIC5jb2xsZWN0aW9uLWl0ZW0gLnByb2R1Y3QgLmltYWdlIHtcbiAgICAgIG1heC13aWR0aDogNjQ0cHg7XG4gICAgICBtYXgtaGVpZ2h0OiA2NDRweDsgfSB9XG4gIC5jb2xsZWN0aW9uIC5zbWFsbC11cC0zIC5jb2xsZWN0aW9uLWl0ZW0gLnByb2R1Y3QgLmltYWdlLCAuY29sbGVjdGlvbiBbYngtY29sdW1uLWNvdW50PVwiM1wiXSAuY29sbGVjdGlvbi1pdGVtIC5wcm9kdWN0IC5pbWFnZSB7XG4gICAgbWF4LXdpZHRoOiA0MThweDtcbiAgICBtYXgtaGVpZ2h0OiA0MThweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmNvbGxlY3Rpb24gLmxhcmdlLXVwLTMgLmNvbGxlY3Rpb24taXRlbSAucHJvZHVjdCAuaW1hZ2UsIC5jb2xsZWN0aW9uIFtieC1jb2x1bW4tY291bnQ9XCIzXCJdIC5jb2xsZWN0aW9uLWl0ZW0gLnByb2R1Y3QgLmltYWdlIHtcbiAgICAgIG1heC13aWR0aDogNDI0cHg7XG4gICAgICBtYXgtaGVpZ2h0OiA0MjRweDsgfSB9XG4gIC5jb2xsZWN0aW9uIC5zbWFsbC11cC00IC5jb2xsZWN0aW9uLWl0ZW0gLnByb2R1Y3QgLmltYWdlLCAuY29sbGVjdGlvbiBbYngtY29sdW1uLWNvdW50PVwiNFwiXSAuY29sbGVjdGlvbi1pdGVtIC5wcm9kdWN0IC5pbWFnZSB7XG4gICAgbWF4LXdpZHRoOiAzMTJweDtcbiAgICBtYXgtaGVpZ2h0OiAzMTJweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmNvbGxlY3Rpb24gLmxhcmdlLXVwLTQgLmNvbGxlY3Rpb24taXRlbSAucHJvZHVjdCAuaW1hZ2UsIC5jb2xsZWN0aW9uIFtieC1jb2x1bW4tY291bnQ9XCI0XCJdIC5jb2xsZWN0aW9uLWl0ZW0gLnByb2R1Y3QgLmltYWdlIHtcbiAgICAgIG1heC13aWR0aDogMzE2cHg7XG4gICAgICBtYXgtaGVpZ2h0OiAzMTZweDsgfSB9XG4gIC5jb2xsZWN0aW9uIC5zbWFsbC11cC01IC5jb2xsZWN0aW9uLWl0ZW0gLnByb2R1Y3QgLmltYWdlLCAuY29sbGVjdGlvbiBbYngtY29sdW1uLWNvdW50PVwiNVwiXSAuY29sbGVjdGlvbi1pdGVtIC5wcm9kdWN0IC5pbWFnZSB7XG4gICAgbWF4LXdpZHRoOiAyNDlweDtcbiAgICBtYXgtaGVpZ2h0OiAyNDlweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmNvbGxlY3Rpb24gLmxhcmdlLXVwLTUgLmNvbGxlY3Rpb24taXRlbSAucHJvZHVjdCAuaW1hZ2UsIC5jb2xsZWN0aW9uIFtieC1jb2x1bW4tY291bnQ9XCI1XCJdIC5jb2xsZWN0aW9uLWl0ZW0gLnByb2R1Y3QgLmltYWdlIHtcbiAgICAgIG1heC13aWR0aDogMjUwcHg7XG4gICAgICBtYXgtaGVpZ2h0OiAyNTBweDsgfSB9XG4gIC5jb2xsZWN0aW9uIC5zbWFsbC11cC02IC5jb2xsZWN0aW9uLWl0ZW0gLnByb2R1Y3QgLmltYWdlLCAuY29sbGVjdGlvbiBbYngtY29sdW1uLWNvdW50PVwiNlwiXSAuY29sbGVjdGlvbi1pdGVtIC5wcm9kdWN0IC5pbWFnZSB7XG4gICAgbWF4LXdpZHRoOiAyMDVweDtcbiAgICBtYXgtaGVpZ2h0OiAyMDVweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmNvbGxlY3Rpb24gLmxhcmdlLXVwLTYgLmNvbGxlY3Rpb24taXRlbSAucHJvZHVjdCAuaW1hZ2UsIC5jb2xsZWN0aW9uIFtieC1jb2x1bW4tY291bnQ9XCI2XCJdIC5jb2xsZWN0aW9uLWl0ZW0gLnByb2R1Y3QgLmltYWdlIHtcbiAgICAgIG1heC13aWR0aDogMjA3cHg7XG4gICAgICBtYXgtaGVpZ2h0OiAyMDdweDsgfSB9XG4gIC5jb2xsZWN0aW9uIC5zbWFsbC11cC03IC5jb2xsZWN0aW9uLWl0ZW0gLnByb2R1Y3QgLmltYWdlLCAuY29sbGVjdGlvbiBbYngtY29sdW1uLWNvdW50PVwiN1wiXSAuY29sbGVjdGlvbi1pdGVtIC5wcm9kdWN0IC5pbWFnZSB7XG4gICAgbWF4LXdpZHRoOiAxNzVweDtcbiAgICBtYXgtaGVpZ2h0OiAxNzVweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmNvbGxlY3Rpb24gLmxhcmdlLXVwLTcgLmNvbGxlY3Rpb24taXRlbSAucHJvZHVjdCAuaW1hZ2UsIC5jb2xsZWN0aW9uIFtieC1jb2x1bW4tY291bnQ9XCI3XCJdIC5jb2xsZWN0aW9uLWl0ZW0gLnByb2R1Y3QgLmltYWdlIHtcbiAgICAgIG1heC13aWR0aDogMTc1cHg7XG4gICAgICBtYXgtaGVpZ2h0OiAxNzVweDsgfSB9XG4gIC5jb2xsZWN0aW9uIC5zbWFsbC11cC04IC5jb2xsZWN0aW9uLWl0ZW0gLnByb2R1Y3QgLmltYWdlLCAuY29sbGVjdGlvbiBbYngtY29sdW1uLWNvdW50PVwiOFwiXSAuY29sbGVjdGlvbi1pdGVtIC5wcm9kdWN0IC5pbWFnZSB7XG4gICAgbWF4LXdpZHRoOiAxNTNweDtcbiAgICBtYXgtaGVpZ2h0OiAxNTNweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmNvbGxlY3Rpb24gLmxhcmdlLXVwLTggLmNvbGxlY3Rpb24taXRlbSAucHJvZHVjdCAuaW1hZ2UsIC5jb2xsZWN0aW9uIFtieC1jb2x1bW4tY291bnQ9XCI4XCJdIC5jb2xsZWN0aW9uLWl0ZW0gLnByb2R1Y3QgLmltYWdlIHtcbiAgICAgIG1heC13aWR0aDogMTUycHg7XG4gICAgICBtYXgtaGVpZ2h0OiAxNTJweDsgfSB9XG4gIC5jb2xsZWN0aW9uLnNob3ctY29sb3VycyAuY29sbGVjdGlvbi1pdGVtLmViZyAuY29udGVudC1jb250YWluZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwNjA1MmY7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzLCBib3JkZXItY29sb3IgMC44czsgfVxuICAgIC5jb2xsZWN0aW9uLnNob3ctY29sb3VycyAuY29sbGVjdGlvbi1pdGVtLmViZyAuY29udGVudC1jb250YWluZXIuY29tcGFjdCAuZGVzY3JpcHRpb24sIC5jb2xsZWN0aW9uLnNob3ctY29sb3VycyAuY29sbGVjdGlvbi1pdGVtLmViZyAuY29udGVudC1jb250YWluZXI6bm90KC5jb21wYWN0KSAuZGVzY3JpcHRpb24ge1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gICAgLmNvbGxlY3Rpb24uc2hvdy1jb2xvdXJzIC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5jb250ZW50LWNvbnRhaW5lcjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMDYwNTJmO1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzLCBib3JkZXItY29sb3IgMC42czsgfVxuICAgICAgLmNvbGxlY3Rpb24uc2hvdy1jb2xvdXJzIC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5jb250ZW50LWNvbnRhaW5lcjpob3Zlci5jb21wYWN0IC5kZXNjcmlwdGlvbiwgLmNvbGxlY3Rpb24uc2hvdy1jb2xvdXJzIC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5jb250ZW50LWNvbnRhaW5lcjpob3Zlcjpub3QoLmNvbXBhY3QpIC5kZXNjcmlwdGlvbiB7XG4gICAgICAgIGNvbG9yOiAjMDYwNTJmO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gIC5jb2xsZWN0aW9uIC5jb250ZW50LWNvbnRhaW5lciAuaW1hZ2UsIC5jb2xsZWN0aW9uIC5jb250ZW50LWNvbnRhaW5lci5pbWFnZSB7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAvKiBTZXR0aW5nIHRoaXMgZ2VuZXJpY2FsbHkgZm9yIHRoZSBmb2xsb3dpbmcgcmVhc29uczpcclxuICAgICAgICAgICAgMS4gSWYgY29sbGVjdGlvbi1jZWxsLWJvcmRlci1yYWRpdXMgaXMgZW5hYmxlZFxyXG4gICAgICAgICAgICAyLiBJZiBpbWFnZSBzY2FsZSBpcyBlbmFibGVkLlxyXG4gICAgICAgICAgICAqL1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjhzOyB9XG4gIC5jb2xsZWN0aW9uIC5jb250ZW50LWNvbnRhaW5lciBpbWcge1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjZzOyB9XG4gIC5jb2xsZWN0aW9uIC5jb250ZW50LWNvbnRhaW5lcjpob3ZlciAuaW1hZ2UsIC5jb2xsZWN0aW9uIC5jb250ZW50LWNvbnRhaW5lcjpob3Zlci5pbWFnZSB7XG4gICAgb3BhY2l0eTogMC41O1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC42czsgfVxuICAuY29sbGVjdGlvbiAuY29udGVudC1jb250YWluZXI6aG92ZXIgaW1nIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOSk7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNnM7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICAuY29sbGVjdGlvbiBbYngtY29sdW1uLWNvdW50PVwiNFwiXSAuY29udGVudC1jb250YWluZXIgLnF1YW50aXR5LWNvbnRhaW5lciB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsgfVxuICAgIC5jb2xsZWN0aW9uIFtieC1jb2x1bW4tY291bnQ9XCI0XCJdIC5xdWFudGl0eS1mcmVlLXRleHQtY29udGFpbmVyIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLmltYWdlLWdyaWQtbW9kdWxlIC5ncmlkLWNvbGxlY3Rpb24teCwgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmdyaWQtY29sbGVjdGlvbi14LCAuY29sbGVjdGlvbiAuZ3JpZC1jb2xsZWN0aW9uLXgge1xuICBnYXA6IHZhcigtLW1vZHVsZS1ndXR0ZXIsIDEwcHgpOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmltYWdlLWdyaWQtbW9kdWxlIC5ncmlkLWNvbGxlY3Rpb24teCwgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmdyaWQtY29sbGVjdGlvbi14LCAuY29sbGVjdGlvbiAuZ3JpZC1jb2xsZWN0aW9uLXgge1xuICAgICAgZ2FwOiB2YXIoLS1tb2R1bGUtZ3V0dGVyLCAxNXB4KTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuaW1hZ2UtZ3JpZC1tb2R1bGUgLmdyaWQtY29sbGVjdGlvbi14LCAucHJvZHVjdC1ncmlkLW1vZHVsZSAuZ3JpZC1jb2xsZWN0aW9uLXgsIC5jb2xsZWN0aW9uIC5ncmlkLWNvbGxlY3Rpb24teCB7XG4gICAgICBnYXA6IHZhcigtLW1vZHVsZS1ndXR0ZXIsIDE1cHgpOyB9IH1cbiAgLmltYWdlLWdyaWQtbW9kdWxlIC5ncmlkLWNvbGxlY3Rpb24teCAuY29sbGVjdGlvbi1pdGVtLmNlbGwsIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5ncmlkLWNvbGxlY3Rpb24teCAuY29sbGVjdGlvbi1pdGVtLmNlbGwsIC5jb2xsZWN0aW9uIC5ncmlkLWNvbGxlY3Rpb24teCAuY29sbGVjdGlvbi1pdGVtLmNlbGwge1xuICAgIHdpZHRoOiB1bnNldDsgfVxuXG4ucHJvZHVjdC1ncmlkLW1vZHVsZSAuY2VsbCB7XG4gIHBhZGRpbmctbGVmdDogMC4yMzQzOHJlbTtcbiAgcGFkZGluZy1yaWdodDogMC4yMzQzOHJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuXG4ucHJvZHVjdC1ncmlkLW1vZHVsZTpub3QoLm1pbmlmaWVkLWxheW91dCkgLmNvbGxlY3Rpb24taXRlbTpub3QoLmViZykgLmNvbnRlbnQtY29udGFpbmVyOm5vdCguaW1hZ2UpOm5vdCguY29tcGFjdCkgPiBhOmZpcnN0LWNoaWxkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlOm5vdCgubWluaWZpZWQtbGF5b3V0KSAuY29sbGVjdGlvbi1pdGVtOm5vdCguZWJnKSAuY29udGVudC1jb250YWluZXI6bm90KC5pbWFnZSk6bm90KC5jb21wYWN0KSA+IGE6Zmlyc3QtY2hpbGQ6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMXB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEwMCU7XG4gICAgYm90dG9tOiAyMHB4O1xuICAgIGxlZnQ6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2M4YzhjODtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZTpub3QoLm1pbmlmaWVkLWxheW91dCkgLmNvbGxlY3Rpb24taXRlbTpub3QoLmViZykgLmNvbnRlbnQtY29udGFpbmVyOm5vdCguaW1hZ2UpOm5vdCguY29tcGFjdCkgPiBhOmZpcnN0LWNoaWxkIC5pbWFnZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzVweDsgfVxuXG4ucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5jb250ZW50LWNvbnRhaW5lciBhOmZpcnN0LWNoaWxkIHtcbiAgZ3JpZC1yb3c6IDE7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5jb250ZW50LWNvbnRhaW5lciBhLmRlc2NyaXB0aW9uIHtcbiAgICBncmlkLXJvdzogMTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29udGVudC1jb250YWluZXIgW2RhdGEtY29udGVudC1jb250YWluZXJdIHtcbiAgICBncmlkLXJvdzogMSAvIHNwYW4gNDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29udGVudC1jb250YWluZXIgYTpmaXJzdC1jaGlsZCB7XG4gICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgZ3JpZC1yb3c6IDEgLyBzcGFuIDQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbnRlbnQtY29udGFpbmVyIGE6bnRoLWNoaWxkKDIpIHtcbiAgICBncmlkLWNvbHVtbjogMTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29udGVudC1jb250YWluZXIgYTpudGgtY2hpbGQoMykge1xuICAgIGdyaWQtY29sdW1uOiAxOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb250ZW50LWNvbnRhaW5lciBhOm50aC1jaGlsZCg0KSB7XG4gICAgZ3JpZC1jb2x1bW46IDE7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbnRlbnQtY29udGFpbmVyIGE6bnRoLWNoaWxkKDUpIHtcbiAgICBncmlkLWNvbHVtbjogMTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29udGVudC1jb250YWluZXIgLnN0b2NrLWluZGljYXRvciB7XG4gICAgZ3JpZC1jb2x1bW46IDE7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbnRlbnQtY29udGFpbmVyIC5xdWFudGl0eS1jb250YWluZXIge1xuICAgIGdyaWQtY29sdW1uOiAxIC8gc3BhbiAyOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb250ZW50LWNvbnRhaW5lciAudW5pdC1vZi1tZWFzdXJlIHtcbiAgICBncmlkLWNvbHVtbjogMTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29udGVudC1jb250YWluZXIgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyLCAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2tsaW5lLXZpZXctYnV0dG9uLCAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb250ZW50LWNvbnRhaW5lciAuZW5xdWlyeS1idXR0b24tY29udGFpbmVyIHtcbiAgICBncmlkLWNvbHVtbjogMSAvIHNwYW4gMjsgfSB9XG5cbi5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmNvbnRlbnQtY29udGFpbmVyIC5kZXNjcmlwdGlvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nOiAyMHB4IDE3LjVweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtLmViZyAuY29udGVudC1jb250YWluZXIgLmRlc2NyaXB0aW9uIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuXG4ucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5jb250ZW50LWNvbnRhaW5lciAucHJpY2Uge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIge1xuICBwYWRkaW5nOiAxMHB4O1xuICBnYXA6IDEwcHggMDsgfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyOmhvdmVyIHtcbiAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpO1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC42czsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIge1xuICAgICAgcGFkZGluZzogNXB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIge1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogY2FsYyg2MCUgLSAxMHB4KSBjYWxjKDQwJSAtIDEwcHgpO1xuICAgICAgZ3JpZC1nYXA6IDAgMjBweDtcbiAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgIHBhZGRpbmc6IDVweDsgfSB9XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgPiBhOmZpcnN0LWNoaWxkIHtcbiAgICBhbGlnbi1zZWxmOiBzdGFydDsgfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyLnByb2R1Y3Q6aGFzKHNwYW4uaW1hZ2UpID4gYTpudGgtY2hpbGQoMikge1xuICAgIHBhZGRpbmctdG9wOiAxMHB4OyB9XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIucHJvZHVjdCAuZGVzY3JpcHRpb24ge1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwOyB9XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgLmNhbGxiYWNrQ29udGFpbmVyIHtcbiAgICBncmlkLWNvbHVtbjogMjtcbiAgICBtYXJnaW4tdG9wOiAxMHB4OyB9XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgcCB7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgLmdyb3VwLWRlc2NyaXB0aW9uIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5pbWFnZSB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIG1hcmdpbjogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgLmltYWdlIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH0gfVxuICAgIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgLmltYWdlIGltZyB7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciAuZGVzY3JpcHRpb24sIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgLmNvZGUsIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgLnByaWNlcywgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2staW5kaWNhdG9yIHtcbiAgICBwYWRkaW5nLXRvcDogMTBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIGZvcm0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgZm9ybSB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9IH1cbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciBbZGF0YS1jb250ZW50LWNvbnRhaW5lcl0ge1xuICAgIGhlaWdodDogMTI1cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIFtkYXRhLWNvbnRlbnQtY29udGFpbmVyXSB7XG4gICAgICAgIGhlaWdodDogYXV0bzsgfSB9XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgLnJlYWQtbW9yZS1jb250ZW50IHtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciAubm90LWxvZ2dlZC1pbi1jb250YWluZXIsIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiwgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciAuZW5xdWlyeS1idXR0b24tY29udGFpbmVyIHtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciwgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2tsaW5lLXZpZXctYnV0dG9uLCAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5lbnF1aXJ5LWJ1dHRvbi1jb250YWluZXIge1xuICAgICAgICB3aWR0aDogNzYlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7IH0gfVxuXG4ucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmNvbnRlbnQtY29udGFpbmVyIGE6Zmlyc3QtY2hpbGQge1xuICBncmlkLXJvdzogMTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29sbGVjdGlvbi1pdGVtLmViZyAuY29udGVudC1jb250YWluZXIgYS5kZXNjcmlwdGlvbiB7XG4gICAgZ3JpZC1yb3c6IDE7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgW2RhdGEtY29udGVudC1jb250YWluZXJdIHtcbiAgICBncmlkLXJvdzogMSAvIHNwYW4gNDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciBhOmZpcnN0LWNoaWxkIHtcbiAgICBncmlkLWNvbHVtbjogMTtcbiAgICBncmlkLXJvdzogMSAvIHNwYW4gNDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciBhOm50aC1jaGlsZCgyKSB7XG4gICAgZ3JpZC1jb2x1bW46IDI7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgYTpudGgtY2hpbGQoMykge1xuICAgIGdyaWQtY29sdW1uOiAyOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIGE6bnRoLWNoaWxkKDQpIHtcbiAgICBncmlkLWNvbHVtbjogMjsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciBhOm50aC1jaGlsZCg1KSB7XG4gICAgZ3JpZC1jb2x1bW46IDI7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLnN0b2NrLWluZGljYXRvciB7XG4gICAgZ3JpZC1jb2x1bW46IDI7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLnF1YW50aXR5LWNvbnRhaW5lciB7XG4gICAgZ3JpZC1jb2x1bW46IDEgLyBzcGFuIDI7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLnVuaXQtb2YtbWVhc3VyZSB7XG4gICAgZ3JpZC1jb2x1bW46IDI7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyLCAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5zdG9ja2xpbmUtdmlldy1idXR0b24sIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLmVucXVpcnktYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgZ3JpZC1jb2x1bW46IDEgLyBzcGFuIDI7IH0gfVxuXG4ucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmRlc2NyaXB0aW9uIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBhZGRpbmc6IDIwcHggMTcuNXB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmRlc2NyaXB0aW9uIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuXG4ucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbGxlY3Rpb24taXRlbS5lYmcgLnByaWNlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4ucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgZ2FwOiAxMHB4IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmc6IDVweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGNhbGMoNDAlIC0gMTBweCkgY2FsYyg2MCUgLSAxMHB4KTtcbiAgICAgIGdyaWQtZ2FwOiAwIDIwcHg7XG4gICAgICBmbGV4LWdyb3c6IDE7IH0gfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyID4gYTpmaXJzdC1jaGlsZCB7XG4gICAgYWxpZ24tc2VsZjogc3RhcnQ7IH1cbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lci5wcm9kdWN0OmhhcyhzcGFuLmltYWdlKSA+IGE6bnRoLWNoaWxkKDIpIHtcbiAgICBwYWRkaW5nLXRvcDogMTBweDsgfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyLnByb2R1Y3QgLmRlc2NyaXB0aW9uIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5jYWxsYmFja0NvbnRhaW5lciB7XG4gICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgbWFyZ2luLXRvcDogMTBweDsgfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIHAge1xuICAgIG1hcmdpbjogMDsgfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5ncm91cC1kZXNjcmlwdGlvbiB7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7IH1cbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAuZGVzY3JpcHRpb24ge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAuaW1hZ2Uge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICBtYXJnaW46IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5pbWFnZSB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9IH1cbiAgICAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5pbWFnZSBpbWcge1xuICAgICAgbWFyZ2luOiAwOyB9XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLmNvZGUge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAucHJpY2VzIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgIHBhZGRpbmctbGVmdDogMTBweDsgfVxuICAgIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLnByaWNlcyAucHJpY2UtY29udGFpbmVyIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2staW5kaWNhdG9yIHtcbiAgICBtYXJnaW4tdG9wOiBhdXRvO1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgZm9ybSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciBmb3JtIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH0gfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciwgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2tsaW5lLXZpZXctYnV0dG9uLCAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5lbnF1aXJ5LWJ1dHRvbi1jb250YWluZXIge1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyLCAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5zdG9ja2xpbmUtdmlldy1idXR0b24sIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLmVucXVpcnktYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgICAgIHdpZHRoOiA3NiU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgfSB9XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgW2RhdGEtY29udGVudC1jb250YWluZXJdIHtcbiAgICBoZWlnaHQ6IDEyNXB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciBbZGF0YS1jb250ZW50LWNvbnRhaW5lcl0ge1xuICAgICAgICBoZWlnaHQ6IGF1dG87IH0gfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5yZWFkLW1vcmUtY29udGVudCB7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG5cbi5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtYm90dG9tIC5jb250ZW50LWNvbnRhaW5lciA+IGE6Zmlyc3Qtb2YtdHlwZSB7XG4gIHBhZGRpbmctdG9wOiAxMHB4O1xuICBvcmRlcjogMTsgfVxuXG4ucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLWJvdHRvbSAuaW1hZ2Uge1xuICBtYXJnaW46IDA7IH1cblxuLnByb2R1Y3QtZ3JpZC1tb2R1bGUubWluaWZpZWQtbGF5b3V0IC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5jb250ZW50LWNvbnRhaW5lciBhOmZpcnN0LWNoaWxkIHtcbiAgZ3JpZC1yb3c6IDE7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAucHJvZHVjdC1ncmlkLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmNvbnRlbnQtY29udGFpbmVyIGEuZGVzY3JpcHRpb24ge1xuICAgIGdyaWQtcm93OiAxOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAucHJvZHVjdC1ncmlkLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyIFtkYXRhLWNvbnRlbnQtY29udGFpbmVyXSB7XG4gICAgZ3JpZC1yb3c6IDEgLyBzcGFuIDQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm1pbmlmaWVkLWxheW91dCAuY29udGVudC1jb250YWluZXIgYTpmaXJzdC1jaGlsZCB7XG4gICAgZ3JpZC1jb2x1bW46IDE7XG4gICAgZ3JpZC1yb3c6IDEgLyBzcGFuIDQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm1pbmlmaWVkLWxheW91dCAuY29udGVudC1jb250YWluZXIgYTpudGgtY2hpbGQoMikge1xuICAgIGdyaWQtY29sdW1uOiAyOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAucHJvZHVjdC1ncmlkLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyIGE6bnRoLWNoaWxkKDMpIHtcbiAgICBncmlkLWNvbHVtbjogMjsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubWluaWZpZWQtbGF5b3V0IC5jb250ZW50LWNvbnRhaW5lciBhOm50aC1jaGlsZCg0KSB7XG4gICAgZ3JpZC1jb2x1bW46IDI7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm1pbmlmaWVkLWxheW91dCAuY29udGVudC1jb250YWluZXIgYTpudGgtY2hpbGQoNSkge1xuICAgIGdyaWQtY29sdW1uOiAyOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAucHJvZHVjdC1ncmlkLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyIC5zdG9jay1pbmRpY2F0b3Ige1xuICAgIGdyaWQtY29sdW1uOiAyOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAucHJvZHVjdC1ncmlkLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyIC5xdWFudGl0eS1jb250YWluZXIge1xuICAgIGdyaWQtY29sdW1uOiAxIC8gc3BhbiAyOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAucHJvZHVjdC1ncmlkLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyIC51bml0LW9mLW1lYXN1cmUge1xuICAgIGdyaWQtY29sdW1uOiAyOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAucHJvZHVjdC1ncmlkLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciwgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubWluaWZpZWQtbGF5b3V0IC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2tsaW5lLXZpZXctYnV0dG9uLCAucHJvZHVjdC1ncmlkLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyIC5lbnF1aXJ5LWJ1dHRvbi1jb250YWluZXIge1xuICAgIGdyaWQtY29sdW1uOiAxIC8gc3BhbiAyOyB9IH1cblxuLnByb2R1Y3QtZ3JpZC1tb2R1bGUubWluaWZpZWQtbGF5b3V0IC5jb250ZW50LWNvbnRhaW5lci5wcm9kdWN0IHtcbiAgcGFkZGluZzogNXB4OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubWluaWZpZWQtbGF5b3V0IC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDExMHB4IDFmcjsgfSB9XG5cbi5wcm9kdWN0LWdyaWQtbW9kdWxlLm1pbmlmaWVkLWxheW91dCAuY29udGVudC1jb250YWluZXIgPiBhOmZpcnN0LW9mLXR5cGUge1xuICBwYWRkaW5nLXRvcDogMDsgfVxuXG4ucHJvZHVjdC1ncmlkLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgcGFkZGluZzogMDsgfVxuXG4ucHJvZHVjdC1ncmlkLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmRlc2NyaXB0aW9uIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIHBhZGRpbmc6IDEwcHggMjBweCAxMHB4O1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbi5wcm9kdWN0LWdyaWQtbW9kdWxlLm1pbmlmaWVkLWxheW91dCAuaW1hZ2Uge1xuICB3aWR0aDogMTEwcHg7XG4gIG1hcmdpbjogMDsgfVxuXG4ucHJvZHVjdC1ncmlkLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmRlc2NyaXB0aW9uLCAucHJvZHVjdC1ncmlkLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgYTpmaXJzdC1jaGlsZCB7XG4gIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgcGFkZGluZzogMjVweCAyMHB4O1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbi5wcm9kdWN0LWdyaWQtbW9kdWxlIC5pbWFnZS1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjhzOyB9XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5pbWFnZS1jb250YWluZXI6aG92ZXIge1xuICAgIG9wYWNpdHk6IDAuNTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNnM7IH1cblxuLnByb2R1Y3QtZ3JpZC1tb2R1bGUgW2RhdGEtY29udGVudC1jb250YWluZXJdIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgW2RhdGEtY29udGVudC1jb250YWluZXJdOmhhcygucmVhZC1tb3JlKSB7XG4gICAgaGVpZ2h0OiAzMDBweDsgfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZSBbZGF0YS1jb250ZW50LWNvbnRhaW5lcl0gYSB7XG4gICAgbWF4LWhlaWdodDogMTAwJTsgfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZSBbZGF0YS1jb250ZW50LWNvbnRhaW5lcl0gcCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7IH1cblxuLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmNvbGxlY3Rpb24taXRlbS5lYmc6aGFzKC5kZXNjcmlwdGlvbjplbXB0eSkgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgcGFkZGluZy1ib3R0b206IDA7IH1cblxuLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmNvbGxlY3Rpb24taXRlbS5lYmc6aG92ZXIgLmRlc2NyaXB0aW9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzO1xuICBjb2xvcjogI2FlOTQ2MTsgfVxuXG4ucHJvZHVjdC1ncmlkLW1vZHVsZSAuY29sbGVjdGlvbi1pdGVtLmViZzphY3RpdmUgLmRlc2NyaXB0aW9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAjNTA1MDZkOyB9XG5cbi5wcm9kdWN0LWdyaWQtbW9kdWxlIC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5jb250ZW50LWNvbnRhaW5lciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cblxuLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmRlc2NyaXB0aW9uIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzUwNTA2ZDtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZSAuY29sbGVjdGlvbi1pdGVtLmViZyAuZGVzY3JpcHRpb246bm90KDplbXB0eSkge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAyMHB4IDVweDsgfVxuXG4ucHJvZHVjdC1ncmlkLW1vZHVsZSAuY29udGVudC1jb250YWluZXIge1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogYXV0bztcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjhzOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAucHJvZHVjdC1ncmlkLW1vZHVsZSAuY29udGVudC1jb250YWluZXIge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZSAuY29udGVudC1jb250YWluZXIgLmNvZGUge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4OyB9XG4gICAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIC5jb2RlOm5vdCg6ZW1wdHkpICsgLmRlc2NyaXB0aW9uIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwOyB9XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciAuZGVzY3JpcHRpb24ge1xuICAgIHBhZGRpbmc6IDEwcHggMDsgfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZSAuY29udGVudC1jb250YWluZXIgLnNwZWNpZmljYXRpb24ge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4OyB9XG4gICAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIC5zcGVjaWZpY2F0aW9uOm5vdCg6ZW1wdHkpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIC5wcmljZXMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4OyB9XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2staW5kaWNhdG9yIHtcbiAgICBtYXJnaW4tdG9wOiBhdXRvO1xuICAgIHBhZGRpbmc6IDEwcHggMTBweDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIC5zdG9jay1pbmRpY2F0b3IgKyAubm90LWxvZ2dlZC1pbi1jb250YWluZXIge1xuICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAgIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2staW5kaWNhdG9yIGEge1xuICAgICAganVzdGlmeS1jb250ZW50OiBsZWZ0OyB9XG4gICAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIC5zdG9jay1pbmRpY2F0b3IgYnV0dG9uIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZSAuY29udGVudC1jb250YWluZXIgLnF1YW50aXR5LWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ2FwOiAxMHB4O1xuICAgIHBhZGRpbmc6IDE1cHggMTBweCAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIC5xdWFudGl0eS1jb250YWluZXIge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGdhcDogNXB4OyB9IH1cbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIC5wcmljZXMgKyAubm90LWxvZ2dlZC1pbi1jb250YWluZXIsIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciAucHJpY2VzICsgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiwgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIC5wcmljZXMgKyAuZW5xdWlyeS1idXR0b24tY29udGFpbmVyIHtcbiAgICBtYXJnaW4tdG9wOiAxMHB4OyB9XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciAubm90LWxvZ2dlZC1pbi1jb250YWluZXIsIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2tsaW5lLXZpZXctYnV0dG9uLCAucHJvZHVjdC1ncmlkLW1vZHVsZSAuY29udGVudC1jb250YWluZXIgLmVucXVpcnktYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDY2JTtcbiAgICBtYXJnaW46IGF1dG8gYXV0byAwOyB9XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lci5taW5pZmllZCAuaW1hZ2Uge1xuICAgIHdpZHRoOiAxMTBweDsgfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZSAuY29udGVudC1jb250YWluZXI6aG92ZXIgLmRlc2NyaXB0aW9uLCAucHJvZHVjdC1ncmlkLW1vZHVsZSAuY29udGVudC1jb250YWluZXI6aG92ZXIgLnJlYWQtbW9yZSB7XG4gICAgY29sb3I6ICNhZTk0NjE7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyOmFjdGl2ZSAuZGVzY3JpcHRpb24ge1xuICAgIGNvbG9yOiAjNTA1MDZkOyB9XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lci5pbWFnZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyLnByb2R1Y3Qge1xuICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cbiAgICAucHJvZHVjdC1ncmlkLW1vZHVsZSAuY29udGVudC1jb250YWluZXIucHJvZHVjdCAuZ3JvdXAtZGVzY3JpcHRpb24ge1xuICAgICAgcGFkZGluZzogMTBweCAxMHB4IDVweDsgfVxuICAgIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lci5wcm9kdWN0IGEuZ3JvdXAtZGVzY3JpcHRpb24gKyBhOmhhcyguZGVzY3JpcHRpb24pIC5kZXNjcmlwdGlvbiB7XG4gICAgICBwYWRkaW5nLXRvcDogMDsgfVxuICAgIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lci5wcm9kdWN0IC5kZXNjcmlwdGlvbiB7XG4gICAgICBwYWRkaW5nOiAxNXB4IDEwcHg7IH1cbiAgICAgIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lci5wcm9kdWN0IC5kZXNjcmlwdGlvbjppcyg6ZW1wdHkpIHtcbiAgICAgICAgcGFkZGluZzogMDsgfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZSAuY29udGVudC1jb250YWluZXI6aG92ZXIge1xuICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7XG4gICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjZzOyB9XG5cbi5wcm9kdWN0LWdyaWQtbW9kdWxlIC5jb2xsZWN0aW9uLWltYWdlLWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5wcm9kdWN0LWdyaWQtbW9kdWxlIC5pbWFnZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWFyZ2luOiAwIGF1dG8gMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmltYWdlIHtcbiAgICAgIG1hcmdpbjogMDsgfSB9XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5pbWFnZSBpbWcge1xuICAgIGZsZXgtc2hyaW5rOiAwOyB9XG5cbi5wcm9kdWN0LWdyaWQtbW9kdWxlIC5sYWJlbC12YWx1ZS1wYWlyLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBhZGRpbmctdG9wOiA1cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gIHBhZGRpbmctbGVmdDogMTBweDsgfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZSAubGFiZWwtdmFsdWUtcGFpci1jb250YWluZXIgLmxhYmVsIHtcbiAgICBjb2xvcjogIzAwMDAwMDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmxhYmVsLXZhbHVlLXBhaXItY29udGFpbmVyIC52YWx1ZSB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgY29sb3I6ICMwMDAwMDA7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuXG4ucHJvZHVjdC1ncmlkLW1vZHVsZSAuZGVwYXJ0bWVudC1kZXNjcmlwdGlvbiB7XG4gIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMCwgIzA2MDUyZik7XG4gIGZvbnQtZmFtaWx5OiBcIkdpYnNvblwiLCBcIkdpYnNvbiBGYWxsYmFja1wiLCBcIkFyaWFsXCI7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogMnB4O1xuICBsaW5lLWhlaWdodDogMS42O1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5kZXBhcnRtZW50LWRlc2NyaXB0aW9uOmhvdmVyIHtcbiAgICBjb2xvcjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTApO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cblxuLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmdyb3VwLWRlc2NyaXB0aW9uIHtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGluZS1oZWlnaHQ6IDEuMjsgfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZSAuZ3JvdXAtZGVzY3JpcHRpb246aG92ZXIge1xuICAgIGNvbG9yOiAjMDYwNTJmO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5ncm91cC1kZXNjcmlwdGlvbjphY3RpdmUge1xuICAgIGNvbG9yOiAjMDAwMDAwOyB9XG5cbi5wcm9kdWN0LWdyaWQtbW9kdWxlIC5kZXNjcmlwdGlvbiB7XG4gIGNvbG9yOiAjMDYwNTJmO1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmRlc2NyaXB0aW9uIHAge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwOyB9XG5cbi5wcm9kdWN0LWdyaWQtbW9kdWxlIC5yZWFkLW1vcmUge1xuICBjb2xvcjogIzA2MDUyZjsgfVxuXG4ucHJvZHVjdC1ncmlkLW1vZHVsZSAuc3BlY2lmaWNhdGlvbiBwIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbi5wcm9kdWN0LWdyaWQtbW9kdWxlIC5jb2RlIHtcbiAgY29sb3I6ICM4ODg4ODg7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5jb2wtbGFiZWwgKyAucHJpY2VzIHA6b25seS1jaGlsZCAubGFiZWwge1xuICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAucHJvZHVjdC1ncmlkLW1vZHVsZSAuY29sLWxhYmVsICsgLnByaWNlcyBwOm9ubHktY2hpbGQgLmxhYmVsICsgLnZhbHVlIHtcbiAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG5cbi5wcm9kdWN0LWdyaWQtbW9kdWxlIC5wcmljZXMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4LWdyb3c6IDE7XG4gIGZvbnQtc2l6ZTogMXJlbTsgfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZSAucHJpY2VzIHAge1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXdlaWdodDogNDAwOyB9XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjsgfVxuICAgIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lcjpoYXMoLnZhdCkge1xuICAgICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLnByaWNlcyAucHJpY2UtY29udGFpbmVyIC5sYWJlbCB7XG4gICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgICAgIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lciAubGFiZWw6bm90KDplbXB0eSkge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDsgfVxuICAgICAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLnByaWNlcyAucHJpY2UtY29udGFpbmVyIC5sYWJlbCB+IC52YXQge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogMCAwIDAgNXB4O1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAgIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lciAubGFiZWwgfiAudmF0IHtcbiAgICAgICAgICAgIHdpZHRoOiBmaXQtY29udGVudDsgfSB9XG4gICAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLnByaWNlcyAucHJpY2UtY29udGFpbmVyIC52YWx1ZSB7XG4gICAgICBjb2xvcjogIzA2MDUyZjtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLnByaWNlcyAucHJpY2UtY29udGFpbmVyIC52YWx1ZSB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH0gfVxuICAgIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lci5zYXZpbmcgLmxhYmVsLCAucHJvZHVjdC1ncmlkLW1vZHVsZSAucHJpY2VzIC5wcmljZS1jb250YWluZXIuc2F2aW5nIC52YWx1ZSB7XG4gICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLnByaWNlcyAucHJpY2UtY29udGFpbmVyLnJycCAubGFiZWwsIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lci5ycnAgLnZhbHVlIHtcbiAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAucHJvZHVjdC1ncmlkLW1vZHVsZSAucHJpY2VzIC5wcmljZS1jb250YWluZXIgLmxhYmVsICsgLnZhbHVlIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLnByaWNlLWNvbnRhaW5lciAudmFsdWUge1xuICBmb250LXNpemU6IDFyZW07IH1cblxuLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLnByaWNlLWNvbnRhaW5lciAubGFiZWwsIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5wcmljZS1jb250YWluZXIgLnZhbHVlIHtcbiAgZm9udC1mYW1pbHk6IFwiR2lic29uXCIsIFwiR2lic29uIEZhbGxiYWNrXCIsIFwiQXJpYWxcIjsgfVxuXG4ucHJvZHVjdC1ncmlkLW1vZHVsZSAucHJpY2Uge1xuICBtYXJnaW46IDA7IH1cbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLnByaWNlIC5jdXJyZW5jeSB7XG4gICAgZm9udC1zaXplOiAxLjYyNXJlbTsgfVxuXG4ucHJvZHVjdC1ncmlkLW1vZHVsZSAudmF0IHtcbiAgd2lkdGg6IGZpdC1jb250ZW50O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmctbGVmdDogMTBweDtcbiAgY29sb3I6ICM3Nzc3Nzc7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG4ucHJvZHVjdC1ncmlkLW1vZHVsZSBmb3JtLCAucHJvZHVjdC1ncmlkLW1vZHVsZSAubm90LWxvZ2dlZC1pbi1jb250YWluZXIsIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5zdG9ja2xpbmUtdmlldy1idXR0b24ge1xuICBtYXJnaW46IGF1dG8gMCAwOyB9XG5cbi5wcm9kdWN0LWdyaWQtbW9kdWxlIC5hZGRUb0Jhc2tldC5pY29uIHtcbiAgbWFyZ2luOiAwOyB9XG5cbi5wcm9kdWN0LWdyaWQtbW9kdWxlIC5mYXZvdXJpdGVzQ29udGFpbmVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi5wcm9kdWN0LWdyaWQtbW9kdWxlIC5xdWFudGl0eS1jb250YWluZXIgLmNvbnRyb2wuc2VsZWN0IHtcbiAgbWF4LXdpZHRoOiA4MHB4O1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW46IDAgMTBweCAwIDA7IH1cbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLnF1YW50aXR5LWNvbnRhaW5lciAuY29udHJvbC5zZWxlY3QgLmxhYmVsIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5xdWFudGl0eS1jb250YWluZXIgLmNvbnRyb2wuc2VsZWN0IC5jb250cm9sLXNlbGVjdC1kcm9wZG93biB7XG4gICAgd2lkdGg6IDgwcHg7IH1cblxuLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLnF1YW50aXR5LWZyZWUtdGV4dC1jb250YWluZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZSAucXVhbnRpdHktZnJlZS10ZXh0LWNvbnRhaW5lciAubGFiZWwge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyID4gYTpmaXJzdC1vZi10eXBlLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyID4gYTpmaXJzdC1vZi10eXBlIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBhZGRpbmc6IDA7IH1cbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyID4gYTpmaXJzdC1vZi10eXBlOm5vdCg6aGFzKGltZykpLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyID4gYTpmaXJzdC1vZi10eXBlOm5vdCg6aGFzKGltZykpIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbi5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAuY29sbGVjdGlvbi1pdGVtOm5vdCguZWJnKSAuY29udGVudC1jb250YWluZXIucHJvZHVjdCwgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmNvbGxlY3Rpb24taXRlbTpub3QoLmViZykgLmNvbnRlbnQtY29udGFpbmVyLnByb2R1Y3Qge1xuICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgYm9yZGVyLXdpZHRoOiAwIDAgNXB4IDA7XG4gIGJvcmRlci1jb2xvcjogI2RhZGFkYTtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuOHM7IH1cbiAgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5jb2xsZWN0aW9uLWl0ZW06bm90KC5lYmcpIC5jb250ZW50LWNvbnRhaW5lci5wcm9kdWN0OmhvdmVyLCAucHJvZHVjdC1ncmlkLW1vZHVsZSAuY29sbGVjdGlvbi1pdGVtOm5vdCguZWJnKSAuY29udGVudC1jb250YWluZXIucHJvZHVjdDpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDYwNTJmO1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjZzOyB9XG5cbi5pbWFnZS1ncmlkLW1vZHVsZSAuY2VsbCB7XG4gIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG5cbi5pbWFnZS1ncmlkLW1vZHVsZSAuaW1hZ2Uge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLmltYWdlLWdyaWQtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciB7XG4gIG1hcmdpbjogYXV0bzsgfVxuXG4ubW9kdWxlLWNvbnRlbnQtY29udGFpbmVyOm5vdChbc3R5bGUqPVwiYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XCJdKSB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMTBweDtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5tb2R1bGUtY29udGVudC1jb250YWluZXI6bm90KFtzdHlsZSo9XCJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcIl0pIHtcbiAgICAgIHBhZGRpbmc6IDEwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLm1vZHVsZS1jb250ZW50LWNvbnRhaW5lcjpub3QoW3N0eWxlKj1cImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1wiXSkge1xuICAgICAgcGFkZGluZzogMTVweDsgfSB9XG5cbi5jbXMtbW9kdWxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4LWdyb3c6IDE7IH1cbiAgLmNtcy1tb2R1bGUgaDEge1xuICAgIG1hcmdpbjogMCAwIDM1cHg7XG4gICAgZm9udC1zaXplOiAyLjEyNXJlbTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBjb2xvcjogIzA2MDUyZjtcbiAgICBsaW5lLWhlaWdodDogMS40O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmNtcy1tb2R1bGUgaDE6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAgIC5jbXMtbW9kdWxlIGgxOm9ubHktY2hpbGQge1xuICAgICAgbWFyZ2luOiAwOyB9XG4gIC5jbXMtbW9kdWxlIGgyIHtcbiAgICBtYXJnaW46IDAgMCAyMHB4O1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBjb2xvcjogIzA2MDUyZjtcbiAgICBsaW5lLWhlaWdodDogMS40OyB9XG4gICAgLmNtcy1tb2R1bGUgaDI6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAgIC5jbXMtbW9kdWxlIGgyOm9ubHktY2hpbGQge1xuICAgICAgbWFyZ2luOiAwOyB9XG4gIC5jbXMtbW9kdWxlIGgzIHtcbiAgICBtYXJnaW46IDAgMCAyMHB4O1xuICAgIHBhZGRpbmc6IDE1cHggMDtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGNvbG9yOiAjMDYwNTJmO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ7IH1cbiAgICAuY21zLW1vZHVsZSBoMzpmaXJzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICAgLmNtcy1tb2R1bGUgaDM6b25seS1jaGlsZCB7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgLmNtcy1tb2R1bGUgaDQge1xuICAgIG1hcmdpbjogMCAwIDIwcHg7XG4gICAgcGFkZGluZzogMCAwIDEwcHg7XG4gICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgY29sb3I6ICMwNjA1MmY7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDsgfVxuICAgIC5jbXMtbW9kdWxlIGg0OmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICAuY21zLW1vZHVsZSBoNDpvbmx5LWNoaWxkIHtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAuY21zLW1vZHVsZSBoNSB7XG4gICAgbWFyZ2luOiAwIDAgMjBweDtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgY29sb3I6ICMwNjA1MmY7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDsgfVxuICAgIC5jbXMtbW9kdWxlIGg1OmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICAuY21zLW1vZHVsZSBoNTpvbmx5LWNoaWxkIHtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAuY21zLW1vZHVsZSBoNiB7XG4gICAgbWFyZ2luOiAwIDAgMjBweDtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgY29sb3I6ICMwNjA1MmY7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDsgfVxuICAgIC5jbXMtbW9kdWxlIGg2OmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICAuY21zLW1vZHVsZSBoNjpvbmx5LWNoaWxkIHtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAuY21zLW1vZHVsZSBwIHtcbiAgICBtYXJnaW46IHZhcigtLWluZGVudC1tYXJnaW4sIDApO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgY29sb3I6ICM3Nzc3Nzc7IH1cbiAgICAuY21zLW1vZHVsZSBwIGltZ1tzdHlsZSo9XCJmbG9hdDpsZWZ0XCJdLCAuY21zLW1vZHVsZSBwIGltZ1tzdHlsZSo9XCJmbG9hdDogbGVmdFwiXSwgLmNtcy1tb2R1bGUgcFtzdHlsZSo9XCJmbG9hdDpsZWZ0XCJdID4gaW1nIHtcbiAgICAgIG1hcmdpbjogLjJlbSAuMmVtIC4yZW0gMDsgfVxuICAgIC5jbXMtbW9kdWxlIHAgaW1nW3N0eWxlKj1cImZsb2F0OnJpZ2h0XCJdLCAuY21zLW1vZHVsZSBwIGltZ1tzdHlsZSo9XCJmbG9hdDogcmlnaHRcIl0sIC5jbXMtbW9kdWxlIHBbc3R5bGUqPVwiZmxvYXQ6cmlnaHRcIl0gPiBpbWcge1xuICAgICAgbWFyZ2luOiAuMmVtIDAgLjJlbSAuMmVtOyB9XG4gICAgLmNtcy1tb2R1bGUgcCBpbWcge1xuICAgICAgbWFyZ2luOiAuMmVtIDA7IH1cbiAgICAuY21zLW1vZHVsZSBwICsgcCB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuY21zLW1vZHVsZSB1bCwgLmNtcy1tb2R1bGUgb2wge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLmNtcy1tb2R1bGUgdWwge1xuICAgIG1hcmdpbjogMTBweDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBsaW5lLWhlaWdodDogMjVweDsgfVxuICAgIC5jbXMtbW9kdWxlIHVsIHVsIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDI1cHg7IH1cbiAgICAuY21zLW1vZHVsZSB1bCBsaSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBwYWRkaW5nOiAwIDAgMCAxNXB4OyB9XG4gICAgICAuY21zLW1vZHVsZSB1bCBsaTpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgd2lkdGg6IDVweDtcbiAgICAgICAgaGVpZ2h0OiA1cHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAxMHB4O1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDYwNTJmO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7IH1cbiAgLmNtcy1tb2R1bGUgb2wge1xuICAgIG1hcmdpbjogMTBweDtcbiAgICBwYWRkaW5nOiAwIDI1cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjsgfVxuICAgIC5jbXMtbW9kdWxlIG9sIG9sIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICBsaXN0LXN0eWxlLXR5cGU6IGxvd2VyLWFscGhhOyB9XG4gICAgICAuY21zLW1vZHVsZSBvbCBvbCBvbCB7XG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbG93ZXItcm9tYW47IH1cbiAgICAgICAgLmNtcy1tb2R1bGUgb2wgb2wgb2wgb2wge1xuICAgICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbG93ZXItYWxwaGE7IH1cbiAgICAgICAgICAuY21zLW1vZHVsZSBvbCBvbCBvbCBvbCBvbCB7XG4gICAgICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IGxvd2VyLXJvbWFuOyB9XG4gIC5jbXMtbW9kdWxlIGxpIHtcbiAgICBjb2xvcjogIzc3Nzc3NztcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBsaW5lLWhlaWdodDogMS42OyB9XG4gIC5jbXMtbW9kdWxlIHVsICsgaDEsIC5jbXMtbW9kdWxlIG9sICsgaDEge1xuICAgIG1hcmdpbi10b3A6IDM1cHg7IH1cbiAgLmNtcy1tb2R1bGUgdWwgKyBoMiwgLmNtcy1tb2R1bGUgb2wgKyBoMiB7XG4gICAgbWFyZ2luLXRvcDogMjBweDsgfVxuICAuY21zLW1vZHVsZSB1bCArIGgzLCAuY21zLW1vZHVsZSBvbCArIGgzIHtcbiAgICBtYXJnaW4tdG9wOiAyMHB4OyB9XG4gIC5jbXMtbW9kdWxlIHVsICsgaDQsIC5jbXMtbW9kdWxlIG9sICsgaDQge1xuICAgIG1hcmdpbi10b3A6IDIwcHg7IH1cbiAgLmNtcy1tb2R1bGUgdWwgKyBoNSwgLmNtcy1tb2R1bGUgb2wgKyBoNSB7XG4gICAgbWFyZ2luLXRvcDogMjBweDsgfVxuICAuY21zLW1vZHVsZSB1bCArIGg2LCAuY21zLW1vZHVsZSBvbCArIGg2IHtcbiAgICBtYXJnaW4tdG9wOiAyMHB4OyB9XG4gIC5jbXMtbW9kdWxlIGRsIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC5jbXMtbW9kdWxlIHA6bm90KDplbXB0eSkgKyB0YWJsZSwgLmNtcy1tb2R1bGUgcDpub3QoOmVtcHR5KSArIC5jb21wYXJpc29uLXRhYmxlLWNvbnRhaW5lciB7XG4gICAgbWFyZ2luOiAxNXB4IDA7IH1cbiAgLmNtcy1tb2R1bGUgdGFibGUge1xuICAgIC0tdGhlYWQtYm9yZGVyLWNvbG91cjogJHRoZWFkLWJvcmRlci1jb2xvdXI7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAuY21zLW1vZHVsZSB0YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgICAgLmNtcy1tb2R1bGUgdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQgdHIge1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tdGhlYWQtYm9yZGVyLWNvbG91cik7IH1cbiAgICAgIC5jbXMtbW9kdWxlIHRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkIHRoIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAgIC5jbXMtbW9kdWxlIHRhYmxlLnJlc3BvbnNpdmUtdGFibGUge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLmNtcy1tb2R1bGUgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB7XG4gICAgICAgICAgZGlzcGxheTogdGFibGU7IH0gfVxuICAgICAgLmNtcy1tb2R1bGUgdGFibGUucmVzcG9uc2l2ZS10YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAgIC5jbXMtbW9kdWxlIHRhYmxlLnJlc3BvbnNpdmUtdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQge1xuICAgICAgICAgICAgZGlzcGxheTogdGFibGUtcm93LWdyb3VwOyB9IH1cbiAgICAgIC5jbXMtbW9kdWxlIHRhYmxlLnJlc3BvbnNpdmUtdGFibGUgdGJvZHk6bm90KC5jb21wYXJpc29uLXN1bW1hcnkpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAgIC5jbXMtbW9kdWxlIHRhYmxlLnJlc3BvbnNpdmUtdGFibGUgdGJvZHk6bm90KC5jb21wYXJpc29uLXN1bW1hcnkpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cDsgfSB9XG4gICAgLmNtcy1tb2R1bGUgdGFibGUgdGgge1xuICAgICAgcGFkZGluZzogMTBweCAxMHB4IDEwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuY21zLW1vZHVsZSB0YWJsZSB0ZCB7XG4gICAgICAgIHBhZGRpbmc6IDEwcHg7IH0gfVxuICAgIC5jbXMtbW9kdWxlIHRhYmxlIHRoZWFkW2NsYXNzKj1cInByZXNldFwiXSArIHRib2R5OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLmNtcy1tb2R1bGUgdGFibGUgdGhlYWRbY2xhc3MqPVwicHJlc2V0XCJdICsgdGJvZHk6YmVmb3JlIHtcbiAgICAgICAgICBtYXJnaW46IDEwcHg7IH0gfVxuICAgIC5jbXMtbW9kdWxlIHRhYmxlIHRib2R5IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgICAuY21zLW1vZHVsZSB0YWJsZSB0Ym9keSB0aCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgICAuY21zLW1vZHVsZSB0YWJsZSB0Ym9keSB0cjpub3QoOmxhc3QtY2hpbGQpIHRoIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5jbXMtbW9kdWxlIHRhYmxlIHRib2R5IHRyIHtcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3c7IH0gfVxuICAgIC5jbXMtbW9kdWxlIHRhYmxlIC5jb2wtbGFiZWwge1xuICAgICAgY29sb3I6ICM3Nzc3Nzc7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgICAgLmNtcy1tb2R1bGUgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB0Ym9keSB0ciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgICAuY21zLW1vZHVsZSB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHRib2R5IHRyOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlZWVlZWU7IH0gfVxuICAgIC5jbXMtbW9kdWxlIHRhYmxlLm5vLXdyYXAge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgb3ZlcmZsb3cteDogYXV0bzsgfVxuICAgIC5jbXMtbW9kdWxlIHRhYmxlLmNvbXBhcmlzb24tdGFibGUgdGJvZHkgdGQ6Zmlyc3QtY2hpbGQge1xuICAgICAgY29sb3I6ICM3Nzc3Nzc7XG4gICAgICBmb250LXdlaWdodDogNjAwOyB9XG4gIC5jbXMtbW9kdWxlIGJsb2NrcXVvdGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgZ2FwOiAxNXB4O1xuICAgIG1hcmdpbjogMCBhdXRvIDQwcHg7XG4gICAgcGFkZGluZzogNTBweCAzMHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtZmFtaWx5OiBcIkdpYnNvblwiLCBcIkdpYnNvbiBGYWxsYmFja1wiLCBcIkFyaWFsXCI7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC44cywgYm9yZGVyLWNvbG9yIDAuOHM7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuY21zLW1vZHVsZSBibG9ja3F1b3RlIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgZ2FwOiAyNXB4OyB9IH1cbiAgICAuY21zLW1vZHVsZSBibG9ja3F1b3RlOmhvdmVyIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBib3JkZXItY29sb3I6ICNlZWVlZWU7XG4gICAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNnMsIGJvcmRlci1jb2xvciAwLjZzOyB9XG4gICAgICAuY21zLW1vZHVsZSBibG9ja3F1b3RlOmhvdmVyOmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjZGFkYWRhO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gICAgLmNtcy1tb2R1bGUgYmxvY2txdW90ZTpoYXMoaW1nKSB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgLmNtcy1tb2R1bGUgYmxvY2txdW90ZTpsYXN0LW9mLXR5cGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5jbXMtbW9kdWxlIGJsb2NrcXVvdGUge1xuICAgICAgICBwYWRkaW5nOiA1MHB4IDYwcHg7IH0gfVxuICAgIC5jbXMtbW9kdWxlIGJsb2NrcXVvdGUgKyBibG9ja3F1b3RlIHtcbiAgICAgIG1hcmdpbi10b3A6IDE1cHg7IH1cbiAgICAuY21zLW1vZHVsZSBibG9ja3F1b3RlOmJlZm9yZSwgLmNtcy1tb2R1bGUgYmxvY2txdW90ZTphZnRlciB7XG4gICAgICBjb250ZW50OiBcIu+EjVwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgIGZvbnQtc2l6ZTogNDBweDtcbiAgICAgIGNvbG9yOiAjZWVlZWVlO1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICBsaW5lLWhlaWdodDogLjg7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gICAgLmNtcy1tb2R1bGUgYmxvY2txdW90ZTpiZWZvcmUge1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDsgfVxuICAgIC5jbXMtbW9kdWxlIGJsb2NrcXVvdGU6YWZ0ZXIge1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyB9XG4gICAgLmNtcy1tb2R1bGUgYmxvY2txdW90ZSBpbWcge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLmNtcy1tb2R1bGUgYmxvY2txdW90ZSBpbWcge1xuICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuICAuY21zLW1vZHVsZSBkaXYuZ2FsbGFyeSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgbWFyZ2luOiAxMHB4IDAgMjBweDsgfVxuICAgIC5jbXMtbW9kdWxlIGRpdi5nYWxsYXJ5LmNlbGwtZ3V0dGVycyB7XG4gICAgICBnYXA6IDEwcHg7IH1cbiAgICAuY21zLW1vZHVsZSBkaXYuZ2FsbGFyeSA+IGltZyB7XG4gICAgICBmbGV4LWdyb3c6IDE7IH1cbiAgICAuY21zLW1vZHVsZSBkaXYuZ2FsbGFyeSBhIHtcbiAgICAgIGZsZXgtZ3JvdzogMTsgfVxuICAgICAgLmNtcy1tb2R1bGUgZGl2LmdhbGxhcnkgYSBpbWcge1xuICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAuY21zLW1vZHVsZSBpZnJhbWVbc3JjKj1cImh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL1wiXSB7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgLmNtcy1tb2R1bGUgY29kZSB7XG4gICAgbWF4LWhlaWdodDogNTAwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IDEwcHggMTBweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1hcmdpbjogMCAwIDQwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YzZjNmMztcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjODg4ODg4O1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgd2hpdGUtc3BhY2U6IHByZS13cmFwO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuOHM7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuY21zLW1vZHVsZSBjb2RlIHtcbiAgICAgICAgcGFkZGluZzogMTBweCAzNXB4OyB9IH1cbiAgICAuY21zLW1vZHVsZSBjb2RlOmhvdmVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogIzc3Nzc3NztcbiAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjZzOyB9XG4gICAgLmNtcy1tb2R1bGUgY29kZSAuY29kZS1jb3B5LWJ1dHRvbi1jb250YWluZXIge1xuICAgICAgcG9zaXRpb246IHN0aWNreTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IGNhbGMoMTAwJSAtIDE1cHgpO1xuICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgfVxuICAgIC5jbXMtbW9kdWxlIGNvZGUgLmNvZGUtY29weS1idXR0b24ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgcGFkZGluZzogOHB4O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjODg4ODg4O1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzLCBwYWRkaW5nIDAuOHMsIG9wYWNpdHkgMC44czsgfVxuICAgICAgLmNtcy1tb2R1bGUgY29kZSAuY29kZS1jb3B5LWJ1dHRvbjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIu+DhVwiO1xuICAgICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgUmVndWxhclwiO1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzLCBmb250LXNpemUgMC44czsgfVxuICAgICAgLmNtcy1tb2R1bGUgY29kZSAuY29kZS1jb3B5LWJ1dHRvbjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwNjA1MmY7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfVxuICAgICAgLmNtcy1tb2R1bGUgY29kZSAuY29kZS1jb3B5LWJ1dHRvbi5hY3RpdmUsIC5jbXMtbW9kdWxlIGNvZGUgLmNvZGUtY29weS1idXR0b246YWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzA2MDUyZjsgfVxuICAgICAgICAuY21zLW1vZHVsZSBjb2RlIC5jb2RlLWNvcHktYnV0dG9uLmFjdGl2ZTpiZWZvcmUsIC5jbXMtbW9kdWxlIGNvZGUgLmNvZGUtY29weS1idXR0b246YWN0aXZlOmJlZm9yZSB7XG4gICAgICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7IH1cbiAgICAgIC5jbXMtbW9kdWxlIGNvZGUgLmNvZGUtY29weS1idXR0b24uYWN0aXZlIHtcbiAgICAgICAgcGFkZGluZzogMTJweDtcbiAgICAgICAgb3BhY2l0eTogLjQ7XG4gICAgICAgIHRyYW5zaXRpb246IHBhZGRpbmcgMC42cywgb3BhY2l0eSAwLjZzOyB9XG4gICAgICAgIC5jbXMtbW9kdWxlIGNvZGUgLmNvZGUtY29weS1idXR0b24uYWN0aXZlOmJlZm9yZSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgIHRyYW5zaXRpb246IGZvbnQtc2l6ZSAwLjZzOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuY21zLW1vZHVsZSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9IH1cbiAgLmNtcy1tb2R1bGUgYTpob3ZlciBoMiB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBmYWxzZSwgbm9uZSwgdW5kZXJsaW5lO1xuICAgIGNvbG9yOiAjYWU5NDYxO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgLmNtcy1tb2R1bGUgYTpob3ZlciBoMyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBmYWxzZSwgbm9uZSwgdW5kZXJsaW5lOyB9XG4gIC5jbXMtbW9kdWxlIGgyIHtcbiAgICBsaW5lLWhlaWdodDogMS4yOyB9XG4gIC5jbXMtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGZsZXgtZ3JvdzogMTsgfVxuICAgIC5jbXMtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudC1oZWFkaW5nIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmNtcy1tb2R1bGUuZXZlbnRzLW1vZHVsZSB7XG4gICAgZ2FwOiAyNXB4O1xuICAgIHBhZGRpbmc6IDIwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuY21zLW1vZHVsZS5ldmVudHMtbW9kdWxlIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgLyoqIFdvcmsgb3V0IHRoZSBjb2x1bW4gd2lkdGgsIHRoaXMgd2FzIG9yaWdpbmFsbHkgZGVzaWduZWQgZm9yIGEgMiBjb2x1bW4gbGF5b3V0IHdoaWNoIGdvZXMgZG93biB0byBhIHNpbmdsZSBjb2x1bW4gaW4gdGhlIGZvbGxvd2luZyBzaXR1YXRpb25zXHJcbiAgICAgICAgICAgIC0gSW4gbW9iaWxlXHJcbiAgICAgICAgICAgIC0gV2hlbiB0aGUgbW9kdWxlIGNvbnRhaW5lciBpcyBubyBsb25nZXIgd2lkZSBlbm91Z2ggdG8gc2hvdyB0byBjb2x1bW5zIHdpdGggYSB3aWR0aCBvZiB0aGUgY2FsY3VsYXRlZCBjb2x1bW4gd2lkdGggYmVsbG93LlxyXG4gICAgICAgICAgICAqKi9cbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heChtaW4tY29udGVudCwgNTYwcHgpKTtcbiAgICAgICAgcGFkZGluZzogNDBweDtcbiAgICAgICAgZ2FwOiA1MHB4OyB9IH1cbiAgICAuY21zLW1vZHVsZS5ldmVudHMtbW9kdWxlIGgzIHtcbiAgICAgIG1hcmdpbjogMCAwIDIwcHg7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5jbXMtbW9kdWxlLmV2ZW50cy1tb2R1bGUgaDMge1xuICAgICAgICAgIG1hcmdpbjogMCAwIDQwcHg7IH0gfVxuICAgIC5jbXMtbW9kdWxlLmV2ZW50cy1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBvcmRlcjogMjsgfVxuICAgIC5jbXMtbW9kdWxlLmV2ZW50cy1tb2R1bGUgLmNvbnRlbnQtYmFubmVyIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgb3JkZXI6IDE7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLmNtcy1tb2R1bGUuZXZlbnRzLW1vZHVsZSAuY29udGVudC1iYW5uZXIge1xuICAgICAgICAgIGhlaWdodDogNTUwcHg7IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAuY21zLW1vZHVsZS5ldmVudHMtbW9kdWxlIC5jb250ZW50LWJhbm5lciBpbWcge1xuICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICAgIG9iamVjdC1wb3NpdGlvbjogY2VudGVyOyB9IH1cbiAgICAuY21zLW1vZHVsZS5ldmVudHMtbW9kdWxlIC5yZWFkLW1vcmUtY29udGVudCBwIHtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgLmNtcy1tb2R1bGUuYmxvZy1tb2R1bGUge1xuICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gICAgbWFyZ2luLWxlZnQ6IDE1cHg7XG4gICAgcGFkZGluZzogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5jbXMtbW9kdWxlLmJsb2ctbW9kdWxlIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjVweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA1MHB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogNTBweDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmNtcy1tb2R1bGUuYmxvZy1tb2R1bGU6aGFzKC5jb250ZW50LWJhbm5lcikgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgICAgZmxleDogMCAwIDUwJTsgfVxuICAgICAgICAuY21zLW1vZHVsZS5ibG9nLW1vZHVsZTpoYXMoLmNvbnRlbnQtYmFubmVyKSAuY29udGVudC1jb250YWluZXIgLnJlYWQtbW9yZSB7XG4gICAgICAgICAgbWF4LWhlaWdodDogdW5zZXQ7IH1cbiAgICAgICAgICAuY21zLW1vZHVsZS5ibG9nLW1vZHVsZTpoYXMoLmNvbnRlbnQtYmFubmVyKSAuY29udGVudC1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQge1xuICAgICAgICAgICAgbWF4LWhlaWdodDogdW5zZXQ7IH0gfVxuICAgIC5jbXMtbW9kdWxlLmJsb2ctbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLmNtcy1tb2R1bGUuYmxvZy1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgICAgICBwYWRkaW5nOiAwIDQwcHggMCAwOyB9IH1cbiAgICAgIC5jbXMtbW9kdWxlLmJsb2ctbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciAucmVhZC1tb3JlIHtcbiAgICAgICAgbWF4LWhlaWdodDogMzAwcHg7IH1cbiAgICAgICAgLmNtcy1tb2R1bGUuYmxvZy1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IHtcbiAgICAgICAgICBtYXgtaGVpZ2h0OiAzMDBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5jbXMtbW9kdWxlLmJsb2ctbW9kdWxlIC5jb250ZW50LWJhbm5lciB7XG4gICAgICAgIGhlaWdodDogMzgwcHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuY21zLW1vZHVsZS5ibG9nLW1vZHVsZSAuY29udGVudC1iYW5uZXIgaW1nIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBvYmplY3QtZml0OiBjb250YWluO1xuICAgICAgICBvYmplY3QtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDsgfSB9XG4gICAgLmNtcy1tb2R1bGUuYmxvZy1tb2R1bGUgLnJlYWQtbW9yZS1jb250ZW50IHAge1xuICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmNtcy1tb2R1bGUubmV3cy1tb2R1bGU6aGFzKC5jb250ZW50LWJhbm5lcikgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgIGZsZXg6IDAgMCA1MCU7IH0gfVxuICAuY21zLW1vZHVsZS5uZXdzLW1vZHVsZSAuY29udGVudC1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmNtcy1tb2R1bGUubmV3cy1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gIC5jbXMtbW9kdWxlLm5ld3MtbW9kdWxlIC5jb250ZW50LWJhbm5lciB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZmxleC1ncm93OiAxOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmNtcy1tb2R1bGUubmV3cy1tb2R1bGUgLmNvbnRlbnQtYmFubmVyIHtcbiAgICAgICAgaGVpZ2h0OiAzNzVweDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmNtcy1tb2R1bGUubmV3cy1tb2R1bGUgLmNvbnRlbnQtYmFubmVyIGltZyB7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICBvYmplY3QtcG9zaXRpb246IGNlbnRlcjsgfSB9XG4gICAgLmNtcy1tb2R1bGUubmV3cy1tb2R1bGUgLmNvbnRlbnQtYmFubmVyIC5pbWFnZSB7XG4gICAgICB3aWR0aDogOTAlOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5jbXMtbW9kdWxlLm5ld3MtbW9kdWxlIC5jb250ZW50LWJhbm5lciAuaW1hZ2Uge1xuICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9IH1cbiAgLmNtcy1tb2R1bGUubmV3cy1tb2R1bGUgLnJlYWQtbW9yZS1jb250ZW50IHAge1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBmb250LXdlaWdodDogNDAwOyB9XG4gIC5jbXMtbW9kdWxlLm5ld3MtbW9kdWxlIGgzIHtcbiAgICBtYXJnaW46IDAgMCAxNXB4O1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgLmNtcy1tb2R1bGUuZW50cnktbW9kdWxlIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNXB4O1xuICAgIHBhZGRpbmctbGVmdDogMjVweDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBnYXA6IDIwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmNtcy1tb2R1bGUuZW50cnktbW9kdWxlIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogNTBweDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA1MHB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuY21zLW1vZHVsZS5lbnRyeS1tb2R1bGUge1xuICAgICAgICBnYXA6IDQwcHg7IH0gfVxuICAgIC5jbXMtbW9kdWxlLmVudHJ5LW1vZHVsZS50ZXh0LWFsaWduLWxlZnQge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgICAgLmNtcy1tb2R1bGUuZW50cnktbW9kdWxlLnRleHQtYWxpZ24tbGVmdCAucmVhZC1tb3JlLWJ1dHRvbiB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAgIC5jbXMtbW9kdWxlLmVudHJ5LW1vZHVsZS50ZXh0LWFsaWduLXJpZ2h0IHtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gICAgICAuY21zLW1vZHVsZS5lbnRyeS1tb2R1bGUudGV4dC1hbGlnbi1yaWdodCAucmVhZC1tb3JlLWJ1dHRvbiB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cbiAgICAuY21zLW1vZHVsZS5lbnRyeS1tb2R1bGUudGV4dC1hbGlnbi1jZW50ZXIge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAuY21zLW1vZHVsZS5lbnRyeS1tb2R1bGUudGV4dC1hbGlnbi1jZW50ZXIgLnJlYWQtbW9yZS1idXR0b24ge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgIC5jbXMtbW9kdWxlLmVudHJ5LW1vZHVsZS5tdWx0aW1lZGlhLXRvcCB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7IH1cbiAgICAgIC5jbXMtbW9kdWxlLmVudHJ5LW1vZHVsZS5tdWx0aW1lZGlhLXRvcCAuY29udGVudC1jb250YWluZXIsIC5jbXMtbW9kdWxlLmVudHJ5LW1vZHVsZS5tdWx0aW1lZGlhLXRvcC5oYXMtaW1hZ2UgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgICAgZmxleDogMTsgfVxuICAgICAgLmNtcy1tb2R1bGUuZW50cnktbW9kdWxlLm11bHRpbWVkaWEtdG9wIC5yZWFkLW1vcmUge1xuICAgICAgICBtYXgtaGVpZ2h0OiAyNTBweDsgfVxuICAgIC5jbXMtbW9kdWxlLmVudHJ5LW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLmNtcy1tb2R1bGUuZW50cnktbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQ6aGFzKC5jb250ZW50LWJhbm5lcikgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgICAgICBmbGV4OiAwIDAgNTAlOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLmNtcy1tb2R1bGUuZW50cnktbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgICAgICBwYWRkaW5nOiAxMHB4IDA7IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAuY21zLW1vZHVsZS5lbnRyeS1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29udGVudC1iYW5uZXIge1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH0gfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAgICAgLmNtcy1tb2R1bGUuZW50cnktbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLnJlYWQtbW9yZSB7XG4gICAgICAgICAgbWF4LWhlaWdodDogMjUwcHg7IH0gfVxuICAgICAgLmNtcy1tb2R1bGUuZW50cnktbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLnJlYWQtbW9yZS1idXR0b24ge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuY21zLW1vZHVsZS5lbnRyeS1tb2R1bGUubXVsdGltZWRpYS1ib3R0b20ge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9IH1cbiAgICAuY21zLW1vZHVsZS5lbnRyeS1tb2R1bGUubXVsdGltZWRpYS1ib3R0b20gLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgIGZsZXgtZ3JvdzogMDsgfVxuICAgIC5jbXMtbW9kdWxlLmVudHJ5LW1vZHVsZS5tdWx0aW1lZGlhLWJvdHRvbSAucmVhZC1tb3JlIHtcbiAgICAgIG1heC1oZWlnaHQ6IDI1MHB4OyB9XG4gICAgLmNtcy1tb2R1bGUuZW50cnktbW9kdWxlLm11bHRpbWVkaWEtbGVmdCB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5jbXMtbW9kdWxlLmVudHJ5LW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQge1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5jbXMtbW9kdWxlLmVudHJ5LW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQ6aGFzKC5jb250ZW50LWJhbm5lcikgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgICAgICBmbGV4OiAwIDAgNTAlOyB9IH1cbiAgICAgIC5jbXMtbW9kdWxlLmVudHJ5LW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5pbWFnZSB7XG4gICAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5jbXMtbW9kdWxlLmVudHJ5LW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgICAgICBwYWRkaW5nOiAxMHB4IDA7IH0gfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAgICAgLmNtcy1tb2R1bGUuZW50cnktbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAucmVhZC1tb3JlIHtcbiAgICAgICAgICBtYXgtaGVpZ2h0OiAyNTBweDsgfSB9XG4gICAgICAuY21zLW1vZHVsZS5lbnRyeS1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5yZWFkLW1vcmUtYnV0dG9uIHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmNtcy1tb2R1bGUuZW50cnktbW9kdWxlLmxheW91dC1zdHlsZSB7XG4gICAgICAgIHBhZGRpbmc6IDUwcHg7IH0gfVxuICAgIC5jbXMtbW9kdWxlLmVudHJ5LW1vZHVsZS5sYXlvdXQtc3R5bGUgLmNvbnRlbnQtYmFubmVyIHtcbiAgICAgIGhlaWdodDogdW5zZXQ7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuY21zLW1vZHVsZS5lbnRyeS1tb2R1bGUuY29tcGFjdCAuY29udGVudC1jb250YWluZXIge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA0MHB4OyB9IH1cbiAgICAuY21zLW1vZHVsZS5lbnRyeS1tb2R1bGUuY29tcGFjdCAuY29udGVudC1jb250YWluZXIgdWwge1xuICAgICAgcGFkZGluZzogMDsgfVxuICAgIC5jbXMtbW9kdWxlLmVudHJ5LW1vZHVsZS5jb21wYWN0IC5jb250ZW50LWJhbm5lciB7XG4gICAgICBoZWlnaHQ6IDM3NXB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmNtcy1tb2R1bGUuZW50cnktbW9kdWxlLnJpZ2h0LWFsaWduZWQ6aGFzKC5jb250ZW50LWJhbm5lcikgLmNvbnRlbnQtY29udGFpbmVyLCAuY21zLW1vZHVsZS5lbnRyeS1tb2R1bGUubGVmdC1hbGlnbmVkOmhhcyguY29udGVudC1iYW5uZXIpIC5jb250ZW50LWNvbnRhaW5lciwgLmNtcy1tb2R1bGUuZW50cnktbW9kdWxlLmNvbXBhY3Q6aGFzKC5jb250ZW50LWJhbm5lcikgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgICAgd2lkdGg6IDUwJTsgfSB9XG4gICAgLmNtcy1tb2R1bGUuZW50cnktbW9kdWxlLnJpZ2h0LWFsaWduZWQgLmNvbnRlbnQtYmFubmVyLCAuY21zLW1vZHVsZS5lbnRyeS1tb2R1bGUubGVmdC1hbGlnbmVkIC5jb250ZW50LWJhbm5lciwgLmNtcy1tb2R1bGUuZW50cnktbW9kdWxlLmNvbXBhY3QgLmNvbnRlbnQtYmFubmVyIHtcbiAgICAgIGhlaWdodDogMzgwcHg7XG4gICAgICBtYXJnaW46IGF1dG87IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLmNtcy1tb2R1bGUuZW50cnktbW9kdWxlLnJpZ2h0LWFsaWduZWQgLmNvbnRlbnQtYmFubmVyIGltZywgLmNtcy1tb2R1bGUuZW50cnktbW9kdWxlLmxlZnQtYWxpZ25lZCAuY29udGVudC1iYW5uZXIgaW1nLCAuY21zLW1vZHVsZS5lbnRyeS1tb2R1bGUuY29tcGFjdCAuY29udGVudC1iYW5uZXIgaW1nIHtcbiAgICAgICAgICBvYmplY3QtZml0OiBjb250YWluOyB9IH1cbiAgICAuY21zLW1vZHVsZS5lbnRyeS1tb2R1bGUgLnJlYWQtbW9yZS1idXR0b24ge1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgLmNtcy1tb2R1bGUucmlnaHQtYWxpZ25lZCwgLmNtcy1tb2R1bGUubGVmdC1hbGlnbmVkIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgLmNtcy1tb2R1bGUucmlnaHQtYWxpZ25lZCAuY29udGVudC1oZWFkaW5nLCAuY21zLW1vZHVsZS5sZWZ0LWFsaWduZWQgLmNvbnRlbnQtaGVhZGluZyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgLmNtcy1tb2R1bGUucmlnaHQtYWxpZ25lZCAuY29udGVudC1jb250YWluZXIsIC5jbXMtbW9kdWxlLmxlZnQtYWxpZ25lZCAuY29udGVudC1jb250YWluZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXg6IGF1dG87XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLmNtcy1tb2R1bGUucmlnaHQtYWxpZ25lZCAuY21zLWNvbnRlbnQsIC5jbXMtbW9kdWxlLmxlZnQtYWxpZ25lZCAuY21zLWNvbnRlbnQge1xuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgZmxleDogMCAwIDYwJTtcbiAgICAgIGZsZXgtZ3JvdzogMTsgfVxuICAuY21zLW1vZHVsZS5yaWdodC1hbGlnbmVkIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgb3JkZXI6IDI7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuY21zLW1vZHVsZS5yaWdodC1hbGlnbmVkIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogNDBweDsgfSB9XG4gIC5jbXMtbW9kdWxlLnJpZ2h0LWFsaWduZWQgLmNvbnRlbnQtYmFubmVyIHtcbiAgICBvcmRlcjogMTtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmNtcy1tb2R1bGUucmlnaHQtYWxpZ25lZCAuY29udGVudC1iYW5uZXIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5jbXMtbW9kdWxlLmxlZnQtYWxpZ25lZCAuY29udGVudC1jb250YWluZXIge1xuICAgICAgcGFkZGluZy1yaWdodDogNDBweDsgfSB9XG4gIC5jbXMtbW9kdWxlLmxlZnQtYWxpZ25lZCAuY29udGVudC1jb250YWluZXIgKyAuY29udGVudC1iYW5uZXIge1xuICAgIG1hcmdpbi10b3A6IDIwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuY21zLW1vZHVsZS5sZWZ0LWFsaWduZWQgLmNvbnRlbnQtY29udGFpbmVyICsgLmNvbnRlbnQtYmFubmVyIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDsgfSB9XG4gIC5jbXMtbW9kdWxlLmNvbHVtbiAuY29udGVudC1jb250YWluZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuY21zLW1vZHVsZS5jb2x1bW4gLmNvbnRlbnQtYmFubmVyIHtcbiAgICBtYXgtd2lkdGg6IDEwODBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDQwcHggYXV0byA2MHB4OyB9XG4gICAgLmNtcy1tb2R1bGUuY29sdW1uIC5jb250ZW50LWJhbm5lciBpbWcge1xuICAgICAgbWF4LWhlaWdodDogNDcwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5jbXMtbW9kdWxlLmNvbHVtbiB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9IH1cbiAgLmNtcy1tb2R1bGUuY29sdW1uLWludmVydCB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuICAgIHBhZGRpbmctYm90dG9tOiA0MHB4OyB9XG4gICAgLmNtcy1tb2R1bGUuY29sdW1uLWludmVydCAuY29udGVudC1iYW5uZXIge1xuICAgICAgbWF4LXdpZHRoOiA1NDBweDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBtYXJnaW46IDAgYXV0byAwOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5jbXMtbW9kdWxlLmNvbHVtbi1pbnZlcnQgLmNvbnRlbnQtYmFubmVyIHtcbiAgICAgICAgICBoZWlnaHQ6IDM5MHB4OyB9IH1cbiAgLmNtcy1tb2R1bGU6bm90KC5jb2x1bW4pOm5vdCguY29sdW1uLWludmVydCk6bm90KC5yb3ctaW52ZXJ0KTpub3QoLmxheW91dC1zdHlsZSkuaGFzLWltYWdlIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4OiAxOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmNtcy1tb2R1bGU6bm90KC5jb2x1bW4pOm5vdCguY29sdW1uLWludmVydCk6bm90KC5yb3ctaW52ZXJ0KTpub3QoLmxheW91dC1zdHlsZSkuaGFzLWltYWdlIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICAgIGZsZXg6IDAgMCA1MCU7IH0gfVxuICAuY21zLW1vZHVsZTpub3QoLmxlZnQtYWxpZ25lZCkuaGFzLWltYWdlIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAuY21zLW1vZHVsZTpub3QoLmxlZnQtYWxpZ25lZCkuY29sdW1uLWludmVydCAuY29udGVudC1iYW5uZXIge1xuICAgIG1hcmdpbjogMCBhdXRvIDMwcHg7IH1cbiAgLmNtcy1tb2R1bGU6bm90KC5sZWZ0LWFsaWduZWQpIC5jb250ZW50LWJhbm5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5jbXMtbW9kdWxlIC5jb250ZW50LWJhbm5lciB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5jbXMtbW9kdWxlIC5jb250ZW50LWJhbm5lciAuaW1hZ2Uge1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBwbGFjZS1jb250ZW50OiBub3JtYWw7IH1cbiAgICAuY21zLW1vZHVsZSAuY29udGVudC1iYW5uZXIgaW1nIHtcbiAgICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gICAgICBvYmplY3QtcG9zaXRpb246IHRvcCBsZWZ0OyB9XG4gICAgICBAbWVkaWEgYWxsIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpLCAoLW1zLWhpZ2gtY29udHJhc3Q6IGFjdGl2ZSkge1xuICAgICAgICAuY21zLW1vZHVsZSAuY29udGVudC1iYW5uZXIgaW1nIHtcbiAgICAgICAgICBoZWlnaHQ6IGF1dG87IH0gfVxuICAuY21zLW1vZHVsZSAucmVhZC1tb3JlIHtcbiAgICBmbGV4OiAxO1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLmNtcy1tb2R1bGUgLm1vZHVsZS1uYXZpZ2F0aW9uIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgIG1hcmdpbi10b3A6IGF1dG87IH1cbiAgLmNtcy1tb2R1bGUgLnJlYWQtbW9yZS1idXR0b24ge1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIC5jbXMtbW9kdWxlIC5ibG9nLWJ1dHRvbiwgLmNtcy1tb2R1bGUgLm5ld3MtYnV0dG9uLCAuY21zLW1vZHVsZSAuZXZlbnRzLWJ1dHRvbiB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbGluZS1oZWlnaHQ6IDE7IH1cblxuLnJvdy1iYWNrZ3JvdW5kLmNvbnRhaW5lci1wYWRkaW5nIC5jbXMtbW9kdWxlLmhhcy1pbWFnZTpub3QoLmNvbHVtbik6bm90KC5yb3ctaW52ZXJ0KSAuY29udGVudC1iYW5uZXIge1xuICB3aWR0aDogNTkwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5yb3ctYmFja2dyb3VuZC5jb250YWluZXItcGFkZGluZyAuY21zLW1vZHVsZS5oYXMtaW1hZ2U6bm90KC5jb2x1bW4pOm5vdCgucm93LWludmVydCkgLmNvbnRlbnQtYmFubmVyIHtcbiAgICAgIGhlaWdodDogMzcwcHg7IH0gfVxuICAucm93LWJhY2tncm91bmQuY29udGFpbmVyLXBhZGRpbmcgLmNtcy1tb2R1bGUuaGFzLWltYWdlOm5vdCguY29sdW1uKTpub3QoLnJvdy1pbnZlcnQpIC5jb250ZW50LWJhbm5lciBpbWcge1xuICAgIG1heC1oZWlnaHQ6IDM3NXB4OyB9XG5cbi5yb3ctYmFja2dyb3VuZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAucm93LWJhY2tncm91bmQ6bm90KFtzdHlsZSo9XCJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcIl0pIHtcbiAgICBwYWRkaW5nLXRvcDogMTBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5yb3ctYmFja2dyb3VuZDpub3QoW3N0eWxlKj1cImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1wiXSkge1xuICAgICAgICBwYWRkaW5nLXRvcDogMTVweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDE1cHg7IH0gfVxuICAgIC5yb3ctYmFja2dyb3VuZDpub3QoW3N0eWxlKj1cImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1wiXSkgLm1vZHVsZS1iYWNrZ3JvdW5kIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5yb3ctYmFja2dyb3VuZC5yZW1vdmUtcGFkZGluZy10b3Age1xuICAgIHBhZGRpbmctdG9wOiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLnJvdy1iYWNrZ3JvdW5kLnJlbW92ZS1wYWRkaW5nLXRvcCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwOyB9IH1cbiAgLnJvdy1iYWNrZ3JvdW5kLnJlbW92ZS1wYWRkaW5nLWJvdHRvbSB7XG4gICAgcGFkZGluZy1ib3R0b206IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAucm93LWJhY2tncm91bmQucmVtb3ZlLXBhZGRpbmctYm90dG9tIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7IH0gfVxuICAucm93LWJhY2tncm91bmQucmVtb3ZlLXBhZGRpbmctYm90aCB7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAucm93LWJhY2tncm91bmQucmVtb3ZlLXBhZGRpbmctYm90aCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDsgfSB9XG4gIC5yb3ctYmFja2dyb3VuZCAucm93LWJhY2tncm91bmQtaW1hZ2Vbc3R5bGUqPVwiYmFja2dyb3VuZC1pbWFnZVwiXSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7IH1cblxuLm1vZHVsZS1iYWNrZ3JvdW5kIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLXRvcDogMTBweDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLm1vZHVsZS1iYWNrZ3JvdW5kIHtcbiAgICAgIG1hcmdpbi10b3A6IDcuNXB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogNy41cHg7IH0gfVxuICAubW9kdWxlLWJhY2tncm91bmRbc3R5bGUqPVwiYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XCJdIC5jbXMtbW9kdWxlLmVudHJ5LW1vZHVsZSB7XG4gICAgcGFkZGluZy10b3A6IDE1cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDE1cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAubW9kdWxlLWJhY2tncm91bmRbc3R5bGUqPVwiYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XCJdIC5jbXMtbW9kdWxlLmVudHJ5LW1vZHVsZSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAyNXB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjVweDsgfSB9XG4gIC5tb2R1bGUtYmFja2dyb3VuZFtzdHlsZSo9XCJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcIl0gLm5ld3MtbW9kdWxlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDI1cHg7XG4gICAgbWFyZ2luLWxlZnQ6IDI1cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAubW9kdWxlLWJhY2tncm91bmRbc3R5bGUqPVwiYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XCJdIC5uZXdzLW1vZHVsZSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNTBweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDI1cHg7IH0gfVxuICAubW9kdWxlLWJhY2tncm91bmQ6bm90KFtzdHlsZSo9XCJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcIl0pLCAubW9kdWxlLWJhY2tncm91bmQuaGFzLWJhY2tncm91bmQtaW1hZ2Uge1xuICAgIHBhZGRpbmc6IDEwcHg7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLm1vZHVsZS1iYWNrZ3JvdW5kOm5vdChbc3R5bGUqPVwiYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XCJdKSwgLm1vZHVsZS1iYWNrZ3JvdW5kLmhhcy1iYWNrZ3JvdW5kLWltYWdlIHtcbiAgICAgICAgcGFkZGluZzogMTBweDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm1vZHVsZS1iYWNrZ3JvdW5kOm5vdChbc3R5bGUqPVwiYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XCJdKSwgLm1vZHVsZS1iYWNrZ3JvdW5kLmhhcy1iYWNrZ3JvdW5kLWltYWdlIHtcbiAgICAgICAgcGFkZGluZzogMTVweDsgfSB9XG4gICAgLm1vZHVsZS1iYWNrZ3JvdW5kOm5vdChbc3R5bGUqPVwiYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XCJdKSAuY21zLW1vZHVsZS5lbnRyeS1tb2R1bGUsIC5tb2R1bGUtYmFja2dyb3VuZC5oYXMtYmFja2dyb3VuZC1pbWFnZSAuY21zLW1vZHVsZS5lbnRyeS1tb2R1bGUge1xuICAgICAgcGFkZGluZy10b3A6IDE1cHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMTVweDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAubW9kdWxlLWJhY2tncm91bmQ6bm90KFtzdHlsZSo9XCJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcIl0pIC5jbXMtbW9kdWxlLmVudHJ5LW1vZHVsZSwgLm1vZHVsZS1iYWNrZ3JvdW5kLmhhcy1iYWNrZ3JvdW5kLWltYWdlIC5jbXMtbW9kdWxlLmVudHJ5LW1vZHVsZSB7XG4gICAgICAgICAgcGFkZGluZy10b3A6IDI1cHg7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDI1cHg7IH0gfVxuICAgIC5tb2R1bGUtYmFja2dyb3VuZDpub3QoW3N0eWxlKj1cImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1wiXSkgLm5ld3MtbW9kdWxlLCAubW9kdWxlLWJhY2tncm91bmQuaGFzLWJhY2tncm91bmQtaW1hZ2UgLm5ld3MtbW9kdWxlIHtcbiAgICAgIG1hcmdpbjogMCAyNXB4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5tb2R1bGUtYmFja2dyb3VuZDpub3QoW3N0eWxlKj1cImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1wiXSkgLm5ld3MtbW9kdWxlLCAubW9kdWxlLWJhY2tncm91bmQuaGFzLWJhY2tncm91bmQtaW1hZ2UgLm5ld3MtbW9kdWxlIHtcbiAgICAgICAgICBtYXJnaW46IDI1cHggNTBweDsgfSB9XG4gICAgLm1vZHVsZS1iYWNrZ3JvdW5kOm5vdChbc3R5bGUqPVwiYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XCJdKSAuY29udGVudC1jb250YWluZXI6aG92ZXIsIC5tb2R1bGUtYmFja2dyb3VuZC5oYXMtYmFja2dyb3VuZC1pbWFnZSAuY29udGVudC1jb250YWluZXI6aG92ZXIge1xuICAgICAgYm94LXNoYWRvdzogdW5zZXQ7IH1cbiAgLm1vZHVsZS1iYWNrZ3JvdW5kIC5yb3ctYmFja2dyb3VuZC1pbWFnZVtzdHlsZSo9XCJiYWNrZ3JvdW5kLWltYWdlXCJdIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsgfVxuICAubW9kdWxlLWJhY2tncm91bmQgLm1vZHVsZS1iYWNrZ3JvdW5kLWltYWdlW3N0eWxlKj1cImJhY2tncm91bmQtaW1hZ2VcIl0ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyB9XG5cbi5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5jYXJvdXNlbC1wYWRkaW5nIHtcbiAgcGFkZGluZzogMCAwIDUwcHg7IH1cblxuLmNtcy1zdWJzaWRpYXJ5LW1vZHVsZSAuc2VyaWVzLWNhcmQge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAxOHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjZGFkYWRhO1xuICB0cmFuc2l0aW9uOiBhbGwgMC44czsgfVxuICAuY21zLXN1YnNpZGlhcnktbW9kdWxlIC5zZXJpZXMtY2FyZDpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gIC5jbXMtc3Vic2lkaWFyeS1tb2R1bGUgLnNlcmllcy1jYXJkID4gYSB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsKDIyKTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGNvbG9yOiAjMDYwNTJmO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgICAuY21zLXN1YnNpZGlhcnktbW9kdWxlIC5zZXJpZXMtY2FyZCA+IGE6aG92ZXIge1xuICAgICAgY29sb3I6ICNhZTk0NjE7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gIC5jbXMtc3Vic2lkaWFyeS1tb2R1bGUgLnNlcmllcy1jYXJkIHVsIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lOyB9XG4gICAgLmNtcy1zdWJzaWRpYXJ5LW1vZHVsZSAuc2VyaWVzLWNhcmQgdWwgbGk6aG92ZXIgPiBhIHtcbiAgICAgIGNvbG9yOiAjYWU5NDYxO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAgIC5jbXMtc3Vic2lkaWFyeS1tb2R1bGUgLnNlcmllcy1jYXJkIHVsIGxpID4gYSB7XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICBjb2xvcjogIzc3Nzc3NztcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cblxuLmViZy1pbmZvcm1hdGlvbi1tb2R1bGUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5lYmctaW5mb3JtYXRpb24tbW9kdWxlIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH0gfVxuICAuZWJnLWluZm9ybWF0aW9uLW1vZHVsZSAuZ3JvdXAtZnVsbC1kZXNjcmlwdGlvbiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5lYmctaW5mb3JtYXRpb24tbW9kdWxlIC5ncm91cC1ub3RlcyB7XG4gICAgICBmbGV4OiAxOyB9IH1cbiAgLmViZy1pbmZvcm1hdGlvbi1tb2R1bGUgLmdyb3VwLW5vdGVzLmFjdGl2ZSAucmVhZC1tb3JlLWNvbnRlbnQge1xuICAgIG1heC1oZWlnaHQ6IGluaGVyaXQ7IH1cbiAgLmViZy1pbmZvcm1hdGlvbi1tb2R1bGUgLmdyb3VwLW5vdGVzIHAge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXNpemU6IDFyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuZWJnLWluZm9ybWF0aW9uLW1vZHVsZSAuZ3JvdXAtbm90ZXMgcCB7XG4gICAgICAgIG1hcmdpbjogMDsgfSB9XG4gIC5lYmctaW5mb3JtYXRpb24tbW9kdWxlIC5ncm91cC1ub3RlcyAucmVhZC1tb3JlLWNvbnRlbnQge1xuICAgIG1heC1oZWlnaHQ6IDIwMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmViZy1pbmZvcm1hdGlvbi1tb2R1bGUgLmdyb3VwLW5vdGVzIC5yZWFkLW1vcmUtY29udGVudCB7XG4gICAgICAgIG1heC1oZWlnaHQ6IHVuc2V0OyB9IH1cbiAgLmViZy1pbmZvcm1hdGlvbi1tb2R1bGUgLmdyb3VwLWltYWdlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAyMHB4IDAgMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuZWJnLWluZm9ybWF0aW9uLW1vZHVsZSAuZ3JvdXAtaW1hZ2Uge1xuICAgICAgICBtYXgtd2lkdGg6IDMwJTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH0gfVxuXG4ucGFnZS1oZWFkaW5nLW1vZHVsZSB7XG4gIG1hcmdpbjogMCAwIDEwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5wYWdlLWhlYWRpbmctbW9kdWxlIHtcbiAgICAgIG1hcmdpbjogMCAwIDEwcHg7IH0gfVxuICAucGFnZS1oZWFkaW5nLW1vZHVsZSBoMSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAucGFnZS1oZWFkaW5nLW1vZHVsZSAuY21zLWNvbnRhaW5lciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4ubW9kdWxlLWNvbmZpZyB7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIHBhZGRpbmc6IDE1cHggMTBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VlZWVlZTsgfVxuICAubW9kdWxlLWNvbmZpZyBsaSwgLm1vZHVsZS1jb25maWcgc3Ryb25nLCAubW9kdWxlLWNvbmZpZyBoMyB7XG4gICAgY29sb3I6ICM3Nzc3Nzc7IH1cbiAgLm1vZHVsZS1jb25maWcgbGksIC5tb2R1bGUtY29uZmlnIHN0cm9uZyB7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07IH1cbiAgLm1vZHVsZS1jb25maWcgbGkgc3Ryb25nIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4OyB9XG4gICAgLm1vZHVsZS1jb25maWcgbGkgc3Ryb25nOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICc6JztcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGNvbG9yOiAjNzc3Nzc3OyB9XG4gIC5tb2R1bGUtY29uZmlnIGgzIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAubW9kdWxlLWNvbmZpZyBoMzphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHdpZHRoOiA4MCU7XG4gICAgICBoZWlnaHQ6IDJweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM3Nzc3Nzc7IH1cblxuLm1vZHVsZS1jb250ZW50LWNvbnRhaW5lci5lZmZlY3Qtc3R5bGUge1xuICAtLWJvcmRlci1yYWRpdXMtc21hbGw6IDFweDtcbiAgLS1ib3JkZXItcmFkaXVzLW1lZGl1bTogNXB4O1xuICAtLWJvcmRlci1yYWRpdXMtbGFyZ2U6IDI1JTtcbiAgLS1ib3JkZXItcmFkaXVzLXhsYXJnZTogNTAlO1xuICAtLWJvcmRlci13aWR0aC10aGluOiAxcHg7XG4gIC0tYm9yZGVyLXdpZHRoLWxpZ2h0OiAycHg7XG4gIC0tYm9yZGVyLXdpZHRoLW1lZGl1bTogNXB4O1xuICAtLWJvcmRlci13aWR0aC1ib2xkOiAxMHB4O1xuICAtLWltYWdlLXJlZHVjZS1zbWFsbDogLjk1O1xuICAtLWltYWdlLXJlZHVjZS1tZWRpdW06IC44MDtcbiAgLS1pbWFnZS1yZWR1Y2UtbGFyZ2U6IC42MDsgfVxuICAubW9kdWxlLWNvbnRlbnQtY29udGFpbmVyLmVmZmVjdC1zdHlsZSAuY29udGVudC1jb250YWluZXIge1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjhzOyB9XG4gICAgLm1vZHVsZS1jb250ZW50LWNvbnRhaW5lci5lZmZlY3Qtc3R5bGUgLmNvbnRlbnQtY29udGFpbmVyOmhvdmVyIHtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG5cbi5jb2xsZWN0aW9uLm1vZHVsZS1jb250ZW50LWNvbnRhaW5lci5pbWFnZS1ib3JkZXIgLmNvbnRlbnQtY29udGFpbmVyLmltYWdlLCAuY29sbGVjdGlvbi5tb2R1bGUtY29udGVudC1jb250YWluZXIuaW1hZ2UtYm9yZGVyIC5jb250ZW50LWNvbnRhaW5lciAuaW1hZ2Uge1xuICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aCwgMTBweCkgc29saWQgdmFyKC0tYm9yZGVyLWNvbG91ciwgI2ZmZmZmZik7IH1cblxuLmNvbGxlY3Rpb24ubW9kdWxlLWNvbnRlbnQtY29udGFpbmVyLmltYWdlLXJhZGl1cy1hbmltYXRpb24gLmNvbnRlbnQtY29udGFpbmVyLmltYWdlLCAuY29sbGVjdGlvbi5tb2R1bGUtY29udGVudC1jb250YWluZXIuaW1hZ2UtcmFkaXVzLWFuaW1hdGlvbiAuY29udGVudC1jb250YWluZXIgLmltYWdlIHtcbiAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgsIDEwcHgpIHNvbGlkIHZhcigtLWJvcmRlci1jb2xvdXIsICNmZmZmZmYpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLCA1MCUpO1xuICBib3gtc2hhZG93OiAwcHggMnB4IDRweCAxcHggcmdiYSgxMiwgMTIsIDEzLCAwLjMpO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiBib3JkZXItcmFkaXVzIDAuOHM7IH1cbiAgLmNvbGxlY3Rpb24ubW9kdWxlLWNvbnRlbnQtY29udGFpbmVyLmltYWdlLXJhZGl1cy1hbmltYXRpb24gLmNvbnRlbnQtY29udGFpbmVyLmltYWdlOmJlZm9yZSwgLmNvbGxlY3Rpb24ubW9kdWxlLWNvbnRlbnQtY29udGFpbmVyLmltYWdlLXJhZGl1cy1hbmltYXRpb24gLmNvbnRlbnQtY29udGFpbmVyIC5pbWFnZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cywgNTAlKTtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwcHggMnB4IDRweCAxcHggcmdiYSgxMiwgMTIsIDEzLCAwLjMpO1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1yYWRpdXMgMC44czsgfVxuXG4uY29sbGVjdGlvbi5tb2R1bGUtY29udGVudC1jb250YWluZXIuaW1hZ2UtcmFkaXVzLWFuaW1hdGlvbiAuY29udGVudC1jb250YWluZXI6aG92ZXIgLmltYWdlIHtcbiAgb3BhY2l0eTogMTtcbiAgYm9yZGVyLXJhZGl1czogY2FsYyh2YXIoLS1ib3JkZXItcmFkaXVzLCA1MCUpIC8gMik7XG4gIHRyYW5zaXRpb246IGJvcmRlci1yYWRpdXMgMC42czsgfVxuICAuY29sbGVjdGlvbi5tb2R1bGUtY29udGVudC1jb250YWluZXIuaW1hZ2UtcmFkaXVzLWFuaW1hdGlvbiAuY29udGVudC1jb250YWluZXI6aG92ZXIgLmltYWdlOmJlZm9yZSB7XG4gICAgYm9yZGVyLXJhZGl1czogY2FsYyh2YXIoLS1ib3JkZXItcmFkaXVzLCA1MCUpIC8gMik7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLXJhZGl1cyAwLjZzOyB9XG5cbi5jb2xsZWN0aW9uLm1vZHVsZS1jb250ZW50LWNvbnRhaW5lci5pbWFnZS1yYWRpdXMtYW5pbWF0aW9uIC5jb250ZW50LWNvbnRhaW5lci5pbWFnZTpob3ZlciB7XG4gIG9wYWNpdHk6IDE7XG4gIGJvcmRlci1yYWRpdXM6IGNhbGModmFyKC0tYm9yZGVyLXJhZGl1cywgNTAlKSAvIDIpO1xuICB0cmFuc2l0aW9uOiBib3JkZXItcmFkaXVzIDAuNnM7IH1cbiAgLmNvbGxlY3Rpb24ubW9kdWxlLWNvbnRlbnQtY29udGFpbmVyLmltYWdlLXJhZGl1cy1hbmltYXRpb24gLmNvbnRlbnQtY29udGFpbmVyLmltYWdlOmhvdmVyOmJlZm9yZSB7XG4gICAgYm9yZGVyLXJhZGl1czogY2FsYygodmFyKC0tYm9yZGVyLXJhZGl1cywgNTAlKSkgLyAyKTtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItcmFkaXVzIDAuNnM7IH1cblxuLmNvbGxlY3Rpb24ubW9kdWxlLWNvbnRlbnQtY29udGFpbmVyLmludmVydC1jZWxsLXNoYWRvdyAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciB7XG4gIGJvcmRlcjogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpO1xuICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC44cywgYm94LXNoYWRvdyAwLjhzOyB9XG4gIC5jb2xsZWN0aW9uLm1vZHVsZS1jb250ZW50LWNvbnRhaW5lci5pbnZlcnQtY2VsbC1zaGFkb3cgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXI6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogI2VlZWVlZTtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC42cywgYm9yZGVyLWNvbG9yIDAuNnM7IH1cbiAgICAuY29sbGVjdGlvbi5tb2R1bGUtY29udGVudC1jb250YWluZXIuaW52ZXJ0LWNlbGwtc2hhZG93IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyOmhvdmVyIC5pbWFnZSB7XG4gICAgICBvcGFjaXR5OiAxOyB9XG5cbi5jb2xsZWN0aW9uLm1vZHVsZS1jb250ZW50LWNvbnRhaW5lci5yZWR1Y2UtaW1hZ2UtaG92ZXIgLmNvbnRlbnQtY29udGFpbmVyOmhvdmVyIHtcbiAgYm94LXNoYWRvdzogMHB4IDJweCA0cHggMXB4IHJnYmEoMTIsIDEyLCAxMywgMC4zKTsgfVxuXG4uY29sbGVjdGlvbi5tb2R1bGUtY29udGVudC1jb250YWluZXIucmVkdWNlLWltYWdlLWhvdmVyIC5jb250ZW50LWNvbnRhaW5lci5pbWFnZTpob3ZlciwgLmNvbGxlY3Rpb24ubW9kdWxlLWNvbnRlbnQtY29udGFpbmVyLnJlZHVjZS1pbWFnZS1ob3ZlciAuY29udGVudC1jb250YWluZXI6aG92ZXIgLmltYWdlIHtcbiAgb3BhY2l0eTogMTsgfVxuICAuY29sbGVjdGlvbi5tb2R1bGUtY29udGVudC1jb250YWluZXIucmVkdWNlLWltYWdlLWhvdmVyIC5jb250ZW50LWNvbnRhaW5lci5pbWFnZTpob3ZlciBpbWcsIC5jb2xsZWN0aW9uLm1vZHVsZS1jb250ZW50LWNvbnRhaW5lci5yZWR1Y2UtaW1hZ2UtaG92ZXIgLmNvbnRlbnQtY29udGFpbmVyOmhvdmVyIC5pbWFnZSBpbWcge1xuICAgIHRyYW5zZm9ybTogc2NhbGUodmFyKC0tcmVkdWNlLWltYWdlLCAwLjk1KSk7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNnM7IH1cblxuLmNvbGxlY3Rpb24ubW9kdWxlLWNvbnRlbnQtY29udGFpbmVyLnJlZHVjZS1pbWFnZS1ob3ZlciAuY29udGVudC1jb250YWluZXIgLmltYWdlIGltZywgLmNvbGxlY3Rpb24ubW9kdWxlLWNvbnRlbnQtY29udGFpbmVyLnJlZHVjZS1pbWFnZS1ob3ZlciAuaW1hZ2UgaW1nIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuOHM7IH1cblxuLmNvbGxlY3Rpb24ubW9kdWxlLWNvbnRlbnQtY29udGFpbmVyLmNlbGwtYm9yZGVyLWRlZmF1bHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZWVlZWVlOyB9XG4gIC5jb2xsZWN0aW9uLm1vZHVsZS1jb250ZW50LWNvbnRhaW5lci5jZWxsLWJvcmRlci1kZWZhdWx0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyOmhvdmVyIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGJvcmRlci1jb2xvcjogIzA2MDUyZjsgfVxuXG4uY29sbGVjdGlvbi5tb2R1bGUtY29udGVudC1jb250YWluZXIuYm94LXNoYWRvdy1kZWZhdWx0LWhvdmVyLXN0YXRlcyAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciB7XG4gIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7IH1cbiAgLmNvbGxlY3Rpb24ubW9kdWxlLWNvbnRlbnQtY29udGFpbmVyLmJveC1zaGFkb3ctZGVmYXVsdC1ob3Zlci1zdGF0ZXMgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXI6aG92ZXIge1xuICAgIGJveC1zaGFkb3c6IDBweCAycHggNHB4IDFweCByZ2JhKDEyLCAxMiwgMTMsIDAuMyk7IH1cblxuLmNtcy1tb2R1bGUuZWZmZWN0LXN0eWxlLm1vZHVsZS1jb250ZW50LWNvbnRhaW5lci5tb2R1bGUtYm9yZGVycyB7XG4gIHBhZGRpbmc6IDIwcHggMCAwO1xuICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tYm9yZGVyLWNvbG91cik7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5jbXMtbW9kdWxlLmVmZmVjdC1zdHlsZS5tb2R1bGUtY29udGVudC1jb250YWluZXIubW9kdWxlLWJvcmRlcnMge1xuICAgICAgcGFkZGluZy10b3A6IDA7IH0gfVxuICAuY21zLW1vZHVsZS5lZmZlY3Qtc3R5bGUubW9kdWxlLWNvbnRlbnQtY29udGFpbmVyLm1vZHVsZS1ib3JkZXJzLm11bHRpbWVkaWEtdG9wIC5jb250ZW50LWJhbm5lciB7XG4gICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3VyKTsgfVxuICAuY21zLW1vZHVsZS5lZmZlY3Qtc3R5bGUubW9kdWxlLWNvbnRlbnQtY29udGFpbmVyLm1vZHVsZS1ib3JkZXJzLm11bHRpbWVkaWEtcmlnaHQgLmNvbnRlbnQtYmFubmVyIHtcbiAgICBib3JkZXItdG9wOiB2YXIoLS1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLWJvcmRlci1jb2xvdXIpOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmNtcy1tb2R1bGUuZWZmZWN0LXN0eWxlLm1vZHVsZS1jb250ZW50LWNvbnRhaW5lci5tb2R1bGUtYm9yZGVycy5tdWx0aW1lZGlhLXJpZ2h0IC5jb250ZW50LWJhbm5lciB7XG4gICAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgICAgIGJvcmRlci1sZWZ0OiB2YXIoLS1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLWJvcmRlci1jb2xvdXIpOyB9IH1cbiAgLmNtcy1tb2R1bGUuZWZmZWN0LXN0eWxlLm1vZHVsZS1jb250ZW50LWNvbnRhaW5lci5tb2R1bGUtYm9yZGVycy5tdWx0aW1lZGlhLWJvdHRvbSAuY29udGVudC1iYW5uZXIge1xuICAgIGJvcmRlci10b3A6IHZhcigtLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tYm9yZGVyLWNvbG91cik7IH1cbiAgLmNtcy1tb2R1bGUuZWZmZWN0LXN0eWxlLm1vZHVsZS1jb250ZW50LWNvbnRhaW5lci5tb2R1bGUtYm9yZGVycy5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtYmFubmVyIHtcbiAgICBib3JkZXItdG9wOiB2YXIoLS1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLWJvcmRlci1jb2xvdXIpOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmNtcy1tb2R1bGUuZWZmZWN0LXN0eWxlLm1vZHVsZS1jb250ZW50LWNvbnRhaW5lci5tb2R1bGUtYm9yZGVycy5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtYmFubmVyIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiB2YXIoLS1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLWJvcmRlci1jb2xvdXIpOyB9IH1cbiAgLmNtcy1tb2R1bGUuZWZmZWN0LXN0eWxlLm1vZHVsZS1jb250ZW50LWNvbnRhaW5lci5tb2R1bGUtYm9yZGVycyAuY29udGVudC1jb250YWluZXIge1xuICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiAyMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmNtcy1tb2R1bGUuZWZmZWN0LXN0eWxlLm1vZHVsZS1jb250ZW50LWNvbnRhaW5lci5tb2R1bGUtYm9yZGVycyAuY29udGVudC1jb250YWluZXIge1xuICAgICAgICBwYWRkaW5nOiA4MHB4IDEwMHB4OyB9IH1cblxuLmFuaW1hdGlvbi1tb2R1bGUge1xuICAtLW1lZGlhLWFzcGVjdC1yYXRpbzogdmFyKC0tbWVkaWEtd2lkdGgsIGF1dG8pL3ZhcigtLW1lZGlhLWhlaWdodCwgYXV0byk7IH1cbiAgLmFuaW1hdGlvbi1tb2R1bGUgW2RhdGEtYW5pbWF0aW9uXSB7XG4gICAgYXNwZWN0LXJhdGlvOiB2YXIoLS1tZWRpYS1hc3BlY3QtcmF0aW8pOyB9XG5cbi8qXHJcbi0tLS0tIFN0b2NrIEluZGljaWF0b3IocykgLS0tLS1cclxuSGFuZGxlcyB0aGUgZm9sbG93aW5nOiBcclxuLSBJbnN0b2NrLCBPdXQgb2Ygc3RvY2sgJiBMb3cgc3RvY2sgaWNvbnMuXHJcbi0gRW1haWwgd2hlbiBiYWNrIGluIHN0b2NrXHJcbiovXG4uc3RvY2staW5kaWNhdG9yLnByZXNldDEge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuc3RvY2staW5kaWNhdG9yLnByZXNldDEgcCB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMCA1cHggMCAwO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAgIC5zdG9jay1pbmRpY2F0b3IucHJlc2V0MSBwOmJlZm9yZSB7XG4gICAgICBwYWRkaW5nOiAwIDEwcHggMCAwOyB9XG4gIC5zdG9jay1pbmRpY2F0b3IucHJlc2V0MSBhIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC5zdG9jay1pbmRpY2F0b3IucHJlc2V0MSAuc3RvY2tMZXZlbCB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwOyB9XG5cbi5zdG9jay1pbmRpY2F0b3IucHJlc2V0MiB7XG4gIHdpZHRoOiBmaXQtY29udGVudDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAuc3RvY2staW5kaWNhdG9yLnByZXNldDIuc29oLTIgYTpob3ZlciwgLnN0b2NrLWluZGljYXRvci5wcmVzZXQyLnNvaC0xIGE6aG92ZXIsIC5zdG9jay1pbmRpY2F0b3IucHJlc2V0Mi5zb2gtMCBhOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgLnN0b2NrLWluZGljYXRvci5wcmVzZXQyLnNvaC0yIHAsIC5zdG9jay1pbmRpY2F0b3IucHJlc2V0Mi5zb2gtMiBzcGFuLCAuc3RvY2staW5kaWNhdG9yLnByZXNldDIuc29oLTEgcCwgLnN0b2NrLWluZGljYXRvci5wcmVzZXQyLnNvaC0xIHNwYW4sIC5zdG9jay1pbmRpY2F0b3IucHJlc2V0Mi5zb2gtMCBwLCAuc3RvY2staW5kaWNhdG9yLnByZXNldDIuc29oLTAgc3BhbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIC5zdG9jay1pbmRpY2F0b3IucHJlc2V0Mi5zb2gtMiA+IHAsIC5zdG9jay1pbmRpY2F0b3IucHJlc2V0Mi5zb2gtMiBwLCAuc3RvY2staW5kaWNhdG9yLnByZXNldDIuc29oLTIgLmxhYmVsLCAuc3RvY2staW5kaWNhdG9yLnByZXNldDIuc29oLTEgPiBwLCAuc3RvY2staW5kaWNhdG9yLnByZXNldDIuc29oLTEgcCwgLnN0b2NrLWluZGljYXRvci5wcmVzZXQyLnNvaC0xIC5sYWJlbCwgLnN0b2NrLWluZGljYXRvci5wcmVzZXQyLnNvaC0wID4gcCwgLnN0b2NrLWluZGljYXRvci5wcmVzZXQyLnNvaC0wIHAsIC5zdG9jay1pbmRpY2F0b3IucHJlc2V0Mi5zb2gtMCAubGFiZWwge1xuICAgIG1hcmdpbjogMCA1cHggMCAwO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgICAuc3RvY2staW5kaWNhdG9yLnByZXNldDIuc29oLTIgPiBwOmJlZm9yZSwgLnN0b2NrLWluZGljYXRvci5wcmVzZXQyLnNvaC0yIHA6YmVmb3JlLCAuc3RvY2staW5kaWNhdG9yLnByZXNldDIuc29oLTIgLmxhYmVsOmJlZm9yZSwgLnN0b2NrLWluZGljYXRvci5wcmVzZXQyLnNvaC0xID4gcDpiZWZvcmUsIC5zdG9jay1pbmRpY2F0b3IucHJlc2V0Mi5zb2gtMSBwOmJlZm9yZSwgLnN0b2NrLWluZGljYXRvci5wcmVzZXQyLnNvaC0xIC5sYWJlbDpiZWZvcmUsIC5zdG9jay1pbmRpY2F0b3IucHJlc2V0Mi5zb2gtMCA+IHA6YmVmb3JlLCAuc3RvY2staW5kaWNhdG9yLnByZXNldDIuc29oLTAgcDpiZWZvcmUsIC5zdG9jay1pbmRpY2F0b3IucHJlc2V0Mi5zb2gtMCAubGFiZWw6YmVmb3JlIHtcbiAgICAgIHBhZGRpbmc6IDAgNXB4IDAgMDsgfVxuICAuc3RvY2staW5kaWNhdG9yLnByZXNldDIuc29oLTIgc3BhbiwgLnN0b2NrLWluZGljYXRvci5wcmVzZXQyLnNvaC0xIHNwYW4sIC5zdG9jay1pbmRpY2F0b3IucHJlc2V0Mi5zb2gtMCBzcGFuIHtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsOyB9XG5cbi5zdG9jay1pbmRpY2F0b3Iuc29oLTIgPiBwOmJlZm9yZSwgLnN0b2NrLWluZGljYXRvci5zb2gtMiBwOmJlZm9yZSwgLnN0b2NrLWluZGljYXRvci5zb2gtMiAubGFiZWw6YmVmb3JlLCAuc3RvY2staW5kaWNhdG9yLnNvaC0xID4gcDpiZWZvcmUsIC5zdG9jay1pbmRpY2F0b3Iuc29oLTEgcDpiZWZvcmUsIC5zdG9jay1pbmRpY2F0b3Iuc29oLTEgLmxhYmVsOmJlZm9yZSwgLnN0b2NrLWluZGljYXRvci5zb2gtMCA+IHA6YmVmb3JlLCAuc3RvY2staW5kaWNhdG9yLnNvaC0wIHA6YmVmb3JlLCAuc3RvY2staW5kaWNhdG9yLnNvaC0wIC5sYWJlbDpiZWZvcmUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICBmb250LXN0eWxlOiBub3JtYWw7IH1cblxuLnN0b2NrLWluZGljYXRvci5zb2gtMiA+IHA6YmVmb3JlLCAuc3RvY2staW5kaWNhdG9yLnNvaC0yIC5sYWJlbDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+AjFwiO1xuICBjb2xvcjogIzA2MDUyZjtcbiAgZm9udC1zaXplOiAxNnB4OyB9XG5cbi5zdG9jay1pbmRpY2F0b3Iuc29oLTIgc3BhbiB7XG4gIGNvbG9yOiAjMDYwNTJmOyB9XG5cbi5zdG9jay1pbmRpY2F0b3Iuc29oLTEgPiBwOmJlZm9yZSwgLnN0b2NrLWluZGljYXRvci5zb2gtMSAubGFiZWw6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgIxcIjtcbiAgY29sb3I6ICM5ZjlmNTE7XG4gIGZvbnQtc2l6ZTogMTZweDsgfVxuXG4uc3RvY2staW5kaWNhdG9yLnNvaC0xIHNwYW4ge1xuICBjb2xvcjogIzlmOWY1MTsgfVxuXG4uc3RvY2staW5kaWNhdG9yLnNvaC0xIC5zdG9ja0xldmVsIHtcbiAgY29sb3I6ICMwNjA1MmY7IH1cblxuLnN0b2NrLWluZGljYXRvci5zb2gtMCA+IHA6YmVmb3JlLCAuc3RvY2staW5kaWNhdG9yLnNvaC0wIC5sYWJlbDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+AjVwiO1xuICBjb2xvcjogI2ZmMDEwMTtcbiAgZm9udC1zaXplOiAxNnB4OyB9XG5cbi5zdG9jay1pbmRpY2F0b3Iuc29oLTAgLnN0b2NrTGV2ZWwge1xuICBjb2xvcjogI2ZmMDEwMTsgfVxuXG4uc3RvY2staW5kaWNhdG9yLm5vdGlmaWNhdGlvbjpob3ZlciAuc3RvY2stbm90aWZpY2F0aW9uLWljb246YWZ0ZXIge1xuICBjb2xvcjogI2FlOTQ2MTsgfVxuXG4uc3RvY2staW5kaWNhdG9yLm5vdGlmaWNhdGlvbi5hY3RpdmUgLnN0b2NrLW5vdGlmaWNhdGlvbi1pY29uOmFmdGVyIHtcbiAgY29sb3I6ICMwNjA1MmY7IH1cblxuLnN0b2NrLWluZGljYXRvci5ub3RpZmljYXRpb24gLnN0b2NrLW5vdGlmaWNhdGlvbi1pY29uOmFmdGVyIHtcbiAgY29udGVudDogXCLvg7NcIjtcbiAgbWFyZ2luLWxlZnQ6IDE1cHg7XG4gIGNvbG9yOiAjZmYwMTAxO1xuICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgUmVndWxhclwiO1xuICBmb250LXNpemU6IDE2cHg7IH1cblxuLnN0b2NrLWluZGljYXRvci5ub3RpZmljYXRpb246bm90KC5hY3RpdmUpOmhvdmVyIC5zdG9jay1ub3RpZmljYXRpb24taWNvbjphZnRlciB7XG4gIGNvbnRlbnQ6IFwi74OzXCI7IH1cblxuLnN0b2NrLWluZGljYXRvci5ub3RpZmljYXRpb24uYWN0aXZlOmhvdmVyIHtcbiAgY3Vyc29yOiBuby1kcm9wOyB9XG5cbi5zdG9jay1pbmRpY2F0b3Iubm90aWZpY2F0aW9uLmFjdGl2ZSAuc3RvY2stbm90aWZpY2F0aW9uLWljb246YWZ0ZXIge1xuICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgY29sb3I6ICMwNjA1MmY7IH1cblxuLnN0b2NrLWluZGljYXRvciBbZGF0YS10b29sdGlwXSB7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cblxuLnN0b2NrLWluZGljYXRvciAubGFiZWwge1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbi5jb2xsZWN0aW9uLW9ubHktaW5kaWNhdG9yIHtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAuY29sbGVjdGlvbi1vbmx5LWluZGljYXRvcjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi7qCYXCI7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiOyB9XG5cbiNzdG9ja05vdGlmaWNhdGlvbkRldGFpbHMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAjc3RvY2tOb3RpZmljYXRpb25EZXRhaWxzIHtcbiAgICAgIHRvcDogMTB2dyAhaW1wb3J0YW50OyB9IH1cbiAgI3N0b2NrTm90aWZpY2F0aW9uRGV0YWlscyAuY21zQ29udGFpbmVyIHtcbiAgICBwYWRkaW5nOiAwIDEwcHggMjBweDtcbiAgICBmb250LXNpemU6IDFyZW07IH1cblxuI25vdGlmaWNhdGlvbkZvcm1Db250YWluZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IDA7XG4gIG1hcmdpbjogYXV0bztcbiAgZGlzcGxheTogYmxvY2s7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICNub3RpZmljYXRpb25Gb3JtQ29udGFpbmVyIHtcbiAgICAgIHRvcDogMDtcbiAgICAgIGJvdHRvbTogMDsgfSB9XG5cbiNub3RpZmljYXRpb25EZXRhaWxzRm9ybSB7XG4gIG1heC13aWR0aDogODV2dztcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiBhdXRvO1xuICBwYWRkaW5nOiAzMHB4IDIwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICNub3RpZmljYXRpb25EZXRhaWxzRm9ybSB7XG4gICAgICBtYXgtd2lkdGg6IDMwdnc7IH0gfVxuICAjbm90aWZpY2F0aW9uRGV0YWlsc0Zvcm0gI25vdGlmaWNhdGlvbkRldGFpbHNGb3JtU3VibWl0IHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAxNXB4IDIwcHg7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwNjA1MmY7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgI25vdGlmaWNhdGlvbkRldGFpbHNGb3JtICNub3RpZmljYXRpb25EZXRhaWxzRm9ybVN1Ym1pdDplbmFibGVkOmhvdmVyIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMwNjA1MmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDYsIDUsIDQ3LCAwLjUpO1xuICAgICAgY29sb3I6ICMwNjA1MmY7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC44czsgfVxuICAgICNub3RpZmljYXRpb25EZXRhaWxzRm9ybSAjbm90aWZpY2F0aW9uRGV0YWlsc0Zvcm1TdWJtaXQ6Zm9jdXMge1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpOyB9XG4gICNub3RpZmljYXRpb25EZXRhaWxzRm9ybSAuY2xvc2UtYnV0dG9uIHtcbiAgICB3aWR0aDogNDVweDtcbiAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjhzOyB9XG4gICAgI25vdGlmaWNhdGlvbkRldGFpbHNGb3JtIC5jbG9zZS1idXR0b246YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74CNXCI7XG4gICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgIGNvbG9yOiAjZWVlZWVlO1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNnMsIGNvbG9yIDAuOHM7IH1cbiAgICAjbm90aWZpY2F0aW9uRGV0YWlsc0Zvcm0gLmNsb3NlLWJ1dHRvbjpob3ZlcjpiZWZvcmUge1xuICAgICAgY29sb3I6ICNhZTk0NjE7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC42cywgY29sb3IgMC42czsgfVxuICAgICNub3RpZmljYXRpb25EZXRhaWxzRm9ybSAuY2xvc2UtYnV0dG9uOmFjdGl2ZTpiZWZvcmUge1xuICAgICAgY29sb3I6ICMwNjA1MmY7XG4gICAgICB0cmFuc2l0aW9uOiBmb250LXNpemUgMS4ycywgY29sb3IgMC42czsgfVxuXG5bZGF0YS1zdG9jay1pbmRpY2F0b3ItdXBkYXRlXSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLnByb2R1Y3QtZW5xdWlyeS1kZXRhaWxzLWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBncmlkO1xuICBnYXA6IDEwcHg7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucHJvZHVjdC1lbnF1aXJ5LWRldGFpbHMtY29udGFpbmVyIHtcbiAgICAgIGdyaWQtYXV0by1jb2x1bW5zOiBhdXRvO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoY2FsYygzMCUgLSA3LjVweCksIDFmcikgbWlubWF4KGNhbGMoNzAlIC0gNy41cHgpLCAxZnIpO1xuICAgICAgZ2FwOiAxNXB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogNTVweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAucHJvZHVjdC1lbnF1aXJ5LWRldGFpbHMtY29udGFpbmVyIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMjAwcHgsIDFmcikpO1xuICAgICAgZ2FwOiAyMHB4OyB9IH1cbiAgLnByb2R1Y3QtZW5xdWlyeS1kZXRhaWxzLWNvbnRhaW5lciAucHJvZHVjdC1lbnF1aXJ5LWRldGFpbHMtcmlnaHQsIC5wcm9kdWN0LWVucXVpcnktZGV0YWlscy1jb250YWluZXIgLnByb2R1Y3QtZW5xdWlyeS1kZXRhaWxzLXJlc3BvbnNlLWFyZWEge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBnYXA6IDE1cHggMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5wcm9kdWN0LWVucXVpcnktZGV0YWlscy1jb250YWluZXIgLnByb2R1Y3QtZW5xdWlyeS1kZXRhaWxzLXJpZ2h0LCAucHJvZHVjdC1lbnF1aXJ5LWRldGFpbHMtY29udGFpbmVyIC5wcm9kdWN0LWVucXVpcnktZGV0YWlscy1yZXNwb25zZS1hcmVhIHtcbiAgICAgICAgZ2FwOiAxMHB4IDA7IH0gfVxuICAgIC5wcm9kdWN0LWVucXVpcnktZGV0YWlscy1jb250YWluZXIgLnByb2R1Y3QtZW5xdWlyeS1kZXRhaWxzLXJpZ2h0IC5jYWxsYmFja0NvbnRhaW5lciwgLnByb2R1Y3QtZW5xdWlyeS1kZXRhaWxzLWNvbnRhaW5lciAucHJvZHVjdC1lbnF1aXJ5LWRldGFpbHMtcmVzcG9uc2UtYXJlYSAuY2FsbGJhY2tDb250YWluZXIge1xuICAgICAgZmxleC1ncm93OiAwOyB9XG4gIC5wcm9kdWN0LWVucXVpcnktZGV0YWlscy1jb250YWluZXIgLnByb2R1Y3QtZW5xdWlyeS1tb2R1bGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAxMHB4IDE1cHg7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnByb2R1Y3QtZW5xdWlyeS1kZXRhaWxzLWNvbnRhaW5lciAucHJvZHVjdC1lbnF1aXJ5LW1vZHVsZSB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICAgICAgZ2FwOiAxMHB4IDI1cHg7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5wcm9kdWN0LWVucXVpcnktZGV0YWlscy1jb250YWluZXIgLnByb2R1Y3QtZW5xdWlyeS1tb2R1bGUge1xuICAgICAgICBnYXA6IDEwcHggMzBweDsgfSB9XG4gICAgLnByb2R1Y3QtZW5xdWlyeS1kZXRhaWxzLWNvbnRhaW5lciAucHJvZHVjdC1lbnF1aXJ5LW1vZHVsZTpub3QoOmhhcygqKSkge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5wcm9kdWN0LWVucXVpcnktZGV0YWlscy1jb250YWluZXIgLnByb2R1Y3QtZW5xdWlyeS1tb2R1bGUgaHIge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2RhZGFkYTtcbiAgICAgIGJvcmRlci1ib3R0b206IDA7IH1cbiAgLnByb2R1Y3QtZW5xdWlyeS1kZXRhaWxzLWNvbnRhaW5lciAucmV2ZWFsLXNvY2lhbC1pY29ucy1jb250YWluZXIgLnNoYXJlLWJ1dHRvbiB7XG4gICAgY29sb3I6ICMwMDAwMDA7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgICAucHJvZHVjdC1lbnF1aXJ5LWRldGFpbHMtY29udGFpbmVyIC5yZXZlYWwtc29jaWFsLWljb25zLWNvbnRhaW5lciAuc2hhcmUtYnV0dG9uOmFmdGVyIHtcbiAgICAgIGZvbnQtc2l6ZTogMTdweDsgfVxuXG4ucHJvZHVjdC1lbnF1aXJ5LWhlYWRpbmctY29udGFpbmVyIC5wcm9kdWN0LWVucXVpcnktaGVhZGluZyB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgY29sb3I6ICMwNjA1MmY7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICBsaW5lLWhlaWdodDogMzRweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4ucHJvZHVjdC1lbnF1aXJ5LXNlbGVjdGlvbi1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgIC5wcm9kdWN0LWVucXVpcnktc2VsZWN0aW9uLWNvbnRhaW5lciB7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgyMDBweCwgMWZyKSk7XG4gICAgICBnYXA6IDEwcHggMTVweDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnByb2R1Y3QtZW5xdWlyeS1zZWxlY3Rpb24tY29udGFpbmVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgZ2FwOiAxMHB4IDI1cHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLnByb2R1Y3QtZW5xdWlyeS1zZWxlY3Rpb24tY29udGFpbmVyIHtcbiAgICAgIGdhcDogMTBweCAzMHB4OyB9IH1cblxuLnF1YW50aXR5LW1vZHVsZSwgLnByb2R1Y3QtZW5xdWlyeS1xdWFudGl0eS1zZWxlY3RvciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLnF1YW50aXR5LW1vZHVsZSAubGFiZWwsIC5wcm9kdWN0LWVucXVpcnktcXVhbnRpdHktc2VsZWN0b3IgLmxhYmVsIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgcGFkZGluZzogNnB4IDA7XG4gICAgbGluZS1oZWlnaHQ6IDI1cHg7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAucXVhbnRpdHktbW9kdWxlIC5sYWJlbCwgLnByb2R1Y3QtZW5xdWlyeS1xdWFudGl0eS1zZWxlY3RvciAubGFiZWwge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7IH0gfVxuICAucXVhbnRpdHktbW9kdWxlIC5zZWxlY3QsIC5wcm9kdWN0LWVucXVpcnktcXVhbnRpdHktc2VsZWN0b3IgLnNlbGVjdCB7XG4gICAgd2lkdGg6IHVuc2V0OyB9XG4gICAgLnF1YW50aXR5LW1vZHVsZSAuc2VsZWN0IC5jb250cm9sLXNlbGVjdC1jb250YWluZXIsIC5wcm9kdWN0LWVucXVpcnktcXVhbnRpdHktc2VsZWN0b3IgLnNlbGVjdCAuY29udHJvbC1zZWxlY3QtY29udGFpbmVyIHtcbiAgICAgIG1pbi13aWR0aDogdW5zZXQ7IH1cblxuI21haW4tcHJvZHVjdC1pbmZvcm1hdGlvbi1jb250YWluZXIge1xuICBwYWRkaW5nOiAyMHB4IDVweCAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAjbWFpbi1wcm9kdWN0LWluZm9ybWF0aW9uLWNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nOiA0MHB4IDAgMDsgfSB9XG5cbiNwcm9kdWN0SW1hZ2UsIC5wcm9kdWN0LWVucXVpcnktbWFpbi1tdWx0aW1lZGlhLWNvbnRhaW5lciB7XG4gIG1hcmdpbjogMCAwIDIwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAjcHJvZHVjdEltYWdlLCAucHJvZHVjdC1lbnF1aXJ5LW1haW4tbXVsdGltZWRpYS1jb250YWluZXIge1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICB0ZXh0LWFsaWduOiBpbmhlcml0OyB9IH1cbiAgI3Byb2R1Y3RJbWFnZSAjYWRkaXRpb25hbC1pbWFnZXMsICNwcm9kdWN0SW1hZ2UgLnByb2R1Y3QtZW5xdWlyeS1hZGRpdGlvbmFsLWltYWdlcywgLnByb2R1Y3QtZW5xdWlyeS1tYWluLW11bHRpbWVkaWEtY29udGFpbmVyICNhZGRpdGlvbmFsLWltYWdlcywgLnByb2R1Y3QtZW5xdWlyeS1tYWluLW11bHRpbWVkaWEtY29udGFpbmVyIC5wcm9kdWN0LWVucXVpcnktYWRkaXRpb25hbC1pbWFnZXMge1xuICAgIG1hcmdpbjogYXV0bzsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICNwcm9kdWN0SW1hZ2UgI2FkZGl0aW9uYWwtaW1hZ2VzLCAjcHJvZHVjdEltYWdlIC5wcm9kdWN0LWVucXVpcnktYWRkaXRpb25hbC1pbWFnZXMsIC5wcm9kdWN0LWVucXVpcnktbWFpbi1tdWx0aW1lZGlhLWNvbnRhaW5lciAjYWRkaXRpb25hbC1pbWFnZXMsIC5wcm9kdWN0LWVucXVpcnktbWFpbi1tdWx0aW1lZGlhLWNvbnRhaW5lciAucHJvZHVjdC1lbnF1aXJ5LWFkZGl0aW9uYWwtaW1hZ2VzIHtcbiAgICAgICAgd2lkdGg6IDM3NXB4OyB9IH1cbiAgI3Byb2R1Y3RJbWFnZSAuYWRkaXRpb25hbEltYWdlU2xpZGVyQ29udGFpbmVyLCAucHJvZHVjdC1lbnF1aXJ5LW1haW4tbXVsdGltZWRpYS1jb250YWluZXIgLmFkZGl0aW9uYWxJbWFnZVNsaWRlckNvbnRhaW5lciB7XG4gICAgbWFyZ2luOiBhdXRvOyB9XG4gICAgI3Byb2R1Y3RJbWFnZSAuYWRkaXRpb25hbEltYWdlU2xpZGVyQ29udGFpbmVyIC5zbGlkZS5hY3RpdmUgLnRodW1ibmFpbCwgLnByb2R1Y3QtZW5xdWlyeS1tYWluLW11bHRpbWVkaWEtY29udGFpbmVyIC5hZGRpdGlvbmFsSW1hZ2VTbGlkZXJDb250YWluZXIgLnNsaWRlLmFjdGl2ZSAudGh1bWJuYWlsIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM1MDUwNmQ7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAjcHJvZHVjdEltYWdlIC5hZGRpdGlvbmFsSW1hZ2VTbGlkZXJDb250YWluZXIgLmJ4LXByZXYsXG4gICAgICAjcHJvZHVjdEltYWdlIC5hZGRpdGlvbmFsSW1hZ2VTbGlkZXJDb250YWluZXIgLmJ4LW5leHQsIC5wcm9kdWN0LWVucXVpcnktbWFpbi1tdWx0aW1lZGlhLWNvbnRhaW5lciAuYWRkaXRpb25hbEltYWdlU2xpZGVyQ29udGFpbmVyIC5ieC1wcmV2LFxuICAgICAgLnByb2R1Y3QtZW5xdWlyeS1tYWluLW11bHRpbWVkaWEtY29udGFpbmVyIC5hZGRpdGlvbmFsSW1hZ2VTbGlkZXJDb250YWluZXIgLmJ4LW5leHQge1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICB3aWR0aDogMzBweDtcbiAgICAgICAgaGVpZ2h0OiAzMHB4OyB9XG4gICAgICAgICNwcm9kdWN0SW1hZ2UgLmFkZGl0aW9uYWxJbWFnZVNsaWRlckNvbnRhaW5lciAuYngtcHJldjpiZWZvcmUsXG4gICAgICAgICNwcm9kdWN0SW1hZ2UgLmFkZGl0aW9uYWxJbWFnZVNsaWRlckNvbnRhaW5lciAuYngtbmV4dDpiZWZvcmUsIC5wcm9kdWN0LWVucXVpcnktbWFpbi1tdWx0aW1lZGlhLWNvbnRhaW5lciAuYWRkaXRpb25hbEltYWdlU2xpZGVyQ29udGFpbmVyIC5ieC1wcmV2OmJlZm9yZSxcbiAgICAgICAgLnByb2R1Y3QtZW5xdWlyeS1tYWluLW11bHRpbWVkaWEtY29udGFpbmVyIC5hZGRpdGlvbmFsSW1hZ2VTbGlkZXJDb250YWluZXIgLmJ4LW5leHQ6YmVmb3JlIHtcbiAgICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICAgICAgZm9udC1zaXplOiAyNnB4O1xuICAgICAgICAgIGNvbG9yOiAjMDYwNTJmO1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgIGJvcmRlci13aWR0aDogMDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgI3Byb2R1Y3RJbWFnZSAuYWRkaXRpb25hbEltYWdlU2xpZGVyQ29udGFpbmVyIC5ieC1wcmV2LCAucHJvZHVjdC1lbnF1aXJ5LW1haW4tbXVsdGltZWRpYS1jb250YWluZXIgLmFkZGl0aW9uYWxJbWFnZVNsaWRlckNvbnRhaW5lciAuYngtcHJldiB7XG4gICAgICAgIHJpZ2h0OiAzMHB4OyB9XG4gICAgICAgICNwcm9kdWN0SW1hZ2UgLmFkZGl0aW9uYWxJbWFnZVNsaWRlckNvbnRhaW5lciAuYngtcHJldjpiZWZvcmUsIC5wcm9kdWN0LWVucXVpcnktbWFpbi1tdWx0aW1lZGlhLWNvbnRhaW5lciAuYWRkaXRpb25hbEltYWdlU2xpZGVyQ29udGFpbmVyIC5ieC1wcmV2OmJlZm9yZSB7XG4gICAgICAgICAgcmlnaHQ6IDE1cHg7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMjcwZGVnKTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgI3Byb2R1Y3RJbWFnZSAuYWRkaXRpb25hbEltYWdlU2xpZGVyQ29udGFpbmVyIC5ieC1uZXh0LCAucHJvZHVjdC1lbnF1aXJ5LW1haW4tbXVsdGltZWRpYS1jb250YWluZXIgLmFkZGl0aW9uYWxJbWFnZVNsaWRlckNvbnRhaW5lciAuYngtbmV4dCB7XG4gICAgICAgIGxlZnQ6IDIxcHg7IH1cbiAgICAgICAgI3Byb2R1Y3RJbWFnZSAuYWRkaXRpb25hbEltYWdlU2xpZGVyQ29udGFpbmVyIC5ieC1uZXh0OmJlZm9yZSwgLnByb2R1Y3QtZW5xdWlyeS1tYWluLW11bHRpbWVkaWEtY29udGFpbmVyIC5hZGRpdGlvbmFsSW1hZ2VTbGlkZXJDb250YWluZXIgLmJ4LW5leHQ6YmVmb3JlIHtcbiAgICAgICAgICBsZWZ0OiAxMHB4O1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0yNzBkZWcpOyB9IH1cblxuI21haW5JbWFnZUNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWFyZ2luOiAwIGF1dG8gMjBweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAjbWFpbkltYWdlQ29udGFpbmVyOmhvdmVyIC5vdmVybGF5IHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC42czsgfVxuICAjbWFpbkltYWdlQ29udGFpbmVyIC5vdmVybGF5IHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC44czsgfVxuICAjbWFpbkltYWdlQ29udGFpbmVyLmltYWdlLTM2MCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgI21haW5JbWFnZUNvbnRhaW5lci5pbWFnZS0zNjA6aG92ZXI6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICNtYWluSW1hZ2VDb250YWluZXIuaW1hZ2UtMzYwOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgbWF4LXdpZHRoOiA5MHB4O1xuICAgICAgbWF4LWhlaWdodDogOTBweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjIpO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL3RlbXBsYXRlL2NvbnRlbnQvZGV2ZWxvcG1lbnQvaW1hZ2VzL2ljb25zLzNkaWNvbi5zdmdcIik7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiA4MCU7XG4gICAgICBib3JkZXItcmFkaXVzOiAxMi41cHg7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCByZ2JhKDIxOCwgMjE4LCAyMTgsIDAuMik7IH1cbiAgI21haW5JbWFnZUNvbnRhaW5lciBpbWcge1xuICAgIG1heC1oZWlnaHQ6IDU1MHB4O1xuICAgIG1hcmdpbjogMCBhdXRvOyB9XG5cbi5wcm9kdWN0LWVucXVpcnktbWFpbi1pbWFnZSwgI21haW5JbWFnZUNvbnRhaW5lci5wcm9kdWN0LWVucXVpcnktbWFpbi1pbWFnZSB7XG4gIC0tbWVkaWEtYXNwZWN0LXJhdGlvOiAxLzE7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTRlNGU0O1xuICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC44czsgfVxuICAucHJvZHVjdC1lbnF1aXJ5LW1haW4taW1hZ2U6aG92ZXIsICNtYWluSW1hZ2VDb250YWluZXIucHJvZHVjdC1lbnF1aXJ5LW1haW4taW1hZ2U6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogIzA2MDUyZjtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC42czsgfVxuICAucHJvZHVjdC1lbnF1aXJ5LW1haW4taW1hZ2UgaW1nLCAjbWFpbkltYWdlQ29udGFpbmVyLnByb2R1Y3QtZW5xdWlyeS1tYWluLWltYWdlIGltZyB7XG4gICAgbWluLXdpZHRoOiAzMDBweDtcbiAgICBtYXgtaGVpZ2h0OiBub25lO1xuICAgIG1pbi1oZWlnaHQ6IDMwMHB4OyB9XG4gIC5wcm9kdWN0LWVucXVpcnktbWFpbi1pbWFnZSArIC5wcm9kdWN0LWVucXVpcnktYWRkaXRpb25hbC1pbWFnZXM6aGFzKGltZyksICNtYWluSW1hZ2VDb250YWluZXIucHJvZHVjdC1lbnF1aXJ5LW1haW4taW1hZ2UgKyAucHJvZHVjdC1lbnF1aXJ5LWFkZGl0aW9uYWwtaW1hZ2VzOmhhcyhpbWcpIHtcbiAgICBtYXJnaW46IDIwcHggYXV0byAwOyB9XG5cbi5wcm9kdWN0LW92ZXJsYXktbW9kdWxlIHtcbiAgbWFyZ2luOiAwIDIwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAucHJvZHVjdC1vdmVybGF5LW1vZHVsZSB7XG4gICAgICBvcmRlcjogMTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAucHJvZHVjdC1vdmVybGF5LW1vZHVsZSB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgbWFyZ2luOiAwOyB9IH1cbiAgLnByb2R1Y3Qtb3ZlcmxheS1tb2R1bGUgPiBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luOiAxMHB4IGF1dG87IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAucHJvZHVjdC1vdmVybGF5LW1vZHVsZSA+IGEge1xuICAgICAgICBmbGV4OiAwIDEgY2FsYygzMyUgLSAxNXB4KTtcbiAgICAgICAgbWFyZ2luOiAxMHB4IDEycHg7IH1cbiAgICAgICAgLnByb2R1Y3Qtb3ZlcmxheS1tb2R1bGUgPiBhOm50aC1jaGlsZCgzbikge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAgICAgICAucHJvZHVjdC1vdmVybGF5LW1vZHVsZSA+IGE6bnRoLWNoaWxkKDNuICsgMSkge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgICAgIC5wcm9kdWN0LW92ZXJsYXktbW9kdWxlID4gYTpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuXG4ucHJvZHVjdC1lbnF1aXJ5LWhpZ2hsaWdodGVkLWJhbm5lcnMge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMSwgMWZyKTtcbiAgZ2FwOiAxMHB4O1xuICBtYXJnaW46IDVweCAwIDEwcHg7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucHJvZHVjdC1lbnF1aXJ5LWhpZ2hsaWdodGVkLWJhbm5lcnMge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAucHJvZHVjdC1lbnF1aXJ5LWhpZ2hsaWdodGVkLWJhbm5lcnMge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNSwgMWZyKTtcbiAgICAgIGdhcDogNXB4O1xuICAgICAgbWFyZ2luOiAxMHB4IDAgMTVweDsgfSB9XG5cbi5wYXJ0LWNvZGUtY29udGFpbmVyIHNwYW4ge1xuICBwYWRkaW5nLXJpZ2h0OiA1cHg7IH1cblxuLnBhcnQtY29kZS1jb250YWluZXIsIC5wcm9kdWN0LWVucXVpcnktcmVmZXJlbmNlLWNvbnRhaW5lciB7XG4gIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgY29sb3I6ICM4ODg4ODg7IH1cbiAgLnBhcnQtY29kZS1jb250YWluZXIgcCwgLnByb2R1Y3QtZW5xdWlyeS1yZWZlcmVuY2UtY29udGFpbmVyIHAge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIC5wYXJ0LWNvZGUtY29udGFpbmVyIHNwYW4sIC5wcm9kdWN0LWVucXVpcnktcmVmZXJlbmNlLWNvbnRhaW5lciBzcGFuIHtcbiAgICBmb250LXdlaWdodDogNjAwOyB9XG5cbi5wcm9kdWN0LWVucXVpcnktcmVmZXJlbmNlLWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDEwcHggMDtcbiAgZ2FwOiAxMHB4IDI1cHg7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGFkYWRhOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnByb2R1Y3QtZW5xdWlyeS1yZWZlcmVuY2UtY29udGFpbmVyIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBwYWRkaW5nOiAyMHB4IDA7IH0gfVxuXG4ucHJvZHVjdC1lbnF1aXJ5LWxhYmVsLXZhbHVlLXBhaXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gIGdhcDogNXB4OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnByb2R1Y3QtZW5xdWlyeS1sYWJlbC12YWx1ZS1wYWlyIHtcbiAgICAgIGdhcDogNXB4IDEwcHg7IH0gfVxuICAucHJvZHVjdC1lbnF1aXJ5LWxhYmVsLXZhbHVlLXBhaXIgLmxhYmVsIHtcbiAgICBjb2xvcjogIzAwMDAwMDtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAucHJvZHVjdC1lbnF1aXJ5LWxhYmVsLXZhbHVlLXBhaXIgLnZhbHVlIHtcbiAgICBjb2xvcjogIzAwMDAwMDtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAucHJvZHVjdC1lbnF1aXJ5LWxhYmVsLXZhbHVlLXBhaXIgYnV0dG9uLCAucHJvZHVjdC1lbnF1aXJ5LWxhYmVsLXZhbHVlLXBhaXIgLnRvb2x0aXAtdHJpZ2dlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAgZ2FwOiA1cHg7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnByb2R1Y3QtZW5xdWlyeS1sYWJlbC12YWx1ZS1wYWlyIGJ1dHRvbiwgLnByb2R1Y3QtZW5xdWlyeS1sYWJlbC12YWx1ZS1wYWlyIC50b29sdGlwLXRyaWdnZXIge1xuICAgICAgICBnYXA6IDVweCAxMHB4OyB9IH1cblxuI3Byb2R1Y3QgI3Byb2R1Y3QtaW5mby1sZWZ0IGgxIHtcbiAgbWFyZ2luOiAwIDAgMjBweDtcbiAgcGFkZGluZy1yaWdodDogNTBweDtcbiAgY29sb3I6ICMwNjA1MmY7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICBsaW5lLWhlaWdodDogMzRweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4jcHJvZHVjdCAuc2xpZGUgLmxhYmVsIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4jcHJvZHVjdCAuYWRkQnV0dG9uQ29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMTBweCAwO1xuICBvcmRlcjogNDsgfVxuXG4jcHJvZHVjdCAjcHJvZHVjdC1ub3RlcyB7XG4gIG1hcmdpbjogMjBweCAwIDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICNwcm9kdWN0ICNwcm9kdWN0LW5vdGVzIHtcbiAgICAgIG1hcmdpbjogMCAwIDQwcHg7IH0gfVxuICAjcHJvZHVjdCAjcHJvZHVjdC1ub3RlcyBoMyB7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgI3Byb2R1Y3QgI3Byb2R1Y3Qtbm90ZXMgcCwgI3Byb2R1Y3QgI3Byb2R1Y3Qtbm90ZXMgbGkge1xuICAgIGZvbnQtc2l6ZTogMS4wNjI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGluZS1oZWlnaHQ6IDI1cHg7XG4gICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgI3Byb2R1Y3QgI3Byb2R1Y3Qtbm90ZXMgLnByb2R1Y3QtcmVhZC1tb3JlIHtcbiAgICBoZWlnaHQ6IDE0dmg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAjcHJvZHVjdCAjcHJvZHVjdC1ub3RlcyAudGFiYmVkLXJlYWQtbW9yZSB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgICNwcm9kdWN0ICNwcm9kdWN0LW5vdGVzIC50YWJiZWQtcmVhZC1tb3JlOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG5cbiNwcm9kdWN0ICNhbHRlcm5hdGl2ZS1vcHRpb25zIHtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICNwcm9kdWN0ICNhbHRlcm5hdGl2ZS1vcHRpb25zIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7IH0gfVxuICAjcHJvZHVjdCAjYWx0ZXJuYXRpdmUtb3B0aW9ucyBoMyB7XG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMTsgfVxuICAjcHJvZHVjdCAjYWx0ZXJuYXRpdmUtb3B0aW9ucyAuY2Fyb3VzZWwge1xuICAgIHdpZHRoOiAxMDAlOyB9XG5cbi5wcm9kdWN0LWVucXVpcnktYmFza2V0LWJ1dHRvbi1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwO1xuICBvcmRlcjogNDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5wcm9kdWN0LWVucXVpcnktYmFza2V0LWJ1dHRvbi1jb250YWluZXIge1xuICAgICAgbWFyZ2luOiAxMHB4IDA7IH0gfVxuXG4uaGF6YXJkLXN0YXRlbWVudC1jb250YWluZXIge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjMDAwMDAwO1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG4gIC5oYXphcmQtc3RhdGVtZW50LWNvbnRhaW5lciAuaGF6YXJkLWljb25zLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBnYXA6IDEwcHg7XG4gICAgbWFyZ2luOiAxNXB4IDAgMTBweDsgfVxuICAgIC5oYXphcmQtc3RhdGVtZW50LWNvbnRhaW5lciAuaGF6YXJkLWljb25zLWNvbnRhaW5lciArIC5oYXphcmQtaW5mby1jb250YWluZXIge1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkYWRhZGE7IH1cbiAgLmhhemFyZC1zdGF0ZW1lbnQtY29udGFpbmVyIC5oYXphcmQtaWNvbiB7XG4gICAgd2lkdGg6IDc1cHg7XG4gICAgaGVpZ2h0OiA3NXB4O1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTsgfVxuICAgIC5oYXphcmQtc3RhdGVtZW50LWNvbnRhaW5lciAuaGF6YXJkLWljb24uaGF6LWNhdC10b3hpYyB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvdGVtcGxhdGUvY29udGVudC9kZXZlbG9wbWVudC9pbWFnZXMvaWNvbnMvaGF6YXJkLXN0YXRlbWVudC1pY29ucy9oYXphcmQtYWN1dGUtdG94aWNpdHktaWNvbi5zdmdcIik7IH1cbiAgICAuaGF6YXJkLXN0YXRlbWVudC1jb250YWluZXIgLmhhemFyZC1pY29uLmhhei1jYXQtZ2FzIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi90ZW1wbGF0ZS9jb250ZW50L2RldmVsb3BtZW50L2ltYWdlcy9pY29ucy9oYXphcmQtc3RhdGVtZW50LWljb25zL2hhemFyZC1jb21wcmVzc2VkLWdhcy1pY29uLnN2Z1wiKTsgfVxuICAgIC5oYXphcmQtc3RhdGVtZW50LWNvbnRhaW5lciAuaGF6YXJkLWljb24uaGF6LWNhdC1jb3Jyb3NpdmUge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL3RlbXBsYXRlL2NvbnRlbnQvZGV2ZWxvcG1lbnQvaW1hZ2VzL2ljb25zL2hhemFyZC1zdGF0ZW1lbnQtaWNvbnMvaGF6YXJkLWNvcnJvc2l2ZS1pY29uLnN2Z1wiKTsgfVxuICAgIC5oYXphcmQtc3RhdGVtZW50LWNvbnRhaW5lciAuaGF6YXJkLWljb24uaGF6LWNhdC1lbnZpcm9ubWVudCB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvdGVtcGxhdGUvY29udGVudC9kZXZlbG9wbWVudC9pbWFnZXMvaWNvbnMvaGF6YXJkLXN0YXRlbWVudC1pY29ucy9oYXphcmQtZW52aXJvbm1lbnRhbC1pY29uLnN2Z1wiKTsgfVxuICAgIC5oYXphcmQtc3RhdGVtZW50LWNvbnRhaW5lciAuaGF6YXJkLWljb24uaGF6LWNhdC1leHBsb3NpdmUge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL3RlbXBsYXRlL2NvbnRlbnQvZGV2ZWxvcG1lbnQvaW1hZ2VzL2ljb25zL2hhemFyZC1zdGF0ZW1lbnQtaWNvbnMvaGF6YXJkLWV4cGxvc2l2ZS1pY29uLnN2Z1wiKTsgfVxuICAgIC5oYXphcmQtc3RhdGVtZW50LWNvbnRhaW5lciAuaGF6YXJkLWljb24uaGF6LWNhdC1mbGFtbWFibGUge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL3RlbXBsYXRlL2NvbnRlbnQvZGV2ZWxvcG1lbnQvaW1hZ2VzL2ljb25zL2hhemFyZC1zdGF0ZW1lbnQtaWNvbnMvaGF6YXJkLWZsYW1tYWJsZS1pY29uLnN2Z1wiKTsgfVxuICAgIC5oYXphcmQtc3RhdGVtZW50LWNvbnRhaW5lciAuaGF6YXJkLWljb24uaGF6LWNhdC1vem9uZSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvdGVtcGxhdGUvY29udGVudC9kZXZlbG9wbWVudC9pbWFnZXMvaWNvbnMvaGF6YXJkLXN0YXRlbWVudC1pY29ucy9oYXphcmQtaGFybWZ1bC1pY29uLnN2Z1wiKTsgfVxuICAgIC5oYXphcmQtc3RhdGVtZW50LWNvbnRhaW5lciAuaGF6YXJkLWljb24uaGF6LWNhdC1veGlkaXNpbmcge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL3RlbXBsYXRlL2NvbnRlbnQvZGV2ZWxvcG1lbnQvaW1hZ2VzL2ljb25zL2hhemFyZC1zdGF0ZW1lbnQtaWNvbnMvaGF6YXJkLW94aWRpc2luZy1pY29uLnN2Z1wiKTsgfVxuICAgIC5oYXphcmQtc3RhdGVtZW50LWNvbnRhaW5lciAuaGF6YXJkLWljb24uaGF6LWNhdC1oZWFsdGgge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL3RlbXBsYXRlL2NvbnRlbnQvZGV2ZWxvcG1lbnQvaW1hZ2VzL2ljb25zL2hhemFyZC1zdGF0ZW1lbnQtaWNvbnMvaGF6YXJkLXNlcmlvdXMtaGVhbHRoLWljb24uc3ZnXCIpOyB9XG4gIC5oYXphcmQtc3RhdGVtZW50LWNvbnRhaW5lciAuaGF6YXJkLWluZm8tY29udGFpbmVyIHtcbiAgICBwYWRkaW5nOiAxMHB4IDAgMjBweDsgfVxuICAgIC5oYXphcmQtc3RhdGVtZW50LWNvbnRhaW5lciAuaGF6YXJkLWluZm8tY29udGFpbmVyIGg0IHtcbiAgICAgIG1hcmdpbjogMCAwIDE1cHg7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAgIC5oYXphcmQtc3RhdGVtZW50LWNvbnRhaW5lciAuaGF6YXJkLWluZm8tY29udGFpbmVyIHAge1xuICAgICAgbWFyZ2luOiB2YXIoLS1pbmRlbnQtbWFyZ2luLCAwKTtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIGNvbG9yOiAjNzc3Nzc3OyB9XG4gICAgICAuaGF6YXJkLXN0YXRlbWVudC1jb250YWluZXIgLmhhemFyZC1pbmZvLWNvbnRhaW5lciBwIGltZ1tzdHlsZSo9XCJmbG9hdDpsZWZ0XCJdLCAuaGF6YXJkLXN0YXRlbWVudC1jb250YWluZXIgLmhhemFyZC1pbmZvLWNvbnRhaW5lciBwIGltZ1tzdHlsZSo9XCJmbG9hdDogbGVmdFwiXSwgLmhhemFyZC1zdGF0ZW1lbnQtY29udGFpbmVyIC5oYXphcmQtaW5mby1jb250YWluZXIgcFtzdHlsZSo9XCJmbG9hdDpsZWZ0XCJdID4gaW1nIHtcbiAgICAgICAgbWFyZ2luOiAuMmVtIC4yZW0gLjJlbSAwOyB9XG4gICAgICAuaGF6YXJkLXN0YXRlbWVudC1jb250YWluZXIgLmhhemFyZC1pbmZvLWNvbnRhaW5lciBwIGltZ1tzdHlsZSo9XCJmbG9hdDpyaWdodFwiXSwgLmhhemFyZC1zdGF0ZW1lbnQtY29udGFpbmVyIC5oYXphcmQtaW5mby1jb250YWluZXIgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6IHJpZ2h0XCJdLCAuaGF6YXJkLXN0YXRlbWVudC1jb250YWluZXIgLmhhemFyZC1pbmZvLWNvbnRhaW5lciBwW3N0eWxlKj1cImZsb2F0OnJpZ2h0XCJdID4gaW1nIHtcbiAgICAgICAgbWFyZ2luOiAuMmVtIDAgLjJlbSAuMmVtOyB9XG4gICAgICAuaGF6YXJkLXN0YXRlbWVudC1jb250YWluZXIgLmhhemFyZC1pbmZvLWNvbnRhaW5lciBwIGltZyB7XG4gICAgICAgIG1hcmdpbjogLjJlbSAwOyB9XG4gICAgICAuaGF6YXJkLXN0YXRlbWVudC1jb250YWluZXIgLmhhemFyZC1pbmZvLWNvbnRhaW5lciBwICsgcCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmhhemFyZC1zdGF0ZW1lbnQtY29udGFpbmVyIC5oYXphcmQtaWNvbnMtY29udGFpbmVyLCAuaGF6YXJkLXN0YXRlbWVudC1jb250YWluZXIgLmhhemFyZC1pbmZvLWNvbnRhaW5lciB7XG4gICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgIG1hcmdpbi1sZWZ0OiAyMHB4OyB9XG5cbi5wcm9kdWN0LWVucXVpcnktbXVsdGktbGluZS1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTsgfVxuICAucHJvZHVjdC1lbnF1aXJ5LW11bHRpLWxpbmUtY29udGFpbmVyIC5tdWx0aS1saW5lLWhlYWRpbmcge1xuICAgIG1hcmdpbjogMCAwIDEwcHg7IH1cbiAgICAucHJvZHVjdC1lbnF1aXJ5LW11bHRpLWxpbmUtY29udGFpbmVyIC5tdWx0aS1saW5lLWhlYWRpbmcgaDIsIC5wcm9kdWN0LWVucXVpcnktbXVsdGktbGluZS1jb250YWluZXIgLm11bHRpLWxpbmUtaGVhZGluZyBoMywgLnByb2R1Y3QtZW5xdWlyeS1tdWx0aS1saW5lLWNvbnRhaW5lciAubXVsdGktbGluZS1oZWFkaW5nIGg0IHtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBmb250LWZhbWlseTogXCJHaWJzb25cIiwgXCJHaWJzb24gRmFsbGJhY2tcIiwgXCJBcmlhbFwiO1xuICAgICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgLnByb2R1Y3QtZW5xdWlyeS1tdWx0aS1saW5lLWNvbnRhaW5lciAubXVsdGktbGluZS1jb250ZW50IHVsLCAucHJvZHVjdC1lbnF1aXJ5LW11bHRpLWxpbmUtY29udGFpbmVyIC5tdWx0aS1saW5lLWNvbnRlbnQgb2wge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLnByb2R1Y3QtZW5xdWlyeS1tdWx0aS1saW5lLWNvbnRhaW5lciAubXVsdGktbGluZS1jb250ZW50IHVsIHtcbiAgICBtYXJnaW46IDEwcHg7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaW5lLWhlaWdodDogMS42O1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbGluZS1oZWlnaHQ6IDI1cHg7IH1cbiAgICAucHJvZHVjdC1lbnF1aXJ5LW11bHRpLWxpbmUtY29udGFpbmVyIC5tdWx0aS1saW5lLWNvbnRlbnQgdWwgdWwge1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogMjVweDsgfVxuICAgIC5wcm9kdWN0LWVucXVpcnktbXVsdGktbGluZS1jb250YWluZXIgLm11bHRpLWxpbmUtY29udGVudCB1bCBsaSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBwYWRkaW5nOiAwIDAgMCAxNXB4OyB9XG4gICAgICAucHJvZHVjdC1lbnF1aXJ5LW11bHRpLWxpbmUtY29udGFpbmVyIC5tdWx0aS1saW5lLWNvbnRlbnQgdWwgbGk6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHdpZHRoOiA1cHg7XG4gICAgICAgIGhlaWdodDogNXB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMTBweDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzA2MDUyZjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4OyB9XG4gIC5wcm9kdWN0LWVucXVpcnktbXVsdGktbGluZS1jb250YWluZXIgLm11bHRpLWxpbmUtY29udGVudCBvbCB7XG4gICAgbWFyZ2luOiAxMHB4O1xuICAgIHBhZGRpbmc6IDAgMjVweDtcbiAgICBsaW5lLWhlaWdodDogMS42OyB9XG4gICAgLnByb2R1Y3QtZW5xdWlyeS1tdWx0aS1saW5lLWNvbnRhaW5lciAubXVsdGktbGluZS1jb250ZW50IG9sIG9sIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICBsaXN0LXN0eWxlLXR5cGU6IGxvd2VyLWFscGhhOyB9XG4gICAgICAucHJvZHVjdC1lbnF1aXJ5LW11bHRpLWxpbmUtY29udGFpbmVyIC5tdWx0aS1saW5lLWNvbnRlbnQgb2wgb2wgb2wge1xuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IGxvd2VyLXJvbWFuOyB9XG4gICAgICAgIC5wcm9kdWN0LWVucXVpcnktbXVsdGktbGluZS1jb250YWluZXIgLm11bHRpLWxpbmUtY29udGVudCBvbCBvbCBvbCBvbCB7XG4gICAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBsb3dlci1hbHBoYTsgfVxuICAgICAgICAgIC5wcm9kdWN0LWVucXVpcnktbXVsdGktbGluZS1jb250YWluZXIgLm11bHRpLWxpbmUtY29udGVudCBvbCBvbCBvbCBvbCBvbCB7XG4gICAgICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IGxvd2VyLXJvbWFuOyB9XG4gIC5wcm9kdWN0LWVucXVpcnktbXVsdGktbGluZS1jb250YWluZXIgLm11bHRpLWxpbmUtY29udGVudCBsaSB7XG4gICAgY29sb3I6ICM3Nzc3Nzc7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjsgfVxuICAucHJvZHVjdC1lbnF1aXJ5LW11bHRpLWxpbmUtY29udGFpbmVyIC5tdWx0aS1saW5lLWNvbnRlbnQgdWwgKyBoMSwgLnByb2R1Y3QtZW5xdWlyeS1tdWx0aS1saW5lLWNvbnRhaW5lciAubXVsdGktbGluZS1jb250ZW50IG9sICsgaDEge1xuICAgIG1hcmdpbi10b3A6IDM1cHg7IH1cbiAgLnByb2R1Y3QtZW5xdWlyeS1tdWx0aS1saW5lLWNvbnRhaW5lciAubXVsdGktbGluZS1jb250ZW50IHVsICsgaDIsIC5wcm9kdWN0LWVucXVpcnktbXVsdGktbGluZS1jb250YWluZXIgLm11bHRpLWxpbmUtY29udGVudCBvbCArIGgyIHtcbiAgICBtYXJnaW4tdG9wOiAyMHB4OyB9XG4gIC5wcm9kdWN0LWVucXVpcnktbXVsdGktbGluZS1jb250YWluZXIgLm11bHRpLWxpbmUtY29udGVudCB1bCArIGgzLCAucHJvZHVjdC1lbnF1aXJ5LW11bHRpLWxpbmUtY29udGFpbmVyIC5tdWx0aS1saW5lLWNvbnRlbnQgb2wgKyBoMyB7XG4gICAgbWFyZ2luLXRvcDogMjBweDsgfVxuICAucHJvZHVjdC1lbnF1aXJ5LW11bHRpLWxpbmUtY29udGFpbmVyIC5tdWx0aS1saW5lLWNvbnRlbnQgdWwgKyBoNCwgLnByb2R1Y3QtZW5xdWlyeS1tdWx0aS1saW5lLWNvbnRhaW5lciAubXVsdGktbGluZS1jb250ZW50IG9sICsgaDQge1xuICAgIG1hcmdpbi10b3A6IDIwcHg7IH1cbiAgLnByb2R1Y3QtZW5xdWlyeS1tdWx0aS1saW5lLWNvbnRhaW5lciAubXVsdGktbGluZS1jb250ZW50IHVsICsgaDUsIC5wcm9kdWN0LWVucXVpcnktbXVsdGktbGluZS1jb250YWluZXIgLm11bHRpLWxpbmUtY29udGVudCBvbCArIGg1IHtcbiAgICBtYXJnaW4tdG9wOiAyMHB4OyB9XG4gIC5wcm9kdWN0LWVucXVpcnktbXVsdGktbGluZS1jb250YWluZXIgLm11bHRpLWxpbmUtY29udGVudCB1bCArIGg2LCAucHJvZHVjdC1lbnF1aXJ5LW11bHRpLWxpbmUtY29udGFpbmVyIC5tdWx0aS1saW5lLWNvbnRlbnQgb2wgKyBoNiB7XG4gICAgbWFyZ2luLXRvcDogMjBweDsgfVxuICAucHJvZHVjdC1lbnF1aXJ5LW11bHRpLWxpbmUtY29udGFpbmVyIC5tdWx0aS1saW5lLWNvbnRlbnQgZGwge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLnByb2R1Y3QtZW5xdWlyeS1tdWx0aS1saW5lLWNvbnRhaW5lciAubXVsdGktbGluZS1jb250ZW50IHVsLCAucHJvZHVjdC1lbnF1aXJ5LW11bHRpLWxpbmUtY29udGFpbmVyIC5tdWx0aS1saW5lLWNvbnRlbnQgb2wge1xuICAgIG1hcmdpbjogMDsgfVxuICAucHJvZHVjdC1lbnF1aXJ5LW11bHRpLWxpbmUtY29udGFpbmVyIC5tdWx0aS1saW5lLWNvbnRlbnQgdWwge1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAucHJvZHVjdC1lbnF1aXJ5LW11bHRpLWxpbmUtY29udGFpbmVyIC5tdWx0aS1saW5lLWNvbnRlbnQgcCwgLnByb2R1Y3QtZW5xdWlyeS1tdWx0aS1saW5lLWNvbnRhaW5lciAubXVsdGktbGluZS1jb250ZW50IGxpIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgY29sb3I6ICM3Nzc3Nzc7IH1cbiAgLnByb2R1Y3QtZW5xdWlyeS1tdWx0aS1saW5lLWNvbnRhaW5lci5wcm9kdWN0LW5vdGVzIHtcbiAgICBwYWRkaW5nOiAwIDAgMjBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGFkYWRhOyB9XG4gICAgLnByb2R1Y3QtZW5xdWlyeS1tdWx0aS1saW5lLWNvbnRhaW5lci5wcm9kdWN0LW5vdGVzIC5yZWFkLW1vcmU6bm90KDpoYXMoLnJlYWQtbW9yZS1jb250ZW50KSkge1xuICAgICAgbWF4LWhlaWdodDogMTAwcHg7IH1cblxuI3NwbGl0LXNwZWNpZmljYXRpb24gdWwge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBsaW5lLWhlaWdodDogMjVweDtcbiAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gICNzcGxpdC1zcGVjaWZpY2F0aW9uIHVsIGxpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMCAwIDAgMTVweDsgfVxuICAgICNzcGxpdC1zcGVjaWZpY2F0aW9uIHVsIGxpOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHdpZHRoOiA1cHg7XG4gICAgICBoZWlnaHQ6IDVweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMTBweDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwNjA1MmY7XG4gICAgICBib3JkZXItcmFkaXVzOiA1cHg7IH1cblxuI3NwbGl0LXNwZWNpZmljYXRpb24gbGkge1xuICBtYXJnaW46IDVweCAwOyB9XG5cbiNzcGxpdC1zcGVjaWZpY2F0aW9uIGxpLCAjc3BsaXQtc3BlY2lmaWNhdGlvbiBwLCAjc3BsaXQtc3BlY2lmaWNhdGlvbiBhLCAjc3BsaXQtc3BlY2lmaWNhdGlvbiBzcGFuIHtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGZvbnQtc2l6ZTogMS4wNjI1cmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMjVweDsgfVxuXG4uc3BsaXQtc3BlY2lmaWNhdGlvbiB7XG4gIHBhZGRpbmc6IDIwcHggMDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAjcHJvZHVjdC1wcmljZS1jb250YWluZXIge1xuICAgIG9yZGVyOiAyOyB9IH1cblxuI3Byb2R1Y3QtcHJpY2UtY29udGFpbmVyIC5wcmljZXMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgI3Byb2R1Y3QtcHJpY2UtY29udGFpbmVyIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAjcHJvZHVjdC1wcmljZS1jb250YWluZXIgLnByaWNlcyAucHJpY2UtY29udGFpbmVyIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICNwcm9kdWN0LXByaWNlLWNvbnRhaW5lciAucnJwIHtcbiAgICBvcmRlcjogMTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgI3Byb2R1Y3QtcHJpY2UtY29udGFpbmVyIC5wYWNrLXByaWNlIHtcbiAgICBvcmRlcjogMjsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgI3Byb2R1Y3QtcHJpY2UtY29udGFpbmVyIC5wYWNrLXNpemUge1xuICAgIG9yZGVyOiA0OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAjcHJvZHVjdC1wcmljZS1jb250YWluZXIgLnBhY2staXRlbS1wcmljZSB7XG4gICAgb3JkZXI6IDY7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICNwcm9kdWN0LXByaWNlLWNvbnRhaW5lciAuc2F2aW5nIHtcbiAgICBvcmRlcjogMzsgfSB9XG5cbiNwcm9kdWN0LXByaWNlLWNvbnRhaW5lciAucHJpY2UgLmxhYmVsOmVtcHR5ICsgLnZhbHVlIHtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAjcHJvZHVjdC1wcmljZS1jb250YWluZXIgLnByaWNlIHtcbiAgICBvcmRlcjogNTsgfSB9XG5cbiNwcm9kdWN0LXByaWNlLWNvbnRhaW5lciAucHJpY2UgLnZhbHVlIHtcbiAgZm9udC1zaXplOiAxLjc1cmVtOyB9XG5cbi5vcHRpb25hbC1leHRyYXMtY29udGFpbmVyIHtcbiAgcGFkZGluZzogMTBweCAwIDIwcHg7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGFkYWRhOyB9XG4gIC5vcHRpb25hbC1leHRyYXMtY29udGFpbmVyIHRhYmxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm9wdGlvbmFsLWV4dHJhcy1jb250YWluZXIgdGFibGUgdHI6bm90KDpoYXMoLmltYWdlLWNvbCkpIC5kZXNjcmlwdGlvbi1jb2wge1xuICAgICAgICB3aWR0aDogNDAwcHg7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5vcHRpb25hbC1leHRyYXMtY29udGFpbmVyIHRhYmxlIHRyOm5vdCg6aGFzKC5pbWFnZS1jb2wpKSAuY29kZS1jb2wge1xuICAgICAgICB3aWR0aDogMTI1cHg7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5vcHRpb25hbC1leHRyYXMtY29udGFpbmVyIHRhYmxlIHRyOm5vdCg6aGFzKC5pbWFnZS1jb2wpKSAucHJpY2UtY29sIHtcbiAgICAgICAgd2lkdGg6IDgwcHg7IH0gfVxuICAgIC5vcHRpb25hbC1leHRyYXMtY29udGFpbmVyIHRhYmxlIHRyOm5vdCg6aGFzKC5pbWFnZS1jb2wpKSB0ZC5kZXNjcmlwdGlvbi1jb2wge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAgIC5vcHRpb25hbC1leHRyYXMtY29udGFpbmVyIHRhYmxlIHRyOm5vdCg6aGFzKC5pbWFnZS1jb2wpKSB0ZC5kZXNjcmlwdGlvbi1jb2wgLmltYWdlIHtcbiAgICAgICAgd2lkdGg6IDEwMHB4O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4OyB9XG4gICAgICAub3B0aW9uYWwtZXh0cmFzLWNvbnRhaW5lciB0YWJsZSB0cjpub3QoOmhhcyguaW1hZ2UtY29sKSkgdGQuZGVzY3JpcHRpb24tY29sIC5kZXNjcmlwdGlvbi1jb250YWluZXIge1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBtYXJnaW46IDEwcHggMCAwOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAub3B0aW9uYWwtZXh0cmFzLWNvbnRhaW5lciB0YWJsZSB0cjpub3QoOmhhcyguaW1hZ2UtY29sKSkgdGQuZGVzY3JpcHRpb24tY29sIC5kZXNjcmlwdGlvbi1jb250YWluZXIge1xuICAgICAgICAgICAgbWFyZ2luOiAwOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAub3B0aW9uYWwtZXh0cmFzLWNvbnRhaW5lciB0YWJsZSB0ZC5kZXNjcmlwdGlvbi1jb2wge1xuICAgICAgICB3aWR0aDogMjgwcHg7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5vcHRpb25hbC1leHRyYXMtY29udGFpbmVyIHRhYmxlIC5jb2RlLWNvbCB7XG4gICAgICAgIHdpZHRoOiAxMDBweDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm9wdGlvbmFsLWV4dHJhcy1jb250YWluZXIgdGFibGUgLnByaWNlLWNvbCB7XG4gICAgICAgIHdpZHRoOiA4MHB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAub3B0aW9uYWwtZXh0cmFzLWNvbnRhaW5lciB0YWJsZSAuYWRkLWNvbCB7XG4gICAgICAgIHdpZHRoOiA4MHB4OyB9IH1cbiAgICAub3B0aW9uYWwtZXh0cmFzLWNvbnRhaW5lciB0YWJsZSB0aC5kZXNjcmlwdGlvbi1jb2wge1xuICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4OyB9XG4gIC5vcHRpb25hbC1leHRyYXMtY29udGFpbmVyIC5kZXNjcmlwdGlvbi1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGdhcDogMTBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5vcHRpb25hbC1leHRyYXMtY29udGFpbmVyIC5kZXNjcmlwdGlvbi1jb250YWluZXIge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7IH0gfVxuICAgIC5vcHRpb25hbC1leHRyYXMtY29udGFpbmVyIC5kZXNjcmlwdGlvbi1jb250YWluZXIgLmRlc2NyaXB0aW9uIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgY29sb3I6ICMwNjA1MmY7XG4gICAgICBmb250LXNpemU6IDFyZW07IH1cbiAgLm9wdGlvbmFsLWV4dHJhcy1jb250YWluZXIgdGQuY29kZS1jb2wge1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtOyB9XG4gIC5vcHRpb25hbC1leHRyYXMtY29udGFpbmVyIC5pbWFnZS1jb2wge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAub3B0aW9uYWwtZXh0cmFzLWNvbnRhaW5lciAuaW1hZ2UtY29sIHtcbiAgICAgICAgd2lkdGg6IDExMHB4OyB9IH1cbiAgLm9wdGlvbmFsLWV4dHJhcy1jb250YWluZXIgLmltYWdlIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5vcHRpb25hbC1leHRyYXMtY29udGFpbmVyIC5pbnRyby1jb250YWluZXIge1xuICAgIHBhZGRpbmc6IDIwcHggNXB4OyB9XG4gICAgLm9wdGlvbmFsLWV4dHJhcy1jb250YWluZXIgLmludHJvLWNvbnRhaW5lciBwIHtcbiAgICAgIG1hcmdpbjogdmFyKC0taW5kZW50LW1hcmdpbiwgMCk7XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICBjb2xvcjogIzc3Nzc3NzsgfVxuICAgICAgLm9wdGlvbmFsLWV4dHJhcy1jb250YWluZXIgLmludHJvLWNvbnRhaW5lciBwIGltZ1tzdHlsZSo9XCJmbG9hdDpsZWZ0XCJdLCAub3B0aW9uYWwtZXh0cmFzLWNvbnRhaW5lciAuaW50cm8tY29udGFpbmVyIHAgaW1nW3N0eWxlKj1cImZsb2F0OiBsZWZ0XCJdLCAub3B0aW9uYWwtZXh0cmFzLWNvbnRhaW5lciAuaW50cm8tY29udGFpbmVyIHBbc3R5bGUqPVwiZmxvYXQ6bGVmdFwiXSA+IGltZyB7XG4gICAgICAgIG1hcmdpbjogLjJlbSAuMmVtIC4yZW0gMDsgfVxuICAgICAgLm9wdGlvbmFsLWV4dHJhcy1jb250YWluZXIgLmludHJvLWNvbnRhaW5lciBwIGltZ1tzdHlsZSo9XCJmbG9hdDpyaWdodFwiXSwgLm9wdGlvbmFsLWV4dHJhcy1jb250YWluZXIgLmludHJvLWNvbnRhaW5lciBwIGltZ1tzdHlsZSo9XCJmbG9hdDogcmlnaHRcIl0sIC5vcHRpb25hbC1leHRyYXMtY29udGFpbmVyIC5pbnRyby1jb250YWluZXIgcFtzdHlsZSo9XCJmbG9hdDpyaWdodFwiXSA+IGltZyB7XG4gICAgICAgIG1hcmdpbjogLjJlbSAwIC4yZW0gLjJlbTsgfVxuICAgICAgLm9wdGlvbmFsLWV4dHJhcy1jb250YWluZXIgLmludHJvLWNvbnRhaW5lciBwIGltZyB7XG4gICAgICAgIG1hcmdpbjogLjJlbSAwOyB9XG4gICAgICAub3B0aW9uYWwtZXh0cmFzLWNvbnRhaW5lciAuaW50cm8tY29udGFpbmVyIHAgKyBwIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC5vcHRpb25hbC1leHRyYXMtY29udGFpbmVyIC5pbnRyby1jb250YWluZXIgdWwsIC5vcHRpb25hbC1leHRyYXMtY29udGFpbmVyIC5pbnRyby1jb250YWluZXIgb2wge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgIC5vcHRpb25hbC1leHRyYXMtY29udGFpbmVyIC5pbnRyby1jb250YWluZXIgdWwge1xuICAgICAgbWFyZ2luOiAxMHB4O1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgbGluZS1oZWlnaHQ6IDI1cHg7IH1cbiAgICAgIC5vcHRpb25hbC1leHRyYXMtY29udGFpbmVyIC5pbnRyby1jb250YWluZXIgdWwgdWwge1xuICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMjVweDsgfVxuICAgICAgLm9wdGlvbmFsLWV4dHJhcy1jb250YWluZXIgLmludHJvLWNvbnRhaW5lciB1bCBsaSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZzogMCAwIDAgMTVweDsgfVxuICAgICAgICAub3B0aW9uYWwtZXh0cmFzLWNvbnRhaW5lciAuaW50cm8tY29udGFpbmVyIHVsIGxpOmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgd2lkdGg6IDVweDtcbiAgICAgICAgICBoZWlnaHQ6IDVweDtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiAxMHB4O1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwNjA1MmY7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4OyB9XG4gICAgLm9wdGlvbmFsLWV4dHJhcy1jb250YWluZXIgLmludHJvLWNvbnRhaW5lciBvbCB7XG4gICAgICBtYXJnaW46IDEwcHg7XG4gICAgICBwYWRkaW5nOiAwIDI1cHg7XG4gICAgICBsaW5lLWhlaWdodDogMS42OyB9XG4gICAgICAub3B0aW9uYWwtZXh0cmFzLWNvbnRhaW5lciAuaW50cm8tY29udGFpbmVyIG9sIG9sIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbG93ZXItYWxwaGE7IH1cbiAgICAgICAgLm9wdGlvbmFsLWV4dHJhcy1jb250YWluZXIgLmludHJvLWNvbnRhaW5lciBvbCBvbCBvbCB7XG4gICAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBsb3dlci1yb21hbjsgfVxuICAgICAgICAgIC5vcHRpb25hbC1leHRyYXMtY29udGFpbmVyIC5pbnRyby1jb250YWluZXIgb2wgb2wgb2wgb2wge1xuICAgICAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBsb3dlci1hbHBoYTsgfVxuICAgICAgICAgICAgLm9wdGlvbmFsLWV4dHJhcy1jb250YWluZXIgLmludHJvLWNvbnRhaW5lciBvbCBvbCBvbCBvbCBvbCB7XG4gICAgICAgICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbG93ZXItcm9tYW47IH1cbiAgICAub3B0aW9uYWwtZXh0cmFzLWNvbnRhaW5lciAuaW50cm8tY29udGFpbmVyIGxpIHtcbiAgICAgIGNvbG9yOiAjNzc3Nzc3O1xuICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7IH1cbiAgICAub3B0aW9uYWwtZXh0cmFzLWNvbnRhaW5lciAuaW50cm8tY29udGFpbmVyIHVsICsgaDEsIC5vcHRpb25hbC1leHRyYXMtY29udGFpbmVyIC5pbnRyby1jb250YWluZXIgb2wgKyBoMSB7XG4gICAgICBtYXJnaW4tdG9wOiAzNXB4OyB9XG4gICAgLm9wdGlvbmFsLWV4dHJhcy1jb250YWluZXIgLmludHJvLWNvbnRhaW5lciB1bCArIGgyLCAub3B0aW9uYWwtZXh0cmFzLWNvbnRhaW5lciAuaW50cm8tY29udGFpbmVyIG9sICsgaDIge1xuICAgICAgbWFyZ2luLXRvcDogMjBweDsgfVxuICAgIC5vcHRpb25hbC1leHRyYXMtY29udGFpbmVyIC5pbnRyby1jb250YWluZXIgdWwgKyBoMywgLm9wdGlvbmFsLWV4dHJhcy1jb250YWluZXIgLmludHJvLWNvbnRhaW5lciBvbCArIGgzIHtcbiAgICAgIG1hcmdpbi10b3A6IDIwcHg7IH1cbiAgICAub3B0aW9uYWwtZXh0cmFzLWNvbnRhaW5lciAuaW50cm8tY29udGFpbmVyIHVsICsgaDQsIC5vcHRpb25hbC1leHRyYXMtY29udGFpbmVyIC5pbnRyby1jb250YWluZXIgb2wgKyBoNCB7XG4gICAgICBtYXJnaW4tdG9wOiAyMHB4OyB9XG4gICAgLm9wdGlvbmFsLWV4dHJhcy1jb250YWluZXIgLmludHJvLWNvbnRhaW5lciB1bCArIGg1LCAub3B0aW9uYWwtZXh0cmFzLWNvbnRhaW5lciAuaW50cm8tY29udGFpbmVyIG9sICsgaDUge1xuICAgICAgbWFyZ2luLXRvcDogMjBweDsgfVxuICAgIC5vcHRpb25hbC1leHRyYXMtY29udGFpbmVyIC5pbnRyby1jb250YWluZXIgdWwgKyBoNiwgLm9wdGlvbmFsLWV4dHJhcy1jb250YWluZXIgLmludHJvLWNvbnRhaW5lciBvbCArIGg2IHtcbiAgICAgIG1hcmdpbi10b3A6IDIwcHg7IH1cbiAgICAub3B0aW9uYWwtZXh0cmFzLWNvbnRhaW5lciAuaW50cm8tY29udGFpbmVyIGRsIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLm9wdGlvbmFsLWV4dHJhcy1jb250YWluZXIgLmludHJvLWNvbnRhaW5lciB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG4gIC5vcHRpb25hbC1leHRyYXMtY29udGFpbmVyIC5jbXMtY29udGVudC1jb250YWluZXIge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuI3Byb2R1Y3QtY2FzZS1wcmljaW5nLCAjcHJvZHVjdC1wcmljZS1jb250YWluZXIge1xuICBtYXJnaW46IDAgMCA1cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICNwcm9kdWN0LWNhc2UtcHJpY2luZywgI3Byb2R1Y3QtcHJpY2UtY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbjogMCAwIDQwcHg7IH0gfVxuXG4ucHJvZHVjdC1lbnF1aXJ5LWZhdm91cml0ZXMtY29udGFpbmVyIC5mYXZvdXJpdGVzOmFmdGVyIHtcbiAgZm9udC1zaXplOiAxNnB4OyB9XG5cbiNwcm9kdWN0LXF1YW50aXR5LWJyZWFrLXByaWNpbmcsIC5wcm9kdWN0LWVucXVpcnktcHJpY2UtYnJlYWstY29udGFpbmVyIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW46IGF1dG87XG4gIHBhZGRpbmc6IDAgMCA0MHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAjcHJvZHVjdC1xdWFudGl0eS1icmVhay1wcmljaW5nLCAucHJvZHVjdC1lbnF1aXJ5LXByaWNlLWJyZWFrLWNvbnRhaW5lciB7XG4gICAgICBtYXJnaW46IDAgMCAwIGF1dG87IH0gfVxuICAjcHJvZHVjdC1xdWFudGl0eS1icmVhay1wcmljaW5nIC5xdWFudGl0eS1icmVhay1tb2R1bGUtZGVzY3JpcHRpb24sIC5wcm9kdWN0LWVucXVpcnktcHJpY2UtYnJlYWstY29udGFpbmVyIC5xdWFudGl0eS1icmVhay1tb2R1bGUtZGVzY3JpcHRpb24ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDVweCAwO1xuICAgIGNvbG9yOiAjMDYwNTJmO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICMwNjA1MmY7XG4gICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICAgICNwcm9kdWN0LXF1YW50aXR5LWJyZWFrLXByaWNpbmcgLnF1YW50aXR5LWJyZWFrLW1vZHVsZS1kZXNjcmlwdGlvbiBzcGFuLCAucHJvZHVjdC1lbnF1aXJ5LXByaWNlLWJyZWFrLWNvbnRhaW5lciAucXVhbnRpdHktYnJlYWstbW9kdWxlLWRlc2NyaXB0aW9uIHNwYW4ge1xuICAgICAgY29sb3I6ICMwNjA1MmY7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgICBmb250LXdlaWdodDogNjAwOyB9XG4gICNwcm9kdWN0LXF1YW50aXR5LWJyZWFrLXByaWNpbmcgdGFibGUsIC5wcm9kdWN0LWVucXVpcnktcHJpY2UtYnJlYWstY29udGFpbmVyIHRhYmxlIHtcbiAgICBtYXJnaW46IDE1cHggMCAwOyB9XG4gICAgI3Byb2R1Y3QtcXVhbnRpdHktYnJlYWstcHJpY2luZyB0YWJsZSB0aCwgLnByb2R1Y3QtZW5xdWlyeS1wcmljZS1icmVhay1jb250YWluZXIgdGFibGUgdGgge1xuICAgICAgcGFkZGluZzogMCA1cHggMTBweDsgfVxuICAgICNwcm9kdWN0LXF1YW50aXR5LWJyZWFrLXByaWNpbmcgdGFibGUgdGJvZHkgdGQsIC5wcm9kdWN0LWVucXVpcnktcHJpY2UtYnJlYWstY29udGFpbmVyIHRhYmxlIHRib2R5IHRkIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgICAgICNwcm9kdWN0LXF1YW50aXR5LWJyZWFrLXByaWNpbmcgdGFibGUgdGJvZHkgdGQuc2F2aW5ncy1jb2wsIC5wcm9kdWN0LWVucXVpcnktcHJpY2UtYnJlYWstY29udGFpbmVyIHRhYmxlIHRib2R5IHRkLnNhdmluZ3MtY29sIHtcbiAgICAgICAgY29sb3I6ICMwNjA1MmY7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgICAjcHJvZHVjdC1xdWFudGl0eS1icmVhay1wcmljaW5nIHRhYmxlIC5xdWFudGl0eS1jb2wsIC5wcm9kdWN0LWVucXVpcnktcHJpY2UtYnJlYWstY29udGFpbmVyIHRhYmxlIC5xdWFudGl0eS1jb2wge1xuICAgICAgd2lkdGg6IDMwJTsgfVxuICAgICNwcm9kdWN0LXF1YW50aXR5LWJyZWFrLXByaWNpbmcgdGFibGUgLnByaWNlLXBlci1pdGVtLWNvbCwgLnByb2R1Y3QtZW5xdWlyeS1wcmljZS1icmVhay1jb250YWluZXIgdGFibGUgLnByaWNlLXBlci1pdGVtLWNvbCB7XG4gICAgICB3aWR0aDogNDAlOyB9XG4gICAgI3Byb2R1Y3QtcXVhbnRpdHktYnJlYWstcHJpY2luZyB0YWJsZSAuc2F2aW5ncy1jb2wsIC5wcm9kdWN0LWVucXVpcnktcHJpY2UtYnJlYWstY29udGFpbmVyIHRhYmxlIC5zYXZpbmdzLWNvbCB7XG4gICAgICB3aWR0aDogMzAlOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgI3Byb2R1Y3QtcXVhbnRpdHktYnJlYWstcHJpY2luZywgLmdyb3VwZWQtcHJvZHVjdC1tb2R1bGVzIHtcbiAgICBtYXJnaW4tbGVmdDogMjBweDsgfSB9XG5cbi5wcm9kdWN0LWVucXVpcnktcHJpY2UtYnJlYWstY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMTBweCAwIDIwcHg7XG4gIHBhZGRpbmc6IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5wcm9kdWN0LWVucXVpcnktcHJpY2UtYnJlYWstY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbjogMTVweCAwIDIwcHg7IH0gfVxuXG4ucHJvZHVjdC1lbnF1aXJ5LXNpbmdsZS1wcmljaW5nIHtcbiAgLS1wcmljZS1tYXgtd2lkdGg6IDFmcjsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5wcm9kdWN0LWVucXVpcnktc2luZ2xlLXByaWNpbmcge1xuICAgICAgLS1wcmljZS1tYXgtd2lkdGg6IDUwJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAucHJvZHVjdC1lbnF1aXJ5LXNpbmdsZS1wcmljaW5nIHtcbiAgICAgIC0tcHJpY2UtbWF4LXdpZHRoOiA0MCU7IH0gfVxuXG4ucHJvZHVjdC1lbnF1aXJ5LWdyb3VwLXByaWNpbmcge1xuICAtLXByaWNlLW1heC13aWR0aDogMWZyOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5wcm9kdWN0LWVucXVpcnktc2luZ2xlLXByaWNpbmcgLnByaWNlcyAucHJpY2Uge1xuICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICBtYXJnaW4tdG9wOiBhdXRvOyB9IH1cblxuLnByb2R1Y3QtZW5xdWlyeS1zaW5nbGUtcHJpY2luZyAucHJpY2VzIC5wcmljZSAudmFsdWUge1xuICBsaW5lLWhlaWdodDogbm9ybWFsOyB9XG5cbi5wcm9kdWN0LWVucXVpcnktc2luZ2xlLXByaWNpbmcsIC5wcm9kdWN0LWVucXVpcnktZ3JvdXAtcHJpY2luZyB7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAxMHB4IDA7IH1cbiAgLnByb2R1Y3QtZW5xdWlyeS1zaW5nbGUtcHJpY2luZyAucHJpY2VzLCAucHJvZHVjdC1lbnF1aXJ5LWdyb3VwLXByaWNpbmcgLnByaWNlcyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBnYXA6IDIwcHg7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgyMjBweCwgdmFyKC0tcHJpY2UtbWF4LXdpZHRoKSkpOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5wcm9kdWN0LWVucXVpcnktc2luZ2xlLXByaWNpbmcgLnByaWNlcywgLnByb2R1Y3QtZW5xdWlyeS1ncm91cC1wcmljaW5nIC5wcmljZXMge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDE5MHB4LCBjYWxjKHZhcigtLXByaWNlLW1heC13aWR0aCkgLSAxMHB4KSkpO1xuICAgICAgICBnYXA6IDEwcHggMjBweDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLnByb2R1Y3QtZW5xdWlyeS1zaW5nbGUtcHJpY2luZyAucHJpY2VzLCAucHJvZHVjdC1lbnF1aXJ5LWdyb3VwLXByaWNpbmcgLnByaWNlcyB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMTkwcHgsIGNhbGModmFyKC0tcHJpY2UtbWF4LXdpZHRoKSAtIDEwcHgpKSk7XG4gICAgICAgIGdhcDogMTBweCAyMHB4OyB9IH1cbiAgICAucHJvZHVjdC1lbnF1aXJ5LXNpbmdsZS1wcmljaW5nIC5wcmljZXMgLnByaWNlLWdyb3VwLWNvbnRhaW5lciwgLnByb2R1Y3QtZW5xdWlyeS1ncm91cC1wcmljaW5nIC5wcmljZXMgLnByaWNlLWdyb3VwLWNvbnRhaW5lciB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cbiAgICAgIC5wcm9kdWN0LWVucXVpcnktc2luZ2xlLXByaWNpbmcgLnByaWNlcyAucHJpY2UtZ3JvdXAtY29udGFpbmVyOm5vdCg6aGFzKCopKSwgLnByb2R1Y3QtZW5xdWlyeS1ncm91cC1wcmljaW5nIC5wcmljZXMgLnByaWNlLWdyb3VwLWNvbnRhaW5lcjpub3QoOmhhcygqKSkge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAucHJvZHVjdC1lbnF1aXJ5LXNpbmdsZS1wcmljaW5nIC5wcmljZXMgLnByaWNlLWdyb3VwLWNvbnRhaW5lcjpoYXMoKyAucHJpY2UtZ3JvdXAtY29udGFpbmVyID4gKik6bm90KDpsYXN0LWNoaWxkKTphZnRlciwgLnByb2R1Y3QtZW5xdWlyeS1ncm91cC1wcmljaW5nIC5wcmljZXMgLnByaWNlLWdyb3VwLWNvbnRhaW5lcjpoYXMoKyAucHJpY2UtZ3JvdXAtY29udGFpbmVyID4gKik6bm90KDpsYXN0LWNoaWxkKTphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJvdHRvbTogY2FsYygyMHB4IC8gMiAqIC0xKTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2FlYWVhZTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzBlbSkge1xuICAgICAgICAucHJvZHVjdC1lbnF1aXJ5LXNpbmdsZS1wcmljaW5nIC5wcmljZXMgLnByaWNlLWdyb3VwLWNvbnRhaW5lcjpoYXMoKyAucHJpY2UtZ3JvdXAtY29udGFpbmVyID4gKik6bm90KDpsYXN0LWNoaWxkKTphZnRlciwgLnByb2R1Y3QtZW5xdWlyeS1ncm91cC1wcmljaW5nIC5wcmljZXMgLnByaWNlLWdyb3VwLWNvbnRhaW5lcjpoYXMoKyAucHJpY2UtZ3JvdXAtY29udGFpbmVyID4gKik6bm90KDpsYXN0LWNoaWxkKTphZnRlciB7XG4gICAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgICBoZWlnaHQ6IDkwJTtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIHJpZ2h0OiBjYWxjKDIwcHggLyAyICogLTEpO1xuICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICBsZWZ0OiB1bnNldDsgfSB9XG4gICAgICAucHJvZHVjdC1lbnF1aXJ5LXNpbmdsZS1wcmljaW5nIC5wcmljZXMgLnByaWNlLWdyb3VwLWNvbnRhaW5lciAucHJpY2UtY29udGFpbmVyLnJycCwgLnByb2R1Y3QtZW5xdWlyeS1zaW5nbGUtcHJpY2luZyAucHJpY2VzIC5wcmljZS1ncm91cC1jb250YWluZXIgLnByaWNlLWNvbnRhaW5lci5zYXZpbmcsIC5wcm9kdWN0LWVucXVpcnktZ3JvdXAtcHJpY2luZyAucHJpY2VzIC5wcmljZS1ncm91cC1jb250YWluZXIgLnByaWNlLWNvbnRhaW5lci5ycnAsIC5wcm9kdWN0LWVucXVpcnktZ3JvdXAtcHJpY2luZyAucHJpY2VzIC5wcmljZS1ncm91cC1jb250YWluZXIgLnByaWNlLWNvbnRhaW5lci5zYXZpbmcge1xuICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7IH1cbiAgICAgIC5wcm9kdWN0LWVucXVpcnktc2luZ2xlLXByaWNpbmcgLnByaWNlcyAucHJpY2UtZ3JvdXAtY29udGFpbmVyIC5wcmljZS1jb250YWluZXIucnJwICsgLnNhdmluZywgLnByb2R1Y3QtZW5xdWlyeS1ncm91cC1wcmljaW5nIC5wcmljZXMgLnByaWNlLWdyb3VwLWNvbnRhaW5lciAucHJpY2UtY29udGFpbmVyLnJycCArIC5zYXZpbmcge1xuICAgICAgICBtYXJnaW4tbGVmdDogMTBweDsgfVxuICAgICAgLnByb2R1Y3QtZW5xdWlyeS1zaW5nbGUtcHJpY2luZyAucHJpY2VzIC5wcmljZS1ncm91cC1jb250YWluZXIgLnByaWNlLWNvbnRhaW5lci5wcmljZSAubGFiZWw6bm90KDplbXB0eSksIC5wcm9kdWN0LWVucXVpcnktc2luZ2xlLXByaWNpbmcgLnByaWNlcyAucHJpY2UtZ3JvdXAtY29udGFpbmVyIC5wcmljZS1jb250YWluZXIuZ3JvdXAtcHJpY2UgLmxhYmVsOm5vdCg6ZW1wdHkpLCAucHJvZHVjdC1lbnF1aXJ5LWdyb3VwLXByaWNpbmcgLnByaWNlcyAucHJpY2UtZ3JvdXAtY29udGFpbmVyIC5wcmljZS1jb250YWluZXIucHJpY2UgLmxhYmVsOm5vdCg6ZW1wdHkpLCAucHJvZHVjdC1lbnF1aXJ5LWdyb3VwLXByaWNpbmcgLnByaWNlcyAucHJpY2UtZ3JvdXAtY29udGFpbmVyIC5wcmljZS1jb250YWluZXIuZ3JvdXAtcHJpY2UgLmxhYmVsOm5vdCg6ZW1wdHkpIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4OyB9XG4gICAgICAucHJvZHVjdC1lbnF1aXJ5LXNpbmdsZS1wcmljaW5nIC5wcmljZXMgLnByaWNlLWdyb3VwLWNvbnRhaW5lciAucHJpY2UtY29udGFpbmVyLnByaWNlIC52YWx1ZSwgLnByb2R1Y3QtZW5xdWlyeS1zaW5nbGUtcHJpY2luZyAucHJpY2VzIC5wcmljZS1ncm91cC1jb250YWluZXIgLnByaWNlLWNvbnRhaW5lci5ncm91cC1wcmljZSAudmFsdWUsIC5wcm9kdWN0LWVucXVpcnktZ3JvdXAtcHJpY2luZyAucHJpY2VzIC5wcmljZS1ncm91cC1jb250YWluZXIgLnByaWNlLWNvbnRhaW5lci5wcmljZSAudmFsdWUsIC5wcm9kdWN0LWVucXVpcnktZ3JvdXAtcHJpY2luZyAucHJpY2VzIC5wcmljZS1ncm91cC1jb250YWluZXIgLnByaWNlLWNvbnRhaW5lci5ncm91cC1wcmljZSAudmFsdWUge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgZm9udC1zaXplOiAxLjc1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNjAwOyB9XG4gICAgICAucHJvZHVjdC1lbnF1aXJ5LXNpbmdsZS1wcmljaW5nIC5wcmljZXMgLnByaWNlLWdyb3VwLWNvbnRhaW5lciAucHJpY2UtY29udGFpbmVyLnByaWNlIC52YXQsIC5wcm9kdWN0LWVucXVpcnktc2luZ2xlLXByaWNpbmcgLnByaWNlcyAucHJpY2UtZ3JvdXAtY29udGFpbmVyIC5wcmljZS1jb250YWluZXIuZ3JvdXAtcHJpY2UgLnZhdCwgLnByb2R1Y3QtZW5xdWlyeS1ncm91cC1wcmljaW5nIC5wcmljZXMgLnByaWNlLWdyb3VwLWNvbnRhaW5lciAucHJpY2UtY29udGFpbmVyLnByaWNlIC52YXQsIC5wcm9kdWN0LWVucXVpcnktZ3JvdXAtcHJpY2luZyAucHJpY2VzIC5wcmljZS1ncm91cC1jb250YWluZXIgLnByaWNlLWNvbnRhaW5lci5ncm91cC1wcmljZSAudmF0IHtcbiAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50OyB9XG5cbiNwcm9kdWN0LWNhc2UtcHJpY2luZyAuY2FzZS1wcmljZSBwIHtcbiAgbWFyZ2luOiAwO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXNpemU6IDEuMDYyNXJlbTsgfVxuXG4jcHJvZHVjdC1jYXNlLXByaWNpbmcgLnByaWNlIHtcbiAgbWFyZ2luOiA1cHggMDsgfVxuXG4uZGVsaXZlcnktY291bnRkb3duLWNvbnRhaW5lciBbZGF0YS1jb3VudGRvd24tdGltZV0ge1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbiNhZGRpdGlvbmFsLWltYWdlcyAuY29sbGVjdGlvbi1pdGVtLmFjdGl2ZSAudGh1bWJuYWlsIGEsIC5wcm9kdWN0LWVucXVpcnktYWRkaXRpb25hbC1pbWFnZXMgLmNvbGxlY3Rpb24taXRlbS5hY3RpdmUgLnRodW1ibmFpbCBhIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2FlOTQ2MTtcbiAgb3BhY2l0eTogMC42O1xuICB0cmFuc2l0aW9uOiBib3JkZXIgMC44czsgfVxuXG4jYWRkaXRpb25hbC1pbWFnZXMgLnRodW1ibmFpbCwgLnByb2R1Y3QtZW5xdWlyeS1hZGRpdGlvbmFsLWltYWdlcyAudGh1bWJuYWlsIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTsgfVxuICAjYWRkaXRpb25hbC1pbWFnZXMgLnRodW1ibmFpbCBhLCAucHJvZHVjdC1lbnF1aXJ5LWFkZGl0aW9uYWwtaW1hZ2VzIC50aHVtYm5haWwgYSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB6LWluZGV4OiAxMDA7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2RhZGFkYTtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXIgMC42czsgfVxuICAgICNhZGRpdGlvbmFsLWltYWdlcyAudGh1bWJuYWlsIGE6aG92ZXIsIC5wcm9kdWN0LWVucXVpcnktYWRkaXRpb25hbC1pbWFnZXMgLnRodW1ibmFpbCBhOmhvdmVyIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMwNjA1MmY7XG4gICAgICB0cmFuc2l0aW9uOiBib3JkZXIgMC42czsgfVxuICAgICNhZGRpdGlvbmFsLWltYWdlcyAudGh1bWJuYWlsIGE6YWN0aXZlLCAucHJvZHVjdC1lbnF1aXJ5LWFkZGl0aW9uYWwtaW1hZ2VzIC50aHVtYm5haWwgYTphY3RpdmUge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxNzQsIDE0OCwgOTcsIDAuNSk7XG4gICAgICB0cmFuc2l0aW9uOiBib3JkZXIgMC42czsgfVxuICAgICNhZGRpdGlvbmFsLWltYWdlcyAudGh1bWJuYWlsIGEuaW1hZ2UtMzYwLCAucHJvZHVjdC1lbnF1aXJ5LWFkZGl0aW9uYWwtaW1hZ2VzIC50aHVtYm5haWwgYS5pbWFnZS0zNjAge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAjYWRkaXRpb25hbC1pbWFnZXMgLnRodW1ibmFpbCBhLmltYWdlLTM2MDpob3ZlcjphZnRlciwgLnByb2R1Y3QtZW5xdWlyeS1hZGRpdGlvbmFsLWltYWdlcyAudGh1bWJuYWlsIGEuaW1hZ2UtMzYwOmhvdmVyOmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgI2FkZGl0aW9uYWwtaW1hZ2VzIC50aHVtYm5haWwgYS5pbWFnZS0zNjA6YWZ0ZXIsIC5wcm9kdWN0LWVucXVpcnktYWRkaXRpb25hbC1pbWFnZXMgLnRodW1ibmFpbCBhLmltYWdlLTM2MDphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBtYXgtd2lkdGg6IDU1cHg7XG4gICAgICAgIG1heC1oZWlnaHQ6IDU1cHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMik7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi90ZW1wbGF0ZS9jb250ZW50L2RldmVsb3BtZW50L2ltYWdlcy9pY29ucy8zZGljb24uc3ZnXCIpO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogODAlO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMi41cHg7XG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkIHJnYmEoMjE4LCAyMTgsIDIxOCwgMC4yKTsgfVxuICAgICNhZGRpdGlvbmFsLWltYWdlcyAudGh1bWJuYWlsIGEudmlkZW8tdGh1bWJuYWlsIGltZywgLnByb2R1Y3QtZW5xdWlyeS1hZGRpdGlvbmFsLWltYWdlcyAudGh1bWJuYWlsIGEudmlkZW8tdGh1bWJuYWlsIGltZyB7XG4gICAgICBtYXgtd2lkdGg6IDE1MHB4O1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgI2FkZGl0aW9uYWwtaW1hZ2VzIC50aHVtYm5haWwgYS52aWRlby10aHVtYm5haWwgaW1nLCAucHJvZHVjdC1lbnF1aXJ5LWFkZGl0aW9uYWwtaW1hZ2VzIC50aHVtYm5haWwgYS52aWRlby10aHVtYm5haWwgaW1nIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IGF1dG87IH0gfVxuXG4uZ3JvdXBlZC1wcm9kdWN0LW1vZHVsZXMge1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuZ3JvdXBlZC1wcm9kdWN0LW1vZHVsZXMge1xuICAgICAgbWFyZ2luOiAwIDAgMCAyMHB4OyB9IH1cbiAgLmdyb3VwZWQtcHJvZHVjdC1tb2R1bGVzID4gbGkge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkYWRhZGE7IH1cbiAgICAuZ3JvdXBlZC1wcm9kdWN0LW1vZHVsZXMgPiBsaTpsYXN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGFkYWRhOyB9XG4gICAgLmdyb3VwZWQtcHJvZHVjdC1tb2R1bGVzID4gbGkgPiBhLCAuZ3JvdXBlZC1wcm9kdWN0LW1vZHVsZXMgPiBsaSA+IHNwYW4sIC5ncm91cGVkLXByb2R1Y3QtbW9kdWxlcyA+IGxpID4gcCwgLmdyb3VwZWQtcHJvZHVjdC1tb2R1bGVzID4gbGkgPiBkaXYge1xuICAgICAgcGFkZGluZzogMTVweCAwOyB9XG4gICAgLmdyb3VwZWQtcHJvZHVjdC1tb2R1bGVzID4gbGkgYSwgLmdyb3VwZWQtcHJvZHVjdC1tb2R1bGVzID4gbGkgc3BhbiB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgIC5ncm91cGVkLXByb2R1Y3QtbW9kdWxlcyA+IGxpOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGFkYWRhOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5ncm91cGVkLXByb2R1Y3QtbW9kdWxlcyA+IGxpOmxhc3QtY2hpbGQge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7IH0gfVxuICAuZ3JvdXBlZC1wcm9kdWN0LW1vZHVsZXMgLnJhdGluZy1zdW1tYXJ5LWRpc3BsYXkge1xuICAgIG1hcmdpbi1sZWZ0OiAxMHB4OyB9XG5cbiNhZGRpdGlvbmFsLWltYWdlLWdyaWQgLmFkZGl0aW9uYWwtaW1hZ2UteCwgLmFkZGl0aW9uYWwtaW1hZ2UtZ3JpZCAuYWRkaXRpb25hbC1pbWFnZS14IHtcbiAgbWFyZ2luLXJpZ2h0OiAtMC4yMzQzOHJlbTtcbiAgbWFyZ2luLWxlZnQ6IC0wLjMxMjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAjYWRkaXRpb25hbC1pbWFnZS1ncmlkIC5hZGRpdGlvbmFsLWltYWdlLXgsIC5hZGRpdGlvbmFsLWltYWdlLWdyaWQgLmFkZGl0aW9uYWwtaW1hZ2UteCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjMxMjVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogLTAuMzEyNXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAjYWRkaXRpb25hbC1pbWFnZS1ncmlkIC5hZGRpdGlvbmFsLWltYWdlLXgsIC5hZGRpdGlvbmFsLWltYWdlLWdyaWQgLmFkZGl0aW9uYWwtaW1hZ2UteCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjE1NjI1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjE1NjI1cmVtOyB9IH1cblxuI2FkZGl0aW9uYWwtaW1hZ2UtZ3JpZCAudGh1bWJuYWlsLCAuYWRkaXRpb25hbC1pbWFnZS1ncmlkIC50aHVtYm5haWwge1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAjYWRkaXRpb25hbC1pbWFnZS1ncmlkIC50aHVtYm5haWwsIC5hZGRpdGlvbmFsLWltYWdlLWdyaWQgLnRodW1ibmFpbCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICNhZGRpdGlvbmFsLWltYWdlLWdyaWQgLnRodW1ibmFpbCwgLmFkZGl0aW9uYWwtaW1hZ2UtZ3JpZCAudGh1bWJuYWlsIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDVweDsgfSB9XG5cbiNhZGRpdGlvbmFsLWltYWdlLWdyaWQgLnNtYWxsLXVwLTEgPiAudGh1bWJuYWlsLCAuYWRkaXRpb25hbC1pbWFnZS1ncmlkIC5zbWFsbC11cC0xID4gLnRodW1ibmFpbCB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICB3aWR0aDogY2FsYygxMDAlIC0gMC42MjVyZW0pO1xuICBtYXJnaW4tbGVmdDogMC4zMTI1cmVtO1xuICBtYXJnaW4tcmlnaHQ6IDAuMzEyNXJlbTsgfVxuXG4jYWRkaXRpb25hbC1pbWFnZS1ncmlkIC5zbWFsbC11cC0yID4gLnRodW1ibmFpbCwgLmFkZGl0aW9uYWwtaW1hZ2UtZ3JpZCAuc21hbGwtdXAtMiA+IC50aHVtYm5haWwge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgd2lkdGg6IGNhbGMoNTAlIC0gMC42MjVyZW0pO1xuICBtYXJnaW4tbGVmdDogMC4zMTI1cmVtO1xuICBtYXJnaW4tcmlnaHQ6IDAuMzEyNXJlbTsgfVxuXG4jYWRkaXRpb25hbC1pbWFnZS1ncmlkIC5zbWFsbC11cC0zID4gLnRodW1ibmFpbCwgLmFkZGl0aW9uYWwtaW1hZ2UtZ3JpZCAuc21hbGwtdXAtMyA+IC50aHVtYm5haWwge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMC42MjVyZW0pO1xuICBtYXJnaW4tbGVmdDogMC4zMTI1cmVtO1xuICBtYXJnaW4tcmlnaHQ6IDAuMzEyNXJlbTsgfVxuXG4jYWRkaXRpb25hbC1pbWFnZS1ncmlkIC5zbWFsbC11cC00ID4gLnRodW1ibmFpbCwgLmFkZGl0aW9uYWwtaW1hZ2UtZ3JpZCAuc21hbGwtdXAtNCA+IC50aHVtYm5haWwge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgd2lkdGg6IGNhbGMoMjUlIC0gMC42MjVyZW0pO1xuICBtYXJnaW4tbGVmdDogMC4zMTI1cmVtO1xuICBtYXJnaW4tcmlnaHQ6IDAuMzEyNXJlbTsgfVxuXG4jYWRkaXRpb25hbC1pbWFnZS1ncmlkIC5zbWFsbC11cC01ID4gLnRodW1ibmFpbCwgLmFkZGl0aW9uYWwtaW1hZ2UtZ3JpZCAuc21hbGwtdXAtNSA+IC50aHVtYm5haWwge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgd2lkdGg6IGNhbGMoMjAlIC0gMC42MjVyZW0pO1xuICBtYXJnaW4tbGVmdDogMC4zMTI1cmVtO1xuICBtYXJnaW4tcmlnaHQ6IDAuMzEyNXJlbTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAjYWRkaXRpb25hbC1pbWFnZS1ncmlkIC5tZWRpdW0tdXAtMSA+IC50aHVtYm5haWwsIC5hZGRpdGlvbmFsLWltYWdlLWdyaWQgLm1lZGl1bS11cC0xID4gLnRodW1ibmFpbCB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDAuNjI1cmVtKTtcbiAgICBtYXJnaW4tbGVmdDogMC4zMTI1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC4zMTI1cmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgI2FkZGl0aW9uYWwtaW1hZ2UtZ3JpZCAubWVkaXVtLXVwLTIgPiAudGh1bWJuYWlsLCAuYWRkaXRpb25hbC1pbWFnZS1ncmlkIC5tZWRpdW0tdXAtMiA+IC50aHVtYm5haWwge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDAuNjI1cmVtKTtcbiAgICBtYXJnaW4tbGVmdDogMC4zMTI1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC4zMTI1cmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgI2FkZGl0aW9uYWwtaW1hZ2UtZ3JpZCAubWVkaXVtLXVwLTMgPiAudGh1bWJuYWlsLCAuYWRkaXRpb25hbC1pbWFnZS1ncmlkIC5tZWRpdW0tdXAtMyA+IC50aHVtYm5haWwge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDAuNjI1cmVtKTtcbiAgICBtYXJnaW4tbGVmdDogMC4zMTI1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC4zMTI1cmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgI2FkZGl0aW9uYWwtaW1hZ2UtZ3JpZCAubWVkaXVtLXVwLTQgPiAudGh1bWJuYWlsLCAuYWRkaXRpb25hbC1pbWFnZS1ncmlkIC5tZWRpdW0tdXAtNCA+IC50aHVtYm5haWwge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtIDAuNjI1cmVtKTtcbiAgICBtYXJnaW4tbGVmdDogMC4zMTI1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC4zMTI1cmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgI2FkZGl0aW9uYWwtaW1hZ2UtZ3JpZCAubWVkaXVtLXVwLTUgPiAudGh1bWJuYWlsLCAuYWRkaXRpb25hbC1pbWFnZS1ncmlkIC5tZWRpdW0tdXAtNSA+IC50aHVtYm5haWwge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiBjYWxjKDIwJSAtIDAuNjI1cmVtKTtcbiAgICBtYXJnaW4tbGVmdDogMC4zMTI1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC4zMTI1cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAjYWRkaXRpb25hbC1pbWFnZS1ncmlkIC5sYXJnZS11cC0xID4gLnRodW1ibmFpbCwgLmFkZGl0aW9uYWwtaW1hZ2UtZ3JpZCAubGFyZ2UtdXAtMSA+IC50aHVtYm5haWwge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAwLjMxMjVyZW0pO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjE1NjI1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC4xNTYyNXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgI2FkZGl0aW9uYWwtaW1hZ2UtZ3JpZCAubGFyZ2UtdXAtMiA+IC50aHVtYm5haWwsIC5hZGRpdGlvbmFsLWltYWdlLWdyaWQgLmxhcmdlLXVwLTIgPiAudGh1bWJuYWlsIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAwLjMxMjVyZW0pO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjE1NjI1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC4xNTYyNXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgI2FkZGl0aW9uYWwtaW1hZ2UtZ3JpZCAubGFyZ2UtdXAtMyA+IC50aHVtYm5haWwsIC5hZGRpdGlvbmFsLWltYWdlLWdyaWQgLmxhcmdlLXVwLTMgPiAudGh1bWJuYWlsIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAwLjMxMjVyZW0pO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjE1NjI1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC4xNTYyNXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgI2FkZGl0aW9uYWwtaW1hZ2UtZ3JpZCAubGFyZ2UtdXAtNCA+IC50aHVtYm5haWwsIC5hZGRpdGlvbmFsLWltYWdlLWdyaWQgLmxhcmdlLXVwLTQgPiAudGh1bWJuYWlsIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogY2FsYygyNSUgLSAwLjMxMjVyZW0pO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjE1NjI1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC4xNTYyNXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgI2FkZGl0aW9uYWwtaW1hZ2UtZ3JpZCAubGFyZ2UtdXAtNSA+IC50aHVtYm5haWwsIC5hZGRpdGlvbmFsLWltYWdlLWdyaWQgLmxhcmdlLXVwLTUgPiAudGh1bWJuYWlsIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogY2FsYygyMCUgLSAwLjMxMjVyZW0pO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjE1NjI1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC4xNTYyNXJlbTsgfSB9XG5cbi5zdG9ja2xpbmUtYXR0cmlidXRlLWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogMTVweDtcbiAgbWFyZ2luOiAwIDAgMTBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLnN0b2NrbGluZS1hdHRyaWJ1dGUtY29udGFpbmVyIHtcbiAgICAgIGdhcDogMTBweDtcbiAgICAgIG1hcmdpbjogMCAwIDIwcHg7IH0gfVxuICAuc3RvY2tsaW5lLWF0dHJpYnV0ZS1jb250YWluZXIgLmNvbnRyb2wgLmNvbnRyb2wtc2VsZWN0LWNvbnRhaW5lciB7XG4gICAgZmxleC1ncm93OiAxOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLnN0b2NrbGluZS1hdHRyaWJ1dGUtY29udGFpbmVyIC5jb250cm9sIC5jb250cm9sLXNlbGVjdC1jb250YWluZXIge1xuICAgICAgICBtYXgtd2lkdGg6IDUyMHB4O1xuICAgICAgICBmbGV4LWdyb3c6IDE7IH0gfVxuICAuc3RvY2tsaW5lLWF0dHJpYnV0ZS1jb250YWluZXIgLmNvbnRyb2wgLmNvbnRyb2wtc2VsZWN0LW9wdGlvbi51bmF2YWlsYWJsZS1vcHRpb24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmM2YzZjM7XG4gICAgY29sb3I6ICM3YjdiN2I7XG4gICAgb3BhY2l0eTogLjU7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgIC5zdG9ja2xpbmUtYXR0cmlidXRlLWNvbnRhaW5lciAuY29udHJvbCAuY29udHJvbC1zZWxlY3Qtb3B0aW9uLnVuYXZhaWxhYmxlLW9wdGlvbjphY3RpdmUge1xuICAgICAgb3BhY2l0eTogLjg7IH1cbiAgLnN0b2NrbGluZS1hdHRyaWJ1dGUtY29udGFpbmVyIC5sYWJlbCwgLnN0b2NrbGluZS1hdHRyaWJ1dGUtY29udGFpbmVyIC5kZXNjcmlwdGlvbiB7XG4gICAgd2lkdGg6IDQwJTtcbiAgICBjb2xvcjogIzAwMDAwMDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuc3RvY2tsaW5lLWF0dHJpYnV0ZS1jb250YWluZXIgLmxhYmVsLCAuc3RvY2tsaW5lLWF0dHJpYnV0ZS1jb250YWluZXIgLmRlc2NyaXB0aW9uIHtcbiAgICAgICAgd2lkdGg6IDI3JTsgfSB9XG4gIC5zdG9ja2xpbmUtYXR0cmlidXRlLWNvbnRhaW5lciAuYXR0cmlidXRlLWRpc3BsYXkgLmxhYmVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5zdG9ja2xpbmUtYXR0cmlidXRlLWNvbnRhaW5lciAuYXR0cmlidXRlLWRpc3BsYXkgLnZhbHVlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07IH1cbiAgLnN0b2NrbGluZS1hdHRyaWJ1dGUtY29udGFpbmVyIC5hdHRyaWJ1dGUtY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuc3RvY2tsaW5lLWF0dHJpYnV0ZS1jb250YWluZXIgLmF0dHJpYnV0ZS1jb250YWluZXIge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7IH0gfVxuXG4jcHJvZHVjdC1pbmZvLWxlZnQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAjcHJvZHVjdC1pbmZvLWxlZnQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4OyB9IH1cbiAgI3Byb2R1Y3QtaW5mby1sZWZ0LnByZXNldC0xICNwcm9kdWN0LXNwZWNpZmljYXRpb24tZGVzY3JpcHRpb24ge1xuICAgIG9yZGVyOiAxOyB9XG4gICNwcm9kdWN0LWluZm8tbGVmdC5wcmVzZXQtMSAucGFydC1jb2RlLWNvbnRhaW5lciB7XG4gICAgb3JkZXI6IDI7IH1cbiAgI3Byb2R1Y3QtaW5mby1sZWZ0LnByZXNldC0xICNwcm9kdWN0SW1hZ2UsICNwcm9kdWN0LWluZm8tbGVmdC5wcmVzZXQtMSAucHJvZHVjdC1lbnF1aXJ5LW1haW4tbXVsdGltZWRpYS1jb250YWluZXIge1xuICAgIG9yZGVyOiAzOyB9XG4gICNwcm9kdWN0LWluZm8tbGVmdC5wcmVzZXQtMiAjcHJvZHVjdC1zcGVjaWZpY2F0aW9uLWRlc2NyaXB0aW9uIHtcbiAgICBvcmRlcjogMjsgfVxuICAjcHJvZHVjdC1pbmZvLWxlZnQucHJlc2V0LTIgLnBhcnQtY29kZS1jb250YWluZXIge1xuICAgIG9yZGVyOiAzOyB9XG4gICNwcm9kdWN0LWluZm8tbGVmdC5wcmVzZXQtMiAjcHJvZHVjdEltYWdlLCAjcHJvZHVjdC1pbmZvLWxlZnQucHJlc2V0LTIgLnByb2R1Y3QtZW5xdWlyeS1tYWluLW11bHRpbWVkaWEtY29udGFpbmVyIHtcbiAgICBvcmRlcjogMTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAucHJvZHVjdC1lbnF1aXJ5LXRhYnMtY29udGFpbmVyIHtcbiAgICBwYWRkaW5nOiAyMHB4IDAgMzVweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLnByb2R1Y3QtZW5xdWlyeS10YWJzLWNvbnRhaW5lciB7XG4gICAgcGFkZGluZzogMjVweCAwIDQ1cHg7IH0gfVxuXG4ucHJvZHVjdC5wcmV2aW91c2x5LXB1cmNoYXNlZC1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA1cHggMTBweDtcbiAgbWFyZ2luOiAwIDAgMTVweDtcbiAgcGFkZGluZzogMTVweCAwO1xuICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1hY2NlbnQtY29sb3VyLTQtbGlnaHRuZXNzLTYpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1hY2NlbnQtY29sb3VyLTQtbGlnaHRuZXNzLTkpO1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnByb2R1Y3QucHJldmlvdXNseS1wdXJjaGFzZWQtY29udGFpbmVyIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBnYXA6IDEwcHggMjBweDtcbiAgICAgIG1hcmdpbjogMCAwIDM1cHg7XG4gICAgICBwYWRkaW5nOiAxNXB4IDA7IH0gfVxuICAucHJvZHVjdC5wcmV2aW91c2x5LXB1cmNoYXNlZC1jb250YWluZXIgaDMge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAucHJvZHVjdC5wcmV2aW91c2x5LXB1cmNoYXNlZC1jb250YWluZXIgaDMge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfSB9XG4gIC5wcm9kdWN0LnByZXZpb3VzbHktcHVyY2hhc2VkLWNvbnRhaW5lciBwIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBnYXA6IDVweDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBjb2xvcjogIzAwMDAwMDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnByb2R1Y3QucHJldmlvdXNseS1wdXJjaGFzZWQtY29udGFpbmVyIHAge1xuICAgICAgICBnYXA6IDVweCAxMHB4OyB9IH1cbiAgICAucHJvZHVjdC5wcmV2aW91c2x5LXB1cmNoYXNlZC1jb250YWluZXIgcCBzcGFuIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgLnByb2R1Y3QucHJldmlvdXNseS1wdXJjaGFzZWQtY29udGFpbmVyIC52aWV3LW9yZGVyLWxpbmsge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgY29sb3I6ICNhZTk0NjE7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5wcm9kdWN0LnByZXZpb3VzbHktcHVyY2hhc2VkLWNvbnRhaW5lciAudmlldy1vcmRlci1saW5rIHtcbiAgICAgICAgcGFkZGluZzogNXB4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH0gfVxuICAgIC5wcm9kdWN0LnByZXZpb3VzbHktcHVyY2hhc2VkLWNvbnRhaW5lciAudmlldy1vcmRlci1saW5rOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjYWU5NDYxOyB9XG4gICAgICAucHJvZHVjdC5wcmV2aW91c2x5LXB1cmNoYXNlZC1jb250YWluZXIgLnZpZXctb3JkZXItbGluazpob3ZlcjphZnRlciB7XG4gICAgICAgIGNvbG9yOiAjYWU5NDYxO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gICAgLnByb2R1Y3QucHJldmlvdXNseS1wdXJjaGFzZWQtY29udGFpbmVyIC52aWV3LW9yZGVyLWxpbms6YWN0aXZlIHtcbiAgICAgIGNvbG9yOiAjMDYwNTJmOyB9XG4gICAgICAucHJvZHVjdC5wcmV2aW91c2x5LXB1cmNoYXNlZC1jb250YWluZXIgLnZpZXctb3JkZXItbGluazphY3RpdmU6YWZ0ZXIge1xuICAgICAgICBjb2xvcjogIzA2MDUyZjsgfVxuICAucHJvZHVjdC5wcmV2aW91c2x5LXB1cmNoYXNlZC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBnYXA6IDVweCAxMHB4OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5wcm9kdWN0LnByZXZpb3VzbHktcHVyY2hhc2VkLWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiAxMHB4IDIwcHg7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5wcm9kdWN0LnByZXZpb3VzbHktcHVyY2hhc2VkLWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIge1xuICAgICAgICBnYXA6IDEwcHggNDBweDsgfSB9XG5cbnRhYmxlLmN1c3RvbS1zdG9jay10YWJsZSB0Ym9keSB0ZCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxudGFibGUuY3VzdG9tLXN0b2NrLXRhYmxlIHRib2R5IHRyW2NvbHNwYW49XCIyXCJdIHRkIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlZWVlZWU7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICB0YWJsZS5jdXN0b20tc3RvY2stdGFibGUgdGJvZHkgdHIgdGQ6Zmlyc3QtY2hpbGQge1xuICAgIHdpZHRoOiAzMDBweDsgfSB9XG5cbiNiYXNrZXQtZm9ybSB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICNiYXNrZXQtZm9ybSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA3MHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAjYmFza2V0LWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBtYXJnaW46IDMwcHggMCAwOyB9IH1cblxuI2Jhc2tldC10YWJsZSB7XG4gIG1hcmdpbjogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgI2Jhc2tldC10YWJsZSB0ZDpub3QoLmJhc2tldC1kZXNjcmlwdGlvbi1jb2wpLCAjYmFza2V0LXRhYmxlIHRoOm5vdCguYmFza2V0LWRlc2NyaXB0aW9uLWNvbCkge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICNiYXNrZXQtdGFibGUucmVhZC1vbmx5IHRkLmJhc2tldC1jdXJyZW50LXByaWNlLWNvbCB7XG4gICAgICB3aWR0aDogYXV0bzsgfSB9XG4gICNiYXNrZXQtdGFibGUucmVhZC1vbmx5IHRkLmFkZC10by1iYXNrZXQtY29sIGJ1dHRvbiB7XG4gICAgbWFyZ2luOiBhdXRvOyB9XG4gICNiYXNrZXQtdGFibGUucmVhZC1vbmx5IHRkLmJhc2tldC1xdWFudGl0eSB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAgICNiYXNrZXQtdGFibGUucmVhZC1vbmx5IHRkLmJhc2tldC1xdWFudGl0eSB7XG4gICAgICAgIHdpZHRoOiAyMCU7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTBweDsgfSB9XG4gICAgI2Jhc2tldC10YWJsZS5yZWFkLW9ubHkgdGQuYmFza2V0LXF1YW50aXR5IHAge1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgI2Jhc2tldC10YWJsZS5yZWFkLW9ubHkgdGQuYmFza2V0LXF1YW50aXR5IC5sYWJlbCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICBmb250LXdlaWdodDogNjAwOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICNiYXNrZXQtdGFibGUucmVhZC1vbmx5IHRkLmJhc2tldC1xdWFudGl0eSAubGFiZWwge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAjYmFza2V0LXRhYmxlIC5iYXNrZXQtZGVzY3JpcHRpb24tY29sIHtcbiAgICAtLW1lZGlhLWFzcGVjdC1yYXRpbzogMS8xOyB9XG4gICAgI2Jhc2tldC10YWJsZSAuYmFza2V0LWRlc2NyaXB0aW9uLWNvbCAuaW1hZ2Uge1xuICAgICAgd2lkdGg6IDE3NXB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBtYXJnaW46IDAgMjBweCAwIDA7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgI2Jhc2tldC10YWJsZSAuYmFza2V0LWRlc2NyaXB0aW9uLWNvbCAuaW1hZ2Uge1xuICAgICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgICAgICBtYXJnaW46IDAgNDBweCAwIDA7IH0gfVxuICAgICAgI2Jhc2tldC10YWJsZSAuYmFza2V0LWRlc2NyaXB0aW9uLWNvbCAuaW1hZ2UgYSB7XG4gICAgICAgIHdpZHRoOiAxNTVweDsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgI2Jhc2tldC10YWJsZSAuYmFza2V0LWRlc2NyaXB0aW9uLWNvbCAuaW1hZ2UgYSB7XG4gICAgICAgICAgICB3aWR0aDogMTMycHg7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47IH0gfVxuICAgICAgI2Jhc2tldC10YWJsZSAuYmFza2V0LWRlc2NyaXB0aW9uLWNvbCAuaW1hZ2UgaW1nIHtcbiAgICAgICAgd2lkdGg6IDE1NXB4O1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZjNmM2YzOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAjYmFza2V0LXRhYmxlIC5iYXNrZXQtZGVzY3JpcHRpb24tY29sIC5pbWFnZSBpbWcge1xuICAgICAgICAgICAgd2lkdGg6IDEzMnB4OyB9IH1cbiAgI2Jhc2tldC10YWJsZSB0ZC5iYXNrZXQtZGVzY3JpcHRpb24tY29sIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAgICNiYXNrZXQtdGFibGUgdGQuYmFza2V0LWRlc2NyaXB0aW9uLWNvbCB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAxIC8gMiBzcGFuOyB9IH1cbiAgI2Jhc2tldC10YWJsZSAuc3RvY2stZGVzY3JpcHRpb24tbGV2ZWwge1xuICAgIG1pbi13aWR0aDogNDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleDogMTtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBnYXA6IDEwcHggMDtcbiAgICBwYWRkaW5nOiAxMHB4IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAjYmFza2V0LXRhYmxlIC5zdG9jay1kZXNjcmlwdGlvbi1sZXZlbCB7XG4gICAgICAgIG1pbi13aWR0aDogdW5zZXQ7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBwYWRkaW5nOiAyNXB4IDA7IH0gfVxuICAgICNiYXNrZXQtdGFibGUgLnN0b2NrLWRlc2NyaXB0aW9uLWxldmVsIC5ncm91cC1kZXNjcmlwdGlvbiB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBsaW5lLWhlaWdodDogMS4yOyB9XG4gICAgICAjYmFza2V0LXRhYmxlIC5zdG9jay1kZXNjcmlwdGlvbi1sZXZlbCAuZ3JvdXAtZGVzY3JpcHRpb246aG92ZXIge1xuICAgICAgICBjb2xvcjogIzA2MDUyZjtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgICAgICNiYXNrZXQtdGFibGUgLnN0b2NrLWRlc2NyaXB0aW9uLWxldmVsIC5ncm91cC1kZXNjcmlwdGlvbjphY3RpdmUge1xuICAgICAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgICNiYXNrZXQtdGFibGUgLnN0b2NrLWRlc2NyaXB0aW9uLWxldmVsIC5kZXNjcmlwdGlvbiB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGNvbG9yOiAjMDYwNTJmO1xuICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBsaW5lLWhlaWdodDogMTdweDtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgI2Jhc2tldC10YWJsZSAuc3RvY2stZGVzY3JpcHRpb24tbGV2ZWwgLmRlc2NyaXB0aW9uIHtcbiAgICAgICAgICBtaW4td2lkdGg6IDMwMHB4OyB9IH1cbiAgICAgICNiYXNrZXQtdGFibGUgLnN0b2NrLWRlc2NyaXB0aW9uLWxldmVsIC5kZXNjcmlwdGlvbjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjYWU5NDYxO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gICAgICAjYmFza2V0LXRhYmxlIC5zdG9jay1kZXNjcmlwdGlvbi1sZXZlbCAuZGVzY3JpcHRpb246YWN0aXZlIHtcbiAgICAgICAgY29sb3I6ICM3Nzc3Nzc7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgICAjYmFza2V0LXRhYmxlIC5zdG9jay1kZXNjcmlwdGlvbi1sZXZlbCAuc3RvY2staW5kaWNhdG9yIHtcbiAgICAgIG1hcmdpbi10b3A6IDVweDsgfVxuICAgICNiYXNrZXQtdGFibGUgLnN0b2NrLWRlc2NyaXB0aW9uLWxldmVsIC5zdG9ja1dhcm5pbmcge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIGNvbG9yOiByZ2JhKDEzNiwgMTM2LCAxMzYsIDAuNik7XG4gICAgICBmb250LXNpemU6IDAuOTM3NXJlbTsgfVxuICAgICAgI2Jhc2tldC10YWJsZSAuc3RvY2stZGVzY3JpcHRpb24tbGV2ZWwgLnN0b2NrV2FybmluZy5hY3RpdmUge1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgI2Jhc2tldC10YWJsZSAuc3RvY2stZGVzY3JpcHRpb24tbGV2ZWwgLnN0b2NrV2FybmluZyBwIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwOyB9XG4gICNiYXNrZXQtdGFibGUgLnN1YnNpZGlhcnktZGVzY3JpcHRpb24ge1xuICAgIGNvbG9yOiAjMDYwNTJmO1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7IH1cbiAgI2Jhc2tldC10YWJsZSAubm9uLXJldHVybmFibGUtZGVzY3JpcHRpb24ge1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgICNiYXNrZXQtdGFibGUgLm5vbi1yZXR1cm5hYmxlLWRlc2NyaXB0aW9uOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu6hk1wiO1xuICAgICAgcGFkZGluZzogMCA1cHggMCAwO1xuICAgICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG9cIjtcbiAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgIGNvbG9yOiAjZmY1ZTA1OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAjYmFza2V0LXRhYmxlIC5iYXNrZXQtY29kZS1jb2wge1xuICAgICAgd2lkdGg6IDEwJTtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgI2Jhc2tldC10YWJsZSAuYmFza2V0LXByaWNlLWNvbCwgI2Jhc2tldC10YWJsZSAuYmFza2V0LWN1cnJlbnQtcHJpY2UtY29sIHtcbiAgICAgIG1heC13aWR0aDogMTUlO1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAjYmFza2V0LXRhYmxlIC52YXQtcmF0ZS1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICNiYXNrZXQtdGFibGUgdGQuYmFza2V0LXByaWNlLWNvbCB7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICNiYXNrZXQtdGFibGUgdGQuYmFza2V0LXByaWNlLWNvbCB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7IH0gfVxuICAjYmFza2V0LXRhYmxlIHRkLmJhc2tldC1jdXJyZW50LXByaWNlLWNvbCB7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICNiYXNrZXQtdGFibGUgdGQuYmFza2V0LWN1cnJlbnQtcHJpY2UtY29sIHtcbiAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAjYmFza2V0LXRhYmxlIC5hZGQtdG8tYmFza2V0LWNvbCB7XG4gICAgICB3aWR0aDogMTUlOyB9IH1cbiAgI2Jhc2tldC10YWJsZSAuYmFza2V0LXF1YW50aXR5IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgI2Jhc2tldC10YWJsZSAuYmFza2V0LXF1YW50aXR5IHtcbiAgICAgICAgd2lkdGg6IDEwJTtcbiAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDsgfSB9XG4gICAgI2Jhc2tldC10YWJsZSAuYmFza2V0LXF1YW50aXR5IC5xdWFudGl0eS1zZWxlY3Rvci1jb250YWluZXIge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgI2Jhc2tldC10YWJsZSAuYmFza2V0LXF1YW50aXR5IC5xdWFudGl0eS1zZWxlY3Rvci1jb250YWluZXIge1xuICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICNiYXNrZXQtdGFibGUgLmJhc2tldC1xdWFudGl0eSAubGFiZWwge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgICAjYmFza2V0LXRhYmxlIC5iYXNrZXQtcXVhbnRpdHkgLmlucHV0LW51bWJlci1ncm91cCB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgI2Jhc2tldC10YWJsZSAuYmFza2V0LXF1YW50aXR5IC5pbnB1dC1udW1iZXItZ3JvdXAge1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICNiYXNrZXQtdGFibGUgLmJhc2tldC1zdWItdG90YWwge1xuICAgICAgd2lkdGg6IDExJTsgfSB9XG4gICNiYXNrZXQtdGFibGUgLmJhc2tldC1zdWItdG90YWwgc3BhbiB7XG4gICAgd2lkdGg6IDYwJTtcbiAgICBvcmRlcjogMjtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICNiYXNrZXQtdGFibGUgLmJhc2tldC1zdWItdG90YWwgc3BhbiB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBvcmRlcjogMTsgfSB9XG4gICNiYXNrZXQtdGFibGUgdGQuYmFza2V0LXN1Yi10b3RhbC1jb2wge1xuICAgIHdpZHRoOiA1MCU7XG4gICAgb3JkZXI6IDQ7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2xvcjogIzA2MDUyZjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICNiYXNrZXQtdGFibGUgdGQuYmFza2V0LXN1Yi10b3RhbC1jb2wge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAjYmFza2V0LXRhYmxlIC5iYXNrZXQtcmVtb3ZlLWNvbCB7XG4gICAgICB3aWR0aDogNSU7IH0gfVxuICAjYmFza2V0LXRhYmxlIHRkLmJhc2tldC1yZW1vdmUtY29sIHtcbiAgICB3aWR0aDogNTAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgb3JkZXI6IDY7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAjYmFza2V0LXRhYmxlIHRkLmJhc2tldC1yZW1vdmUtY29sIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7IH0gfVxuICAjYmFza2V0LXRhYmxlIC5yZW1vdmUtYnV0dG9uIHtcbiAgICB3aWR0aDogODBweDtcbiAgICBoZWlnaHQ6IDgwcHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBjb2xvcjogIzg4ODg4ODtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gICNiYXNrZXQtdGFibGUgLmJhc2tldFVwZGF0ZVJvdyB7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICM4ODg4ODg7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAjYmFza2V0LXRhYmxlIC5iYXNrZXQtaXRlbS1yb3cge1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDEyMHB4LCBtYXgtY29udGVudCkgbWlubWF4KDEyMHB4LCBtYXgtY29udGVudCk7XG4gICAgICBnYXA6IDVweDtcbiAgICAgIHBhZGRpbmc6IDEwcHg7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgICNiYXNrZXQtdGFibGUgLmJhc2tldC1pdGVtLXJvdyB0ZCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lOyB9IH1cbiAgI2Jhc2tldC10YWJsZSAuYmFza2V0LWRlc2NyaXB0aW9uLWNvbCAuY29sLWxhYmVsLCAjYmFza2V0LXRhYmxlIC5iYXNrZXQtY29kZS1jb2wgLmNvbC1sYWJlbCwgI2Jhc2tldC10YWJsZSAuYmFza2V0LXN1Yi10b3RhbC1jb2wgLmNvbC1sYWJlbCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG50YWJsZS5xdWljay1vcmRlci1mb3JtLXRhYmxlIHRib2R5IHRyIHtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgdGFibGUucXVpY2stb3JkZXItZm9ybS10YWJsZSB0Ym9keSB0ciB7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxMDBweCAxZnIgMzBweDtcbiAgICAgIGdhcDogMTBweCAyMHB4OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgdGFibGUucXVpY2stb3JkZXItZm9ybS10YWJsZSB0Ym9keSB0ZCB7XG4gICAgcGFkZGluZzogMDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gIHRhYmxlLnF1aWNrLW9yZGVyLWZvcm0tdGFibGUgdGJvZHkgdGQ6bm90KC5pbWFnZS1jb2wpIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIHRhYmxlLnF1aWNrLW9yZGVyLWZvcm0tdGFibGUgdGQge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9IH1cblxudGFibGUucXVpY2stb3JkZXItZm9ybS10YWJsZSAuaW1hZ2UtY29sIHtcbiAgZ3JpZC1jb2x1bW46IDE7XG4gIGdyaWQtcm93OiBzcGFuIDQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIHRhYmxlLnF1aWNrLW9yZGVyLWZvcm0tdGFibGUgLmltYWdlLWNvbCB7XG4gICAgICB3aWR0aDogMTIuMiU7IH0gfVxuXG50YWJsZS5xdWljay1vcmRlci1mb3JtLXRhYmxlIC5kZXNjcmlwdGlvbi1jb2wge1xuICBncmlkLWNvbHVtbjogMiAvIHNwYW4gMzsgfVxuICB0YWJsZS5xdWljay1vcmRlci1mb3JtLXRhYmxlIC5kZXNjcmlwdGlvbi1jb2wgLnN0b2NrLWRlc2NyaXB0aW9uLWxldmVsIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAxMHB4IDA7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIHRhYmxlLnF1aWNrLW9yZGVyLWZvcm0tdGFibGUgLmRlc2NyaXB0aW9uLWNvbCAuc3RvY2stZGVzY3JpcHRpb24tbGV2ZWwge1xuICAgICAgICBtYXJnaW46IDAgMCAwIDEwcHg7IH0gfVxuICB0YWJsZS5xdWljay1vcmRlci1mb3JtLXRhYmxlIC5kZXNjcmlwdGlvbi1jb2wgLmRlc2NyaXB0aW9uIHtcbiAgICBjb2xvcjogIzA2MDUyZjtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgZm9udC13ZWlnaHQ6IDUwMDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIHRhYmxlLnF1aWNrLW9yZGVyLWZvcm0tdGFibGUgdGQuZGVzY3JpcHRpb24tY29sIHtcbiAgICB3aWR0aDogMzAlOyB9IH1cblxudGFibGUucXVpY2stb3JkZXItZm9ybS10YWJsZSAuY29kZS1jb2wge1xuICBncmlkLWNvbHVtbjogMjtcbiAgZ3JpZC1yb3c6IDI7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIHRhYmxlLnF1aWNrLW9yZGVyLWZvcm0tdGFibGUgLmNvZGUtY29sIHtcbiAgICAgIHdpZHRoOiAyNSU7IH0gfVxuXG50YWJsZS5xdWljay1vcmRlci1mb3JtLXRhYmxlIC5wcmljZS1jb2wge1xuICBncmlkLWNvbHVtbjogMiAvIHNwYW4gMztcbiAgZ3JpZC1yb3c6IDM7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIHRhYmxlLnF1aWNrLW9yZGVyLWZvcm0tdGFibGUgLnByaWNlLWNvbCB7XG4gICAgICB3aWR0aDogMjAlOyB9IH1cblxudGFibGUucXVpY2stb3JkZXItZm9ybS10YWJsZSAucXVhbnRpdHktY29sIHtcbiAgZ3JpZC1yb3c6IDQ7IH1cblxudGFibGUucXVpY2stb3JkZXItZm9ybS10YWJsZSAuYWRkLWNvbCB7XG4gIGdyaWQtY29sdW1uOiAyO1xuICBncmlkLXJvdzogNTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgdGFibGUucXVpY2stb3JkZXItZm9ybS10YWJsZSAuYWRkLWNvbCB7XG4gICAgICB3aWR0aDogMTguOSU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuICB0YWJsZS5xdWljay1vcmRlci1mb3JtLXRhYmxlIC5hZGQtY29sIC5hZGRUb0Jhc2tldC5pY29uLCB0YWJsZS5xdWljay1vcmRlci1mb3JtLXRhYmxlIC5hZGQtY29sIC5iYXNrZXQtYWRkLWJ1dHRvbiB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgdGFibGUuYmFza2V0LXRhYmxlIHRib2R5IHRyLCB0YWJsZSNiYXNrZXQtdGFibGUuYmFza2V0LXRhYmxlIHRib2R5IHRyIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMTAwcHggMWZyO1xuICAgIGdhcDogMTBweCAyMHB4OyB9IH1cblxudGFibGUuYmFza2V0LXRhYmxlIHRib2R5IHRkLCB0YWJsZSNiYXNrZXQtdGFibGUuYmFza2V0LXRhYmxlIHRib2R5IHRkIHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICB0YWJsZS5iYXNrZXQtdGFibGUgdGJvZHkgdGQgLmNvbC1sYWJlbCwgdGFibGUjYmFza2V0LXRhYmxlLmJhc2tldC10YWJsZSB0Ym9keSB0ZCAuY29sLWxhYmVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgdGFibGUuYmFza2V0LXRhYmxlIHRkLmJhc2tldC1kZXNjcmlwdGlvbi1jb2wsIHRhYmxlI2Jhc2tldC10YWJsZS5iYXNrZXQtdGFibGUgdGQuYmFza2V0LWRlc2NyaXB0aW9uLWNvbCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDEwMHB4IDFmcjtcbiAgICBnYXA6IDEwcHggMjBweDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gIHRhYmxlLmJhc2tldC10YWJsZSB0ZC5iYXNrZXQtZGVzY3JpcHRpb24tY29sIC5pbWFnZSwgdGFibGUjYmFza2V0LXRhYmxlLmJhc2tldC10YWJsZSB0ZC5iYXNrZXQtZGVzY3JpcHRpb24tY29sIC5pbWFnZSB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWFyZ2luOiAwOyB9IH1cblxudGFibGUuYmFza2V0LXRhYmxlIHRkLmJhc2tldC1kZXNjcmlwdGlvbi1jb2wgLnN0b2NrLWRlc2NyaXB0aW9uLWxldmVsLCB0YWJsZSNiYXNrZXQtdGFibGUuYmFza2V0LXRhYmxlIHRkLmJhc2tldC1kZXNjcmlwdGlvbi1jb2wgLnN0b2NrLWRlc2NyaXB0aW9uLWxldmVsIHtcbiAgZ2FwOiAxMHB4IDA7IH1cbiAgdGFibGUuYmFza2V0LXRhYmxlIHRkLmJhc2tldC1kZXNjcmlwdGlvbi1jb2wgLnN0b2NrLWRlc2NyaXB0aW9uLWxldmVsIC5zdG9jay1pbmRpY2F0b3IsIHRhYmxlI2Jhc2tldC10YWJsZS5iYXNrZXQtdGFibGUgdGQuYmFza2V0LWRlc2NyaXB0aW9uLWNvbCAuc3RvY2stZGVzY3JpcHRpb24tbGV2ZWwgLnN0b2NrLWluZGljYXRvciB7XG4gICAgbWFyZ2luOiAwOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gIHRhYmxlLmJhc2tldC10YWJsZSAuYmFza2V0LWNvZGUtY29sLCB0YWJsZS5iYXNrZXQtdGFibGUgLmJhc2tldC1wcmljZS1jb2wsIHRhYmxlLmJhc2tldC10YWJsZSAuYmFza2V0LXF1YW50aXR5LCB0YWJsZS5iYXNrZXQtdGFibGUgLmJhc2tldC1zdWItdG90YWwtY29sLCB0YWJsZS5iYXNrZXQtdGFibGUgLmJhc2tldC1yZW1vdmUtY29sLCB0YWJsZSNiYXNrZXQtdGFibGUuYmFza2V0LXRhYmxlIC5iYXNrZXQtY29kZS1jb2wsIHRhYmxlI2Jhc2tldC10YWJsZS5iYXNrZXQtdGFibGUgLmJhc2tldC1wcmljZS1jb2wsIHRhYmxlI2Jhc2tldC10YWJsZS5iYXNrZXQtdGFibGUgLmJhc2tldC1xdWFudGl0eSwgdGFibGUjYmFza2V0LXRhYmxlLmJhc2tldC10YWJsZSAuYmFza2V0LXN1Yi10b3RhbC1jb2wsIHRhYmxlI2Jhc2tldC10YWJsZS5iYXNrZXQtdGFibGUgLmJhc2tldC1yZW1vdmUtY29sIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogNTAlIDUwJTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gIHRhYmxlLmJhc2tldC10YWJsZSAuYmFza2V0LWNvZGUtY29sLCB0YWJsZSNiYXNrZXQtdGFibGUuYmFza2V0LXRhYmxlIC5iYXNrZXQtY29kZS1jb2wge1xuICAgIGdyaWQtY29sdW1uOiAyO1xuICAgIGdyaWQtcm93OiAyOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgdGFibGUuYmFza2V0LXRhYmxlIC5iYXNrZXQtcHJpY2UtY29sLCB0YWJsZSNiYXNrZXQtdGFibGUuYmFza2V0LXRhYmxlIC5iYXNrZXQtcHJpY2UtY29sIHtcbiAgICBncmlkLWNvbHVtbjogMjtcbiAgICBncmlkLXJvdzogMzsgfSB9XG5cbnRhYmxlLmJhc2tldC10YWJsZSAuYmFza2V0LXByaWNlLWNvbCAuYmFza2V0LXByaWNlLWNvbnRhaW5lciwgdGFibGUjYmFza2V0LXRhYmxlLmJhc2tldC10YWJsZSAuYmFza2V0LXByaWNlLWNvbCAuYmFza2V0LXByaWNlLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgdGFibGUuYmFza2V0LXRhYmxlIC5iYXNrZXQtcHJpY2UtY29sIC5iYXNrZXQtcHJpY2UtY29udGFpbmVyLmFsaWduLXJpZ2h0LCB0YWJsZSNiYXNrZXQtdGFibGUuYmFza2V0LXRhYmxlIC5iYXNrZXQtcHJpY2UtY29sIC5iYXNrZXQtcHJpY2UtY29udGFpbmVyLmFsaWduLXJpZ2h0IHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7IH1cbiAgdGFibGUuYmFza2V0LXRhYmxlIC5iYXNrZXQtcHJpY2UtY29sIC5iYXNrZXQtcHJpY2UtY29udGFpbmVyIHNwYW4sIHRhYmxlI2Jhc2tldC10YWJsZS5iYXNrZXQtdGFibGUgLmJhc2tldC1wcmljZS1jb2wgLmJhc2tldC1wcmljZS1jb250YWluZXIgc3BhbiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICB0YWJsZS5iYXNrZXQtdGFibGUgLmJhc2tldC1wcmljZS1jb2wgLmJhc2tldC1wcmljZS1jb250YWluZXIgc3BhbiwgdGFibGUjYmFza2V0LXRhYmxlLmJhc2tldC10YWJsZSAuYmFza2V0LXByaWNlLWNvbCAuYmFza2V0LXByaWNlLWNvbnRhaW5lciBzcGFuIHtcbiAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICB0YWJsZS5iYXNrZXQtdGFibGUgLmJhc2tldC1wcmljZS1jb2wgLnZhdC1yYXRlLWNvbnRhaW5lciwgdGFibGUjYmFza2V0LXRhYmxlLmJhc2tldC10YWJsZSAuYmFza2V0LXByaWNlLWNvbCAudmF0LXJhdGUtY29udGFpbmVyIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gIHRhYmxlLmJhc2tldC10YWJsZSAuYmFza2V0LXF1YW50aXR5LCB0YWJsZSNiYXNrZXQtdGFibGUuYmFza2V0LXRhYmxlIC5iYXNrZXQtcXVhbnRpdHkge1xuICAgIGdyaWQtY29sdW1uOiAyO1xuICAgIGdyaWQtcm93OiA0O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gIHRhYmxlLmJhc2tldC10YWJsZSAuYmFza2V0LXN1Yi10b3RhbC1jb2wsIHRhYmxlI2Jhc2tldC10YWJsZS5iYXNrZXQtdGFibGUgLmJhc2tldC1zdWItdG90YWwtY29sIHtcbiAgICBncmlkLWNvbHVtbjogMjtcbiAgICBncmlkLXJvdzogNTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgdGFibGUuYmFza2V0LXRhYmxlIC5iYXNrZXQtc3ViLXRvdGFsLWNvbCwgdGFibGUjYmFza2V0LXRhYmxlLmJhc2tldC10YWJsZSAuYmFza2V0LXN1Yi10b3RhbC1jb2wge1xuICAgIHdpZHRoOiAxMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICB0YWJsZS5iYXNrZXQtdGFibGUgLmJhc2tldC1yZW1vdmUtY29sLCB0YWJsZSNiYXNrZXQtdGFibGUuYmFza2V0LXRhYmxlIC5iYXNrZXQtcmVtb3ZlLWNvbCB7XG4gICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgZ3JpZC1yb3c6IDY7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICB0YWJsZS5iYXNrZXQtdGFibGUgLmJhc2tldC1yZW1vdmUtY29sIC5yZW1vdmUtYnV0dG9uLCB0YWJsZSNiYXNrZXQtdGFibGUuYmFza2V0LXRhYmxlIC5iYXNrZXQtcmVtb3ZlLWNvbCAucmVtb3ZlLWJ1dHRvbiB7XG4gICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgIGhlaWdodDogZml0LWNvbnRlbnQ7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9IH1cblxuI2Jhc2tldC1zdGlja3ktc3VtbWFyeS1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgI2Jhc2tldCAuYmFza2V0LWl0ZW0tcm93IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfSB9XG5cbiNiYXNrZXQgI2Jhc2tldC1kZWxpdmVyeSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1hcmdpbjogMCAwIDMwcHg7XG4gIHBhZGRpbmc6IDIwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDFweCBzb2xpZCAjZGFkYWRhO1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAjYmFza2V0ICNiYXNrZXQtZGVsaXZlcnkge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIG1hcmdpbjogMCAwIDM1cHg7XG4gICAgICBwYWRkaW5nOiA0NXB4OyB9IH1cbiAgI2Jhc2tldCAjYmFza2V0LWRlbGl2ZXJ5IGgyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiAwIDAgMzVweDtcbiAgICBjb2xvcjogIzA2MDUyZjtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgI2Jhc2tldCAjYmFza2V0LWRlbGl2ZXJ5IGgyOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+DkVwiO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgZm9udC1zaXplOiAyNnB4O1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICBjb2xvcjogIzA2MDUyZjsgfVxuICAjYmFza2V0ICNiYXNrZXQtZGVsaXZlcnkgLmNtcy1jb250YWluZXIge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAjYmFza2V0ICNiYXNrZXQtZGVsaXZlcnkgLmNtcy1jb250YWluZXIge1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtOyB9IH1cbiAgICAjYmFza2V0ICNiYXNrZXQtZGVsaXZlcnkgLmNtcy1jb250YWluZXIgcCB7XG4gICAgICBtYXJnaW46IDAgMCAyMHB4OyB9XG5cbiNiYXNrZXQgLmNoZWNrb3V0LWJ1dHRvbnMtY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAxMHB4OyB9XG4gICNiYXNrZXQgLmNoZWNrb3V0LWJ1dHRvbnMtY29udGFpbmVyOmhhcyguc2VwZXJhdG9yOm5vdCg6ZW1wdHkpKSB7XG4gICAgZ2FwOiAyMHB4OyB9XG4gICNiYXNrZXQgLmNoZWNrb3V0LWJ1dHRvbnMtY29udGFpbmVyLmludmFsaWQgYSB7XG4gICAgY3Vyc29yOiBuby1kcm9wOyB9XG4gICNiYXNrZXQgLmNoZWNrb3V0LWJ1dHRvbnMtY29udGFpbmVyICNzYWdlcGF5LWNoZWNrb3V0LWJ1dHRvbiB7XG4gICAgLS1jb21wb25lbnQtc3BlY2lmYy1zdGVwLWhlaWdodDogMTVweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1zbWFsbC1tYXJnaW4sIDApO1xuICAgIHBhZGRpbmc6IHZhcigtLWNvbW1vbi1idXR0b24tcGFkZGluZywgMTJweCA1cHgpO1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwNjA1MmY7XG4gICAgYm9yZGVyLXdpZHRoOiAycHg7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDEuMnB4O1xuICAgIHdvcmQtc3BhY2luZzogMnB4O1xuICAgIGJvcmRlci1jb2xvcjogIzA2MDUyZjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuOHM7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAjYmFza2V0IC5jaGVja291dC1idXR0b25zLWNvbnRhaW5lciAjc2FnZXBheS1jaGVja291dC1idXR0b24ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLWxhcmdlLW1hcmdpbiwgMCk7IH0gfVxuICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgICAjYmFza2V0IC5jaGVja291dC1idXR0b25zLWNvbnRhaW5lciAjc2FnZXBheS1jaGVja291dC1idXR0b246aG92ZXIsICNiYXNrZXQgLmNoZWNrb3V0LWJ1dHRvbnMtY29udGFpbmVyICNzYWdlcGF5LWNoZWNrb3V0LWJ1dHRvbi5ob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWU5NDYxO1xuICAgICAgICBib3JkZXItY29sb3I6ICNhZTk0NjE7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAgICAgI2Jhc2tldCAuY2hlY2tvdXQtYnV0dG9ucy1jb250YWluZXIgI3NhZ2VwYXktY2hlY2tvdXQtYnV0dG9uOmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsICNiYXNrZXQgLmNoZWNrb3V0LWJ1dHRvbnMtY29udGFpbmVyICNzYWdlcGF5LWNoZWNrb3V0LWJ1dHRvbi5ob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfSB9XG4gICAgI2Jhc2tldCAuY2hlY2tvdXQtYnV0dG9ucy1jb250YWluZXIgI3NhZ2VwYXktY2hlY2tvdXQtYnV0dG9uOmFjdGl2ZSwgI2Jhc2tldCAuY2hlY2tvdXQtYnV0dG9ucy1jb250YWluZXIgI3NhZ2VwYXktY2hlY2tvdXQtYnV0dG9uLmFjdGl2ZSB7XG4gICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM3Nzc3Nzc7XG4gICAgICBib3JkZXItY29sb3I6ICM3Nzc3Nzc7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgICNiYXNrZXQgLmNoZWNrb3V0LWJ1dHRvbnMtY29udGFpbmVyICNzYWdlcGF5LWNoZWNrb3V0LWJ1dHRvbjpkaXNhYmxlZCwgI2Jhc2tldCAuY2hlY2tvdXQtYnV0dG9ucy1jb250YWluZXIgI3NhZ2VwYXktY2hlY2tvdXQtYnV0dG9uLmRpc2FibGVkLCAjYmFza2V0IC5jaGVja291dC1idXR0b25zLWNvbnRhaW5lciAjc2FnZXBheS1jaGVja291dC1idXR0b25bZGlzYWJsZWRdIHtcbiAgICAgIGNvbG9yOiAjOTI5MjkyO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMDAsIDIwMCwgMjAwLCAwLjcpO1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICNiYXNrZXQgLmNoZWNrb3V0LWJ1dHRvbnMtY29udGFpbmVyICNzYWdlcGF5LWNoZWNrb3V0LWJ1dHRvbjpkaXNhYmxlZDpob3ZlciwgI2Jhc2tldCAuY2hlY2tvdXQtYnV0dG9ucy1jb250YWluZXIgI3NhZ2VwYXktY2hlY2tvdXQtYnV0dG9uLmRpc2FibGVkOmhvdmVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMDAsIDIwMCwgMjAwLCAwLjcpOyB9XG4gICAgI2Jhc2tldCAuY2hlY2tvdXQtYnV0dG9ucy1jb250YWluZXIgI3NhZ2VwYXktY2hlY2tvdXQtYnV0dG9uOmZvY3VzLXZpc2libGUge1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7IH1cbiAgICAjYmFza2V0IC5jaGVja291dC1idXR0b25zLWNvbnRhaW5lciAjc2FnZXBheS1jaGVja291dC1idXR0b24gLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cbiAgI2Jhc2tldCAuY2hlY2tvdXQtYnV0dG9ucy1jb250YWluZXIgcCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgKyAuY2hlY2tvdXQtYnV0dG9ucy1jb250YWluZXIsIC5zdW1tYXJ5LWl0ZW0gKyAuY2hlY2tvdXQtYnV0dG9ucy1jb250YWluZXIge1xuICBtYXJnaW46IDIwcHggMCAwOyB9XG5cbi5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyLnZvdWNoZXIgbGFiZWw6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgKxcIjsgfVxuXG4uc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lci52YXQgbGFiZWw6YmVmb3JlIHtcbiAgY29udGVudDogXCLvipVcIjsgfVxuXG4uc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDMwcHggMCAyNXB4O1xuICBwYWRkaW5nOiAwOyB9XG4gIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIGxhYmVsIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgY29sb3I6ICMwNjA1MmY7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgbGFiZWw6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgY29sb3I6ICMwNjA1MmY7XG4gICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtOyB9XG4gIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5zdW1tYXJ5LWlucHV0LWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IG5vLXdyYXA7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiA1cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLnN1bW1hcnktaW5wdXQtY29udGFpbmVyLmlzLWludmFsaWQtY29udGFpbmVyICsgLmZvcm0tZXJyb3Ige1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46IDE1cHggMCAwO1xuICAgICAgcGFkZGluZzogMDsgfVxuICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuc3VtbWFyeS1pbnB1dCB7XG4gICAgaGVpZ2h0OiAzNXB4O1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwIDAgMCA1cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiAwO1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLnN1bW1hcnktaW5wdXQ6aG92ZXIsIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5zdW1tYXJ5LWlucHV0OmZvY3VzIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cbiAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuc3VtbWFyeS1pbnB1dDo6cGxhY2Vob2xkZXIge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjJweDsgfVxuICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5zdW1tYXJ5LWlucHV0LmlzLXZhbGlkLWlucHV0ICsgYnV0dG9uIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwNjA1MmY7IH1cbiAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLnN1bW1hcnktaW5wdXQtc3VibWl0LmFwcGx5IHtcbiAgICAtLWNvbXBvbmVudC1zcGVjaWZjLXN0ZXAtaGVpZ2h0OiAxNXB4O1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLXNtYWxsLW1hcmdpbiwgMCk7XG4gICAgcGFkZGluZzogdmFyKC0tY29tbW9uLWJ1dHRvbi1wYWRkaW5nLCAxMnB4KTtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDYwNTJmO1xuICAgIGJvcmRlci13aWR0aDogMnB4O1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAxLjJweDtcbiAgICB3b3JkLXNwYWNpbmc6IDJweDtcbiAgICBib3JkZXItY29sb3I6ICNlZWVlZWU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjhzOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLnN1bW1hcnktaW5wdXQtc3VibWl0LmFwcGx5IHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1sYXJnZS1tYXJnaW4sIDApOyB9IH1cbiAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLnN1bW1hcnktaW5wdXQtc3VibWl0LmFwcGx5OmhvdmVyLCAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuc3VtbWFyeS1pbnB1dC1zdWJtaXQuYXBwbHkuaG92ZXIge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2FlOTQ2MTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjYWU5NDYxO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5zdW1tYXJ5LWlucHV0LXN1Ym1pdC5hcHBseTpob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwLCAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuc3VtbWFyeS1pbnB1dC1zdWJtaXQuYXBwbHkuaG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH0gfVxuICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5zdW1tYXJ5LWlucHV0LXN1Ym1pdC5hcHBseTphY3RpdmUsIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5zdW1tYXJ5LWlucHV0LXN1Ym1pdC5hcHBseS5hY3RpdmUge1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDYwNTJmO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMDYwNTJmO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuc3VtbWFyeS1pbnB1dC1zdWJtaXQuYXBwbHk6ZGlzYWJsZWQsIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5zdW1tYXJ5LWlucHV0LXN1Ym1pdC5hcHBseS5kaXNhYmxlZCwgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLnN1bW1hcnktaW5wdXQtc3VibWl0LmFwcGx5W2Rpc2FibGVkXSB7XG4gICAgICBjb2xvcjogIzkyOTI5MjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMjAwLCAyMDAsIDIwMCwgMC43KTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuc3VtbWFyeS1pbnB1dC1zdWJtaXQuYXBwbHk6ZGlzYWJsZWQ6aG92ZXIsIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5zdW1tYXJ5LWlucHV0LXN1Ym1pdC5hcHBseS5kaXNhYmxlZDpob3ZlciB7XG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMjAwLCAyMDAsIDIwMCwgMC43KTsgfVxuICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5zdW1tYXJ5LWlucHV0LXN1Ym1pdC5hcHBseTpmb2N1cy12aXNpYmxlIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpOyB9XG4gICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLnN1bW1hcnktaW5wdXQtc3VibWl0LmFwcGx5IC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG4gIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5zdW1tYXJ5LWlucHV0LXN1Ym1pdC5yZW1vdmUge1xuICAgIC0tY29tcG9uZW50LXNwZWNpZmMtc3RlcC1oZWlnaHQ6IDE1cHg7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tc21hbGwtbWFyZ2luLCAwKTtcbiAgICBwYWRkaW5nOiB2YXIoLS1jb21tb24tYnV0dG9uLXBhZGRpbmcsIDEycHgpO1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjMDAwMDA7XG4gICAgYm9yZGVyLXdpZHRoOiAycHg7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDEuMnB4O1xuICAgIHdvcmQtc3BhY2luZzogMnB4O1xuICAgIGJvcmRlci1jb2xvcjogI2VlZWVlZTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuOHM7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuc3VtbWFyeS1pbnB1dC1zdWJtaXQucmVtb3ZlIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1sYXJnZS1tYXJnaW4sIDApOyB9IH1cbiAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLnN1bW1hcnktaW5wdXQtc3VibWl0LnJlbW92ZTpob3ZlciwgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLnN1bW1hcnktaW5wdXQtc3VibWl0LnJlbW92ZS5ob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzc3Nzc3O1xuICAgICAgICBib3JkZXItY29sb3I6ICM3Nzc3Nzc7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLnN1bW1hcnktaW5wdXQtc3VibWl0LnJlbW92ZTpob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwLCAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuc3VtbWFyeS1pbnB1dC1zdWJtaXQucmVtb3ZlLmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9IH1cbiAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuc3VtbWFyeS1pbnB1dC1zdWJtaXQucmVtb3ZlOmFjdGl2ZSwgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLnN1bW1hcnktaW5wdXQtc3VibWl0LnJlbW92ZS5hY3RpdmUge1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDYwNTJmO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMDYwNTJmO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuc3VtbWFyeS1pbnB1dC1zdWJtaXQucmVtb3ZlOmRpc2FibGVkLCAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuc3VtbWFyeS1pbnB1dC1zdWJtaXQucmVtb3ZlLmRpc2FibGVkLCAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuc3VtbWFyeS1pbnB1dC1zdWJtaXQucmVtb3ZlW2Rpc2FibGVkXSB7XG4gICAgICBjb2xvcjogIzkyOTI5MjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMjAwLCAyMDAsIDIwMCwgMC43KTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuc3VtbWFyeS1pbnB1dC1zdWJtaXQucmVtb3ZlOmRpc2FibGVkOmhvdmVyLCAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuc3VtbWFyeS1pbnB1dC1zdWJtaXQucmVtb3ZlLmRpc2FibGVkOmhvdmVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMDAsIDIwMCwgMjAwLCAwLjcpOyB9XG4gICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLnN1bW1hcnktaW5wdXQtc3VibWl0LnJlbW92ZTpmb2N1cy12aXNpYmxlIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpOyB9XG4gICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLnN1bW1hcnktaW5wdXQtc3VibWl0LnJlbW92ZSAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dCB7XG4gICAgLS1mb250LWZhbWlseTogRm9udCBBd2Vzb21lIFNvbGlkO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdhcDogMCAxMHB4O1xuICAgIG1hcmdpbjogMTBweCAwO1xuICAgIHBhZGRpbmc6IDM1cHggMTBweDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQ6aGFzKC5jb250ZW50LWNvbnRhaW5lcikge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQ6aGFzKC5jb250ZW50LWNvbnRhaW5lcikge1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0IHtcbiAgICAgICAgZ2FwOiAwIDE1cHg7IH0gfVxuICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0OmhhcyguY29udGVudC1jb250YWluZXIpOmJlZm9yZSB7XG4gICAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHkpO1xuICAgICAgZm9udC1zaXplOiAxOXB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dC5wcmVzZXQtMSB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0LnByZXNldC0yIHtcbiAgICAgIHBhZGRpbmctdG9wOiAxNXB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDE1cHg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0LnByZXNldC0yIHtcbiAgICAgICAgICBwYWRkaW5nOiAxNXB4IDY1cHg7IH0gfVxuICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0LnByZXNldC0zIHtcbiAgICAgIHBhZGRpbmc6IDE1cHggMDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dC5wcmVzZXQtMyB7XG4gICAgICAgICAgcGFkZGluZzogMTVweCAwOyB9IH1cbiAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dC5zdWNjZXNzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkZmZiZTI7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjMTI4MTFmO1xuICAgICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQuc3VjY2Vzczpub3QoLmljb24tY29uZmlndXJlZCk6aGFzKC5jb250ZW50LWNvbnRhaW5lcik6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCLvgIxcIjsgfVxuICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQuc3VjY2VzczpoYXMoLmNvbnRlbnQtY29udGFpbmVyKTpiZWZvcmUge1xuICAgICAgICBjb2xvcjogIzEyODExZjsgfVxuICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQuc3VjY2VzcyA+IHA6Zmlyc3Qtb2YtdHlwZTo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCLvgIxcIjtcbiAgICAgICAgY29sb3I6ICMxMjgxMWY7IH1cbiAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0LnN1Y2Nlc3MgaDEsIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0LnN1Y2Nlc3MgaDIsIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0LnN1Y2Nlc3MgaDMsIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0LnN1Y2Nlc3MgaDQsIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0LnN1Y2Nlc3MgaDUsIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0LnN1Y2Nlc3MgaDYsIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0LnN1Y2Nlc3MgcCwgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQuc3VjY2VzcyBhIHtcbiAgICAgICAgY29sb3I6ICMxMjgxMWY7IH1cbiAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dC53YXJuaW5nIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmVmZTY7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZmY1ZTA1O1xuICAgICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQud2FybmluZzpub3QoLmljb24tY29uZmlndXJlZCk6aGFzKC5jb250ZW50LWNvbnRhaW5lcik6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCLvgbFcIjsgfVxuICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQud2FybmluZzpoYXMoLmNvbnRlbnQtY29udGFpbmVyKTpiZWZvcmUge1xuICAgICAgICBjb2xvcjogI2ZmNWUwNTsgfVxuICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQud2FybmluZyA+IHA6Zmlyc3Qtb2YtdHlwZTo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCLvgbFcIjtcbiAgICAgICAgY29sb3I6ICNmZjVlMDU7IH1cbiAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0Lndhcm5pbmcgaDEsIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0Lndhcm5pbmcgaDIsIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0Lndhcm5pbmcgaDMsIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0Lndhcm5pbmcgaDQsIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0Lndhcm5pbmcgaDUsIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0Lndhcm5pbmcgaDYsIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0Lndhcm5pbmcgcCwgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQud2FybmluZyBhIHtcbiAgICAgICAgY29sb3I6ICNmZjVlMDU7IH1cbiAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dC5hbGVydCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmRlMWUxO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2IyMGMwYztcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0LmFsZXJ0Om5vdCguaWNvbi1jb25maWd1cmVkKTpoYXMoLmNvbnRlbnQtY29udGFpbmVyKTpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIu+BqlwiOyB9XG4gICAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dC5hbGVydDpoYXMoLmNvbnRlbnQtY29udGFpbmVyKTpiZWZvcmUge1xuICAgICAgICBjb2xvcjogI2IyMGMwYzsgfVxuICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQuYWxlcnQgPiBwOmZpcnN0LW9mLXR5cGU6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCLvgapcIjtcbiAgICAgICAgY29sb3I6ICNiMjBjMGM7IH1cbiAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0LmFsZXJ0IGgxLCAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dC5hbGVydCBoMiwgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQuYWxlcnQgaDMsIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0LmFsZXJ0IGg0LCAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dC5hbGVydCBoNSwgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQuYWxlcnQgaDYsIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0LmFsZXJ0IHAsIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0LmFsZXJ0IGEge1xuICAgICAgICBjb2xvcjogI2IyMGMwYzsgfVxuICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0LmRpc2FibGVkIHAge1xuICAgICAgY29sb3I6ICM4ODg4ODg7XG4gICAgICBmb250LXdlaWdodDogNjAwOyB9XG4gICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQuaW5mb3JtYXRpb24ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjFmMTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMDAwMDA7IH1cbiAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0LmluZm9ybWF0aW9uOm5vdCguaWNvbi1jb25maWd1cmVkKTpoYXMoLmNvbnRlbnQtY29udGFpbmVyKTpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIu+BmlwiOyB9XG4gICAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dC5pbmZvcm1hdGlvbjpoYXMoLmNvbnRlbnQtY29udGFpbmVyKTpiZWZvcmUge1xuICAgICAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQuaW5mb3JtYXRpb24gcCB7XG4gICAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICAgICBmb250LXdlaWdodDogNjAwOyB9XG4gICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQuaWNvbi1ub24tcmV0dXJuYWJsZSB7XG4gICAgICAtLWZvbnQtZmFtaWx5OiBmb250ZWxsbzsgfVxuICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQuaWNvbi1ub24tcmV0dXJuYWJsZTpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIu6hk1wiOyB9XG4gICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgLnVzZXItZnJpZW5kbHktcHJlZml4IHtcbiAgICAgIG1hcmdpbi1yaWdodDogNXB4OyB9XG4gICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgPiBwIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0ID4gcDpmaXJzdC1vZi10eXBlOmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBtYXJnaW46IGF1dG8gMTVweCBhdXRvIDA7XG4gICAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWZhbWlseSk7XG4gICAgICAgIGZvbnQtc2l6ZTogMTlweDsgfVxuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgICAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0ID4gcDpmaXJzdC1vZi10eXBlOmJlZm9yZSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBtYXJnaW46IGF1dG87IH0gfVxuICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0IC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBtYXJnaW46IGF1dG8gMDtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dCAuY29udGVudC1jb250YWluZXIge1xuICAgICAgICAgIG1hcmdpbjogMDsgfSB9XG4gICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgcCB7XG4gICAgICBtYXJnaW46IHZhcigtLWluZGVudC1tYXJnaW4sIDApO1xuICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgICBjb2xvcjogIzc3Nzc3NzsgfVxuICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6bGVmdFwiXSwgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6IGxlZnRcIl0sIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0IHBbc3R5bGUqPVwiZmxvYXQ6bGVmdFwiXSA+IGltZyB7XG4gICAgICAgIG1hcmdpbjogLjJlbSAuMmVtIC4yZW0gMDsgfVxuICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6cmlnaHRcIl0sIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0IHAgaW1nW3N0eWxlKj1cImZsb2F0OiByaWdodFwiXSwgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgcFtzdHlsZSo9XCJmbG9hdDpyaWdodFwiXSA+IGltZyB7XG4gICAgICAgIG1hcmdpbjogLjJlbSAwIC4yZW0gLjJlbTsgfVxuICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgcCBpbWcge1xuICAgICAgICBtYXJnaW46IC4yZW0gMDsgfVxuICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgcCArIHAge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgcDpub3QoOmVtcHR5KSArIHRhYmxlLCAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dCBwOm5vdCg6ZW1wdHkpICsgLmNvbXBhcmlzb24tdGFibGUtY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbjogMTVweCAwOyB9XG4gICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgdGFibGUge1xuICAgICAgLS10aGVhZC1ib3JkZXItY29sb3VyOiAkdGhlYWQtYm9yZGVyLWNvbG91cjtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0IHRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQgdHIge1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS10aGVhZC1ib3JkZXItY29sb3VyKTsgfVxuICAgICAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dCB0YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCB0aCB7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dCB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlOyB9IH1cbiAgICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgdGFibGUucmVzcG9uc2l2ZS10YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0IHRhYmxlLnJlc3BvbnNpdmUtdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQge1xuICAgICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXA7IH0gfVxuICAgICAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dCB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHRib2R5Om5vdCguY29tcGFyaXNvbi1zdW1tYXJ5KSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dCB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHRib2R5Om5vdCguY29tcGFyaXNvbi1zdW1tYXJ5KSB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cDsgfSB9XG4gICAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dCB0YWJsZSB0aCB7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMTBweCAxMHB4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0IHRhYmxlIHRkIHtcbiAgICAgICAgICBwYWRkaW5nOiAxMHB4OyB9IH1cbiAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0IHRhYmxlIHRoZWFkW2NsYXNzKj1cInByZXNldFwiXSArIHRib2R5OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dCB0YWJsZSB0aGVhZFtjbGFzcyo9XCJwcmVzZXRcIl0gKyB0Ym9keTpiZWZvcmUge1xuICAgICAgICAgICAgbWFyZ2luOiAxMHB4OyB9IH1cbiAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0IHRhYmxlIHRib2R5IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgdGFibGUgdGJvZHkgdGgge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0IHRhYmxlIHRib2R5IHRyOm5vdCg6bGFzdC1jaGlsZCkgdGgge1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgdGFibGUgdGJvZHkgdHIge1xuICAgICAgICAgICAgZGlzcGxheTogdGFibGUtcm93OyB9IH1cbiAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0IHRhYmxlIC5jb2wtbGFiZWwge1xuICAgICAgICBjb2xvcjogIzc3Nzc3NzsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB0Ym9keSB0ciB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0IHRhYmxlLnJlc3BvbnNpdmUtdGFibGUgdGJvZHkgdHI6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VlZWVlZTsgfSB9XG4gICAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dCB0YWJsZS5uby13cmFwIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIG92ZXJmbG93LXg6IGF1dG87IH1cbiAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0IHRhYmxlLmNvbXBhcmlzb24tdGFibGUgdGJvZHkgdGQ6Zmlyc3QtY2hpbGQge1xuICAgICAgICBjb2xvcjogIzc3Nzc3NztcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0IGJsb2NrcXVvdGUge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgZ2FwOiAxNXB4O1xuICAgICAgbWFyZ2luOiAwIGF1dG8gNDBweDtcbiAgICAgIHBhZGRpbmc6IDUwcHggMzBweDtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkdpYnNvblwiLCBcIkdpYnNvbiBGYWxsYmFja1wiLCBcIkFyaWFsXCI7XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuOHMsIGJvcmRlci1jb2xvciAwLjhzOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0IGJsb2NrcXVvdGUge1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgZ2FwOiAyNXB4OyB9IH1cbiAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0IGJsb2NrcXVvdGU6aG92ZXIge1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICBib3JkZXItY29sb3I6ICNlZWVlZWU7XG4gICAgICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC42cywgYm9yZGVyLWNvbG9yIDAuNnM7IH1cbiAgICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgYmxvY2txdW90ZTpob3ZlcjpiZWZvcmUge1xuICAgICAgICAgIGNvbG9yOiAjZGFkYWRhO1xuICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0IGJsb2NrcXVvdGU6aGFzKGltZykge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dCBibG9ja3F1b3RlOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgYmxvY2txdW90ZSB7XG4gICAgICAgICAgcGFkZGluZzogNTBweCA2MHB4OyB9IH1cbiAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0IGJsb2NrcXVvdGUgKyBibG9ja3F1b3RlIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTVweDsgfVxuICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgYmxvY2txdW90ZTpiZWZvcmUsIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0IGJsb2NrcXVvdGU6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIu+EjVwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgICAgZm9udC1zaXplOiA0MHB4O1xuICAgICAgICBjb2xvcjogI2VlZWVlZTtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAuODtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgYmxvY2txdW90ZTpiZWZvcmUge1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7IH1cbiAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0IGJsb2NrcXVvdGU6YWZ0ZXIge1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyB9XG4gICAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dCBibG9ja3F1b3RlIGltZyB7XG4gICAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dCBibG9ja3F1b3RlIGltZyB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cbiAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dCBhW2hyZWZePVwidGVsOlwiXSwgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgYVtocmVmXj1cIm1haWx0bzpcIl0ge1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgYVtocmVmXj1cInRlbDpcIl06aG92ZXIsIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0IGFbaHJlZl49XCJtYWlsdG86XCJdOmhvdmVyIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dCBhW2hyZWZePVwidGVsOlwiXS5zaG93LWNvbnRhY3QtaWNvbjpiZWZvcmUsIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0IGFbaHJlZl49XCJtYWlsdG86XCJdLnNob3ctY29udGFjdC1pY29uOmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiOyB9XG4gICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgYVtocmVmXj1cIm1haWx0bzpcIl0uc2hvdy1jb250YWN0LWljb246YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74OgXCI7IH1cbiAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dCBhW2hyZWZePVwidGVsOlwiXS5zaG93LWNvbnRhY3QtaWNvbjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvoblcIjtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IH1cbiAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dCBwIGE6bm90KFtjbGFzcyo9XCItYnV0dG9uXCJdKSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBnYXA6IDAgNXB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0IHAgYTpoYXMoW3N0eWxlKj1cImZsb2F0XCJdKSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmU7IH1cbiAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dCBhIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgPiBwOmZpcnN0LW9mLXR5cGUge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgICAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dCA+IHA6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgcGFkZGluZy10b3A6IDI0cHg7IH0gfVxuXG4uc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciArIC53YXJuaW5nLWNvbnRhaW5lciB7XG4gIG1hcmdpbi10b3A6IDA7IH1cblxuLndhcm5pbmctY29udGFpbmVyIHtcbiAgbWFyZ2luOiAyMHB4IDAgMDtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiAjYjIwYzBjOyB9XG4gIC53YXJuaW5nLWNvbnRhaW5lciBwIHtcbiAgICBtYXJnaW46IDA7IH1cblxuI2Jhc2tldC1jb250cm9scyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luOiAyMHB4IDAgMzVweDtcbiAgZ2FwOiAxNXB4IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAjYmFza2V0LWNvbnRyb2xzIHtcbiAgICAgIG1hcmdpbjogMjVweCAwIDUwcHg7XG4gICAgICBnYXA6IDE1cHggMDsgfSB9XG4gICNiYXNrZXQtY29udHJvbHMgLmJ1dHRvbnMtY29udGFpbmVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBnYXA6IDE1cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAjYmFza2V0LWNvbnRyb2xzIC5idXR0b25zLWNvbnRhaW5lciB7XG4gICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgICAgZ2FwOiAxNXB4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAjYmFza2V0LWNvbnRyb2xzIC5idXR0b25zLWNvbnRhaW5lciBhIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gICNiYXNrZXQtY29udHJvbHMgLnVwZGF0ZS1iYXNrZXQge1xuICAgIC0tY29tcG9uZW50LXNwZWNpZmMtc3RlcC1oZWlnaHQ6IDE1cHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tc21hbGwtbWFyZ2luLCAwKTtcbiAgICBwYWRkaW5nOiB2YXIoLS1jb21tb24tYnV0dG9uLXBhZGRpbmcsIDEwcHggMzBweCk7XG4gICAgY29sb3I6ICMwNjA1MmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXItd2lkdGg6IDJweDtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC42cHg7XG4gICAgd29yZC1zcGFjaW5nOiAycHg7XG4gICAgYm9yZGVyLWNvbG9yOiAjZWVlZWVlO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC44cztcbiAgICAvKlxyXG4gICAgICAgIC0tLSBJY29uIGNvbmZpZ3VyYXRpb24gLS0tXHJcbiAgICAgICAgLSAkaWNwb3NpdGlvbiA9PiBCZWZvcmUgb3IgYWZ0ZXIgdGV4dFxyXG4gICAgICAgIC0gbWFyZ2luID0+IGljb24gbWFyZ2luXHJcbiAgICAgICAgLSBjb2xvdXIgPT4gaWNvbiBjb2xvdXIgc3RhdGVzICggZGVmYXVsdCwgaG92ZXIgJiBhY3RpdmUgKVxyXG4gICAgICAgIC0gc2l6ZSA9PiBpY29uIHNpemUuXHJcbiAgICAgICAgLSBjb250ZW50ID0+IHRoZSBmb250IGljb24gaXRzZWxmLCBub3JtYWxseSBzdG9yZWQgaW4gJHNpdGUtaWNvbnNcclxuICAgICAgICAtIGZvbnQtZmFtaWx5ID0+IHRoZSBmb250IGZhbWlseSB0aGF0IHRoZSBpY29uIGJlbG9uZ3MgdG8gZm9udCBhd2Vzb21lIG9yIGZvbnRlbGxvLlxyXG4gICAgICAgICovXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICNiYXNrZXQtY29udHJvbHMgLnVwZGF0ZS1iYXNrZXQge1xuICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1sYXJnZS1tYXJnaW4sIDApOyB9IH1cbiAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgICAgI2Jhc2tldC1jb250cm9scyAudXBkYXRlLWJhc2tldDpob3ZlciwgI2Jhc2tldC1jb250cm9scyAudXBkYXRlLWJhc2tldC5ob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWU5NDYxO1xuICAgICAgICBib3JkZXItY29sb3I6ICNhZTk0NjE7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAgICAgI2Jhc2tldC1jb250cm9scyAudXBkYXRlLWJhc2tldDpob3ZlcjphZnRlciwgI2Jhc2tldC1jb250cm9scyAudXBkYXRlLWJhc2tldC5ob3ZlcjphZnRlciB7XG4gICAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAgICAgICAjYmFza2V0LWNvbnRyb2xzIC51cGRhdGUtYmFza2V0OmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsICNiYXNrZXQtY29udHJvbHMgLnVwZGF0ZS1iYXNrZXQuaG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH0gfVxuICAgICNiYXNrZXQtY29udHJvbHMgLnVwZGF0ZS1iYXNrZXQ6YWN0aXZlLCAjYmFza2V0LWNvbnRyb2xzIC51cGRhdGUtYmFza2V0LmFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDYwNTJmO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMDYwNTJmO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAjYmFza2V0LWNvbnRyb2xzIC51cGRhdGUtYmFza2V0OmRpc2FibGVkLCAjYmFza2V0LWNvbnRyb2xzIC51cGRhdGUtYmFza2V0LmRpc2FibGVkLCAjYmFza2V0LWNvbnRyb2xzIC51cGRhdGUtYmFza2V0W2Rpc2FibGVkXSB7XG4gICAgICBjb2xvcjogI2FlYWVhZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMjAwLCAyMDAsIDIwMCwgMC43KTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAgICNiYXNrZXQtY29udHJvbHMgLnVwZGF0ZS1iYXNrZXQ6ZGlzYWJsZWQ6YWZ0ZXIsICNiYXNrZXQtY29udHJvbHMgLnVwZGF0ZS1iYXNrZXQuZGlzYWJsZWQ6YWZ0ZXIsICNiYXNrZXQtY29udHJvbHMgLnVwZGF0ZS1iYXNrZXRbZGlzYWJsZWRdOmFmdGVyIHtcbiAgICAgICAgY29sb3I6ICM5MjkyOTI7IH1cbiAgICAjYmFza2V0LWNvbnRyb2xzIC51cGRhdGUtYmFza2V0OmRpc2FibGVkOmhvdmVyLCAjYmFza2V0LWNvbnRyb2xzIC51cGRhdGUtYmFza2V0LmRpc2FibGVkOmhvdmVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMDAsIDIwMCwgMjAwLCAwLjcpOyB9XG4gICAgI2Jhc2tldC1jb250cm9scyAudXBkYXRlLWJhc2tldDpmb2N1cy12aXNpYmxlIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpOyB9XG4gICAgI2Jhc2tldC1jb250cm9scyAudXBkYXRlLWJhc2tldDphZnRlciB7XG4gICAgICBjb250ZW50OiBcIu+AoVwiO1xuICAgICAgbWFyZ2luOiAwIDAgMCAxMHB4O1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICBjb2xvcjogI2FlYWVhZTtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgICAjYmFza2V0LWNvbnRyb2xzIC51cGRhdGUtYmFza2V0IC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG4gICNiYXNrZXQtY29udHJvbHMgLmVtcHR5LWJhc2tldCB7XG4gICAgLS1jb21wb25lbnQtc3BlY2lmYy1zdGVwLWhlaWdodDogMTVweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1zbWFsbC1tYXJnaW4sIDApO1xuICAgIHBhZGRpbmc6IHZhcigtLWNvbW1vbi1idXR0b24tcGFkZGluZywgMTBweCAzMHB4KTtcbiAgICBjb2xvcjogIzA2MDUyZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJvcmRlci13aWR0aDogMnB4O1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjZweDtcbiAgICB3b3JkLXNwYWNpbmc6IDJweDtcbiAgICBib3JkZXItY29sb3I6ICNlZWVlZWU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjhzO1xuICAgIC8qXHJcbiAgICAgICAgLS0tIEljb24gY29uZmlndXJhdGlvbiAtLS1cclxuICAgICAgICAtICRpY3Bvc2l0aW9uID0+IEJlZm9yZSBvciBhZnRlciB0ZXh0XHJcbiAgICAgICAgLSBtYXJnaW4gPT4gaWNvbiBtYXJnaW5cclxuICAgICAgICAtIGNvbG91ciA9PiBpY29uIGNvbG91ciBzdGF0ZXMgKCBkZWZhdWx0LCBob3ZlciAmIGFjdGl2ZSApXHJcbiAgICAgICAgLSBzaXplID0+IGljb24gc2l6ZS5cclxuICAgICAgICAtIGNvbnRlbnQgPT4gdGhlIGZvbnQgaWNvbiBpdHNlbGYsIG5vcm1hbGx5IHN0b3JlZCBpbiAkc2l0ZS1pY29uc1xyXG4gICAgICAgIC0gZm9udC1mYW1pbHkgPT4gdGhlIGZvbnQgZmFtaWx5IHRoYXQgdGhlIGljb24gYmVsb25ncyB0byBmb250IGF3ZXNvbWUgb3IgZm9udGVsbG8uXHJcbiAgICAgICAgKi9cbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgI2Jhc2tldC1jb250cm9scyAuZW1wdHktYmFza2V0IHtcbiAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tbGFyZ2UtbWFyZ2luLCAwKTsgfSB9XG4gICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAgICNiYXNrZXQtY29udHJvbHMgLmVtcHR5LWJhc2tldDpob3ZlciwgI2Jhc2tldC1jb250cm9scyAuZW1wdHktYmFza2V0LmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNhZTk0NjE7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI2FlOTQ2MTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgICAgICAjYmFza2V0LWNvbnRyb2xzIC5lbXB0eS1iYXNrZXQ6aG92ZXI6YWZ0ZXIsICNiYXNrZXQtY29udHJvbHMgLmVtcHR5LWJhc2tldC5ob3ZlcjphZnRlciB7XG4gICAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAgICAgICAjYmFza2V0LWNvbnRyb2xzIC5lbXB0eS1iYXNrZXQ6aG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgI2Jhc2tldC1jb250cm9scyAuZW1wdHktYmFza2V0LmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9IH1cbiAgICAjYmFza2V0LWNvbnRyb2xzIC5lbXB0eS1iYXNrZXQ6YWN0aXZlLCAjYmFza2V0LWNvbnRyb2xzIC5lbXB0eS1iYXNrZXQuYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwNjA1MmY7XG4gICAgICBib3JkZXItY29sb3I6ICMwNjA1MmY7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgICNiYXNrZXQtY29udHJvbHMgLmVtcHR5LWJhc2tldDpkaXNhYmxlZCwgI2Jhc2tldC1jb250cm9scyAuZW1wdHktYmFza2V0LmRpc2FibGVkLCAjYmFza2V0LWNvbnRyb2xzIC5lbXB0eS1iYXNrZXRbZGlzYWJsZWRdIHtcbiAgICAgIGNvbG9yOiAjODg4ODg4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMDAsIDIwMCwgMjAwLCAwLjcpO1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICAgI2Jhc2tldC1jb250cm9scyAuZW1wdHktYmFza2V0OmRpc2FibGVkOmFmdGVyLCAjYmFza2V0LWNvbnRyb2xzIC5lbXB0eS1iYXNrZXQuZGlzYWJsZWQ6YWZ0ZXIsICNiYXNrZXQtY29udHJvbHMgLmVtcHR5LWJhc2tldFtkaXNhYmxlZF06YWZ0ZXIge1xuICAgICAgICBjb2xvcjogIzkyOTI5MjsgfVxuICAgICNiYXNrZXQtY29udHJvbHMgLmVtcHR5LWJhc2tldDpkaXNhYmxlZDpob3ZlciwgI2Jhc2tldC1jb250cm9scyAuZW1wdHktYmFza2V0LmRpc2FibGVkOmhvdmVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMDAsIDIwMCwgMjAwLCAwLjcpOyB9XG4gICAgI2Jhc2tldC1jb250cm9scyAuZW1wdHktYmFza2V0OmZvY3VzLXZpc2libGUge1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7IH1cbiAgICAjYmFza2V0LWNvbnRyb2xzIC5lbXB0eS1iYXNrZXQ6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCLvi61cIjtcbiAgICAgIG1hcmdpbjogMCAwIDAgMTBweDtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgY29sb3I6ICNhZWFlYWU7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gICAgI2Jhc2tldC1jb250cm9scyAuZW1wdHktYmFza2V0IC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG5cbi5xdWljay1vcmRlci1mb3JtLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGZsZXgtZ3JvdzogMTtcbiAgZ2FwOiAxNXB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAucXVpY2stb3JkZXItZm9ybS1jb250YWluZXIge1xuICAgICAgZmxleC1ncm93OiAwO1xuICAgICAgZ2FwOiAxNXB4OyB9IH1cbiAgLnF1aWNrLW9yZGVyLWZvcm0tY29udGFpbmVyIC5zZWFyY2gtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZ3JvdzogMTsgfVxuICAgIC5xdWljay1vcmRlci1mb3JtLWNvbnRhaW5lciAuc2VhcmNoLWNvbnRhaW5lciAuY29udHJvbC5zZWFyY2gge1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgZmxleC1ncm93OiAxOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5xdWljay1vcmRlci1mb3JtLWNvbnRhaW5lciAuc2VhcmNoLWNvbnRhaW5lciAuY29udHJvbC5zZWFyY2gge1xuICAgICAgICAgIG1heC13aWR0aDogNDE1cHg7IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAucXVpY2stb3JkZXItZm9ybS1jb250YWluZXIgLnNlYXJjaC1jb250YWluZXIgLmNvbnRyb2wuc2VhcmNoIGlucHV0IHtcbiAgICAgICAgICB3aWR0aDogMzA1cHg7IH0gfVxuICAgIC5xdWljay1vcmRlci1mb3JtLWNvbnRhaW5lciAuc2VhcmNoLWNvbnRhaW5lciAuaW5wdXQtcHJlZml4LWljb24ge1xuICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgICAgIHBhZGRpbmctbGVmdDogMTBweDsgfVxuICAgICAgLnF1aWNrLW9yZGVyLWZvcm0tY29udGFpbmVyIC5zZWFyY2gtY29udGFpbmVyIC5pbnB1dC1wcmVmaXgtaWNvbjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIitcIjtcbiAgICAgICAgY29sb3I6ICMwNjA1MmY7XG4gICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7IH1cbiAgICAucXVpY2stb3JkZXItZm9ybS1jb250YWluZXIgLnNlYXJjaC1jb250YWluZXIgLmZvcm0tZXJyb3Ige1xuICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9XG5cbi5iYXNrZXQtdG90YWwtY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiAxMHB4IDVweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzA2MDUyZjtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBjb2xvcjogI2ZmZmZmZjsgfVxuICAuYmFza2V0LXRvdGFsLWNvbnRhaW5lciAubGFiZWwge1xuICAgIG1hcmdpbi1yaWdodDogMTBweDsgfVxuXG4uYmFza2V0LXRvdGFsLXN0aWNreS1jb250YWluZXIge1xuICBoZWlnaHQ6IDAgIWltcG9ydGFudDtcbiAgei1pbmRleDogMTA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5iYXNrZXQtdG90YWwtc3RpY2t5LWNvbnRhaW5lciB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgLnN1bW1hcnktc3RpY2t5LWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5zdW1tYXJ5LXN0aWNreS1jb250YWluZXIge1xuICAgIHdpZHRoOiAzMTBweDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bzsgfSB9XG5cbiNiYXNrZXQtc3VtbWFyeSwgLnN1bW1hcnktY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWFyZ2luOiAwIDAgMjBweDtcbiAgcGFkZGluZzogNDBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTEwKTtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgICNiYXNrZXQtc3VtbWFyeSwgLnN1bW1hcnktY29udGFpbmVyIHtcbiAgICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwb3NpdGlvbjogdW5zZXQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgI2Jhc2tldC1zdW1tYXJ5LCAuc3VtbWFyeS1jb250YWluZXIge1xuICAgICAgd2lkdGg6IDMxMHB4O1xuICAgICAgbWFyZ2luOiAwIDAgMCBhdXRvOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICNiYXNrZXQtc3VtbWFyeS5pcy1zdHVjaywgLnN1bW1hcnktY29udGFpbmVyLmlzLXN0dWNrIHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDsgfSB9XG4gICNiYXNrZXQtc3VtbWFyeS5pcy1zdHVjazpub3QoLm5vLWFuaW1hdGUpLCAuc3VtbWFyeS1jb250YWluZXIuaXMtc3R1Y2s6bm90KC5uby1hbmltYXRlKSB7XG4gICAgdHJhbnNpdGlvbjogdG9wIDAuNnM7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICNiYXNrZXQtc3VtbWFyeS5pcy1hbmNob3JlZCwgLnN1bW1hcnktY29udGFpbmVyLmlzLWFuY2hvcmVkIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfSB9XG4gICNiYXNrZXQtc3VtbWFyeS5pcy1hbmNob3JlZC5pcy1hdC10b3AsIC5zdW1tYXJ5LWNvbnRhaW5lci5pcy1hbmNob3JlZC5pcy1hdC10b3Age1xuICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDsgfVxuICAjYmFza2V0LXN1bW1hcnkuaXMtYW5jaG9yZWQ6bm90KC5uby1hbmltYXRlKSwgLnN1bW1hcnktY29udGFpbmVyLmlzLWFuY2hvcmVkOm5vdCgubm8tYW5pbWF0ZSkge1xuICAgIHRyYW5zaXRpb246IHRvcCAwLjhzOyB9XG4gICNiYXNrZXQtc3VtbWFyeS5wcmVzZXQtMSAjdm91Y2hlci1jb250YWluZXIsIC5zdW1tYXJ5LWNvbnRhaW5lci5wcmVzZXQtMSAjdm91Y2hlci1jb250YWluZXIge1xuICAgIG9yZGVyOiAyOyB9XG4gICNiYXNrZXQtc3VtbWFyeS5wcmVzZXQtMSAjZ29vZHMtc3VtbWFyeS12YWx1ZSwgLnN1bW1hcnktY29udGFpbmVyLnByZXNldC0xICNnb29kcy1zdW1tYXJ5LXZhbHVlIHtcbiAgICBvcmRlcjogMzsgfVxuICAjYmFza2V0LXN1bW1hcnkucHJlc2V0LTEgI3ZvdWNoZXItc3VtbWFyeS12YWx1ZSwgLnN1bW1hcnktY29udGFpbmVyLnByZXNldC0xICN2b3VjaGVyLXN1bW1hcnktdmFsdWUge1xuICAgIG9yZGVyOiA0OyB9XG4gICNiYXNrZXQtc3VtbWFyeS5wcmVzZXQtMSAjZGVsaXZlcnktc3VtbWFyeS12YWx1ZSwgLnN1bW1hcnktY29udGFpbmVyLnByZXNldC0xICNkZWxpdmVyeS1zdW1tYXJ5LXZhbHVlIHtcbiAgICBvcmRlcjogNTsgfVxuICAjYmFza2V0LXN1bW1hcnkucHJlc2V0LTEgI3RvdGFsLXZhbHVlLCAuc3VtbWFyeS1jb250YWluZXIucHJlc2V0LTEgI3RvdGFsLXZhbHVlIHtcbiAgICBvcmRlcjogNjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAjYmFza2V0LXN1bW1hcnkucHJlc2V0LTEgI3RvdGFsLXZhbHVlOmJlZm9yZSwgLnN1bW1hcnktY29udGFpbmVyLnByZXNldC0xICN0b3RhbC12YWx1ZTpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMXB4O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46IDIwcHggMDtcbiAgICAgIGJvcmRlci13aWR0aDogMCAwIDFweCAwO1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgIGJvcmRlci1jb2xvcjogI2FlYWVhZTtcbiAgICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICAgI2Jhc2tldC1zdW1tYXJ5LnByZXNldC0xICN0b3RhbC12YWx1ZTphZnRlciwgLnN1bW1hcnktY29udGFpbmVyLnByZXNldC0xICN0b3RhbC12YWx1ZTphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbjogMjBweCAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAwIDAgMXB4IDA7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjYWVhZWFlO1xuICAgICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgI2Jhc2tldC1zdW1tYXJ5LnByZXNldC0xICNuZXQtc3VtbWFyeS12YWx1ZSwgLnN1bW1hcnktY29udGFpbmVyLnByZXNldC0xICNuZXQtc3VtbWFyeS12YWx1ZSB7XG4gICAgb3JkZXI6IDc7IH1cbiAgI2Jhc2tldC1zdW1tYXJ5LnByZXNldC0xICN2YXQtc3VtbWFyeS12YWx1ZSwgLnN1bW1hcnktY29udGFpbmVyLnByZXNldC0xICN2YXQtc3VtbWFyeS12YWx1ZSB7XG4gICAgb3JkZXI6IDg7IH1cbiAgI2Jhc2tldC1zdW1tYXJ5LnByZXNldC0xICN2YXQtaW5wdXQtY29udGFpbmVyLCAuc3VtbWFyeS1jb250YWluZXIucHJlc2V0LTEgI3ZhdC1pbnB1dC1jb250YWluZXIge1xuICAgIG9yZGVyOiA5OyB9XG4gICNiYXNrZXQtc3VtbWFyeS5wcmVzZXQtMSAjZWRpdC1iYXNrZXQtY29udGFpbmVyLCAuc3VtbWFyeS1jb250YWluZXIucHJlc2V0LTEgI2VkaXQtYmFza2V0LWNvbnRhaW5lciB7XG4gICAgb3JkZXI6IDEwOyB9XG4gICNiYXNrZXQtc3VtbWFyeS5wcmVzZXQtMSAjc3VtbWFyeS13YXJuaW5nLWNvbnRhaW5lciwgLnN1bW1hcnktY29udGFpbmVyLnByZXNldC0xICNzdW1tYXJ5LXdhcm5pbmctY29udGFpbmVyIHtcbiAgICBvcmRlcjogMTE7IH1cbiAgI2Jhc2tldC1zdW1tYXJ5LnByZXNldC0xIC5jaGVja291dC1idXR0b25zLWNvbnRhaW5lciwgLnN1bW1hcnktY29udGFpbmVyLnByZXNldC0xIC5jaGVja291dC1idXR0b25zLWNvbnRhaW5lciB7XG4gICAgb3JkZXI6IDEyOyB9XG4gICNiYXNrZXQtc3VtbWFyeS5wcmVzZXQtMiAjdm91Y2hlci1jb250YWluZXIsIC5zdW1tYXJ5LWNvbnRhaW5lci5wcmVzZXQtMiAjdm91Y2hlci1jb250YWluZXIge1xuICAgIG9yZGVyOiAyOyB9XG4gICNiYXNrZXQtc3VtbWFyeS5wcmVzZXQtMiAjZ29vZHMtc3VtbWFyeS12YWx1ZSwgLnN1bW1hcnktY29udGFpbmVyLnByZXNldC0yICNnb29kcy1zdW1tYXJ5LXZhbHVlIHtcbiAgICBvcmRlcjogMzsgfVxuICAjYmFza2V0LXN1bW1hcnkucHJlc2V0LTIgI3ZvdWNoZXItc3VtbWFyeS12YWx1ZSwgLnN1bW1hcnktY29udGFpbmVyLnByZXNldC0yICN2b3VjaGVyLXN1bW1hcnktdmFsdWUge1xuICAgIG9yZGVyOiA0OyB9XG4gICNiYXNrZXQtc3VtbWFyeS5wcmVzZXQtMiAjZGVsaXZlcnktc3VtbWFyeS12YWx1ZSwgLnN1bW1hcnktY29udGFpbmVyLnByZXNldC0yICNkZWxpdmVyeS1zdW1tYXJ5LXZhbHVlIHtcbiAgICBvcmRlcjogNTsgfVxuICAjYmFza2V0LXN1bW1hcnkucHJlc2V0LTIgI3RvdGFsLXZhbHVlLCAuc3VtbWFyeS1jb250YWluZXIucHJlc2V0LTIgI3RvdGFsLXZhbHVlIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG9yZGVyOiA4OyB9XG4gICAgI2Jhc2tldC1zdW1tYXJ5LnByZXNldC0yICN0b3RhbC12YWx1ZTpiZWZvcmUsIC5zdW1tYXJ5LWNvbnRhaW5lci5wcmVzZXQtMiAjdG90YWwtdmFsdWU6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDFweDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiAyMHB4IDA7XG4gICAgICBib3JkZXItd2lkdGg6IDAgMCAxcHggMDtcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICBib3JkZXItY29sb3I6ICNhZWFlYWU7XG4gICAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAjYmFza2V0LXN1bW1hcnkucHJlc2V0LTIgI25ldC1zdW1tYXJ5LXZhbHVlLCAuc3VtbWFyeS1jb250YWluZXIucHJlc2V0LTIgI25ldC1zdW1tYXJ5LXZhbHVlIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG9yZGVyOiA2O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICNiYXNrZXQtc3VtbWFyeS5wcmVzZXQtMiAjbmV0LXN1bW1hcnktdmFsdWU6YmVmb3JlLCAuc3VtbWFyeS1jb250YWluZXIucHJlc2V0LTIgI25ldC1zdW1tYXJ5LXZhbHVlOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbjogMjBweCAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAwIDAgMXB4IDA7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjYWVhZWFlO1xuICAgICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgI2Jhc2tldC1zdW1tYXJ5LnByZXNldC0yICN2YXQtc3VtbWFyeS12YWx1ZSwgLnN1bW1hcnktY29udGFpbmVyLnByZXNldC0yICN2YXQtc3VtbWFyeS12YWx1ZSB7XG4gICAgb3JkZXI6IDc7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICNiYXNrZXQtc3VtbWFyeS5wcmVzZXQtMiAjdmF0LWlucHV0LWNvbnRhaW5lciwgLnN1bW1hcnktY29udGFpbmVyLnByZXNldC0yICN2YXQtaW5wdXQtY29udGFpbmVyIHtcbiAgICBvcmRlcjogOTsgfVxuICAjYmFza2V0LXN1bW1hcnkucHJlc2V0LTIgI2VkaXQtYmFza2V0LWNvbnRhaW5lciwgLnN1bW1hcnktY29udGFpbmVyLnByZXNldC0yICNlZGl0LWJhc2tldC1jb250YWluZXIge1xuICAgIG9yZGVyOiAxMDsgfVxuICAjYmFza2V0LXN1bW1hcnkucHJlc2V0LTIgI3N1bW1hcnktd2FybmluZy1jb250YWluZXIsIC5zdW1tYXJ5LWNvbnRhaW5lci5wcmVzZXQtMiAjc3VtbWFyeS13YXJuaW5nLWNvbnRhaW5lciB7XG4gICAgb3JkZXI6IDExOyB9XG4gICNiYXNrZXQtc3VtbWFyeS5wcmVzZXQtMiAuY2hlY2tvdXQtYnV0dG9ucy1jb250YWluZXIsIC5zdW1tYXJ5LWNvbnRhaW5lci5wcmVzZXQtMiAuY2hlY2tvdXQtYnV0dG9ucy1jb250YWluZXIge1xuICAgIG9yZGVyOiAxMjsgfVxuICAjYmFza2V0LXN1bW1hcnkgLmJhc2tldC1zdW1tYXJ5LWhlYWRpbmcsICNiYXNrZXQtc3VtbWFyeSAuc3VtbWFyeS1oZWFkaW5nLCAuc3VtbWFyeS1jb250YWluZXIgLmJhc2tldC1zdW1tYXJ5LWhlYWRpbmcsIC5zdW1tYXJ5LWNvbnRhaW5lciAuc3VtbWFyeS1oZWFkaW5nIHtcbiAgICBtYXJnaW46IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogIzA2MDUyZjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHdvcmQtc3BhY2luZzogMnB4OyB9XG4gICNiYXNrZXQtc3VtbWFyeSAuc3VtbWFyeS1pbnRyby1jb250YWluZXIsIC5zdW1tYXJ5LWNvbnRhaW5lciAuc3VtbWFyeS1pbnRyby1jb250YWluZXIge1xuICAgIG1hcmdpbjogMCAwIDIwcHg7IH1cbiAgICAjYmFza2V0LXN1bW1hcnkgLnN1bW1hcnktaW50cm8tY29udGFpbmVyIHAsIC5zdW1tYXJ5LWNvbnRhaW5lciAuc3VtbWFyeS1pbnRyby1jb250YWluZXIgcCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07IH1cbiAgI2Jhc2tldC1zdW1tYXJ5IC5zdW1tYXJ5LWl0ZW0sIC5zdW1tYXJ5LWNvbnRhaW5lciAuc3VtbWFyeS1pdGVtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBwYWRkaW5nOiA1cHggMCAwO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgICNiYXNrZXQtc3VtbWFyeSAuc3VtbWFyeS1pdGVtLmhpZ2hsaWdodGVkLCAuc3VtbWFyeS1jb250YWluZXIgLnN1bW1hcnktaXRlbS5oaWdobGlnaHRlZCB7XG4gICAgICBjb2xvcjogdmFyKC0tYWNjZW50LWNvbG91ci0xLWxpZ2h0bmVzcy0wKTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgICAjYmFza2V0LXN1bW1hcnkgLnN1bW1hcnktaXRlbSBzcGFuLCAuc3VtbWFyeS1jb250YWluZXIgLnN1bW1hcnktaXRlbSBzcGFuIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgICAgI2Jhc2tldC1zdW1tYXJ5IC5zdW1tYXJ5LWl0ZW0gc3Bhbi52YWx1ZSwgI2Jhc2tldC1zdW1tYXJ5IC5zdW1tYXJ5LWl0ZW0gc3Bhbi5sYWJlbCwgLnN1bW1hcnktY29udGFpbmVyIC5zdW1tYXJ5LWl0ZW0gc3Bhbi52YWx1ZSwgLnN1bW1hcnktY29udGFpbmVyIC5zdW1tYXJ5LWl0ZW0gc3Bhbi5sYWJlbCB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAjYmFza2V0LXN1bW1hcnkgLnN1bW1hcnktaXRlbSBzcGFuLmxhYmVsLCAuc3VtbWFyeS1jb250YWluZXIgLnN1bW1hcnktaXRlbSBzcGFuLmxhYmVsIHtcbiAgICAgICAgbWF4LXdpZHRoOiA2MCU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgICAgICNiYXNrZXQtc3VtbWFyeSAuc3VtbWFyeS1pdGVtIHNwYW4udmFsdWUsIC5zdW1tYXJ5LWNvbnRhaW5lciAuc3VtbWFyeS1pdGVtIHNwYW4udmFsdWUge1xuICAgICAgICBtYXgtd2lkdGg6IDQwJTtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgICAjYmFza2V0LXN1bW1hcnkgLnN1bW1hcnktaXRlbSAuaW5jVmF0LCAuc3VtbWFyeS1jb250YWluZXIgLnN1bW1hcnktaXRlbSAuaW5jVmF0IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgZm9udC1zdHlsZTogaXRhbGljOyB9XG4gICNiYXNrZXQtc3VtbWFyeSAjdG90YWwtdmFsdWUgLmxhYmVsLCAjYmFza2V0LXN1bW1hcnkgI3RvdGFsLXZhbHVlIC52YWx1ZSwgLnN1bW1hcnktY29udGFpbmVyICN0b3RhbC12YWx1ZSAubGFiZWwsIC5zdW1tYXJ5LWNvbnRhaW5lciAjdG90YWwtdmFsdWUgLnZhbHVlIHtcbiAgICBjb2xvcjogIzA2MDUyZjtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICNiYXNrZXQtc3VtbWFyeSAjZWRpdC1iYXNrZXQtY29udGFpbmVyLCAuc3VtbWFyeS1jb250YWluZXIgI2VkaXQtYmFza2V0LWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbjogMzBweCA3cHggMCAwO1xuICAgIGNvbG9yOiAjMDYwNTJmO1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAgICNiYXNrZXQtc3VtbWFyeSAjZWRpdC1iYXNrZXQtY29udGFpbmVyOmFmdGVyLCAuc3VtbWFyeS1jb250YWluZXIgI2VkaXQtYmFza2V0LWNvbnRhaW5lcjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIu+KkVwiO1xuICAgICAgd2lkdGg6IDEwcHg7XG4gICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICBsaW5lLWhlaWdodDogMTsgfVxuICAgICNiYXNrZXQtc3VtbWFyeSAjZWRpdC1iYXNrZXQtY29udGFpbmVyOmhvdmVyLCAuc3VtbWFyeS1jb250YWluZXIgI2VkaXQtYmFza2V0LWNvbnRhaW5lcjpob3ZlciB7XG4gICAgICBjb2xvcjogI2FlOTQ2MTsgfVxuICAgICNiYXNrZXQtc3VtbWFyeSAjZWRpdC1iYXNrZXQtY29udGFpbmVyOmFjdGl2ZSwgLnN1bW1hcnktY29udGFpbmVyICNlZGl0LWJhc2tldC1jb250YWluZXI6YWN0aXZlIHtcbiAgICAgIGNvbG9yOiAjNzc3Nzc3OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgI2RlbGl2ZXJ5LXNlbGVjdG9yIHtcbiAgICB3aWR0aDogNTAlOyB9IH1cblxuI2RlbGl2ZXJ5LXNlbGVjdG9yIHNlbGVjdCwgI2RlbGl2ZXJ5LXNlbGVjdG9yIGxhYmVsIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuI2RlbGl2ZXJ5LXNlbGVjdG9yIC5kZWxpdmVyeS1sYWJlbCB7XG4gIG1hcmdpbjogMTBweCAwO1xuICBjb2xvcjogIzA2MDUyZjtcbiAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICNkZWxpdmVyeS1zZWxlY3RvciAuZGVsaXZlcnktc2VydmljZSwgI2RlbGl2ZXJ5LXNlbGVjdG9yIC5kZWxpdmVyeS1hcmVhIHtcbiAgICB3aWR0aDogNDA1cHg7XG4gICAgbWFyZ2luOiAwIDAgMCBhdXRvOyB9IH1cblxuI2RlbGl2ZXJ5LXNlbGVjdG9yIC5kZWxpdmVyeS1zZXJ2aWNlLmRpc2FibGVkIHtcbiAgb3BhY2l0eTogMC41OyB9XG5cbi5saW5rLWZhaWxlZC1jb250YWluZXIge1xuICBtYXJnaW46IDAgMCA1MHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmxpbmstZmFpbGVkLWNvbnRhaW5lciAubGluay1mYWlsZWQtaGVhZGluZyB7XG4gICAgbWFyZ2luOiAwIDAgMzBweDtcbiAgICBjb2xvcjogI2ZmMDEwMTtcbiAgICBmb250LXNpemU6IDEuMzc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgLmxpbmstZmFpbGVkLWNvbnRhaW5lciAucHJpbWFyeS1idXR0b24ge1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuXG4uYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIFtjbGFzcyo9XCItaWNvblwiXTpiZWZvcmUge1xuICBjb250ZW50OiBcIu6hg1wiOyB9XG5cbi5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgW2NsYXNzKj1cIi1pY29uXCJdLmN1c3RvbWVyLWFzc2V0czpiZWZvcmUsIC5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgW2NsYXNzKj1cIi1pY29uXCJdLmZ1bmN0aW9uLTE6YmVmb3JlIHtcbiAgY29udGVudDogXCLuoKVcIjsgfVxuXG4uYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIFtjbGFzcyo9XCItaWNvblwiXS5icmFuY2gtc3dpdGNoZXI6YmVmb3JlLCAuYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIFtjbGFzcyo9XCItaWNvblwiXS5hY2NvdW50LXN3aXRjaGVyOmJlZm9yZSwgLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSBbY2xhc3MqPVwiLWljb25cIl0uZnVuY3Rpb24tMjpiZWZvcmUge1xuICBjb250ZW50OiBcIu6ggFwiOyB9XG5cbi5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgW2NsYXNzKj1cIi1pY29uXCJdLm1hbmFnZS1jYWxsczpiZWZvcmUsIC5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgW2NsYXNzKj1cIi1pY29uXCJdLmZ1bmN0aW9uLTM6YmVmb3JlIHtcbiAgY29udGVudDogXCLuoJ5cIjsgfVxuXG4uYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIFtjbGFzcyo9XCItaWNvblwiXS5jaGFuZ2UtZGV0YWlsczpiZWZvcmUsIC5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgW2NsYXNzKj1cIi1pY29uXCJdLmZ1bmN0aW9uLTQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLuoIFcIjsgfVxuXG4uYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIFtjbGFzcyo9XCItaWNvblwiXS5jb250YWN0LXByZWZlcmVuY2VzOmJlZm9yZSwgLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSBbY2xhc3MqPVwiLWljb25cIl0uZnVuY3Rpb24tNTpiZWZvcmUge1xuICBjb250ZW50OiBcIu6ghVwiOyB9XG5cbi5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgW2NsYXNzKj1cIi1pY29uXCJdLmNvbnRyYWN0LWl0ZW1zOmJlZm9yZSwgLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSBbY2xhc3MqPVwiLWljb25cIl0uZnVuY3Rpb24tNjpiZWZvcmUge1xuICBjb250ZW50OiBcIu6ghlwiOyB9XG5cbi5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgW2NsYXNzKj1cIi1pY29uXCJdLnNlcnZpY2UtY29udHJhY3RzOmJlZm9yZSwgLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSBbY2xhc3MqPVwiLWljb25cIl0uZnVuY3Rpb24tNzpiZWZvcmUge1xuICBjb250ZW50OiBcIu6hgFwiOyB9XG5cbi5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgW2NsYXNzKj1cIi1pY29uXCJdLnNvZnR3YXJlLWRldmVsb3BtZW50LWxvZ3M6YmVmb3JlLCAuYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIFtjbGFzcyo9XCItaWNvblwiXS5mdW5jdGlvbi04OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qGFXCI7XG4gIGNvbG9yOiAjNjYzMzk5OyB9XG5cbi5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgW2NsYXNzKj1cIi1pY29uXCJdLmRpcGxvbWF0LXVwZGF0ZS1kb3dubG9hZDpiZWZvcmUsIC5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgW2NsYXNzKj1cIi1pY29uXCJdLmZ1bmN0aW9uLTk6YmVmb3JlIHtcbiAgY29udGVudDogXCLuoYFcIjtcbiAgY29sb3I6ICM2NjMzOTk7IH1cblxuLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSBbY2xhc3MqPVwiLWljb25cIl0ub25saW5lLWRvY3VtZW50YXRpb246YmVmb3JlLCAuYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIFtjbGFzcyo9XCItaWNvblwiXS5mdW5jdGlvbi0xMDpiZWZvcmUsIC5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgW2NsYXNzKj1cIi1pY29uXCJdLmZ1bmN0aW9uLTM0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qGEXCI7IH1cblxuLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSBbY2xhc3MqPVwiLWljb25cIl0uZmF2b3VyaXRlczpiZWZvcmUsIC5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgW2NsYXNzKj1cIi1pY29uXCJdLmZ1bmN0aW9uLTExOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74CEXCI7XG4gIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBSZWd1bGFyXCI7IH1cblxuLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSBbY2xhc3MqPVwiLWljb25cIl0ubG9nb3V0OmJlZm9yZSwgLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSBbY2xhc3MqPVwiLWljb25cIl0uZnVuY3Rpb24tMTM6YmVmb3JlIHtcbiAgY29udGVudDogXCLuoIpcIjsgfVxuXG4uYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIFtjbGFzcyo9XCItaWNvblwiXS52aWV3LW9yZGVyczpiZWZvcmUsIC5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgW2NsYXNzKj1cIi1pY29uXCJdLmZ1bmN0aW9uLTE1OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qCOXCI7IH1cblxuLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSBbY2xhc3MqPVwiLWljb25cIl0uY2hhbmdlLXBhc3N3b3JkOmJlZm9yZSwgLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSBbY2xhc3MqPVwiLWljb25cIl0uZnVuY3Rpb24tMTY6YmVmb3JlIHtcbiAgY29udGVudDogXCLuoIJcIjsgfVxuXG4uYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIFtjbGFzcyo9XCItaWNvblwiXS5tYW5hZ2UtY2FyZHM6YmVmb3JlLCAuYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIFtjbGFzcyo9XCItaWNvblwiXS5mdW5jdGlvbi0xNzpiZWZvcmUge1xuICBjb250ZW50OiBcIu6gjFwiOyB9XG5cbi5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgW2NsYXNzKj1cIi1pY29uXCJdLnBheW1lbnQtcmVxdWVzdHM6YmVmb3JlLCAuYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIFtjbGFzcyo9XCItaWNvblwiXS5mdW5jdGlvbi0xODpiZWZvcmUge1xuICBjb250ZW50OiBcIu6gplwiOyB9XG5cbi5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgW2NsYXNzKj1cIi1pY29uXCJdLmRvd25sb2FkLXByaWNlLWxpc3RzOmJlZm9yZSwgLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSBbY2xhc3MqPVwiLWljb25cIl0uZnVuY3Rpb24tMTk6YmVmb3JlIHtcbiAgY29udGVudDogXCLuobpcIjsgfVxuXG4uYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIFtjbGFzcyo9XCItaWNvblwiXS5yZWNlbnRseS1wdXJjaGFzZWQ6YmVmb3JlLCAuYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIFtjbGFzcyo9XCItaWNvblwiXS5mdW5jdGlvbi0yMTpiZWZvcmUge1xuICBjb250ZW50OiBcIu6gj1wiOyB9XG5cbi5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgW2NsYXNzKj1cIi1pY29uXCJdLnNpdGUtbGlzdDpiZWZvcmUsIC5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgW2NsYXNzKj1cIi1pY29uXCJdLmZ1bmN0aW9uLTIyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qC/XCI7XG4gIGNvbG9yOiAjNWY3YjI3OyB9XG5cbi5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgW2NsYXNzKj1cIi1pY29uXCJdLnN0YXRlbWVudDpiZWZvcmUsIC5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgW2NsYXNzKj1cIi1pY29uXCJdLmZ1bmN0aW9uLTI0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qCHXCI7IH1cblxuLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSBbY2xhc3MqPVwiLWljb25cIl0uaGlzdG9yaWNhbC10cmFuc2FjdGlvbnM6YmVmb3JlLCAuYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIFtjbGFzcyo9XCItaWNvblwiXS5mdW5jdGlvbi0yNTpiZWZvcmUge1xuICBjb250ZW50OiBcIu6giVwiOyB9XG5cbi5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgW2NsYXNzKj1cIi1pY29uXCJdLnVwbG9hZC1iYXNrZXQ6YmVmb3JlLCAuYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIFtjbGFzcyo9XCItaWNvblwiXS5mdW5jdGlvbi0yNjpiZWZvcmUge1xuICBjb250ZW50OiBcIu6gtlwiOyB9XG5cbi5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgW2NsYXNzKj1cIi1pY29uXCJdLnVwbG9hZC1vcmRlcnM6YmVmb3JlLCAuYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIFtjbGFzcyo9XCItaWNvblwiXS5mdW5jdGlvbi0yNzpiZWZvcmUge1xuICBjb250ZW50OiBcIu6gtVwiOyB9XG5cbi5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgW2NsYXNzKj1cIi1pY29uXCJdLm1hbmFnZS11c2VyczpiZWZvcmUsIC5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgW2NsYXNzKj1cIi1pY29uXCJdLmZ1bmN0aW9uLTI4OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qCNXCI7IH1cblxuLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSBbY2xhc3MqPVwiLWljb25cIl0uZW1wbG95ZWUtc3RhdHVzOmJlZm9yZSwgLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSBbY2xhc3MqPVwiLWljb25cIl0uZnVuY3Rpb24tMjk6YmVmb3JlIHtcbiAgY29udGVudDogXCLuoYtcIjsgfVxuXG4uYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIFtjbGFzcyo9XCItaWNvblwiXS5kaXBsb21hdC11cGRhdGUtZGF0YWJhc2U6YmVmb3JlLCAuYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIFtjbGFzcyo9XCItaWNvblwiXS5mdW5jdGlvbi0zMDpiZWZvcmUge1xuICBjb250ZW50OiBcIu6hglwiO1xuICBjb2xvcjogIzY2MzM5OTsgfVxuXG4uYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIFtjbGFzcyo9XCItaWNvblwiXS5mdW5jdGlvbi0zMTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+FulwiO1xuICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgQnJhbmRzXCI7XG4gIGNvbG9yOiAjMzM2Njk5OyB9XG5cbi5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgW2NsYXNzKj1cIi1pY29uXCJdLmZ1bmN0aW9uLTMyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qGSXCI7XG4gIGNvbG9yOiAjMzM2Njk5OyB9XG5cbi5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgW2NsYXNzKj1cIi1pY29uXCJdLmZ1bmN0aW9uLTMzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qClXCI7XG4gIGNvbG9yOiAjMzM2Njk5OyB9XG5cbi5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgW2NsYXNzKj1cIi1pY29uXCJdLmZ1bmN0aW9uLTM0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74GLXCI7XG4gIHdpZHRoOiAzMHB4O1xuICBoZWlnaHQ6IDMwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgZm9udC1zaXplOiAxN3B4O1xuICBib3JkZXItcmFkaXVzOiA0MHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMCk7XG4gIGNvbG9yOiB2YXIoLS13aGl0ZS1jb2xvdXIpO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnMsIGNvbG9yIDAuNnM7IH1cblxuLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSBbY2xhc3MqPVwiLWljb25cIl0uZnVuY3Rpb24tMzU6YmVmb3JlIHtcbiAgY29udGVudDogXCLuoYFcIjtcbiAgY29sb3I6ICM2NjMzOTk7IH1cblxuLm1lbnUgLmFjY291bnQtbWVudS1zZWN0aW9ucyB7XG4gIG1hcmdpbi10b3A6IDEwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5tZW51IC5hY2NvdW50LW1lbnUtc2VjdGlvbnMge1xuICAgICAgbWFyZ2luLXRvcDogMDsgfSB9XG4gIC5tZW51IC5hY2NvdW50LW1lbnUtc2VjdGlvbnMgLmFjY291bnQtcGFnZSBhIHtcbiAgICBnYXA6IDEwcHg7XG4gICAgcGFkZGluZzogNXB4OyB9XG4gICAgLm1lbnUgLmFjY291bnQtbWVudS1zZWN0aW9ucyAuYWNjb3VudC1wYWdlIGEgLnBhZ2UtaWNvbiB7XG4gICAgICBmb250LXNpemU6IDIwcHg7IH1cbiAgICAgIC5tZW51IC5hY2NvdW50LW1lbnUtc2VjdGlvbnMgLmFjY291bnQtcGFnZSBhIC5wYWdlLWljb24uY2hhbmdlLXBhc3N3b3JkLCAubWVudSAuYWNjb3VudC1tZW51LXNlY3Rpb25zIC5hY2NvdW50LXBhZ2UgYSAucGFnZS1pY29uLmZ1bmN0aW9uLTE2IHtcbiAgICAgICAgZm9udC1zaXplOiA1LjMzMzMzcHg7IH1cbiAgLm1lbnUgLmFjY291bnQtbWVudS1zZWN0aW9ucyAuYWNjb3VudC1tZW51LWhlYWRpbmctY29udGFpbmVyIHtcbiAgICBtYXJnaW46IDVweCAwIDEwcHg7IH1cblxuLmFjY291bnQtbWVudS1oZWFkaW5nLWNvbnRhaW5lciB7XG4gIG1hcmdpbjogMzVweCAwIDIwcHg7IH1cblxuLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmNlbGwge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG5cbi5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2Uge1xuICBoZWlnaHQ6IDEwMCU7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICAuYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlLnNpdGUtc3R5bGUgc3BhbltjbGFzcyo9XCItaWNvblwiXTpiZWZvcmUge1xuICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMCk7IH1cbiAgLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSBhIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMzBweDtcbiAgICBwYWRkaW5nOiAxOXB4O1xuICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmM2YzZjM7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2YzZjNmMztcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cbiAgICAuYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIGE6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzA2MDUyZjtcbiAgICAgIGJvcmRlci1jb2xvcjogIzA2MDUyZjsgfVxuICAgICAgLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSBhOmhvdmVyIHNwYW5bY2xhc3MqPVwiLWRlc2NyaXB0aW9uXCJdIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgICAgIC5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgYTpob3ZlciBzcGFuW2NsYXNzKj1cIi1pY29uXCJdOmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnktY29sb3VyLWxpZ2h0bmVzcy0wKTtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAuYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIHNwYW5bY2xhc3MqPVwiLWRlc2NyaXB0aW9uXCJdIHtcbiAgICBmbGV4OiAxO1xuICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAuYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIHNwYW5bY2xhc3MqPVwiLWljb25cIl0ge1xuICAgIHdpZHRoOiA1MHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgIC5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2Ugc3BhbltjbGFzcyo9XCItaWNvblwiXTpiZWZvcmUge1xuICAgICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG9cIjtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTApO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gIC5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2U6aG92ZXIgc3BhbltjbGFzcyo9XCItaWNvblwiXS5mdW5jdGlvbi0zNDpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXdoaXRlLWNvbG91cik7XG4gICAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wKTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnMsIGNvbG9yIDAuNnM7IH1cblxuLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSAucGFnZS1pY29uIHtcbiAgZm9udC1zaXplOiAzMHB4OyB9XG4gIC5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgLnBhZ2UtaWNvbi5jaGFuZ2UtcGFzc3dvcmQsIC5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgLnBhZ2UtaWNvbi5mdW5jdGlvbi0xNiB7XG4gICAgZm9udC1zaXplOiA4cHg7IH1cbiAgLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSAucGFnZS1pY29uLmNoYW5nZS1kZXRhaWxzLCAuYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIC5wYWdlLWljb24uZnVuY3Rpb24tNCB7XG4gICAgZm9udC1zaXplOiAyNXB4OyB9XG4gIC5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgLnBhZ2UtaWNvbi5tYW5hZ2UtY2FyZHMsIC5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgLnBhZ2UtaWNvbi5mdW5jdGlvbi0xNyB7XG4gICAgZm9udC1zaXplOiAyM3B4OyB9XG4gIC5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgLnBhZ2UtaWNvbi5kaXBsb21hdC11cGRhdGUtZG93bmxvYWQsIC5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgLnBhZ2UtaWNvbi5mdW5jdGlvbi05IHtcbiAgICBmb250LXNpemU6IDI1cHg7IH1cbiAgLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSAucGFnZS1pY29uLmRpcGxvbWF0LXVwZGF0ZS1kb3dubG9hZCwgLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSAucGFnZS1pY29uLmZ1bmN0aW9uLTM1IHtcbiAgICBmb250LXNpemU6IDI1cHg7IH1cbiAgLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSAucGFnZS1pY29uLmxvZ291dCwgLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSAucGFnZS1pY29uLmZ1bmN0aW9uLTI5IHtcbiAgICBmb250LXNpemU6IDI1cHg7IH1cblxuLmFjY291bnQtbWVudSAuYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIC5wYWdlLWljb24ge1xuICBmb250LXNpemU6IDIwcHg7IH1cblxuLmFjY291bnQtbWVudSBoMiB7XG4gIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICBmb250LXNpemU6IDEuMjVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5hY2NvdW50LW1lbnUgaDIge1xuICAgICAgZm9udC1zaXplOiAxcmVtOyB9IH1cblxuI2FjY291bnQtcGFnZS1ncmlkIC5hY2NvdW50LXBhZ2Uge1xuICBwYWRkaW5nOiAwIDAgMjBweDsgfVxuICAjYWNjb3VudC1wYWdlLWdyaWQgLmFjY291bnQtcGFnZSBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAzNXB4IDIwcHggMzBweDsgfVxuXG4jYWNjb3VudC1wYWdlLWdyaWQgLnBhZ2UtaWNvbi5jaGFuZ2UtZGV0YWlsczpiZWZvcmUge1xuICBmb250LXNpemU6IDQ1cHg7IH1cblxuI2FjY291bnQtcGFnZS1ncmlkIC5wYWdlLWljb24uY2hhbmdlLXBhc3N3b3JkOmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogMTNweDsgfVxuXG4jYWNjb3VudC1wYWdlLWdyaWQgLnBhZ2UtaWNvbi5jb250cmFjdC1pdGVtczpiZWZvcmUge1xuICBmb250LXNpemU6IDY1cHg7IH1cblxuI2FjY291bnQtcGFnZS1ncmlkIC5wYWdlLWljb24uZmF2b3VyaXRlczpiZWZvcmUge1xuICBmb250LXNpemU6IDQ1cHg7IH1cblxuI2FjY291bnQtcGFnZS1ncmlkIC5wYWdlLWljb24udmlldy1vcmRlcnM6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA1NXB4OyB9XG5cbiNhY2NvdW50LXBhZ2UtZ3JpZCAucGFnZS1pY29uLnJlY2VudGx5LXB1cmNoYXNlZDpiZWZvcmUge1xuICBmb250LXNpemU6IDY1cHg7IH1cblxuI2FjY291bnQtcGFnZS1ncmlkIC5wYWdlLWljb24ubWFuYWdlLWNhcmRzOmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogMzVweDsgfVxuXG4jYWNjb3VudC1wYWdlLWdyaWQgLnBhZ2UtaWNvbi5zdGF0ZW1lbnQ6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA0NXB4OyB9XG5cbiNhY2NvdW50LXBhZ2UtZ3JpZCAucGFnZS1pY29uLm1hbmFnZS11c2VyczpiZWZvcmUge1xuICBmb250LXNpemU6IDU1cHg7IH1cblxuI2FjY291bnQtcGFnZS1ncmlkIC5wYWdlLWljb24uYnJhbmNoLXN3aXRjaGVyOmJlZm9yZSwgI2FjY291bnQtcGFnZS1ncmlkIC5wYWdlLWljb24uYWNjb3VudC1zd2l0Y2hlcjpiZWZvcmUge1xuICBmb250LXNpemU6IDYwcHg7IH1cblxuI2FjY291bnQtcGFnZS1ncmlkIC5wYWdlLWljb24uY29udGFjdC1wcmVmZXJlbmNlczpiZWZvcmUge1xuICBmb250LXNpemU6IDYwcHg7IH1cblxuI2FjY291bnQtcGFnZS1ncmlkIC5wYWdlLWljb24uaGlzdG9yaWNhbC10cmFuc2FjdGlvbnM6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA2MHB4OyB9XG5cbiNhY2NvdW50LXBhZ2UtZ3JpZCAucGFnZS1pY29uLnVwbG9hZC1iYXNrZXQ6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA0NXB4OyB9XG5cbiNhY2NvdW50LXBhZ2UtZ3JpZCAucGFnZS1pY29uLnVwbG9hZC1vcmRlcnM6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA0NXB4OyB9XG5cbiNhY2NvdW50LXBhZ2UtZ3JpZCAucGFnZS1pY29uLmxvZ291dDpiZWZvcmUge1xuICBmb250LXNpemU6IDQ1cHg7IH1cblxuI2FjY291bnQtcGFnZS1ncmlkIC5wYWdlLWljb24ubWFuYWdlLWNhbGxzOmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogNDVweDsgfVxuXG4jYWNjb3VudC1wYWdlLWdyaWQgLnBhZ2UtaWNvbi5zZXJ2aWNlLWNvbnRyYWN0czpiZWZvcmUge1xuICBmb250LXNpemU6IDQ1cHg7IH1cblxuI2FjY291bnQtcGFnZS1ncmlkIC5wYWdlLWljb24uY3VzdG9tZXItYXNzZXRzOmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogNDVweDsgfVxuXG4jYWNjb3VudC1wYWdlLWdyaWQgLnBhZ2UtaWNvbi5wYXltZW50LXJlcXVlc3RzIHtcbiAgZm9udC1zaXplOiA0NXB4OyB9XG5cbiNhY2NvdW50LXBhZ2UtZ3JpZCAucGFnZS1pY29uLmRvd25sb2FkLXByaWNlLWxpc3RzIHtcbiAgZm9udC1zaXplOiA0NXB4OyB9XG5cbiNhY2NvdW50LXBhZ2UtZ3JpZCAucGFnZS1pY29uLnNpdGUtbGlzdCB7XG4gIGZvbnQtc2l6ZTogNDVweDsgfVxuXG4jYWNjb3VudC1wYWdlLWdyaWQgLnBhZ2UtaWNvbi5kaXBsb21hdC11cGRhdGUtZG93bmxvYWQge1xuICBmb250LXNpemU6IDQ1cHg7IH1cblxuI2FjY291bnQtcGFnZS1ncmlkIC5wYWdlLWljb24uZGlwbG9tYXQtdXBkYXRlLWRhdGFiYXNlIHtcbiAgZm9udC1zaXplOiA0NXB4OyB9XG5cbiNhY2NvdW50LXBhZ2UtZ3JpZCAucGFnZS1pY29uLm9ubGluZS1kb2N1bWVudGF0aW9uIHtcbiAgZm9udC1zaXplOiA0NXB4OyB9XG5cbi5hY2NvdW50LXNvcnRpbmctb3B0aW9ucyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5hY2NvdW50LXNvcnRpbmctb3B0aW9ucyB7XG4gICAgICBtYXJnaW46IDAgMCAxMHB4OyB9IH1cbiAgLmFjY291bnQtc29ydGluZy1vcHRpb25zIC5zb3J0LW9wdGlvbiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWFyZ2luOiAxNXB4IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuYWNjb3VudC1zb3J0aW5nLW9wdGlvbnMgLnNvcnQtb3B0aW9uIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgbWFyZ2luOiAwOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuYWNjb3VudC1zb3J0aW5nLW9wdGlvbnMgLnNvcnQtb3B0aW9uLmJyYW5jaC1maWx0ZXIge1xuICAgICAgICBtYXgtd2lkdGg6IDQ5MHB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuYWNjb3VudC1zb3J0aW5nLW9wdGlvbnMgLnNvcnQtb3B0aW9uLmJyYW5jaC1maWx0ZXIgc2VsZWN0LCAuYWNjb3VudC1zb3J0aW5nLW9wdGlvbnMgLnNvcnQtb3B0aW9uLmJyYW5jaC1maWx0ZXIgLmNvbnRyb2wtc2VsZWN0LWRyb3Bkb3duIHtcbiAgICAgICAgd2lkdGg6IDMwMHB4OyB9IH1cbiAgICAuYWNjb3VudC1zb3J0aW5nLW9wdGlvbnMgLnNvcnQtb3B0aW9uLmJyYW5jaC1maWx0ZXIgLnRvb2x0aXAtY29udGFpbmVyIHtcbiAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7IH1cbiAgICAuYWNjb3VudC1zb3J0aW5nLW9wdGlvbnMgLnNvcnQtb3B0aW9uLnBhZ2luYXRpb24ge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cbiAgICAuYWNjb3VudC1zb3J0aW5nLW9wdGlvbnMgLnNvcnQtb3B0aW9uIC5sYWJlbCwgLmFjY291bnQtc29ydGluZy1vcHRpb25zIC5zb3J0LW9wdGlvbiAucGFnaW5hdGlvbkxhYmVsIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG4uYWNjb3VudC1idXR0b25zLWNvbnRhaW5lciB7XG4gIG1hcmdpbi1ib3R0b206IDQwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5hY2NvdW50LWJ1dHRvbnMtY29udGFpbmVyIHtcbiAgICAgIHdpZHRoOiAyMzVweDsgfSB9XG4gIC5hY2NvdW50LWJ1dHRvbnMtY29udGFpbmVyLmNlbnRlci1idXR0b25zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG5cbi5vcmRlci1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAub3JkZXItY29udGFpbmVyIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBtYXJnaW46IDAgYXV0bzsgfSB9XG4gIC5vcmRlci1jb250YWluZXIgKyAucmVzcG9uc2l2ZS10YWJzIHtcbiAgICBtYXJnaW4tdG9wOiAyMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm9yZGVyLWNvbnRhaW5lciArIC5yZXNwb25zaXZlLXRhYnMge1xuICAgICAgICBtYXJnaW4tdG9wOiA0MHB4OyB9IH1cbiAgLm9yZGVyLWNvbnRhaW5lci5wYXltZW50LWNvbmZpcm1hdGlvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5vcmRlci1jb250YWluZXIucGF5bWVudC1jb25maXJtYXRpb24ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAub3JkZXItY29udGFpbmVyLnBheW1lbnQtY29uZmlybWF0aW9uIC5vcmRlci1kZXRhaWxzLWNvbnRhaW5lciAub3JkZXItZGV0YWlscywgLm9yZGVyLWNvbnRhaW5lci5wYXltZW50LWNvbmZpcm1hdGlvbiAub3JkZXItZGV0YWlscy1jb250YWluZXIgLm9yZGVyLWRlbGl2ZXJ5IHtcbiAgICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMTBweCk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLm9yZGVyLWNvbnRhaW5lci5wcmVzZXQtMSAjb3JkZXItdGFibGUge1xuICAgICAgd2lkdGg6IDk3MHB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLm9yZGVyLWNvbnRhaW5lci5wcmVzZXQtMSAjb3JkZXItdGFibGUgLmJhc2tldC1wcmljZS1jb2wge1xuICAgICAgd2lkdGg6IDE1JTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAub3JkZXItY29udGFpbmVyLnByZXNldC0xICNvcmRlci10YWJsZSB0ZC5iYXNrZXQtZGVzY3JpcHRpb24tY29sIHtcbiAgICAgIHdpZHRoOiA1MTVweDsgfSB9XG4gIC5vcmRlci1jb250YWluZXIgI29yZGVyLXRhYmxlIHtcbiAgICBtYXJnaW46IDIwcHggYXV0byAyNXB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm9yZGVyLWNvbnRhaW5lciAjb3JkZXItdGFibGUgdGQ6bm90KC5iYXNrZXQtZGVzY3JpcHRpb24tY29sKSwgLm9yZGVyLWNvbnRhaW5lciAjb3JkZXItdGFibGUgdGg6bm90KC5iYXNrZXQtZGVzY3JpcHRpb24tY29sKSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm9yZGVyLWNvbnRhaW5lciAjb3JkZXItdGFibGUucmVhZC1vbmx5IHRkLmJhc2tldC1jdXJyZW50LXByaWNlLWNvbCB7XG4gICAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbiAgICAub3JkZXItY29udGFpbmVyICNvcmRlci10YWJsZS5yZWFkLW9ubHkgdGQuYWRkLXRvLWJhc2tldC1jb2wgYnV0dG9uIHtcbiAgICAgIG1hcmdpbjogYXV0bzsgfVxuICAgIC5vcmRlci1jb250YWluZXIgI29yZGVyLXRhYmxlLnJlYWQtb25seSB0ZC5iYXNrZXQtcXVhbnRpdHkge1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgICAgICAub3JkZXItY29udGFpbmVyICNvcmRlci10YWJsZS5yZWFkLW9ubHkgdGQuYmFza2V0LXF1YW50aXR5IHtcbiAgICAgICAgICB3aWR0aDogMjAlO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDsgfSB9XG4gICAgICAub3JkZXItY29udGFpbmVyICNvcmRlci10YWJsZS5yZWFkLW9ubHkgdGQuYmFza2V0LXF1YW50aXR5IHAge1xuICAgICAgICBtYXJnaW46IDA7IH1cbiAgICAgIC5vcmRlci1jb250YWluZXIgI29yZGVyLXRhYmxlLnJlYWQtb25seSB0ZC5iYXNrZXQtcXVhbnRpdHkgLmxhYmVsIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICBmb250LXdlaWdodDogNjAwOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAub3JkZXItY29udGFpbmVyICNvcmRlci10YWJsZS5yZWFkLW9ubHkgdGQuYmFza2V0LXF1YW50aXR5IC5sYWJlbCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgICAub3JkZXItY29udGFpbmVyICNvcmRlci10YWJsZSAuYmFza2V0LWRlc2NyaXB0aW9uLWNvbCB7XG4gICAgICAtLW1lZGlhLWFzcGVjdC1yYXRpbzogMS8xOyB9XG4gICAgICAub3JkZXItY29udGFpbmVyICNvcmRlci10YWJsZSAuYmFza2V0LWRlc2NyaXB0aW9uLWNvbCAuaW1hZ2Uge1xuICAgICAgICB3aWR0aDogMTc1cHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luOiAwIDIwcHggMCAwOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAub3JkZXItY29udGFpbmVyICNvcmRlci10YWJsZSAuYmFza2V0LWRlc2NyaXB0aW9uLWNvbCAuaW1hZ2Uge1xuICAgICAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgICAgICAgbWFyZ2luOiAwIDQwcHggMCAwOyB9IH1cbiAgICAgICAgLm9yZGVyLWNvbnRhaW5lciAjb3JkZXItdGFibGUgLmJhc2tldC1kZXNjcmlwdGlvbi1jb2wgLmltYWdlIGEge1xuICAgICAgICAgIHdpZHRoOiAxNTVweDsgfVxuICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAgIC5vcmRlci1jb250YWluZXIgI29yZGVyLXRhYmxlIC5iYXNrZXQtZGVzY3JpcHRpb24tY29sIC5pbWFnZSBhIHtcbiAgICAgICAgICAgICAgd2lkdGg6IDEzMnB4O1xuICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsgfSB9XG4gICAgICAgIC5vcmRlci1jb250YWluZXIgI29yZGVyLXRhYmxlIC5iYXNrZXQtZGVzY3JpcHRpb24tY29sIC5pbWFnZSBpbWcge1xuICAgICAgICAgIHdpZHRoOiAxNTVweDtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZjNmM2YzOyB9XG4gICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAgICAgLm9yZGVyLWNvbnRhaW5lciAjb3JkZXItdGFibGUgLmJhc2tldC1kZXNjcmlwdGlvbi1jb2wgLmltYWdlIGltZyB7XG4gICAgICAgICAgICAgIHdpZHRoOiAxMzJweDsgfSB9XG4gICAgLm9yZGVyLWNvbnRhaW5lciAjb3JkZXItdGFibGUgdGQuYmFza2V0LWRlc2NyaXB0aW9uLWNvbCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgICAgIC5vcmRlci1jb250YWluZXIgI29yZGVyLXRhYmxlIHRkLmJhc2tldC1kZXNjcmlwdGlvbi1jb2wge1xuICAgICAgICAgIGdyaWQtY29sdW1uOiAxIC8gMiBzcGFuOyB9IH1cbiAgICAub3JkZXItY29udGFpbmVyICNvcmRlci10YWJsZSAuc3RvY2stZGVzY3JpcHRpb24tbGV2ZWwge1xuICAgICAgbWluLXdpZHRoOiA0MCU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleDogMTtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGdhcDogMTBweCAwO1xuICAgICAgcGFkZGluZzogMTBweCAwOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5vcmRlci1jb250YWluZXIgI29yZGVyLXRhYmxlIC5zdG9jay1kZXNjcmlwdGlvbi1sZXZlbCB7XG4gICAgICAgICAgbWluLXdpZHRoOiB1bnNldDtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICBwYWRkaW5nOiAyNXB4IDA7IH0gfVxuICAgICAgLm9yZGVyLWNvbnRhaW5lciAjb3JkZXItdGFibGUgLnN0b2NrLWRlc2NyaXB0aW9uLWxldmVsIC5ncm91cC1kZXNjcmlwdGlvbiB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7IH1cbiAgICAgICAgLm9yZGVyLWNvbnRhaW5lciAjb3JkZXItdGFibGUgLnN0b2NrLWRlc2NyaXB0aW9uLWxldmVsIC5ncm91cC1kZXNjcmlwdGlvbjpob3ZlciB7XG4gICAgICAgICAgY29sb3I6ICMwNjA1MmY7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgICAgICAgLm9yZGVyLWNvbnRhaW5lciAjb3JkZXItdGFibGUgLnN0b2NrLWRlc2NyaXB0aW9uLWxldmVsIC5ncm91cC1kZXNjcmlwdGlvbjphY3RpdmUge1xuICAgICAgICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICAgICAub3JkZXItY29udGFpbmVyICNvcmRlci10YWJsZSAuc3RvY2stZGVzY3JpcHRpb24tbGV2ZWwgLmRlc2NyaXB0aW9uIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGNvbG9yOiAjMDYwNTJmO1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxN3B4O1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAub3JkZXItY29udGFpbmVyICNvcmRlci10YWJsZSAuc3RvY2stZGVzY3JpcHRpb24tbGV2ZWwgLmRlc2NyaXB0aW9uIHtcbiAgICAgICAgICAgIG1pbi13aWR0aDogMzAwcHg7IH0gfVxuICAgICAgICAub3JkZXItY29udGFpbmVyICNvcmRlci10YWJsZSAuc3RvY2stZGVzY3JpcHRpb24tbGV2ZWwgLmRlc2NyaXB0aW9uOmhvdmVyIHtcbiAgICAgICAgICBjb2xvcjogI2FlOTQ2MTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gICAgICAgIC5vcmRlci1jb250YWluZXIgI29yZGVyLXRhYmxlIC5zdG9jay1kZXNjcmlwdGlvbi1sZXZlbCAuZGVzY3JpcHRpb246YWN0aXZlIHtcbiAgICAgICAgICBjb2xvcjogIzc3Nzc3NztcbiAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gICAgICAub3JkZXItY29udGFpbmVyICNvcmRlci10YWJsZSAuc3RvY2stZGVzY3JpcHRpb24tbGV2ZWwgLnN0b2NrLWluZGljYXRvciB7XG4gICAgICAgIG1hcmdpbi10b3A6IDVweDsgfVxuICAgICAgLm9yZGVyLWNvbnRhaW5lciAjb3JkZXItdGFibGUgLnN0b2NrLWRlc2NyaXB0aW9uLWxldmVsIC5zdG9ja1dhcm5pbmcge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBjb2xvcjogcmdiYSgxMzYsIDEzNiwgMTM2LCAwLjYpO1xuICAgICAgICBmb250LXNpemU6IDAuOTM3NXJlbTsgfVxuICAgICAgICAub3JkZXItY29udGFpbmVyICNvcmRlci10YWJsZSAuc3RvY2stZGVzY3JpcHRpb24tbGV2ZWwgLnN0b2NrV2FybmluZy5hY3RpdmUge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAgIC5vcmRlci1jb250YWluZXIgI29yZGVyLXRhYmxlIC5zdG9jay1kZXNjcmlwdGlvbi1sZXZlbCAuc3RvY2tXYXJuaW5nIHAge1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICBwYWRkaW5nOiAwOyB9XG4gICAgLm9yZGVyLWNvbnRhaW5lciAjb3JkZXItdGFibGUgLnN1YnNpZGlhcnktZGVzY3JpcHRpb24ge1xuICAgICAgY29sb3I6ICMwNjA1MmY7XG4gICAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7IH1cbiAgICAub3JkZXItY29udGFpbmVyICNvcmRlci10YWJsZSAubm9uLXJldHVybmFibGUtZGVzY3JpcHRpb24ge1xuICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgICAgLm9yZGVyLWNvbnRhaW5lciAjb3JkZXItdGFibGUgLm5vbi1yZXR1cm5hYmxlLWRlc2NyaXB0aW9uOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwi7qGTXCI7XG4gICAgICAgIHBhZGRpbmc6IDAgNXB4IDAgMDtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG9cIjtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICBjb2xvcjogI2ZmNWUwNTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5vcmRlci1jb250YWluZXIgI29yZGVyLXRhYmxlIC5iYXNrZXQtY29kZS1jb2wge1xuICAgICAgICB3aWR0aDogMTAlO1xuICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAub3JkZXItY29udGFpbmVyICNvcmRlci10YWJsZSAuYmFza2V0LXByaWNlLWNvbCwgLm9yZGVyLWNvbnRhaW5lciAjb3JkZXItdGFibGUgLmJhc2tldC1jdXJyZW50LXByaWNlLWNvbCB7XG4gICAgICAgIG1heC13aWR0aDogMTUlO1xuICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4gICAgLm9yZGVyLWNvbnRhaW5lciAjb3JkZXItdGFibGUgLnZhdC1yYXRlLWNvbnRhaW5lciB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIC5vcmRlci1jb250YWluZXIgI29yZGVyLXRhYmxlIHRkLmJhc2tldC1wcmljZS1jb2wge1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAub3JkZXItY29udGFpbmVyICNvcmRlci10YWJsZSB0ZC5iYXNrZXQtcHJpY2UtY29sIHtcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsOyB9IH1cbiAgICAub3JkZXItY29udGFpbmVyICNvcmRlci10YWJsZSB0ZC5iYXNrZXQtY3VycmVudC1wcmljZS1jb2wge1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAub3JkZXItY29udGFpbmVyICNvcmRlci10YWJsZSB0ZC5iYXNrZXQtY3VycmVudC1wcmljZS1jb2wge1xuICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5vcmRlci1jb250YWluZXIgI29yZGVyLXRhYmxlIC5hZGQtdG8tYmFza2V0LWNvbCB7XG4gICAgICAgIHdpZHRoOiAxNSU7IH0gfVxuICAgIC5vcmRlci1jb250YWluZXIgI29yZGVyLXRhYmxlIC5iYXNrZXQtcXVhbnRpdHkge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLm9yZGVyLWNvbnRhaW5lciAjb3JkZXItdGFibGUgLmJhc2tldC1xdWFudGl0eSB7XG4gICAgICAgICAgd2lkdGg6IDEwJTtcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsOyB9IH1cbiAgICAgIC5vcmRlci1jb250YWluZXIgI29yZGVyLXRhYmxlIC5iYXNrZXQtcXVhbnRpdHkgLnF1YW50aXR5LXNlbGVjdG9yLWNvbnRhaW5lciB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAub3JkZXItY29udGFpbmVyICNvcmRlci10YWJsZSAuYmFza2V0LXF1YW50aXR5IC5xdWFudGl0eS1zZWxlY3Rvci1jb250YWluZXIge1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAub3JkZXItY29udGFpbmVyICNvcmRlci10YWJsZSAuYmFza2V0LXF1YW50aXR5IC5sYWJlbCB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgICAub3JkZXItY29udGFpbmVyICNvcmRlci10YWJsZSAuYmFza2V0LXF1YW50aXR5IC5pbnB1dC1udW1iZXItZ3JvdXAge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAgIC5vcmRlci1jb250YWluZXIgI29yZGVyLXRhYmxlIC5iYXNrZXQtcXVhbnRpdHkgLmlucHV0LW51bWJlci1ncm91cCB7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm9yZGVyLWNvbnRhaW5lciAjb3JkZXItdGFibGUgLmJhc2tldC1zdWItdG90YWwge1xuICAgICAgICB3aWR0aDogMTElOyB9IH1cbiAgICAub3JkZXItY29udGFpbmVyICNvcmRlci10YWJsZSAuYmFza2V0LXN1Yi10b3RhbCBzcGFuIHtcbiAgICAgIHdpZHRoOiA2MCU7XG4gICAgICBvcmRlcjogMjtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5vcmRlci1jb250YWluZXIgI29yZGVyLXRhYmxlIC5iYXNrZXQtc3ViLXRvdGFsIHNwYW4ge1xuICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgIG9yZGVyOiAxOyB9IH1cbiAgICAub3JkZXItY29udGFpbmVyICNvcmRlci10YWJsZSB0ZC5iYXNrZXQtc3ViLXRvdGFsLWNvbCB7XG4gICAgICB3aWR0aDogNTAlO1xuICAgICAgb3JkZXI6IDQ7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgY29sb3I6ICMwNjA1MmY7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLm9yZGVyLWNvbnRhaW5lciAjb3JkZXItdGFibGUgdGQuYmFza2V0LXN1Yi10b3RhbC1jb2wge1xuICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5vcmRlci1jb250YWluZXIgI29yZGVyLXRhYmxlIC5iYXNrZXQtcmVtb3ZlLWNvbCB7XG4gICAgICAgIHdpZHRoOiA1JTsgfSB9XG4gICAgLm9yZGVyLWNvbnRhaW5lciAjb3JkZXItdGFibGUgdGQuYmFza2V0LXJlbW92ZS1jb2wge1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIG9yZGVyOiA2OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5vcmRlci1jb250YWluZXIgI29yZGVyLXRhYmxlIHRkLmJhc2tldC1yZW1vdmUtY29sIHtcbiAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsOyB9IH1cbiAgICAub3JkZXItY29udGFpbmVyICNvcmRlci10YWJsZSAucmVtb3ZlLWJ1dHRvbiB7XG4gICAgICB3aWR0aDogODBweDtcbiAgICAgIGhlaWdodDogODBweDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBjb2xvcjogIzg4ODg4ODtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgICAub3JkZXItY29udGFpbmVyICNvcmRlci10YWJsZSAuYmFza2V0VXBkYXRlUm93IHtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjODg4ODg4OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAgIC5vcmRlci1jb250YWluZXIgI29yZGVyLXRhYmxlIC5iYXNrZXQtaXRlbS1yb3cge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgxMjBweCwgbWF4LWNvbnRlbnQpIG1pbm1heCgxMjBweCwgbWF4LWNvbnRlbnQpO1xuICAgICAgICBnYXA6IDVweDtcbiAgICAgICAgcGFkZGluZzogMTBweDsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAgIC5vcmRlci1jb250YWluZXIgI29yZGVyLXRhYmxlIC5iYXNrZXQtaXRlbS1yb3cgdGQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7IH0gfVxuICAub3JkZXItY29udGFpbmVyICNiYXNrZXQtc3VtbWFyeSB7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5vcmRlci1jb250YWluZXIgI2Jhc2tldC1zdW1tYXJ5IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsgfVxuXG4ub3JkZXItZGV0YWlscywgLm9yZGVyLWRlbGl2ZXJ5LCAuZW5xdWlyeS1kZXRhaWxzLWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDVweCAwO1xuICBwYWRkaW5nOiAxNXB4IDIwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmM2YzZjM7XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5vcmRlci1kZXRhaWxzLCAub3JkZXItZGVsaXZlcnksIC5lbnF1aXJ5LWRldGFpbHMtY29udGFpbmVyIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMzBweCA0MHB4OyB9IH1cbiAgLm9yZGVyLWRldGFpbHMuaW5saW5lLCAub3JkZXItZGVsaXZlcnkuaW5saW5lLCAuZW5xdWlyeS1kZXRhaWxzLWNvbnRhaW5lci5pbmxpbmUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ2FwOiAxMHB4IDIwcHg7IH1cbiAgICAub3JkZXItZGV0YWlscy5pbmxpbmUgLm9yZGVyLWRldGFpbC1oZWFkaW5nLCAub3JkZXItZGVsaXZlcnkuaW5saW5lIC5vcmRlci1kZXRhaWwtaGVhZGluZywgLmVucXVpcnktZGV0YWlscy1jb250YWluZXIuaW5saW5lIC5vcmRlci1kZXRhaWwtaGVhZGluZyB7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAub3JkZXItZGV0YWlscy5pbmxpbmUgLmRldGFpbC1pdGVtLWNvbnRhaW5lciA+IHNwYW4sIC5vcmRlci1kZWxpdmVyeS5pbmxpbmUgLmRldGFpbC1pdGVtLWNvbnRhaW5lciA+IHNwYW4sIC5lbnF1aXJ5LWRldGFpbHMtY29udGFpbmVyLmlubGluZSAuZGV0YWlsLWl0ZW0tY29udGFpbmVyID4gc3BhbiB7XG4gICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7IH0gfVxuICAgIC5vcmRlci1kZXRhaWxzLmlubGluZSAuZGV0YWlsLWl0ZW0tY29udGFpbmVyID4gYWRkcmVzcywgLm9yZGVyLWRlbGl2ZXJ5LmlubGluZSAuZGV0YWlsLWl0ZW0tY29udGFpbmVyID4gYWRkcmVzcywgLmVucXVpcnktZGV0YWlscy1jb250YWluZXIuaW5saW5lIC5kZXRhaWwtaXRlbS1jb250YWluZXIgPiBhZGRyZXNzIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICBnYXA6IDVweDsgfVxuICAgICAgLm9yZGVyLWRldGFpbHMuaW5saW5lIC5kZXRhaWwtaXRlbS1jb250YWluZXIgPiBhZGRyZXNzIHNwYW4sIC5vcmRlci1kZWxpdmVyeS5pbmxpbmUgLmRldGFpbC1pdGVtLWNvbnRhaW5lciA+IGFkZHJlc3Mgc3BhbiwgLmVucXVpcnktZGV0YWlscy1jb250YWluZXIuaW5saW5lIC5kZXRhaWwtaXRlbS1jb250YWluZXIgPiBhZGRyZXNzIHNwYW4ge1xuICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cbiAgICAgICAgLm9yZGVyLWRldGFpbHMuaW5saW5lIC5kZXRhaWwtaXRlbS1jb250YWluZXIgPiBhZGRyZXNzIHNwYW46bm90KDpsYXN0LWNoaWxkKTphZnRlciwgLm9yZGVyLWRlbGl2ZXJ5LmlubGluZSAuZGV0YWlsLWl0ZW0tY29udGFpbmVyID4gYWRkcmVzcyBzcGFuOm5vdCg6bGFzdC1jaGlsZCk6YWZ0ZXIsIC5lbnF1aXJ5LWRldGFpbHMtY29udGFpbmVyLmlubGluZSAuZGV0YWlsLWl0ZW0tY29udGFpbmVyID4gYWRkcmVzcyBzcGFuOm5vdCg6bGFzdC1jaGlsZCk6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6ICcsJztcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgLm9yZGVyLWRldGFpbHMucGF5ZXItZGV0YWlscywgLm9yZGVyLWRlbGl2ZXJ5LnBheWVyLWRldGFpbHMsIC5lbnF1aXJ5LWRldGFpbHMtY29udGFpbmVyLnBheWVyLWRldGFpbHMge1xuICAgIHBhZGRpbmc6IDIwcHggMjBweDsgfVxuXG4ub3JkZXItZGV0YWlsLWhlYWRpbmcsIC5vcmRlci1kZWxpdmVyeS1oZWFkaW5nLCAuZW5xdWlyeS1kZXRhaWxzLWhlYWRpbmcge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogMCAwIDVweDtcbiAgbWFyZ2luOiAwIDAgMjVweDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNhZWFlYWU7IH1cbiAgLm9yZGVyLWRldGFpbC1oZWFkaW5nIGgzLCAub3JkZXItZGVsaXZlcnktaGVhZGluZyBoMywgLmVucXVpcnktZGV0YWlscy1oZWFkaW5nIGgzIHtcbiAgICBmb250LXNpemU6IDEuMzc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgLm9yZGVyLWRldGFpbC1oZWFkaW5nIGEuZWRpdCwgLm9yZGVyLWRlbGl2ZXJ5LWhlYWRpbmcgYS5lZGl0LCAuZW5xdWlyeS1kZXRhaWxzLWhlYWRpbmcgYS5lZGl0IHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuXG4uZGV0YWlsLWl0ZW0tY29udGFpbmVyLCAuZGVsaXZlcnktaXRlbS1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICAuZGV0YWlsLWl0ZW0tY29udGFpbmVyOmhhcyg+IHA6ZW1wdHkpLCAuZGVsaXZlcnktaXRlbS1jb250YWluZXI6aGFzKD4gcDplbXB0eSkge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmRldGFpbC1pdGVtLWNvbnRhaW5lciA+IHNwYW4sIC5kZWxpdmVyeS1pdGVtLWNvbnRhaW5lciA+IHNwYW4ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBjb2xvcjogIzA2MDUyZjtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuZGV0YWlsLWl0ZW0tY29udGFpbmVyID4gc3BhbiwgLmRlbGl2ZXJ5LWl0ZW0tY29udGFpbmVyID4gc3BhbiB7XG4gICAgICAgIHdpZHRoOiAxNzBweDsgfSB9XG4gIC5kZXRhaWwtaXRlbS1jb250YWluZXIgPiBwLCAuZGVsaXZlcnktaXRlbS1jb250YWluZXIgPiBwIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBjb2xvcjogIzAwMDAwMDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmRldGFpbC1pdGVtLWNvbnRhaW5lciA+IHAsIC5kZWxpdmVyeS1pdGVtLWNvbnRhaW5lciA+IHAge1xuICAgICAgICBmbGV4OiAxOyB9IH1cbiAgLmRldGFpbC1pdGVtLWNvbnRhaW5lciBhLCAuZGVsaXZlcnktaXRlbS1jb250YWluZXIgYSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gIC5kZXRhaWwtaXRlbS1jb250YWluZXIgYWRkcmVzcywgLmRlbGl2ZXJ5LWl0ZW0tY29udGFpbmVyIGFkZHJlc3Mge1xuICAgIGZsZXg6IDE7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuXG4uYmFza2V0LWN1cnJlbnQtcHJpY2UtY29sIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBjb2xvcjogI2ZmMDEwMTsgfVxuICAuYmFza2V0LWN1cnJlbnQtcHJpY2UtY29sIC5jdXJyZW50LXByaWNlLXNhdmluZyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGNvbG9yOiAjMDYwNTJmO1xuICAgIGZvbnQtc2l6ZTogMC42ODc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmJhc2tldC1jdXJyZW50LXByaWNlLWNvbCAuY3VycmVudC1wcmljZS1zYXZpbmcge1xuICAgICAgICB3aWR0aDogNzBweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDM1cHg7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBtYXJnaW46IGF1dG87IH0gfVxuICAgIC5iYXNrZXQtY3VycmVudC1wcmljZS1jb2wgLmN1cnJlbnQtcHJpY2Utc2F2aW5nOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICdcXGYwZGQnO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBsaW5lLWhlaWdodDogMDtcbiAgICAgIGNvbG9yOiAjZmYwMTAxO1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICBmb250LXNpemU6IDEzcHg7IH1cblxuLm9yZGVyLWRldGFpbHMtY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZ2FwOiAyMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAub3JkZXItZGV0YWlscy1jb250YWluZXIge1xuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7IH0gfVxuICAub3JkZXItZGV0YWlscy1jb250YWluZXIgLmdyaWQteCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSArIDEwcHgpOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5vcmRlci1kZXRhaWxzLWNvbnRhaW5lciAuZ3JpZC14IHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSArIDIwcHgpOyB9IH1cblxuLnJlcXVpc2l0aW9uLWJ1dHRvbnMtY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLnJlcXVpc2l0aW9uLWJ1dHRvbnMtY29udGFpbmVyIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBtYXJnaW46IDAgYXV0byA1MHB4OyB9IH1cblxuLnBhY2thZ2UtcmVmZXJlbmNlLWNvbnRhaW5lciB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAucGFja2FnZS1yZWZlcmVuY2UtY29udGFpbmVyIC5sYWJlbCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIC5wYWNrYWdlLXJlZmVyZW5jZS1jb250YWluZXIgLmNvbnRhaW5lci1yZWZlcmVuY2Uge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5wYWNrYWdlLXJlZmVyZW5jZS1jb250YWluZXIgLmNvbnRhaW5lci1yZWZlcmVuY2Uge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDMwcHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxNXB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAucGFja2FnZS1yZWZlcmVuY2UtY29udGFpbmVyIC5jb250YWluZXItcmVmZXJlbmNlIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA2MHB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogMzBweDsgfSB9XG5cbi51c2Vycy1mb3VuZC1jb3VudCB7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gIGZvbnQtc2l6ZTogMXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLnVzZXJzLWZvdW5kLWNvdW50IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7IH0gfVxuICAudXNlcnMtZm91bmQtY291bnQgc3BhbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgY29sb3I6ICMwNjA1MmY7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAudXNlcnMtZm91bmQtY291bnQgcCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7IH1cblxuI3VzZXJzLXRhYmxlIHRkIHtcbiAgZm9udC1zaXplOiAxcmVtOyB9XG4gICN1c2Vycy10YWJsZSB0ZCAubGFiZWwge1xuICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAjdXNlcnMtdGFibGUgdGQgLmxhYmVsIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbiN1c2Vycy10YWJsZSB0ZC51c2Vycy1jb250YWN0LWNvbCB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGNvbG9yOiAjNzc3Nzc3OyB9XG5cbiN1c2Vycy10YWJsZSAudXNlcnMtYWNjb3VudC1jb2wge1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAjdXNlcnMtdGFibGUgLnVzZXJzLWFjY291bnQtY29sIHtcbiAgICAgIHdpZHRoOiAyNSU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICN1c2Vycy10YWJsZSAudXNlcnMtY29udGFjdC1jb2wge1xuICAgIHdpZHRoOiAzMyU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICN1c2Vycy10YWJsZSAudXNlcnMtZW1haWwtY29sIHtcbiAgICB3aWR0aDogMzMlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAjdXNlcnMtdGFibGUgLnVzZXJzLWRlbGV0ZS1jb2wge1xuICAgIHdpZHRoOiAzMyU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICN1c2Vycy10YWJsZSAudXNlcnMtZGVsZXRlLWNvbCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAjdXNlcnMtdGFibGUgLnVzZXJzLWRlbGV0ZS1jb2wgLnJlbW92ZS11c2VyLWJ1dHRvbiB7XG4gICAgbWFyZ2luOiBhdXRvOyB9IH1cblxuLnJlbW92ZS11c2VyLWJ1dHRvbiB7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDIwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAucmVtb3ZlLXVzZXItYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgLnJlbW92ZS11c2VyLWJ1dHRvbjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi74utXCI7XG4gICAgY29sb3I6ICM4ODg4ODg7XG4gICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFJlZ3VsYXJcIjtcbiAgICBmb250LXNpemU6IDEuMTM2MzZyZW07XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAucmVtb3ZlLXVzZXItYnV0dG9uOmhvdmVyOmJlZm9yZSB7XG4gICAgY29sb3I6ICNhZTk0NjE7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAucmVtb3ZlLXVzZXItYnV0dG9uOmFjdGl2ZTpiZWZvcmUge1xuICAgIGNvbG9yOiAjMDYwNTJmOyB9XG5cbi5tYW5hZ2UtdXNlci1idXR0b24tY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luOiAyMHB4IGF1dG8gMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLm1hbmFnZS11c2VyLWJ1dHRvbi1jb250YWluZXIge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5tYW5hZ2UtdXNlci1idXR0b24tY29udGFpbmVyIC5wcmltYXJ5LWJ1dHRvbiB7XG4gICAgICBtYXJnaW46IDAgMjBweCAwIGF1dG87IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLm1hbmFnZS11c2VyLWJ1dHRvbi1jb250YWluZXIgLnNlY29uZGFyeS1idXR0b24ge1xuICAgICAgbWFyZ2luOiAwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5tYW5hZ2UtdXNlci1idXR0b24tY29udGFpbmVyIC50ZXJ0aWFyeS1idXR0b24ge1xuICAgICAgbWFyZ2luOiAwOyB9IH1cblxuI3NlbGVjdC1icmFuY2hlcy10YWJsZSB7XG4gIG1heC13aWR0aDogODUwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW46IGF1dG87XG4gIG92ZXJmbG93LXk6IHNjcm9sbDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgI3NlbGVjdC1icmFuY2hlcy10YWJsZSAubGFiZWwge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICNzZWxlY3QtYnJhbmNoZXMtdGFibGUgLmJyYW5jaC1jb2wge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAjc2VsZWN0LWJyYW5jaGVzLXRhYmxlIC5icmFuY2gtY29sIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA4MHB4OyB9IH1cbiAgI3NlbGVjdC1icmFuY2hlcy10YWJsZSB0ZC5icmFuY2gtY29sIHtcbiAgICBmb250LXNpemU6IDFyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICNzZWxlY3QtYnJhbmNoZXMtdGFibGUgLmFsbG93LWxvZ2luLWNvbCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxNjBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgI3Rva2Vucy10YWJsZS5wYXltZW50IC5jYXJkLXR5cGUtY29sIHtcbiAgICB3aWR0aDogMjUwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiA1MHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAjdG9rZW5zLXRhYmxlLnBheW1lbnQgLmNhcmQtbnVtYmVyLWNvbCB7XG4gICAgd2lkdGg6IDE4MHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAjdG9rZW5zLXRhYmxlLnBheW1lbnQgLmNhcmQtZXhwaXJlLWRhdGUtY29sIHtcbiAgICB3aWR0aDogMjQwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICN0b2tlbnMtdGFibGUucGF5bWVudCAuY2FyZC1yZW1vdmUtY29sIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9IH1cblxuI3Rva2Vucy10YWJsZSwgLnRva2Vucy10YWJsZSB7XG4gIG1hcmdpbjogMDsgfVxuICAjdG9rZW5zLXRhYmxlIHRyOmhvdmVyIC5jYXJkLXR5cGU6YmVmb3JlLCAudG9rZW5zLXRhYmxlIHRyOmhvdmVyIC5jYXJkLXR5cGU6YmVmb3JlIHtcbiAgICBjb2xvcjogI2FlOTQ2MTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gICN0b2tlbnMtdGFibGUgdHIuY2FyZC1leHBpcmVkIC5jYXJkLXR5cGUtY29sLCAjdG9rZW5zLXRhYmxlIHRyLmNhcmQtZXhwaXJlZCAuY2FyZC1udW1iZXItY29sLCAjdG9rZW5zLXRhYmxlIHRyLmNhcmQtZXhwaXJlZCAuZXhwaXJlLWRhdGUsIC50b2tlbnMtdGFibGUgdHIuY2FyZC1leHBpcmVkIC5jYXJkLXR5cGUtY29sLCAudG9rZW5zLXRhYmxlIHRyLmNhcmQtZXhwaXJlZCAuY2FyZC1udW1iZXItY29sLCAudG9rZW5zLXRhYmxlIHRyLmNhcmQtZXhwaXJlZCAuZXhwaXJlLWRhdGUge1xuICAgIG9wYWNpdHk6IDAuNTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuOHM7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAjdG9rZW5zLXRhYmxlIHRyLmNhcmQtZXhwaXJlZCAuZXhwaXJlLWRhdGUsIC50b2tlbnMtdGFibGUgdHIuY2FyZC1leHBpcmVkIC5leHBpcmUtZGF0ZSB7XG4gICAgICBvcGFjaXR5OiAxOyB9IH1cbiAgI3Rva2Vucy10YWJsZSB0ci5jYXJkLWV4cGlyZWQ6aG92ZXIgLmNhcmQtdHlwZS1jb2wsICN0b2tlbnMtdGFibGUgdHIuY2FyZC1leHBpcmVkOmhvdmVyIC5jYXJkLW51bWJlci1jb2wsICN0b2tlbnMtdGFibGUgdHIuY2FyZC1leHBpcmVkOmhvdmVyIC5leHBpcmUtZGF0ZSwgLnRva2Vucy10YWJsZSB0ci5jYXJkLWV4cGlyZWQ6aG92ZXIgLmNhcmQtdHlwZS1jb2wsIC50b2tlbnMtdGFibGUgdHIuY2FyZC1leHBpcmVkOmhvdmVyIC5jYXJkLW51bWJlci1jb2wsIC50b2tlbnMtdGFibGUgdHIuY2FyZC1leHBpcmVkOmhvdmVyIC5leHBpcmUtZGF0ZSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNnM7IH1cbiAgI3Rva2Vucy10YWJsZSB0ZCwgLnRva2Vucy10YWJsZSB0ZCB7XG4gICAgZm9udC1zaXplOiAxcmVtOyB9XG4gICN0b2tlbnMtdGFibGUgLmNhcmQtc2VsZWN0LWNvbCAucmFkaW8sIC50b2tlbnMtdGFibGUgLmNhcmQtc2VsZWN0LWNvbCAucmFkaW8ge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAjdG9rZW5zLXRhYmxlIC5jYXJkLXR5cGUtY29sLCAudG9rZW5zLXRhYmxlIC5jYXJkLXR5cGUtY29sIHtcbiAgICAgIHdpZHRoOiAzMCU7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDIwMHB4O1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG4gICN0b2tlbnMtdGFibGUgLmNhcmQtZXhwaXJlLWRhdGUtY29sLCAudG9rZW5zLXRhYmxlIC5jYXJkLWV4cGlyZS1kYXRlLWNvbCB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICN0b2tlbnMtdGFibGUgLmNhcmQtZXhwaXJlLWRhdGUtY29sLCAudG9rZW5zLXRhYmxlIC5jYXJkLWV4cGlyZS1kYXRlLWNvbCB7XG4gICAgICAgIHdpZHRoOiAyMCU7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiB1bnNldDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cbiAgI3Rva2Vucy10YWJsZSAuZXhwaXJlLWRhdGUsIC50b2tlbnMtdGFibGUgLmV4cGlyZS1kYXRlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAjdG9rZW5zLXRhYmxlIC5leHBpcmUtZGF0ZSwgLnRva2Vucy10YWJsZSAuZXhwaXJlLWRhdGUge1xuICAgICAgICB3aWR0aDogYXV0bzsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAjdG9rZW5zLXRhYmxlIC5jYXJkLXJlbW92ZS1jb2wsIC50b2tlbnMtdGFibGUgLmNhcmQtcmVtb3ZlLWNvbCB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAyMDBweDsgfSB9XG4gICN0b2tlbnMtdGFibGUgLnNlbGVjdGVkLWNhcmQsIC50b2tlbnMtdGFibGUgLnNlbGVjdGVkLWNhcmQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXdlaWdodDogNjAwOyB9XG5cbi5uby10b2tlbnMtZm91bmQge1xuICBtYXJnaW46IDUwcHggMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5uby10b2tlbnMtZm91bmQge1xuICAgICAgbWFyZ2luOiAxMDBweCAwOyB9IH1cbiAgLm5vLXRva2Vucy1mb3VuZCAubm8tdG9rZW5zLWljb246YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu+CnVwiO1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBSZWd1bGFyXCI7XG4gICAgZm9udC1zaXplOiA0LjA2MjVyZW07XG4gICAgY29sb3I6ICNkYWRhZGE7IH1cblxuLnBheW1lbnQtZGV0YWlscy1jb250YWluZXIge1xuICBtYXgtaGVpZ2h0OiA2MHZoO1xuICBvdmVyZmxvdy15OiBzY3JvbGw7IH1cblxuLm1vZGFsLWNvbnRhaW5lclt0eXBlPXNlbGVjdC1wYXltZW50XSAjcGF5bWVudC1hZGQtbmV3LWNhcmQtZm9ybSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuI3BheW1lbnQtYWRkLW5ldy1jYXJkLWZvcm0ge1xuICBtYXgtd2lkdGg6IDY0MHB4O1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiBhdXRvOyB9XG4gICNwYXltZW50LWFkZC1uZXctY2FyZC1mb3JtIGZpZWxkc2V0IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDsgfVxuICAjcGF5bWVudC1hZGQtbmV3LWNhcmQtZm9ybSAuY21zLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBwYWRkaW5nOiAwOyB9XG5cbi5zYXZlLWNhcmQtY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLnNhdmUtY2FyZC1jb250YWluZXIgLmNvbnRyb2wuY2hlY2tib3gge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gIC5zYXZlLWNhcmQtY29udGFpbmVyIC5sYWJlbCB7XG4gICAgd2lkdGg6IGF1dG87IH1cblxuI3BheW1lbnQtZnJhbWUge1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyOiAwOyB9XG5cbi5zdGF0ZW1lbnQtbGlzdC1jb250YWluZXIuaW4tYWN0aXZlLCAuc3RhdGVtZW50LXBheS1jb250YWluZXIuaW4tYWN0aXZlLCAuYWNjb3VudC1wYXktY29udGFpbmVyLmluLWFjdGl2ZSB7XG4gIG1heC1oZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IGhlaWdodCAwLjZzOyB9XG5cbi5zdGF0ZW1lbnQtYmFsYW5jZS1jb250YWluZXIge1xuICBtYXJnaW46IDAgMCAyMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuc3RhdGVtZW50LWJhbGFuY2UtY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbjogMCAyJSAyMHB4IDA7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDsgfSB9XG4gIC5zdGF0ZW1lbnQtYmFsYW5jZS1jb250YWluZXIgcCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZm9udC1zaXplOiAxLjE4NzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogIzA2MDUyZjsgfVxuICAgIC5zdGF0ZW1lbnQtYmFsYW5jZS1jb250YWluZXIgcCBzcGFuIHtcbiAgICAgIHBhZGRpbmctbGVmdDogNjBweDsgfVxuXG4uc3RhdGVtZW50LXBheS1jb250YWluZXIsIC5hY2NvdW50LXBheS1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5zdGF0ZW1lbnQtcGF5LWNvbnRhaW5lciwgLmFjY291bnQtcGF5LWNvbnRhaW5lciB7XG4gICAgICBtYXJnaW46IDMwcHggMCAwOyB9IH1cblxuLnN1bW1hcnktY29udGFpbmVyLnN0YXRlbWVudCAuc3VtbWFyeS1oZWFkaW5nLCAuc3VtbWFyeS1jb250YWluZXIuYWNjb3VudC1wYXltZW50LXN1bW1hcnkgLnN1bW1hcnktaGVhZGluZyB7XG4gIG1hcmdpbjogMCAwIDQwcHg7IH1cblxuLnRyYW5zYWN0aW9uLXR5cGUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC50cmFuc2FjdGlvbi10eXBlIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH0gfVxuXG4uZGlyZWN0LWRlYml0LWljb24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5kaXJlY3QtZGViaXQtaWNvbjphZnRlciB7XG4gICAgY29udGVudDogXCLuoY5cIjtcbiAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvXCI7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGNvbG9yOiAjMDAwMDAwOyB9XG5cbnRhYmxlLnNlcnZpY2UtY29udHJhY3RzIHtcbiAgdGFibGUtbGF5b3V0OiBmaXhlZDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgdGFibGUuc2VydmljZS1jb250cmFjdHMgLmJyYW5jaC1jb2wge1xuICAgICAgd2lkdGg6IDYuMiU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgdGFibGUuc2VydmljZS1jb250cmFjdHMgLm5leHQtZHVlLWRhdGUtY29sIHtcbiAgICAgIHdpZHRoOiA4JTtcbiAgICAgIHBhZGRpbmc6IDAgMTJweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICB0YWJsZS5zZXJ2aWNlLWNvbnRyYWN0cyAuZG9jdW1lbnQtcmVmZXJlbmNlLWNvbCB7XG4gICAgICB3aWR0aDogOSU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgdGFibGUuc2VydmljZS1jb250cmFjdHMgLnlvdXItcmVmZXJlbmNlLWNvbCB7XG4gICAgICB3aWR0aDogMTAlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIHRhYmxlLnNlcnZpY2UtY29udHJhY3RzIC5za3UtcmVmZXJlbmNlLWNvbCB7XG4gICAgICB3aWR0aDogMTIlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIHRhYmxlLnNlcnZpY2UtY29udHJhY3RzIC5jb250cmFjdC12YWx1ZS1jb2wge1xuICAgICAgd2lkdGg6IDglOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIHRhYmxlLnNlcnZpY2UtY29udHJhY3RzIC5jb250cmFjdC10eXBlLWNvbCB7XG4gICAgICB3aWR0aDogMTIlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIHRhYmxlLnNlcnZpY2UtY29udHJhY3RzIHRkLmNvbnRyYWN0LXR5cGUtY29sIHtcbiAgICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgdGFibGUuc2VydmljZS1jb250cmFjdHMgLmNvbnRyYWN0LWdyb3VwLWNvbCB7XG4gICAgICB3aWR0aDogOS44JTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICB0YWJsZS5zZXJ2aWNlLWNvbnRyYWN0cyAuZnJlcXVlbmN5LWNvbCB7XG4gICAgICB3aWR0aDogOC41JTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICB0YWJsZS5zZXJ2aWNlLWNvbnRyYWN0cyAucGF5bWVudC1tZXRob2QtY29sIHtcbiAgICAgIHdpZHRoOiA5JTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICB0YWJsZS5zZXJ2aWNlLWNvbnRyYWN0cyAudGVybWluYXRpb24tZGF0ZS1jb2wge1xuICAgICAgd2lkdGg6IDglOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIHRhYmxlLnNlcnZpY2UtY29udHJhY3RzIC5iYWxhbmNlLWNvbCB7XG4gICAgICB3aWR0aDogNyU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgdGFibGUuc2VydmljZS1jb250cmFjdHMgLnJlbmV3YWwtY29sIHtcbiAgICAgIHdpZHRoOiA1LjUlOyB9IH1cbiAgdGFibGUuc2VydmljZS1jb250cmFjdHMgLnR1YnMtcmVuZXctYnV0dG9uIHtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgY29sb3I6ICMwNjA1MmY7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgICAgdGFibGUuc2VydmljZS1jb250cmFjdHMgLnR1YnMtcmVuZXctYnV0dG9uIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMjBweDtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2U2ZTZlYTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICB0YWJsZS5vcmRlci1zdGF0dXMtdGFibGUgLml0ZW0tY29sLCB0YWJsZS5vcmRlci1pbnZvaWNlLWVucXVpcnktdGFibGUgLml0ZW0tY29sIHtcbiAgICB3aWR0aDogNSU7IH0gfVxuXG50YWJsZS5vcmRlci1zdGF0dXMtdGFibGUgLnJlZmVyZW5jZS1jb2wsIHRhYmxlLm9yZGVyLWludm9pY2UtZW5xdWlyeS10YWJsZSAucmVmZXJlbmNlLWNvbCB7XG4gIG92ZXJmbG93LXdyYXA6IGFueXdoZXJlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICB0YWJsZS5vcmRlci1zdGF0dXMtdGFibGUgLnJlZmVyZW5jZS1jb2wsIHRhYmxlLm9yZGVyLWludm9pY2UtZW5xdWlyeS10YWJsZSAucmVmZXJlbmNlLWNvbCB7XG4gICAgICB3aWR0aDogMTQlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICB0YWJsZS5vcmRlci1zdGF0dXMtdGFibGUgLmRlc2NyaXB0aW9uLWNvbCwgdGFibGUub3JkZXItaW52b2ljZS1lbnF1aXJ5LXRhYmxlIC5kZXNjcmlwdGlvbi1jb2wge1xuICAgIHdpZHRoOiAyMyU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIHRhYmxlLm9yZGVyLXN0YXR1cy10YWJsZSB0aC5kZXNjcmlwdGlvbi1jb2wsIHRhYmxlLm9yZGVyLWludm9pY2UtZW5xdWlyeS10YWJsZSB0aC5kZXNjcmlwdGlvbi1jb2wge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgdGFibGUub3JkZXItc3RhdHVzLXRhYmxlIC5pbnZvaWNlcy1jb2wsIHRhYmxlLm9yZGVyLXN0YXR1cy10YWJsZSAuZGVsaXZlcmllcy1jb2wsIHRhYmxlLm9yZGVyLWludm9pY2UtZW5xdWlyeS10YWJsZSAuaW52b2ljZXMtY29sLCB0YWJsZS5vcmRlci1pbnZvaWNlLWVucXVpcnktdGFibGUgLmRlbGl2ZXJpZXMtY29sIHtcbiAgICB3aWR0aDogMTIlOyB9IH1cblxudGFibGUub3JkZXItc3RhdHVzLXRhYmxlIHVsLCB0YWJsZS5vcmRlci1pbnZvaWNlLWVucXVpcnktdGFibGUgdWwge1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgdGFibGUuZGVsaXZlcnktZW5xdWlyeS10YWJsZSAuaXRlbS1jb2wge1xuICAgIHdpZHRoOiA2Ljk1JTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgdGFibGUuZGVsaXZlcnktZW5xdWlyeS10YWJsZSAucmVmZXJlbmNlLWNvbCB7XG4gICAgd2lkdGg6IDEzJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgdGFibGUuZGVsaXZlcnktZW5xdWlyeS10YWJsZSAucXVhbnRpdHktY29sIHtcbiAgICB3aWR0aDogMTUlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICB0YWJsZS5kZWxpdmVyeS1lbnF1aXJ5LXRhYmxlIC5kZXNjcmlwdGlvbi1jb2wge1xuICAgIHdpZHRoOiAyNyU7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgdGFibGUuZGVsaXZlcnktZW5xdWlyeS10YWJsZSAub3VyLXJlZmVyZW5jZS1jb2wge1xuICAgIHdpZHRoOiAxNSU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIHRhYmxlLmRlbGl2ZXJ5LWVucXVpcnktdGFibGUgLnlvdXItcmVmZXJlbmNlLWNvbCB7XG4gICAgd2lkdGg6IDE1JTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgdGFibGUuY29udHJhY3RzLXRhYmxlIHtcbiAgICBtYXJnaW4tdG9wOiA0MHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICB0YWJsZS5jb250cmFjdHMtdGFibGUgLmRlc2NyaXB0aW9uLWNvbCB7XG4gICAgd2lkdGg6IDMzJTtcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG5cbnRhYmxlLmNvbnRyYWN0cy10YWJsZSB0ZC5kZXNjcmlwdGlvbi1jb2wge1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogIzc3Nzc3NzsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIHRhYmxlLnRyYW5zYWN0aW9ucy10YWJsZSAudHlwZS1jb2wsIHRhYmxlLnRyYW5zYWN0aW9ucy10YWJsZSAuZG9jdW1lbnQtcmVmZXJlbmNlLWNvbCwgdGFibGUudHJhbnNhY3Rpb25zLXRhYmxlIC52YWx1ZS1jb2wsIHRhYmxlLnRyYW5zYWN0aW9ucy10YWJsZSAuc3RhdHVzLWNvbCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICB0YWJsZS50cmFuc2FjdGlvbnMtdGFibGUgLmRhdGUtY29sIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG5cbi5hY2NvdW50LXJldHVybi1idXR0b24ge1xuICAtLWNvbXBvbmVudC1zcGVjaWZjLXN0ZXAtaGVpZ2h0OiAxNXB4O1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLXNtYWxsLW1hcmdpbiwgMCk7XG4gIHBhZGRpbmc6IHZhcigtLWNvbW1vbi1idXR0b24tcGFkZGluZywgMTBweCAyMHB4KTtcbiAgY29sb3I6ICMwNjA1MmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGJvcmRlci13aWR0aDogMnB4O1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuNnB4O1xuICB3b3JkLXNwYWNpbmc6IDJweDtcbiAgYm9yZGVyLWNvbG9yOiAjZGFkYWRhO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IGFsbCAwLjhzOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuYWNjb3VudC1yZXR1cm4tYnV0dG9uIHtcbiAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1sYXJnZS1tYXJnaW4sIDApOyB9IH1cbiAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAuYWNjb3VudC1yZXR1cm4tYnV0dG9uOmhvdmVyLCAuYWNjb3VudC1yZXR1cm4tYnV0dG9uLmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzMxNDFlNDtcbiAgICAgIGJvcmRlci1jb2xvcjogIzA2MDUyZjtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgICAuYWNjb3VudC1yZXR1cm4tYnV0dG9uOmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIC5hY2NvdW50LXJldHVybi1idXR0b24uaG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfSB9XG4gIC5hY2NvdW50LXJldHVybi1idXR0b246YWN0aXZlLCAuYWNjb3VudC1yZXR1cm4tYnV0dG9uLmFjdGl2ZSB7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzA2MDUyZjtcbiAgICBib3JkZXItY29sb3I6ICMwNjA1MmY7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgLmFjY291bnQtcmV0dXJuLWJ1dHRvbjpkaXNhYmxlZCwgLmFjY291bnQtcmV0dXJuLWJ1dHRvbi5kaXNhYmxlZCwgLmFjY291bnQtcmV0dXJuLWJ1dHRvbltkaXNhYmxlZF0ge1xuICAgIGNvbG9yOiAjOTI5MjkyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwMCwgMjAwLCAyMDAsIDAuNyk7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAuYWNjb3VudC1yZXR1cm4tYnV0dG9uOmRpc2FibGVkOmhvdmVyLCAuYWNjb3VudC1yZXR1cm4tYnV0dG9uLmRpc2FibGVkOmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMjAwLCAyMDAsIDIwMCwgMC43KTsgfVxuICAuYWNjb3VudC1yZXR1cm4tYnV0dG9uOmZvY3VzLXZpc2libGUge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTsgfVxuICAuYWNjb3VudC1yZXR1cm4tYnV0dG9uIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIHRhYmxlLnBheW1lbnQtcmVxdWVzdHMtdGFibGUgLnBheS1jb2wge1xuICAgIHdpZHRoOiA2LjIlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICB0YWJsZS5wYXltZW50LXJlcXVlc3RzLXRhYmxlIC5kYXRlLWNvbCB7XG4gICAgd2lkdGg6IDIwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgdGFibGUucGF5bWVudC1yZXF1ZXN0cy10YWJsZSAudGltZS1jb2wge1xuICAgIHdpZHRoOiA4LjUlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICB0YWJsZS5wYXltZW50LXJlcXVlc3RzLXRhYmxlIC5yZWZlcmVuY2UtY29sIHtcbiAgICB3aWR0aDogMTguMSU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIHRhYmxlLnBheW1lbnQtcmVxdWVzdHMtdGFibGUgLmFtb3VudC1jb2wge1xuICAgIHdpZHRoOiAxMC44JTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgdGFibGUucGF5bWVudC1yZXF1ZXN0cy10YWJsZSAuY29udGFjdC1jb2wge1xuICAgIHdpZHRoOiAyNSU7IH0gfVxuXG4uc2l0ZS1saXN0LWNvbnRhaW5lciB7XG4gIG1hcmdpbjogMCAwIDIwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5zaXRlLWxpc3QtY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbjogMCAwIDQwcHg7IH0gfVxuICAuc2l0ZS1saXN0LWNvbnRhaW5lciAuYmVzcG9rZS1zaXRlLWljb24ge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgLnNpdGUtbGlzdC1jb250YWluZXIgLmJlc3Bva2Utc2l0ZS1pY29uOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu6goVwiO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG9cIjtcbiAgICAgIGZvbnQtc2l6ZTogMjZweDtcbiAgICAgIGNvbG9yOiAjYWU5NDYxOyB9XG4gIC5zaXRlLWxpc3QtY29udGFpbmVyIC5zaXRlLWxvZ28ge1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC44czsgfVxuICAgIC5zaXRlLWxpc3QtY29udGFpbmVyIC5zaXRlLWxvZ286aG92ZXIge1xuICAgICAgb3BhY2l0eTogLjU7XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNnM7IH1cbiAgICAuc2l0ZS1saXN0LWNvbnRhaW5lciAuc2l0ZS1sb2dvIC5pbWFnZSB7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBhc3BlY3QtcmF0aW86IDEgLyAxOyB9XG4gICAgICAuc2l0ZS1saXN0LWNvbnRhaW5lciAuc2l0ZS1sb2dvIC5pbWFnZSBpbWcge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgLnNpdGUtbGlzdC1jb250YWluZXIgLnNpdGUtZGVzY3JpcHRpb24gYTpob3ZlciB7XG4gICAgY29sb3I6ICNhZTk0NjE7IH1cbiAgLnNpdGUtbGlzdC1jb250YWluZXIgLnNpdGUtZGVzY3JpcHRpb24gYTphY3RpdmUge1xuICAgIGNvbG9yOiAjNzc3Nzc3OyB9XG5cbi5zaXRlLWxpc3QtcHVibGlzaC1zdGF0dXM6YmVmb3JlIHtcbiAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gIGZvbnQtc2l6ZTogMTZweDsgfVxuXG4uc2l0ZS1saXN0LXB1Ymxpc2gtc3RhdHVzLnN1Y2Nlc3M6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgIxcIjtcbiAgY29sb3I6ICMxMjgxMWY7IH1cblxuLnNpdGUtbGlzdC1wdWJsaXNoLXN0YXR1cy5mYWlsZWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgapcIjtcbiAgY29sb3I6ICNiMjBjMGM7IH1cblxuLnNpdGUtbGlzdC1wdWJsaXNoLXN0YXR1cy51bmtub3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74GZXCI7XG4gIGNvbG9yOiAjNzc3Nzc3OyB9XG5cbi5zaXRlLWxpc3QtcHVibGlzaC1zdGF0dXMuY2FuY2VsbGVkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74qNXCI7XG4gIGNvbG9yOiAjNzc3Nzc3OyB9XG5cbi5zaXRlLWxpc3QtcHVibGlzaC1zdGF0dXMuaW4tcHJvZ3Jlc3M6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhJBcIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbG9yOiAjMDYwNTJmO1xuICBhbmltYXRpb246IHNwaW5uZXIgMS41cyBsaW5lYXIgaW5maW5pdGU7IH1cblxuQGtleWZyYW1lcyBzcGlubmVyIHtcbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH0gfVxuXG4uZGF0YS10aW1lLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgLmRhdGEtdGltZS1jb250YWluZXIgLnRpbWUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tbGVmdDogMTVweDtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuZGF0YS10aW1lLWNvbnRhaW5lciAudGltZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tbGVmdDogMTVweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgdGFibGUucHVibGlzaC1oaXN0b3J5IC5kYXRhLXRpbWUtY29udGFpbmVyIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gIHRhYmxlLnNpdGUtbGlzdC10YWJsZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgdGFibGUuc2l0ZS1saXN0LXRhYmxlIHRib2R5IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAxMHB4OyB9IH1cblxudGFibGUuc2l0ZS1saXN0LXRhYmxlIHRib2R5IHRkIHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICB0YWJsZS5zaXRlLWxpc3QtdGFibGUucmVzcG9uc2l2ZS10YWJsZSB0ZCB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgdGFibGUuc2l0ZS1saXN0LXRhYmxlLnJlc3BvbnNpdmUtdGFibGUgdGQuc2l0ZS1sb2dvLWNvbCB7XG4gICAgcGFkZGluZzogMDsgfSB9XG5cbnRhYmxlLnNpdGUtbGlzdC10YWJsZS5yZXNwb25zaXZlLXRhYmxlIHRkIC5jb2wtbGFiZWwge1xuICB3aWR0aDogNDAlO1xuICBmb250LXdlaWdodDogNjAwO1xuICBjb2xvcjogIzAwMDAwMDsgfVxuXG50YWJsZS5zaXRlLWxpc3QtdGFibGUucHJlc2V0LTEgdGJvZHkgdHIge1xuICBwYWRkaW5nOiAyMHB4OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgdGFibGUuc2l0ZS1saXN0LXRhYmxlLnByZXNldC0xIHRib2R5IHRyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmM2YzZjM7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgdGFibGUuc2l0ZS1saXN0LXRhYmxlLnByZXNldC0xIHRib2R5IHRyIHtcbiAgICAgIHBhZGRpbmc6IDA7IH0gfVxuXG50YWJsZS5zaXRlLWxpc3QtdGFibGUgdGQgcCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDsgfVxuXG50YWJsZS5zaXRlLWxpc3QtdGFibGUgdGguc2l0ZS1sb2dvLWNvbCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxudGFibGUuc2l0ZS1saXN0LXRhYmxlIHRyLnN0YWdpbmctc2l0ZSAuc2l0ZS1sb2dvLWNvbCAuc2l0ZS1sb2dvIHtcbiAgZmlsdGVyOiBncmF5c2NhbGUoMSk7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICB0YWJsZS5zaXRlLWxpc3QtdGFibGUgLnNpdGUtbG9nby1jb2wge1xuICAgIHdpZHRoOiAxMTJweDtcbiAgICBwYWRkaW5nOiAwOyB9IH1cblxudGFibGUuc2l0ZS1saXN0LXRhYmxlIC5zaXRlLWxvZ28tY29sIGEge1xuICB3aWR0aDogMTAwJTtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbnRhYmxlLnNpdGUtbGlzdC10YWJsZSAuc2l0ZS1sb2dvLWNvbCAuc2l0ZS1sb2dvIHtcbiAgaGVpZ2h0OiAxMjBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW46IDAgMCAyMHB4O1xuICBwYWRkaW5nOiAzMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGFkYWRhO1xuICBib3JkZXI6IDJweCBzb2xpZCAjZmZmZmZmOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICB0YWJsZS5zaXRlLWxpc3QtdGFibGUgLnNpdGUtbG9nby1jb2wgLnNpdGUtbG9nbyB7XG4gICAgICB3aWR0aDogMTEwcHg7XG4gICAgICBtYXJnaW46IDJweDtcbiAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICBib3JkZXI6IDA7IH0gfVxuICB0YWJsZS5zaXRlLWxpc3QtdGFibGUgLnNpdGUtbG9nby1jb2wgLnNpdGUtbG9nbyAuaW1hZ2UsIHRhYmxlLnNpdGUtbGlzdC10YWJsZSAuc2l0ZS1sb2dvLWNvbCAuc2l0ZS1sb2dvIGEge1xuICAgIHdpZHRoOiAxMDAlOyB9XG5cbnRhYmxlLnNpdGUtbGlzdC10YWJsZSAuc2l0ZS1kZXNjcmlwdGlvbi1jb2wge1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIHRhYmxlLnNpdGUtbGlzdC10YWJsZSAuc2l0ZS1kZXNjcmlwdGlvbi1jb2wgcCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgdGFibGUuc2l0ZS1saXN0LXRhYmxlIC5zaXRlLWRlc2NyaXB0aW9uLWNvbCBociB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAxMHB4IDAgMTVweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIHRhYmxlLnNpdGUtbGlzdC10YWJsZSAuc2l0ZS1kZXNjcmlwdGlvbi1jb2wgaHIge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgdGFibGUuc2l0ZS1saXN0LXRhYmxlIC5zaXRlLWRlc2NyaXB0aW9uLWNvbCAuc2l0ZS1kZXNjcmlwdGlvbiBhIHtcbiAgICBjb2xvcjogIzA2MDUyZjtcbiAgICBmb250LXNpemU6IDEuMDYyNXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgdGFibGUuc2l0ZS1saXN0LXRhYmxlIC5zaXRlLWRlc2NyaXB0aW9uLWNvbCAuc2l0ZS1kZXNjcmlwdGlvbiBhIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07IH0gfVxuICB0YWJsZS5zaXRlLWxpc3QtdGFibGUgLnNpdGUtZGVzY3JpcHRpb24tY29sIC5zaXRlLWVudmlyb25tZW50IHtcbiAgICBmb250LXNpemU6IDEuMDYyNXJlbTtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICB0YWJsZS5zaXRlLWxpc3QtdGFibGUgLnNpdGUtZGVzY3JpcHRpb24tY29sIC5zaXRlLWVudmlyb25tZW50IHtcbiAgICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIHRhYmxlLnNpdGUtbGlzdC10YWJsZSB0aC5zaXRlLWRlc2NyaXB0aW9uLWNvbCB7XG4gICAgcGFkZGluZy1sZWZ0OiAyMHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICB0YWJsZS5zaXRlLWxpc3QtdGFibGUgdGQuc2l0ZS1kZXNjcmlwdGlvbi1jb2wge1xuICAgIHdpZHRoOiAyNTBweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICB0YWJsZS5zaXRlLWxpc3QtdGFibGUgdGQuc2l0ZS1kZXNjcmlwdGlvbi1jb2wge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gIHRhYmxlLnNpdGUtbGlzdC10YWJsZSAuc2l0ZS1kZXNjcmlwdGlvbiwgdGFibGUuc2l0ZS1saXN0LXRhYmxlIC5zaXRlLWVudmlyb25tZW50IHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgdGFibGUuc2l0ZS1saXN0LXRhYmxlIC5saWNlbnNlLWNvbCwgdGFibGUuc2l0ZS1saXN0LXRhYmxlIC5wdWJsaXNoaW5nLWNvbCB7XG4gICAgd2lkdGg6IDExMHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICB0YWJsZS5zaXRlLWxpc3QtdGFibGUgLnN0YXJ0ZWQtY29sLCB0YWJsZS5zaXRlLWxpc3QtdGFibGUgLmVuZGVkLWNvbCwgdGFibGUuc2l0ZS1saXN0LXRhYmxlIC5sYXN0LXRvdWNoLWNvbCB7XG4gICAgd2lkdGg6IDE0NXB4OyB9IH1cblxudGFibGUuc2l0ZS1saXN0LXRhYmxlIC5zaXRlLWJ1dHRvbnMtY29sIC5zaXRlLWJ1dHRvbnMtY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgZ2FwOiAyMHB4O1xuICBtYXJnaW46IDMwcHggMCAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICB0YWJsZS5zaXRlLWxpc3QtdGFibGUgLnNpdGUtYnV0dG9ucy1jb2wgLnNpdGUtYnV0dG9ucy1jb250YWluZXIge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICBnYXA6IDEwcHg7XG4gICAgICBtYXJnaW46IDA7IH0gfVxuXG50YWJsZS5zaXRlLWxpc3QtdGFibGUgLnNpdGUtYnV0dG9ucy1jb2wgYnV0dG9uLCB0YWJsZS5zaXRlLWxpc3QtdGFibGUgLnNpdGUtYnV0dG9ucy1jb2wgYSB7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gIHBhZGRpbmc6IDEwcHggMTVweDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIHRhYmxlLnNpdGUtbGlzdC10YWJsZSAuZGF0YS10aW1lLWNvbnRhaW5lciB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICB0YWJsZS5zaXRlLWxpc3QtdGFibGUgLmRhdGEtdGltZS1jb250YWluZXIgLnRpbWUge1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH1cblxudGFibGUuc2l0ZS1saXN0LXRhYmxlIC5iZXNwb2tlLXNpdGUtaWNvbjpiZWZvcmUge1xuICBmb250LXNpemU6IDQ0cHg7IH1cblxuLnNpdGUtbGlzdC1jb250ZW50LWNvbnRhaW5lciB7XG4gIHBhZGRpbmc6IDIwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmM2YzZjM7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44cywgYm94LXNoYWRvdyAwLjhzOyB9XG4gIC5zaXRlLWxpc3QtY29udGVudC1jb250YWluZXI6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm94LXNoYWRvdzogMHB4IDJweCA0cHggMXB4IHJnYmEoMTIsIDEyLCAxMywgMC4zKTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnMsIGJveC1zaGFkb3cgMC42czsgfVxuICAgIC5zaXRlLWxpc3QtY29udGVudC1jb250YWluZXI6aG92ZXIgaW1nIHtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC45KTtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjZzOyB9XG4gIC5zaXRlLWxpc3QtY29udGVudC1jb250YWluZXIuc3RhZ2luZy1zaXRlIC5zaXRlLWxvZ28ge1xuICAgIGZpbHRlcjogZ3JheXNjYWxlKDEpOyB9XG4gIC5zaXRlLWxpc3QtY29udGVudC1jb250YWluZXIgLnNpdGUtbG9nbyB7XG4gICAgaGVpZ2h0OiAxMjBweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWFyZ2luOiAwIDAgMjBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGFkYWRhO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICNmZmZmZmY7IH1cbiAgICAuc2l0ZS1saXN0LWNvbnRlbnQtY29udGFpbmVyIC5zaXRlLWxvZ28gLmltYWdlIHtcbiAgICAgIHBhZGRpbmc6IDMwcHg7IH1cbiAgICAuc2l0ZS1saXN0LWNvbnRlbnQtY29udGFpbmVyIC5zaXRlLWxvZ28gLmltYWdlLCAuc2l0ZS1saXN0LWNvbnRlbnQtY29udGFpbmVyIC5zaXRlLWxvZ28gaW1nIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLnNpdGUtbGlzdC1jb250ZW50LWNvbnRhaW5lciAuc2l0ZS1sb2dvIGltZyB7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC44czsgfVxuICAuc2l0ZS1saXN0LWNvbnRlbnQtY29udGFpbmVyIC5zaXRlLWRlc2NyaXB0aW9uIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAuc2l0ZS1saXN0LWNvbnRlbnQtY29udGFpbmVyIC5zaXRlLWRlc2NyaXB0aW9uIGEge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgY29sb3I6ICMwNjA1MmY7XG4gICAgICBmb250LXNpemU6IDEuMDYyNXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgLnNpdGUtbGlzdC1jb250ZW50LWNvbnRhaW5lciBociB7XG4gICAgbWFyZ2luOiAxMHB4IDAgMTVweDsgfVxuICAuc2l0ZS1saXN0LWNvbnRlbnQtY29udGFpbmVyIC5zaXRlLW9wdGlvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwYWRkaW5nOiA1cHggMDsgfVxuICAgIC5zaXRlLWxpc3QtY29udGVudC1jb250YWluZXIgLnNpdGUtb3B0aW9uID4gc3BhbiB7XG4gICAgICB3aWR0aDogNDAlO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgIC5zaXRlLWxpc3QtY29udGVudC1jb250YWluZXIgLnNpdGUtb3B0aW9uIHAge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICAgIC5zaXRlLWxpc3QtY29udGVudC1jb250YWluZXIgLnNpdGUtb3B0aW9uICsgLnNpdGUtYnV0dG9ucy1jb250YWluZXIge1xuICAgICAgbWFyZ2luLXRvcDogMzBweDsgfVxuICAuc2l0ZS1saXN0LWNvbnRlbnQtY29udGFpbmVyIC5kYXRhLXRpbWUtY29udGFpbmVyIHtcbiAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gICAgLnNpdGUtbGlzdC1jb250ZW50LWNvbnRhaW5lciAuZGF0YS10aW1lLWNvbnRhaW5lciAudGltZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgLnNpdGUtbGlzdC1jb250ZW50LWNvbnRhaW5lciAuc2l0ZS1idXR0b25zLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogMjBweDtcbiAgICBtYXJnaW46IDMwcHggMCAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLnNpdGUtbGlzdC1jb250ZW50LWNvbnRhaW5lciAuc2l0ZS1idXR0b25zLWNvbnRhaW5lciB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgZ2FwOiAxNXB4O1xuICAgICAgICBtYXJnaW46IDA7IH0gfVxuICAgIC5zaXRlLWxpc3QtY29udGVudC1jb250YWluZXIgLnNpdGUtYnV0dG9ucy1jb250YWluZXIgYnV0dG9uLCAuc2l0ZS1saXN0LWNvbnRlbnQtY29udGFpbmVyIC5zaXRlLWJ1dHRvbnMtY29udGFpbmVyIGEge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgICBwYWRkaW5nOiAxMHB4IDE1cHg7IH1cbiAgLnNpdGUtbGlzdC1jb250ZW50LWNvbnRhaW5lciAuYmVzcG9rZS1zaXRlLWljb246YmVmb3JlIHtcbiAgICBmb250LXNpemU6IDc0cHg7IH1cblxuLypcclxuLS0tLS0gQ01TIFN0eWxpbmcgLS0tLS0tIFxyXG4tIFN0eWxlIGZvciB0aGUgYWN0dWFsIGNtcyBwYWdlcyB0aGVtc2VsdmVzOlxyXG4gIC0gQ01TIEVudHJ5XHJcbiAgLSBCbG9nXHJcbiAgLSBOZXdzXHJcbiAgLSBFdmVudHNcclxuICAtIENNUyBTZXJpZXNcclxuLSBDTVMgZW50cnkgY29udHJvbHNcclxuLSBDTVMgbW9kdWxlXHJcbi0gQ01TIGNvbnRlbnQgY29udGFpbmVyLCB0aGlzIGdldCB1c2VkIHRocm91Z2hvdXQgZXhwcmVzcyBmb3IgdmFyaW91cyBwaWVjZXMgb2YgY29udGVudCB0aGF0IGlzIGRlZmluZWQgaW4gdGhlIHZtYWRtaW4ncyBjbXMgc3lzdGVtIHRoZXNlIGJsb2NrIG9mIGNvbnRlbnQgY2FuIGxpdGVyYWxseSBiZSBhbnl3aGVyZSAoIGhlYWRpbmdzIGZvciBwYWdlcywgaW4gdGhlIGZvb3RlciwgYWpheCByZXNwb25zZXMgKS5cclxuKi9cbi5kaXNwbGF5LWNtcy1zZXJpZXMtaW50cm8sIC5zZXJpZXMtZXhwbGFuYXRvcnktdGV4dCB7XG4gIG1heC13aWR0aDogODUwcHg7XG4gIG1hcmdpbjogMjIuNXB4IGF1dG8gMzBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5kaXNwbGF5LWNtcy1zZXJpZXMtaW50cm8uY21zLWNvbnRlbnQtY29udGFpbmVyIHAsIC5zZXJpZXMtZXhwbGFuYXRvcnktdGV4dC5jbXMtY29udGVudC1jb250YWluZXIgcCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAjN2I3YjdiOyB9XG4gIC5kaXNwbGF5LWNtcy1zZXJpZXMtaW50cm8gcCwgLnNlcmllcy1leHBsYW5hdG9yeS10ZXh0IHAge1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogIzdiN2I3YjsgfVxuXG4uZGlzcGxheS1jbXMtc2VyaWVzIHtcbiAgbWFyZ2luOiAyNXB4IDAgMDsgfVxuICAuZGlzcGxheS1jbXMtc2VyaWVzIGE6aG92ZXIgaDMsIC5kaXNwbGF5LWNtcy1zZXJpZXMgYTpob3ZlciAudmlkZW8tcGxheWVyLWluZGljYXRvci10ZXh0IHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICBjb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWNvbG91ci1saWdodG5lc3MtMCwgI2FlOTQ2MSk7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAuZGlzcGxheS1jbXMtc2VyaWVzIGgzIHtcbiAgICBtYXJnaW46IDAgMCAxMHB4O1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG4gIC5kaXNwbGF5LWNtcy1zZXJpZXMgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAuZGlzcGxheS1jbXMtc2VyaWVzIC5lbnRyeS1jb250ZW50IHtcbiAgICBmb250LXNpemU6IDEuMDYyNXJlbTsgfVxuICAgIC5kaXNwbGF5LWNtcy1zZXJpZXMgLmVudHJ5LWNvbnRlbnQgcCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gIC5kaXNwbGF5LWNtcy1zZXJpZXMubmV3cyAuY2VsbCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZWVlZTsgfVxuICAgIC5kaXNwbGF5LWNtcy1zZXJpZXMubmV3cyAuY2VsbDpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XG4gIC5kaXNwbGF5LWNtcy1zZXJpZXMuYmxvZyAuY2VsbCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZWVlZTsgfVxuICAgIC5kaXNwbGF5LWNtcy1zZXJpZXMuYmxvZyAuY2VsbDpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XG4gIC5kaXNwbGF5LWNtcy1zZXJpZXMuZXZlbnRzIC5jZWxsIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlZWVlOyB9XG4gICAgLmRpc3BsYXktY21zLXNlcmllcy5ldmVudHMgLmNlbGw6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxuICAuZGlzcGxheS1jbXMtc2VyaWVzLnZpZGVvLXBsYXlsaXN0IC5jZWxsID4gYSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YzZjNmMzsgfVxuICAgIC5kaXNwbGF5LWNtcy1zZXJpZXMudmlkZW8tcGxheWxpc3QgLmNlbGwgPiBhOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXdoaXRlLWNvbG91cik7IH1cbiAgLmRpc3BsYXktY21zLXNlcmllcyAuY2VsbCB7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuOHM7IH1cbiAgICAuZGlzcGxheS1jbXMtc2VyaWVzIC5jZWxsOmhvdmVyIHtcbiAgICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAuZGlzcGxheS1jbXMtc2VyaWVzLnRhYmxlIC5jZWxsIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICBwYWRkaW5nOiAxMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmRpc3BsYXktY21zLXNlcmllcy50YWJsZSAuY2VsbCB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmRpc3BsYXktY21zLXNlcmllcy50YWJsZSAuY29udGVudC1jb250YWluZXIge1xuICAgICAgaGVpZ2h0OiAyNzBweDtcbiAgICAgIGZsZXg6IDE7XG4gICAgICBwYWRkaW5nLXRvcDogNDBweDtcbiAgICAgIHBhZGRpbmctbGVmdDogMTEwcHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxMTBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuZGlzcGxheS1jbXMtc2VyaWVzLnRhYmxlIC5jb250ZW50LWJhbm5lciB7XG4gICAgICB3aWR0aDogNDAwcHg7XG4gICAgICBoZWlnaHQ6IDI2MHB4O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfSB9XG4gIC5kaXNwbGF5LWNtcy1zZXJpZXMudGFibGUgLmNvbnRlbnQtYmFubmVyIC5pbWFnZSB7XG4gICAgd2lkdGg6IDMxMHB4O1xuICAgIGhlaWdodDogMjAwcHg7XG4gICAgbWFyZ2luOiBhdXRvOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmRpc3BsYXktY21zLXNlcmllcy50YWJsZSAuY29udGVudC1iYW5uZXIgLmltYWdlIHtcbiAgICAgICAgbWFyZ2luOiA0MHB4IDAgMDsgfSB9XG4gIC5kaXNwbGF5LWNtcy1zZXJpZXMudGFibGUgLmVudHJ5LWNvbnRlbnQge1xuICAgIG1hcmdpbjogMCAwIDIwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuZGlzcGxheS1jbXMtc2VyaWVzLnRhYmxlIC5lbnRyeS1jb250ZW50IHtcbiAgICAgICAgbWFyZ2luOiAwOyB9IH1cbiAgLmRpc3BsYXktY21zLXNlcmllcy50YWJsZSAuZW50cnktY29udGVudC5yZWFkLW1vcmUge1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICAuZGlzcGxheS1jbXMtc2VyaWVzLnRhYmxlIC5lbnRyeS1jb250ZW50LnJlYWQtbW9yZTpub3QoLmZhZGUtZGlzYWJsZWQtbG93LWNvbnRlbnQpIHtcbiAgICAgIGhlaWdodDogMjAwcHg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLmRpc3BsYXktY21zLXNlcmllcy50YWJsZSAuZW50cnktY29udGVudC5yZWFkLW1vcmU6bm90KC5mYWRlLWRpc2FibGVkLWxvdy1jb250ZW50KSB7XG4gICAgICAgICAgaGVpZ2h0OiAzMCU7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5kaXNwbGF5LWNtcy1zZXJpZXMudGFibGUgLmVudHJ5LWNvbnRlbnQucmVhZC1tb3JlIHtcbiAgICAgICAgaGVpZ2h0OiAzMCU7IH0gfVxuICAuZGlzcGxheS1jbXMtc2VyaWVzLmdyaWQudmlkZW8tcGxheWxpc3QgLmNlbGwgYSB7XG4gICAgbWF4LWhlaWdodDogNTIwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICBwYWRkaW5nOiAyMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmRpc3BsYXktY21zLXNlcmllcy5ncmlkLnZpZGVvLXBsYXlsaXN0IC5jZWxsIGEge1xuICAgICAgICBwYWRkaW5nOiA0NXB4OyB9IH1cbiAgLmRpc3BsYXktY21zLXNlcmllcy5ncmlkLnZpZGVvLXBsYXlsaXN0IC5jb250ZW50LWJhbm5lciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjVweDsgfVxuICAuZGlzcGxheS1jbXMtc2VyaWVzLmdyaWQudmlkZW8tcGxheWxpc3QgaDMge1xuICAgIG1hcmdpbjogMCAwIDEwcHg7XG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDsgfVxuICAuZGlzcGxheS1jbXMtc2VyaWVzLmdyaWQudmlkZW8tcGxheWxpc3QgLmR1cmF0aW9uLWNvbnRhaW5lciB7XG4gICAgbWFyZ2luOiAwIDAgMTBweDsgfVxuICAuZGlzcGxheS1jbXMtc2VyaWVzLmdyaWQudmlkZW8tcGxheWxpc3QgLmVudHJ5LWNvbnRlbnQucmVhZC1tb3JlIHtcbiAgICBwYWRkaW5nOiAwIDAgMzBweDtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgY29sb3I6IHZhcigtLWJsYWNrLWNvbG91cik7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5kaXNwbGF5LWNtcy1zZXJpZXMuZ3JpZC52aWRlby1wbGF5bGlzdCAuZW50cnktY29udGVudC5yZWFkLW1vcmUge1xuICAgICAgICBwYWRkaW5nOiAwIDAgNTBweDsgfSB9XG4gIC5kaXNwbGF5LWNtcy1zZXJpZXMuZ3JpZC52aWRlby1wbGF5bGlzdCAuY29udGVudC1jb250YWluZXIge1xuICAgIGhlaWdodDogMTAwJTsgfVxuICAgIC5kaXNwbGF5LWNtcy1zZXJpZXMuZ3JpZC52aWRlby1wbGF5bGlzdCAuY29udGVudC1jb250YWluZXIgLnZpZGVvLXBsYXllci1pbmRpY2F0b3ItdGV4dCB7XG4gICAgICBtYXJnaW4tdG9wOiBhdXRvOyB9XG4gIC5kaXNwbGF5LWNtcy1zZXJpZXMuZ3JpZC5ibG9nIC5jZWxsIHtcbiAgICBoZWlnaHQ6IDUzMHB4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIHBhZGRpbmc6IDI1cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuZGlzcGxheS1jbXMtc2VyaWVzLmdyaWQuYmxvZyAuY2VsbCB7XG4gICAgICAgIHBhZGRpbmc6IDUwcHg7IH0gfVxuICAgIC5kaXNwbGF5LWNtcy1zZXJpZXMuZ3JpZC5ibG9nIC5jZWxsIC5jb250ZW50LWJhbm5lciB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzNXB4OyB9XG4gICAgICAuZGlzcGxheS1jbXMtc2VyaWVzLmdyaWQuYmxvZyAuY2VsbCAuY29udGVudC1iYW5uZXIgLmltYWdlIHtcbiAgICAgICAgaGVpZ2h0OiAxNzBweDsgfVxuICAgIC5kaXNwbGF5LWNtcy1zZXJpZXMuZ3JpZC5ibG9nIC5jZWxsIC5lbnRyeS1jb250ZW50LnJlYWQtbW9yZSB7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5kaXNwbGF5LWNtcy1zZXJpZXMuZ3JpZC5ldmVudHMgLmNlbGwge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgcGFkZGluZzogMjBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5kaXNwbGF5LWNtcy1zZXJpZXMuZ3JpZC5ldmVudHMgLmNlbGwge1xuICAgICAgICBoZWlnaHQ6IDI2MHB4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBwYWRkaW5nOiAzNXB4IDQ1cHg7IH0gfVxuICAgIC5kaXNwbGF5LWNtcy1zZXJpZXMuZ3JpZC5ldmVudHMgLmNlbGwgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgIGhlaWdodDogMjAwcHg7XG4gICAgICBmbGV4OiAxOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmRpc3BsYXktY21zLXNlcmllcy5ncmlkLmV2ZW50cyAuY2VsbCAuY29udGVudC1iYW5uZXIge1xuICAgICAgICB3aWR0aDogMjAwcHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA0MHB4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuICAgIC5kaXNwbGF5LWNtcy1zZXJpZXMuZ3JpZC5ldmVudHMgLmNlbGwgLmVudHJ5LWNvbnRlbnQucmVhZC1tb3JlIHtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICAgIC5kaXNwbGF5LWNtcy1zZXJpZXMuZ3JpZC5ldmVudHMgLmNlbGwgLmVudHJ5LWNvbnRlbnQucmVhZC1tb3JlOm5vdCguZmFkZS1kaXNhYmxlZC1sb3ctY29udGVudCkge1xuICAgICAgICBoZWlnaHQ6IDIwMHB4OyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAuZGlzcGxheS1jbXMtc2VyaWVzLmdyaWQuZXZlbnRzIC5jZWxsIC5lbnRyeS1jb250ZW50LnJlYWQtbW9yZTpub3QoLmZhZGUtZGlzYWJsZWQtbG93LWNvbnRlbnQpIHtcbiAgICAgICAgICAgIGhlaWdodDogNzVweDsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5kaXNwbGF5LWNtcy1zZXJpZXMuZ3JpZC5ldmVudHMgLmNlbGwgLmVudHJ5LWNvbnRlbnQucmVhZC1tb3JlIHtcbiAgICAgICAgICBoZWlnaHQ6IDc1cHg7IH0gfVxuICAuZGlzcGxheS1jbXMtc2VyaWVzLmdyaWQgLmNlbGwge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmRpc3BsYXktY21zLXNlcmllcy5ncmlkIC5jb250ZW50LWJhbm5lciAuaW1hZ2Uge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZGFkYWRhOyB9XG4gICAgICAuZGlzcGxheS1jbXMtc2VyaWVzLmdyaWQgLmNvbnRlbnQtYmFubmVyIC5pbWFnZSBpbWcge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyOyB9IH1cbiAgLmRpc3BsYXktY21zLXNlcmllcyAucHVibGlzaC1kYXRlIHtcbiAgICBtYXJnaW46IDAgMCAxN3B4OyB9XG5cbi5wdWJsaXNoLWRhdGUge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICBjb2xvcjogIzc3Nzc3NzsgfVxuXG4ucmVhZC1tb3JlLWFuY2hvciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1hcmdpbjogMCAwIDIwcHg7XG4gIGNvbG9yOiAjNzc3Nzc3O1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5yZWFkLW1vcmUtYW5jaG9yIHtcbiAgICAgIG1hcmdpbjogMTBweCAwIDA7IH0gfVxuICAucmVhZC1tb3JlLWFuY2hvcjpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgLnJlYWQtbW9yZS1hbmNob3I6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwi7qCBXCI7XG4gICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICBjb2xvcjogI2FlOTQ2MTtcbiAgICBmb250LXNpemU6IDhweDtcbiAgICBmb250LWZhbWlseTogXCJmb250ZWxsby1kam1pbGVzXCI7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAucmVhZC1tb3JlLWFuY2hvcjpob3ZlcjphZnRlciB7XG4gICAgY29sb3I6ICNhZTk0NjE7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAucmVhZC1tb3JlLWFuY2hvcjphY3RpdmUge1xuICAgIGNvbG9yOiAjMDYwNTJmOyB9XG5cbi5jbXMtZW50cnktY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBwYWRkaW5nOiAyNXB4IDMwcHggNDBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmNtcy1lbnRyeS1jb250YWluZXIge1xuICAgICAgcGFkZGluZzogNTBweCAxMTBweCA3MHB4OyB9IH1cbiAgLmNtcy1lbnRyeS1jb250YWluZXIuZXZlbnQgLmNtcy1oZWFkaW5nOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLvgbNcIjsgfVxuICAuY21zLWVudHJ5LWNvbnRhaW5lci5pbmZvcm1hdGlvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YzZjNmMzsgfVxuICAgIC5jbXMtZW50cnktY29udGFpbmVyLmluZm9ybWF0aW9uLnN0eWxlLTEge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIC5jbXMtZW50cnktY29udGFpbmVyIC5jbXMtaGVhZGluZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNtcy1oZWFkaW5nOmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgUmVndWxhclwiO1xuICAgICAgZm9udC1zaXplOiAyLjg3NXJlbTtcbiAgICAgIGNvbG9yOiAjMDYwNTJmO1xuICAgICAgbGluZS1oZWlnaHQ6IDAuODtcbiAgICAgIG9wYWNpdHk6IDAuMzsgfVxuICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jbXMtaGVhZGluZyBoMSB7XG4gICAgICBtYXJnaW46IDAgMCA0MHB4OyB9XG4gIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmxleDogMSAxcHg7IH1cbiAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgaDEge1xuICAgICAgbWFyZ2luOiAwIDAgMzVweDtcbiAgICAgIGZvbnQtc2l6ZTogMi4xMjVyZW07XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgY29sb3I6ICMwNjA1MmY7XG4gICAgICBsaW5lLWhlaWdodDogMS40O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBoMTpmaXJzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBoMTpvbmx5LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luOiAwOyB9XG4gICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIGgyIHtcbiAgICAgIG1hcmdpbjogMCAwIDIwcHg7XG4gICAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgY29sb3I6ICMwNjA1MmY7XG4gICAgICBsaW5lLWhlaWdodDogMS40OyB9XG4gICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgaDI6Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgaDI6b25seS1jaGlsZCB7XG4gICAgICAgIG1hcmdpbjogMDsgfVxuICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBoMyB7XG4gICAgICBtYXJnaW46IDAgMCAyMHB4O1xuICAgICAgcGFkZGluZzogMTVweCAwO1xuICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICBjb2xvcjogIzA2MDUyZjtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7IH1cbiAgICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBoMzpmaXJzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBoMzpvbmx5LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luOiAwOyB9XG4gICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIGg0IHtcbiAgICAgIG1hcmdpbjogMCAwIDIwcHg7XG4gICAgICBwYWRkaW5nOiAwIDAgMTBweDtcbiAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgIGNvbG9yOiAjMDYwNTJmO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNDsgfVxuICAgICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIGg0OmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAgICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIGg0Om9ubHktY2hpbGQge1xuICAgICAgICBtYXJnaW46IDA7IH1cbiAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgaDUge1xuICAgICAgbWFyZ2luOiAwIDAgMjBweDtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICBjb2xvcjogIzA2MDUyZjtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7IH1cbiAgICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBoNTpmaXJzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBoNTpvbmx5LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luOiAwOyB9XG4gICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIGg2IHtcbiAgICAgIG1hcmdpbjogMCAwIDIwcHg7XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgY29sb3I6ICMwNjA1MmY7XG4gICAgICBsaW5lLWhlaWdodDogMS40OyB9XG4gICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgaDY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgaDY6b25seS1jaGlsZCB7XG4gICAgICAgIG1hcmdpbjogMDsgfVxuICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBwIHtcbiAgICAgIG1hcmdpbjogdmFyKC0taW5kZW50LW1hcmdpbiwgMCk7XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICAgIGNvbG9yOiAjNzc3Nzc3OyB9XG4gICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6bGVmdFwiXSwgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIHAgaW1nW3N0eWxlKj1cImZsb2F0OiBsZWZ0XCJdLCAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgcFtzdHlsZSo9XCJmbG9hdDpsZWZ0XCJdID4gaW1nIHtcbiAgICAgICAgbWFyZ2luOiAuMmVtIC4yZW0gLjJlbSAwOyB9XG4gICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6cmlnaHRcIl0sIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBwIGltZ1tzdHlsZSo9XCJmbG9hdDogcmlnaHRcIl0sIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBwW3N0eWxlKj1cImZsb2F0OnJpZ2h0XCJdID4gaW1nIHtcbiAgICAgICAgbWFyZ2luOiAuMmVtIDAgLjJlbSAuMmVtOyB9XG4gICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgcCBpbWcge1xuICAgICAgICBtYXJnaW46IC4yZW0gMDsgfVxuICAgICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIHAgKyBwIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciB1bCwgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIG9sIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgdWwge1xuICAgICAgbWFyZ2luOiAxMHB4O1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgbGluZS1oZWlnaHQ6IDI1cHg7IH1cbiAgICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciB1bCB1bCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyNXB4OyB9XG4gICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgdWwgbGkge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAwIDE1cHg7IH1cbiAgICAgICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIHVsIGxpOmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgd2lkdGg6IDVweDtcbiAgICAgICAgICBoZWlnaHQ6IDVweDtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiAxMHB4O1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwNjA1MmY7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4OyB9XG4gICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIG9sIHtcbiAgICAgIG1hcmdpbjogMTBweDtcbiAgICAgIHBhZGRpbmc6IDAgMjVweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7IH1cbiAgICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBvbCBvbCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IGxvd2VyLWFscGhhOyB9XG4gICAgICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBvbCBvbCBvbCB7XG4gICAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBsb3dlci1yb21hbjsgfVxuICAgICAgICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBvbCBvbCBvbCBvbCB7XG4gICAgICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IGxvd2VyLWFscGhhOyB9XG4gICAgICAgICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgb2wgb2wgb2wgb2wgb2wge1xuICAgICAgICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IGxvd2VyLXJvbWFuOyB9XG4gICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIGxpIHtcbiAgICAgIGNvbG9yOiAjNzc3Nzc3O1xuICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7IH1cbiAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgdWwgKyBoMSwgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIG9sICsgaDEge1xuICAgICAgbWFyZ2luLXRvcDogMzVweDsgfVxuICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciB1bCArIGgyLCAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgb2wgKyBoMiB7XG4gICAgICBtYXJnaW4tdG9wOiAyMHB4OyB9XG4gICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIHVsICsgaDMsIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBvbCArIGgzIHtcbiAgICAgIG1hcmdpbi10b3A6IDIwcHg7IH1cbiAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgdWwgKyBoNCwgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIG9sICsgaDQge1xuICAgICAgbWFyZ2luLXRvcDogMjBweDsgfVxuICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciB1bCArIGg1LCAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgb2wgKyBoNSB7XG4gICAgICBtYXJnaW4tdG9wOiAyMHB4OyB9XG4gICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIHVsICsgaDYsIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBvbCArIGg2IHtcbiAgICAgIG1hcmdpbi10b3A6IDIwcHg7IH1cbiAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgZGwge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBwOm5vdCg6ZW1wdHkpICsgdGFibGUsIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBwOm5vdCg6ZW1wdHkpICsgLmNvbXBhcmlzb24tdGFibGUtY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbjogMTVweCAwOyB9XG4gICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIHRhYmxlIHtcbiAgICAgIC0tdGhlYWQtYm9yZGVyLWNvbG91cjogJHRoZWFkLWJvcmRlci1jb2xvdXI7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQgdHIge1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS10aGVhZC1ib3JkZXItY29sb3VyKTsgfVxuICAgICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQgdGgge1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlOyB9IH1cbiAgICAgICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIHRhYmxlLnJlc3BvbnNpdmUtdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgdGFibGUucmVzcG9uc2l2ZS10YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cDsgfSB9XG4gICAgICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHRib2R5Om5vdCguY29tcGFyaXNvbi1zdW1tYXJ5KSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB0Ym9keTpub3QoLmNvbXBhcmlzb24tc3VtbWFyeSkge1xuICAgICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXA7IH0gfVxuICAgICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIHRhYmxlIHRoIHtcbiAgICAgICAgcGFkZGluZzogMTBweCAxMHB4IDEwcHg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIHRhYmxlIHRkIHtcbiAgICAgICAgICBwYWRkaW5nOiAxMHB4OyB9IH1cbiAgICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciB0YWJsZSB0aGVhZFtjbGFzcyo9XCJwcmVzZXRcIl0gKyB0Ym9keTpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZGlzcGxheTogZmxleDsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIHRhYmxlIHRoZWFkW2NsYXNzKj1cInByZXNldFwiXSArIHRib2R5OmJlZm9yZSB7XG4gICAgICAgICAgICBtYXJnaW46IDEwcHg7IH0gfVxuICAgICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIHRhYmxlIHRib2R5IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAgICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIHRhYmxlIHRib2R5IHRoIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgdGFibGUgdGJvZHkgdHI6bm90KDpsYXN0LWNoaWxkKSB0aCB7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgdGFibGUgdGJvZHkgdHIge1xuICAgICAgICAgICAgZGlzcGxheTogdGFibGUtcm93OyB9IH1cbiAgICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciB0YWJsZSAuY29sLWxhYmVsIHtcbiAgICAgICAgY29sb3I6ICM3Nzc3Nzc7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHRib2R5IHRyIHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH0gfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAgICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIHRhYmxlLnJlc3BvbnNpdmUtdGFibGUgdGJvZHkgdHI6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VlZWVlZTsgfSB9XG4gICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgdGFibGUubm8td3JhcCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBvdmVyZmxvdy14OiBhdXRvOyB9XG4gICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgdGFibGUuY29tcGFyaXNvbi10YWJsZSB0Ym9keSB0ZDpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGNvbG9yOiAjNzc3Nzc3O1xuICAgICAgICBmb250LXdlaWdodDogNjAwOyB9XG4gICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIGJsb2NrcXVvdGUge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgZ2FwOiAxNXB4O1xuICAgICAgbWFyZ2luOiAwIGF1dG8gNDBweDtcbiAgICAgIHBhZGRpbmc6IDUwcHggMzBweDtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkdpYnNvblwiLCBcIkdpYnNvbiBGYWxsYmFja1wiLCBcIkFyaWFsXCI7XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuOHMsIGJvcmRlci1jb2xvciAwLjhzOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBibG9ja3F1b3RlIHtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgIGdhcDogMjVweDsgfSB9XG4gICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgYmxvY2txdW90ZTpob3ZlciB7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI2VlZWVlZTtcbiAgICAgICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjZzLCBib3JkZXItY29sb3IgMC42czsgfVxuICAgICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgYmxvY2txdW90ZTpob3ZlcjpiZWZvcmUge1xuICAgICAgICAgIGNvbG9yOiAjZGFkYWRhO1xuICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBibG9ja3F1b3RlOmhhcyhpbWcpIHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIGJsb2NrcXVvdGU6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgYmxvY2txdW90ZSB7XG4gICAgICAgICAgcGFkZGluZzogNTBweCA2MHB4OyB9IH1cbiAgICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBibG9ja3F1b3RlICsgYmxvY2txdW90ZSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDE1cHg7IH1cbiAgICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBibG9ja3F1b3RlOmJlZm9yZSwgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIGJsb2NrcXVvdGU6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIu+EjVwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgICAgZm9udC1zaXplOiA0MHB4O1xuICAgICAgICBjb2xvcjogI2VlZWVlZTtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAuODtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAgICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIGJsb2NrcXVvdGU6YmVmb3JlIHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwOyB9XG4gICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgYmxvY2txdW90ZTphZnRlciB7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IH1cbiAgICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBibG9ja3F1b3RlIGltZyB7XG4gICAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgYmxvY2txdW90ZSBpbWcge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG4gICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIGRpdi5nYWxsYXJ5IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBtYXJnaW46IDEwcHggMCAyMHB4OyB9XG4gICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgZGl2LmdhbGxhcnkuY2VsbC1ndXR0ZXJzIHtcbiAgICAgICAgZ2FwOiAxMHB4OyB9XG4gICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgZGl2LmdhbGxhcnkgPiBpbWcge1xuICAgICAgICBmbGV4LWdyb3c6IDE7IH1cbiAgICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBkaXYuZ2FsbGFyeSBhIHtcbiAgICAgICAgZmxleC1ncm93OiAxOyB9XG4gICAgICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBkaXYuZ2FsbGFyeSBhIGltZyB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgaWZyYW1lW3NyYyo9XCJodHRwczovL3d3dy5nb29nbGUuY29tL21hcHMvZW1iZWRcIl0ge1xuICAgICAgYm9yZGVyOiAycHggc29saWQgI2ZmZmZmZjsgfVxuICAgIHRoLCB0ZCB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIGZvcm0gZmllbGRzZXQgaDIge1xuICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmJhY2tncm91bmQtc2VjdGlvbiB7XG4gICAgICBwYWRkaW5nOiAxMHB4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuYmFja2dyb3VuZC1zZWN0aW9uIHtcbiAgICAgICAgICBwYWRkaW5nOiAxNXB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWJhbm5lciB7XG4gICAgICB3aWR0aDogNTAlOyB9IH1cbiAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtYmFubmVyIC5pbWFnZTpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1iYW5uZXIgLmltYWdlOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDEwcHg7IH1cbiAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtYmFubmVyIC5pbWFnZTpub3QoOmZpcnN0LWNoaWxkKSwgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtYmFubmVyIC5pbWFnZTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWJhbm5lciAuaW1hZ2Uge1xuICAgICAgd2lkdGg6IDc4JTtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9IH1cbiAgLmNtcy1lbnRyeS1jb250YWluZXIgLnB1Ymxpc2gtZGF0ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAyMHB4IDAgMDsgfVxuICAuY21zLWVudHJ5LWNvbnRhaW5lciAudGFnZ2luZy1jb250YWluZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMjBweCAwIDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAudGFnZ2luZy1jb250YWluZXIge1xuICAgICAgICBtYXJnaW46IDQwcHggMCAwOyB9IH1cblxuLmNtcy1lbnRyeS1jb250YWluZXIgYVtocmVmXj1cInRlbDpcIl0sIC5jbXMtZW50cnktY29udGFpbmVyIGFbaHJlZl49XCJtYWlsdG86XCJdLCAuY21zLWNvbnRlbnQtY29udGFpbmVyIGFbaHJlZl49XCJ0ZWw6XCJdLCAuY21zLWNvbnRlbnQtY29udGFpbmVyIGFbaHJlZl49XCJtYWlsdG86XCJdLCAuY21zLW1vZHVsLmVudHJ5LW1vZHVsZSBhW2hyZWZePVwidGVsOlwiXSwgLmNtcy1tb2R1bC5lbnRyeS1tb2R1bGUgYVtocmVmXj1cIm1haWx0bzpcIl0ge1xuICBmb250LXdlaWdodDogNzAwOyB9XG4gIC5jbXMtZW50cnktY29udGFpbmVyIGFbaHJlZl49XCJ0ZWw6XCJdOmhvdmVyLCAuY21zLWVudHJ5LWNvbnRhaW5lciBhW2hyZWZePVwibWFpbHRvOlwiXTpob3ZlciwgLmNtcy1jb250ZW50LWNvbnRhaW5lciBhW2hyZWZePVwidGVsOlwiXTpob3ZlciwgLmNtcy1jb250ZW50LWNvbnRhaW5lciBhW2hyZWZePVwibWFpbHRvOlwiXTpob3ZlciwgLmNtcy1tb2R1bC5lbnRyeS1tb2R1bGUgYVtocmVmXj1cInRlbDpcIl06aG92ZXIsIC5jbXMtbW9kdWwuZW50cnktbW9kdWxlIGFbaHJlZl49XCJtYWlsdG86XCJdOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgLmNtcy1lbnRyeS1jb250YWluZXIgYVtocmVmXj1cInRlbDpcIl0uc2hvdy1jb250YWN0LWljb246YmVmb3JlLCAuY21zLWVudHJ5LWNvbnRhaW5lciBhW2hyZWZePVwibWFpbHRvOlwiXS5zaG93LWNvbnRhY3QtaWNvbjpiZWZvcmUsIC5jbXMtY29udGVudC1jb250YWluZXIgYVtocmVmXj1cInRlbDpcIl0uc2hvdy1jb250YWN0LWljb246YmVmb3JlLCAuY21zLWNvbnRlbnQtY29udGFpbmVyIGFbaHJlZl49XCJtYWlsdG86XCJdLnNob3ctY29udGFjdC1pY29uOmJlZm9yZSwgLmNtcy1tb2R1bC5lbnRyeS1tb2R1bGUgYVtocmVmXj1cInRlbDpcIl0uc2hvdy1jb250YWN0LWljb246YmVmb3JlLCAuY21zLW1vZHVsLmVudHJ5LW1vZHVsZSBhW2hyZWZePVwibWFpbHRvOlwiXS5zaG93LWNvbnRhY3QtaWNvbjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjsgfVxuXG4uY21zLWVudHJ5LWNvbnRhaW5lciBhW2hyZWZePVwibWFpbHRvOlwiXS5zaG93LWNvbnRhY3QtaWNvbjpiZWZvcmUsIC5jbXMtY29udGVudC1jb250YWluZXIgYVtocmVmXj1cIm1haWx0bzpcIl0uc2hvdy1jb250YWN0LWljb246YmVmb3JlLCAuY21zLW1vZHVsLmVudHJ5LW1vZHVsZSBhW2hyZWZePVwibWFpbHRvOlwiXS5zaG93LWNvbnRhY3QtaWNvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+DoFwiOyB9XG5cbi5jbXMtZW50cnktY29udGFpbmVyIGFbaHJlZl49XCJ0ZWw6XCJdLnNob3ctY29udGFjdC1pY29uOmJlZm9yZSwgLmNtcy1jb250ZW50LWNvbnRhaW5lciBhW2hyZWZePVwidGVsOlwiXS5zaG93LWNvbnRhY3QtaWNvbjpiZWZvcmUsIC5jbXMtbW9kdWwuZW50cnktbW9kdWxlIGFbaHJlZl49XCJ0ZWw6XCJdLnNob3ctY29udGFjdC1pY29uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi76G5XCI7XG4gIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IH1cblxuLmNtcy1lbnRyeS1jb250YWluZXIgcCBhOm5vdChbY2xhc3MqPVwiLWJ1dHRvblwiXSksIC5jbXMtY29udGVudC1jb250YWluZXIgcCBhOm5vdChbY2xhc3MqPVwiLWJ1dHRvblwiXSksIC5jbXMtbW9kdWwuZW50cnktbW9kdWxlIHAgYTpub3QoW2NsYXNzKj1cIi1idXR0b25cIl0pIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGdhcDogMCA1cHg7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7IH1cblxuLmNtcy1lbnRyeS1jb250YWluZXIgcCBhOmhhcyhbc3R5bGUqPVwiZmxvYXRcIl0pLCAuY21zLWNvbnRlbnQtY29udGFpbmVyIHAgYTpoYXMoW3N0eWxlKj1cImZsb2F0XCJdKSwgLmNtcy1tb2R1bC5lbnRyeS1tb2R1bGUgcCBhOmhhcyhbc3R5bGUqPVwiZmxvYXRcIl0pIHtcbiAgZGlzcGxheTogaW5saW5lOyB9XG5cbi5jbXMtZW50cnktbmF2aWdhdGlvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1hcmdpbjogNDBweCAwIDMwcHg7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuY21zLWVudHJ5LW5hdmlnYXRpb24ge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfSB9XG4gIC5jbXMtZW50cnktbmF2aWdhdGlvbiAuYnV0dG9ucy1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5jbXMtZW50cnktbmF2aWdhdGlvbiAuYnV0dG9ucy1jb250YWluZXIge1xuICAgICAgICB3aWR0aDogNTAlOyB9IH1cblxuLmNtcy1lbnRyaWVzLWNvbnRyb2xzLCAuZW50cmllcy1pY29uLWNvbnRyb2xzIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWFyZ2luLXRvcDogMzBweDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5jbXMtZW50cmllcy1jb250cm9scywgLmVudHJpZXMtaWNvbi1jb250cm9scyB7XG4gICAgICB3aWR0aDogNTAlO1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgIG1hcmdpbi10b3A6IDA7IH0gfVxuICAuY21zLWVudHJpZXMtY29udHJvbHMgLmxhYmVsLCAuZW50cmllcy1pY29uLWNvbnRyb2xzIC5sYWJlbCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAzMHB4O1xuICAgIGNvbG9yOiAjMDYwNTJmO1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuICAuY21zLWVudHJpZXMtY29udHJvbHMgLmNvbnRyb2wtYnV0dG9uLCAuZW50cmllcy1pY29uLWNvbnRyb2xzIC5jb250cm9sLWJ1dHRvbiB7XG4gICAgd2lkdGg6IDU1cHg7XG4gICAgaGVpZ2h0OiA1NXB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBjb2xvcjogIzA2MDUyZjtcbiAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjhzOyB9XG4gICAgLmNtcy1lbnRyaWVzLWNvbnRyb2xzIC5jb250cm9sLWJ1dHRvbjpmaXJzdC1vZi10eXBlLCAuZW50cmllcy1pY29uLWNvbnRyb2xzIC5jb250cm9sLWJ1dHRvbjpmaXJzdC1vZi10eXBlIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMzBweDsgfVxuICAgIC5jbXMtZW50cmllcy1jb250cm9scyAuY29udHJvbC1idXR0b246aG92ZXIsIC5lbnRyaWVzLWljb24tY29udHJvbHMgLmNvbnRyb2wtYnV0dG9uOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwNjA1MmY7XG4gICAgICBjb2xvcjogIzA2MDUyZjtcbiAgICAgIGJveC1zaGFkb3c6IDA7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgIC5jbXMtZW50cmllcy1jb250cm9scyAuY29udHJvbC1idXR0b246YWN0aXZlLCAuZW50cmllcy1pY29uLWNvbnRyb2xzIC5jb250cm9sLWJ1dHRvbjphY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2FlOTQ2MTtcbiAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgLmNtcy1lbnRyaWVzLWNvbnRyb2xzIC5jb250cm9sLWJ1dHRvbjpiZWZvcmUsIC5lbnRyaWVzLWljb24tY29udHJvbHMgLmNvbnRyb2wtYnV0dG9uOmJlZm9yZSB7XG4gICAgICBmb250LWZhbWlseTogXCJmb250ZWxsby1kam1pbGVzXCI7XG4gICAgICBmb250LXNpemU6IDIwcHg7IH1cbiAgLmNtcy1lbnRyaWVzLWNvbnRyb2xzIC5wcmV2aW91cy1jbXMtZW50cnk6YmVmb3JlLCAuZW50cmllcy1pY29uLWNvbnRyb2xzIC5wcmV2aW91cy1jbXMtZW50cnk6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu6ggFwiOyB9XG4gIC5jbXMtZW50cmllcy1jb250cm9scyAubmV4dC1jbXMtZW50cnk6YmVmb3JlLCAuZW50cmllcy1pY29uLWNvbnRyb2xzIC5uZXh0LWNtcy1lbnRyeTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi7qCBXCI7IH1cblxuLmVudHJpZXMtdGV4dC1jb250cm9scy1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAxMHB4IDA7XG4gIG1hcmdpbjogMTVweCAwIDIwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5lbnRyaWVzLXRleHQtY29udHJvbHMtY29udGFpbmVyIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBnYXA6IDEwcHggMzBweDtcbiAgICAgIG1hcmdpbjogMCAwIDIwcHg7IH0gfVxuICAuZW50cmllcy10ZXh0LWNvbnRyb2xzLWNvbnRhaW5lciAubGFiZWwge1xuICAgIGNvbG9yOiAjMDYwNTJmO1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuICAuZW50cmllcy10ZXh0LWNvbnRyb2xzLWNvbnRhaW5lciAuY29udHJvbC1idXR0b24ucHJldmlvdXMtZW50cnkge1xuICAgIC0tY29tcG9uZW50LXNwZWNpZmMtc3RlcC1oZWlnaHQ6IDE1cHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tc21hbGwtbWFyZ2luLCAwKTtcbiAgICBwYWRkaW5nOiB2YXIoLS1jb21tb24tYnV0dG9uLXBhZGRpbmcsIDEwcHggMTVweCAxMHB4KTtcbiAgICBjb2xvcjogIzA2MDUyZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJvcmRlci13aWR0aDogMnB4O1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC42cHg7XG4gICAgd29yZC1zcGFjaW5nOiAycHg7XG4gICAgYm9yZGVyLWNvbG9yOiAjZGFkYWRhO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC44cztcbiAgICAvKlxyXG4gICAgICAgIC0tLSBJY29uIGNvbmZpZ3VyYXRpb24gLS0tXHJcbiAgICAgICAgLSAkaWNwb3NpdGlvbiA9PiBCZWZvcmUgb3IgYWZ0ZXIgdGV4dFxyXG4gICAgICAgIC0gbWFyZ2luID0+IGljb24gbWFyZ2luXHJcbiAgICAgICAgLSBjb2xvdXIgPT4gaWNvbiBjb2xvdXIgc3RhdGVzICggZGVmYXVsdCwgaG92ZXIgJiBhY3RpdmUgKVxyXG4gICAgICAgIC0gc2l6ZSA9PiBpY29uIHNpemUuXHJcbiAgICAgICAgLSBjb250ZW50ID0+IHRoZSBmb250IGljb24gaXRzZWxmLCBub3JtYWxseSBzdG9yZWQgaW4gJHNpdGUtaWNvbnNcclxuICAgICAgICAtIGZvbnQtZmFtaWx5ID0+IHRoZSBmb250IGZhbWlseSB0aGF0IHRoZSBpY29uIGJlbG9uZ3MgdG8gZm9udCBhd2Vzb21lIG9yIGZvbnRlbGxvLlxyXG4gICAgICAgICovIH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuZW50cmllcy10ZXh0LWNvbnRyb2xzLWNvbnRhaW5lciAuY29udHJvbC1idXR0b24ucHJldmlvdXMtZW50cnkge1xuICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1sYXJnZS1tYXJnaW4sIDApOyB9IH1cbiAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgICAgLmVudHJpZXMtdGV4dC1jb250cm9scy1jb250YWluZXIgLmNvbnRyb2wtYnV0dG9uLnByZXZpb3VzLWVudHJ5OmhvdmVyLCAuZW50cmllcy10ZXh0LWNvbnRyb2xzLWNvbnRhaW5lciAuY29udHJvbC1idXR0b24ucHJldmlvdXMtZW50cnkuaG92ZXIge1xuICAgICAgICBjb2xvcjogIzA2MDUyZjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzA2MDUyZjtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMDYwNTJmO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgICAgIC5lbnRyaWVzLXRleHQtY29udHJvbHMtY29udGFpbmVyIC5jb250cm9sLWJ1dHRvbi5wcmV2aW91cy1lbnRyeTpob3ZlcjpiZWZvcmUsIC5lbnRyaWVzLXRleHQtY29udHJvbHMtY29udGFpbmVyIC5jb250cm9sLWJ1dHRvbi5wcmV2aW91cy1lbnRyeS5ob3ZlcjpiZWZvcmUge1xuICAgICAgICAgIGNvbG9yOiAjMDYwNTJmO1xuICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgICAgICAgLmVudHJpZXMtdGV4dC1jb250cm9scy1jb250YWluZXIgLmNvbnRyb2wtYnV0dG9uLnByZXZpb3VzLWVudHJ5OmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIC5lbnRyaWVzLXRleHQtY29udHJvbHMtY29udGFpbmVyIC5jb250cm9sLWJ1dHRvbi5wcmV2aW91cy1lbnRyeS5ob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfSB9XG4gICAgLmVudHJpZXMtdGV4dC1jb250cm9scy1jb250YWluZXIgLmNvbnRyb2wtYnV0dG9uLnByZXZpb3VzLWVudHJ5OmFjdGl2ZSwgLmVudHJpZXMtdGV4dC1jb250cm9scy1jb250YWluZXIgLmNvbnRyb2wtYnV0dG9uLnByZXZpb3VzLWVudHJ5LmFjdGl2ZSB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNhZTk0NjE7XG4gICAgICBib3JkZXItY29sb3I6ICMwNjA1MmY7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgICAgLmVudHJpZXMtdGV4dC1jb250cm9scy1jb250YWluZXIgLmNvbnRyb2wtYnV0dG9uLnByZXZpb3VzLWVudHJ5OmFjdGl2ZTpiZWZvcmUsIC5lbnRyaWVzLXRleHQtY29udHJvbHMtY29udGFpbmVyIC5jb250cm9sLWJ1dHRvbi5wcmV2aW91cy1lbnRyeS5hY3RpdmU6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAuZW50cmllcy10ZXh0LWNvbnRyb2xzLWNvbnRhaW5lciAuY29udHJvbC1idXR0b24ucHJldmlvdXMtZW50cnk6ZGlzYWJsZWQsIC5lbnRyaWVzLXRleHQtY29udHJvbHMtY29udGFpbmVyIC5jb250cm9sLWJ1dHRvbi5wcmV2aW91cy1lbnRyeS5kaXNhYmxlZCwgLmVudHJpZXMtdGV4dC1jb250cm9scy1jb250YWluZXIgLmNvbnRyb2wtYnV0dG9uLnByZXZpb3VzLWVudHJ5W2Rpc2FibGVkXSB7XG4gICAgICBjb2xvcjogIzkyOTI5MjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMjAwLCAyMDAsIDIwMCwgMC43KTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAgIC5lbnRyaWVzLXRleHQtY29udHJvbHMtY29udGFpbmVyIC5jb250cm9sLWJ1dHRvbi5wcmV2aW91cy1lbnRyeTpkaXNhYmxlZDpiZWZvcmUsIC5lbnRyaWVzLXRleHQtY29udHJvbHMtY29udGFpbmVyIC5jb250cm9sLWJ1dHRvbi5wcmV2aW91cy1lbnRyeS5kaXNhYmxlZDpiZWZvcmUsIC5lbnRyaWVzLXRleHQtY29udHJvbHMtY29udGFpbmVyIC5jb250cm9sLWJ1dHRvbi5wcmV2aW91cy1lbnRyeVtkaXNhYmxlZF06YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICM5MjkyOTI7IH1cbiAgICAuZW50cmllcy10ZXh0LWNvbnRyb2xzLWNvbnRhaW5lciAuY29udHJvbC1idXR0b24ucHJldmlvdXMtZW50cnk6ZGlzYWJsZWQ6aG92ZXIsIC5lbnRyaWVzLXRleHQtY29udHJvbHMtY29udGFpbmVyIC5jb250cm9sLWJ1dHRvbi5wcmV2aW91cy1lbnRyeS5kaXNhYmxlZDpob3ZlciB7XG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMjAwLCAyMDAsIDIwMCwgMC43KTsgfVxuICAgIC5lbnRyaWVzLXRleHQtY29udHJvbHMtY29udGFpbmVyIC5jb250cm9sLWJ1dHRvbi5wcmV2aW91cy1lbnRyeTpmb2N1cy12aXNpYmxlIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpOyB9XG4gICAgLmVudHJpZXMtdGV4dC1jb250cm9scy1jb250YWluZXIgLmNvbnRyb2wtYnV0dG9uLnByZXZpb3VzLWVudHJ5OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu6ggFwiO1xuICAgICAgbWFyZ2luOiAwIDEwcHggMCAwO1xuICAgICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG8tZGptaWxlc1wiO1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgY29sb3I6ICMwNjA1MmY7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gICAgLmVudHJpZXMtdGV4dC1jb250cm9scy1jb250YWluZXIgLmNvbnRyb2wtYnV0dG9uLnByZXZpb3VzLWVudHJ5IC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG4gIC5lbnRyaWVzLXRleHQtY29udHJvbHMtY29udGFpbmVyIC5jb250cm9sLWJ1dHRvbi5uZXh0LWVudHJ5IHtcbiAgICAtLWNvbXBvbmVudC1zcGVjaWZjLXN0ZXAtaGVpZ2h0OiAxNXB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLXNtYWxsLW1hcmdpbiwgMCk7XG4gICAgcGFkZGluZzogdmFyKC0tY29tbW9uLWJ1dHRvbi1wYWRkaW5nLCAxMHB4IDE1cHggMTBweCk7XG4gICAgY29sb3I6ICMwNjA1MmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXItd2lkdGg6IDJweDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuNnB4O1xuICAgIHdvcmQtc3BhY2luZzogMnB4O1xuICAgIGJvcmRlci1jb2xvcjogI2RhZGFkYTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuOHM7XG4gICAgLypcclxuICAgICAgICAtLS0gSWNvbiBjb25maWd1cmF0aW9uIC0tLVxyXG4gICAgICAgIC0gJGljcG9zaXRpb24gPT4gQmVmb3JlIG9yIGFmdGVyIHRleHRcclxuICAgICAgICAtIG1hcmdpbiA9PiBpY29uIG1hcmdpblxyXG4gICAgICAgIC0gY29sb3VyID0+IGljb24gY29sb3VyIHN0YXRlcyAoIGRlZmF1bHQsIGhvdmVyICYgYWN0aXZlIClcclxuICAgICAgICAtIHNpemUgPT4gaWNvbiBzaXplLlxyXG4gICAgICAgIC0gY29udGVudCA9PiB0aGUgZm9udCBpY29uIGl0c2VsZiwgbm9ybWFsbHkgc3RvcmVkIGluICRzaXRlLWljb25zXHJcbiAgICAgICAgLSBmb250LWZhbWlseSA9PiB0aGUgZm9udCBmYW1pbHkgdGhhdCB0aGUgaWNvbiBiZWxvbmdzIHRvIGZvbnQgYXdlc29tZSBvciBmb250ZWxsby5cclxuICAgICAgICAqLyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmVudHJpZXMtdGV4dC1jb250cm9scy1jb250YWluZXIgLmNvbnRyb2wtYnV0dG9uLm5leHQtZW50cnkge1xuICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1sYXJnZS1tYXJnaW4sIDApOyB9IH1cbiAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgICAgLmVudHJpZXMtdGV4dC1jb250cm9scy1jb250YWluZXIgLmNvbnRyb2wtYnV0dG9uLm5leHQtZW50cnk6aG92ZXIsIC5lbnRyaWVzLXRleHQtY29udHJvbHMtY29udGFpbmVyIC5jb250cm9sLWJ1dHRvbi5uZXh0LWVudHJ5LmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICMwNjA1MmY7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwNjA1MmY7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzA2MDUyZjtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgICAgICAuZW50cmllcy10ZXh0LWNvbnRyb2xzLWNvbnRhaW5lciAuY29udHJvbC1idXR0b24ubmV4dC1lbnRyeTpob3ZlcjphZnRlciwgLmVudHJpZXMtdGV4dC1jb250cm9scy1jb250YWluZXIgLmNvbnRyb2wtYnV0dG9uLm5leHQtZW50cnkuaG92ZXI6YWZ0ZXIge1xuICAgICAgICAgIGNvbG9yOiAjMDYwNTJmO1xuICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgICAgICAgLmVudHJpZXMtdGV4dC1jb250cm9scy1jb250YWluZXIgLmNvbnRyb2wtYnV0dG9uLm5leHQtZW50cnk6aG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLmVudHJpZXMtdGV4dC1jb250cm9scy1jb250YWluZXIgLmNvbnRyb2wtYnV0dG9uLm5leHQtZW50cnkuaG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH0gfVxuICAgIC5lbnRyaWVzLXRleHQtY29udHJvbHMtY29udGFpbmVyIC5jb250cm9sLWJ1dHRvbi5uZXh0LWVudHJ5OmFjdGl2ZSwgLmVudHJpZXMtdGV4dC1jb250cm9scy1jb250YWluZXIgLmNvbnRyb2wtYnV0dG9uLm5leHQtZW50cnkuYWN0aXZlIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2FlOTQ2MTtcbiAgICAgIGJvcmRlci1jb2xvcjogIzA2MDUyZjtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgICAuZW50cmllcy10ZXh0LWNvbnRyb2xzLWNvbnRhaW5lciAuY29udHJvbC1idXR0b24ubmV4dC1lbnRyeTphY3RpdmU6YWZ0ZXIsIC5lbnRyaWVzLXRleHQtY29udHJvbHMtY29udGFpbmVyIC5jb250cm9sLWJ1dHRvbi5uZXh0LWVudHJ5LmFjdGl2ZTphZnRlciB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgLmVudHJpZXMtdGV4dC1jb250cm9scy1jb250YWluZXIgLmNvbnRyb2wtYnV0dG9uLm5leHQtZW50cnk6ZGlzYWJsZWQsIC5lbnRyaWVzLXRleHQtY29udHJvbHMtY29udGFpbmVyIC5jb250cm9sLWJ1dHRvbi5uZXh0LWVudHJ5LmRpc2FibGVkLCAuZW50cmllcy10ZXh0LWNvbnRyb2xzLWNvbnRhaW5lciAuY29udHJvbC1idXR0b24ubmV4dC1lbnRyeVtkaXNhYmxlZF0ge1xuICAgICAgY29sb3I6ICM5MjkyOTI7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwMCwgMjAwLCAyMDAsIDAuNyk7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgICAuZW50cmllcy10ZXh0LWNvbnRyb2xzLWNvbnRhaW5lciAuY29udHJvbC1idXR0b24ubmV4dC1lbnRyeTpkaXNhYmxlZDphZnRlciwgLmVudHJpZXMtdGV4dC1jb250cm9scy1jb250YWluZXIgLmNvbnRyb2wtYnV0dG9uLm5leHQtZW50cnkuZGlzYWJsZWQ6YWZ0ZXIsIC5lbnRyaWVzLXRleHQtY29udHJvbHMtY29udGFpbmVyIC5jb250cm9sLWJ1dHRvbi5uZXh0LWVudHJ5W2Rpc2FibGVkXTphZnRlciB7XG4gICAgICAgIGNvbG9yOiAjOTI5MjkyOyB9XG4gICAgLmVudHJpZXMtdGV4dC1jb250cm9scy1jb250YWluZXIgLmNvbnRyb2wtYnV0dG9uLm5leHQtZW50cnk6ZGlzYWJsZWQ6aG92ZXIsIC5lbnRyaWVzLXRleHQtY29udHJvbHMtY29udGFpbmVyIC5jb250cm9sLWJ1dHRvbi5uZXh0LWVudHJ5LmRpc2FibGVkOmhvdmVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMDAsIDIwMCwgMjAwLCAwLjcpOyB9XG4gICAgLmVudHJpZXMtdGV4dC1jb250cm9scy1jb250YWluZXIgLmNvbnRyb2wtYnV0dG9uLm5leHQtZW50cnk6Zm9jdXMtdmlzaWJsZSB7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTsgfVxuICAgIC5lbnRyaWVzLXRleHQtY29udHJvbHMtY29udGFpbmVyIC5jb250cm9sLWJ1dHRvbi5uZXh0LWVudHJ5OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwi7qCBXCI7XG4gICAgICBtYXJnaW46IDAgMCAwIDEwcHg7XG4gICAgICBmb250LWZhbWlseTogXCJmb250ZWxsby1kam1pbGVzXCI7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICBjb2xvcjogIzA2MDUyZjtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgICAuZW50cmllcy10ZXh0LWNvbnRyb2xzLWNvbnRhaW5lciAuY29udHJvbC1idXR0b24ubmV4dC1lbnRyeSAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuXG4uY21zLWVudHJ5LWJhY2stYnV0dG9uIHtcbiAgLS1jb21wb25lbnQtc3BlY2lmYy1zdGVwLWhlaWdodDogMTVweDtcbiAgd2lkdGg6IDIzMHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tc21hbGwtbWFyZ2luLCAxMHB4IDApO1xuICBwYWRkaW5nOiB2YXIoLS1jb21tb24tYnV0dG9uLXBhZGRpbmcsIDEwcHggMjBweCk7XG4gIGNvbG9yOiAjMDYwNTJmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBib3JkZXItd2lkdGg6IDJweDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxldHRlci1zcGFjaW5nOiAwLjZweDtcbiAgd29yZC1zcGFjaW5nOiAycHg7XG4gIGJvcmRlci1jb2xvcjogI2RhZGFkYTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcbiAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiBhbGwgMC44czsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5jbXMtZW50cnktYmFjay1idXR0b24ge1xuICAgICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLW1lZGl1bS1tYXJnaW4sIDEwcHggMCk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmNtcy1lbnRyeS1iYWNrLWJ1dHRvbiB7XG4gICAgICB3aWR0aDogMjMwcHg7XG4gICAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tbGFyZ2UtbWFyZ2luLCAwIDAgMjBweCk7IH0gfVxuICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgIC5jbXMtZW50cnktYmFjay1idXR0b246aG92ZXIsIC5jbXMtZW50cnktYmFjay1idXR0b24uaG92ZXIge1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzE0MWU0O1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMDYwNTJmO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAgIC5jbXMtZW50cnktYmFjay1idXR0b246aG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLmNtcy1lbnRyeS1iYWNrLWJ1dHRvbi5ob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9IH1cbiAgLmNtcy1lbnRyeS1iYWNrLWJ1dHRvbjphY3RpdmUsIC5jbXMtZW50cnktYmFjay1idXR0b24uYWN0aXZlIHtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDYwNTJmO1xuICAgIGJvcmRlci1jb2xvcjogIzA2MDUyZjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAuY21zLWVudHJ5LWJhY2stYnV0dG9uOmRpc2FibGVkLCAuY21zLWVudHJ5LWJhY2stYnV0dG9uLmRpc2FibGVkLCAuY21zLWVudHJ5LWJhY2stYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgY29sb3I6ICM5MjkyOTI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMjAwLCAyMDAsIDIwMCwgMC43KTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gIC5jbXMtZW50cnktYmFjay1idXR0b246ZGlzYWJsZWQ6aG92ZXIsIC5jbXMtZW50cnktYmFjay1idXR0b24uZGlzYWJsZWQ6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMDAsIDIwMCwgMjAwLCAwLjcpOyB9XG4gIC5jbXMtZW50cnktYmFjay1idXR0b246Zm9jdXMtdmlzaWJsZSB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpOyB9XG4gIC5jbXMtZW50cnktYmFjay1idXR0b24gLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG5cbi5zaXRlLW1hcCB7XG4gIG1hcmdpbjogMCAwIDI1cHg7IH1cbiAgLnNpdGUtbWFwID4gdWwge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwOyB9XG4gICAgLnNpdGUtbWFwID4gdWwgPiBsaSB7XG4gICAgICBwYWRkaW5nOiAyMHB4IDA7IH1cbiAgLnNpdGUtbWFwOm5vdCguc3VwcHJlc3MtYm9yZGVyKSA+IHVsID4gbGkge1xuICAgIGJvcmRlci13aWR0aDogMCAwIDFweCAwO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjYWVhZWFlO1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjhzLCBib3gtc2hhZG93IDAuOHM7IH1cbiAgICAuc2l0ZS1tYXA6bm90KC5zdXBwcmVzcy1ib3JkZXIpID4gdWwgPiBsaTpvbmx5LWNoaWxkIHtcbiAgICAgIGJvcmRlci13aWR0aDogMDsgfVxuICAgIC5zaXRlLW1hcDpub3QoLnN1cHByZXNzLWJvcmRlcikgPiB1bCA+IGxpOmxhc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5zaXRlLW1hcDpub3QoLnN1cHByZXNzLWJvcmRlcikgPiB1bCA+IGxpOmhvdmVyIHtcbiAgICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7XG4gICAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNnM7IH1cbiAgICAgIC5zaXRlLW1hcDpub3QoLnN1cHByZXNzLWJvcmRlcikgPiB1bCA+IGxpOmhvdmVyIGE6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMDYwNTJmO1xuICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC42czsgfVxuICAuc2l0ZS1tYXAgdWwge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjhzOyB9XG4gICAgLnNpdGUtbWFwIHVsIC5wYXJlbnQgPiBhLCAuc2l0ZS1tYXAgdWwgLnBhcmVudCA+IHNwYW4ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgY29sb3I6ICMwNjA1MmY7IH1cbiAgICAgIC5zaXRlLW1hcCB1bCAucGFyZW50ID4gYTpiZWZvcmUsIC5zaXRlLW1hcCB1bCAucGFyZW50ID4gc3BhbjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIu6ggVwiO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbjogMCAzNXB4IDAgMjVweDtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG8tZGptaWxlc1wiO1xuICAgICAgICBjb2xvcjogI2FlYWVhZTtcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC44czsgfVxuICAgIC5zaXRlLW1hcCB1bCAucGFyZW50ID4gdWwge1xuICAgICAgbWFyZ2luLWxlZnQ6IDMwcHg7IH1cbiAgICAuc2l0ZS1tYXAgdWwgLnBhcmVudCAuY2hpbGQge1xuICAgICAgcGFkZGluZzogN3B4IDA7IH1cbiAgICAgIC5zaXRlLW1hcCB1bCAucGFyZW50IC5jaGlsZCA+IGEge1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gIC5zaXRlLW1hcCAucGFyZW50IGE6aG92ZXIsIC5zaXRlLW1hcCB1bCAuY2hpbGQgPiBhOmhvdmVyIHtcbiAgICBjb2xvcjogI2FlOTQ2MTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gIC5zaXRlLW1hcCAucGFyZW50IGE6YWN0aXZlLCAuc2l0ZS1tYXAgdWwgLmNoaWxkID4gYTphY3RpdmUge1xuICAgIGNvbG9yOiAjMDYwNTJmO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cblxuLmNtcy1tb2R1bGUgLnJlYWQtbW9yZS1idXR0b24ge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWFyZ2luOiAyMHB4IDAgMDtcbiAgcGFkZGluZzogMDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGNvbG9yOiAjMDYwNTJmO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgdHJhbnNpdGlvbjogY29sb3IsIGJvcmRlciwgYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG4gIC5jbXMtbW9kdWxlIC5yZWFkLW1vcmUtYnV0dG9uOmhvdmVyIHtcbiAgICBjb2xvcjogI2FlOTQ2MTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciwgYm9yZGVyLWNvbG9yLCBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH1cbiAgLmNtcy1tb2R1bGUgLnJlYWQtbW9yZS1idXR0b246YWN0aXZlIHtcbiAgICBjb2xvcjogIzA2MDUyZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAuY21zLW1vZHVsZSAucmVhZC1tb3JlLWJ1dHRvbjphZnRlciB7XG4gICAgY29udGVudDogXCLuoIFcIjtcbiAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgIGNvbG9yOiAjYWU5NDYxO1xuICAgIGZvbnQtc2l6ZTogOHB4O1xuICAgIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvLWRqbWlsZXNcIjtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gIC5jbXMtbW9kdWxlIC5yZWFkLW1vcmUtYnV0dG9uOmhvdmVyOmFmdGVyIHtcbiAgICBjb2xvcjogI2FlOTQ2MTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gIC5jbXMtbW9kdWxlIC5yZWFkLW1vcmUtYnV0dG9uOmFjdGl2ZSB7XG4gICAgY29sb3I6ICMwNjA1MmY7IH1cblxuLmJhY2stdG8taW5mb3JtYXRpb24ge1xuICAtLWNvbXBvbmVudC1zcGVjaWZjLXN0ZXAtaGVpZ2h0OiAxNXB4O1xuICB3aWR0aDogMjMwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1zbWFsbC1tYXJnaW4sIDEwcHggMCk7XG4gIHBhZGRpbmc6IHZhcigtLWNvbW1vbi1idXR0b24tcGFkZGluZywgMTBweCAyMHB4KTtcbiAgY29sb3I6ICMwNjA1MmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGJvcmRlci13aWR0aDogMnB4O1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuNnB4O1xuICB3b3JkLXNwYWNpbmc6IDJweDtcbiAgYm9yZGVyLWNvbG9yOiAjZGFkYWRhO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IGFsbCAwLjhzOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmJhY2stdG8taW5mb3JtYXRpb24ge1xuICAgICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLW1lZGl1bS1tYXJnaW4sIDEwcHggMCk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmJhY2stdG8taW5mb3JtYXRpb24ge1xuICAgICAgd2lkdGg6IDIzMHB4O1xuICAgICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLWxhcmdlLW1hcmdpbiwgMCAwIDIwcHgpOyB9IH1cbiAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAuYmFjay10by1pbmZvcm1hdGlvbjpob3ZlciwgLmJhY2stdG8taW5mb3JtYXRpb24uaG92ZXIge1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzE0MWU0O1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMDYwNTJmO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAgIC5iYWNrLXRvLWluZm9ybWF0aW9uOmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIC5iYWNrLXRvLWluZm9ybWF0aW9uLmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH0gfVxuICAuYmFjay10by1pbmZvcm1hdGlvbjphY3RpdmUsIC5iYWNrLXRvLWluZm9ybWF0aW9uLmFjdGl2ZSB7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzA2MDUyZjtcbiAgICBib3JkZXItY29sb3I6ICMwNjA1MmY7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgLmJhY2stdG8taW5mb3JtYXRpb246ZGlzYWJsZWQsIC5iYWNrLXRvLWluZm9ybWF0aW9uLmRpc2FibGVkLCAuYmFjay10by1pbmZvcm1hdGlvbltkaXNhYmxlZF0ge1xuICAgIGNvbG9yOiAjOTI5MjkyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwMCwgMjAwLCAyMDAsIDAuNyk7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAuYmFjay10by1pbmZvcm1hdGlvbjpkaXNhYmxlZDpob3ZlciwgLmJhY2stdG8taW5mb3JtYXRpb24uZGlzYWJsZWQ6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMDAsIDIwMCwgMjAwLCAwLjcpOyB9XG4gIC5iYWNrLXRvLWluZm9ybWF0aW9uOmZvY3VzLXZpc2libGUge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTsgfVxuICAuYmFjay10by1pbmZvcm1hdGlvbiAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cblxuLmNtcy1jb250YWluZXIge1xuICBtYXJnaW46IDEycHggMCA0MXB4OyB9XG4gIC5jbXMtY29udGFpbmVyIHAge1xuICAgIGZvbnQtc2l6ZTogMXJlbTsgfVxuXG5kaXZbc3R5bGUqPVwiYmFja2dyb3VuZC1jb2xvclwiXSAuY21zLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgcGFkZGluZzogMCAyNXB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICBkaXZbc3R5bGUqPVwiYmFja2dyb3VuZC1jb2xvclwiXSAuY21zLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmc6IDAgNTBweDsgfSB9XG5cbi5jbXMtY29udGVudC1jb250YWluZXIgaDEge1xuICBtYXJnaW46IDAgMCAzNXB4O1xuICBmb250LXNpemU6IDIuMTI1cmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGNvbG9yOiAjMDYwNTJmO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAuY21zLWNvbnRlbnQtY29udGFpbmVyIGgxOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG4gIC5jbXMtY29udGVudC1jb250YWluZXIgaDE6b25seS1jaGlsZCB7XG4gICAgbWFyZ2luOiAwOyB9XG5cbi5jbXMtY29udGVudC1jb250YWluZXIgaDIge1xuICBtYXJnaW46IDAgMCAyMHB4O1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgY29sb3I6ICMwNjA1MmY7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7IH1cbiAgLmNtcy1jb250ZW50LWNvbnRhaW5lciBoMjpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICAuY21zLWNvbnRlbnQtY29udGFpbmVyIGgyOm9ubHktY2hpbGQge1xuICAgIG1hcmdpbjogMDsgfVxuXG4uY21zLWNvbnRlbnQtY29udGFpbmVyIGgzIHtcbiAgbWFyZ2luOiAwIDAgMjBweDtcbiAgcGFkZGluZzogMTVweCAwO1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGNvbG9yOiAjMDYwNTJmO1xuICBsaW5lLWhlaWdodDogMS40OyB9XG4gIC5jbXMtY29udGVudC1jb250YWluZXIgaDM6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgLmNtcy1jb250ZW50LWNvbnRhaW5lciBoMzpvbmx5LWNoaWxkIHtcbiAgICBtYXJnaW46IDA7IH1cblxuLmNtcy1jb250ZW50LWNvbnRhaW5lciBoNCB7XG4gIG1hcmdpbjogMCAwIDIwcHg7XG4gIHBhZGRpbmc6IDAgMCAxMHB4O1xuICBmb250LXNpemU6IDEuMnJlbTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBjb2xvcjogIzA2MDUyZjtcbiAgbGluZS1oZWlnaHQ6IDEuNDsgfVxuICAuY21zLWNvbnRlbnQtY29udGFpbmVyIGg0OmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG4gIC5jbXMtY29udGVudC1jb250YWluZXIgaDQ6b25seS1jaGlsZCB7XG4gICAgbWFyZ2luOiAwOyB9XG5cbi5jbXMtY29udGVudC1jb250YWluZXIgaDUge1xuICBtYXJnaW46IDAgMCAyMHB4O1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgY29sb3I6ICMwNjA1MmY7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7IH1cbiAgLmNtcy1jb250ZW50LWNvbnRhaW5lciBoNTpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICAuY21zLWNvbnRlbnQtY29udGFpbmVyIGg1Om9ubHktY2hpbGQge1xuICAgIG1hcmdpbjogMDsgfVxuXG4uY21zLWNvbnRlbnQtY29udGFpbmVyIGg2IHtcbiAgbWFyZ2luOiAwIDAgMjBweDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGNvbG9yOiAjMDYwNTJmO1xuICBsaW5lLWhlaWdodDogMS40OyB9XG4gIC5jbXMtY29udGVudC1jb250YWluZXIgaDY6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgLmNtcy1jb250ZW50LWNvbnRhaW5lciBoNjpvbmx5LWNoaWxkIHtcbiAgICBtYXJnaW46IDA7IH1cblxuLmNtcy1jb250ZW50LWNvbnRhaW5lciBwIHtcbiAgbWFyZ2luOiB2YXIoLS1pbmRlbnQtbWFyZ2luLCAwKTtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMS42O1xuICBjb2xvcjogIzc3Nzc3NzsgfVxuICAuY21zLWNvbnRlbnQtY29udGFpbmVyIHAgaW1nW3N0eWxlKj1cImZsb2F0OmxlZnRcIl0sIC5jbXMtY29udGVudC1jb250YWluZXIgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6IGxlZnRcIl0sIC5jbXMtY29udGVudC1jb250YWluZXIgcFtzdHlsZSo9XCJmbG9hdDpsZWZ0XCJdID4gaW1nIHtcbiAgICBtYXJnaW46IC4yZW0gLjJlbSAuMmVtIDA7IH1cbiAgLmNtcy1jb250ZW50LWNvbnRhaW5lciBwIGltZ1tzdHlsZSo9XCJmbG9hdDpyaWdodFwiXSwgLmNtcy1jb250ZW50LWNvbnRhaW5lciBwIGltZ1tzdHlsZSo9XCJmbG9hdDogcmlnaHRcIl0sIC5jbXMtY29udGVudC1jb250YWluZXIgcFtzdHlsZSo9XCJmbG9hdDpyaWdodFwiXSA+IGltZyB7XG4gICAgbWFyZ2luOiAuMmVtIDAgLjJlbSAuMmVtOyB9XG4gIC5jbXMtY29udGVudC1jb250YWluZXIgcCBpbWcge1xuICAgIG1hcmdpbjogLjJlbSAwOyB9XG4gIC5jbXMtY29udGVudC1jb250YWluZXIgcCArIHAge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uY21zLWNvbnRlbnQtY29udGFpbmVyIGJsb2NrcXVvdGUge1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgZ2FwOiAxNXB4O1xuICBtYXJnaW46IDAgYXV0byA0MHB4O1xuICBwYWRkaW5nOiA1MHB4IDMwcHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtZmFtaWx5OiBcIkdpYnNvblwiLCBcIkdpYnNvbiBGYWxsYmFja1wiLCBcIkFyaWFsXCI7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjhzLCBib3JkZXItY29sb3IgMC44czsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmNtcy1jb250ZW50LWNvbnRhaW5lciBibG9ja3F1b3RlIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBnYXA6IDI1cHg7IH0gfVxuICAuY21zLWNvbnRlbnQtY29udGFpbmVyIGJsb2NrcXVvdGU6aG92ZXIge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgYm9yZGVyLWNvbG9yOiAjZWVlZWVlO1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC42cywgYm9yZGVyLWNvbG9yIDAuNnM7IH1cbiAgICAuY21zLWNvbnRlbnQtY29udGFpbmVyIGJsb2NrcXVvdGU6aG92ZXI6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjZGFkYWRhO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAuY21zLWNvbnRlbnQtY29udGFpbmVyIGJsb2NrcXVvdGU6aGFzKGltZykge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLmNtcy1jb250ZW50LWNvbnRhaW5lciBibG9ja3F1b3RlOmxhc3Qtb2YtdHlwZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmNtcy1jb250ZW50LWNvbnRhaW5lciBibG9ja3F1b3RlIHtcbiAgICAgIHBhZGRpbmc6IDUwcHggNjBweDsgfSB9XG4gIC5jbXMtY29udGVudC1jb250YWluZXIgYmxvY2txdW90ZSArIGJsb2NrcXVvdGUge1xuICAgIG1hcmdpbi10b3A6IDE1cHg7IH1cbiAgLmNtcy1jb250ZW50LWNvbnRhaW5lciBibG9ja3F1b3RlOmJlZm9yZSwgLmNtcy1jb250ZW50LWNvbnRhaW5lciBibG9ja3F1b3RlOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIu+EjVwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBmb250LXNpemU6IDQwcHg7XG4gICAgY29sb3I6ICNlZWVlZWU7XG4gICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgbGluZS1oZWlnaHQ6IC44O1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgLmNtcy1jb250ZW50LWNvbnRhaW5lciBibG9ja3F1b3RlOmJlZm9yZSB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7IH1cbiAgLmNtcy1jb250ZW50LWNvbnRhaW5lciBibG9ja3F1b3RlOmFmdGVyIHtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsgfVxuICAuY21zLWNvbnRlbnQtY29udGFpbmVyIGJsb2NrcXVvdGUgaW1nIHtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5jbXMtY29udGVudC1jb250YWluZXIgYmxvY2txdW90ZSBpbWcge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cblxuLmNtcy1jb250ZW50LWNvbnRhaW5lciBwOm5vdCg6ZW1wdHkpICsgdGFibGUsIC5jbXMtY29udGVudC1jb250YWluZXIgcDpub3QoOmVtcHR5KSArIC5jb21wYXJpc29uLXRhYmxlLWNvbnRhaW5lciB7XG4gIG1hcmdpbjogMTVweCAwOyB9XG5cbi5jbXMtY29udGVudC1jb250YWluZXIgdGFibGUge1xuICAtLXRoZWFkLWJvcmRlci1jb2xvdXI6ICR0aGVhZC1ib3JkZXItY29sb3VyO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmNtcy1jb250ZW50LWNvbnRhaW5lciB0YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuY21zLWNvbnRlbnQtY29udGFpbmVyIHRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkIHRyIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS10aGVhZC1ib3JkZXItY29sb3VyKTsgfVxuICAgIC5jbXMtY29udGVudC1jb250YWluZXIgdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQgdGgge1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAuY21zLWNvbnRlbnQtY29udGFpbmVyIHRhYmxlLnJlc3BvbnNpdmUtdGFibGUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmNtcy1jb250ZW50LWNvbnRhaW5lciB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHtcbiAgICAgICAgZGlzcGxheTogdGFibGU7IH0gfVxuICAgIC5jbXMtY29udGVudC1jb250YWluZXIgdGFibGUucmVzcG9uc2l2ZS10YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5jbXMtY29udGVudC1jb250YWluZXIgdGFibGUucmVzcG9uc2l2ZS10YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCB7XG4gICAgICAgICAgZGlzcGxheTogdGFibGUtcm93LWdyb3VwOyB9IH1cbiAgICAuY21zLWNvbnRlbnQtY29udGFpbmVyIHRhYmxlLnJlc3BvbnNpdmUtdGFibGUgdGJvZHk6bm90KC5jb21wYXJpc29uLXN1bW1hcnkpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5jbXMtY29udGVudC1jb250YWluZXIgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB0Ym9keTpub3QoLmNvbXBhcmlzb24tc3VtbWFyeSkge1xuICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cDsgfSB9XG4gIC5jbXMtY29udGVudC1jb250YWluZXIgdGFibGUgdGgge1xuICAgIHBhZGRpbmc6IDEwcHggMTBweCAxMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuY21zLWNvbnRlbnQtY29udGFpbmVyIHRhYmxlIHRkIHtcbiAgICAgIHBhZGRpbmc6IDEwcHg7IH0gfVxuICAuY21zLWNvbnRlbnQtY29udGFpbmVyIHRhYmxlIHRoZWFkW2NsYXNzKj1cInByZXNldFwiXSArIHRib2R5OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5jbXMtY29udGVudC1jb250YWluZXIgdGFibGUgdGhlYWRbY2xhc3MqPVwicHJlc2V0XCJdICsgdGJvZHk6YmVmb3JlIHtcbiAgICAgICAgbWFyZ2luOiAxMHB4OyB9IH1cbiAgLmNtcy1jb250ZW50LWNvbnRhaW5lciB0YWJsZSB0Ym9keSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuY21zLWNvbnRlbnQtY29udGFpbmVyIHRhYmxlIHRib2R5IHRoIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmNtcy1jb250ZW50LWNvbnRhaW5lciB0YWJsZSB0Ym9keSB0cjpub3QoOmxhc3QtY2hpbGQpIHRoIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5jbXMtY29udGVudC1jb250YWluZXIgdGFibGUgdGJvZHkgdHIge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3c7IH0gfVxuICAuY21zLWNvbnRlbnQtY29udGFpbmVyIHRhYmxlIC5jb2wtbGFiZWwge1xuICAgIGNvbG9yOiAjNzc3Nzc3OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgLmNtcy1jb250ZW50LWNvbnRhaW5lciB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHRib2R5IHRyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAuY21zLWNvbnRlbnQtY29udGFpbmVyIHRhYmxlLnJlc3BvbnNpdmUtdGFibGUgdGJvZHkgdHI6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VlZWVlZTsgfSB9XG4gIC5jbXMtY29udGVudC1jb250YWluZXIgdGFibGUubm8td3JhcCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBvdmVyZmxvdy14OiBhdXRvOyB9XG4gIC5jbXMtY29udGVudC1jb250YWluZXIgdGFibGUuY29tcGFyaXNvbi10YWJsZSB0Ym9keSB0ZDpmaXJzdC1jaGlsZCB7XG4gICAgY29sb3I6ICM3Nzc3Nzc7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuXG4uY21zLWNvbnRlbnQtY29udGFpbmVyIHVsLCAuY21zLWNvbnRlbnQtY29udGFpbmVyIG9sIHtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG4uY21zLWNvbnRlbnQtY29udGFpbmVyIHVsIHtcbiAgbWFyZ2luOiAxMHB4O1xuICBwYWRkaW5nOiAwO1xuICBsaW5lLWhlaWdodDogMS42O1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBsaW5lLWhlaWdodDogMjVweDsgfVxuICAuY21zLWNvbnRlbnQtY29udGFpbmVyIHVsIHVsIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDI1cHg7IH1cbiAgLmNtcy1jb250ZW50LWNvbnRhaW5lciB1bCBsaSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IDAgMCAwIDE1cHg7IH1cbiAgICAuY21zLWNvbnRlbnQtY29udGFpbmVyIHVsIGxpOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHdpZHRoOiA1cHg7XG4gICAgICBoZWlnaHQ6IDVweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMTBweDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwNjA1MmY7XG4gICAgICBib3JkZXItcmFkaXVzOiA1cHg7IH1cblxuLmNtcy1jb250ZW50LWNvbnRhaW5lciBvbCB7XG4gIG1hcmdpbjogMTBweDtcbiAgcGFkZGluZzogMCAyNXB4O1xuICBsaW5lLWhlaWdodDogMS42OyB9XG4gIC5jbXMtY29udGVudC1jb250YWluZXIgb2wgb2wge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IGxvd2VyLWFscGhhOyB9XG4gICAgLmNtcy1jb250ZW50LWNvbnRhaW5lciBvbCBvbCBvbCB7XG4gICAgICBsaXN0LXN0eWxlLXR5cGU6IGxvd2VyLXJvbWFuOyB9XG4gICAgICAuY21zLWNvbnRlbnQtY29udGFpbmVyIG9sIG9sIG9sIG9sIHtcbiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBsb3dlci1hbHBoYTsgfVxuICAgICAgICAuY21zLWNvbnRlbnQtY29udGFpbmVyIG9sIG9sIG9sIG9sIG9sIHtcbiAgICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IGxvd2VyLXJvbWFuOyB9XG5cbi5jbXMtY29udGVudC1jb250YWluZXIgbGkge1xuICBjb2xvcjogIzc3Nzc3NztcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMS42OyB9XG5cbi5jbXMtY29udGVudC1jb250YWluZXIgdWwgKyBoMSwgLmNtcy1jb250ZW50LWNvbnRhaW5lciBvbCArIGgxIHtcbiAgbWFyZ2luLXRvcDogMzVweDsgfVxuXG4uY21zLWNvbnRlbnQtY29udGFpbmVyIHVsICsgaDIsIC5jbXMtY29udGVudC1jb250YWluZXIgb2wgKyBoMiB7XG4gIG1hcmdpbi10b3A6IDIwcHg7IH1cblxuLmNtcy1jb250ZW50LWNvbnRhaW5lciB1bCArIGgzLCAuY21zLWNvbnRlbnQtY29udGFpbmVyIG9sICsgaDMge1xuICBtYXJnaW4tdG9wOiAyMHB4OyB9XG5cbi5jbXMtY29udGVudC1jb250YWluZXIgdWwgKyBoNCwgLmNtcy1jb250ZW50LWNvbnRhaW5lciBvbCArIGg0IHtcbiAgbWFyZ2luLXRvcDogMjBweDsgfVxuXG4uY21zLWNvbnRlbnQtY29udGFpbmVyIHVsICsgaDUsIC5jbXMtY29udGVudC1jb250YWluZXIgb2wgKyBoNSB7XG4gIG1hcmdpbi10b3A6IDIwcHg7IH1cblxuLmNtcy1jb250ZW50LWNvbnRhaW5lciB1bCArIGg2LCAuY21zLWNvbnRlbnQtY29udGFpbmVyIG9sICsgaDYge1xuICBtYXJnaW4tdG9wOiAyMHB4OyB9XG5cbi5jbXMtY29udGVudC1jb250YWluZXIgZGwge1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbi5jbXMtY29udGVudC1jb250YWluZXIuc3VjY2VzcyB7XG4gIG1hcmdpbi1ib3R0b206IDcwcHg7IH1cbiAgLmNtcy1jb250ZW50LWNvbnRhaW5lci5zdWNjZXNzIGgyIHtcbiAgICBjb2xvcjogIzc3Nzc3NzsgfVxuICAuY21zLWNvbnRlbnQtY29udGFpbmVyLnN1Y2Nlc3MgLmFtb3VudC1wYWlkIHtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAjMTI4MTFmOyB9XG5cbi5jbXMtY29udGVudC1jb250YWluZXIuYWxlcnQge1xuICBtYXJnaW4tYm90dG9tOiAzNXB4OyB9XG4gIC5jbXMtY29udGVudC1jb250YWluZXIuYWxlcnQgaDIge1xuICAgIG1hcmdpbjogMCAwIDVweDtcbiAgICBjb2xvcjogIzc3Nzc3NzsgfVxuICAuY21zLWNvbnRlbnQtY29udGFpbmVyLmFsZXJ0IHAge1xuICAgIGNvbG9yOiAjNzc3Nzc3OyB9XG4gIC5jbXMtY29udGVudC1jb250YWluZXIuYWxlcnQgLmFtb3VudC1wYWlkIHtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAjYjIwYzBjOyB9XG5cbi5jbXMtY29udGVudC1jb250YWluZXIuY2VudGVyLWNvbnRlbnQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZmxleC13cmFwOiB3cmFwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLmNtcy1jb250ZW50LWNvbnRhaW5lci5lcnJvciB7XG4gIGNvbG9yOiAjYjIwYzBjOyB9XG4gIC5jbXMtY29udGVudC1jb250YWluZXIuZXJyb3IgaDIsIC5jbXMtY29udGVudC1jb250YWluZXIuZXJyb3IgaDMsIC5jbXMtY29udGVudC1jb250YWluZXIuZXJyb3IgaDQsIC5jbXMtY29udGVudC1jb250YWluZXIuZXJyb3IgaDUge1xuICAgIGNvbG9yOiAjYjIwYzBjOyB9XG5cbi5jbXMtY29udGVudC1jb250YWluZXIuZ3V0dGVyLXkge1xuICBtYXJnaW46IDEycHggMCA0MXB4OyB9XG5cbi5jbXMtY29udGVudC1jb250YWluZXIucGFnZS1oZWFkaW5nLWNvbnRlbnQge1xuICBwYWRkaW5nOiAwIDAgMTVweDsgfVxuXG4uY21zLWNvbnRlbnQtY29udGFpbmVyLm5vLXNpZGUtcGFkZGluZyB7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIHBhZGRpbmctbGVmdDogMDsgfVxuXG4uY21zLWNvbnRlbnQtY29udGFpbmVyLm91dGxpbmUge1xuICBwYWRkaW5nOiAxNXB4IDEwcHg7XG4gIGJvcmRlcjogMnB4IHNvbGlkICNlZWVlZWU7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjhzOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuY21zLWNvbnRlbnQtY29udGFpbmVyLm91dGxpbmUge1xuICAgICAgcGFkZGluZzogMzBweCAyMHB4OyB9IH1cbiAgLmNtcy1jb250ZW50LWNvbnRhaW5lci5vdXRsaW5lOmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6ICM4ODg4ODg7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuNnM7IH1cblxuLmNtcy1jb250ZW50LWNvbnRhaW5lciBwIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuYSB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wLCB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMCkpOyB9XG4gIGE6aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnktY29sb3VyLWxpZ2h0bmVzcy0wKTsgfVxuICBhOmFjdGl2ZSB7XG4gICAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0yKTsgfVxuXG4uY21zLWNvbnRlbnQtY29udGFpbmVyIGE6aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuXG4uY21zLWNvbnRlbnQtY29udGFpbmVyIGFbY2xhc3MqPVwiLWJ1dHRvblwiXTpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4uY21zLWNvbnRlbnQtY29udGFpbmVyIHA6Zmlyc3Qtb2YtdHlwZSB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIHBhZGRpbmctdG9wOiAwOyB9XG5cbi5jbXMtY29udGVudC1jb250YWluZXIgcDpsYXN0LW9mLXR5cGUge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuXG4uY21zLWNvbnRlbnQtY29udGFpbmVyICsgdGFibGUge1xuICBtYXJnaW4tdG9wOiAxNXB4OyB9XG5cbi5jbXMtY29udGVudC1jb250YWluZXIgKyAucGFnZS1idXR0b25zLWNvbnRhaW5lciB7XG4gIG1hcmdpbi10b3A6IDIwcHg7IH1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIFBvcHVwcyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbiNwb3B1cE92ZXJsYXkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDExOSwgMTE5LCAxMTksIDAuNSk7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlaWdodDogMTAwJTtcbiAgbGVmdDogMDtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiA1MDAwMDsgfVxuICAjcG9wdXBPdmVybGF5OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiBcIjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgd2lkdGg6IDA7IH1cblxuI3BvcHVwQ29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGJvcmRlci1yYWRpdXM6IDAuM2VtO1xuICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbjogMCAyJTtcbiAgbWF4LXdpZHRoOiA4MDBweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAjcG9wdXBDb250YWluZXIge1xuICAgICAgd2lkdGg6IDg0MHB4OyB9IH1cbiAgI3BvcHVwQ29udGFpbmVyLnN0YW5kYXJkIHtcbiAgICBtYXgtaGVpZ2h0OiA5MCU7IH1cbiAgICAjcG9wdXBDb250YWluZXIuc3RhbmRhcmQgI3BvcHVwQ29udGVudCB7XG4gICAgICBwYWRkaW5nOiAyMHB4OyB9XG4gICAgICAjcG9wdXBDb250YWluZXIuc3RhbmRhcmQgI3BvcHVwQ29udGVudCAuY29udGVudENvbnRhaW5lciB7XG4gICAgICAgIG1heC1oZWlnaHQ6IDUwdmg7XG4gICAgICAgIG92ZXJmbG93LXk6IGF1dG87IH1cbiAgI3BvcHVwQ29udGFpbmVyLnNjcm9sbCAjcG9wdXBDb250ZW50IHtcbiAgICBtYXgtaGVpZ2h0OiA5MHZoO1xuICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgb3ZlcmZsb3cteTogc2Nyb2xsOyB9XG4gICAgI3BvcHVwQ29udGFpbmVyLnNjcm9sbCAjcG9wdXBDb250ZW50IC5jb250ZW50Q29udGFpbmVyIHtcbiAgICAgIG1heC1oZWlnaHQ6IDUwdmg7XG4gICAgICBvdmVyZmxvdy15OiBhdXRvOyB9XG4gICNwb3B1cENvbnRhaW5lciBsZWdlbmQge1xuICAgIHBhZGRpbmc6IDEwcHggNXB4O1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxMHB4KTsgfVxuICAjcG9wdXBDb250YWluZXIgZm9ybSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiBhdXRvOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgI3BvcHVwQ29udGFpbmVyIGZvcm0ge1xuICAgICAgICB3aWR0aDogNzQwcHg7IH0gfVxuICAjcG9wdXBDb250YWluZXIgLmNvbmZpcm1hdGlvbkNvbnRhaW5lciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBjb2xvcjogIzEyODExZjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgICBtYXJnaW46IDAgMWVtIDAgMDtcbiAgICBwYWRkaW5nOiAxM3B4IDEwcHg7IH1cbiAgI3BvcHVwQ29udGFpbmVyIC5wb3B1cEJ1dHRvbkNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsgfVxuICAgICNwb3B1cENvbnRhaW5lciAucG9wdXBCdXR0b25Db250YWluZXIgLnBvcHVwQ2xvc2VCdXR0b24ge1xuICAgICAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uY2xvc2VCdXR0b24ucG9wdXBDbG9zZUJ1dHRvbiB7XG4gIHdpZHRoOiA3MHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5jbG9zZUJ1dHRvbi5wb3B1cENsb3NlQnV0dG9uOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLvgI1cIjtcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgY29sb3I6ICMwMDAwMDA7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNnMsIGNvbG9yIDAuOHM7IH1cbiAgLmNsb3NlQnV0dG9uLnBvcHVwQ2xvc2VCdXR0b246aG92ZXI6YmVmb3JlIHtcbiAgICBjb2xvcjogI2FlOTQ2MTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNnMsIGNvbG9yIDAuNnM7IH1cbiAgLmNsb3NlQnV0dG9uLnBvcHVwQ2xvc2VCdXR0b246YWN0aXZlOmJlZm9yZSB7XG4gICAgY29sb3I6ICMwNjA1MmY7XG4gICAgdHJhbnNpdGlvbjogZm9udC1zaXplIDEuMnMsIGNvbG9yIDAuNnM7IH1cblxuLnNlY29uZGFyeS1idXR0b24ucG9wdXBDbG9zZUJ1dHRvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBub25lOyB9XG5cbiNjaGVja291dC1jb250ZW50LWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLnNlY3Rpb24tYnV0dG9ucy1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG1hcmdpbi10b3A6IDMwcHg7IH1cbiAgLnNlY3Rpb24tYnV0dG9ucy1jb250YWluZXIgYSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uZm9ybUZpZWxkQ29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuI2NoZWNrb3V0Rm9ybSBzZWxlY3Qge1xuICBwYWRkaW5nOiAwIDAgMCAyNXB4OyB9XG5cbiNjaGVja291dEZvcm0gLmNoYW5nZURldGFpbHMge1xuICBtYXJnaW46IDVweCAwIDE1cHg7IH1cblxuI2NoZWNrb3V0Rm9ybSAjY2hlY2tvdXRGb3JtRGV0YWlscyB7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoODAsIDgwLCAxMDksIDAuMik7IH1cblxuI2NoZWNrb3V0Rm9ybSAuY2hlY2tvdXQtZGV0YWlscyB7XG4gIHdpZHRoOiAxMDAlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cblxuI2NoZWNrb3V0Rm9ybSAjZGVsaXZlcnlEZXRhaWxzQ29udGFpbmVyIHtcbiAgbWFyZ2luOiAyMHB4IDAgMzVweDsgfVxuICAjY2hlY2tvdXRGb3JtICNkZWxpdmVyeURldGFpbHNDb250YWluZXIgaDMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmb250LXNpemU6IDEuMDYyNXJlbTtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgY29sb3I6ICMwNjA1MmY7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7IH1cbiAgICAjY2hlY2tvdXRGb3JtICNkZWxpdmVyeURldGFpbHNDb250YWluZXIgaDM6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDFweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGFkYWRhOyB9XG5cbiNjaGVja291dEZvcm0gI2NoZWNrb3V0QnV0dG9uQ29udGFpbmVyIHtcbiAgbWFyZ2luOiA3NXB4IDAgMDsgfVxuICAjY2hlY2tvdXRGb3JtICNjaGVja291dEJ1dHRvbkNvbnRhaW5lciAjY2hlY2tvdXRTdWJtaXRCdXR0b24ge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDE1cHggMjVweDtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzA2MDUyZjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7XG4gICAgbWFyZ2luOiBhdXRvOyB9XG4gICAgI2NoZWNrb3V0Rm9ybSAjY2hlY2tvdXRCdXR0b25Db250YWluZXIgI2NoZWNrb3V0U3VibWl0QnV0dG9uOmVuYWJsZWQ6aG92ZXIge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzA2MDUyZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNiwgNSwgNDcsIDAuNSk7XG4gICAgICBjb2xvcjogIzA2MDUyZjtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjhzOyB9XG4gICAgI2NoZWNrb3V0Rm9ybSAjY2hlY2tvdXRCdXR0b25Db250YWluZXIgI2NoZWNrb3V0U3VibWl0QnV0dG9uOmZvY3VzIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTsgfVxuXG4jZWRpdERldGFpbHNGb3JtQ29udGFpbmVyIHtcbiAgbWF4LXdpZHRoOiA2MDBweDtcbiAgbWF4LWhlaWdodDogODAwcHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IDA7XG4gIG1hcmdpbjogYXV0bztcbiAgcGFkZGluZzogMTBweCAxMHB4IDIwcHg7XG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgYm94LXNoYWRvdzogMHB4IDJweCA0cHggMXB4IHJnYmEoMTIsIDEyLCAxMywgMC4zKTsgfVxuICAjZWRpdERldGFpbHNGb3JtQ29udGFpbmVyIGgxIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogNzAuNHB4IDAgMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgY29sb3I6ICM4ODg4ODg7IH1cbiAgICAjZWRpdERldGFpbHNGb3JtQ29udGFpbmVyIGgxOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnXFxmNGZmJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIGZvbnQtc2l6ZTogNDRweDtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgY29sb3I6ICMwNjA1MmY7IH1cbiAgI2VkaXREZXRhaWxzRm9ybUNvbnRhaW5lciAuYnV0dG9uQ29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAjZWRpdERldGFpbHNGb3JtQ29udGFpbmVyIC5idXR0b25Db250YWluZXIge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgI2VkaXREZXRhaWxzRm9ybUNvbnRhaW5lciAuYnV0dG9uQ29udGFpbmVyIGJ1dHRvbiB7XG4gICAgICAgIG1hcmdpbjogMCAxMHB4OyB9IH1cbiAgI2VkaXREZXRhaWxzRm9ybUNvbnRhaW5lciAjY2hhbmdlRGV0YWlsc0NhbmNlbEJ1dHRvbiB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMTVweCAyMHB4O1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWVhZWFlO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgICNlZGl0RGV0YWlsc0Zvcm1Db250YWluZXIgI2NoYW5nZURldGFpbHNDYW5jZWxCdXR0b246ZW5hYmxlZDpob3ZlciB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjYWVhZWFlO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg2LCA1LCA0NywgMC41KTtcbiAgICAgIGNvbG9yOiAjYWVhZWFlO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuOHM7IH1cbiAgICAjZWRpdERldGFpbHNGb3JtQ29udGFpbmVyICNjaGFuZ2VEZXRhaWxzQ2FuY2VsQnV0dG9uOmZvY3VzIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTsgfVxuICAjZWRpdERldGFpbHNGb3JtQ29udGFpbmVyICNjaGFuZ2VEZXRhaWxzU3VibWl0QnV0dG9uIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAxNXB4IDIwcHg7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwNjA1MmY7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgI2VkaXREZXRhaWxzRm9ybUNvbnRhaW5lciAjY2hhbmdlRGV0YWlsc1N1Ym1pdEJ1dHRvbjplbmFibGVkOmhvdmVyIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMwNjA1MmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDYsIDUsIDQ3LCAwLjUpO1xuICAgICAgY29sb3I6ICMwNjA1MmY7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC44czsgfVxuICAgICNlZGl0RGV0YWlsc0Zvcm1Db250YWluZXIgI2NoYW5nZURldGFpbHNTdWJtaXRCdXR0b246Zm9jdXMge1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpOyB9XG4gICNlZGl0RGV0YWlsc0Zvcm1Db250YWluZXIgI2NoYW5nZURldGFpbHNDbG9zZSB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMTVweCAyMHB4O1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDYwNTJmO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC42cztcbiAgICBtYXJnaW46IGF1dG87IH1cbiAgICAjZWRpdERldGFpbHNGb3JtQ29udGFpbmVyICNjaGFuZ2VEZXRhaWxzQ2xvc2U6ZW5hYmxlZDpob3ZlciB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjMDYwNTJmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg2LCA1LCA0NywgMC41KTtcbiAgICAgIGNvbG9yOiAjMDYwNTJmO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuOHM7IH1cbiAgICAjZWRpdERldGFpbHNGb3JtQ29udGFpbmVyICNjaGFuZ2VEZXRhaWxzQ2xvc2U6Zm9jdXMge1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpOyB9XG5cbiNjaGFuZ2VEZXRhaWxzLnN1Y2Nlc3MgaDIge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDE1cHggMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LXNpemU6IDFyZW07XG4gIGNvbG9yOiAjMDYwNTJmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDYwNTJmOyB9XG5cbiNhY2NvdW50UG9zdGNvZGVMb29rdXBBZGRyZXNzQ29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuI3Rlcm1zIHtcbiAgbWFyZ2luOiA1MHB4IDAgMDsgfVxuXG4jZGVsaXZlcnlEZXRhaWxzQ29udGFpbmVyIHtcbiAgbWF4LWhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjhzOyB9XG4gICNkZWxpdmVyeURldGFpbHNDb250YWluZXIuYWN0aXZlIHtcbiAgICBtYXgtaGVpZ2h0OiA1MDAwcHg7XG4gICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjZzOyB9XG5cbiNkZWxpdmVyeUNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4jZGVsaXZlcnlVcGdyYWRlQ29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLnZhbGlkYXRpb25FcnJvciB7XG4gIHdpZHRoOiAxMDAlO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50O1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgZm9udC1zaXplOiAwLjc1cmVtICFpbXBvcnRhbnQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY29sb3I6ICNiMjBjMGM7IH1cblxuLmRlbGl2ZXJ5LW9wdGlvbiB7XG4gIHdpZHRoOiAyNjBweCAhaW1wb3J0YW50OyB9XG5cbi5jaGVja291dC1jb21wbGV0ZS1idXR0b25zLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7IH1cblxuI2JpbGxQb3N0Y29kZUxvb2t1cEFkZHJlc3NDb250YWluZXIge1xuICB3aWR0aDogMTAwJTsgfVxuXG4uZWRpdC5jaGVja291dFBvcHVwTGluayB7XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7IH1cblxuLmNoZWNrb3V0LXJldHVybmluZy1jdXN0b21lci1jb250YWluZXIge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjYzhjOGM4O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjNmM2YzOyB9XG4gIC5jaGVja291dC1yZXR1cm5pbmctY3VzdG9tZXItY29udGFpbmVyIHAsIC5jaGVja291dC1yZXR1cm5pbmctY3VzdG9tZXItY29udGFpbmVyIGgyIHtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIC5jaGVja291dC1yZXR1cm5pbmctY3VzdG9tZXItY29udGFpbmVyOmhvdmVyIC5jb250ZW50LWNvbnRhaW5lcjpiZWZvcmUge1xuICAgIGNvbG9yOiAjMDYwNTJmO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgLmNoZWNrb3V0LXJldHVybmluZy1jdXN0b21lci1jb250YWluZXI6aG92ZXIgLnF1YXRlcm5hcnktYnV0dG9uOm5vdCg6aG92ZXIpIHtcbiAgICBib3JkZXItY29sb3I6ICNjOGM4Yzg7IH1cbiAgLmNoZWNrb3V0LXJldHVybmluZy1jdXN0b21lci1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHBhZGRpbmc6IDIwcHggMjVweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuY2hlY2tvdXQtcmV0dXJuaW5nLWN1c3RvbWVyLWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuICAgIC5jaGVja291dC1yZXR1cm5pbmctY3VzdG9tZXItY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBoMiB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBmb250LXNpemU6IDEuODc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgY29sb3I6ICMwNjA1MmY7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLmNoZWNrb3V0LXJldHVybmluZy1jdXN0b21lci1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIGgyIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7IH0gfVxuICAgIC5jaGVja291dC1yZXR1cm5pbmctY3VzdG9tZXItY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBwIHtcbiAgICAgIG1hcmdpbjogMTBweCAwO1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBjb2xvcjogIzA2MDUyZjsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAuY2hlY2tvdXQtcmV0dXJuaW5nLWN1c3RvbWVyLWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgcCB7XG4gICAgICAgICAgbWFyZ2luOiBhdXRvIDI1cHggMCAwOyB9IH1cbiAgICAuY2hlY2tvdXQtcmV0dXJuaW5nLWN1c3RvbWVyLWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLnF1YXRlcm5hcnktYnV0dG9uOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwi7qCBXCI7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG8tZGptaWxlc1wiO1xuICAgICAgZm9udC1zaXplOiA4cHg7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgICAuY2hlY2tvdXQtcmV0dXJuaW5nLWN1c3RvbWVyLWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLnF1YXRlcm5hcnktYnV0dG9uOmhvdmVyOmFmdGVyIHtcbiAgICAgIGNvbG9yOiAjYWU5NDYxO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAgIC5jaGVja291dC1yZXR1cm5pbmctY3VzdG9tZXItY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucXVhdGVybmFyeS1idXR0b246YWN0aXZlOmFmdGVyIHtcbiAgICAgIGNvbG9yOiAjMDYwNTJmOyB9XG4gICAgLmNoZWNrb3V0LXJldHVybmluZy1jdXN0b21lci1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+Ah1wiO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46IDAgMCAxMHB4O1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICBmb250LXNpemU6IDMycHg7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIGNvbG9yOiAjMDAwZDc2O1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwZW0pIHtcbiAgICAgICAgLmNoZWNrb3V0LXJldHVybmluZy1jdXN0b21lci1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyOmJlZm9yZSB7XG4gICAgICAgICAgbWFyZ2luOiAwIDIwcHggMCAwOyB9IH1cblxuLmVycm9yQ29udGFpbmVyLnBvc3Rjb2RlTG9va3VwU2VsZWN0Q29udGFpbmVyIHtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBhZGRpbmc6IDEwcHggMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5kZWxpdmVyeS1yZWFkLW9ubHkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLypcclxuLS0tLS0gNDA0IC0tLS0tLSBcclxuLSBBcmUgeW91IGxvc3Q/IFxyXG4qL1xuLmVycm9yLW5vdC1mb3VuZC1sb2dvIHtcbiAgd2lkdGg6IDIwMHB4O1xuICBoZWlnaHQ6IDEwMHB4O1xuICBtYXJnaW4tYm90dG9tOiA1Mi41cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5lcnJvci1ub3QtZm91bmQtbG9nbyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMDVweDsgfSB9XG5cbi5lcnJvci1ub3QtZm91bmQtY29udGFpbmVyIHtcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvdGVtcGxhdGUvY29udGVudC9kZXZlbG9wbWVudC9pbWFnZXMvaWNvbnMvNDA0LnN2Z1wiKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIGxlZnQ7XG4gIGJhY2tncm91bmQtc2l6ZTogOTBweCAzMHB4OyB9XG5cbi5lcnJvci1ub3QtZm91bmQtY29udGVudC1jb250YWluZXIge1xuICB3aWR0aDogOTB2dztcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1hcmdpbjogYXV0bztcbiAgcGFkZGluZzogMjBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpO1xuICBib3gtc2hhZG93OiAwcHggMnB4IDRweCAxcHggcmdiYSgxMiwgMTIsIDEzLCAwLjEpOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuZXJyb3Itbm90LWZvdW5kLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgIHdpZHRoOiA4MDBweDsgfSB9XG4gIC5lcnJvci1ub3QtZm91bmQtY29udGVudC1jb250YWluZXIgLmNtcy1jb250ZW50LWNvbnRhaW5lciBoMSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogMTIuNXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAjMDYwNTJmO1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIC5lcnJvci1ub3QtZm91bmQtY29udGVudC1jb250YWluZXIgLmNtcy1jb250ZW50LWNvbnRhaW5lciBoMiB7XG4gICAgbWFyZ2luOiAwIDAgMzBweDtcbiAgICBmb250LXNpemU6IDMuNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogI2FlOTQ2MTsgfVxuICAuZXJyb3Itbm90LWZvdW5kLWNvbnRlbnQtY29udGFpbmVyIC5jbXMtY29udGVudC1jb250YWluZXIgcCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6ICMwNjA1MmY7IH1cbiAgLmVycm9yLW5vdC1mb3VuZC1jb250ZW50LWNvbnRhaW5lciAuYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgbWFyZ2luOiA2Mi41cHggMCAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmVycm9yLW5vdC1mb3VuZC1jb250ZW50LWNvbnRhaW5lciAuYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgICAgIG1hcmdpbjogMTI1cHggMCAwOyB9IH1cblxuLypcclxuLS0tLS0gTGlnaHQgYm94ICAtLS0tLVxyXG4tIFRoaXMgZ2V0IGRpc3BsYXllZCBvbiBwcm9kdWN0IHBhZ2VzIHRvIGRpc3BsYXkgdGhlIGZ1bGwgcmVzb2x1dGlvbiBwcm9kdWN0IGltYWdlcy5cclxuRnVudGlvbmFsaXR5IHRoaXMgaG9sZHM6XHJcbi0gTGlnaHQgYm94IGFjdGl2ZSAvIGluYWN0aXZlIHN0YXRlcy5cclxuLSBUaGUgb3ZlcmxheSBzdHlsZXMuXHJcbi0gQWRkaXRpb25hbCBJbWFnZXMuXHJcbi0gMzYwIGltYWdlIHN1cHBvcnQuXHJcbi0gVGhlIGhlYWRlciB0aGF0IGdldHMgZ2VuZXJhdGVkLlxyXG4tIFZpZGVvIHBsYXllci5cclxuKi9cbiNsaWdodGJveC1vdmVybGF5LmFjdGl2ZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDtcbiAgb3BhY2l0eTogMC43O1xuICB6LWluZGV4OiAxMDAwMDsgfVxuXG4ubGlnaHRib3gge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gIC5saWdodGJveC5hY3RpdmUge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC44czsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgICAubGlnaHRib3guYWN0aXZlIHtcbiAgICAgICAgbWF4LWhlaWdodDogNTAlO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7IH0gfVxuXG4jbGlnaHRib3gtaGVhZGVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwNjA1MmY7XG4gIHotaW5kZXg6IDUwMDA7IH1cbiAgI2xpZ2h0Ym94LWhlYWRlciB1bCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXJnaW46IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAjbGlnaHRib3gtaGVhZGVyICNsaWdodGJveC1jb3VudCB7XG4gICAgb3JkZXI6IDE7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDdweDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAjbGlnaHRib3gtaGVhZGVyICNsaWdodGJveC1jb3VudCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsgfSB9XG4gICNsaWdodGJveC1oZWFkZXIgI2xpZ2h0Ym94LWNsb3NlLWJ1dHRvbi1jb250YWluZXIge1xuICAgIG9yZGVyOiA0OyB9XG5cbiNsaWdodGJveC1jb250ZW50LW91dGVyLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICB6LWluZGV4OiAxMDAwMDsgfVxuXG4jbGlnaHRib3gtY29udGVudC1pbm5lci1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuXG4ucmVlbC1vdmVybGF5IHtcbiAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbiAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIG1hcmdpbjogMCBhdXRvOyB9XG5cbi5pbWFnZS5saWdodGJveC1lbmFibGVkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74yeXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMnB4IDhweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjg1KTtcbiAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gIGZvbnQtc2l6ZTogMjJweDtcbiAgY29sb3I6ICMwNjA1MmY7XG4gIGJvcmRlci13aWR0aDogMXB4IDFweCAwIDA7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogI2U0ZTRlNDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuOHM7XG4gIHotaW5kZXg6IDEwMDA7IH1cblxuLmltYWdlLmxpZ2h0Ym94LWVuYWJsZWQ6aG92ZXI6YmVmb3JlIHtcbiAgY29sb3I6ICNhZTk0NjE7XG4gIGJvcmRlci1jb2xvcjogIzA2MDUyZjsgfVxuXG4ubGlnaHRib3ggI2xpZ2h0Ym94LWNsb3NlLWJ1dHRvbi1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogYXV0byAxNXB4OyB9XG5cbi5saWdodGJveCAuY2xvc2UtYnV0dG9uIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTAwOyB9XG4gIC5saWdodGJveCAuY2xvc2UtYnV0dG9uOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLvgI1cIjtcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgY29sb3I6ICNlZWVlZWU7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNnMsIGNvbG9yIDAuOHM7IH1cbiAgLmxpZ2h0Ym94IC5jbG9zZS1idXR0b246aG92ZXI6YmVmb3JlIHtcbiAgICBjb2xvcjogI2FlOTQ2MTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNnMsIGNvbG9yIDAuNnM7IH1cbiAgLmxpZ2h0Ym94IC5jbG9zZS1idXR0b246YWN0aXZlOmJlZm9yZSB7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgdHJhbnNpdGlvbjogZm9udC1zaXplIDEuMnMsIGNvbG9yIDAuNnM7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk5Ljk5ODc1ZW0pIHtcbiAgLmxpZ2h0Ym94IC5yZWVsLW92ZXJsYXkge1xuICAgIG1heC13aWR0aDogMTAwJTsgfSB9XG5cbi5saWdodGJveCAubGlnaHRib3gtY29udGVudCB7XG4gIG1heC1oZWlnaHQ6IGNhbGMoMTAwJSAtIHZhcigtLWxpZ2h0Ym94LWhlYWRlci1oZWlnaHQpIC0gMTBweCk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcbiAgbWFyZ2luOiAxMHB4IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubGlnaHRib3ggLmxpZ2h0Ym94LWNvbnRlbnQge1xuICAgICAgbWF4LWhlaWdodDogbm9uZTtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiB1bnNldDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxMDBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAubGlnaHRib3ggLmxpZ2h0Ym94LWNvbnRlbnQge1xuICAgICAgbWFyZ2luOiAyMHB4IDA7XG4gICAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAubGlnaHRib3ggLmxpZ2h0Ym94LWNvbnRlbnQge1xuICAgICAgYWxpZ24tc2VsZjogYXV0bztcbiAgICAgIG1hcmdpbjogYXV0bzsgfSB9XG4gIC5saWdodGJveCAubGlnaHRib3gtY29udGVudCAubGlnaHRCb3hTbGlkZSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5saWdodGJveCAubGlnaHRib3gtY29udGVudCAubGlnaHRCb3hTbGlkZS5hY3RpdmUge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIHdpZHRoOiAxMDB2dztcbiAgICAgIG1heC1oZWlnaHQ6IDcwdmg7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5saWdodGJveCAubGlnaHRib3gtY29udGVudCAubGlnaHRCb3hTbGlkZS5hY3RpdmUge1xuICAgICAgICAgIG1heC13aWR0aDogY2FsYygxMDB2dyAtIDEwMHB4KTtcbiAgICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICAgICAgbWF4LWhlaWdodDogODB2aDsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5saWdodGJveCAubGlnaHRib3gtY29udGVudCAubGlnaHRCb3hTbGlkZS5hY3RpdmUge1xuICAgICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgICAgICBtYXgtaGVpZ2h0OiA4NXZoOyB9IH1cbiAgICAgIC5saWdodGJveCAubGlnaHRib3gtY29udGVudCAubGlnaHRCb3hTbGlkZS5hY3RpdmUuaXMtdmlkZW8ge1xuICAgICAgICB3aWR0aDogMTAwdnc7IH1cbiAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgICAubGlnaHRib3ggLmxpZ2h0Ym94LWNvbnRlbnQgLmxpZ2h0Qm94U2xpZGUuYWN0aXZlLmlzLXZpZGVvIHtcbiAgICAgICAgICAgIHdpZHRoOiA2MHZ3OyB9IH1cbiAgICAubGlnaHRib3ggLmxpZ2h0Ym94LWNvbnRlbnQgLmxpZ2h0Qm94U2xpZGUgaW1nLCAubGlnaHRib3ggLmxpZ2h0Ym94LWNvbnRlbnQgLmxpZ2h0Qm94U2xpZGUgI2xpZ2h0Ym94LXZpZGVvLXBsYXllciB7XG4gICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICBvYmplY3QtZml0OiBjb250YWluOyB9XG4gIC5saWdodGJveCAubGlnaHRib3gtY29udGVudCAucHJldixcbiAgLmxpZ2h0Ym94IC5saWdodGJveC1jb250ZW50IC5uZXh0IHtcbiAgICB3aWR0aDogMjVweDtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICMwNjA1MmY7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIG9wYWNpdHk6IDAuODtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuOHMsIGJhY2tncm91bmQtY29sb3IgMC44cywgYm9yZGVyLWNvbG9yIDAuNnM7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAubGlnaHRib3ggLmxpZ2h0Ym94LWNvbnRlbnQgLnByZXYsXG4gICAgICAubGlnaHRib3ggLmxpZ2h0Ym94LWNvbnRlbnQgLm5leHQge1xuICAgICAgICB3aWR0aDogNTBweDtcbiAgICAgICAgaGVpZ2h0OiA3MHB4OyB9IH1cbiAgICAubGlnaHRib3ggLmxpZ2h0Ym94LWNvbnRlbnQgLnByZXY6YmVmb3JlLFxuICAgIC5saWdodGJveCAubGlnaHRib3gtY29udGVudCAubmV4dDpiZWZvcmUge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgY29sb3I6ICMwNjA1MmY7XG4gICAgICBmb250LWZhbWlseTogXCJmb250ZWxsby1kam1pbGVzXCI7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5saWdodGJveCAubGlnaHRib3gtY29udGVudCAucHJldjpiZWZvcmUsXG4gICAgICAgIC5saWdodGJveCAubGlnaHRib3gtY29udGVudCAubmV4dDpiZWZvcmUge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMjZweDsgfSB9XG4gICAgLmxpZ2h0Ym94IC5saWdodGJveC1jb250ZW50IC5wcmV2Om5vdCguZGlzYWJsZWQpOmhvdmVyLFxuICAgIC5saWdodGJveCAubGlnaHRib3gtY29udGVudCAubmV4dDpub3QoLmRpc2FibGVkKTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWU5NDYxO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42cywgYm9yZGVyLWNvbG9yIDAuNnM7IH1cbiAgICAgIC5saWdodGJveCAubGlnaHRib3gtY29udGVudCAucHJldjpub3QoLmRpc2FibGVkKTpob3ZlcjpiZWZvcmUsXG4gICAgICAubGlnaHRib3ggLmxpZ2h0Ym94LWNvbnRlbnQgLm5leHQ6bm90KC5kaXNhYmxlZCk6aG92ZXI6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgICAubGlnaHRib3ggLmxpZ2h0Ym94LWNvbnRlbnQgLnByZXY6bm90KC5kaXNhYmxlZCk6YWN0aXZlLFxuICAgIC5saWdodGJveCAubGlnaHRib3gtY29udGVudCAubmV4dDpub3QoLmRpc2FibGVkKTphY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzA2MDUyZjtcbiAgICAgIGJvcmRlci1jb2xvcjogI2ZmZmZmZjsgfVxuICAgICAgLmxpZ2h0Ym94IC5saWdodGJveC1jb250ZW50IC5wcmV2Om5vdCguZGlzYWJsZWQpOmFjdGl2ZTpiZWZvcmUsXG4gICAgICAubGlnaHRib3ggLmxpZ2h0Ym94LWNvbnRlbnQgLm5leHQ6bm90KC5kaXNhYmxlZCk6YWN0aXZlOmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgLmxpZ2h0Ym94IC5saWdodGJveC1jb250ZW50IC5wcmV2LmRpc2FibGVkLFxuICAgIC5saWdodGJveCAubGlnaHRib3gtY29udGVudCAubmV4dC5kaXNhYmxlZCB7XG4gICAgICBvcGFjaXR5OiAwLjQ7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMDAsIDIwMCwgMjAwLCAwLjcpO1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjZzO1xuICAgICAgY3Vyc29yOiBuby1kcm9wOyB9XG4gIC5saWdodGJveCAubGlnaHRib3gtY29udGVudCAucHJldiB7XG4gICAgbGVmdDogMDtcbiAgICBib3JkZXItcmFkaXVzOiAwIDVweCA1cHggMDtcbiAgICBib3JkZXItd2lkdGg6IDJweCAycHggMnB4IDA7IH1cbiAgICAubGlnaHRib3ggLmxpZ2h0Ym94LWNvbnRlbnQgLnByZXY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi7qCAXCI7IH1cbiAgLmxpZ2h0Ym94IC5saWdodGJveC1jb250ZW50IC5uZXh0IHtcbiAgICByaWdodDogMDtcbiAgICBib3JkZXItcmFkaXVzOiA1cHggMCAwIDVweDtcbiAgICBib3JkZXItd2lkdGg6IDJweCAwIDJweCAycHg7IH1cbiAgICAubGlnaHRib3ggLmxpZ2h0Ym94LWNvbnRlbnQgLm5leHQ6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi7qCBXCI7IH1cblxuLmxpZ2h0Ym94IC5zbGlkZXNDb250YWluZXIge1xuICBib3gtc2hhZG93OiAtMjBweCA2cHggNjBweCAtMTNweCAjMDAwMDAwOyB9XG5cbi5saWdodGJveCAjbGlnaHRib3hQYWdlckNvbnRhaW5lciB7XG4gIGhlaWdodDogYXV0bztcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBvdmVyZmxvdy15OiBoaWRkZW47XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5saWdodGJveCAjbGlnaHRib3hQYWdlckNvbnRhaW5lciB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH0gfVxuICAubGlnaHRib3ggI2xpZ2h0Ym94UGFnZXJDb250YWluZXIuZGlzYWJsZWQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmxpZ2h0Ym94ICNsaWdodGJveFBhZ2VyQ29udGFpbmVyLnZlcnRpY2FsIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XG4gICAgLmxpZ2h0Ym94ICNsaWdodGJveFBhZ2VyQ29udGFpbmVyLnZlcnRpY2FsIGxpIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDVweDsgfVxuICAgICAgLmxpZ2h0Ym94ICNsaWdodGJveFBhZ2VyQ29udGFpbmVyLnZlcnRpY2FsIGxpLmFjdGl2ZSBpbWcge1xuICAgICAgICBvcGFjaXR5OiAwLjQ7IH1cbiAgICAubGlnaHRib3ggI2xpZ2h0Ym94UGFnZXJDb250YWluZXIudmVydGljYWwgLnBzX19yYWlsLXkge1xuICAgICAgd2lkdGg6IDEwcHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xuICAgICAgei1pbmRleDogMTA7IH1cbiAgICAgIC5saWdodGJveCAjbGlnaHRib3hQYWdlckNvbnRhaW5lci52ZXJ0aWNhbCAucHNfX3JhaWwteSAucHNfX3RodW1iLXkge1xuICAgICAgICB3aWR0aDogMTBweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDYsIDUsIDQ3LCAwLjcpOyB9XG4gICAgLmxpZ2h0Ym94ICNsaWdodGJveFBhZ2VyQ29udGFpbmVyLnZlcnRpY2FsIC5wc19fcmFpbC14IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmxpZ2h0Ym94ICNsaWdodGJveFBhZ2VyQ29udGFpbmVyLmhvcml6b250YWwge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAubGlnaHRib3ggI2xpZ2h0Ym94UGFnZXJDb250YWluZXIuaG9yaXpvbnRhbCB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9IH1cbiAgICAubGlnaHRib3ggI2xpZ2h0Ym94UGFnZXJDb250YWluZXIuaG9yaXpvbnRhbCBsaSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLmxpZ2h0Ym94ICNsaWdodGJveFBhZ2VyQ29udGFpbmVyLmhvcml6b250YWwgbGkge1xuICAgICAgICAgIGZsZXg6IGluaGVyaXQ7IH0gfVxuICAgICAgLmxpZ2h0Ym94ICNsaWdodGJveFBhZ2VyQ29udGFpbmVyLmhvcml6b250YWwgbGkuYWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxuICAgICAgICAubGlnaHRib3ggI2xpZ2h0Ym94UGFnZXJDb250YWluZXIuaG9yaXpvbnRhbCBsaS5hY3RpdmUgaW1nIHtcbiAgICAgICAgICBvcGFjaXR5OiAwLjQ7IH1cbiAgICAubGlnaHRib3ggI2xpZ2h0Ym94UGFnZXJDb250YWluZXIuaG9yaXpvbnRhbCAucHNfX3JhaWwteSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLmxpZ2h0Ym94ICNsaWdodGJveFBhZ2VyQ29udGFpbmVyLmhvcml6b250YWwgLnBzX19yYWlsLXgge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbiAgICAgIHotaW5kZXg6IDEwOyB9XG4gICAgICAubGlnaHRib3ggI2xpZ2h0Ym94UGFnZXJDb250YWluZXIuaG9yaXpvbnRhbCAucHNfX3JhaWwteCAucHNfX3RodW1iLXgge1xuICAgICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg2LCA1LCA0NywgMC43KTsgfVxuXG4ubGlnaHRib3gtcGFnZXItaXRlbSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXg6IDE7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubGlnaHRib3gtcGFnZXItaXRlbSB7XG4gICAgICB3aWR0aDogMTAwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmxpZ2h0Ym94LXBhZ2VyLWl0ZW0ge1xuICAgICAgd2lkdGg6IDE3MHB4OyB9IH1cbiAgLmxpZ2h0Ym94LXBhZ2VyLWl0ZW0gaW1nIHtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmxpZ2h0Ym94LXBhZ2VyLWl0ZW0gaW1nIHtcbiAgICAgICAgbWF4LXdpZHRoOiAyNXZ3O1xuICAgICAgICBtYXgtaGVpZ2h0OiAyMHZoOyB9IH1cbiAgLmxpZ2h0Ym94LXBhZ2VyLWl0ZW0uYWN0aXZlIHtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5saWdodGJveC1wYWdlci1pdGVtLmlzLXZpZGVvIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbiAgLmxpZ2h0Ym94LXBhZ2VyLWl0ZW0uaXMtdmlkZW8gaW1nIHtcbiAgICBoZWlnaHQ6IDUwcHg7XG4gICAgbWFyZ2luOiAxMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmxpZ2h0Ym94LXBhZ2VyLWl0ZW0uaXMtdmlkZW8gaW1nIHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBtYXJnaW46IDIwcHg7IH0gfVxuICAubGlnaHRib3gtcGFnZXItaXRlbS5pbWFnZS0zNjAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5saWdodGJveC1wYWdlci1pdGVtLmltYWdlLTM2MDpob3ZlcjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLmxpZ2h0Ym94LXBhZ2VyLWl0ZW0uaW1hZ2UtMzYwOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgbWF4LXdpZHRoOiA1NXB4O1xuICAgICAgbWF4LWhlaWdodDogNTVweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjIpO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL3RlbXBsYXRlL2NvbnRlbnQvZGV2ZWxvcG1lbnQvaW1hZ2VzL2ljb25zLzNkaWNvbi5zdmdcIik7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiA4MCU7XG4gICAgICBib3JkZXItcmFkaXVzOiAxMi41cHg7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCByZ2JhKDIxOCwgMjE4LCAyMTgsIDAuMik7IH1cblxuLmxpZ2h0Ym94LWJhY2tncm91bmQge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTc0LCAxNzQsIDE3NCwgMC4zKTsgfVxuXG4jbGlnaHRib3gtdmlkZW8tcGxheWVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYXNwZWN0LXJhdGlvOiAxNi85OyB9XG5cbi8qXHJcbi0tLS0tIE1hZ25pZmllciAtLS0tLSBcclxuVGhpcyBpcyBwcmltYXJpbHkgdXNlZCBvbiB0aGUgcHJvZHVjdCBwYWdlIHdoZW4geW91IGhvdmVyIG92ZXIgdGhlIG1haW4gaW1hZ2UuXHJcbiovXG4uaW1nLW1hZ25pZmllci1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmltZy1tYWduaWZpZXItZ2xhc3Mge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgbWFyZ2luOiBhdXRvO1xuICBjdXJzb3I6IGNyb3NzaGFpcjsgfVxuXG4ucHJvZHVjdC1lbnF1aXJ5LW1haW4taW1hZ2UubWFnbmlmaWNhdGlvbi1jb250YWluZXIuaW1hZ2U6aG92ZXI6YmVmb3JlIHtcbiAgcGFkZGluZzogMnB4IDRweDtcbiAgZm9udC1zaXplOiAxMXB4OyB9XG5cbi5pbWFnZS1tYWduaWZpY2F0aW9uIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuICAuaW1hZ2UtbWFnbmlmaWNhdGlvbi5hY3RpdmUge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgLmltYWdlLW1hZ25pZmljYXRpb24gLm1hZ25pZnlpbmctZ2xhc3Mge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IGF1dG87XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICB6LWluZGV4OiAxO1xuICAgIGN1cnNvcjogY3Jvc3NoYWlyOyB9XG5cbi5tYWduaWZpZXItY29udHJvbHMtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIHJpZ2h0OiAwOyB9XG4gIC5tYWduaWZpZXItY29udHJvbHMtY29udGFpbmVyIC5tYWduaWZpZXItY29udHJvbCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMjBweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMDYwNTJmO1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgIC5tYWduaWZpZXItY29udHJvbHMtY29udGFpbmVyIC5tYWduaWZpZXItY29udHJvbDpiZWZvcmUge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgZm9udC1zaXplOiAzMHB4O1xuICAgICAgY29sb3I6ICMwNjA1MmY7XG4gICAgICBsaW5lLWhlaWdodDogMDsgfVxuICAgIC5tYWduaWZpZXItY29udHJvbHMtY29udGFpbmVyIC5tYWduaWZpZXItY29udHJvbC5kZS1pbmNyZW1lbnQ6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74CQXCI7IH1cbiAgICAubWFnbmlmaWVyLWNvbnRyb2xzLWNvbnRhaW5lciAubWFnbmlmaWVyLWNvbnRyb2wuaW5jcmVtZW50OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+AjlwiOyB9XG5cbi8qXHJcbi0tLS0tIGJ4U2xpZGVyICggQ2Fyb3VzZWxzICkgLS0tLS0tIFxyXG4tIGh0dHBzOi8vYnhzbGlkZXIuY29tL1xyXG4tIFRoaXMgaGFuZGxlcyBhbGwgdGhlIGRpc3BsYXkgc3R5bGVzIGZvciBjYXJvdXNlbHMgLyBzbGlkZXNob3dzIGFyb3VuZCBleHByZXNzIHRoaXMgY2FuIGJlIGluIGEgbW9kdWxlIG9yIGFkZGl0aW9uYWwgaW1hZ2VzIG9uIHRoZSBwcm9kdWN0IHBhZ2UsIHRoZSBjb250ZW50IGlzIG5vdCByZXN0cmljdGVkIHRvIGp1c3QgaW1hZ2VzIGJ1dCBjYW4gZXh0ZW5kIHRvIGRpc3BsYXkgcHJvZHVjdCAvIGViZydzLiBcclxuKi9cbi5jYXJvdXNlbCB7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC0tbW9kdWxlLWd1dHRlcjogMTBweDsgfVxuICAuY2Fyb3VzZWwuYngtdW5kZXJsaW5lIC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICNkYWRhZGE7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuOHM7IH1cbiAgICAuY2Fyb3VzZWwuYngtdW5kZXJsaW5lIC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyOmhvdmVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogIzA2MDUyZjtcbiAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjZzOyB9XG4gIC5jYXJvdXNlbC5ieC1zaGFkb3cgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC44czsgfVxuICAgIC5jYXJvdXNlbC5ieC1zaGFkb3cgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXI6aG92ZXIge1xuICAgICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTtcbiAgICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC42czsgfVxuICAuY2Fyb3VzZWwudHJhbnNpdGlvbi1tb2RlLWhvcml6b250YWwgLmNvbGxlY3Rpb24taXRlbSB7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG4gIC5jYXJvdXNlbC50cmFuc2l0aW9uLW1vZGUtaG9yaXpvbmFsIC5ieC12aWV3cG9ydCwgLmNhcm91c2VsLnRyYW5zaXRpb24tbW9kZS1mYWRlIC5ieC12aWV3cG9ydCB7XG4gICAgb3ZlcmZsb3cteTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICAgIG92ZXJmbG93LXg6IGNsaXAgIWltcG9ydGFudDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5jYXJvdXNlbCB7XG4gICAgICAtLW1vZHVsZS1ndXR0ZXI6IDE1cHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmNhcm91c2VsIHtcbiAgICAgIC0tbW9kdWxlLWd1dHRlcjogMTVweDsgfSB9XG5cbltkYXRhLWJ4U2xpZGVyXTpub3QoLm1pbmlmaWVkLWxheW91dCkgLmNvbGxlY3Rpb24taXRlbTpub3QoLmViZykgLmNvbnRlbnQtY29udGFpbmVyOm5vdCguaW1hZ2UpOm5vdCguY29tcGFjdCkgPiBhOmZpcnN0LWNoaWxkLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGU6bm90KC5taW5pZmllZC1sYXlvdXQpIC5jb2xsZWN0aW9uLWl0ZW06bm90KC5lYmcpIC5jb250ZW50LWNvbnRhaW5lcjpub3QoLmltYWdlKTpub3QoLmNvbXBhY3QpID4gYTpmaXJzdC1jaGlsZCwgLmNtcy1jYXJvdXNlbC1tb2R1bGU6bm90KC5taW5pZmllZC1sYXlvdXQpIC5jb2xsZWN0aW9uLWl0ZW06bm90KC5lYmcpIC5jb250ZW50LWNvbnRhaW5lcjpub3QoLmltYWdlKTpub3QoLmNvbXBhY3QpID4gYTpmaXJzdC1jaGlsZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBbZGF0YS1ieFNsaWRlcl06bm90KC5taW5pZmllZC1sYXlvdXQpIC5jb2xsZWN0aW9uLWl0ZW06bm90KC5lYmcpIC5jb250ZW50LWNvbnRhaW5lcjpub3QoLmltYWdlKTpub3QoLmNvbXBhY3QpID4gYTpmaXJzdC1jaGlsZDphZnRlciwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlOm5vdCgubWluaWZpZWQtbGF5b3V0KSAuY29sbGVjdGlvbi1pdGVtOm5vdCguZWJnKSAuY29udGVudC1jb250YWluZXI6bm90KC5pbWFnZSk6bm90KC5jb21wYWN0KSA+IGE6Zmlyc3QtY2hpbGQ6YWZ0ZXIsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlOm5vdCgubWluaWZpZWQtbGF5b3V0KSAuY29sbGVjdGlvbi1pdGVtOm5vdCguZWJnKSAuY29udGVudC1jb250YWluZXI6bm90KC5pbWFnZSk6bm90KC5jb21wYWN0KSA+IGE6Zmlyc3QtY2hpbGQ6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMXB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEwMCU7XG4gICAgYm90dG9tOiAyMHB4O1xuICAgIGxlZnQ6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2M4YzhjODtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICBbZGF0YS1ieFNsaWRlcl06bm90KC5taW5pZmllZC1sYXlvdXQpIC5jb2xsZWN0aW9uLWl0ZW06bm90KC5lYmcpIC5jb250ZW50LWNvbnRhaW5lcjpub3QoLmltYWdlKTpub3QoLmNvbXBhY3QpID4gYTpmaXJzdC1jaGlsZCAuaW1hZ2UsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZTpub3QoLm1pbmlmaWVkLWxheW91dCkgLmNvbGxlY3Rpb24taXRlbTpub3QoLmViZykgLmNvbnRlbnQtY29udGFpbmVyOm5vdCguaW1hZ2UpOm5vdCguY29tcGFjdCkgPiBhOmZpcnN0LWNoaWxkIC5pbWFnZSwgLmNtcy1jYXJvdXNlbC1tb2R1bGU6bm90KC5taW5pZmllZC1sYXlvdXQpIC5jb2xsZWN0aW9uLWl0ZW06bm90KC5lYmcpIC5jb250ZW50LWNvbnRhaW5lcjpub3QoLmltYWdlKTpub3QoLmNvbXBhY3QpID4gYTpmaXJzdC1jaGlsZCAuaW1hZ2Uge1xuICAgIG1hcmdpbi1ib3R0b206IDM1cHg7IH1cblxuW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmNvbnRlbnQtY29udGFpbmVyIGE6Zmlyc3QtY2hpbGQsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5jb250ZW50LWNvbnRhaW5lciBhOmZpcnN0LWNoaWxkLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5jb250ZW50LWNvbnRhaW5lciBhOmZpcnN0LWNoaWxkIHtcbiAgZ3JpZC1yb3c6IDE7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICBbZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtLmViZyAuY29udGVudC1jb250YWluZXIgYS5kZXNjcmlwdGlvbiwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmNvbnRlbnQtY29udGFpbmVyIGEuZGVzY3JpcHRpb24sIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmNvbnRlbnQtY29udGFpbmVyIGEuZGVzY3JpcHRpb24ge1xuICAgIGdyaWQtcm93OiAxOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICBbZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1yaWdodCAuY29udGVudC1jb250YWluZXIgW2RhdGEtY29udGVudC1jb250YWluZXJdLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29udGVudC1jb250YWluZXIgW2RhdGEtY29udGVudC1jb250YWluZXJdLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb250ZW50LWNvbnRhaW5lciBbZGF0YS1jb250ZW50LWNvbnRhaW5lcl0ge1xuICAgIGdyaWQtcm93OiAxIC8gc3BhbiA0OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICBbZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1yaWdodCAuY29udGVudC1jb250YWluZXIgYTpmaXJzdC1jaGlsZCwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbnRlbnQtY29udGFpbmVyIGE6Zmlyc3QtY2hpbGQsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbnRlbnQtY29udGFpbmVyIGE6Zmlyc3QtY2hpbGQge1xuICAgIGdyaWQtY29sdW1uOiAyO1xuICAgIGdyaWQtcm93OiAxIC8gc3BhbiA0OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICBbZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1yaWdodCAuY29udGVudC1jb250YWluZXIgYTpudGgtY2hpbGQoMiksIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb250ZW50LWNvbnRhaW5lciBhOm50aC1jaGlsZCgyKSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29udGVudC1jb250YWluZXIgYTpudGgtY2hpbGQoMikge1xuICAgIGdyaWQtY29sdW1uOiAxOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICBbZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1yaWdodCAuY29udGVudC1jb250YWluZXIgYTpudGgtY2hpbGQoMyksIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb250ZW50LWNvbnRhaW5lciBhOm50aC1jaGlsZCgzKSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29udGVudC1jb250YWluZXIgYTpudGgtY2hpbGQoMykge1xuICAgIGdyaWQtY29sdW1uOiAxOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICBbZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1yaWdodCAuY29udGVudC1jb250YWluZXIgYTpudGgtY2hpbGQoNCksIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb250ZW50LWNvbnRhaW5lciBhOm50aC1jaGlsZCg0KSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29udGVudC1jb250YWluZXIgYTpudGgtY2hpbGQoNCkge1xuICAgIGdyaWQtY29sdW1uOiAxOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICBbZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1yaWdodCAuY29udGVudC1jb250YWluZXIgYTpudGgtY2hpbGQoNSksIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb250ZW50LWNvbnRhaW5lciBhOm50aC1jaGlsZCg1KSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29udGVudC1jb250YWluZXIgYTpudGgtY2hpbGQoNSkge1xuICAgIGdyaWQtY29sdW1uOiAxOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICBbZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1yaWdodCAuY29udGVudC1jb250YWluZXIgLnN0b2NrLWluZGljYXRvciwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbnRlbnQtY29udGFpbmVyIC5zdG9jay1pbmRpY2F0b3IsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbnRlbnQtY29udGFpbmVyIC5zdG9jay1pbmRpY2F0b3Ige1xuICAgIGdyaWQtY29sdW1uOiAxOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICBbZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1yaWdodCAuY29udGVudC1jb250YWluZXIgLnF1YW50aXR5LWNvbnRhaW5lciwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbnRlbnQtY29udGFpbmVyIC5xdWFudGl0eS1jb250YWluZXIsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbnRlbnQtY29udGFpbmVyIC5xdWFudGl0eS1jb250YWluZXIge1xuICAgIGdyaWQtY29sdW1uOiAxIC8gc3BhbiAyOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICBbZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1yaWdodCAuY29udGVudC1jb250YWluZXIgLnVuaXQtb2YtbWVhc3VyZSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbnRlbnQtY29udGFpbmVyIC51bml0LW9mLW1lYXN1cmUsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbnRlbnQtY29udGFpbmVyIC51bml0LW9mLW1lYXN1cmUge1xuICAgIGdyaWQtY29sdW1uOiAxOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICBbZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1yaWdodCAuY29udGVudC1jb250YWluZXIgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyLCBbZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1yaWdodCAuY29udGVudC1jb250YWluZXIgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiwgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtcmlnaHQgLmNvbnRlbnQtY29udGFpbmVyIC5lbnF1aXJ5LWJ1dHRvbi1jb250YWluZXIsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb250ZW50LWNvbnRhaW5lciAubm90LWxvZ2dlZC1pbi1jb250YWluZXIsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2tsaW5lLXZpZXctYnV0dG9uLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29udGVudC1jb250YWluZXIgLmVucXVpcnktYnV0dG9uLWNvbnRhaW5lciwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29udGVudC1jb250YWluZXIgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2tsaW5lLXZpZXctYnV0dG9uLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb250ZW50LWNvbnRhaW5lciAuZW5xdWlyeS1idXR0b24tY29udGFpbmVyIHtcbiAgICBncmlkLWNvbHVtbjogMSAvIHNwYW4gMjsgfSB9XG5cbltkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5jb250ZW50LWNvbnRhaW5lciAuZGVzY3JpcHRpb24sIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5jb250ZW50LWNvbnRhaW5lciAuZGVzY3JpcHRpb24sIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmNvbnRlbnQtY29udGFpbmVyIC5kZXNjcmlwdGlvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nOiAyMHB4IDE3LjVweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmNvbnRlbnQtY29udGFpbmVyIC5kZXNjcmlwdGlvbiwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmNvbnRlbnQtY29udGFpbmVyIC5kZXNjcmlwdGlvbiwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtLmViZyAuY29udGVudC1jb250YWluZXIgLmRlc2NyaXB0aW9uIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuXG5bZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtLmViZyAuY29udGVudC1jb250YWluZXIgLnByaWNlLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtLmViZyAuY29udGVudC1jb250YWluZXIgLnByaWNlLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5jb250ZW50LWNvbnRhaW5lciAucHJpY2Uge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbltkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciB7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGdhcDogMTBweCAwOyB9XG4gIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyOmhvdmVyLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lcjpob3ZlciwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lcjpob3ZlciB7XG4gICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTtcbiAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNnM7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICBbZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIge1xuICAgICAgcGFkZGluZzogNXB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBjYWxjKDYwJSAtIDEwcHgpIGNhbGMoNDAlIC0gMTBweCk7XG4gICAgICBncmlkLWdhcDogMCAyMHB4O1xuICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgcGFkZGluZzogNXB4OyB9IH1cbiAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgPiBhOmZpcnN0LWNoaWxkLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciA+IGE6Zmlyc3QtY2hpbGQsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgPiBhOmZpcnN0LWNoaWxkIHtcbiAgICBhbGlnbi1zZWxmOiBzdGFydDsgfVxuICBbZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lci5wcm9kdWN0OmhhcyhzcGFuLmltYWdlKSA+IGE6bnRoLWNoaWxkKDIpLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lci5wcm9kdWN0OmhhcyhzcGFuLmltYWdlKSA+IGE6bnRoLWNoaWxkKDIpLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyLnByb2R1Y3Q6aGFzKHNwYW4uaW1hZ2UpID4gYTpudGgtY2hpbGQoMikge1xuICAgIHBhZGRpbmctdG9wOiAxMHB4OyB9XG4gIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyLnByb2R1Y3QgLmRlc2NyaXB0aW9uLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lci5wcm9kdWN0IC5kZXNjcmlwdGlvbiwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lci5wcm9kdWN0IC5kZXNjcmlwdGlvbiB7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7IH1cbiAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgLmNhbGxiYWNrQ29udGFpbmVyLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciAuY2FsbGJhY2tDb250YWluZXIsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgLmNhbGxiYWNrQ29udGFpbmVyIHtcbiAgICBncmlkLWNvbHVtbjogMjtcbiAgICBtYXJnaW4tdG9wOiAxMHB4OyB9XG4gIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIHAsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIHAsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgcCB7XG4gICAgbWFyZ2luOiAwOyB9XG4gIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5ncm91cC1kZXNjcmlwdGlvbiwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgLmdyb3VwLWRlc2NyaXB0aW9uLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5ncm91cC1kZXNjcmlwdGlvbiB7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7IH1cbiAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgLmltYWdlLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciAuaW1hZ2UsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgLmltYWdlIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgLmltYWdlLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciAuaW1hZ2UsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgLmltYWdlIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH0gfVxuICAgIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5pbWFnZSBpbWcsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5pbWFnZSBpbWcsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgLmltYWdlIGltZyB7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgLmRlc2NyaXB0aW9uLCBbZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciAuY29kZSwgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgLnByaWNlcywgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgLnN0b2NrLWluZGljYXRvciwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgLmRlc2NyaXB0aW9uLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciAuY29kZSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgLnByaWNlcywgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgLnN0b2NrLWluZGljYXRvciwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciAuZGVzY3JpcHRpb24sIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgLmNvZGUsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgLnByaWNlcywgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2staW5kaWNhdG9yIHtcbiAgICBwYWRkaW5nLXRvcDogMTBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICBbZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciBmb3JtLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciBmb3JtLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIGZvcm0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIGZvcm0sIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIGZvcm0sIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgZm9ybSB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9IH1cbiAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgW2RhdGEtY29udGVudC1jb250YWluZXJdLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciBbZGF0YS1jb250ZW50LWNvbnRhaW5lcl0sIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgW2RhdGEtY29udGVudC1jb250YWluZXJdIHtcbiAgICBoZWlnaHQ6IDEyNXB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgW2RhdGEtY29udGVudC1jb250YWluZXJdLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciBbZGF0YS1jb250ZW50LWNvbnRhaW5lcl0sIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgW2RhdGEtY29udGVudC1jb250YWluZXJdIHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvOyB9IH1cbiAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgLnJlYWQtbW9yZS1jb250ZW50LCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciAucmVhZC1tb3JlLWNvbnRlbnQsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgLnJlYWQtbW9yZS1jb250ZW50IHtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyLCBbZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2tsaW5lLXZpZXctYnV0dG9uLCBbZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciAuZW5xdWlyeS1idXR0b24tY29udGFpbmVyLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciAubm90LWxvZ2dlZC1pbi1jb250YWluZXIsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5zdG9ja2xpbmUtdmlldy1idXR0b24sIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5lbnF1aXJ5LWJ1dHRvbi1jb250YWluZXIsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5zdG9ja2xpbmUtdmlldy1idXR0b24sIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgLmVucXVpcnktYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyLCBbZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2tsaW5lLXZpZXctYnV0dG9uLCBbZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciAuZW5xdWlyeS1idXR0b24tY29udGFpbmVyLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciAubm90LWxvZ2dlZC1pbi1jb250YWluZXIsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5zdG9ja2xpbmUtdmlldy1idXR0b24sIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5lbnF1aXJ5LWJ1dHRvbi1jb250YWluZXIsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5zdG9ja2xpbmUtdmlldy1idXR0b24sIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgLmVucXVpcnktYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgICAgIHdpZHRoOiA3NiU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgfSB9XG5cbltkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLWxlZnQgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmNvbnRlbnQtY29udGFpbmVyIGE6Zmlyc3QtY2hpbGQsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmNvbnRlbnQtY29udGFpbmVyIGE6Zmlyc3QtY2hpbGQsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29sbGVjdGlvbi1pdGVtLmViZyAuY29udGVudC1jb250YWluZXIgYTpmaXJzdC1jaGlsZCB7XG4gIGdyaWQtcm93OiAxOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtbGVmdCAuY29sbGVjdGlvbi1pdGVtLmViZyAuY29udGVudC1jb250YWluZXIgYS5kZXNjcmlwdGlvbiwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29sbGVjdGlvbi1pdGVtLmViZyAuY29udGVudC1jb250YWluZXIgYS5kZXNjcmlwdGlvbiwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5jb250ZW50LWNvbnRhaW5lciBhLmRlc2NyaXB0aW9uIHtcbiAgICBncmlkLXJvdzogMTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgW2RhdGEtY29udGVudC1jb250YWluZXJdLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciBbZGF0YS1jb250ZW50LWNvbnRhaW5lcl0sIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgW2RhdGEtY29udGVudC1jb250YWluZXJdIHtcbiAgICBncmlkLXJvdzogMSAvIHNwYW4gNDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgYTpmaXJzdC1jaGlsZCwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgYTpmaXJzdC1jaGlsZCwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciBhOmZpcnN0LWNoaWxkIHtcbiAgICBncmlkLWNvbHVtbjogMTtcbiAgICBncmlkLXJvdzogMSAvIHNwYW4gNDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgYTpudGgtY2hpbGQoMiksIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIGE6bnRoLWNoaWxkKDIpLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIGE6bnRoLWNoaWxkKDIpIHtcbiAgICBncmlkLWNvbHVtbjogMjsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgYTpudGgtY2hpbGQoMyksIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIGE6bnRoLWNoaWxkKDMpLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIGE6bnRoLWNoaWxkKDMpIHtcbiAgICBncmlkLWNvbHVtbjogMjsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgYTpudGgtY2hpbGQoNCksIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIGE6bnRoLWNoaWxkKDQpLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIGE6bnRoLWNoaWxkKDQpIHtcbiAgICBncmlkLWNvbHVtbjogMjsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgYTpudGgtY2hpbGQoNSksIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIGE6bnRoLWNoaWxkKDUpLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIGE6bnRoLWNoaWxkKDUpIHtcbiAgICBncmlkLWNvbHVtbjogMjsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLnN0b2NrLWluZGljYXRvciwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLnN0b2NrLWluZGljYXRvciwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2staW5kaWNhdG9yIHtcbiAgICBncmlkLWNvbHVtbjogMjsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLnF1YW50aXR5LWNvbnRhaW5lciwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLnF1YW50aXR5LWNvbnRhaW5lciwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAucXVhbnRpdHktY29udGFpbmVyIHtcbiAgICBncmlkLWNvbHVtbjogMSAvIHNwYW4gMjsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLnVuaXQtb2YtbWVhc3VyZSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLnVuaXQtb2YtbWVhc3VyZSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAudW5pdC1vZi1tZWFzdXJlIHtcbiAgICBncmlkLWNvbHVtbjogMjsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyLCBbZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2tsaW5lLXZpZXctYnV0dG9uLCBbZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAuZW5xdWlyeS1idXR0b24tY29udGFpbmVyLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAubm90LWxvZ2dlZC1pbi1jb250YWluZXIsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5zdG9ja2xpbmUtdmlldy1idXR0b24sIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5lbnF1aXJ5LWJ1dHRvbi1jb250YWluZXIsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5zdG9ja2xpbmUtdmlldy1idXR0b24sIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLmVucXVpcnktYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgZ3JpZC1jb2x1bW46IDEgLyBzcGFuIDI7IH0gfVxuXG5bZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1sZWZ0IC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5kZXNjcmlwdGlvbiwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29sbGVjdGlvbi1pdGVtLmViZyAuZGVzY3JpcHRpb24sIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29sbGVjdGlvbi1pdGVtLmViZyAuZGVzY3JpcHRpb24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcGFkZGluZzogMjBweCAxNy41cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLWxlZnQgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmRlc2NyaXB0aW9uLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5kZXNjcmlwdGlvbiwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5kZXNjcmlwdGlvbiB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cblxuW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtbGVmdCAuY29sbGVjdGlvbi1pdGVtLmViZyAucHJpY2UsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbGxlY3Rpb24taXRlbS5lYmcgLnByaWNlLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbGxlY3Rpb24taXRlbS5lYmcgLnByaWNlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG5bZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIge1xuICBnYXA6IDEwcHggMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nOiA1cHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGNhbGMoNDAlIC0gMTBweCkgY2FsYyg2MCUgLSAxMHB4KTtcbiAgICAgIGdyaWQtZ2FwOiAwIDIwcHg7XG4gICAgICBmbGV4LWdyb3c6IDE7IH0gfVxuICBbZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciA+IGE6Zmlyc3QtY2hpbGQsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyID4gYTpmaXJzdC1jaGlsZCwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciA+IGE6Zmlyc3QtY2hpbGQge1xuICAgIGFsaWduLXNlbGY6IHN0YXJ0OyB9XG4gIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyLnByb2R1Y3Q6aGFzKHNwYW4uaW1hZ2UpID4gYTpudGgtY2hpbGQoMiksIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyLnByb2R1Y3Q6aGFzKHNwYW4uaW1hZ2UpID4gYTpudGgtY2hpbGQoMiksIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIucHJvZHVjdDpoYXMoc3Bhbi5pbWFnZSkgPiBhOm50aC1jaGlsZCgyKSB7XG4gICAgcGFkZGluZy10b3A6IDEwcHg7IH1cbiAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIucHJvZHVjdCAuZGVzY3JpcHRpb24sIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyLnByb2R1Y3QgLmRlc2NyaXB0aW9uLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyLnByb2R1Y3QgLmRlc2NyaXB0aW9uIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuICBbZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAuY2FsbGJhY2tDb250YWluZXIsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5jYWxsYmFja0NvbnRhaW5lciwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAuY2FsbGJhY2tDb250YWluZXIge1xuICAgIGdyaWQtY29sdW1uOiAyO1xuICAgIG1hcmdpbi10b3A6IDEwcHg7IH1cbiAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgcCwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgcCwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciBwIHtcbiAgICBtYXJnaW46IDA7IH1cbiAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLmdyb3VwLWRlc2NyaXB0aW9uLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAuZ3JvdXAtZGVzY3JpcHRpb24sIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLmdyb3VwLWRlc2NyaXB0aW9uIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuICBbZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAuZGVzY3JpcHRpb24sIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5kZXNjcmlwdGlvbiwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAuZGVzY3JpcHRpb24ge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLmltYWdlLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAuaW1hZ2UsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLmltYWdlIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLmltYWdlLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAuaW1hZ2UsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLmltYWdlIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH0gfVxuICAgIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5pbWFnZSBpbWcsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5pbWFnZSBpbWcsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLmltYWdlIGltZyB7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLmNvZGUsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5jb2RlLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5jb2RlIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5wcmljZXMsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5wcmljZXMsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLnByaWNlcyB7XG4gICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7IH1cbiAgICBbZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAucHJpY2VzIC5wcmljZS1jb250YWluZXIsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lciwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAucHJpY2VzIC5wcmljZS1jb250YWluZXIge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICBbZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2staW5kaWNhdG9yLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2staW5kaWNhdG9yLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5zdG9jay1pbmRpY2F0b3Ige1xuICAgIG1hcmdpbi10b3A6IGF1dG87XG4gICAgcGFkZGluZzogMCAxMHB4O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgZm9ybSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgZm9ybSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciBmb3JtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICBbZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciBmb3JtLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciBmb3JtLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIGZvcm0ge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfSB9XG4gIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciwgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiwgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLmVucXVpcnktYnV0dG9uLWNvbnRhaW5lciwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2tsaW5lLXZpZXctYnV0dG9uLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAuZW5xdWlyeS1idXR0b24tY29udGFpbmVyLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2tsaW5lLXZpZXctYnV0dG9uLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5lbnF1aXJ5LWJ1dHRvbi1jb250YWluZXIge1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciwgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiwgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLmVucXVpcnktYnV0dG9uLWNvbnRhaW5lciwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2tsaW5lLXZpZXctYnV0dG9uLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAuZW5xdWlyeS1idXR0b24tY29udGFpbmVyLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2tsaW5lLXZpZXctYnV0dG9uLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5lbnF1aXJ5LWJ1dHRvbi1jb250YWluZXIge1xuICAgICAgICB3aWR0aDogNzYlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7IH0gfVxuICBbZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciBbZGF0YS1jb250ZW50LWNvbnRhaW5lcl0sIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIFtkYXRhLWNvbnRlbnQtY29udGFpbmVyXSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciBbZGF0YS1jb250ZW50LWNvbnRhaW5lcl0ge1xuICAgIGhlaWdodDogMTI1cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICBbZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciBbZGF0YS1jb250ZW50LWNvbnRhaW5lcl0sIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIFtkYXRhLWNvbnRlbnQtY29udGFpbmVyXSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciBbZGF0YS1jb250ZW50LWNvbnRhaW5lcl0ge1xuICAgICAgICBoZWlnaHQ6IGF1dG87IH0gfVxuICBbZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAucmVhZC1tb3JlLWNvbnRlbnQsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5yZWFkLW1vcmUtY29udGVudCwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAucmVhZC1tb3JlLWNvbnRlbnQge1xuICAgIGhlaWdodDogMTAwJTsgfVxuXG5bZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1ib3R0b20gLmNvbnRlbnQtY29udGFpbmVyID4gYTpmaXJzdC1vZi10eXBlLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1ib3R0b20gLmNvbnRlbnQtY29udGFpbmVyID4gYTpmaXJzdC1vZi10eXBlLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWJvdHRvbSAuY29udGVudC1jb250YWluZXIgPiBhOmZpcnN0LW9mLXR5cGUge1xuICBwYWRkaW5nLXRvcDogMTBweDtcbiAgb3JkZXI6IDE7IH1cblxuW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtYm90dG9tIC5pbWFnZSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtYm90dG9tIC5pbWFnZSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1ib3R0b20gLmltYWdlIHtcbiAgbWFyZ2luOiAwOyB9XG5cbltkYXRhLWJ4U2xpZGVyXS5taW5pZmllZC1sYXlvdXQgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmNvbnRlbnQtY29udGFpbmVyIGE6Zmlyc3QtY2hpbGQsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmNvbnRlbnQtY29udGFpbmVyIGE6Zmlyc3QtY2hpbGQsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm1pbmlmaWVkLWxheW91dCAuY29sbGVjdGlvbi1pdGVtLmViZyAuY29udGVudC1jb250YWluZXIgYTpmaXJzdC1jaGlsZCB7XG4gIGdyaWQtcm93OiAxOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgW2RhdGEtYnhTbGlkZXJdLm1pbmlmaWVkLWxheW91dCAuY29sbGVjdGlvbi1pdGVtLmViZyAuY29udGVudC1jb250YWluZXIgYS5kZXNjcmlwdGlvbiwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm1pbmlmaWVkLWxheW91dCAuY29sbGVjdGlvbi1pdGVtLmViZyAuY29udGVudC1jb250YWluZXIgYS5kZXNjcmlwdGlvbiwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubWluaWZpZWQtbGF5b3V0IC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5jb250ZW50LWNvbnRhaW5lciBhLmRlc2NyaXB0aW9uIHtcbiAgICBncmlkLXJvdzogMTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgW2RhdGEtYnhTbGlkZXJdLm1pbmlmaWVkLWxheW91dCAuY29udGVudC1jb250YWluZXIgW2RhdGEtY29udGVudC1jb250YWluZXJdLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubWluaWZpZWQtbGF5b3V0IC5jb250ZW50LWNvbnRhaW5lciBbZGF0YS1jb250ZW50LWNvbnRhaW5lcl0sIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm1pbmlmaWVkLWxheW91dCAuY29udGVudC1jb250YWluZXIgW2RhdGEtY29udGVudC1jb250YWluZXJdIHtcbiAgICBncmlkLXJvdzogMSAvIHNwYW4gNDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgW2RhdGEtYnhTbGlkZXJdLm1pbmlmaWVkLWxheW91dCAuY29udGVudC1jb250YWluZXIgYTpmaXJzdC1jaGlsZCwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm1pbmlmaWVkLWxheW91dCAuY29udGVudC1jb250YWluZXIgYTpmaXJzdC1jaGlsZCwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubWluaWZpZWQtbGF5b3V0IC5jb250ZW50LWNvbnRhaW5lciBhOmZpcnN0LWNoaWxkIHtcbiAgICBncmlkLWNvbHVtbjogMTtcbiAgICBncmlkLXJvdzogMSAvIHNwYW4gNDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgW2RhdGEtYnhTbGlkZXJdLm1pbmlmaWVkLWxheW91dCAuY29udGVudC1jb250YWluZXIgYTpudGgtY2hpbGQoMiksIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyIGE6bnRoLWNoaWxkKDIpLCAuY21zLWNhcm91c2VsLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyIGE6bnRoLWNoaWxkKDIpIHtcbiAgICBncmlkLWNvbHVtbjogMjsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgW2RhdGEtYnhTbGlkZXJdLm1pbmlmaWVkLWxheW91dCAuY29udGVudC1jb250YWluZXIgYTpudGgtY2hpbGQoMyksIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyIGE6bnRoLWNoaWxkKDMpLCAuY21zLWNhcm91c2VsLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyIGE6bnRoLWNoaWxkKDMpIHtcbiAgICBncmlkLWNvbHVtbjogMjsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgW2RhdGEtYnhTbGlkZXJdLm1pbmlmaWVkLWxheW91dCAuY29udGVudC1jb250YWluZXIgYTpudGgtY2hpbGQoNCksIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyIGE6bnRoLWNoaWxkKDQpLCAuY21zLWNhcm91c2VsLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyIGE6bnRoLWNoaWxkKDQpIHtcbiAgICBncmlkLWNvbHVtbjogMjsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgW2RhdGEtYnhTbGlkZXJdLm1pbmlmaWVkLWxheW91dCAuY29udGVudC1jb250YWluZXIgYTpudGgtY2hpbGQoNSksIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyIGE6bnRoLWNoaWxkKDUpLCAuY21zLWNhcm91c2VsLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyIGE6bnRoLWNoaWxkKDUpIHtcbiAgICBncmlkLWNvbHVtbjogMjsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgW2RhdGEtYnhTbGlkZXJdLm1pbmlmaWVkLWxheW91dCAuY29udGVudC1jb250YWluZXIgLnN0b2NrLWluZGljYXRvciwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm1pbmlmaWVkLWxheW91dCAuY29udGVudC1jb250YWluZXIgLnN0b2NrLWluZGljYXRvciwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubWluaWZpZWQtbGF5b3V0IC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2staW5kaWNhdG9yIHtcbiAgICBncmlkLWNvbHVtbjogMjsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgW2RhdGEtYnhTbGlkZXJdLm1pbmlmaWVkLWxheW91dCAuY29udGVudC1jb250YWluZXIgLnF1YW50aXR5LWNvbnRhaW5lciwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm1pbmlmaWVkLWxheW91dCAuY29udGVudC1jb250YWluZXIgLnF1YW50aXR5LWNvbnRhaW5lciwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubWluaWZpZWQtbGF5b3V0IC5jb250ZW50LWNvbnRhaW5lciAucXVhbnRpdHktY29udGFpbmVyIHtcbiAgICBncmlkLWNvbHVtbjogMSAvIHNwYW4gMjsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgW2RhdGEtYnhTbGlkZXJdLm1pbmlmaWVkLWxheW91dCAuY29udGVudC1jb250YWluZXIgLnVuaXQtb2YtbWVhc3VyZSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm1pbmlmaWVkLWxheW91dCAuY29udGVudC1jb250YWluZXIgLnVuaXQtb2YtbWVhc3VyZSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubWluaWZpZWQtbGF5b3V0IC5jb250ZW50LWNvbnRhaW5lciAudW5pdC1vZi1tZWFzdXJlIHtcbiAgICBncmlkLWNvbHVtbjogMjsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgW2RhdGEtYnhTbGlkZXJdLm1pbmlmaWVkLWxheW91dCAuY29udGVudC1jb250YWluZXIgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyLCBbZGF0YS1ieFNsaWRlcl0ubWluaWZpZWQtbGF5b3V0IC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2tsaW5lLXZpZXctYnV0dG9uLCBbZGF0YS1ieFNsaWRlcl0ubWluaWZpZWQtbGF5b3V0IC5jb250ZW50LWNvbnRhaW5lciAuZW5xdWlyeS1idXR0b24tY29udGFpbmVyLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubWluaWZpZWQtbGF5b3V0IC5jb250ZW50LWNvbnRhaW5lciAubm90LWxvZ2dlZC1pbi1jb250YWluZXIsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyIC5zdG9ja2xpbmUtdmlldy1idXR0b24sIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyIC5lbnF1aXJ5LWJ1dHRvbi1jb250YWluZXIsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm1pbmlmaWVkLWxheW91dCAuY29udGVudC1jb250YWluZXIgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyLCAuY21zLWNhcm91c2VsLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyIC5zdG9ja2xpbmUtdmlldy1idXR0b24sIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm1pbmlmaWVkLWxheW91dCAuY29udGVudC1jb250YWluZXIgLmVucXVpcnktYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgZ3JpZC1jb2x1bW46IDEgLyBzcGFuIDI7IH0gfVxuXG5bZGF0YS1ieFNsaWRlcl0ubWluaWZpZWQtbGF5b3V0IC5jb250ZW50LWNvbnRhaW5lci5wcm9kdWN0LCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubWluaWZpZWQtbGF5b3V0IC5jb250ZW50LWNvbnRhaW5lci5wcm9kdWN0LCAuY21zLWNhcm91c2VsLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyLnByb2R1Y3Qge1xuICBwYWRkaW5nOiA1cHg7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICBbZGF0YS1ieFNsaWRlcl0ubWluaWZpZWQtbGF5b3V0IC5jb250ZW50LWNvbnRhaW5lciwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm1pbmlmaWVkLWxheW91dCAuY29udGVudC1jb250YWluZXIsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm1pbmlmaWVkLWxheW91dCAuY29udGVudC1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxMTBweCAxZnI7IH0gfVxuXG5bZGF0YS1ieFNsaWRlcl0ubWluaWZpZWQtbGF5b3V0IC5jb250ZW50LWNvbnRhaW5lciA+IGE6Zmlyc3Qtb2YtdHlwZSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm1pbmlmaWVkLWxheW91dCAuY29udGVudC1jb250YWluZXIgPiBhOmZpcnN0LW9mLXR5cGUsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm1pbmlmaWVkLWxheW91dCAuY29udGVudC1jb250YWluZXIgPiBhOmZpcnN0LW9mLXR5cGUge1xuICBwYWRkaW5nLXRvcDogMDsgfVxuXG5bZGF0YS1ieFNsaWRlcl0ubWluaWZpZWQtbGF5b3V0IC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5jb250ZW50LWNvbnRhaW5lciwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm1pbmlmaWVkLWxheW91dCAuY29sbGVjdGlvbi1pdGVtLmViZyAuY29udGVudC1jb250YWluZXIsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm1pbmlmaWVkLWxheW91dCAuY29sbGVjdGlvbi1pdGVtLmViZyAuY29udGVudC1jb250YWluZXIge1xuICBwYWRkaW5nOiAwOyB9XG5cbltkYXRhLWJ4U2xpZGVyXS5taW5pZmllZC1sYXlvdXQgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmRlc2NyaXB0aW9uLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubWluaWZpZWQtbGF5b3V0IC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5kZXNjcmlwdGlvbiwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubWluaWZpZWQtbGF5b3V0IC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5kZXNjcmlwdGlvbiB7XG4gIGhlaWdodDogMTAwJTtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBwYWRkaW5nOiAxMHB4IDIwcHggMTBweDtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG5bZGF0YS1ieFNsaWRlcl0ubWluaWZpZWQtbGF5b3V0IC5pbWFnZSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm1pbmlmaWVkLWxheW91dCAuaW1hZ2UsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm1pbmlmaWVkLWxheW91dCAuaW1hZ2Uge1xuICB3aWR0aDogMTEwcHg7XG4gIG1hcmdpbjogMDsgfVxuXG5bZGF0YS1ieFNsaWRlcl0ubWluaWZpZWQtbGF5b3V0IC5kZXNjcmlwdGlvbiwgW2RhdGEtYnhTbGlkZXJdLm1pbmlmaWVkLWxheW91dCBhOmZpcnN0LWNoaWxkLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubWluaWZpZWQtbGF5b3V0IC5kZXNjcmlwdGlvbiwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm1pbmlmaWVkLWxheW91dCBhOmZpcnN0LWNoaWxkLCAuY21zLWNhcm91c2VsLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmRlc2NyaXB0aW9uLCAuY21zLWNhcm91c2VsLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgYTpmaXJzdC1jaGlsZCB7XG4gIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgcGFkZGluZzogMjVweCAyMHB4O1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbltkYXRhLWJ4U2xpZGVyXSAuaW1hZ2UtY29udGFpbmVyLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmltYWdlLWNvbnRhaW5lciwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLmltYWdlLWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuOHM7IH1cbiAgW2RhdGEtYnhTbGlkZXJdIC5pbWFnZS1jb250YWluZXI6aG92ZXIsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAuaW1hZ2UtY29udGFpbmVyOmhvdmVyLCAuY21zLWNhcm91c2VsLW1vZHVsZSAuaW1hZ2UtY29udGFpbmVyOmhvdmVyIHtcbiAgICBvcGFjaXR5OiAwLjU7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjZzOyB9XG5cbltkYXRhLWJ4U2xpZGVyXSBbZGF0YS1jb250ZW50LWNvbnRhaW5lcl0sIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSBbZGF0YS1jb250ZW50LWNvbnRhaW5lcl0sIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIFtkYXRhLWNvbnRlbnQtY29udGFpbmVyXSB7XG4gIGhlaWdodDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gIFtkYXRhLWJ4U2xpZGVyXSBbZGF0YS1jb250ZW50LWNvbnRhaW5lcl06aGFzKC5yZWFkLW1vcmUpLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgW2RhdGEtY29udGVudC1jb250YWluZXJdOmhhcygucmVhZC1tb3JlKSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgW2RhdGEtY29udGVudC1jb250YWluZXJdOmhhcygucmVhZC1tb3JlKSB7XG4gICAgaGVpZ2h0OiAzMDBweDsgfVxuICBbZGF0YS1ieFNsaWRlcl0gW2RhdGEtY29udGVudC1jb250YWluZXJdIGEsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSBbZGF0YS1jb250ZW50LWNvbnRhaW5lcl0gYSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgW2RhdGEtY29udGVudC1jb250YWluZXJdIGEge1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7IH1cbiAgW2RhdGEtYnhTbGlkZXJdIFtkYXRhLWNvbnRlbnQtY29udGFpbmVyXSBwLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgW2RhdGEtY29udGVudC1jb250YWluZXJdIHAsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIFtkYXRhLWNvbnRlbnQtY29udGFpbmVyXSBwIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDsgfVxuXG5bZGF0YS1ieFNsaWRlcl0gLmNvbGxlY3Rpb24taXRlbS5lYmc6aGFzKC5kZXNjcmlwdGlvbjplbXB0eSkgLmNvbnRlbnQtY29udGFpbmVyLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmNvbGxlY3Rpb24taXRlbS5lYmc6aGFzKC5kZXNjcmlwdGlvbjplbXB0eSkgLmNvbnRlbnQtY29udGFpbmVyLCAuY21zLWNhcm91c2VsLW1vZHVsZSAuY29sbGVjdGlvbi1pdGVtLmViZzpoYXMoLmRlc2NyaXB0aW9uOmVtcHR5KSAuY29udGVudC1jb250YWluZXIge1xuICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuXG5bZGF0YS1ieFNsaWRlcl0gLmNvbGxlY3Rpb24taXRlbS5lYmc6aG92ZXIgLmRlc2NyaXB0aW9uLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmNvbGxlY3Rpb24taXRlbS5lYmc6aG92ZXIgLmRlc2NyaXB0aW9uLCAuY21zLWNhcm91c2VsLW1vZHVsZSAuY29sbGVjdGlvbi1pdGVtLmViZzpob3ZlciAuZGVzY3JpcHRpb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7XG4gIGNvbG9yOiAjYWU5NDYxOyB9XG5cbltkYXRhLWJ4U2xpZGVyXSAuY29sbGVjdGlvbi1pdGVtLmViZzphY3RpdmUgLmRlc2NyaXB0aW9uLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmNvbGxlY3Rpb24taXRlbS5lYmc6YWN0aXZlIC5kZXNjcmlwdGlvbiwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLmNvbGxlY3Rpb24taXRlbS5lYmc6YWN0aXZlIC5kZXNjcmlwdGlvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogIzUwNTA2ZDsgfVxuXG5bZGF0YS1ieFNsaWRlcl0gLmNvbGxlY3Rpb24taXRlbS5lYmcgLmNvbnRlbnQtY29udGFpbmVyLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmNvbnRlbnQtY29udGFpbmVyLCAuY21zLWNhcm91c2VsLW1vZHVsZSAuY29sbGVjdGlvbi1pdGVtLmViZyAuY29udGVudC1jb250YWluZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XG5cbltkYXRhLWJ4U2xpZGVyXSAuY29sbGVjdGlvbi1pdGVtLmViZyAuZGVzY3JpcHRpb24sIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAuY29sbGVjdGlvbi1pdGVtLmViZyAuZGVzY3JpcHRpb24sIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5kZXNjcmlwdGlvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1MDUwNmQ7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cbiAgW2RhdGEtYnhTbGlkZXJdIC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5kZXNjcmlwdGlvbjpub3QoOmVtcHR5KSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5kZXNjcmlwdGlvbjpub3QoOmVtcHR5KSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmRlc2NyaXB0aW9uOm5vdCg6ZW1wdHkpIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMjBweCA1cHg7IH1cblxuW2RhdGEtYnhTbGlkZXJdIC5jb250ZW50LWNvbnRhaW5lciwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IGF1dG87XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC44czsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgW2RhdGEtYnhTbGlkZXJdIC5jb250ZW50LWNvbnRhaW5lciwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgW2RhdGEtYnhTbGlkZXJdIC5jb250ZW50LWNvbnRhaW5lciAuY29kZSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciAuY29kZSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIC5jb2RlIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgIHBhZGRpbmctbGVmdDogMTBweDsgfVxuICAgIFtkYXRhLWJ4U2xpZGVyXSAuY29udGVudC1jb250YWluZXIgLmNvZGU6bm90KDplbXB0eSkgKyAuZGVzY3JpcHRpb24sIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAuY29udGVudC1jb250YWluZXIgLmNvZGU6bm90KDplbXB0eSkgKyAuZGVzY3JpcHRpb24sIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciAuY29kZTpub3QoOmVtcHR5KSArIC5kZXNjcmlwdGlvbiB7XG4gICAgICBwYWRkaW5nLXRvcDogMDsgfVxuICBbZGF0YS1ieFNsaWRlcl0gLmNvbnRlbnQtY29udGFpbmVyIC5kZXNjcmlwdGlvbiwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciAuZGVzY3JpcHRpb24sIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciAuZGVzY3JpcHRpb24ge1xuICAgIHBhZGRpbmc6IDEwcHggMDsgfVxuICBbZGF0YS1ieFNsaWRlcl0gLmNvbnRlbnQtY29udGFpbmVyIC5zcGVjaWZpY2F0aW9uLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIC5zcGVjaWZpY2F0aW9uLCAuY21zLWNhcm91c2VsLW1vZHVsZSAuY29udGVudC1jb250YWluZXIgLnNwZWNpZmljYXRpb24ge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4OyB9XG4gICAgW2RhdGEtYnhTbGlkZXJdIC5jb250ZW50LWNvbnRhaW5lciAuc3BlY2lmaWNhdGlvbjpub3QoOmVtcHR5KSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciAuc3BlY2lmaWNhdGlvbjpub3QoOmVtcHR5KSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIC5zcGVjaWZpY2F0aW9uOm5vdCg6ZW1wdHkpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cbiAgW2RhdGEtYnhTbGlkZXJdIC5jb250ZW50LWNvbnRhaW5lciAucHJpY2VzLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIC5wcmljZXMsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciAucHJpY2VzIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgIHBhZGRpbmctbGVmdDogMTBweDsgfVxuICBbZGF0YS1ieFNsaWRlcl0gLmNvbnRlbnQtY29udGFpbmVyIC5zdG9jay1pbmRpY2F0b3IsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAuY29udGVudC1jb250YWluZXIgLnN0b2NrLWluZGljYXRvciwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIC5zdG9jay1pbmRpY2F0b3Ige1xuICAgIG1hcmdpbi10b3A6IGF1dG87XG4gICAgcGFkZGluZzogMTBweCAxMHB4O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICBbZGF0YS1ieFNsaWRlcl0gLmNvbnRlbnQtY29udGFpbmVyIC5zdG9jay1pbmRpY2F0b3IgKyAubm90LWxvZ2dlZC1pbi1jb250YWluZXIsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAuY29udGVudC1jb250YWluZXIgLnN0b2NrLWluZGljYXRvciArIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIC5zdG9jay1pbmRpY2F0b3IgKyAubm90LWxvZ2dlZC1pbi1jb250YWluZXIge1xuICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAgIFtkYXRhLWJ4U2xpZGVyXSAuY29udGVudC1jb250YWluZXIgLnN0b2NrLWluZGljYXRvciBhLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIC5zdG9jay1pbmRpY2F0b3IgYSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIC5zdG9jay1pbmRpY2F0b3IgYSB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGxlZnQ7IH1cbiAgICBbZGF0YS1ieFNsaWRlcl0gLmNvbnRlbnQtY29udGFpbmVyIC5zdG9jay1pbmRpY2F0b3IgYnV0dG9uLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIC5zdG9jay1pbmRpY2F0b3IgYnV0dG9uLCAuY21zLWNhcm91c2VsLW1vZHVsZSAuY29udGVudC1jb250YWluZXIgLnN0b2NrLWluZGljYXRvciBidXR0b24ge1xuICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gIFtkYXRhLWJ4U2xpZGVyXSAuY29udGVudC1jb250YWluZXIgLnF1YW50aXR5LWNvbnRhaW5lciwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciAucXVhbnRpdHktY29udGFpbmVyLCAuY21zLWNhcm91c2VsLW1vZHVsZSAuY29udGVudC1jb250YWluZXIgLnF1YW50aXR5LWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ2FwOiAxMHB4O1xuICAgIHBhZGRpbmc6IDE1cHggMTBweCAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgW2RhdGEtYnhTbGlkZXJdIC5jb250ZW50LWNvbnRhaW5lciAucXVhbnRpdHktY29udGFpbmVyLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIC5xdWFudGl0eS1jb250YWluZXIsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciAucXVhbnRpdHktY29udGFpbmVyIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICBnYXA6IDVweDsgfSB9XG4gIFtkYXRhLWJ4U2xpZGVyXSAuY29udGVudC1jb250YWluZXIgLnByaWNlcyArIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciwgW2RhdGEtYnhTbGlkZXJdIC5jb250ZW50LWNvbnRhaW5lciAucHJpY2VzICsgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiwgW2RhdGEtYnhTbGlkZXJdIC5jb250ZW50LWNvbnRhaW5lciAucHJpY2VzICsgLmVucXVpcnktYnV0dG9uLWNvbnRhaW5lciwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciAucHJpY2VzICsgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIC5wcmljZXMgKyAuc3RvY2tsaW5lLXZpZXctYnV0dG9uLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIC5wcmljZXMgKyAuZW5xdWlyeS1idXR0b24tY29udGFpbmVyLCAuY21zLWNhcm91c2VsLW1vZHVsZSAuY29udGVudC1jb250YWluZXIgLnByaWNlcyArIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIC5wcmljZXMgKyAuc3RvY2tsaW5lLXZpZXctYnV0dG9uLCAuY21zLWNhcm91c2VsLW1vZHVsZSAuY29udGVudC1jb250YWluZXIgLnByaWNlcyArIC5lbnF1aXJ5LWJ1dHRvbi1jb250YWluZXIge1xuICAgIG1hcmdpbi10b3A6IDEwcHg7IH1cbiAgW2RhdGEtYnhTbGlkZXJdIC5jb250ZW50LWNvbnRhaW5lciAubm90LWxvZ2dlZC1pbi1jb250YWluZXIsIFtkYXRhLWJ4U2xpZGVyXSAuY29udGVudC1jb250YWluZXIgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiwgW2RhdGEtYnhTbGlkZXJdIC5jb250ZW50LWNvbnRhaW5lciAuZW5xdWlyeS1idXR0b24tY29udGFpbmVyLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2tsaW5lLXZpZXctYnV0dG9uLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIC5lbnF1aXJ5LWJ1dHRvbi1jb250YWluZXIsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciAubm90LWxvZ2dlZC1pbi1jb250YWluZXIsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2tsaW5lLXZpZXctYnV0dG9uLCAuY21zLWNhcm91c2VsLW1vZHVsZSAuY29udGVudC1jb250YWluZXIgLmVucXVpcnktYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDY2JTtcbiAgICBtYXJnaW46IGF1dG8gYXV0byAwOyB9XG4gIFtkYXRhLWJ4U2xpZGVyXSAuY29udGVudC1jb250YWluZXIubWluaWZpZWQgLmltYWdlLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyLm1pbmlmaWVkIC5pbWFnZSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyLm1pbmlmaWVkIC5pbWFnZSB7XG4gICAgd2lkdGg6IDExMHB4OyB9XG4gIFtkYXRhLWJ4U2xpZGVyXSAuY29udGVudC1jb250YWluZXI6aG92ZXIgLmRlc2NyaXB0aW9uLCBbZGF0YS1ieFNsaWRlcl0gLmNvbnRlbnQtY29udGFpbmVyOmhvdmVyIC5yZWFkLW1vcmUsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAuY29udGVudC1jb250YWluZXI6aG92ZXIgLmRlc2NyaXB0aW9uLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyOmhvdmVyIC5yZWFkLW1vcmUsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lcjpob3ZlciAuZGVzY3JpcHRpb24sIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lcjpob3ZlciAucmVhZC1tb3JlIHtcbiAgICBjb2xvcjogI2FlOTQ2MTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICBbZGF0YS1ieFNsaWRlcl0gLmNvbnRlbnQtY29udGFpbmVyOmFjdGl2ZSAuZGVzY3JpcHRpb24sIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAuY29udGVudC1jb250YWluZXI6YWN0aXZlIC5kZXNjcmlwdGlvbiwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyOmFjdGl2ZSAuZGVzY3JpcHRpb24ge1xuICAgIGNvbG9yOiAjNTA1MDZkOyB9XG4gIFtkYXRhLWJ4U2xpZGVyXSAuY29udGVudC1jb250YWluZXIuaW1hZ2UsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAuY29udGVudC1jb250YWluZXIuaW1hZ2UsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lci5pbWFnZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgW2RhdGEtYnhTbGlkZXJdIC5jb250ZW50LWNvbnRhaW5lci5wcm9kdWN0LCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyLnByb2R1Y3QsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lci5wcm9kdWN0IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XG4gICAgW2RhdGEtYnhTbGlkZXJdIC5jb250ZW50LWNvbnRhaW5lci5wcm9kdWN0IC5ncm91cC1kZXNjcmlwdGlvbiwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lci5wcm9kdWN0IC5ncm91cC1kZXNjcmlwdGlvbiwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyLnByb2R1Y3QgLmdyb3VwLWRlc2NyaXB0aW9uIHtcbiAgICAgIHBhZGRpbmc6IDEwcHggMTBweCA1cHg7IH1cbiAgICBbZGF0YS1ieFNsaWRlcl0gLmNvbnRlbnQtY29udGFpbmVyLnByb2R1Y3QgYS5ncm91cC1kZXNjcmlwdGlvbiArIGE6aGFzKC5kZXNjcmlwdGlvbikgLmRlc2NyaXB0aW9uLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyLnByb2R1Y3QgYS5ncm91cC1kZXNjcmlwdGlvbiArIGE6aGFzKC5kZXNjcmlwdGlvbikgLmRlc2NyaXB0aW9uLCAuY21zLWNhcm91c2VsLW1vZHVsZSAuY29udGVudC1jb250YWluZXIucHJvZHVjdCBhLmdyb3VwLWRlc2NyaXB0aW9uICsgYTpoYXMoLmRlc2NyaXB0aW9uKSAuZGVzY3JpcHRpb24ge1xuICAgICAgcGFkZGluZy10b3A6IDA7IH1cbiAgICBbZGF0YS1ieFNsaWRlcl0gLmNvbnRlbnQtY29udGFpbmVyLnByb2R1Y3QgLmRlc2NyaXB0aW9uLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyLnByb2R1Y3QgLmRlc2NyaXB0aW9uLCAuY21zLWNhcm91c2VsLW1vZHVsZSAuY29udGVudC1jb250YWluZXIucHJvZHVjdCAuZGVzY3JpcHRpb24ge1xuICAgICAgcGFkZGluZzogMTVweCAxMHB4OyB9XG4gICAgICBbZGF0YS1ieFNsaWRlcl0gLmNvbnRlbnQtY29udGFpbmVyLnByb2R1Y3QgLmRlc2NyaXB0aW9uOmlzKDplbXB0eSksIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAuY29udGVudC1jb250YWluZXIucHJvZHVjdCAuZGVzY3JpcHRpb246aXMoOmVtcHR5KSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyLnByb2R1Y3QgLmRlc2NyaXB0aW9uOmlzKDplbXB0eSkge1xuICAgICAgICBwYWRkaW5nOiAwOyB9XG4gIFtkYXRhLWJ4U2xpZGVyXSAuY29udGVudC1jb250YWluZXI6aG92ZXIsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAuY29udGVudC1jb250YWluZXI6aG92ZXIsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lcjpob3ZlciB7XG4gICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTtcbiAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNnM7IH1cblxuW2RhdGEtYnhTbGlkZXJdIC5jb2xsZWN0aW9uLWltYWdlLWNvbnRhaW5lciwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5jb2xsZWN0aW9uLWltYWdlLWNvbnRhaW5lciwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLmNvbGxlY3Rpb24taW1hZ2UtY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuW2RhdGEtYnhTbGlkZXJdIC5pbWFnZSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5pbWFnZSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLmltYWdlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW46IDAgYXV0byAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICBbZGF0YS1ieFNsaWRlcl0gLmltYWdlLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmltYWdlLCAuY21zLWNhcm91c2VsLW1vZHVsZSAuaW1hZ2Uge1xuICAgICAgbWFyZ2luOiAwOyB9IH1cbiAgW2RhdGEtYnhTbGlkZXJdIC5pbWFnZSBpbWcsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAuaW1hZ2UgaW1nLCAuY21zLWNhcm91c2VsLW1vZHVsZSAuaW1hZ2UgaW1nIHtcbiAgICBmbGV4LXNocmluazogMDsgfVxuXG5bZGF0YS1ieFNsaWRlcl0gLmxhYmVsLXZhbHVlLXBhaXItY29udGFpbmVyLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmxhYmVsLXZhbHVlLXBhaXItY29udGFpbmVyLCAuY21zLWNhcm91c2VsLW1vZHVsZSAubGFiZWwtdmFsdWUtcGFpci1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBwYWRkaW5nLXRvcDogNXB4O1xuICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICBwYWRkaW5nLWxlZnQ6IDEwcHg7IH1cbiAgW2RhdGEtYnhTbGlkZXJdIC5sYWJlbC12YWx1ZS1wYWlyLWNvbnRhaW5lciAubGFiZWwsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAubGFiZWwtdmFsdWUtcGFpci1jb250YWluZXIgLmxhYmVsLCAuY21zLWNhcm91c2VsLW1vZHVsZSAubGFiZWwtdmFsdWUtcGFpci1jb250YWluZXIgLmxhYmVsIHtcbiAgICBjb2xvcjogIzAwMDAwMDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cbiAgW2RhdGEtYnhTbGlkZXJdIC5sYWJlbC12YWx1ZS1wYWlyLWNvbnRhaW5lciAudmFsdWUsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAubGFiZWwtdmFsdWUtcGFpci1jb250YWluZXIgLnZhbHVlLCAuY21zLWNhcm91c2VsLW1vZHVsZSAubGFiZWwtdmFsdWUtcGFpci1jb250YWluZXIgLnZhbHVlIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBjb2xvcjogIzAwMDAwMDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG5cbltkYXRhLWJ4U2xpZGVyXSAuZGVwYXJ0bWVudC1kZXNjcmlwdGlvbiwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5kZXBhcnRtZW50LWRlc2NyaXB0aW9uLCAuY21zLWNhcm91c2VsLW1vZHVsZSAuZGVwYXJ0bWVudC1kZXNjcmlwdGlvbiB7XG4gIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMCwgIzA2MDUyZik7XG4gIGZvbnQtZmFtaWx5OiBcIkdpYnNvblwiLCBcIkdpYnNvbiBGYWxsYmFja1wiLCBcIkFyaWFsXCI7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogMnB4O1xuICBsaW5lLWhlaWdodDogMS42O1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gIFtkYXRhLWJ4U2xpZGVyXSAuZGVwYXJ0bWVudC1kZXNjcmlwdGlvbjpob3ZlciwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5kZXBhcnRtZW50LWRlc2NyaXB0aW9uOmhvdmVyLCAuY21zLWNhcm91c2VsLW1vZHVsZSAuZGVwYXJ0bWVudC1kZXNjcmlwdGlvbjpob3ZlciB7XG4gICAgY29sb3I6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy0wKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG5cbltkYXRhLWJ4U2xpZGVyXSAuZ3JvdXAtZGVzY3JpcHRpb24sIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAuZ3JvdXAtZGVzY3JpcHRpb24sIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5ncm91cC1kZXNjcmlwdGlvbiB7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7IH1cbiAgW2RhdGEtYnhTbGlkZXJdIC5ncm91cC1kZXNjcmlwdGlvbjpob3ZlciwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5ncm91cC1kZXNjcmlwdGlvbjpob3ZlciwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLmdyb3VwLWRlc2NyaXB0aW9uOmhvdmVyIHtcbiAgICBjb2xvcjogIzA2MDUyZjtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICBbZGF0YS1ieFNsaWRlcl0gLmdyb3VwLWRlc2NyaXB0aW9uOmFjdGl2ZSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5ncm91cC1kZXNjcmlwdGlvbjphY3RpdmUsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5ncm91cC1kZXNjcmlwdGlvbjphY3RpdmUge1xuICAgIGNvbG9yOiAjMDAwMDAwOyB9XG5cbltkYXRhLWJ4U2xpZGVyXSAuZGVzY3JpcHRpb24sIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAuZGVzY3JpcHRpb24sIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5kZXNjcmlwdGlvbiB7XG4gIGNvbG9yOiAjMDYwNTJmO1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgW2RhdGEtYnhTbGlkZXJdIC5kZXNjcmlwdGlvbiBwLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmRlc2NyaXB0aW9uIHAsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5kZXNjcmlwdGlvbiBwIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDsgfVxuXG5bZGF0YS1ieFNsaWRlcl0gLnJlYWQtbW9yZSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5yZWFkLW1vcmUsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5yZWFkLW1vcmUge1xuICBjb2xvcjogIzA2MDUyZjsgfVxuXG5bZGF0YS1ieFNsaWRlcl0gLnNwZWNpZmljYXRpb24gcCwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5zcGVjaWZpY2F0aW9uIHAsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5zcGVjaWZpY2F0aW9uIHAge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7IH1cblxuW2RhdGEtYnhTbGlkZXJdIC5jb2RlLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmNvZGUsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5jb2RlIHtcbiAgY29sb3I6ICM4ODg4ODg7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gIFtkYXRhLWJ4U2xpZGVyXSAuY29sLWxhYmVsICsgLnByaWNlcyBwOm9ubHktY2hpbGQgLmxhYmVsLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmNvbC1sYWJlbCArIC5wcmljZXMgcDpvbmx5LWNoaWxkIC5sYWJlbCwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLmNvbC1sYWJlbCArIC5wcmljZXMgcDpvbmx5LWNoaWxkIC5sYWJlbCB7XG4gICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gIFtkYXRhLWJ4U2xpZGVyXSAuY29sLWxhYmVsICsgLnByaWNlcyBwOm9ubHktY2hpbGQgLmxhYmVsICsgLnZhbHVlLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmNvbC1sYWJlbCArIC5wcmljZXMgcDpvbmx5LWNoaWxkIC5sYWJlbCArIC52YWx1ZSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLmNvbC1sYWJlbCArIC5wcmljZXMgcDpvbmx5LWNoaWxkIC5sYWJlbCArIC52YWx1ZSB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuXG5bZGF0YS1ieFNsaWRlcl0gLnByaWNlcywgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5wcmljZXMsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5wcmljZXMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4LWdyb3c6IDE7XG4gIGZvbnQtc2l6ZTogMXJlbTsgfVxuICBbZGF0YS1ieFNsaWRlcl0gLnByaWNlcyBwLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLnByaWNlcyBwLCAuY21zLWNhcm91c2VsLW1vZHVsZSAucHJpY2VzIHAge1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXdlaWdodDogNDAwOyB9XG4gIFtkYXRhLWJ4U2xpZGVyXSAucHJpY2VzIC5wcmljZS1jb250YWluZXIsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAucHJpY2VzIC5wcmljZS1jb250YWluZXIsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjsgfVxuICAgIFtkYXRhLWJ4U2xpZGVyXSAucHJpY2VzIC5wcmljZS1jb250YWluZXI6aGFzKC52YXQpLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLnByaWNlcyAucHJpY2UtY29udGFpbmVyOmhhcygudmF0KSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLnByaWNlcyAucHJpY2UtY29udGFpbmVyOmhhcygudmF0KSB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICBbZGF0YS1ieFNsaWRlcl0gLnByaWNlcyAucHJpY2UtY29udGFpbmVyIC5sYWJlbCwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lciAubGFiZWwsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lciAubGFiZWwge1xuICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgICBmb250LXdlaWdodDogNDAwOyB9XG4gICAgICBbZGF0YS1ieFNsaWRlcl0gLnByaWNlcyAucHJpY2UtY29udGFpbmVyIC5sYWJlbDpub3QoOmVtcHR5KSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lciAubGFiZWw6bm90KDplbXB0eSksIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lciAubGFiZWw6bm90KDplbXB0eSkge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDsgfVxuICAgICAgW2RhdGEtYnhTbGlkZXJdIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lciAubGFiZWwgfiAudmF0LCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLnByaWNlcyAucHJpY2UtY29udGFpbmVyIC5sYWJlbCB+IC52YXQsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lciAubGFiZWwgfiAudmF0IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAwIDVweDtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgICBbZGF0YS1ieFNsaWRlcl0gLnByaWNlcyAucHJpY2UtY29udGFpbmVyIC5sYWJlbCB+IC52YXQsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAucHJpY2VzIC5wcmljZS1jb250YWluZXIgLmxhYmVsIH4gLnZhdCwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLnByaWNlcyAucHJpY2UtY29udGFpbmVyIC5sYWJlbCB+IC52YXQge1xuICAgICAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50OyB9IH1cbiAgICBbZGF0YS1ieFNsaWRlcl0gLnByaWNlcyAucHJpY2UtY29udGFpbmVyIC52YWx1ZSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lciAudmFsdWUsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lciAudmFsdWUge1xuICAgICAgY29sb3I6ICMwNjA1MmY7XG4gICAgICBmb250LXdlaWdodDogNDAwOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIFtkYXRhLWJ4U2xpZGVyXSAucHJpY2VzIC5wcmljZS1jb250YWluZXIgLnZhbHVlLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLnByaWNlcyAucHJpY2UtY29udGFpbmVyIC52YWx1ZSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLnByaWNlcyAucHJpY2UtY29udGFpbmVyIC52YWx1ZSB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH0gfVxuICAgIFtkYXRhLWJ4U2xpZGVyXSAucHJpY2VzIC5wcmljZS1jb250YWluZXIuc2F2aW5nIC5sYWJlbCwgW2RhdGEtYnhTbGlkZXJdIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lci5zYXZpbmcgLnZhbHVlLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLnByaWNlcyAucHJpY2UtY29udGFpbmVyLnNhdmluZyAubGFiZWwsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAucHJpY2VzIC5wcmljZS1jb250YWluZXIuc2F2aW5nIC52YWx1ZSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLnByaWNlcyAucHJpY2UtY29udGFpbmVyLnNhdmluZyAubGFiZWwsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lci5zYXZpbmcgLnZhbHVlIHtcbiAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICBbZGF0YS1ieFNsaWRlcl0gLnByaWNlcyAucHJpY2UtY29udGFpbmVyLnJycCAubGFiZWwsIFtkYXRhLWJ4U2xpZGVyXSAucHJpY2VzIC5wcmljZS1jb250YWluZXIucnJwIC52YWx1ZSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lci5ycnAgLmxhYmVsLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLnByaWNlcyAucHJpY2UtY29udGFpbmVyLnJycCAudmFsdWUsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lci5ycnAgLmxhYmVsLCAuY21zLWNhcm91c2VsLW1vZHVsZSAucHJpY2VzIC5wcmljZS1jb250YWluZXIucnJwIC52YWx1ZSB7XG4gICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgW2RhdGEtYnhTbGlkZXJdIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lciAubGFiZWwgKyAudmFsdWUsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAucHJpY2VzIC5wcmljZS1jb250YWluZXIgLmxhYmVsICsgLnZhbHVlLCAuY21zLWNhcm91c2VsLW1vZHVsZSAucHJpY2VzIC5wcmljZS1jb250YWluZXIgLmxhYmVsICsgLnZhbHVlIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuW2RhdGEtYnhTbGlkZXJdIC5wcmljZS1jb250YWluZXIgLnZhbHVlLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLnByaWNlLWNvbnRhaW5lciAudmFsdWUsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5wcmljZS1jb250YWluZXIgLnZhbHVlIHtcbiAgZm9udC1zaXplOiAxcmVtOyB9XG5cbltkYXRhLWJ4U2xpZGVyXSAucHJpY2UtY29udGFpbmVyIC5sYWJlbCwgW2RhdGEtYnhTbGlkZXJdIC5wcmljZS1jb250YWluZXIgLnZhbHVlLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLnByaWNlLWNvbnRhaW5lciAubGFiZWwsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAucHJpY2UtY29udGFpbmVyIC52YWx1ZSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLnByaWNlLWNvbnRhaW5lciAubGFiZWwsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5wcmljZS1jb250YWluZXIgLnZhbHVlIHtcbiAgZm9udC1mYW1pbHk6IFwiR2lic29uXCIsIFwiR2lic29uIEZhbGxiYWNrXCIsIFwiQXJpYWxcIjsgfVxuXG5bZGF0YS1ieFNsaWRlcl0gLnByaWNlLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLnByaWNlLCAuY21zLWNhcm91c2VsLW1vZHVsZSAucHJpY2Uge1xuICBtYXJnaW46IDA7IH1cbiAgW2RhdGEtYnhTbGlkZXJdIC5wcmljZSAuY3VycmVuY3ksIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAucHJpY2UgLmN1cnJlbmN5LCAuY21zLWNhcm91c2VsLW1vZHVsZSAucHJpY2UgLmN1cnJlbmN5IHtcbiAgICBmb250LXNpemU6IDEuNjI1cmVtOyB9XG5cbltkYXRhLWJ4U2xpZGVyXSAudmF0LCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLnZhdCwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLnZhdCB7XG4gIHdpZHRoOiBmaXQtY29udGVudDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gIGNvbG9yOiAjNzc3Nzc3O1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuW2RhdGEtYnhTbGlkZXJdIGZvcm0sIFtkYXRhLWJ4U2xpZGVyXSAubm90LWxvZ2dlZC1pbi1jb250YWluZXIsIFtkYXRhLWJ4U2xpZGVyXSAuc3RvY2tsaW5lLXZpZXctYnV0dG9uLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgZm9ybSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5zdG9ja2xpbmUtdmlldy1idXR0b24sIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIGZvcm0sIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiB7XG4gIG1hcmdpbjogYXV0byAwIDA7IH1cblxuW2RhdGEtYnhTbGlkZXJdIC5hZGRUb0Jhc2tldC5pY29uLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmFkZFRvQmFza2V0Lmljb24sIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5hZGRUb0Jhc2tldC5pY29uIHtcbiAgbWFyZ2luOiAwOyB9XG5cbltkYXRhLWJ4U2xpZGVyXSAuZmF2b3VyaXRlc0NvbnRhaW5lciwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5mYXZvdXJpdGVzQ29udGFpbmVyLCAuY21zLWNhcm91c2VsLW1vZHVsZSAuZmF2b3VyaXRlc0NvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG5bZGF0YS1ieFNsaWRlcl0gLnF1YW50aXR5LWNvbnRhaW5lciAuY29udHJvbC5zZWxlY3QsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAucXVhbnRpdHktY29udGFpbmVyIC5jb250cm9sLnNlbGVjdCwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLnF1YW50aXR5LWNvbnRhaW5lciAuY29udHJvbC5zZWxlY3Qge1xuICBtYXgtd2lkdGg6IDgwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbjogMCAxMHB4IDAgMDsgfVxuICBbZGF0YS1ieFNsaWRlcl0gLnF1YW50aXR5LWNvbnRhaW5lciAuY29udHJvbC5zZWxlY3QgLmxhYmVsLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLnF1YW50aXR5LWNvbnRhaW5lciAuY29udHJvbC5zZWxlY3QgLmxhYmVsLCAuY21zLWNhcm91c2VsLW1vZHVsZSAucXVhbnRpdHktY29udGFpbmVyIC5jb250cm9sLnNlbGVjdCAubGFiZWwge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgW2RhdGEtYnhTbGlkZXJdIC5xdWFudGl0eS1jb250YWluZXIgLmNvbnRyb2wuc2VsZWN0IC5jb250cm9sLXNlbGVjdC1kcm9wZG93biwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5xdWFudGl0eS1jb250YWluZXIgLmNvbnRyb2wuc2VsZWN0IC5jb250cm9sLXNlbGVjdC1kcm9wZG93biwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLnF1YW50aXR5LWNvbnRhaW5lciAuY29udHJvbC5zZWxlY3QgLmNvbnRyb2wtc2VsZWN0LWRyb3Bkb3duIHtcbiAgICB3aWR0aDogODBweDsgfVxuXG5bZGF0YS1ieFNsaWRlcl0gLnF1YW50aXR5LWZyZWUtdGV4dC1jb250YWluZXIsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAucXVhbnRpdHktZnJlZS10ZXh0LWNvbnRhaW5lciwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLnF1YW50aXR5LWZyZWUtdGV4dC1jb250YWluZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICBbZGF0YS1ieFNsaWRlcl0gLnF1YW50aXR5LWZyZWUtdGV4dC1jb250YWluZXIgLmxhYmVsLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLnF1YW50aXR5LWZyZWUtdGV4dC1jb250YWluZXIgLmxhYmVsLCAuY21zLWNhcm91c2VsLW1vZHVsZSAucXVhbnRpdHktZnJlZS10ZXh0LWNvbnRhaW5lciAubGFiZWwge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAuYngtc2VwZXJhdG9yIC5jb2xsZWN0aW9uLWl0ZW1bYXJpYS1oaWRkZW49ZmFsc2VdICsgLmNvbGxlY3Rpb24taXRlbTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHdpZHRoOiAxcHg7XG4gICAgaGVpZ2h0OiA4MCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzc3Nzc3NztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIG1hcmdpbjogYXV0bzsgfSB9XG5cbi5ieC12aWV3cG9ydCB7XG4gIHotaW5kZXg6IDE7IH1cbiAgLmJ4LXZpZXdwb3J0ID4gZGl2IHtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cblxuW2lkJD1cIi1jYXJvdXNlbC1jb250YWluZXJcIl0ge1xuICBmbGV4OiAxOyB9XG5cbi5jYXJvdXNlbDpub3QoLmxhcmdlQ29udHJvbHMpOm5vdCguc21hbGxDb250cm9scykgLmJ4LWNvbnRyb2xzIHtcbiAgaGVpZ2h0OiAzMHB4OyB9XG4gIC5jYXJvdXNlbDpub3QoLmxhcmdlQ29udHJvbHMpOm5vdCguc21hbGxDb250cm9scykgLmJ4LWNvbnRyb2xzIC5ieC1wcmV2Om5vdCguZGlzYWJsZWQpLFxuICAuY2Fyb3VzZWw6bm90KC5sYXJnZUNvbnRyb2xzKTpub3QoLnNtYWxsQ29udHJvbHMpIC5ieC1jb250cm9scyAuYngtbmV4dDpub3QoLmRpc2FibGVkKSB7XG4gICAgd2lkdGg6IDMwcHg7XG4gICAgaGVpZ2h0OiAzMHB4OyB9XG5cbi5jYXJvdXNlbC5sYXJnZUNvbnRyb2xzIC5ieC1jb250cm9scyAuYngtY29udHJvbHMtZGlyZWN0aW9uIHtcbiAgd2lkdGg6IDExMHB4O1xuICBtYXJnaW46IDEwcHg7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGhlaWdodDogNDVweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmNhcm91c2VsLmxhcmdlQ29udHJvbHMgLmJ4LWNvbnRyb2xzIC5ieC1jb250cm9scy1kaXJlY3Rpb24ge1xuICAgICAgd2lkdGg6IDEwMHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5jYXJvdXNlbC5sYXJnZUNvbnRyb2xzIC5ieC1jb250cm9scyAuYngtY29udHJvbHMtZGlyZWN0aW9uIHtcbiAgICAgIGhlaWdodDogNDVweDsgfSB9XG5cbi5jYXJvdXNlbC5sYXJnZUNvbnRyb2xzIC5ieC1jb250cm9scyAuYngtcHJldjpub3QoLmRpc2FibGVkKSxcbi5jYXJvdXNlbC5sYXJnZUNvbnRyb2xzIC5ieC1jb250cm9scyAuYngtbmV4dDpub3QoLmRpc2FibGVkKSB7XG4gIHdpZHRoOiA0NXB4O1xuICBoZWlnaHQ6IDQ1cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5jYXJvdXNlbC5sYXJnZUNvbnRyb2xzIC5ieC1jb250cm9scyAuYngtcHJldjpub3QoLmRpc2FibGVkKSxcbiAgICAuY2Fyb3VzZWwubGFyZ2VDb250cm9scyAuYngtY29udHJvbHMgLmJ4LW5leHQ6bm90KC5kaXNhYmxlZCkge1xuICAgICAgd2lkdGg6IDQ1cHg7XG4gICAgICBoZWlnaHQ6IDQ1cHg7IH0gfVxuXG4uY2Fyb3VzZWwuc21hbGxDb250cm9scyAuYngtY29udHJvbHMge1xuICBoZWlnaHQ6IDQ1cHg7XG4gIHdpZHRoOiAxMDBweDsgfVxuICAuY2Fyb3VzZWwuc21hbGxDb250cm9scyAuYngtY29udHJvbHMgLmJ4LXByZXY6bm90KC5kaXNhYmxlZCksXG4gIC5jYXJvdXNlbC5zbWFsbENvbnRyb2xzIC5ieC1jb250cm9scyAuYngtbmV4dDpub3QoLmRpc2FibGVkKSB7XG4gICAgd2lkdGg6IDQ1cHg7XG4gICAgaGVpZ2h0OiA0NXB4O1xuICAgIGJveC1zaGFkb3c6IDBweCAycHggNHB4IDFweCByZ2JhKDEyLCAxMiwgMTMsIDAuMyk7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG4gICAgLmNhcm91c2VsLnNtYWxsQ29udHJvbHMgLmJ4LWNvbnRyb2xzIC5ieC1wcmV2Om5vdCguZGlzYWJsZWQpOmhvdmVyLFxuICAgIC5jYXJvdXNlbC5zbWFsbENvbnRyb2xzIC5ieC1jb250cm9scyAuYngtbmV4dDpub3QoLmRpc2FibGVkKTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgYm94LXNoYWRvdzogMHB4IDJweCA0cHggMXB4IHJnYmEoMTIsIDEyLCAxMywgMC4zKTtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfVxuICAgIC5jYXJvdXNlbC5zbWFsbENvbnRyb2xzIC5ieC1jb250cm9scyAuYngtcHJldjpub3QoLmRpc2FibGVkKTpiZWZvcmUsXG4gICAgLmNhcm91c2VsLnNtYWxsQ29udHJvbHMgLmJ4LWNvbnRyb2xzIC5ieC1uZXh0Om5vdCguZGlzYWJsZWQpOmJlZm9yZSB7XG4gICAgICB3aWR0aDogMTJweDtcbiAgICAgIGhlaWdodDogMTJweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmNhcm91c2VsLnNtYWxsQ29udHJvbHMgLmJ4LWNvbnRyb2xzIC5ieC1wcmV2Om5vdCguZGlzYWJsZWQpOmJlZm9yZSB7XG4gICAgICBoZWlnaHQ6IDE4cHg7XG4gICAgICB3aWR0aDogMThweDtcbiAgICAgIHBhZGRpbmc6IDNweDtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMwNjA1MmY7XG4gICAgICBib3JkZXItd2lkdGg6IDAgMnB4IDJweCAwO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTIyM2RlZyk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmNhcm91c2VsLnNtYWxsQ29udHJvbHMgLmJ4LWNvbnRyb2xzIC5ieC1uZXh0Om5vdCguZGlzYWJsZWQpOmJlZm9yZSB7XG4gICAgICBoZWlnaHQ6IDE4cHg7XG4gICAgICB3aWR0aDogMThweDtcbiAgICAgIHBhZGRpbmc6IDNweDtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMwNjA1MmY7XG4gICAgICBib3JkZXItd2lkdGg6IDAgMnB4IDJweCAwO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQzZGVnKTsgfSB9XG5cbi5jYXJvdXNlbDpub3QoLnNtYWxsQ29udHJvbHMpIC5ieC1jb250cm9scyB7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5jYXJvdXNlbDpub3QoLnNtYWxsQ29udHJvbHMpIC5ieC1jb250cm9scyAuYngtcHJldjpub3QoLmRpc2FibGVkKSxcbiAgLmNhcm91c2VsOm5vdCguc21hbGxDb250cm9scykgLmJ4LWNvbnRyb2xzIC5ieC1uZXh0Om5vdCguZGlzYWJsZWQpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGFkYWRhO1xuICAgIG9wYWNpdHk6IDAuODtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHMsIG9wYWNpdHkgMC44cywgYm9yZGVyLWNvbG9yIDAuOHM7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgICAgLmNhcm91c2VsOm5vdCguc21hbGxDb250cm9scykgLmJ4LWNvbnRyb2xzIC5ieC1wcmV2Om5vdCguZGlzYWJsZWQpLFxuICAgICAgLmNhcm91c2VsOm5vdCguc21hbGxDb250cm9scykgLmJ4LWNvbnRyb2xzIC5ieC1uZXh0Om5vdCguZGlzYWJsZWQpIHtcbiAgICAgICAgYm94LXNoYWRvdzogMHB4IDJweCA0cHggMXB4IHJnYmEoMTIsIDEyLCAxMywgMC4zKTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmNhcm91c2VsOm5vdCguc21hbGxDb250cm9scykgLmJ4LWNvbnRyb2xzIC5ieC1wcmV2Om5vdCguZGlzYWJsZWQpLFxuICAgICAgLmNhcm91c2VsOm5vdCguc21hbGxDb250cm9scykgLmJ4LWNvbnRyb2xzIC5ieC1uZXh0Om5vdCguZGlzYWJsZWQpIHtcbiAgICAgICAgb3BhY2l0eTogMC41O1xuICAgICAgICBib3gtc2hhZG93OiAwcHggMnB4IDRweCAxcHggcmdiYSgxMiwgMTIsIDEzLCAwLjMpOyB9IH1cbiAgICAuY2Fyb3VzZWw6bm90KC5zbWFsbENvbnRyb2xzKSAuYngtY29udHJvbHMgLmJ4LXByZXY6bm90KC5kaXNhYmxlZCk6aG92ZXIsXG4gICAgLmNhcm91c2VsOm5vdCguc21hbGxDb250cm9scykgLmJ4LWNvbnRyb2xzIC5ieC1uZXh0Om5vdCguZGlzYWJsZWQpOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICBib3gtc2hhZG93OiAwcHggMnB4IDRweCAxcHggcmdiYSgxMiwgMTIsIDEzLCAwLjMpO1xuICAgICAgb3BhY2l0eTogMC44O1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzLCBvcGFjaXR5IDAuNnM7IH1cbiAgICAgIC5jYXJvdXNlbDpub3QoLnNtYWxsQ29udHJvbHMpIC5ieC1jb250cm9scyAuYngtcHJldjpub3QoLmRpc2FibGVkKTpob3ZlcjpiZWZvcmUsXG4gICAgICAuY2Fyb3VzZWw6bm90KC5zbWFsbENvbnRyb2xzKSAuYngtY29udHJvbHMgLmJ4LW5leHQ6bm90KC5kaXNhYmxlZCk6aG92ZXI6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMDYwNTJmOyB9XG4gICAgLmNhcm91c2VsOm5vdCguc21hbGxDb250cm9scykgLmJ4LWNvbnRyb2xzIC5ieC1wcmV2Om5vdCguZGlzYWJsZWQpOmFjdGl2ZSxcbiAgICAuY2Fyb3VzZWw6bm90KC5zbWFsbENvbnRyb2xzKSAuYngtY29udHJvbHMgLmJ4LW5leHQ6bm90KC5kaXNhYmxlZCk6YWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICBvcGFjaXR5OiAxOyB9XG5cbi5pbWFnZS1zbGlkZXNob3ctbW9kdWxlIC5ieC1jb250cm9scy1kaXJlY3Rpb24ge1xuICBtYXJnaW46IDEwcHg7IH1cblxuLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5ieC1jb250cm9scyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cblxuLmltYWdlLXNsaWRlc2hvdy1tb2R1bGUgLmJ4LWNvbnRyb2xzLCAuaW1hZ2Utc2xpZGVzaG93LW1vZHVsZSAuYngtY29udHJvbHMtZGlyZWN0aW9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlOyB9XG5cbi5zbWFsbC13aWRlLWNvbnRyb2xzIC5ieC1jb250cm9scyAuYngtcHJldjpub3QoLmRpc2FibGVkKTpiZWZvcmUge1xuICBjb250ZW50OiBcIu6ggFwiO1xuICBmb250LXNpemU6IDE0cHg7IH1cblxuLnNtYWxsLXdpZGUtY29udHJvbHMgLmJ4LWNvbnRyb2xzIC5ieC1uZXh0Om5vdCguZGlzYWJsZWQpOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qCBXCI7XG4gIGZvbnQtc2l6ZTogMTRweDsgfVxuXG4uYngtY29udHJvbHMuZGlzYWJsZWQge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5ieC1jb250cm9scyAuYngtcHJldjpub3QoLmRpc2FibGVkKTpiZWZvcmUsXG4uYngtY29udHJvbHMgLmJ4LW5leHQ6bm90KC5kaXNhYmxlZCk6YmVmb3JlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvLWRqbWlsZXNcIjtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBjb2xvcjogIzA2MDUyZjtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC44cztcbiAgZmlsdGVyOiBkcm9wLXNoYWRvdygwKTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmJ4LWNvbnRyb2xzIC5ieC1wcmV2Om5vdCguZGlzYWJsZWQpOmJlZm9yZSxcbiAgICAuYngtY29udHJvbHMgLmJ4LW5leHQ6bm90KC5kaXNhYmxlZCk6YmVmb3JlIHtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDsgfSB9XG5cbi5ieC1jb250cm9scyAuYngtcHJldjpub3QoLmRpc2FibGVkKTpob3ZlcjpiZWZvcmUsXG4uYngtY29udHJvbHMgLmJ4LW5leHQ6bm90KC5kaXNhYmxlZCk6aG92ZXI6YmVmb3JlIHtcbiAgY29sb3I6ICMwNjA1MmY7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cblxuLmJ4LWNvbnRyb2xzIC5ieC1wcmV2Om5vdCguZGlzYWJsZWQpOmFjdGl2ZTpiZWZvcmUsXG4uYngtY29udHJvbHMgLmJ4LW5leHQ6bm90KC5kaXNhYmxlZCk6YWN0aXZlOmJlZm9yZSB7XG4gIGNvbG9yOiAjMDYwNTJmOyB9XG5cbi5ieC1jb250cm9scyAuYngtcHJldiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxvYXQ6IGxlZnQ7IH1cblxuLmJ4LWNvbnRyb2xzIC5ieC1wcmV2Om5vdCguZGlzYWJsZWQpOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qCAXCI7IH1cblxuLmJ4LWNvbnRyb2xzIC5ieC1uZXh0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbG9hdDogcmlnaHQ7IH1cblxuLmJ4LWNvbnRyb2xzIC5ieC1uZXh0Om5vdCguZGlzYWJsZWQpOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qCBXCI7IH1cblxuLmJ4LXByZXYsIC5ieC1uZXh0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG5cbi5ieC1wcmV2IHtcbiAgcGFkZGluZzogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmJ4LXByZXYge1xuICAgICAgcGFkZGluZzogMDsgfSB9XG5cbi5ieC1uZXh0IHtcbiAgcGFkZGluZzogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmJ4LW5leHQge1xuICAgICAgcGFkZGluZzogMDsgfSB9XG5cbmRpdltkYXRhLWJ4U2xpZGVyXVtieC1jb2x1bW4tY291bnQ9XCIxXCJdIHtcbiAgLS1jb2x1bW5zOiAxOyB9XG5cbmRpdltkYXRhLWJ4U2xpZGVyXVtieC1jb2x1bW4tY291bnQ9XCIyXCJdIHtcbiAgLS1jb2x1bW5zOiAyOyB9XG5cbmRpdltkYXRhLWJ4U2xpZGVyXVtieC1jb2x1bW4tY291bnQ9XCIzXCJdIHtcbiAgLS1jb2x1bW5zOiAzOyB9XG5cbmRpdltkYXRhLWJ4U2xpZGVyXVtieC1jb2x1bW4tY291bnQ9XCI0XCJdIHtcbiAgLS1jb2x1bW5zOiA0OyB9XG5cbmRpdltkYXRhLWJ4U2xpZGVyXVtieC1jb2x1bW4tY291bnQ9XCI1XCJdIHtcbiAgLS1jb2x1bW5zOiA1OyB9XG5cbmRpdltkYXRhLWJ4U2xpZGVyXVtieC1jb2x1bW4tY291bnQ9XCI2XCJdIHtcbiAgLS1jb2x1bW5zOiA2OyB9XG5cbmRpdltkYXRhLWJ4U2xpZGVyXVtieC1jb2x1bW4tY291bnQ9XCI3XCJdIHtcbiAgLS1jb2x1bW5zOiA3OyB9XG5cbmRpdltkYXRhLWJ4U2xpZGVyXVtieC1jb2x1bW4tY291bnQ9XCI4XCJdIHtcbiAgLS1jb2x1bW5zOiA4OyB9XG5cbmRpdltkYXRhLWJ4U2xpZGVyXVtieC1jb2x1bW4tY291bnQ9XCI5XCJdIHtcbiAgLS1jb2x1bW5zOiA5OyB9XG5cbmRpdltkYXRhLWJ4U2xpZGVyXVtieC1jb2x1bW4tY291bnQ9XCIxMFwiXSB7XG4gIC0tY29sdW1uczogMTA7IH1cblxuZGl2W2RhdGEtYnhTbGlkZXJdW2J4LWNvbHVtbi1jb3VudD1cIjExXCJdIHtcbiAgLS1jb2x1bW5zOiAxMTsgfVxuXG5kaXZbZGF0YS1ieFNsaWRlcl1bYngtY29sdW1uLWNvdW50PVwiMTJcIl0ge1xuICAtLWNvbHVtbnM6IDEyOyB9XG5cbmRpdltkYXRhLWJ4U2xpZGVyXTpub3QoW2RhdGEtaW5pdGlhbGlzZWQ9XCJ0cnVlXCJdKSB7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIC0tc21hbGwtY29sdW1uczogbWF4KHJvdW5kKGRvd24sIGNhbGModmFyKC0tY29sdW1ucykgLyAyKSwgMSksIDEpO1xuICAtLW1lZGl1bS1jb2x1bW5zOiBjYWxjKHZhcigtLXNtYWxsLWNvbHVtbnMpICsgMSk7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KHZhcigtLXNtYWxsLWNvbHVtbnMpLCBtaW5tYXgoMCwgMWZyKSk7XG4gIGdhcDogdmFyKC0tbW9kdWxlLWd1dHRlciwgMTBweCk7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICBkaXZbZGF0YS1ieFNsaWRlcl06bm90KFtkYXRhLWluaXRpYWxpc2VkPVwidHJ1ZVwiXSkge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQodmFyKC0tbWVkaXVtLWNvbHVtbnMpLCBtaW5tYXgoMCwgMWZyKSk7XG4gICAgICBnYXA6IHZhcigtLW1vZHVsZS1ndXR0ZXIsIDE1cHgpOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIGRpdltkYXRhLWJ4U2xpZGVyXTpub3QoW2RhdGEtaW5pdGlhbGlzZWQ9XCJ0cnVlXCJdKSB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCh2YXIoLS1jb2x1bW5zKSwgbWlubWF4KDAsIDFmcikpO1xuICAgICAgZ2FwOiB2YXIoLS1tb2R1bGUtZ3V0dGVyLCAxNXB4KTsgfSB9XG4gIGRpdltkYXRhLWJ4U2xpZGVyXTpub3QoW2RhdGEtaW5pdGlhbGlzZWQ9XCJ0cnVlXCJdKSA+ICoge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuICBkaXZbZGF0YS1ieFNsaWRlcl06bm90KFtkYXRhLWluaXRpYWxpc2VkPVwidHJ1ZVwiXSk6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICBkaXZbZGF0YS1ieFNsaWRlcl06bm90KFtkYXRhLWluaXRpYWxpc2VkPVwidHJ1ZVwiXSk6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHdpZHRoOiA0MnB4O1xuICAgIGhlaWdodDogNDJweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBib3JkZXI6IDRweCBzb2xpZCByZ2JhKDEzNiwgMTM2LCAxMzYsIDAuMik7XG4gICAgYm9yZGVyLXRvcDogNHB4IHNvbGlkICM4ODg4ODg7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIHRyYW5zaXRpb246IGFsbCAuMnMgZWFzZSAwcztcbiAgICBhbmltYXRpb246IHNwaW4gMC43cyBjdWJpYy1iZXppZXIoMC41NiwgMC4xMSwgMC4yMiwgMC44NjUpIDBzIGluZmluaXRlO1xuICAgIHotaW5kZXg6IDE7IH1cblxuQGtleWZyYW1lcyBzcGluIHtcbiAgZnJvbSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpOyB9XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0MDVkZWcpOyB9IH1cbiAgZGl2W2RhdGEtYnhTbGlkZXJdOm5vdChbZGF0YS1pbml0aWFsaXNlZD1cInRydWVcIl0pIC5jb2xsZWN0aW9uLWl0ZW06bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLmJ4LXZpZXdwb3J0IHtcbiAgb3ZlcmZsb3cteTogdmlzaWJsZTsgfVxuXG4uY2Fyb3VzZWwgLmJ4LXZpZXdwb3J0IC5jb2xsZWN0aW9uLWl0ZW0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7IH1cblxuLmJ4LXBhZ2VyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuICAuYngtcGFnZXIgLmJ4LXBhZ2VyLWl0ZW0ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMjIuNXB4O1xuICAgIGhlaWdodDogMjIuNXB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMCA3LjVweDtcbiAgICB6LWluZGV4OiAxOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmJ4LXBhZ2VyIC5ieC1wYWdlci1pdGVtIHtcbiAgICAgICAgd2lkdGg6IDE1cHg7XG4gICAgICAgIGhlaWdodDogMTVweDsgfSB9XG4gICAgLmJ4LXBhZ2VyIC5ieC1wYWdlci1pdGVtIGEge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2FlYWVhZTtcbiAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHksIGJvcmRlci1jb2xvciwgYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG4gICAgICAuYngtcGFnZXIgLmJ4LXBhZ2VyLWl0ZW0gYTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNhZTk0NjE7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI2FlOTQ2MTtcbiAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yLCBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH1cbiAgICAgIC5ieC1wYWdlciAuYngtcGFnZXItaXRlbSBhOmFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwNjA1MmY7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzA2MDUyZjsgfVxuICAgICAgLmJ4LXBhZ2VyIC5ieC1wYWdlci1pdGVtIGEuYWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzA2MDUyZjtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMDYwNTJmO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNnM7IH1cblxuLypcclxuLS0tLS0gU2xpZGVycyAtLS0tLVxyXG5IYW5kbGVzIHRoZSBmb2xsb3dpbmc6IFxyXG4tIFRoaXMgaXMgKk5PVCogY2Fyb3VzZWwgZnVuY3Rpb25hbGl0eSBwbGVhc2UgcmVmZXIgdG8gYnhzbGlkZXIuc2NzcyBmb3IgdGhhdC5cclxuLSBUaGlzIGlzIGZvcm0gZm9ybSBjb250cm9scyB3aGVyZSB5b3UgcmVxdWlyZSBhbiBpbnB1dCB0eXBlID0gc2xpZGVyLlxyXG4tIFRoZSBzdGx5ZXMgaGVyZSB3aWxsIGFsc28gaGF2ZSBhIGhlYXZ5IGluZmx1ZW5jZSBvbiB0aGUgcHJpY2Ugc2xpZGVyIGZvciBmaWx0ZXJzLlxyXG4qL1xuLnNsaWRlciB7XG4gIGhlaWdodDogMTBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44cywgYm9yZGVyLWNvbG9yIDAuOHM7IH1cbiAgLnNsaWRlcjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42cywgYm9yZGVyLWNvbG9yIDAuNnM7IH1cbiAgICAuc2xpZGVyOmhvdmVyIC51aS1zbGlkZXItcmFuZ2U6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWQxMjA7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH1cbiAgLnNsaWRlcjphY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5zbGlkZXI6YWN0aXZlIC51aS1zbGlkZXItcmFuZ2U6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNhZTk0NjE7IH1cbiAgLnNsaWRlci5zbGlkZXItaW52YWxpZCAudWktc2xpZGVyLXJhbmdlOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2IyMGMwYzsgfVxuICAuc2xpZGVyLnNsaWRlci1pbnZhbGlkIC51aS1zbGlkZXItaGFuZGxlOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2IyMGMwYzsgfVxuXG4udWktc2xpZGVyLWhhbmRsZSB7XG4gIHdpZHRoOiAyMnB4O1xuICBoZWlnaHQ6IDIycHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLS41ZW07XG4gIG1hcmdpbi1sZWZ0OiAtNXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZWVlZWVlO1xuICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHotaW5kZXg6IDI7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC44czsgfVxuICAudWktc2xpZGVyLWhhbmRsZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWU5NDYxO1xuICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gICAgYm9yZGVyOiAzcHggc29saWQgI2ZmZmZmZjsgfVxuICAudWktc2xpZGVyLWhhbmRsZTpob3ZlciB7XG4gICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTtcbiAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNnM7IH1cblxuLnVpLXN0YXRlLWFjdGl2ZSB7XG4gIG91dGxpbmU6IDA7IH1cblxuLnVpLXNsaWRlci1yYW5nZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IGF1dG87XG4gIHotaW5kZXg6IDE7IH1cbiAgLnVpLXNsaWRlci1yYW5nZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgKyA0cHgpO1xuICAgIGhlaWdodDogY2FsYygxMDAlICsgMnB4KTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U1YjcwMTtcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG4gIC51aS1zbGlkZXItcmFuZ2UudWktc2xpZGVyLXJhbmdlLW1pbjpiZWZvcmUge1xuICAgIGxlZnQ6IC0xcHg7IH1cbiAgLnVpLXNsaWRlci1yYW5nZS51aS1zbGlkZXItcmFuZ2UtbWF4OmJlZm9yZSB7XG4gICAgcmlnaHQ6IC0xcHg7IH1cbiAgLnVpLXNsaWRlci1yYW5nZS51aS1zbGlkZXItaG9yaXpvbnRhbCB7XG4gICAgdG9wOiAwO1xuICAgIGhlaWdodDogMTAwJTsgfVxuXG4uc2xpZGVyLWVycm9ycyB7XG4gIG1heC1oZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luOiAyNXB4IDNweCA1cHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtc2l6ZTogMC42ODc1cmVtO1xuICBjb2xvcjogI2IyMGMwYztcbiAgdHJhbnNpdGlvbjogYWxsIDAuOHM7IH1cbiAgLnNsaWRlci1lcnJvcnMuYWN0aXZlIHtcbiAgICBtYXgtaGVpZ2h0OiAzMDBweDtcbiAgICBwYWRkaW5nOiA1cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2IyMGMwYztcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuXG5bZGF0YS10b29sdGlwXSB7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cblxuc3Bhbi50b29sdGlwLXRyaWdnZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGN1cnNvcjogaGVscDtcbiAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICBzcGFuLnRvb2x0aXAtdHJpZ2dlcjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi74SpXCI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gICAgcGFkZGluZzogNXB4IDhweDtcbiAgICBmb250LXNpemU6IDEwcHg7XG4gICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMTksIDExOSwgMTE5LCAwLjcpO1xuICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzLCBjb2xvciAwLjhzOyB9XG4gIHNwYW4udG9vbHRpcC10cmlnZ2VyOmhvdmVyOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2FlOTQ2MTtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnMsIGNvbG9yIDAuNnM7IH1cbiAgc3Bhbi50b29sdGlwLXRyaWdnZXI6YWN0aXZlOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzA2MDUyZjtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuXG4udG9vbHRpcC1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICAudG9vbHRpcC1jb250YWluZXIud2FybmluZyAudG9vbHRpcC1jb250ZW50IC5jb250ZW50LWNvbnRhaW5lcjpiZWZvcmUsIC50b29sdGlwLWNvbnRhaW5lci5hbGVydCAudG9vbHRpcC1jb250ZW50IC5jb250ZW50LWNvbnRhaW5lcjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi74CMXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLnRvb2x0aXAtY29udGFpbmVyLndhcm5pbmcgLnRvb2x0aXAtY29udGVudCAuY29udGVudC1jb250YWluZXIgcCwgLnRvb2x0aXAtY29udGFpbmVyLmFsZXJ0IC50b29sdGlwLWNvbnRlbnQgLmNvbnRlbnQtY29udGFpbmVyIHAge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgLnRvb2x0aXAtY29udGFpbmVyLndhcm5pbmcgLnRvb2x0aXAtdHJpZ2dlcjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi74GxXCI7XG4gICAgcGFkZGluZzogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogI2ZmNWUwNTtcbiAgICBmb250LXNpemU6IDIwcHg7IH1cbiAgLnRvb2x0aXAtY29udGFpbmVyLndhcm5pbmcgLnRvb2x0aXAtY29udGVudCB7XG4gICAgYm9yZGVyLWNvbG9yOiAjZmY1ZTA1O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmVmZTY7IH1cbiAgICAudG9vbHRpcC1jb250YWluZXIud2FybmluZyAudG9vbHRpcC1jb250ZW50OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHdpZHRoOiAwO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgYm9yZGVyLXdpZHRoOiA5cHg7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICNmZjVlMDU7XG4gICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgbWFyZ2luLXRvcDogLTlweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtOXB4OyB9XG4gICAgLnRvb2x0aXAtY29udGFpbmVyLndhcm5pbmcgLnRvb2x0aXAtY29udGVudDphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHdpZHRoOiAwO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgYm9yZGVyLXdpZHRoOiA3cHg7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICNmZmVmZTY7XG4gICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgbWFyZ2luLXRvcDogLTZweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtN3B4OyB9XG4gICAgLnRvb2x0aXAtY29udGFpbmVyLndhcm5pbmcgLnRvb2x0aXAtY29udGVudCAuY29udGVudC1jb250YWluZXI6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74GxXCI7XG4gICAgICBjb2xvcjogI2ZmNWUwNTsgfVxuICAgIC50b29sdGlwLWNvbnRhaW5lci53YXJuaW5nIC50b29sdGlwLWNvbnRlbnQgcCB7XG4gICAgICBjb2xvcjogI2ZmNWUwNTtcbiAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgLnRvb2x0aXAtY29udGFpbmVyLmFsZXJ0IC50b29sdGlwLXRyaWdnZXI6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu+BqlwiO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICNiMjBjMGM7XG4gICAgZm9udC1zaXplOiAyMHB4OyB9XG4gIC50b29sdGlwLWNvbnRhaW5lci5hbGVydCAudG9vbHRpcC1jb250ZW50IHtcbiAgICBib3JkZXItY29sb3I6ICNiMjBjMGM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZkZTFlMTsgfVxuICAgIC50b29sdGlwLWNvbnRhaW5lci5hbGVydCAudG9vbHRpcC1jb250ZW50OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHdpZHRoOiAwO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgYm9yZGVyLXdpZHRoOiA5cHg7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICNiMjBjMGM7XG4gICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgbWFyZ2luLXRvcDogLTlweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtOXB4OyB9XG4gICAgLnRvb2x0aXAtY29udGFpbmVyLmFsZXJ0IC50b29sdGlwLWNvbnRlbnQ6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIGJvcmRlci13aWR0aDogN3B4O1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjZmRlMWUxO1xuICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgIG1hcmdpbi10b3A6IC02cHg7XG4gICAgICBtYXJnaW4tbGVmdDogLTdweDsgfVxuICAgIC50b29sdGlwLWNvbnRhaW5lci5hbGVydCAudG9vbHRpcC1jb250ZW50IC5jb250ZW50LWNvbnRhaW5lcjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgapcIjtcbiAgICAgIGNvbG9yOiAjYjIwYzBjOyB9XG4gICAgLnRvb2x0aXAtY29udGFpbmVyLmFsZXJ0IC50b29sdGlwLWNvbnRlbnQgcCB7XG4gICAgICBjb2xvcjogI2IyMGMwYztcbiAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgLnRvb2x0aXAtY29udGFpbmVyLnN0YXRlLWluZGljYXRvciAudG9vbHRpcC10cmlnZ2VyOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLvhJFcIjsgfVxuICAudG9vbHRpcC1jb250YWluZXIuYWxpZ24tcmlnaHQge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cbiAgICAudG9vbHRpcC1jb250YWluZXIuYWxpZ24tcmlnaHQgLnRvb2x0aXAtY29udGVudDpiZWZvcmUsIC50b29sdGlwLWNvbnRhaW5lci5hbGlnbi1yaWdodCAudG9vbHRpcC1jb250ZW50OmFmdGVyIHtcbiAgICAgIGxlZnQ6IGNhbGMoMTAwJSAtIDhweCk7IH1cbiAgLnRvb2x0aXAtY29udGFpbmVyLnJlc3BvbnNpdmUtb3ZlcnJpZGUtYWxpZ24tcmlnaHQge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAgIC50b29sdGlwLWNvbnRhaW5lci5yZXNwb25zaXZlLW92ZXJyaWRlLWFsaWduLXJpZ2h0IC50b29sdGlwLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgIGxlZnQ6IDA7IH1cbiAgICAudG9vbHRpcC1jb250YWluZXIucmVzcG9uc2l2ZS1vdmVycmlkZS1hbGlnbi1yaWdodCAudG9vbHRpcC1jb250ZW50OmJlZm9yZSwgLnRvb2x0aXAtY29udGFpbmVyLnJlc3BvbnNpdmUtb3ZlcnJpZGUtYWxpZ24tcmlnaHQgLnRvb2x0aXAtY29udGVudDphZnRlciB7XG4gICAgICBsZWZ0OiA4cHg7IH1cbiAgLnRvb2x0aXAtY29udGFpbmVyLmFsaWduLWxlZnQge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAgIC50b29sdGlwLWNvbnRhaW5lci5hbGlnbi1sZWZ0IC50b29sdGlwLWNvbnRlbnQ6YmVmb3JlLCAudG9vbHRpcC1jb250YWluZXIuYWxpZ24tbGVmdCAudG9vbHRpcC1jb250ZW50OmFmdGVyIHtcbiAgICAgIGxlZnQ6IDhweDsgfVxuICAudG9vbHRpcC1jb250YWluZXIucmVzcG9uc2l2ZS1vdmVycmlkZS1hbGlnbi1sZWZ0IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgICAudG9vbHRpcC1jb250YWluZXIucmVzcG9uc2l2ZS1vdmVycmlkZS1hbGlnbi1sZWZ0IC50b29sdGlwLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgbGVmdDogdW5zZXQ7IH1cbiAgICAudG9vbHRpcC1jb250YWluZXIucmVzcG9uc2l2ZS1vdmVycmlkZS1hbGlnbi1sZWZ0IC50b29sdGlwLWNvbnRlbnQ6YmVmb3JlLCAudG9vbHRpcC1jb250YWluZXIucmVzcG9uc2l2ZS1vdmVycmlkZS1hbGlnbi1sZWZ0IC50b29sdGlwLWNvbnRlbnQ6YWZ0ZXIge1xuICAgICAgbGVmdDogY2FsYygxMDAlIC0gOHB4KTsgfVxuICAudG9vbHRpcC1jb250YWluZXIgLnRvb2x0aXAtY29udGVudCB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgIC50b29sdGlwLWNvbnRhaW5lciAudG9vbHRpcC1jb250ZW50OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHdpZHRoOiAwO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgYm9yZGVyLXdpZHRoOiA5cHg7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICNhZTk0NjE7XG4gICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgbWFyZ2luLXRvcDogLTlweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtOXB4OyB9XG4gICAgLnRvb2x0aXAtY29udGFpbmVyIC50b29sdGlwLWNvbnRlbnQ6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIGJvcmRlci13aWR0aDogN3B4O1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgIG1hcmdpbi10b3A6IC02cHg7XG4gICAgICBtYXJnaW4tbGVmdDogLTdweDsgfVxuXG4udG9vbHRpcC1jb250ZW50LWNvbnRhaW5lciAudG9vbHRpcC1jb250ZW50IHtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgb3ZlcmZsb3c6IHZpc2libGU7IH1cblxuLnRvb2x0aXAtY29udGVudCB7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4udG9vbHRpcC1jb250ZW50LWNvbnRhaW5lciB7XG4gIHdpZHRoOiAzMDBweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDEwMCU7XG4gIHotaW5kZXg6IDEwO1xuICBtYXgtaGVpZ2h0OiAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjhzOyB9XG4gIC50b29sdGlwLWNvbnRlbnQtY29udGFpbmVyLmFjdGl2ZSB7XG4gICAgbWF4LWhlaWdodDogMzAwcHg7XG4gICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjZzOyB9XG4gIC50b29sdGlwLWNvbnRlbnQtY29udGFpbmVyIC50b29sdGlwLWNvbnRlbnQge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMjBweDtcbiAgICBtYXJnaW4tdG9wOiA5cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjYWU5NDYxO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgei1pbmRleDogMTsgfVxuICAgIC50b29sdGlwLWNvbnRlbnQtY29udGFpbmVyIC50b29sdGlwLWNvbnRlbnQgdWwge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgICAudG9vbHRpcC1jb250ZW50LWNvbnRhaW5lciAudG9vbHRpcC1jb250ZW50IGxpLCAudG9vbHRpcC1jb250ZW50LWNvbnRhaW5lciAudG9vbHRpcC1jb250ZW50IGEsIC50b29sdGlwLWNvbnRlbnQtY29udGFpbmVyIC50b29sdGlwLWNvbnRlbnQgcCB7XG4gICAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBsaW5lLWhlaWdodDogMS42O1xuICAgICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgICAudG9vbHRpcC1jb250ZW50LWNvbnRhaW5lciAudG9vbHRpcC1jb250ZW50IGxpIHAge1xuICAgICAgbWFyZ2luOiAxMHB4IDA7IH1cbiAgICAudG9vbHRpcC1jb250ZW50LWNvbnRhaW5lciAudG9vbHRpcC1jb250ZW50IHAge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG1hcmdpbjogMDsgfVxuXG4vKlxyXG4tLS0tLSBSZWFkIG1vcmUgLS0tLS1cclxuSGFuZGxlcyB0aGUgZm9sbG93aW5nOiBcclxuLSBSZXZlYWxpbmcgYWRkaXRpb25hbCBtYXJrdXAsIHRoaXMgY2FuIGluY2x1ZGUgdGV4dCBvciBpbWFnZXMuXHJcbi0gSG93IHRoZSBmYWRlIC8gZ3JhZGlhbnQgZ2V0cyB1c2VkIHdoZW4gY3V0dGluZyBvZiB0aGUgb3ZlcmZsb3dpbmcgY29udGVudC5cclxuKi9cbi5yZWFkLW1vcmUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLnJlYWQtbW9yZS5jb250YWluZXItY2FsY3VsYXRpb24td2FpdGluZyB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAucmVhZC1tb3JlLmFjdGl2ZSAucmVhZC1tb3JlLWNvbnRlbnQge1xuICAgIGhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xuICAgIHRyYW5zaXRpb246IGhlaWdodCAwLjZzOyB9XG4gIC5yZWFkLW1vcmUuYWN0aXZlIC5yZWFkTW9yZUJ1dHRvbjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi7qCCXCI7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5yZWFkLW1vcmUubW9iaWxlLW9ubHkgLnJlYWQtbW9yZS1jb250ZW50IHtcbiAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5yZWFkLW1vcmUubW9iaWxlLW9ubHkgLnJlYWRNb3JlQnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCB7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0cmFuc2l0aW9uOiBoZWlnaHQgMC44czsgfVxuICAucmVhZC1tb3JlIC5yZWFkTW9yZUJ1dHRvbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgcGFkZGluZzogMTBweCAxNXB4IDI0cHg7XG4gICAgY29sb3I6ICMwNjA1MmY7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAgIC5yZWFkLW1vcmUgLnJlYWRNb3JlQnV0dG9uOmhvdmVyOmJlZm9yZSB7XG4gICAgICBjb2xvcjogIzg4ODg4ODtcbiAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAucmVhZC1tb3JlIC5yZWFkTW9yZUJ1dHRvbjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLuoINcIjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm90dG9tOiA1cHg7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG8tZGptaWxlc1wiO1xuICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuOHM7IH1cblxuLnJlYWQtbW9yZTpub3QoLmZhZGUtZGlzYWJsZWQtbG93LWNvbnRlbnQpIC5yZWFkLW1vcmUtY29udGVudDpub3QoLm5vLWZhZGUpIHtcbiAgbWFzay1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgdHJhbnNwYXJlbnQgMHB4LCAjMDAwMDAwIDUwcHgpOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLnJlYWQtbW9yZTpub3QoLmZhZGUtZGlzYWJsZWQtbG93LWNvbnRlbnQpLm1vYmlsZS1vbmx5IC5yZWFkLW1vcmUtY29udGVudDpub3QoLm5vLWZhZGUpIHtcbiAgICBtYXNrLWltYWdlOiB1bnNldDsgfSB9XG5cbi5yZWFkLW1vcmU6bm90KC5mYWRlLWRpc2FibGVkLWxvdy1jb250ZW50KS5hY3RpdmUgLnJlYWQtbW9yZS1jb250ZW50IHtcbiAgbWFzay1pbWFnZTogdW5zZXQ7IH1cblxuLnJlYWQtbW9yZTpub3QoLmZhZGUtZGlzYWJsZWQtbG93LWNvbnRlbnQpIC5yZWFkLW1vcmUtY29udGVudC5jb250ZW50LXRydW5jYXRlLWVuYWJsZWQgPiBwIHtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIC13ZWJraXQtbGluZS1jbGFtcDogdmFyKC0tcmVhZC1tb3JlLWxpbmUtY2xhbXApO1xuICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsOyB9XG4gIC5yZWFkLW1vcmU6bm90KC5mYWRlLWRpc2FibGVkLWxvdy1jb250ZW50KSAucmVhZC1tb3JlLWNvbnRlbnQuY29udGVudC10cnVuY2F0ZS1lbmFibGVkID4gcCArIHAge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLnJlYWQtbW9yZTpub3QoW3JtLWlkXSkge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLypcclxuLS0tLS0gQXV0byBDb21wbGV0ZSAoIFByZWRpY3RpdmUgU2VhcmNoICkgLS0tLS0tIFxyXG5UaGUgZHJvcGRvd24geW91IHNlZSB3aGVuIHlvdSBzdGFydCB0eXBpbmcgaW4gYSBxdWVyeSB3aXRoaW4gdGhlIHNlYXJjaCBiYXIgaW4gdGhlIGhlYWRlci5cclxuKi9cbiNoZWFkZXJTZWFyY2hGb3JtIC5hYy1yZXN1bHRzIHtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDtcbiAgcGFkZGluZzogMTEwcHggMCA0MHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAjaGVhZGVyU2VhcmNoRm9ybSAuYWMtcmVzdWx0cyA+IHVsIHtcbiAgICAgIHdpZHRoOiA3MDBweCAhaW1wb3J0YW50O1xuICAgICAgcGFkZGluZzogMCA2JTtcbiAgICAgIGJveC1zaGFkb3c6IDBweCAycHggNHB4IDFweCByZ2JhKDEyLCAxMiwgMTMsIDAuMSk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgYm9yZGVyLWJvdHRvbTogNXB4IHNvbGlkICMwNjA1MmY7XG4gICAgICB6LWluZGV4OiA1MDAwMDsgfSB9XG5cbi5hYy1yZXN1bHRzIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC1oZWlnaHQ6IDEwMHZoOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuYWMtcmVzdWx0cyB7XG4gICAgICB6LWluZGV4OiAyMDAwMDE7IH0gfVxuICAuYWMtcmVzdWx0cy5zY3JvbGxlciA+IHVsIHtcbiAgICBvdmVyZmxvdy15OiBzY3JvbGw7IH1cbiAgLmFjLXJlc3VsdHMgPiB1bCwgLmFjLXJlc3VsdHMgLnJlc3VsdHMtY29udGVudC1jb250YWluZXIgPiB1bCB7XG4gICAgbWF4LWhlaWdodDogNzB2aDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG92ZXJmbG93LXk6IGF1dG87IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuYWMtcmVzdWx0cyA+IHVsLCAuYWMtcmVzdWx0cyAucmVzdWx0cy1jb250ZW50LWNvbnRhaW5lciA+IHVsIHtcbiAgICAgICAgbWFyZ2luOiBhdXRvOyB9IH1cblxuLmFjLWNvbGxlY3Rpb24tdGl0bGUtY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICBwYWRkaW5nOiA1cHggMTVweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzA2MDUyZjtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuICAuYWMtY29sbGVjdGlvbi10aXRsZS1jb250YWluZXIgLmFjLXRpdGxlIHtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBmb250LXNpemU6IDEuMDYyNXJlbTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4O1xuICAgIGZvbnQtZmFtaWx5OiBcIkdpYnNvblwiLCBcIkdpYnNvbiBGYWxsYmFja1wiLCBcIkFyaWFsXCI7IH1cbiAgLmFjLWNvbGxlY3Rpb24tdGl0bGUtY29udGFpbmVyIC52aWV3LWFsbCB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG4gICAgLmFjLWNvbGxlY3Rpb24tdGl0bGUtY29udGFpbmVyIC52aWV3LWFsbDpob3ZlciBhOmFmdGVyIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAgIC5hYy1jb2xsZWN0aW9uLXRpdGxlLWNvbnRhaW5lciAudmlldy1hbGwgYSB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgICAuYWMtY29sbGVjdGlvbi10aXRsZS1jb250YWluZXIgLnZpZXctYWxsIGE6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIu6ggVwiO1xuICAgICAgICBtYXJnaW46IDAgMCAwIDVweDtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG8tZGptaWxlc1wiO1xuICAgICAgICBmb250LXNpemU6IDAuNTYyNXJlbTtcbiAgICAgICAgY29sb3I6ICNhZTk0NjE7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cblxuLmFjLXRpdGxlLWNvbnRhaW5lciB7XG4gIG1hcmdpbjogMTBweCAwIDE1cHg7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1mYW1pbHk6IFwiR2lic29uXCIsIFwiR2lic29uIEZhbGxiYWNrXCIsIFwiQXJpYWxcIjtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4OyB9XG5cbi5hYy1pdGVtLWxpc3Qge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIHBhZGRpbmc6IDEwcHggMDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAuYWMtaXRlbS1saXN0LmNvbHVtbiAuYWMtaXRlbSB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmFjLWl0ZW0tbGlzdC5jb2x1bW4gLmFjLWl0ZW0ge1xuICAgICAgICBmbGV4OiAxIDAgNTAlOyB9IH1cbiAgLmFjLWl0ZW0tbGlzdDpub3QoLmNvbHVtbikgLmFjLWl0ZW0ge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5hYy1pdGVtLWxpc3Qucm93IC5hYy1pdGVtIHtcbiAgICBtYXJnaW46IDAgMCAxMHB4OyB9XG5cbi5hYy1pdGVtIHtcbiAgbWFyZ2luOiAwIDAgNXB4OyB9XG4gIC5hYy1pdGVtOmhvdmVyIGEgc3BhbiB7XG4gICAgY29sb3I6ICMwNjA1MmY7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAuYWMtaXRlbSAuaW1hZ2UsIC5hYy1pdGVtIC5hYy1pdGVtLW11bHRpbWVkaWEtY29udGVudCB7XG4gICAgd2lkdGg6IDUwcHg7XG4gICAgaGVpZ2h0OiA1MHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZGFkYWRhOyB9XG4gIC5hYy1pdGVtIGltZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIC5hYy1pdGVtIGEge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDAgMTBweDtcbiAgICBwYWRkaW5nOiAwIDIwcHggMCAwOyB9XG4gICAgLmFjLWl0ZW0gYSBzcGFuIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgLmFjLWl0ZW0gLmFjLWl0ZW0tY29udGVudCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGZsZXg6IDE7IH1cbiAgLmFjLWl0ZW0gLml0ZW0tcmVmZXJlbmNlIHtcbiAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGNvbG9yOiAjODg4ODg4OyB9XG4gIC5hYy1pdGVtIC5pdGVtLXNuaXBwZXQge1xuICAgIG1hcmdpbjogNXB4IDAgMDtcbiAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICBjb2xvcjogIzg4ODg4ODsgfVxuXG4uYXV0b2NvbXBsZXRlLXJlc3VsdHMtc2VhcmNoLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5hdXRvY29tcGxldGUtcmVzdWx0cy1zZWFyY2gtY29udGFpbmVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7IH0gfVxuICAuYXV0b2NvbXBsZXRlLXJlc3VsdHMtc2VhcmNoLWNvbnRhaW5lciAuYWpheC1zZWFyY2gge1xuICAgIGhlaWdodDogNTBweDsgfVxuICAgIC5hdXRvY29tcGxldGUtcmVzdWx0cy1zZWFyY2gtY29udGFpbmVyIC5hamF4LXNlYXJjaCArIGJ1dHRvbiB7XG4gICAgICBoZWlnaHQ6IDUwcHg7IH1cblxuLmF1dG9jb21wbGV0ZS1jb250YWluZXIuYWN0aXZlIC5hYy1yZXN1bHRzIHtcbiAgbWF4LWhlaWdodDogOTAwcHg7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuYXV0b2NvbXBsZXRlLWNvbnRhaW5lci5hY3RpdmUgLmFjLXJlc3VsdHMge1xuICAgICAgYm94LXNoYWRvdzogMHB4IDJweCA0cHggMXB4IHJnYmEoMTIsIDEyLCAxMywgMC4xKTsgfSB9XG5cbi5hdXRvY29tcGxldGUtY29udGFpbmVyIC5hYy1yZXN1bHRzIHtcbiAgbWF4LWhlaWdodDogMHB4O1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5hdXRvY29tcGxldGUtY29udGFpbmVyIC5yZXN1bHRzLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmF1dG9jb21wbGV0ZS1jb250YWluZXIgLnJlc3VsdHMtY29udGVudC1jb250YWluZXIge1xuICAgICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA1MHB4O1xuICAgICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICMwNjA1MmY7XG4gICAgICBib3JkZXItd2lkdGg6IDAgMCA2cHggMDtcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7IH0gfVxuICAuYXV0b2NvbXBsZXRlLWNvbnRhaW5lciAucmVzdWx0cy1jb250ZW50LWNvbnRhaW5lciB1bCBsaTpsYXN0LWNoaWxkIC5hYy1pdGVtLWxpc3Qge1xuICAgIHBhZGRpbmctYm90dG9tOiAwOyB9XG5cbi5zYSB7XG4gIHdpZHRoOiA5MHB4O1xuICBoZWlnaHQ6IDkwcHg7XG4gIG1hcmdpbjogMzBweCBhdXRvIDE1cHg7IH1cbiAgLnNhLXdhcm5pbmcge1xuICAgIHdpZHRoOiA4MHB4O1xuICAgIGhlaWdodDogODBweDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYm9yZGVyOiA0cHggc29saWQgI2ZmNWUwNTtcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBhbmltYXRpb246IHNjYWxlV2FybmluZyAwLjc1cyBpbmZpbml0ZSBhbHRlcm5hdGU7IH1cbiAgICAuc2Etd2FybmluZzphZnRlciwgLnNhLXdhcm5pbmc6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7IH1cbiAgICAuc2Etd2FybmluZzpiZWZvcmUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgb3BhY2l0eTogMDsgfVxuICAgIC5zYS13YXJuaW5nOmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgei1pbmRleDogMTsgfVxuICAgIC5zYS13YXJuaW5nLWJvZHkge1xuICAgICAgd2lkdGg6IDVweDtcbiAgICAgIGhlaWdodDogNDdweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMTBweDtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMnB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNWUwNTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgICBhbmltYXRpb246IHB1bHNlV2FybmluZ0lucyAwLjc1cyBpbmZpbml0ZSBhbHRlcm5hdGU7IH1cbiAgICAuc2Etd2FybmluZy1kb3Qge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNWUwNTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIGJvdHRvbTogMTBweDtcbiAgICAgIGhlaWdodDogN3B4O1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0zcHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogN3B4O1xuICAgICAgei1pbmRleDogMjtcbiAgICAgIGFuaW1hdGlvbjogcHVsc2VXYXJuaW5nSW5zIDAuNzVzIGluZmluaXRlIGFsdGVybmF0ZTsgfVxuICAuc2EtZXJyb3Ige1xuICAgIHdpZHRoOiA4MHB4O1xuICAgIGhlaWdodDogODBweDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYm9yZGVyOiA0cHggc29saWQgI2IyMGMwYztcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBhbmltYXRpb246IGFuaW1hdGVFcnJvckljb24gLjVzOyB9XG4gICAgLnNhLWVycm9yOmFmdGVyLCAuc2EtZXJyb3I6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgaGVpZ2h0OiAxMjBweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgIHdpZHRoOiA2MHB4OyB9XG4gICAgLnNhLWVycm9yOmJlZm9yZSB7XG4gICAgICBib3JkZXItcmFkaXVzOiA0MHB4IDAgMCA0MHB4O1xuICAgICAgd2lkdGg6IDI2cHg7XG4gICAgICBoZWlnaHQ6IDgwcHg7XG4gICAgICB0b3A6IC0xN3B4O1xuICAgICAgbGVmdDogNXB4O1xuICAgICAgdHJhbnNmb3JtLW9yaWdpbjogNjBweCA2MHB4O1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTsgfVxuICAgIC5zYS1lcnJvcjphZnRlciB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwIDEyMHB4IDEyMHB4IDA7XG4gICAgICBsZWZ0OiAzMHB4O1xuICAgICAgdG9wOiAtMTFweDtcbiAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDAgNjBweDtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgICBhbmltYXRpb246IHJvdGF0ZVBsYWNlaG9sZGVyIDQuMjVzIGVhc2UtaW47IH1cbiAgICAuc2EtZXJyb3IteCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDI7IH1cbiAgICAuc2EtZXJyb3ItcGxhY2Vob2xkZXIge1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgICBoZWlnaHQ6IDgwcHg7XG4gICAgICBsZWZ0OiAtNHB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAtNHB4O1xuICAgICAgd2lkdGg6IDgwcHg7XG4gICAgICB6LWluZGV4OiAyOyB9XG4gICAgLnNhLWVycm9yLWZpeCB7XG4gICAgICB3aWR0aDogNXB4O1xuICAgICAgaGVpZ2h0OiA5MHB4O1xuICAgICAgbGVmdDogMjhweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogOHB4O1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgIHotaW5kZXg6IDE7IH1cbiAgICAuc2EtZXJyb3ItbGVmdCwgLnNhLWVycm9yLXJpZ2h0IHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiA1cHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB6LWluZGV4OiAyO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2IyMGMwYztcbiAgICAgIHRvcDogMzdweDtcbiAgICAgIHdpZHRoOiA0N3B4OyB9XG4gICAgLnNhLWVycm9yLWxlZnQge1xuICAgICAgbGVmdDogMTdweDtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgIGFuaW1hdGlvbjogYW5pbWF0ZVhMZWZ0IC43NXM7IH1cbiAgICAuc2EtZXJyb3ItcmlnaHQge1xuICAgICAgcmlnaHQ6IDE2cHg7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgYW5pbWF0aW9uOiBhbmltYXRlWFJpZ2h0IC43NXM7IH1cblxuQGtleWZyYW1lcyByb3RhdGVQbGFjZWhvbGRlciB7XG4gIDAlLFxuICA1JSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTsgfVxuICAxMDAlLFxuICAxMiUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC00MDVkZWcpOyB9IH1cblxuQGtleWZyYW1lcyBhbmltYXRlRXJyb3JJY29uIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlWCgxMDBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGVYKDBkZWcpO1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG5Aa2V5ZnJhbWVzIGFuaW1hdGVYTGVmdCB7XG4gIDAlLFxuICA2NSUge1xuICAgIGxlZnQ6IDgycHg7XG4gICAgdG9wOiA5NXB4O1xuICAgIHdpZHRoOiAwOyB9XG4gIDg0JSB7XG4gICAgbGVmdDogMTRweDtcbiAgICB0b3A6IDMzcHg7XG4gICAgd2lkdGg6IDQ3cHg7IH1cbiAgMTAwJSB7XG4gICAgbGVmdDogMTdweDtcbiAgICB0b3A6IDM3cHg7XG4gICAgd2lkdGg6IDQ3cHg7IH0gfVxuXG5Aa2V5ZnJhbWVzIGFuaW1hdGVYUmlnaHQge1xuICAwJSxcbiAgNjUlIHtcbiAgICByaWdodDogODJweDtcbiAgICB0b3A6IDk1cHg7XG4gICAgd2lkdGg6IDA7IH1cbiAgODQlIHtcbiAgICByaWdodDogMTRweDtcbiAgICB0b3A6IDMzcHg7XG4gICAgd2lkdGg6IDQ3cHg7IH1cbiAgMTAwJSB7XG4gICAgcmlnaHQ6IDE2cHg7XG4gICAgdG9wOiAzN3B4O1xuICAgIHdpZHRoOiA0N3B4OyB9IH1cblxuQGtleWZyYW1lcyBzY2FsZVdhcm5pbmcge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuICAzMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wMik7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfSB9XG5cbkBrZXlmcmFtZXMgcHVsc2VXYXJuaW5nIHtcbiAgMCUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgb3BhY2l0eTogMC41OyB9XG4gIDMwJSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICBvcGFjaXR5OiAwLjU7IH1cbiAgMTAwJSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNWUwNTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDIpO1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG5Aa2V5ZnJhbWVzIHB1bHNlV2FybmluZ0lucyB7XG4gIDAlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY1ZTA1OyB9XG4gIDEwMCUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjVlMDU7IH0gfVxuXG4uY2hlY2tfbWFyayB7XG4gIHdpZHRoOiA5MHB4O1xuICBoZWlnaHQ6IDkwcHg7XG4gIG1hcmdpbjogMzBweCBhdXRvIDE1cHg7IH1cblxuLnNhLWljb24ge1xuICB3aWR0aDogODBweDtcbiAgaGVpZ2h0OiA4MHB4O1xuICBib3JkZXI6IDRweCBzb2xpZCAjMTI4MTFmO1xuICBib3JkZXItcmFkaXVzOiA0MHB4O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7IH1cblxuLnNhLWljb24uc2Etc3VjY2VzcyB7XG4gIGJvcmRlci1jb2xvcjogIzEyODExZjsgfVxuXG4uc2EtaWNvbi5zYS1zdWNjZXNzOjpiZWZvcmUsXG4uc2EtaWNvbi5zYS1zdWNjZXNzOjphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBib3JkZXItcmFkaXVzOiA0MHB4O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDYwcHg7XG4gIGhlaWdodDogMTIwcHg7XG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTsgfVxuXG4uc2EtaWNvbi5zYS1zdWNjZXNzOjpiZWZvcmUge1xuICBib3JkZXItcmFkaXVzOiAxMjBweCAwIDAgMTIwcHg7XG4gIHRvcDogLTdweDtcbiAgbGVmdDogLTMzcHg7XG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDYwcHggNjBweDsgfVxuXG4uc2EtaWNvbi5zYS1zdWNjZXNzOjphZnRlciB7XG4gIGJvcmRlci1yYWRpdXM6IDAgMTIwcHggMTIwcHggMDtcbiAgdG9wOiAtMTFweDtcbiAgbGVmdDogMzBweDtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogMHB4IDYwcHg7IH1cblxuLnNhLWljb24uc2Etc3VjY2VzcyAuc2EtcGxhY2Vob2xkZXIge1xuICB3aWR0aDogODBweDtcbiAgaGVpZ2h0OiA4MHB4O1xuICBib3JkZXItcmFkaXVzOiA0MHB4O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IC00cHg7XG4gIHRvcDogLTRweDtcbiAgei1pbmRleDogMjsgfVxuXG4uc2EtaWNvbi5zYS1zdWNjZXNzIC5zYS1maXgge1xuICB3aWR0aDogNXB4O1xuICBoZWlnaHQ6IDkwcHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMjhweDtcbiAgdG9wOiA4cHg7XG4gIHotaW5kZXg6IDE7XG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7IH1cblxuLnNhLWljb24uc2Etc3VjY2Vzcy5hbmltYXRlOjphZnRlciB7XG4gIGFuaW1hdGlvbjogcm90YXRlUGxhY2Vob2xkZXIgNC4yNXMgZWFzZS1pbjsgfVxuXG4uc2EtaWNvbi5zYS1zdWNjZXNzIHtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudFxcOTsgfVxuXG4uc2EtaWNvbi5zYS1zdWNjZXNzIC5zYS1saW5lLnNhLXRpcCB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKSBcXDk7IH1cblxuLnNhLWljb24uc2Etc3VjY2VzcyAuc2EtbGluZS5zYS1sb25nIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKSBcXDk7IH1cblxuLmFuaW1hdGVTdWNjZXNzVGlwIHtcbiAgYW5pbWF0aW9uOiBhbmltYXRlU3VjY2Vzc1RpcCAwLjc1czsgfVxuXG4uYW5pbWF0ZVN1Y2Nlc3NMb25nIHtcbiAgYW5pbWF0aW9uOiBhbmltYXRlU3VjY2Vzc0xvbmcgMC43NXM7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGFuaW1hdGVTdWNjZXNzTG9uZyB7XG4gIDAlIHtcbiAgICB3aWR0aDogMDtcbiAgICByaWdodDogNDZweDtcbiAgICB0b3A6IDU0cHg7IH1cbiAgNjUlIHtcbiAgICB3aWR0aDogMDtcbiAgICByaWdodDogNDZweDtcbiAgICB0b3A6IDU0cHg7IH1cbiAgODQlIHtcbiAgICB3aWR0aDogNTVweDtcbiAgICByaWdodDogMHB4O1xuICAgIHRvcDogMzVweDsgfVxuICAxMDAlIHtcbiAgICB3aWR0aDogNDdweDtcbiAgICByaWdodDogOHB4O1xuICAgIHRvcDogMzhweDsgfSB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBhbmltYXRlU3VjY2Vzc1RpcCB7XG4gIDAlIHtcbiAgICB3aWR0aDogMDtcbiAgICBsZWZ0OiAxcHg7XG4gICAgdG9wOiAxOXB4OyB9XG4gIDU0JSB7XG4gICAgd2lkdGg6IDA7XG4gICAgbGVmdDogMXB4O1xuICAgIHRvcDogMTlweDsgfVxuICA3MCUge1xuICAgIHdpZHRoOiA1MHB4O1xuICAgIGxlZnQ6IC04cHg7XG4gICAgdG9wOiAzN3B4OyB9XG4gIDg0JSB7XG4gICAgd2lkdGg6IDE3cHg7XG4gICAgbGVmdDogMjFweDtcbiAgICB0b3A6IDQ4cHg7IH1cbiAgMTAwJSB7XG4gICAgd2lkdGg6IDI1cHg7XG4gICAgbGVmdDogMTRweDtcbiAgICB0b3A6IDQ1cHg7IH0gfVxuXG5Aa2V5ZnJhbWVzIGFuaW1hdGVTdWNjZXNzVGlwIHtcbiAgMCUge1xuICAgIHdpZHRoOiAwO1xuICAgIGxlZnQ6IDFweDtcbiAgICB0b3A6IDE5cHg7IH1cbiAgNTQlIHtcbiAgICB3aWR0aDogMDtcbiAgICBsZWZ0OiAxcHg7XG4gICAgdG9wOiAxOXB4OyB9XG4gIDcwJSB7XG4gICAgd2lkdGg6IDUwcHg7XG4gICAgbGVmdDogLThweDtcbiAgICB0b3A6IDM3cHg7IH1cbiAgODQlIHtcbiAgICB3aWR0aDogMTdweDtcbiAgICBsZWZ0OiAyMXB4O1xuICAgIHRvcDogNDhweDsgfVxuICAxMDAlIHtcbiAgICB3aWR0aDogMjVweDtcbiAgICBsZWZ0OiAxNHB4O1xuICAgIHRvcDogNDVweDsgfSB9XG5cbkBrZXlmcmFtZXMgYW5pbWF0ZVN1Y2Nlc3NMb25nIHtcbiAgMCUge1xuICAgIHdpZHRoOiAwO1xuICAgIHJpZ2h0OiA0NnB4O1xuICAgIHRvcDogNTRweDsgfVxuICA2NSUge1xuICAgIHdpZHRoOiAwO1xuICAgIHJpZ2h0OiA0NnB4O1xuICAgIHRvcDogNTRweDsgfVxuICA4NCUge1xuICAgIHdpZHRoOiA1NXB4O1xuICAgIHJpZ2h0OiAwcHg7XG4gICAgdG9wOiAzNXB4OyB9XG4gIDEwMCUge1xuICAgIHdpZHRoOiA0N3B4O1xuICAgIHJpZ2h0OiA4cHg7XG4gICAgdG9wOiAzOHB4OyB9IH1cblxuLnNhLWljb24uc2Etc3VjY2VzcyAuc2EtbGluZSB7XG4gIGhlaWdodDogNXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTI4MTFmO1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDI7IH1cblxuLnNhLWljb24uc2Etc3VjY2VzcyAuc2EtbGluZS5zYS10aXAge1xuICB3aWR0aDogMjVweDtcbiAgbGVmdDogMTRweDtcbiAgdG9wOiA0NnB4O1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpOyB9XG5cbi5zYS1pY29uLnNhLXN1Y2Nlc3MgLnNhLWxpbmUuc2EtbG9uZyB7XG4gIHdpZHRoOiA0N3B4O1xuICByaWdodDogOHB4O1xuICB0b3A6IDM4cHg7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlUGxhY2Vob2xkZXIge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTsgfVxuICA1JSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTsgfVxuICAxMiUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC00MDVkZWcpOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC00MDVkZWcpOyB9IH1cblxuQGtleWZyYW1lcyByb3RhdGVQbGFjZWhvbGRlciB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpOyB9XG4gIDUlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpOyB9XG4gIDEyJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTQwNWRlZyk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTQwNWRlZyk7IH0gfVxuXG4vKlxyXG4tLS0tLSBOb3RpZmljYXRpb25zICggQ2FsbG91dHMgKSAtLS0tLVxyXG5IYW5kbGVzIHRoZSBmb2xsb3dpbmc6IFxyXG4tIE9uIHBhZ2Ugbm90aWNhdGlvbnMgKCBubyBpdGVtcyBmb3VuZCApIFxyXG4tIEhlYWRlciBub3RpZmljYXRpb25zLlxyXG4tIENvb2tpZSBub3RpZmljYXRpb24uXHJcbi0gQ2FsbG91dHMgKCB0aGluZ3MgdGhhdCBzbGlkZSBvdXQgZnJvbSB0aGUgZWRnZWQgb2YgYSB3aW5kb3cgKSBcclxuLSBObyBKYXZhc2NyaXB0IG5vdGlmaWNhdGlvblxyXG4tIEJyb3dzZXIgY29tcGF0aWJsaXR5IG5vdGlmaWNhdGlvbiBcclxuXHJcbiovXG4uaGVhZGVyLW5vdGlmaWNhdGlvbi1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTsgfVxuICAuaGVhZGVyLW5vdGlmaWNhdGlvbi1jb250YWluZXIgLmNhbGxvdXQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwIDEwcHg7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmhlYWRlci1ub3RpZmljYXRpb24tY29udGFpbmVyIC5jYWxsb3V0IHtcbiAgICAgICAgcGFkZGluZzogMDsgfSB9XG4gICAgLmhlYWRlci1ub3RpZmljYXRpb24tY29udGFpbmVyIC5jYWxsb3V0Om5vdCg6Zmlyc3Qtb2YtdHlwZSkge1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogI2ZmZmZmZjsgfVxuICAgIC5oZWFkZXItbm90aWZpY2F0aW9uLWNvbnRhaW5lciAuY2FsbG91dCBoNSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBwYWRkaW5nOiAwIDAgMCAzNXB4O1xuICAgICAgbWFyZ2luOiAxMHB4IDA7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgICAuaGVhZGVyLW5vdGlmaWNhdGlvbi1jb250YWluZXIgLmNhbGxvdXQgaDU6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICBwYWRkaW5nOiAwIDVweCAwIDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgICBsaW5lLWhlaWdodDogMTsgfVxuICAgIC5oZWFkZXItbm90aWZpY2F0aW9uLWNvbnRhaW5lciAuY2FsbG91dCBhIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuOHM7IH1cbiAgICAgIC5oZWFkZXItbm90aWZpY2F0aW9uLWNvbnRhaW5lciAuY2FsbG91dCBhOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIG9wYWNpdHk6IDAuNjtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjZzOyB9XG4gICAgICAuaGVhZGVyLW5vdGlmaWNhdGlvbi1jb250YWluZXIgLmNhbGxvdXQgYTphY3RpdmUge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgIC5oZWFkZXItbm90aWZpY2F0aW9uLWNvbnRhaW5lciAuY2FsbG91dCBidXR0b246bm90KC5jbG9zZS1idXR0b24pIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAuaGVhZGVyLW5vdGlmaWNhdGlvbi1jb250YWluZXIgLmNhbGxvdXQgYnV0dG9uOm5vdCguY2xvc2UtYnV0dG9uKSB7XG4gICAgICAgICAgd2lkdGg6IGF1dG87IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAuaGVhZGVyLW5vdGlmaWNhdGlvbi1jb250YWluZXIgLmNhbGxvdXQgYnV0dG9uOm5vdCguY2xvc2UtYnV0dG9uKSB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgICAuaGVhZGVyLW5vdGlmaWNhdGlvbi1jb250YWluZXIgLmNhbGxvdXQgYnV0dG9uLmNsb3NlLWJ1dHRvbiB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcmlnaHQ6IDA7IH0gfVxuICAuaGVhZGVyLW5vdGlmaWNhdGlvbi1jb250YWluZXIgLmFsZXJ0IGg1OmJlZm9yZSB7XG4gICAgY29udGVudDogXCLvgapcIjsgfVxuICAuaGVhZGVyLW5vdGlmaWNhdGlvbi1jb250YWluZXIgLndhcm5pbmcgaDU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu+BsVwiOyB9XG4gIC5oZWFkZXItbm90aWZpY2F0aW9uLWNvbnRhaW5lciAuc3VjY2VzcyBoNTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi74CMXCI7IH1cbiAgLmhlYWRlci1ub3RpZmljYXRpb24tY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiAxMzAwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAuaGVhZGVyLW5vdGlmaWNhdGlvbi1jb250YWluZXIgLmNsb3NlLWJ1dHRvbiB7XG4gICAgd2lkdGg6IDE3cHg7XG4gICAgaGVpZ2h0OiAxN3B4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogNXB4IDAgMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAuaGVhZGVyLW5vdGlmaWNhdGlvbi1jb250YWluZXIgLmNsb3NlLWJ1dHRvbjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgI1cIjtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC42cywgY29sb3IgMC44czsgfVxuICAgIC5oZWFkZXItbm90aWZpY2F0aW9uLWNvbnRhaW5lciAuY2xvc2UtYnV0dG9uOmhvdmVyOmJlZm9yZSB7XG4gICAgICBjb2xvcjogI2FlOTQ2MTtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjZzLCBjb2xvciAwLjZzOyB9XG4gICAgLmhlYWRlci1ub3RpZmljYXRpb24tY29udGFpbmVyIC5jbG9zZS1idXR0b246YWN0aXZlOmJlZm9yZSB7XG4gICAgICBjb2xvcjogIzA2MDUyZjtcbiAgICAgIHRyYW5zaXRpb246IGZvbnQtc2l6ZSAxLjJzLCBjb2xvciAwLjZzOyB9XG5cbi5ub3RpZmljYXRpb24tY29udGFpbmVyLmNhbGxvdXQge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5jYWxsb3V0LWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMzBweDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHotaW5kZXg6IDk5OTk5OTk5OTk5OTsgfVxuICAuY2FsbG91dC1jb250YWluZXIuc2lkZSAuY2FsbG91dCB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDsgfVxuICAuY2FsbG91dC1jb250YWluZXIgLmNhbGxvdXQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDFyZW0gMDtcbiAgICBwYWRkaW5nOiAyNXB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZm9udC1zaXplOiAxLjA2MjVyZW07IH1cbiAgICAuY2FsbG91dC1jb250YWluZXIgLmNhbGxvdXQ6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgei1pbmRleDogLTE7IH1cbiAgICAuY2FsbG91dC1jb250YWluZXIgLmNhbGxvdXQuc3VjY2VzcyB7XG4gICAgICBib3JkZXItbGVmdDogNXB4IHNvbGlkICMxMjgxMWY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGZmYmUyO1xuICAgICAgY29sb3I6ICMxMjgxMWY7IH1cbiAgICAgIC5jYWxsb3V0LWNvbnRhaW5lciAuY2FsbG91dC5zdWNjZXNzIHN0cm9uZyB7XG4gICAgICAgIGNvbG9yOiAjMTI4MTFmOyB9XG4gICAgLmNhbGxvdXQtY29udGFpbmVyIC5jYWxsb3V0Lndhcm5pbmcge1xuICAgICAgYm9yZGVyLWxlZnQ6IDVweCBzb2xpZCAjZmY1ZTA1O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZWZlNjtcbiAgICAgIGNvbG9yOiAjZmY1ZTA1OyB9XG4gICAgICAuY2FsbG91dC1jb250YWluZXIgLmNhbGxvdXQud2FybmluZyBzdHJvbmcge1xuICAgICAgICBjb2xvcjogI2ZmNWUwNTsgfVxuICAgIC5jYWxsb3V0LWNvbnRhaW5lciAuY2FsbG91dC5hbGVydCB7XG4gICAgICBib3JkZXItbGVmdDogNXB4IHNvbGlkICNiMjBjMGM7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmRlMWUxO1xuICAgICAgY29sb3I6ICNiMjBjMGM7IH1cbiAgICAgIC5jYWxsb3V0LWNvbnRhaW5lciAuY2FsbG91dC5hbGVydCBzdHJvbmcge1xuICAgICAgICBjb2xvcjogI2IyMGMwYzsgfVxuICAgIC5jYWxsb3V0LWNvbnRhaW5lciAuY2FsbG91dCBoNSB7XG4gICAgICBtYXJnaW46IDAgMjVweCAwIDA7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgZm9udC1zaXplOiAxLjA2MjVyZW07IH1cbiAgICAgIC5jYWxsb3V0LWNvbnRhaW5lciAuY2FsbG91dCBoNSBzdHJvbmcge1xuICAgICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgLmNhbGxvdXQtY29udGFpbmVyIC5jYWxsb3V0IC5jbG9zZS1idXR0b24ge1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IH1cbiAgICAgIC5jYWxsb3V0LWNvbnRhaW5lciAuY2FsbG91dCAuY2xvc2UtYnV0dG9uOmJlZm9yZSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgYm90dG9tOiA0cHg7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgICAgIC5jYWxsb3V0LWNvbnRhaW5lciAuY2FsbG91dCAuY2xvc2UtYnV0dG9uOmJlZm9yZTpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6IFwi74CNXCI7XG4gICAgICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICAgIGNvbG9yOiAjYWVhZWFlO1xuICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjZzLCBjb2xvciAwLjhzOyB9XG4gICAgICAgIC5jYWxsb3V0LWNvbnRhaW5lciAuY2FsbG91dCAuY2xvc2UtYnV0dG9uOmJlZm9yZTpob3ZlcjpiZWZvcmUge1xuICAgICAgICAgIGNvbG9yOiAjYWU5NDYxO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC42cywgY29sb3IgMC42czsgfVxuICAgICAgICAuY2FsbG91dC1jb250YWluZXIgLmNhbGxvdXQgLmNsb3NlLWJ1dHRvbjpiZWZvcmU6YWN0aXZlOmJlZm9yZSB7XG4gICAgICAgICAgY29sb3I6ICMwNjA1MmY7XG4gICAgICAgICAgdHJhbnNpdGlvbjogZm9udC1zaXplIDEuMnMsIGNvbG9yIDAuNnM7IH1cblxuLm9uLXBhZ2Utbm90aWZpY2F0aW9ucy1jb250YWluZXIge1xuICBtYXJnaW46IDAgMCAyMHB4OyB9XG5cbi5vbi1wYWdlLW5vdGlmaWNhdGlvbiB7XG4gIC0tZm9udC1mYW1pbHk6IEZvbnQgQXdlc29tZSBTb2xpZDtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBnYXA6IDAgMTBweDtcbiAgbWFyZ2luOiAxMHB4IDA7XG4gIHBhZGRpbmc6IDM1cHggMTBweDtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uOmhhcyguY29udGVudC1jb250YWluZXIpIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uOmhhcyguY29udGVudC1jb250YWluZXIpIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAub24tcGFnZS1ub3RpZmljYXRpb24ge1xuICAgICAgZ2FwOiAwIDE1cHg7IH0gfVxuICAub24tcGFnZS1ub3RpZmljYXRpb246aGFzKC5jb250ZW50LWNvbnRhaW5lcik6YmVmb3JlIHtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHkpO1xuICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICBsaW5lLWhlaWdodDogMTsgfVxuICAub24tcGFnZS1ub3RpZmljYXRpb24ucHJlc2V0LTEge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAub24tcGFnZS1ub3RpZmljYXRpb24ucHJlc2V0LTIge1xuICAgIHBhZGRpbmctdG9wOiAxNXB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAxNXB4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uLnByZXNldC0yIHtcbiAgICAgICAgcGFkZGluZzogMTVweCA2NXB4OyB9IH1cbiAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uLnByZXNldC0zIHtcbiAgICBwYWRkaW5nOiAxNXB4IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAub24tcGFnZS1ub3RpZmljYXRpb24ucHJlc2V0LTMge1xuICAgICAgICBwYWRkaW5nOiAxNXB4IDA7IH0gfVxuICAub24tcGFnZS1ub3RpZmljYXRpb24uc3VjY2VzcyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2RmZmJlMjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMTI4MTFmO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgICAub24tcGFnZS1ub3RpZmljYXRpb24uc3VjY2Vzczpub3QoLmljb24tY29uZmlndXJlZCk6aGFzKC5jb250ZW50LWNvbnRhaW5lcik6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74CMXCI7IH1cbiAgICAub24tcGFnZS1ub3RpZmljYXRpb24uc3VjY2VzczpoYXMoLmNvbnRlbnQtY29udGFpbmVyKTpiZWZvcmUge1xuICAgICAgY29sb3I6ICMxMjgxMWY7IH1cbiAgICAub24tcGFnZS1ub3RpZmljYXRpb24uc3VjY2VzcyA+IHA6Zmlyc3Qtb2YtdHlwZTo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74CMXCI7XG4gICAgICBjb2xvcjogIzEyODExZjsgfVxuICAgIC5vbi1wYWdlLW5vdGlmaWNhdGlvbi5zdWNjZXNzIGgxLCAub24tcGFnZS1ub3RpZmljYXRpb24uc3VjY2VzcyBoMiwgLm9uLXBhZ2Utbm90aWZpY2F0aW9uLnN1Y2Nlc3MgaDMsIC5vbi1wYWdlLW5vdGlmaWNhdGlvbi5zdWNjZXNzIGg0LCAub24tcGFnZS1ub3RpZmljYXRpb24uc3VjY2VzcyBoNSwgLm9uLXBhZ2Utbm90aWZpY2F0aW9uLnN1Y2Nlc3MgaDYsIC5vbi1wYWdlLW5vdGlmaWNhdGlvbi5zdWNjZXNzIHAsIC5vbi1wYWdlLW5vdGlmaWNhdGlvbi5zdWNjZXNzIGEge1xuICAgICAgY29sb3I6ICMxMjgxMWY7IH1cbiAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uLndhcm5pbmcge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmVmZTY7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2ZmNWUwNTtcbiAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gICAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uLndhcm5pbmc6bm90KC5pY29uLWNvbmZpZ3VyZWQpOmhhcyguY29udGVudC1jb250YWluZXIpOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+BsVwiOyB9XG4gICAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uLndhcm5pbmc6aGFzKC5jb250ZW50LWNvbnRhaW5lcik6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjZmY1ZTA1OyB9XG4gICAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uLndhcm5pbmcgPiBwOmZpcnN0LW9mLXR5cGU6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+BsVwiO1xuICAgICAgY29sb3I6ICNmZjVlMDU7IH1cbiAgICAub24tcGFnZS1ub3RpZmljYXRpb24ud2FybmluZyBoMSwgLm9uLXBhZ2Utbm90aWZpY2F0aW9uLndhcm5pbmcgaDIsIC5vbi1wYWdlLW5vdGlmaWNhdGlvbi53YXJuaW5nIGgzLCAub24tcGFnZS1ub3RpZmljYXRpb24ud2FybmluZyBoNCwgLm9uLXBhZ2Utbm90aWZpY2F0aW9uLndhcm5pbmcgaDUsIC5vbi1wYWdlLW5vdGlmaWNhdGlvbi53YXJuaW5nIGg2LCAub24tcGFnZS1ub3RpZmljYXRpb24ud2FybmluZyBwLCAub24tcGFnZS1ub3RpZmljYXRpb24ud2FybmluZyBhIHtcbiAgICAgIGNvbG9yOiAjZmY1ZTA1OyB9XG4gIC5vbi1wYWdlLW5vdGlmaWNhdGlvbi5hbGVydCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZkZTFlMTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYjIwYzBjO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgICAub24tcGFnZS1ub3RpZmljYXRpb24uYWxlcnQ6bm90KC5pY29uLWNvbmZpZ3VyZWQpOmhhcyguY29udGVudC1jb250YWluZXIpOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+BqlwiOyB9XG4gICAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uLmFsZXJ0OmhhcyguY29udGVudC1jb250YWluZXIpOmJlZm9yZSB7XG4gICAgICBjb2xvcjogI2IyMGMwYzsgfVxuICAgIC5vbi1wYWdlLW5vdGlmaWNhdGlvbi5hbGVydCA+IHA6Zmlyc3Qtb2YtdHlwZTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgapcIjtcbiAgICAgIGNvbG9yOiAjYjIwYzBjOyB9XG4gICAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uLmFsZXJ0IGgxLCAub24tcGFnZS1ub3RpZmljYXRpb24uYWxlcnQgaDIsIC5vbi1wYWdlLW5vdGlmaWNhdGlvbi5hbGVydCBoMywgLm9uLXBhZ2Utbm90aWZpY2F0aW9uLmFsZXJ0IGg0LCAub24tcGFnZS1ub3RpZmljYXRpb24uYWxlcnQgaDUsIC5vbi1wYWdlLW5vdGlmaWNhdGlvbi5hbGVydCBoNiwgLm9uLXBhZ2Utbm90aWZpY2F0aW9uLmFsZXJ0IHAsIC5vbi1wYWdlLW5vdGlmaWNhdGlvbi5hbGVydCBhIHtcbiAgICAgIGNvbG9yOiAjYjIwYzBjOyB9XG4gIC5vbi1wYWdlLW5vdGlmaWNhdGlvbi5kaXNhYmxlZCBwIHtcbiAgICBjb2xvcjogIzg4ODg4ODtcbiAgICBmb250LXdlaWdodDogNjAwOyB9XG4gIC5vbi1wYWdlLW5vdGlmaWNhdGlvbi5pbmZvcm1hdGlvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjFmMTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMDAwMDAwOyB9XG4gICAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uLmluZm9ybWF0aW9uOm5vdCguaWNvbi1jb25maWd1cmVkKTpoYXMoLmNvbnRlbnQtY29udGFpbmVyKTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgZpcIjsgfVxuICAgIC5vbi1wYWdlLW5vdGlmaWNhdGlvbi5pbmZvcm1hdGlvbjpoYXMoLmNvbnRlbnQtY29udGFpbmVyKTpiZWZvcmUge1xuICAgICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgICAub24tcGFnZS1ub3RpZmljYXRpb24uaW5mb3JtYXRpb24gcCB7XG4gICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uLmljb24tbm9uLXJldHVybmFibGUge1xuICAgIC0tZm9udC1mYW1pbHk6IGZvbnRlbGxvOyB9XG4gICAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uLmljb24tbm9uLXJldHVybmFibGU6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi7qGTXCI7IH1cbiAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uIC51c2VyLWZyaWVuZGx5LXByZWZpeCB7XG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7IH1cbiAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uID4gcCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uID4gcDpmaXJzdC1vZi10eXBlOmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBtYXJnaW46IGF1dG8gMTVweCBhdXRvIDA7XG4gICAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHkpO1xuICAgICAgZm9udC1zaXplOiAyMnB4OyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgICAgICAub24tcGFnZS1ub3RpZmljYXRpb24gPiBwOmZpcnN0LW9mLXR5cGU6YmVmb3JlIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIG1hcmdpbjogYXV0bzsgfSB9XG4gIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiAuY29udGVudC1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWFyZ2luOiBhdXRvIDA7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiAuY29udGVudC1jb250YWluZXIge1xuICAgICAgICBtYXJnaW46IDA7IH0gfVxuICAub24tcGFnZS1ub3RpZmljYXRpb24gcCB7XG4gICAgbWFyZ2luOiB2YXIoLS1pbmRlbnQtbWFyZ2luLCAwKTtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgIGNvbG9yOiAjNzc3Nzc3OyB9XG4gICAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uIHAgaW1nW3N0eWxlKj1cImZsb2F0OmxlZnRcIl0sIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiBwIGltZ1tzdHlsZSo9XCJmbG9hdDogbGVmdFwiXSwgLm9uLXBhZ2Utbm90aWZpY2F0aW9uIHBbc3R5bGUqPVwiZmxvYXQ6bGVmdFwiXSA+IGltZyB7XG4gICAgICBtYXJnaW46IC4yZW0gLjJlbSAuMmVtIDA7IH1cbiAgICAub24tcGFnZS1ub3RpZmljYXRpb24gcCBpbWdbc3R5bGUqPVwiZmxvYXQ6cmlnaHRcIl0sIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiBwIGltZ1tzdHlsZSo9XCJmbG9hdDogcmlnaHRcIl0sIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiBwW3N0eWxlKj1cImZsb2F0OnJpZ2h0XCJdID4gaW1nIHtcbiAgICAgIG1hcmdpbjogLjJlbSAwIC4yZW0gLjJlbTsgfVxuICAgIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiBwIGltZyB7XG4gICAgICBtYXJnaW46IC4yZW0gMDsgfVxuICAgIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiBwICsgcCB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAub24tcGFnZS1ub3RpZmljYXRpb24gcDpub3QoOmVtcHR5KSArIHRhYmxlLCAub24tcGFnZS1ub3RpZmljYXRpb24gcDpub3QoOmVtcHR5KSArIC5jb21wYXJpc29uLXRhYmxlLWNvbnRhaW5lciB7XG4gICAgbWFyZ2luOiAxNXB4IDA7IH1cbiAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uIHRhYmxlIHtcbiAgICAtLXRoZWFkLWJvcmRlci1jb2xvdXI6ICR0aGVhZC1ib3JkZXItY29sb3VyO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uIHRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgICAub24tcGFnZS1ub3RpZmljYXRpb24gdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQgdHIge1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tdGhlYWQtYm9yZGVyLWNvbG91cik7IH1cbiAgICAgIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiB0YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCB0aCB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgICAub24tcGFnZS1ub3RpZmljYXRpb24gdGFibGUucmVzcG9uc2l2ZS10YWJsZSB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAub24tcGFnZS1ub3RpZmljYXRpb24gdGFibGUucmVzcG9uc2l2ZS10YWJsZSB7XG4gICAgICAgICAgZGlzcGxheTogdGFibGU7IH0gfVxuICAgICAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uIHRhYmxlLnJlc3BvbnNpdmUtdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAub24tcGFnZS1ub3RpZmljYXRpb24gdGFibGUucmVzcG9uc2l2ZS10YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCB7XG4gICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXA7IH0gfVxuICAgICAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uIHRhYmxlLnJlc3BvbnNpdmUtdGFibGUgdGJvZHk6bm90KC5jb21wYXJpc29uLXN1bW1hcnkpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAgIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHRib2R5Om5vdCguY29tcGFyaXNvbi1zdW1tYXJ5KSB7XG4gICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXA7IH0gfVxuICAgIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiB0YWJsZSB0aCB7XG4gICAgICBwYWRkaW5nOiAxMHB4IDEwcHggMTBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiB0YWJsZSB0ZCB7XG4gICAgICAgIHBhZGRpbmc6IDEwcHg7IH0gfVxuICAgIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiB0YWJsZSB0aGVhZFtjbGFzcyo9XCJwcmVzZXRcIl0gKyB0Ym9keTpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiB0YWJsZSB0aGVhZFtjbGFzcyo9XCJwcmVzZXRcIl0gKyB0Ym9keTpiZWZvcmUge1xuICAgICAgICAgIG1hcmdpbjogMTBweDsgfSB9XG4gICAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uIHRhYmxlIHRib2R5IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgICAub24tcGFnZS1ub3RpZmljYXRpb24gdGFibGUgdGJvZHkgdGgge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgICAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uIHRhYmxlIHRib2R5IHRyOm5vdCg6bGFzdC1jaGlsZCkgdGgge1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uIHRhYmxlIHRib2R5IHRyIHtcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3c7IH0gfVxuICAgIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiB0YWJsZSAuY29sLWxhYmVsIHtcbiAgICAgIGNvbG9yOiAjNzc3Nzc3OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAgIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHRib2R5IHRyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAgIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHRib2R5IHRyOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlZWVlZWU7IH0gfVxuICAgIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiB0YWJsZS5uby13cmFwIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgIG92ZXJmbG93LXg6IGF1dG87IH1cbiAgICAub24tcGFnZS1ub3RpZmljYXRpb24gdGFibGUuY29tcGFyaXNvbi10YWJsZSB0Ym9keSB0ZDpmaXJzdC1jaGlsZCB7XG4gICAgICBjb2xvcjogIzc3Nzc3NztcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uIGJsb2NrcXVvdGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgZ2FwOiAxNXB4O1xuICAgIG1hcmdpbjogMCBhdXRvIDQwcHg7XG4gICAgcGFkZGluZzogNTBweCAzMHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtZmFtaWx5OiBcIkdpYnNvblwiLCBcIkdpYnNvbiBGYWxsYmFja1wiLCBcIkFyaWFsXCI7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC44cywgYm9yZGVyLWNvbG9yIDAuOHM7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAub24tcGFnZS1ub3RpZmljYXRpb24gYmxvY2txdW90ZSB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGdhcDogMjVweDsgfSB9XG4gICAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uIGJsb2NrcXVvdGU6aG92ZXIge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIGJvcmRlci1jb2xvcjogI2VlZWVlZTtcbiAgICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC42cywgYm9yZGVyLWNvbG9yIDAuNnM7IH1cbiAgICAgIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiBibG9ja3F1b3RlOmhvdmVyOmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjZGFkYWRhO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gICAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uIGJsb2NrcXVvdGU6aGFzKGltZykge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiBibG9ja3F1b3RlOmxhc3Qtb2YtdHlwZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0MHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uIGJsb2NrcXVvdGUge1xuICAgICAgICBwYWRkaW5nOiA1MHB4IDYwcHg7IH0gfVxuICAgIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiBibG9ja3F1b3RlICsgYmxvY2txdW90ZSB7XG4gICAgICBtYXJnaW4tdG9wOiAxNXB4OyB9XG4gICAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uIGJsb2NrcXVvdGU6YmVmb3JlLCAub24tcGFnZS1ub3RpZmljYXRpb24gYmxvY2txdW90ZTphZnRlciB7XG4gICAgICBjb250ZW50OiBcIu+EjVwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgIGZvbnQtc2l6ZTogNDBweDtcbiAgICAgIGNvbG9yOiAjZWVlZWVlO1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICBsaW5lLWhlaWdodDogLjg7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gICAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uIGJsb2NrcXVvdGU6YmVmb3JlIHtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7IH1cbiAgICAub24tcGFnZS1ub3RpZmljYXRpb24gYmxvY2txdW90ZTphZnRlciB7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IH1cbiAgICAub24tcGFnZS1ub3RpZmljYXRpb24gYmxvY2txdW90ZSBpbWcge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uIGJsb2NrcXVvdGUgaW1nIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cbiAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uIGFbaHJlZl49XCJ0ZWw6XCJdLCAub24tcGFnZS1ub3RpZmljYXRpb24gYVtocmVmXj1cIm1haWx0bzpcIl0ge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICAub24tcGFnZS1ub3RpZmljYXRpb24gYVtocmVmXj1cInRlbDpcIl06aG92ZXIsIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiBhW2hyZWZePVwibWFpbHRvOlwiXTpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAub24tcGFnZS1ub3RpZmljYXRpb24gYVtocmVmXj1cInRlbDpcIl0uc2hvdy1jb250YWN0LWljb246YmVmb3JlLCAub24tcGFnZS1ub3RpZmljYXRpb24gYVtocmVmXj1cIm1haWx0bzpcIl0uc2hvdy1jb250YWN0LWljb246YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7IH1cbiAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uIGFbaHJlZl49XCJtYWlsdG86XCJdLnNob3ctY29udGFjdC1pY29uOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLvg6BcIjsgfVxuICAub24tcGFnZS1ub3RpZmljYXRpb24gYVtocmVmXj1cInRlbDpcIl0uc2hvdy1jb250YWN0LWljb246YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu+huVwiO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IH1cbiAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uIHAgYTpub3QoW2NsYXNzKj1cIi1idXR0b25cIl0pIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGdhcDogMCA1cHg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAub24tcGFnZS1ub3RpZmljYXRpb24gcCBhOmhhcyhbc3R5bGUqPVwiZmxvYXRcIl0pIHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7IH1cbiAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uIGEge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiA+IHA6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAgIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiA+IHA6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAyN3B4OyB9IH1cblxuLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciB7XG4gIC0tZm9udC1mYW1pbHk6IEZvbnQgQXdlc29tZSBTb2xpZDtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBnYXA6IDAgMTBweDtcbiAgbWFyZ2luOiAxMHB4IDA7XG4gIHBhZGRpbmc6IDM1cHggMTBweDtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lcjpoYXMoLmNvbnRlbnQtY29udGFpbmVyKSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXI6aGFzKC5jb250ZW50LWNvbnRhaW5lcikge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIge1xuICAgICAgZ2FwOiAwIDE1cHg7IH0gfVxuICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyOmhhcyguY29udGVudC1jb250YWluZXIpOmJlZm9yZSB7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5KTtcbiAgICBmb250LXNpemU6IDIycHg7XG4gICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lci5wcmVzZXQtMSB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIucHJlc2V0LTIge1xuICAgIHBhZGRpbmctdG9wOiAxNXB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAxNXB4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lci5wcmVzZXQtMiB7XG4gICAgICAgIHBhZGRpbmc6IDE1cHggNjVweDsgfSB9XG4gIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIucHJlc2V0LTMge1xuICAgIHBhZGRpbmc6IDE1cHggMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIucHJlc2V0LTMge1xuICAgICAgICBwYWRkaW5nOiAxNXB4IDA7IH0gfVxuICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyLnN1Y2Nlc3Mge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkZmZiZTI7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzEyODExZjtcbiAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gICAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lci5zdWNjZXNzOm5vdCguaWNvbi1jb25maWd1cmVkKTpoYXMoLmNvbnRlbnQtY29udGFpbmVyKTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgIxcIjsgfVxuICAgIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIuc3VjY2VzczpoYXMoLmNvbnRlbnQtY29udGFpbmVyKTpiZWZvcmUge1xuICAgICAgY29sb3I6ICMxMjgxMWY7IH1cbiAgICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyLnN1Y2Nlc3MgPiBwOmZpcnN0LW9mLXR5cGU6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+AjFwiO1xuICAgICAgY29sb3I6ICMxMjgxMWY7IH1cbiAgICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyLnN1Y2Nlc3MgaDEsIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIuc3VjY2VzcyBoMiwgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lci5zdWNjZXNzIGgzLCAubm8taXRlbXMtZm91bmQtY29udGFpbmVyLnN1Y2Nlc3MgaDQsIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIuc3VjY2VzcyBoNSwgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lci5zdWNjZXNzIGg2LCAubm8taXRlbXMtZm91bmQtY29udGFpbmVyLnN1Y2Nlc3MgcCwgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lci5zdWNjZXNzIGEge1xuICAgICAgY29sb3I6ICMxMjgxMWY7IH1cbiAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lci53YXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZlZmU2O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZjVlMDU7XG4gICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICAgIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIud2FybmluZzpub3QoLmljb24tY29uZmlndXJlZCk6aGFzKC5jb250ZW50LWNvbnRhaW5lcik6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74GxXCI7IH1cbiAgICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyLndhcm5pbmc6aGFzKC5jb250ZW50LWNvbnRhaW5lcik6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjZmY1ZTA1OyB9XG4gICAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lci53YXJuaW5nID4gcDpmaXJzdC1vZi10eXBlOjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgbFcIjtcbiAgICAgIGNvbG9yOiAjZmY1ZTA1OyB9XG4gICAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lci53YXJuaW5nIGgxLCAubm8taXRlbXMtZm91bmQtY29udGFpbmVyLndhcm5pbmcgaDIsIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIud2FybmluZyBoMywgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lci53YXJuaW5nIGg0LCAubm8taXRlbXMtZm91bmQtY29udGFpbmVyLndhcm5pbmcgaDUsIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIud2FybmluZyBoNiwgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lci53YXJuaW5nIHAsIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIud2FybmluZyBhIHtcbiAgICAgIGNvbG9yOiAjZmY1ZTA1OyB9XG4gIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIuYWxlcnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZGUxZTE7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2IyMGMwYztcbiAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gICAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lci5hbGVydDpub3QoLmljb24tY29uZmlndXJlZCk6aGFzKC5jb250ZW50LWNvbnRhaW5lcik6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74GqXCI7IH1cbiAgICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyLmFsZXJ0OmhhcyguY29udGVudC1jb250YWluZXIpOmJlZm9yZSB7XG4gICAgICBjb2xvcjogI2IyMGMwYzsgfVxuICAgIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIuYWxlcnQgPiBwOmZpcnN0LW9mLXR5cGU6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74GqXCI7XG4gICAgICBjb2xvcjogI2IyMGMwYzsgfVxuICAgIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIuYWxlcnQgaDEsIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIuYWxlcnQgaDIsIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIuYWxlcnQgaDMsIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIuYWxlcnQgaDQsIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIuYWxlcnQgaDUsIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIuYWxlcnQgaDYsIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIuYWxlcnQgcCwgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lci5hbGVydCBhIHtcbiAgICAgIGNvbG9yOiAjYjIwYzBjOyB9XG4gIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIuZGlzYWJsZWQgcCB7XG4gICAgY29sb3I6ICM4ODg4ODg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyLmluZm9ybWF0aW9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMWYxO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMDAwMDA7IH1cbiAgICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyLmluZm9ybWF0aW9uOm5vdCguaWNvbi1jb25maWd1cmVkKTpoYXMoLmNvbnRlbnQtY29udGFpbmVyKTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgZpcIjsgfVxuICAgIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIuaW5mb3JtYXRpb246aGFzKC5jb250ZW50LWNvbnRhaW5lcik6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lci5pbmZvcm1hdGlvbiBwIHtcbiAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyLmljb24tbm9uLXJldHVybmFibGUge1xuICAgIC0tZm9udC1mYW1pbHk6IGZvbnRlbGxvOyB9XG4gICAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lci5pY29uLW5vbi1yZXR1cm5hYmxlOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu6hk1wiOyB9XG4gIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgLnVzZXItZnJpZW5kbHktcHJlZml4IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDsgfVxuICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyID4gcCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciA+IHA6Zmlyc3Qtb2YtdHlwZTpiZWZvcmUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgbWFyZ2luOiBhdXRvIDE1cHggYXV0byAwO1xuICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5KTtcbiAgICAgIGZvbnQtc2l6ZTogMjJweDsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAgICAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciA+IHA6Zmlyc3Qtb2YtdHlwZTpiZWZvcmUge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgbWFyZ2luOiBhdXRvOyB9IH1cbiAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWFyZ2luOiBhdXRvIDA7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgICAgbWFyZ2luOiAwOyB9IH1cbiAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciBwIHtcbiAgICBtYXJnaW46IHZhcigtLWluZGVudC1tYXJnaW4sIDApO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgY29sb3I6ICM3Nzc3Nzc7IH1cbiAgICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyIHAgaW1nW3N0eWxlKj1cImZsb2F0OmxlZnRcIl0sIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6IGxlZnRcIl0sIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgcFtzdHlsZSo9XCJmbG9hdDpsZWZ0XCJdID4gaW1nIHtcbiAgICAgIG1hcmdpbjogLjJlbSAuMmVtIC4yZW0gMDsgfVxuICAgIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6cmlnaHRcIl0sIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6IHJpZ2h0XCJdLCAubm8taXRlbXMtZm91bmQtY29udGFpbmVyIHBbc3R5bGUqPVwiZmxvYXQ6cmlnaHRcIl0gPiBpbWcge1xuICAgICAgbWFyZ2luOiAuMmVtIDAgLjJlbSAuMmVtOyB9XG4gICAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciBwIGltZyB7XG4gICAgICBtYXJnaW46IC4yZW0gMDsgfVxuICAgIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgcCArIHAge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciBwOm5vdCg6ZW1wdHkpICsgdGFibGUsIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgcDpub3QoOmVtcHR5KSArIC5jb21wYXJpc29uLXRhYmxlLWNvbnRhaW5lciB7XG4gICAgbWFyZ2luOiAxNXB4IDA7IH1cbiAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciB0YWJsZSB7XG4gICAgLS10aGVhZC1ib3JkZXItY29sb3VyOiAkdGhlYWQtYm9yZGVyLWNvbG91cjtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAgIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQgdHIge1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tdGhlYWQtYm9yZGVyLWNvbG91cik7IH1cbiAgICAgIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQgdGgge1xuICAgICAgICBmb250LXdlaWdodDogNjAwOyB9XG4gICAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB7XG4gICAgICAgICAgZGlzcGxheTogdGFibGU7IH0gfVxuICAgICAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciB0YWJsZS5yZXNwb25zaXZlLXRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciB0YWJsZS5yZXNwb25zaXZlLXRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cDsgfSB9XG4gICAgICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyIHRhYmxlLnJlc3BvbnNpdmUtdGFibGUgdGJvZHk6bm90KC5jb21wYXJpc29uLXN1bW1hcnkpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAgIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB0Ym9keTpub3QoLmNvbXBhcmlzb24tc3VtbWFyeSkge1xuICAgICAgICAgICAgZGlzcGxheTogdGFibGUtcm93LWdyb3VwOyB9IH1cbiAgICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyIHRhYmxlIHRoIHtcbiAgICAgIHBhZGRpbmc6IDEwcHggMTBweCAxMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciB0YWJsZSB0ZCB7XG4gICAgICAgIHBhZGRpbmc6IDEwcHg7IH0gfVxuICAgIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgdGFibGUgdGhlYWRbY2xhc3MqPVwicHJlc2V0XCJdICsgdGJvZHk6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogZmxleDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyIHRhYmxlIHRoZWFkW2NsYXNzKj1cInByZXNldFwiXSArIHRib2R5OmJlZm9yZSB7XG4gICAgICAgICAgbWFyZ2luOiAxMHB4OyB9IH1cbiAgICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyIHRhYmxlIHRib2R5IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyIHRhYmxlIHRib2R5IHRoIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAgIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgdGFibGUgdGJvZHkgdHI6bm90KDpsYXN0LWNoaWxkKSB0aCB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyIHRhYmxlIHRib2R5IHRyIHtcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3c7IH0gfVxuICAgIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgdGFibGUgLmNvbC1sYWJlbCB7XG4gICAgICBjb2xvcjogIzc3Nzc3NzsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyIHRhYmxlLnJlc3BvbnNpdmUtdGFibGUgdGJvZHkgdHIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgICAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHRib2R5IHRyOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlZWVlZWU7IH0gfVxuICAgIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgdGFibGUubm8td3JhcCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICBvdmVyZmxvdy14OiBhdXRvOyB9XG4gICAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciB0YWJsZS5jb21wYXJpc29uLXRhYmxlIHRib2R5IHRkOmZpcnN0LWNoaWxkIHtcbiAgICAgIGNvbG9yOiAjNzc3Nzc3O1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyIGJsb2NrcXVvdGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgZ2FwOiAxNXB4O1xuICAgIG1hcmdpbjogMCBhdXRvIDQwcHg7XG4gICAgcGFkZGluZzogNTBweCAzMHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtZmFtaWx5OiBcIkdpYnNvblwiLCBcIkdpYnNvbiBGYWxsYmFja1wiLCBcIkFyaWFsXCI7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC44cywgYm9yZGVyLWNvbG9yIDAuOHM7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyIGJsb2NrcXVvdGUge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBnYXA6IDI1cHg7IH0gfVxuICAgIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgYmxvY2txdW90ZTpob3ZlciB7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZWVlZWVlO1xuICAgICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjZzLCBib3JkZXItY29sb3IgMC42czsgfVxuICAgICAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciBibG9ja3F1b3RlOmhvdmVyOmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjZGFkYWRhO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gICAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciBibG9ja3F1b3RlOmhhcyhpbWcpIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyIGJsb2NrcXVvdGU6bGFzdC1vZi10eXBlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyIGJsb2NrcXVvdGUge1xuICAgICAgICBwYWRkaW5nOiA1MHB4IDYwcHg7IH0gfVxuICAgIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgYmxvY2txdW90ZSArIGJsb2NrcXVvdGUge1xuICAgICAgbWFyZ2luLXRvcDogMTVweDsgfVxuICAgIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgYmxvY2txdW90ZTpiZWZvcmUsIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgYmxvY2txdW90ZTphZnRlciB7XG4gICAgICBjb250ZW50OiBcIu+EjVwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgIGZvbnQtc2l6ZTogNDBweDtcbiAgICAgIGNvbG9yOiAjZWVlZWVlO1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICBsaW5lLWhlaWdodDogLjg7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gICAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciBibG9ja3F1b3RlOmJlZm9yZSB7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwOyB9XG4gICAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciBibG9ja3F1b3RlOmFmdGVyIHtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsgfVxuICAgIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgYmxvY2txdW90ZSBpbWcge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciBibG9ja3F1b3RlIGltZyB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG4gIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgYVtocmVmXj1cInRlbDpcIl0sIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgYVtocmVmXj1cIm1haWx0bzpcIl0ge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyIGFbaHJlZl49XCJ0ZWw6XCJdOmhvdmVyLCAubm8taXRlbXMtZm91bmQtY29udGFpbmVyIGFbaHJlZl49XCJtYWlsdG86XCJdOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgYVtocmVmXj1cInRlbDpcIl0uc2hvdy1jb250YWN0LWljb246YmVmb3JlLCAubm8taXRlbXMtZm91bmQtY29udGFpbmVyIGFbaHJlZl49XCJtYWlsdG86XCJdLnNob3ctY29udGFjdC1pY29uOmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiOyB9XG4gIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgYVtocmVmXj1cIm1haWx0bzpcIl0uc2hvdy1jb250YWN0LWljb246YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu+DoFwiOyB9XG4gIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgYVtocmVmXj1cInRlbDpcIl0uc2hvdy1jb250YWN0LWljb246YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu+huVwiO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IH1cbiAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciBwIGE6bm90KFtjbGFzcyo9XCItYnV0dG9uXCJdKSB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBnYXA6IDAgNXB4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciBwIGE6aGFzKFtzdHlsZSo9XCJmbG9hdFwiXSkge1xuICAgIGRpc3BsYXk6IGlubGluZTsgfVxuICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyIGEge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgPiBwOmZpcnN0LW9mLXR5cGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyID4gcDpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDI3cHg7IH0gfVxuXG4uaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIHtcbiAgLS1mb250LWZhbWlseTogRm9udCBBd2Vzb21lIFNvbGlkO1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGdhcDogMCAxMHB4O1xuICBtYXJnaW46IDEwcHggMDtcbiAgcGFkZGluZzogMzVweCAxMHB4O1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZkZTFlMTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2IyMGMwYzsgfVxuICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyOmhhcyguY29udGVudC1jb250YWluZXIpIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lcjpoYXMoLmNvbnRlbnQtY29udGFpbmVyKSB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lciB7XG4gICAgICBnYXA6IDAgMTVweDsgfSB9XG4gIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXI6aGFzKC5jb250ZW50LWNvbnRhaW5lcik6YmVmb3JlIHtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHkpO1xuICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICBsaW5lLWhlaWdodDogMTsgfVxuICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyLnByZXNldC0xIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lci5wcmVzZXQtMiB7XG4gICAgcGFkZGluZy10b3A6IDE1cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDE1cHg7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyLnByZXNldC0yIHtcbiAgICAgICAgcGFkZGluZzogMTVweCA2NXB4OyB9IH1cbiAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lci5wcmVzZXQtMyB7XG4gICAgcGFkZGluZzogMTVweCAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lci5wcmVzZXQtMyB7XG4gICAgICAgIHBhZGRpbmc6IDE1cHggMDsgfSB9XG4gIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIuc3VjY2VzcyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2RmZmJlMjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMTI4MTFmO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyLnN1Y2Nlc3M6bm90KC5pY29uLWNvbmZpZ3VyZWQpOmhhcyguY29udGVudC1jb250YWluZXIpOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+AjFwiOyB9XG4gICAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lci5zdWNjZXNzOmhhcyguY29udGVudC1jb250YWluZXIpOmJlZm9yZSB7XG4gICAgICBjb2xvcjogIzEyODExZjsgfVxuICAgIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIuc3VjY2VzcyA+IHA6Zmlyc3Qtb2YtdHlwZTo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74CMXCI7XG4gICAgICBjb2xvcjogIzEyODExZjsgfVxuICAgIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIuc3VjY2VzcyBoMSwgLmludGVybmFsLWVycm9yLWNvbnRhaW5lci5zdWNjZXNzIGgyLCAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyLnN1Y2Nlc3MgaDMsIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIuc3VjY2VzcyBoNCwgLmludGVybmFsLWVycm9yLWNvbnRhaW5lci5zdWNjZXNzIGg1LCAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyLnN1Y2Nlc3MgaDYsIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIuc3VjY2VzcyBwLCAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyLnN1Y2Nlc3MgYSB7XG4gICAgICBjb2xvcjogIzEyODExZjsgfVxuICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyLndhcm5pbmcge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmVmZTY7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2ZmNWUwNTtcbiAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gICAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lci53YXJuaW5nOm5vdCguaWNvbi1jb25maWd1cmVkKTpoYXMoLmNvbnRlbnQtY29udGFpbmVyKTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgbFcIjsgfVxuICAgIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIud2FybmluZzpoYXMoLmNvbnRlbnQtY29udGFpbmVyKTpiZWZvcmUge1xuICAgICAgY29sb3I6ICNmZjVlMDU7IH1cbiAgICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyLndhcm5pbmcgPiBwOmZpcnN0LW9mLXR5cGU6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+BsVwiO1xuICAgICAgY29sb3I6ICNmZjVlMDU7IH1cbiAgICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyLndhcm5pbmcgaDEsIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIud2FybmluZyBoMiwgLmludGVybmFsLWVycm9yLWNvbnRhaW5lci53YXJuaW5nIGgzLCAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyLndhcm5pbmcgaDQsIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIud2FybmluZyBoNSwgLmludGVybmFsLWVycm9yLWNvbnRhaW5lci53YXJuaW5nIGg2LCAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyLndhcm5pbmcgcCwgLmludGVybmFsLWVycm9yLWNvbnRhaW5lci53YXJuaW5nIGEge1xuICAgICAgY29sb3I6ICNmZjVlMDU7IH1cbiAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lci5hbGVydCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZkZTFlMTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYjIwYzBjO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyLmFsZXJ0Om5vdCguaWNvbi1jb25maWd1cmVkKTpoYXMoLmNvbnRlbnQtY29udGFpbmVyKTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgapcIjsgfVxuICAgIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIuYWxlcnQ6aGFzKC5jb250ZW50LWNvbnRhaW5lcik6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjYjIwYzBjOyB9XG4gICAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lci5hbGVydCA+IHA6Zmlyc3Qtb2YtdHlwZTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgapcIjtcbiAgICAgIGNvbG9yOiAjYjIwYzBjOyB9XG4gICAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lci5hbGVydCBoMSwgLmludGVybmFsLWVycm9yLWNvbnRhaW5lci5hbGVydCBoMiwgLmludGVybmFsLWVycm9yLWNvbnRhaW5lci5hbGVydCBoMywgLmludGVybmFsLWVycm9yLWNvbnRhaW5lci5hbGVydCBoNCwgLmludGVybmFsLWVycm9yLWNvbnRhaW5lci5hbGVydCBoNSwgLmludGVybmFsLWVycm9yLWNvbnRhaW5lci5hbGVydCBoNiwgLmludGVybmFsLWVycm9yLWNvbnRhaW5lci5hbGVydCBwLCAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyLmFsZXJ0IGEge1xuICAgICAgY29sb3I6ICNiMjBjMGM7IH1cbiAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lci5kaXNhYmxlZCBwIHtcbiAgICBjb2xvcjogIzg4ODg4ODtcbiAgICBmb250LXdlaWdodDogNjAwOyB9XG4gIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIuaW5mb3JtYXRpb24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMWYxZjE7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzAwMDAwMDsgfVxuICAgIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIuaW5mb3JtYXRpb246bm90KC5pY29uLWNvbmZpZ3VyZWQpOmhhcyguY29udGVudC1jb250YWluZXIpOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+BmlwiOyB9XG4gICAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lci5pbmZvcm1hdGlvbjpoYXMoLmNvbnRlbnQtY29udGFpbmVyKTpiZWZvcmUge1xuICAgICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyLmluZm9ybWF0aW9uIHAge1xuICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgICBmb250LXdlaWdodDogNjAwOyB9XG4gIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIuaWNvbi1ub24tcmV0dXJuYWJsZSB7XG4gICAgLS1mb250LWZhbWlseTogZm9udGVsbG87IH1cbiAgICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyLmljb24tbm9uLXJldHVybmFibGU6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi7qGTXCI7IH1cbiAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lciAudXNlci1mcmllbmRseS1wcmVmaXgge1xuICAgIG1hcmdpbi1yaWdodDogNXB4OyB9XG4gIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgPiBwIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICBtYXJnaW46IDA7IH1cbiAgICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyID4gcDpmaXJzdC1vZi10eXBlOmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBtYXJnaW46IGF1dG8gMTVweCBhdXRvIDA7XG4gICAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHkpO1xuICAgICAgZm9udC1zaXplOiAyMnB4OyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgICAgICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyID4gcDpmaXJzdC1vZi10eXBlOmJlZm9yZSB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICBtYXJnaW46IGF1dG87IH0gfVxuICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtYXJnaW46IGF1dG8gMDtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIge1xuICAgICAgICBtYXJnaW46IDA7IH0gfVxuICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIHAge1xuICAgIG1hcmdpbjogdmFyKC0taW5kZW50LW1hcmdpbiwgMCk7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICBjb2xvcjogIzc3Nzc3NzsgfVxuICAgIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6bGVmdFwiXSwgLmludGVybmFsLWVycm9yLWNvbnRhaW5lciBwIGltZ1tzdHlsZSo9XCJmbG9hdDogbGVmdFwiXSwgLmludGVybmFsLWVycm9yLWNvbnRhaW5lciBwW3N0eWxlKj1cImZsb2F0OmxlZnRcIl0gPiBpbWcge1xuICAgICAgbWFyZ2luOiAuMmVtIC4yZW0gLjJlbSAwOyB9XG4gICAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lciBwIGltZ1tzdHlsZSo9XCJmbG9hdDpyaWdodFwiXSwgLmludGVybmFsLWVycm9yLWNvbnRhaW5lciBwIGltZ1tzdHlsZSo9XCJmbG9hdDogcmlnaHRcIl0sIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgcFtzdHlsZSo9XCJmbG9hdDpyaWdodFwiXSA+IGltZyB7XG4gICAgICBtYXJnaW46IC4yZW0gMCAuMmVtIC4yZW07IH1cbiAgICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIHAgaW1nIHtcbiAgICAgIG1hcmdpbjogLjJlbSAwOyB9XG4gICAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lciBwICsgcCB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIHA6bm90KDplbXB0eSkgKyB0YWJsZSwgLmludGVybmFsLWVycm9yLWNvbnRhaW5lciBwOm5vdCg6ZW1wdHkpICsgLmNvbXBhcmlzb24tdGFibGUtY29udGFpbmVyIHtcbiAgICBtYXJnaW46IDE1cHggMDsgfVxuICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIHRhYmxlIHtcbiAgICAtLXRoZWFkLWJvcmRlci1jb2xvdXI6ICR0aGVhZC1ib3JkZXItY29sb3VyO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lciB0YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgICAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lciB0YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCB0ciB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS10aGVhZC1ib3JkZXItY29sb3VyKTsgfVxuICAgICAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lciB0YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCB0aCB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIHRhYmxlLnJlc3BvbnNpdmUtdGFibGUge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lciB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHtcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZTsgfSB9XG4gICAgICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIHRhYmxlLnJlc3BvbnNpdmUtdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIHRhYmxlLnJlc3BvbnNpdmUtdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQge1xuICAgICAgICAgICAgZGlzcGxheTogdGFibGUtcm93LWdyb3VwOyB9IH1cbiAgICAgIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB0Ym9keTpub3QoLmNvbXBhcmlzb24tc3VtbWFyeSkge1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lciB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHRib2R5Om5vdCguY29tcGFyaXNvbi1zdW1tYXJ5KSB7XG4gICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXA7IH0gfVxuICAgIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgdGFibGUgdGgge1xuICAgICAgcGFkZGluZzogMTBweCAxMHB4IDEwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIHRhYmxlIHRkIHtcbiAgICAgICAgcGFkZGluZzogMTBweDsgfSB9XG4gICAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lciB0YWJsZSB0aGVhZFtjbGFzcyo9XCJwcmVzZXRcIl0gKyB0Ym9keTpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgdGFibGUgdGhlYWRbY2xhc3MqPVwicHJlc2V0XCJdICsgdGJvZHk6YmVmb3JlIHtcbiAgICAgICAgICBtYXJnaW46IDEwcHg7IH0gfVxuICAgIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgdGFibGUgdGJvZHkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAgIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgdGFibGUgdGJvZHkgdGgge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgICAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lciB0YWJsZSB0Ym9keSB0cjpub3QoOmxhc3QtY2hpbGQpIHRoIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgdGFibGUgdGJvZHkgdHIge1xuICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdzsgfSB9XG4gICAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lciB0YWJsZSAuY29sLWxhYmVsIHtcbiAgICAgIGNvbG9yOiAjNzc3Nzc3OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAgIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB0Ym9keSB0ciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIHRhYmxlLnJlc3BvbnNpdmUtdGFibGUgdGJvZHkgdHI6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VlZWVlZTsgfSB9XG4gICAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lciB0YWJsZS5uby13cmFwIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgIG92ZXJmbG93LXg6IGF1dG87IH1cbiAgICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIHRhYmxlLmNvbXBhcmlzb24tdGFibGUgdGJvZHkgdGQ6Zmlyc3QtY2hpbGQge1xuICAgICAgY29sb3I6ICM3Nzc3Nzc7XG4gICAgICBmb250LXdlaWdodDogNjAwOyB9XG4gIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgYmxvY2txdW90ZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBnYXA6IDE1cHg7XG4gICAgbWFyZ2luOiAwIGF1dG8gNDBweDtcbiAgICBwYWRkaW5nOiA1MHB4IDMwcHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1mYW1pbHk6IFwiR2lic29uXCIsIFwiR2lic29uIEZhbGxiYWNrXCIsIFwiQXJpYWxcIjtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjhzLCBib3JkZXItY29sb3IgMC44czsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgYmxvY2txdW90ZSB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGdhcDogMjVweDsgfSB9XG4gICAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lciBibG9ja3F1b3RlOmhvdmVyIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBib3JkZXItY29sb3I6ICNlZWVlZWU7XG4gICAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNnMsIGJvcmRlci1jb2xvciAwLjZzOyB9XG4gICAgICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIGJsb2NrcXVvdGU6aG92ZXI6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICNkYWRhZGE7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIGJsb2NrcXVvdGU6aGFzKGltZykge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgYmxvY2txdW90ZTpsYXN0LW9mLXR5cGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgYmxvY2txdW90ZSB7XG4gICAgICAgIHBhZGRpbmc6IDUwcHggNjBweDsgfSB9XG4gICAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lciBibG9ja3F1b3RlICsgYmxvY2txdW90ZSB7XG4gICAgICBtYXJnaW4tdG9wOiAxNXB4OyB9XG4gICAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lciBibG9ja3F1b3RlOmJlZm9yZSwgLmludGVybmFsLWVycm9yLWNvbnRhaW5lciBibG9ja3F1b3RlOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwi74SNXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgZm9udC1zaXplOiA0MHB4O1xuICAgICAgY29sb3I6ICNlZWVlZWU7XG4gICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICAgIGxpbmUtaGVpZ2h0OiAuODtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIGJsb2NrcXVvdGU6YmVmb3JlIHtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7IH1cbiAgICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIGJsb2NrcXVvdGU6YWZ0ZXIge1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyB9XG4gICAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lciBibG9ja3F1b3RlIGltZyB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIGJsb2NrcXVvdGUgaW1nIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cbiAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lciBhW2hyZWZePVwidGVsOlwiXSwgLmludGVybmFsLWVycm9yLWNvbnRhaW5lciBhW2hyZWZePVwibWFpbHRvOlwiXSB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgYVtocmVmXj1cInRlbDpcIl06aG92ZXIsIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgYVtocmVmXj1cIm1haWx0bzpcIl06aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lciBhW2hyZWZePVwidGVsOlwiXS5zaG93LWNvbnRhY3QtaWNvbjpiZWZvcmUsIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgYVtocmVmXj1cIm1haWx0bzpcIl0uc2hvdy1jb250YWN0LWljb246YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7IH1cbiAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lciBhW2hyZWZePVwibWFpbHRvOlwiXS5zaG93LWNvbnRhY3QtaWNvbjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi74OgXCI7IH1cbiAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lciBhW2hyZWZePVwidGVsOlwiXS5zaG93LWNvbnRhY3QtaWNvbjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi76G5XCI7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsgfVxuICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIHAgYTpub3QoW2NsYXNzKj1cIi1idXR0b25cIl0pIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGdhcDogMCA1cHg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIHAgYTpoYXMoW3N0eWxlKj1cImZsb2F0XCJdKSB7XG4gICAgZGlzcGxheTogaW5saW5lOyB9XG4gIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgYSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lciA+IHA6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAgIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgPiBwOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICBwYWRkaW5nLXRvcDogMjdweDsgfSB9XG4gIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgcCB7XG4gICAgY29sb3I6ICNiMjBjMGM7IH1cbiAgICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIHA6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74GqXCI7XG4gICAgICBjb2xvcjogI2IyMGMwYzsgfVxuXG4jbm9Kc0Jhc2tldE5vdGlmaWNhdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxMDAlO1xuICBwYWRkaW5nOiAxMHB4IDMwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIG9wYWNpdHk6IDA7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgei1pbmRleDogMTsgfVxuICAjbm9Kc0Jhc2tldE5vdGlmaWNhdGlvbiBwIHtcbiAgICBtYXJnaW46IDAgMCAxMHB4O1xuICAgIGNvbG9yOiAjZmYwMTAxO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICAjbm9Kc0Jhc2tldE5vdGlmaWNhdGlvbiBwOmxhc3Qtb2YtdHlwZSB7XG4gICAgICBtYXJnaW46IDAgMCAzMHB4OyB9XG4gICNub0pzQmFza2V0Tm90aWZpY2F0aW9uIGEge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBwYWRkaW5nOiAxNXB4IDIwcHg7XG4gICAgZm9udC1zaXplOiAxcmVtOyB9XG5cbi5ub3RpZmljYXRpb24tY29udGFpbmVyLmNvbXBhdGliaWxpdHkge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LWhlaWdodDogNTAwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDIwcHggMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDEsIDEsIDAuOSk7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICB6LWluZGV4OiAxO1xuICBib3JkZXItY29sb3I6ICNmZmZmZmY7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogMXB4IDAgMDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG4gIC5ub3RpZmljYXRpb24tY29udGFpbmVyLmNvbXBhdGliaWxpdHk6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjAxMDE7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9XG4gIC5ub3RpZmljYXRpb24tY29udGFpbmVyLmNvbXBhdGliaWxpdHkgaDMge1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAubm90aWZpY2F0aW9uLWNvbnRhaW5lci5jb21wYXRpYmlsaXR5IHAge1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAubm90aWZpY2F0aW9uLWNvbnRhaW5lci5jb21wYXRpYmlsaXR5IGEge1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIuY29tcGF0aWJpbGl0eSBhOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgYm94LXNoYWRvdyAwLjhzLCBib3JkZXItY29sb3IgMC44czsgfVxuXG4ubm90aWZpY2F0aW9ucy1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBib3R0b206IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHotaW5kZXg6IDIwMDA7IH1cblxuLm5vdGlmaWNhdGlvbi1jb250YWluZXIge1xuICBtYXgtaGVpZ2h0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgei1pbmRleDogOTk5OTk5OTk5OTtcbiAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjhzOyB9XG4gIC5ub3RpZmljYXRpb24tY29udGFpbmVyLmFjdGl2ZSB7XG4gICAgbWF4LWhlaWdodDogNTAwcHg7XG4gICAgcGFkZGluZzogNy41cHggMTVweDtcbiAgICBib3gtc2hhZG93OiAwcHggMnB4IDRweCAxcHggcmdiYSgxMiwgMTIsIDEzLCAwLjEpO1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDQ1MG1zO1xuICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgM3M7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lci5hY3RpdmUge1xuICAgICAgICBwYWRkaW5nOiAxNXB4IDMwcHg7IH0gfVxuICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAubm90aWZpY2F0aW9uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAubm90aWZpY2F0aW9uLWljb24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIG1hcmdpbjogYXV0byAxMnB4IGF1dG8gMDtcbiAgICBwYWRkaW5nOiA1cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLm5vdGlmaWNhdGlvbi1pY29uIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvIDEwcHggYXV0byAwOyB9IH1cbiAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAubm90aWZpY2F0aW9uLWljb24gaW1nIHtcbiAgICAgIHdpZHRoOiA0MHB4OyB9XG4gIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGZsZXgtYmFzaXM6IDE4MHB4O1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICAgIHdpZHRoOiA3MCU7IH0gfVxuICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBwIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLmJ1dHRvbi1jb250YWluZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWFyZ2luLXRvcDogMTdweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5idXR0b24tY29udGFpbmVyIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIG1hcmdpbjogYXV0bzsgfSB9XG4gICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLmJ1dHRvbi1jb250YWluZXIgW2NsYXNzJD1cIi1idXR0b25cIl0ge1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAuYnV0dG9uLWNvbnRhaW5lciBbY2xhc3MkPVwiLWJ1dHRvblwiXTpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDEycHg7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5idXR0b24tY29udGFpbmVyIFtjbGFzcyQ9XCItYnV0dG9uXCJdOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMTBweDsgfSB9XG4gIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC1oZWlnaHQ6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0cmFuc2l0aW9uOiBwYWRkaW5nLXRvcCAycywgbWF4LWhlaWdodCAwLjhzOyB9XG4gICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZS5hY3RpdmUge1xuICAgICAgbWF4LWhlaWdodDogMzAwcHg7XG4gICAgICBwYWRkaW5nLXRvcDogMjVweDtcbiAgICAgIHRyYW5zaXRpb246IHBhZGRpbmctdG9wIDAuNnMsIG1heC1oZWlnaHQgMC42czsgfVxuICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZS5hY3RpdmUgLnJlYWQtbW9yZS1jb250ZW50IHtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzAwMDAwMDtcbiAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuNnM7IH1cbiAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCB7XG4gICAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjhzOyB9XG4gICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCBoMSB7XG4gICAgICAgIG1hcmdpbjogMCAwIDM1cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMi4xMjVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgY29sb3I6ICMwNjA1MmY7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IGgxOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IGgxOm9ubHktY2hpbGQge1xuICAgICAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgaDIge1xuICAgICAgICBtYXJnaW46IDAgMCAyMHB4O1xuICAgICAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgY29sb3I6ICMwNjA1MmY7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7IH1cbiAgICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgaDI6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgaDI6b25seS1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCBoMyB7XG4gICAgICAgIG1hcmdpbjogMCAwIDIwcHg7XG4gICAgICAgIHBhZGRpbmc6IDE1cHggMDtcbiAgICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICBjb2xvcjogIzA2MDUyZjtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDsgfVxuICAgICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCBoMzpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAgICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCBoMzpvbmx5LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW46IDA7IH1cbiAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IGg0IHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMjBweDtcbiAgICAgICAgcGFkZGluZzogMCAwIDEwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgIGNvbG9yOiAjMDYwNTJmO1xuICAgICAgICBsaW5lLWhlaWdodDogMS40OyB9XG4gICAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IGg0OmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IGg0Om9ubHktY2hpbGQge1xuICAgICAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgaDUge1xuICAgICAgICBtYXJnaW46IDAgMCAyMHB4O1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgY29sb3I6ICMwNjA1MmY7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7IH1cbiAgICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgaDU6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgaDU6b25seS1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCBoNiB7XG4gICAgICAgIG1hcmdpbjogMCAwIDIwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICBjb2xvcjogIzA2MDUyZjtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDsgfVxuICAgICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCBoNjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAgICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCBoNjpvbmx5LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW46IDA7IH1cbiAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IHAge1xuICAgICAgICBtYXJnaW46IHZhcigtLWluZGVudC1tYXJnaW4sIDApO1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgICAgIGNvbG9yOiAjNzc3Nzc3OyB9XG4gICAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IHAgaW1nW3N0eWxlKj1cImZsb2F0OmxlZnRcIl0sIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IHAgaW1nW3N0eWxlKj1cImZsb2F0OiBsZWZ0XCJdLCAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCBwW3N0eWxlKj1cImZsb2F0OmxlZnRcIl0gPiBpbWcge1xuICAgICAgICAgIG1hcmdpbjogLjJlbSAuMmVtIC4yZW0gMDsgfVxuICAgICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCBwIGltZ1tzdHlsZSo9XCJmbG9hdDpyaWdodFwiXSwgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6IHJpZ2h0XCJdLCAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCBwW3N0eWxlKj1cImZsb2F0OnJpZ2h0XCJdID4gaW1nIHtcbiAgICAgICAgICBtYXJnaW46IC4yZW0gMCAuMmVtIC4yZW07IH1cbiAgICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgcCBpbWcge1xuICAgICAgICAgIG1hcmdpbjogLjJlbSAwOyB9XG4gICAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IHAgKyBwIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IHVsLCAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCBvbCB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IHVsIHtcbiAgICAgICAgbWFyZ2luOiAxMHB4O1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMS42O1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBsaW5lLWhlaWdodDogMjVweDsgfVxuICAgICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCB1bCB1bCB7XG4gICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAyNXB4OyB9XG4gICAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IHVsIGxpIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgcGFkZGluZzogMCAwIDAgMTVweDsgfVxuICAgICAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IHVsIGxpOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIHdpZHRoOiA1cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDVweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMTBweDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwNjA1MmY7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7IH1cbiAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IG9sIHtcbiAgICAgICAgbWFyZ2luOiAxMHB4O1xuICAgICAgICBwYWRkaW5nOiAwIDI1cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7IH1cbiAgICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgb2wgb2wge1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IGxvd2VyLWFscGhhOyB9XG4gICAgICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgb2wgb2wgb2wge1xuICAgICAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBsb3dlci1yb21hbjsgfVxuICAgICAgICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgb2wgb2wgb2wgb2wge1xuICAgICAgICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IGxvd2VyLWFscGhhOyB9XG4gICAgICAgICAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IG9sIG9sIG9sIG9sIG9sIHtcbiAgICAgICAgICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IGxvd2VyLXJvbWFuOyB9XG4gICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCBsaSB7XG4gICAgICAgIGNvbG9yOiAjNzc3Nzc3O1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7IH1cbiAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IHVsICsgaDEsIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IG9sICsgaDEge1xuICAgICAgICBtYXJnaW4tdG9wOiAzNXB4OyB9XG4gICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCB1bCArIGgyLCAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCBvbCArIGgyIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDsgfVxuICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgdWwgKyBoMywgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgb2wgKyBoMyB7XG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7IH1cbiAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IHVsICsgaDQsIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IG9sICsgaDQge1xuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4OyB9XG4gICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCB1bCArIGg1LCAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCBvbCArIGg1IHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDsgfVxuICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgdWwgKyBoNiwgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgb2wgKyBoNiB7XG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7IH1cbiAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IGRsIHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgcDpub3QoOmVtcHR5KSArIHRhYmxlLCAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCBwOm5vdCg6ZW1wdHkpICsgLmNvbXBhcmlzb24tdGFibGUtY29udGFpbmVyIHtcbiAgICAgICAgbWFyZ2luOiAxNXB4IDA7IH1cbiAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IHRhYmxlIHtcbiAgICAgICAgLS10aGVhZC1ib3JkZXItY29sb3VyOiAkdGhlYWQtYm9yZGVyLWNvbG91cjtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IHRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgICAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IHRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkIHRyIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS10aGVhZC1ib3JkZXItY29sb3VyKTsgfVxuICAgICAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IHRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkIHRoIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHtcbiAgICAgICAgICAgICAgZGlzcGxheTogdGFibGU7IH0gfVxuICAgICAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IHRhYmxlLnJlc3BvbnNpdmUtdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAgICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCB0YWJsZS5yZXNwb25zaXZlLXRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXA7IH0gfVxuICAgICAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IHRhYmxlLnJlc3BvbnNpdmUtdGFibGUgdGJvZHk6bm90KC5jb21wYXJpc29uLXN1bW1hcnkpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IHRhYmxlLnJlc3BvbnNpdmUtdGFibGUgdGJvZHk6bm90KC5jb21wYXJpc29uLXN1bW1hcnkpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXA7IH0gfVxuICAgICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCB0YWJsZSB0aCB7XG4gICAgICAgICAgcGFkZGluZzogMTBweCAxMHB4IDEwcHg7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IHRhYmxlIHRkIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHg7IH0gfVxuICAgICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCB0YWJsZSB0aGVhZFtjbGFzcyo9XCJwcmVzZXRcIl0gKyB0Ym9keTpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCB0YWJsZSB0aGVhZFtjbGFzcyo9XCJwcmVzZXRcIl0gKyB0Ym9keTpiZWZvcmUge1xuICAgICAgICAgICAgICBtYXJnaW46IDEwcHg7IH0gfVxuICAgICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCB0YWJsZSB0Ym9keSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAgICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCB0YWJsZSB0Ym9keSB0aCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgICAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IHRhYmxlIHRib2R5IHRyOm5vdCg6bGFzdC1jaGlsZCkgdGgge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XG4gICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgdGFibGUgdGJvZHkgdHIge1xuICAgICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3c7IH0gfVxuICAgICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCB0YWJsZSAuY29sLWxhYmVsIHtcbiAgICAgICAgICBjb2xvcjogIzc3Nzc3NzsgfVxuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgICAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IHRhYmxlLnJlc3BvbnNpdmUtdGFibGUgdGJvZHkgdHIge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH0gfVxuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgICAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IHRhYmxlLnJlc3BvbnNpdmUtdGFibGUgdGJvZHkgdHI6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VlZWVlZTsgfSB9XG4gICAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IHRhYmxlLm5vLXdyYXAge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgb3ZlcmZsb3cteDogYXV0bzsgfVxuICAgICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCB0YWJsZS5jb21wYXJpc29uLXRhYmxlIHRib2R5IHRkOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBjb2xvcjogIzc3Nzc3NztcbiAgICAgICAgICBmb250LXdlaWdodDogNjAwOyB9XG4gIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUtdHJpZ2dlciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogMTJweDtcbiAgICBjb2xvcjogIzAwMDAwMDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlLXRyaWdnZXIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cbiAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlLXRyaWdnZXI6aG92ZXIge1xuICAgICAgY29sb3I6ICNhZTk0NjE7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlLXRyaWdnZXI6YWN0aXZlLCAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlLXRyaWdnZXIuYWN0aXZlIHtcbiAgICAgIGNvbG9yOiAjMDYwNTJmO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIucHdhIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTA1MDZkOyB9XG4gIC5ub3RpZmljYXRpb24tY29udGFpbmVyLmNvb2tpZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNzQsIDE3NCwgMTc0LCAwLjkpOyB9XG5cbi8qXHJcblxyXG4tLS0tIEltYWdlIE92ZXJsYXlzIC0tLS0gXHJcblxyXG5JbWFnZSBvdmVybGF5cyBmb3IgZXNzZW50aWFsbHkgaGlnaGxpZ2h0ZWQgaXRlbXM6XHJcbi0gU3BlY2lhbCBPZmZlcnNcclxuLSBGZWF0dXJlZCBJdGVtc1xyXG4tIEJlc3QgU2VsbGVyc1xyXG4tIFByZXZpb3VzbHkgUHVyY2hhc2VkXHJcblxyXG5UaGVzZSBub3JtYWxseSBhcmUgdGhlIHNpemUgb2YgdGhlIHByb2R1Y3QgaW1hZ2Ugd2hldGhlciBpdHMgb24gYSBsaXN0aW5nIG9yIHByb2R1Y3QgcGFnZSB3aXRoIGEgdHJhbnNwYXJlbnQgYmFja2dyb3VuZC5cclxuXHJcbldlIGFsbG93IGZvciBkaWZmZXJlbnQgaW1hZ2VzIHRvIGJlIGRpc3BsYXllZCBpZiBhIGdyb3VwIGlzIG1hcmtlZCBhcyBhIGhpZ2hsaWdodGVkIGl0ZW0gb3Igd2hldGhlciBpdHMgYW4gaW5kaXZpZHVhbCBwcm9kdWN0LlxyXG5cclxuKi9cbiNzcGVjaWFsLW9mZmVycyAub3ZlcmxheS5zdG9jay5zcGVjaWFsT2ZmZXIge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbiNmZWF0dXJlZC1pdGVtcyAub3ZlcmxheS5zdG9jay5mZWF0dXJlZCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuI2Jlc3Qtc2VsbGVycyAub3ZlcmxheS5zdG9jay5iZXN0U2VsbGVyIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uY29udGVudC1jb250YWluZXI6bm90KC5jb21wYWN0KSAub3ZlcmxheSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjsgfVxuXG4jbWFpbkltYWdlQ29udGFpbmVyIC5vdmVybGF5IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyOyB9XG5cbi5pbWFnZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZ3JpZDtcbiAgcGxhY2UtY29udGVudDogY2VudGVyO1xuICBhc3BlY3QtcmF0aW86IHZhcigtLW1lZGlhLWFzcGVjdC1yYXRpbywgYXV0byk7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLmltYWdlOmhhcyhpbWdbc3JjJD1cIi5wbmdcIl0pIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XG4gIC5pbWFnZTpob3ZlciAub3ZlcmxheSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNnM7IH1cbiAgLmltYWdlIGltZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgb2JqZWN0LWZpdDogY29udGFpbjsgfVxuICAgIC5pbWFnZSBpbWdbc3JjJD1cIi5zdmdcIl0sIC5pbWFnZSBpbWdbc3JjJD1cIi5TVkdcIl0ge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgLmltYWdlIGEge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuaW1hZ2UgLm92ZXJsYXkge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjhzOyB9XG4gICAgLmltYWdlIC5vdmVybGF5Lmdyb3VwLnNwZWNpYWxPZmZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvY29udGVudC9pbWFnZXMvb3ZlcmxheXMvZ3JvdXAvc2FzaC1zcGVjaWFsLWViZy5wbmdcIik7IH1cbiAgICAuaW1hZ2UgLm92ZXJsYXkuZ3JvdXAuZmVhdHVyZWQge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2NvbnRlbnQvaW1hZ2VzL292ZXJsYXlzL2dyb3VwL3Nhc2gtZmVhdHVyZWQtZWJnLnBuZ1wiKTsgfVxuICAgIC5pbWFnZSAub3ZlcmxheS5ncm91cC5iZXN0U2VsbGVyIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9jb250ZW50L2ltYWdlcy9vdmVybGF5cy9ncm91cC9zYXNoLWJlc3RzZWxsZXItZWJnLnBuZ1wiKTsgfVxuICAgIC5pbWFnZSAub3ZlcmxheS5zdG9jay5zcGVjaWFsT2ZmZXIge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2NvbnRlbnQvaW1hZ2VzL292ZXJsYXlzL3Byb2R1Y3Qvc2FzaC1zcGVjaWFsLWViZy5wbmdcIik7IH1cbiAgICAuaW1hZ2UgLm92ZXJsYXkuc3RvY2suZmVhdHVyZWQge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2NvbnRlbnQvaW1hZ2VzL292ZXJsYXlzL3Byb2R1Y3Qvc2FzaC1mZWF0dXJlZC1lYmcucG5nXCIpOyB9XG4gICAgLmltYWdlIC5vdmVybGF5LnN0b2NrLmJlc3RTZWxsZXIge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2NvbnRlbnQvaW1hZ2VzL292ZXJsYXlzL3Byb2R1Y3Qvc2FzaC1iZXN0c2VsbGVyLWViZy5wbmdcIik7IH1cbiAgICAuaW1hZ2UgLm92ZXJsYXkuc3RvY2sucHJldmlvdXNseS1wdXJjaGFzZWQge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2NvbnRlbnQvaW1hZ2VzL292ZXJsYXlzL3Byb2R1Y3Qvc2FzaC1wcmV2aW91c2x5LXB1cmNoYXNlZC5wbmdcIik7IH1cbiAgICAuaW1hZ2UgLm92ZXJsYXkuc3RvY2suY29udHJhY3QtaXRlbSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvY29udGVudC9pbWFnZXMvb3ZlcmxheXMvcHJvZHVjdC9zYXNoLWNvbnRyYWN0LWl0ZW0ucG5nXCIpOyB9XG5cbltkYXRhLWNvdW50ZG93bi10aW1lXSB7XG4gIG1heC1oZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLmNvdW50ZG93bi1jb250YWluZXIgcCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG4gIC5jb3VudGRvd24tY29udGFpbmVyIHA6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu+Al1wiO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nOiAwIDdweCAwIDA7XG4gICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGNvbG9yOiAjMDYwNTJmOyB9XG5cbi5jb3VudGRvd24tY29udGFpbmVyIC5jb3VudGRvd24tZGlzcGxheSwgLmNvdW50ZG93bi1jb250YWluZXIgLmRpc3BsYXktbGFiZWwge1xuICBtYXJnaW46IDAgNXB4IDA7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGNvbG9yOiAjMDYwNTJmO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gIC5jb3VudGRvd24tY29udGFpbmVyIC5jb3VudGRvd24tZGlzcGxheSArIC5kaXNwbGF5LWxhYmVsLCAuY291bnRkb3duLWNvbnRhaW5lciAuZGlzcGxheS1sYWJlbCArIC5kaXNwbGF5LWxhYmVsIHtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuXG4uY291bnRkb3duLWNvbnRhaW5lcltjb3VudGRvd24tc3RhdHVzPWFsZXJ0XSAuY291bnRkb3duLWRpc3BsYXksIC5jb3VudGRvd24tY29udGFpbmVyW2NvdW50ZG93bi1zdGF0dXM9YWxlcnRdIC5kaXNwbGF5LWxhYmVsIHtcbiAgY29sb3I6ICNiMjBjMGM7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cblxuLmNvdW50ZG93bi1jb250YWluZXJbY291bnRkb3duLXN0YXR1cz13YXJuaW5nXSAuY291bnRkb3duLWRpc3BsYXksIC5jb3VudGRvd24tY29udGFpbmVyW2NvdW50ZG93bi1zdGF0dXM9d2FybmluZ10gLmRpc3BsYXktbGFiZWwge1xuICBjb2xvcjogI2FlOTQ2MTtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuXG4uY291bnRkb3duLWNvbnRhaW5lci5jb3VudGRvd24taW5hY3RpdmUge1xuICBtYXgtaGVpZ2h0OiAwO1xuICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuNnM7IH1cblxuLmNvdW50ZG93bi1jb250YWluZXIuY291bnRkb3duLWFjdGl2ZSB7XG4gIG1heC1oZWlnaHQ6IDEwMDBweDtcbiAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCA1czsgfVxuXG4vKlxyXG5cclxuLS0tLS0gUFdBICggUHJvZ3Jlc3NpdmUgV2ViIEFwcGxpY2F0aW9uICkgLS0tLS0gXHJcbi0gSW5zdGFsbGF0aW9uIHByb21wdC5cclxuXHJcbiovXG4vKlxyXG4tLS0tLSBQYXltZW50IE1ldGhvZHMgLS0tLS1cclxuSGFuZGxlcyB0aGUgZm9sbG93aW5nOiBcclxuLSBIb3cgcGF5bWVudCBtZXRob2RzIHN1Y2ggb2Ygb3BheW8gaWZyYW1lIGxvb2tzIGluIHRoZSBjaGVja291dC5cclxuKi9cbi5wYXltZW50LWNvbnRhaW5lciB7XG4gIG1hcmdpbjogMCAwIDIwcHg7IH1cbiAgLnBheW1lbnQtY29udGFpbmVyOm5vdCg6aGFzKD4gLnBheW1lbnQtbWV0aG9kKSkge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDAgYXV0byAyMHB4O1xuICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTgpO1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC44cywgYm9yZGVyLWNvbG9yIDAuOHM7IH1cbiAgICAucGF5bWVudC1jb250YWluZXI6bm90KDpoYXMoPiAucGF5bWVudC1tZXRob2QpKTpob3ZlciB7XG4gICAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjYzhjOGM4O1xuICAgICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjZzLCAwLjZzOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLnBheW1lbnQtY29udGFpbmVyOm5vdCg6aGFzKD4gLnBheW1lbnQtbWV0aG9kKSkge1xuICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICAgIG1hcmdpbjogMCAwIDMwcHg7IH0gfVxuICAgIC5wYXltZW50LWNvbnRhaW5lcjpub3QoOmhhcyg+IC5wYXltZW50LW1ldGhvZCkpIGlmcmFtZSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGJvcmRlcjogMDsgfVxuICAgIC5wYXltZW50LWNvbnRhaW5lcjpub3QoOmhhcyg+IC5wYXltZW50LW1ldGhvZCkpOmhhcyguY29udGFpbmVyLXJlc2l6ZWQpIHtcbiAgICAgIHdpZHRoOiBmaXQtY29udGVudDsgfVxuICAucGF5bWVudC1jb250YWluZXIgLnBheW1lbnQtbWV0aG9kIHtcbiAgICBtYXgtd2lkdGg6IDUwMHB4O1xuICAgIG1pbi1oZWlnaHQ6IDUwNHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjZGFkYWRhO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjhzLCBib3JkZXItY29sb3IgMC44czsgfVxuICAgIC5wYXltZW50LWNvbnRhaW5lciAucGF5bWVudC1tZXRob2Q6aG92ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZWVlZWVlO1xuICAgICAgYm94LXNoYWRvdzogMHB4IDJweCA0cHggMXB4IHJnYmEoMTIsIDEyLCAxMywgMC4xKTtcbiAgICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC42cywgYm9yZGVyLWNvbG9yIDAuNnM7IH1cbiAgICAucGF5bWVudC1jb250YWluZXIgLnBheW1lbnQtbWV0aG9kIGlmcmFtZSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogNTAwcHg7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgLnBheW1lbnQtY29udGFpbmVyIC5wYXltZW50LW1ldGhvZCBpZnJhbWUjb3BheW8taWZyYW1lIHtcbiAgICAgICAgaGVpZ2h0OiA1NTBweDtcbiAgICAgICAgbWluLWhlaWdodDogNTAwcHg7IH1cbiAgLnBheW1lbnQtY29udGFpbmVyIC5waS1jYXJkLXBheW1lbnQge1xuICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAgIC5wYXltZW50LWNvbnRhaW5lciAucGktY2FyZC1wYXltZW50LnNtYWxsIHtcbiAgICAgIHdpZHRoOiAyNTBweDtcbiAgICAgIGhlaWdodDogNDAwcHg7IH1cbiAgICAucGF5bWVudC1jb250YWluZXIgLnBpLWNhcmQtcGF5bWVudC5tZWRpdW0ge1xuICAgICAgd2lkdGg6IDM5MHB4O1xuICAgICAgaGVpZ2h0OiA0MDBweDsgfVxuICAgIC5wYXltZW50LWNvbnRhaW5lciAucGktY2FyZC1wYXltZW50LmxhcmdlIHtcbiAgICAgIHdpZHRoOiA1MDBweDtcbiAgICAgIGhlaWdodDogNjAwcHg7IH1cbiAgICAucGF5bWVudC1jb250YWluZXIgLnBpLWNhcmQtcGF5bWVudC5leHRyYS1sYXJnZSB7XG4gICAgICB3aWR0aDogNjAwcHg7XG4gICAgICBoZWlnaHQ6IDQwMHB4OyB9XG4gICAgLnBheW1lbnQtY29udGFpbmVyIC5waS1jYXJkLXBheW1lbnQgaWZyYW1lIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlOyB9XG5cbmZvcm0gKyAucGF5bWVudC1tZXRob2Qtc2VsZWN0b3Ige1xuICBtYXJnaW4tdG9wOiAyMHB4OyB9XG5cbi5wYXltZW50LW1ldGhvZC1zZWxlY3RvciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWJvdHRvbTogNTBweDsgfVxuICAucGF5bWVudC1tZXRob2Qtc2VsZWN0b3IgLnBheW1lbnQtbWV0aG9kLWNvbnRhaW5lcjpvbmx5LWNoaWxkIC5hY2NvcmRpb24tdGl0bGU6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLnBheW1lbnQtbWV0aG9kLXNlbGVjdG9yIC5wYXltZW50LW1ldGhvZC1jb250YWluZXIuY2FyZC1wYXltZW50IC50aXRsZS1pY29uIHtcbiAgICB3aWR0aDogMzBweDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvdGVtcGxhdGUvY29udGVudC9kZXZlbG9wbWVudC9pbWFnZXMvaWNvbnMvY2FyZC1wYXltZW50LnN2Z1wiKTsgfVxuICAucGF5bWVudC1tZXRob2Qtc2VsZWN0b3IgLnBheW1lbnQtbWV0aG9kLWNvbnRhaW5lci5wYXlwYWwgLnRpdGxlLWljb24ge1xuICAgIHdpZHRoOiAxMDBweDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvdGVtcGxhdGUvY29udGVudC9kZXZlbG9wbWVudC9pbWFnZXMvaWNvbnMvcGF5cGFsLnN2Z1wiKTsgfVxuICAucGF5bWVudC1tZXRob2Qtc2VsZWN0b3IgLnBheW1lbnQtbWV0aG9kLWNvbnRhaW5lci5nb29nbGUtcGF5IC5hY2NvcmRpb24tdGl0bGUge1xuICAgIHBhZGRpbmc6IDAgMjBweCAwIDA7IH1cbiAgLnBheW1lbnQtbWV0aG9kLXNlbGVjdG9yIC5wYXltZW50LW1ldGhvZC1jb250YWluZXIuZ29vZ2xlLXBheSAudGl0bGUtaWNvbiB7XG4gICAgd2lkdGg6IDExNXB4O1xuICAgIGhlaWdodDogNzJweDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvdGVtcGxhdGUvY29udGVudC9kZXZlbG9wbWVudC9pbWFnZXMvaWNvbnMvZ29vZ2xlLXBheS5zdmdcIik7IH1cbiAgLnBheW1lbnQtbWV0aG9kLXNlbGVjdG9yIC5wYXltZW50LW1ldGhvZC1jb250YWluZXIuYXBwbGUtcGF5IC50aXRsZS1pY29uIHtcbiAgICB3aWR0aDogNjBweDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvdGVtcGxhdGUvY29udGVudC9kZXZlbG9wbWVudC9pbWFnZXMvaWNvbnMvYXBwbHktcGF5LnN2Z1wiKTsgfVxuICAucGF5bWVudC1tZXRob2Qtc2VsZWN0b3IgLnBheW1lbnQtbWV0aG9kLWNvbnRhaW5lciAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICBnYXA6IDEwcHg7XG4gICAgcGFkZGluZzogMjBweCAyMHB4OyB9XG4gIC5wYXltZW50LW1ldGhvZC1zZWxlY3RvciAucGF5bWVudC1tZXRob2QtY29udGFpbmVyLmNhcmQtcGF5bWVudC5vcGF5byB7XG4gICAgLS1jb250YWluZXItZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG4gICAgLS1jb250YWluZXItZm9udC1zaXplOiAxcmVtO1xuICAgIC0tY29udGFpbmVyLWxpbmUtaGVpZ2h0OiA0MHB4OyB9XG4gIC5wYXltZW50LW1ldGhvZC1zZWxlY3RvciAucGF5bWVudC1tZXRob2QtY29udGFpbmVyLmNhcmQtcGF5bWVudCAucGFnZS1idXR0b25zLWNvbnRhaW5lciB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAucGF5bWVudC1tZXRob2Qtc2VsZWN0b3IgLnBheW1lbnQtbWV0aG9kLWNvbnRhaW5lci5jYXJkLXBheW1lbnQgLmJ1dHRvbi1jb250YWluZXIge1xuICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogMjBweDtcbiAgICBtYXJnaW46IDAgYXV0bzsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5wYXltZW50LW1ldGhvZC1zZWxlY3RvciAucGF5bWVudC1tZXRob2QtY29udGFpbmVyLmNhcmQtcGF5bWVudCAuYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgICAgIG1hcmdpbjogMDsgfSB9XG4gIC5wYXltZW50LW1ldGhvZC1zZWxlY3RvciAucGF5bWVudC1tZXRob2QtY29udGFpbmVyLmNhcmQtcGF5bWVudCAuY29udHJvbC5jaGVja2JveCB7XG4gICAgbWF4LXdpZHRoOiA2MDBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2RkZDsgfVxuICAgIC5wYXltZW50LW1ldGhvZC1zZWxlY3RvciAucGF5bWVudC1tZXRob2QtY29udGFpbmVyLmNhcmQtcGF5bWVudCAuY29udHJvbC5jaGVja2JveC5jaGVja2JveCAuY2hlY2tib3gge1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cbiAgICAucGF5bWVudC1tZXRob2Qtc2VsZWN0b3IgLnBheW1lbnQtbWV0aG9kLWNvbnRhaW5lci5jYXJkLXBheW1lbnQgLmNvbnRyb2wuY2hlY2tib3ggLmxhYmVsIHtcbiAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1jb250YWluZXItZm9udC1mYW1pbHkpO1xuICAgICAgZm9udC1zaXplOiB2YXIoLS1jb250YWluZXItZm9udC1zaXplKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1jb250YWluZXItbGluZS1oZWlnaHQpOyB9XG4gIC5wYXltZW50LW1ldGhvZC1zZWxlY3RvciAucGF5bWVudC1tZXRob2QtY29udGFpbmVyIC5kZXRhaWxzLWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMCAyMHB4OyB9XG4gICAgLnBheW1lbnQtbWV0aG9kLXNlbGVjdG9yIC5wYXltZW50LW1ldGhvZC1jb250YWluZXIgLmRldGFpbHMtY29udGFpbmVyICsgLnBheW1lbnQtY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbi10b3A6IDIwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAucGF5bWVudC1tZXRob2Qtc2VsZWN0b3IgLnBheW1lbnQtbWV0aG9kLWNvbnRhaW5lciAuZGV0YWlscy1jb250YWluZXIge1xuICAgICAgICB3aWR0aDogY2FsYyg0NDBweCArIDIwcHgpOyB9IH1cbiAgLnBheW1lbnQtbWV0aG9kLXNlbGVjdG9yIC5wYXltZW50LW1ldGhvZC1jb250YWluZXIgaWZyYW1lIHtcbiAgICBib3JkZXI6IDA7IH1cbiAgLnBheW1lbnQtbWV0aG9kLXNlbGVjdG9yIC5wYXlwYWwtYnV0dG9uIHtcbiAgICBtYXgtd2lkdGg6IDM0MHB4OyB9XG5cbi5jYXJkLWZyYW1lLWNvbnRhaW5lciB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLyoqXHJcblxyXG4tLS0tIFNvY2lhbCBNZWRpYSBJY29ucyAtLS0tIFxyXG5cclxuV2hlcmUgdGhlc2UgZ2V0IHVzZWQ6XHJcbi0gT24gdGhlIHByb2R1Y3QgcGFnZSB0byBzaGFyZSBhIHNrdSBvbiBlaXRoZXIgb2YgdGhlIGZvbGxvd2luZzpcclxuICAgIC0gRmFjZWJvb2tcclxuICAgIC0gVHdpdHRlclxyXG4gICAgLSBMaW5rZWRJbiBcclxuICAgIC0gRW1haWxcclxuLSBJbiB0aGUgZm9vdGVyIHRvIHRha2UgdGhlIHVzZXIgdG8gdGhlIG9yZ2FuaXNhdGlvbidzIHNvY2lhbCBtZWRpYSBwYWdlc1xyXG4tIFRoZXJlIGFyZSB0d28gY29sb3VyIG1vZGVzOlxyXG4gICAgLSBzaXRlLXNwZWNpZmljOiBtYXRjaGVzIHRoZSBjdXN0b21lcidzIHNpdGUgYnJhbmRpbmcuXHJcbiAgICAtIHNvY2lhbC1icmFuZGluZzogZm9sbG93cyB0aGUgYnJhbmQgZ3VpZGVsaW5lcyBvZiBlYWNoIHNvY2lhbCBwbGF0Zm9ybS5cclxuXHJcbioqL1xuLnNvY2lhbC1pY29ucy1oZWFkaW5nIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb2xvcjogIzA2MDUyZjsgfVxuXG4uc29jaWFsLWljb25zIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAuc29jaWFsLWljb25zLnByb2R1Y3QsIC5zb2NpYWwtaWNvbnMubW9kdWxlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGdhcDogOHB4O1xuICAgIG1hcmdpbjogMTBweCAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLnNvY2lhbC1pY29ucy5wcm9kdWN0LCAuc29jaWFsLWljb25zLm1vZHVsZSB7XG4gICAgICAgIGZsb2F0OiByaWdodDsgfSB9XG4gIC5zb2NpYWwtaWNvbnMucmV2aWV3IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGdhcDogOHB4OyB9XG4gIC5zb2NpYWwtaWNvbnMuZm9vdGVyIHtcbiAgICBtYXJnaW46IDAgMCAyMHB4O1xuICAgIHBhZGRpbmc6IDAgMCAxNXB4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5zb2NpYWwtaWNvbnMuZm9vdGVyIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMjBweDtcbiAgICAgICAgcGFkZGluZzogMCAwIDMwcHg7IH0gfVxuICAgIC5zb2NpYWwtaWNvbnMuZm9vdGVyIC5zb2NpYWwtaWNvbnMtaGVhZGluZyBoMyB7XG4gICAgICBtYXJnaW46IDAgMCAzMHB4O1xuICAgICAgY29sb3I6ICMwNjA1MmY7XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5zb2NpYWwtaWNvbnMuZm9vdGVyIC5zb2NpYWwtaWNvbnMtaGVhZGluZyBoMyB7XG4gICAgICAgICAgbWFyZ2luOiAwIDAgNDBweDsgfSB9XG4gICAgLnNvY2lhbC1pY29ucy5mb290ZXIgYSB7XG4gICAgICB3aWR0aDogNDVweDtcbiAgICAgIGhlaWdodDogNDVweDsgfVxuICAgICAgLnNvY2lhbC1pY29ucy5mb290ZXIgYTpiZWZvcmUge1xuICAgICAgICBmb250LXNpemU6IDIzcHg7IH1cbiAgICAuc29jaWFsLWljb25zLmZvb3RlciAuaWNvbnMtY29udGFpbmVyIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gIC5zb2NpYWwtaWNvbnMgYSB7XG4gICAgd2lkdGg6IDM1cHg7XG4gICAgaGVpZ2h0OiAzNXB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLXdpZHRoOiAycHg7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC44cyAsIG9wYWNpdHkgMC44czsgfVxuICAgIC5zb2NpYWwtaWNvbnMgYTpiZWZvcmUge1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIEJyYW5kc1wiO1xuICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gICAgLnNvY2lhbC1pY29ucyBhOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNhZTk0NjE7XG4gICAgICBib3JkZXItY29sb3I6ICNhZTk0NjE7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzLCBjb2xvciAwLjZzICwgb3BhY2l0eSAwLjZzOyB9XG4gICAgICAuc29jaWFsLWljb25zIGE6aG92ZXI6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgICAuc29jaWFsLWljb25zIGE6YWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwNjA1MmY7XG4gICAgICBib3JkZXItY29sb3I6ICMwNjA1MmY7IH1cbiAgICAgIC5zb2NpYWwtaWNvbnMgYTphY3RpdmU6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAuc29jaWFsLWljb25zIGEuZmFjZWJvb2sge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMTg3N2YyOyB9XG4gICAgICAuc29jaWFsLWljb25zIGEuZmFjZWJvb2s6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTg3N2YyOyB9XG4gICAgICAgIC5zb2NpYWwtaWNvbnMgYS5mYWNlYm9vazpob3ZlcjpiZWZvcmUge1xuICAgICAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgICAuc29jaWFsLWljb25zIGEuZmFjZWJvb2s6YWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNCwgMTE5LCAyNDIsIDAuNik7IH1cbiAgICAgIC5zb2NpYWwtaWNvbnMgYS5mYWNlYm9vazpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIu+OnlwiO1xuICAgICAgICBjb2xvcjogIzE4NzdmMjsgfVxuICAgIC5zb2NpYWwtaWNvbnMgYS50d2l0dGVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogIzFEQTFGMjsgfVxuICAgICAgLnNvY2lhbC1pY29ucyBhLnR3aXR0ZXI6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMURBMUYyOyB9XG4gICAgICAgIC5zb2NpYWwtaWNvbnMgYS50d2l0dGVyOmhvdmVyOmJlZm9yZSB7XG4gICAgICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAgIC5zb2NpYWwtaWNvbnMgYS50d2l0dGVyOmFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjksIDE2MSwgMjQyLCAwLjYpOyB9XG4gICAgICAuc29jaWFsLWljb25zIGEudHdpdHRlcjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIu6Ym1wiO1xuICAgICAgICBjb2xvcjogIzFEQTFGMjsgfVxuICAgIC5zb2NpYWwtaWNvbnMgYS5saW5rZWRJbiB7XG4gICAgICBib3JkZXItY29sb3I6ICMwQTY2QzI7IH1cbiAgICAgIC5zb2NpYWwtaWNvbnMgYS5saW5rZWRJbjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwQTY2QzI7IH1cbiAgICAgICAgLnNvY2lhbC1pY29ucyBhLmxpbmtlZEluOmhvdmVyOmJlZm9yZSB7XG4gICAgICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAgIC5zb2NpYWwtaWNvbnMgYS5saW5rZWRJbjphY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEwLCAxMDIsIDE5NCwgMC42KTsgfVxuICAgICAgLnNvY2lhbC1pY29ucyBhLmxpbmtlZEluOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwi74OhXCI7XG4gICAgICAgIGNvbG9yOiAjMEE2NkMyOyB9XG4gICAgLnNvY2lhbC1pY29ucyBhLmluc3RhZ3JhbSB7XG4gICAgICBib3JkZXItd2lkdGg6IDJweDtcbiAgICAgIGJvcmRlci1jb2xvcjogI2Q2MjQ5ZjtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuOHM7IH1cbiAgICAgIC5zb2NpYWwtaWNvbnMgYS5pbnN0YWdyYW06aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZDYyNDlmO1xuICAgICAgICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQoY2lyY2xlIGF0IDMwJSAxMDclLCAjZmRmNDk3IDAlLCAjZmRmNDk3IDUlLCAjZmQ1OTQ5IDQ1JSwgI2Q2MjQ5ZiA2MCUsICMyODVBRUIgOTAlKTtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuNnM7IH1cbiAgICAgICAgLnNvY2lhbC1pY29ucyBhLmluc3RhZ3JhbTpob3ZlcjpiZWZvcmUge1xuICAgICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC42czsgfVxuICAgICAgLnNvY2lhbC1pY29ucyBhLmluc3RhZ3JhbTphY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZDYyNDlmO1xuICAgICAgICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQoY2lyY2xlIGF0IDMwJSAxMDclLCAjZmRmNDk3IDAlLCAjZmRmNDk3IDUlLCAjZmQ1OTQ5IDQ1JSwgI2Q2MjQ5ZiA2MCUsICMyODVBRUIgOTAlKTtcbiAgICAgICAgb3BhY2l0eTogMC42OyB9XG4gICAgICAgIC5zb2NpYWwtaWNvbnMgYS5pbnN0YWdyYW06YWN0aXZlOmJlZm9yZSB7XG4gICAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgICAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6IGluaGVyaXQ7IH1cbiAgICAgIC5zb2NpYWwtaWNvbnMgYS5pbnN0YWdyYW06YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCLvha1cIjtcbiAgICAgICAgcGFkZGluZzogNXB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZDYyNDlmO1xuICAgICAgICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQoY2lyY2xlIGF0IDMwJSAxMDclLCAjZmRmNDk3IDAlLCAjZmRmNDk3IDUlLCAjZmQ1OTQ5IDQ1JSwgI2Q2MjQ5ZiA2MCUsICMyODVBRUIgOTAlKTtcbiAgICAgICAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XG4gICAgICAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5zb2NpYWwtaWNvbnMgYS55b3V0dWJlIHtcbiAgICAgIGJvcmRlci1jb2xvcjogI0ZGMDAwMDsgfVxuICAgICAgLnNvY2lhbC1pY29ucyBhLnlvdXR1YmU6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkYwMDAwOyB9XG4gICAgICAgIC5zb2NpYWwtaWNvbnMgYS55b3V0dWJlOmhvdmVyOmJlZm9yZSB7XG4gICAgICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAgIC5zb2NpYWwtaWNvbnMgYS55b3V0dWJlOmFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAwLCAwLCAwLjYpOyB9XG4gICAgICAuc29jaWFsLWljb25zIGEueW91dHViZTpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIu+Fp1wiO1xuICAgICAgICBjb2xvcjogI0ZGMDAwMDsgfVxuICAgIC5zb2NpYWwtaWNvbnMgYS5nb29nbGUtcGx1cywgLnNvY2lhbC1pY29ucyBhLmdvb2dsZV9wbHVzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogI0ZGMDAwMDsgfVxuICAgICAgLnNvY2lhbC1pY29ucyBhLmdvb2dsZS1wbHVzOmhvdmVyLCAuc29jaWFsLWljb25zIGEuZ29vZ2xlX3BsdXM6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkYwMDAwOyB9XG4gICAgICAgIC5zb2NpYWwtaWNvbnMgYS5nb29nbGUtcGx1czpob3ZlcjpiZWZvcmUsIC5zb2NpYWwtaWNvbnMgYS5nb29nbGVfcGx1czpob3ZlcjpiZWZvcmUge1xuICAgICAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgICAuc29jaWFsLWljb25zIGEuZ29vZ2xlLXBsdXM6YWN0aXZlLCAuc29jaWFsLWljb25zIGEuZ29vZ2xlX3BsdXM6YWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDAsIDAsIDAuNik7IH1cbiAgICAgIC5zb2NpYWwtaWNvbnMgYS5nb29nbGUtcGx1czpiZWZvcmUsIC5zb2NpYWwtaWNvbnMgYS5nb29nbGVfcGx1czpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIu+DlVwiO1xuICAgICAgICBjb2xvcjogI0ZGMDAwMDsgfVxuICAgIC5zb2NpYWwtaWNvbnMgYS5lbWFpbDpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvh5hcIjtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiOyB9XG4gIC5zb2NpYWwtaWNvbnMgLmljb25zLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IDhweDsgfVxuXG4ucmV2ZWFsLXNvY2lhbC1pY29ucy1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLnJldmVhbC1zb2NpYWwtaWNvbnMtY29udGFpbmVyIC5zb2NpYWwtaWNvbnMge1xuICAgIG1heC13aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRyYW5zaXRpb246IG1heC13aWR0aCAwLjhzOyB9XG4gICAgLnJldmVhbC1zb2NpYWwtaWNvbnMtY29udGFpbmVyIC5zb2NpYWwtaWNvbnMucmV2ZWFsLW5leHQtdG8tdG9nZ2xlLmFjdGl2ZSB7XG4gICAgICBtYXgtd2lkdGg6IDMwMHB4O1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgdHJhbnNpdGlvbjogbWF4LXdpZHRoIDAuNnM7IH1cbiAgICAgIC5yZXZlYWwtc29jaWFsLWljb25zLWNvbnRhaW5lciAuc29jaWFsLWljb25zLnJldmVhbC1uZXh0LXRvLXRvZ2dsZS5hY3RpdmUgKyAuc29jaWFsLWljb25zLXNoYXJlLXRvZ2dsZSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4OyB9XG4gICAgLnJldmVhbC1zb2NpYWwtaWNvbnMtY29udGFpbmVyIC5zb2NpYWwtaWNvbnMucmV2ZWFsLW92ZXItdG9nZ2xlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgZ2FwOiA4cHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XG4gICAgICAucmV2ZWFsLXNvY2lhbC1pY29ucy1jb250YWluZXIgLnNvY2lhbC1pY29ucy5yZXZlYWwtb3Zlci10b2dnbGUuYWN0aXZlIHtcbiAgICAgICAgbWF4LXdpZHRoOiAzMDBweDtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICB0cmFuc2l0aW9uOiBtYXgtd2lkdGggMC42cztcbiAgICAgICAgcGFkZGluZzogOHB4O1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjMDYwNTJmO1xuICAgICAgICB6LWluZGV4OiAxMDAwOyB9XG4gICAgICAgIC5yZXZlYWwtc29jaWFsLWljb25zLWNvbnRhaW5lciAuc29jaWFsLWljb25zLnJldmVhbC1vdmVyLXRvZ2dsZS5hY3RpdmUgKyAuc29jaWFsLWljb25zLXNoYXJlLXRvZ2dsZSB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAgIC5yZXZlYWwtc29jaWFsLWljb25zLWNvbnRhaW5lciAuc29jaWFsLWljb25zLnJldmVhbC1vdmVyLXRvZ2dsZSAucmV2ZWFsLWNsb3NlLWJ1dHRvbi1jb250YWluZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMTBweDsgfVxuICAgICAgICAucmV2ZWFsLXNvY2lhbC1pY29ucy1jb250YWluZXIgLnNvY2lhbC1pY29ucy5yZXZlYWwtb3Zlci10b2dnbGUgLnJldmVhbC1jbG9zZS1idXR0b24tY29udGFpbmVyOmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgICBoZWlnaHQ6IDgwJTtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjZGFkYWRhOyB9XG4gICAgICAucmV2ZWFsLXNvY2lhbC1pY29ucy1jb250YWluZXIgLnNvY2lhbC1pY29ucy5yZXZlYWwtb3Zlci10b2dnbGUgLnJldmVhbC1jbG9zZS1idXR0b24ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgICAgIC5yZXZlYWwtc29jaWFsLWljb25zLWNvbnRhaW5lciAuc29jaWFsLWljb25zLnJldmVhbC1vdmVyLXRvZ2dsZSAucmV2ZWFsLWNsb3NlLWJ1dHRvbjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6IFwi74CNXCI7XG4gICAgICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjZzLCBjb2xvciAwLjhzOyB9XG4gICAgICAgIC5yZXZlYWwtc29jaWFsLWljb25zLWNvbnRhaW5lciAuc29jaWFsLWljb25zLnJldmVhbC1vdmVyLXRvZ2dsZSAucmV2ZWFsLWNsb3NlLWJ1dHRvbjpob3ZlcjpiZWZvcmUge1xuICAgICAgICAgIGNvbG9yOiAjYWU5NDYxO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC42cywgY29sb3IgMC42czsgfVxuICAgICAgICAucmV2ZWFsLXNvY2lhbC1pY29ucy1jb250YWluZXIgLnNvY2lhbC1pY29ucy5yZXZlYWwtb3Zlci10b2dnbGUgLnJldmVhbC1jbG9zZS1idXR0b246YWN0aXZlOmJlZm9yZSB7XG4gICAgICAgICAgY29sb3I6ICMwNjA1MmY7XG4gICAgICAgICAgdHJhbnNpdGlvbjogZm9udC1zaXplIDEuMnMsIGNvbG9yIDAuNnM7IH1cblxuLnNvY2lhbC1pY29ucy1zaGFyZS10b2dnbGUgLnNoYXJlLWJ1dHRvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgZ2FwOiAxMHB4O1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBjb2xvcjogIzg4ODg4ODtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAuc29jaWFsLWljb25zLXNoYXJlLXRvZ2dsZSAuc2hhcmUtYnV0dG9uOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIu+HoFwiO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICBjb2xvcjogIzA2MDUyZjtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAuc29jaWFsLWljb25zLXNoYXJlLXRvZ2dsZSAuc2hhcmUtYnV0dG9uOmhvdmVyLCAuc29jaWFsLWljb25zLXNoYXJlLXRvZ2dsZSAuc2hhcmUtYnV0dG9uOmhvdmVyOmFmdGVyIHtcbiAgICBjb2xvcjogI2FlOTQ2MTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gIC5zb2NpYWwtaWNvbnMtc2hhcmUtdG9nZ2xlIC5zaGFyZS1idXR0b246YWN0aXZlLCAuc29jaWFsLWljb25zLXNoYXJlLXRvZ2dsZSAuc2hhcmUtYnV0dG9uOmFjdGl2ZTphZnRlciB7XG4gICAgY29sb3I6ICMwNjA1MmY7IH1cblxuLypcclxuLS0tLS0gRXF1aXBtZW50IHNlbGVjdG9yICggUHJpbnRlciB3aXphcmQgKSAtLS0tLS0gXHJcbi0gVGhlIGVxdWlwbWVudCBzZWxlY3RvciBkcm9wIGRvd24gc2VsZWN0aW9uLlxyXG4tIEVxdWlwbWVudCBzZWxlY3RvciBsaXN0IHdoaWNoIGlzIGVzc2VudGlhbGx5IGEgbGlzdCBvZiBhbmNob3JzLlxyXG4qL1xuLmVxdWlwbWVudC1zZWxlY3Rvci1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGJhY2tncm91bmQ6ICMwNjA1MmY7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgwZGVnLCAjZGFkYWRhIDUlLCAjNzc3Nzc3IDY1JSk7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5lcXVpcG1lbnQtc2VsZWN0b3ItY29udGFpbmVyIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBwYWRkaW5nOiAyMHB4IDMwcHg7IH0gfVxuXG4uZXF1aXBtZW50LXNlbGVjdG9yLWhlYWRpbmcge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogMTBweCAwIDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zaXplOiAxLjYyNXJlbTtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXdlaWdodDogNDAwO1xuICBjb2xvcjogI2ZmZmZmZjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmVxdWlwbWVudC1zZWxlY3Rvci1oZWFkaW5nIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cbiAgLmVxdWlwbWVudC1zZWxlY3Rvci1oZWFkaW5nIHNwYW4ge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmVxdWlwbWVudC1zZWxlY3Rvci1oZWFkaW5nIHNwYW4ge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAyNXB4OyB9IH1cblxuLmVxdWlwbWVudC1zZWxlY3RvcnMge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZmxleDogMTtcbiAgcGFkZGluZzogMTBweCAxMHB4IDIwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5lcXVpcG1lbnQtc2VsZWN0b3JzIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgLmVxdWlwbWVudC1zZWxlY3RvcnMgZm9ybSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5lcXVpcG1lbnQtc2VsZWN0b3JzIGxhYmVsLmNvbnRyb2wge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogNXB4IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuZXF1aXBtZW50LXNlbGVjdG9ycyBsYWJlbC5jb250cm9sIHtcbiAgICAgICAgbWF4LXdpZHRoOiAzMDBweDtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgbWFyZ2luOiAwIDE1cHg7IH0gfVxuICAuZXF1aXBtZW50LXNlbGVjdG9ycyBhIHtcbiAgICBtYXgtaGVpZ2h0OiA0NXB4O1xuICAgIG1hcmdpbjogNXB4IGF1dG87IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuZXF1aXBtZW50LXNlbGVjdG9ycyBhIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMCBhdXRvOyB9IH1cblxuLmVxdWlwbWVudC1zZWxlY3Rvci1saXN0IHtcbiAgbWFyZ2luLXRvcDogMjBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmVxdWlwbWVudC1zZWxlY3Rvci1saXN0IHtcbiAgICAgIG1hcmdpbi10b3A6IDQwcHg7IH0gfVxuICAuZXF1aXBtZW50LXNlbGVjdG9yLWxpc3QgaDIge1xuICAgIG1hcmdpbjogMCAwIDAgMCAyNXB4LTEwcHg7IH1cbiAgLmVxdWlwbWVudC1zZWxlY3Rvci1saXN0IHVsIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgICAuZXF1aXBtZW50LXNlbGVjdG9yLWxpc3QgdWwgbGkge1xuICAgICAgZmxleC1iYXNpczogMTAwJTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDEwcHggMDsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLmVxdWlwbWVudC1zZWxlY3Rvci1saXN0IHVsIGxpIHtcbiAgICAgICAgICBmbGV4LWJhc2lzOiA1MCU7IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAuZXF1aXBtZW50LXNlbGVjdG9yLWxpc3QgdWwgbGkge1xuICAgICAgICAgIGZsZXgtYmFzaXM6IDMzJTsgfSB9XG4gICAgLmVxdWlwbWVudC1zZWxlY3Rvci1saXN0IHVsIGE6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuLypcclxuLS0tLS0gUGljayAmIE1peCAtLS0tLS0gXHJcbi0gQSBzZWxlY3Rpb24gb2YgbXVsdGlwbGUgaXRlbXMgdG8gY3JlYXRlIGEgcGFjay5cclxuKi9cbi5waWNrLW4tbWl4LWNvbnRhaW5lciB7XG4gIG1hcmdpbjogMTVweCAwO1xuICBwYWRkaW5nOiAwIDAgMjVweDtcbiAgYmFja2dyb3VuZDogIzA2MDUyZjtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDBkZWcsICNkYWRhZGEgNSUsICM3Nzc3NzcgNjUlKTtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLnBpY2stbi1taXgtY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmc6IDAgMCA1MHB4OyB9IH1cblxuLnBpY2stbi1taXgtaGVhZGVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb2xvcjogI2ZmZmZmZjsgfVxuICAucGljay1uLW1peC1oZWFkZXIgaDIge1xuICAgIG1hcmdpbjogMCAwIDI1cHg7XG4gICAgZm9udC1zaXplOiAyLjE4NzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAucGljay1uLW1peC1oZWFkZXIgaDI6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cbiAgLnBpY2stbi1taXgtaGVhZGVyIGgzIHtcbiAgICBmb250LXNpemU6IDEuNjI1cmVtO1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5waWNrLW4tbWl4LWhlYWRlciBoNCB7XG4gICAgcGFkZGluZzogMCAxMHB4O1xuICAgIG1hcmdpbjogMCAwIDIwcHg7XG4gICAgZm9udC1zaXplOiAxLjY4NzVyZW07XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAucGljay1uLW1peC1oZWFkZXIgaDQgc3BhbiB7XG4gICAgICBjb2xvcjogI2FlOTQ2MTsgfVxuICAucGljay1uLW1peC1oZWFkZXIgcCB7XG4gICAgcGFkZGluZzogMCAxMHB4O1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtOyB9XG4gIC5waWNrLW4tbWl4LWhlYWRlciAuaGVhZGVyLWJhY2tncm91bmQge1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgcGFkZGluZzogMzBweCAxMHB4O1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZmZmZmZmOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLnBpY2stbi1taXgtaGVhZGVyIC5oZWFkZXItYmFja2dyb3VuZCB7XG4gICAgICAgIHBhZGRpbmc6IDIwcHggMTBweDsgfSB9XG5cbi5waWNrLW4tbWl4LXNlbGVjdG9yLWNvbnRhaW5lciB7XG4gIHBhZGRpbmc6IDAgMTBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLnBpY2stbi1taXgtc2VsZWN0b3ItY29udGFpbmVyIHtcbiAgICAgIG1heC13aWR0aDogODUwcHg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbjogYXV0bzsgfSB9XG4gIC5waWNrLW4tbWl4LXNlbGVjdG9yLWNvbnRhaW5lciAucGljay1uLW1peC1pdGVtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIG1hcmdpbjogNy41cHggMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5waWNrLW4tbWl4LXNlbGVjdG9yLWNvbnRhaW5lciAucGljay1uLW1peC1pdGVtIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAucGljay1uLW1peC1zZWxlY3Rvci1jb250YWluZXIgLmltYWdlLWNvbnRhaW5lciB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7IH0gfVxuICAucGljay1uLW1peC1zZWxlY3Rvci1jb250YWluZXIgLmltYWdlLWNvbnRhaW5lciAuaW1hZ2Uge1xuICAgIC0tbWVkaWEtYXNwZWN0LXJhdGlvOiAxLzE7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBhc3BlY3QtcmF0aW86IHZhcigtLW1lZGlhLWFzcGVjdC1yYXRpbywgYXV0byk7IH1cbiAgLnBpY2stbi1taXgtc2VsZWN0b3ItY29udGFpbmVyIC5waWNrLW4tbWl4LWl0ZW0tZGVzY3JpcHRpb24ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5waWNrLW4tbWl4LXNlbGVjdG9yLWNvbnRhaW5lciAucGljay1uLW1peC1pdGVtLWRlc2NyaXB0aW9uIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIGZsZXg6IDE7IH0gfVxuICAucGljay1uLW1peC1zZWxlY3Rvci1jb250YWluZXIgLnNsaWRlciB7XG4gICAgZmxleDogMTtcbiAgICBtYXJnaW46IDAgMjBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5waWNrLW4tbWl4LXNlbGVjdG9yLWNvbnRhaW5lciAuc2xpZGVyIHtcbiAgICAgICAgbWF4LXdpZHRoOiAyNDBweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGZsZXg6IGF1dG87XG4gICAgICAgIG1hcmdpbjogMCA0MHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5waWNrLW4tbWl4LXNlbGVjdG9yLWNvbnRhaW5lciAuaW5wdXQtZ3JvdXAgLmxhYmVsIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAucGljay1uLW1peC1zZWxlY3Rvci1jb250YWluZXIgLnBpY2stbi1taXgtdG90YWwtcm93IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICBtYXJnaW4tYm90dG9tOiAyMi41cHg7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5waWNrLW4tbWl4LXNlbGVjdG9yLWNvbnRhaW5lciAucGljay1uLW1peC10b3RhbC1yb3cge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0NXB4OyB9IH1cbiAgICAucGljay1uLW1peC1zZWxlY3Rvci1jb250YWluZXIgLnBpY2stbi1taXgtdG90YWwtcm93IC50b3RhbC1zZWxlY3RlZC1jb250YWluZXIsIC5waWNrLW4tbWl4LXNlbGVjdG9yLWNvbnRhaW5lciAucGljay1uLW1peC10b3RhbC1yb3cgLnJlbWFpbmluZy1jb250YWluZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgLnBpY2stbi1taXgtc2VsZWN0b3ItY29udGFpbmVyIC5waWNrLW4tbWl4LXRvdGFsLXJvdyAudG90YWwtc2VsZWN0ZWQtY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbjogMTcuNXB4IDA7IH1cbiAgICAgIC5waWNrLW4tbWl4LXNlbGVjdG9yLWNvbnRhaW5lciAucGljay1uLW1peC10b3RhbC1yb3cgLnRvdGFsLXNlbGVjdGVkLWNvbnRhaW5lciAubGFiZWwge1xuICAgICAgICBjb2xvcjogI2FlOTQ2MTtcbiAgICAgICAgbWFyZ2luOiAwIDIwcHg7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAgIC5waWNrLW4tbWl4LXNlbGVjdG9yLWNvbnRhaW5lciAucGljay1uLW1peC10b3RhbC1yb3cgLnRvdGFsLXNlbGVjdGVkLWNvbnRhaW5lciAubGFiZWwge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDQwcHg7IH0gfVxuICAgICAgLnBpY2stbi1taXgtc2VsZWN0b3ItY29udGFpbmVyIC5waWNrLW4tbWl4LXRvdGFsLXJvdyAudG90YWwtc2VsZWN0ZWQtY29udGFpbmVyIC5zZWxlY3RlZC1jb3VudCB7XG4gICAgICAgIHdpZHRoOiA1MHB4O1xuICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luOiAwIDQwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI2M4YzhjODtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2FlOTQ2MTsgfVxuICAgIC5waWNrLW4tbWl4LXNlbGVjdG9yLWNvbnRhaW5lciAucGljay1uLW1peC10b3RhbC1yb3cgLnJlbWFpbmluZy1jb250YWluZXIgLnJlbWFpbmluZy1jb3VudC1tZXNzYWdlIHtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuOHM7XG4gICAgICBmb250LXNpemU6IDFyZW07IH1cbiAgICAgIC5waWNrLW4tbWl4LXNlbGVjdG9yLWNvbnRhaW5lciAucGljay1uLW1peC10b3RhbC1yb3cgLnJlbWFpbmluZy1jb250YWluZXIgLnJlbWFpbmluZy1jb3VudC1tZXNzYWdlLmFjdGl2ZSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC42czsgfVxuICAgIC5waWNrLW4tbWl4LXNlbGVjdG9yLWNvbnRhaW5lciAucGljay1uLW1peC10b3RhbC1yb3cgLnJlbWFpbmluZy1jb250YWluZXIgLnJlbWFpbmluZy1jb3VudCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICBjb2xvcjogI2FlOTQ2MTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5waWNrLW4tbWl4LXNlbGVjdG9yLWNvbnRhaW5lciAucGljay1uLW1peC10b3RhbC1yb3cgLmZvcm0tZXJyb3Ige1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDsgfSB9XG5cbi5waWNrLW4tbWl4LWJ1dHRvbnMtY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLnBpY2stbi1taXgtYnV0dG9ucy1jb250YWluZXIge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfSB9XG4gIC5waWNrLW4tbWl4LWJ1dHRvbnMtY29udGFpbmVyIC5hZGQtdG8tYmFza2V0LWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgICAgLnBpY2stbi1taXgtYnV0dG9ucy1jb250YWluZXIgLmFkZC10by1iYXNrZXQtY29udGFpbmVyIGJ1dHRvblt0eXBlPXN1Ym1pdF0ge1xuICAgICAgICBtYXJnaW4tcmlndGg6IDA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAucGljay1uLW1peC1idXR0b25zLWNvbnRhaW5lciAuYWRkLXRvLWJhc2tldC1jb250YWluZXIge1xuICAgICAgICBtYXgtd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bzsgfSB9XG5cbmlucHV0LnVpLXN0YXRlLWFjdGl2ZSwgLmlucHV0LW51bWJlci51aS1zdGF0ZS1hY3RpdmUge1xuICBib3gtc2hhZG93OiAwcHggMnB4IDRweCAxcHggcmdiYSgxMiwgMTIsIDEzLCAwLjEpO1xuICBib3JkZXItY29sb3I6ICNlNWI3MDE7XG4gIGJvcmRlci13aWR0aDogMnB4O1xuICB0cmFuc2l0aW9uOiBib3gtc2hvZGF3IDAuNnM7IH1cblxuLmNtcy1jb250ZW50LWNvbnRhaW5lciArIC5waWNrLW4tbWl4LWNvbnRhaW5lciB7XG4gIG1hcmdpbi10b3A6IDEwcHg7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuY21zLWNvbnRlbnQtY29udGFpbmVyICsgLnBpY2stbi1taXgtY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbi10b3A6IDEwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmNtcy1jb250ZW50LWNvbnRhaW5lciArIC5waWNrLW4tbWl4LWNvbnRhaW5lciB7XG4gICAgICBtYXJnaW4tdG9wOiAxNXB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5waWNrLW4tbWl4LWJ1dHRvbiB7XG4gICAgd2lkdGg6IDI1JTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuXG4ucGljay1uLW1peC1zZWxlY3Rpb24ge1xuICBtYXJnaW46IDVweCAwO1xuICBwYWRkaW5nOiAwIDAgMCAyMHB4OyB9XG4gIC5waWNrLW4tbWl4LXNlbGVjdGlvbiBsaSB7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuXG4vKiBcclxuXHJcbi0tLS0tIEFuaW1hdGlvbnMgLS0tLS0gXHJcblRPRE86IFRoaXMgaXMgdGhlIHZlcnkgZmlyc3QgZGV2IGN5Y2xlIG9mIGp1c3QgdHJpbmcgdG8gZ2V0IEhUTUw1IENhbnZhcydzIGV4cG9ydGVkIGZyb20gYWRvYmUgYW5pbWF0ZSB0byB3b3JrIGluc2lkZSBvZiBleHByZXNzIGFuZCB0byBoYXZlIG11bHRpcGxlIGFuaW1hdGlvbnMgb24gdGhlIHBhZ2UgYXQgb25jZSwgc28gdGhlcmUgaXMgc3RpbGwgbXVjaCB3b3JrIHRvIGJlIGRvbmUgaGVyZSBpdHMgbW9yZSBvZiBhIHByb29mIG9mIGNvbmNlcHQgYXQgdGhpcyBwb2ludC5cclxuLSBBbmltYXRlZCBIVE1MNSBDYW52YXMnc1xyXG4tIEludGVyYWN0aXZlIEFuaW1hdGlvbnMuXHJcbiovXG5jYW52YXMge1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cblxuLmNsaWVudC1zZWFyY2gtbm8tcmVzdWx0cyB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmNsaWVudC1zZWFyY2gtbm8tcmVzdWx0cy5hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5jbGllbnQtc2VhcmNoLW5vLXJlc3VsdHMgaDMge1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cblxuLypcclxuLS0tLS0gVG9wIGJhciAtLS0tLVxyXG5UaGlzIGhhcyBoYWQgdG8gYmUgd3JpdHRlbiBkdWUgdG8gZm91bmRhdGlvbidzIHRvcC1iYXIgY3VycmVudGx5IGRvZXNuJ3Qgc3VwcG9ydCBjZW50ZXJlZCBpdGVtcywgeW91IG9ubHkgZ2V0IHRoZSBvcHRpb24gdG9wLWJhci1sZWZ0ICYgdG9wLWJhci1yaWdodCwgdGhlIGRlc2lnbiBjYWxscyBmb3IgdGhlIGN1cnJlbmN5IHNlbGVjdG9yIHRvIGJlIGluIHRoZSBtaWRkbGUuXHJcbiovXG4udG9wLWJhciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC50b3AtYmFyIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH0gfVxuICAudG9wLWJhci51cHBlciB7XG4gICAgbWF4LXdpZHRoOiAxMzAwcHg7XG4gICAgbWFyZ2luOiBhdXRvOyB9XG4gIC50b3AtYmFyIC50b3AtYmFyLWxlZnQsIC50b3AtYmFyIC50b3AtYmFyLXJpZ2h0IHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgLnRvcC1iYXIgLnRvcC1iYXItbGVmdCA+IHVsLCAudG9wLWJhciAudG9wLWJhci1yaWdodCA+IHVsIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgbWFyZ2luOiBhdXRvIDA7IH1cbiAgICAgIC50b3AtYmFyIC50b3AtYmFyLWxlZnQgPiB1bCBsaSwgLnRvcC1iYXIgLnRvcC1iYXItcmlnaHQgPiB1bCBsaSB7XG4gICAgICAgIHBhZGRpbmc6IDcuNXB4IDE1cHg7IH1cbiAgICAgICAgLnRvcC1iYXIgLnRvcC1iYXItbGVmdCA+IHVsIGxpOmZpcnN0LWNoaWxkLCAudG9wLWJhciAudG9wLWJhci1yaWdodCA+IHVsIGxpOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4ICFpbXBvcnRhbnQ7IH1cbiAgICAgICAgLnRvcC1iYXIgLnRvcC1iYXItbGVmdCA+IHVsIGxpOmxhc3QtY2hpbGQsIC50b3AtYmFyIC50b3AtYmFyLXJpZ2h0ID4gdWwgbGk6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4ICFpbXBvcnRhbnQ7IH1cbiAgLnRvcC1iYXIgLnRvcC1iYXItY2VudGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGZsZXgtZ3JvdzogMTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLnRvcC1iYXIgLnRvcC1iYXItcmlnaHQge1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87IH0gfVxuICAudG9wLWJhciAubWVudSwgLnRvcC1iYXIgLmRyb3Bkb3duLm1lbnUge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLnRvcC1iYXIgLm1lbnUgPiBsaSwgLnRvcC1iYXIgLmRyb3Bkb3duLm1lbnUgPiBsaSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7IH0gfVxuICAgIC50b3AtYmFyIC5tZW51ID4gbGkgYTphY3RpdmUsIC50b3AtYmFyIC5kcm9wZG93bi5tZW51ID4gbGkgYTphY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAudG9wLWJhciAubWVudSBsaSwgLnRvcC1iYXIgLmRyb3Bkb3duLm1lbnUgbGkge1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAgICAgLnRvcC1iYXIgLm1lbnUgbGk6aG92ZXIsIC50b3AtYmFyIC5kcm9wZG93bi5tZW51IGxpOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAgICAgLnRvcC1iYXIgLm1lbnUgbGk6aG92ZXIgPiBhLCAudG9wLWJhciAuZHJvcGRvd24ubWVudSBsaTpob3ZlciA+IGEge1xuICAgICAgICAgIGNvbG9yOiAjYWU5NDYxOyB9XG4gICAgICAudG9wLWJhciAubWVudSBsaTphY3RpdmUsIC50b3AtYmFyIC5kcm9wZG93bi5tZW51IGxpOmFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgICAgIC50b3AtYmFyIC5tZW51IGxpOmFjdGl2ZSA+IGEsIC50b3AtYmFyIC5kcm9wZG93bi5tZW51IGxpOmFjdGl2ZSA+IGEge1xuICAgICAgICAgIGNvbG9yOiAjMDYwNTJmOyB9XG4gICAgICAudG9wLWJhciAubWVudSBsaSBhLCAudG9wLWJhciAuZHJvcGRvd24ubWVudSBsaSBhIHtcbiAgICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkdpYnNvblwiLCBcIkdpYnNvbiBGYWxsYmFja1wiLCBcIkFyaWFsXCI7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgcGFkZGluZzogNy41cHggMTVweDtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAgICAgICAudG9wLWJhciAubWVudSBsaSBhOmhvdmVyLCAudG9wLWJhciAuZHJvcGRvd24ubWVudSBsaSBhOmhvdmVyIHtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gICAgICAudG9wLWJhciAubWVudSBsaS5zaXRlLXNldHRpbmctbWVudSA+IGE6YmVmb3JlLCAudG9wLWJhciAuZHJvcGRvd24ubWVudSBsaS5zaXRlLXNldHRpbmctbWVudSA+IGE6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgICAgIC50b3AtYmFyIC5tZW51IGxpLnNpdGUtc2V0dGluZy1tZW51ID4gYSAuY3VycmVuY3ktaWNvbjpiZWZvcmUsIC50b3AtYmFyIC5kcm9wZG93bi5tZW51IGxpLnNpdGUtc2V0dGluZy1tZW51ID4gYSAuY3VycmVuY3ktaWNvbjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgICAgLnRvcC1iYXIgLm1lbnUgbGkuc2l0ZS1zZXR0aW5nLW1lbnUgPiBhOmhvdmVyOmJlZm9yZSwgLnRvcC1iYXIgLmRyb3Bkb3duLm1lbnUgbGkuc2l0ZS1zZXR0aW5nLW1lbnUgPiBhOmhvdmVyOmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjYWU5NDYxOyB9XG5cbiN0b3BCYXJVcHBlck91dGVyQ291bnRhaW5lciwgLmhlYWRlci10b3AtYmFyLWNvbnRhaW5lciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZWVlZWU7XG4gIHBhZGRpbmc6IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICN0b3BCYXJVcHBlck91dGVyQ291bnRhaW5lciwgLmhlYWRlci10b3AtYmFyLWNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nOiAwIDEwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjBlbSkge1xuICAgICN0b3BCYXJVcHBlck91dGVyQ291bnRhaW5lciwgLmhlYWRlci10b3AtYmFyLWNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nOiAwOyB9IH1cblxuLnNnLXBhZ2UtaGVhZGVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMzVweDtcbiAgcGFkZGluZzogMjBweCAxMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlZWVlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuc2ctcGFnZS1oZWFkZXIge1xuICAgICAgbWFyZ2luOiAwIDE1cHggMzVweCAwOyB9IH1cblxuLnNnLXNlY3Rpb24tY29udGFpbmVyIHtcbiAgbWFyZ2luOiAwIDE1cHggMTVweCAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuc2ctc2VjdGlvbi1jb250YWluZXIge1xuICAgICAgbWFyZ2luOiAwIDE1cHggMjVweCAwOyB9IH1cblxuLnNnLWhlYWRpbmcge1xuICBwYWRkaW5nOiAxNXB4IDEwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkZWYzYjM7IH1cbiAgLnNnLWhlYWRpbmcgaDIge1xuICAgIGNvbG9yOiAjNWY3YjI3OyB9XG5cbi5zZy1pbnRybyB7XG4gIHBhZGRpbmc6IDAgNXB4OyB9XG5cbi5zZy1zdWItaGVhZGluZyB7XG4gIHBhZGRpbmc6IDEwcHggNXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGVmM2IzOyB9XG4gIC5zZy1zdWItaGVhZGluZyBoMyB7XG4gICAgY29sb3I6ICM1ZjdiMjc7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBmb250LXNpemU6IDEuNXJlbTsgfVxuXG4uc2ctc3ViLWRlc2NyaXB0aW9uIHtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuXG4uc2ctY29udGVudCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBwYWRkaW5nOiAxMHB4O1xuICBib3JkZXI6IDJweCBzb2xpZCAjZjNmM2YzOyB9XG5cbi5zZy1kZW1vLWxpc3Qge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgLnNnLWRlbW8tbGlzdCBsaSB7XG4gICAgcGFkZGluZzogMCAxMHB4OyB9XG5cbi5zZy1pdGVtLWluZm9ybWF0aW9uLWNvbnRhaW5lcixcbi5jc3MtcHJvcGVydHktdmlldyB7XG4gIG1hcmdpbjogMCAwIDIwcHg7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZWVlZWU7XG4gIGNvbG9yOiAjNzc3Nzc3OyB9XG4gIC5zZy1pdGVtLWluZm9ybWF0aW9uLWNvbnRhaW5lciBwLFxuICAuY3NzLXByb3BlcnR5LXZpZXcgcCB7XG4gICAgbWFyZ2luOiAzcHggMDsgfVxuICAuc2ctaXRlbS1pbmZvcm1hdGlvbi1jb250YWluZXIgcCxcbiAgLnNnLWl0ZW0taW5mb3JtYXRpb24tY29udGFpbmVyIGxpLFxuICAuY3NzLXByb3BlcnR5LXZpZXcgcCxcbiAgLmNzcy1wcm9wZXJ0eS12aWV3IGxpIHtcbiAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gIC5zZy1pdGVtLWluZm9ybWF0aW9uLWNvbnRhaW5lciB1bCxcbiAgLmNzcy1wcm9wZXJ0eS12aWV3IHVsIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMCAwIDAgMjBweDsgfVxuICAuc2ctaXRlbS1pbmZvcm1hdGlvbi1jb250YWluZXIgLml0ZW0taW5mby1sYWJlbCxcbiAgLmNzcy1wcm9wZXJ0eS12aWV3IC5pdGVtLWluZm8tbGFiZWwge1xuICAgIHdpZHRoOiAyMDBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA1cHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuXG4uc2ctaXRlbS1zZXBlcmF0b3Ige1xuICBib3JkZXI6IDFweCBzb2xpZCAjZWVlZWVlOyB9XG5cbi5zZy1jZWxsLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1hcmdpbjogMTBweCAyMHB4O1xuICBwYWRkaW5nOiAxNXB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjZWVlZWVlOyB9XG5cbi5zZy1jb2xvdXItcGFsZXR0ZSAuZ3JpZC1jb2xsZWN0aW9uLXgge1xuICBwYWRkaW5nOiAxNXB4IDA7IH1cbiAgLnNnLWNvbG91ci1wYWxldHRlIC5ncmlkLWNvbGxlY3Rpb24teDpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2VlZWVlZTsgfVxuXG4uY29sb3VyLWJsb2NrIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgbWFyZ2luOiA1cHggMDtcbiAgcGFkZGluZzogOHB4IDhweCA2cHg7XG4gIGNvbG9yOiAjNzc3Nzc3O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZGFkYWRhO1xuICBib3JkZXItcmFkaXVzOiAycHg7XG4gIGJveC1zaGFkb3c6IDBweCAycHggNHB4IDFweCByZ2JhKDEyLCAxMiwgMTMsIDAuMyk7IH1cbiAgLmNvbG91ci1ibG9jazpob3ZlciAubGlnaHRlbmVkLXBlcmNlbnRhZ2Uge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjZzOyB9XG4gIC5jb2xvdXItYmxvY2sgLmxpZ2h0ZW5lZC1wZXJjZW50YWdlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1cHg7XG4gICAgbGVmdDogNXB4O1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgb3BhY2l0eTogLjc7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuOHM7IH1cbiAgLmNvbG91ci1ibG9jayBbZGF0YS1jb2xvdXItcHJldmlld10ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMC40Mjg1N3JlbTsgfVxuICAuY29sb3VyLWJsb2NrIC5jb2xvdXItaGV4LWxhYmVsIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICBmb250LXdlaWdodDogNjAwOyB9XG4gIC5jb2xvdXItYmxvY2sgLmNvbG91cjAge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIC5jb2xvdXItYmxvY2sgLmNvbG91cjEge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cbiAgLmNvbG91ci1ibG9jayAuY29sb3VyMiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDsgfVxuICAuY29sb3VyLWJsb2NrIC5jb2xvdXIzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlZWVlOyB9XG4gIC5jb2xvdXItYmxvY2sgLmNvbG91cjMtMSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2RhZGFkYTsgfVxuICAuY29sb3VyLWJsb2NrIC5jb2xvdXIzLTIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNhZWFlYWU7IH1cbiAgLmNvbG91ci1ibG9jayAuY29sb3VyMy0zIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjODg4ODg4OyB9XG4gIC5jb2xvdXItYmxvY2sgLmNvbG91cjMtNCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2M4YzhjODsgfVxuICAuY29sb3VyLWJsb2NrIC5jb2xvdXIzLTUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmM2YzZjM7IH1cbiAgLmNvbG91ci1ibG9jayAuY29sb3VyMy02IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzc3Nzc3OyB9XG4gIC5jb2xvdXItYmxvY2sgLmNvbG91cjMtNyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzdiN2I3YjsgfVxuICAuY29sb3VyLWJsb2NrIC5jb2xvdXI0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDYwNTJmOyB9XG4gIC5jb2xvdXItYmxvY2sgLmNvbG91cjQtMSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzA2MDUyZjsgfVxuICAuY29sb3VyLWJsb2NrIC5jb2xvdXI0LTIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwNjA1MmY7IH1cbiAgLmNvbG91ci1ibG9jayAuY29sb3VyNC0zIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTA1MDZkOyB9XG4gIC5jb2xvdXItYmxvY2sgLmNvbG91cjQtNCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzA2MDUyZjsgfVxuICAuY29sb3VyLWJsb2NrIC5jb2xvdXI0LTUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwNjA1MmY7IH1cbiAgLmNvbG91ci1ibG9jayAuY29sb3VyNC02IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDYwNTJmOyB9XG4gIC5jb2xvdXItYmxvY2sgLmNvbG91cjQtNyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzA2MDUyZjsgfVxuICAuY29sb3VyLWJsb2NrIC5jb2xvdXI2IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWU5NDYxOyB9XG4gIC5jb2xvdXItYmxvY2sgLmNvbG91cjYtMSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzgwNmE1MjsgfVxuICAuY29sb3VyLWJsb2NrIC5jb2xvdXI2LTIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNiOGI4NzU7IH1cbiAgLmNvbG91ci1ibG9jayAuYWNjZW50LWNvbG91ci0xLWxpZ2h0bmVzcy0wIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzAwMDAwOyB9XG4gIC5jb2xvdXItYmxvY2sgLmFjY2VudC1jb2xvdXItMS1saWdodG5lc3MtMSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2UwMDAwMDsgfVxuICAuY29sb3VyLWJsb2NrIC5hY2NlbnQtY29sb3VyLTEtbGlnaHRuZXNzLTIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjAxMDE7IH1cbiAgLmNvbG91ci1ibG9jayAuYWNjZW50LWNvbG91ci0xLWxpZ2h0bmVzcy0zIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYyMDIwOyB9XG4gIC5jb2xvdXItYmxvY2sgLmFjY2VudC1jb2xvdXItMS1saWdodG5lc3MtNCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNDA0MDsgfVxuICAuY29sb3VyLWJsb2NrIC5hY2NlbnQtY29sb3VyLTEtbGlnaHRuZXNzLTUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjYwNjA7IH1cbiAgLmNvbG91ci1ibG9jayAuYWNjZW50LWNvbG91ci0xLWxpZ2h0bmVzcy02IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY4MDgwOyB9XG4gIC5jb2xvdXItYmxvY2sgLmFjY2VudC1jb2xvdXItMS1saWdodG5lc3MtNyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYTBhMDsgfVxuICAuY29sb3VyLWJsb2NrIC5hY2NlbnQtY29sb3VyLTEtbGlnaHRuZXNzLTgge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmJmYmY7IH1cbiAgLmNvbG91ci1ibG9jayAuYWNjZW50LWNvbG91ci0xLWxpZ2h0bmVzcy05IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZkZmRmOyB9XG4gIC5jb2xvdXItYmxvY2sgLmFjY2VudC1jb2xvdXItMS1saWdodG5lc3MtMTAge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmVmZWY7IH1cbiAgLmNvbG91ci1ibG9jayAuYWNjZW50LWNvbG91ci0yLWxpZ2h0bmVzcy0wIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmI1NzlhOyB9XG4gIC5jb2xvdXItYmxvY2sgLmFjY2VudC1jb2xvdXItMi1saWdodG5lc3MtMSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzMyNjViMjsgfVxuICAuY29sb3VyLWJsb2NrIC5hY2NlbnQtY29sb3VyLTItbGlnaHRuZXNzLTIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzYjczYzg7IH1cbiAgLmNvbG91ci1ibG9jayAuYWNjZW50LWNvbG91ci0yLWxpZ2h0bmVzcy0zIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTQ4NWNmOyB9XG4gIC5jb2xvdXItYmxvY2sgLmFjY2VudC1jb2xvdXItMi1saWdodG5lc3MtNCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzZjOTZkNjsgfVxuICAuY29sb3VyLWJsb2NrIC5hY2NlbnQtY29sb3VyLTItbGlnaHRuZXNzLTUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM4NWE4ZGQ7IH1cbiAgLmNvbG91ci1ibG9jayAuYWNjZW50LWNvbG91ci0yLWxpZ2h0bmVzcy02IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOWRiOWU0OyB9XG4gIC5jb2xvdXItYmxvY2sgLmFjY2VudC1jb2xvdXItMi1saWdodG5lc3MtNyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2I2Y2JlYjsgfVxuICAuY29sb3VyLWJsb2NrIC5hY2NlbnQtY29sb3VyLTItbGlnaHRuZXNzLTgge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjZWRjZjE7IH1cbiAgLmNvbG91ci1ibG9jayAuYWNjZW50LWNvbG91ci0yLWxpZ2h0bmVzcy05IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTdlZWY4OyB9XG4gIC5jb2xvdXItYmxvY2sgLmFjY2VudC1jb2xvdXItMi1saWdodG5lc3MtMTAge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmM2Y2ZmM7IH1cbiAgLmNvbG91ci1ibG9jayAuYWNjZW50LWNvbG91ci0zLWxpZ2h0bmVzcy0wIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTViNzAxOyB9XG4gIC5jb2xvdXItYmxvY2sgLmFjY2VudC1jb2xvdXItMy1saWdodG5lc3MtMSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlY2MwNDsgfVxuICAuY29sb3VyLWJsb2NrIC5hY2NlbnQtY29sb3VyLTMtbGlnaHRuZXNzLTIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWQxMjA7IH1cbiAgLmNvbG91ci1ibG9jayAuYWNjZW50LWNvbG91ci0zLWxpZ2h0bmVzcy0zIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVkNzNjOyB9XG4gIC5jb2xvdXItYmxvY2sgLmFjY2VudC1jb2xvdXItMy1saWdodG5lc3MtNCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZGQ1ODsgfVxuICAuY29sb3VyLWJsb2NrIC5hY2NlbnQtY29sb3VyLTMtbGlnaHRuZXNzLTUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWUyNzQ7IH1cbiAgLmNvbG91ci1ibG9jayAuYWNjZW50LWNvbG91ci0zLWxpZ2h0bmVzcy02IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZlODhmOyB9XG4gIC5jb2xvdXItYmxvY2sgLmFjY2VudC1jb2xvdXItMy1saWdodG5lc3MtNyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZWVhYjsgfVxuICAuY29sb3VyLWJsb2NrIC5hY2NlbnQtY29sb3VyLTMtbGlnaHRuZXNzLTgge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY0Yzc7IH1cbiAgLmNvbG91ci1ibG9jayAuYWNjZW50LWNvbG91ci0zLWxpZ2h0bmVzcy05IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOWUzOyB9XG4gIC5jb2xvdXItYmxvY2sgLmFjY2VudC1jb2xvdXItMy1saWdodG5lc3MtMTAge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZjZjE7IH1cbiAgLmNvbG91ci1ibG9jayAuYWNjZW50LWNvbG91ci00LWxpZ2h0bmVzcy0wIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWU5NDYxOyB9XG4gIC5jb2xvdXItYmxvY2sgLmFjY2VudC1jb2xvdXItNC1saWdodG5lc3MtMSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2I2OWY3MTsgfVxuICAuY29sb3VyLWJsb2NrIC5hY2NlbnQtY29sb3VyLTQtbGlnaHRuZXNzLTIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNiZWE5ODE7IH1cbiAgLmNvbG91ci1ibG9jayAuYWNjZW50LWNvbG91ci00LWxpZ2h0bmVzcy0zIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzZiNDkwOyB9XG4gIC5jb2xvdXItYmxvY2sgLmFjY2VudC1jb2xvdXItNC1saWdodG5lc3MtNCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2NlYmZhMDsgfVxuICAuY29sb3VyLWJsb2NrIC5hY2NlbnQtY29sb3VyLTQtbGlnaHRuZXNzLTUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkN2NhYjA7IH1cbiAgLmNvbG91ci1ibG9jayAuYWNjZW50LWNvbG91ci00LWxpZ2h0bmVzcy02IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGZkNGMwOyB9XG4gIC5jb2xvdXItYmxvY2sgLmFjY2VudC1jb2xvdXItNC1saWdodG5lc3MtNyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U3ZGZkMDsgfVxuICAuY29sb3VyLWJsb2NrIC5hY2NlbnQtY29sb3VyLTQtbGlnaHRuZXNzLTgge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZmVhZGY7IH1cbiAgLmNvbG91ci1ibG9jayAuYWNjZW50LWNvbG91ci00LWxpZ2h0bmVzcy05IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjdmNGVmOyB9XG4gIC5jb2xvdXItYmxvY2sgLmFjY2VudC1jb2xvdXItNC1saWdodG5lc3MtMTAge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmYmZhZjc7IH1cbiAgLmNvbG91ci1ibG9jayAuc3VjY2Vzcy1jb2xvdXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxMjgxMWY7IH1cbiAgLmNvbG91ci1ibG9jayAud2FybmluZy1jb2xvdXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjVlMDU7IH1cbiAgLmNvbG91ci1ibG9jayAuYWxlcnQtY29sb3VyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjIwYzBjOyB9XG4gIC5jb2xvdXItYmxvY2sgLnByaWNlLWNvbG91ciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzA2MDUyZjsgfVxuICAuY29sb3VyLWJsb2NrIC5zYXZpbmctY29sb3VyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDYwNTJmOyB9XG4gIC5jb2xvdXItYmxvY2sgLnJycC1jb2xvdXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7IH1cblxuLnNnLWJ1dHRvbnMgLnNnLWNvbXBhcmlzb24tdGFibGUgLmFjdGlvbi1idXR0b24ge1xuICBtYXJnaW46IDAgYXV0byAhaW1wb3J0YW50OyB9XG5cbi5zZy1vbi1wYWdlLW5vdGlmaWNhdGlvbnMgdGQge1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG5cbi5zZy1vbi1wYWdlLW5vdGlmaWNhdGlvbnMgLm5vdGlmaWNhdGlvbi10eXBlIHtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLnNnLW9uLXBhZ2Utbm90aWZpY2F0aW9ucyAubm90aWZpY2F0aW9uLXR5cGUgKyAubm90aWZpY2F0aW9uLXN0eWxlIHtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2VlZWVlZTsgfVxuXG4uc2ctb24tcGFnZS1ub3RpZmljYXRpb25zIC5ub3RpZmljYXRpb24tc3R5bGUge1xuICBjb2xvcjogIzc3Nzc3NzsgfVxuXG4uc2ctcXVhbnRpdHktc2VsZWN0b3JzIC5wcm9kdWN0LWdyaWQtbW9kdWxlIHtcbiAgbWFyZ2luOiBhdXRvIDAgMDsgfVxuXG4uc2ctY2FsbG91dHMgLmNhbGxvdXQtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5zZy1jb21wYXJpc29uLXRhYmxlIHRoIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5zZy1jb21wYXJpc29uLXRhYmxlIHRoOmZpcnN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG4uc2ctY29tcGFyaXNvbi10YWJsZSB0ZDpmaXJzdC1jaGlsZCB7XG4gIHBhZGRpbmctbGVmdDogMTBweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuXG4uc2ctY29tcGFyaXNvbi10YWJsZSB0ZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uc2ctY29tcGFyaXNvbi10YWJsZSB0ZCBbY2xhc3MqPVwiLWJ1dHRvblwiXSB7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cblxuI3RhYmxlLW9mLWNvbnRlbnRzLXN0aWNreS1jb250YWluZXIgLnN0aWNreSB7XG4gIHotaW5kZXg6IDI7IH1cblxuLnRhYmxlLW9mLWNvbnRlbnRzIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlZWVlZWU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC50YWJsZS1vZi1jb250ZW50cyB7XG4gICAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpOyB9IH1cbiAgLnRhYmxlLW9mLWNvbnRlbnRzIC5oZWFkaW5nIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgcGFkZGluZzogMTVweCAxMHB4O1xuICAgIGNvbG9yOiAjNWY3YjI3O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkZWYzYjM7IH1cbiAgICAudGFibGUtb2YtY29udGVudHMgLmhlYWRpbmcgaDIge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGZvbnQtc2l6ZTogMS4zNzVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLnRhYmxlLW9mLWNvbnRlbnRzIC5zZWN0aW9ucyB7XG4gICAgICBtYXgtaGVpZ2h0OiA2MHZoO1xuICAgICAgb3ZlcmZsb3cteTogYXV0bzsgfSB9XG4gIC50YWJsZS1vZi1jb250ZW50cyAuc2VjdGlvbnMgdWwge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAgIC50YWJsZS1vZi1jb250ZW50cyAuc2VjdGlvbnMgdWwgbGkge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuICAgICAgLnRhYmxlLW9mLWNvbnRlbnRzIC5zZWN0aW9ucyB1bCBsaTpmaXJzdC1jaGlsZDpiZWZvcmUge1xuICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMTBweDtcbiAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMTBweDsgfVxuICAgICAgLnRhYmxlLW9mLWNvbnRlbnRzIC5zZWN0aW9ucyB1bCBsaTpsYXN0LWNoaWxkOmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAxMHB4O1xuICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAxMHB4OyB9XG4gICAgICAudGFibGUtb2YtY29udGVudHMgLnNlY3Rpb25zIHVsIGxpOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICB3aWR0aDogNXB4O1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzc3Nzc3NztcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAuNnMgZWFzZS1pbjsgfVxuICAgICAgLnRhYmxlLW9mLWNvbnRlbnRzIC5zZWN0aW9ucyB1bCBsaTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWVlZWU7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfVxuICAgICAgLnRhYmxlLW9mLWNvbnRlbnRzIC5zZWN0aW9ucyB1bCBsaS5hY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGVmM2IzNjU7IH1cbiAgICAgICAgLnRhYmxlLW9mLWNvbnRlbnRzIC5zZWN0aW9ucyB1bCBsaS5hY3RpdmU6YmVmb3JlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDYwNTJmO1xuICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjRzIGVhc2Utb3V0OyB9XG4gICAgICAgIC50YWJsZS1vZi1jb250ZW50cyAuc2VjdGlvbnMgdWwgbGkuYWN0aXZlIGEge1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgdHJhbnNpdGlvbjogZm9udC13ZWlnaHQgLjZzIGVhc2UtaW47IH1cbiAgICAgIC50YWJsZS1vZi1jb250ZW50cyAuc2VjdGlvbnMgdWwgbGkgYSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZzogMTBweCAwO1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBjb2xvcjogIzc3Nzc3NztcbiAgICAgICAgdHJhbnNpdGlvbjogZm9udC13ZWlnaHQgLjRzIGVhc2Utb3V0OyB9XG4gICAgICAgIC50YWJsZS1vZi1jb250ZW50cyAuc2VjdGlvbnMgdWwgbGkgYTpob3ZlciB7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuLyogVGhpcyBzdHlsZXMgdGhlIGV4YW1wbGUgcm93cyB1c2VkIGluIHRoZSBncmlkIGRvY3VtZW50YXRpb24uICovXG4uZ3JpZC14LmRpc3BsYXkge1xuICBiYWNrZ3JvdW5kOiAjZWVlO1xuICBmb250LXNpemU6IDExcHg7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIGxpbmUtaGVpZ2h0OiAycmVtO1xuICBib3JkZXI6IHNvbGlkIDFweCAjYzZjNmM2O1xuICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDsgfVxuXG4uZ3JpZC14LmRpc3BsYXkgLmNlbGw6bnRoLWNoaWxkKDIpLFxuLmdyaWQteC5kaXNwbGF5IC5jZWxsLnNtYWxsLWNlbnRlcmVkLFxuLmdyaWQteC5kaXNwbGF5IC5jZWxsLmxhcmdlLWNlbnRlcmVkIHtcbiAgYmFja2dyb3VuZDogI2UxZTFlMTsgfVxuXG4uZ3JpZC14LmRpc3BsYXkgLmNlbGwuY29sb3ItZW5kIHtcbiAgYmFja2dyb3VuZDogI2Q0ZDRkNDsgfVxuXG4uc2ctaGVhZGVyIHtcbiAgYmFja2dyb3VuZDogI2VlZTtcbiAgcGFkZGluZzogMnJlbTsgfVxuXG4uZ3JpZC1jb250YWluZXIge1xuICBtYXgtd2lkdGg6IDE0MDBweDsgfVxuXG4uc2ctc2lkZS1tZW51IHtcbiAgbWFyZ2luLWxlZnQ6IDFyZW07IH1cblxuLmdyaWQtY29udGFpbmVyLnBhZGRlZCB7XG4gIHBhZGRpbmctdG9wOiAycmVtOyB9XG5cbi5zZy1zaWRlLW1lbnUgYSB7XG4gIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlLWluOyB9XG5cbi5zZy1zaWRlLW1lbnUgYTpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICNlZWU7IH1cblxuLnNnLXNpZGUtbWVudSBhOmZvY3VzIHtcbiAgYmFja2dyb3VuZDogIzE0NjhhMDtcbiAgY29sb3I6ICNmZmY7IH1cblxuLnNnLXNpZGUtbWVudS5tZW51IHtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIGhlaWdodDogMTAwdmg7XG4gIHBhZGRpbmctYm90dG9tOiA1cmVtOyB9XG5cbi8qXHJcbi0tLS0tIEFkbWluIC0tLS0tXHJcblRoaXMgd2lsbCBwb3RlbnRpYWwgaGFuZCB2bUFkbWluIHYyLlxyXG4qL1xuLnZtYWRtaW4tZWRpdG9yIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3JkZXI6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuOHM7IH1cbiAgLnZtYWRtaW4tZWRpdG9yLmFjdGl2ZSB7XG4gICAgYm9yZGVyLWNvbG9yOiAjYWVhZWFlO1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjZzOyB9XG4gIC52bWFkbWluLWVkaXRvci5pbmxpbmUtZWRpdG9yIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAudm1hZG1pbi1lZGl0b3IuaW5saW5lLWVkaXRvciAuZWRpdG9yLXRyaWdnZXItY29udHJvbHMge1xuICAgICAgbWF4LXdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgIG1heC1oZWlnaHQ6IDA7XG4gICAgICB0b3A6IGF1dG87XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogLTMwcHg7IH1cbiAgICAgIC52bWFkbWluLWVkaXRvci5pbmxpbmUtZWRpdG9yIC5lZGl0b3ItdHJpZ2dlci1jb250cm9scy5hY3RpdmUge1xuICAgICAgICBtYXgtaGVpZ2h0OiAyMDBweDtcbiAgICAgICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjZzOyB9XG4gIC52bWFkbWluLWVkaXRvciAuY2stY29udGVudC5jay1lZGl0b3JfX2VkaXRhYmxlX2lubGluZSA+IHAge1xuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDsgfVxuICAudm1hZG1pbi1lZGl0b3IgLmNrLWNvbnRlbnQuY2suY2stZWRpdG9yX19lZGl0YWJsZSB7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsgfVxuICAudm1hZG1pbi1lZGl0b3IgLmVkaXRvci10cmlnZ2VyLWNvbnRyb2xzIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTc0LCAxNzQsIDE3NCwgMC45KTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgMC44cztcbiAgICB6LWluZGV4OiAxMDAwMDA7IH1cbiAgICAudm1hZG1pbi1lZGl0b3IgLmVkaXRvci10cmlnZ2VyLWNvbnRyb2xzIC5hZG1pbi1idXR0b24ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbWFyZ2luOiA1cHg7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICAgIC52bWFkbWluLWVkaXRvciAuZWRpdG9yLXRyaWdnZXItY29udHJvbHMgLmFkbWluLWJ1dHRvbjpiZWZvcmUge1xuICAgICAgICBwYWRkaW5nOiA1cHggMTBweDtcbiAgICAgICAgY29sb3I6ICMwNjA1MmY7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgICAgIC52bWFkbWluLWVkaXRvciAuZWRpdG9yLXRyaWdnZXItY29udHJvbHMgLmFkbWluLWJ1dHRvbjpob3ZlcjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogI2FlOTQ2MTtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAudm1hZG1pbi1lZGl0b3IgKyBkaXYge1xuICAgIHotaW5kZXg6IDE7IH1cblxuLnByb3BlcnR5LWVkaXRvci10cmlnZ2VyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGYwMTMnOyB9XG5cbi5jb250ZW50LWVkaXRvci10cmlnZ2VyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGYwNDQnOyB9XG5cbi5lZGl0b3Itc2F2ZS1idXR0b24uaW5saW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGYwYzcnOyB9XG5cbi5lZGl0b3ItY2FuY2VsLWJ1dHRvbi5pbmxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZjAwZCc7IH1cblxuLm9mZi1jYW52YXMtaGVhZGVyIC5jbG9zZS1idXR0b24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAub2ZmLWNhbnZhcy1oZWFkZXIgLmNsb3NlLWJ1dHRvbjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi74CNXCI7XG4gICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjZzLCBjb2xvciAwLjhzOyB9XG4gIC5vZmYtY2FudmFzLWhlYWRlciAuY2xvc2UtYnV0dG9uOmhvdmVyOmJlZm9yZSB7XG4gICAgY29sb3I6ICNhZTk0NjE7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjZzLCBjb2xvciAwLjZzOyB9XG4gIC5vZmYtY2FudmFzLWhlYWRlciAuY2xvc2UtYnV0dG9uOmFjdGl2ZTpiZWZvcmUge1xuICAgIGNvbG9yOiAjMDYwNTJmO1xuICAgIHRyYW5zaXRpb246IGZvbnQtc2l6ZSAxLjJzLCBjb2xvciAwLjZzOyB9XG5cbi5vZmYtY2FudmFzLWhlYWRlciAub2ZmLWNhbnZhcy1oZWFkaW5nIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAxNnB4IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwNjA1MmY7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5vZmYtY2FudmFzLWhlYWRlciAub2ZmLWNhbnZhcy1oZWFkaW5nIHtcbiAgICAgIG1hcmdpbjogMCAwIDM1cHg7IH0gfVxuXG4ub2ZmLWNhbnZhcy1oZWFkZXIgaDIge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMS41NjI1cmVtO1xuICBmb250LXdlaWdodDogNzAwOyB9XG5cbi5vZmYtY2FudmFzLWhlYWRlciBwIHtcbiAgZm9udC1zaXplOiAxLjA2MjVyZW07IH1cblxuLypcclxuLS0tLS0gQWNjb3JkaW9uIFRhYnMgLS0tLS0tIFxyXG4tIFRPRE86IFRoZSBuYW1pbmcgY29udmVudGlvbnMgbmVlZCB0byBiZSByZS13cml0ZW4gYXQgc29tZSBwb2ludCBhcyB0aGlzIHdhcyBvcmlnaW5hbGx5IGJ1aWxkIGZvciBvbiBiZWluZyB1c2VkIG9uIHRoZSBwcm9kdWN0IHBhZ2UgaGVuc2UgdGhlIHZlcnkgc3BlY2lmaWMgbmFtaW5nIG9mIGlkJ3MgYW5kIGNsYXNzZXMuXHJcbi0gVGhpcyBmdW5jdGlvbmFsaXR5IGlzIGJhc2VkIG9uIEZvdW5kYXRpb24ncyBSZXNwb25zaXZlIEFjY29yZGlvbiBUYWJzIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb24vc2l0ZXMvZG9jcy9yZXNwb25zaXZlLWFjY29yZGlvbi10YWJzLmh0bWxcclxuLSBUaGUgc3R5bGluZyBmb3IgcHJvZHVjdCB0YWJiZWQgbm90ZXMgaXMgZGVmaW5lZCBoZXJlXHJcbiAgLSBBdHRhY2htZW50c1xyXG4gIC0gU3BlY2lmaWNhdGlvbidzXHJcbiAgLSBSZXZpZXdzXHJcbiAgLSBDb21wb25hbnRzLlxyXG5cclxuKi9cbi5yZXNwb25zaXZlLXRhYnMtaGVhZGVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBhZGRpbmc6IDIwcHggMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLnJlc3BvbnNpdmUtdGFicy1oZWFkZXIgLnJlc3BvbnNpdmUtdGFicy1jb250cm9scyB7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bzsgfSB9XG4gIC5yZXNwb25zaXZlLXRhYnMtaGVhZGVyIC5hY2NvcmRpb24tdG9nZ2xlLWFsbC1idXR0b24ge1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAjMDYwNTJmOyB9XG4gICAgLnJlc3BvbnNpdmUtdGFicy1oZWFkZXIgLmFjY29yZGlvbi10b2dnbGUtYWxsLWJ1dHRvbjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIu6gglwiO1xuICAgICAgd2lkdGg6IDE4cHg7XG4gICAgICBoZWlnaHQ6IDE4cHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgICAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkICMwNjA1MmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgY29sb3I6ICMwNjA1MmY7XG4gICAgICBmb250LWZhbWlseTogXCJmb250ZWxsby1kam1pbGVzXCI7XG4gICAgICBmb250LXNpemU6IDRweDsgfVxuICAgIC5yZXNwb25zaXZlLXRhYnMtaGVhZGVyIC5hY2NvcmRpb24tdG9nZ2xlLWFsbC1idXR0b24uYWN0aXZlOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwi7qCDXCI7IH1cblxuI3RhYmJlZC1ub3Rlcy1jb250YWluZXIge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cbiAgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIuY29tcG9uZW50LXJlYWR5IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG5cbi5yZXNwb25zaXZlLXRhYnMge1xuICB3aWR0aDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAucmVzcG9uc2l2ZS10YWJzLmNvbXBvbmVudC1yZWFkeSB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAucmVzcG9uc2l2ZS10YWJzOmhhcygudGFicy52ZXJ0aWNhbCkge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5yZXNwb25zaXZlLXRhYnMuYWNjb3VudC1hcmVhIHtcbiAgICAgIG1hcmdpbjogNXB4IDAgMDsgfSB9XG4gIC5yZXNwb25zaXZlLXRhYnMuYWNjb3VudC1hcmVhIC50YWJzLXBhbmVsIHtcbiAgICBwYWRkaW5nOiAxMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLnJlc3BvbnNpdmUtdGFicy5hY2NvdW50LWFyZWEgLnRhYnMtcGFuZWwge1xuICAgICAgICBwYWRkaW5nOiAyNXB4IDA7IH0gfVxuICAgIC5yZXNwb25zaXZlLXRhYnMuYWNjb3VudC1hcmVhIC50YWJzLXBhbmVsIHRhYmxlIHtcbiAgICAgIG1hcmdpbjogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgIC5yZXNwb25zaXZlLXRhYnMuYWNjb3VudC1hcmVhIC5hY2NvcmRpb24tdGl0bGUtY29udGFpbmVyIHtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBnYXA6IDEwcHg7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgIC5yZXNwb25zaXZlLXRhYnMuYWNjb3VudC1hcmVhIC5hY2NvcmRpb24tdGl0bGUtY29udGFpbmVyIC5wYWNrYWdlLXJlZmVyZW5jZS1jb250YWluZXIsIC5yZXNwb25zaXZlLXRhYnMuYWNjb3VudC1hcmVhIC5hY2NvcmRpb24tdGl0bGUtY29udGFpbmVyIC50aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24ge1xuICAgICAgZ3JpZC1jb2x1bW46IDE7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgIC5yZXNwb25zaXZlLXRhYnMuYWNjb3VudC1hcmVhIC5hY2NvcmRpb24tdGl0bGUtY29udGFpbmVyIC5wYWNrYWdlLXJlZmVyZW5jZS1jb250YWluZXIge1xuICAgICAgZ3JpZC1yb3c6IDE7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgIC5yZXNwb25zaXZlLXRhYnMuYWNjb3VudC1hcmVhIC5hY2NvcmRpb24tdGl0bGUtY29udGFpbmVyOmFmdGVyIHtcbiAgICAgIGdyaWQtY29sdW1uOiAyO1xuICAgICAgZ3JpZC1yb3c6IDE7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgIC5yZXNwb25zaXZlLXRhYnMuYWNjb3VudC1hcmVhIC5hY2NvcmRpb24tdGl0bGUtY29udGFpbmVyIC50aGlyZC1wYXJ0eS10cmFja2luZy1yZWZlcmVuY2Uge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICAucmVzcG9uc2l2ZS10YWJzLmFjY291bnQtYXJlYSAuYWNjb3JkaW9uLXRpdGxlLWNvbnRhaW5lciAudGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uIHtcbiAgICAgIGdyaWQtcm93OiAzOyB9IH1cbiAgLnJlc3BvbnNpdmUtdGFicy5hY2NvdW50LWFyZWEgLmFjY29yZGlvbi10aXRsZSB7XG4gICAgcGFkZGluZzogMjBweDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAucmVzcG9uc2l2ZS10YWJzLmFjY291bnQtYXJlYSAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICAgICAgcGFkZGluZzogOHB4IDIwcHg7IH0gfVxuICAucmVzcG9uc2l2ZS10YWJzLmFjY291bnQtYXJlYSAuYWNjb3JkaW9uLWNvbnRlbnRbYXJpYS1oaWRkZW49XCJmYWxzZVwiXSB7XG4gICAgcGFkZGluZzogMTBweCA1cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAucmVzcG9uc2l2ZS10YWJzLmFjY291bnQtYXJlYSAuYWNjb3JkaW9uLWNvbnRlbnRbYXJpYS1oaWRkZW49XCJmYWxzZVwiXSB7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMjBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAucmVzcG9uc2l2ZS10YWJzLnNlYXJjaC1yZXN1bHRzIC50YWJzLXRpdGxlIGEge1xuICAgICAgcGFkZGluZzogMThweCAzNXB4OyB9IH1cbiAgLnJlc3BvbnNpdmUtdGFicy5zZWFyY2gtcmVzdWx0cyAudGFicy1wYW5lbCB7XG4gICAgcGFkZGluZzogNDVweCAwOyB9XG4gIC5yZXNwb25zaXZlLXRhYnMuc2VhcmNoLXJlc3VsdHMgLmFjY29yZGlvbi1jb250ZW50W2FyaWEtaGlkZGVuPVwiZmFsc2VcIl0ge1xuICAgIHBhZGRpbmc6IDIwcHggNXB4OyB9XG4gIC5yZXNwb25zaXZlLXRhYnMgLnRhYnMudmVydGljYWwge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3JkZXI6IDA7IH1cbiAgICAucmVzcG9uc2l2ZS10YWJzIC50YWJzLnZlcnRpY2FsOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgd2lkdGg6IDFweDtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZWVlZTsgfVxuICAgIC5yZXNwb25zaXZlLXRhYnMgLnRhYnMudmVydGljYWwgLnRhYnMtdGl0bGUge1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgIGJvcmRlci13aWR0aDogMCAxcHggMCAwO1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgIGJvcmRlci1jb2xvcjogI2VlZWVlZTtcbiAgICAgIHRyYW5zaXRpb246IGJvcmRlci13aWR0aCAwLjhzLCBib3JkZXItY29sb3IgMC44czsgfVxuICAgICAgLnJlc3BvbnNpdmUtdGFicyAudGFicy52ZXJ0aWNhbCAudGFicy10aXRsZS5pcy1hY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDYwNTJmO1xuICAgICAgICBib3JkZXItY29sb3I6ICMwNjA1MmY7XG4gICAgICAgIGJvcmRlci13aWR0aDogMCAzcHggMCAwO1xuICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItd2lkdGggMC42cywgYm9yZGVyLWNvbG9yIDAuNnM7IH1cbiAgICAgICAgLnJlc3BvbnNpdmUtdGFicyAudGFicy52ZXJ0aWNhbCAudGFicy10aXRsZS5pcy1hY3RpdmUgYSB7XG4gICAgICAgICAgY29sb3I6ICMwNjA1MmY7IH1cbiAgICAgICAgICAucmVzcG9uc2l2ZS10YWJzIC50YWJzLnZlcnRpY2FsIC50YWJzLXRpdGxlLmlzLWFjdGl2ZSBhOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnOyB9XG4gICAgICAucmVzcG9uc2l2ZS10YWJzIC50YWJzLnZlcnRpY2FsIC50YWJzLXRpdGxlOm5vdCguaXMtYWN0aXZlKTpob3ZlciB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI2FlOTQ2MTtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDNweCAwIDA7XG4gICAgICAgIHRyYW5zaXRpb246IGJvcmRlci13aWR0aCAwLjJzLCBib3JkZXItY29sb3IgMC42czsgfVxuICAgICAgLnJlc3BvbnNpdmUtdGFicyAudGFicy52ZXJ0aWNhbCAudGFicy10aXRsZSBhIHtcbiAgICAgICAgcGFkZGluZzogMjBweCAxMHB4IDIwcHggMTVweDtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gICAgICAgIC5yZXNwb25zaXZlLXRhYnMgLnRhYnMudmVydGljYWwgLnRhYnMtdGl0bGUgYTphZnRlciB7XG4gICAgICAgICAgY29udGVudDogJyc7IH1cbiAgICAgICAgLnJlc3BvbnNpdmUtdGFicyAudGFicy52ZXJ0aWNhbCAudGFicy10aXRsZSBhIC5mb3VuZC1jb3VudCB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cbiAgICAucmVzcG9uc2l2ZS10YWJzIC50YWJzLnZlcnRpY2FsICsgLnRhYnMtY29udGVudCB7XG4gICAgICB0cmFuc2l0aW9uOiBub25lOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAucmVzcG9uc2l2ZS10YWJzIC50YWJzLnZlcnRpY2FsICsgLnRhYnMtY29udGVudCAudGFicy1wYW5lbCB7XG4gICAgICAgICAgcGFkZGluZzogMTBweCAxNXB4IDEwcHggMzBweDsgfSB9XG4gIC5yZXNwb25zaXZlLXRhYnMgLnRhYnMtdGl0bGUge1xuICAgIHdpZHRoOiBmaXQtY29udGVudDsgfVxuICAgIC5yZXNwb25zaXZlLXRhYnMgLnRhYnMtdGl0bGUgYSB7XG4gICAgICBwYWRkaW5nOiAxOHB4IDgwcHg7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLnJlc3BvbnNpdmUtdGFicyAudGFicy10aXRsZSBhIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4gICAgLnJlc3BvbnNpdmUtdGFicyAudGFicy10aXRsZSAuZm91bmQtY291bnQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDVweDsgfVxuICAgICAgLnJlc3BvbnNpdmUtdGFicyAudGFicy10aXRsZSAuZm91bmQtY291bnQ6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJygnOyB9XG4gICAgICAucmVzcG9uc2l2ZS10YWJzIC50YWJzLXRpdGxlIC5mb3VuZC1jb3VudDphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcpJzsgfVxuICAgICAgLnJlc3BvbnNpdmUtdGFicyAudGFicy10aXRsZSAuZm91bmQtY291bnQ6YmVmb3JlLCAucmVzcG9uc2l2ZS10YWJzIC50YWJzLXRpdGxlIC5mb3VuZC1jb3VudDphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAucmVzcG9uc2l2ZS10YWJzIC50YWJzLXBhbmVsIHRhYmxlLCAucmVzcG9uc2l2ZS10YWJzIC5hY2NvcmRpb24tY29udGVudCB0YWJsZSB7XG4gICAgYm9yZGVyOiAwOyB9XG4gICAgLnJlc3BvbnNpdmUtdGFicyAudGFicy1wYW5lbCB0YWJsZSB0ciB0ZCwgLnJlc3BvbnNpdmUtdGFicyAuYWNjb3JkaW9uLWNvbnRlbnQgdGFibGUgdHIgdGQge1xuICAgICAgYm9yZGVyOiAwOyB9XG4gIC5yZXNwb25zaXZlLXRhYnMgLnRhYnMtcGFuZWwge1xuICAgIHBhZGRpbmc6IDIwcHggMjVweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5yZXNwb25zaXZlLXRhYnMgLnRhYnMtcGFuZWwge1xuICAgICAgICBwYWRkaW5nOiA0MHB4IDUwcHg7IH0gfVxuICAucmVzcG9uc2l2ZS10YWJzIC5hY2NvcmRpb24taXRlbS5pcy1hY3RpdmUgLmFjY29yZGlvbi1jb250ZW50IHtcbiAgICBwYWRkaW5nOiAyMHB4IDI1cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAucmVzcG9uc2l2ZS10YWJzIC5hY2NvcmRpb24taXRlbS5pcy1hY3RpdmUgLmFjY29yZGlvbi1jb250ZW50IHtcbiAgICAgICAgcGFkZGluZzogNDBweCA1MHB4OyB9IH1cbiAgLnJlc3BvbnNpdmUtdGFicyAudGFicy1jb250ZW50IHtcbiAgICBmbGV4OiAxOyB9XG4gIC5yZXNwb25zaXZlLXRhYnMgLmFjY29yZGlvbi1pdGVtOmxhc3QtY2hpbGQgLmFjY29yZGlvbi1jb250ZW50W2FyaWEtaGlkZGVuPXRydWVdIHtcbiAgICBib3JkZXItYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cbiAgLnJlc3BvbnNpdmUtdGFicyAudGFicy1jb250ZW50IHRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRyOm5vdCg6bGFzdC1jaGlsZCksXG4gIC5yZXNwb25zaXZlLXRhYnMgLmFjY29yZGlvbi1jb250ZW50IHRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRyOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGFkYWRhOyB9XG4gIC5yZXNwb25zaXZlLXRhYnMgLnRhYnMtY29udGVudCB0YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0ZCxcbiAgLnJlc3BvbnNpdmUtdGFicyAuYWNjb3JkaW9uLWNvbnRlbnQgdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGQge1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cbiAgLnJlc3BvbnNpdmUtdGFicyAudGFicy1jb250ZW50IHVsLFxuICAucmVzcG9uc2l2ZS10YWJzIC5hY2NvcmRpb24tY29udGVudCB1bCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG4jdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLWNtcy1lbnRyeSBoMSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBoMSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgaDEsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLWNtcy1lbnRyeSBoMSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgaDEsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBoMSB7XG4gIG1hcmdpbjogMCAwIDM1cHg7XG4gIGZvbnQtc2l6ZTogMi4xMjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgY29sb3I6ICMwNjA1MmY7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtY21zLWVudHJ5IGgxOmZpcnN0LWNoaWxkLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIGgxOmZpcnN0LWNoaWxkLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBoMTpmaXJzdC1jaGlsZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtY21zLWVudHJ5IGgxOmZpcnN0LWNoaWxkLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBoMTpmaXJzdC1jaGlsZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtbm90ZXMtY29udGFpbmVyIGgxOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtY21zLWVudHJ5IGgxOm9ubHktY2hpbGQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgaDE6b25seS1jaGlsZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgaDE6b25seS1jaGlsZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtY21zLWVudHJ5IGgxOm9ubHktY2hpbGQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIGgxOm9ubHktY2hpbGQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBoMTpvbmx5LWNoaWxkIHtcbiAgICBtYXJnaW46IDA7IH1cblxuI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1jbXMtZW50cnkgaDIsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgaDIsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtbm90ZXMtY29udGFpbmVyIGgyLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1jbXMtZW50cnkgaDIsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIGgyLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgaDIge1xuICBtYXJnaW46IDAgMCAyMHB4O1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgY29sb3I6ICMwNjA1MmY7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7IH1cbiAgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1jbXMtZW50cnkgaDI6Zmlyc3QtY2hpbGQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgaDI6Zmlyc3QtY2hpbGQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtbm90ZXMtY29udGFpbmVyIGgyOmZpcnN0LWNoaWxkLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1jbXMtZW50cnkgaDI6Zmlyc3QtY2hpbGQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIGgyOmZpcnN0LWNoaWxkLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgaDI6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1jbXMtZW50cnkgaDI6b25seS1jaGlsZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBoMjpvbmx5LWNoaWxkLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBoMjpvbmx5LWNoaWxkLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1jbXMtZW50cnkgaDI6b25seS1jaGlsZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgaDI6b25seS1jaGlsZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtbm90ZXMtY29udGFpbmVyIGgyOm9ubHktY2hpbGQge1xuICAgIG1hcmdpbjogMDsgfVxuXG4jdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLWNtcy1lbnRyeSBoMywgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBoMywgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgaDMsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLWNtcy1lbnRyeSBoMywgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgaDMsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBoMyB7XG4gIG1hcmdpbjogMCAwIDIwcHg7XG4gIHBhZGRpbmc6IDE1cHggMDtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBjb2xvcjogIzA2MDUyZjtcbiAgbGluZS1oZWlnaHQ6IDEuNDsgfVxuICAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLWNtcy1lbnRyeSBoMzpmaXJzdC1jaGlsZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBoMzpmaXJzdC1jaGlsZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgaDM6Zmlyc3QtY2hpbGQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLWNtcy1lbnRyeSBoMzpmaXJzdC1jaGlsZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgaDM6Zmlyc3QtY2hpbGQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBoMzpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLWNtcy1lbnRyeSBoMzpvbmx5LWNoaWxkLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIGgzOm9ubHktY2hpbGQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtbm90ZXMtY29udGFpbmVyIGgzOm9ubHktY2hpbGQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLWNtcy1lbnRyeSBoMzpvbmx5LWNoaWxkLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBoMzpvbmx5LWNoaWxkLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgaDM6b25seS1jaGlsZCB7XG4gICAgbWFyZ2luOiAwOyB9XG5cbiN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtY21zLWVudHJ5IGg0LCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIGg0LCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBoNCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtY21zLWVudHJ5IGg0LCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBoNCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtbm90ZXMtY29udGFpbmVyIGg0IHtcbiAgbWFyZ2luOiAwIDAgMjBweDtcbiAgcGFkZGluZzogMCAwIDEwcHg7XG4gIGZvbnQtc2l6ZTogMS4ycmVtO1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGNvbG9yOiAjMDYwNTJmO1xuICBsaW5lLWhlaWdodDogMS40OyB9XG4gICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtY21zLWVudHJ5IGg0OmZpcnN0LWNoaWxkLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIGg0OmZpcnN0LWNoaWxkLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBoNDpmaXJzdC1jaGlsZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtY21zLWVudHJ5IGg0OmZpcnN0LWNoaWxkLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBoNDpmaXJzdC1jaGlsZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtbm90ZXMtY29udGFpbmVyIGg0OmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtY21zLWVudHJ5IGg0Om9ubHktY2hpbGQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgaDQ6b25seS1jaGlsZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgaDQ6b25seS1jaGlsZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtY21zLWVudHJ5IGg0Om9ubHktY2hpbGQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIGg0Om9ubHktY2hpbGQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBoNDpvbmx5LWNoaWxkIHtcbiAgICBtYXJnaW46IDA7IH1cblxuI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1jbXMtZW50cnkgaDUsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgaDUsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtbm90ZXMtY29udGFpbmVyIGg1LCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1jbXMtZW50cnkgaDUsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIGg1LCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgaDUge1xuICBtYXJnaW46IDAgMCAyMHB4O1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgY29sb3I6ICMwNjA1MmY7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7IH1cbiAgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1jbXMtZW50cnkgaDU6Zmlyc3QtY2hpbGQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgaDU6Zmlyc3QtY2hpbGQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtbm90ZXMtY29udGFpbmVyIGg1OmZpcnN0LWNoaWxkLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1jbXMtZW50cnkgaDU6Zmlyc3QtY2hpbGQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIGg1OmZpcnN0LWNoaWxkLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgaDU6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1jbXMtZW50cnkgaDU6b25seS1jaGlsZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBoNTpvbmx5LWNoaWxkLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBoNTpvbmx5LWNoaWxkLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1jbXMtZW50cnkgaDU6b25seS1jaGlsZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgaDU6b25seS1jaGlsZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtbm90ZXMtY29udGFpbmVyIGg1Om9ubHktY2hpbGQge1xuICAgIG1hcmdpbjogMDsgfVxuXG4jdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLWNtcy1lbnRyeSBoNiwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBoNiwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgaDYsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLWNtcy1lbnRyeSBoNiwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgaDYsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBoNiB7XG4gIG1hcmdpbjogMCAwIDIwcHg7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBjb2xvcjogIzA2MDUyZjtcbiAgbGluZS1oZWlnaHQ6IDEuNDsgfVxuICAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLWNtcy1lbnRyeSBoNjpmaXJzdC1jaGlsZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBoNjpmaXJzdC1jaGlsZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgaDY6Zmlyc3QtY2hpbGQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLWNtcy1lbnRyeSBoNjpmaXJzdC1jaGlsZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgaDY6Zmlyc3QtY2hpbGQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBoNjpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLWNtcy1lbnRyeSBoNjpvbmx5LWNoaWxkLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIGg2Om9ubHktY2hpbGQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtbm90ZXMtY29udGFpbmVyIGg2Om9ubHktY2hpbGQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLWNtcy1lbnRyeSBoNjpvbmx5LWNoaWxkLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBoNjpvbmx5LWNoaWxkLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgaDY6b25seS1jaGlsZCB7XG4gICAgbWFyZ2luOiAwOyB9XG5cbiN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtY21zLWVudHJ5IHAsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgcCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgcCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtY21zLWVudHJ5IHAsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIHAsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBwIHtcbiAgbWFyZ2luOiB2YXIoLS1pbmRlbnQtbWFyZ2luLCAwKTtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBjb2xvcjogIzc3Nzc3NzsgfVxuICAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLWNtcy1lbnRyeSBwIGltZ1tzdHlsZSo9XCJmbG9hdDpsZWZ0XCJdLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLWNtcy1lbnRyeSBwIGltZ1tzdHlsZSo9XCJmbG9hdDogbGVmdFwiXSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1jbXMtZW50cnkgcFtzdHlsZSo9XCJmbG9hdDpsZWZ0XCJdID4gaW1nLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIHAgaW1nW3N0eWxlKj1cImZsb2F0OmxlZnRcIl0sICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6IGxlZnRcIl0sICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgcFtzdHlsZSo9XCJmbG9hdDpsZWZ0XCJdID4gaW1nLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBwIGltZ1tzdHlsZSo9XCJmbG9hdDpsZWZ0XCJdLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBwIGltZ1tzdHlsZSo9XCJmbG9hdDogbGVmdFwiXSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgcFtzdHlsZSo9XCJmbG9hdDpsZWZ0XCJdID4gaW1nLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1jbXMtZW50cnkgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6bGVmdFwiXSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtY21zLWVudHJ5IHAgaW1nW3N0eWxlKj1cImZsb2F0OiBsZWZ0XCJdLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1jbXMtZW50cnkgcFtzdHlsZSo9XCJmbG9hdDpsZWZ0XCJdID4gaW1nLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBwIGltZ1tzdHlsZSo9XCJmbG9hdDpsZWZ0XCJdLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBwIGltZ1tzdHlsZSo9XCJmbG9hdDogbGVmdFwiXSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgcFtzdHlsZSo9XCJmbG9hdDpsZWZ0XCJdID4gaW1nLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6bGVmdFwiXSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtbm90ZXMtY29udGFpbmVyIHAgaW1nW3N0eWxlKj1cImZsb2F0OiBsZWZ0XCJdLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgcFtzdHlsZSo9XCJmbG9hdDpsZWZ0XCJdID4gaW1nIHtcbiAgICBtYXJnaW46IC4yZW0gLjJlbSAuMmVtIDA7IH1cbiAgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1jbXMtZW50cnkgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6cmlnaHRcIl0sICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtY21zLWVudHJ5IHAgaW1nW3N0eWxlKj1cImZsb2F0OiByaWdodFwiXSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1jbXMtZW50cnkgcFtzdHlsZSo9XCJmbG9hdDpyaWdodFwiXSA+IGltZywgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBwIGltZ1tzdHlsZSo9XCJmbG9hdDpyaWdodFwiXSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBwIGltZ1tzdHlsZSo9XCJmbG9hdDogcmlnaHRcIl0sICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgcFtzdHlsZSo9XCJmbG9hdDpyaWdodFwiXSA+IGltZywgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6cmlnaHRcIl0sICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtbm90ZXMtY29udGFpbmVyIHAgaW1nW3N0eWxlKj1cImZsb2F0OiByaWdodFwiXSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgcFtzdHlsZSo9XCJmbG9hdDpyaWdodFwiXSA+IGltZywgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtY21zLWVudHJ5IHAgaW1nW3N0eWxlKj1cImZsb2F0OnJpZ2h0XCJdLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1jbXMtZW50cnkgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6IHJpZ2h0XCJdLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1jbXMtZW50cnkgcFtzdHlsZSo9XCJmbG9hdDpyaWdodFwiXSA+IGltZywgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6cmlnaHRcIl0sICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIHAgaW1nW3N0eWxlKj1cImZsb2F0OiByaWdodFwiXSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgcFtzdHlsZSo9XCJmbG9hdDpyaWdodFwiXSA+IGltZywgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtbm90ZXMtY29udGFpbmVyIHAgaW1nW3N0eWxlKj1cImZsb2F0OnJpZ2h0XCJdLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6IHJpZ2h0XCJdLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgcFtzdHlsZSo9XCJmbG9hdDpyaWdodFwiXSA+IGltZyB7XG4gICAgbWFyZ2luOiAuMmVtIDAgLjJlbSAuMmVtOyB9XG4gICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtY21zLWVudHJ5IHAgaW1nLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIHAgaW1nLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBwIGltZywgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtY21zLWVudHJ5IHAgaW1nLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBwIGltZywgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtbm90ZXMtY29udGFpbmVyIHAgaW1nIHtcbiAgICBtYXJnaW46IC4yZW0gMDsgfVxuICAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLWNtcy1lbnRyeSBwICsgcCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBwICsgcCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgcCArIHAsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLWNtcy1lbnRyeSBwICsgcCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgcCArIHAsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBwICsgcCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbiN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtY21zLWVudHJ5IHVsLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLWNtcy1lbnRyeSBvbCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciB1bCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBvbCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgdWwsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtbm90ZXMtY29udGFpbmVyIG9sLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1jbXMtZW50cnkgdWwsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLWNtcy1lbnRyeSBvbCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgdWwsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIG9sLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgdWwsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBvbCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1jbXMtZW50cnkgdWwsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgdWwsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtbm90ZXMtY29udGFpbmVyIHVsLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1jbXMtZW50cnkgdWwsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIHVsLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgdWwge1xuICBtYXJnaW46IDEwcHg7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAyNXB4OyB9XG4gICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtY21zLWVudHJ5IHVsIHVsLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIHVsIHVsLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciB1bCB1bCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtY21zLWVudHJ5IHVsIHVsLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciB1bCB1bCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtbm90ZXMtY29udGFpbmVyIHVsIHVsIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDI1cHg7IH1cbiAgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1jbXMtZW50cnkgdWwgbGksICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgdWwgbGksICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtbm90ZXMtY29udGFpbmVyIHVsIGxpLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1jbXMtZW50cnkgdWwgbGksICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIHVsIGxpLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgdWwgbGkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAwIDAgMCAxNXB4OyB9XG4gICAgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1jbXMtZW50cnkgdWwgbGk6YmVmb3JlLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIHVsIGxpOmJlZm9yZSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgdWwgbGk6YmVmb3JlLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1jbXMtZW50cnkgdWwgbGk6YmVmb3JlLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciB1bCBsaTpiZWZvcmUsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciB1bCBsaTpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB3aWR0aDogNXB4O1xuICAgICAgaGVpZ2h0OiA1cHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDEwcHg7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDYwNTJmO1xuICAgICAgYm9yZGVyLXJhZGl1czogNXB4OyB9XG5cbiN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtY21zLWVudHJ5IG9sLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIG9sLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBvbCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtY21zLWVudHJ5IG9sLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBvbCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtbm90ZXMtY29udGFpbmVyIG9sIHtcbiAgbWFyZ2luOiAxMHB4O1xuICBwYWRkaW5nOiAwIDI1cHg7IH1cbiAgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1jbXMtZW50cnkgb2wgb2wsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgb2wgb2wsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtbm90ZXMtY29udGFpbmVyIG9sIG9sLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1jbXMtZW50cnkgb2wgb2wsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIG9sIG9sLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgb2wgb2wge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IGxvd2VyLWFscGhhOyB9XG4gICAgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1jbXMtZW50cnkgb2wgb2wgb2wsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgb2wgb2wgb2wsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtbm90ZXMtY29udGFpbmVyIG9sIG9sIG9sLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1jbXMtZW50cnkgb2wgb2wgb2wsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIG9sIG9sIG9sLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgb2wgb2wgb2wge1xuICAgICAgbGlzdC1zdHlsZS10eXBlOiBsb3dlci1yb21hbjsgfVxuICAgICAgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1jbXMtZW50cnkgb2wgb2wgb2wgb2wsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgb2wgb2wgb2wgb2wsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtbm90ZXMtY29udGFpbmVyIG9sIG9sIG9sIG9sLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1jbXMtZW50cnkgb2wgb2wgb2wgb2wsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIG9sIG9sIG9sIG9sLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgb2wgb2wgb2wgb2wge1xuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IGxvd2VyLWFscGhhOyB9XG4gICAgICAgICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtY21zLWVudHJ5IG9sIG9sIG9sIG9sIG9sLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIG9sIG9sIG9sIG9sIG9sLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBvbCBvbCBvbCBvbCBvbCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtY21zLWVudHJ5IG9sIG9sIG9sIG9sIG9sLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBvbCBvbCBvbCBvbCBvbCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtbm90ZXMtY29udGFpbmVyIG9sIG9sIG9sIG9sIG9sIHtcbiAgICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IGxvd2VyLXJvbWFuOyB9XG5cbiN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtY21zLWVudHJ5IGxpLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIGxpLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBsaSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtY21zLWVudHJ5IGxpLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBsaSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtbm90ZXMtY29udGFpbmVyIGxpIHtcbiAgY29sb3I6ICM3Nzc3Nzc7XG4gIGZvbnQtc2l6ZTogMXJlbTsgfVxuXG4jdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLWNtcy1lbnRyeSB1bCArIGgxLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLWNtcy1lbnRyeSBvbCArIGgxLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIHVsICsgaDEsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgb2wgKyBoMSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgdWwgKyBoMSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgb2wgKyBoMSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtY21zLWVudHJ5IHVsICsgaDEsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLWNtcy1lbnRyeSBvbCArIGgxLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciB1bCArIGgxLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBvbCArIGgxLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgdWwgKyBoMSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtbm90ZXMtY29udGFpbmVyIG9sICsgaDEge1xuICBtYXJnaW4tdG9wOiAzNXB4OyB9XG5cbiN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtY21zLWVudHJ5IHVsICsgaDIsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtY21zLWVudHJ5IG9sICsgaDIsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgdWwgKyBoMiwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBvbCArIGgyLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciB1bCArIGgyLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBvbCArIGgyLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1jbXMtZW50cnkgdWwgKyBoMiwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtY21zLWVudHJ5IG9sICsgaDIsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIHVsICsgaDIsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIG9sICsgaDIsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciB1bCArIGgyLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgb2wgKyBoMiB7XG4gIG1hcmdpbi10b3A6IDIwcHg7IH1cblxuI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1jbXMtZW50cnkgdWwgKyBoMywgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1jbXMtZW50cnkgb2wgKyBoMywgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciB1bCArIGgzLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIG9sICsgaDMsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtbm90ZXMtY29udGFpbmVyIHVsICsgaDMsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtbm90ZXMtY29udGFpbmVyIG9sICsgaDMsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLWNtcy1lbnRyeSB1bCArIGgzLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1jbXMtZW50cnkgb2wgKyBoMywgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgdWwgKyBoMywgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgb2wgKyBoMywgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtbm90ZXMtY29udGFpbmVyIHVsICsgaDMsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBvbCArIGgzIHtcbiAgbWFyZ2luLXRvcDogMjBweDsgfVxuXG4jdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLWNtcy1lbnRyeSB1bCArIGg0LCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLWNtcy1lbnRyeSBvbCArIGg0LCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIHVsICsgaDQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgb2wgKyBoNCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgdWwgKyBoNCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgb2wgKyBoNCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtY21zLWVudHJ5IHVsICsgaDQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLWNtcy1lbnRyeSBvbCArIGg0LCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciB1bCArIGg0LCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBvbCArIGg0LCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgdWwgKyBoNCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtbm90ZXMtY29udGFpbmVyIG9sICsgaDQge1xuICBtYXJnaW4tdG9wOiAyMHB4OyB9XG5cbiN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtY21zLWVudHJ5IHVsICsgaDUsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtY21zLWVudHJ5IG9sICsgaDUsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgdWwgKyBoNSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBvbCArIGg1LCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciB1bCArIGg1LCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBvbCArIGg1LCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1jbXMtZW50cnkgdWwgKyBoNSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtY21zLWVudHJ5IG9sICsgaDUsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIHVsICsgaDUsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIG9sICsgaDUsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciB1bCArIGg1LCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgb2wgKyBoNSB7XG4gIG1hcmdpbi10b3A6IDIwcHg7IH1cblxuI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1jbXMtZW50cnkgdWwgKyBoNiwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1jbXMtZW50cnkgb2wgKyBoNiwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciB1bCArIGg2LCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIG9sICsgaDYsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtbm90ZXMtY29udGFpbmVyIHVsICsgaDYsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtbm90ZXMtY29udGFpbmVyIG9sICsgaDYsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLWNtcy1lbnRyeSB1bCArIGg2LCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1jbXMtZW50cnkgb2wgKyBoNiwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgdWwgKyBoNiwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgb2wgKyBoNiwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtbm90ZXMtY29udGFpbmVyIHVsICsgaDYsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBvbCArIGg2IHtcbiAgbWFyZ2luLXRvcDogMjBweDsgfVxuXG4jdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLWNtcy1lbnRyeSBkbCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBkbCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgZGwsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLWNtcy1lbnRyeSBkbCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgZGwsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBkbCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgcDpub3QoOmVtcHR5KSArIHRhYmxlLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCBwOm5vdCg6ZW1wdHkpICsgLmNvbXBhcmlzb24tdGFibGUtY29udGFpbmVyLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgcDpub3QoOmVtcHR5KSArIHRhYmxlLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgcDpub3QoOmVtcHR5KSArIC5jb21wYXJpc29uLXRhYmxlLWNvbnRhaW5lciB7XG4gIG1hcmdpbjogMTVweCAwOyB9XG5cbiN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIHRhYmxlLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgdGFibGUge1xuICAtLXRoZWFkLWJvcmRlci1jb2xvdXI6ICR0aGVhZC1ib3JkZXItY29sb3VyO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCB0YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCB0YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCB0ciwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IHRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkIHRyIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS10aGVhZC1ib3JkZXItY29sb3VyKTsgfVxuICAgICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIHRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkIHRoLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQgdGgge1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCB0YWJsZS5yZXNwb25zaXZlLXRhYmxlLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCB0YWJsZS5yZXNwb25zaXZlLXRhYmxlLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlOyB9IH1cbiAgICAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCB0YWJsZS5yZXNwb25zaXZlLXRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgdGFibGUucmVzcG9uc2l2ZS10YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIHRhYmxlLnJlc3BvbnNpdmUtdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCB0YWJsZS5yZXNwb25zaXZlLXRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkIHtcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXA7IH0gfVxuICAgICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIHRhYmxlLnJlc3BvbnNpdmUtdGFibGUgdGJvZHk6bm90KC5jb21wYXJpc29uLXN1bW1hcnkpLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB0Ym9keTpub3QoLmNvbXBhcmlzb24tc3VtbWFyeSkge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB0Ym9keTpub3QoLmNvbXBhcmlzb24tc3VtbWFyeSksICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHRib2R5Om5vdCguY29tcGFyaXNvbi1zdW1tYXJ5KSB7XG4gICAgICAgICAgZGlzcGxheTogdGFibGUtcm93LWdyb3VwOyB9IH1cbiAgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgdGFibGUgdGgsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCB0YWJsZSB0aCB7XG4gICAgcGFkZGluZzogMTBweCAxMHB4IDEwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIHRhYmxlIHRkLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgdGFibGUgdGQge1xuICAgICAgcGFkZGluZzogMTBweDsgfSB9XG4gICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIHRhYmxlIHRoZWFkW2NsYXNzKj1cInByZXNldFwiXSArIHRib2R5OmJlZm9yZSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IHRhYmxlIHRoZWFkW2NsYXNzKj1cInByZXNldFwiXSArIHRib2R5OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIHRhYmxlIHRoZWFkW2NsYXNzKj1cInByZXNldFwiXSArIHRib2R5OmJlZm9yZSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IHRhYmxlIHRoZWFkW2NsYXNzKj1cInByZXNldFwiXSArIHRib2R5OmJlZm9yZSB7XG4gICAgICAgIG1hcmdpbjogMTBweDsgfSB9XG4gICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIHRhYmxlIHRib2R5LCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgdGFibGUgdGJvZHkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgdGFibGUgdGJvZHkgdGgsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCB0YWJsZSB0Ym9keSB0aCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIHRhYmxlIHRib2R5IHRyOm5vdCg6bGFzdC1jaGlsZCkgdGgsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCB0YWJsZSB0Ym9keSB0cjpub3QoOmxhc3QtY2hpbGQpIHRoIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIHRhYmxlIHRib2R5IHRyLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgdGFibGUgdGJvZHkgdHIge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3c7IH0gfVxuICAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCB0YWJsZSAuY29sLWxhYmVsLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgdGFibGUgLmNvbC1sYWJlbCB7XG4gICAgY29sb3I6ICM3Nzc3Nzc7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHRib2R5IHRyLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB0Ym9keSB0ciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB0Ym9keSB0cjpub3QoOmxhc3QtY2hpbGQpLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB0Ym9keSB0cjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWVlZWVlOyB9IH1cbiAgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgdGFibGUubm8td3JhcCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IHRhYmxlLm5vLXdyYXAge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgb3ZlcmZsb3cteDogYXV0bzsgfVxuICAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCB0YWJsZS5jb21wYXJpc29uLXRhYmxlIHRib2R5IHRkOmZpcnN0LWNoaWxkLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgdGFibGUuY29tcGFyaXNvbi10YWJsZSB0Ym9keSB0ZDpmaXJzdC1jaGlsZCB7XG4gICAgY29sb3I6ICM3Nzc3Nzc7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuXG4jdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIHRhYmxlIHRib2R5IHRkOmZpcnN0LWNoaWxkIHtcbiAgY29sb3I6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy0wKTtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi50YWJzLXBhbmVsIC5jb21wb25lbnRzLWludHJvLWNvbnRhaW5lciwgLmFjY29yZGlvbi1jb250ZW50IC5jb21wb25lbnRzLWludHJvLWNvbnRhaW5lciB7XG4gIG1hcmdpbjogMCAwIDMwcHg7XG4gIHBhZGRpbmc6IDA7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuLnRhYnMtcGFuZWw6aGFzKC5jb21wb25lbnRzLWludHJvLWNvbnRhaW5lcikgcDpub3QoOmVtcHR5KSArIHRhYmxlLCAudGFicy1wYW5lbDpoYXMoLmNvbXBvbmVudHMtaW50cm8tY29udGFpbmVyKSBwOm5vdCg6ZW1wdHkpICsgLmNvbXBhcmlzb24tdGFibGUtY29udGFpbmVyLCAuYWNjb3JkaW9uLWNvbnRlbnQ6aGFzKC5jb21wb25lbnRzLWludHJvLWNvbnRhaW5lcikgcDpub3QoOmVtcHR5KSArIHRhYmxlLCAuYWNjb3JkaW9uLWNvbnRlbnQ6aGFzKC5jb21wb25lbnRzLWludHJvLWNvbnRhaW5lcikgcDpub3QoOmVtcHR5KSArIC5jb21wYXJpc29uLXRhYmxlLWNvbnRhaW5lciB7XG4gIG1hcmdpbjogMTVweCAwOyB9XG5cbi50YWJzLXBhbmVsOmhhcyguY29tcG9uZW50cy1pbnRyby1jb250YWluZXIpIHRhYmxlLCAuYWNjb3JkaW9uLWNvbnRlbnQ6aGFzKC5jb21wb25lbnRzLWludHJvLWNvbnRhaW5lcikgdGFibGUge1xuICAtLXRoZWFkLWJvcmRlci1jb2xvdXI6ICR0aGVhZC1ib3JkZXItY29sb3VyO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLnRhYnMtcGFuZWw6aGFzKC5jb21wb25lbnRzLWludHJvLWNvbnRhaW5lcikgdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQsIC5hY2NvcmRpb24tY29udGVudDpoYXMoLmNvbXBvbmVudHMtaW50cm8tY29udGFpbmVyKSB0YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAudGFicy1wYW5lbDpoYXMoLmNvbXBvbmVudHMtaW50cm8tY29udGFpbmVyKSB0YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCB0ciwgLmFjY29yZGlvbi1jb250ZW50OmhhcyguY29tcG9uZW50cy1pbnRyby1jb250YWluZXIpIHRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkIHRyIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS10aGVhZC1ib3JkZXItY29sb3VyKTsgfVxuICAgIC50YWJzLXBhbmVsOmhhcyguY29tcG9uZW50cy1pbnRyby1jb250YWluZXIpIHRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkIHRoLCAuYWNjb3JkaW9uLWNvbnRlbnQ6aGFzKC5jb21wb25lbnRzLWludHJvLWNvbnRhaW5lcikgdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQgdGgge1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAudGFicy1wYW5lbDpoYXMoLmNvbXBvbmVudHMtaW50cm8tY29udGFpbmVyKSB0YWJsZS5yZXNwb25zaXZlLXRhYmxlLCAuYWNjb3JkaW9uLWNvbnRlbnQ6aGFzKC5jb21wb25lbnRzLWludHJvLWNvbnRhaW5lcikgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAudGFicy1wYW5lbDpoYXMoLmNvbXBvbmVudHMtaW50cm8tY29udGFpbmVyKSB0YWJsZS5yZXNwb25zaXZlLXRhYmxlLCAuYWNjb3JkaW9uLWNvbnRlbnQ6aGFzKC5jb21wb25lbnRzLWludHJvLWNvbnRhaW5lcikgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlOyB9IH1cbiAgICAudGFicy1wYW5lbDpoYXMoLmNvbXBvbmVudHMtaW50cm8tY29udGFpbmVyKSB0YWJsZS5yZXNwb25zaXZlLXRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkLCAuYWNjb3JkaW9uLWNvbnRlbnQ6aGFzKC5jb21wb25lbnRzLWludHJvLWNvbnRhaW5lcikgdGFibGUucmVzcG9uc2l2ZS10YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC50YWJzLXBhbmVsOmhhcyguY29tcG9uZW50cy1pbnRyby1jb250YWluZXIpIHRhYmxlLnJlc3BvbnNpdmUtdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQsIC5hY2NvcmRpb24tY29udGVudDpoYXMoLmNvbXBvbmVudHMtaW50cm8tY29udGFpbmVyKSB0YWJsZS5yZXNwb25zaXZlLXRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkIHtcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXA7IH0gfVxuICAgIC50YWJzLXBhbmVsOmhhcyguY29tcG9uZW50cy1pbnRyby1jb250YWluZXIpIHRhYmxlLnJlc3BvbnNpdmUtdGFibGUgdGJvZHk6bm90KC5jb21wYXJpc29uLXN1bW1hcnkpLCAuYWNjb3JkaW9uLWNvbnRlbnQ6aGFzKC5jb21wb25lbnRzLWludHJvLWNvbnRhaW5lcikgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB0Ym9keTpub3QoLmNvbXBhcmlzb24tc3VtbWFyeSkge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLnRhYnMtcGFuZWw6aGFzKC5jb21wb25lbnRzLWludHJvLWNvbnRhaW5lcikgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB0Ym9keTpub3QoLmNvbXBhcmlzb24tc3VtbWFyeSksIC5hY2NvcmRpb24tY29udGVudDpoYXMoLmNvbXBvbmVudHMtaW50cm8tY29udGFpbmVyKSB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHRib2R5Om5vdCguY29tcGFyaXNvbi1zdW1tYXJ5KSB7XG4gICAgICAgICAgZGlzcGxheTogdGFibGUtcm93LWdyb3VwOyB9IH1cbiAgLnRhYnMtcGFuZWw6aGFzKC5jb21wb25lbnRzLWludHJvLWNvbnRhaW5lcikgdGFibGUgdGgsIC5hY2NvcmRpb24tY29udGVudDpoYXMoLmNvbXBvbmVudHMtaW50cm8tY29udGFpbmVyKSB0YWJsZSB0aCB7XG4gICAgcGFkZGluZzogMTBweCAxMHB4IDEwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC50YWJzLXBhbmVsOmhhcyguY29tcG9uZW50cy1pbnRyby1jb250YWluZXIpIHRhYmxlIHRkLCAuYWNjb3JkaW9uLWNvbnRlbnQ6aGFzKC5jb21wb25lbnRzLWludHJvLWNvbnRhaW5lcikgdGFibGUgdGQge1xuICAgICAgcGFkZGluZzogMTBweDsgfSB9XG4gIC50YWJzLXBhbmVsOmhhcyguY29tcG9uZW50cy1pbnRyby1jb250YWluZXIpIHRhYmxlIHRoZWFkW2NsYXNzKj1cInByZXNldFwiXSArIHRib2R5OmJlZm9yZSwgLmFjY29yZGlvbi1jb250ZW50OmhhcyguY29tcG9uZW50cy1pbnRyby1jb250YWluZXIpIHRhYmxlIHRoZWFkW2NsYXNzKj1cInByZXNldFwiXSArIHRib2R5OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC50YWJzLXBhbmVsOmhhcyguY29tcG9uZW50cy1pbnRyby1jb250YWluZXIpIHRhYmxlIHRoZWFkW2NsYXNzKj1cInByZXNldFwiXSArIHRib2R5OmJlZm9yZSwgLmFjY29yZGlvbi1jb250ZW50OmhhcyguY29tcG9uZW50cy1pbnRyby1jb250YWluZXIpIHRhYmxlIHRoZWFkW2NsYXNzKj1cInByZXNldFwiXSArIHRib2R5OmJlZm9yZSB7XG4gICAgICAgIG1hcmdpbjogMTBweDsgfSB9XG4gIC50YWJzLXBhbmVsOmhhcyguY29tcG9uZW50cy1pbnRyby1jb250YWluZXIpIHRhYmxlIHRib2R5LCAuYWNjb3JkaW9uLWNvbnRlbnQ6aGFzKC5jb21wb25lbnRzLWludHJvLWNvbnRhaW5lcikgdGFibGUgdGJvZHkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLnRhYnMtcGFuZWw6aGFzKC5jb21wb25lbnRzLWludHJvLWNvbnRhaW5lcikgdGFibGUgdGJvZHkgdGgsIC5hY2NvcmRpb24tY29udGVudDpoYXMoLmNvbXBvbmVudHMtaW50cm8tY29udGFpbmVyKSB0YWJsZSB0Ym9keSB0aCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC50YWJzLXBhbmVsOmhhcyguY29tcG9uZW50cy1pbnRyby1jb250YWluZXIpIHRhYmxlIHRib2R5IHRyOm5vdCg6bGFzdC1jaGlsZCkgdGgsIC5hY2NvcmRpb24tY29udGVudDpoYXMoLmNvbXBvbmVudHMtaW50cm8tY29udGFpbmVyKSB0YWJsZSB0Ym9keSB0cjpub3QoOmxhc3QtY2hpbGQpIHRoIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC50YWJzLXBhbmVsOmhhcyguY29tcG9uZW50cy1pbnRyby1jb250YWluZXIpIHRhYmxlIHRib2R5IHRyLCAuYWNjb3JkaW9uLWNvbnRlbnQ6aGFzKC5jb21wb25lbnRzLWludHJvLWNvbnRhaW5lcikgdGFibGUgdGJvZHkgdHIge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3c7IH0gfVxuICAudGFicy1wYW5lbDpoYXMoLmNvbXBvbmVudHMtaW50cm8tY29udGFpbmVyKSB0YWJsZSAuY29sLWxhYmVsLCAuYWNjb3JkaW9uLWNvbnRlbnQ6aGFzKC5jb21wb25lbnRzLWludHJvLWNvbnRhaW5lcikgdGFibGUgLmNvbC1sYWJlbCB7XG4gICAgY29sb3I6ICM3Nzc3Nzc7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAudGFicy1wYW5lbDpoYXMoLmNvbXBvbmVudHMtaW50cm8tY29udGFpbmVyKSB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHRib2R5IHRyLCAuYWNjb3JkaW9uLWNvbnRlbnQ6aGFzKC5jb21wb25lbnRzLWludHJvLWNvbnRhaW5lcikgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB0Ym9keSB0ciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgLnRhYnMtcGFuZWw6aGFzKC5jb21wb25lbnRzLWludHJvLWNvbnRhaW5lcikgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB0Ym9keSB0cjpub3QoOmxhc3QtY2hpbGQpLCAuYWNjb3JkaW9uLWNvbnRlbnQ6aGFzKC5jb21wb25lbnRzLWludHJvLWNvbnRhaW5lcikgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB0Ym9keSB0cjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWVlZWVlOyB9IH1cbiAgLnRhYnMtcGFuZWw6aGFzKC5jb21wb25lbnRzLWludHJvLWNvbnRhaW5lcikgdGFibGUubm8td3JhcCwgLmFjY29yZGlvbi1jb250ZW50OmhhcyguY29tcG9uZW50cy1pbnRyby1jb250YWluZXIpIHRhYmxlLm5vLXdyYXAge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgb3ZlcmZsb3cteDogYXV0bzsgfVxuICAudGFicy1wYW5lbDpoYXMoLmNvbXBvbmVudHMtaW50cm8tY29udGFpbmVyKSB0YWJsZS5jb21wYXJpc29uLXRhYmxlIHRib2R5IHRkOmZpcnN0LWNoaWxkLCAuYWNjb3JkaW9uLWNvbnRlbnQ6aGFzKC5jb21wb25lbnRzLWludHJvLWNvbnRhaW5lcikgdGFibGUuY29tcGFyaXNvbi10YWJsZSB0Ym9keSB0ZDpmaXJzdC1jaGlsZCB7XG4gICAgY29sb3I6ICM3Nzc3Nzc7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuXG4udGFicy1wYW5lbDpoYXMoLmNvbXBvbmVudHMtaW50cm8tY29udGFpbmVyKSAuZGVzY3JpcHRpb24tY29sLCAudGFicy1wYW5lbDpoYXMoLmNvbXBvbmVudHMtaW50cm8tY29udGFpbmVyKSAucmVmZXJlbmNlLWNvbCwgLmFjY29yZGlvbi1jb250ZW50OmhhcyguY29tcG9uZW50cy1pbnRyby1jb250YWluZXIpIC5kZXNjcmlwdGlvbi1jb2wsIC5hY2NvcmRpb24tY29udGVudDpoYXMoLmNvbXBvbmVudHMtaW50cm8tY29udGFpbmVyKSAucmVmZXJlbmNlLWNvbCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuLnRhYnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbi10b3A6IDgwcHg7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGFkYWRhICFpbXBvcnRhbnQ7IH1cbiAgLnRhYnMudmVydGljYWwge1xuICAgIHdpZHRoOiAyMCU7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBib3JkZXItYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAudGFicy52ZXJ0aWNhbCB7XG4gICAgICAgIG1heC13aWR0aDogMzAwcHg7IH0gfVxuICAudGFicyAudGFicy10aXRsZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItd2lkdGg6IDFweCAxcHggMCAxcHg7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDsgfVxuICAgIC50YWJzIC50YWJzLXRpdGxlLmlzLWFjdGl2ZSB7XG4gICAgICBib3JkZXItY29sb3I6ICNkYWRhZGE7IH1cbiAgICAgIC50YWJzIC50YWJzLXRpdGxlLmlzLWFjdGl2ZTphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogLTFweDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxuICAgICAgLnRhYnMgLnRhYnMtdGl0bGUuaXMtYWN0aXZlIGE6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIu6gglwiOyB9XG4gICAgLnRhYnMgLnRhYnMtdGl0bGUgYTphZnRlciB7XG4gICAgICBjb250ZW50OiBcIu6gg1wiO1xuICAgICAgbWFyZ2luOiAwIDEwcHg7XG4gICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICBmb250LWZhbWlseTogXCJmb250ZWxsby1kam1pbGVzXCI7IH1cbiAgICAudGFicyAudGFicy10aXRsZSBhIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAgIC50YWJzIC50YWJzLXRpdGxlIGE6aG92ZXIge1xuICAgICAgICBjb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWNvbG91ci1saWdodG5lc3MtMCk7IH1cbiAgICAgIC50YWJzIC50YWJzLXRpdGxlIGE6YWN0aXZlIHtcbiAgICAgICAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wKTsgfVxuXG4uYWNjb3JkaW9uIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAxMHB4IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5hY2NvcmRpb24ge1xuICAgICAgcGFkZGluZzogMDsgfSB9XG4gIC5hY2NvcmRpb24ucGFuZWwtc3RhdGUtaW5kaWNhdG9yLWZpcnN0IC5hY2NvcmRpb24tdGl0bGU6YWZ0ZXIge1xuICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBvcmRlcjogMTsgfVxuICAuYWNjb3JkaW9uLnBhbmVsLXN0YXRlLWluZGljYXRvci1maXJzdCAuYWNjb3JkaW9uLXRpdGxlIC50aXRsZSB7XG4gICAgb3JkZXI6IDI7IH1cbiAgLmFjY29yZGlvbi5yYWRpby1pbmRpY2F0b3JzIC5hY2NvcmRpb24taXRlbS5pcy1hY3RpdmUgLmFjY29yZGlvbi10aXRsZTphZnRlciB7XG4gICAgY29udGVudDogXCLvhpJcIjtcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjsgfVxuICAuYWNjb3JkaW9uLnJhZGlvLWluZGljYXRvcnMgLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tdGl0bGU6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwi74aSXCI7XG4gICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFJlZ3VsYXJcIjsgfVxuICAuYWNjb3JkaW9uLnN1cHByZXNzLXRpdGxlLXNpbmdsZS1jaGlsZCAuYWNjb3JkaW9uLWl0ZW06b25seS1jaGlsZCAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5hY2NvcmRpb24uc3VwcHJlc3MtdGl0bGUtc2luZ2xlLWNoaWxkIC5hY2NvcmRpb24taXRlbTpvbmx5LWNoaWxkIC5hY2NvcmRpb24tY29udGVudCB7XG4gICAgYm9yZGVyLXdpZHRoOiAxcHg7IH1cbiAgLmFjY29yZGlvbi5hY2NvcmRpb24tdGl0bGUtaW52ZXJ0ZWQtY29sb3VycyAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDYwNTJmO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuICAgIC5hY2NvcmRpb24uYWNjb3JkaW9uLXRpdGxlLWludmVydGVkLWNvbG91cnMgLmFjY29yZGlvbi10aXRsZTphZnRlciB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgICAuYWNjb3JkaW9uLmFjY29yZGlvbi10aXRsZS1pbnZlcnRlZC1jb2xvdXJzIC5hY2NvcmRpb24tdGl0bGUgYS5hY2NvcmRpb24tdGl0bGUtY29udGVudCB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHMsIGJvcmRlci1jb2xvciAwLjhzLCBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cbiAgICAuYWNjb3JkaW9uLmFjY29yZGlvbi10aXRsZS1pbnZlcnRlZC1jb2xvdXJzIC5hY2NvcmRpb24tdGl0bGU6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzA2MDUyZjtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42cywgY29sb3IgMC42cywgYm9yZGVyLWNvbG9yIDAuNnM7IH1cbiAgICAgIC5hY2NvcmRpb24uYWNjb3JkaW9uLXRpdGxlLWludmVydGVkLWNvbG91cnMgLmFjY29yZGlvbi10aXRsZTpob3ZlcjphZnRlciB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gICAgICAuYWNjb3JkaW9uLmFjY29yZGlvbi10aXRsZS1pbnZlcnRlZC1jb2xvdXJzIC5hY2NvcmRpb24tdGl0bGU6aG92ZXIgYS5hY2NvcmRpb24tdGl0bGUtY29udGVudCB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgICAgIC5hY2NvcmRpb24uYWNjb3JkaW9uLXRpdGxlLWludmVydGVkLWNvbG91cnMgLmFjY29yZGlvbi10aXRsZTpob3ZlciBhLmFjY29yZGlvbi10aXRsZS1jb250ZW50OmFmdGVyIHtcbiAgICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gICAgLmFjY29yZGlvbi5hY2NvcmRpb24tdGl0bGUtaW52ZXJ0ZWQtY29sb3VycyAuYWNjb3JkaW9uLXRpdGxlOmFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTA1MDZkOyB9XG4gICAgICAuYWNjb3JkaW9uLmFjY29yZGlvbi10aXRsZS1pbnZlcnRlZC1jb2xvdXJzIC5hY2NvcmRpb24tdGl0bGU6YWN0aXZlOmFmdGVyIHtcbiAgICAgICAgY29sb3I6ICMwNjA1MmY7IH1cbiAgICAgIC5hY2NvcmRpb24uYWNjb3JkaW9uLXRpdGxlLWludmVydGVkLWNvbG91cnMgLmFjY29yZGlvbi10aXRsZTphY3RpdmUgYS5hY2NvcmRpb24tdGl0bGUtY29udGVudCB7XG4gICAgICAgIGNvbG9yOiAjMDYwNTJmOyB9XG4gICAgICAgIC5hY2NvcmRpb24uYWNjb3JkaW9uLXRpdGxlLWludmVydGVkLWNvbG91cnMgLmFjY29yZGlvbi10aXRsZTphY3RpdmUgYS5hY2NvcmRpb24tdGl0bGUtY29udGVudDphZnRlciB7XG4gICAgICAgICAgY29sb3I6ICMwNjA1MmY7IH1cbiAgLmFjY29yZGlvbi5hY2NvcmRpb24tdGl0bGUtaW52ZXJ0ZWQtY29sb3VycyAuYWNjb3JkaW9uLWl0ZW0uaXMtYWN0aXZlIC5hY2NvcmRpb24tdGl0bGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM1MDUwNmQ7IH1cbiAgICAuYWNjb3JkaW9uLmFjY29yZGlvbi10aXRsZS1pbnZlcnRlZC1jb2xvdXJzIC5hY2NvcmRpb24taXRlbS5pcy1hY3RpdmUgLmFjY29yZGlvbi10aXRsZTphZnRlciB7XG4gICAgICBjb2xvcjogIzA2MDUyZjsgfVxuICAgIC5hY2NvcmRpb24uYWNjb3JkaW9uLXRpdGxlLWludmVydGVkLWNvbG91cnMgLmFjY29yZGlvbi1pdGVtLmlzLWFjdGl2ZSAuYWNjb3JkaW9uLXRpdGxlIGE6Zmlyc3QtY2hpbGQge1xuICAgICAgY29sb3I6ICMwNjA1MmY7IH1cbiAgICAgIC5hY2NvcmRpb24uYWNjb3JkaW9uLXRpdGxlLWludmVydGVkLWNvbG91cnMgLmFjY29yZGlvbi1pdGVtLmlzLWFjdGl2ZSAuYWNjb3JkaW9uLXRpdGxlIGE6Zmlyc3QtY2hpbGQ6YWZ0ZXIge1xuICAgICAgICBjb2xvcjogIzA2MDUyZjsgfVxuICAuYWNjb3JkaW9uIC5hY2NvcmRpb24tdGl0bGUtY29udGFpbmVyIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLmFjY29yZGlvbiAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBib3JkZXItYm90dG9tOiAwOyB9XG4gICAgLmFjY29yZGlvbiAuYWNjb3JkaW9uLXRpdGxlLmRpc2FibGVkIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy04KTtcbiAgICAgIGNvbG9yOiAjOTI5MjkyO1xuICAgICAgY3Vyc29yOiBuby1kcm9wO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cbiAgICAgIC5hY2NvcmRpb24gLmFjY29yZGlvbi10aXRsZS5kaXNhYmxlZCAudGl0bGUtaWNvbiB7XG4gICAgICAgIG9wYWNpdHk6IC40OyB9XG4gICAgLmFjY29yZGlvbiAuYWNjb3JkaW9uLXRpdGxlOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwi7qCDXCI7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvLWRqbWlsZXNcIjtcbiAgICAgIGNvbG9yOiAjODg4ODg4OyB9XG4gICAgLmFjY29yZGlvbiAuYWNjb3JkaW9uLXRpdGxlIC50aXRsZS1pY29uIHtcbiAgICAgIHdpZHRoOiAxNzVweDtcbiAgICAgIGhlaWdodDogMzBweDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjsgfVxuICAgIC5hY2NvcmRpb24gLmFjY29yZGlvbi10aXRsZSAuZm91bmQtY291bnQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgb3JkZXI6IC0xOyB9XG4gIC5hY2NvcmRpb24gYS5hY2NvcmRpb24tdGl0bGU6aG92ZXIge1xuICAgIGNvbG9yOiAjMDYwNTJmOyB9XG4gIC5hY2NvcmRpb24gLmlzLWFjdGl2ZSAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICBib3JkZXItYm90dG9tOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0xMCk7IH1cbiAgICAuYWNjb3JkaW9uIC5pcy1hY3RpdmUgLmFjY29yZGlvbi10aXRsZTphZnRlciB7XG4gICAgICBjb250ZW50OiBcIu6gglwiO1xuICAgICAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wKTsgfVxuICAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuICAuYWNjb3JkaW9uIC5hY2NvcmRpb24tY29udGVudCB7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICNkYWRhZGE7XG4gICAgYm9yZGVyLXdpZHRoOiAwIDFweCAxcHggMXB4OyB9XG5cbi5hY2NvcmRpb24tY29udGVudCB7XG4gIGhlaWdodDogMDtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAuYWNjb3JkaW9uLWNvbnRlbnRbYXJpYS1oaWRkZW49XCJmYWxzZVwiXSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBhZGRpbmc6IDIwcHggMjVweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5hY2NvcmRpb24tY29udGVudFthcmlhLWhpZGRlbj1cImZhbHNlXCJdIHtcbiAgICAgICAgcGFkZGluZzogNDBweCA1MHB4OyB9IH1cblxuLmFjY29yZGlvbi10aXRsZS1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cblxuLmF0dGFjaG1lbnRzLWNvbnRhaW5lciB1bCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmF0dGFjaG1lbnRzLWNvbnRhaW5lciB1bCBsaSB7XG4gICAgICBmbGV4OiAxIDAgNTAlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5hdHRhY2htZW50cy1jb250YWluZXIgdWwgbGkge1xuICAgICAgZmxleDogMSAwIDMzJTsgfSB9XG5cbi5hdHRhY2htZW50cy1jb250YWluZXIgLmF0dGFjaG1lbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDEwcHggNXB4O1xuICBjb2xvcjogIzAwMDAwMDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gIC5hdHRhY2htZW50cy1jb250YWluZXIgLmF0dGFjaG1lbnQ6aG92ZXIge1xuICAgIGNvbG9yOiAjYWU5NDYxO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgLmF0dGFjaG1lbnRzLWNvbnRhaW5lciAuYXR0YWNobWVudDphY3RpdmUge1xuICAgIGNvbG9yOiAjODg4ODg4O1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgICAuYXR0YWNobWVudHMtY29udGFpbmVyIC5hdHRhY2htZW50OmFjdGl2ZTpiZWZvcmUge1xuICAgICAgY29sb3I6ICM4ODg4ODg7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gIC5hdHRhY2htZW50cy1jb250YWluZXIgLmF0dGFjaG1lbnQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu+Fm1wiO1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBSZWd1bGFyXCI7XG4gICAgY29sb3I6ICMwNjA1MmY7XG4gICAgbWFyZ2luOiAwIDE1cHggMCAwO1xuICAgIGZvbnQtc2l6ZTogMjZweDsgfVxuXG4uYXR0YWNobWVudHMtY29udGFpbmVyIC5icm9jaHVyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+FnFwiO1xuICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgUmVndWxhclwiO1xuICBjb2xvcjogcmdiYSg2LCA1LCA0NywgMC42KTsgfVxuXG4uYXR0YWNobWVudHMtY29udGFpbmVyIC51c2VyLWd1aWRlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74WbXCI7XG4gIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICBjb2xvcjogcmdiYSg2LCA1LCA0NywgMC42KTsgfVxuXG4uYXR0YWNobWVudHMtY29udGFpbmVyIC5wYXJ0cy1kaWFncmFtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74WcXCI7XG4gIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICBjb2xvcjogcmdiYSg2LCA1LCA0NywgMC42KTsgfVxuXG4uYXR0YWNobWVudHMtY29udGFpbmVyIC53b3JkOmJlZm9yZSwgLmF0dGFjaG1lbnRzLWNvbnRhaW5lciBbaHJlZiQ9Jy5kb2MnXTpiZWZvcmUsIC5hdHRhY2htZW50cy1jb250YWluZXIgW2hyZWYkPScuZG9jeCddOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74eCXCI7XG4gIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICBjb2xvcjogIzJiNTc5YTsgfVxuXG4uYXR0YWNobWVudHMtY29udGFpbmVyIC5wb3dlcnBvaW50OmJlZm9yZSwgLmF0dGFjaG1lbnRzLWNvbnRhaW5lciBbaHJlZiQ9Jy5wcHQnXTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+HhFwiO1xuICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgY29sb3I6ICM4MDZhNTI7IH1cblxuLmF0dGFjaG1lbnRzLWNvbnRhaW5lciAuZXhjZWw6YmVmb3JlLCAuYXR0YWNobWVudHMtY29udGFpbmVyIFtocmVmJD0nLnhscyddOmJlZm9yZSwgLmF0dGFjaG1lbnRzLWNvbnRhaW5lciBbaHJlZiQ9Jy54bHN4J106YmVmb3JlIHtcbiAgY29udGVudDogXCLvh4NcIjtcbiAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gIGNvbG9yOiAjMDYwNTJmOyB9XG5cbi5hdHRhY2htZW50cy1jb250YWluZXIgLnBkZjpiZWZvcmUsIC5hdHRhY2htZW50cy1jb250YWluZXIgW2hyZWYkPScucGRmJ106YmVmb3JlIHtcbiAgY29udGVudDogXCLvh4FcIjtcbiAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFJlZ3VsYXJcIjtcbiAgY29sb3I6ICNmZjAxMDE7IH1cblxuLmF0dGFjaG1lbnRzLWNvbnRhaW5lciAuY3N2OmJlZm9yZSwgLmF0dGFjaG1lbnRzLWNvbnRhaW5lciBbaHJlZiQ9Jy5jc3YnXTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+bnVwiO1xuICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgY29sb3I6IHJnYmEoNiwgNSwgNDcsIDAuOSk7IH1cblxuLmF0dGFjaG1lbnRzLWNvbnRhaW5lciAuaW1hZ2UtYXR0YWNobWVudDpiZWZvcmUsIC5hdHRhY2htZW50cy1jb250YWluZXIgW2hyZWYkPScuanBnJ106YmVmb3JlLCAuYXR0YWNobWVudHMtY29udGFpbmVyIFtocmVmJD0nLnBuZyddOmJlZm9yZSwgLmF0dGFjaG1lbnRzLWNvbnRhaW5lciBbaHJlZiQ9Jy5naWYnXTpiZWZvcmUsIC5hdHRhY2htZW50cy1jb250YWluZXIgW2hyZWYkPScud2VibSddOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74eFXCI7XG4gIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICBjb2xvcjogIzg4ODg4ODsgfVxuXG4uYXR0YWNobWVudHMtY29udGFpbmVyIC52aWRlby1hdHRhY2htZW50OmJlZm9yZSwgLmF0dGFjaG1lbnRzLWNvbnRhaW5lciBbaHJlZiQ9Jy5tb3YnXTpiZWZvcmUsIC5hdHRhY2htZW50cy1jb250YWluZXIgW2hyZWYkPScubXA0J106YmVmb3JlIHtcbiAgY29udGVudDogXCLvh4hcIjtcbiAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gIGNvbG9yOiAjNzc3Nzc3OyB9XG5cbi5hdHRhY2htZW50cy1jb250YWluZXIgLnppcDpiZWZvcmUsIC5hdHRhY2htZW50cy1jb250YWluZXIgW2hyZWYkPScuemlwJ106YmVmb3JlIHtcbiAgY29udGVudDogXCLvh4ZcIjtcbiAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gIGNvbG9yOiAjYWU5NDYxOyB9XG5cbi8qXHJcbi0tLS0tIFN0aWNreSAtLS0tLS0gXHJcblN0aWNreSBmdW5jdGlvbmFsaXR5IHRoYXQgaXMgYnVpbGQgb250b3Agb2YgaHR0cHM6Ly9nZXQuZm91bmRhdGlvbi9zaXRlcy9kb2NzL3N0aWNreS5odG1sLlxyXG5cclxuW0lNUE9SVEFOVF0gLSBUaGlzIENTUyBpcyBub3QgZm9yIHRoZSBiYXNrZXQgc3VtbW1hcnkgb3IgdGhlIGhlYWRlciBwbGVhc2UgdmlldyBoZWFkZXIuc2NzcyBhbmQgYmFza2V0LnNjc3MgZm9yIHRoYXQuXHJcbiovXG4uc3RpY2t5IHtcbiAgd2lkdGg6IGZpdC1jb250ZW50O1xuICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5zdGlja3kuaXMtc3R1Y2sge1xuICAgIHBvc2l0aW9uOiBmaXhlZDsgfVxuICAuc3RpY2t5LmlzLWFuY2hvcmVkIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cbiAgLnN0aWNreS5pcy1zdHVjazpub3QoLm5vLWFuaW1hdGUpIHtcbiAgICB0cmFuc2l0aW9uOiBtYXJnaW4tdG9wIDAuNnM7IH1cbiAgLnN0aWNreS5pcy1hbmNob3JlZDpub3QoLm5vLWFuaW1hdGUpIHtcbiAgICB0cmFuc2l0aW9uOiBtYXJnaW4tdG9wIDAuOHM7IH1cbiAgLnN0aWNreS5lbGVtZW50LW5vdC1pbi12aWV3cG9ydCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogMCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi10b3A6IHVuc2V0ICFpbXBvcnRhbnQ7IH1cblxuW2RhdGEtYXhpcy1zdGlja3ktY29udGFpbmVyXSB7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgW2RhdGEtYXhpcy1zdGlja3ktY29udGFpbmVyXSAuY2FsbGJhY2tDb250YWluZXIge1xuICAgIHBvc2l0aW9uOiBpbml0aWFsOyB9XG5cbltkYXRhLWF4aXMtc3RpY2t5XSB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbltkYXRhLXN0aWNreS1jb250YWluZXJdIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uc3RpY2t5LXNpZGUtYnV0dG9ucy1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IGF1dG87XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIHotaW5kZXg6IDI7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuc3RpY2t5LXNpZGUtYnV0dG9ucy1jb250YWluZXIge1xuICAgICAgbWF4LXdpZHRoOiA5NSU7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm94LXNoYWRvdzogbm9uZTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuc3RpY2t5LXNpZGUtYnV0dG9ucy1jb250YWluZXIge1xuICAgICAgbWF4LXdpZHRoOiA4MCU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5Ny4yNWVtKSB7XG4gICAgLnN0aWNreS1zaWRlLWJ1dHRvbnMtY29udGFpbmVyIHtcbiAgICAgIG1heC1oZWlnaHQ6IDA7XG4gICAgICB3aWR0aDogMTI4cHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiB1bnNldDtcbiAgICAgIG1hcmdpbjogMDsgfSB9XG4gIC5zdGlja3ktc2lkZS1idXR0b25zLWNvbnRhaW5lciAuc3RpY2t5IHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk3LjI1ZW0pIHtcbiAgICAgIC5zdGlja3ktc2lkZS1idXR0b25zLWNvbnRhaW5lciAuc3RpY2t5IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gICAgICAgIHRvcDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICBib3R0b206IDAgIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjBlbSkge1xuICAgICAgLnN0aWNreS1zaWRlLWJ1dHRvbnMtY29udGFpbmVyIC5zdGlja3kuaXMtc3R1Y2sge1xuICAgICAgICBwYWRkaW5nLXRvcDogMjBweDsgfSB9XG5cbi5zdGlja3ktc2lkZS1idXR0b25zLWNvbnRhaW5lciAuc3RpY2t5LXNpZGUtYnV0dG9ucyB7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7IH1cblxuLnN0aWNreS1zaWRlLWJ1dHRvbnMge1xuICB3aWR0aDogMTAwJTtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBib3gtc2hhZG93OiAwcHggMnB4IDRweCAxcHggcmdiYSgxMiwgMTIsIDEzLCAwLjMpOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnN0aWNreS1zaWRlLWJ1dHRvbnMge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTsgfSB9XG4gIC5zdGlja3ktc2lkZS1idXR0b25zIHVsIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnN0aWNreS1zaWRlLWJ1dHRvbnMgdWwge1xuICAgICAgICBnYXA6IDEwcHg7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk3LjI1ZW0pIHtcbiAgICAgIC5zdGlja3ktc2lkZS1idXR0b25zIHVsIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfSB9XG4gIC5zdGlja3ktc2lkZS1idXR0b25zIGxpIHtcbiAgICBmbGV4OiAxIDEgMDsgfVxuICAgIC5zdGlja3ktc2lkZS1idXR0b25zIGxpIGJ1dHRvbiwgLnN0aWNreS1zaWRlLWJ1dHRvbnMgbGkgYSB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5zdGlja3ktc2lkZS1idXR0b25zIGxpOmZpcnN0LWNoaWxkIGJ1dHRvbiwgLnN0aWNreS1zaWRlLWJ1dHRvbnMgbGk6Zmlyc3QtY2hpbGQgYSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwOyB9XG4gICAgICAuc3RpY2t5LXNpZGUtYnV0dG9ucyBsaTpsYXN0LWNoaWxkIGJ1dHRvbiwgLnN0aWNreS1zaWRlLWJ1dHRvbnMgbGk6bGFzdC1jaGlsZCBhIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDsgfVxuICAgICAgLnN0aWNreS1zaWRlLWJ1dHRvbnMgbGk6b25seS1jaGlsZCBidXR0b24sIC5zdGlja3ktc2lkZS1idXR0b25zIGxpOm9ubHktY2hpbGQgYSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk3LjI1ZW0pIHtcbiAgICAgIC5zdGlja3ktc2lkZS1idXR0b25zIGxpOmZpcnN0LWNoaWxkIGJ1dHRvbiwgLnN0aWNreS1zaWRlLWJ1dHRvbnMgbGk6Zmlyc3QtY2hpbGQgYSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwOyB9XG4gICAgICAuc3RpY2t5LXNpZGUtYnV0dG9ucyBsaTpsYXN0LWNoaWxkIGJ1dHRvbiwgLnN0aWNreS1zaWRlLWJ1dHRvbnMgbGk6bGFzdC1jaGlsZCBhIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDsgfVxuICAgICAgLnN0aWNreS1zaWRlLWJ1dHRvbnMgbGk6b25seS1jaGlsZCBidXR0b24sIC5zdGlja3ktc2lkZS1idXR0b25zIGxpOm9ubHktY2hpbGQgYSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH0gfVxuICAuc3RpY2t5LXNpZGUtYnV0dG9ucyAuc3RpY2t5LXNpZGUtYnV0dG9uIHtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5Ny4yNWVtKSB7XG4gICAgICAuc3RpY2t5LXNpZGUtYnV0dG9ucyAuc3RpY2t5LXNpZGUtYnV0dG9uIHtcbiAgICAgICAgd2lkdGg6IDEyOHB4O1xuICAgICAgICBoZWlnaHQ6IDEyOHB4OyB9XG4gICAgICAgIC5zdGlja3ktc2lkZS1idXR0b25zIC5zdGlja3ktc2lkZS1idXR0b24gYSwgLnN0aWNreS1zaWRlLWJ1dHRvbnMgLnN0aWNreS1zaWRlLWJ1dHRvbiBidXR0b24ge1xuICAgICAgICAgIHBhZGRpbmc6IDEwcHg7IH0gfVxuICAgIC5zdGlja3ktc2lkZS1idXR0b25zIC5zdGlja3ktc2lkZS1idXR0b246aG92ZXIgYSwgLnN0aWNreS1zaWRlLWJ1dHRvbnMgLnN0aWNreS1zaWRlLWJ1dHRvbjpob3ZlciBidXR0b24ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2FlOTQ2MTtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTcuMjVlbSkge1xuICAgICAgICAuc3RpY2t5LXNpZGUtYnV0dG9ucyAuc3RpY2t5LXNpZGUtYnV0dG9uOmhvdmVyIGEsIC5zdGlja3ktc2lkZS1idXR0b25zIC5zdGlja3ktc2lkZS1idXR0b246aG92ZXIgYnV0dG9uIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDYwNTJmOyB9IH1cbiAgICAuc3RpY2t5LXNpZGUtYnV0dG9ucyAuc3RpY2t5LXNpZGUtYnV0dG9uOmhvdmVyIHNwYW5bY2xhc3MqPVwiLWRlc2NyaXB0aW9uXCJdIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5Ny4yNWVtKSB7XG4gICAgICAgIC5zdGlja3ktc2lkZS1idXR0b25zIC5zdGlja3ktc2lkZS1idXR0b246aG92ZXIgc3BhbltjbGFzcyo9XCItZGVzY3JpcHRpb25cIl0ge1xuICAgICAgICAgIGNvbG9yOiAjZmZmZmZmOyB9IH1cbiAgICAuc3RpY2t5LXNpZGUtYnV0dG9ucyAuc3RpY2t5LXNpZGUtYnV0dG9uOmhvdmVyIHNwYW5bY2xhc3MqPVwiLWljb25cIl06YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTcuMjVlbSkge1xuICAgICAgICAuc3RpY2t5LXNpZGUtYnV0dG9ucyAuc3RpY2t5LXNpZGUtYnV0dG9uOmhvdmVyIHNwYW5bY2xhc3MqPVwiLWljb25cIl06YmVmb3JlIHtcbiAgICAgICAgICBjb2xvcjogI2ZmZmZmZjsgfSB9XG4gICAgLnN0aWNreS1zaWRlLWJ1dHRvbnMgLnN0aWNreS1zaWRlLWJ1dHRvbjphY3RpdmUgYSwgLnN0aWNreS1zaWRlLWJ1dHRvbnMgLnN0aWNreS1zaWRlLWJ1dHRvbjphY3RpdmUgYnV0dG9uIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk3LjI1ZW0pIHtcbiAgICAgICAgLnN0aWNreS1zaWRlLWJ1dHRvbnMgLnN0aWNreS1zaWRlLWJ1dHRvbjphY3RpdmUgYSwgLnN0aWNreS1zaWRlLWJ1dHRvbnMgLnN0aWNreS1zaWRlLWJ1dHRvbjphY3RpdmUgYnV0dG9uIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWU5NDYxOyB9IH1cbiAgICAuc3RpY2t5LXNpZGUtYnV0dG9ucyAuc3RpY2t5LXNpZGUtYnV0dG9uOmFjdGl2ZSBzcGFuW2NsYXNzKj1cIi1kZXNjcmlwdGlvblwiXSB7XG4gICAgICBjb2xvcjogIzc3Nzc3NztcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5Ny4yNWVtKSB7XG4gICAgICAgIC5zdGlja3ktc2lkZS1idXR0b25zIC5zdGlja3ktc2lkZS1idXR0b246YWN0aXZlIHNwYW5bY2xhc3MqPVwiLWRlc2NyaXB0aW9uXCJdIHtcbiAgICAgICAgICBjb2xvcjogI2ZmZmZmZjsgfSB9XG4gICAgLnN0aWNreS1zaWRlLWJ1dHRvbnMgLnN0aWNreS1zaWRlLWJ1dHRvbjphY3RpdmUgc3BhbltjbGFzcyo9XCItaWNvblwiXTpiZWZvcmUge1xuICAgICAgY29sb3I6ICM3Nzc3Nzc7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk3LjI1ZW0pIHtcbiAgICAgICAgLnN0aWNreS1zaWRlLWJ1dHRvbnMgLnN0aWNreS1zaWRlLWJ1dHRvbjphY3RpdmUgc3BhbltjbGFzcyo9XCItaWNvblwiXTpiZWZvcmUge1xuICAgICAgICAgIGNvbG9yOiAjZmZmZmZmOyB9IH1cbiAgICAuc3RpY2t5LXNpZGUtYnV0dG9ucyAuc3RpY2t5LXNpZGUtYnV0dG9uIHNwYW5bY2xhc3MqPVwiLWRlc2NyaXB0aW9uXCJdIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxN3B4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5Ny4yNWVtKSB7XG4gICAgICAgIC5zdGlja3ktc2lkZS1idXR0b25zIC5zdGlja3ktc2lkZS1idXR0b24gc3BhbltjbGFzcyo9XCItZGVzY3JpcHRpb25cIl0ge1xuICAgICAgICAgIGNvbG9yOiAjNzc3Nzc3O1xuICAgICAgICAgIG1hcmdpbjogMCBhdXRvOyB9IH1cbiAgICAuc3RpY2t5LXNpZGUtYnV0dG9ucyAuc3RpY2t5LXNpZGUtYnV0dG9uIHNwYW5bY2xhc3MqPVwiLWljb25cIl0ge1xuICAgICAgaGVpZ2h0OiAyNXB4O1xuICAgICAgZGlzcGxheTogZmxleDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgLnN0aWNreS1zaWRlLWJ1dHRvbnMgLnN0aWNreS1zaWRlLWJ1dHRvbiBzcGFuW2NsYXNzKj1cIi1pY29uXCJdIHtcbiAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk3LjI1ZW0pIHtcbiAgICAgICAgLnN0aWNreS1zaWRlLWJ1dHRvbnMgLnN0aWNreS1zaWRlLWJ1dHRvbiBzcGFuW2NsYXNzKj1cIi1pY29uXCJdIHtcbiAgICAgICAgICBoZWlnaHQ6IGF1dG87IH0gfVxuICAgICAgLnN0aWNreS1zaWRlLWJ1dHRvbnMgLnN0aWNreS1zaWRlLWJ1dHRvbiBzcGFuW2NsYXNzKj1cIi1pY29uXCJdOmJlZm9yZSB7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvXCI7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5Ny4yNWVtKSB7XG4gICAgICAgICAgLnN0aWNreS1zaWRlLWJ1dHRvbnMgLnN0aWNreS1zaWRlLWJ1dHRvbiBzcGFuW2NsYXNzKj1cIi1pY29uXCJdOmJlZm9yZSB7XG4gICAgICAgICAgICBjb2xvcjogIzA2MDUyZjsgfSB9XG4gICAgLnN0aWNreS1zaWRlLWJ1dHRvbnMgLnN0aWNreS1zaWRlLWJ1dHRvbiBhLCAuc3RpY2t5LXNpZGUtYnV0dG9ucyAuc3RpY2t5LXNpZGUtYnV0dG9uIGJ1dHRvbiB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHBhZGRpbmc6IDEwcHggMTVweDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZ2FwOiAxMHB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzA2MDUyZjtcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkICNmZmZmZmY7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAuc3RpY2t5LXNpZGUtYnV0dG9ucyAuc3RpY2t5LXNpZGUtYnV0dG9uIGEsIC5zdGlja3ktc2lkZS1idXR0b25zIC5zdGlja3ktc2lkZS1idXR0b24gYnV0dG9uIHtcbiAgICAgICAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpO1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNlZWVlZWU7IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTcuMjVlbSkge1xuICAgICAgICAuc3RpY2t5LXNpZGUtYnV0dG9ucyAuc3RpY2t5LXNpZGUtYnV0dG9uIGEsIC5zdGlja3ktc2lkZS1idXR0b25zIC5zdGlja3ktc2lkZS1idXR0b24gYnV0dG9uIHtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgICAgcGFkZGluZzogNHB4IDE0cHg7XG4gICAgICAgICAgYm94LXNoYWRvdzogMHB4IDJweCA0cHggMXB4IHJnYmEoMTIsIDEyLCAxMywgMC4zKTsgfSB9XG4gICAgICAuc3RpY2t5LXNpZGUtYnV0dG9ucyAuc3RpY2t5LXNpZGUtYnV0dG9uIGEuZGlzYWJsZWQsIC5zdGlja3ktc2lkZS1idXR0b25zIC5zdGlja3ktc2lkZS1idXR0b24gYVtkaXNhYmxlZF0sIC5zdGlja3ktc2lkZS1idXR0b25zIC5zdGlja3ktc2lkZS1idXR0b24gYnV0dG9uLmRpc2FibGVkLCAuc3RpY2t5LXNpZGUtYnV0dG9ucyAuc3RpY2t5LXNpZGUtYnV0dG9uIGJ1dHRvbltkaXNhYmxlZF0ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlZWVlO1xuICAgICAgICBjdXJzb3I6IG5vLWRyb3A7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzkyOTI5MjsgfVxuICAgICAgICAuc3RpY2t5LXNpZGUtYnV0dG9ucyAuc3RpY2t5LXNpZGUtYnV0dG9uIGEuZGlzYWJsZWQgc3BhbltjbGFzcyo9XCItZGVzY3JpcHRpb25cIl0sIC5zdGlja3ktc2lkZS1idXR0b25zIC5zdGlja3ktc2lkZS1idXR0b24gYVtkaXNhYmxlZF0gc3BhbltjbGFzcyo9XCItZGVzY3JpcHRpb25cIl0sIC5zdGlja3ktc2lkZS1idXR0b25zIC5zdGlja3ktc2lkZS1idXR0b24gYnV0dG9uLmRpc2FibGVkIHNwYW5bY2xhc3MqPVwiLWRlc2NyaXB0aW9uXCJdLCAuc3RpY2t5LXNpZGUtYnV0dG9ucyAuc3RpY2t5LXNpZGUtYnV0dG9uIGJ1dHRvbltkaXNhYmxlZF0gc3BhbltjbGFzcyo9XCItZGVzY3JpcHRpb25cIl0ge1xuICAgICAgICAgIGNvbG9yOiAjOTI5MjkyOyB9XG4gICAgICAgIC5zdGlja3ktc2lkZS1idXR0b25zIC5zdGlja3ktc2lkZS1idXR0b24gYS5kaXNhYmxlZCBzcGFuW2NsYXNzKj1cIi1pY29uXCJdOmJlZm9yZSwgLnN0aWNreS1zaWRlLWJ1dHRvbnMgLnN0aWNreS1zaWRlLWJ1dHRvbiBhW2Rpc2FibGVkXSBzcGFuW2NsYXNzKj1cIi1pY29uXCJdOmJlZm9yZSwgLnN0aWNreS1zaWRlLWJ1dHRvbnMgLnN0aWNreS1zaWRlLWJ1dHRvbiBidXR0b24uZGlzYWJsZWQgc3BhbltjbGFzcyo9XCItaWNvblwiXTpiZWZvcmUsIC5zdGlja3ktc2lkZS1idXR0b25zIC5zdGlja3ktc2lkZS1idXR0b24gYnV0dG9uW2Rpc2FibGVkXSBzcGFuW2NsYXNzKj1cIi1pY29uXCJdOmJlZm9yZSB7XG4gICAgICAgICAgY29sb3I6ICM5MjkyOTI7IH1cblxuLypcclxuLS0tLS0gTGlzdCBTb3J0aW5nIE9wdGlvbnMgIC0tLS0tXHJcbi0gSG9sZHMgdGhlIHN0eWxlcyBmb3IgdGhlIGZvbGxvd2luZzogXHJcbiAgLSBQcm9kdWN0IGxpc3QocylcclxuICAtIEFjY291bnQgYXJlYSBzb3J0aW5nICggaGlzdG9yaWNhbCB0cmFuc2FjdGlvbnMsIGNhbGwgc3lzdGVtLCBvcmRlcnMgKVxyXG4tIFRoZSBmb2xsb3dpbmcgY29tcG9uZW50cyB3aWxsIGJlIGZvdW5kIGhlcmU6IFxyXG4gIC0gTGlzdCBpdGVtIGNvdW50XHJcbiAgLSBTb3J0IGJ5IFxyXG4gIC0gRmlsdGVycyB0b2dnbGUgKCBJZiBvcGVuaW5nIGEgcG9wdXAgKVxyXG4gIC0gVmlldyBzd2l0Y2hlciAoIEdyaWQgb3IgVGFibGUgKVxyXG4gIC0gUGFnaW5hdGlvbiBcclxuICAtIEl0ZW1zIHBlciBwYWdlLlxyXG4qL1xuLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5jb250cm9sIC5sYWJlbCwgLmxpc3Qtc29ydC1jb250YWluZXIgLmNvbnRyb2wgLmxhYmVsIHtcbiAgd2lkdGg6IDE2MHB4O1xuICBtYXJnaW4tcmlnaHQ6IDEzcHg7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMCk7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuY29udHJvbCAubGFiZWwsIC5saXN0LXNvcnQtY29udGFpbmVyIC5jb250cm9sIC5sYWJlbCB7XG4gICAgICB3aWR0aDogZml0LWNvbnRlbnQ7IH0gfVxuXG4uQVhJU1Jlc3VsdHNDb250YWluZXIsIC5saXN0LXNvcnQtY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZ2FwOiAyMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMCAwIDEwcHg7XG4gIHBhZGRpbmc6IDVweCAwIDIwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciwgLmxpc3Qtc29ydC1jb250YWluZXIge1xuICAgICAgZ2FwOiAxMHB4IDE1cHg7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwIDAgMjBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgLkFYSVNSZXN1bHRzQ29udGFpbmVyLCAubGlzdC1zb3J0LWNvbnRhaW5lciB7XG4gICAgICBtaW4taGVpZ2h0OiA0MHB4O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9IH1cbiAgLkFYSVNSZXN1bHRzQ29udGFpbmVyID4gZGl2LCAubGlzdC1zb3J0LWNvbnRhaW5lciA+IGRpdiB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5zb3J0LW9wdGlvbiwgLmxpc3Qtc29ydC1jb250YWluZXIgLnNvcnQtb3B0aW9uIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuc29ydC1vcHRpb24sIC5saXN0LXNvcnQtY29udGFpbmVyIC5zb3J0LW9wdGlvbiB7XG4gICAgICAgIHdpZHRoOiBmaXQtY29udGVudDsgfSB9XG4gIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuZG93bmxvYWQtb3B0aW9uLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuZG93bmxvYWQtb3B0aW9uIHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5kb3dubG9hZC1vcHRpb246YmVmb3JlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuZG93bmxvYWQtb3B0aW9uOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+VrVwiO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTMpO1xuICAgICAgZm9udC1zaXplOiAyMHB4OyB9XG4gICAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5kb3dubG9hZC1vcHRpb24gYSwgLmxpc3Qtc29ydC1jb250YWluZXIgLmRvd25sb2FkLW9wdGlvbiBhIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHBhZGRpbmc6IDAgNXB4O1xuICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuZG93bmxvYWQtb3B0aW9uIGEsIC5saXN0LXNvcnQtY29udGFpbmVyIC5kb3dubG9hZC1vcHRpb24gYSB7XG4gICAgICAgICAgcGFkZGluZzogMDsgfSB9XG4gICAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmRvd25sb2FkLW9wdGlvbiBhOmhvdmVyLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuZG93bmxvYWQtb3B0aW9uIGE6aG92ZXIge1xuICAgICAgICBjb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWNvbG91ci1saWdodG5lc3MtMCk7IH1cbiAgICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuZG93bmxvYWQtb3B0aW9uIGE6bm90KDpvbmx5LWNoaWxkKTpub3QoOmZpcnN0LWNoaWxkKTpiZWZvcmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5kb3dubG9hZC1vcHRpb24gYTpub3QoOm9ubHktY2hpbGQpOm5vdCg6Zmlyc3QtY2hpbGQpOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICB3aWR0aDogMnB4O1xuICAgICAgICBoZWlnaHQ6IDYwJTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogLTZweDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNhZWFlYWU7IH1cbiAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmRvd25sb2FkLW9wdGlvbiAuYnV0dG9ucy1jb250YWluZXIsIC5saXN0LXNvcnQtY29udGFpbmVyIC5kb3dubG9hZC1vcHRpb24gLmJ1dHRvbnMtY29udGFpbmVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBnYXA6IDEycHg7IH1cbiAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTUmVzdWx0RGlzcGxheUNvbnRhaW5lciwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5pdGVtLWNvdW50LWNvbnRhaW5lciwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNSZXN1bHREaXNwbGF5Q29udGFpbmVyLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuaXRlbS1jb3VudC1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTUmVzdWx0RGlzcGxheUNvbnRhaW5lciwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5pdGVtLWNvdW50LWNvbnRhaW5lciwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNSZXN1bHREaXNwbGF5Q29udGFpbmVyLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuaXRlbS1jb3VudC1jb250YWluZXIge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogMDsgfSB9XG4gICAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTUmVzdWx0RGlzcGxheUNvbnRhaW5lciAuQVhJU1Jlc3VsdERpc3BsYXksIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1Jlc3VsdERpc3BsYXlDb250YWluZXIgLml0ZW0tY291bnQsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuaXRlbS1jb3VudC1jb250YWluZXIgLkFYSVNSZXN1bHREaXNwbGF5LCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLml0ZW0tY291bnQtY29udGFpbmVyIC5pdGVtLWNvdW50LCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1Jlc3VsdERpc3BsYXlDb250YWluZXIgLkFYSVNSZXN1bHREaXNwbGF5LCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1Jlc3VsdERpc3BsYXlDb250YWluZXIgLml0ZW0tY291bnQsIC5saXN0LXNvcnQtY29udGFpbmVyIC5pdGVtLWNvdW50LWNvbnRhaW5lciAuQVhJU1Jlc3VsdERpc3BsYXksIC5saXN0LXNvcnQtY29udGFpbmVyIC5pdGVtLWNvdW50LWNvbnRhaW5lciAuaXRlbS1jb3VudCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1Jlc3VsdERpc3BsYXlDb250YWluZXIgLkFYSVNSZXN1bHREaXNwbGF5LCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNSZXN1bHREaXNwbGF5Q29udGFpbmVyIC5pdGVtLWNvdW50LCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLml0ZW0tY291bnQtY29udGFpbmVyIC5BWElTUmVzdWx0RGlzcGxheSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5pdGVtLWNvdW50LWNvbnRhaW5lciAuaXRlbS1jb3VudCwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNSZXN1bHREaXNwbGF5Q29udGFpbmVyIC5BWElTUmVzdWx0RGlzcGxheSwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNSZXN1bHREaXNwbGF5Q29udGFpbmVyIC5pdGVtLWNvdW50LCAubGlzdC1zb3J0LWNvbnRhaW5lciAuaXRlbS1jb3VudC1jb250YWluZXIgLkFYSVNSZXN1bHREaXNwbGF5LCAubGlzdC1zb3J0LWNvbnRhaW5lciAuaXRlbS1jb3VudC1jb250YWluZXIgLml0ZW0tY291bnQge1xuICAgICAgICAgIGhlaWdodDogMTAwJTsgfSB9XG4gIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuZmlsdGVyLXRvZ2dsZS1jb250YWluZXIsIC5saXN0LXNvcnQtY29udGFpbmVyIC5maWx0ZXItdG9nZ2xlLWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmZpbHRlci10b2dnbGUtY29udGFpbmVyLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuZmlsdGVyLXRvZ2dsZS1jb250YWluZXIge1xuICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuZmlsdGVyLXRvZ2dsZS1jb250YWluZXIgLmZpbHRlci10b2dnbGUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5maWx0ZXItdG9nZ2xlLWNvbnRhaW5lciAuZmlsdGVyLXRvZ2dsZSB7XG4gICAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuZmlsdGVyLXRvZ2dsZS1jb250YWluZXIgLmZpbHRlci10b2dnbGU6YmVmb3JlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuZmlsdGVyLXRvZ2dsZS1jb250YWluZXIgLmZpbHRlci10b2dnbGU6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMyk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7IH1cbiAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmZpbHRlci10b2dnbGUtY29udGFpbmVyIC5hY3RpdmUtZmlsdGVyLWNvdW50LCAubGlzdC1zb3J0LWNvbnRhaW5lciAuZmlsdGVyLXRvZ2dsZS1jb250YWluZXIgLmFjdGl2ZS1maWx0ZXItY291bnQge1xuICAgICAgdG9wOiAtNnB4O1xuICAgICAgbGVmdDogMTBweDsgfVxuICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmNhbGwtc2VhcmNoLWNvbnRhaW5lciwgLmxpc3Qtc29ydC1jb250YWluZXIgLmNhbGwtc2VhcmNoLWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmNhbGwtc2VhcmNoLWNvbnRhaW5lciwgLmxpc3Qtc29ydC1jb250YWluZXIgLmNhbGwtc2VhcmNoLWNvbnRhaW5lciB7XG4gICAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbiAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmNhbGwtc2VhcmNoLWNvbnRhaW5lciAuY29udHJvbC5zZWFyY2gsIC5saXN0LXNvcnQtY29udGFpbmVyIC5jYWxsLXNlYXJjaC1jb250YWluZXIgLmNvbnRyb2wuc2VhcmNoIHtcbiAgICAgIGZsZXg6IDE7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmNhbGwtc2VhcmNoLWNvbnRhaW5lciBpbnB1dCwgLmxpc3Qtc29ydC1jb250YWluZXIgLmNhbGwtc2VhcmNoLWNvbnRhaW5lciBpbnB1dCB7XG4gICAgICAgIG1pbi13aWR0aDogMzQwcHg7XG4gICAgICAgIGhlaWdodDogNDBweCAhaW1wb3J0YW50OyB9XG4gICAgICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuY2FsbC1zZWFyY2gtY29udGFpbmVyIGlucHV0ICsgYnV0dG9uLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuY2FsbC1zZWFyY2gtY29udGFpbmVyIGlucHV0ICsgYnV0dG9uIHtcbiAgICAgICAgICBoZWlnaHQ6IDQwcHg7IH0gfVxuICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuY2FsbC1zZWFyY2gtY29udGFpbmVyIC5sYWJlbCwgLmxpc3Qtc29ydC1jb250YWluZXIgLmNhbGwtc2VhcmNoLWNvbnRhaW5lciAubGFiZWwge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxM3B4O1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTApOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmJyYW5jaC1maWx0ZXIsIC5saXN0LXNvcnQtY29udGFpbmVyIC5icmFuY2gtZmlsdGVyIHtcbiAgICAgIG1heC13aWR0aDogNDkwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5icmFuY2gtZmlsdGVyIHNlbGVjdCwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5icmFuY2gtZmlsdGVyIC5jb250cm9sLXNlbGVjdC1kcm9wZG93biwgLmxpc3Qtc29ydC1jb250YWluZXIgLmJyYW5jaC1maWx0ZXIgc2VsZWN0LCAubGlzdC1zb3J0LWNvbnRhaW5lciAuYnJhbmNoLWZpbHRlciAuY29udHJvbC1zZWxlY3QtZHJvcGRvd24ge1xuICAgICAgd2lkdGg6IDMwMHB4OyB9IH1cbiAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5icmFuY2gtZmlsdGVyIC50b29sdGlwLWNvbnRhaW5lciwgLmxpc3Qtc29ydC1jb250YWluZXIgLmJyYW5jaC1maWx0ZXIgLnRvb2x0aXAtY29udGFpbmVyIHtcbiAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgbWFyZ2luLWxlZnQ6IDVweDsgfVxuICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNTb3J0Rm9ybSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5saXN0LXNvcnQtYnktY29udGFpbmVyLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1NvcnRGb3JtLCAubGlzdC1zb3J0LWNvbnRhaW5lciAubGlzdC1zb3J0LWJ5LWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNTb3J0Rm9ybSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5saXN0LXNvcnQtYnktY29udGFpbmVyLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1NvcnRGb3JtLCAubGlzdC1zb3J0LWNvbnRhaW5lciAubGlzdC1zb3J0LWJ5LWNvbnRhaW5lciB7XG4gICAgICAgIHdpZHRoOiBmaXQtY29udGVudDsgfSB9XG4gICAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTU29ydEZvcm0gbGFiZWwsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAubGlzdC1zb3J0LWJ5LWNvbnRhaW5lciBsYWJlbCwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNTb3J0Rm9ybSBsYWJlbCwgLmxpc3Qtc29ydC1jb250YWluZXIgLmxpc3Qtc29ydC1ieS1jb250YWluZXIgbGFiZWwge1xuICAgICAgZm9udC1zaXplOiAxcmVtOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1NvcnRGb3JtIGxhYmVsLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmxpc3Qtc29ydC1ieS1jb250YWluZXIgbGFiZWwsIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTU29ydEZvcm0gbGFiZWwsIC5saXN0LXNvcnQtY29udGFpbmVyIC5saXN0LXNvcnQtYnktY29udGFpbmVyIGxhYmVsIHtcbiAgICAgICAgICB3aWR0aDogYXV0bzsgfSB9XG4gICAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTU29ydEZvcm0gLmNvbnRyb2wuc2VsZWN0IHNlbGVjdCwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5saXN0LXNvcnQtYnktY29udGFpbmVyIC5jb250cm9sLnNlbGVjdCBzZWxlY3QsIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTU29ydEZvcm0gLmNvbnRyb2wuc2VsZWN0IHNlbGVjdCwgLmxpc3Qtc29ydC1jb250YWluZXIgLmxpc3Qtc29ydC1ieS1jb250YWluZXIgLmNvbnRyb2wuc2VsZWN0IHNlbGVjdCB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNTb3J0Rm9ybSAuY29udHJvbC5zZWxlY3Qgc2VsZWN0LCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmxpc3Qtc29ydC1ieS1jb250YWluZXIgLmNvbnRyb2wuc2VsZWN0IHNlbGVjdCwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNTb3J0Rm9ybSAuY29udHJvbC5zZWxlY3Qgc2VsZWN0LCAubGlzdC1zb3J0LWNvbnRhaW5lciAubGlzdC1zb3J0LWJ5LWNvbnRhaW5lciAuY29udHJvbC5zZWxlY3Qgc2VsZWN0IHtcbiAgICAgICAgICB3aWR0aDogMjE1cHg7XG4gICAgICAgICAgaGVpZ2h0OiA0MHB4OyB9IH1cbiAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNTb3J0Rm9ybSAuY29udHJvbC5zZWxlY3QgLmNvbnRyb2wtc2VsZWN0LWNvbnRhaW5lciwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5saXN0LXNvcnQtYnktY29udGFpbmVyIC5jb250cm9sLnNlbGVjdCAuY29udHJvbC1zZWxlY3QtY29udGFpbmVyLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1NvcnRGb3JtIC5jb250cm9sLnNlbGVjdCAuY29udHJvbC1zZWxlY3QtY29udGFpbmVyLCAubGlzdC1zb3J0LWNvbnRhaW5lciAubGlzdC1zb3J0LWJ5LWNvbnRhaW5lciAuY29udHJvbC5zZWxlY3QgLmNvbnRyb2wtc2VsZWN0LWNvbnRhaW5lciB7XG4gICAgICB3aWR0aDogMjE1cHg7IH1cbiAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNTb3J0Rm9ybSAuY29udHJvbC5zZWxlY3QgLmNvbnRyb2wtc2VsZWN0LWRyb3Bkb3duLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmxpc3Qtc29ydC1ieS1jb250YWluZXIgLmNvbnRyb2wuc2VsZWN0IC5jb250cm9sLXNlbGVjdC1kcm9wZG93biwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNTb3J0Rm9ybSAuY29udHJvbC5zZWxlY3QgLmNvbnRyb2wtc2VsZWN0LWRyb3Bkb3duLCAubGlzdC1zb3J0LWNvbnRhaW5lciAubGlzdC1zb3J0LWJ5LWNvbnRhaW5lciAuY29udHJvbC5zZWxlY3QgLmNvbnRyb2wtc2VsZWN0LWRyb3Bkb3duIHtcbiAgICAgIGhlaWdodDogNDBweDsgfVxuICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIsIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciwgLmxpc3Qtc29ydC1jb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIsIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciwgLmxpc3Qtc29ydC1jb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIge1xuICAgICAgICB3aWR0aDogMTAlO1xuICAgICAgICBtYXJnaW46IDA7IH0gfVxuICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsLCAubGlzdC1zb3J0LWNvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgZ2FwOiAwIDEwcHg7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwsIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCwgLmxpc3Qtc29ydC1jb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwge1xuICAgICAgICAgIGdhcDogMCA1cHg7IH0gfVxuICAgICAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCBsaSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIGxpLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgbGksIC5saXN0LXNvcnQtY29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIGxpIHtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCBsaSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIGxpLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgbGksIC5saXN0LXNvcnQtY29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIGxpIHtcbiAgICAgICAgICAgIGJvcmRlcjogMDsgfSB9XG4gICAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIGEsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgLnZpZXctY29udHJvbCwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIGEsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCAudmlldy1jb250cm9sLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgYSwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wsIC5saXN0LXNvcnQtY29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIGEsIC5saXN0LXNvcnQtY29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZzogMTJweCA4cHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTEwKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIGEsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgLnZpZXctY29udHJvbCwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIGEsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCAudmlldy1jb250cm9sLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgYSwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wsIC5saXN0LXNvcnQtY29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIGEsIC5saXN0LXNvcnQtY29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wge1xuICAgICAgICAgICAgcGFkZGluZzogMTJweDsgfSB9XG4gICAgICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgYTpob3ZlciwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCAudmlldy1jb250cm9sOmhvdmVyLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgYTpob3ZlciwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2w6aG92ZXIsIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCBhOmhvdmVyLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgLnZpZXctY29udHJvbDpob3ZlciwgLmxpc3Qtc29ydC1jb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgYTpob3ZlciwgLmxpc3Qtc29ydC1jb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgLnZpZXctY29udHJvbDpob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTApO1xuICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfVxuICAgICAgICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgYTpob3ZlciAuaWNvbjpiZWZvcmUsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgLnZpZXctY29udHJvbDpob3ZlciAuaWNvbjpiZWZvcmUsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCBhOmhvdmVyIC5pY29uOmJlZm9yZSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2w6aG92ZXIgLmljb246YmVmb3JlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgYTpob3ZlciAuaWNvbjpiZWZvcmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCAudmlldy1jb250cm9sOmhvdmVyIC5pY29uOmJlZm9yZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgYTpob3ZlciAuaWNvbjpiZWZvcmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2w6aG92ZXIgLmljb246YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS13aGl0ZS1jb2xvdXIpOyB9XG4gICAgICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgYTphY3RpdmUsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgLnZpZXctY29udHJvbDphY3RpdmUsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCBhOmFjdGl2ZSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2w6YWN0aXZlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgYTphY3RpdmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCAudmlldy1jb250cm9sOmFjdGl2ZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgYTphY3RpdmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2w6YWN0aXZlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtOCk7IH1cbiAgICAgICAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIGE6YWN0aXZlIC5pY29uOmJlZm9yZSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCAudmlldy1jb250cm9sOmFjdGl2ZSAuaWNvbjpiZWZvcmUsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCBhOmFjdGl2ZSAuaWNvbjpiZWZvcmUsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCAudmlldy1jb250cm9sOmFjdGl2ZSAuaWNvbjpiZWZvcmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCBhOmFjdGl2ZSAuaWNvbjpiZWZvcmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCAudmlldy1jb250cm9sOmFjdGl2ZSAuaWNvbjpiZWZvcmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIGE6YWN0aXZlIC5pY29uOmJlZm9yZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgLnZpZXctY29udHJvbDphY3RpdmUgLmljb246YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtMCk7IH1cbiAgICAgICAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCBhLmFjdGl2ZSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCAudmlldy1jb250cm9sLmFjdGl2ZSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIGEuYWN0aXZlLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgLnZpZXctY29udHJvbC5hY3RpdmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCBhLmFjdGl2ZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wuYWN0aXZlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCBhLmFjdGl2ZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgLnZpZXctY29udHJvbC5hY3RpdmUge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0xMCk7XG4gICAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICAgICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgYS5hY3RpdmUgLmljb246YmVmb3JlLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wuYWN0aXZlIC5pY29uOmJlZm9yZSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIGEuYWN0aXZlIC5pY29uOmJlZm9yZSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wuYWN0aXZlIC5pY29uOmJlZm9yZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIGEuYWN0aXZlIC5pY29uOmJlZm9yZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wuYWN0aXZlIC5pY29uOmJlZm9yZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgYS5hY3RpdmUgLmljb246YmVmb3JlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCAudmlldy1jb250cm9sLmFjdGl2ZSAuaWNvbjpiZWZvcmUge1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wKTsgfVxuICAgICAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIGEuQVhJU1ZpZXdHcmlkLmRpc2FibGVkLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIGEuQVhJU1ZpZXdMaXN0LmRpc2FibGVkLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wuQVhJU1ZpZXdHcmlkLmRpc2FibGVkLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wuQVhJU1ZpZXdMaXN0LmRpc2FibGVkLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgYS5BWElTVmlld0dyaWQuZGlzYWJsZWQsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCBhLkFYSVNWaWV3TGlzdC5kaXNhYmxlZCwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wuQVhJU1ZpZXdHcmlkLmRpc2FibGVkLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgLnZpZXctY29udHJvbC5BWElTVmlld0xpc3QuZGlzYWJsZWQsIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCBhLkFYSVNWaWV3R3JpZC5kaXNhYmxlZCwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIGEuQVhJU1ZpZXdMaXN0LmRpc2FibGVkLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgLnZpZXctY29udHJvbC5BWElTVmlld0dyaWQuZGlzYWJsZWQsIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCAudmlldy1jb250cm9sLkFYSVNWaWV3TGlzdC5kaXNhYmxlZCwgLmxpc3Qtc29ydC1jb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgYS5BWElTVmlld0dyaWQuZGlzYWJsZWQsIC5saXN0LXNvcnQtY29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIGEuQVhJU1ZpZXdMaXN0LmRpc2FibGVkLCAubGlzdC1zb3J0LWNvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCAudmlldy1jb250cm9sLkFYSVNWaWV3R3JpZC5kaXNhYmxlZCwgLmxpc3Qtc29ydC1jb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgLnZpZXctY29udHJvbC5BWElTVmlld0xpc3QuZGlzYWJsZWQge1xuICAgICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTEwKTsgfVxuICAgICAgICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgYS5BWElTVmlld0dyaWQuZGlzYWJsZWQgLmljb246YmVmb3JlLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIGEuQVhJU1ZpZXdMaXN0LmRpc2FibGVkIC5pY29uOmJlZm9yZSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCAudmlldy1jb250cm9sLkFYSVNWaWV3R3JpZC5kaXNhYmxlZCAuaWNvbjpiZWZvcmUsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgLnZpZXctY29udHJvbC5BWElTVmlld0xpc3QuZGlzYWJsZWQgLmljb246YmVmb3JlLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgYS5BWElTVmlld0dyaWQuZGlzYWJsZWQgLmljb246YmVmb3JlLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgYS5BWElTVmlld0xpc3QuZGlzYWJsZWQgLmljb246YmVmb3JlLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgLnZpZXctY29udHJvbC5BWElTVmlld0dyaWQuZGlzYWJsZWQgLmljb246YmVmb3JlLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgLnZpZXctY29udHJvbC5BWElTVmlld0xpc3QuZGlzYWJsZWQgLmljb246YmVmb3JlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgYS5BWElTVmlld0dyaWQuZGlzYWJsZWQgLmljb246YmVmb3JlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgYS5BWElTVmlld0xpc3QuZGlzYWJsZWQgLmljb246YmVmb3JlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgLnZpZXctY29udHJvbC5BWElTVmlld0dyaWQuZGlzYWJsZWQgLmljb246YmVmb3JlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgLnZpZXctY29udHJvbC5BWElTVmlld0xpc3QuZGlzYWJsZWQgLmljb246YmVmb3JlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCBhLkFYSVNWaWV3R3JpZC5kaXNhYmxlZCAuaWNvbjpiZWZvcmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIGEuQVhJU1ZpZXdMaXN0LmRpc2FibGVkIC5pY29uOmJlZm9yZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgLnZpZXctY29udHJvbC5BWElTVmlld0dyaWQuZGlzYWJsZWQgLmljb246YmVmb3JlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCAudmlldy1jb250cm9sLkFYSVNWaWV3TGlzdC5kaXNhYmxlZCAuaWNvbjpiZWZvcmUge1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wKTsgfVxuICAgICAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIGEuQVhJU1ZpZXdHcmlkLmFjdGl2ZSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCBhLkFYSVNWaWV3TGlzdC5hY3RpdmUsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgLnZpZXctY29udHJvbC5BWElTVmlld0dyaWQuYWN0aXZlLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wuQVhJU1ZpZXdMaXN0LmFjdGl2ZSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIGEuQVhJU1ZpZXdHcmlkLmFjdGl2ZSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIGEuQVhJU1ZpZXdMaXN0LmFjdGl2ZSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wuQVhJU1ZpZXdHcmlkLmFjdGl2ZSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wuQVhJU1ZpZXdMaXN0LmFjdGl2ZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIGEuQVhJU1ZpZXdHcmlkLmFjdGl2ZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIGEuQVhJU1ZpZXdMaXN0LmFjdGl2ZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wuQVhJU1ZpZXdHcmlkLmFjdGl2ZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wuQVhJU1ZpZXdMaXN0LmFjdGl2ZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgYS5BWElTVmlld0dyaWQuYWN0aXZlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCBhLkFYSVNWaWV3TGlzdC5hY3RpdmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wuQVhJU1ZpZXdHcmlkLmFjdGl2ZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgLnZpZXctY29udHJvbC5BWElTVmlld0xpc3QuYWN0aXZlIHtcbiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTgpOyB9XG4gICAgICAgICAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCBhLkFYSVNWaWV3R3JpZC5hY3RpdmUgLmljb246YmVmb3JlLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIGEuQVhJU1ZpZXdMaXN0LmFjdGl2ZSAuaWNvbjpiZWZvcmUsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgLnZpZXctY29udHJvbC5BWElTVmlld0dyaWQuYWN0aXZlIC5pY29uOmJlZm9yZSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCAudmlldy1jb250cm9sLkFYSVNWaWV3TGlzdC5hY3RpdmUgLmljb246YmVmb3JlLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgYS5BWElTVmlld0dyaWQuYWN0aXZlIC5pY29uOmJlZm9yZSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIGEuQVhJU1ZpZXdMaXN0LmFjdGl2ZSAuaWNvbjpiZWZvcmUsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCAudmlldy1jb250cm9sLkFYSVNWaWV3R3JpZC5hY3RpdmUgLmljb246YmVmb3JlLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgLnZpZXctY29udHJvbC5BWElTVmlld0xpc3QuYWN0aXZlIC5pY29uOmJlZm9yZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIGEuQVhJU1ZpZXdHcmlkLmFjdGl2ZSAuaWNvbjpiZWZvcmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCBhLkFYSVNWaWV3TGlzdC5hY3RpdmUgLmljb246YmVmb3JlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgLnZpZXctY29udHJvbC5BWElTVmlld0dyaWQuYWN0aXZlIC5pY29uOmJlZm9yZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wuQVhJU1ZpZXdMaXN0LmFjdGl2ZSAuaWNvbjpiZWZvcmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIGEuQVhJU1ZpZXdHcmlkLmFjdGl2ZSAuaWNvbjpiZWZvcmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIGEuQVhJU1ZpZXdMaXN0LmFjdGl2ZSAuaWNvbjpiZWZvcmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wuQVhJU1ZpZXdHcmlkLmFjdGl2ZSAuaWNvbjpiZWZvcmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wuQVhJU1ZpZXdMaXN0LmFjdGl2ZSAuaWNvbjpiZWZvcmUge1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy0wKTsgfVxuICAgICAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIGEgLmljb24sIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgLnZpZXctY29udHJvbCAuaWNvbiwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIGEgLmljb24sIC5BWElTUmVzdWx0c0NvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCAudmlldy1jb250cm9sIC5pY29uLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgYSAuaWNvbiwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wgLmljb24sIC5saXN0LXNvcnQtY29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIGEgLmljb24sIC5saXN0LXNvcnQtY29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wgLmljb24ge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAgICAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIGEgLmljb246YmVmb3JlLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wgLmljb246YmVmb3JlLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgYSAuaWNvbjpiZWZvcmUsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCAudmlldy1jb250cm9sIC5pY29uOmJlZm9yZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIGEgLmljb246YmVmb3JlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgLnZpZXctY29udHJvbCAuaWNvbjpiZWZvcmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIGEgLmljb246YmVmb3JlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCAudmlldy1jb250cm9sIC5pY29uOmJlZm9yZSB7XG4gICAgICAgICAgICB3aWR0aDogMTZweDtcbiAgICAgICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy0wKTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAgICAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIGEuQVhJU1ZpZXdHcmlkIC5pY29uOmJlZm9yZSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCBhLmdyaWQgLmljb246YmVmb3JlLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wuQVhJU1ZpZXdHcmlkIC5pY29uOmJlZm9yZSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCAudmlldy1jb250cm9sLmdyaWQgLmljb246YmVmb3JlLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgYS5BWElTVmlld0dyaWQgLmljb246YmVmb3JlLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgYS5ncmlkIC5pY29uOmJlZm9yZSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wuQVhJU1ZpZXdHcmlkIC5pY29uOmJlZm9yZSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wuZ3JpZCAuaWNvbjpiZWZvcmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCBhLkFYSVNWaWV3R3JpZCAuaWNvbjpiZWZvcmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCBhLmdyaWQgLmljb246YmVmb3JlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgLnZpZXctY29udHJvbC5BWElTVmlld0dyaWQgLmljb246YmVmb3JlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgLnZpZXctY29udHJvbC5ncmlkIC5pY29uOmJlZm9yZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgYS5BWElTVmlld0dyaWQgLmljb246YmVmb3JlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCBhLmdyaWQgLmljb246YmVmb3JlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCAudmlldy1jb250cm9sLkFYSVNWaWV3R3JpZCAuaWNvbjpiZWZvcmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wuZ3JpZCAuaWNvbjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6IFwi74CKXCI7IH1cbiAgICAgICAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCBhLkFYSVNWaWV3TGlzdCAuaWNvbjpiZWZvcmUsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgYS5saXN0IC5pY29uOmJlZm9yZSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCAudmlldy1jb250cm9sLkFYSVNWaWV3TGlzdCAuaWNvbjpiZWZvcmUsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgLnZpZXctY29udHJvbC5saXN0IC5pY29uOmJlZm9yZSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIGEuQVhJU1ZpZXdMaXN0IC5pY29uOmJlZm9yZSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIGEubGlzdCAuaWNvbjpiZWZvcmUsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCAudmlldy1jb250cm9sLkFYSVNWaWV3TGlzdCAuaWNvbjpiZWZvcmUsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCAudmlldy1jb250cm9sLmxpc3QgLmljb246YmVmb3JlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgYS5BWElTVmlld0xpc3QgLmljb246YmVmb3JlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgYS5saXN0IC5pY29uOmJlZm9yZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wuQVhJU1ZpZXdMaXN0IC5pY29uOmJlZm9yZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wubGlzdCAuaWNvbjpiZWZvcmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIGEuQVhJU1ZpZXdMaXN0IC5pY29uOmJlZm9yZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgYS5saXN0IC5pY29uOmJlZm9yZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgLnZpZXctY29udHJvbC5BWElTVmlld0xpc3QgLmljb246YmVmb3JlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCAudmlldy1jb250cm9sLmxpc3QgLmljb246YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiBcIu+Ai1wiOyB9XG4gIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1BlclBhZ2VDb250YWluZXIsIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTUGVyUGFnZUNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1BlclBhZ2VDb250YWluZXIsIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTUGVyUGFnZUNvbnRhaW5lciB7XG4gICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1BlclBhZ2VDb250YWluZXIgKyAuQVhJU1BlclBhZ2VDb250YWluZXIsIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTUGVyUGFnZUNvbnRhaW5lciArIC5BWElTUGVyUGFnZUNvbnRhaW5lciB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH1cbiAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNQZXJQYWdlQ29udGFpbmVyIHVsLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1BlclBhZ2VDb250YWluZXIgdWwge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBsaXN0LXN0eWxlOiBub25lOyB9XG4gICAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNQZXJQYWdlQ29udGFpbmVyIHVsIGxpLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1BlclBhZ2VDb250YWluZXIgdWwgbGkge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtOCk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuICAgICAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNQZXJQYWdlQ29udGFpbmVyIHVsIGxpOm50aC1jaGlsZCgyKSwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNQZXJQYWdlQ29udGFpbmVyIHVsIGxpOm50aC1jaGlsZCgyKSB7XG4gICAgICAgICAgbWFyZ2luOiAwIDVweDsgfVxuICAgICAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNQZXJQYWdlQ29udGFpbmVyIHVsIGxpOmhvdmVyLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1BlclBhZ2VDb250YWluZXIgdWwgbGk6aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wKTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH1cbiAgICAgICAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNQZXJQYWdlQ29udGFpbmVyIHVsIGxpOmhvdmVyIGEsIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTUGVyUGFnZUNvbnRhaW5lciB1bCBsaTpob3ZlciBhIHtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS13aGl0ZS1jb2xvdXIpO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAgICAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNQZXJQYWdlQ29udGFpbmVyIHVsIGxpOmFjdGl2ZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNQZXJQYWdlQ29udGFpbmVyIHVsIGxpOmFjdGl2ZSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTgpOyB9XG4gICAgICAgICAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTUGVyUGFnZUNvbnRhaW5lciB1bCBsaTphY3RpdmUgYSwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNQZXJQYWdlQ29udGFpbmVyIHVsIGxpOmFjdGl2ZSBhIHtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtMCk7IH1cbiAgICAgICAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTUGVyUGFnZUNvbnRhaW5lciB1bCBsaS5hY3RpdmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTUGVyUGFnZUNvbnRhaW5lciB1bCBsaS5hY3RpdmUge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0xMCk7IH1cbiAgICAgICAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNQZXJQYWdlQ29udGFpbmVyIHVsIGxpLmFjdGl2ZSBhLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1BlclBhZ2VDb250YWluZXIgdWwgbGkuYWN0aXZlIGEge1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wKTtcbiAgICAgICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1BlclBhZ2VDb250YWluZXIgdWwgYSwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNQZXJQYWdlQ29udGFpbmVyIHVsIGEge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LWhlaWdodDogNDBweDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogMTAuMjZweCAxNnB4O1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtMCk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciBkaXY6Zmlyc3QtY2hpbGQuaXRlbXMtcGVyLWxpc3QtY29udGFpbmVyLCAubGlzdC1zb3J0LWNvbnRhaW5lciBkaXY6Zmlyc3QtY2hpbGQuaXRlbXMtcGVyLWxpc3QtY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9IH1cbiAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5pdGVtcy1wZXItbGlzdC1jb250YWluZXIsIC5saXN0LXNvcnQtY29udGFpbmVyIC5pdGVtcy1wZXItbGlzdC1jb250YWluZXIge1xuICAgIHdpZHRoOiA1MCU7XG4gICAgZ2FwOiAwIDEwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLml0ZW1zLXBlci1saXN0LWNvbnRhaW5lciwgLmxpc3Qtc29ydC1jb250YWluZXIgLml0ZW1zLXBlci1saXN0LWNvbnRhaW5lciB7XG4gICAgICAgIG1heC13aWR0aDogMTclO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZ2FwOiAwIDVweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87IH0gfVxuICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuaXRlbXMtcGVyLWxpc3QtY29udGFpbmVyIGEsIC5saXN0LXNvcnQtY29udGFpbmVyIC5pdGVtcy1wZXItbGlzdC1jb250YWluZXIgYSB7XG4gICAgICBtYXgtaGVpZ2h0OiA0MHB4O1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGZsZXg6IDEgMSAwO1xuICAgICAgcGFkZGluZzogMTAuMjZweCA4cHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtMTApO1xuICAgICAgY29sb3I6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy0wKTtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzLCBjb2xvciAwLjhzOyB9XG4gICAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLml0ZW1zLXBlci1saXN0LWNvbnRhaW5lciBhOmhvdmVyLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuaXRlbXMtcGVyLWxpc3QtY29udGFpbmVyIGE6aG92ZXIge1xuICAgICAgICBjb2xvcjogdmFyKC0td2hpdGUtY29sb3VyKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTApO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnMsIGNvbG9yIDAuNnM7IH1cbiAgICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuaXRlbXMtcGVyLWxpc3QtY29udGFpbmVyIGE6YWN0aXZlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuaXRlbXMtcGVyLWxpc3QtY29udGFpbmVyIGE6YWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTgpO1xuICAgICAgICBjb2xvcjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTApOyB9XG4gICAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLml0ZW1zLXBlci1saXN0LWNvbnRhaW5lciBhLmFjdGl2ZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLml0ZW1zLXBlci1saXN0LWNvbnRhaW5lciBhLmFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0xMCk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMCk7XG4gICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLml0ZW1zLXBlci1saXN0LWNvbnRhaW5lciArIC5wYWdpbmF0aW9uLWNvbnRhaW5lciwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5pdGVtcy1wZXItbGlzdC1jb250YWluZXIgKyAuQVhJU1BhZ2VOdW1iZXJpbmcsIC5saXN0LXNvcnQtY29udGFpbmVyIC5pdGVtcy1wZXItbGlzdC1jb250YWluZXIgKyAucGFnaW5hdGlvbi1jb250YWluZXIsIC5saXN0LXNvcnQtY29udGFpbmVyIC5pdGVtcy1wZXItbGlzdC1jb250YWluZXIgKyAuQVhJU1BhZ2VOdW1iZXJpbmcge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG4gIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuc29ydC1ieS1kYXlzLWNvbnRhaW5lciwgLmxpc3Qtc29ydC1jb250YWluZXIgLnNvcnQtYnktZGF5cy1jb250YWluZXIge1xuICAgIHdpZHRoOiA1MCU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAxMHB4IDA7XG4gICAgb3JkZXI6IDY7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLnNvcnQtYnktZGF5cy1jb250YWluZXIsIC5saXN0LXNvcnQtY29udGFpbmVyIC5zb3J0LWJ5LWRheXMtY29udGFpbmVyIHtcbiAgICAgICAgd2lkdGg6IDIzJTsgfSB9XG4gICAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5zb3J0LWJ5LWRheXMtY29udGFpbmVyIGxhYmVsLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuc29ydC1ieS1kYXlzLWNvbnRhaW5lciBsYWJlbCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7IH1cbiAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLnNvcnQtYnktZGF5cy1jb250YWluZXIgLmNvbnRyb2wuc2VsZWN0LCAubGlzdC1zb3J0LWNvbnRhaW5lciAuc29ydC1ieS1kYXlzLWNvbnRhaW5lciAuY29udHJvbC5zZWxlY3Qge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cblxuLkFYSVNQYWdlTnVtYmVyaW5nLCAucGFnaW5hdGlvbi1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA1MHB4O1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAwIDEwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5BWElTUGFnZU51bWJlcmluZywgLnBhZ2luYXRpb24tY29udGFpbmVyIHtcbiAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICBnYXA6IDAgNXB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87IH0gfVxuICAuQVhJU1BhZ2VOdW1iZXJpbmcgYSwgLnBhZ2luYXRpb24tY29udGFpbmVyIGEge1xuICAgIG1heC1oZWlnaHQ6IDQwcHg7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAxMC4yNnB4IDEwcHg7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGNvbG9yOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtMCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTEwKTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjhzOyB9XG4gICAgLkFYSVNQYWdlTnVtYmVyaW5nIGE6aG92ZXIsIC5wYWdpbmF0aW9uLWNvbnRhaW5lciBhOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wKTtcbiAgICAgIGNvbG9yOiB2YXIoLS13aGl0ZS1jb2xvdXIpO1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42cywgY29sb3IgMC42czsgfVxuICAgIC5BWElTUGFnZU51bWJlcmluZyBhOmFjdGl2ZSwgLnBhZ2luYXRpb24tY29udGFpbmVyIGE6YWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy04KTtcbiAgICAgIGNvbG9yOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtMCk7IH1cbiAgICAuQVhJU1BhZ2VOdW1iZXJpbmcgYS5zZWxlY3RlZCwgLkFYSVNQYWdlTnVtYmVyaW5nIGEuYWN0aXZlLCAucGFnaW5hdGlvbi1jb250YWluZXIgYS5zZWxlY3RlZCwgLnBhZ2luYXRpb24tY29udGFpbmVyIGEuYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0xMCk7XG4gICAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTApOyB9XG4gICAgICAuQVhJU1BhZ2VOdW1iZXJpbmcgYS5zZWxlY3RlZDpob3ZlciwgLkFYSVNQYWdlTnVtYmVyaW5nIGEuYWN0aXZlOmhvdmVyLCAucGFnaW5hdGlvbi1jb250YWluZXIgYS5zZWxlY3RlZDpob3ZlciwgLnBhZ2luYXRpb24tY29udGFpbmVyIGEuYWN0aXZlOmhvdmVyIHtcbiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gIC5BWElTUGFnZU51bWJlcmluZyAuQVhJU1BhZ2VOdW1iZXJKb2luZXIsIC5BWElTUGFnZU51bWJlcmluZyAucGFnaW5hdGlvbi1vcHRpb24tam9pbmVyLCAucGFnaW5hdGlvbi1jb250YWluZXIgLkFYSVNQYWdlTnVtYmVySm9pbmVyLCAucGFnaW5hdGlvbi1jb250YWluZXIgLnBhZ2luYXRpb24tb3B0aW9uLWpvaW5lciB7XG4gICAgZm9udC1zaXplOiAxcmVtOyB9XG5cbi5wYWdpbmF0aW9uTGFiZWwsIC5wYWdpbmF0aW9uLWxhYmVsIHtcbiAgbWFyZ2luLXJpZ2h0OiAxM3B4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wKTsgfVxuXG4vKipcclxuXHJcbi0tLS0gTWFuYWdlIENhbGxzIC0tLS0gXHJcblxyXG4tIEZvcm1hbGx5IGtub3cgYXMgdGhlIGNhbGwgcG9ydGFsIGJlZm9yZSBpdCBnb3QgZW1iZWRkZWQgaW4gZXhwcmVzcywgbWFuYWdlIGNhbGxzIGlzIGFjY291bnQgZnVuY3Rpb25hbGl0eSB0aGF0IGRpc3BsYXlzIGNhbGxzIGluIGEgbGlzdCBpbiBleHByZXNzLlxyXG4tIFN0eWxlcyBpbmNsdWRlZCBoZXJlOiBcclxuICAtIExpc3QgZm9yIGNhbGwgbGlzdCArIGV2ZW50cyBsaXN0LlxyXG4gIC0gRW5xdWlyeSBzdW1tYXJ5LlxyXG4gIC0gQ2FsbCByYXRpbmcgZm9udHMuXHJcbiAgLSBTdGlja3kgYnV0dG9ucyBpY29ucy5cclxuKiovXG4uZW5xdWlyeS1oZWFkZXItc2VjdGlvbiB7XG4gIHBhZGRpbmc6IDIwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmM2YzZjM7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5lbnF1aXJ5LWhlYWRlci1zZWN0aW9uIHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7IH0gfVxuICAuZW5xdWlyeS1oZWFkZXItc2VjdGlvbiBoMiB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBjb2xvcjogIzA2MDUyZjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuICAuZW5xdWlyeS1oZWFkZXItc2VjdGlvbiB1bCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAgIC5lbnF1aXJ5LWhlYWRlci1zZWN0aW9uIHVsIGxpIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5lbnF1aXJ5LWhlYWRlci1zZWN0aW9uIHVsIGxpIHtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLmVucXVpcnktaGVhZGVyLXNlY3Rpb24gdWwgbGk6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4OyB9IH1cbiAgICAuZW5xdWlyeS1oZWFkZXItc2VjdGlvbiB1bCAubGFiZWwge1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICBjb2xvcjogIzc3Nzc3NzsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAuZW5xdWlyeS1oZWFkZXItc2VjdGlvbiB1bCAubGFiZWwge1xuICAgICAgICAgIHdpZHRoOiAxMTBweDtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH0gfVxuICAgIC5lbnF1aXJ5LWhlYWRlci1zZWN0aW9uIHVsIC52YWx1ZSB7XG4gICAgICBmbGV4OiAxO1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmVucXVpcnktaGVhZGVyLXNlY3Rpb24gLmVucXVpcnktaGVhZGVyLWhlYWRpbmcge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfSB9XG4gIC5lbnF1aXJ5LWhlYWRlci1zZWN0aW9uIC5jb250cm9sLmNoZWNrYm94Om5vdCguc21hbGwpIGlucHV0ICsgc3BhbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXItY29sb3I6ICNhZWFlYWU7IH1cbiAgLmVucXVpcnktaGVhZGVyLXNlY3Rpb24gLmNvbnRyb2wucmFkaW86bm90KC5jaGVja2JveCkgc3Bhbi5yYWRpbyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjYWVhZWFlOyB9XG5cbi5jYWxsLXJhdGluZy1jb250YWluZXIgdWwge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBnYXA6IDEwcHg7XG4gIG1hcmdpbjogMCAwIDEwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5jYWxsLXJhdGluZy1jb250YWluZXIgdWwge1xuICAgICAgZ2FwOiA1cHg7XG4gICAgICBtYXJnaW46IDA7IH0gfVxuXG4uY2FsbC1yYXRpbmctY29udGFpbmVyLnBhZ2UtdmlldyB7XG4gIHdpZHRoOiAxMDBweDtcbiAgaGVpZ2h0OiAxMDBweDtcbiAgbWFyZ2luOiBhdXRvOyB9XG5cbi5jYWxsLXJhdGluZy1jb250YWluZXIubGlzdC12aWV3IHtcbiAgd2lkdGg6IDIyLjVweDtcbiAgaGVpZ2h0OiAyMi41cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5jYWxsLXJhdGluZy1jb250YWluZXIubGlzdC12aWV3IHtcbiAgICAgIG1hcmdpbjogYXV0bzsgfSB9XG5cbi5jYWxsLXJhdGluZy1jb250YWluZXIgLnJhdGluZy1sYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICBjb2xvcjogIzc3Nzc3NzsgfVxuXG4uY2FsbC1yYXRpbmctY29udGFpbmVyIC5yYXRpbmctaW5mb3JtYXRpb24ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgbGluZS1oZWlnaHQ6IDE7IH1cblxuLmNhbGwtcmF0aW5nLWNvbnRhaW5lciAuY2FsbC1yYXRpbmctdmFsdWUge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfVxuICAuY2FsbC1yYXRpbmctY29udGFpbmVyIC5jYWxsLXJhdGluZy12YWx1ZSBpbnB1dCB7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuICAuY2FsbC1yYXRpbmctY29udGFpbmVyIC5jYWxsLXJhdGluZy12YWx1ZSBpbnB1dFt0eXBlPXJhZGlvXTpjaGVja2VkICsgc3Bhbi5yYWRpbyB7XG4gICAgb3BhY2l0eTogMTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC42czsgfVxuICAuY2FsbC1yYXRpbmctY29udGFpbmVyIC5jYWxsLXJhdGluZy12YWx1ZS5yYXRpbmctaWNvbi0wIC5pY29uIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvdGVtcGxhdGUvY29udGVudC9kZXZlbG9wbWVudC9pbWFnZXMvaWNvbnMvL2NhbGxzL2NhbGwtcmF0aW5nLWNhbm5vdC1yYXRlLnN2Z1wiKTtcbiAgICBvcGFjaXR5OiAuMTsgfVxuICAuY2FsbC1yYXRpbmctY29udGFpbmVyIC5jYWxsLXJhdGluZy12YWx1ZS5yYXRpbmctaWNvbi0wLnVucmF0ZWQgLmljb24ge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi90ZW1wbGF0ZS9jb250ZW50L2RldmVsb3BtZW50L2ltYWdlcy9pY29ucy8vY2FsbHMvY2FsbC1yYXRpbmctdW5yYXRlZC5zdmdcIik7XG4gICAgb3BhY2l0eTogLjU7IH1cbiAgLmNhbGwtcmF0aW5nLWNvbnRhaW5lciAuY2FsbC1yYXRpbmctdmFsdWUucmF0aW5nLWljb24tMSAuaWNvbiB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL3RlbXBsYXRlL2NvbnRlbnQvZGV2ZWxvcG1lbnQvaW1hZ2VzL2ljb25zLy9jYWxscy9jYWxsLXJhdGluZy12ZXJ5LWJhZC5zdmdcIik7IH1cbiAgLmNhbGwtcmF0aW5nLWNvbnRhaW5lciAuY2FsbC1yYXRpbmctdmFsdWUucmF0aW5nLWljb24tMiAuaWNvbiB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL3RlbXBsYXRlL2NvbnRlbnQvZGV2ZWxvcG1lbnQvaW1hZ2VzL2ljb25zLy9jYWxscy9jYWxsLXJhdGluZy1iYWQuc3ZnXCIpOyB9XG4gIC5jYWxsLXJhdGluZy1jb250YWluZXIgLmNhbGwtcmF0aW5nLXZhbHVlLnJhdGluZy1pY29uLTMgLmljb24ge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi90ZW1wbGF0ZS9jb250ZW50L2RldmVsb3BtZW50L2ltYWdlcy9pY29ucy8vY2FsbHMvY2FsbC1yYXRpbmctYXZlcmFnZS5zdmdcIik7IH1cbiAgLmNhbGwtcmF0aW5nLWNvbnRhaW5lciAuY2FsbC1yYXRpbmctdmFsdWUucmF0aW5nLWljb24tNCAuaWNvbiB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL3RlbXBsYXRlL2NvbnRlbnQvZGV2ZWxvcG1lbnQvaW1hZ2VzL2ljb25zLy9jYWxscy9jYWxsLXJhdGluZy1nb29kLnN2Z1wiKTsgfVxuICAuY2FsbC1yYXRpbmctY29udGFpbmVyIC5jYWxsLXJhdGluZy12YWx1ZS5yYXRpbmctaWNvbi01IC5pY29uIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvdGVtcGxhdGUvY29udGVudC9kZXZlbG9wbWVudC9pbWFnZXMvaWNvbnMvL2NhbGxzL2NhbGwtcmF0aW5nLXZlcnktZ29vZC5zdmdcIik7IH1cbiAgLmNhbGwtcmF0aW5nLWNvbnRhaW5lciAuY2FsbC1yYXRpbmctdmFsdWUgLmljb24ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTsgfVxuICAuY2FsbC1yYXRpbmctY29udGFpbmVyIC5jYWxsLXJhdGluZy12YWx1ZSAucmFkaW8ge1xuICAgIHdpZHRoOiAyNXB4O1xuICAgIGhlaWdodDogMjVweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBvcGFjaXR5OiAuMjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjhzOyB9XG4gICAgLmNhbGwtcmF0aW5nLWNvbnRhaW5lciAuY2FsbC1yYXRpbmctdmFsdWUgLnJhZGlvOmhvdmVyIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNnM7IH1cbiAgICAuY2FsbC1yYXRpbmctY29udGFpbmVyIC5jYWxsLXJhdGluZy12YWx1ZSAucmFkaW86YWN0aXZlIHtcbiAgICAgIG9wYWNpdHk6IC43OyB9XG5cbi5jYWxsLXVyZ2VuY3ktaWNvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5jYWxsLXVyZ2VuY3ktaWNvbiB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfSB9XG4gIC5jYWxsLXVyZ2VuY3ktaWNvbi5sb3cge1xuICAgIC0tdXJnZW5jeS1pbWFnZS11cmw6IHVybCgvdGVtcGxhdGUvY29udGVudC9kZXZlbG9wbWVudC9pbWFnZXMvaWNvbnMvL2NhbGxzL2NwLXVyZ2VuY3ktbG93LnN2Zyk7IH1cbiAgLmNhbGwtdXJnZW5jeS1pY29uLm1lZGl1bSB7XG4gICAgLS11cmdlbmN5LWltYWdlLXVybDogdXJsKC90ZW1wbGF0ZS9jb250ZW50L2RldmVsb3BtZW50L2ltYWdlcy9pY29ucy8vY2FsbHMvY3AtdXJnZW5jeS1tZWRpdW0uc3ZnKTsgfVxuICAuY2FsbC11cmdlbmN5LWljb24uaGlnaCB7XG4gICAgLS11cmdlbmN5LWltYWdlLXVybDogdXJsKC90ZW1wbGF0ZS9jb250ZW50L2RldmVsb3BtZW50L2ltYWdlcy9pY29ucy8vY2FsbHMvY3AtdXJnZW5jeS1oaWdoLnN2Zyk7IH1cbiAgLmNhbGwtdXJnZW5jeS1pY29uLmNyaXRpY2FsIHtcbiAgICAtLXVyZ2VuY3ktaW1hZ2UtdXJsOiB1cmwoL3RlbXBsYXRlL2NvbnRlbnQvZGV2ZWxvcG1lbnQvaW1hZ2VzL2ljb25zLy9jYWxscy9jcC11cmdlbmN5LWNyaXRpY2FsLnN2Zyk7IH1cbiAgLmNhbGwtdXJnZW5jeS1pY29uOmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgd2lkdGg6IDIyLjVweDtcbiAgICBoZWlnaHQ6IDIyLjVweDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS11cmdlbmN5LWltYWdlLXVybCk7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLnN0aWNreS1zaWRlLWJ1dHRvbnMgLnN0aWNreS1zaWRlLWJ1dHRvbiAuYnV0dG9uLWljb246YmVmb3JlIHtcbiAgZm9udC1zaXplOiAyNnB4OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMGVtKSB7XG4gIC5zdGlja3ktc2lkZS1idXR0b25zIC5zdGlja3ktc2lkZS1idXR0b24gLmJ1dHRvbi1pY29uOmJlZm9yZSB7XG4gICAgZm9udC1zaXplOiAzMnB4OyB9IH1cblxuLnN0aWNreS1zaWRlLWJ1dHRvbnMgLnN0aWNreS1zaWRlLWJ1dHRvbiAuYnV0dG9uLWljb24uY2FsbC1iYWNrLXRvLWxpc3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCLuoLlcIjtcbiAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG9cIjsgfVxuXG4uc3RpY2t5LXNpZGUtYnV0dG9ucyAuc3RpY2t5LXNpZGUtYnV0dG9uIC5idXR0b24taWNvbi5jYWxsLXJlcXVlc3QtYXJjaGl2ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu6gu1wiO1xuICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiOyB9XG5cbi5zdGlja3ktc2lkZS1idXR0b25zIC5zdGlja3ktc2lkZS1idXR0b24gLmJ1dHRvbi1pY29uLmNhbGwtYWRkLWluZm9ybWF0aW9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qC8XCI7XG4gIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvXCI7IH1cblxuLnN0aWNreS1zaWRlLWJ1dHRvbnMgLnN0aWNreS1zaWRlLWJ1dHRvbiAuYnV0dG9uLWljb24uY2FsbC1jcmVhdGU6YmVmb3JlIHtcbiAgY29udGVudDogXCLuoLpcIjtcbiAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG9cIjsgfVxuXG50YWJsZS5jYWxsLXRhYmxlLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUge1xuICB0YWJsZS1sYXlvdXQ6IGZpeGVkOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICB0YWJsZS5jYWxsLXRhYmxlLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUge1xuICAgICAgbWFyZ2luOiAxMHB4IDA7IH0gfVxuICB0YWJsZS5jYWxsLXRhYmxlIHRkLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgdGQge1xuICAgIHBhZGRpbmctdG9wOiAxMHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIHRhYmxlLmNhbGwtdGFibGUuZW5xdWlyeS10YWJsZSwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlLmVucXVpcnktdGFibGUge1xuICAgICAgbWFyZ2luOiAyMHB4IDA7IH0gfVxuICB0YWJsZS5jYWxsLXRhYmxlIC5ub3RpZmljYXRpb24tY29sLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgLm5vdGlmaWNhdGlvbi1jb2wge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICB0YWJsZS5jYWxsLXRhYmxlIC5ub3RpZmljYXRpb24tY29sLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgLm5vdGlmaWNhdGlvbi1jb2wge1xuICAgICAgICB3aWR0aDogMTJweDsgfSB9XG4gICAgdGFibGUuY2FsbC10YWJsZSAubm90aWZpY2F0aW9uLWNvbCAubm90aWZpY2F0aW9uLWNvbnRlbnQsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSAubm90aWZpY2F0aW9uLWNvbCAubm90aWZpY2F0aW9uLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgICAgcGFkZGluZzogMTBweDsgfVxuICB0YWJsZS5jYWxsLXRhYmxlIHRkLnVucmVhZC1jb2wsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSB0ZC51bnJlYWQtY29sIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gIHRhYmxlLmNhbGwtdGFibGUgdGQuY2FsbC1udW1iZXItY29sLCB0YWJsZS5jYWxsLXRhYmxlIHRoLmNhbGwtbnVtYmVyLWNvbCwgdGFibGUuY2FsbC10YWJsZSAuY2FsbC1udW1iZXItY29sLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgdGQuY2FsbC1udW1iZXItY29sLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgdGguY2FsbC1udW1iZXItY29sLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgLmNhbGwtbnVtYmVyLWNvbCB7XG4gICAgd2lkdGg6IDkwcHg7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgICAgdGFibGUuY2FsbC10YWJsZSB0ZC5jYWxsLW51bWJlci1jb2wsIHRhYmxlLmNhbGwtdGFibGUgdGguY2FsbC1udW1iZXItY29sLCB0YWJsZS5jYWxsLXRhYmxlIC5jYWxsLW51bWJlci1jb2wsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSB0ZC5jYWxsLW51bWJlci1jb2wsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSB0aC5jYWxsLW51bWJlci1jb2wsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSAuY2FsbC1udW1iZXItY29sIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTBweDsgfVxuICAgICAgICB0YWJsZS5jYWxsLXRhYmxlIHRkLmNhbGwtbnVtYmVyLWNvbCBhLCB0YWJsZS5jYWxsLXRhYmxlIHRoLmNhbGwtbnVtYmVyLWNvbCBhLCB0YWJsZS5jYWxsLXRhYmxlIC5jYWxsLW51bWJlci1jb2wgYSwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHRkLmNhbGwtbnVtYmVyLWNvbCBhLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgdGguY2FsbC1udW1iZXItY29sIGEsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSAuY2FsbC1udW1iZXItY29sIGEge1xuICAgICAgICAgIGNvbG9yOiAjNzc3Nzc3O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgICAgICBmb250LXdlaWdodDogNzAwOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICB0YWJsZS5jYWxsLXRhYmxlIHRkLmNhbGwtbnVtYmVyLWNvbCwgdGFibGUuY2FsbC10YWJsZSB0aC5jYWxsLW51bWJlci1jb2wsIHRhYmxlLmNhbGwtdGFibGUgLmNhbGwtbnVtYmVyLWNvbCwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHRkLmNhbGwtbnVtYmVyLWNvbCwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHRoLmNhbGwtbnVtYmVyLWNvbCwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIC5jYWxsLW51bWJlci1jb2wge1xuICAgICAgICB3aWR0aDogOCU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgdGFibGUuY2FsbC10YWJsZSB0ZC5jdXN0b21lci1uYW1lLWNvbCwgdGFibGUuY2FsbC10YWJsZSB0aC5jdXN0b21lci1uYW1lLWNvbCwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHRkLmN1c3RvbWVyLW5hbWUtY29sLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgdGguY3VzdG9tZXItbmFtZS1jb2wge1xuICAgICAgd2lkdGg6IDEyJTtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgdGFibGUuY2FsbC10YWJsZTpoYXMoLnJhdGluZy1jb2wpIHRkLnN1YmplY3QtY29sLCB0YWJsZS5jYWxsLXRhYmxlOmhhcygucmF0aW5nLWNvbCkgdGguc3ViamVjdC1jb2wsIHRhYmxlLmNhbGwtdGFibGU6aGFzKC5yYXRpbmctY29sKSAuc3ViamVjdC1jb2wsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZTpoYXMoLnJhdGluZy1jb2wpIHRkLnN1YmplY3QtY29sLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGU6aGFzKC5yYXRpbmctY29sKSB0aC5zdWJqZWN0LWNvbCwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlOmhhcygucmF0aW5nLWNvbCkgLnN1YmplY3QtY29sIHtcbiAgICAgIHdpZHRoOiAxNSU7IH0gfVxuICB0YWJsZS5jYWxsLXRhYmxlIHRkLnN1YmplY3QtY29sLCB0YWJsZS5jYWxsLXRhYmxlIHRoLnN1YmplY3QtY29sLCB0YWJsZS5jYWxsLXRhYmxlIC5zdWJqZWN0LWNvbCwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHRkLnN1YmplY3QtY29sLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgdGguc3ViamVjdC1jb2wsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSAuc3ViamVjdC1jb2wge1xuICAgIHdpZHRoOiA1NSU7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgdGFibGUuY2FsbC10YWJsZSB0ZC5zdWJqZWN0LWNvbCwgdGFibGUuY2FsbC10YWJsZSB0aC5zdWJqZWN0LWNvbCwgdGFibGUuY2FsbC10YWJsZSAuc3ViamVjdC1jb2wsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSB0ZC5zdWJqZWN0LWNvbCwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHRoLnN1YmplY3QtY29sLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgLnN1YmplY3QtY29sIHtcbiAgICAgICAgd2lkdGg6IDcwJTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAgIHRhYmxlLmNhbGwtdGFibGUgdGQuc3ViamVjdC1jb2wgYSwgdGFibGUuY2FsbC10YWJsZSB0aC5zdWJqZWN0LWNvbCBhLCB0YWJsZS5jYWxsLXRhYmxlIC5zdWJqZWN0LWNvbCBhLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgdGQuc3ViamVjdC1jb2wgYSwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHRoLnN1YmplY3QtY29sIGEsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSAuc3ViamVjdC1jb2wgYSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGNvbG9yOiAjNzc3Nzc3O1xuICAgICAgICBsaW5lLWhlaWdodDogMTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgdGFibGUuY2FsbC10YWJsZSB0ZC5zdWJqZWN0LWNvbCwgdGFibGUuY2FsbC10YWJsZSB0aC5zdWJqZWN0LWNvbCwgdGFibGUuY2FsbC10YWJsZSAuc3ViamVjdC1jb2wsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSB0ZC5zdWJqZWN0LWNvbCwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHRoLnN1YmplY3QtY29sLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgLnN1YmplY3QtY29sIHtcbiAgICAgICAgd2lkdGg6IDIzLjclO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIHRhYmxlLmNhbGwtdGFibGUgdGQuc2VydmljZS1jb250cmFjdC1jb2wsIHRhYmxlLmNhbGwtdGFibGUgdGguc2VydmljZS1jb250cmFjdC1jb2wsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSB0ZC5zZXJ2aWNlLWNvbnRyYWN0LWNvbCwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHRoLnNlcnZpY2UtY29udHJhY3QtY29sIHtcbiAgICAgIHdpZHRoOiAxMS41JTtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgdGFibGUuY2FsbC10YWJsZSB0ZC5jYWxsLWNvbnRhY3QtY29sLCB0YWJsZS5jYWxsLXRhYmxlIHRoLmNhbGwtY29udGFjdC1jb2wsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSB0ZC5jYWxsLWNvbnRhY3QtY29sLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgdGguY2FsbC1jb250YWN0LWNvbCB7XG4gICAgICB3aWR0aDogMTAlO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICB0YWJsZS5jYWxsLXRhYmxlIHRkLnVzZXItY29udGFjdC1jb2wsIHRhYmxlLmNhbGwtdGFibGUgdGgudXNlci1jb250YWN0LWNvbCwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHRkLnVzZXItY29udGFjdC1jb2wsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSB0aC51c2VyLWNvbnRhY3QtY29sIHtcbiAgICAgIHdpZHRoOiAxMCU7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIHRhYmxlLmNhbGwtdGFibGUgdGQuY3JlYXRlZC1jb2wsIHRhYmxlLmNhbGwtdGFibGUgdGguY3JlYXRlZC1jb2wsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSB0ZC5jcmVhdGVkLWNvbCwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHRoLmNyZWF0ZWQtY29sIHtcbiAgICAgIHdpZHRoOiA3LjclOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIHRhYmxlLmNhbGwtdGFibGUgdGQubGFzdC11cGRhdGVkLCB0YWJsZS5jYWxsLXRhYmxlIHRoLmxhc3QtdXBkYXRlZCwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHRkLmxhc3QtdXBkYXRlZCwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHRoLmxhc3QtdXBkYXRlZCB7XG4gICAgICB3aWR0aDogNy43JTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICB0YWJsZS5jYWxsLXRhYmxlIHRkLnJhdGluZy1jb2wsIHRhYmxlLmNhbGwtdGFibGUgdGgucmF0aW5nLWNvbCwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHRkLnJhdGluZy1jb2wsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSB0aC5yYXRpbmctY29sIHtcbiAgICAgIHdpZHRoOiA2JTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICB0YWJsZS5jYWxsLXRhYmxlIHRkLnVyZ2VuY3ktY29sLCB0YWJsZS5jYWxsLXRhYmxlIHRoLnVyZ2VuY3ktY29sLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgdGQudXJnZW5jeS1jb2wsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSB0aC51cmdlbmN5LWNvbCB7XG4gICAgICB3aWR0aDogNyU7IH0gfVxuICB0YWJsZS5jYWxsLXRhYmxlIHRkLnR5cGUtY29sLCB0YWJsZS5jYWxsLXRhYmxlIHRoLnR5cGUtY29sLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgdGQudHlwZS1jb2wsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSB0aC50eXBlLWNvbCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIHRhYmxlLmNhbGwtdGFibGUgdGQudHlwZS1jb2wsIHRhYmxlLmNhbGwtdGFibGUgdGgudHlwZS1jb2wsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSB0ZC50eXBlLWNvbCwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHRoLnR5cGUtY29sIHtcbiAgICAgICAgd2lkdGg6IDclO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgdGFibGUuY2FsbC10YWJsZSB0ZC5zb3VyY2UtY29sLCB0YWJsZS5jYWxsLXRhYmxlIHRoLnNvdXJjZS1jb2wsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSB0ZC5zb3VyY2UtY29sLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgdGguc291cmNlLWNvbCB7XG4gICAgICB3aWR0aDogNyU7IH0gfVxuICB0YWJsZS5jYWxsLXRhYmxlIHRkLmRhdGEtdGltZS1jb2wgcCwgdGFibGUuY2FsbC10YWJsZSB0aC5kYXRlLXRpbWUtY29sIHAsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSB0ZC5kYXRhLXRpbWUtY29sIHAsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSB0aC5kYXRlLXRpbWUtY29sIHAge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICB0YWJsZS5jYWxsLXRhYmxlIHRkLmRhdGEtdGltZS1jb2wsIHRhYmxlLmNhbGwtdGFibGUgdGguZGF0ZS10aW1lLWNvbCwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHRkLmRhdGEtdGltZS1jb2wsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSB0aC5kYXRlLXRpbWUtY29sIHtcbiAgICAgIHdpZHRoOiAxNiU7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIHRhYmxlLmNhbGwtdGFibGUgdGQubm90ZXMtY29sLCB0YWJsZS5jYWxsLXRhYmxlIHRoLm5vdGVzLWNvbCwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHRkLm5vdGVzLWNvbCwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHRoLm5vdGVzLWNvbCB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIHRhYmxlLmNhbGwtdGFibGUgdGQudGltZXN0YW1wLWNvbCwgdGFibGUuY2FsbC10YWJsZSB0aC50aW1lc3RhbXAtY29sLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgdGQudGltZXN0YW1wLWNvbCwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHRoLnRpbWVzdGFtcC1jb2wge1xuICAgICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgdGFibGUuY2FsbC10YWJsZSB0ZC5jaGFuZ2VzLWNvbCwgdGFibGUuY2FsbC10YWJsZSB0aC5jaGFuZ2VzLWNvbCwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHRkLmNoYW5nZXMtY29sLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgdGguY2hhbmdlcy1jb2wge1xuICAgICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuICB0YWJsZS5jYWxsLXRhYmxlIHRkLnBlbmRpbmctY2hhbmdlcy1pbmZvLWNvbCwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHRkLnBlbmRpbmctY2hhbmdlcy1pbmZvLWNvbCB7XG4gICAgcGFkZGluZzogMTBweCAwO1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIHRhYmxlLmNhbGwtdGFibGUgdGQucGVuZGluZy1jaGFuZ2VzLWluZm8tY29sLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgdGQucGVuZGluZy1jaGFuZ2VzLWluZm8tY29sIHtcbiAgICAgICAgcGFkZGluZzogMTBweCAyMHB4OyB9IH1cbiAgdGFibGUuY2FsbC10YWJsZSAuZWxsaXBzaXMtdGV4dDpob3ZlciwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIC5lbGxpcHNpcy10ZXh0OmhvdmVyIHtcbiAgICBsZWZ0OiAtNXB4OyB9XG4gIHRhYmxlLmNhbGwtdGFibGUgLmNhbGwtbm90ZXMtY29udGFpbmVyLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgLmNhbGwtbm90ZXMtY29udGFpbmVyIHtcbiAgICBvdmVyZmxvdy13cmFwOiBhbnl3aGVyZTsgfVxuICB0YWJsZS5jYWxsLXRhYmxlIHRyLmNhbGwtY2xvc2VkIHRkOm5vdCgucmF0aW5nLWNvbCk6bm90KC51bnJlYWQtY29sKSwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHRyLmNhbGwtY2xvc2VkIHRkOm5vdCgucmF0aW5nLWNvbCk6bm90KC51bnJlYWQtY29sKSB7XG4gICAgb3BhY2l0eTogLjU7IH1cbiAgICB0YWJsZS5jYWxsLXRhYmxlIHRyLmNhbGwtY2xvc2VkIHRkOm5vdCgucmF0aW5nLWNvbCk6bm90KC51bnJlYWQtY29sKTpob3ZlciwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHRyLmNhbGwtY2xvc2VkIHRkOm5vdCgucmF0aW5nLWNvbCk6bm90KC51bnJlYWQtY29sKTpob3ZlciB7XG4gICAgICBvcGFjaXR5OiAxOyB9XG5cbi5lbnF1aXJ5LWZpbHRlcnMgbGFiZWwge1xuICB3aWR0aDogMTAwJTsgfVxuICAuZW5xdWlyeS1maWx0ZXJzIGxhYmVsIHNwYW4uY2hlY2tib3gsIC5lbnF1aXJ5LWZpbHRlcnMgbGFiZWwgc3Bhbi5yYWRpbyB7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG5cbi5lbnF1aXJ5LWZpbHRlcnMgLmxhYmVsIHtcbiAgd2lkdGg6IDgwJTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi5jYWxsLXR5cGUtaWNvbiB7XG4gIHdpZHRoOiAxNnB4O1xuICBoZWlnaHQ6IDE2cHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luOiA1cHggMDtcbiAgcHJpbnQtY29sb3ItYWRqdXN0OiBleGFjdDtcbiAgLXdlYmtpdC1wcmludC1jb2xvci1hZGp1c3Q6IGV4YWN0OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuY2FsbC10eXBlLWljb24ge1xuICAgICAgbWFyZ2luOiAwIGF1dG87IH0gfVxuICAuY2FsbC10eXBlLWljb246YmVmb3JlIHtcbiAgICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBjb2xvcjogIzA2MDUyZjsgfVxuICAuY2FsbC10eXBlLWljb24uZGVtbyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHBhZGRpbmc6IDMwcHg7IH1cbiAgICAuY2FsbC10eXBlLWljb24uZGVtbzpiZWZvcmUge1xuICAgICAgZm9udC1zaXplOiAyNnB4OyB9XG4gIC5jYWxsLXR5cGUtaWNvbi5hdHRhY2htZW50OmJlZm9yZSB7XG4gICAgY29udGVudDogXCLuoKxcIjsgfVxuICAuY2FsbC10eXBlLWljb24uY2FsbC1wcml2YWN5OmJlZm9yZSB7XG4gICAgY29udGVudDogXCLuoLFcIjsgfVxuICAuY2FsbC10eXBlLWljb24uY2FsbC10eXBlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLuoJxcIjsgfVxuICAuY2FsbC10eXBlLWljb24uY2xhc3NpZmljYXRpb246YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu6goFwiOyB9XG4gIC5jYWxsLXR5cGUtaWNvbi5jb21wbGV0ZWQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu6glVwiOyB9XG4gIC5jYWxsLXR5cGUtaWNvbi5jb250YWN0OmJlZm9yZSB7XG4gICAgY29udGVudDogXCLuoJdcIjsgfVxuICAuY2FsbC10eXBlLWljb24uY29udHJhY3Q6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu6gmlwiOyB9XG4gIC5jYWxsLXR5cGUtaWNvbi5jb250cmFjdC10eXBlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLuoJlcIjsgfVxuICAuY2FsbC10eXBlLWljb24uY3JlYXRlZDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi7qCpXCI7IH1cbiAgLmNhbGwtdHlwZS1pY29uLmRlZmVycmVkOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLuoKhcIjsgfVxuICAuY2FsbC10eXBlLWljb24uZXNjYWxhdGlvbjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi7qCvXCI7IH1cbiAgLmNhbGwtdHlwZS1pY29uLmltcGFjdDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi7qCqXCI7IH1cbiAgLmNhbGwtdHlwZS1pY29uLmluYm91bmQtcGhvbmUtY2FsbDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi7qCfXCI7IH1cbiAgLmNhbGwtdHlwZS1pY29uLmluZm9ybWF0aW9uOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLuoK1cIjsgfVxuICAuY2FsbC10eXBlLWljb24ubGluazpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi7qCrXCI7IH1cbiAgLmNhbGwtdHlwZS1pY29uLm91dGJvdW5kLXBob25lLWNhbGw6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu6grlwiOyB9XG4gIC5jYWxsLXR5cGUtaWNvbi5wcmlvcml0eTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi7qCwXCI7IH1cbiAgLmNhbGwtdHlwZS1pY29uLnJlc3BvbnNpYmxpdHk6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu6gslwiOyB9XG4gIC5jYWxsLXR5cGUtaWNvbi5zaG9ydGN1dC1zZW50OmJlZm9yZSB7XG4gICAgY29udGVudDogXCLuoLNcIjsgfVxuICAuY2FsbC10eXBlLWljb24uc2xhLWluY2x1c2lvbjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi7qC0XCI7IH1cbiAgLmNhbGwtdHlwZS1pY29uLnN0YXR1czpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi7qCbXCI7IH1cbiAgLmNhbGwtdHlwZS1pY29uLnVuZGVmZXJyZWQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu6gt1wiOyB9XG4gIC5jYWxsLXR5cGUtaWNvbi51cmdlbmN5OmJlZm9yZSB7XG4gICAgY29udGVudDogXCLuoLhcIjsgfVxuICAuY2FsbC10eXBlLWljb24ud29ya2Zsb3c6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu6gnVwiOyB9XG5cbi5jYWxsLXNvdXJjZS1pY29uIHtcbiAgd2lkdGg6IGZpdC1jb250ZW50O1xuICBkaXNwbGF5OiBibG9jazsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmNhbGwtc291cmNlLWljb24ge1xuICAgICAgbWFyZ2luOiAwIGF1dG87IH0gfVxuICAuY2FsbC1zb3VyY2UtaWNvbjpiZWZvcmUge1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBjb2xvcjogIzA2MDUyZjsgfVxuICAuY2FsbC1zb3VyY2UtaWNvbi5kZW1vIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcGFkZGluZzogMzBweDsgfVxuICAgIC5jYWxsLXNvdXJjZS1pY29uLmRlbW86YmVmb3JlIHtcbiAgICAgIGZvbnQtc2l6ZTogMjZweDsgfVxuICAuY2FsbC1zb3VyY2UtaWNvbi51c2VyOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLvgIdcIjsgfVxuICAuY2FsbC1zb3VyY2UtaWNvbi5wb3J0YWw6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu+CrFwiOyB9XG4gIC5jYWxsLXNvdXJjZS1pY29uLmVtYWlsOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLvg6BcIjsgfVxuXG4udGFibGUtaGVhZGluZyB7XG4gIG1hcmdpbjogMTBweCAwOyB9XG5cbi8qXHJcbi0tLS0tIEJhY2sgdG8gdG9wIC0tLS0tLSBcclxuVGhpcyBpcyB0aGUgYnV0dG9uIHRoYXQgYXBwZWFyIGF0IHRoZSBib3R0b20gb2YgdGhlIHBhZ2UgdGhhdCB0YWtlcyB5b3UgYmFjayB0byB0aGUgdG9wIG9mIHRoZSB2aWV3cG9ydC5cclxuKi9cbi5iYWNrLXRvcC1jb250YWluZXIge1xuICB3aWR0aDogNTBweDtcbiAgaGVpZ2h0OiA1MHB4O1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHJpZ2h0OiAxMHB4O1xuICBib3R0b206IDcwcHg7XG4gIHotaW5kZXg6IDE1MDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5iYWNrLXRvcC1jb250YWluZXIge1xuICAgICAgd2lkdGg6IDUwcHg7XG4gICAgICBoZWlnaHQ6IDYwcHg7XG4gICAgICByaWdodDogMzBweDtcbiAgICAgIGJvdHRvbTogOTBweDsgfSB9XG5cbi5iYWNrLXRvcC1idXR0b24ge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvcGFjaXR5OiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGFsbCAwLjhzOyB9XG4gIC5iYWNrLXRvcC1idXR0b246YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu6gglwiO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjZmZmZmZmO1xuICAgIGZvbnQtc2l6ZTogMTdweDtcbiAgICBmb250LWZhbWlseTogXCJmb250ZWxsby1kam1pbGVzXCI7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQ6ICMwNjA1MmY7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuOHM7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuYmFjay10b3AtYnV0dG9uOmJlZm9yZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjJweDsgfSB9XG4gIC5iYWNrLXRvcC1idXR0b246aG92ZXIsIC5iYWNrLXRvcC1idXR0b246aG92ZXIuYWN0aXZlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC42czsgfVxuICAgIC5iYWNrLXRvcC1idXR0b246aG92ZXI6YmVmb3JlLCAuYmFjay10b3AtYnV0dG9uOmhvdmVyLmFjdGl2ZTpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZDogIzA2MDUyZjtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgYm94LXNoYWRvdzogMHB4IDJweCA0cHggMXB4IHJnYmEoMTIsIDEyLCAxMywgMC4zKTtcbiAgICAgIGJvcmRlci1jb2xvcjogIzA2MDUyZjtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gIC5iYWNrLXRvcC1idXR0b246YWN0aXZlOmJlZm9yZSwgLmJhY2stdG9wLWJ1dHRvbjphY3RpdmU6YWN0aXZlOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZDogI2FlOTQ2MTtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXItY29sb3I6ICNhZTk0NjE7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgLmJhY2stdG9wLWJ1dHRvbi5hY3RpdmUge1xuICAgIG9wYWNpdHk6IC43OyB9XG5cbi8qXHJcbi0tLS0tIFNlY3Rpb25zIC0tLS0tIFxyXG5BeGlzIHRvZ2dsZXIgaXMgYnVpbGQgb24gdG9wIG9mIEZvdW5kYXRpb24ncyBUb2dnbGVyIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb24vc2l0ZXMvZG9jcy90b2dnbGVyLmh0bWwgYW5kIGlzIHNpbWlsYXIgdG8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvbi9zaXRlcy9kb2NzL2FjY29yZGlvbi5odG1sIGJ1dCBzb21ldGltZXMgaXQgaXMgbm90IHBvc3NpYmxlIGNvbnZlbmllbnQgdG8gYnVpbGQgdGhlIHNlY3Rpb24ocykgaW4gPHVsPiBvciBpbiBkZXNrdG9wIHlvdSByZXF1aXJlIHRoZSBsYXlvdXQgdG8gYmUgY29tcGxldGVseSBkaWZmZXJlbnQgdG8gbW9iaWxlLlxyXG4qL1xuLmF4aXMtc2VjdGlvbiB7XG4gIG1hcmdpbjogMDsgfVxuICAuYXhpcy1zZWN0aW9uLmFjdGl2ZSAuYXhpcy1zZWN0aW9uLWhlYWRlcjphZnRlciB7XG4gICAgY29udGVudDogXCLuoIJcIjsgfVxuICAuYXhpcy1zZWN0aW9uLmFjdGl2ZSAuYXhpcy1zZWN0aW9uLWNvbnRlbnQge1xuICAgIG1heC1oZWlnaHQ6IDgwdmg7XG4gICAgbWFyZ2luOiAyMHB4IDAgMDtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgMC42czsgfVxuICAuYXhpcy1zZWN0aW9uLmFjdGl2ZSAuYXhpcy1zZWN0aW9uLWJ1dHRvbnMge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5heGlzLXNlY3Rpb24ucmV2ZWFsLWVuYWJsZWQ6bm90KC5hY3RpdmUpIHtcbiAgICBoZWlnaHQ6IGZpdC1jb250ZW50OyB9XG4gICAgLmF4aXMtc2VjdGlvbi5yZXZlYWwtZW5hYmxlZDpub3QoLmFjdGl2ZSkgLmF4aXMtc2VjdGlvbi1oZWFkZXIge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgdHJhbnNpdGlvbjogbWFyZ2luLWJvdHRvbSAwLjZzLCBwYWRkaW5nLWJvdHRvbSAwLjZzOyB9XG4gIC5heGlzLXNlY3Rpb24uZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy03KTtcbiAgICBvcGFjaXR5OiAuNjtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgLmF4aXMtc2VjdGlvbi5kaXNhYmxlZCAuYXhpcy1zZWN0aW9uLWhlYWRlciB7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgICAuYXhpcy1zZWN0aW9uLmRpc2FibGVkIC5heGlzLXNlY3Rpb24taGVhZGVyOmFmdGVyIHtcbiAgICAgICAgY29sb3I6ICM5MjkyOTI7IH1cblxuLmF4aXMtc2VjdGlvbi1oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLmF4aXMtc2VjdGlvbi1oZWFkZXI6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwi7qCDXCI7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG8tZGptaWxlc1wiO1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBjb2xvcjogIzA2MDUyZjtcbiAgICBsaW5lLWhlaWdodDogMTRweDsgfVxuXG4uYXhpcy1zZWN0aW9uLWNvbnRlbnQge1xuICBtYXgtaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuOHM7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5heGlzLXNlY3Rpb24tY29udGVudCB7XG4gICAgICBtYXJnaW46IDA7IH0gfVxuICAuYXhpcy1zZWN0aW9uLWNvbnRlbnQgcCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtOyB9XG4gIC5heGlzLXNlY3Rpb24tY29udGVudCAuY21zLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG5cbi5heGlzLXNlY3Rpb24tYnV0dG9ucyB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLypcclxuXHJcbi0tLS0tIEVsbGlwc2lzIC0tLS0tIFxyXG5XaGVuIHRoZSBjb250ZW50IGlzIHRvbyBsb25nZXIgdG8gZml4IHdpdGhpbiBhIHRhYmxlIGNlbGwgKCBmb3IgZXhhbXBsZSApIGFsbG93IHRoZSB1c2VyIHRvIHNob3cgb3ZlcmZsb3dpbmcgdGV4dCBieSBob3ZlcmluZy5cclxuXHJcbklNUE9SVEFOVDogVGhpcyBvbmx5IHdvcmtzIHdpdGggc2luZ2xlIGxpbmVzIG9mIHRleHQsIG11bHRpLWxpbmUgeW91IHdpbGwgbmVlZCB0byBsb29rIGludG8gLS13ZWJraXQtbGluZS1jbGFtcC5cclxuKi9cbi5lbGxpcHNpcy10ZXh0LWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uZWxsaXBzaXMtdGV4dCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmVsbGlwc2lzLXRleHQge1xuICAgICAgd2lkdGg6IGZpdC1jb250ZW50OyB9IH1cbiAgLmVsbGlwc2lzLXRleHQuZWxsaXBzaXMtYWN0aXZlIHtcbiAgICBtYXNrLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIGJsYWNrIDUwJSwgdHJhbnNwYXJlbnQgMTAwJSk7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuZWxsaXBzaXMtdGV4dC5lbGxpcHNpcy1hY3RpdmUge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgICAgICAgLmVsbGlwc2lzLXRleHQuZWxsaXBzaXMtYWN0aXZlOmhvdmVyIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBpbmhlcml0O1xuICAgICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7XG4gICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICBtYXNrLWltYWdlOiBub25lO1xuICAgICAgICAgIG9wYWNpdHk6IDE7IH0gfVxuXG4vKlxyXG4tLS0tLSBCbHVyIC0tLS0tLSBcclxuVGhlIGVmZmVjdCB0aGF0IGdldHMgYXBwbGllZCB0aGUgaGVhZGVyLCBtYWluICYgZm9vdGVyIHdoZW4gYSBtb2RhbCBvciBtZW51IGlzIG9wZW4sIGVzc2VudGlhbGx5IGJsdXIncyBvdXQgdGhlIGNvbnRlbnQgaW4gdGhlIGJhY2tncm91bmQgd2hlbiBzb21ldGhpbmcgaXMgb3ZlcmxheWluZyB0aGUgcGFnZSdzIG1haW4gY29udGVudC5cclxuKi9cbi5ibHVyIHtcbiAgLS1kZWZ1c2UtYW5pbWF0aW9uOiBkZWZ1c2VCbHVyIC4zcyBmb3J3YXJkcztcbiAgZmlsdGVyOiBibHVyKDEwcHgpO1xuICBhbmltYXRpb246IGJsdXIgMC42czsgfVxuICAuYmx1ci5kZWZ1c2Uge1xuICAgIGZpbHRlcjogYmx1cigwKTtcbiAgICBhbmltYXRpb246IGRlZnVzZUJsdXIgMC4zczsgfVxuXG5Aa2V5ZnJhbWVzIGRlZnVzZUJsdXIge1xuICAwJSB7XG4gICAgZmlsdGVyOiBibHVyKDEwcHgpOyB9XG4gIDIwJSB7XG4gICAgZmlsdGVyOiBibHVyKDhweCk7IH1cbiAgNDAlIHtcbiAgICBmaWx0ZXI6IGJsdXIoNnB4KTsgfVxuICA2MCUge1xuICAgIGZpbHRlcjogYmx1cig0cHgpOyB9XG4gIDgwJSB7XG4gICAgZmlsdGVyOiBibHVyKDJweCk7IH1cbiAgMTAwJSB7XG4gICAgZmlsdGVyOiBibHVyKDBweCk7IH0gfVxuXG4jcGFnZU92ZXJsYXksIC5ibHVyLW92ZXJsYXkge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBvcGFjaXR5OiAwLjE7IH1cblxuLypcclxuXHJcbi0tLS0gU3RhdGljIC0tLS0gXHJcbkRlZGljYXRlZCBzcGVjaWZpY2FsbHkgdG93YXJkcyB0aGUgbGFuZGluZyBwYWdlIGZvciB0aGUgc3RhdGljIGxhbmRpbmcgcGFnZSBmb3IgZXhwcmVzcy5cclxuXHJcbiovXG4ubW9kdWxlcy10ZXN0LXBhZ2UtaGVhZGVyIHtcbiAgbWFyZ2luOiAwIDAgMTBweDtcbiAgcGFkZGluZzogMzBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VlZWVlZTtcbiAgYm9yZGVyOiAxcHggc29saWQgIzc3Nzc3NzsgfVxuXG4ucm93LWJhY2tncm91bmQuZ3JpZC1jb250YWluZXIgLm1vZHVsZXMtY29udHJvbC1wYW5lbC5tb2R1bGUtY29udHJvbHMge1xuICB0b3A6IDM2cHg7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAuZ3JpZC1jb250YWluZXIgLm1vZHVsZXMtY29udHJvbC1wYW5lbC5tb2R1bGUtY29udHJvbHMge1xuICAgIHRvcDogMDsgfSB9XG5cbi5tb2R1bGVzLWNvbnRyb2wtcGFuZWwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5tb2R1bGVzLWNvbnRyb2wtcGFuZWwucm93LWNvbnRyb2xzIHtcbiAgICB0b3A6IDA7IH1cbiAgLm1vZHVsZXMtY29udHJvbC1wYW5lbC5tb2R1bGUtY29udHJvbHMge1xuICAgIHRvcDogNTBweDsgfVxuXG4ubW9kdWxlcy1jb250cm9sLWJ1dHRvbnMge1xuICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgZ2FwOiAxMHB4O1xuICBwYWRkaW5nOiAxMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlZWVlO1xuICBvcGFjaXR5OiAwLjU7XG4gIHotaW5kZXg6IDI7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC44czsgfVxuICAubW9kdWxlcy1jb250cm9sLWJ1dHRvbnM6aG92ZXIge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjZzOyB9XG4gIC5tb2R1bGVzLWNvbnRyb2wtYnV0dG9ucyAubW9kdWxlcy1jb250cm9sLWJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cbiAgICAubW9kdWxlcy1jb250cm9sLWJ1dHRvbnMgLm1vZHVsZXMtY29udHJvbC1idXR0b25bYXJpYS1leHBhbmRlZD10cnVlXSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDYwNTJmO1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9XG4gICAgICAubW9kdWxlcy1jb250cm9sLWJ1dHRvbnMgLm1vZHVsZXMtY29udHJvbC1idXR0b25bYXJpYS1leHBhbmRlZD10cnVlXTpiZWZvcmUge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzLCBib3JkZXItY29sb3IgMC42czsgfVxuICAgIC5tb2R1bGVzLWNvbnRyb2wtYnV0dG9ucyAubW9kdWxlcy1jb250cm9sLWJ1dHRvbjpiZWZvcmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nOiA1cHggMTBweDtcbiAgICAgIGNvbG9yOiAjMDYwNTJmO1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjMDYwNTJmOyB9XG4gICAgLm1vZHVsZXMtY29udHJvbC1idXR0b25zIC5tb2R1bGVzLWNvbnRyb2wtYnV0dG9uLm1vZHVsZS1pbmZvOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnXFxmMTI5JzsgfVxuXG4ubW9kdWxlcy1pbmZvLWNvbnRhaW5lciB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgd2lkdGg6IDMyMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDEwMDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubW9kdWxlcy1pbmZvLWNvbnRhaW5lciB7XG4gICAgICB3aWR0aDogNTAwcHg7IH0gfVxuICAubW9kdWxlcy1pbmZvLWNvbnRhaW5lciAubW9kdWxlcy1pbmZvLWhlYWRpbmctY29udGFpbmVyIHtcbiAgICBtYXJnaW46IDAgMCAxMHB4O1xuICAgIHBhZGRpbmc6IDAgMCAxMHB4O1xuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZWVlZWVlOyB9XG4gIC5tb2R1bGVzLWluZm8tY29udGFpbmVyIC5nZW5lcmFsLWluZm9ybWF0aW9uLXBhbmVsIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlZWVlOyB9XG4gIC5tb2R1bGVzLWluZm8tY29udGFpbmVyIC5jb250ZW50IHtcbiAgICBtYXJnaW46IDIwcHggMCAwO1xuICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjMDYwNTJmOyB9XG4gICAgLm1vZHVsZXMtaW5mby1jb250YWluZXIgLmNvbnRlbnQgdWwge1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAgICAgLm1vZHVsZXMtaW5mby1jb250YWluZXIgLmNvbnRlbnQgdWwgbGkge1xuICAgICAgICBmb250LXNpemU6IDAuOTM3NXJlbTsgfVxuICAgIC5tb2R1bGVzLWluZm8tY29udGFpbmVyIC5jb250ZW50ID4gdWwgPiBsaSB7XG4gICAgICBtYXJnaW46IDVweCAwO1xuICAgICAgcGFkZGluZzogNXB4O1xuICAgICAgYm9yZGVyOiAycHggc29saWQgI2VlZWVlZTsgfVxuICAgIC5tb2R1bGVzLWluZm8tY29udGFpbmVyIC5jb250ZW50IHVsIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAgIC5tb2R1bGVzLWluZm8tY29udGFpbmVyIC5jb250ZW50IHVsIHVsIHVsIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7IH1cbiAgICAubW9kdWxlcy1pbmZvLWNvbnRhaW5lciAuY29udGVudCBoNCwgLm1vZHVsZXMtaW5mby1jb250YWluZXIgLmNvbnRlbnQgaDUsIC5tb2R1bGVzLWluZm8tY29udGFpbmVyIC5jb250ZW50IGg2IHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICBmb250LXdlaWdodDogNjAwOyB9XG4gICAgLm1vZHVsZXMtaW5mby1jb250YWluZXIgLmNvbnRlbnQgaDQsIC5tb2R1bGVzLWluZm8tY29udGFpbmVyIC5jb250ZW50IGg1IHtcbiAgICAgIG1hcmdpbjogMTBweCAwOyB9XG4gICAgLm1vZHVsZXMtaW5mby1jb250YWluZXIgLmNvbnRlbnQgaDQsIC5tb2R1bGVzLWluZm8tY29udGFpbmVyIC5jb250ZW50IGg1IHtcbiAgICAgIGNvbG9yOiAjNzc3Nzc3OyB9XG4gICAgLm1vZHVsZXMtaW5mby1jb250YWluZXIgLmNvbnRlbnQgaDYge1xuICAgICAgbWFyZ2luOiA1cHggMDtcbiAgICAgIGNvbG9yOiAjMDYwNTJmOyB9XG4gICAgLm1vZHVsZXMtaW5mby1jb250YWluZXIgLmNvbnRlbnQgc3Ryb25nIHtcbiAgICAgIGNvbG9yOiAjMDYwNTJmO1xuICAgICAgcGFkZGluZy1yaWdodDogMTBweDsgfVxuICAgICAgLm1vZHVsZXMtaW5mby1jb250YWluZXIgLmNvbnRlbnQgc3Ryb25nOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCI6XCI7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4vKlxyXG5cclxuLS0tLSBTdG9ja2lzdCAtLS0tIFxyXG5TcGVjaWZpY2FsbHkgZm9yIHRoZSBzdG9ja2lzaCBjb21wb25lbnQ6IFxyXG4tIFNvcnRpbmcgYXJlYVxyXG4tIFNlYXJjaCByZXN1bHRzIFxyXG4tIEludGVyYWN0aXZlIG1hcFxyXG5cclxuKi9cbi5pbnRlcmFjdGl2ZS1tYXAtc29ydGluZy1vcHRpb25zIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWFyZ2luLWJvdHRvbTogMjVweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmludGVyYWN0aXZlLW1hcC1zb3J0aW5nLW9wdGlvbnMge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTsgfSB9XG4gIC5pbnRlcmFjdGl2ZS1tYXAtc29ydGluZy1vcHRpb25zIC5zb3J0aW5nLW9wdGlvbiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgcGFkZGluZzogMTBweCAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmludGVyYWN0aXZlLW1hcC1zb3J0aW5nLW9wdGlvbnMgLnNvcnRpbmctb3B0aW9uIHtcbiAgICAgICAgd2lkdGg6IGF1dG87IH0gfVxuICAgIC5pbnRlcmFjdGl2ZS1tYXAtc29ydGluZy1vcHRpb25zIC5zb3J0aW5nLW9wdGlvbiAubGFiZWwge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMCk7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLmludGVyYWN0aXZlLW1hcC1zb3J0aW5nLW9wdGlvbnMgLnNvcnRpbmctb3B0aW9uIC5sYWJlbCB7XG4gICAgICAgICAgd2lkdGg6IGF1dG87IH0gfVxuICAuaW50ZXJhY3RpdmUtbWFwLXNvcnRpbmctb3B0aW9ucyAuY29udHJvbC5zZWFyY2gge1xuICAgIGZsZXgtZ3JvdzogMTsgfVxuICAuaW50ZXJhY3RpdmUtbWFwLXNvcnRpbmctb3B0aW9ucyAuYWRkcmVzcy1zZWFyY2gtY29udGFpbmVyIGlucHV0OjpwbGFjZWhvbGRlciB7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmludGVyYWN0aXZlLW1hcC1zb3J0aW5nLW9wdGlvbnMgLmFkZHJlc3Mtc2VhcmNoLWNvbnRhaW5lciBpbnB1dCB7XG4gICAgICB3aWR0aDogMjkwcHggIWltcG9ydGFudDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuaW50ZXJhY3RpdmUtbWFwLXNvcnRpbmctb3B0aW9ucyAucHJvZHVjdC1maWx0ZXItY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9IH1cbiAgLmludGVyYWN0aXZlLW1hcC1zb3J0aW5nLW9wdGlvbnMgLnByb2R1Y3QtZmlsdGVyLWNvbnRhaW5lciAubGFiZWw6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu+CsFwiO1xuICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgY29sb3I6ICMwNjA1MmY7IH1cbiAgLmludGVyYWN0aXZlLW1hcC1zb3J0aW5nLW9wdGlvbnMgLnNlcGFyYXRvciB7XG4gICAgbWFyZ2luOiA3cHggMCAycHg7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmludGVyYWN0aXZlLW1hcC1zb3J0aW5nLW9wdGlvbnMgLnNlcGFyYXRvciB7XG4gICAgICAgIG1hcmdpbjogMCAyNXB4OyB9IH1cblxuLnN0b2NraXN0LWNvbnRhaW5lciB7XG4gIG1heC1oZWlnaHQ6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogMjBweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjhzOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuc3RvY2tpc3QtY29udGFpbmVyIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH0gfVxuICAuc3RvY2tpc3QtY29udGFpbmVyLmFjdGl2ZSB7XG4gICAgbWF4LWhlaWdodDogbm9uZTtcbiAgICBoZWlnaHQ6IGZpdC1jb250ZW50O1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuc3RvY2tpc3QtY29udGFpbmVyLmFjdGl2ZSB7XG4gICAgICAgIG1heC1oZWlnaHQ6IDgwdmg7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDUwdmg7XG4gICAgICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgMC42czsgfSB9XG5cbi5pbnRlcmFjdGl2ZS1tYXAtc2VhcmNoLXJlc3VsdHMtY29udGFpbmVyIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHBhZGRpbmc6IDE1cHggMjBweCAxNXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjNmM2YzOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuaW50ZXJhY3RpdmUtbWFwLXNlYXJjaC1yZXN1bHRzLWNvbnRhaW5lciB7XG4gICAgICBtYXgtd2lkdGg6IDQyMHB4O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwYWRkaW5nOiAzMHB4IDQwcHg7IH0gfVxuICAuaW50ZXJhY3RpdmUtbWFwLXNlYXJjaC1yZXN1bHRzLWNvbnRhaW5lciB1bCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAuaW50ZXJhY3RpdmUtbWFwLXNlYXJjaC1yZXN1bHRzLWNvbnRhaW5lciBsaSB7XG4gICAgcGFkZGluZzogMTBweCAwIDE1cHg7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNhZWFlYWU7IH1cbiAgLmludGVyYWN0aXZlLW1hcC1zZWFyY2gtcmVzdWx0cy1jb250YWluZXIgLmhlYWRlci1jb250YWluZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgICAuaW50ZXJhY3RpdmUtbWFwLXNlYXJjaC1yZXN1bHRzLWNvbnRhaW5lciAuaGVhZGVyLWNvbnRhaW5lciBoMiB7XG4gICAgICBmb250LXNpemU6IDEuMzQzNzVyZW07IH1cbiAgLmludGVyYWN0aXZlLW1hcC1zZWFyY2gtcmVzdWx0cy1jb250YWluZXIgLnJlc3VsdC1idXR0b24tY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuaW50ZXJhY3RpdmUtbWFwLXNlYXJjaC1yZXN1bHRzLWNvbnRhaW5lciAucmVzdWx0cy1jb250YWluZXIge1xuICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgICAgIG92ZXJmbG93LXk6IGF1dG87IH0gfVxuICAuaW50ZXJhY3RpdmUtbWFwLXNlYXJjaC1yZXN1bHRzLWNvbnRhaW5lciAucmVzdWx0cy1jb250YWluZXIgLmRlc2NyaXB0aW9uIHtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6ICM3Nzc3Nzc7IH1cbiAgLmludGVyYWN0aXZlLW1hcC1zZWFyY2gtcmVzdWx0cy1jb250YWluZXIgLnJlc3VsdHMtY29udGFpbmVyIC5hZGRyZXNzIHtcbiAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gICAgLmludGVyYWN0aXZlLW1hcC1zZWFyY2gtcmVzdWx0cy1jb250YWluZXIgLnJlc3VsdHMtY29udGFpbmVyIC5hZGRyZXNzICsgLnRlbGVwaG9uZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG4gICAgLmludGVyYWN0aXZlLW1hcC1zZWFyY2gtcmVzdWx0cy1jb250YWluZXIgLnJlc3VsdHMtY29udGFpbmVyIC5hZGRyZXNzICsgLnJlc3VsdC1idXR0b24tY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbi10b3A6IDEwcHg7IH1cbiAgLmludGVyYWN0aXZlLW1hcC1zZWFyY2gtcmVzdWx0cy1jb250YWluZXIgLnJlc3VsdHMtY29udGFpbmVyIC50ZWxlcGhvbmUge1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cbiAgICAuaW50ZXJhY3RpdmUtbWFwLXNlYXJjaC1yZXN1bHRzLWNvbnRhaW5lciAucmVzdWx0cy1jb250YWluZXIgLnRlbGVwaG9uZSBhIHtcbiAgICAgIHBhZGRpbmctbGVmdDogNXB4OyB9XG5cbi53ZWJzaXRlLWJ1dHRvbiB7XG4gIC0tY29tcG9uZW50LXNwZWNpZmMtc3RlcC1oZWlnaHQ6IDE1cHg7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tc21hbGwtbWFyZ2luLCAwIDQwcHggMCAwKTtcbiAgcGFkZGluZzogdmFyKC0tY29tbW9uLWJ1dHRvbi1wYWRkaW5nLCA1cHggMzBweCk7XG4gIGNvbG9yOiAjMDYwNTJmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmVhO1xuICBib3JkZXItd2lkdGg6IDJweDtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuNnB4O1xuICB3b3JkLXNwYWNpbmc6IDJweDtcbiAgYm9yZGVyLWNvbG9yOiAjZTZlNmVhO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IGFsbCAwLjhzOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLndlYnNpdGUtYnV0dG9uIHtcbiAgICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1tZWRpdW0tbWFyZ2luLCAwKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAud2Vic2l0ZS1idXR0b24ge1xuICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLWxhcmdlLW1hcmdpbiwgMCk7IH0gfVxuICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgIC53ZWJzaXRlLWJ1dHRvbjpob3ZlciwgLndlYnNpdGUtYnV0dG9uLmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2FlOTQ2MTtcbiAgICAgIGJvcmRlci1jb2xvcjogI2FlOTQ2MTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgICAud2Vic2l0ZS1idXR0b246aG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLndlYnNpdGUtYnV0dG9uLmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH0gfVxuICAud2Vic2l0ZS1idXR0b246YWN0aXZlLCAud2Vic2l0ZS1idXR0b24uYWN0aXZlIHtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDYwNTJmO1xuICAgIGJvcmRlci1jb2xvcjogIzA2MDUyZjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAud2Vic2l0ZS1idXR0b246ZGlzYWJsZWQsIC53ZWJzaXRlLWJ1dHRvbi5kaXNhYmxlZCwgLndlYnNpdGUtYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgY29sb3I6ICM5MjkyOTI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMjAwLCAyMDAsIDIwMCwgMC43KTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gIC53ZWJzaXRlLWJ1dHRvbjpkaXNhYmxlZDpob3ZlciwgLndlYnNpdGUtYnV0dG9uLmRpc2FibGVkOmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMjAwLCAyMDAsIDIwMCwgMC43KTsgfVxuICAud2Vic2l0ZS1idXR0b246Zm9jdXMtdmlzaWJsZSB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpOyB9XG4gIC53ZWJzaXRlLWJ1dHRvbiAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cblxuLmludGVyYWN0aXZlLW1hcC1sb2NhdGlvbi1idXR0b24ge1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgcGFkZGluZzogMCA1cHg7IH1cbiAgLmludGVyYWN0aXZlLW1hcC1sb2NhdGlvbi1idXR0b246YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu+PhVwiO1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICBjb2xvcjogIzUwNTA2ZDtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gIC5pbnRlcmFjdGl2ZS1tYXAtbG9jYXRpb24tYnV0dG9uOmhvdmVyOmJlZm9yZSB7XG4gICAgY29sb3I6ICNhZTk0NjE7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAuaW50ZXJhY3RpdmUtbWFwLWxvY2F0aW9uLWJ1dHRvbjphY3RpdmU6YmVmb3JlIHtcbiAgICBjb2xvcjogIzA2MDUyZjsgfVxuXG4uaW50ZXJhY3RpdmUtbWFwLWNvbnRhaW5lciB7XG4gIG1pbi1oZWlnaHQ6IDYwdmg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZ3JvdzogMTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmludGVyYWN0aXZlLW1hcC1jb250YWluZXIge1xuICAgICAgbWluLWhlaWdodDogMjAwcHg7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsgfSB9XG5cbi5pbnRlcmFjdGl2ZS1tYXAge1xuICBmbGV4LWdyb3c6IDE7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkYWRhZGE7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC44czsgfVxuICAuaW50ZXJhY3RpdmUtbWFwOmhvdmVyIHtcbiAgICBib3gtc2hhZG93OiAwcHggMnB4IDRweCAxcHggcmdiYSgxMiwgMTIsIDEzLCAwLjMpO1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC42czsgfVxuXG4ub3JnYW5pc2F0aW9uLWNvbnRhaW5lciB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGNvbG9yOiAjNzc3Nzc3OyB9XG5cbi5pbnRlcmFjdGl2ZS1tYXAtbm8tcmVzdWx0cyB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5pbmZvLXdpbmRvdy1hZGRyZXNzLXRpdGxlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7IH1cblxuLmluZm8td2luZG93LWNvbnRlbnQtY29udGFpbmVyIC5pbmZvLXdpbmRvdy1hZGRyZXNzLCAuaW5mby13aW5kb3ctY29udGVudC1jb250YWluZXIgLnRlbGVwaG9uZSB7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtOyB9XG4gIC5pbmZvLXdpbmRvdy1jb250ZW50LWNvbnRhaW5lciAuaW5mby13aW5kb3ctYWRkcmVzcyBhLCAuaW5mby13aW5kb3ctY29udGVudC1jb250YWluZXIgLnRlbGVwaG9uZSBhIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDVweDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG5cbi5pbmZvLXdpbmRvdy1jb250ZW50LWNvbnRhaW5lciAuaW5mby13aW5kb3ctYnV0dG9uLWNvbnRhaW5lciB7XG4gIG1hcmdpbi10b3A6IDEwcHg7IH1cblxuLypcclxuLS0tLS0gVHJlZSBNZW51IC0tLS0tXHJcblxyXG4qL1xuLnRyZWUtbWVudSBpbnB1dFt0eXBlPWNoZWNrYm94XSB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4udHJlZS1tZW51IHVsIHtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAudHJlZS1tZW51IHVsIGxpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLnRyZWUtbWVudSB1bCBsaSA+IC5ub2RlLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBtYXgtaGVpZ2h0OiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuOHM7IH1cbiAgLnRyZWUtbWVudSB1bCBsYWJlbCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICAudHJlZS1tZW51IHVsIGxhYmVsOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu6gglwiO1xuICAgICAgd2lkdGg6IDI1cHg7XG4gICAgICBoZWlnaHQ6IDI1cHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgYm9yZGVyOiAycHggc29saWQgI2ZmZmZmZjtcbiAgICAgIGNvbG9yOiAjMDYwNTJmO1xuICAgICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG8tZGptaWxlc1wiO1xuICAgICAgZm9udC1zaXplOiA4cHg7XG4gICAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICAgICAgei1pbmRleDogMTsgfVxuICAgIC50cmVlLW1lbnUgdWwgbGFiZWwgLmxhYmVsIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGNvbG9yOiAjMDYwNTJmOyB9XG4gIC50cmVlLW1lbnUgdWwgbGFiZWwuYWN0aXZlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLuoINcIjsgfVxuICAudHJlZS1tZW51IHVsIGxhYmVsLmFjdGl2ZSB+IC5ub2RlLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjZzLCBoZWlnaHQgMC42czsgfVxuXG4udHJlZS1tZW51ID4gdWwge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7IH1cbiAgLnRyZWUtbWVudSA+IHVsID4gbGkgPiBsYWJlbCB7XG4gICAgcGFkZGluZzogMTBweCAwIDEwcHggNi42NnB4O1xuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZmZmZmZmOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLnRyZWUtbWVudSA+IHVsID4gbGkgPiBsYWJlbCB7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMCAxMHB4IDIwcHg7IH0gfVxuICAgIC50cmVlLW1lbnUgPiB1bCA+IGxpID4gbGFiZWwgLmxhYmVsIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC50cmVlLW1lbnUgPiB1bCA+IGxpOm5vdCgudHJlZS1tZW51LXBhcmVudCkgLm5vZGUtY29udGVudC1jb250YWluZXIgLnRyZWUtYWRkaXRpb25hbC1pbmZvcm1hdGlvbi1jb250YWluZXIge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICAgIGJvcmRlci1ib3R0b206IDIwcHggc29saWQgI2ZmZmZmZjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC50cmVlLW1lbnUgPiB1bCA+IGxpOm5vdCgudHJlZS1tZW51LXBhcmVudCkgLm5vZGUtY29udGVudC1jb250YWluZXIgLnRyZWUtYWRkaXRpb25hbC1pbmZvcm1hdGlvbi1jb250YWluZXIge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7IH0gfVxuICAudHJlZS1tZW51ID4gdWwgPiBsaSA+IC5ub2RlLWNvbnRlbnQtY29udGFpbmVyID4gdWw6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNmZmZmZmY7IH1cbiAgLnRyZWUtbWVudSA+IHVsID4gbGkgPiAubm9kZS1jb250ZW50LWNvbnRhaW5lciA+IHVsOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b206IDIwcHggc29saWQgI2ZmZmZmZjsgfVxuICAudHJlZS1tZW51ID4gdWwgPiBsaSA+IC5ub2RlLWNvbnRlbnQtY29udGFpbmVyID4gdWwgPiBsaSB7XG4gICAgcGFkZGluZzogMCA1cHg7IH1cbiAgICAudHJlZS1tZW51ID4gdWwgPiBsaSA+IC5ub2RlLWNvbnRlbnQtY29udGFpbmVyID4gdWwgPiBsaTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZmZmZmZmOyB9XG4gICAgLnRyZWUtbWVudSA+IHVsID4gbGkgPiAubm9kZS1jb250ZW50LWNvbnRhaW5lciA+IHVsID4gbGkgbGFiZWwgLmxhYmVsIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAudHJlZS1tZW51ID4gdWwgPiBsaSA+IC5ub2RlLWNvbnRlbnQtY29udGFpbmVyID4gdWwgPiBsaSB7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMCAxMHB4IDcwcHg7IH0gfVxuICAgIC50cmVlLW1lbnUgPiB1bCA+IGxpID4gLm5vZGUtY29udGVudC1jb250YWluZXIgPiB1bCA+IGxpLmFjdGl2ZTphZnRlciB7XG4gICAgICB0b3A6IDIyLjVweDtcbiAgICAgIGxlZnQ6IDE2LjVweDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAudHJlZS1tZW51ID4gdWwgPiBsaSA+IC5ub2RlLWNvbnRlbnQtY29udGFpbmVyID4gdWwgPiBsaS5hY3RpdmU6YWZ0ZXIge1xuICAgICAgICAgIHRvcDogMzIuNXB4O1xuICAgICAgICAgIGxlZnQ6IDgxLjVweDsgfSB9XG4gICAgLnRyZWUtbWVudSA+IHVsID4gbGkgPiAubm9kZS1jb250ZW50LWNvbnRhaW5lciA+IHVsID4gbGkgPiAubm9kZS1jb250ZW50LWNvbnRhaW5lciAudHJlZS1hZGRpdGlvbmFsLWluZm9ybWF0aW9uLWNvbnRhaW5lcjpiZWZvcmUge1xuICAgICAgbGVmdDogMTEuNXB4OyB9XG4gICAgLnRyZWUtbWVudSA+IHVsID4gbGkgPiAubm9kZS1jb250ZW50LWNvbnRhaW5lciA+IHVsID4gbGkgLm5vZGUtY29udGVudC1jb250YWluZXIgPiB1bDpsYXN0LWNoaWxkID4gbGk6bm90KDpsYXN0LWNoaWxkKTpiZWZvcmUge1xuICAgICAgaGVpZ2h0OiAzMHB4OyB9XG4gICAgLnRyZWUtbWVudSA+IHVsID4gbGkgPiAubm9kZS1jb250ZW50LWNvbnRhaW5lciA+IHVsID4gbGkgLm5vZGUtY29udGVudC1jb250YWluZXIgPiB1bDpsYXN0LWNoaWxkID4gbGk6YmVmb3JlIHtcbiAgICAgIGhlaWdodDogMTdweDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAudHJlZS1tZW51ID4gdWwgPiBsaSA+IC5ub2RlLWNvbnRlbnQtY29udGFpbmVyID4gdWwgPiBsaSAubm9kZS1jb250ZW50LWNvbnRhaW5lciA+IHVsOmxhc3QtY2hpbGQgPiBsaTpiZWZvcmUge1xuICAgICAgICAgIGhlaWdodDogMThweDsgfSB9XG4gICAgLnRyZWUtbWVudSA+IHVsID4gbGkgPiAubm9kZS1jb250ZW50LWNvbnRhaW5lciA+IHVsID4gbGkgLm5vZGUtY29udGVudC1jb250YWluZXIgPiB1bCA+IGxpIHtcbiAgICAgIHBhZGRpbmc6IDAgMCAwIDI1cHg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLnRyZWUtbWVudSA+IHVsID4gbGkgPiAubm9kZS1jb250ZW50LWNvbnRhaW5lciA+IHVsID4gbGkgLm5vZGUtY29udGVudC1jb250YWluZXIgPiB1bCA+IGxpIHtcbiAgICAgICAgICBwYWRkaW5nOiAwIDAgMCA0NXB4OyB9IH1cbiAgICAgIC50cmVlLW1lbnUgPiB1bCA+IGxpID4gLm5vZGUtY29udGVudC1jb250YWluZXIgPiB1bCA+IGxpIC5ub2RlLWNvbnRlbnQtY29udGFpbmVyID4gdWwgPiBsaTpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICB3aWR0aDogMnB4O1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDExLjVweDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cbiAgICAgIC50cmVlLW1lbnUgPiB1bCA+IGxpID4gLm5vZGUtY29udGVudC1jb250YWluZXIgPiB1bCA+IGxpIC5ub2RlLWNvbnRlbnQtY29udGFpbmVyID4gdWwgPiBsaTphZnRlciB7XG4gICAgICAgIHRvcDogMjIuNXB4O1xuICAgICAgICBsZWZ0OiAzNi41cHg7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAgIC50cmVlLW1lbnUgPiB1bCA+IGxpID4gLm5vZGUtY29udGVudC1jb250YWluZXIgPiB1bCA+IGxpIC5ub2RlLWNvbnRlbnQtY29udGFpbmVyID4gdWwgPiBsaTphZnRlciB7XG4gICAgICAgICAgICB0b3A6IDMyLjVweDtcbiAgICAgICAgICAgIGxlZnQ6IDU2LjVweDsgfSB9XG4gICAgICAudHJlZS1tZW51ID4gdWwgPiBsaSA+IC5ub2RlLWNvbnRlbnQtY29udGFpbmVyID4gdWwgPiBsaSAubm9kZS1jb250ZW50LWNvbnRhaW5lciA+IHVsID4gbGkuYWN0aXZlOm5vdCg6bGFzdC1jaGlsZCk6YmVmb3JlIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlOyB9XG4gICAgICAudHJlZS1tZW51ID4gdWwgPiBsaSA+IC5ub2RlLWNvbnRlbnQtY29udGFpbmVyID4gdWwgPiBsaSAubm9kZS1jb250ZW50LWNvbnRhaW5lciA+IHVsID4gbGkgbGFiZWwgLmxhYmVsIHtcbiAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgICBmb250LXNpemU6IDFyZW07IH1cbiAgICAgIC50cmVlLW1lbnUgPiB1bCA+IGxpID4gLm5vZGUtY29udGVudC1jb250YWluZXIgPiB1bCA+IGxpIC5ub2RlLWNvbnRlbnQtY29udGFpbmVyID4gdWwgPiBsaSA+IC50cmVlLWFkZGl0aW9uYWwtaW5mb3JtYXRpb24tY29udGFpbmVyOmJlZm9yZSB7XG4gICAgICAgIGxlZnQ6IC0zMy41cHg7IH1cbiAgLnRyZWUtbWVudSA+IHVsID4gbGkgPiAubm9kZS1jb250ZW50LWNvbnRhaW5lciA+IHVsIC50cmVlLW1lbnUtcGFyZW50LmFjdGl2ZTphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICB3aWR0aDogMnB4O1xuICAgIGhlaWdodDogMThweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxuICAudHJlZS1tZW51ID4gdWwgdWwgLnRyZWUtbWVudS1wYXJlbnQgPiAubm9kZS1jb250ZW50LWNvbnRhaW5lciA+IC50cmVlLWFkZGl0aW9uYWwtaW5mb3JtYXRpb24tY29udGFpbmVyOmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgd2lkdGg6IDJweDtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSArIDI1cHgpO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC0yNXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cbiAgLnRyZWUtbWVudSA+IHVsIHVsIC50cmVlLWFkZGl0aW9uYWwtaW5mb3JtYXRpb24tY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDI1cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAudHJlZS1tZW51ID4gdWwgdWwgLnRyZWUtYWRkaXRpb25hbC1pbmZvcm1hdGlvbi1jb250YWluZXIge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDQ1cHg7IH0gfVxuICAudHJlZS1tZW51ID4gdWwgdWwgdWwgbGkgbGFiZWw6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHdpZHRoOiAzMi41cHg7XG4gICAgaGVpZ2h0OiAycHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTUuNXB4O1xuICAgIGxlZnQ6IDEyLjVweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XG5cbi50cmVlLW1lbnUuYXNzZXRzIHtcbiAgbWFyZ2luLWJvdHRvbTogNTBweDsgfVxuICAudHJlZS1tZW51LmFzc2V0cyA+IHVsIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDYwNTJmOyB9XG4gICAgLnRyZWUtbWVudS5hc3NldHMgPiB1bCA+IGxpID4gbGFiZWwge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzA2MDUyZjsgfVxuXG4udHJlZS1tZW51IC5hdHRhY2htZW50cy1jb250YWluZXIgdWwge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG5cbi50cmVlLW1lbnUgLmF0dGFjaG1lbnRzLWNvbnRhaW5lciAuYXR0YWNobWVudCB7XG4gIHBhZGRpbmc6IDA7IH1cbiAgLnRyZWUtbWVudSAuYXR0YWNobWVudHMtY29udGFpbmVyIC5hdHRhY2htZW50OmJlZm9yZSB7XG4gICAgd2lkdGg6IDMwcHg7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogMjBweDsgfVxuXG4udHJlZS1tZW51IC5hbGVydC1ub2RlID4gbGFiZWw6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2IyMGMwYztcbiAgY29sb3I6ICNmZmZmZmY7IH1cblxuLnRyZWUtbWVudSAuYWxlcnQtbm9kZSAubm9kZS1jb250ZW50LWNvbnRhaW5lciA+IC5hbGVydC1jb250YWluZXIgLnRyZWUtYWRkaXRpb25hbC1pbmZvcm1hdGlvbi1iYWNrZ3JvdW5kIHtcbiAgYm9yZGVyLWNvbG9yOiAjYjIwYzBjOyB9XG5cbi50cmVlLW1lbnUgLmFsZXJ0LW5vZGUgLm5vZGUtY29udGVudC1jb250YWluZXIgPiAuYWxlcnQtY29udGFpbmVyIC5hbGVydC12YWx1ZSAudmFsdWUsIC50cmVlLW1lbnUgLmFsZXJ0LW5vZGUgLm5vZGUtY29udGVudC1jb250YWluZXIgPiAuYWxlcnQtY29udGFpbmVyIC5hbGVydC12YWx1ZSAubGFiZWwge1xuICBjb2xvcjogI2IyMGMwYztcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogNzAwOyB9XG5cbi50cmVlLW1lbnUgLmFsZXJ0LW5vZGUgLm5vZGUtY29udGVudC1jb250YWluZXIgPiAuYWxlcnQtY29udGFpbmVyIC5hbGVydC12YWx1ZSAudmFsdWUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLnRyZWUtbWVudSAuYWxlcnQtbm9kZSAubm9kZS1jb250ZW50LWNvbnRhaW5lciA+IC5hbGVydC1jb250YWluZXIgLmFsZXJ0LXZhbHVlIC52YWx1ZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi74GxXCI7XG4gICAgd2lkdGg6IDMwcHg7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgIGNvbG9yOiAjYjIwYzBjO1xuICAgIGZvbnQtc2l6ZTogMjBweDsgfVxuXG4udHJlZS1hZGRpdGlvbmFsLWluZm9ybWF0aW9uLWNvbnRhaW5lciB7XG4gIG1heC13aWR0aDogNzAwcHg7XG4gIHBhZGRpbmc6IDEwcHggMDsgfVxuICAudHJlZS1hZGRpdGlvbmFsLWluZm9ybWF0aW9uLWNvbnRhaW5lciAuYWRkaXRpb25hbC1pbmZvcm1hdGlvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgLnRyZWUtYWRkaXRpb25hbC1pbmZvcm1hdGlvbi1jb250YWluZXIgLmFkZGl0aW9uYWwtaW5mb3JtYXRpb246bm90KDpmaXJzdC1vZi10eXBlKTpub3QoOmxhc3Qtb2YtdHlwZSkge1xuICAgICAgbWFyZ2luOiAxMHB4IDA7IH1cbiAgICAudHJlZS1hZGRpdGlvbmFsLWluZm9ybWF0aW9uLWNvbnRhaW5lciAuYWRkaXRpb25hbC1pbmZvcm1hdGlvbjpmaXJzdC1vZi10eXBlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cbiAgICAudHJlZS1hZGRpdGlvbmFsLWluZm9ybWF0aW9uLWNvbnRhaW5lciAuYWRkaXRpb25hbC1pbmZvcm1hdGlvbjpsYXN0LW9mLXR5cGUge1xuICAgICAgbWFyZ2luLXRvcDogMTBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC50cmVlLWFkZGl0aW9uYWwtaW5mb3JtYXRpb24tY29udGFpbmVyIC5hZGRpdGlvbmFsLWluZm9ybWF0aW9uIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfSB9XG4gICAgLnRyZWUtYWRkaXRpb25hbC1pbmZvcm1hdGlvbi1jb250YWluZXIgLmFkZGl0aW9uYWwtaW5mb3JtYXRpb24gc3BhbiB7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gIC50cmVlLWFkZGl0aW9uYWwtaW5mb3JtYXRpb24tY29udGFpbmVyIC5sYWJlbCB7XG4gICAgbWF4LXdpZHRoOiAyMjVweDtcbiAgICBmbGV4LWdyb3c6IDE7IH1cblxuLnRyZWUtYWRkaXRpb25hbC1pbmZvcm1hdGlvbi1iYWNrZ3JvdW5kIHtcbiAgcGFkZGluZzogMTBweDtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGJveC1zaGFkb3c6IDBweCAycHggNHB4IDFweCByZ2JhKDEyLCAxMiwgMTMsIDAuMyk7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC50cmVlLWFkZGl0aW9uYWwtaW5mb3JtYXRpb24tYmFja2dyb3VuZCB7XG4gICAgICBwYWRkaW5nOiAzMHB4IDIycHg7IH0gfVxuXG4udHJlZS1tZW51LWhlYWRlciB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBwYWRkaW5nOiAxNXB4IDAgMjBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLnRyZWUtbWVudS1oZWFkZXIge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAudHJlZS1tZW51LWhlYWRlciAudHJlZS1tZW51LWNvbnRyb2xzIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9IH1cbiAgLnRyZWUtbWVudS1oZWFkZXIgLnRyZWUtbWVudS1pbmZvcm1hdGlvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmc6IDEwcHggMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC50cmVlLW1lbnUtaGVhZGVyIC50cmVlLW1lbnUtaW5mb3JtYXRpb24ge1xuICAgICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgLnRyZWUtbWVudS1oZWFkZXIgLnRyZWUtaW5mb3JtYXRpb24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAjMDYwNTJmOyB9XG4gICAgLnRyZWUtbWVudS1oZWFkZXIgLnRyZWUtaW5mb3JtYXRpb24uYWxlcnQge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICAgIC50cmVlLW1lbnUtaGVhZGVyIC50cmVlLWluZm9ybWF0aW9uLmFsZXJ0OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICB3aWR0aDogMTBweDtcbiAgICAgICAgaGVpZ2h0OiAxMHB4O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbjogMCAxMHB4IDAgNXB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjIwYzBjO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAyNXB4OyB9XG5cbi50cmVlLW1lbnUtZXhwYW5kLXRvZ2dsZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogLjgxMjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGNvbG9yOiAjMDYwNTJmOyB9XG4gIC50cmVlLW1lbnUtZXhwYW5kLXRvZ2dsZTphZnRlciB7XG4gICAgY29udGVudDogXCLuoIJcIjtcbiAgICB3aWR0aDogMThweDtcbiAgICBoZWlnaHQ6IDE4cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjMDYwNTJmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgY29sb3I6ICMwNjA1MmY7XG4gICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG8tZGptaWxlc1wiO1xuICAgIGZvbnQtc2l6ZTogNHB4OyB9XG4gIC50cmVlLW1lbnUtZXhwYW5kLXRvZ2dsZS5hY3RpdmU6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwi7qCDXCI7IH1cblxuLypcclxuLS0tLS0gUmV2aWV3cyAtLS0tLSBcclxuLSBIYW5kbGVzIGludGVyZmFjaW5nIHdpdGggdGhpcmQtcGFydHkgcmV2aWV3IGFwaSdzIGxpa2UgZmVlZm8uXHJcbiovXG4ucmF0aW5nLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgLnJhdGluZy1jb250YWluZXIgLnJldmlldy1zdGFycyB7XG4gICAgbWFyZ2luOiAwIDEwcHggMDsgfVxuICAgIC5yYXRpbmctY29udGFpbmVyIC5yZXZpZXctc3RhcnMgbGk6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDVweDsgfVxuICAucmF0aW5nLWNvbnRhaW5lciAuc3Rhci1mdWxsLCAucmF0aW5nLWNvbnRhaW5lciBbY2xhc3MqPXJhdGluZy1pY29uXSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAgIC5yYXRpbmctY29udGFpbmVyIC5zdGFyLWZ1bGw6YmVmb3JlLCAucmF0aW5nLWNvbnRhaW5lciBbY2xhc3MqPXJhdGluZy1pY29uXTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgIVcIjtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgY29sb3I6ICNlNWI3MDE7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAucHJvZHVjdC1yZXZpZXdzLWNvbnRhaW5lciB7XG4gICAgcGFkZGluZzogMCAxNXB4OyB9IH1cblxuLnByb2R1Y3QtcmV2aWV3cy1jb250YWluZXIgdWwge1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG4gIC5wcm9kdWN0LXJldmlld3MtY29udGFpbmVyIHVsIGxpIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgcGFkZGluZzogMTVweCAwO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGFkYWRhOyB9XG5cbi5wcm9kdWN0LXJldmlld3MtY29udGFpbmVyIC5yZXZpZXctZGV0YWlscy1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cblxuLnByb2R1Y3QtcmV2aWV3cy1jb250YWluZXIgLmRpc3BsYXktbmFtZS1jb250YWluZXIge1xuICBjb2xvcjogIzc3Nzc3NztcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICAucHJvZHVjdC1yZXZpZXdzLWNvbnRhaW5lciAuZGlzcGxheS1uYW1lLWNvbnRhaW5lciArIC5sYXN0LXVwZGF0ZWQtY29udGFpbmVyOmJlZm9yZSB7XG4gICAgY29udGVudDogJy0nO1xuICAgIG1hcmdpbjogMCA1cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTsgfVxuXG4ucHJvZHVjdC1yZXZpZXdzLWNvbnRhaW5lciAuZGlzcGxheS1sb2NhdGlvbi1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cblxuLnByb2R1Y3QtcmV2aWV3cy1jb250YWluZXIgLmxhc3QtdXBkYXRlZC1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBjb2xvcjogIzg4ODg4ODtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuXG4ucHJvZHVjdC1yZXZpZXdzLWNvbnRhaW5lciAubGlzdC1jb3VudC1jb250YWluZXIge1xuICBjb2xvcjogIzg4ODg4ODsgfVxuICAucHJvZHVjdC1yZXZpZXdzLWNvbnRhaW5lciAubGlzdC1jb3VudC1jb250YWluZXIgLmN1cnJlbnQtc2hvd2luZy1jb3VudCB7XG4gICAgY29sb3I6ICM3Nzc3Nzc7IH1cblxuLnByb2R1Y3QtcmV2aWV3cy1jb250YWluZXIgLnJldmlld3MtY29udGFpbmVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuXG4ucHJvZHVjdC1yZXZpZXdzLWNvbnRhaW5lciAucmV2aWV3cy1wYWdlci1jb250YWluZXIgKyAucmV2aWV3cy1wcm9kdWN0LWZvb3RlciB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZGFkYWRhOyB9XG5cbi5wcm9kdWN0LXJldmlld3MtY29udGFpbmVyIC5yZXZpZXdzLXByb2R1Y3QtZm9vdGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWFyZ2luLXRvcDogMTBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLnByb2R1Y3QtcmV2aWV3cy1jb250YWluZXIgLnJldmlld3MtcHJvZHVjdC1mb290ZXIge1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH0gfVxuICAucHJvZHVjdC1yZXZpZXdzLWNvbnRhaW5lciAucmV2aWV3cy1wcm9kdWN0LWZvb3RlciAuc2VydmljZS1wcm92aWRlci1sb2dvIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDIwcHggMDtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjsgfVxuICAucHJvZHVjdC1yZXZpZXdzLWNvbnRhaW5lciAucmV2aWV3cy1wcm9kdWN0LWZvb3RlciAuZmVlZm8tbG9nbyB7XG4gICAgd2lkdGg6IDEwMHB4O1xuICAgIGhlaWdodDogMjVweDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvdGVtcGxhdGUvY29udGVudC9kZXZlbG9wbWVudC9pbWFnZXMvaWNvbnMvZmVlZm8tbG9nby5wbmdcIik7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5wcm9kdWN0LXJldmlld3MtY29udGFpbmVyIC5yZXZpZXdzLXByb2R1Y3QtZm9vdGVyIC5yZXZpZXdzLXByb2R1Y3QtcmV2aWV3LWFsbC1jb250YWluZXIge1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87IH0gfVxuXG4ucmV2aWV3LXNvY2lhbC1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5yZXZpZXctc29jaWFsLWNvbnRhaW5lciAuaGVscGZ1bC12b3Rlcy1jb250YWluZXIgKyAucmV2ZWFsLXNvY2lhbC1pY29ucy1jb250YWluZXIge1xuICAgIG1hcmdpbi1sZWZ0OiAxMHB4OyB9XG5cbi5oZWxwZnVsLXZvdGVzLWNvbnRhaW5lciB7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGNvbG9yOiAjODg4ODg4OyB9XG4gIC5oZWxwZnVsLXZvdGVzLWNvbnRhaW5lciAuaGVscGZ1bC12b3Rlcy1kaXNwbGF5OmJlZm9yZSB7XG4gICAgY29udGVudDogXCLvhaRcIjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgZm9udC1zaXplOiAxMXB4OyB9XG5cbi8qXHJcbi0tLS0tIFBhZ2UgU2VjdGlvbiBDb2xvdXJzIC0tLS0tXHJcblRoZSBwdXJwb3NlIG9mIHRoaXMgaXMgaXMgdG8gYWRkIGJhY2tncm91bmQtY29sb3VycyB0byBzcGVjaWZpYyBzZWN0aW9ucyBvbiBzcGVjaWZpYyBwYWdlcyBhY3Jvc3MgZXhwcmVzcyB1c2luZyB0aGUgYm9keSBpZCwgc28gYSBwb3RlbnRpYWwgY29uZmlnIGNvdWxkIGxvb2sgbGlrZSB0aGlzOlxyXG5cclxuaGVhZGVyLXVzcC1iYXI6IChcclxuICAgIGJhY2tncm91bmQtY29sb3VyOiAkY29sb3VyMy0xLFxyXG4gICAgcGFnZXM6IChcImhvbWVwYWdlXCIpXHJcbilcclxuXHJcblRoZSB0b3AgbGV2ZWwgbWFwIGtleSBpcyB0aGUgY2xhc3Mgb2YgdGhlIGVsZW1lbnQgdGhhdCB5b3Ugd2FudCB0byBlZmZlY3QgdGhlbiBpbnNpZGUgb2YgdGhhdCBpcyB0aGUgY29uZmlndXJhdGlvbiBpLmUgYmFja2dyb3VuZCBjb2xvdXIgKyB3aGljaCBwYWdlcyB0byBhcHBseSB0aGlzIHRvIHdoaWNoIGlzIGEgbGlzdCBvZiBib2R5IGlkJ3MuXHJcbiovXG4vKlxyXG5cclxuLS0tLSBTdGFyIFJhdGluZ3MgLS0tLSBcclxuSGFuZGxlcyBzdGFyIHJhdGluZ3MgZm9yIHByb2R1Y3RzLCB0aGlzIHN1cHBvcnRzIHBlcnNlbnRhZ2UgYmFzZWQgcmF0aW5nLCBoZXJlIGlzIGFuIG92ZXJ2aWV3IG9mIHdoYXQgdGhpcyB3b3VsZCBsb29rIGxpa2UgaHR0cHM6Ly9jb2RlcGVuLmlvL2ZpbGNwL3Blbi9RdlpWT2cgLlxyXG5cclxuKi9cbi5zdGFyLXJhdGluZ3MtY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kOyB9XG4gIC5zdGFyLXJhdGluZ3MtY29udGFpbmVyIFtjbGFzcyo9cmF0aW5nLWljb24tXTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi74CFXCI7XG4gICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgZm9udC1zaXplOiAxN3B4OyB9XG4gIC5zdGFyLXJhdGluZ3MtY29udGFpbmVyIC5iYWNrZ3JvdW5kLXN0YXJzIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuc3Rhci1yYXRpbmdzLWNvbnRhaW5lciAuYmFja2dyb3VuZC1zdGFycyBbY2xhc3MqPXJhdGluZy1pY29uLV06YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjZTRlNGU0OyB9XG4gIC5zdGFyLXJhdGluZ3MtY29udGFpbmVyIC5mb3JlZ3JvdW5kLXN0YXJzIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgIC5zdGFyLXJhdGluZ3MtY29udGFpbmVyIC5mb3JlZ3JvdW5kLXN0YXJzIFtjbGFzcyo9cmF0aW5nLWljb24tXTpiZWZvcmUge1xuICAgICAgY29sb3I6ICNlNWI3MDE7IH1cbiAgLnN0YXItcmF0aW5ncy1jb250YWluZXIgLnJhdGluZy1zdW1tYXJ5LWRpc3BsYXkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiA1cHg7XG4gICAgY29sb3I6ICMwNjA1MmY7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07IH1cblxuLnJhdGluZy1icmVha2Rvd24tbGlzdC1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7IH1cbiAgLnJhdGluZy1icmVha2Rvd24tbGlzdC1jb250YWluZXIgLmJyZWFrZG93bi1jb250YWluZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1hcmdpbjogMDsgfVxuICAucmF0aW5nLWJyZWFrZG93bi1saXN0LWNvbnRhaW5lciAuYnJlYWtkb3duLXN0YXJzLWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDgwcHg7IH1cbiAgICAucmF0aW5nLWJyZWFrZG93bi1saXN0LWNvbnRhaW5lciAuYnJlYWtkb3duLXN0YXJzLWNvbnRhaW5lciBbY2xhc3MqPXJhdGluZy1pY29uLV06YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjZTViNzAxO1xuICAgICAgZm9udC1zaXplOiAxM3B4OyB9XG4gIC5yYXRpbmctYnJlYWtkb3duLWxpc3QtY29udGFpbmVyIC5icmVha2Rvd24tcGVyY2VudGFnZS1iYXItY29udGFpbmVyIHtcbiAgICBmbGV4LWdyb3c6IDE7IH1cblxuLmJyZWFrZG93bi1wZXJjZW50YWdlLWJhci1jb250YWluZXIge1xuICBtYXJnaW46IDAgMTBweDsgfVxuICAuYnJlYWtkb3duLXBlcmNlbnRhZ2UtYmFyLWNvbnRhaW5lciAucGVyY2VudGFnZS1iYXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTBweDtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuYnJlYWtkb3duLXBlcmNlbnRhZ2UtYmFyLWNvbnRhaW5lciAuYmFja2dyb3VuZC1iYXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5icmVha2Rvd24tcGVyY2VudGFnZS1iYXItY29udGFpbmVyIC5iYWNrZ3JvdW5kLWJhciAucGVyY2VudGFnZS1iYXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2U0ZTRlNDsgfVxuICAuYnJlYWtkb3duLXBlcmNlbnRhZ2UtYmFyLWNvbnRhaW5lciAuZm9yZWdyb3VuZC1iYXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDsgfVxuICAgIC5icmVha2Rvd24tcGVyY2VudGFnZS1iYXItY29udGFpbmVyIC5mb3JlZ3JvdW5kLWJhciAucGVyY2VudGFnZS1iYXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2U1YjcwMTsgfVxuXG4uYnJlYWtkb3duLWNvdW50LWNvbnRhaW5lciB7XG4gIHdpZHRoOiAzMHB4OyB9XG5cbi50b29sdGlwLWNvbnRlbnQtY29udGFpbmVyIC5icmVha2Rvd24tYnV0dG9uLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtYXJnaW46IDIwcHggMCAwOyB9XG4gIC50b29sdGlwLWNvbnRlbnQtY29udGFpbmVyIC5icmVha2Rvd24tYnV0dG9uLWNvbnRhaW5lciBhIHtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgIC50b29sdGlwLWNvbnRlbnQtY29udGFpbmVyIC5icmVha2Rvd24tYnV0dG9uLWNvbnRhaW5lciBhOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjYWU5NDYxOyB9XG4gICAgLnRvb2x0aXAtY29udGVudC1jb250YWluZXIgLmJyZWFrZG93bi1idXR0b24tY29udGFpbmVyIGE6YWN0aXZlIHtcbiAgICAgIGNvbG9yOiAjMDYwNTJmOyB9XG5cbi8qXHJcbi0tLS0tIEJhcmNvZGUgU2Nhbm5lciAtLS0tLS0gXHJcblxyXG4qL1xuLmJhcmNvZGUtc2Nhbm5lci10b2dnbGUtYnV0dG9uIHtcbiAgLS1jb21wb25lbnQtc3BlY2lmYy1zdGVwLWhlaWdodDogMTVweDtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBmbGV4LWdyb3c6IDE7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLXNtYWxsLW1hcmdpbiwgMCk7XG4gIHBhZGRpbmc6IHZhcigtLWNvbW1vbi1idXR0b24tcGFkZGluZywgMTBweCAxNXB4KTtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGJvcmRlci13aWR0aDogMnB4O1xuICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxldHRlci1zcGFjaW5nOiAwLjZweDtcbiAgd29yZC1zcGFjaW5nOiAycHg7XG4gIGJvcmRlci1jb2xvcjogI2RhZGFkYTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcbiAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiBhbGwgMC44cztcbiAgLypcclxuICAgICAgICAtLS0gSWNvbiBjb25maWd1cmF0aW9uIC0tLVxyXG4gICAgICAgIC0gJGljcG9zaXRpb24gPT4gQmVmb3JlIG9yIGFmdGVyIHRleHRcclxuICAgICAgICAtIG1hcmdpbiA9PiBpY29uIG1hcmdpblxyXG4gICAgICAgIC0gY29sb3VyID0+IGljb24gY29sb3VyIHN0YXRlcyAoIGRlZmF1bHQsIGhvdmVyICYgYWN0aXZlIClcclxuICAgICAgICAtIHNpemUgPT4gaWNvbiBzaXplLlxyXG4gICAgICAgIC0gY29udGVudCA9PiB0aGUgZm9udCBpY29uIGl0c2VsZiwgbm9ybWFsbHkgc3RvcmVkIGluICRzaXRlLWljb25zXHJcbiAgICAgICAgLSBmb250LWZhbWlseSA9PiB0aGUgZm9udCBmYW1pbHkgdGhhdCB0aGUgaWNvbiBiZWxvbmdzIHRvIGZvbnQgYXdlc29tZSBvciBmb250ZWxsby5cclxuICAgICAgICAqLyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuYmFyY29kZS1zY2FubmVyLXRvZ2dsZS1idXR0b24ge1xuICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLWxhcmdlLW1hcmdpbiwgMCk7IH0gfVxuICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgIC5iYXJjb2RlLXNjYW5uZXItdG9nZ2xlLWJ1dHRvbjpob3ZlciwgLmJhcmNvZGUtc2Nhbm5lci10b2dnbGUtYnV0dG9uLmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2FlOTQ2MTtcbiAgICAgIGJvcmRlci1jb2xvcjogI2FlOTQ2MTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgICAuYmFyY29kZS1zY2FubmVyLXRvZ2dsZS1idXR0b246aG92ZXI6YWZ0ZXIsIC5iYXJjb2RlLXNjYW5uZXItdG9nZ2xlLWJ1dHRvbi5ob3ZlcjphZnRlciB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gICAgICAuYmFyY29kZS1zY2FubmVyLXRvZ2dsZS1idXR0b246aG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLmJhcmNvZGUtc2Nhbm5lci10b2dnbGUtYnV0dG9uLmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH0gfVxuICAuYmFyY29kZS1zY2FubmVyLXRvZ2dsZS1idXR0b246YWN0aXZlLCAuYmFyY29kZS1zY2FubmVyLXRvZ2dsZS1idXR0b24uYWN0aXZlIHtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDYwNTJmO1xuICAgIGJvcmRlci1jb2xvcjogIzA2MDUyZjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgIC5iYXJjb2RlLXNjYW5uZXItdG9nZ2xlLWJ1dHRvbjphY3RpdmU6YWZ0ZXIsIC5iYXJjb2RlLXNjYW5uZXItdG9nZ2xlLWJ1dHRvbi5hY3RpdmU6YWZ0ZXIge1xuICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLmJhcmNvZGUtc2Nhbm5lci10b2dnbGUtYnV0dG9uOmRpc2FibGVkLCAuYmFyY29kZS1zY2FubmVyLXRvZ2dsZS1idXR0b24uZGlzYWJsZWQsIC5iYXJjb2RlLXNjYW5uZXItdG9nZ2xlLWJ1dHRvbltkaXNhYmxlZF0ge1xuICAgIGNvbG9yOiAjOTI5MjkyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwMCwgMjAwLCAyMDAsIDAuNyk7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgIC5iYXJjb2RlLXNjYW5uZXItdG9nZ2xlLWJ1dHRvbjpkaXNhYmxlZDphZnRlciwgLmJhcmNvZGUtc2Nhbm5lci10b2dnbGUtYnV0dG9uLmRpc2FibGVkOmFmdGVyLCAuYmFyY29kZS1zY2FubmVyLXRvZ2dsZS1idXR0b25bZGlzYWJsZWRdOmFmdGVyIHtcbiAgICAgIGNvbG9yOiAjOTI5MjkyOyB9XG4gIC5iYXJjb2RlLXNjYW5uZXItdG9nZ2xlLWJ1dHRvbjpkaXNhYmxlZDpob3ZlciwgLmJhcmNvZGUtc2Nhbm5lci10b2dnbGUtYnV0dG9uLmRpc2FibGVkOmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMjAwLCAyMDAsIDIwMCwgMC43KTsgfVxuICAuYmFyY29kZS1zY2FubmVyLXRvZ2dsZS1idXR0b246Zm9jdXMtdmlzaWJsZSB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpOyB9XG4gIC5iYXJjb2RlLXNjYW5uZXItdG9nZ2xlLWJ1dHRvbjphZnRlciB7XG4gICAgY29udGVudDogXCLuoY1cIjtcbiAgICBtYXJnaW46IDAgMCAwIDE1cHg7XG4gICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG9cIjtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBjb2xvcjogIzA2MDUyZjtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gIC5iYXJjb2RlLXNjYW5uZXItdG9nZ2xlLWJ1dHRvbiAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cblxuLmJhcmNvZGUtc2Nhbm5lci10b2dnbGUtYnV0dG9uLWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmJhcmNvZGUtc2Nhbm5lci10b2dnbGUtYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgICB3aWR0aDogZml0LWNvbnRlbnQ7IH0gfVxuXG4uYmFyY29kZS1zY2FubmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5iYXJjb2RlLXNjYW5uZXIgdmlkZW8ge1xuICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAuYmFyY29kZS1zY2FubmVyIGNhbnZhcyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDsgfVxuICAuYmFyY29kZS1zY2FubmVyLmlzLWluYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbi5zY2FubmVyLWNhbWVyYS1zZWxlY3Rvci1jb250YWluZXIge1xuICBtYXgtd2lkdGg6IDQ5MHB4O1xuICBtYXJnaW46IDAgYXV0byAzMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuc2Nhbm5lci1jYW1lcmEtc2VsZWN0b3ItY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbjogMCBhdXRvIDIwcHg7IH0gfVxuICAuc2Nhbm5lci1jYW1lcmEtc2VsZWN0b3ItY29udGFpbmVyIC5sYWJlbCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwIDAgMTBweCAwO1xuICAgIGNvbG9yOiAjMDYwNTJmO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnNjYW5uZXItY2FtZXJhLXNlbGVjdG9yLWNvbnRhaW5lciAubGFiZWwge1xuICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICAgIG1hcmdpbjogMCAyMHB4IDAgMDsgfSB9XG4gIC5zY2FubmVyLWNhbWVyYS1zZWxlY3Rvci1jb250YWluZXIgLmNvbnRyb2wuc2VsZWN0IC5jb250cm9sLXNlbGVjdC1jb250YWluZXIge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA0MXB4KTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5zY2FubmVyLWNhbWVyYS1zZWxlY3Rvci1jb250YWluZXIgLmNvbnRyb2wuc2VsZWN0IC5jb250cm9sLXNlbGVjdC1jb250YWluZXIge1xuICAgICAgICB3aWR0aDogMzMwcHg7IH0gfVxuICAuc2Nhbm5lci1jYW1lcmEtc2VsZWN0b3ItY29udGFpbmVyIC50b29sdGlwLWNvbnRhaW5lciB7XG4gICAgbWFyZ2luLWxlZnQ6IDE1cHg7IH1cblxuLmJhcmNvZGUtc2Nhbm5lci1yZXNwb25zZS1jb250YWluZXIge1xuICBtYXJnaW46IDA7IH1cblxuLypcclxuLS0tLS0gUGFnZSBCYWNrZ3JvdW5kIEltYWdlIC0tLS0tXHJcblRoZSBwdXJwb3NlIG9mIHRoaXMgaXMgaXMgdG8gYWRkIGJhY2tncm91bmQgaW1hZ2UocykgdG8gc3BlY2lmaWMgcGFnZSB0eXBlcyB1c2luZyB0aGUgYm9keSBpZCwgcG9zc2libGUgY29uZmlndXJhdGlvbjpcclxuXHJcbmhvbWVwYWdlOiAoXHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlID0+IFsgUkVRVUlSRUQgXSBUaGUgdXJsIG9mIHRoZSBpbWFnZS5cclxuICAgIHJlcGVhdC1iYWNrZ3JvdW5kID0+IFsgT1BUSU9OQUwgXSBUaGlzIGRlZmF1bHRzIHRvIG5vLXJlcGVhdC5cclxuICAgIGJhY2tncm91bmQtc2NhbGUgPT4gWyBPUFRJT05BTCBdIFRoaXMgZGVmYXVsdHMgdG8gY292ZXIuXHJcbiAgICBiYWNrZ3JvdW5kLWF0dGFjaG1lbnRzID0+IFsgT1BUSU9OQUwgXVxyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbiA9PiBbIE9QVElPTkFMIF1cclxuKVxyXG5cclxuKi9cbi8qXHJcbi0tLS0tIFRhZ3MgLS0tLS1cclxuVXNlZCB0byBkaXNwbGF5IGEgY2F0YWdvcmlzYXRpb24gb2YgZ3JvdXBzIC8ga2V5d29yZHMsIHRoaXMgaWEgcHJpbWFyaWx5IHVzZWQgaW4gdGhlIGNtcyBzeXN0ZW0gY3VycmVudGx5IGZvciBkaXBsc2F5IG5ld3MsIGJsb2dzICYgZXZlbnQncyBhcnRpY2xlcy5cclxuKi9cbi50YWdnaW5nLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgLnRhZ2dpbmctY29udGFpbmVyLmFsaWduLWNlbnRlciB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAudGFnZ2luZy1jb250YWluZXIubGlzdGluZyAudGFnZ2luZy1oZWFkaW5nIHtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07IH1cbiAgLnRhZ2dpbmctY29udGFpbmVyIC50YWdzLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBnYXA6IDEwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAudGFnZ2luZy1jb250YWluZXIgLnRhZ3MtY29udGFpbmVyIHtcbiAgICAgICAgZ2FwOiA1cHggMTBweDsgfSB9XG4gIC50YWdnaW5nLWNvbnRhaW5lciAudGFnZ2luZy1oZWFkZXItY29udGFpbmVyIHtcbiAgICBtYXJnaW46IDVweCAwIDEwcHg7IH1cbiAgLnRhZ2dpbmctY29udGFpbmVyIC50YWdnaW5nLWhlYWRpbmcge1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgY29sb3I6ICMwNjA1MmY7IH1cbiAgLnRhZ2dpbmctY29udGFpbmVyIC50YWctaXRlbSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAgcGFkZGluZzogOHB4IDE4cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2FlYWVhZTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGNvbG9yOiAjMDYwNTJmO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHMsIGJvcmRlci1jb2xvciAwLjhzLCBib3gtc2hhZG93IDAuOHM7IH1cbiAgICAudGFnZ2luZy1jb250YWluZXIgLnRhZy1pdGVtOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjYWU5NDYxO1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJveC1zaGFkb3c6IDBweCAycHggNHB4IDFweCByZ2JhKDEyLCAxMiwgMTMsIDAuMSk7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzLCBib3JkZXItY29sb3IgMC42cywgYm94LXNoYWRvdyAwLjZzOyB9XG4gICAgLnRhZ2dpbmctY29udGFpbmVyIC50YWctaXRlbTphY3RpdmUge1xuICAgICAgY29sb3I6ICM3Nzc3Nzc7IH1cbiAgICAudGFnZ2luZy1jb250YWluZXIgLnRhZy1pdGVtOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgLnRhZ2dpbmctY29udGFpbmVyIC50YWctaXRlbTpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAgIC50YWdnaW5nLWNvbnRhaW5lciAudGFnLWl0ZW0ucmVtb3ZlLWJ1dHRvbjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIu+AjVwiO1xuICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIGNvbG9yOiAjMDYwNTJmO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAgIC50YWdnaW5nLWNvbnRhaW5lciAudGFnLWl0ZW0ucmVtb3ZlLWJ1dHRvbjpob3ZlcjphZnRlciB7XG4gICAgICBjb2xvcjogI2FlOTQ2MTtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgICAudGFnZ2luZy1jb250YWluZXIgLnRhZy1pdGVtLnJlbW92ZS1idXR0b246YWN0aXZlOmFmdGVyIHtcbiAgICAgIGNvbG9yOiAjNzc3Nzc3OyB9XG5cbi8qXHJcbi0tLS0tIEF4aXMgVG9nZ2xlciAtLS0tLVxyXG5CdWlsZCBvbnRvcCBvZiBGb3VuZGF0aW9ucyB0b2dnbGVyIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb24vc2l0ZXMvZG9jcy90b2dnbGVyLmh0bWwsIHdlIG5lZWRlZCB0byBhZGQgaW4gc29tZSBhZGRpdGlvbmFsIGZ1bmN0aW9uYWxpdHkgdG8gYWxsb3cgZm9yIHJlLXRvZ2dsaW5nIGlmIHRoZSB1c2VyIGNsaWNrcyBvdXRzaWRlIG9mIHRoZSBjb250ZW50IGFyZWEuXHJcbiovXG4udG9nZ2xlLWNvbnRlbnQtY29udGFpbmVyLmFjdGl2ZSAudG9nZ2xlLWJhY2tncm91bmQge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHotaW5kZXg6IC0xOyB9XG5cbi8qXHJcbi0tLS0tIFBhZ2UgQmFja2dyb3VuZCBDb2xvdXJzIC0tLS0tXHJcblNpbWlsYXIgdG8gYXhpcy1zZWN0aW9uLWNvbG91cnMgYSBjdXN0b20gY29uZmlnIGlzIHByb3ZpZGUgd2hpY2ggZ2V0cyBsb29wZWQgdGhyb3VnaCBhc3NpZ25pbmcgdGhlIGJhY2tncm91bmQtY29sb3IgcHJvcGVydHkgdG8gdGhlIHJlbGlldmVudCBwYWdlcy5cclxuXHJcbk5PVElDRTogSGFkIHRvIHNldCB0aGUgIWltcG9ydGFudCBmbGFnIG9uIHRoZSBiYWNrZ3JvdW5kLWNvbG9yIHByb3BlcnR5IGR1ZSB0byBmb3VuZGF0aW9uIGVuZm9yaW5nIHRoYXQgdGhlIGJvZHkgYmFja2dyb3VuZCBjb2xvdXIgbXVzdCBiZSBzZXQuXHJcbiovXG4vKlxyXG4tLS0tLSBNdWx0aSBGaWVsZCBMb29rdXAgLS0tLS1cclxuXHJcblByb3ZpZGVzIGFuIGFyZWEgdG8gcGxhY2Ugb3B0aW9ucyAoIGkuZSBhIGZvcm0gaW4gYSBob3Jpem9udGFsIGxheW91dCApIHdoaWNoIHRoZW4gZ2V0cyBmaWxsZWQgaW4gdG8gdXBkYXRlIG11bHRpcGxlIHBvaW50cyBvbiB0aGUgcGFnZS5cclxuXHJcbiovXG4ubXVsdGktZmllbGQtbG9va3VwLnF1aWNrLW9yZGVyIC5tdWx0aS1maWVsZC1vcHRpb25zLWNvbnRhaW5lciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwNjA1MmY7XG4gIHBhZGRpbmc6IDE1cHg7XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubXVsdGktZmllbGQtbG9va3VwLnF1aWNrLW9yZGVyIC5tdWx0aS1maWVsZC1vcHRpb25zLWNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nOiA1MHB4IDglOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5tdWx0aS1maWVsZC1sb29rdXAucXVpY2stb3JkZXIgLm11bHRpLWZpZWxkLW9wdGlvbnMtY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmc6IDUwcHggMTEwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5tdWx0aS1maWVsZC1sb29rdXAucXVpY2stb3JkZXIgLmxvb2t1cC1zZWFyY2gtY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDUwMHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAubXVsdGktZmllbGQtbG9va3VwLnF1aWNrLW9yZGVyIC5hZGQtdG8tYmFza2V0LWNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiAyMDBweDtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbi5tdWx0aS1maWVsZC1sb29rdXAucXVpY2stb3JkZXIgLmJhcmNvZGUtc2Nhbm5lci10cmlnZ2VyLWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLm11bHRpLWZpZWxkLWxvb2t1cC5xdWljay1vcmRlciAuYmFyY29kZS1zY2FubmVyLXRyaWdnZXItY29udGFpbmVyIHtcbiAgICAgIHdpZHRoOiAzMyU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLm11bHRpLWZpZWxkLWxvb2t1cC5xdWljay1vcmRlciAuYmFyY29kZS1zY2FubmVyLXRyaWdnZXItY29udGFpbmVyIHtcbiAgICAgIG1heC13aWR0aDogMTkwcHg7XG4gICAgICB3aWR0aDogYXV0bzsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLm11bHRpLWZpZWxkLWxvb2t1cC5xdWljay1vcmRlciAubG9va3VwLXF1YW50aXR5LXNlbGVjdG9yLWNvbnRhaW5lciB7XG4gICAgZmxleC1ncm93OiAxOyB9IH1cblxuLm11bHRpLWZpZWxkLWxvb2t1cC5xdWljay1vcmRlciAubG9va3VwLXF1YW50aXR5LXNlbGVjdG9yLWNvbnRhaW5lciAuaW5wdXQtbnVtYmVyIHtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuXG4ubXVsdGktZmllbGQtbG9va3VwLnF1aWNrLW9yZGVyIC5sb29rdXAtcXVhbnRpdHktc2VsZWN0b3ItY29udGFpbmVyIC5pbnB1dC1udW1iZXItZGVjcmVtZW50LCAubXVsdGktZmllbGQtbG9va3VwLnF1aWNrLW9yZGVyIC5sb29rdXAtcXVhbnRpdHktc2VsZWN0b3ItY29udGFpbmVyIC5pbnB1dC1udW1iZXItaW5jcmVtZW50IHtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjsgfVxuXG4uaW5wdXQtbnVtYmVyLWRlY3JlbWVudCwgLmlucHV0LW51bWJlci1pbmNyZW1lbnQge1xuICBib3JkZXItY29sb3I6ICNjOGM4Yzg7IH1cblxuLm11bHRpLWZpZWxkLWxvb2t1cC5xdWljay1vcmRlciAuY29udHJvbC5zZWFyY2ggLmlucHV0LXByZWZpeC1pY29uIHtcbiAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgcGFkZGluZy1sZWZ0OiAxMHB4OyB9XG4gIC5tdWx0aS1maWVsZC1sb29rdXAucXVpY2stb3JkZXIgLmNvbnRyb2wuc2VhcmNoIC5pbnB1dC1wcmVmaXgtaWNvbjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiK1wiO1xuICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjsgfVxuXG4uaW5wdXQtcHJlZml4LWljb246YmVmb3JlIHtcbiAgY29sb3I6ICMwNjA1MmY7IH1cblxuLm11bHRpLWZpZWxkLWxvb2t1cCAubXVsdGktZmllbGQtb3B0aW9ucy1jb250YWluZXIge1xuICBtYXJnaW46IDEwcHggMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLm11bHRpLWZpZWxkLWxvb2t1cCAubXVsdGktZmllbGQtb3B0aW9ucy1jb250YWluZXIge1xuICAgICAgbWFyZ2luOiAyMHB4IDAgMTBweDsgfSB9XG4gIC5tdWx0aS1maWVsZC1sb29rdXAgLm11bHRpLWZpZWxkLW9wdGlvbnMtY29udGFpbmVyIGZvcm0ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ2FwOiAxNXB4OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5tdWx0aS1maWVsZC1sb29rdXAgLm11bHRpLWZpZWxkLW9wdGlvbnMtY29udGFpbmVyIGZvcm0ge1xuICAgICAgICBnYXA6IDI1cHg7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5tdWx0aS1maWVsZC1sb29rdXAgLm11bHRpLWZpZWxkLW9wdGlvbnMtY29udGFpbmVyIGZvcm0ge1xuICAgICAgICBnYXA6IDIwcHg7IH0gfVxuICAgIC5tdWx0aS1maWVsZC1sb29rdXAgLm11bHRpLWZpZWxkLW9wdGlvbnMtY29udGFpbmVyIGZvcm0gLmxvb2t1cC1vcHRpb24ubG9va3VwLXNlYXJjaC1jb250YWluZXIge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cblxuLm11bHRpLWZpZWxkLWxvb2t1cCAubG9va3VwLW9wdGlvbiB7XG4gIGRpc3BsYXk6IGZsZXg7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAubXVsdGktZmllbGQtbG9va3VwIC5sb29rdXAtb3B0aW9uLmFkZC10by1iYXNrZXQtY29udGFpbmVyIHtcbiAgICAgIGZsZXgtZ3JvdzogMTsgfSB9XG4gIC5tdWx0aS1maWVsZC1sb29rdXAgLmxvb2t1cC1vcHRpb24gYnV0dG9uIHtcbiAgICBoZWlnaHQ6IDQ1cHg7IH1cbiAgLm11bHRpLWZpZWxkLWxvb2t1cCAubG9va3VwLW9wdGlvbiAuY29udHJvbCB7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5tdWx0aS1maWVsZC1sb29rdXAgLmxvb2t1cC1vcHRpb24gLmNvbnRyb2wgLmNvbnRyb2wtc2VsZWN0LWRyb3Bkb3duIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLm11bHRpLWZpZWxkLWxvb2t1cCAubG9va3VwLW9wdGlvbiAuY29udHJvbCAuZm9ybS1lcnJvciB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5tdWx0aS1maWVsZC1sb29rdXAgLmxvb2t1cC1vcHRpb24gLmNvbnRyb2wgLmNvbnRyb2wtc2VsZWN0LWNvbnRhaW5lciB7XG4gICAgICAgIG1pbi13aWR0aDogdW5zZXQ7IH0gfVxuICAubXVsdGktZmllbGQtbG9va3VwIC5sb29rdXAtb3B0aW9uIC5xdWFudGl0eS1zZWxlY3Rvci1jb250YWluZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9XG5cbi5tdWx0aS1maWVsZC1sb29rdXAgLm11bHRpLWZpZWxkLXJlc3BvbnNlLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cblxuLyohXG4gKiBhbmltYXRlLmNzcyAtIGh0dHBzOi8vYW5pbWF0ZS5zdHlsZS9cbiAqIFZlcnNpb24gLSA0LjEuMVxuICogTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIC0gaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuICpcbiAqIENvcHlyaWdodCAoYykgMjAyMCBBbmltYXRlLmNzc1xuICovXG46cm9vdCB7XG4gIC0tYW5pbWF0ZS1kdXJhdGlvbjogMXM7XG4gIC0tYW5pbWF0ZS1kZWxheTogMXM7XG4gIC0tYW5pbWF0ZS1yZXBlYXQ6IDE7IH1cblxuLmFuaW1hdGVfX2FuaW1hdGVkIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDFzO1xuICBhbmltYXRpb24tZHVyYXRpb246IDFzO1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogdmFyKC0tYW5pbWF0ZS1kdXJhdGlvbik7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogdmFyKC0tYW5pbWF0ZS1kdXJhdGlvbik7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcbiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDsgfVxuXG4uYW5pbWF0ZV9fYW5pbWF0ZWQuYW5pbWF0ZV9faW5maW5pdGUge1xuICAtd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xuICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTsgfVxuXG4uYW5pbWF0ZV9fYW5pbWF0ZWQuYW5pbWF0ZV9fcmVwZWF0LTEge1xuICAtd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDE7XG4gIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDE7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogdmFyKC0tYW5pbWF0ZS1yZXBlYXQpO1xuICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiB2YXIoLS1hbmltYXRlLXJlcGVhdCk7IH1cblxuLmFuaW1hdGVfX2FuaW1hdGVkLmFuaW1hdGVfX3JlcGVhdC0yIHtcbiAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBjYWxjKDEgKiAyKTtcbiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogY2FsYygxICogMik7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogY2FsYyh2YXIoLS1hbmltYXRlLXJlcGVhdCkgKiAyKTtcbiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogY2FsYyh2YXIoLS1hbmltYXRlLXJlcGVhdCkgKiAyKTsgfVxuXG4uYW5pbWF0ZV9fYW5pbWF0ZWQuYW5pbWF0ZV9fcmVwZWF0LTMge1xuICAtd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGNhbGMoMSAqIDMpO1xuICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBjYWxjKDEgKiAzKTtcbiAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBjYWxjKHZhcigtLWFuaW1hdGUtcmVwZWF0KSAqIDMpO1xuICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBjYWxjKHZhcigtLWFuaW1hdGUtcmVwZWF0KSAqIDMpOyB9XG5cbi5hbmltYXRlX19hbmltYXRlZC5hbmltYXRlX19kZWxheS0xcyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAxcztcbiAgYW5pbWF0aW9uLWRlbGF5OiAxcztcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IHZhcigtLWFuaW1hdGUtZGVsYXkpO1xuICBhbmltYXRpb24tZGVsYXk6IHZhcigtLWFuaW1hdGUtZGVsYXkpOyB9XG5cbi5hbmltYXRlX19hbmltYXRlZC5hbmltYXRlX19kZWxheS0ycyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiBjYWxjKDFzICogMik7XG4gIGFuaW1hdGlvbi1kZWxheTogY2FsYygxcyAqIDIpO1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogY2FsYyh2YXIoLS1hbmltYXRlLWRlbGF5KSAqIDIpO1xuICBhbmltYXRpb24tZGVsYXk6IGNhbGModmFyKC0tYW5pbWF0ZS1kZWxheSkgKiAyKTsgfVxuXG4uYW5pbWF0ZV9fYW5pbWF0ZWQuYW5pbWF0ZV9fZGVsYXktM3Mge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogY2FsYygxcyAqIDMpO1xuICBhbmltYXRpb24tZGVsYXk6IGNhbGMoMXMgKiAzKTtcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IGNhbGModmFyKC0tYW5pbWF0ZS1kZWxheSkgKiAzKTtcbiAgYW5pbWF0aW9uLWRlbGF5OiBjYWxjKHZhcigtLWFuaW1hdGUtZGVsYXkpICogMyk7IH1cblxuLmFuaW1hdGVfX2FuaW1hdGVkLmFuaW1hdGVfX2RlbGF5LTRzIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IGNhbGMoMXMgKiA0KTtcbiAgYW5pbWF0aW9uLWRlbGF5OiBjYWxjKDFzICogNCk7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiBjYWxjKHZhcigtLWFuaW1hdGUtZGVsYXkpICogNCk7XG4gIGFuaW1hdGlvbi1kZWxheTogY2FsYyh2YXIoLS1hbmltYXRlLWRlbGF5KSAqIDQpOyB9XG5cbi5hbmltYXRlX19hbmltYXRlZC5hbmltYXRlX19kZWxheS01cyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiBjYWxjKDFzICogNSk7XG4gIGFuaW1hdGlvbi1kZWxheTogY2FsYygxcyAqIDUpO1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogY2FsYyh2YXIoLS1hbmltYXRlLWRlbGF5KSAqIDUpO1xuICBhbmltYXRpb24tZGVsYXk6IGNhbGModmFyKC0tYW5pbWF0ZS1kZWxheSkgKiA1KTsgfVxuXG4uYW5pbWF0ZV9fYW5pbWF0ZWQuYW5pbWF0ZV9fZmFzdGVyIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IGNhbGMoMXMgLyAyKTtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKDFzIC8gMik7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKHZhcigtLWFuaW1hdGUtZHVyYXRpb24pIC8gMik7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYyh2YXIoLS1hbmltYXRlLWR1cmF0aW9uKSAvIDIpOyB9XG5cbi5hbmltYXRlX19hbmltYXRlZC5hbmltYXRlX19mYXN0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IGNhbGMoMXMgKiAwLjgpO1xuICBhbmltYXRpb24tZHVyYXRpb246IGNhbGMoMXMgKiAwLjgpO1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYyh2YXIoLS1hbmltYXRlLWR1cmF0aW9uKSAqIDAuOCk7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYyh2YXIoLS1hbmltYXRlLWR1cmF0aW9uKSAqIDAuOCk7IH1cblxuLmFuaW1hdGVfX2FuaW1hdGVkLmFuaW1hdGVfX3Nsb3cge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYygxcyAqIDIpO1xuICBhbmltYXRpb24tZHVyYXRpb246IGNhbGMoMXMgKiAyKTtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IGNhbGModmFyKC0tYW5pbWF0ZS1kdXJhdGlvbikgKiAyKTtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKHZhcigtLWFuaW1hdGUtZHVyYXRpb24pICogMik7IH1cblxuLmFuaW1hdGVfX2FuaW1hdGVkLmFuaW1hdGVfX3Nsb3dlciB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKDFzICogMyk7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYygxcyAqIDMpO1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYyh2YXIoLS1hbmltYXRlLWR1cmF0aW9uKSAqIDMpO1xuICBhbmltYXRpb24tZHVyYXRpb246IGNhbGModmFyKC0tYW5pbWF0ZS1kdXJhdGlvbikgKiAzKTsgfVxuXG5AbWVkaWEgcHJpbnQsIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgLmFuaW1hdGVfX2FuaW1hdGVkIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMW1zICFpbXBvcnRhbnQ7XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxbXMgIWltcG9ydGFudDtcbiAgICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDFtcyAhaW1wb3J0YW50O1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDFtcyAhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMSAhaW1wb3J0YW50O1xuICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDEgIWltcG9ydGFudDsgfVxuICAuYW5pbWF0ZV9fYW5pbWF0ZWRbY2xhc3MqPSdPdXQnXSB7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbi8qIEF0dGVudGlvbiBzZWVrZXJzICAqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZSB7XG4gIGZyb20sXG4gIDIwJSxcbiAgNTMlLFxuICB0byB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfVxuICA0MCUsXG4gIDQzJSB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUsIDAuODU1LCAwLjA2KTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUsIDAuODU1LCAwLjA2KTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwcHgsIDApIHNjYWxlWSgxLjEpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwcHgsIDApIHNjYWxlWSgxLjEpOyB9XG4gIDcwJSB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUsIDAuODU1LCAwLjA2KTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUsIDAuODU1LCAwLjA2KTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTE1cHgsIDApIHNjYWxlWSgxLjA1KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xNXB4LCAwKSBzY2FsZVkoMS4wNSk7IH1cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApIHNjYWxlWSgwLjk1KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApIHNjYWxlWSgwLjk1KTsgfVxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNHB4LCAwKSBzY2FsZVkoMS4wMik7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNHB4LCAwKSBzY2FsZVkoMS4wMik7IH0gfVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZSB7XG4gIGZyb20sXG4gIDIwJSxcbiAgNTMlLFxuICB0byB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfVxuICA0MCUsXG4gIDQzJSB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUsIDAuODU1LCAwLjA2KTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUsIDAuODU1LCAwLjA2KTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwcHgsIDApIHNjYWxlWSgxLjEpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwcHgsIDApIHNjYWxlWSgxLjEpOyB9XG4gIDcwJSB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUsIDAuODU1LCAwLjA2KTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUsIDAuODU1LCAwLjA2KTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTE1cHgsIDApIHNjYWxlWSgxLjA1KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xNXB4LCAwKSBzY2FsZVkoMS4wNSk7IH1cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApIHNjYWxlWSgwLjk1KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApIHNjYWxlWSgwLjk1KTsgfVxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNHB4LCAwKSBzY2FsZVkoMS4wMik7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNHB4LCAwKSBzY2FsZVkoMS4wMik7IH0gfVxuXG4uYW5pbWF0ZV9fYm91bmNlIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlO1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlO1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZsYXNoIHtcbiAgZnJvbSxcbiAgNTAlLFxuICB0byB7XG4gICAgb3BhY2l0eTogMTsgfVxuICAyNSUsXG4gIDc1JSB7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbkBrZXlmcmFtZXMgZmxhc2gge1xuICBmcm9tLFxuICA1MCUsXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDI1JSxcbiAgNzUlIHtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuLmFuaW1hdGVfX2ZsYXNoIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmxhc2g7XG4gIGFuaW1hdGlvbi1uYW1lOiBmbGFzaDsgfVxuXG4vKiBvcmlnaW5hbGx5IGF1dGhvcmVkIGJ5IE5pY2sgUGV0dGl0IC0gaHR0cHM6Ly9naXRodWIuY29tL25pY2twZXR0aXQvZ2xpZGUgKi9cbkAtd2Via2l0LWtleWZyYW1lcyBwdWxzZSB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTsgfVxuICA1MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIDEuMDUsIDEuMDUpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAxLjA1LCAxLjA1KTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpOyB9IH1cblxuQGtleWZyYW1lcyBwdWxzZSB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTsgfVxuICA1MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIDEuMDUsIDEuMDUpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAxLjA1LCAxLjA1KTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpOyB9IH1cblxuLmFuaW1hdGVfX3B1bHNlIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcHVsc2U7XG4gIGFuaW1hdGlvbi1uYW1lOiBwdWxzZTtcbiAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHJ1YmJlckJhbmQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7IH1cbiAgMzAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjI1LCAwLjc1LCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4yNSwgMC43NSwgMSk7IH1cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjc1LCAxLjI1LCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC43NSwgMS4yNSwgMSk7IH1cbiAgNTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjE1LCAwLjg1LCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xNSwgMC44NSwgMSk7IH1cbiAgNjUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjk1LCAxLjA1LCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC45NSwgMS4wNSwgMSk7IH1cbiAgNzUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAwLjk1LCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4wNSwgMC45NSwgMSk7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTsgfSB9XG5cbkBrZXlmcmFtZXMgcnViYmVyQmFuZCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTsgfVxuICAzMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMjUsIDAuNzUsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjI1LCAwLjc1LCAxKTsgfVxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNzUsIDEuMjUsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjc1LCAxLjI1LCAxKTsgfVxuICA1MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMTUsIDAuODUsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjE1LCAwLjg1LCAxKTsgfVxuICA2NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuOTUsIDEuMDUsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjk1LCAxLjA1LCAxKTsgfVxuICA3NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIDAuOTUsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAwLjk1LCAxKTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpOyB9IH1cblxuLmFuaW1hdGVfX3J1YmJlckJhbmQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBydWJiZXJCYW5kO1xuICBhbmltYXRpb24tbmFtZTogcnViYmVyQmFuZDsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2hha2VYIHtcbiAgZnJvbSxcbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG4gIDEwJSxcbiAgMzAlLFxuICA1MCUsXG4gIDcwJSxcbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApOyB9XG4gIDIwJSxcbiAgNDAlLFxuICA2MCUsXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHNoYWtlWCB7XG4gIGZyb20sXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfVxuICAxMCUsXG4gIDMwJSxcbiAgNTAlLFxuICA3MCUsXG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTsgfVxuICAyMCUsXG4gIDQwJSxcbiAgNjAlLFxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApOyB9IH1cblxuLmFuaW1hdGVfX3NoYWtlWCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNoYWtlWDtcbiAgYW5pbWF0aW9uLW5hbWU6IHNoYWtlWDsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2hha2VZIHtcbiAgZnJvbSxcbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG4gIDEwJSxcbiAgMzAlLFxuICA1MCUsXG4gIDcwJSxcbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApOyB9XG4gIDIwJSxcbiAgNDAlLFxuICA2MCUsXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHNoYWtlWSB7XG4gIGZyb20sXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfVxuICAxMCUsXG4gIDMwJSxcbiAgNTAlLFxuICA3MCUsXG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTsgfVxuICAyMCUsXG4gIDQwJSxcbiAgNjAlLFxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApOyB9IH1cblxuLmFuaW1hdGVfX3NoYWtlWSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNoYWtlWTtcbiAgYW5pbWF0aW9uLW5hbWU6IHNoYWtlWTsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgaGVhZFNoYWtlIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxuICA2LjUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNnB4KSByb3RhdGVZKC05ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTZweCkgcm90YXRlWSgtOWRlZyk7IH1cbiAgMTguNSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDVweCkgcm90YXRlWSg3ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNXB4KSByb3RhdGVZKDdkZWcpOyB9XG4gIDMxLjUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtM3B4KSByb3RhdGVZKC01ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTNweCkgcm90YXRlWSgtNWRlZyk7IH1cbiAgNDMuNSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDJweCkgcm90YXRlWSgzZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMnB4KSByb3RhdGVZKDNkZWcpOyB9XG4gIDUwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9IH1cblxuQGtleWZyYW1lcyBoZWFkU2hha2Uge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG4gIDYuNSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC02cHgpIHJvdGF0ZVkoLTlkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNnB4KSByb3RhdGVZKC05ZGVnKTsgfVxuICAxOC41JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNXB4KSByb3RhdGVZKDdkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg1cHgpIHJvdGF0ZVkoN2RlZyk7IH1cbiAgMzEuNSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zcHgpIHJvdGF0ZVkoLTVkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtM3B4KSByb3RhdGVZKC01ZGVnKTsgfVxuICA0My41JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMnB4KSByb3RhdGVZKDNkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgycHgpIHJvdGF0ZVkoM2RlZyk7IH1cbiAgNTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH0gfVxuXG4uYW5pbWF0ZV9faGVhZFNoYWtlIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGhlYWRTaGFrZTtcbiAgYW5pbWF0aW9uLW5hbWU6IGhlYWRTaGFrZTsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc3dpbmcge1xuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAxNWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAxNWRlZyk7IH1cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTEwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC0xMGRlZyk7IH1cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA1ZGVnKTsgfVxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNWRlZyk7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDBkZWcpOyB9IH1cblxuQGtleWZyYW1lcyBzd2luZyB7XG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDE1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDE1ZGVnKTsgfVxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtMTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTEwZGVnKTsgfVxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDVkZWcpOyB9XG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMGRlZyk7IH0gfVxuXG4uYW5pbWF0ZV9fc3dpbmcge1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHRvcCBjZW50ZXI7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBjZW50ZXI7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHN3aW5nO1xuICBhbmltYXRpb24tbmFtZTogc3dpbmc7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHRhZGEge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7IH1cbiAgMTAlLFxuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuOSwgMC45LCAwLjkpIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC45LCAwLjksIDAuOSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpOyB9XG4gIDMwJSxcbiAgNTAlLFxuICA3MCUsXG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgM2RlZyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIDNkZWcpOyB9XG4gIDQwJSxcbiAgNjAlLFxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHRhZGEge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7IH1cbiAgMTAlLFxuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuOSwgMC45LCAwLjkpIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC45LCAwLjksIDAuOSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpOyB9XG4gIDMwJSxcbiAgNTAlLFxuICA3MCUsXG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgM2RlZyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIDNkZWcpOyB9XG4gIDQwJSxcbiAgNjAlLFxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7IH0gfVxuXG4uYW5pbWF0ZV9fdGFkYSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHRhZGE7XG4gIGFuaW1hdGlvbi1uYW1lOiB0YWRhOyB9XG5cbi8qIG9yaWdpbmFsbHkgYXV0aG9yZWQgYnkgTmljayBQZXR0aXQgLSBodHRwczovL2dpdGh1Yi5jb20vbmlja3BldHRpdC9nbGlkZSAqL1xuQC13ZWJraXQta2V5ZnJhbWVzIHdvYmJsZSB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG4gIDE1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKTsgfVxuICAzMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDNkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAzZGVnKTsgfVxuICA0NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7IH1cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAyZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMmRlZyk7IH1cbiAgNzUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtMWRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xZGVnKTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHdvYmJsZSB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG4gIDE1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKTsgfVxuICAzMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDNkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAzZGVnKTsgfVxuICA0NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7IH1cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAyZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMmRlZyk7IH1cbiAgNzUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtMWRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xZGVnKTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH0gfVxuXG4uYW5pbWF0ZV9fd29iYmxlIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogd29iYmxlO1xuICBhbmltYXRpb24tbmFtZTogd29iYmxlOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBqZWxsbyB7XG4gIGZyb20sXG4gIDExLjElLFxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cbiAgMjIuMiUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtMTIuNWRlZykgc2tld1koLTEyLjVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goLTEyLjVkZWcpIHNrZXdZKC0xMi41ZGVnKTsgfVxuICAzMy4zJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDYuMjVkZWcpIHNrZXdZKDYuMjVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goNi4yNWRlZykgc2tld1koNi4yNWRlZyk7IH1cbiAgNDQuNCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtMy4xMjVkZWcpIHNrZXdZKC0zLjEyNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtMy4xMjVkZWcpIHNrZXdZKC0zLjEyNWRlZyk7IH1cbiAgNTUuNSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgxLjU2MjVkZWcpIHNrZXdZKDEuNTYyNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgxLjU2MjVkZWcpIHNrZXdZKDEuNTYyNWRlZyk7IH1cbiAgNjYuNiUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtMC43ODEyNWRlZykgc2tld1koLTAuNzgxMjVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goLTAuNzgxMjVkZWcpIHNrZXdZKC0wLjc4MTI1ZGVnKTsgfVxuICA3Ny43JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDAuMzkwNjNkZWcpIHNrZXdZKDAuMzkwNjNkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goMC4zOTA2M2RlZykgc2tld1koMC4zOTA2M2RlZyk7IH1cbiAgODguOCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtMC4xOTUzMWRlZykgc2tld1koLTAuMTk1MzFkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goLTAuMTk1MzFkZWcpIHNrZXdZKC0wLjE5NTMxZGVnKTsgfSB9XG5cbkBrZXlmcmFtZXMgamVsbG8ge1xuICBmcm9tLFxuICAxMS4xJSxcbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG4gIDIyLjIlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTEyLjVkZWcpIHNrZXdZKC0xMi41ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC0xMi41ZGVnKSBza2V3WSgtMTIuNWRlZyk7IH1cbiAgMzMuMyUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCg2LjI1ZGVnKSBza2V3WSg2LjI1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKDYuMjVkZWcpIHNrZXdZKDYuMjVkZWcpOyB9XG4gIDQ0LjQlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTMuMTI1ZGVnKSBza2V3WSgtMy4xMjVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goLTMuMTI1ZGVnKSBza2V3WSgtMy4xMjVkZWcpOyB9XG4gIDU1LjUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goMS41NjI1ZGVnKSBza2V3WSgxLjU2MjVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goMS41NjI1ZGVnKSBza2V3WSgxLjU2MjVkZWcpOyB9XG4gIDY2LjYlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTAuNzgxMjVkZWcpIHNrZXdZKC0wLjc4MTI1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC0wLjc4MTI1ZGVnKSBza2V3WSgtMC43ODEyNWRlZyk7IH1cbiAgNzcuNyUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgwLjM5MDYzZGVnKSBza2V3WSgwLjM5MDYzZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKDAuMzkwNjNkZWcpIHNrZXdZKDAuMzkwNjNkZWcpOyB9XG4gIDg4LjglIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTAuMTk1MzFkZWcpIHNrZXdZKC0wLjE5NTMxZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC0wLjE5NTMxZGVnKSBza2V3WSgtMC4xOTUzMWRlZyk7IH0gfVxuXG4uYW5pbWF0ZV9famVsbG8ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBqZWxsbztcbiAgYW5pbWF0aW9uLW5hbWU6IGplbGxvO1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBoZWFydEJlYXQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cbiAgMTQlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4zKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMyk7IH1cbiAgMjglIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuICA0MiUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjMpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4zKTsgfVxuICA3MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9IH1cblxuQGtleWZyYW1lcyBoZWFydEJlYXQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cbiAgMTQlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4zKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMyk7IH1cbiAgMjglIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuICA0MiUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjMpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4zKTsgfVxuICA3MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9IH1cblxuLmFuaW1hdGVfX2hlYXJ0QmVhdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGhlYXJ0QmVhdDtcbiAgYW5pbWF0aW9uLW5hbWU6IGhlYXJ0QmVhdDtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IGNhbGMoMXMgKiAxLjMpO1xuICBhbmltYXRpb24tZHVyYXRpb246IGNhbGMoMXMgKiAxLjMpO1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYyh2YXIoLS1hbmltYXRlLWR1cmF0aW9uKSAqIDEuMyk7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYyh2YXIoLS1hbmltYXRlLWR1cmF0aW9uKSAqIDEuMyk7XG4gIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0OyB9XG5cbi8qIEJhY2sgZW50cmFuY2VzICovXG5ALXdlYmtpdC1rZXlmcmFtZXMgYmFja0luRG93biB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTIwMHB4KSBzY2FsZSgwLjcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTIwMHB4KSBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuNzsgfVxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCkgc2NhbGUoMC43KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KSBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuNzsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuQGtleWZyYW1lcyBiYWNrSW5Eb3duIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMjAwcHgpIHNjYWxlKDAuNyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMjAwcHgpIHNjYWxlKDAuNyk7XG4gICAgb3BhY2l0eTogMC43OyB9XG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KSBzY2FsZSgwLjcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpIHNjYWxlKDAuNyk7XG4gICAgb3BhY2l0eTogMC43OyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG4uYW5pbWF0ZV9fYmFja0luRG93biB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJhY2tJbkRvd247XG4gIGFuaW1hdGlvbi1uYW1lOiBiYWNrSW5Eb3duOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBiYWNrSW5MZWZ0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpIHNjYWxlKDAuNyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpIHNjYWxlKDAuNyk7XG4gICAgb3BhY2l0eTogMC43OyB9XG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KSBzY2FsZSgwLjcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpIHNjYWxlKDAuNyk7XG4gICAgb3BhY2l0eTogMC43OyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG5Aa2V5ZnJhbWVzIGJhY2tJbkxlZnQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMDBweCkgc2NhbGUoMC43KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMDBweCkgc2NhbGUoMC43KTtcbiAgICBvcGFjaXR5OiAwLjc7IH1cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpIHNjYWxlKDAuNyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCkgc2NhbGUoMC43KTtcbiAgICBvcGFjaXR5OiAwLjc7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbi5hbmltYXRlX19iYWNrSW5MZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYmFja0luTGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IGJhY2tJbkxlZnQ7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGJhY2tJblJpZ2h0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCkgc2NhbGUoMC43KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAwMHB4KSBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuNzsgfVxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCkgc2NhbGUoMC43KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KSBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuNzsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuQGtleWZyYW1lcyBiYWNrSW5SaWdodCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpIHNjYWxlKDAuNyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCkgc2NhbGUoMC43KTtcbiAgICBvcGFjaXR5OiAwLjc7IH1cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpIHNjYWxlKDAuNyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCkgc2NhbGUoMC43KTtcbiAgICBvcGFjaXR5OiAwLjc7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbi5hbmltYXRlX19iYWNrSW5SaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJhY2tJblJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogYmFja0luUmlnaHQ7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGJhY2tJblVwIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEyMDBweCkgc2NhbGUoMC43KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTIwMHB4KSBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuNzsgfVxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCkgc2NhbGUoMC43KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KSBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuNzsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuQGtleWZyYW1lcyBiYWNrSW5VcCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMjAwcHgpIHNjYWxlKDAuNyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEyMDBweCkgc2NhbGUoMC43KTtcbiAgICBvcGFjaXR5OiAwLjc7IH1cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpIHNjYWxlKDAuNyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCkgc2NhbGUoMC43KTtcbiAgICBvcGFjaXR5OiAwLjc7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbi5hbmltYXRlX19iYWNrSW5VcCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJhY2tJblVwO1xuICBhbmltYXRpb24tbmFtZTogYmFja0luVXA7IH1cblxuLyogQmFjayBleGl0cyAqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGJhY2tPdXREb3duIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpIHNjYWxlKDAuNyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCkgc2NhbGUoMC43KTtcbiAgICBvcGFjaXR5OiAwLjc7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNzAwcHgpIHNjYWxlKDAuNyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDcwMHB4KSBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuNzsgfSB9XG5cbkBrZXlmcmFtZXMgYmFja091dERvd24ge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgb3BhY2l0eTogMTsgfVxuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCkgc2NhbGUoMC43KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KSBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuNzsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg3MDBweCkgc2NhbGUoMC43KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNzAwcHgpIHNjYWxlKDAuNyk7XG4gICAgb3BhY2l0eTogMC43OyB9IH1cblxuLmFuaW1hdGVfX2JhY2tPdXREb3duIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYmFja091dERvd247XG4gIGFuaW1hdGlvbi1uYW1lOiBiYWNrT3V0RG93bjsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYmFja091dExlZnQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgb3BhY2l0eTogMTsgfVxuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCkgc2NhbGUoMC43KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KSBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuNzsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwMHB4KSBzY2FsZSgwLjcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwMHB4KSBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuNzsgfSB9XG5cbkBrZXlmcmFtZXMgYmFja091dExlZnQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgb3BhY2l0eTogMTsgfVxuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCkgc2NhbGUoMC43KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KSBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuNzsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwMHB4KSBzY2FsZSgwLjcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwMHB4KSBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuNzsgfSB9XG5cbi5hbmltYXRlX19iYWNrT3V0TGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJhY2tPdXRMZWZ0O1xuICBhbmltYXRpb24tbmFtZTogYmFja091dExlZnQ7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGJhY2tPdXRSaWdodCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KSBzY2FsZSgwLjcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpIHNjYWxlKDAuNyk7XG4gICAgb3BhY2l0eTogMC43OyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCkgc2NhbGUoMC43KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAwMHB4KSBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuNzsgfSB9XG5cbkBrZXlmcmFtZXMgYmFja091dFJpZ2h0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpIHNjYWxlKDAuNyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCkgc2NhbGUoMC43KTtcbiAgICBvcGFjaXR5OiAwLjc7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAwMHB4KSBzY2FsZSgwLjcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpIHNjYWxlKDAuNyk7XG4gICAgb3BhY2l0eTogMC43OyB9IH1cblxuLmFuaW1hdGVfX2JhY2tPdXRSaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJhY2tPdXRSaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IGJhY2tPdXRSaWdodDsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYmFja091dFVwIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpIHNjYWxlKDAuNyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCkgc2NhbGUoMC43KTtcbiAgICBvcGFjaXR5OiAwLjc7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTcwMHB4KSBzY2FsZSgwLjcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNzAwcHgpIHNjYWxlKDAuNyk7XG4gICAgb3BhY2l0eTogMC43OyB9IH1cblxuQGtleWZyYW1lcyBiYWNrT3V0VXAge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgb3BhY2l0eTogMTsgfVxuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCkgc2NhbGUoMC43KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KSBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuNzsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNzAwcHgpIHNjYWxlKDAuNyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC03MDBweCkgc2NhbGUoMC43KTtcbiAgICBvcGFjaXR5OiAwLjc7IH0gfVxuXG4uYW5pbWF0ZV9fYmFja091dFVwIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYmFja091dFVwO1xuICBhbmltYXRpb24tbmFtZTogYmFja091dFVwOyB9XG5cbi8qIEJvdW5jaW5nIGVudHJhbmNlcyAgKi9cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VJbiB7XG4gIGZyb20sXG4gIDIwJSxcbiAgNDAlLFxuICA2MCUsXG4gIDgwJSxcbiAgdG8ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7IH1cbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4zLCAwLjMsIDAuMyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMywgMC4zLCAwLjMpOyB9XG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpOyB9XG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC45LCAwLjksIDAuOSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuOSwgMC45LCAwLjkpOyB9XG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjAzLCAxLjAzLCAxLjAzKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4wMywgMS4wMywgMS4wMyk7IH1cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjk3LCAwLjk3LCAwLjk3KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC45NywgMC45NywgMC45Nyk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpOyB9IH1cblxuQGtleWZyYW1lcyBib3VuY2VJbiB7XG4gIGZyb20sXG4gIDIwJSxcbiAgNDAlLFxuICA2MCUsXG4gIDgwJSxcbiAgdG8ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7IH1cbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4zLCAwLjMsIDAuMyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMywgMC4zLCAwLjMpOyB9XG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpOyB9XG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC45LCAwLjksIDAuOSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuOSwgMC45LCAwLjkpOyB9XG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjAzLCAxLjAzLCAxLjAzKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4wMywgMS4wMywgMS4wMyk7IH1cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjk3LCAwLjk3LCAwLjk3KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC45NywgMC45NywgMC45Nyk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpOyB9IH1cblxuLmFuaW1hdGVfX2JvdW5jZUluIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IGNhbGMoMXMgKiAwLjc1KTtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKDFzICogMC43NSk7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKHZhcigtLWFuaW1hdGUtZHVyYXRpb24pICogMC43NSk7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYyh2YXIoLS1hbmltYXRlLWR1cmF0aW9uKSAqIDAuNzUpO1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbjtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VJbkRvd24ge1xuICBmcm9tLFxuICA2MCUsXG4gIDc1JSxcbiAgOTAlLFxuICB0byB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTsgfVxuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwMDBweCwgMCkgc2NhbGVZKDMpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwMDBweCwgMCkgc2NhbGVZKDMpOyB9XG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjVweCwgMCkgc2NhbGVZKDAuOSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyNXB4LCAwKSBzY2FsZVkoMC45KTsgfVxuICA3NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCkgc2NhbGVZKDAuOTUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApIHNjYWxlWSgwLjk1KTsgfVxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA1cHgsIDApIHNjYWxlWSgwLjk4NSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA1cHgsIDApIHNjYWxlWSgwLjk4NSk7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9IH1cblxuQGtleWZyYW1lcyBib3VuY2VJbkRvd24ge1xuICBmcm9tLFxuICA2MCUsXG4gIDc1JSxcbiAgOTAlLFxuICB0byB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTsgfVxuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwMDBweCwgMCkgc2NhbGVZKDMpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwMDBweCwgMCkgc2NhbGVZKDMpOyB9XG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjVweCwgMCkgc2NhbGVZKDAuOSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyNXB4LCAwKSBzY2FsZVkoMC45KTsgfVxuICA3NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCkgc2NhbGVZKDAuOTUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApIHNjYWxlWSgwLjk1KTsgfVxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA1cHgsIDApIHNjYWxlWSgwLjk4NSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA1cHgsIDApIHNjYWxlWSgwLjk4NSk7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9IH1cblxuLmFuaW1hdGVfX2JvdW5jZUluRG93biB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluRG93bjtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluRG93bjsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlSW5MZWZ0IHtcbiAgZnJvbSxcbiAgNjAlLFxuICA3NSUsXG4gIDkwJSxcbiAgdG8ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7IH1cbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0zMDAwcHgsIDAsIDApIHNjYWxlWCgzKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0zMDAwcHgsIDAsIDApIHNjYWxlWCgzKTsgfVxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDI1cHgsIDAsIDApIHNjYWxlWCgxKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDI1cHgsIDAsIDApIHNjYWxlWCgxKTsgfVxuICA3NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCkgc2NhbGVYKDAuOTgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApIHNjYWxlWCgwLjk4KTsgfVxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg1cHgsIDAsIDApIHNjYWxlWCgwLjk5NSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg1cHgsIDAsIDApIHNjYWxlWCgwLjk5NSk7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9IH1cblxuQGtleWZyYW1lcyBib3VuY2VJbkxlZnQge1xuICBmcm9tLFxuICA2MCUsXG4gIDc1JSxcbiAgOTAlLFxuICB0byB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTsgfVxuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTMwMDBweCwgMCwgMCkgc2NhbGVYKDMpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTMwMDBweCwgMCwgMCkgc2NhbGVYKDMpOyB9XG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjVweCwgMCwgMCkgc2NhbGVYKDEpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjVweCwgMCwgMCkgc2NhbGVYKDEpOyB9XG4gIDc1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKSBzY2FsZVgoMC45OCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCkgc2NhbGVYKDAuOTgpOyB9XG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDVweCwgMCwgMCkgc2NhbGVYKDAuOTk1KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDVweCwgMCwgMCkgc2NhbGVYKDAuOTk1KTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH0gfVxuXG4uYW5pbWF0ZV9fYm91bmNlSW5MZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlSW5MZWZ0O1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlSW5MZWZ0OyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VJblJpZ2h0IHtcbiAgZnJvbSxcbiAgNjAlLFxuICA3NSUsXG4gIDkwJSxcbiAgdG8ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7IH1cbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMzAwMHB4LCAwLCAwKSBzY2FsZVgoMyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgzMDAwcHgsIDAsIDApIHNjYWxlWCgzKTsgfVxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNXB4LCAwLCAwKSBzY2FsZVgoMSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjVweCwgMCwgMCkgc2NhbGVYKDEpOyB9XG4gIDc1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApIHNjYWxlWCgwLjk4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApIHNjYWxlWCgwLjk4KTsgfVxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNXB4LCAwLCAwKSBzY2FsZVgoMC45OTUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTVweCwgMCwgMCkgc2NhbGVYKDAuOTk1KTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZUluUmlnaHQge1xuICBmcm9tLFxuICA2MCUsXG4gIDc1JSxcbiAgOTAlLFxuICB0byB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTsgfVxuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgzMDAwcHgsIDAsIDApIHNjYWxlWCgzKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDMwMDBweCwgMCwgMCkgc2NhbGVYKDMpOyB9XG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTI1cHgsIDAsIDApIHNjYWxlWCgxKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNXB4LCAwLCAwKSBzY2FsZVgoMSk7IH1cbiAgNzUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCkgc2NhbGVYKDAuOTgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCkgc2NhbGVYKDAuOTgpOyB9XG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01cHgsIDAsIDApIHNjYWxlWCgwLjk5NSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNXB4LCAwLCAwKSBzY2FsZVgoMC45OTUpOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfSB9XG5cbi5hbmltYXRlX19ib3VuY2VJblJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlSW5SaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluUmlnaHQ7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZUluVXAge1xuICBmcm9tLFxuICA2MCUsXG4gIDc1JSxcbiAgOTAlLFxuICB0byB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTsgfVxuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAzMDAwcHgsIDApIHNjYWxlWSg1KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDMwMDBweCwgMCkgc2NhbGVZKDUpOyB9XG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApIHNjYWxlWSgwLjkpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApIHNjYWxlWSgwLjkpOyB9XG4gIDc1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApIHNjYWxlWSgwLjk1KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApIHNjYWxlWSgwLjk1KTsgfVxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNXB4LCAwKSBzY2FsZVkoMC45ODUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTVweCwgMCkgc2NhbGVZKDAuOTg1KTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZUluVXAge1xuICBmcm9tLFxuICA2MCUsXG4gIDc1JSxcbiAgOTAlLFxuICB0byB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTsgfVxuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAzMDAwcHgsIDApIHNjYWxlWSg1KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDMwMDBweCwgMCkgc2NhbGVZKDUpOyB9XG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApIHNjYWxlWSgwLjkpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApIHNjYWxlWSgwLjkpOyB9XG4gIDc1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApIHNjYWxlWSgwLjk1KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApIHNjYWxlWSgwLjk1KTsgfVxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNXB4LCAwKSBzY2FsZVkoMC45ODUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTVweCwgMCkgc2NhbGVZKDAuOTg1KTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH0gfVxuXG4uYW5pbWF0ZV9fYm91bmNlSW5VcCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluVXA7XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VJblVwOyB9XG5cbi8qIEJvdW5jaW5nIGV4aXRzICAqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZU91dCB7XG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC45LCAwLjksIDAuOSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuOSwgMC45LCAwLjkpOyB9XG4gIDUwJSxcbiAgNTUlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjMsIDAuMywgMC4zKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4zLCAwLjMsIDAuMyk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZU91dCB7XG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC45LCAwLjksIDAuOSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuOSwgMC45LCAwLjkpOyB9XG4gIDUwJSxcbiAgNTUlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjMsIDAuMywgMC4zKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4zLCAwLjMsIDAuMyk7IH0gfVxuXG4uYW5pbWF0ZV9fYm91bmNlT3V0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IGNhbGMoMXMgKiAwLjc1KTtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKDFzICogMC43NSk7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKHZhcigtLWFuaW1hdGUtZHVyYXRpb24pICogMC43NSk7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYyh2YXIoLS1hbmltYXRlLWR1cmF0aW9uKSAqIDAuNzUpO1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXQ7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZU91dERvd24ge1xuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKSBzY2FsZVkoMC45ODUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCkgc2NhbGVZKDAuOTg1KTsgfVxuICA0MCUsXG4gIDQ1JSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApIHNjYWxlWSgwLjkpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApIHNjYWxlWSgwLjkpOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApIHNjYWxlWSgzKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCkgc2NhbGVZKDMpOyB9IH1cblxuQGtleWZyYW1lcyBib3VuY2VPdXREb3duIHtcbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCkgc2NhbGVZKDAuOTg1KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApIHNjYWxlWSgwLjk4NSk7IH1cbiAgNDAlLFxuICA0NSUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKSBzY2FsZVkoMC45KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKSBzY2FsZVkoMC45KTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKSBzY2FsZVkoMyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApIHNjYWxlWSgzKTsgfSB9XG5cbi5hbmltYXRlX19ib3VuY2VPdXREb3duIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlT3V0RG93bjtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dERvd247IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZU91dExlZnQge1xuICAyMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwcHgsIDAsIDApIHNjYWxlWCgwLjkpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjBweCwgMCwgMCkgc2NhbGVYKDAuOSk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApIHNjYWxlWCgyKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApIHNjYWxlWCgyKTsgfSB9XG5cbkBrZXlmcmFtZXMgYm91bmNlT3V0TGVmdCB7XG4gIDIwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjBweCwgMCwgMCkgc2NhbGVYKDAuOSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMHB4LCAwLCAwKSBzY2FsZVgoMC45KTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCkgc2NhbGVYKDIpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCkgc2NhbGVYKDIpOyB9IH1cblxuLmFuaW1hdGVfX2JvdW5jZU91dExlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXRMZWZ0O1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlT3V0TGVmdDsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlT3V0UmlnaHQge1xuICAyMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMHB4LCAwLCAwKSBzY2FsZVgoMC45KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMHB4LCAwLCAwKSBzY2FsZVgoMC45KTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKSBzY2FsZVgoMik7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApIHNjYWxlWCgyKTsgfSB9XG5cbkBrZXlmcmFtZXMgYm91bmNlT3V0UmlnaHQge1xuICAyMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMHB4LCAwLCAwKSBzY2FsZVgoMC45KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMHB4LCAwLCAwKSBzY2FsZVgoMC45KTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKSBzY2FsZVgoMik7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApIHNjYWxlWCgyKTsgfSB9XG5cbi5hbmltYXRlX19ib3VuY2VPdXRSaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dFJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlT3V0UmlnaHQ7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZU91dFVwIHtcbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApIHNjYWxlWSgwLjk4NSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCkgc2NhbGVZKDAuOTg1KTsgfVxuICA0MCUsXG4gIDQ1JSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjBweCwgMCkgc2NhbGVZKDAuOSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMHB4LCAwKSBzY2FsZVkoMC45KTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCkgc2NhbGVZKDMpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCkgc2NhbGVZKDMpOyB9IH1cblxuQGtleWZyYW1lcyBib3VuY2VPdXRVcCB7XG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKSBzY2FsZVkoMC45ODUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApIHNjYWxlWSgwLjk4NSk7IH1cbiAgNDAlLFxuICA0NSUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwcHgsIDApIHNjYWxlWSgwLjkpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjBweCwgMCkgc2NhbGVZKDAuOSk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApIHNjYWxlWSgzKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApIHNjYWxlWSgzKTsgfSB9XG5cbi5hbmltYXRlX19ib3VuY2VPdXRVcCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dFVwO1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlT3V0VXA7IH1cblxuLyogRmFkaW5nIGVudHJhbmNlcyAgKi9cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW4ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuQGtleWZyYW1lcyBmYWRlSW4ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuLmFuaW1hdGVfX2ZhZGVJbiB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJbjtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbjsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluRG93biB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfSB9XG5cbkBrZXlmcmFtZXMgZmFkZUluRG93biB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfSB9XG5cbi5hbmltYXRlX19mYWRlSW5Eb3duIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluRG93bjtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkRvd247IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbkRvd25CaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9IH1cblxuQGtleWZyYW1lcyBmYWRlSW5Eb3duQmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfSB9XG5cbi5hbmltYXRlX19mYWRlSW5Eb3duQmlnIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluRG93bkJpZztcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkRvd25CaWc7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbkxlZnQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbkxlZnQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH0gfVxuXG4uYW5pbWF0ZV9fZmFkZUluTGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkxlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5MZWZ0OyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5MZWZ0QmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfSB9XG5cbkBrZXlmcmFtZXMgZmFkZUluTGVmdEJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH0gfVxuXG4uYW5pbWF0ZV9fZmFkZUluTGVmdEJpZyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkxlZnRCaWc7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5MZWZ0QmlnOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5SaWdodCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZhZGVJblJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfSB9XG5cbi5hbmltYXRlX19mYWRlSW5SaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJblJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluUmlnaHQ7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJblJpZ2h0QmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZhZGVJblJpZ2h0QmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH0gfVxuXG4uYW5pbWF0ZV9fZmFkZUluUmlnaHRCaWcge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5SaWdodEJpZztcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJblJpZ2h0QmlnOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5VcCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZhZGVJblVwIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfSB9XG5cbi5hbmltYXRlX19mYWRlSW5VcCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJblVwO1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluVXA7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJblVwQmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZhZGVJblVwQmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH0gfVxuXG4uYW5pbWF0ZV9fZmFkZUluVXBCaWcge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5VcEJpZztcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJblVwQmlnOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5Ub3BMZWZ0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIC0xMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAtMTAwJSwgMCk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZhZGVJblRvcExlZnQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgLTEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIC0xMDAlLCAwKTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfSB9XG5cbi5hbmltYXRlX19mYWRlSW5Ub3BMZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluVG9wTGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJblRvcExlZnQ7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJblRvcFJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgLTEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgLTEwMCUsIDApOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9IH1cblxuQGtleWZyYW1lcyBmYWRlSW5Ub3BSaWdodCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIC0xMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIC0xMDAlLCAwKTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfSB9XG5cbi5hbmltYXRlX19mYWRlSW5Ub3BSaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJblRvcFJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluVG9wUmlnaHQ7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbkJvdHRvbUxlZnQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMTAwJSwgMCk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbkJvdHRvbUxlZnQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMTAwJSwgMCk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH0gfVxuXG4uYW5pbWF0ZV9fZmFkZUluQm90dG9tTGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkJvdHRvbUxlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Cb3R0b21MZWZ0OyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5Cb3R0b21SaWdodCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMTAwJSwgMCk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbkJvdHRvbVJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAxMDAlLCAwKTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfSB9XG5cbi5hbmltYXRlX19mYWRlSW5Cb3R0b21SaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkJvdHRvbVJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluQm90dG9tUmlnaHQ7IH1cblxuLyogRmFkaW5nIGV4aXRzICovXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuLmFuaW1hdGVfX2ZhZGVPdXQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0O1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dDsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dERvd24ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApOyB9IH1cblxuQGtleWZyYW1lcyBmYWRlT3V0RG93biB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7IH0gfVxuXG4uYW5pbWF0ZV9fZmFkZU91dERvd24ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0RG93bjtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXREb3duOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0RG93bkJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApOyB9IH1cblxuQGtleWZyYW1lcyBmYWRlT3V0RG93bkJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApOyB9IH1cblxuLmFuaW1hdGVfX2ZhZGVPdXREb3duQmlnIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dERvd25CaWc7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0RG93bkJpZzsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dExlZnQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXRMZWZ0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApOyB9IH1cblxuLmFuaW1hdGVfX2ZhZGVPdXRMZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dExlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0TGVmdDsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dExlZnRCaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApOyB9IH1cblxuQGtleWZyYW1lcyBmYWRlT3V0TGVmdEJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7IH0gfVxuXG4uYW5pbWF0ZV9fZmFkZU91dExlZnRCaWcge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0TGVmdEJpZztcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRMZWZ0QmlnOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0UmlnaHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApOyB9IH1cblxuQGtleWZyYW1lcyBmYWRlT3V0UmlnaHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApOyB9IH1cblxuLmFuaW1hdGVfX2ZhZGVPdXRSaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRSaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRSaWdodDsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dFJpZ2h0QmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXRSaWdodEJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApOyB9IH1cblxuLmFuaW1hdGVfX2ZhZGVPdXRSaWdodEJpZyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRSaWdodEJpZztcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRSaWdodEJpZzsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dFVwIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApOyB9IH1cblxuQGtleWZyYW1lcyBmYWRlT3V0VXAge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7IH0gfVxuXG4uYW5pbWF0ZV9fZmFkZU91dFVwIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dFVwO1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dFVwOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0VXBCaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApOyB9IH1cblxuQGtleWZyYW1lcyBmYWRlT3V0VXBCaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApOyB9IH1cblxuLmFuaW1hdGVfX2ZhZGVPdXRVcEJpZyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRVcEJpZztcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRVcEJpZzsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dFRvcExlZnQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgLTEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIC0xMDAlLCAwKTsgfSB9XG5cbkBrZXlmcmFtZXMgZmFkZU91dFRvcExlZnQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgLTEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIC0xMDAlLCAwKTsgfSB9XG5cbi5hbmltYXRlX19mYWRlT3V0VG9wTGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRUb3BMZWZ0O1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dFRvcExlZnQ7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRUb3BSaWdodCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIC0xMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIC0xMDAlLCAwKTsgfSB9XG5cbkBrZXlmcmFtZXMgZmFkZU91dFRvcFJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgLTEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgLTEwMCUsIDApOyB9IH1cblxuLmFuaW1hdGVfX2ZhZGVPdXRUb3BSaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRUb3BSaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRUb3BSaWdodDsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dEJvdHRvbVJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAxMDAlLCAwKTsgfSB9XG5cbkBrZXlmcmFtZXMgZmFkZU91dEJvdHRvbVJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAxMDAlLCAwKTsgfSB9XG5cbi5hbmltYXRlX19mYWRlT3V0Qm90dG9tUmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0Qm90dG9tUmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0Qm90dG9tUmlnaHQ7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRCb3R0b21MZWZ0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDEwMCUsIDApOyB9IH1cblxuQGtleWZyYW1lcyBmYWRlT3V0Qm90dG9tTGVmdCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAxMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAxMDAlLCAwKTsgfSB9XG5cbi5hbmltYXRlX19mYWRlT3V0Qm90dG9tTGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRCb3R0b21MZWZ0O1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dEJvdHRvbUxlZnQ7IH1cblxuLyogRmxpcHBlcnMgKi9cbkAtd2Via2l0LWtleWZyYW1lcyBmbGlwIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKDEsIDEsIDEpIHRyYW5zbGF0ZTNkKDAsIDAsIDApIHJvdGF0ZTNkKDAsIDEsIDAsIC0zNjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoMSwgMSwgMSkgdHJhbnNsYXRlM2QoMCwgMCwgMCkgcm90YXRlM2QoMCwgMSwgMCwgLTM2MGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsgfVxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgxLCAxLCAxKSB0cmFuc2xhdGUzZCgwLCAwLCAxNTBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgxLCAxLCAxKSB0cmFuc2xhdGUzZCgwLCAwLCAxNTBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE5MGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsgfVxuICA1MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgxLCAxLCAxKSB0cmFuc2xhdGUzZCgwLCAwLCAxNTBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE3MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgxLCAxLCAxKSB0cmFuc2xhdGUzZCgwLCAwLCAxNTBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE3MGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47IH1cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoMC45NSwgMC45NSwgMC45NSkgdHJhbnNsYXRlM2QoMCwgMCwgMCkgcm90YXRlM2QoMCwgMSwgMCwgMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgwLjk1LCAwLjk1LCAwLjk1KSB0cmFuc2xhdGUzZCgwLCAwLCAwKSByb3RhdGUzZCgwLCAxLCAwLCAwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKDEsIDEsIDEpIHRyYW5zbGF0ZTNkKDAsIDAsIDApIHJvdGF0ZTNkKDAsIDEsIDAsIDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoMSwgMSwgMSkgdHJhbnNsYXRlM2QoMCwgMCwgMCkgcm90YXRlM2QoMCwgMSwgMCwgMGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47IH0gfVxuXG5Aa2V5ZnJhbWVzIGZsaXAge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoMSwgMSwgMSkgdHJhbnNsYXRlM2QoMCwgMCwgMCkgcm90YXRlM2QoMCwgMSwgMCwgLTM2MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgxLCAxLCAxKSB0cmFuc2xhdGUzZCgwLCAwLCAwKSByb3RhdGUzZCgwLCAxLCAwLCAtMzYwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0OyB9XG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKDEsIDEsIDEpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKDEsIDEsIDEpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTkwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0OyB9XG4gIDUwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKDEsIDEsIDEpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTcwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKDEsIDEsIDEpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTcwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsgfVxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgwLjk1LCAwLjk1LCAwLjk1KSB0cmFuc2xhdGUzZCgwLCAwLCAwKSByb3RhdGUzZCgwLCAxLCAwLCAwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKDAuOTUsIDAuOTUsIDAuOTUpIHRyYW5zbGF0ZTNkKDAsIDAsIDApIHJvdGF0ZTNkKDAsIDEsIDAsIDBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoMSwgMSwgMSkgdHJhbnNsYXRlM2QoMCwgMCwgMCkgcm90YXRlM2QoMCwgMSwgMCwgMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgxLCAxLCAxKSB0cmFuc2xhdGUzZCgwLCAwLCAwKSByb3RhdGUzZCgwLCAxLCAwLCAwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsgfSB9XG5cbi5hbmltYXRlX19hbmltYXRlZC5hbmltYXRlX19mbGlwIHtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmbGlwO1xuICBhbmltYXRpb24tbmFtZTogZmxpcDsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmxpcEluWCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDkwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtMjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC0yMGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47IH1cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDEwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAxMGRlZyk7XG4gICAgb3BhY2l0eTogMTsgfVxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTVkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC01ZGVnKTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTsgfSB9XG5cbkBrZXlmcmFtZXMgZmxpcEluWCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDkwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtMjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC0yMGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47IH1cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDEwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAxMGRlZyk7XG4gICAgb3BhY2l0eTogMTsgfVxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTVkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC01ZGVnKTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTsgfSB9XG5cbi5hbmltYXRlX19mbGlwSW5YIHtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmxpcEluWDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZsaXBJblg7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZsaXBJblkge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCA5MGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgb3BhY2l0eTogMDsgfVxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMjBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOyB9XG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAxMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgMTBkZWcpO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC01ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtNWRlZyk7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZsaXBJblkge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCA5MGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgb3BhY2l0eTogMDsgfVxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMjBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOyB9XG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAxMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgMTBkZWcpO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC01ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtNWRlZyk7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7IH0gfVxuXG4uYW5pbWF0ZV9fZmxpcEluWSB7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZsaXBJblk7XG4gIGFuaW1hdGlvbi1uYW1lOiBmbGlwSW5ZOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmbGlwT3V0WCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7IH1cbiAgMzAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC0yMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTIwZGVnKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCA5MGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbkBrZXlmcmFtZXMgZmxpcE91dFgge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpOyB9XG4gIDMwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtMjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC0yMGRlZyk7XG4gICAgb3BhY2l0eTogMTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCA5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG4uYW5pbWF0ZV9fZmxpcE91dFgge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYygxcyAqIDAuNzUpO1xuICBhbmltYXRpb24tZHVyYXRpb246IGNhbGMoMXMgKiAwLjc1KTtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IGNhbGModmFyKC0tYW5pbWF0ZS1kdXJhdGlvbikgKiAwLjc1KTtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKHZhcigtLWFuaW1hdGUtZHVyYXRpb24pICogMC43NSk7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZsaXBPdXRYO1xuICBhbmltYXRpb24tbmFtZTogZmxpcE91dFg7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZsaXBPdXRZIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTsgfVxuICAzMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTVkZWcpO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuQGtleWZyYW1lcyBmbGlwT3V0WSB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7IH1cbiAgMzAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE1ZGVnKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCA5MGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbi5hbmltYXRlX19mbGlwT3V0WSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKDFzICogMC43NSk7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYygxcyAqIDAuNzUpO1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYyh2YXIoLS1hbmltYXRlLWR1cmF0aW9uKSAqIDAuNzUpO1xuICBhbmltYXRpb24tZHVyYXRpb246IGNhbGModmFyKC0tYW5pbWF0ZS1kdXJhdGlvbikgKiAwLjc1KTtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmxpcE91dFk7XG4gIGFuaW1hdGlvbi1uYW1lOiBmbGlwT3V0WTsgfVxuXG4vKiBMaWdodHNwZWVkICovXG5ALXdlYmtpdC1rZXlmcmFtZXMgbGlnaHRTcGVlZEluUmlnaHQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goLTMwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHNrZXdYKC0zMGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfVxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgyMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgyMGRlZyk7XG4gICAgb3BhY2l0eTogMTsgfVxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtNWRlZyk7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9IH1cblxuQGtleWZyYW1lcyBsaWdodFNwZWVkSW5SaWdodCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSBza2V3WCgtMzBkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goLTMwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKDIwZGVnKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC01ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC01ZGVnKTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH0gfVxuXG4uYW5pbWF0ZV9fbGlnaHRTcGVlZEluUmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBsaWdodFNwZWVkSW5SaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRJblJpZ2h0O1xuICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgbGlnaHRTcGVlZEluTGVmdCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCkgc2tld1goMzBkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApIHNrZXdYKDMwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0yMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtMjBkZWcpO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCg1ZGVnKTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGxpZ2h0U3BlZWRJbkxlZnQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApIHNrZXdYKDMwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKSBza2V3WCgzMGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfVxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtMjBkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goLTIwZGVnKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goNWRlZyk7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9IH1cblxuLmFuaW1hdGVfX2xpZ2h0U3BlZWRJbkxlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBsaWdodFNwZWVkSW5MZWZ0O1xuICBhbmltYXRpb24tbmFtZTogbGlnaHRTcGVlZEluTGVmdDtcbiAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGxpZ2h0U3BlZWRPdXRSaWdodCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSBza2V3WCgzMGRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSBza2V3WCgzMGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbkBrZXlmcmFtZXMgbGlnaHRTcGVlZE91dFJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHNrZXdYKDMwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHNrZXdYKDMwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuLmFuaW1hdGVfX2xpZ2h0U3BlZWRPdXRSaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRPdXRSaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRPdXRSaWdodDtcbiAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBsaWdodFNwZWVkT3V0TGVmdCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCkgc2tld1goLTMwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKSBza2V3WCgtMzBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG5Aa2V5ZnJhbWVzIGxpZ2h0U3BlZWRPdXRMZWZ0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKSBza2V3WCgtMzBkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApIHNrZXdYKC0zMGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbi5hbmltYXRlX19saWdodFNwZWVkT3V0TGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRPdXRMZWZ0O1xuICBhbmltYXRpb24tbmFtZTogbGlnaHRTcGVlZE91dExlZnQ7XG4gIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsgfVxuXG4vKiBSb3RhdGluZyBlbnRyYW5jZXMgKi9cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVJbiB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtMjAwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC0yMDBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZUluIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC0yMDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTIwMGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbi5hbmltYXRlX19yb3RhdGVJbiB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluO1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlSW47XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZUluRG93bkxlZnQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XG4gICAgb3BhY2l0eTogMDsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbkBrZXlmcmFtZXMgcm90YXRlSW5Eb3duTGVmdCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuLmFuaW1hdGVfX3JvdGF0ZUluRG93bkxlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbkRvd25MZWZ0O1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlSW5Eb3duTGVmdDtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZUluRG93blJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuQGtleWZyYW1lcyByb3RhdGVJbkRvd25SaWdodCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7XG4gICAgb3BhY2l0eTogMDsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbi5hbmltYXRlX19yb3RhdGVJbkRvd25SaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluRG93blJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlSW5Eb3duUmlnaHQ7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZUluVXBMZWZ0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuQGtleWZyYW1lcyByb3RhdGVJblVwTGVmdCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7XG4gICAgb3BhY2l0eTogMDsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbi5hbmltYXRlX19yb3RhdGVJblVwTGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluVXBMZWZ0O1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlSW5VcExlZnQ7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVJblVwUmlnaHQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC05MGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbkBrZXlmcmFtZXMgcm90YXRlSW5VcFJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC05MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG4uYW5pbWF0ZV9fcm90YXRlSW5VcFJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlSW5VcFJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlSW5VcFJpZ2h0O1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOyB9XG5cbi8qIFJvdGF0aW5nIGV4aXRzICovXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlT3V0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDIwMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAyMDBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZU91dCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAyMDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMjAwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuLmFuaW1hdGVfX3JvdGF0ZU91dCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dDtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dDtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlT3V0RG93bkxlZnQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZU91dERvd25MZWZ0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuLmFuaW1hdGVfX3JvdGF0ZU91dERvd25MZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlT3V0RG93bkxlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXREb3duTGVmdDtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZU91dERvd25SaWdodCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuQGtleWZyYW1lcyByb3RhdGVPdXREb3duUmlnaHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbi5hbmltYXRlX19yb3RhdGVPdXREb3duUmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXREb3duUmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXREb3duUmlnaHQ7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZU91dFVwTGVmdCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuQGtleWZyYW1lcyByb3RhdGVPdXRVcExlZnQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbi5hbmltYXRlX19yb3RhdGVPdXRVcExlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXRVcExlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXRVcExlZnQ7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVPdXRVcFJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuQGtleWZyYW1lcyByb3RhdGVPdXRVcFJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuLmFuaW1hdGVfX3JvdGF0ZU91dFVwUmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXRVcFJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlT3V0VXBSaWdodDtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTsgfVxuXG4vKiBTcGVjaWFscyAqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGhpbmdlIHtcbiAgMCUge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7IH1cbiAgMjAlLFxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA4MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA4MGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDsgfVxuICA0MCUsXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDYwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDYwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA3MDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA3MDBweCwgMCk7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbkBrZXlmcmFtZXMgaGluZ2Uge1xuICAwJSB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDsgfVxuICAyMCUsXG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDgwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDgwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0OyB9XG4gIDQwJSxcbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNjBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gICAgb3BhY2l0eTogMTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDcwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDcwMHB4LCAwKTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuLmFuaW1hdGVfX2hpbmdlIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IGNhbGMoMXMgKiAyKTtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKDFzICogMik7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKHZhcigtLWFuaW1hdGUtZHVyYXRpb24pICogMik7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYyh2YXIoLS1hbmltYXRlLWR1cmF0aW9uKSAqIDIpO1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBoaW5nZTtcbiAgYW5pbWF0aW9uLW5hbWU6IGhpbmdlO1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xuICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgamFja0luVGhlQm94IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC4xKSByb3RhdGUoMzBkZWcpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC4xKSByb3RhdGUoMzBkZWcpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tOyB9XG4gIDUwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtMTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC0xMGRlZyk7IH1cbiAgNzAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDNkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDNkZWcpOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9IH1cblxuQGtleWZyYW1lcyBqYWNrSW5UaGVCb3gge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjEpIHJvdGF0ZSgzMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjEpIHJvdGF0ZSgzMGRlZyk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207IH1cbiAgNTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC0xMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTEwZGVnKTsgfVxuICA3MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoM2RlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoM2RlZyk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7IH0gfVxuXG4uYW5pbWF0ZV9famFja0luVGhlQm94IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogamFja0luVGhlQm94O1xuICBhbmltYXRpb24tbmFtZTogamFja0luVGhlQm94OyB9XG5cbi8qIG9yaWdpbmFsbHkgYXV0aG9yZWQgYnkgTmljayBQZXR0aXQgLSBodHRwczovL2dpdGh1Yi5jb20vbmlja3BldHRpdC9nbGlkZSAqL1xuQC13ZWJraXQta2V5ZnJhbWVzIHJvbGxJbiB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtMTIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtMTIwZGVnKTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfSB9XG5cbkBrZXlmcmFtZXMgcm9sbEluIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xMjBkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xMjBkZWcpOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9IH1cblxuLmFuaW1hdGVfX3JvbGxJbiB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvbGxJbjtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvbGxJbjsgfVxuXG4vKiBvcmlnaW5hbGx5IGF1dGhvcmVkIGJ5IE5pY2sgUGV0dGl0IC0gaHR0cHM6Ly9naXRodWIuY29tL25pY2twZXR0aXQvZ2xpZGUgKi9cbkAtd2Via2l0LWtleWZyYW1lcyByb2xsT3V0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMTIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDEyMGRlZyk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHJvbGxPdXQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAxMjBkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMTIwZGVnKTsgfSB9XG5cbi5hbmltYXRlX19yb2xsT3V0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm9sbE91dDtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvbGxPdXQ7IH1cblxuLyogWm9vbWluZyBlbnRyYW5jZXMgKi9cbkAtd2Via2l0LWtleWZyYW1lcyB6b29tSW4ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMywgMC4zLCAwLjMpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjMsIDAuMywgMC4zKTsgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG5Aa2V5ZnJhbWVzIHpvb21JbiB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4zLCAwLjMsIDAuMyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMywgMC4zLCAwLjMpOyB9XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbi5hbmltYXRlX196b29tSW4ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tSW47XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tSW47IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHpvb21JbkRvd24ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDAsIC0xMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgwLCAtMTAwMHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpOyB9XG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoMCwgNjBweCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTsgfSB9XG5cbkBrZXlmcmFtZXMgem9vbUluRG93biB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMCwgLTEwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDAsIC0xMDAwcHgsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7IH1cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpOyB9IH1cblxuLmFuaW1hdGVfX3pvb21JbkRvd24ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tSW5Eb3duO1xuICBhbmltYXRpb24tbmFtZTogem9vbUluRG93bjsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbUluTGVmdCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoLTEwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKC0xMDAwcHgsIDAsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7IH1cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpOyB9IH1cblxuQGtleWZyYW1lcyB6b29tSW5MZWZ0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgtMTAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoLTEwMDBweCwgMCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTsgfVxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7IH0gfVxuXG4uYW5pbWF0ZV9fem9vbUluTGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21JbkxlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tSW5MZWZ0OyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyB6b29tSW5SaWdodCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMTAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMTAwMHB4LCAwLCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpOyB9XG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpOyB9IH1cblxuQGtleWZyYW1lcyB6b29tSW5SaWdodCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMTAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMTAwMHB4LCAwLCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpOyB9XG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpOyB9IH1cblxuLmFuaW1hdGVfX3pvb21JblJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbUluUmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tSW5SaWdodDsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbUluVXAge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDAsIDEwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDAsIDEwMDBweCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTsgfVxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoMCwgLTYwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTsgfSB9XG5cbkBrZXlmcmFtZXMgem9vbUluVXAge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDAsIDEwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDAsIDEwMDBweCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTsgfVxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoMCwgLTYwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTsgfSB9XG5cbi5hbmltYXRlX196b29tSW5VcCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21JblVwO1xuICBhbmltYXRpb24tbmFtZTogem9vbUluVXA7IH1cblxuLyogWm9vbWluZyBleGl0cyAqL1xuQC13ZWJraXQta2V5ZnJhbWVzIHpvb21PdXQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjMsIDAuMywgMC4zKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4zLCAwLjMsIDAuMyk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG5Aa2V5ZnJhbWVzIHpvb21PdXQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjMsIDAuMywgMC4zKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4zLCAwLjMsIDAuMyk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG4uYW5pbWF0ZV9fem9vbU91dCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21PdXQ7XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tT3V0OyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyB6b29tT3V0RG93biB7XG4gIDQwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDAsIC02MHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTsgfSB9XG5cbkBrZXlmcmFtZXMgem9vbU91dERvd24ge1xuICA0MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoMCwgLTYwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7IH0gfVxuXG4uYW5pbWF0ZV9fem9vbU91dERvd24ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tT3V0RG93bjtcbiAgYW5pbWF0aW9uLW5hbWU6IHpvb21PdXREb3duO1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHpvb21PdXRMZWZ0IHtcbiAgNDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDQycHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCg0MnB4LCAwLCAwKTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC4xKSB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuMSkgdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHpvb21PdXRMZWZ0IHtcbiAgNDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDQycHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCg0MnB4LCAwLCAwKTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC4xKSB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuMSkgdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7IH0gfVxuXG4uYW5pbWF0ZV9fem9vbU91dExlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tT3V0TGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IHpvb21PdXRMZWZ0O1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgY2VudGVyO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGNlbnRlcjsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbU91dFJpZ2h0IHtcbiAgNDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKC00MnB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoLTQycHgsIDAsIDApOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjEpIHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjEpIHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHpvb21PdXRSaWdodCB7XG4gIDQwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgtNDJweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKC00MnB4LCAwLCAwKTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC4xKSB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC4xKSB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApOyB9IH1cblxuLmFuaW1hdGVfX3pvb21PdXRSaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21PdXRSaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IHpvb21PdXRSaWdodDtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBjZW50ZXI7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGNlbnRlcjsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbU91dFVwIHtcbiAgNDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpOyB9IH1cblxuQGtleWZyYW1lcyB6b29tT3V0VXAge1xuICA0MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoMCwgNjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7IH0gfVxuXG4uYW5pbWF0ZV9fem9vbU91dFVwIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbU91dFVwO1xuICBhbmltYXRpb24tbmFtZTogem9vbU91dFVwO1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207IH1cblxuLyogU2xpZGluZyBlbnRyYW5jZXMgKi9cbkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZUluRG93biB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHNsaWRlSW5Eb3duIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfSB9XG5cbi5hbmltYXRlX19zbGlkZUluRG93biB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5Eb3duO1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVJbkRvd247IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlSW5MZWZ0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfSB9XG5cbkBrZXlmcmFtZXMgc2xpZGVJbkxlZnQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9IH1cblxuLmFuaW1hdGVfX3NsaWRlSW5MZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2xpZGVJbkxlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZUluTGVmdDsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVJblJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHNsaWRlSW5SaWdodCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9IH1cblxuLmFuaW1hdGVfX3NsaWRlSW5SaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5SaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5SaWdodDsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVJblVwIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHNsaWRlSW5VcCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9IH1cblxuLmFuaW1hdGVfX3NsaWRlSW5VcCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5VcDtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5VcDsgfVxuXG4vKiBTbGlkaW5nIGV4aXRzICovXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVPdXREb3duIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cbiAgdG8ge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTsgfSB9XG5cbkBrZXlmcmFtZXMgc2xpZGVPdXREb3duIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cbiAgdG8ge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTsgfSB9XG5cbi5hbmltYXRlX19zbGlkZU91dERvd24ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZU91dERvd247XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZU91dERvd247IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlT3V0TGVmdCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG4gIHRvIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTsgfSB9XG5cbkBrZXlmcmFtZXMgc2xpZGVPdXRMZWZ0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cbiAgdG8ge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApOyB9IH1cblxuLmFuaW1hdGVfX3NsaWRlT3V0TGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0TGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0TGVmdDsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVPdXRSaWdodCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG4gIHRvIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHNsaWRlT3V0UmlnaHQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfVxuICB0byB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApOyB9IH1cblxuLmFuaW1hdGVfX3NsaWRlT3V0UmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZU91dFJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVPdXRSaWdodDsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVPdXRVcCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG4gIHRvIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTsgfSB9XG5cbkBrZXlmcmFtZXMgc2xpZGVPdXRVcCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG4gIHRvIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTsgfSB9XG5cbi5hbmltYXRlX19zbGlkZU91dFVwIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2xpZGVPdXRVcDtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0VXA7IH1cblxuLypcclxuXHJcbi0tLS0tIEF4aXMgRWxlbWVudCBQcmludCAtLS0tLSBcclxuQWxsb3dzIHlvdSB0byBzZWxlY3QgYW4gZWxlbWVudCB0byBiZSBwcmludGVkIGluc2lkZSBvZiB0aGUgRE9NLlxyXG5cclxuVGhpcyBkZWFscyB3aXRoIGdlbmVyYWwgZm9ybWF0dGluZyBvZiB0ZXh0IHdoZW4gaW4gcHJpbnQgdmlldyBhbmQgd2hpY2ggZWxlbWVudCBzaG91bGQgYmUgZXhjbHVkZWQgYXMgaXQgZG9lc24ndCBtYWtlIHNlbnNlIGZvciB0aGVtIHRvIGJlIHRoZXJlLlxyXG5cclxuKi9cbkBtZWRpYSBwcmludCB7XG4gIC5wZS1uby1wcmludCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC5wZS1wcmVzZXJ2ZS1hbmNlc3RvciB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50OyB9XG4gIFtkYXRhLWF4aXMtc3RpY2t5XSwgW2RhdGEtc3RpY2t5LWNvbnRlbnQtY29udGFpbmVyXSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuZW5xdWlyeS1maWx0ZXJzIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5jYWxsLXR5cGUtaWNvbiwgLmNhbGwtc291cmNlLWljb24ge1xuICAgIGZpbHRlcjogZ3JheXNjYWxlKDEpOyB9XG4gIC5lbnF1aXJ5LWhlYWRlci1zZWN0aW9uIGgyIHtcbiAgICBjb2xvcjogIzAwMDAwMCAhaW1wb3J0YW50OyB9XG4gIC5heGlzLXNlY3Rpb24taGVhZGVyOmFmdGVyIHtcbiAgICBjb2xvcjogIzAwMDAwMCAhaW1wb3J0YW50OyB9XG4gIHRhYmxlIC5jb2wtbGFiZWwge1xuICAgIGNvbG9yOiAjMDAwMDAwICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgdGFibGUgdHIge1xuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctdG9wOiA1cHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNXB4ICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNhZWFlYWUgIWltcG9ydGFudDsgfVxuICB0YWJsZSB0ZCB7XG4gICAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50OyB9XG4gIC5wYWdlLWJ1dHRvbnMtY29udGFpbmVyLCAuYWNjb3VudC1idXR0b25zLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHtcbiAgICBjb2xvcjogIzAwMDAwMCAhaW1wb3J0YW50OyB9XG4gIC5jbXMtY29udGVudC1jb250YWluZXIge1xuICAgIG1heC1oZWlnaHQ6IG5vbmUgIWltcG9ydGFudDtcbiAgICBvdmVyZmxvdy15OiB2aXNpYmxlICFpbXBvcnRhbnQ7IH1cbiAgLm1vZGFsLWNvbnRhaW5lciAuY29udGVudCwgLm1vZGFsLWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIge1xuICAgIG92ZXJmbG93LXk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgICBvdmVyZmxvdzogdmlzaWJsZSAhaW1wb3J0YW50OyB9XG4gIC5tb2RhbC1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICAgIG92ZXJmbG93OiB2aXNpYmxlICFpbXBvcnRhbnQ7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLmFjdGl2ZSB7XG4gICAgICBvdmVyZmxvdy15OiB1bnNldCAhaW1wb3J0YW50OyB9IH1cblxuLypcclxuLS0tLS0gRG9jdW1lbnRhdGlvbiAtLS0tLS0gXHJcblNwZWNpZmljYWxseSBoYW5kbGVzIHRoZSBzdHlsaW5nIGZvciBBWElTIERvY3VtZW50YXRpb24sIHRoZXJlIHdpbGwgYmUgc2ltaWxhcml0aWVzIGJldHdlZW4gdGhpcyBjb2RlIGFuZCBjbXMgY29udGFpbmVycy5cclxuXHJcblRoaXMgZGVhbHMgd2l0aCB0aGUgZm9sbG93aW5nIHBhZ2UgdHlwZXM6XHJcbi0tIFByb2R1Y3RzXHJcbi0tLS0gQm9va3NcclxuLS0tLS0tIENoYXB0ZXJzXHJcbi0tLS0tLS0tIEFydGljbGVzXHJcbi0tLS0tLS0tIEZ1bmN0aW9uc1xyXG4tLS0tLS0tLS0tIEFydGljbGVcclxuKi9cbi5kb2N1bWVudGF0aW9uLWNvbnRyb2xzLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogMjBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmRvY3VtZW50YXRpb24tY29udHJvbHMtY29udGFpbmVyIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAgICBnYXA6IDA7IH0gfVxuICAuZG9jdW1lbnRhdGlvbi1jb250cm9scy1jb250YWluZXIgLmRvY3VtZW50YXRpb24tc2VhcmNoLWNvbnRhaW5lciB7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2RhZGFkYTtcbiAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmRvY3VtZW50YXRpb24tY29udHJvbHMtY29udGFpbmVyIC5kb2N1bWVudGF0aW9uLXNlYXJjaC1jb250YWluZXIge1xuICAgICAgICBwYWRkaW5nOiA1cHg7IH0gfVxuICAgIC5kb2N1bWVudGF0aW9uLWNvbnRyb2xzLWNvbnRhaW5lciAuZG9jdW1lbnRhdGlvbi1zZWFyY2gtY29udGFpbmVyIGZvcm0ge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBnYXA6IDVweDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAuZG9jdW1lbnRhdGlvbi1jb250cm9scy1jb250YWluZXIgLmRvY3VtZW50YXRpb24tc2VhcmNoLWNvbnRhaW5lciBmb3JtIHtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9IH1cbiAgICAgIC5kb2N1bWVudGF0aW9uLWNvbnRyb2xzLWNvbnRhaW5lciAuZG9jdW1lbnRhdGlvbi1zZWFyY2gtY29udGFpbmVyIGZvcm0gLmxhYmVsIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAxMHB4O1xuICAgICAgICBjb2xvcjogIzc3Nzc3NztcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgLmRvY3VtZW50YXRpb24tY29udHJvbHMtY29udGFpbmVyIC5kb2N1bWVudGF0aW9uLXNlYXJjaC1jb250YWluZXIgZm9ybSAubGFiZWwge1xuICAgICAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgICAgICAgcGFkZGluZzogMCAyMHB4IDAgMTBweDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmRvY3VtZW50YXRpb24tY29udHJvbHMtY29udGFpbmVyIC5kb2N1bWVudGF0aW9uLXNlYXJjaC1jb250YWluZXIgLnNlYXJjaC16b25lIHtcbiAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuZG9jdW1lbnRhdGlvbi1jb250cm9scy1jb250YWluZXIgLmRvY3VtZW50YXRpb24tc2VhcmNoLWNvbnRhaW5lciAuc2VhcmNoLXpvbmUgLmNvbnRyb2wtc2VsZWN0LWNvbnRhaW5lciB7XG4gICAgICAgIG1heC13aWR0aDogNDAwcHg7XG4gICAgICAgIG1pbi13aWR0aDogMjA1cHg7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgICAuZG9jdW1lbnRhdGlvbi1jb250cm9scy1jb250YWluZXIgLmRvY3VtZW50YXRpb24tc2VhcmNoLWNvbnRhaW5lciAuc2VhcmNoLXpvbmUgLnNlbGVjdGVkLWRlc2NyaXB0aW9uIHtcbiAgICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICAgLmRvY3VtZW50YXRpb24tY29udHJvbHMtY29udGFpbmVyIC5kb2N1bWVudGF0aW9uLXNlYXJjaC1jb250YWluZXIgLmRvY3VtZW50YXRpb24tc2VhcmNoIHtcbiAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAuZG9jdW1lbnRhdGlvbi1jb250cm9scy1jb250YWluZXIgLmRvY3VtZW50YXRpb24tc2VhcmNoLWNvbnRhaW5lciAuZG9jdW1lbnRhdGlvbi1zZWFyY2gge1xuICAgICAgICAgIG1pbi13aWR0aDogNDIwcHg7IH0gfVxuICAgICAgLmRvY3VtZW50YXRpb24tY29udHJvbHMtY29udGFpbmVyIC5kb2N1bWVudGF0aW9uLXNlYXJjaC1jb250YWluZXIgLmRvY3VtZW50YXRpb24tc2VhcmNoIC5mb3JtLWVycm9yIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgICAuZG9jdW1lbnRhdGlvbi1jb250cm9scy1jb250YWluZXIgLmRvY3VtZW50YXRpb24tc2VhcmNoLWNvbnRhaW5lciAuZG9jdW1lbnRhdGlvbi1zZWFyY2ggaW5wdXQ6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgY29sb3I6ICM3Nzc3Nzc7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5kb2N1bWVudGF0aW9uLWNvbnRyb2xzLWNvbnRhaW5lciAuZG9jdW1lbnRhdGlvbi1hY2Nlc3MtbGV2ZWwtY29udGFpbmVyIHtcbiAgICAgIG1heC13aWR0aDogNTc1cHg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9IH1cbiAgLmRvY3VtZW50YXRpb24tY29udHJvbHMtY29udGFpbmVyIC5kb2N1bWVudGF0aW9uLWFjY2Vzcy1sZXZlbC1jb250YWluZXIgZm9ybSBsYWJlbCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmRvY3VtZW50YXRpb24tY29udHJvbHMtY29udGFpbmVyIC5kb2N1bWVudGF0aW9uLWFjY2Vzcy1sZXZlbC1jb250YWluZXIgZm9ybSBsYWJlbCB7XG4gICAgICAgIG1heC13aWR0aDogNTc1cHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9IH1cbiAgLmRvY3VtZW50YXRpb24tY29udHJvbHMtY29udGFpbmVyIC5kb2N1bWVudGF0aW9uLWFjY2Vzcy1sZXZlbC1jb250YWluZXIgZm9ybSAubGFiZWwge1xuICAgIHBhZGRpbmc6IDAgMCAxMHB4O1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5kb2N1bWVudGF0aW9uLWNvbnRyb2xzLWNvbnRhaW5lciAuZG9jdW1lbnRhdGlvbi1hY2Nlc3MtbGV2ZWwtY29udGFpbmVyIGZvcm0gLmxhYmVsIHtcbiAgICAgICAgcGFkZGluZzogMCAxMHB4IDAgMDsgfSB9XG4gIC5kb2N1bWVudGF0aW9uLWNvbnRyb2xzLWNvbnRhaW5lciAuZG9jdW1lbnRhdGlvbi1hY2Nlc3MtbGV2ZWwtY29udGFpbmVyIGZvcm0gLmNvbnRyb2wtc2VsZWN0LWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuZG9jdW1lbnRhdGlvbi1jb250cm9scy1jb250YWluZXIgLmRvY3VtZW50YXRpb24tYWNjZXNzLWxldmVsLWNvbnRhaW5lciBmb3JtIC5jb250cm9sLXNlbGVjdC1jb250YWluZXIge1xuICAgICAgICBtYXgtd2lkdGg6IDQyMHB4OyB9IH1cblxuLmRvY3VtZW50YXRpb24tbGlzdC1pdGVtLWNvbnRhaW5lci5kZXBhcnRtZW50LWNvbG91ci1wYWxldHRlIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtaGVhZGVyLWNvbnRhaW5lciBoMiwgLmRvY3VtZW50YXRpb24tbGlzdC1pdGVtLWNvbnRhaW5lci5zaXRlLXN0eWxlIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtaGVhZGVyLWNvbnRhaW5lciBoMiB7XG4gIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMCwgIzA2MDUyZik7IH1cblxuLmRvY3VtZW50YXRpb24tbGlzdC1jb250ZW50LWNvbnRhaW5lciArIC5kb2N1bWVudGF0aW9uLWxpc3QtY29udGVudC1jb250YWluZXIge1xuICBtYXJnaW4tdG9wOiAyMHB4OyB9XG5cbi5kb2N1bWVudGF0aW9uLWxpc3QtY29udGVudC1jb250YWluZXIgdWwge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgLmRvY3VtZW50YXRpb24tbGlzdC1jb250ZW50LWNvbnRhaW5lciB1bC5zdHJpcGVzID4gbGk6bnRoLWNoaWxkKG9kZCkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmM2YzZjM7IH1cbiAgLmRvY3VtZW50YXRpb24tbGlzdC1jb250ZW50LWNvbnRhaW5lciB1bC5zdHJpcGVzID4gbGk6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XG4gIC5kb2N1bWVudGF0aW9uLWxpc3QtY29udGVudC1jb250YWluZXIgdWwuc3RyaXBlcyA+IGxpIHVsIGxpLmlzLXN1Ym1lbnUtaXRlbTpudGgtY2hpbGQoZXZlbikge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmM2YzZjM7IH1cbiAgLmRvY3VtZW50YXRpb24tbGlzdC1jb250ZW50LWNvbnRhaW5lciB1bC5zdHJpcGVzID4gbGkgdWwgbGkuaXMtc3VibWVudS1pdGVtOm50aC1jaGlsZChvZGQpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XG4gIC5kb2N1bWVudGF0aW9uLWxpc3QtY29udGVudC1jb250YWluZXIgdWwgbGkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICBnYXA6IDAgNXB4O1xuICAgIHBhZGRpbmc6IDdweCAwOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5kb2N1bWVudGF0aW9uLWxpc3QtY29udGVudC1jb250YWluZXIgdWwgbGkgLmNvbnRleHQtbWVudS1jb250YWluZXIge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiA1cHggMDsgfSB9XG4gICAgLmRvY3VtZW50YXRpb24tbGlzdC1jb250ZW50LWNvbnRhaW5lciB1bCBsaSAudG9vbHRpcC1jb250YWluZXIge1xuICAgICAgYWxpZ24tc2VsZjogZmxleC1lbmQ7IH1cbiAgLmRvY3VtZW50YXRpb24tbGlzdC1jb250ZW50LWNvbnRhaW5lciB1bCBhIHtcbiAgICBjb2xvcjogIzc3Nzc3NztcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGZvbnQtc2l6ZTogMS4wNjI1cmVtO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgICAuZG9jdW1lbnRhdGlvbi1saXN0LWNvbnRlbnQtY29udGFpbmVyIHVsIGE6aG92ZXIge1xuICAgICAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wLCAjYWU5NDYxKTtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cblxuLmRvY3VtZW50YXRpb24tbGlzdC1jb250ZW50LWNvbnRhaW5lciAuaW5kZXgge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbjogMCAxMHB4IDAgMDtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG4uZG9jdW1lbnRhdGlvbi1hcnRpY2xlLWludHJvLWNvbnRhaW5lciwgLmRvY3VtZW50YXRpb24taW50cm8tY29udGFpbmVyIHtcbiAgLS1jb21wb25lbnQtc3BlY2lmYy1zdGVwLWhlaWdodDogNTZweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5kb2N1bWVudGF0aW9uLWFydGljbGUtaW50cm8tY29udGFpbmVyLmxheW91dC0xLCAuZG9jdW1lbnRhdGlvbi1pbnRyby1jb250YWluZXIubGF5b3V0LTEge1xuICAgIG1hcmdpbjogMzVweCAwIDQ1cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuZG9jdW1lbnRhdGlvbi1hcnRpY2xlLWludHJvLWNvbnRhaW5lci5sYXlvdXQtMSwgLmRvY3VtZW50YXRpb24taW50cm8tY29udGFpbmVyLmxheW91dC0xIHtcbiAgICAgICAgbWFyZ2luOiA0NXB4IDAgNTVweDsgfSB9XG4gICAgLmRvY3VtZW50YXRpb24tYXJ0aWNsZS1pbnRyby1jb250YWluZXIubGF5b3V0LTEgaDIsIC5kb2N1bWVudGF0aW9uLWludHJvLWNvbnRhaW5lci5sYXlvdXQtMSBoMiB7XG4gICAgICBtYXJnaW46IDAgMCAzMHB4O1xuICAgICAgcGFkZGluZzogMCAwIDIwcHg7XG4gICAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTAsICMwNjA1MmYpO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAycHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgIC5kb2N1bWVudGF0aW9uLWFydGljbGUtaW50cm8tY29udGFpbmVyLmxheW91dC0xIGgyOmJlZm9yZSwgLmRvY3VtZW50YXRpb24taW50cm8tY29udGFpbmVyLmxheW91dC0xIGgyOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICB3aWR0aDogNTBweDtcbiAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDAgMXB4IDA7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzg4ODg4ODsgfVxuICAgICAgICBAbWVkaWEgcHJpbnQge1xuICAgICAgICAgIC5kb2N1bWVudGF0aW9uLWFydGljbGUtaW50cm8tY29udGFpbmVyLmxheW91dC0xIGgyOmJlZm9yZSwgLmRvY3VtZW50YXRpb24taW50cm8tY29udGFpbmVyLmxheW91dC0xIGgyOmJlZm9yZSB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgIzg4ODg4ODtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9IH1cbiAgICAuZG9jdW1lbnRhdGlvbi1hcnRpY2xlLWludHJvLWNvbnRhaW5lci5sYXlvdXQtMSBoMSwgLmRvY3VtZW50YXRpb24taW50cm8tY29udGFpbmVyLmxheW91dC0xIGgxIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGNvbG9yOiAjNzc3Nzc3O1xuICAgICAgZm9udC1zaXplOiAyLjI1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuZG9jdW1lbnRhdGlvbi1hcnRpY2xlLWludHJvLWNvbnRhaW5lci5sYXlvdXQtMiwgLmRvY3VtZW50YXRpb24taW50cm8tY29udGFpbmVyLmxheW91dC0yIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAzMHB4O1xuICAgIG1hcmdpbjogMjBweCAwIDMwcHg7XG4gICAgcGFkZGluZzogMjVweCAyMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy05KTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5kb2N1bWVudGF0aW9uLWFydGljbGUtaW50cm8tY29udGFpbmVyLmxheW91dC0yLCAuZG9jdW1lbnRhdGlvbi1pbnRyby1jb250YWluZXIubGF5b3V0LTIge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBnYXA6IDgwcHg7XG4gICAgICAgIG1hcmdpbjogMzBweCAwIDQwcHg7XG4gICAgICAgIHBhZGRpbmc6IDIwcHg7IH0gfVxuICAgIC5kb2N1bWVudGF0aW9uLWFydGljbGUtaW50cm8tY29udGFpbmVyLmxheW91dC0yIGgxLCAuZG9jdW1lbnRhdGlvbi1hcnRpY2xlLWludHJvLWNvbnRhaW5lci5sYXlvdXQtMiBoMiwgLmRvY3VtZW50YXRpb24taW50cm8tY29udGFpbmVyLmxheW91dC0yIGgxLCAuZG9jdW1lbnRhdGlvbi1pbnRyby1jb250YWluZXIubGF5b3V0LTIgaDIge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgIC5kb2N1bWVudGF0aW9uLWFydGljbGUtaW50cm8tY29udGFpbmVyLmxheW91dC0yIGgxLCAuZG9jdW1lbnRhdGlvbi1pbnRyby1jb250YWluZXIubGF5b3V0LTIgaDEge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgY29sb3I6ICM3Nzc3Nzc7XG4gICAgICBmb250LXNpemU6IDEuODc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAgIC5kb2N1bWVudGF0aW9uLWFydGljbGUtaW50cm8tY29udGFpbmVyLmxheW91dC0yIGgyLCAuZG9jdW1lbnRhdGlvbi1pbnRyby1jb250YWluZXIubGF5b3V0LTIgaDIge1xuICAgICAgbWFyZ2luOiAwIDAgNXB4O1xuICAgICAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wLCAjMDYwNTJmKTtcbiAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAzcHg7IH1cbiAgICAuZG9jdW1lbnRhdGlvbi1hcnRpY2xlLWludHJvLWNvbnRhaW5lci5sYXlvdXQtMiAuY29udGVudC1jb250YWluZXIsIC5kb2N1bWVudGF0aW9uLWludHJvLWNvbnRhaW5lci5sYXlvdXQtMiAuY29udGVudC1jb250YWluZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGZsZXg6IDE7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLmRvY3VtZW50YXRpb24tYXJ0aWNsZS1pbnRyby1jb250YWluZXIubGF5b3V0LTIgLmNvbnRlbnQtY29udGFpbmVyLCAuZG9jdW1lbnRhdGlvbi1pbnRyby1jb250YWluZXIubGF5b3V0LTIgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgICAgICBtYXJnaW46IDAgMCAwIDIwcHg7IH0gfVxuICAgIC5kb2N1bWVudGF0aW9uLWFydGljbGUtaW50cm8tY29udGFpbmVyLmxheW91dC0yIC5iYW5uZXItY29udGFpbmVyIC5pbWFnZSwgLmRvY3VtZW50YXRpb24taW50cm8tY29udGFpbmVyLmxheW91dC0yIC5iYW5uZXItY29udGFpbmVyIC5pbWFnZSB7XG4gICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAjZmZmZmZmOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5kb2N1bWVudGF0aW9uLWFydGljbGUtaW50cm8tY29udGFpbmVyLmxheW91dC0yIC5iYW5uZXItY29udGFpbmVyIC5pbWFnZSBpbWcsIC5kb2N1bWVudGF0aW9uLWludHJvLWNvbnRhaW5lci5sYXlvdXQtMiAuYmFubmVyLWNvbnRhaW5lciAuaW1hZ2UgaW1nIHtcbiAgICAgICAgICB3aWR0aDogMjQ1cHg7IH0gfVxuXG4uZG9jdW1lbnRhdGlvbi1hZGRpdGlvbmFsLWxpbmtzIHVsIHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBnYXA6IDVweCAyNXB4O1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgLmRvY3VtZW50YXRpb24tYWRkaXRpb25hbC1saW5rcyB1bCBsaSB7XG4gICAgZmxleDogbm9uZTsgfVxuXG4uZG9jdW1lbnRhdGlvbi1hZGRpdGlvbmFsLWxpbmtzIC5hdHRhY2htZW50IHtcbiAgcGFkZGluZzogMDtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBmb250LXdlaWdodDogNjAwOyB9XG4gIC5kb2N1bWVudGF0aW9uLWFkZGl0aW9uYWwtbGlua3MgLmF0dGFjaG1lbnQ6YmVmb3JlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgY29sb3I6ICMwNjA1MmY7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAuZG9jdW1lbnRhdGlvbi1hZGRpdGlvbmFsLWxpbmtzIC5hdHRhY2htZW50OmhvdmVyIHtcbiAgICBjb2xvcjogI2FlOTQ2MTsgfVxuICAgIC5kb2N1bWVudGF0aW9uLWFkZGl0aW9uYWwtbGlua3MgLmF0dGFjaG1lbnQ6aG92ZXI6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjYWU5NDYxO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAuZG9jdW1lbnRhdGlvbi1hZGRpdGlvbmFsLWxpbmtzIC5hdHRhY2htZW50OmFjdGl2ZSB7XG4gICAgY29sb3I6ICMwNjA1MmY7IH1cbiAgICAuZG9jdW1lbnRhdGlvbi1hZGRpdGlvbmFsLWxpbmtzIC5hdHRhY2htZW50OmFjdGl2ZTpiZWZvcmUge1xuICAgICAgY29sb3I6ICMwNjA1MmY7IH1cbiAgLmRvY3VtZW50YXRpb24tYWRkaXRpb25hbC1saW5rcyAuYXR0YWNobWVudC5wcmludGVyLWxpbms6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu+Ar1wiO1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiOyB9XG4gIC5kb2N1bWVudGF0aW9uLWFkZGl0aW9uYWwtbGlua3MgLmF0dGFjaG1lbnQuZG9jdW1lbnRhdGlvbi1wdWJsaWMtbGluazpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi74KsXCI7XG4gICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7IH1cbiAgLmRvY3VtZW50YXRpb24tYWRkaXRpb25hbC1saW5rcyAuYXR0YWNobWVudC5kb2N1bWVudGF0aW9uLXN0YXRpc3RpY3M6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu6Rs1wiO1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiOyB9XG5cbi5kb2N1bWVudGF0aW9uLWNoYXB0ZXItaGVhZGVyLWNvbnRhaW5lciBoMSwgLmRvY3VtZW50YXRpb24tYWN0aWNsZS1oZWFkZXItY29udGFpbmVyIGgxLCAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBoMSwgLmRvY3VtZW50YXRpb24tY29udGVudC1oZWFkZXItY29udGFpbmVyIGgxIHtcbiAgbWFyZ2luOiAwIDAgMzVweDtcbiAgcGFkZGluZzogMCAwIDE1cHg7XG4gIGNvbG9yOiAjMDYwNTJmO1xuICBmb250LXNpemU6IDEuNjI1cmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmRvY3VtZW50YXRpb24tY2hhcHRlci1oZWFkZXItY29udGFpbmVyIGgxOmJlZm9yZSwgLmRvY3VtZW50YXRpb24tYWN0aWNsZS1oZWFkZXItY29udGFpbmVyIGgxOmJlZm9yZSwgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgaDE6YmVmb3JlLCAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWhlYWRlci1jb250YWluZXIgaDE6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBib3JkZXItd2lkdGg6IDAgMCAxcHggMDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogI2FlYWVhZTsgfVxuICAgIEBtZWRpYSBwcmludCB7XG4gICAgICAuZG9jdW1lbnRhdGlvbi1jaGFwdGVyLWhlYWRlci1jb250YWluZXIgaDE6YmVmb3JlLCAuZG9jdW1lbnRhdGlvbi1hY3RpY2xlLWhlYWRlci1jb250YWluZXIgaDE6YmVmb3JlLCAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBoMTpiZWZvcmUsIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtaGVhZGVyLWNvbnRhaW5lciBoMTpiZWZvcmUge1xuICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2FlYWVhZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH0gfVxuICAuZG9jdW1lbnRhdGlvbi1jaGFwdGVyLWhlYWRlci1jb250YWluZXIgaDEgKyAuZG9jdW1lbnRhdGlvbi1hZGRpdGlvbmFsLWxpbmtzLCAuZG9jdW1lbnRhdGlvbi1hY3RpY2xlLWhlYWRlci1jb250YWluZXIgaDEgKyAuZG9jdW1lbnRhdGlvbi1hZGRpdGlvbmFsLWxpbmtzLCAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBoMSArIC5kb2N1bWVudGF0aW9uLWFkZGl0aW9uYWwtbGlua3MsIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtaGVhZGVyLWNvbnRhaW5lciBoMSArIC5kb2N1bWVudGF0aW9uLWFkZGl0aW9uYWwtbGlua3Mge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiAwOyB9XG5cbi5kb2N1bWVudGF0aW9uLWNoYXB0ZXItaGVhZGVyLWNvbnRhaW5lciBoMiwgLmRvY3VtZW50YXRpb24tYWN0aWNsZS1oZWFkZXItY29udGFpbmVyIGgyLCAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBoMiwgLmRvY3VtZW50YXRpb24tY29udGVudC1oZWFkZXItY29udGFpbmVyIGgyIHtcbiAgbWFyZ2luOiAwIDAgMjBweDtcbiAgcGFkZGluZzogMCAwIDE1cHg7XG4gIGNvbG9yOiAjMDYwNTJmO1xuICBmb250LXNpemU6IDEuNjI1cmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmRvY3VtZW50YXRpb24tY2hhcHRlci1oZWFkZXItY29udGFpbmVyIGgyOmJlZm9yZSwgLmRvY3VtZW50YXRpb24tYWN0aWNsZS1oZWFkZXItY29udGFpbmVyIGgyOmJlZm9yZSwgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgaDI6YmVmb3JlLCAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWhlYWRlci1jb250YWluZXIgaDI6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBib3JkZXItd2lkdGg6IDAgMCAxcHggMDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogI2FlYWVhZTsgfVxuICAgIEBtZWRpYSBwcmludCB7XG4gICAgICAuZG9jdW1lbnRhdGlvbi1jaGFwdGVyLWhlYWRlci1jb250YWluZXIgaDI6YmVmb3JlLCAuZG9jdW1lbnRhdGlvbi1hY3RpY2xlLWhlYWRlci1jb250YWluZXIgaDI6YmVmb3JlLCAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBoMjpiZWZvcmUsIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtaGVhZGVyLWNvbnRhaW5lciBoMjpiZWZvcmUge1xuICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2FlYWVhZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH0gfVxuXG4uZG9jdW1lbnRhdGlvbi1jaGFwdGVyLWhlYWRlci1jb250YWluZXIgaDMsIC5kb2N1bWVudGF0aW9uLWFjdGljbGUtaGVhZGVyLWNvbnRhaW5lciBoMywgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgaDMsIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtaGVhZGVyLWNvbnRhaW5lciBoMyB7XG4gIG1hcmdpbjogMCAwIDIwcHg7XG4gIHBhZGRpbmc6IDEwcHggMDtcbiAgY29sb3I6ICMwNjA1MmY7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmRvY3VtZW50YXRpb24tY2hhcHRlci1oZWFkZXItY29udGFpbmVyIGgzLCAuZG9jdW1lbnRhdGlvbi1hY3RpY2xlLWhlYWRlci1jb250YWluZXIgaDMsIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIGgzLCAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWhlYWRlci1jb250YWluZXIgaDMge1xuICAgICAgcGFkZGluZzogMTBweCAwOyB9IH1cbiAgLmRvY3VtZW50YXRpb24tY2hhcHRlci1oZWFkZXItY29udGFpbmVyIGgzOmJlZm9yZSwgLmRvY3VtZW50YXRpb24tYWN0aWNsZS1oZWFkZXItY29udGFpbmVyIGgzOmJlZm9yZSwgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgaDM6YmVmb3JlLCAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWhlYWRlci1jb250YWluZXIgaDM6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBib3JkZXItd2lkdGg6IDAgMCAxcHggMDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogI2FlYWVhZTsgfVxuICAgIEBtZWRpYSBwcmludCB7XG4gICAgICAuZG9jdW1lbnRhdGlvbi1jaGFwdGVyLWhlYWRlci1jb250YWluZXIgaDM6YmVmb3JlLCAuZG9jdW1lbnRhdGlvbi1hY3RpY2xlLWhlYWRlci1jb250YWluZXIgaDM6YmVmb3JlLCAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBoMzpiZWZvcmUsIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtaGVhZGVyLWNvbnRhaW5lciBoMzpiZWZvcmUge1xuICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2FlYWVhZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH0gfVxuXG4uZG9jdW1lbnRhdGlvbi1jaGFwdGVyLWhlYWRlci1jb250YWluZXIgaDQsIC5kb2N1bWVudGF0aW9uLWFjdGljbGUtaGVhZGVyLWNvbnRhaW5lciBoNCwgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgaDQsIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtaGVhZGVyLWNvbnRhaW5lciBoNCB7XG4gIG1hcmdpbjogMCAwIDIwcHg7XG4gIHBhZGRpbmc6IDA7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBmb250LXdlaWdodDogNjAwOyB9XG5cbi5kb2N1bWVudGF0aW9uLWNoYXB0ZXItaGVhZGVyLWNvbnRhaW5lciBoNSwgLmRvY3VtZW50YXRpb24tYWN0aWNsZS1oZWFkZXItY29udGFpbmVyIGg1LCAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBoNSwgLmRvY3VtZW50YXRpb24tY29udGVudC1oZWFkZXItY29udGFpbmVyIGg1IHtcbiAgbWFyZ2luOiAwIDAgMjBweDtcbiAgcGFkZGluZzogMDtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7IH1cblxuLmRvY3VtZW50YXRpb24tY2hhcHRlci1oZWFkZXItY29udGFpbmVyIGg2LCAuZG9jdW1lbnRhdGlvbi1hY3RpY2xlLWhlYWRlci1jb250YWluZXIgaDYsIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIGg2LCAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWhlYWRlci1jb250YWluZXIgaDYge1xuICBtYXJnaW46IDAgMCAyMHB4O1xuICBwYWRkaW5nOiAwO1xuICBjb2xvcjogIzAwMDAwMDtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1zdHlsZTogaXRhbGljOyB9XG5cbi5kb2N1bWVudGF0aW9uLWFydGljbGUtY29udGFpbmVyLCAuZG9jdW1lbnRhdGlvbi1saXN0LWl0ZW0tY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWFyZ2luLWJvdHRvbTogMzVweDsgfVxuICAuZG9jdW1lbnRhdGlvbi1hcnRpY2xlLWNvbnRhaW5lci5pbmRlbnRlZCwgLmRvY3VtZW50YXRpb24tbGlzdC1pdGVtLWNvbnRhaW5lci5pbmRlbnRlZCB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1cHg7IH1cbiAgLmRvY3VtZW50YXRpb24tYXJ0aWNsZS1jb250YWluZXIuaW5kZW50ZWQtcnVsZSwgLmRvY3VtZW50YXRpb24tbGlzdC1pdGVtLWNvbnRhaW5lci5pbmRlbnRlZC1ydWxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7IH1cbiAgICAuZG9jdW1lbnRhdGlvbi1hcnRpY2xlLWNvbnRhaW5lci5pbmRlbnRlZC1ydWxlOmJlZm9yZSwgLmRvY3VtZW50YXRpb24tbGlzdC1pdGVtLWNvbnRhaW5lci5pbmRlbnRlZC1ydWxlOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHdpZHRoOiAxcHg7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBiYWNrZ3JvdW5kOiAjYWVhZWFlOyB9XG5cbi5kb2N1bWVudGF0aW9uLWNoYXB0ZXItaGVhZGVyLWNvbnRhaW5lciwgLmRvY3VtZW50YXRpb24taGVhZGVyLWNvbnRhaW5lciB7XG4gIG1hcmdpbi1ib3R0b206IDM1cHg7IH1cbiAgLmRvY3VtZW50YXRpb24tY2hhcHRlci1oZWFkZXItY29udGFpbmVyIC5kb2N1bWVudGF0aW9uLWFkZGl0aW9uYWwtbGlua3MsIC5kb2N1bWVudGF0aW9uLWhlYWRlci1jb250YWluZXIgLmRvY3VtZW50YXRpb24tYWRkaXRpb25hbC1saW5rcyB7XG4gICAgcGFkZGluZy10b3A6IDI1cHg7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICM4ODg4ODg7IH1cblxuLmRvY3VtZW50YXRpb24tY2hhcHRlci1mb290ZXItY29udGFpbmVyLCAuZG9jdW1lbnRhdGlvbi1mb290ZXItY29udGFpbmVyIHtcbiAgcGFkZGluZy1ib3R0b206IDI1cHg7XG4gIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjODg4ODg4OyB9XG5cbi5kb2N1bWVudGF0aW9uLWFjdGljbGUtaGVhZGVyLWNvbnRhaW5lciwgLmRvY3VtZW50YXRpb24tY29udGVudC1oZWFkZXItY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIGFbaHJlZl49XCJ0ZWw6XCJdLCAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBhW2hyZWZePVwibWFpbHRvOlwiXSB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgYVtocmVmXj1cInRlbDpcIl06aG92ZXIsIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIGFbaHJlZl49XCJtYWlsdG86XCJdOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgYVtocmVmXj1cInRlbDpcIl0uc2hvdy1jb250YWN0LWljb246YmVmb3JlLCAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBhW2hyZWZePVwibWFpbHRvOlwiXS5zaG93LWNvbnRhY3QtaWNvbjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjsgfVxuXG4uZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBhW2hyZWZePVwibWFpbHRvOlwiXS5zaG93LWNvbnRhY3QtaWNvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+DoFwiOyB9XG5cbi5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIGFbaHJlZl49XCJ0ZWw6XCJdLnNob3ctY29udGFjdC1pY29uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi76G5XCI7XG4gIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IH1cblxuLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgcCBhOm5vdChbY2xhc3MqPVwiLWJ1dHRvblwiXSkge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgZ2FwOiAwIDVweDtcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG4uZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBwIGE6aGFzKFtzdHlsZSo9XCJmbG9hdFwiXSkge1xuICBkaXNwbGF5OiBpbmxpbmU7IH1cblxuLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgcCB7XG4gIG1hcmdpbjogdmFyKC0taW5kZW50LW1hcmdpbiwgMCk7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgY29sb3I6ICM3Nzc3Nzc7IH1cbiAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6bGVmdFwiXSwgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6IGxlZnRcIl0sIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIHBbc3R5bGUqPVwiZmxvYXQ6bGVmdFwiXSA+IGltZyB7XG4gICAgbWFyZ2luOiAuMmVtIC4yZW0gLjJlbSAwOyB9XG4gIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIHAgaW1nW3N0eWxlKj1cImZsb2F0OnJpZ2h0XCJdLCAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBwIGltZ1tzdHlsZSo9XCJmbG9hdDogcmlnaHRcIl0sIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIHBbc3R5bGUqPVwiZmxvYXQ6cmlnaHRcIl0gPiBpbWcge1xuICAgIG1hcmdpbjogLjJlbSAwIC4yZW0gLjJlbTsgfVxuICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBwIGltZyB7XG4gICAgbWFyZ2luOiAuMmVtIDA7IH1cbiAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgcCArIHAge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBwOm5vdCg6ZW1wdHkpICsgdGFibGUsIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIHA6bm90KDplbXB0eSkgKyAuY29tcGFyaXNvbi10YWJsZS1jb250YWluZXIge1xuICBtYXJnaW46IDE1cHggMDsgfVxuXG4uZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciB0YWJsZSB7XG4gIC0tdGhlYWQtYm9yZGVyLWNvbG91cjogJHRoZWFkLWJvcmRlci1jb2xvdXI7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciB0YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciB0YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCB0ciB7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tdGhlYWQtYm9yZGVyLWNvbG91cik7IH1cbiAgICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciB0YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCB0aCB7XG4gICAgICBmb250LXdlaWdodDogNjAwOyB9XG4gIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIHRhYmxlLnJlc3BvbnNpdmUtdGFibGUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlOyB9IH1cbiAgICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciB0YWJsZS5yZXNwb25zaXZlLXRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgdGFibGUucmVzcG9uc2l2ZS10YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCB7XG4gICAgICAgICAgZGlzcGxheTogdGFibGUtcm93LWdyb3VwOyB9IH1cbiAgICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHRib2R5Om5vdCguY29tcGFyaXNvbi1zdW1tYXJ5KSB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHRib2R5Om5vdCguY29tcGFyaXNvbi1zdW1tYXJ5KSB7XG4gICAgICAgICAgZGlzcGxheTogdGFibGUtcm93LWdyb3VwOyB9IH1cbiAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgdGFibGUgdGgge1xuICAgIHBhZGRpbmc6IDEwcHggMTBweCAxMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciB0YWJsZSB0ZCB7XG4gICAgICBwYWRkaW5nOiAxMHB4OyB9IH1cbiAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgdGFibGUgdGhlYWRbY2xhc3MqPVwicHJlc2V0XCJdICsgdGJvZHk6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgdGFibGUgdGhlYWRbY2xhc3MqPVwicHJlc2V0XCJdICsgdGJvZHk6YmVmb3JlIHtcbiAgICAgICAgbWFyZ2luOiAxMHB4OyB9IH1cbiAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgdGFibGUgdGJvZHkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgdGFibGUgdGJvZHkgdGgge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciB0YWJsZSB0Ym9keSB0cjpub3QoOmxhc3QtY2hpbGQpIHRoIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIHRhYmxlIHRib2R5IHRyIHtcbiAgICAgICAgZGlzcGxheTogdGFibGUtcm93OyB9IH1cbiAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgdGFibGUgLmNvbC1sYWJlbCB7XG4gICAgY29sb3I6ICM3Nzc3Nzc7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHRib2R5IHRyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHRib2R5IHRyOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlZWVlZWU7IH0gfVxuICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciB0YWJsZS5uby13cmFwIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG92ZXJmbG93LXg6IGF1dG87IH1cbiAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgdGFibGUuY29tcGFyaXNvbi10YWJsZSB0Ym9keSB0ZDpmaXJzdC1jaGlsZCB7XG4gICAgY29sb3I6ICM3Nzc3Nzc7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuXG4uZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBibG9ja3F1b3RlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGdhcDogMTVweDtcbiAgbWFyZ2luOiAwIGF1dG8gNDBweDtcbiAgcGFkZGluZzogNTBweCAzMHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LWZhbWlseTogXCJHaWJzb25cIiwgXCJHaWJzb24gRmFsbGJhY2tcIiwgXCJBcmlhbFwiO1xuICBmb250LXNpemU6IDFyZW07XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC44cywgYm9yZGVyLWNvbG9yIDAuOHM7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIGJsb2NrcXVvdGUge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIGdhcDogMjVweDsgfSB9XG4gIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIGJsb2NrcXVvdGU6aG92ZXIge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgYm9yZGVyLWNvbG9yOiAjZWVlZWVlO1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC42cywgYm9yZGVyLWNvbG9yIDAuNnM7IH1cbiAgICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBibG9ja3F1b3RlOmhvdmVyOmJlZm9yZSB7XG4gICAgICBjb2xvcjogI2RhZGFkYTtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgYmxvY2txdW90ZTpoYXMoaW1nKSB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBibG9ja3F1b3RlOmxhc3Qtb2YtdHlwZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgYmxvY2txdW90ZSB7XG4gICAgICBwYWRkaW5nOiA1MHB4IDYwcHg7IH0gfVxuICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBibG9ja3F1b3RlICsgYmxvY2txdW90ZSB7XG4gICAgbWFyZ2luLXRvcDogMTVweDsgfVxuICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBibG9ja3F1b3RlOmJlZm9yZSwgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgYmxvY2txdW90ZTphZnRlciB7XG4gICAgY29udGVudDogXCLvhI1cIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgZm9udC1zaXplOiA0MHB4O1xuICAgIGNvbG9yOiAjZWVlZWVlO1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgIGxpbmUtaGVpZ2h0OiAuODtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIGJsb2NrcXVvdGU6YmVmb3JlIHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDsgfVxuICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBibG9ja3F1b3RlOmFmdGVyIHtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsgfVxuICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBibG9ja3F1b3RlIGltZyB7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBibG9ja3F1b3RlIGltZyB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuXG4uZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBpZnJhbWVbc3JjKj1cImh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL1wiXSB7XG4gIGZsZXgtZ3JvdzogMTtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuXG4uZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBjb2RlIHtcbiAgbWF4LWhlaWdodDogNTAwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogMTBweCAxMHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW46IDAgMCA0MHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjNmM2YzO1xuICBib3JkZXI6IDFweCBzb2xpZCAjODg4ODg4O1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuOHM7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIGNvZGUge1xuICAgICAgcGFkZGluZzogMTBweCAzNXB4OyB9IH1cbiAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgY29kZTpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiAjNzc3Nzc3O1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjZzOyB9XG4gIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIGNvZGUgLmNvZGUtY29weS1idXR0b24tY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiBjYWxjKDEwMCUgLSAxNXB4KTtcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsOyB9XG4gIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIGNvZGUgLmNvZGUtY29weS1idXR0b24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcGFkZGluZzogOHB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM4ODg4ODg7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzLCBwYWRkaW5nIDAuOHMsIG9wYWNpdHkgMC44czsgfVxuICAgIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIGNvZGUgLmNvZGUtY29weS1idXR0b246YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74OFXCI7XG4gICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgUmVndWxhclwiO1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzLCBmb250LXNpemUgMC44czsgfVxuICAgIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIGNvZGUgLmNvZGUtY29weS1idXR0b246aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzA2MDUyZjtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfVxuICAgIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIGNvZGUgLmNvZGUtY29weS1idXR0b24uYWN0aXZlLCAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBjb2RlIC5jb2RlLWNvcHktYnV0dG9uOmFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDYwNTJmOyB9XG4gICAgICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBjb2RlIC5jb2RlLWNvcHktYnV0dG9uLmFjdGl2ZTpiZWZvcmUsIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIGNvZGUgLmNvZGUtY29weS1idXR0b246YWN0aXZlOmJlZm9yZSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiOyB9XG4gICAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgY29kZSAuY29kZS1jb3B5LWJ1dHRvbi5hY3RpdmUge1xuICAgICAgcGFkZGluZzogMTJweDtcbiAgICAgIG9wYWNpdHk6IC40O1xuICAgICAgdHJhbnNpdGlvbjogcGFkZGluZyAwLjZzLCBvcGFjaXR5IDAuNnM7IH1cbiAgICAgIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIGNvZGUgLmNvZGUtY29weS1idXR0b24uYWN0aXZlOmJlZm9yZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgdHJhbnNpdGlvbjogZm9udC1zaXplIDAuNnM7IH1cblxuLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgdWwsIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIG9sIHtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG4uZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciB1bCB7XG4gIG1hcmdpbjogMTBweDtcbiAgcGFkZGluZzogMDtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDI1cHg7IH1cbiAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgdWwgdWwge1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIHBhZGRpbmctbGVmdDogMjVweDsgfVxuICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciB1bCBsaSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IDAgMCAwIDE1cHg7IH1cbiAgICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciB1bCBsaTpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB3aWR0aDogNXB4O1xuICAgICAgaGVpZ2h0OiA1cHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDEwcHg7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDYwNTJmO1xuICAgICAgYm9yZGVyLXJhZGl1czogNXB4OyB9XG5cbi5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIG9sIHtcbiAgbWFyZ2luOiAxMHB4O1xuICBwYWRkaW5nOiAwIDI1cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7IH1cbiAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgb2wgb2wge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IGxvd2VyLWFscGhhOyB9XG4gICAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgb2wgb2wgb2wge1xuICAgICAgbGlzdC1zdHlsZS10eXBlOiBsb3dlci1yb21hbjsgfVxuICAgICAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgb2wgb2wgb2wgb2wge1xuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IGxvd2VyLWFscGhhOyB9XG4gICAgICAgIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIG9sIG9sIG9sIG9sIG9sIHtcbiAgICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IGxvd2VyLXJvbWFuOyB9XG5cbi5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIGxpIHtcbiAgY29sb3I6ICM3Nzc3Nzc7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNjsgfVxuXG4uZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciB1bCArIGgxLCAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBvbCArIGgxIHtcbiAgbWFyZ2luLXRvcDogMzVweDsgfVxuXG4uZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciB1bCArIGgyLCAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBvbCArIGgyIHtcbiAgbWFyZ2luLXRvcDogMjBweDsgfVxuXG4uZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciB1bCArIGgzLCAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBvbCArIGgzIHtcbiAgbWFyZ2luLXRvcDogMjBweDsgfVxuXG4uZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciB1bCArIGg0LCAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBvbCArIGg0IHtcbiAgbWFyZ2luLXRvcDogMjBweDsgfVxuXG4uZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciB1bCArIGg1LCAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBvbCArIGg1IHtcbiAgbWFyZ2luLXRvcDogMjBweDsgfVxuXG4uZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciB1bCArIGg2LCAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBvbCArIGg2IHtcbiAgbWFyZ2luLXRvcDogMjBweDsgfVxuXG4uZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBkbCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgZmlndXJlIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDEwcHggYXV0bzsgfVxuICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBmaWd1cmUuaW1hZ2Uge1xuICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIG1hcmdpbjogMTBweCBhdXRvOyB9XG4gIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIGZpZ3VyZS5pbWFnZS1zdHlsZS1hbGlnbi1yaWdodCB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1hcmdpbi1sZWZ0OiAxMHB4OyB9XG4gIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIGZpZ3VyZS5pbWFnZS1zdHlsZS1hbGlnbi1sZWZ0IHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7IH1cbiAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgZmlndXJlLmltYWdlLXN0eWxlLWJsb2NrLWFsaWduLWxlZnQge1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBmaWd1cmUuaW1hZ2Utc3R5bGUtYmxvY2stYWxpZ24tcmlnaHQge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBmaWd1cmVbY2xhc3MqPVwiaW1hZ2Utc3R5bGUtYmxvY2tcIl0ge1xuICAgIHdpZHRoOiBmaXQtY29udGVudDsgfVxuICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBmaWd1cmUgaW1nIHtcbiAgICB3aWR0aDogZml0LWNvbnRlbnQ7IH1cbiAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgZmlndXJlIGZpZ2NhcHRpb24ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDVweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtMTApO1xuICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiA4NTBweDtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbi5kb2N1bWVudGF0aW9uLXJlc3RyaWN0ZWQtYWNjZXNzLWNvbnRhaW5lciBoMSwgLmRvY3VtZW50YXRpb24tcmVzdHJpY3RlZC1hY2Nlc3MtY29udGFpbmVyIGgyLCAuZG9jdW1lbnRhdGlvbi1yZXN0cmljdGVkLWFjY2Vzcy1jb250YWluZXIgaDMsIC5kb2N1bWVudGF0aW9uLXJlc3RyaWN0ZWQtYWNjZXNzLWNvbnRhaW5lciBoNCwgLmRvY3VtZW50YXRpb24tcmVzdHJpY3RlZC1hY2Nlc3MtY29udGFpbmVyIGg1LCAuZG9jdW1lbnRhdGlvbi1yZXN0cmljdGVkLWFjY2Vzcy1jb250YWluZXIgaDYsIC5kb2N1bWVudGF0aW9uLXJlc3RyaWN0ZWQtYWNjZXNzLWNvbnRhaW5lciBwLCAuZG9jdW1lbnRhdGlvbi1yZXN0cmljdGVkLWFjY2Vzcy1jb250YWluZXIgbGksIC5kb2N1bWVudGF0aW9uLXJlc3RyaWN0ZWQtYWNjZXNzLWNvbnRhaW5lci5kb2N1bWVudGF0aW9uLWludGVybmFsLXVzZS1vbmx5LCAuZG9jdW1lbnRhdGlvbi1yZXN0cmljdGVkLWFjY2Vzcy1jb250YWluZXIgYSwgLmRvY3VtZW50YXRpb24tcmVzdHJpY3RlZC1hY2Nlc3MtY29udGFpbmVyIHRhYmxlIHRoZWFkIHRoLCAuZG9jdW1lbnRhdGlvbi1yZXN0cmljdGVkLWFjY2Vzcy1jb250YWluZXIgdGFibGUgdGJvZHkgdGQsIC5kb2N1bWVudGF0aW9uLWludGVybmFsLXVzZS1vbmx5IGgxLCAuZG9jdW1lbnRhdGlvbi1pbnRlcm5hbC11c2Utb25seSBoMiwgLmRvY3VtZW50YXRpb24taW50ZXJuYWwtdXNlLW9ubHkgaDMsIC5kb2N1bWVudGF0aW9uLWludGVybmFsLXVzZS1vbmx5IGg0LCAuZG9jdW1lbnRhdGlvbi1pbnRlcm5hbC11c2Utb25seSBoNSwgLmRvY3VtZW50YXRpb24taW50ZXJuYWwtdXNlLW9ubHkgaDYsIC5kb2N1bWVudGF0aW9uLWludGVybmFsLXVzZS1vbmx5IHAsIC5kb2N1bWVudGF0aW9uLWludGVybmFsLXVzZS1vbmx5IGxpLCAuZG9jdW1lbnRhdGlvbi1pbnRlcm5hbC11c2Utb25seS5kb2N1bWVudGF0aW9uLWludGVybmFsLXVzZS1vbmx5LCAuZG9jdW1lbnRhdGlvbi1pbnRlcm5hbC11c2Utb25seSBhLCAuZG9jdW1lbnRhdGlvbi1pbnRlcm5hbC11c2Utb25seSB0YWJsZSB0aGVhZCB0aCwgLmRvY3VtZW50YXRpb24taW50ZXJuYWwtdXNlLW9ubHkgdGFibGUgdGJvZHkgdGQge1xuICBjb2xvcjogdmFyKC0tYWNjZW50LWNvbG91ci0xLWxpZ2h0bmVzcy0wKTsgfVxuXG4uZG9jdW1lbnRhdGlvbi1ub3QtcHVibGlzaGVkIHtcbiAgZm9udC1zdHlsZTogaXRhbGljOyB9XG5cbnVsLmZ1bmN0aW9ucy1saXN0Omhhcyg+IGxpLmhhcy1zdWJtZW51LXRvZ2dsZSkgPiBsaTpub3QoLmhhcy1zdWJtZW51LXRvZ2dsZSkge1xuICBwYWRkaW5nLWxlZnQ6IDQ1cHg7IH1cblxudWwuZnVuY3Rpb25zLWxpc3Q6aGFzKD4gbGkuaGFzLXN1Ym1lbnUtdG9nZ2xlKSB1bC5tZW51Omhhcyg+IGxpLmhhcy1zdWJtZW51LXRvZ2dsZSkgPiBsaTpub3QoLmhhcy1zdWJtZW51LXRvZ2dsZSkge1xuICBwYWRkaW5nLWxlZnQ6IDQ1cHg7IH1cblxuLm1lbnUuZnVuY3Rpb25zLWxpc3Qge1xuICAtLW1lbnUtZnVuY3Rpb24tbGlzdC1ob3Zlci1jb2xvdXI6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wKTtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLm1lbnUuZnVuY3Rpb25zLWxpc3QgPiBsaSA+IHVsLnN1Ym1lbnUge1xuICAgIHBhZGRpbmc6IDVweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5tZW51LmZ1bmN0aW9ucy1saXN0ID4gbGkgPiB1bC5zdWJtZW51IHtcbiAgICAgICAgcGFkZGluZzogNXB4IDAgNXB4IDEwcHg7IH0gfVxuICAubWVudS5mdW5jdGlvbnMtbGlzdCA+IGxpOmhhcyh1bC5zdWJtZW51LmlzLWFjdGl2ZSkge1xuICAgIGJvcmRlci1ib3R0b206IDVweCBzb2xpZCAjZmZmZmZmOyB9XG4gIC5tZW51LmZ1bmN0aW9ucy1saXN0IGxpOmhhcyh1bC5zdWJtZW51LmlzLWFjdGl2ZSkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmM2YzZjM7IH1cbiAgICAubWVudS5mdW5jdGlvbnMtbGlzdCBsaTpoYXModWwuc3VibWVudS5pcy1hY3RpdmUpID4gYSB7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgY29sb3I6IHZhcigtLW1lbnUtZnVuY3Rpb24tbGlzdC1ob3Zlci1jb2xvdXIsICNhZTk0NjEpO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAubWVudS5mdW5jdGlvbnMtbGlzdCBsaSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMDtcbiAgICBib3JkZXItYm90dG9tOiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm1lbnUuZnVuY3Rpb25zLWxpc3QgbGkge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9IH1cbiAgICAubWVudS5mdW5jdGlvbnMtbGlzdCBsaTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgICAgLm1lbnUuZnVuY3Rpb25zLWxpc3QgbGk6aG92ZXIgPiBhLCAubWVudS5mdW5jdGlvbnMtbGlzdCBsaTpob3ZlciA+IGJ1dHRvbjphZnRlciB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1tZW51LWZ1bmN0aW9uLWxpc3QtaG92ZXItY29sb3VyLCAjYWU5NDYxKTsgfVxuICAgIC5tZW51LmZ1bmN0aW9ucy1saXN0IGxpID4gYSB7XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgIGZsZXg6IDE7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBwYWRkaW5nOiA1cHggNXB4IDVweCAwO1xuICAgICAgb3JkZXI6IDI7IH1cbiAgICAgIC5tZW51LmZ1bmN0aW9ucy1saXN0IGxpID4gYSArIGJ1dHRvbiB7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBvcmRlcjogMTsgfVxuICAgICAgICAubWVudS5mdW5jdGlvbnMtbGlzdCBsaSA+IGEgKyBidXR0b246YWZ0ZXIge1xuICAgICAgICAgIGNvbG9yOiAjNzc3Nzc3O1xuICAgICAgICAgIGZvbnQtc2l6ZTogOHB4O1xuICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgICAgICAgLm1lbnUuZnVuY3Rpb25zLWxpc3QgbGkgPiBhICsgYnV0dG9uW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdOmFmdGVyIHtcbiAgICAgICAgICBjb2xvcjogdmFyKC0tbWVudS1mdW5jdGlvbi1saXN0LWhvdmVyLWNvbG91ciwgI2FlOTQ2MSk7XG4gICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAgIC5tZW51LmZ1bmN0aW9ucy1saXN0IGxpID4gdWwge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBvcmRlcjogMztcbiAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAgICAgLm1lbnUuZnVuY3Rpb25zLWxpc3QgbGkgPiB1bCBsaSB7XG4gICAgICAgICAgcGFkZGluZzogMDsgfSB9XG4gICAgICAubWVudS5mdW5jdGlvbnMtbGlzdCBsaSA+IHVsIGxpIGEge1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBjb2xvcjogIzc3Nzc3NzsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgLm1lbnUuZnVuY3Rpb25zLWxpc3QgbGkgPiB1bCBsaSBhIHtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH0gfVxuICAgICAgLm1lbnUuZnVuY3Rpb25zLWxpc3QgbGkgPiB1bCAuaW5kZXgge1xuICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7IH1cbiAgICAubWVudS5mdW5jdGlvbnMtbGlzdCBsaSAubmVzdGVkLmlzLWFjY29yZGlvbi1zdWJtZW51IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5tZW51LmZ1bmN0aW9ucy1saXN0IGxpIC5uZXN0ZWQuaXMtYWNjb3JkaW9uLXN1Ym1lbnUge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiA0MHB4OyB9IH1cbiAgICAubWVudS5mdW5jdGlvbnMtbGlzdCBsaSAubGluay1kZXNjcmlwdGlvbiB7XG4gICAgICBmbGV4OiAxOyB9XG5cbi5kb2N1bWVudGF0aW9uLXJlc3VsdHMtZm91bmQtbGlzdCB1bCA+IGxpIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgZmxleC13cmFwOiB3cmFwOyB9XG5cbi5kb2N1bWVudGF0aW9uLXJlc3VsdHMtZm91bmQtbGlzdCB1bCBsaSB7XG4gIHBhZGRpbmc6IDEwcHggNXB4OyB9XG5cbi5kb2N1bWVudGF0aW9uLXJlc3VsdHMtZm91bmQtbGlzdCB1bCAucmVzdWx0cy1pdGVtcy1jb250YWluZXIgdWwge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuZG9jdW1lbnRhdGlvbi1yZXN1bHRzLWZvdW5kLWxpc3QgdWwgLnJlc3VsdHMtaXRlbXMtY29udGFpbmVyIHVsIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7IH0gfVxuICAuZG9jdW1lbnRhdGlvbi1yZXN1bHRzLWZvdW5kLWxpc3QgdWwgLnJlc3VsdHMtaXRlbXMtY29udGFpbmVyIHVsIGxpIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAwO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgICAuZG9jdW1lbnRhdGlvbi1yZXN1bHRzLWZvdW5kLWxpc3QgdWwgLnJlc3VsdHMtaXRlbXMtY29udGFpbmVyIHVsIGxpOm5vdCg6bGFzdC1jaGlsZCk6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCLuoIFcIjtcbiAgICAgIG1hcmdpbjogMCA3cHg7XG4gICAgICBjb2xvcjogIzc3Nzc3NztcbiAgICAgIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvLWRqbWlsZXNcIjtcbiAgICAgIGZvbnQtc2l6ZTogMTBweDsgfVxuICAgIC5kb2N1bWVudGF0aW9uLXJlc3VsdHMtZm91bmQtbGlzdCB1bCAucmVzdWx0cy1pdGVtcy1jb250YWluZXIgdWwgbGkgYSB7XG4gICAgICBmb250LXdlaWdodDogNjAwOyB9XG5cbi5kb2N1bWVudGF0aW9uLXJlc3VsdHMtZm91bmQtbGlzdCB1bCAucmVzdWx0cy1zbmlwcGV0LWNvbnRhaW5lciB7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cbiAgLmRvY3VtZW50YXRpb24tcmVzdWx0cy1mb3VuZC1saXN0IHVsIC5yZXN1bHRzLXNuaXBwZXQtY29udGFpbmVyIHAge1xuICAgIG1hcmdpbjogNXB4IDAgMTBweDtcbiAgICBwYWRkaW5nOiAwOyB9XG5cbi5kb2N1bWVudGF0aW9uLWJhY2stYnV0dG9uLWNvbnRhaW5lciAuZG9jdW1lbnRhdGlvbi1iYWNrLWJ1dHRvbiB7XG4gIG1hcmdpbjogMDsgfVxuXG4uc3RhdGlzdGljcy1jb250ZW50LWNvbnRhaW5lciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmM2YzZjM7IH1cbiAgLnN0YXRpc3RpY3MtY29udGVudC1jb250YWluZXIgdWwge1xuICAgIHBhZGRpbmc6IDEwcHggMjBweDsgfVxuICAgIC5zdGF0aXN0aWNzLWNvbnRlbnQtY29udGFpbmVyIHVsIGxpIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgLnN0YXRpc3RpY3MtY29udGVudC1jb250YWluZXIgLmxhYmVsIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA1cHg7IH1cblxuLnJldmlzaW9uLWNvdW50LWNvbnRhaW5lci5zZXBlcmF0b3Igc3BhbiB7XG4gIG1hcmdpbjogMCAwIDEwcHg7XG4gIHBhZGRpbmc6IDAgMCA1cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAucmV2aXNpb24tY291bnQtY29udGFpbmVyLnNlcGVyYXRvciBzcGFuOmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IGF1dG87XG4gICAgYm9yZGVyLXdpZHRoOiAwIDAgMXB4IDA7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICMwMDAwMDA7IH1cbiAgICBAbWVkaWEgcHJpbnQge1xuICAgICAgLnJldmlzaW9uLWNvdW50LWNvbnRhaW5lci5zZXBlcmF0b3Igc3BhbjpiZWZvcmUge1xuICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgIzAwMDAwMDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH0gfVxuXG4ucmV2aXNpb24tY291bnQtY29udGFpbmVyIHNwYW4ge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7IH1cblxuLnJldmlzaW9uLWluZm9ybWF0aW9uLWNvbnRhaW5lciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy04KTsgfVxuICAucmV2aXNpb24taW5mb3JtYXRpb24tY29udGFpbmVyIHRhYmxlLmF1ZGl0LXRyYWlsLWVudHJ5IHRoZWFkIHRoIHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLXdoaXRlLWNvbG91cik7IH1cblxuLnRlY2huaWNhbC1kb2N1bWVudGF0aW9uLWxpc3QtY29udGFpbmVyOm5vdCg6bGFzdC1jaGlsZCk6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogNDBweCAwO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTgpOyB9XG5cbi5kb2N1bWVudGF0aW9uLWRlbW8tbGluay1jb250YWluZXIge1xuICBtYXJnaW46IDEwcHggMDtcbiAgcGFkZGluZzogMTBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTEwKTsgfVxuXG4uaW5zcGVjdC1wcm9tcHQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAzMHB4IDA7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7IH1cblxuLmV4cHJlc3MtY29uZmlndXJhdGlvbiB7XG4gIHBhZGRpbmctdG9wOiAyNXB4O1xuICBwYWRkaW5nLWJvdHRvbTogMjVweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTkpOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuZXhwcmVzcy1jb25maWd1cmF0aW9uIHtcbiAgICAgIHBhZGRpbmctdG9wOiAxMDBweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxMDBweDsgfSB9XG4gIC5leHByZXNzLWNvbmZpZ3VyYXRpb24gLmNvbmZpZ3VyYXRpb24tc2VjdGlvbiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMTBweCAyMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXdoaXRlLWNvbG91cik7XG4gICAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTgpOyB9XG4gICAgLmV4cHJlc3MtY29uZmlndXJhdGlvbiAuY29uZmlndXJhdGlvbi1zZWN0aW9uOm5vdCg6bGFzdC1vZi10eXBlKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gICAgLmV4cHJlc3MtY29uZmlndXJhdGlvbiAuY29uZmlndXJhdGlvbi1zZWN0aW9uIC5heGlzLXNlY3Rpb24taGVhZGVyIGgyIHtcbiAgICAgIG1hcmdpbjogMDsgfVxuXG4uY29uZmlndXJhdGlvbi1pbnRyb2R1Y3Rpb24tY29udGFpbmVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuICAuY29uZmlndXJhdGlvbi1pbnRyb2R1Y3Rpb24tY29udGFpbmVyIC5jbXMtY29udGVudC1jb250YWluZXIgcCB7XG4gICAgbWFyZ2luOiA1cHggMDsgfVxuXG4udGVjaG5pY2FsLWxpc3Qge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7IH1cbiAgLnRlY2huaWNhbC1saXN0IGxpIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC50ZWNobmljYWwtbGlzdCBsaTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtOCk7IH1cbiAgLnRlY2huaWNhbC1saXN0IC5oZWFkZXItY29udGFpbmVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gIC50ZWNobmljYWwtbGlzdCAuc3RhdGUge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIHBhZGRpbmc6IDJweCAxMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXN0YXRlLWJhY2tncm91bmQtY29sb3VyKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1zdGF0ZS1jb2xvdXIpO1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBjb2xvcjogdmFyKC0tc3RhdGUtY29sb3VyKTtcbiAgICBmb250LXdlaWdodDogNjAwOyB9XG4gICAgLnRlY2huaWNhbC1saXN0IC5zdGF0ZS5hY3RpdmUge1xuICAgICAgLS1zdGF0ZS1iYWNrZ3JvdW5kLWNvbG91cjogdmFyKC0tc3VjY2Vzcy1jb2xvdXItbGlnaHRuZXNzLTkpO1xuICAgICAgLS1zdGF0ZS1jb2xvdXI6IHZhcigtLXN1Y2Nlc3MtY29sb3VyLWxpZ2h0bmVzcy0wKTsgfVxuICAgIC50ZWNobmljYWwtbGlzdCAuc3RhdGUuZGlzYWJsZWQge1xuICAgICAgLS1zdGF0ZS1iYWNrZ3JvdW5kLWNvbG91cjogdmFyKC0td2FybmluZy1jb2xvdXItbGlnaHRuZXNzLTkpO1xuICAgICAgLS1zdGF0ZS1jb2xvdXI6IHZhcigtLXdhcm5pbmctY29sb3VyLWxpZ2h0bmVzcy0wKTsgfVxuICAudGVjaG5pY2FsLWxpc3QgLmtleS12YWx1ZS1wYWlyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogNXB4OyB9XG4gICAgLnRlY2huaWNhbC1saXN0IC5rZXktdmFsdWUtcGFpciAubmFtZSB7XG4gICAgICBmb250LXdlaWdodDogNjAwOyB9XG5cbi5uZXV0cmFsaXNlZC1pdGVtcyB7XG4gIG1hcmdpbjogMTBweCAwIDIwcHg7IH1cbiAgLm5ldXRyYWxpc2VkLWl0ZW1zIC5wbGFjZWhvbGRlci12YWx1ZS1kaXNwbGF5Om5vdCg6bGFzdC1jaGlsZCkge1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cblxuLnBsYWNlaG9sZGVyLXZhbHVlLWRpc3BsYXkge1xuICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5wbGFjZWhvbGRlci12YWx1ZS1kaXNwbGF5IC5uYW1lIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICAgIC5wbGFjZWhvbGRlci12YWx1ZS1kaXNwbGF5IC5uYW1lOjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIj0+XCI7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgIGNvbG9yOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtNik7IH1cbiAgLnBsYWNlaG9sZGVyLXZhbHVlLWRpc3BsYXkgLnZhbHVlIHtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wKTsgfVxuXG4vKlxyXG4tLS0tLSBDb250ZXh0IE1lbnUgLS0tLS0tIFxyXG5Fc3NlbnRpYWxseSBhIHRvb2xiYXIgLyB0b29sYm94IG1lbnVcclxuKi9cbi5jb250ZXh0LW1lbnUtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICB6LWluZGV4OiAxOTk1OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmNvbnRleHQtbWVudS1jb250YWluZXIge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIG9wYWNpdHk6IDE7IH0gfVxuICAuY29udGV4dC1tZW51LWNvbnRhaW5lci5hY3RpdmUsIC5jb250ZXh0LW1lbnUtY29udGFpbmVyLmlzLWNsb3Npbmcge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgei1pbmRleDogMTk5NjsgfVxuICAuY29udGV4dC1tZW51LWNvbnRhaW5lciBvbCwgLmNvbnRleHQtbWVudS1jb250YWluZXIgdWwge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIG9sLCAuY29udGV4dC1tZW51LWNvbnRhaW5lciB1bCB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH0gfVxuICAgIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIG9sIGxpLCAuY29udGV4dC1tZW51LWNvbnRhaW5lciB1bCBsaSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIG9sIGxpLCAuY29udGV4dC1tZW51LWNvbnRhaW5lciB1bCBsaSB7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfSB9XG4gICAgICAuY29udGV4dC1tZW51LWNvbnRhaW5lciBvbCBsaS5hY3RpdmUgb2wsIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIG9sIGxpLmFjdGl2ZSB1bCwgLmNvbnRleHQtbWVudS1jb250YWluZXIgdWwgbGkuYWN0aXZlIG9sLCAuY29udGV4dC1tZW51LWNvbnRhaW5lciB1bCBsaS5hY3RpdmUgdWwge1xuICAgICAgICBtYXgtaGVpZ2h0OiA3MDBweDtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2FlYWVhZTtcbiAgICAgICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjZzLCBib3JkZXItY29sb3IgMC42czsgfVxuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAgIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIG9sIGxpLmFjdGl2ZSBvbCwgLmNvbnRleHQtbWVudS1jb250YWluZXIgb2wgbGkuYWN0aXZlIHVsLCAuY29udGV4dC1tZW51LWNvbnRhaW5lciB1bCBsaS5hY3RpdmUgb2wsIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIHVsIGxpLmFjdGl2ZSB1bCB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEzMDBweDtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IG5vbmU7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBtYXgtd2lkdGggMC42czsgfSB9XG4gICAgICAuY29udGV4dC1tZW51LWNvbnRhaW5lciBvbCBsaS5hY3RpdmUgPiBidXR0b24ubWVudS1vcHRpb24tY29udGFpbmVyLCAuY29udGV4dC1tZW51LWNvbnRhaW5lciB1bCBsaS5hY3RpdmUgPiBidXR0b24ubWVudS1vcHRpb24tY29udGFpbmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2FlOTQ2MTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjYWU5NDYxO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH1cbiAgICAgICAgLmNvbnRleHQtbWVudS1jb250YWluZXIgb2wgbGkuYWN0aXZlID4gYnV0dG9uLm1lbnUtb3B0aW9uLWNvbnRhaW5lciAubWVudS1vcHRpb24taWNvbjpiZWZvcmUsIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIHVsIGxpLmFjdGl2ZSA+IGJ1dHRvbi5tZW51LW9wdGlvbi1jb250YWluZXIgLm1lbnUtb3B0aW9uLWljb246YmVmb3JlIHtcbiAgICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gICAgICAuY29udGV4dC1tZW51LWNvbnRhaW5lciBvbCBsaSBvbCwgLmNvbnRleHQtbWVudS1jb250YWluZXIgb2wgbGkgdWwsIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIHVsIGxpIG9sLCAuY29udGV4dC1tZW51LWNvbnRhaW5lciB1bCBsaSB1bCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtaGVpZ2h0OiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjhzOyB9XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgICAgLmNvbnRleHQtbWVudS1jb250YWluZXIgb2wgbGkgb2wsIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIG9sIGxpIHVsLCAuY29udGV4dC1tZW51LWNvbnRhaW5lciB1bCBsaSBvbCwgLmNvbnRleHQtbWVudS1jb250YWluZXIgdWwgbGkgdWwge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAwO1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiBub25lO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBtYXgtd2lkdGggMC44czsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmNvbnRleHQtbWVudS1jb250YWluZXIgLm1lbnUtY29udGFpbmVyIHtcbiAgICAgIHdpZHRoOiBmaXQtY29udGVudDsgfSB9XG4gIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIC5zdGF0ZS1tZW51LWNvbnRhaW5lciAubWVudS1vcHRpb24tY29udGFpbmVyIHtcbiAgICBvcGFjaXR5OiAuNTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuOHM7IH1cbiAgICAuY29udGV4dC1tZW51LWNvbnRhaW5lciAuc3RhdGUtbWVudS1jb250YWluZXIgLm1lbnUtb3B0aW9uLWNvbnRhaW5lcjpob3ZlciwgLmNvbnRleHQtbWVudS1jb250YWluZXIgLnN0YXRlLW1lbnUtY29udGFpbmVyIC5tZW51LW9wdGlvbi1jb250YWluZXI6YWN0aXZlIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNnM7IH1cbiAgLmNvbnRleHQtbWVudS1jb250YWluZXIgLmVkaXQtbWVudS1jb250YWluZXIgLm1lbnUtb3B0aW9uLWNvbnRhaW5lcjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTApO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfVxuICAgIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIC5lZGl0LW1lbnUtY29udGFpbmVyIC5tZW51LW9wdGlvbi1jb250YWluZXI6aG92ZXIgLm1lbnUtb3B0aW9uLWljb246YmVmb3JlIHtcbiAgICAgIGNvbG9yOiB2YXIoLS13aGl0ZS1jb2xvdXIpO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAuY29udGV4dC1tZW51LWNvbnRhaW5lciAuZWRpdC1tZW51LWNvbnRhaW5lciAubWVudS1vcHRpb24tY29udGFpbmVyOmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWNvbG91ci1saWdodG5lc3MtMCk7IH1cbiAgLmNvbnRleHQtbWVudS1jb250YWluZXIgLm1lbnUtb3B0aW9uLWNvbnRhaW5lciB7XG4gICAgLS1pY29uLWNvbG91cjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTApO1xuICAgIHdpZHRoOiA0NXB4O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAxMHB4O1xuICAgIHBhZGRpbmc6IDcuNXB4IDEwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmNvbnRleHQtbWVudS1jb250YWluZXIgLm1lbnUtb3B0aW9uLWNvbnRhaW5lcjphY3RpdmUge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgbWluLXdpZHRoOiA0NXB4OyB9XG4gICAgICAgIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIC5tZW51LW9wdGlvbi1jb250YWluZXI6YWN0aXZlIC5tZW51LW9wdGlvbi1sYWJlbCB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICAgIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIC5tZW51LW9wdGlvbi1jb250YWluZXIgLm1lbnUtb3B0aW9uLWxhYmVsIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07IH1cbiAgICAuY29udGV4dC1tZW51LWNvbnRhaW5lciAubWVudS1vcHRpb24tY29udGFpbmVyIC5tZW51LW9wdGlvbi1pY29uLWNvbnRhaW5lciAubWVudS1vcHRpb24taWNvbiB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsgfVxuICAgICAgLmNvbnRleHQtbWVudS1jb250YWluZXIgLm1lbnUtb3B0aW9uLWNvbnRhaW5lciAubWVudS1vcHRpb24taWNvbi1jb250YWluZXIgLm1lbnUtb3B0aW9uLWljb246YmVmb3JlIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWljb24tY29sb3VyKTtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNnM7IH1cbiAgICAuY29udGV4dC1tZW51LWNvbnRhaW5lciAubWVudS1vcHRpb24tY29udGFpbmVyLmFjY2Vzcy1sZXZlbCAubWVudS1vcHRpb24taWNvbi1jb250YWluZXIge1xuICAgICAgZGlzcGxheTogZmxleDsgfVxuICAgICAgLmNvbnRleHQtbWVudS1jb250YWluZXIgLm1lbnUtb3B0aW9uLWNvbnRhaW5lci5hY2Nlc3MtbGV2ZWwgLm1lbnUtb3B0aW9uLWljb24tY29udGFpbmVyIC5tZW51LW9wdGlvbi1pY29uOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwi75e9XCI7IH1cbiAgICAgIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIC5tZW51LW9wdGlvbi1jb250YWluZXIuYWNjZXNzLWxldmVsIC5tZW51LW9wdGlvbi1pY29uLWNvbnRhaW5lciAubWVudS1vcHRpb24taWNvbi10ZXh0IHtcbiAgICAgICAgZm9udC1zaXplOiAxMXB4OyB9XG4gICAgLmNvbnRleHQtbWVudS1jb250YWluZXIgLm1lbnUtb3B0aW9uLWNvbnRhaW5lci5hY2Nlc3MtbGV2ZWwuc3RhdGUtdmFsdWUtMCB7XG4gICAgICAtLWljb24tY29sb3VyOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtNCk7XG4gICAgICBjb2xvcjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTQpOyB9XG4gICAgLmNvbnRleHQtbWVudS1jb250YWluZXIgLm1lbnUtb3B0aW9uLWNvbnRhaW5lci5hY2Nlc3MtbGV2ZWwuc3RhdGUtdmFsdWUtMSB7XG4gICAgICAtLWljb24tY29sb3VyOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtMCk7XG4gICAgICBjb2xvcjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTApOyB9XG4gICAgLmNvbnRleHQtbWVudS1jb250YWluZXIgLm1lbnUtb3B0aW9uLWNvbnRhaW5lci5hY2Nlc3MtbGV2ZWwuc3RhdGUtdmFsdWUtMiB7XG4gICAgICAtLWljb24tY29sb3VyOiB2YXIoLS1ibGFjay1jb2xvdXIpO1xuICAgICAgY29sb3I6IHZhcigtLWJsYWNrLWNvbG91cik7IH1cbiAgICAuY29udGV4dC1tZW51LWNvbnRhaW5lciAubWVudS1vcHRpb24tY29udGFpbmVyLmFjY2Vzcy1sZXZlbC5zdGF0ZS12YWx1ZS0zLCAuY29udGV4dC1tZW51LWNvbnRhaW5lciAubWVudS1vcHRpb24tY29udGFpbmVyLmFjY2Vzcy1sZXZlbC5zdGF0ZS12YWx1ZS00IHtcbiAgICAgIC0taWNvbi1jb2xvdXI6IHZhcigtLWFjY2VudC1jb2xvdXItMS1saWdodG5lc3MtMCk7XG4gICAgICBjb2xvcjogdmFyKC0tYWNjZW50LWNvbG91ci0xLWxpZ2h0bmVzcy0wKTsgfVxuICAgIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIC5tZW51LW9wdGlvbi1jb250YWluZXIucHVibGlzaGVkIC5tZW51LW9wdGlvbi1pY29uOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+Ck1wiOyB9XG4gICAgLmNvbnRleHQtbWVudS1jb250YWluZXIgLm1lbnUtb3B0aW9uLWNvbnRhaW5lci5wdWJsaXNoZWQuc3RhdGUtdmFsdWUtdHJ1ZSB7XG4gICAgICAtLWljb24tY29sb3VyOiB2YXIoLS1zdWNjZXNzLWNvbG91ci1saWdodG5lc3MtMCk7XG4gICAgICBjb2xvcjogdmFyKC0tc3VjY2Vzcy1jb2xvdXItbGlnaHRuZXNzLTApOyB9XG4gICAgLmNvbnRleHQtbWVudS1jb250YWluZXIgLm1lbnUtb3B0aW9uLWNvbnRhaW5lci5wdWJsaXNoZWQuc3RhdGUtdmFsdWUtZmFsc2Uge1xuICAgICAgLS1pY29uLWNvbG91cjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTQpO1xuICAgICAgY29sb3I6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy00KTsgfVxuICAgIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIC5tZW51LW9wdGlvbi1jb250YWluZXIuZWRpdC1tZW51IC5tZW51LW9wdGlvbi1pY29uOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+Ak1wiO1xuICAgICAgY29sb3I6ICNhZTk0NjE7IH1cbiAgICAuY29udGV4dC1tZW51LWNvbnRhaW5lciAubWVudS1vcHRpb24tY29udGFpbmVyLmVkaXQtdGV4dCAubWVudS1vcHRpb24taWNvbjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgYRcIjtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDsgfVxuICAgIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIC5tZW51LW9wdGlvbi1jb250YWluZXIuZWRpdC1wcm9wZXJ0aWVzIC5tZW51LW9wdGlvbi1pY29uOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu6hkVwiO1xuICAgICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG9cIjsgfVxuICAgIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIC5tZW51LW9wdGlvbi1jb250YWluZXIubW92ZS11cCAubWVudS1vcHRpb24taWNvbjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLuk4JcIjsgfVxuICAgIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIC5tZW51LW9wdGlvbi1jb250YWluZXIubW92ZS1kb3duIC5tZW51LW9wdGlvbi1pY29uOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu6SuFwiOyB9XG4gICAgLmNvbnRleHQtbWVudS1jb250YWluZXIgLm1lbnUtb3B0aW9uLWNvbnRhaW5lci5pbnNlcnQtYmVmb3JlIC5tZW51LW9wdGlvbi1pY29uOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu6hkFwiO1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG9cIjsgfVxuICAgIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIC5tZW51LW9wdGlvbi1jb250YWluZXIuaW5zZXJ0LWFmdGVyIC5tZW51LW9wdGlvbi1pY29uOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu6gpFwiO1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG9cIjsgfVxuICAgIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIC5tZW51LW9wdGlvbi1jb250YWluZXIucHJvbW90ZSAubWVudS1vcHRpb24taWNvbjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgLtcIjsgfVxuICAgIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIC5tZW51LW9wdGlvbi1jb250YWluZXIuZGVtb3RlIC5tZW51LW9wdGlvbi1pY29uOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+AvFwiOyB9XG4gICAgLmNvbnRleHQtbWVudS1jb250YWluZXIgLm1lbnUtb3B0aW9uLWNvbnRhaW5lci5kZWxldGUgLm1lbnUtb3B0aW9uLWljb246YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74utXCI7XG4gICAgICBmb250LXNpemU6IDE3cHg7IH1cbiAgICAuY29udGV4dC1tZW51LWNvbnRhaW5lciAubWVudS1vcHRpb24tY29udGFpbmVyLm1vdmUtYXJ0aWNsZSAubWVudS1vcHRpb24taWNvbjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgrJcIjsgfVxuICAgIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIC5tZW51LW9wdGlvbi1jb250YWluZXIuYXVkaXQtdHJhaWwgLm1lbnUtb3B0aW9uLWljb246YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74eaXCI7IH1cblxuLypcclxuLS0tLS0gR3JhZHVhdGVkIENvbG91ciBFZGdlIC0tLS0tLSBcclxuRWRnZSBlZmZlY3Qgd2hlcmUgdGhlIGlzIHR5cGljYWxseSAzIHRvbmVzIG9mIGEgc3BlY2lmaWMgY29sb3VyIGluIHRoZSBjb3JuZXIgb2YgYSBlbGVtZW50IC8gY29tcG9uZW50LlxyXG5Qb3NzaWJsZSBjbGFzcyBjb25maWd1cmF0aW9uIG9wdGlvbnM6XHJcbi0gT3BhY2l0eSBlbnVtZXJhdGlvbiAoIEhpZ2gsIE1lZGl1bSwgTG93IClcclxuLSBQb3NpdGlvbiBUb3AgKyBCb3R0b20gTCAmIFIgY29ybmVyc1xyXG5cclxuRm9yIGEgZGVtb25zdHJhdGlvbiBnbyB0byAvc3RhdGljL2dyYWR1YXRlZC1jb2xvdXItZWRnZS10ZXN0Lmh0bWxcclxuKi9cbi5ncmFkdWF0ZWQtY29sb3VyLWVkZ2Uge1xuICAtLWdyYWR1YXRlZC1zdGVwLWhlaWdodDogdmFyKC0tY29tcG9uZW50LXNwZWNpZmMtc3RlcC1oZWlnaHQsIDYwcHgpO1xuICB3aWR0aDogNjAwcHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlLnBvc2l0aW9uLTEge1xuICAgIHRvcDogMDtcbiAgICByaWdodDogY2FsYygxMDAlIC0gKDMwMHB4ICsgKHZhcigtLWdyYWR1YXRlZC1zdGVwLWhlaWdodCkgKiAuNTYpKSk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTU2ZGVnKTsgfVxuICAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlLnBvc2l0aW9uLTIge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiBjYWxjKDEwMCUgLSAoMzAwcHggKyAodmFyKC0tZ3JhZHVhdGVkLXN0ZXAtaGVpZ2h0KSAqIC41NikpKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg1NmRlZyk7IH1cbiAgLmdyYWR1YXRlZC1jb2xvdXItZWRnZS5wb3NpdGlvbi0zIHtcbiAgICByaWdodDogY2FsYygxMDAlIC0gKDMwMHB4ICsgKHZhcigtLWdyYWR1YXRlZC1zdGVwLWhlaWdodCkgKiAuNTYpKSk7XG4gICAgYm90dG9tOiAwO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg1NmRlZyk7IH1cbiAgLmdyYWR1YXRlZC1jb2xvdXItZWRnZS5wb3NpdGlvbi00IHtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogY2FsYygxMDAlIC0gKDMwMHB4ICsgKHZhcigtLWdyYWR1YXRlZC1zdGVwLWhlaWdodCkgKiAuNTYpKSk7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC01NmRlZyk7IH1cbiAgLmdyYWR1YXRlZC1jb2xvdXItZWRnZS5vcGFjaXR5LTEgLnN0ZXAge1xuICAgIG9wYWNpdHk6IC45OyB9XG4gICAgLmdyYWR1YXRlZC1jb2xvdXItZWRnZS5vcGFjaXR5LTEgLnN0ZXAgKyAuc3RlcCB7XG4gICAgICBvcGFjaXR5OiAuNjsgfVxuICAgICAgLmdyYWR1YXRlZC1jb2xvdXItZWRnZS5vcGFjaXR5LTEgLnN0ZXAgKyAuc3RlcCArIC5zdGVwIHtcbiAgICAgICAgb3BhY2l0eTogLjM7IH1cbiAgLmdyYWR1YXRlZC1jb2xvdXItZWRnZS5vcGFjaXR5LTIgLnN0ZXAge1xuICAgIG9wYWNpdHk6IC42OyB9XG4gICAgLmdyYWR1YXRlZC1jb2xvdXItZWRnZS5vcGFjaXR5LTIgLnN0ZXAgKyAuc3RlcCB7XG4gICAgICBvcGFjaXR5OiAuMzsgfVxuICAgICAgLmdyYWR1YXRlZC1jb2xvdXItZWRnZS5vcGFjaXR5LTIgLnN0ZXAgKyAuc3RlcCArIC5zdGVwIHtcbiAgICAgICAgb3BhY2l0eTogLjE7IH1cbiAgLmdyYWR1YXRlZC1jb2xvdXItZWRnZS5vcGFjaXR5LTMgLnN0ZXAge1xuICAgIG9wYWNpdHk6IC4zOyB9XG4gICAgLmdyYWR1YXRlZC1jb2xvdXItZWRnZS5vcGFjaXR5LTMgLnN0ZXAgKyAuc3RlcCB7XG4gICAgICBvcGFjaXR5OiAuMjsgfVxuICAgICAgLmdyYWR1YXRlZC1jb2xvdXItZWRnZS5vcGFjaXR5LTMgLnN0ZXAgKyAuc3RlcCArIC5zdGVwIHtcbiAgICAgICAgb3BhY2l0eTogLjE7IH1cbiAgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgd2lkdGg6IDYwMHB4O1xuICAgIGhlaWdodDogdmFyKC0tZ3JhZHVhdGVkLXN0ZXAtaGVpZ2h0KTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMCk7IH1cblxuLypcclxuLS0tLS0gQXhpcyBSaWNoIFRleHQgRWRpdG9ycyAtLS0tLSBcclxuQmVzcG9rZSBydWxlcyB0aGF0IGdldCBhcHBsaWVkIHdoZW4gaW50ZXJncmF0aW5nIHdpdGggdGhpcmQtcGFydHkgZWRpdG9ycy5cclxuXHJcbkdlbmVyYWwgcnVsZXMgdGhhdCBnZXQgYXBwbGllZCB0byAucmljaC10ZXh0LWVkaXRvci1jb250YWluZXIgd2hpY2ggaXMgdGhlIGNvbW1vbiBjb250YWluZXIgdGhhdCBnZXRzIHVzZWQgYWNyb3NzIGFsbCBlZGl0b3JzLlxyXG4qL1xuLmNrLWJvZHktd3JhcHBlciB7XG4gIHotaW5kZXg6IDIwMjE7IH1cbiAgLmNrLWJvZHktd3JhcHBlci5kaXNhYmxlZCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4uY2stZWRpdG9yIC5jay1jb250ZW50IHVsIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lOyB9XG5cbi5yaWNoLXRleHQtZWRpdG9yLWNvbnRhaW5lciB7XG4gIC0tY2stY29sb3ItYmFzZS1ib3JkZXI6ICNkYWRhZGE7XG4gIC0tY2stY29sb3ItYmFzZS1lcnJvcjogI2IyMGMwYztcbiAgLS1jay1pbWFnZS1zdHlsZS1zcGFjaW5nOiAxMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC0tY2stY29sb3ItaW1hZ2UtY2FwdGlvbi10ZXh0OiAjMDAwMDAwOyB9XG5cbltkYXRhLWF4aXMtcmljaC10ZXh0LWVkaXRvcl0ge1xuICBtaW4taGVpZ2h0OiAxMDBweDsgfVxuICBbZGF0YS1heGlzLXJpY2gtdGV4dC1lZGl0b3JdOm5vdCgucmljaC10ZXh0LWVkaXRvci1jb250YWluZXIpIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZGFkYWRhOyB9XG4gIFtkYXRhLWF4aXMtcmljaC10ZXh0LWVkaXRvcl0gPiB0ZXh0YXJlYSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4uY2stc291cmNlLWVkaXRpbmctYXJlYSB0ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvICFpbXBvcnRhbnQ7IH1cblxuLmF4aXMtZWRpdG9yLWluZGVudC1sZXZlbC0xIHtcbiAgLS1pbmRlbnQtbWFyZ2luOiAwIDAgMCBjYWxjKDEgKiAyNXB4KTsgfVxuICAuYXhpcy1lZGl0b3ItaW5kZW50LWxldmVsLTEgKyB1bCwgLmF4aXMtZWRpdG9yLWluZGVudC1sZXZlbC0xICsgb2wge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDEgKiAyNXB4KTsgfVxuXG4uYXhpcy1lZGl0b3ItaW5kZW50LWxldmVsLTIge1xuICAtLWluZGVudC1tYXJnaW46IDAgMCAwIGNhbGMoMiAqIDI1cHgpOyB9XG4gIC5heGlzLWVkaXRvci1pbmRlbnQtbGV2ZWwtMiArIHVsLCAuYXhpcy1lZGl0b3ItaW5kZW50LWxldmVsLTIgKyBvbCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMiAqIDI1cHgpOyB9XG5cbi5heGlzLWVkaXRvci1pbmRlbnQtbGV2ZWwtMyB7XG4gIC0taW5kZW50LW1hcmdpbjogMCAwIDAgY2FsYygzICogMjVweCk7IH1cbiAgLmF4aXMtZWRpdG9yLWluZGVudC1sZXZlbC0zICsgdWwsIC5heGlzLWVkaXRvci1pbmRlbnQtbGV2ZWwtMyArIG9sIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygzICogMjVweCk7IH1cblxuLmF4aXMtZWRpdG9yLWluZGVudC1sZXZlbC00IHtcbiAgLS1pbmRlbnQtbWFyZ2luOiAwIDAgMCBjYWxjKDQgKiAyNXB4KTsgfVxuICAuYXhpcy1lZGl0b3ItaW5kZW50LWxldmVsLTQgKyB1bCwgLmF4aXMtZWRpdG9yLWluZGVudC1sZXZlbC00ICsgb2wge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDQgKiAyNXB4KTsgfVxuXG4uYXhpcy1lZGl0b3ItaW5kZW50LWxldmVsLTUge1xuICAtLWluZGVudC1tYXJnaW46IDAgMCAwIGNhbGMoNSAqIDI1cHgpOyB9XG4gIC5heGlzLWVkaXRvci1pbmRlbnQtbGV2ZWwtNSArIHVsLCAuYXhpcy1lZGl0b3ItaW5kZW50LWxldmVsLTUgKyBvbCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNSAqIDI1cHgpOyB9XG5cbi8qXHJcblxyXG4tLS0tLSBWaWRlbyBQbGF5ZXIgLS0tLVxyXG5cclxuSU1QT1JUQU5UOiBUaGlzIGlzIHNwZWNpZmljYWxseSBmb3IgZW1iZWRkaW5nIFlvdXR1YmUgdmlkZW9zIC8gQmFubmVyIHNlcmllcy4gL3N0YXRpYy92aWRlby1zZXJpZXMuaHRtbFxyXG5cclxuSGFuZGxlczpcclxuLSBUaHVtYm5haWwgcGxheSBpY29uLlxyXG4tIER1cmF0aW9uIGZvcm1hdHRpbmcuXHJcbi0gVmlkZW8gaW5kaWNhdG9yIHRleHQgKCBjbGljayBoZXJlIHRvIHdhdGNoIHZpZGVvIClcclxuXHJcbiovXG4udmlkZW8tcGxheWVyLWNvbnRhaW5lciB7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICAudmlkZW8tcGxheWVyLWNvbnRhaW5lcjpob3ZlciAuaW1hZ2U6YWZ0ZXIge1xuICAgIGNvbG9yOiB2YXIoLS13aGl0ZS1jb2xvdXIpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWFjY2VudC1jb2xvdXItMS1saWdodG5lc3MtMyk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS13aGl0ZS1jb2xvdXIpO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnMsIGJhY2tncm91bmQtY29sb3IgMC42cywgYm9yZGVyLWNvbG9yIDAuNnM7IH1cbiAgLnZpZGVvLXBsYXllci1jb250YWluZXIgLmltYWdlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAudmlkZW8tcGxheWVyLWNvbnRhaW5lciAuaW1hZ2U6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCLvgYtcIjtcbiAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgcGFkZGluZy1sZWZ0OiAycHg7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICBjb2xvcjogdmFyKC0tYWNjZW50LWNvbG91ci0xLWxpZ2h0bmVzcy0zKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXdoaXRlLWNvbG91cik7XG4gICAgICBib3JkZXI6IDAgc29saWQgdmFyKC0tYWNjZW50LWNvbG91ci0xLWxpZ2h0bmVzcy0zKTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDQwcHg7XG4gICAgICBib3gtc2hhZG93OiAwcHggMnB4IDRweCAxcHggcmdiYSgxMiwgMTIsIDEzLCAwLjMpO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzLCBiYWNrZ3JvdW5kLWNvbG9yIDAuOHMsIGJvcmRlci1jb2xvciAwLjhzOyB9XG4gIC52aWRlby1wbGF5ZXItY29udGFpbmVyIC5kdXJhdGlvbi1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiA1cHg7XG4gICAgY29sb3I6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy0wKTsgfVxuICAgIC52aWRlby1wbGF5ZXItY29udGFpbmVyIC5kdXJhdGlvbi1jb250YWluZXI6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74CXXCI7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgZm9udC1zaXplOiAxNnB4OyB9XG4gICAgLnZpZGVvLXBsYXllci1jb250YWluZXIgLmR1cmF0aW9uLWNvbnRhaW5lciAubGFiZWwsIC52aWRlby1wbGF5ZXItY29udGFpbmVyIC5kdXJhdGlvbi1jb250YWluZXIgLnZhbHVlIHtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgLnZpZGVvLXBsYXllci1jb250YWluZXIgLnZpZGVvLXBsYXllci1pbmRpY2F0b3ItdGV4dCB7XG4gICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLnZpZGVvLXBsYXllci1jb250YWluZXIgLnJlYWQtbW9yZSB7XG4gICAgICBmbGV4OiAxOyB9IH1cblxuLypcclxuICBNdWx0aW1lZGlhIEVsZW1lbnRcclxuICBcclxuICBIYW5kbGVzIHN0eWxpbmcgZm9yIHZpZGVvIHBsYXliYWNrXHJcblxyXG4qL1xudmlkZW8ge1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cblxuLnZpZGVvIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIEBzdXBwb3J0cyBub3QgKC1hcHBsZS1wYXktYnV0dG9uLXN0eWxlOiBpbmhlcml0KSB7XG4gICAgLnZpZGVvLmlzLXJlYWR5LXRvLXBsYXk6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCLvgYtcIjtcbiAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgcGFkZGluZy1sZWZ0OiAycHg7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICBjb2xvcjogdmFyKC0tYWNjZW50LWNvbG91ci0xLWxpZ2h0bmVzcy0zKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXdoaXRlLWNvbG91cik7XG4gICAgICBib3JkZXI6IDAgc29saWQgdmFyKC0tYWNjZW50LWNvbG91ci0xLWxpZ2h0bmVzcy0zKTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDQwcHg7XG4gICAgICBib3gtc2hhZG93OiAwcHggMnB4IDRweCAxcHggcmdiYSgxMiwgMTIsIDEzLCAwLjMpO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzLCBiYWNrZ3JvdW5kLWNvbG9yIDAuOHMsIGJvcmRlci1jb2xvciAwLjhzOyB9XG4gICAgLnZpZGVvLnJlcGxheS12aWRlbzphZnRlciB7XG4gICAgICBjb250ZW50OiBcIu+No1wiO1xuICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICBjb2xvcjogdmFyKC0tYWNjZW50LWNvbG91ci0xLWxpZ2h0bmVzcy0zKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXdoaXRlLWNvbG91cik7XG4gICAgICBib3JkZXI6IDAgc29saWQgdmFyKC0tYWNjZW50LWNvbG91ci0xLWxpZ2h0bmVzcy0zKTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDQwcHg7XG4gICAgICBib3gtc2hhZG93OiAwcHggMnB4IDRweCAxcHggcmdiYSgxMiwgMTIsIDEzLCAwLjMpO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzLCBiYWNrZ3JvdW5kLWNvbG9yIDAuOHMsIGJvcmRlci1jb2xvciAwLjhzOyB9IH1cblxuLnNvdXJjZS11bnN1cHBvcnRlZCA+IHZpZGVvIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uc291cmNlLXVuc3VwcG9ydGVkID4gaW1nIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG5bZGF0YS1mYWxsYmFja10ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5mYWxsYmFjay1lbGVtZW50IHtcbiAgd2lkdGg6IGZpdC1jb250ZW50O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmZhbGxiYWNrLWVsZW1lbnQuYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5mYWxsYmFjay1lbGVtZW50IGltZyB7XG4gICAgei1pbmRleDogMTsgfVxuICAuZmFsbGJhY2stZWxlbWVudCAuZmFsbGJhY2stdGV4dCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiA1MnB4IDFmcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNDgsIDI0OCwgMjQ4LCAwLjgpO1xuICAgIGNvbG9yOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtMCk7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgei1pbmRleDogMjsgfVxuICAgIC5mYWxsYmFjay1lbGVtZW50IC5mYWxsYmFjay10ZXh0OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+BqlwiO1xuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICBmb250LXNpemU6IDMycHg7XG4gICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICAgIGdyaWQtY29sdW1uOiAxO1xuICAgICAgZ3JpZC1yb3c6IDEgLyBzcGFuIDI7IH1cbiAgICAuZmFsbGJhY2stZWxlbWVudCAuZmFsbGJhY2stdGV4dCAuZXJyb3ItZGV0YWlscyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgLmZhbGxiYWNrLWVsZW1lbnQgLmZhbGxiYWNrLXRleHQgc3BhbiwgLmZhbGxiYWNrLWVsZW1lbnQgLmZhbGxiYWNrLXRleHQgZGl2IHtcbiAgICAgIGdyaWQtY29sdW1uOiAyOyB9XG5cbi8qISBub3JtYWxpemUuY3NzIHY4LjAuMCB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cbmh0bWwge1xuICBsaW5lLWhlaWdodDogMS4xNTtcbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyB9XG5cbmJvZHkge1xuICBtYXJnaW46IDA7IH1cblxuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDsgfVxuXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBoZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbnByZSB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgZm9udC1zaXplOiAxZW07IH1cblxuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyB9XG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyOyB9XG5cbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICBmb250LXNpemU6IDFlbTsgfVxuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlOyB9XG5cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtOyB9XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtOyB9XG5cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTsgfVxuXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAxMDAlO1xuICBsaW5lLWhlaWdodDogMS4xNTtcbiAgbWFyZ2luOiAwOyB9XG5cbmJ1dHRvbixcbmlucHV0IHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7IH1cblxuYnV0dG9uLFxuc2VsZWN0IHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuYnV0dG9uLFxuW3R5cGU9XCJidXR0b25cIl0sXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgfVxuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDsgfVxuXG5idXR0b246LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cImJ1dHRvblwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDsgfVxuXG5maWVsZHNldCB7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjc1ZW0gMC42MjVlbTsgfVxuXG5sZWdlbmQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBjb2xvcjogaW5oZXJpdDtcbiAgZGlzcGxheTogdGFibGU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMDtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgfVxuXG5wcm9ncmVzcyB7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvOyB9XG5cblt0eXBlPVwiY2hlY2tib3hcIl0sXG5bdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgcGFkZGluZzogMDsgfVxuXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cblt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyB9XG5cblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyB9XG5cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgZm9udDogaW5oZXJpdDsgfVxuXG5kZXRhaWxzIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTsgfVxuXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbltkYXRhLXdoYXRpbnRlbnQ9XCJtb3VzZVwiXSAqLCBbZGF0YS13aGF0aW50ZW50PVwibW91c2VcIl0gKjpmb2N1cyxcbltkYXRhLXdoYXRpbnRlbnQ9XCJ0b3VjaFwiXSAqLFxuW2RhdGEtd2hhdGludGVudD1cInRvdWNoXCJdICo6Zm9jdXMsXG5bZGF0YS13aGF0aW5wdXQ9XCJtb3VzZVwiXSAqLFxuW2RhdGEtd2hhdGlucHV0PVwibW91c2VcIl0gKjpmb2N1cyxcbltkYXRhLXdoYXRpbnB1dD1cInRvdWNoXCJdICosXG5bZGF0YS13aGF0aW5wdXQ9XCJ0b3VjaFwiXSAqOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTsgfVxuXG5bZHJhZ2dhYmxlPWZhbHNlXSB7XG4gIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTsgfVxuXG4uZm91bmRhdGlvbi1tcSB7XG4gIGZvbnQtZmFtaWx5OiBcInNtYWxsPTBlbSZtZWRpdW09NDBlbSZsYXJnZT04MS4yNWVtJnhsYXJnZT0xMDBlbSZ4eGxhcmdlPTEyMGVtXCI7IH1cblxuaHRtbCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGZvbnQtc2l6ZTogMTAwJTsgfVxuXG4qLFxuKjo6YmVmb3JlLFxuKjo6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBpbmhlcml0OyB9XG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIGZvbnQtZmFtaWx5OiBcIkdpYnNvblwiLCBcIkdpYnNvbiBGYWxsYmFja1wiLCBcIkFyaWFsXCI7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgfVxuXG5pbWcge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBiaWN1YmljOyB9XG5cbnRleHRhcmVhIHtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtaW4taGVpZ2h0OiA1MHB4O1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG5cbnNlbGVjdCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG5cbi5tYXBfY2FudmFzIGltZyxcbi5tYXBfY2FudmFzIGVtYmVkLFxuLm1hcF9jYW52YXMgb2JqZWN0LFxuLm1xYS1kaXNwbGF5IGltZyxcbi5tcWEtZGlzcGxheSBlbWJlZCxcbi5tcWEtZGlzcGxheSBvYmplY3Qge1xuICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDsgfVxuXG5idXR0b24ge1xuICBwYWRkaW5nOiAwO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBsaW5lLWhlaWdodDogMTtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSBidXR0b24ge1xuICAgIG91dGxpbmU6IDA7IH1cblxucHJlIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDsgfVxuXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogaW5oZXJpdDsgfVxuXG4uaXMtdmlzaWJsZSB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cblxuLmlzLWhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG5bdHlwZT0ndGV4dCddLCBbdHlwZT0ncGFzc3dvcmQnXSwgW3R5cGU9J2RhdGUnXSwgW3R5cGU9J2RhdGV0aW1lJ10sIFt0eXBlPSdkYXRldGltZS1sb2NhbCddLCBbdHlwZT0nbW9udGgnXSwgW3R5cGU9J3dlZWsnXSwgW3R5cGU9J2VtYWlsJ10sIFt0eXBlPSdudW1iZXInXSwgW3R5cGU9J3NlYXJjaCddLCBbdHlwZT0ndGVsJ10sIFt0eXBlPSd0aW1lJ10sIFt0eXBlPSd1cmwnXSwgW3R5cGU9J2NvbG9yJ10sXG50ZXh0YXJlYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAyLjMzNzVyZW07XG4gIG1hcmdpbjogMCAwIDFyZW07XG4gIHBhZGRpbmc6IDAuNXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2M4YzhjODtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgYm94LXNoYWRvdzogMDtcbiAgZm9udC1mYW1pbHk6IFwiR2lic29uXCIsIFwiR2lic29uIEZhbGxiYWNrXCIsIFwiQXJpYWxcIjtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgY29sb3I6ICM3Nzc3Nzc7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC44cywgYm9yZGVyLWNvbG9yIDAuOHM7XG4gIGFwcGVhcmFuY2U6IG5vbmU7IH1cbiAgW3R5cGU9J3RleHQnXTpmb2N1cywgW3R5cGU9J3Bhc3N3b3JkJ106Zm9jdXMsIFt0eXBlPSdkYXRlJ106Zm9jdXMsIFt0eXBlPSdkYXRldGltZSddOmZvY3VzLCBbdHlwZT0nZGF0ZXRpbWUtbG9jYWwnXTpmb2N1cywgW3R5cGU9J21vbnRoJ106Zm9jdXMsIFt0eXBlPSd3ZWVrJ106Zm9jdXMsIFt0eXBlPSdlbWFpbCddOmZvY3VzLCBbdHlwZT0nbnVtYmVyJ106Zm9jdXMsIFt0eXBlPSdzZWFyY2gnXTpmb2N1cywgW3R5cGU9J3RlbCddOmZvY3VzLCBbdHlwZT0ndGltZSddOmZvY3VzLCBbdHlwZT0ndXJsJ106Zm9jdXMsIFt0eXBlPSdjb2xvciddOmZvY3VzLFxuICB0ZXh0YXJlYTpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYzhjOGM4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTtcbiAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuOHMsIGJvcmRlci1jb2xvciAwLjhzOyB9XG5cbnRleHRhcmVhIHtcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIHRleHRhcmVhW3Jvd3NdIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cblxuaW5wdXQ6ZGlzYWJsZWQsIGlucHV0W3JlYWRvbmx5XSxcbnRleHRhcmVhOmRpc2FibGVkLFxudGV4dGFyZWFbcmVhZG9ubHldIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTgpO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG5cblt0eXBlPSdzdWJtaXQnXSxcblt0eXBlPSdidXR0b24nXSB7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cblxuaW5wdXRbdHlwZT1zZWFyY2hdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG46OnBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICNjOGM4Yzg7IH1cblxuW3R5cGU9J2ZpbGUnXSxcblt0eXBlPSdjaGVja2JveCddLFxuW3R5cGU9J3JhZGlvJ10ge1xuICBtYXJnaW46IDAgMCAxcmVtOyB9XG5cblt0eXBlPSdjaGVja2JveCddICsgbGFiZWwsXG5bdHlwZT0ncmFkaW8nXSArIGxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBbdHlwZT0nY2hlY2tib3gnXSArIGxhYmVsW2Zvcl0sXG4gIFt0eXBlPSdyYWRpbyddICsgbGFiZWxbZm9yXSB7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbmxhYmVsID4gW3R5cGU9J2NoZWNrYm94J10sXG5sYWJlbCA+IFt0eXBlPSdyYWRpbyddIHtcbiAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07IH1cblxuW3R5cGU9ZmlsZV0ge1xuICB3aWR0aDogMTAwJTsgfVxuXG5sYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjg7XG4gIGNvbG9yOiAjMDAwMDAwOyB9XG4gIGxhYmVsLm1pZGRsZSB7XG4gICAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS42O1xuICAgIHBhZGRpbmc6IDAuNTYyNXJlbSAwOyB9XG5cbi5oZWxwLXRleHQge1xuICBtYXJnaW4tdG9wOiAtMC41cmVtO1xuICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBjb2xvcjogIzAwMDAwMDsgfVxuXG4uaW5wdXQtZ3JvdXAge1xuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7IH1cbiAgLmlucHV0LWdyb3VwID4gOmZpcnN0LWNoaWxkLCAuaW5wdXQtZ3JvdXAgPiA6Zmlyc3QtY2hpbGQuaW5wdXQtZ3JvdXAtYnV0dG9uID4gKiB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDsgfVxuICAuaW5wdXQtZ3JvdXAgPiA6bGFzdC1jaGlsZCwgLmlucHV0LWdyb3VwID4gOmxhc3QtY2hpbGQuaW5wdXQtZ3JvdXAtYnV0dG9uID4gKiB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDsgfVxuXG4uaW5wdXQtZ3JvdXAtbGFiZWwsIC5pbnB1dC1ncm91cC1maWVsZCwgLmlucHV0LWdyb3VwLWJ1dHRvbiwgLmlucHV0LWdyb3VwLWJ1dHRvbiBhLFxuLmlucHV0LWdyb3VwLWJ1dHRvbiBpbnB1dCxcbi5pbnB1dC1ncm91cC1idXR0b24gYnV0dG9uLFxuLmlucHV0LWdyb3VwLWJ1dHRvbiBsYWJlbCB7XG4gIG1hcmdpbjogMDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG4uaW5wdXQtZ3JvdXAtbGFiZWwge1xuICBwYWRkaW5nOiAwIDFyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNhZWFlYWU7XG4gIGJhY2tncm91bmQ6ICNkYWRhZGE7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5pbnB1dC1ncm91cC1sYWJlbDpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJpZ2h0OiAwOyB9XG4gIC5pbnB1dC1ncm91cC1sYWJlbDpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItbGVmdDogMDsgfVxuXG4uaW5wdXQtZ3JvdXAtZmllbGQge1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBmbGV4OiAxIDEgMHB4O1xuICBtaW4td2lkdGg6IDA7IH1cblxuLmlucHV0LWdyb3VwLWJ1dHRvbiB7XG4gIHBhZGRpbmctdG9wOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4OiAwIDAgYXV0bzsgfVxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIGEsXG4gIC5pbnB1dC1ncm91cC1idXR0b24gaW5wdXQsXG4gIC5pbnB1dC1ncm91cC1idXR0b24gYnV0dG9uLFxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIGxhYmVsIHtcbiAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG5cbmZpZWxkc2V0IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7IH1cblxubGVnZW5kIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuLmZpZWxkc2V0IHtcbiAgbWFyZ2luOiAxLjEyNXJlbSAwO1xuICBwYWRkaW5nOiAxLjI1cmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjYWVhZWFlOyB9XG4gIC5maWVsZHNldCBsZWdlbmQge1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tbGVmdDogLTAuMTg3NXJlbTtcbiAgICBwYWRkaW5nOiAwIDAuMTg3NXJlbTsgfVxuXG5zZWxlY3Qge1xuICBoZWlnaHQ6IDIuMzM3NXJlbTtcbiAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgcGFkZGluZzogMC41cmVtO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCAjYzhjOGM4O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBmb250LWZhbWlseTogXCJHaWJzb25cIiwgXCJHaWJzb24gRmFsbGJhY2tcIiwgXCJBcmlhbFwiO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS42O1xuICBjb2xvcjogIzc3Nzc3NztcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2ZXJzaW9uPVwiMS4xXCIgd2lkdGg9XCIzMlwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAzMiAyNFwiPjxwb2x5Z29uIHBvaW50cz1cIjAsMCAzMiwwIDE2LDI0XCIgc3R5bGU9XCJmaWxsOiByZ2IlMjgxMzYsIDEzNiwgMTM2JTI5XCI+PC9wb2x5Z29uPjwvc3ZnPicpO1xuICBiYWNrZ3JvdW5kLW9yaWdpbjogY29udGVudC1ib3g7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IC0xcmVtIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiA5cHggNnB4O1xuICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC44cywgYm9yZGVyLWNvbG9yIDAuOHM7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMFxcMCkge1xuICAgIHNlbGVjdCB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQUlwSlJFRlVlTnJFa2NrTmdEQU1CQmZSa0V0ME9iUkJCZHNHWFVEZ21RZks0WGhIMm04Y3pRQUF5MjdSM3RzdzRRZmUyeDh1T082b1lMYjZHbE9vcjNHRitzd1VSQU9tVUorUnd0RUpzOVd2VEdFWXhCWHFJMU1RQVpoQ2ZVUUtSekRNVmorVHdyQUlWNmp2U1VFa1lBcjFMU2tjeVRCYi9WK0tZZlg3eEFldXNxM3NMRHRHSDNrRUdBQ1BXSWZsTlpmaFJRQUFBQUJKUlU1RXJrSmdnZz09XCIpOyB9IH1cbiAgc2VsZWN0OmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNjOGM4Yzg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpO1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC44cywgYm9yZGVyLWNvbG9yIDAuOHM7IH1cbiAgc2VsZWN0OmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtOCk7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICBzZWxlY3Q6Oi1tcy1leHBhbmQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgc2VsZWN0W211bHRpcGxlXSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IH1cbiAgc2VsZWN0Om5vdChbbXVsdGlwbGVdKSB7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7IH1cblxuLmlzLWludmFsaWQtaW5wdXQ6bm90KDpmb2N1cykge1xuICBib3JkZXItY29sb3I6ICNiMjBjMGM7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmN2U3ZTc7IH1cbiAgLmlzLWludmFsaWQtaW5wdXQ6bm90KDpmb2N1cyk6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogI2IyMGMwYzsgfVxuXG4uaXMtaW52YWxpZC1sYWJlbCB7XG4gIGNvbG9yOiAjYjIwYzBjOyB9XG5cbi5mb3JtLWVycm9yIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiAjYjIwYzBjOyB9XG4gIC5mb3JtLWVycm9yLmlzLXZpc2libGUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5ncmlkLWNvbnRhaW5lciB7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICBtYXgtd2lkdGg6IDEzMDBweDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICAuZ3JpZC1jb250YWluZXIuZmx1aWQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICAuZ3JpZC1jb250YWluZXIuZnVsbCB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuXG4uZ3JpZC14IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDsgfVxuXG4uY2VsbCB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICBtaW4taGVpZ2h0OiAwO1xuICBtaW4td2lkdGg6IDA7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5jZWxsLmF1dG8ge1xuICAgIGZsZXg6IDEgMSAwOyB9XG4gIC5jZWxsLnNocmluayB7XG4gICAgZmxleDogMCAwIGF1dG87IH1cblxuLmdyaWQteCA+IC5hdXRvIHtcbiAgd2lkdGg6IGF1dG87IH1cblxuLmdyaWQteCA+IC5zaHJpbmsge1xuICB3aWR0aDogYXV0bzsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLXNocmluaywgLmdyaWQteCA+IC5zbWFsbC1mdWxsLCAuZ3JpZC14ID4gLnNtYWxsLTEsIC5ncmlkLXggPiAuc21hbGwtMiwgLmdyaWQteCA+IC5zbWFsbC0zLCAuZ3JpZC14ID4gLnNtYWxsLTQsIC5ncmlkLXggPiAuc21hbGwtNSwgLmdyaWQteCA+IC5zbWFsbC02LCAuZ3JpZC14ID4gLnNtYWxsLTcsIC5ncmlkLXggPiAuc21hbGwtOCwgLmdyaWQteCA+IC5zbWFsbC05LCAuZ3JpZC14ID4gLnNtYWxsLTEwLCAuZ3JpZC14ID4gLnNtYWxsLTExLCAuZ3JpZC14ID4gLnNtYWxsLTEyIHtcbiAgZmxleC1iYXNpczogYXV0bzsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZ3JpZC14ID4gLm1lZGl1bS1zaHJpbmssIC5ncmlkLXggPiAubWVkaXVtLWZ1bGwsIC5ncmlkLXggPiAubWVkaXVtLTEsIC5ncmlkLXggPiAubWVkaXVtLTIsIC5ncmlkLXggPiAubWVkaXVtLTMsIC5ncmlkLXggPiAubWVkaXVtLTQsIC5ncmlkLXggPiAubWVkaXVtLTUsIC5ncmlkLXggPiAubWVkaXVtLTYsIC5ncmlkLXggPiAubWVkaXVtLTcsIC5ncmlkLXggPiAubWVkaXVtLTgsIC5ncmlkLXggPiAubWVkaXVtLTksIC5ncmlkLXggPiAubWVkaXVtLTEwLCAuZ3JpZC14ID4gLm1lZGl1bS0xMSwgLmdyaWQteCA+IC5tZWRpdW0tMTIge1xuICAgIGZsZXgtYmFzaXM6IGF1dG87IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5ncmlkLXggPiAubGFyZ2Utc2hyaW5rLCAuZ3JpZC14ID4gLmxhcmdlLWZ1bGwsIC5ncmlkLXggPiAubGFyZ2UtMSwgLmdyaWQteCA+IC5sYXJnZS0yLCAuZ3JpZC14ID4gLmxhcmdlLTMsIC5ncmlkLXggPiAubGFyZ2UtNCwgLmdyaWQteCA+IC5sYXJnZS01LCAuZ3JpZC14ID4gLmxhcmdlLTYsIC5ncmlkLXggPiAubGFyZ2UtNywgLmdyaWQteCA+IC5sYXJnZS04LCAuZ3JpZC14ID4gLmxhcmdlLTksIC5ncmlkLXggPiAubGFyZ2UtMTAsIC5ncmlkLXggPiAubGFyZ2UtMTEsIC5ncmlkLXggPiAubGFyZ2UtMTIge1xuICAgIGZsZXgtYmFzaXM6IGF1dG87IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAuZ3JpZC14ID4gLnhsYXJnZS1zaHJpbmssIC5ncmlkLXggPiAueGxhcmdlLWZ1bGwsIC5ncmlkLXggPiAueGxhcmdlLTEsIC5ncmlkLXggPiAueGxhcmdlLTIsIC5ncmlkLXggPiAueGxhcmdlLTMsIC5ncmlkLXggPiAueGxhcmdlLTQsIC5ncmlkLXggPiAueGxhcmdlLTUsIC5ncmlkLXggPiAueGxhcmdlLTYsIC5ncmlkLXggPiAueGxhcmdlLTcsIC5ncmlkLXggPiAueGxhcmdlLTgsIC5ncmlkLXggPiAueGxhcmdlLTksIC5ncmlkLXggPiAueGxhcmdlLTEwLCAuZ3JpZC14ID4gLnhsYXJnZS0xMSwgLmdyaWQteCA+IC54bGFyZ2UtMTIge1xuICAgIGZsZXgtYmFzaXM6IGF1dG87IH0gfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTEsIC5ncmlkLXggPiAuc21hbGwtMiwgLmdyaWQteCA+IC5zbWFsbC0zLCAuZ3JpZC14ID4gLnNtYWxsLTQsIC5ncmlkLXggPiAuc21hbGwtNSwgLmdyaWQteCA+IC5zbWFsbC02LCAuZ3JpZC14ID4gLnNtYWxsLTcsIC5ncmlkLXggPiAuc21hbGwtOCwgLmdyaWQteCA+IC5zbWFsbC05LCAuZ3JpZC14ID4gLnNtYWxsLTEwLCAuZ3JpZC14ID4gLnNtYWxsLTExLCAuZ3JpZC14ID4gLnNtYWxsLTEyIHtcbiAgZmxleDogMCAwIGF1dG87IH1cblxuLmdyaWQteCA+IC5zbWFsbC0xIHtcbiAgd2lkdGg6IDguMzMzMzMlOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtMiB7XG4gIHdpZHRoOiAxNi42NjY2NyU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC0zIHtcbiAgd2lkdGg6IDI1JTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTQge1xuICB3aWR0aDogMzMuMzMzMzMlOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtNSB7XG4gIHdpZHRoOiA0MS42NjY2NyU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC02IHtcbiAgd2lkdGg6IDUwJTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTcge1xuICB3aWR0aDogNTguMzMzMzMlOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtOCB7XG4gIHdpZHRoOiA2Ni42NjY2NyU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC05IHtcbiAgd2lkdGg6IDc1JTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTEwIHtcbiAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTExIHtcbiAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTEyIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmdyaWQteCA+IC5tZWRpdW0tYXV0byB7XG4gICAgZmxleDogMSAxIDA7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tc2hyaW5rLCAuZ3JpZC14ID4gLm1lZGl1bS0xLCAuZ3JpZC14ID4gLm1lZGl1bS0yLCAuZ3JpZC14ID4gLm1lZGl1bS0zLCAuZ3JpZC14ID4gLm1lZGl1bS00LCAuZ3JpZC14ID4gLm1lZGl1bS01LCAuZ3JpZC14ID4gLm1lZGl1bS02LCAuZ3JpZC14ID4gLm1lZGl1bS03LCAuZ3JpZC14ID4gLm1lZGl1bS04LCAuZ3JpZC14ID4gLm1lZGl1bS05LCAuZ3JpZC14ID4gLm1lZGl1bS0xMCwgLmdyaWQteCA+IC5tZWRpdW0tMTEsIC5ncmlkLXggPiAubWVkaXVtLTEyIHtcbiAgICBmbGV4OiAwIDAgYXV0bzsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS1zaHJpbmsge1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAuZ3JpZC14ID4gLmxhcmdlLWF1dG8ge1xuICAgIGZsZXg6IDEgMSAwO1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLXggPiAubGFyZ2Utc2hyaW5rLCAuZ3JpZC14ID4gLmxhcmdlLTEsIC5ncmlkLXggPiAubGFyZ2UtMiwgLmdyaWQteCA+IC5sYXJnZS0zLCAuZ3JpZC14ID4gLmxhcmdlLTQsIC5ncmlkLXggPiAubGFyZ2UtNSwgLmdyaWQteCA+IC5sYXJnZS02LCAuZ3JpZC14ID4gLmxhcmdlLTcsIC5ncmlkLXggPiAubGFyZ2UtOCwgLmdyaWQteCA+IC5sYXJnZS05LCAuZ3JpZC14ID4gLmxhcmdlLTEwLCAuZ3JpZC14ID4gLmxhcmdlLTExLCAuZ3JpZC14ID4gLmxhcmdlLTEyIHtcbiAgICBmbGV4OiAwIDAgYXV0bzsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLXNocmluayB7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLmdyaWQteCA+IC5sYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAuZ3JpZC14ID4gLnhsYXJnZS1hdXRvIHtcbiAgICBmbGV4OiAxIDEgMDtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS1zaHJpbmssIC5ncmlkLXggPiAueGxhcmdlLTEsIC5ncmlkLXggPiAueGxhcmdlLTIsIC5ncmlkLXggPiAueGxhcmdlLTMsIC5ncmlkLXggPiAueGxhcmdlLTQsIC5ncmlkLXggPiAueGxhcmdlLTUsIC5ncmlkLXggPiAueGxhcmdlLTYsIC5ncmlkLXggPiAueGxhcmdlLTcsIC5ncmlkLXggPiAueGxhcmdlLTgsIC5ncmlkLXggPiAueGxhcmdlLTksIC5ncmlkLXggPiAueGxhcmdlLTEwLCAuZ3JpZC14ID4gLnhsYXJnZS0xMSwgLmdyaWQteCA+IC54bGFyZ2UtMTIge1xuICAgIGZsZXg6IDAgMCBhdXRvOyB9XG4gIC5ncmlkLXggPiAueGxhcmdlLXNocmluayB7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLmdyaWQteCA+IC54bGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAueGxhcmdlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC54bGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAueGxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC54bGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAueGxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC54bGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4uZ3JpZC1tYXJnaW4teDpub3QoLmdyaWQteCkgPiAuY2VsbCB7XG4gIHdpZHRoOiBhdXRvOyB9XG5cbi5ncmlkLW1hcmdpbi15Om5vdCguZ3JpZC15KSA+IC5jZWxsIHtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbi5ncmlkLW1hcmdpbi14IHtcbiAgbWFyZ2luLWxlZnQ6IC0wLjMxMjVyZW07XG4gIG1hcmdpbi1yaWdodDogLTAuMzEyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLW1hcmdpbi14IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC42MjVyZW07XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjYyNXJlbTsgfSB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAwLjYyNXJlbSk7XG4gICAgbWFyZ2luLWxlZnQ6IDAuMzEyNXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMzEyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLW1hcmdpbi14ID4gLmNlbGwge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuMjVyZW0pO1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTsgfSB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmF1dG8ge1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNocmluayB7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMSB7XG4gICAgd2lkdGg6IGNhbGMoOC4zMzMzMyUgLSAwLjYyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMiB7XG4gICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMC42MjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTMge1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtIDAuNjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC00IHtcbiAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAwLjYyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNSB7XG4gICAgd2lkdGg6IGNhbGMoNDEuNjY2NjclIC0gMC42MjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTYge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDAuNjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC03IHtcbiAgICB3aWR0aDogY2FsYyg1OC4zMzMzMyUgLSAwLjYyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtOCB7XG4gICAgd2lkdGg6IGNhbGMoNjYuNjY2NjclIC0gMC42MjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTkge1xuICAgIHdpZHRoOiBjYWxjKDc1JSAtIDAuNjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xMCB7XG4gICAgd2lkdGg6IGNhbGMoODMuMzMzMzMlIC0gMC42MjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTExIHtcbiAgICB3aWR0aDogY2FsYyg5MS42NjY2NyUgLSAwLjYyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTIge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAwLjYyNXJlbSk7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5hdXRvIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc2hyaW5rIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMSB7XG4gICAgICB3aWR0aDogY2FsYyg4LjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMiB7XG4gICAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTMge1xuICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC00IHtcbiAgICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNSB7XG4gICAgICB3aWR0aDogY2FsYyg0MS42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTYge1xuICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC03IHtcbiAgICAgIHdpZHRoOiBjYWxjKDU4LjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtOCB7XG4gICAgICB3aWR0aDogY2FsYyg2Ni42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTkge1xuICAgICAgd2lkdGg6IGNhbGMoNzUlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xMCB7XG4gICAgICB3aWR0aDogY2FsYyg4My4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTExIHtcbiAgICAgIHdpZHRoOiBjYWxjKDkxLjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLWF1dG8ge1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tc2hyaW5rIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTEge1xuICAgICAgd2lkdGg6IGNhbGMoOC4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0yIHtcbiAgICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTMge1xuICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tNCB7XG4gICAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS01IHtcbiAgICAgIHdpZHRoOiBjYWxjKDQxLjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTYge1xuICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tNyB7XG4gICAgICB3aWR0aDogY2FsYyg1OC4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS04IHtcbiAgICAgIHdpZHRoOiBjYWxjKDY2LjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTkge1xuICAgICAgd2lkdGg6IGNhbGMoNzUlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMTAge1xuICAgICAgd2lkdGg6IGNhbGMoODMuMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMTEge1xuICAgICAgd2lkdGg6IGNhbGMoOTEuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuMjVyZW0pOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLWF1dG8ge1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1zaHJpbmsge1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS0xIHtcbiAgICAgIHdpZHRoOiBjYWxjKDguMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS0yIHtcbiAgICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtMyB7XG4gICAgICB3aWR0aDogY2FsYygyNSUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTQge1xuICAgICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS01IHtcbiAgICAgIHdpZHRoOiBjYWxjKDQxLjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtNiB7XG4gICAgICB3aWR0aDogY2FsYyg1MCUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTcge1xuICAgICAgd2lkdGg6IGNhbGMoNTguMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS04IHtcbiAgICAgIHdpZHRoOiBjYWxjKDY2LjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtOSB7XG4gICAgICB3aWR0aDogY2FsYyg3NSUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTEwIHtcbiAgICAgIHdpZHRoOiBjYWxjKDgzLjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtMTEge1xuICAgICAgd2lkdGg6IGNhbGMoOTEuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS0xMiB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMS4yNXJlbSk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS1hdXRvIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLXNocmluayB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS0xIHtcbiAgICAgIHdpZHRoOiBjYWxjKDguMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2UtMiB7XG4gICAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS0zIHtcbiAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTQge1xuICAgICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2UtNSB7XG4gICAgICB3aWR0aDogY2FsYyg0MS42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS02IHtcbiAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTcge1xuICAgICAgd2lkdGg6IGNhbGMoNTguMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2UtOCB7XG4gICAgICB3aWR0aDogY2FsYyg2Ni42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS05IHtcbiAgICAgIHdpZHRoOiBjYWxjKDc1JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTEwIHtcbiAgICAgIHdpZHRoOiBjYWxjKDgzLjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTExIHtcbiAgICAgIHdpZHRoOiBjYWxjKDkxLjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTEyIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjI1cmVtKTsgfSB9XG5cbi5ncmlkLXBhZGRpbmcteCAuZ3JpZC1wYWRkaW5nLXgge1xuICBtYXJnaW4tcmlnaHQ6IC0wLjMxMjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAtMC4zMTI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtcGFkZGluZy14IC5ncmlkLXBhZGRpbmcteCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjYyNXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC42MjVyZW07IH0gfVxuXG4uZ3JpZC1jb250YWluZXI6bm90KC5mdWxsKSA+IC5ncmlkLXBhZGRpbmcteCB7XG4gIG1hcmdpbi1yaWdodDogLTAuMzEyNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IC0wLjMxMjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1jb250YWluZXI6bm90KC5mdWxsKSA+IC5ncmlkLXBhZGRpbmcteCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjYyNXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC42MjVyZW07IH0gfVxuXG4uZ3JpZC1wYWRkaW5nLXggPiAuY2VsbCB7XG4gIHBhZGRpbmctcmlnaHQ6IDAuMzEyNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjMxMjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1wYWRkaW5nLXggPiAuY2VsbCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH0gfVxuXG4uc21hbGwtdXAtMSA+IC5jZWxsIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLnNtYWxsLXVwLTIgPiAuY2VsbCB7XG4gIHdpZHRoOiA1MCU7IH1cblxuLnNtYWxsLXVwLTMgPiAuY2VsbCB7XG4gIHdpZHRoOiAzMy4zMzMzMyU7IH1cblxuLnNtYWxsLXVwLTQgPiAuY2VsbCB7XG4gIHdpZHRoOiAyNSU7IH1cblxuLnNtYWxsLXVwLTUgPiAuY2VsbCB7XG4gIHdpZHRoOiAyMCU7IH1cblxuLnNtYWxsLXVwLTYgPiAuY2VsbCB7XG4gIHdpZHRoOiAxNi42NjY2NyU7IH1cblxuLnNtYWxsLXVwLTcgPiAuY2VsbCB7XG4gIHdpZHRoOiAxNC4yODU3MSU7IH1cblxuLnNtYWxsLXVwLTggPiAuY2VsbCB7XG4gIHdpZHRoOiAxMi41JTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLm1lZGl1bS11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLm1lZGl1bS11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLm1lZGl1bS11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLm1lZGl1bS11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiAyMCU7IH1cbiAgLm1lZGl1bS11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLm1lZGl1bS11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxNC4yODU3MSU7IH1cbiAgLm1lZGl1bS11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxMi41JTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLmxhcmdlLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmxhcmdlLXVwLTIgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubGFyZ2UtdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5sYXJnZS11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmxhcmdlLXVwLTUgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDIwJTsgfVxuICAubGFyZ2UtdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5sYXJnZS11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxNC4yODU3MSU7IH1cbiAgLmxhcmdlLXVwLTggPiAuY2VsbCB7XG4gICAgd2lkdGg6IDEyLjUlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLnhsYXJnZS11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC54bGFyZ2UtdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC54bGFyZ2UtdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC54bGFyZ2UtdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC54bGFyZ2UtdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogMjAlOyB9XG4gIC54bGFyZ2UtdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC54bGFyZ2UtdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTQuMjg1NzElOyB9XG4gIC54bGFyZ2UtdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTIuNSU7IH0gfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0xID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygxMDAlIC0gMC42MjVyZW0pOyB9XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTIgPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDUwJSAtIDAuNjI1cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0zID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAwLjYyNXJlbSk7IH1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNCA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoMjUlIC0gMC42MjVyZW0pOyB9XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTUgPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDIwJSAtIDAuNjI1cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC02ID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAwLjYyNXJlbSk7IH1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNyA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoMTQuMjg1NzElIC0gMC42MjVyZW0pOyB9XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTggPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDEyLjUlIC0gMC42MjVyZW0pOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTIgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTUgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjAlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE0LjI4NTcxJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTggPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTIuNSUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtMSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTIgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTMgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTQgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTUgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjAlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTcgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTQuMjg1NzElIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTggPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTIuNSUgLSAxLjI1cmVtKTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtMSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTQgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyMCUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTcgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTQuMjg1NzElIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMi41JSAtIDEuMjVyZW0pOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXgueGxhcmdlLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnhsYXJnZS11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnhsYXJnZS11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnhsYXJnZS11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnhsYXJnZS11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDIwJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnhsYXJnZS11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnhsYXJnZS11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE0LjI4NTcxJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnhsYXJnZS11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEyLjUlIC0gMS4yNXJlbSk7IH0gfVxuXG4uc21hbGwtbWFyZ2luLWNvbGxhcHNlIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmNlbGwge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEge1xuICAgICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMiB7XG4gICAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMyB7XG4gICAgICB3aWR0aDogMjUlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNCB7XG4gICAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNSB7XG4gICAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNiB7XG4gICAgICB3aWR0aDogNTAlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNyB7XG4gICAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOCB7XG4gICAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOSB7XG4gICAgICB3aWR0aDogNzUlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTAge1xuICAgICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTExIHtcbiAgICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMiB7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEge1xuICAgICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0yIHtcbiAgICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTMge1xuICAgICAgd2lkdGg6IDI1JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNCB7XG4gICAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS01IHtcbiAgICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTYge1xuICAgICAgd2lkdGg6IDUwJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNyB7XG4gICAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS04IHtcbiAgICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTkge1xuICAgICAgd2lkdGg6IDc1JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTAge1xuICAgICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTEge1xuICAgICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTIge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEge1xuICAgICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMiB7XG4gICAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMyB7XG4gICAgICB3aWR0aDogMjUlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNCB7XG4gICAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNSB7XG4gICAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNiB7XG4gICAgICB3aWR0aDogNTAlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNyB7XG4gICAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtOCB7XG4gICAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtOSB7XG4gICAgICB3aWR0aDogNzUlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTAge1xuICAgICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTExIHtcbiAgICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMiB7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG5cbi5zbWFsbC1wYWRkaW5nLWNvbGxhcHNlIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuICAuc21hbGwtcGFkZGluZy1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLXBhZGRpbmctY29sbGFwc2Uge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIC5tZWRpdW0tcGFkZGluZy1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2Uge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAubGFyZ2UtcGFkZGluZy1jb2xsYXBzZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgLmxhcmdlLXBhZGRpbmctY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2Uge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmNlbGwge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC54bGFyZ2UtcGFkZGluZy1jb2xsYXBzZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgLnhsYXJnZS1wYWRkaW5nLWNvbGxhcHNlID4gLmNlbGwge1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogMDsgfSB9XG5cbi5zbWFsbC1vZmZzZXQtMCB7XG4gIG1hcmdpbi1sZWZ0OiAwJTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMCB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDAlICsgMC42MjVyZW0gLyAyKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTEge1xuICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTEge1xuICBtYXJnaW4tbGVmdDogY2FsYyg4LjMzMzMzJSArIDAuNjI1cmVtIC8gMik7IH1cblxuLnNtYWxsLW9mZnNldC0yIHtcbiAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMiB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDE2LjY2NjY3JSArIDAuNjI1cmVtIC8gMik7IH1cblxuLnNtYWxsLW9mZnNldC0zIHtcbiAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMyB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDI1JSArIDAuNjI1cmVtIC8gMik7IH1cblxuLnNtYWxsLW9mZnNldC00IHtcbiAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtNCB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDMzLjMzMzMzJSArIDAuNjI1cmVtIC8gMik7IH1cblxuLnNtYWxsLW9mZnNldC01IHtcbiAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtNSB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDQxLjY2NjY3JSArIDAuNjI1cmVtIC8gMik7IH1cblxuLnNtYWxsLW9mZnNldC02IHtcbiAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtNiB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDUwJSArIDAuNjI1cmVtIC8gMik7IH1cblxuLnNtYWxsLW9mZnNldC03IHtcbiAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtNyB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDU4LjMzMzMzJSArIDAuNjI1cmVtIC8gMik7IH1cblxuLnNtYWxsLW9mZnNldC04IHtcbiAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtOCB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDY2LjY2NjY3JSArIDAuNjI1cmVtIC8gMik7IH1cblxuLnNtYWxsLW9mZnNldC05IHtcbiAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtOSB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDc1JSArIDAuNjI1cmVtIC8gMik7IH1cblxuLnNtYWxsLW9mZnNldC0xMCB7XG4gIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTEwIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoODMuMzMzMzMlICsgMC42MjVyZW0gLyAyKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTExIHtcbiAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMTEge1xuICBtYXJnaW4tbGVmdDogY2FsYyg5MS42NjY2NyUgKyAwLjYyNXJlbSAvIDIpOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDAlICsgMS4yNXJlbSAvIDIpOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDguMzMzMzMlICsgMS4yNXJlbSAvIDIpOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygxNi42NjY2NyUgKyAxLjI1cmVtIC8gMik7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDI1JSArIDEuMjVyZW0gLyAyKTsgfVxuICAubWVkaXVtLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMzMuMzMzMzMlICsgMS4yNXJlbSAvIDIpOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg0MS42NjY2NyUgKyAxLjI1cmVtIC8gMik7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDUwJSArIDEuMjVyZW0gLyAyKTsgfVxuICAubWVkaXVtLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTguMzMzMzMlICsgMS4yNXJlbSAvIDIpOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg2Ni42NjY2NyUgKyAxLjI1cmVtIC8gMik7IH1cbiAgLm1lZGl1bS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDc1JSArIDEuMjVyZW0gLyAyKTsgfVxuICAubWVkaXVtLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg4My4zMzMzMyUgKyAxLjI1cmVtIC8gMik7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoOTEuNjY2NjclICsgMS4yNXJlbSAvIDIpOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAubGFyZ2Utb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMCUgKyAxLjI1cmVtIC8gMik7IH1cbiAgLmxhcmdlLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDguMzMzMzMlICsgMS4yNXJlbSAvIDIpOyB9XG4gIC5sYXJnZS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMTYuNjY2NjclICsgMS4yNXJlbSAvIDIpOyB9XG4gIC5sYXJnZS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMjUlICsgMS4yNXJlbSAvIDIpOyB9XG4gIC5sYXJnZS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMzMuMzMzMzMlICsgMS4yNXJlbSAvIDIpOyB9XG4gIC5sYXJnZS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNDEuNjY2NjclICsgMS4yNXJlbSAvIDIpOyB9XG4gIC5sYXJnZS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTAlICsgMS4yNXJlbSAvIDIpOyB9XG4gIC5sYXJnZS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTguMzMzMzMlICsgMS4yNXJlbSAvIDIpOyB9XG4gIC5sYXJnZS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNjYuNjY2NjclICsgMS4yNXJlbSAvIDIpOyB9XG4gIC5sYXJnZS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNzUlICsgMS4yNXJlbSAvIDIpOyB9XG4gIC5sYXJnZS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg4My4zMzMzMyUgKyAxLjI1cmVtIC8gMik7IH1cbiAgLmxhcmdlLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDkxLjY2NjY3JSArIDEuMjVyZW0gLyAyKTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC54bGFyZ2Utb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2Utb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDAlICsgMS4yNXJlbSAvIDIpOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2Utb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDguMzMzMzMlICsgMS4yNXJlbSAvIDIpOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygxNi42NjY2NyUgKyAxLjI1cmVtIC8gMik7IH1cbiAgLnhsYXJnZS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2Utb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDI1JSArIDEuMjVyZW0gLyAyKTsgfVxuICAueGxhcmdlLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMzMuMzMzMzMlICsgMS4yNXJlbSAvIDIpOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg0MS42NjY2NyUgKyAxLjI1cmVtIC8gMik7IH1cbiAgLnhsYXJnZS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2Utb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDUwJSArIDEuMjVyZW0gLyAyKTsgfVxuICAueGxhcmdlLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTguMzMzMzMlICsgMS4yNXJlbSAvIDIpOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg2Ni42NjY2NyUgKyAxLjI1cmVtIC8gMik7IH1cbiAgLnhsYXJnZS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2Utb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDc1JSArIDEuMjVyZW0gLyAyKTsgfVxuICAueGxhcmdlLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2Utb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg4My4zMzMzMyUgKyAxLjI1cmVtIC8gMik7IH1cbiAgLnhsYXJnZS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoOTEuNjY2NjclICsgMS4yNXJlbSAvIDIpOyB9IH1cblxuLmdyaWQteSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDsgfVxuICAuZ3JpZC15ID4gLmNlbGwge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtYXgtaGVpZ2h0OiBub25lOyB9XG4gIC5ncmlkLXkgPiAuYXV0byB7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG4gIC5ncmlkLXkgPiAuc2hyaW5rIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cbiAgLmdyaWQteSA+IC5zbWFsbC1zaHJpbmssIC5ncmlkLXkgPiAuc21hbGwtZnVsbCwgLmdyaWQteSA+IC5zbWFsbC0xLCAuZ3JpZC15ID4gLnNtYWxsLTIsIC5ncmlkLXkgPiAuc21hbGwtMywgLmdyaWQteSA+IC5zbWFsbC00LCAuZ3JpZC15ID4gLnNtYWxsLTUsIC5ncmlkLXkgPiAuc21hbGwtNiwgLmdyaWQteSA+IC5zbWFsbC03LCAuZ3JpZC15ID4gLnNtYWxsLTgsIC5ncmlkLXkgPiAuc21hbGwtOSwgLmdyaWQteSA+IC5zbWFsbC0xMCwgLmdyaWQteSA+IC5zbWFsbC0xMSwgLmdyaWQteSA+IC5zbWFsbC0xMiB7XG4gICAgZmxleC1iYXNpczogYXV0bzsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLXkgPiAubWVkaXVtLXNocmluaywgLmdyaWQteSA+IC5tZWRpdW0tZnVsbCwgLmdyaWQteSA+IC5tZWRpdW0tMSwgLmdyaWQteSA+IC5tZWRpdW0tMiwgLmdyaWQteSA+IC5tZWRpdW0tMywgLmdyaWQteSA+IC5tZWRpdW0tNCwgLmdyaWQteSA+IC5tZWRpdW0tNSwgLmdyaWQteSA+IC5tZWRpdW0tNiwgLmdyaWQteSA+IC5tZWRpdW0tNywgLmdyaWQteSA+IC5tZWRpdW0tOCwgLmdyaWQteSA+IC5tZWRpdW0tOSwgLmdyaWQteSA+IC5tZWRpdW0tMTAsIC5ncmlkLXkgPiAubWVkaXVtLTExLCAuZ3JpZC15ID4gLm1lZGl1bS0xMiB7XG4gICAgICBmbGV4LWJhc2lzOiBhdXRvOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5ncmlkLXkgPiAubGFyZ2Utc2hyaW5rLCAuZ3JpZC15ID4gLmxhcmdlLWZ1bGwsIC5ncmlkLXkgPiAubGFyZ2UtMSwgLmdyaWQteSA+IC5sYXJnZS0yLCAuZ3JpZC15ID4gLmxhcmdlLTMsIC5ncmlkLXkgPiAubGFyZ2UtNCwgLmdyaWQteSA+IC5sYXJnZS01LCAuZ3JpZC15ID4gLmxhcmdlLTYsIC5ncmlkLXkgPiAubGFyZ2UtNywgLmdyaWQteSA+IC5sYXJnZS04LCAuZ3JpZC15ID4gLmxhcmdlLTksIC5ncmlkLXkgPiAubGFyZ2UtMTAsIC5ncmlkLXkgPiAubGFyZ2UtMTEsIC5ncmlkLXkgPiAubGFyZ2UtMTIge1xuICAgICAgZmxleC1iYXNpczogYXV0bzsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgLmdyaWQteSA+IC54bGFyZ2Utc2hyaW5rLCAuZ3JpZC15ID4gLnhsYXJnZS1mdWxsLCAuZ3JpZC15ID4gLnhsYXJnZS0xLCAuZ3JpZC15ID4gLnhsYXJnZS0yLCAuZ3JpZC15ID4gLnhsYXJnZS0zLCAuZ3JpZC15ID4gLnhsYXJnZS00LCAuZ3JpZC15ID4gLnhsYXJnZS01LCAuZ3JpZC15ID4gLnhsYXJnZS02LCAuZ3JpZC15ID4gLnhsYXJnZS03LCAuZ3JpZC15ID4gLnhsYXJnZS04LCAuZ3JpZC15ID4gLnhsYXJnZS05LCAuZ3JpZC15ID4gLnhsYXJnZS0xMCwgLmdyaWQteSA+IC54bGFyZ2UtMTEsIC5ncmlkLXkgPiAueGxhcmdlLTEyIHtcbiAgICAgIGZsZXgtYmFzaXM6IGF1dG87IH0gfVxuICAuZ3JpZC15ID4gLnNtYWxsLTEsIC5ncmlkLXkgPiAuc21hbGwtMiwgLmdyaWQteSA+IC5zbWFsbC0zLCAuZ3JpZC15ID4gLnNtYWxsLTQsIC5ncmlkLXkgPiAuc21hbGwtNSwgLmdyaWQteSA+IC5zbWFsbC02LCAuZ3JpZC15ID4gLnNtYWxsLTcsIC5ncmlkLXkgPiAuc21hbGwtOCwgLmdyaWQteSA+IC5zbWFsbC05LCAuZ3JpZC15ID4gLnNtYWxsLTEwLCAuZ3JpZC15ID4gLnNtYWxsLTExLCAuZ3JpZC15ID4gLnNtYWxsLTEyIHtcbiAgICBmbGV4OiAwIDAgYXV0bzsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTEge1xuICAgIGhlaWdodDogOC4zMzMzMyU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC0yIHtcbiAgICBoZWlnaHQ6IDE2LjY2NjY3JTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTMge1xuICAgIGhlaWdodDogMjUlOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtNCB7XG4gICAgaGVpZ2h0OiAzMy4zMzMzMyU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC01IHtcbiAgICBoZWlnaHQ6IDQxLjY2NjY3JTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTYge1xuICAgIGhlaWdodDogNTAlOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtNyB7XG4gICAgaGVpZ2h0OiA1OC4zMzMzMyU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC04IHtcbiAgICBoZWlnaHQ6IDY2LjY2NjY3JTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTkge1xuICAgIGhlaWdodDogNzUlOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtMTAge1xuICAgIGhlaWdodDogODMuMzMzMzMlOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtMTEge1xuICAgIGhlaWdodDogOTEuNjY2NjclOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtMTIge1xuICAgIGhlaWdodDogMTAwJTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLXkgPiAubWVkaXVtLWF1dG8ge1xuICAgICAgZmxleDogMSAxIDA7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS1zaHJpbmssIC5ncmlkLXkgPiAubWVkaXVtLTEsIC5ncmlkLXkgPiAubWVkaXVtLTIsIC5ncmlkLXkgPiAubWVkaXVtLTMsIC5ncmlkLXkgPiAubWVkaXVtLTQsIC5ncmlkLXkgPiAubWVkaXVtLTUsIC5ncmlkLXkgPiAubWVkaXVtLTYsIC5ncmlkLXkgPiAubWVkaXVtLTcsIC5ncmlkLXkgPiAubWVkaXVtLTgsIC5ncmlkLXkgPiAubWVkaXVtLTksIC5ncmlkLXkgPiAubWVkaXVtLTEwLCAuZ3JpZC15ID4gLm1lZGl1bS0xMSwgLmdyaWQteSA+IC5tZWRpdW0tMTIge1xuICAgICAgZmxleDogMCAwIGF1dG87IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tMSB7XG4gICAgICBoZWlnaHQ6IDguMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tMiB7XG4gICAgICBoZWlnaHQ6IDE2LjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTMge1xuICAgICAgaGVpZ2h0OiAyNSU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS00IHtcbiAgICAgIGhlaWdodDogMzMuMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tNSB7XG4gICAgICBoZWlnaHQ6IDQxLjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTYge1xuICAgICAgaGVpZ2h0OiA1MCU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS03IHtcbiAgICAgIGhlaWdodDogNTguMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tOCB7XG4gICAgICBoZWlnaHQ6IDY2LjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTkge1xuICAgICAgaGVpZ2h0OiA3NSU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS0xMCB7XG4gICAgICBoZWlnaHQ6IDgzLjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTExIHtcbiAgICAgIGhlaWdodDogOTEuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tMTIge1xuICAgICAgaGVpZ2h0OiAxMDAlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5ncmlkLXkgPiAubGFyZ2UtYXV0byB7XG4gICAgICBmbGV4OiAxIDEgMDtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2Utc2hyaW5rLCAuZ3JpZC15ID4gLmxhcmdlLTEsIC5ncmlkLXkgPiAubGFyZ2UtMiwgLmdyaWQteSA+IC5sYXJnZS0zLCAuZ3JpZC15ID4gLmxhcmdlLTQsIC5ncmlkLXkgPiAubGFyZ2UtNSwgLmdyaWQteSA+IC5sYXJnZS02LCAuZ3JpZC15ID4gLmxhcmdlLTcsIC5ncmlkLXkgPiAubGFyZ2UtOCwgLmdyaWQteSA+IC5sYXJnZS05LCAuZ3JpZC15ID4gLmxhcmdlLTEwLCAuZ3JpZC15ID4gLmxhcmdlLTExLCAuZ3JpZC15ID4gLmxhcmdlLTEyIHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS0xIHtcbiAgICAgIGhlaWdodDogOC4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTIge1xuICAgICAgaGVpZ2h0OiAxNi42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTMge1xuICAgICAgaGVpZ2h0OiAyNSU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTQge1xuICAgICAgaGVpZ2h0OiAzMy4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTUge1xuICAgICAgaGVpZ2h0OiA0MS42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTYge1xuICAgICAgaGVpZ2h0OiA1MCU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTcge1xuICAgICAgaGVpZ2h0OiA1OC4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTgge1xuICAgICAgaGVpZ2h0OiA2Ni42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTkge1xuICAgICAgaGVpZ2h0OiA3NSU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTEwIHtcbiAgICAgIGhlaWdodDogODMuMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS0xMSB7XG4gICAgICBoZWlnaHQ6IDkxLjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtMTIge1xuICAgICAgaGVpZ2h0OiAxMDAlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAuZ3JpZC15ID4gLnhsYXJnZS1hdXRvIHtcbiAgICAgIGZsZXg6IDEgMSAwO1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQteSA+IC54bGFyZ2Utc2hyaW5rLCAuZ3JpZC15ID4gLnhsYXJnZS0xLCAuZ3JpZC15ID4gLnhsYXJnZS0yLCAuZ3JpZC15ID4gLnhsYXJnZS0zLCAuZ3JpZC15ID4gLnhsYXJnZS00LCAuZ3JpZC15ID4gLnhsYXJnZS01LCAuZ3JpZC15ID4gLnhsYXJnZS02LCAuZ3JpZC15ID4gLnhsYXJnZS03LCAuZ3JpZC15ID4gLnhsYXJnZS04LCAuZ3JpZC15ID4gLnhsYXJnZS05LCAuZ3JpZC15ID4gLnhsYXJnZS0xMCwgLmdyaWQteSA+IC54bGFyZ2UtMTEsIC5ncmlkLXkgPiAueGxhcmdlLTEyIHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvOyB9XG4gICAgLmdyaWQteSA+IC54bGFyZ2Utc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLXkgPiAueGxhcmdlLTEge1xuICAgICAgaGVpZ2h0OiA4LjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAueGxhcmdlLTIge1xuICAgICAgaGVpZ2h0OiAxNi42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLnhsYXJnZS0zIHtcbiAgICAgIGhlaWdodDogMjUlOyB9XG4gICAgLmdyaWQteSA+IC54bGFyZ2UtNCB7XG4gICAgICBoZWlnaHQ6IDMzLjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAueGxhcmdlLTUge1xuICAgICAgaGVpZ2h0OiA0MS42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLnhsYXJnZS02IHtcbiAgICAgIGhlaWdodDogNTAlOyB9XG4gICAgLmdyaWQteSA+IC54bGFyZ2UtNyB7XG4gICAgICBoZWlnaHQ6IDU4LjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAueGxhcmdlLTgge1xuICAgICAgaGVpZ2h0OiA2Ni42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLnhsYXJnZS05IHtcbiAgICAgIGhlaWdodDogNzUlOyB9XG4gICAgLmdyaWQteSA+IC54bGFyZ2UtMTAge1xuICAgICAgaGVpZ2h0OiA4My4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLnhsYXJnZS0xMSB7XG4gICAgICBoZWlnaHQ6IDkxLjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAueGxhcmdlLTEyIHtcbiAgICAgIGhlaWdodDogMTAwJTsgfSB9XG5cbi5ncmlkLXBhZGRpbmcteSAuZ3JpZC1wYWRkaW5nLXkge1xuICBtYXJnaW4tdG9wOiAtMC4zMTI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAtMC4zMTI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtcGFkZGluZy15IC5ncmlkLXBhZGRpbmcteSB7XG4gICAgICBtYXJnaW4tdG9wOiAtMC42MjVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAtMC42MjVyZW07IH0gfVxuXG4uZ3JpZC1wYWRkaW5nLXkgPiAuY2VsbCB7XG4gIHBhZGRpbmctdG9wOiAwLjMxMjVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAwLjMxMjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1wYWRkaW5nLXkgPiAuY2VsbCB7XG4gICAgICBwYWRkaW5nLXRvcDogMC42MjVyZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMC42MjVyZW07IH0gfVxuXG4uZ3JpZC1tYXJnaW4teSB7XG4gIG1hcmdpbi10b3A6IC0wLjMxMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IC0wLjMxMjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSB7XG4gICAgICBtYXJnaW4tdG9wOiAtMC42MjVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAtMC42MjVyZW07IH0gfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5jZWxsIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDAuNjI1cmVtKTtcbiAgICBtYXJnaW4tdG9wOiAwLjMxMjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMC4zMTI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuY2VsbCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuMjVyZW0pO1xuICAgICAgbWFyZ2luLXRvcDogMC42MjVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTsgfSB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmF1dG8ge1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zaHJpbmsge1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xIHtcbiAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAwLjYyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMiB7XG4gICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDAuNjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0zIHtcbiAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMC42MjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTQge1xuICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAwLjYyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNSB7XG4gICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDAuNjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC02IHtcbiAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMC42MjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTcge1xuICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAwLjYyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOCB7XG4gICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDAuNjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC05IHtcbiAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMC42MjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEwIHtcbiAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gMC42MjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTExIHtcbiAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMC42MjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEyIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDAuNjI1cmVtKTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLW1hcmdpbi15ID4gLmF1dG8ge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0yIHtcbiAgICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTMge1xuICAgICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC01IHtcbiAgICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTYge1xuICAgICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC04IHtcbiAgICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTAge1xuICAgICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS1hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tOCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tOSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTAge1xuICAgICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTExIHtcbiAgICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuMjVyZW0pOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLWF1dG8ge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2Utc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0yIHtcbiAgICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTMge1xuICAgICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS01IHtcbiAgICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTYge1xuICAgICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS04IHtcbiAgICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMTAge1xuICAgICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjI1cmVtKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLWF1dG8ge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLXNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS0yIHtcbiAgICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS0zIHtcbiAgICAgIGhlaWdodDogY2FsYygyNSUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS00IHtcbiAgICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS01IHtcbiAgICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS02IHtcbiAgICAgIGhlaWdodDogY2FsYyg1MCUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS03IHtcbiAgICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS04IHtcbiAgICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS05IHtcbiAgICAgIGhlaWdodDogY2FsYyg3NSUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS0xMCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtMTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTEyIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS4yNXJlbSk7IH0gfVxuXG4uZ3JpZC1mcmFtZSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICB3aWR0aDogMTAwdnc7IH1cblxuLmNlbGwgLmdyaWQtZnJhbWUge1xuICB3aWR0aDogMTAwJTsgfVxuXG4uY2VsbC1ibG9jayB7XG4gIG92ZXJmbG93LXg6IGF1dG87XG4gIG1heC13aWR0aDogMTAwJTtcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfVxuXG4uY2VsbC1ibG9jay15IHtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgbWF4LWhlaWdodDogMTAwJTtcbiAgbWluLWhlaWdodDogMTAwJTtcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfVxuXG4uY2VsbC1ibG9jay1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtYXgtaGVpZ2h0OiAxMDAlOyB9XG4gIC5jZWxsLWJsb2NrLWNvbnRhaW5lciA+IC5ncmlkLXgge1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS1ncmlkLWZyYW1lIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICB3aWR0aDogMTAwdnc7IH1cbiAgLmNlbGwgLm1lZGl1bS1ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAubWVkaXVtLWNlbGwtYmxvY2sge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfVxuICAubWVkaXVtLWNlbGwtYmxvY2stY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWF4LWhlaWdodDogMTAwJTsgfVxuICAgIC5tZWRpdW0tY2VsbC1ibG9jay1jb250YWluZXIgPiAuZ3JpZC14IHtcbiAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuICAubWVkaXVtLWNlbGwtYmxvY2steSB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAubGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgd2lkdGg6IDEwMHZ3OyB9XG4gIC5jZWxsIC5sYXJnZS1ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAubGFyZ2UtY2VsbC1ibG9jayB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyB9XG4gIC5sYXJnZS1jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7IH1cbiAgICAubGFyZ2UtY2VsbC1ibG9jay1jb250YWluZXIgPiAuZ3JpZC14IHtcbiAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuICAubGFyZ2UtY2VsbC1ibG9jay15IHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAueGxhcmdlLWdyaWQtZnJhbWUge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIHdpZHRoOiAxMDB2dzsgfVxuICAuY2VsbCAueGxhcmdlLWdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC54bGFyZ2UtY2VsbC1ibG9jayB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyB9XG4gIC54bGFyZ2UtY2VsbC1ibG9jay1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlOyB9XG4gICAgLnhsYXJnZS1jZWxsLWJsb2NrLWNvbnRhaW5lciA+IC5ncmlkLXgge1xuICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwOyB9XG4gIC54bGFyZ2UtY2VsbC1ibG9jay15IHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH0gfVxuXG4uZ3JpZC15LmdyaWQtZnJhbWUge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgd2lkdGg6IGF1dG87IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmdyaWQteS5tZWRpdW0tZ3JpZC1mcmFtZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICB3aWR0aDogYXV0bzsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLmdyaWQteS5sYXJnZS1ncmlkLWZyYW1lIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBoZWlnaHQ6IDEwMHZoO1xuICAgIHdpZHRoOiBhdXRvOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLmdyaWQteS54bGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICB3aWR0aDogYXV0bzsgfSB9XG5cbi5jZWxsIC5ncmlkLXkuZ3JpZC1mcmFtZSB7XG4gIGhlaWdodDogMTAwJTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuY2VsbCAuZ3JpZC15Lm1lZGl1bS1ncmlkLWZyYW1lIHtcbiAgICBoZWlnaHQ6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5jZWxsIC5ncmlkLXkubGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgaGVpZ2h0OiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLmNlbGwgLmdyaWQteS54bGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgaGVpZ2h0OiAxMDAlOyB9IH1cblxuLmdyaWQtbWFyZ2luLXkge1xuICBtYXJnaW4tdG9wOiAtMC4zMTI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAtMC4zMTI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkge1xuICAgICAgbWFyZ2luLXRvcDogLTAuNjI1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogLTAuNjI1cmVtOyB9IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuY2VsbCB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAwLjYyNXJlbSk7XG4gICAgbWFyZ2luLXRvcDogMC4zMTI1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDAuMzEyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLW1hcmdpbi15ID4gLmNlbGwge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjI1cmVtKTtcbiAgICAgIG1hcmdpbi10b3A6IDAuNjI1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH0gfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5hdXRvIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc2hyaW5rIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMSB7XG4gICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMC42MjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTIge1xuICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAwLjYyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMyB7XG4gICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDAuNjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC00IHtcbiAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMC42MjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTUge1xuICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAwLjYyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNiB7XG4gICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDAuNjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC03IHtcbiAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMC42MjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTgge1xuICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAwLjYyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOSB7XG4gICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDAuNjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMCB7XG4gICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDAuNjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMSB7XG4gICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDAuNjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMiB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAwLjYyNXJlbSk7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0zIHtcbiAgICAgIGhlaWdodDogY2FsYygyNSUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC02IHtcbiAgICAgIGhlaWdodDogY2FsYyg1MCUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC05IHtcbiAgICAgIGhlaWdodDogY2FsYyg3NSUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEwIHtcbiAgICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTExIHtcbiAgICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEyIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tYXV0byB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTMge1xuICAgICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTYge1xuICAgICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTgge1xuICAgICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEwIHtcbiAgICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjI1cmVtKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS1hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLXNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0zIHtcbiAgICAgIGhlaWdodDogY2FsYygyNSUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS02IHtcbiAgICAgIGhlaWdodDogY2FsYyg1MCUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtOCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS05IHtcbiAgICAgIGhlaWdodDogY2FsYyg3NSUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTEwIHtcbiAgICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTExIHtcbiAgICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTEyIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS4yNXJlbSk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS1hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtNCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtNyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtOCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtOSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtMTAge1xuICAgICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTExIHtcbiAgICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS0xMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuMjVyZW0pOyB9IH1cblxuLmdyaWQtZnJhbWUuZ3JpZC1tYXJnaW4teSB7XG4gIGhlaWdodDogY2FsYygxMDB2aCArIDAuNjI1cmVtKTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLWZyYW1lLmdyaWQtbWFyZ2luLXkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgMS4yNXJlbSk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmdyaWQtZnJhbWUuZ3JpZC1tYXJnaW4teSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwdmggKyAxLjI1cmVtKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgLmdyaWQtZnJhbWUuZ3JpZC1tYXJnaW4teSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwdmggKyAxLjI1cmVtKTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5ncmlkLW1hcmdpbi15Lm1lZGl1bS1ncmlkLWZyYW1lIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwdmggKyAxLjI1cmVtKTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXkubGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgMS4yNXJlbSk7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAuZ3JpZC1tYXJnaW4teS54bGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgMS4yNXJlbSk7IH0gfVxuXG4uY2xvc2UtYnV0dG9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMDtcbiAgY29sb3I6ICM4ODg4ODg7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLmNsb3NlLWJ1dHRvbiB7XG4gICAgb3V0bGluZTogMDsgfVxuICAuY2xvc2UtYnV0dG9uOmhvdmVyLCAuY2xvc2UtYnV0dG9uOmZvY3VzIHtcbiAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAuY2xvc2UtYnV0dG9uLnNtYWxsIHtcbiAgICByaWdodDogMC42NnJlbTtcbiAgICB0b3A6IDAuMzNlbTtcbiAgICBmb250LXNpemU6IDEuNWVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIC5jbG9zZS1idXR0b24sIC5jbG9zZS1idXR0b24ubWVkaXVtIHtcbiAgICByaWdodDogMjZweDtcbiAgICB0b3A6IGF1dG87XG4gICAgZm9udC1zaXplOiAyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7IH1cblxuLnN3aXRjaCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgb3V0bGluZTogMDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgaGVpZ2h0OiAycmVtOyB9XG5cbi5zd2l0Y2gtaW5wdXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnN3aXRjaC1wYWRkbGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogNHJlbTtcbiAgaGVpZ2h0OiAycmVtO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kOiAjYWU5NDYxO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQ7XG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICBjb2xvcjogaW5oZXJpdDtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIGlucHV0ICsgLnN3aXRjaC1wYWRkbGUge1xuICAgIG1hcmdpbjogMDsgfVxuICAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDAuNDFyZW07XG4gICAgbGVmdDogMC40MXJlbTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMS4xOHJlbTtcbiAgICBoZWlnaHQ6IDEuMThyZW07XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0O1xuICAgIGNvbnRlbnQ6ICcnOyB9XG4gIGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZSB7XG4gICAgYmFja2dyb3VuZDogIzA2MDUyZjsgfVxuICAgIGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgICAgbGVmdDogMi40MXJlbTsgfVxuICBpbnB1dDpkaXNhYmxlZCB+IC5zd2l0Y2gtcGFkZGxlIHtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIG9wYWNpdHk6IDAuNTsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gaW5wdXQ6Zm9jdXMgfiAuc3dpdGNoLXBhZGRsZSB7XG4gICAgb3V0bGluZTogMDsgfVxuXG4uc3dpdGNoLWFjdGl2ZSwgLnN3aXRjaC1pbmFjdGl2ZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuXG4uc3dpdGNoLWFjdGl2ZSB7XG4gIGxlZnQ6IDglO1xuICBkaXNwbGF5OiBub25lOyB9XG4gIGlucHV0OmNoZWNrZWQgKyBsYWJlbCA+IC5zd2l0Y2gtYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4uc3dpdGNoLWluYWN0aXZlIHtcbiAgcmlnaHQ6IDE1JTsgfVxuICBpbnB1dDpjaGVja2VkICsgbGFiZWwgPiAuc3dpdGNoLWluYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbi5zd2l0Y2gudGlueSB7XG4gIGhlaWdodDogMS41cmVtOyB9XG4gIC5zd2l0Y2gudGlueSAuc3dpdGNoLXBhZGRsZSB7XG4gICAgd2lkdGg6IDNyZW07XG4gICAgaGVpZ2h0OiAxLjVyZW07XG4gICAgZm9udC1zaXplOiAwLjYyNXJlbTsgfVxuICAuc3dpdGNoLnRpbnkgLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICB0b3A6IDAuNDFyZW07XG4gICAgbGVmdDogMC40MXJlbTtcbiAgICB3aWR0aDogMC42OHJlbTtcbiAgICBoZWlnaHQ6IDAuNjhyZW07IH1cbiAgLnN3aXRjaC50aW55IGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgIGxlZnQ6IDEuOTFyZW07IH1cblxuLnN3aXRjaC5zbWFsbCB7XG4gIGhlaWdodDogMS43NXJlbTsgfVxuICAuc3dpdGNoLnNtYWxsIC5zd2l0Y2gtcGFkZGxlIHtcbiAgICB3aWR0aDogMy41cmVtO1xuICAgIGhlaWdodDogMS43NXJlbTtcbiAgICBmb250LXNpemU6IDAuNzVyZW07IH1cbiAgLnN3aXRjaC5zbWFsbCAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgIHRvcDogMC40MXJlbTtcbiAgICBsZWZ0OiAwLjQxcmVtO1xuICAgIHdpZHRoOiAwLjkzcmVtO1xuICAgIGhlaWdodDogMC45M3JlbTsgfVxuICAuc3dpdGNoLnNtYWxsIGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgIGxlZnQ6IDIuMTZyZW07IH1cblxuLnN3aXRjaC5sYXJnZSB7XG4gIGhlaWdodDogMi41cmVtOyB9XG4gIC5zd2l0Y2gubGFyZ2UgLnN3aXRjaC1wYWRkbGUge1xuICAgIHdpZHRoOiA1cmVtO1xuICAgIGhlaWdodDogMi41cmVtO1xuICAgIGZvbnQtc2l6ZTogMXJlbTsgfVxuICAuc3dpdGNoLmxhcmdlIC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgdG9wOiAwLjQxcmVtO1xuICAgIGxlZnQ6IDAuNDFyZW07XG4gICAgd2lkdGg6IDEuNjhyZW07XG4gICAgaGVpZ2h0OiAxLjY4cmVtOyB9XG4gIC5zd2l0Y2gubGFyZ2UgaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgbGVmdDogMi45MXJlbTsgfVxuXG50YWJsZSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG4gIHRoZWFkLFxuICB0Ym9keSxcbiAgdGZvb3Qge1xuICAgIGJvcmRlcjogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICBjYXB0aW9uIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG4gIHRoZWFkIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDYsIDYsIDYsIDApO1xuICAgIGNvbG9yOiAjMDYwNTJmOyB9XG4gIHRmb290IHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDEzLCAxMywgMTMsIDApO1xuICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gIHRoZWFkIHRyLFxuICB0Zm9vdCB0ciB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbiAgdGhlYWQgdGgsXG4gIHRoZWFkIHRkLFxuICB0Zm9vdCB0aCxcbiAgdGZvb3QgdGQge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICB0Ym9keSB0aCxcbiAgdGJvZHkgdGQge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgdGJvZHkgdHIge1xuICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgdGFibGUuc3RyaXBlZCB0Ym9keSB0cjpudGgtY2hpbGQob2RkKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YzZjNmMzsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICB0YWJsZS5zdGFjayB0aGVhZCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICB0YWJsZS5zdGFjayB0Zm9vdCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICB0YWJsZS5zdGFjayB0cixcbiAgdGFibGUuc3RhY2sgdGgsXG4gIHRhYmxlLnN0YWNrIHRkIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICB0YWJsZS5zdGFjayB0ZCB7XG4gICAgYm9yZGVyLXRvcDogMDsgfSB9XG5cbnRhYmxlLnNjcm9sbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3cteDogYXV0bzsgfVxuXG50YWJsZS5ob3ZlciB0aGVhZCB0cjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbnRhYmxlLmhvdmVyIHRmb290IHRyOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg4LCA4LCA4LCAwKTsgfVxuXG50YWJsZS5ob3ZlciB0Ym9keSB0cjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cblxudGFibGUuaG92ZXIuc3RyaXBlZCB0cjpudGgtb2YtdHlwZShvZGQpOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxuXG4udGFibGUtc2Nyb2xsIHtcbiAgb3ZlcmZsb3cteDogYXV0bzsgfVxuXG4uYnJlYWRjcnVtYnMge1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgLmJyZWFkY3J1bWJzOjpiZWZvcmUsIC5icmVhZGNydW1iczo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBmbGV4LWJhc2lzOiAwO1xuICAgIG9yZGVyOiAxOyB9XG4gIC5icmVhZGNydW1iczo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5icmVhZGNydW1icyBsaSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgY29sb3I6ICMwNjA1MmY7XG4gICAgY3Vyc29yOiBkZWZhdWx0OyB9XG4gICAgLmJyZWFkY3J1bWJzIGxpOm5vdCg6bGFzdC1jaGlsZCk6OmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG1hcmdpbjogMCAwLjc1cmVtO1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIGNvbnRlbnQ6IFwi7qCBXCI7XG4gICAgICBjb2xvcjogIzc3Nzc3NzsgfVxuICAuYnJlYWRjcnVtYnMgYSB7XG4gICAgY29sb3I6ICM3Nzc3Nzc7IH1cbiAgICAuYnJlYWRjcnVtYnMgYTpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAuYnJlYWRjcnVtYnMgLmRpc2FibGVkIHtcbiAgICBjb2xvcjogIzA2MDUyZjtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG5cbi5jYWxsb3V0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDAgMCAxcmVtIDA7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgY29sb3I6ICMwMDAwMDA7IH1cbiAgLmNhbGxvdXQgPiA6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgLmNhbGxvdXQgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuY2FsbG91dC5wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDYwNTJmO1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5jYWxsb3V0LnNlY29uZGFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZWVlZTtcbiAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAuY2FsbG91dC5zdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTI4MTFmO1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5jYWxsb3V0Lndhcm5pbmcge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjVlMDU7XG4gICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgLmNhbGxvdXQuYWxlcnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNiMjBjMGM7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLmNhbGxvdXQuc21hbGwge1xuICAgIHBhZGRpbmctdG9wOiAwLjVyZW07XG4gICAgcGFkZGluZy1yaWdodDogMC41cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjVyZW07IH1cbiAgLmNhbGxvdXQubGFyZ2Uge1xuICAgIHBhZGRpbmctdG9wOiAzcmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDNyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDNyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAzcmVtOyB9XG5cbi5kcm9wZG93bi1wYW5lIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMDtcbiAgZGlzcGxheTogbm9uZTtcbiAgd2lkdGg6IDMwMHB4O1xuICBwYWRkaW5nOiAxcmVtO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJvcmRlcjogMXB4IHNvbGlkICNhZWFlYWU7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGZvbnQtc2l6ZTogMXJlbTsgfVxuICAuZHJvcGRvd24tcGFuZS5pcy1vcGVuaW5nIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuZHJvcGRvd24tcGFuZS5pcy1vcGVuIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG5cbi5kcm9wZG93bi1wYW5lLnRpbnkge1xuICB3aWR0aDogMTAwcHg7IH1cblxuLmRyb3Bkb3duLXBhbmUuc21hbGwge1xuICB3aWR0aDogMjAwcHg7IH1cblxuLmRyb3Bkb3duLXBhbmUubGFyZ2Uge1xuICB3aWR0aDogNDAwcHg7IH1cblxuLmFjY29yZGlvbiB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lOyB9XG4gIC5hY2NvcmRpb25bZGlzYWJsZWRdIC5hY2NvcmRpb24tdGl0bGUge1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cblxuLmFjY29yZGlvbi1pdGVtOmZpcnN0LWNoaWxkID4gOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDsgfVxuXG4uYWNjb3JkaW9uLWl0ZW06bGFzdC1jaGlsZCA+IDpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDsgfVxuXG4uYWNjb3JkaW9uLXRpdGxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMS4yNXJlbSAxcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZGFkYWRhO1xuICBib3JkZXItYm90dG9tOiAwO1xuICBmb250LXNpemU6IDEuMDYyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMCk7IH1cbiAgOmxhc3QtY2hpbGQ6bm90KC5pcy1hY3RpdmUpID4gLmFjY29yZGlvbi10aXRsZSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkYWRhZGE7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDsgfVxuICAuYWNjb3JkaW9uLXRpdGxlOmhvdmVyLCAuYWNjb3JkaW9uLXRpdGxlOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XG5cbi5hY2NvcmRpb24tY29udGVudCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkYWRhZGE7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogIzAwMDAwMDsgfVxuICA6bGFzdC1jaGlsZCA+IC5hY2NvcmRpb24tY29udGVudDpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RhZGFkYTsgfVxuXG4ubWVkaWEtb2JqZWN0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZmxleC13cmFwOiBub3dyYXA7IH1cbiAgLm1lZGlhLW9iamVjdCBpbWcge1xuICAgIG1heC13aWR0aDogbm9uZTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgIC5tZWRpYS1vYmplY3Quc3RhY2stZm9yLXNtYWxsIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfSB9XG5cbi5tZWRpYS1vYmplY3Qtc2VjdGlvbiB7XG4gIGZsZXg6IDAgMSBhdXRvOyB9XG4gIC5tZWRpYS1vYmplY3Qtc2VjdGlvbjpmaXJzdC1jaGlsZCB7XG4gICAgcGFkZGluZy1yaWdodDogMXJlbTsgfVxuICAubWVkaWEtb2JqZWN0LXNlY3Rpb246bGFzdC1jaGlsZDpub3QoOm50aC1jaGlsZCgyKSkge1xuICAgIHBhZGRpbmctbGVmdDogMXJlbTsgfVxuICAubWVkaWEtb2JqZWN0LXNlY3Rpb24gPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgIC5zdGFjay1mb3Itc21hbGwgLm1lZGlhLW9iamVjdC1zZWN0aW9uIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcbiAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgICAgIC5zdGFjay1mb3Itc21hbGwgLm1lZGlhLW9iamVjdC1zZWN0aW9uIGltZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgLm1lZGlhLW9iamVjdC1zZWN0aW9uLm1haW4tc2VjdGlvbiB7XG4gICAgZmxleDogMSAxIDBweDsgfVxuXG4ucmVzcG9uc2l2ZS1lbWJlZCxcbi5mbGV4LXZpZGVvIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIHBhZGRpbmctYm90dG9tOiA3NSU7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLnJlc3BvbnNpdmUtZW1iZWQgaWZyYW1lLFxuICAucmVzcG9uc2l2ZS1lbWJlZCBvYmplY3QsXG4gIC5yZXNwb25zaXZlLWVtYmVkIGVtYmVkLFxuICAucmVzcG9uc2l2ZS1lbWJlZCB2aWRlbyxcbiAgLmZsZXgtdmlkZW8gaWZyYW1lLFxuICAuZmxleC12aWRlbyBvYmplY3QsXG4gIC5mbGV4LXZpZGVvIGVtYmVkLFxuICAuZmxleC12aWRlbyB2aWRlbyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTsgfVxuICAucmVzcG9uc2l2ZS1lbWJlZC53aWRlc2NyZWVuLFxuICAuZmxleC12aWRlby53aWRlc2NyZWVuIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlOyB9XG5cbi50YWJzIHtcbiAgbWFyZ2luOiAwO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lOyB9XG4gIC50YWJzOjpiZWZvcmUsIC50YWJzOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnO1xuICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgb3JkZXI6IDE7IH1cbiAgLnRhYnM6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuXG4udGFicy52ZXJ0aWNhbCA+IGxpIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsb2F0OiBub25lO1xuICB3aWR0aDogYXV0bzsgfVxuXG4udGFicy5zaW1wbGUgPiBsaSA+IGEge1xuICBwYWRkaW5nOiAwOyB9XG4gIC50YWJzLnNpbXBsZSA+IGxpID4gYTpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cblxuLnRhYnMucHJpbWFyeSB7XG4gIGJhY2tncm91bmQ6ICMwNjA1MmY7IH1cbiAgLnRhYnMucHJpbWFyeSA+IGxpID4gYSB7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAudGFicy5wcmltYXJ5ID4gbGkgPiBhOmhvdmVyLCAudGFicy5wcmltYXJ5ID4gbGkgPiBhOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQ6ICMwOTA3NDQ7IH1cblxuLnRhYnMtdGl0bGUge1xuICBmbG9hdDogbGVmdDsgfVxuICAudGFicy10aXRsZSA+IGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZm9udC1zaXplOiAxLjA2MjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY29sb3I6ICM4ODg4ODg7IH1cbiAgICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLnRhYnMtdGl0bGUgPiBhIHtcbiAgICAgIG91dGxpbmU6IDA7IH1cbiAgICAudGFicy10aXRsZSA+IGE6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogIzc1NzU3NTsgfVxuICAgIC50YWJzLXRpdGxlID4gYTpmb2N1cywgLnRhYnMtdGl0bGUgPiBhW2FyaWEtc2VsZWN0ZWQ9J3RydWUnXSB7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wKTsgfVxuXG4udGFicy1jb250ZW50IHtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci10b3A6IDA7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlOyB9XG5cbi50YWJzLWNvbnRlbnQudmVydGljYWwge1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWxlZnQ6IDA7IH1cblxuLnRhYnMtcGFuZWwge1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAxMHB4OyB9XG4gIC50YWJzLXBhbmVsLmlzLWFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLm1lbnUge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAubWVudSBsaSB7XG4gICAgb3V0bGluZTogMDsgfVxuICAubWVudSBhLFxuICAubWVudSAuYnV0dG9uIHtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogNy41cHggNXB4IDcuNXB4IDE2cHg7IH1cbiAgLm1lbnUgaW5wdXQsXG4gIC5tZW51IHNlbGVjdCxcbiAgLm1lbnUgYSxcbiAgLm1lbnUgYnV0dG9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5tZW51IGlucHV0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgLm1lbnUsIC5tZW51Lmhvcml6b250YWwge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gIC5tZW51LnZlcnRpY2FsIHtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgLm1lbnUudmVydGljYWwuaWNvbi10b3AgbGkgYSBpbWcsXG4gICAgLm1lbnUudmVydGljYWwuaWNvbi10b3AgbGkgYSBpLFxuICAgIC5tZW51LnZlcnRpY2FsLmljb24tdG9wIGxpIGEgc3ZnLCAubWVudS52ZXJ0aWNhbC5pY29uLWJvdHRvbSBsaSBhIGltZyxcbiAgICAubWVudS52ZXJ0aWNhbC5pY29uLWJvdHRvbSBsaSBhIGksXG4gICAgLm1lbnUudmVydGljYWwuaWNvbi1ib3R0b20gbGkgYSBzdmcge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAubWVudS5leHBhbmRlZCBsaSB7XG4gICAgZmxleDogMSAxIDBweDsgfVxuICAubWVudS5leHBhbmRlZC5pY29uLXRvcCBsaSBhIGltZyxcbiAgLm1lbnUuZXhwYW5kZWQuaWNvbi10b3AgbGkgYSBpLFxuICAubWVudS5leHBhbmRlZC5pY29uLXRvcCBsaSBhIHN2ZywgLm1lbnUuZXhwYW5kZWQuaWNvbi1ib3R0b20gbGkgYSBpbWcsXG4gIC5tZW51LmV4cGFuZGVkLmljb24tYm90dG9tIGxpIGEgaSxcbiAgLm1lbnUuZXhwYW5kZWQuaWNvbi1ib3R0b20gbGkgYSBzdmcge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLm1lbnUuc2ltcGxlIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgLm1lbnUuc2ltcGxlIGxpICsgbGkge1xuICAgICAgbWFyZ2luLWxlZnQ6IDFyZW07IH1cbiAgICAubWVudS5zaW1wbGUgYSB7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLm1lbnUubWVkaXVtLWhvcml6b250YWwge1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAgIC5tZW51Lm1lZGl1bS12ZXJ0aWNhbCB7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAubWVudS5tZWRpdW0tZXhwYW5kZWQgbGkge1xuICAgICAgZmxleDogMSAxIDBweDsgfVxuICAgIC5tZW51Lm1lZGl1bS1zaW1wbGUgbGkge1xuICAgICAgZmxleDogMSAxIDBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAubWVudS5sYXJnZS1ob3Jpem9udGFsIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgICAubWVudS5sYXJnZS12ZXJ0aWNhbCB7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAubWVudS5sYXJnZS1leHBhbmRlZCBsaSB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyB9XG4gICAgLm1lbnUubGFyZ2Utc2ltcGxlIGxpIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgIC5tZW51LnhsYXJnZS1ob3Jpem9udGFsIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgICAubWVudS54bGFyZ2UtdmVydGljYWwge1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgLm1lbnUueGxhcmdlLWV4cGFuZGVkIGxpIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IH1cbiAgICAubWVudS54bGFyZ2Utc2ltcGxlIGxpIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IH0gfVxuICAubWVudS5uZXN0ZWQge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMXJlbTsgfVxuICAubWVudS5pY29ucyBhIHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5tZW51Lmljb24tbGVmdCBsaSBhLCAubWVudS5uZXN0ZWQuaWNvbi1sZWZ0IGxpIGEge1xuICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDsgfVxuICAgIC5tZW51Lmljb24tbGVmdCBsaSBhIGltZyxcbiAgICAubWVudS5pY29uLWxlZnQgbGkgYSBpLFxuICAgIC5tZW51Lmljb24tbGVmdCBsaSBhIHN2ZywgLm1lbnUubmVzdGVkLmljb24tbGVmdCBsaSBhIGltZyxcbiAgICAubWVudS5uZXN0ZWQuaWNvbi1sZWZ0IGxpIGEgaSxcbiAgICAubWVudS5uZXN0ZWQuaWNvbi1sZWZ0IGxpIGEgc3ZnIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMC4yNXJlbTsgfVxuICAubWVudS5pY29uLXJpZ2h0IGxpIGEsIC5tZW51Lm5lc3RlZC5pY29uLXJpZ2h0IGxpIGEge1xuICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDsgfVxuICAgIC5tZW51Lmljb24tcmlnaHQgbGkgYSBpbWcsXG4gICAgLm1lbnUuaWNvbi1yaWdodCBsaSBhIGksXG4gICAgLm1lbnUuaWNvbi1yaWdodCBsaSBhIHN2ZywgLm1lbnUubmVzdGVkLmljb24tcmlnaHQgbGkgYSBpbWcsXG4gICAgLm1lbnUubmVzdGVkLmljb24tcmlnaHQgbGkgYSBpLFxuICAgIC5tZW51Lm5lc3RlZC5pY29uLXJpZ2h0IGxpIGEgc3ZnIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjI1cmVtOyB9XG4gIC5tZW51Lmljb24tdG9wIGxpIGEsIC5tZW51Lm5lc3RlZC5pY29uLXRvcCBsaSBhIHtcbiAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7IH1cbiAgICAubWVudS5pY29uLXRvcCBsaSBhIGltZyxcbiAgICAubWVudS5pY29uLXRvcCBsaSBhIGksXG4gICAgLm1lbnUuaWNvbi10b3AgbGkgYSBzdmcsIC5tZW51Lm5lc3RlZC5pY29uLXRvcCBsaSBhIGltZyxcbiAgICAubWVudS5uZXN0ZWQuaWNvbi10b3AgbGkgYSBpLFxuICAgIC5tZW51Lm5lc3RlZC5pY29uLXRvcCBsaSBhIHN2ZyB7XG4gICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubWVudS5pY29uLWJvdHRvbSBsaSBhLCAubWVudS5uZXN0ZWQuaWNvbi1ib3R0b20gbGkgYSB7XG4gICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwOyB9XG4gICAgLm1lbnUuaWNvbi1ib3R0b20gbGkgYSBpbWcsXG4gICAgLm1lbnUuaWNvbi1ib3R0b20gbGkgYSBpLFxuICAgIC5tZW51Lmljb24tYm90dG9tIGxpIGEgc3ZnLCAubWVudS5uZXN0ZWQuaWNvbi1ib3R0b20gbGkgYSBpbWcsXG4gICAgLm1lbnUubmVzdGVkLmljb24tYm90dG9tIGxpIGEgaSxcbiAgICAubWVudS5uZXN0ZWQuaWNvbi1ib3R0b20gbGkgYSBzdmcge1xuICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuMjVyZW07XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLm1lbnUgLmlzLWFjdGl2ZSA+IGEge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5tZW51LmFsaWduLWxlZnQge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAubWVudS5hbGlnbi1yaWdodCBsaSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG4gICAgLm1lbnUuYWxpZ24tcmlnaHQgbGkgLnN1Ym1lbnUgbGkge1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gIC5tZW51LmFsaWduLXJpZ2h0LnZlcnRpY2FsIGxpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAgIC5tZW51LmFsaWduLXJpZ2h0LnZlcnRpY2FsIGxpIC5zdWJtZW51IGxpIHtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC5tZW51LmFsaWduLXJpZ2h0Lmljb24tdG9wIGxpIGEgaW1nLFxuICAubWVudS5hbGlnbi1yaWdodC5pY29uLXRvcCBsaSBhIGksXG4gIC5tZW51LmFsaWduLXJpZ2h0Lmljb24tdG9wIGxpIGEgc3ZnLCAubWVudS5hbGlnbi1yaWdodC5pY29uLWJvdHRvbSBsaSBhIGltZyxcbiAgLm1lbnUuYWxpZ24tcmlnaHQuaWNvbi1ib3R0b20gbGkgYSBpLFxuICAubWVudS5hbGlnbi1yaWdodC5pY29uLWJvdHRvbSBsaSBhIHN2ZyB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLm1lbnUuYWxpZ24tcmlnaHQgLm5lc3RlZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5tZW51LmFsaWduLWNlbnRlciBsaSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgIC5tZW51LmFsaWduLWNlbnRlciBsaSAuc3VibWVudSBsaSB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgLm1lbnUgLm1lbnUtdGV4dCB7XG4gICAgcGFkZGluZzogNy41cHggNXB4IDcuNXB4IDE2cHg7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY29sb3I6IGluaGVyaXQ7IH1cblxuLm5vLWpzIFtkYXRhLXJlc3BvbnNpdmUtbWVudV0gdWwge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5tZW51LWljb24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2lkdGg6IDIwcHg7XG4gIGhlaWdodDogMTZweDtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC5tZW51LWljb246OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAycHg7XG4gICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgICBib3gtc2hhZG93OiAwIDdweCAwICNmZmZmZmYsIDAgMTRweCAwICNmZmZmZmY7XG4gICAgY29udGVudDogJyc7IH1cbiAgLm1lbnUtaWNvbjpob3Zlcjo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6ICNhZWFlYWU7XG4gICAgYm94LXNoYWRvdzogMCA3cHggMCAjYWVhZWFlLCAwIDE0cHggMCAjYWVhZWFlOyB9XG5cbi5tZW51LWljb24uZGFyayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAxNnB4O1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLm1lbnUtaWNvbi5kYXJrOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMnB4O1xuICAgIGJhY2tncm91bmQ6ICMwMDAwMDA7XG4gICAgYm94LXNoYWRvdzogMCA3cHggMCAjMDAwMDAwLCAwIDE0cHggMCAjMDAwMDAwO1xuICAgIGNvbnRlbnQ6ICcnOyB9XG4gIC5tZW51LWljb24uZGFyazpob3Zlcjo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6ICM4ODg4ODg7XG4gICAgYm94LXNoYWRvdzogMCA3cHggMCAjODg4ODg4LCAwIDE0cHggMCAjODg4ODg4OyB9XG5cbi5hY2NvcmRpb24tbWVudSBsaSB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5hY2NvcmRpb24tbWVudSBhIHtcbiAgcGFkZGluZzogNy41cHggNXB4IDcuNXB4IDE2cHg7IH1cblxuLmFjY29yZGlvbi1tZW51IC5pcy1hY2NvcmRpb24tc3VibWVudSBhIHtcbiAgcGFkZGluZzogNy41cHggNXB4IDcuNXB4IDE2cHg7IH1cblxuLmFjY29yZGlvbi1tZW51IC5uZXN0ZWQuaXMtYWNjb3JkaW9uLXN1Ym1lbnUge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAxcmVtOyB9XG5cbi5hY2NvcmRpb24tbWVudS5hbGlnbi1yaWdodCAubmVzdGVkLmlzLWFjY29yZGlvbi1zdWJtZW51IHtcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuXG4uaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5oYXMtc3VibWVudS10b2dnbGUgPiBhIHtcbiAgbWFyZ2luLXJpZ2h0OiA0MHB4OyB9XG5cbi5zdWJtZW51LXRvZ2dsZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgd2lkdGg6IDQwcHg7XG4gIGhlaWdodDogNDBweDtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC5zdWJtZW51LXRvZ2dsZTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDYwNTJmIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbWFyZ2luOiBhdXRvOyB9XG5cbi5zdWJtZW51LXRvZ2dsZVthcmlhLWV4cGFuZGVkPSd0cnVlJ106OmFmdGVyIHtcbiAgdHJhbnNmb3JtOiBzY2FsZVkoLTEpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlOyB9XG5cbi5zdWJtZW51LXRvZ2dsZS10ZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxcHggIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAxcHggIWltcG9ydGFudDtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCkgIWltcG9ydGFudDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcCAhaW1wb3J0YW50O1xuICBib3JkZXI6IDAgIWltcG9ydGFudDsgfVxuXG4uaXMtZHJpbGxkb3duIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5pcy1kcmlsbGRvd24gbGkge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5pcy1kcmlsbGRvd24uYW5pbWF0ZS1oZWlnaHQge1xuICAgIHRyYW5zaXRpb246IGhlaWdodCAwLjVzOyB9XG5cbi5kcmlsbGRvd24gYSB7XG4gIHBhZGRpbmc6IDcuNXB4IDVweCA3LjVweCAxNnB4O1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmOyB9XG5cbi5kcmlsbGRvd24gLmlzLWRyaWxsZG93bi1zdWJtZW51IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDEwMCU7XG4gIHotaW5kZXg6IC0xO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGxpbmVhcjsgfVxuICAuZHJpbGxkb3duIC5pcy1kcmlsbGRvd24tc3VibWVudS5pcy1hY3RpdmUge1xuICAgIHotaW5kZXg6IDE7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTsgfVxuICAuZHJpbGxkb3duIC5pcy1kcmlsbGRvd24tc3VibWVudS5pcy1jbG9zaW5nIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7IH1cbiAgLmRyaWxsZG93biAuaXMtZHJpbGxkb3duLXN1Ym1lbnUgYSB7XG4gICAgcGFkZGluZzogNy41cHggNXB4IDcuNXB4IDE2cHg7IH1cblxuLmRyaWxsZG93biAubmVzdGVkLmlzLWRyaWxsZG93bi1zdWJtZW51IHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuXG4uZHJpbGxkb3duIC5kcmlsbGRvd24tc3VibWVudS1jb3Zlci1wcmV2aW91cyB7XG4gIG1pbi1oZWlnaHQ6IDEwMCU7IH1cblxuLmRyaWxsZG93biAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuZHJpbGxkb3duIC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzA2MDUyZjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbWFyZ2luLXRvcDogLTZweDtcbiAgICByaWdodDogMXJlbTsgfVxuXG4uZHJpbGxkb3duLmFsaWduLWxlZnQgLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogNnB4O1xuICBjb250ZW50OiAnJztcbiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMwNjA1MmY7XG4gIHJpZ2h0OiAxcmVtO1xuICBsZWZ0OiBhdXRvOyB9XG5cbi5kcmlsbGRvd24uYWxpZ24tcmlnaHQgLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogNnB4O1xuICBjb250ZW50OiAnJztcbiAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzA2MDUyZiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDFyZW07IH1cblxuLmRyaWxsZG93biAuanMtZHJpbGxkb3duLWJhY2sgPiBhOjpiZWZvcmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiA2cHg7XG4gIGNvbnRlbnQ6ICcnO1xuICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjMDYwNTJmIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbi1yaWdodDogMC43NXJlbTsgfVxuXG4uZHJvcGRvd24ubWVudSA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIHRvcDogMTAwJTtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IGF1dG87IH1cblxuLmRyb3Bkb3duLm1lbnUgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgdG9wOiAxMDAlO1xuICByaWdodDogYXV0bztcbiAgbGVmdDogMDsgfVxuXG5bZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLmRyb3Bkb3duLm1lbnUgYSB7XG4gIG91dGxpbmU6IDA7IH1cblxuLmRyb3Bkb3duLm1lbnUgPiBsaSA+IGEge1xuICBwYWRkaW5nOiA3LjVweCA1cHggNy41cHggMTZweDsgfVxuXG4uZHJvcGRvd24ubWVudSA+IGxpLmlzLWFjdGl2ZSA+IGEge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICMwNjA1MmY7IH1cblxuLm5vLWpzIC5kcm9wZG93bi5tZW51IHVsIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uZHJvcGRvd24ubWVudSAubmVzdGVkLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi5kcm9wZG93bi5tZW51LnZlcnRpY2FsID4gbGkgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICB0b3A6IDA7IH1cblxuLmRyb3Bkb3duLm1lbnUudmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAxMDAlO1xuICBsZWZ0OiBhdXRvOyB9XG5cbi5kcm9wZG93bi5tZW51LnZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiAxMDAlOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS1ob3Jpem9udGFsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDEwMCU7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogYXV0bzsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0taG9yaXpvbnRhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMTAwJTtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAwOyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDA7IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgbGVmdDogYXV0bzsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAuZHJvcGRvd24ubWVudS5sYXJnZS1ob3Jpem9udGFsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDEwMCU7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogYXV0bzsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS1ob3Jpem9udGFsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDA7IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaSAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAwOyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgbGVmdDogYXV0bzsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAuZHJvcGRvd24ubWVudS54bGFyZ2UtaG9yaXpvbnRhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmRyb3Bkb3duLm1lbnUueGxhcmdlLWhvcml6b250YWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDEwMCU7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMDsgfVxuICAuZHJvcGRvd24ubWVudS54bGFyZ2UtdmVydGljYWwgPiBsaSAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAwOyB9XG4gIC5kcm9wZG93bi5tZW51LnhsYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmRyb3Bkb3duLm1lbnUueGxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMTAwJTsgfSB9XG5cbi5kcm9wZG93bi5tZW51LmFsaWduLXJpZ2h0IC5pcy1kcm9wZG93bi1zdWJtZW51LmZpcnN0LXN1YiB7XG4gIHRvcDogMTAwJTtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IGF1dG87IH1cblxuLmlzLWRyb3Bkb3duLW1lbnUudmVydGljYWwge1xuICB3aWR0aDogMTAwcHg7IH1cbiAgLmlzLWRyb3Bkb3duLW1lbnUudmVydGljYWwuYWxpZ24tcmlnaHQge1xuICAgIGZsb2F0OiByaWdodDsgfVxuXG4uaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IGE6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgcmlnaHQ6IDVweDtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi10b3A6IC02cHg7IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50Lm9wZW5zLWlubmVyID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMTAwJTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50Lm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDEwMCU7IH1cblxuLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMTAwJTtcbiAgei1pbmRleDogMTtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWluLXdpZHRoOiAzMDBweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2FlYWVhZTtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjsgfVxuICAuZHJvcGRvd24gLmlzLWRyb3Bkb3duLXN1Ym1lbnUgYSB7XG4gICAgcGFkZGluZzogNy41cHggNXB4IDcuNXB4IDE2cHg7IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIG1hcmdpbi10b3A6IC0xcHg7IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUgPiBsaSB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUuanMtZHJvcGRvd24tYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4uaXMtb2ZmLWNhbnZhcy1vcGVuIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4uanMtb2ZmLWNhbnZhcy1vdmVybGF5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDExO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXMgZWFzZSwgdmlzaWJpbGl0eSAwLjVzIGVhc2U7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNSk7XG4gIG9wYWNpdHk6IDA7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAuanMtb2ZmLWNhbnZhcy1vdmVybGF5LmlzLXZpc2libGUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAuanMtb2ZmLWNhbnZhcy1vdmVybGF5LmlzLWNsb3NhYmxlIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLmpzLW9mZi1jYW52YXMtb3ZlcmxheS5pcy1vdmVybGF5LWFic29sdXRlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cbiAgLmpzLW9mZi1jYW52YXMtb3ZlcmxheS5pcy1vdmVybGF5LWZpeGVkIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7IH1cblxuLm9mZi1jYW52YXMtd3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4ub2ZmLWNhbnZhcyB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogMTI7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjVzIGVhc2U7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLm9mZi1jYW52YXMge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLm9mZi1jYW52YXMuaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB6LWluZGV4OiAxMjsgfVxuICAub2ZmLWNhbnZhcy5pcy1jbG9zZWQge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuICAub2ZmLWNhbnZhcy5pcy10cmFuc2l0aW9uLW92ZXJsYXAge1xuICAgIHotaW5kZXg6IDQwMDA7IH1cbiAgICAub2ZmLWNhbnZhcy5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICBib3gtc2hhZG93OiAwOyB9XG4gIC5vZmYtY2FudmFzLmlzLW9wZW4ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XG5cbi5vZmYtY2FudmFzLWFic29sdXRlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMjtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXMgZWFzZTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAub2ZmLWNhbnZhcy1hYnNvbHV0ZSB7XG4gICAgb3V0bGluZTogMDsgfVxuICAub2ZmLWNhbnZhcy1hYnNvbHV0ZS5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHotaW5kZXg6IDEyOyB9XG4gIC5vZmYtY2FudmFzLWFic29sdXRlLmlzLWNsb3NlZCB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gIC5vZmYtY2FudmFzLWFic29sdXRlLmlzLXRyYW5zaXRpb24tb3ZlcmxhcCB7XG4gICAgei1pbmRleDogNDAwMDsgfVxuICAgIC5vZmYtY2FudmFzLWFic29sdXRlLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgIGJveC1zaGFkb3c6IDA7IH1cbiAgLm9mZi1jYW52YXMtYWJzb2x1dGUuaXMtb3BlbiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cblxuLnBvc2l0aW9uLWxlZnQge1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICB3aWR0aDogMjUwcHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjUwcHgpOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAucG9zaXRpb24tbGVmdCB7XG4gICAgICB3aWR0aDogNDAwcHg7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTQwMHB4KTsgfSB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tbGVmdCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yNTBweCk7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLWxlZnQge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTQwMHB4KTsgfSB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi1sZWZ0LmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQuaXMtb3Blbi1sZWZ0Lmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyNTBweCk7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAub2ZmLWNhbnZhcy1jb250ZW50LmlzLW9wZW4tbGVmdC5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDQwMHB4KTsgfSB9XG4gIC5wb3NpdGlvbi1sZWZ0LmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMCByZ2JhKDAsIDAsIDAsIDAuMjUpOyB9XG5cbi5wb3NpdGlvbi1yaWdodCB7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICB3aWR0aDogMjUwcHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyNTBweCk7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5wb3NpdGlvbi1yaWdodCB7XG4gICAgICB3aWR0aDogNDAwcHg7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNDAwcHgpOyB9IH1cbiAgLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi1yaWdodCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDI1MHB4KTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tcmlnaHQge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNDAwcHgpOyB9IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLXJpZ2h0LmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQuaXMtb3Blbi1yaWdodC5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTI1MHB4KTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaXMtb3Blbi1yaWdodC5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC00MDBweCk7IH0gfVxuICAucG9zaXRpb24tcmlnaHQuaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAwIHJnYmEoMCwgMCwgMCwgMC4yNSk7IH1cblxuLnBvc2l0aW9uLXRvcCB7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93LXg6IGF1dG87XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgaGVpZ2h0OiAyNTBweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yNTBweCk7IH1cbiAgLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi10b3Age1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjUwcHgpOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi10b3AuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cbiAgLm9mZi1jYW52YXMtY29udGVudC5pcy1vcGVuLXRvcC5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjUwcHgpOyB9XG4gIC5wb3NpdGlvbi10b3AuaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAwIHJnYmEoMCwgMCwgMCwgMC4yNSk7IH1cblxuLnBvc2l0aW9uLWJvdHRvbSB7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93LXg6IGF1dG87XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgaGVpZ2h0OiAyNTBweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDI1MHB4KTsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLWJvdHRvbSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDI1MHB4KTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tYm90dG9tLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQuaXMtb3Blbi1ib3R0b20uaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yNTBweCk7IH1cbiAgLnBvc2l0aW9uLWJvdHRvbS5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDAgcmdiYSgwLCAwLCAwLCAwLjI1KTsgfVxuXG4ub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgdHJhbnNmb3JtOiBub25lO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cbiAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtdHJhbnNpdGlvbi1vdmVybGFwLCAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjVzIGVhc2U7IH1cbiAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLmlzLW9wZW4ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1tZWRpdW0gLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtbGVmdCB7XG4gICAgICBtYXJnaW4tbGVmdDogMjUwcHg7IH1cbiAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLW1lZGl1bSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDI1MHB4OyB9XG4gIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLW1lZGl1bSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtcmlnaHQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyNTBweDsgfVxuICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLW1lZGl1bSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyNTBweDsgfVxuICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLW1lZGl1bSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLXRvcCB7XG4gICAgICBtYXJnaW4tdG9wOiAyNTBweDsgfVxuICAgIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1tZWRpdW0gfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi10b3A6IDI1MHB4OyB9XG4gIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbWVkaXVtIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtYm90dG9tIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI1MHB4OyB9XG4gICAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLW1lZGl1bSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjUwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLWxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtbGVmdCB7XG4gICAgICBtYXJnaW4tbGVmdDogNDAwcHg7IH1cbiAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLWxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tbGVmdDogNDAwcHg7IH1cbiAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1sYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1yaWdodCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDQwMHB4OyB9XG4gICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1yaWdodDogNDAwcHg7IH1cbiAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLWxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC10b3Age1xuICAgICAgbWFyZ2luLXRvcDogNDAwcHg7IH1cbiAgICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi10b3A6IDQwMHB4OyB9XG4gIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1sYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtYm90dG9tIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDQwMHB4OyB9XG4gICAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLWxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0MDBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3IteGxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci14bGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLXhsYXJnZSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtbGVmdCB7XG4gICAgICBtYXJnaW4tbGVmdDogNDAwcHg7IH1cbiAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLXhsYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDQwMHB4OyB9XG4gIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLXhsYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLXhsYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLXhsYXJnZSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtcmlnaHQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiA0MDBweDsgfVxuICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLXhsYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiA0MDBweDsgfVxuICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3IteGxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLXhsYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci14bGFyZ2Uge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLXRvcCB7XG4gICAgICBtYXJnaW4tdG9wOiA0MDBweDsgfVxuICAgIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci14bGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi10b3A6IDQwMHB4OyB9XG4gIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci14bGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3IteGxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLXhsYXJnZSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtYm90dG9tIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDQwMHB4OyB9XG4gICAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLXhsYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNDAwcHg7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLW1lZGl1bSB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIHRyYW5zaXRpb246IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLW1lZGl1bS5wb3NpdGlvbi1sZWZ0LCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLW1lZGl1bS5wb3NpdGlvbi1yaWdodCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1tZWRpdW0ucG9zaXRpb24tdG9wLCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLW1lZGl1bS5wb3NpdGlvbi1ib3R0b20ge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbWVkaXVtIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1sYXJnZSB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIHRyYW5zaXRpb246IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLWxhcmdlLnBvc2l0aW9uLWxlZnQsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbGFyZ2UucG9zaXRpb24tcmlnaHQsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbGFyZ2UucG9zaXRpb24tdG9wLCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLWxhcmdlLnBvc2l0aW9uLWJvdHRvbSB7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1sYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLXhsYXJnZSB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIHRyYW5zaXRpb246IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLXhsYXJnZS5wb3NpdGlvbi1sZWZ0LCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLXhsYXJnZS5wb3NpdGlvbi1yaWdodCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci14bGFyZ2UucG9zaXRpb24tdG9wLCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLXhsYXJnZS5wb3NpdGlvbi1ib3R0b20ge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3IteGxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi50aXRsZS1iYXIge1xuICBwYWRkaW5nOiAwLjVyZW07XG4gIGJhY2tncm91bmQ6ICMwMDAwMDA7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLnRpdGxlLWJhciAubWVudS1pY29uIHtcbiAgICBtYXJnaW4tbGVmdDogMC4yNXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW07IH1cblxuLnRpdGxlLWJhci1sZWZ0LFxuLnRpdGxlLWJhci1yaWdodCB7XG4gIGZsZXg6IDEgMSAwcHg7IH1cblxuLnRpdGxlLWJhci1yaWdodCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbi50aXRsZS1iYXItdGl0bGUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi5hbGlnbi1sZWZ0IHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG5cbi5hbGlnbi1yaWdodCB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cblxuLmFsaWduLWNlbnRlciB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG5cbi5hbGlnbi1qdXN0aWZ5IHtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG5cbi5hbGlnbi1zcGFjZWQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsgfVxuXG4uYWxpZ24tbGVmdC52ZXJ0aWNhbC5tZW51ID4gbGkgPiBhIHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG5cbi5hbGlnbi1yaWdodC52ZXJ0aWNhbC5tZW51ID4gbGkgPiBhIHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuXG4uYWxpZ24tY2VudGVyLnZlcnRpY2FsLm1lbnUgPiBsaSA+IGEge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4uYWxpZ24tdG9wIHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cblxuLmFsaWduLXNlbGYtdG9wIHtcbiAgYWxpZ24tc2VsZjogZmxleC1zdGFydDsgfVxuXG4uYWxpZ24tYm90dG9tIHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kOyB9XG5cbi5hbGlnbi1zZWxmLWJvdHRvbSB7XG4gIGFsaWduLXNlbGY6IGZsZXgtZW5kOyB9XG5cbi5hbGlnbi1taWRkbGUge1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG5cbi5hbGlnbi1zZWxmLW1pZGRsZSB7XG4gIGFsaWduLXNlbGY6IGNlbnRlcjsgfVxuXG4uYWxpZ24tc3RyZXRjaCB7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoOyB9XG5cbi5hbGlnbi1zZWxmLXN0cmV0Y2gge1xuICBhbGlnbi1zZWxmOiBzdHJldGNoOyB9XG5cbi5hbGlnbi1jZW50ZXItbWlkZGxlIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4uc21hbGwtb3JkZXItMSB7XG4gIG9yZGVyOiAxOyB9XG5cbi5zbWFsbC1vcmRlci0yIHtcbiAgb3JkZXI6IDI7IH1cblxuLnNtYWxsLW9yZGVyLTMge1xuICBvcmRlcjogMzsgfVxuXG4uc21hbGwtb3JkZXItNCB7XG4gIG9yZGVyOiA0OyB9XG5cbi5zbWFsbC1vcmRlci01IHtcbiAgb3JkZXI6IDU7IH1cblxuLnNtYWxsLW9yZGVyLTYge1xuICBvcmRlcjogNjsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLW9yZGVyLTEge1xuICAgIG9yZGVyOiAxOyB9XG4gIC5tZWRpdW0tb3JkZXItMiB7XG4gICAgb3JkZXI6IDI7IH1cbiAgLm1lZGl1bS1vcmRlci0zIHtcbiAgICBvcmRlcjogMzsgfVxuICAubWVkaXVtLW9yZGVyLTQge1xuICAgIG9yZGVyOiA0OyB9XG4gIC5tZWRpdW0tb3JkZXItNSB7XG4gICAgb3JkZXI6IDU7IH1cbiAgLm1lZGl1bS1vcmRlci02IHtcbiAgICBvcmRlcjogNjsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLmxhcmdlLW9yZGVyLTEge1xuICAgIG9yZGVyOiAxOyB9XG4gIC5sYXJnZS1vcmRlci0yIHtcbiAgICBvcmRlcjogMjsgfVxuICAubGFyZ2Utb3JkZXItMyB7XG4gICAgb3JkZXI6IDM7IH1cbiAgLmxhcmdlLW9yZGVyLTQge1xuICAgIG9yZGVyOiA0OyB9XG4gIC5sYXJnZS1vcmRlci01IHtcbiAgICBvcmRlcjogNTsgfVxuICAubGFyZ2Utb3JkZXItNiB7XG4gICAgb3JkZXI6IDY7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAueGxhcmdlLW9yZGVyLTEge1xuICAgIG9yZGVyOiAxOyB9XG4gIC54bGFyZ2Utb3JkZXItMiB7XG4gICAgb3JkZXI6IDI7IH1cbiAgLnhsYXJnZS1vcmRlci0zIHtcbiAgICBvcmRlcjogMzsgfVxuICAueGxhcmdlLW9yZGVyLTQge1xuICAgIG9yZGVyOiA0OyB9XG4gIC54bGFyZ2Utb3JkZXItNSB7XG4gICAgb3JkZXI6IDU7IH1cbiAgLnhsYXJnZS1vcmRlci02IHtcbiAgICBvcmRlcjogNjsgfSB9XG5cbi5mbGV4LWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7IH1cblxuLmZsZXgtY2hpbGQtYXV0byB7XG4gIGZsZXg6IDEgMSBhdXRvOyB9XG5cbi5mbGV4LWNoaWxkLWdyb3cge1xuICBmbGV4OiAxIDAgYXV0bzsgfVxuXG4uZmxleC1jaGlsZC1zaHJpbmsge1xuICBmbGV4OiAwIDEgYXV0bzsgfVxuXG4uZmxleC1kaXItcm93IHtcbiAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuXG4uZmxleC1kaXItcm93LXJldmVyc2Uge1xuICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH1cblxuLmZsZXgtZGlyLWNvbHVtbiB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cblxuLmZsZXgtZGlyLWNvbHVtbi1yZXZlcnNlIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tZmxleC1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgLm1lZGl1bS1mbGV4LWNoaWxkLWF1dG8ge1xuICAgIGZsZXg6IDEgMSBhdXRvOyB9XG4gIC5tZWRpdW0tZmxleC1jaGlsZC1ncm93IHtcbiAgICBmbGV4OiAxIDAgYXV0bzsgfVxuICAubWVkaXVtLWZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgICBmbGV4OiAwIDEgYXV0bzsgfVxuICAubWVkaXVtLWZsZXgtZGlyLXJvdyB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAubWVkaXVtLWZsZXgtZGlyLXJvdy1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH1cbiAgLm1lZGl1bS1mbGV4LWRpci1jb2x1bW4ge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgLm1lZGl1bS1mbGV4LWRpci1jb2x1bW4tcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAubGFyZ2UtZmxleC1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgLmxhcmdlLWZsZXgtY2hpbGQtYXV0byB7XG4gICAgZmxleDogMSAxIGF1dG87IH1cbiAgLmxhcmdlLWZsZXgtY2hpbGQtZ3JvdyB7XG4gICAgZmxleDogMSAwIGF1dG87IH1cbiAgLmxhcmdlLWZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgICBmbGV4OiAwIDEgYXV0bzsgfVxuICAubGFyZ2UtZmxleC1kaXItcm93IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gIC5sYXJnZS1mbGV4LWRpci1yb3ctcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9XG4gIC5sYXJnZS1mbGV4LWRpci1jb2x1bW4ge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgLmxhcmdlLWZsZXgtZGlyLWNvbHVtbi1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAueGxhcmdlLWZsZXgtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gIC54bGFyZ2UtZmxleC1jaGlsZC1hdXRvIHtcbiAgICBmbGV4OiAxIDEgYXV0bzsgfVxuICAueGxhcmdlLWZsZXgtY2hpbGQtZ3JvdyB7XG4gICAgZmxleDogMSAwIGF1dG87IH1cbiAgLnhsYXJnZS1mbGV4LWNoaWxkLXNocmluayB7XG4gICAgZmxleDogMCAxIGF1dG87IH1cbiAgLnhsYXJnZS1mbGV4LWRpci1yb3cge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgLnhsYXJnZS1mbGV4LWRpci1yb3ctcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9XG4gIC54bGFyZ2UtZmxleC1kaXItY29sdW1uIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIC54bGFyZ2UtZmxleC1kaXItY29sdW1uLXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsgfSB9XG5cbi5oaWRlIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5pbnZpc2libGUge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnZpc2libGUge1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gIC5oaWRlLWZvci1zbWFsbC1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAwZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnNob3ctZm9yLXNtYWxsLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5oaWRlLWZvci1tZWRpdW0ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgLnNob3ctZm9yLW1lZGl1bSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gIC5oaWRlLWZvci1tZWRpdW0tb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAuc2hvdy1mb3ItbWVkaXVtLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLmhpZGUtZm9yLWxhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gIC5zaG93LWZvci1sYXJnZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkgYW5kIChtYXgtd2lkdGg6IDk5Ljk5ODc1ZW0pIHtcbiAgLmhpZGUtZm9yLWxhcmdlLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC5zaG93LWZvci1sYXJnZS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAuaGlkZS1mb3IteGxhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OS45OTg3NWVtKSB7XG4gIC5zaG93LWZvci14bGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSBhbmQgKG1heC13aWR0aDogMTE5Ljk5ODc1ZW0pIHtcbiAgLmhpZGUtZm9yLXhsYXJnZS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OS45OTg3NWVtKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjBlbSkge1xuICAuc2hvdy1mb3IteGxhcmdlLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbi5zaG93LWZvci1zcixcbi5zaG93LW9uLWZvY3VzIHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxcHggIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAxcHggIWltcG9ydGFudDtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCkgIWltcG9ydGFudDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcCAhaW1wb3J0YW50O1xuICBib3JkZXI6IDAgIWltcG9ydGFudDsgfVxuXG4uc2hvdy1vbi1mb2N1czphY3RpdmUsIC5zaG93LW9uLWZvY3VzOmZvY3VzIHtcbiAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xuICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgb3ZlcmZsb3c6IHZpc2libGUgIWltcG9ydGFudDtcbiAgY2xpcDogYXV0byAhaW1wb3J0YW50O1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsICFpbXBvcnRhbnQ7IH1cblxuLnNob3ctZm9yLWxhbmRzY2FwZSxcbi5oaWRlLWZvci1wb3J0cmFpdCB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgICAuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAgIC5oaWRlLWZvci1wb3J0cmFpdCB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCkge1xuICAgIC5zaG93LWZvci1sYW5kc2NhcGUsXG4gICAgLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbi5oaWRlLWZvci1sYW5kc2NhcGUsXG4uc2hvdy1mb3ItcG9ydHJhaXQge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgICAuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICAgIC5zaG93LWZvci1wb3J0cmFpdCB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KSB7XG4gICAgLmhpZGUtZm9yLWxhbmRzY2FwZSxcbiAgICAuc2hvdy1mb3ItcG9ydHJhaXQge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfSB9XG5cbi5zaG93LWZvci1kYXJrLW1vZGUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5oaWRlLWZvci1kYXJrLW1vZGUge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIHtcbiAgLnNob3ctZm9yLWRhcmstbW9kZSB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICAuaGlkZS1mb3ItZGFyay1tb2RlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG4uc2hvdy1mb3ItaWUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbkBtZWRpYSBhbGwgYW5kICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSksICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSB7XG4gIC5zaG93LWZvci1pZSB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICAuaGlkZS1mb3ItaWUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbi5zaG93LWZvci1zdGlja3kge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5pcy1zdHVjayAuc2hvdy1mb3Itc3RpY2t5IHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLmlzLXN0dWNrIC5oaWRlLWZvci1zdGlja3kge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi8qXHJcbi0tLS0tIE1lbnVzIC0tLS0tXHJcblRPRE86IFRoaXMgaXMgYSB3b3JrIGluIHByb2dyZXNzIEkgYW0gc3RpbGwgbWlncmF0aW5nIGZyb20gYSBtYXNzaXZlIGJsb2Igb2YgY29kZSBlbWJlZGRlZCBpbiBoZWFkZXIuc2Nzcy5cclxuSGFuZGxlcyB0aGUgZm9sbG93aW5nOiBcclxuLSBEcm9wZG93bnNcclxuLSBEcmlsbCBkb3duc1xyXG4tIEFjY29yZGlvbnNcclxuLSBNZWdhIG1lbnVcclxuICAtIE1lZ2EgbWVudSBzZWUgbW9yZSBsaW5rLlxyXG4gIC0gRUJHIGltYWdlLlxyXG4qL1xuLm1lbnUtaGVhZGVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWFyZ2luOiAwIDAgMjBweDtcbiAgYm9yZGVyLWJvdHRvbTogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLm1lbnUtaGVhZGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAubWVudS1oZWFkZXI6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIC5tZW51LWhlYWRlcjphY3RpdmUge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG4gIC5tZW51LWhlYWRlciAuY2xvc2UtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAubWVudS1oZWFkZXIgLmNsb3NlLWJ1dHRvbjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgI1cIjtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgY29sb3I6ICMwNjA1MmY7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC42cywgY29sb3IgMC44czsgfVxuICAgIC5tZW51LWhlYWRlciAuY2xvc2UtYnV0dG9uOmhvdmVyOmJlZm9yZSB7XG4gICAgICBjb2xvcjogI2FlOTQ2MTtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjZzLCBjb2xvciAwLjZzOyB9XG4gICAgLm1lbnUtaGVhZGVyIC5jbG9zZS1idXR0b246YWN0aXZlOmJlZm9yZSB7XG4gICAgICBjb2xvcjogIzA2MDUyZjtcbiAgICAgIHRyYW5zaXRpb246IGZvbnQtc2l6ZSAxLjJzLCBjb2xvciAwLjZzOyB9XG4gIC5tZW51LWhlYWRlciAubWVudS1oZWFkaW5nIHtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDAgMCAxNXB4O1xuICAgIGNvbG9yOiAjMDYwNTJmO1xuICAgIGZvbnQtc2l6ZTogMS41NjI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNhZWFlYWU7IH1cblxuLm1lbnUtY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5tZW51LWNvbnRhaW5lciB7XG4gICAgICB3aWR0aDogZml0LWNvbnRlbnQ7IH0gfVxuXG4ubWVudSwgLmRyb3Bkb3duLm1lbnUge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLm1lbnUsIC5kcm9wZG93bi5tZW51IHtcbiAgICAgIHdpZHRoOiBmaXQtY29udGVudDsgfSB9XG4gIC5tZW51IC5uYXZpZ2F0aW9uLWNtcy1jb250YWluZXIsIC5tZW51IC5tZW51LWhlYWRlciwgLmRyb3Bkb3duLm1lbnUgLm5hdmlnYXRpb24tY21zLWNvbnRhaW5lciwgLmRyb3Bkb3duLm1lbnUgLm1lbnUtaGVhZGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiAzMHB4IDAgNDBweDtcbiAgICBib3JkZXItYm90dG9tOiAwOyB9XG4gICAgLm1lbnUgLm5hdmlnYXRpb24tY21zLWNvbnRhaW5lcjpob3ZlciwgLm1lbnUgLm1lbnUtaGVhZGVyOmhvdmVyLCAuZHJvcGRvd24ubWVudSAubmF2aWdhdGlvbi1jbXMtY29udGFpbmVyOmhvdmVyLCAuZHJvcGRvd24ubWVudSAubWVudS1oZWFkZXI6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAubWVudSAubmF2aWdhdGlvbi1jbXMtY29udGFpbmVyOmFjdGl2ZSwgLm1lbnUgLm1lbnUtaGVhZGVyOmFjdGl2ZSwgLmRyb3Bkb3duLm1lbnUgLm5hdmlnYXRpb24tY21zLWNvbnRhaW5lcjphY3RpdmUsIC5kcm9wZG93bi5tZW51IC5tZW51LWhlYWRlcjphY3RpdmUge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbiAgICAubWVudSAubmF2aWdhdGlvbi1jbXMtY29udGFpbmVyIHAsIC5tZW51IC5tZW51LWhlYWRlciBwLCAuZHJvcGRvd24ubWVudSAubmF2aWdhdGlvbi1jbXMtY29udGFpbmVyIHAsIC5kcm9wZG93bi5tZW51IC5tZW51LWhlYWRlciBwIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBjb2xvcjogIzA2MDUyZjtcbiAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgLm1lbnUgLmNsb3NlLWJ1dHRvbiwgLmRyb3Bkb3duLm1lbnUgLmNsb3NlLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7IH1cbiAgICAubWVudSAuY2xvc2UtYnV0dG9uOmJlZm9yZSwgLmRyb3Bkb3duLm1lbnUgLmNsb3NlLWJ1dHRvbjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgI1cIjtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC42cywgY29sb3IgMC44czsgfVxuICAgIC5tZW51IC5jbG9zZS1idXR0b246aG92ZXI6YmVmb3JlLCAuZHJvcGRvd24ubWVudSAuY2xvc2UtYnV0dG9uOmhvdmVyOmJlZm9yZSB7XG4gICAgICBjb2xvcjogI2FlOTQ2MTtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjZzLCBjb2xvciAwLjZzOyB9XG4gICAgLm1lbnUgLmNsb3NlLWJ1dHRvbjphY3RpdmU6YmVmb3JlLCAuZHJvcGRvd24ubWVudSAuY2xvc2UtYnV0dG9uOmFjdGl2ZTpiZWZvcmUge1xuICAgICAgY29sb3I6ICMwNjA1MmY7XG4gICAgICB0cmFuc2l0aW9uOiBmb250LXNpemUgMS4ycywgY29sb3IgMC42czsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgIC5tZW51ID4gbGksIC5kcm9wZG93bi5tZW51ID4gbGkge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2FlYWVhZTsgfVxuICAgICAgLm1lbnUgPiBsaSA+IHVsLCAuZHJvcGRvd24ubWVudSA+IGxpID4gdWwge1xuICAgICAgICBwYWRkaW5nOiAwIDAgMTBweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNhZWFlYWU7IH1cbiAgICAgICAgLm1lbnUgPiBsaSA+IHVsID4gbGksIC5kcm9wZG93bi5tZW51ID4gbGkgPiB1bCA+IGxpIHtcbiAgICAgICAgICBib3JkZXI6IDA7IH1cbiAgICAgICAgICAubWVudSA+IGxpID4gdWwgPiBsaSA+IGEsIC5kcm9wZG93bi5tZW51ID4gbGkgPiB1bCA+IGxpID4gYSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuMDYyNXJlbTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgICAgICAgLm1lbnUgPiBsaSA+IHVsIHVsLCAuZHJvcGRvd24ubWVudSA+IGxpID4gdWwgdWwge1xuICAgICAgICAgIGJvcmRlcjogbm9uZTsgfVxuICAgICAgICAgIC5tZW51ID4gbGkgPiB1bCB1bCBhLCAuZHJvcGRvd24ubWVudSA+IGxpID4gdWwgdWwgYSB7XG4gICAgICAgICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuMDYyNXJlbTsgfVxuICAgIC5tZW51IC5hY2NvdW50LW1lbnUsIC5kcm9wZG93bi5tZW51IC5hY2NvdW50LW1lbnUge1xuICAgICAgcGFkZGluZzogMDsgfSB9XG4gIC5tZW51ICNtZWdhLW1lbnUtaW1hZ2UtY29udGFpbmVyLCAubWVudSAubWVudS1lZ2ItaW1hZ2UtY29udGFpbmVyLCAuZHJvcGRvd24ubWVudSAjbWVnYS1tZW51LWltYWdlLWNvbnRhaW5lciwgLmRyb3Bkb3duLm1lbnUgLm1lbnUtZWdiLWltYWdlLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5tZW51ICNtZWdhLW1lbnUtaW1hZ2UtY29udGFpbmVyLCAubWVudSAubWVudS1lZ2ItaW1hZ2UtY29udGFpbmVyLCAuZHJvcGRvd24ubWVudSAjbWVnYS1tZW51LWltYWdlLWNvbnRhaW5lciwgLmRyb3Bkb3duLm1lbnUgLm1lbnUtZWdiLWltYWdlLWNvbnRhaW5lciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cbiAgLm1lbnUuYWNjb3JkaW9uLW1lbnUgPiBsaSA+IGE6YWZ0ZXIsIC5kcm9wZG93bi5tZW51LmFjY29yZGlvbi1tZW51ID4gbGkgPiBhOmFmdGVyIHtcbiAgICBjb2xvcjogIzA2MDUyZjsgfVxuICAubWVudS5hY2NvcmRpb24tbWVudSA+IGxpOmhvdmVyID4gYTphZnRlciwgLmRyb3Bkb3duLm1lbnUuYWNjb3JkaW9uLW1lbnUgPiBsaTpob3ZlciA+IGE6YWZ0ZXIge1xuICAgIGNvbG9yOiAjNzc3Nzc3O1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgLm1lbnUuYWNjb3JkaW9uLW1lbnUgPiBsaTphY3RpdmUgPiBhOmFmdGVyLCAuZHJvcGRvd24ubWVudS5hY2NvcmRpb24tbWVudSA+IGxpOmFjdGl2ZSA+IGE6YWZ0ZXIge1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgLm1lbnUuYWNjb3JkaW9uLW1lbnU6bm90KFtkYXRhLXN1Ym1lbnUtdG9nZ2xlPVwidHJ1ZVwiXSkgPiBsaS5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnRbYXJpYS1leHBhbmRlZD10cnVlXSA+IGE6YWZ0ZXIsIC5kcm9wZG93bi5tZW51LmFjY29yZGlvbi1tZW51Om5vdChbZGF0YS1zdWJtZW51LXRvZ2dsZT1cInRydWVcIl0pID4gbGkuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50W2FyaWEtZXhwYW5kZWQ9dHJ1ZV0gPiBhOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIu6gglwiOyB9XG4gIC5tZW51LmFjY29yZGlvbi1tZW51Om5vdChbZGF0YS1zdWJtZW51LXRvZ2dsZT1cInRydWVcIl0pID4gbGkuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYSwgLmRyb3Bkb3duLm1lbnUuYWNjb3JkaW9uLW1lbnU6bm90KFtkYXRhLXN1Ym1lbnUtdG9nZ2xlPVwidHJ1ZVwiXSkgPiBsaS5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAubWVudS5hY2NvcmRpb24tbWVudTpub3QoW2RhdGEtc3VibWVudS10b2dnbGU9XCJ0cnVlXCJdKSA+IGxpLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGE6YWZ0ZXIsIC5kcm9wZG93bi5tZW51LmFjY29yZGlvbi1tZW51Om5vdChbZGF0YS1zdWJtZW51LXRvZ2dsZT1cInRydWVcIl0pID4gbGkuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYTphZnRlciB7XG4gICAgICBjb250ZW50OiBcIu6gg1wiO1xuICAgICAgd2lkdGg6IDEwcHg7XG4gICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZm9udC1zaXplOiA4cHg7XG4gICAgICBmb250LWZhbWlseTogXCJmb250ZWxsby1kam1pbGVzXCI7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gIC5tZW51LmFjY29yZGlvbi1tZW51Om5vdChbZGF0YS1zdWJtZW51LXRvZ2dsZT1cInRydWVcIl0pID4gbGkuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gdWwgPiBsaS5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnRbYXJpYS1leHBhbmRlZD10cnVlXSA+IGE6YmVmb3JlLCAuZHJvcGRvd24ubWVudS5hY2NvcmRpb24tbWVudTpub3QoW2RhdGEtc3VibWVudS10b2dnbGU9XCJ0cnVlXCJdKSA+IGxpLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IHVsID4gbGkuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50W2FyaWEtZXhwYW5kZWQ9dHJ1ZV0gPiBhOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLuoIJcIjsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgIC5tZW51LmFjY29yZGlvbi1tZW51Om5vdChbZGF0YS1zdWJtZW51LXRvZ2dsZT1cInRydWVcIl0pID4gbGkuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gdWwgPiBsaS5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhOmJlZm9yZSwgLmRyb3Bkb3duLm1lbnUuYWNjb3JkaW9uLW1lbnU6bm90KFtkYXRhLXN1Ym1lbnUtdG9nZ2xlPVwidHJ1ZVwiXSkgPiBsaS5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiB1bCA+IGxpLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGE6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi7qCBXCI7XG4gICAgICBoZWlnaHQ6IDhweDtcbiAgICAgIG1hcmdpbjogYXV0byAwO1xuICAgICAgcGFkZGluZzogMCAxMHB4IDAgMDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvLWRqbWlsZXNcIjtcbiAgICAgIGZvbnQtc2l6ZTogOHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDhweDtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5tZW51LmFjY29yZGlvbi1tZW51Om5vdChbZGF0YS1zdWJtZW51LXRvZ2dsZT1cInRydWVcIl0pID4gbGkuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gdWwgPiBsaS5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhOmJlZm9yZSwgLmRyb3Bkb3duLm1lbnUuYWNjb3JkaW9uLW1lbnU6bm90KFtkYXRhLXN1Ym1lbnUtdG9nZ2xlPVwidHJ1ZVwiXSkgPiBsaS5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiB1bCA+IGxpLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGE6YmVmb3JlIHtcbiAgICAgIHBhZGRpbmc6IDAgMTBweDsgfSB9XG4gIC5tZW51LmFjY29yZGlvbi1tZW51Om5vdChbZGF0YS1zdWJtZW51LXRvZ2dsZT1cInRydWVcIl0pID4gbGkuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gdWwgPiBsaS5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgdWwsIC5kcm9wZG93bi5tZW51LmFjY29yZGlvbi1tZW51Om5vdChbZGF0YS1zdWJtZW51LXRvZ2dsZT1cInRydWVcIl0pID4gbGkuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gdWwgPiBsaS5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgdWwge1xuICAgIHBhZGRpbmc6IDAgMCAwIDIwcHg7XG4gICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAubWVudS5hY2NvcmRpb24tbWVudVtkYXRhLXN1Ym1lbnUtdG9nZ2xlPVwidHJ1ZVwiXVthcmlhLWV4cGFuZGVkPXRydWVdID4gYnV0dG9uOmFmdGVyLCAuZHJvcGRvd24ubWVudS5hY2NvcmRpb24tbWVudVtkYXRhLXN1Ym1lbnUtdG9nZ2xlPVwidHJ1ZVwiXVthcmlhLWV4cGFuZGVkPXRydWVdID4gYnV0dG9uOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIu6gglwiOyB9XG4gIC5zdWJtZW51LXRvZ2dsZTphZnRlciB7XG4gICAgY29udGVudDogXCLuoINcIjtcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgZm9udC1zaXplOiA4cHg7XG4gICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG8tZGptaWxlc1wiO1xuICAgIGJvcmRlcjogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgIC5tZW51LmFjY29yZGlvbi1tZW51W2RhdGEtc3VibWVudS10b2dnbGU9XCJ0cnVlXCJdIC5zdWJtZW51LCAuZHJvcGRvd24ubWVudS5hY2NvcmRpb24tbWVudVtkYXRhLXN1Ym1lbnUtdG9nZ2xlPVwidHJ1ZVwiXSAuc3VibWVudSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAubWVudS5hY2NvcmRpb24tbWVudVtkYXRhLXN1Ym1lbnUtdG9nZ2xlPVwidHJ1ZVwiXSBsaS5pcy1hY2NvcmRpb24tc3VibWVudS1pdGVtOm5vdCguaGFzLXN1Ym1lbnUtdG9nZ2xlKSBhLCAuZHJvcGRvd24ubWVudS5hY2NvcmRpb24tbWVudVtkYXRhLXN1Ym1lbnUtdG9nZ2xlPVwidHJ1ZVwiXSBsaS5pcy1hY2NvcmRpb24tc3VibWVudS1pdGVtOm5vdCguaGFzLXN1Ym1lbnUtdG9nZ2xlKSBhIHtcbiAgICAgIHBhZGRpbmctbGVmdDogNDVweDsgfSB9XG4gIC5tZW51LmViZy1jb2xvdXItYmFja2dyb3VuZCBsaVtzdHlsZSo9XCItLWViZ1wiXS5pcy1zdWJtZW51LWl0ZW0sIC5kcm9wZG93bi5tZW51LmViZy1jb2xvdXItYmFja2dyb3VuZCBsaVtzdHlsZSo9XCItLWViZ1wiXS5pcy1zdWJtZW51LWl0ZW0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWViZy1iYWNrZ3JvdW5kLWNvbG91ciwgIzA2MDUyZik7IH1cbiAgICAubWVudS5lYmctY29sb3VyLWJhY2tncm91bmQgbGlbc3R5bGUqPVwiLS1lYmdcIl0uaXMtc3VibWVudS1pdGVtID4gYSwgLmRyb3Bkb3duLm1lbnUuZWJnLWNvbG91ci1iYWNrZ3JvdW5kIGxpW3N0eWxlKj1cIi0tZWJnXCJdLmlzLXN1Ym1lbnUtaXRlbSA+IGEge1xuICAgICAgY29sb3I6IHZhcigtLWViZy1mb3JlZ3JvdW5kLWNvbG91ciwgIzA2MDUyZik7IH1cbiAgICAubWVudS5lYmctY29sb3VyLWJhY2tncm91bmQgbGlbc3R5bGUqPVwiLS1lYmdcIl0uaXMtc3VibWVudS1pdGVtID4gYTpob3ZlcjpiZWZvcmUsIC5tZW51LmViZy1jb2xvdXItYmFja2dyb3VuZCBsaVtzdHlsZSo9XCItLWViZ1wiXS5pcy1zdWJtZW51LWl0ZW0gPiBhOmhvdmVyOmFmdGVyLCAubWVudS5lYmctY29sb3VyLWJhY2tncm91bmQgbGlbc3R5bGUqPVwiLS1lYmdcIl0uaXMtc3VibWVudS1pdGVtIGxpOmhvdmVyIGE6YmVmb3JlLCAubWVudS5lYmctY29sb3VyLWJhY2tncm91bmQgbGlbc3R5bGUqPVwiLS1lYmdcIl0uaXMtc3VibWVudS1pdGVtIGxpOmhvdmVyIGE6YWZ0ZXIsIC5kcm9wZG93bi5tZW51LmViZy1jb2xvdXItYmFja2dyb3VuZCBsaVtzdHlsZSo9XCItLWViZ1wiXS5pcy1zdWJtZW51LWl0ZW0gPiBhOmhvdmVyOmJlZm9yZSwgLmRyb3Bkb3duLm1lbnUuZWJnLWNvbG91ci1iYWNrZ3JvdW5kIGxpW3N0eWxlKj1cIi0tZWJnXCJdLmlzLXN1Ym1lbnUtaXRlbSA+IGE6aG92ZXI6YWZ0ZXIsIC5kcm9wZG93bi5tZW51LmViZy1jb2xvdXItYmFja2dyb3VuZCBsaVtzdHlsZSo9XCItLWViZ1wiXS5pcy1zdWJtZW51LWl0ZW0gbGk6aG92ZXIgYTpiZWZvcmUsIC5kcm9wZG93bi5tZW51LmViZy1jb2xvdXItYmFja2dyb3VuZCBsaVtzdHlsZSo9XCItLWViZ1wiXS5pcy1zdWJtZW51LWl0ZW0gbGk6aG92ZXIgYTphZnRlciB7XG4gICAgICBjb2xvcjogdmFyKC0tZWJnLWZvcmVncm91bmQtY29sb3VyLCAjMDYwNTJmKTsgfVxuICAgIC5tZW51LmViZy1jb2xvdXItYmFja2dyb3VuZCBsaVtzdHlsZSo9XCItLWViZ1wiXS5pcy1zdWJtZW51LWl0ZW0gdWwsIC5kcm9wZG93bi5tZW51LmViZy1jb2xvdXItYmFja2dyb3VuZCBsaVtzdHlsZSo9XCItLWViZ1wiXS5pcy1zdWJtZW51LWl0ZW0gdWwge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZWJnLWJhY2tncm91bmQtY29sb3VyLCAjMDYwNTJmKTsgfVxuICAgICAgLm1lbnUuZWJnLWNvbG91ci1iYWNrZ3JvdW5kIGxpW3N0eWxlKj1cIi0tZWJnXCJdLmlzLXN1Ym1lbnUtaXRlbSB1bCBsaSA+IGEsIC5kcm9wZG93bi5tZW51LmViZy1jb2xvdXItYmFja2dyb3VuZCBsaVtzdHlsZSo9XCItLWViZ1wiXS5pcy1zdWJtZW51LWl0ZW0gdWwgbGkgPiBhIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWViZy1mb3JlZ3JvdW5kLWNvbG91ciwgIzA2MDUyZik7IH1cbiAgLm1lbnUuZWJnLWNvbG91ci1iYWNrZ3JvdW5kIGxpW3N0eWxlKj1cIi0tZWJnXCJdOm5vdCguaXMtc3VibWVudS1pdGVtKSwgLmRyb3Bkb3duLm1lbnUuZWJnLWNvbG91ci1iYWNrZ3JvdW5kIGxpW3N0eWxlKj1cIi0tZWJnXCJdOm5vdCguaXMtc3VibWVudS1pdGVtKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZWJnLWJhY2tncm91bmQtY29sb3VyLCAjMDYwNTJmKTsgfVxuICAgIC5tZW51LmViZy1jb2xvdXItYmFja2dyb3VuZCBsaVtzdHlsZSo9XCItLWViZ1wiXTpub3QoLmlzLXN1Ym1lbnUtaXRlbSkgPiBhLCAuZHJvcGRvd24ubWVudS5lYmctY29sb3VyLWJhY2tncm91bmQgbGlbc3R5bGUqPVwiLS1lYmdcIl06bm90KC5pcy1zdWJtZW51LWl0ZW0pID4gYSB7XG4gICAgICBjb2xvcjogdmFyKC0tZWJnLWZvcmVncm91bmQtY29sb3VyLCAjMDYwNTJmKTsgfVxuICAubWVudS5lYmctY29sb3VyLWhvdmVyIGxpW3N0eWxlKj1cIi0tZWJnXCJdOmhvdmVyLCAubWVudS5lYmctY29sb3VyLWhvdmVyIGxpW3N0eWxlKj1cIi0tZWJnXCJdW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdLCAuZHJvcGRvd24ubWVudS5lYmctY29sb3VyLWhvdmVyIGxpW3N0eWxlKj1cIi0tZWJnXCJdOmhvdmVyLCAuZHJvcGRvd24ubWVudS5lYmctY29sb3VyLWhvdmVyIGxpW3N0eWxlKj1cIi0tZWJnXCJdW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1lYmctYmFja2dyb3VuZC1jb2xvdXIsICMwNjA1MmYpOyB9XG4gICAgLm1lbnUuZWJnLWNvbG91ci1ob3ZlciBsaVtzdHlsZSo9XCItLWViZ1wiXTpob3ZlciA+IGE6Zmlyc3QtY2hpbGQsIC5tZW51LmViZy1jb2xvdXItaG92ZXIgbGlbc3R5bGUqPVwiLS1lYmdcIl1bYXJpYS1leHBhbmRlZD1cInRydWVcIl0gPiBhOmZpcnN0LWNoaWxkLCAuZHJvcGRvd24ubWVudS5lYmctY29sb3VyLWhvdmVyIGxpW3N0eWxlKj1cIi0tZWJnXCJdOmhvdmVyID4gYTpmaXJzdC1jaGlsZCwgLmRyb3Bkb3duLm1lbnUuZWJnLWNvbG91ci1ob3ZlciBsaVtzdHlsZSo9XCItLWViZ1wiXVthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXSA+IGE6Zmlyc3QtY2hpbGQge1xuICAgICAgY29sb3I6IHZhcigtLWViZy1mb3JlZ3JvdW5kLWNvbG91ciwgIzA2MDUyZik7IH1cbiAgICAgIC5tZW51LmViZy1jb2xvdXItaG92ZXIgbGlbc3R5bGUqPVwiLS1lYmdcIl06aG92ZXIgPiBhOmZpcnN0LWNoaWxkOmJlZm9yZSwgLm1lbnUuZWJnLWNvbG91ci1ob3ZlciBsaVtzdHlsZSo9XCItLWViZ1wiXTpob3ZlciA+IGE6Zmlyc3QtY2hpbGQ6YWZ0ZXIsIC5tZW51LmViZy1jb2xvdXItaG92ZXIgbGlbc3R5bGUqPVwiLS1lYmdcIl1bYXJpYS1leHBhbmRlZD1cInRydWVcIl0gPiBhOmZpcnN0LWNoaWxkOmJlZm9yZSwgLm1lbnUuZWJnLWNvbG91ci1ob3ZlciBsaVtzdHlsZSo9XCItLWViZ1wiXVthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXSA+IGE6Zmlyc3QtY2hpbGQ6YWZ0ZXIsIC5kcm9wZG93bi5tZW51LmViZy1jb2xvdXItaG92ZXIgbGlbc3R5bGUqPVwiLS1lYmdcIl06aG92ZXIgPiBhOmZpcnN0LWNoaWxkOmJlZm9yZSwgLmRyb3Bkb3duLm1lbnUuZWJnLWNvbG91ci1ob3ZlciBsaVtzdHlsZSo9XCItLWViZ1wiXTpob3ZlciA+IGE6Zmlyc3QtY2hpbGQ6YWZ0ZXIsIC5kcm9wZG93bi5tZW51LmViZy1jb2xvdXItaG92ZXIgbGlbc3R5bGUqPVwiLS1lYmdcIl1bYXJpYS1leHBhbmRlZD1cInRydWVcIl0gPiBhOmZpcnN0LWNoaWxkOmJlZm9yZSwgLmRyb3Bkb3duLm1lbnUuZWJnLWNvbG91ci1ob3ZlciBsaVtzdHlsZSo9XCItLWViZ1wiXVthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXSA+IGE6Zmlyc3QtY2hpbGQ6YWZ0ZXIge1xuICAgICAgICBjb2xvcjogdmFyKC0tZWJnLWZvcmVncm91bmQtY29sb3VyLCAjMDYwNTJmKTsgfVxuICAubWVudS5lYmctY29sb3VyLWhvdmVyIGxpW3N0eWxlKj1cIi0tZWJnXCJdIGxpOm5vdChbc3R5bGUqPVwiLS1lYmdcIl0pOmhvdmVyLCAubWVudS5lYmctY29sb3VyLWhvdmVyIGxpW3N0eWxlKj1cIi0tZWJnXCJdIGxpOm5vdChbc3R5bGUqPVwiLS1lYmdcIl0pW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdLCAuZHJvcGRvd24ubWVudS5lYmctY29sb3VyLWhvdmVyIGxpW3N0eWxlKj1cIi0tZWJnXCJdIGxpOm5vdChbc3R5bGUqPVwiLS1lYmdcIl0pOmhvdmVyLCAuZHJvcGRvd24ubWVudS5lYmctY29sb3VyLWhvdmVyIGxpW3N0eWxlKj1cIi0tZWJnXCJdIGxpOm5vdChbc3R5bGUqPVwiLS1lYmdcIl0pW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1lYmctYmFja2dyb3VuZC1jb2xvdXIsICMwNjA1MmYpOyB9XG4gICAgLm1lbnUuZWJnLWNvbG91ci1ob3ZlciBsaVtzdHlsZSo9XCItLWViZ1wiXSBsaTpub3QoW3N0eWxlKj1cIi0tZWJnXCJdKTpob3ZlciA+IGE6Zmlyc3QtY2hpbGQsIC5tZW51LmViZy1jb2xvdXItaG92ZXIgbGlbc3R5bGUqPVwiLS1lYmdcIl0gbGk6bm90KFtzdHlsZSo9XCItLWViZ1wiXSlbYXJpYS1leHBhbmRlZD1cInRydWVcIl0gPiBhOmZpcnN0LWNoaWxkLCAuZHJvcGRvd24ubWVudS5lYmctY29sb3VyLWhvdmVyIGxpW3N0eWxlKj1cIi0tZWJnXCJdIGxpOm5vdChbc3R5bGUqPVwiLS1lYmdcIl0pOmhvdmVyID4gYTpmaXJzdC1jaGlsZCwgLmRyb3Bkb3duLm1lbnUuZWJnLWNvbG91ci1ob3ZlciBsaVtzdHlsZSo9XCItLWViZ1wiXSBsaTpub3QoW3N0eWxlKj1cIi0tZWJnXCJdKVthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXSA+IGE6Zmlyc3QtY2hpbGQge1xuICAgICAgY29sb3I6IHZhcigtLWViZy1mb3JlZ3JvdW5kLWNvbG91ciwgIzA2MDUyZik7IH1cbiAgICAgIC5tZW51LmViZy1jb2xvdXItaG92ZXIgbGlbc3R5bGUqPVwiLS1lYmdcIl0gbGk6bm90KFtzdHlsZSo9XCItLWViZ1wiXSk6aG92ZXIgPiBhOmZpcnN0LWNoaWxkOmJlZm9yZSwgLm1lbnUuZWJnLWNvbG91ci1ob3ZlciBsaVtzdHlsZSo9XCItLWViZ1wiXSBsaTpub3QoW3N0eWxlKj1cIi0tZWJnXCJdKTpob3ZlciA+IGE6Zmlyc3QtY2hpbGQ6YWZ0ZXIsIC5tZW51LmViZy1jb2xvdXItaG92ZXIgbGlbc3R5bGUqPVwiLS1lYmdcIl0gbGk6bm90KFtzdHlsZSo9XCItLWViZ1wiXSlbYXJpYS1leHBhbmRlZD1cInRydWVcIl0gPiBhOmZpcnN0LWNoaWxkOmJlZm9yZSwgLm1lbnUuZWJnLWNvbG91ci1ob3ZlciBsaVtzdHlsZSo9XCItLWViZ1wiXSBsaTpub3QoW3N0eWxlKj1cIi0tZWJnXCJdKVthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXSA+IGE6Zmlyc3QtY2hpbGQ6YWZ0ZXIsIC5kcm9wZG93bi5tZW51LmViZy1jb2xvdXItaG92ZXIgbGlbc3R5bGUqPVwiLS1lYmdcIl0gbGk6bm90KFtzdHlsZSo9XCItLWViZ1wiXSk6aG92ZXIgPiBhOmZpcnN0LWNoaWxkOmJlZm9yZSwgLmRyb3Bkb3duLm1lbnUuZWJnLWNvbG91ci1ob3ZlciBsaVtzdHlsZSo9XCItLWViZ1wiXSBsaTpub3QoW3N0eWxlKj1cIi0tZWJnXCJdKTpob3ZlciA+IGE6Zmlyc3QtY2hpbGQ6YWZ0ZXIsIC5kcm9wZG93bi5tZW51LmViZy1jb2xvdXItaG92ZXIgbGlbc3R5bGUqPVwiLS1lYmdcIl0gbGk6bm90KFtzdHlsZSo9XCItLWViZ1wiXSlbYXJpYS1leHBhbmRlZD1cInRydWVcIl0gPiBhOmZpcnN0LWNoaWxkOmJlZm9yZSwgLmRyb3Bkb3duLm1lbnUuZWJnLWNvbG91ci1ob3ZlciBsaVtzdHlsZSo9XCItLWViZ1wiXSBsaTpub3QoW3N0eWxlKj1cIi0tZWJnXCJdKVthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXSA+IGE6Zmlyc3QtY2hpbGQ6YWZ0ZXIge1xuICAgICAgICBjb2xvcjogdmFyKC0tZWJnLWZvcmVncm91bmQtY29sb3VyLCAjMDYwNTJmKTsgfVxuICAubWVudSBsaSwgLmRyb3Bkb3duLm1lbnUgbGkge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgLm1lbnUgPiBsaSwgLmRyb3Bkb3duLm1lbnUgPiBsaSB7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm1lbnUgPiBsaSwgLmRyb3Bkb3duLm1lbnUgPiBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH0gfVxuICAgIC5tZW51ID4gbGkgYSwgLmRyb3Bkb3duLm1lbnUgPiBsaSBhIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7IH1cbiAgICAubWVudSA+IGxpOmhvdmVyLCAuZHJvcGRvd24ubWVudSA+IGxpOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwNjA1MmY7IH1cbiAgICAgIC5tZW51ID4gbGk6aG92ZXIgPiBhLCAuZHJvcGRvd24ubWVudSA+IGxpOmhvdmVyID4gYSB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgLm1lbnUgPiBsaSA+IGEuaGFzLWxpbmstaW1hZ2UsIC5tZW51ID4gbGkgPiBwLmhhcy1saW5rLWltYWdlLCAuZHJvcGRvd24ubWVudSA+IGxpID4gYS5oYXMtbGluay1pbWFnZSwgLmRyb3Bkb3duLm1lbnUgPiBsaSA+IHAuaGFzLWxpbmstaW1hZ2Uge1xuICAgICAgZGlzcGxheTogZmxleDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAubWVudSA+IGxpID4gYS5oYXMtbGluay1pbWFnZSwgLm1lbnUgPiBsaSA+IHAuaGFzLWxpbmstaW1hZ2UsIC5kcm9wZG93bi5tZW51ID4gbGkgPiBhLmhhcy1saW5rLWltYWdlLCAuZHJvcGRvd24ubWVudSA+IGxpID4gcC5oYXMtbGluay1pbWFnZSB7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogNnB4O1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA2cHg7IH0gfVxuICAgICAgLm1lbnUgPiBsaSA+IGEuaGFzLWxpbmstaW1hZ2UgLmxpbmstaW1hZ2UsIC5tZW51ID4gbGkgPiBwLmhhcy1saW5rLWltYWdlIC5saW5rLWltYWdlLCAuZHJvcGRvd24ubWVudSA+IGxpID4gYS5oYXMtbGluay1pbWFnZSAubGluay1pbWFnZSwgLmRyb3Bkb3duLm1lbnUgPiBsaSA+IHAuaGFzLWxpbmstaW1hZ2UgLmxpbmstaW1hZ2Uge1xuICAgICAgICB3aWR0aDogMzVweDtcbiAgICAgICAgaGVpZ2h0OiAzNXB4O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZzogMCAxMHB4IDAgMDsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgLm1lbnUgPiBsaSA+IGEuaGFzLWxpbmstaW1hZ2UgLmxpbmstaW1hZ2UsIC5tZW51ID4gbGkgPiBwLmhhcy1saW5rLWltYWdlIC5saW5rLWltYWdlLCAuZHJvcGRvd24ubWVudSA+IGxpID4gYS5oYXMtbGluay1pbWFnZSAubGluay1pbWFnZSwgLmRyb3Bkb3duLm1lbnUgPiBsaSA+IHAuaGFzLWxpbmstaW1hZ2UgLmxpbmstaW1hZ2Uge1xuICAgICAgICAgICAgd2lkdGg6IDQ1cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgICAgICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAgIC5tZW51ID4gbGkgPiBhLmhhcy1saW5rLWltYWdlIC5saW5rLWltYWdlICsgLmxpbmstZGVzY3JpcHRpb24sIC5tZW51ID4gbGkgPiBwLmhhcy1saW5rLWltYWdlIC5saW5rLWltYWdlICsgLmxpbmstZGVzY3JpcHRpb24sIC5kcm9wZG93bi5tZW51ID4gbGkgPiBhLmhhcy1saW5rLWltYWdlIC5saW5rLWltYWdlICsgLmxpbmstZGVzY3JpcHRpb24sIC5kcm9wZG93bi5tZW51ID4gbGkgPiBwLmhhcy1saW5rLWltYWdlIC5saW5rLWltYWdlICsgLmxpbmstZGVzY3JpcHRpb24ge1xuICAgICAgICAgICAgcGFkZGluZzogMTBweCAwIDA7IH0gfVxuICAgIC5tZW51ID4gbGkgPiBhLCAuZHJvcGRvd24ubWVudSA+IGxpID4gYSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNjsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAubWVudSA+IGxpID4gYSwgLmRyb3Bkb3duLm1lbnUgPiBsaSA+IGEge1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfSB9XG4gICAgLm1lbnUgPiBsaSA+IHVsLCAuZHJvcGRvd24ubWVudSA+IGxpID4gdWwge1xuICAgICAgcGFkZGluZzogMCAwIDEwcHg7XG4gICAgICBib3JkZXItY29sb3I6IHZhcigtLWViZy1iYWNrZ3JvdW5kLWNvbG91ciwgIzA2MDUyZik7IH1cbiAgICAgIC5tZW51ID4gbGkgPiB1bDpub3QoLnN1Ym1lbnUpLCAuZHJvcGRvd24ubWVudSA+IGxpID4gdWw6bm90KC5zdWJtZW51KSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLm1lbnUgPiBsaSA+IHVsLCAuZHJvcGRvd24ubWVudSA+IGxpID4gdWwge1xuICAgICAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAubWVudSA+IGxpID4gdWwgbGkgdWwgbGkuaXMtc3VibWVudS1pdGVtLCAuZHJvcGRvd24ubWVudSA+IGxpID4gdWwgbGkgdWwgbGkuaXMtc3VibWVudS1pdGVtIHtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7IH0gfVxuICAgICAgLm1lbnUgPiBsaSA+IHVsID4gbGkgYSwgLm1lbnUgPiBsaSA+IHVsIC5pcy1hY3RpdmUgYSwgLmRyb3Bkb3duLm1lbnUgPiBsaSA+IHVsID4gbGkgYSwgLmRyb3Bkb3duLm1lbnUgPiBsaSA+IHVsIC5pcy1hY3RpdmUgYSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAubWVudSA+IGxpID4gdWwgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6YWZ0ZXIsIC5tZW51ID4gbGkgPiB1bCAuaXMtYWN0aXZlLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTphZnRlciwgLmRyb3Bkb3duLm1lbnUgPiBsaSA+IHVsID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOmFmdGVyLCAuZHJvcGRvd24ubWVudSA+IGxpID4gdWwgLmlzLWFjdGl2ZS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIu6ggVwiO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBtYXJnaW46IDAgMCAwIGF1dG87XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvLWRqbWlsZXNcIjtcbiAgICAgICAgZm9udC1zaXplOiA4cHg7IH1cbiAgLm1lbnUuZHJvcGRvd24gbGkgPiBhLCAuZHJvcGRvd24ubWVudS5kcm9wZG93biBsaSA+IGEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5tZW51LmRyb3Bkb3duID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQsIC5kcm9wZG93bi5tZW51LmRyb3Bkb3duID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cbiAgLm1lbnUuZHJvcGRvd24gPiBsaTpub3QoLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50KSwgLmRyb3Bkb3duLm1lbnUuZHJvcGRvd24gPiBsaTpub3QoLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50KSB7XG4gICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICAubWVudS5kcm9wZG93biA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50Om5vdCguc2l0ZS1zZXR0aW5nLW1lbnUpOmhvdmVyID4gYTphZnRlciwgLmRyb3Bkb3duLm1lbnUuZHJvcGRvd24gPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudDpub3QoLnNpdGUtc2V0dGluZy1tZW51KTpob3ZlciA+IGE6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwi7qCCXCI7XG4gICAgY29sb3I6ICM3Nzc3Nzc7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAubWVudS5kcm9wZG93biA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50Om5vdCguc2l0ZS1zZXR0aW5nLW1lbnUpID4gYTphZnRlciwgLmRyb3Bkb3duLm1lbnUuZHJvcGRvd24gPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudDpub3QoLnNpdGUtc2V0dGluZy1tZW51KSA+IGE6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwi7qCDXCI7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IGF1dG87XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luOiBhdXRvIDAgYXV0byA0cHg7XG4gICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG8tZGptaWxlc1wiO1xuICAgIGZvbnQtc2l6ZTogOHB4O1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgLm1lbnUub24tcGFnZS1tZW51LCAuZHJvcGRvd24ubWVudS5vbi1wYWdlLW1lbnUge1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlZWVlZWU7XG4gICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICAgIC5tZW51Lm9uLXBhZ2UtbWVudSA+IGxpLCAuZHJvcGRvd24ubWVudS5vbi1wYWdlLW1lbnUgPiBsaSB7XG4gICAgICBwb3NpdGlvbjogaW5pdGlhbDtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgICAgIC5tZW51Lm9uLXBhZ2UtbWVudSA+IGxpOmhvdmVyLCAuZHJvcGRvd24ubWVudS5vbi1wYWdlLW1lbnUgPiBsaTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjMDYwNTJmO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlZWVlOyB9XG4gICAgICAgIC5tZW51Lm9uLXBhZ2UtbWVudSA+IGxpOmhvdmVyID4gYSwgLmRyb3Bkb3duLm1lbnUub24tcGFnZS1tZW51ID4gbGk6aG92ZXIgPiBhIHtcbiAgICAgICAgICBjb2xvcjogIzA2MDUyZjsgfVxuICAgICAgLm1lbnUub24tcGFnZS1tZW51ID4gbGkgcCwgLmRyb3Bkb3duLm1lbnUub24tcGFnZS1tZW51ID4gbGkgcCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAzNXB4OyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAubWVudS5vbi1wYWdlLW1lbnUgPiBsaSBwLCAuZHJvcGRvd24ubWVudS5vbi1wYWdlLW1lbnUgPiBsaSBwIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA2MHB4OyB9IH1cbiAgICAgICAgLm1lbnUub24tcGFnZS1tZW51ID4gbGkgcCBpLCAuZHJvcGRvd24ubWVudS5vbi1wYWdlLW1lbnUgPiBsaSBwIGkge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4OyB9XG4gIC5tZW51IC5ob21lLWJ1dHRvbiwgLmRyb3Bkb3duLm1lbnUgLmhvbWUtYnV0dG9uIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5tZW51IC5ob21lLWJ1dHRvbiwgLmRyb3Bkb3duLm1lbnUgLmhvbWUtYnV0dG9uIHtcbiAgICAgICAgbWF4LXdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgICAubWVudSAuaG9tZS1idXR0b246aG92ZXIsIC5kcm9wZG93bi5tZW51IC5ob21lLWJ1dHRvbjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG4gICAgICAubWVudSAuaG9tZS1idXR0b246aG92ZXIgYTpiZWZvcmUsIC5kcm9wZG93bi5tZW51IC5ob21lLWJ1dHRvbjpob3ZlciBhOmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBjb2xvcjogIzc3Nzc3NztcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC44cywgYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG4gICAgLm1lbnUgLmhvbWUtYnV0dG9uOmFjdGl2ZSwgLmRyb3Bkb3duLm1lbnUgLmhvbWUtYnV0dG9uOmFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDYwNTJmOyB9XG4gICAgICAubWVudSAuaG9tZS1idXR0b246YWN0aXZlIGE6YmVmb3JlLCAuZHJvcGRvd24ubWVudSAuaG9tZS1idXR0b246YWN0aXZlIGE6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgLm1lbnUgLmhvbWUtYnV0dG9uIGEsIC5kcm9wZG93bi5tZW51IC5ob21lLWJ1dHRvbiBhIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgICAgLm1lbnUgLmhvbWUtYnV0dG9uIGE6YmVmb3JlLCAuZHJvcGRvd24ubWVudSAuaG9tZS1idXR0b24gYTpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIu+AlVwiO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnMsIHBhZGRpbmcgMC44czsgfVxuICAubWVudSAuYWNjb3VudC1tZW51LCAuZHJvcGRvd24ubWVudSAuYWNjb3VudC1tZW51IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICByaWdodDogMCAhaW1wb3J0YW50O1xuICAgIGxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAxMHB4IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAubWVudSAuYWNjb3VudC1tZW51LCAuZHJvcGRvd24ubWVudSAuYWNjb3VudC1tZW51IHtcbiAgICAgICAgbWF4LWhlaWdodDogNzB2aDtcbiAgICAgICAgd2lkdGg6IDU1MHB4O1xuICAgICAgICBwYWRkaW5nOiAyMHB4O1xuICAgICAgICBvdmVyZmxvdy15OiBhdXRvOyB9IH1cbiAgICAubWVudSAuYWNjb3VudC1tZW51IGxpLCAuZHJvcGRvd24ubWVudSAuYWNjb3VudC1tZW51IGxpIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgLm1lbnUgLmFjY291bnQtbWVudSBsaSA+IGEsIC5kcm9wZG93bi5tZW51IC5hY2NvdW50LW1lbnUgbGkgPiBhIHtcbiAgICAgICAgcGFkZGluZzogMTBweDsgfVxuICAgIC5tZW51IC5hY2NvdW50LW1lbnUgLmFjY291bnQtcGFnZSA+IGE6YmVmb3JlLCAuZHJvcGRvd24ubWVudSAuYWNjb3VudC1tZW51IC5hY2NvdW50LXBhZ2UgPiBhOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiB1bnNldDsgfVxuICAgIC5tZW51IC5hY2NvdW50LW1lbnUuanMtZHJvcGRvd24tYWN0aXZlLCAuZHJvcGRvd24ubWVudSAuYWNjb3VudC1tZW51LmpzLWRyb3Bkb3duLWFjdGl2ZSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgdG9wOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICByaWdodDogMDtcbiAgICAgIGxlZnQ6IGF1dG87IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLm1lbnUgLmFjY291bnQtbWVudS5qcy1kcm9wZG93bi1hY3RpdmUsIC5kcm9wZG93bi5tZW51IC5hY2NvdW50LW1lbnUuanMtZHJvcGRvd24tYWN0aXZlIHtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNTBweDtcbiAgICAgICAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpO1xuICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICMwNjA1MmY7XG4gICAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDAgNnB4IDA7XG4gICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDsgfSB9XG4gIC5tZW51IC5zaXRlLXNldHRpbmctbWVudSwgLmRyb3Bkb3duLm1lbnUgLnNpdGUtc2V0dGluZy1tZW51IHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWVlZWU7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnUsIC5kcm9wZG93bi5tZW51IC5zaXRlLXNldHRpbmctbWVudSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMTNweDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogNDVweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH0gfVxuICAgIC5tZW51IC5zaXRlLXNldHRpbmctbWVudTpob3ZlciwgLmRyb3Bkb3duLm1lbnUgLnNpdGUtc2V0dGluZy1tZW51OmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWVlZWU7IH1cbiAgICAgIC5tZW51IC5zaXRlLXNldHRpbmctbWVudTpob3ZlciA+IGEsIC5kcm9wZG93bi5tZW51IC5zaXRlLXNldHRpbmctbWVudTpob3ZlciA+IGEge1xuICAgICAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgIC5tZW51IC5zaXRlLXNldHRpbmctbWVudSA+IHVsLCAuZHJvcGRvd24ubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnUgPiB1bCB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIG1hcmdpbjogMCAyMHB4IDIwcHg7XG4gICAgICBib3JkZXItY29sb3I6ICNmZmZmZmY7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLm1lbnUgLnNpdGUtc2V0dGluZy1tZW51ID4gdWwsIC5kcm9wZG93bi5tZW51IC5zaXRlLXNldHRpbmctbWVudSA+IHVsIHtcbiAgICAgICAgICBtaW4td2lkdGg6IDE2MHB4O1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICBwYWRkaW5nOiAxMHB4IDQ1cHggMTBweCAyMnB4O1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzA2MDUyZjtcbiAgICAgICAgICBib3JkZXItd2lkdGg6IDAgMCA2cHggMDtcbiAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkOyB9XG4gICAgICAgICAgLm1lbnUgLnNpdGUtc2V0dGluZy1tZW51ID4gdWw6YWZ0ZXIsIC5kcm9wZG93bi5tZW51IC5zaXRlLXNldHRpbmctbWVudSA+IHVsOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgd2lkdGg6IDkwJTtcbiAgICAgICAgICAgIGhlaWdodDogMnB4O1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAycHg7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWVlZWU7IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnUgPiB1bCBhLCAuZHJvcGRvd24ubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnUgPiB1bCBhIHtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgcGFkZGluZzogMDsgfSB9XG4gICAgICAubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnUgPiB1bCBhIC5jdXJyZW5jeS1pY29uLCAuZHJvcGRvd24ubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnUgPiB1bCBhIC5jdXJyZW5jeS1pY29uIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI7IH1cbiAgICAubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnUgLmN1cnJlbmN5LWNvbnRhaW5lciwgLmRyb3Bkb3duLm1lbnUgLnNpdGUtc2V0dGluZy1tZW51IC5jdXJyZW5jeS1jb250YWluZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICAgIG1hcmdpbjogYXV0byAwOyB9XG4gICAgLm1lbnUgLnNpdGUtc2V0dGluZy1tZW51IC5zZWxlY3RlZC1vcHRpb24sIC5kcm9wZG93bi5tZW51IC5zaXRlLXNldHRpbmctbWVudSAuc2VsZWN0ZWQtb3B0aW9uIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnUgLnNlbGVjdGVkLW9wdGlvbjpiZWZvcmUsIC5kcm9wZG93bi5tZW51IC5zaXRlLXNldHRpbmctbWVudSAuc2VsZWN0ZWQtb3B0aW9uOmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogXCLuoINcIjtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgICBtYXJnaW46IGF1dG8gMTVweCBhdXRvIDA7XG4gICAgICAgICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG8tZGptaWxlc1wiO1xuICAgICAgICAgIGZvbnQtc2l6ZTogOHB4O1xuICAgICAgICAgIGNvbG9yOiAjYWVhZWFlO1xuICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgICAgICAgLm1lbnUgLnNpdGUtc2V0dGluZy1tZW51IC5zZWxlY3RlZC1vcHRpb246aG92ZXI6YmVmb3JlLCAuZHJvcGRvd24ubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnUgLnNlbGVjdGVkLW9wdGlvbjpob3ZlcjpiZWZvcmUge1xuICAgICAgICAgIGNvbG9yOiAjODg4ODg4OyB9IH1cbiAgICAgIC5tZW51IC5zaXRlLXNldHRpbmctbWVudSAuc2VsZWN0ZWQtb3B0aW9uOmFjdGl2ZSwgLmRyb3Bkb3duLm1lbnUgLnNpdGUtc2V0dGluZy1tZW51IC5zZWxlY3RlZC1vcHRpb246YWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAgIC5tZW51IC5zaXRlLXNldHRpbmctbWVudSAuc2VsZWN0ZWQtb3B0aW9uIC5jdXJyZW5jeS1pY29uLCAuZHJvcGRvd24ubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnUgLnNlbGVjdGVkLW9wdGlvbiAuY3VycmVuY3ktaWNvbiB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdG9wOiAtMXB4O1xuICAgICAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgICAgIC5tZW51IC5zaXRlLXNldHRpbmctbWVudSAuc2VsZWN0ZWQtb3B0aW9uIC5jdXJyZW5jeS1pY29uOmJlZm9yZSwgLmRyb3Bkb3duLm1lbnUgLnNpdGUtc2V0dGluZy1tZW51IC5zZWxlY3RlZC1vcHRpb24gLmN1cnJlbmN5LWljb246YmVmb3JlIHtcbiAgICAgICAgICBmb250LXNpemU6IDEycHg7IH1cbiAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgICAubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnUgLnNlbGVjdGVkLW9wdGlvbiAuY3VycmVuY3ktaWNvbjpiZWZvcmUsIC5kcm9wZG93bi5tZW51IC5zaXRlLXNldHRpbmctbWVudSAuc2VsZWN0ZWQtb3B0aW9uIC5jdXJyZW5jeS1pY29uOmJlZm9yZSB7XG4gICAgICAgICAgICAgIGNvbG9yOiAjMDYwNTJmOyB9IH1cbiAgICAgIC5tZW51IC5zaXRlLXNldHRpbmctbWVudSAuc2VsZWN0ZWQtb3B0aW9uIC5sYWJlbCwgLmRyb3Bkb3duLm1lbnUgLnNpdGUtc2V0dGluZy1tZW51IC5zZWxlY3RlZC1vcHRpb24gLmxhYmVsIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgbWFyZ2luOiAwIDAgMCA2cHg7IH1cbiAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAgICAgICAubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnUgLnNlbGVjdGVkLW9wdGlvbiAubGFiZWwsIC5kcm9wZG93bi5tZW51IC5zaXRlLXNldHRpbmctbWVudSAuc2VsZWN0ZWQtb3B0aW9uIC5sYWJlbCB7XG4gICAgICAgICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH0gfVxuICAgIC5tZW51IC5zaXRlLXNldHRpbmctbWVudSAuY3VycmVuY3ksIC5kcm9wZG93bi5tZW51IC5zaXRlLXNldHRpbmctbWVudSAuY3VycmVuY3kge1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuICAgICAgLm1lbnUgLnNpdGUtc2V0dGluZy1tZW51IC5jdXJyZW5jeS5kaXNhYmxlZCwgLmRyb3Bkb3duLm1lbnUgLnNpdGUtc2V0dGluZy1tZW51IC5jdXJyZW5jeS5kaXNhYmxlZCB7XG4gICAgICAgIG9wYWNpdHk6IC41O1xuICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgICAubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnUgLmN1cnJlbmN5IC5jdXJyZW5jeS1pY29uLCAuZHJvcGRvd24ubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnUgLmN1cnJlbmN5IC5jdXJyZW5jeS1pY29uIHtcbiAgICAgICAgZm9udC1zaXplOiAxM3B4OyB9XG4gICAgICAubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnUgLmN1cnJlbmN5IC5sYWJlbCwgLmRyb3Bkb3duLm1lbnUgLnNpdGUtc2V0dGluZy1tZW51IC5jdXJyZW5jeSAubGFiZWwge1xuICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgICAgICAgLm1lbnUgLnNpdGUtc2V0dGluZy1tZW51IC5jdXJyZW5jeSAubGFiZWw6aG92ZXIsIC5kcm9wZG93bi5tZW51IC5zaXRlLXNldHRpbmctbWVudSAuY3VycmVuY3kgLmxhYmVsOmhvdmVyIHtcbiAgICAgICAgICBjb2xvcjogI2FlOTQ2MTsgfVxuICAgICAgICAubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnUgLmN1cnJlbmN5IC5sYWJlbDphY3RpdmUsIC5kcm9wZG93bi5tZW51IC5zaXRlLXNldHRpbmctbWVudSAuY3VycmVuY3kgLmxhYmVsOmFjdGl2ZSB7XG4gICAgICAgICAgY29sb3I6ICMwNjA1MmY7IH1cbiAgICAubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnUgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50LCAuZHJvcGRvd24ubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnUgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IHtcbiAgICAgIHRvcDogY2FsYygxMDAlICsgNy41cHgpICFpbXBvcnRhbnQ7IH1cbiAgICAubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnUuaXMtYWN0aXZlID4gYTpob3ZlciAubGFiZWwsIC5kcm9wZG93bi5tZW51IC5zaXRlLXNldHRpbmctbWVudS5pcy1hY3RpdmUgPiBhOmhvdmVyIC5sYWJlbCB7XG4gICAgICBjb2xvcjogIzA2MDUyZjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5tZW51IC5zaXRlLXNldHRpbmctbWVudS5pcy1hY3RpdmUsIC5tZW51IC5zaXRlLXNldHRpbmctbWVudTpob3ZlciwgLmRyb3Bkb3duLm1lbnUgLnNpdGUtc2V0dGluZy1tZW51LmlzLWFjdGl2ZSwgLmRyb3Bkb3duLm1lbnUgLnNpdGUtc2V0dGluZy1tZW51OmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxuICAgICAgICAubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnUuaXMtYWN0aXZlIGEgLmN1cnJlbmN5LWljb246YmVmb3JlLCAubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnU6aG92ZXIgYSAuY3VycmVuY3ktaWNvbjpiZWZvcmUsIC5kcm9wZG93bi5tZW51IC5zaXRlLXNldHRpbmctbWVudS5pcy1hY3RpdmUgYSAuY3VycmVuY3ktaWNvbjpiZWZvcmUsIC5kcm9wZG93bi5tZW51IC5zaXRlLXNldHRpbmctbWVudTpob3ZlciBhIC5jdXJyZW5jeS1pY29uOmJlZm9yZSB7XG4gICAgICAgICAgY29sb3I6ICMwNjA1MmY7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5tZW51IC5zaXRlLXNldHRpbmctbWVudS5pcy1hY3RpdmUgPiBhOmJlZm9yZSwgLm1lbnUgLnNpdGUtc2V0dGluZy1tZW51OmhvdmVyID4gYTpiZWZvcmUsIC5kcm9wZG93bi5tZW51IC5zaXRlLXNldHRpbmctbWVudS5pcy1hY3RpdmUgPiBhOmJlZm9yZSwgLmRyb3Bkb3duLm1lbnUgLnNpdGUtc2V0dGluZy1tZW51OmhvdmVyID4gYTpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIu6gglwiO1xuICAgICAgICBjb2xvcjogIzg4ODg4ODsgfSB9XG5cbnVsLm1lbnUgbGkgYVtocmVmXj1cInRlbDpcIl06YmVmb3JlLCB1bC5tZW51IGxpIGFbaHJlZl49XCJtYWlsdG86XCJdOmJlZm9yZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luOiAwIDEwcHggMCAwO1xuICBwYWRkaW5nOiAxcHggNXB4O1xuICBjb2xvcjogI2FlOTQ2MTtcbiAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44cywgY29sb3IgMC44czsgfVxuXG51bC5tZW51IGxpIGFbaHJlZl49XCJ0ZWw6XCJdOmhvdmVyOmJlZm9yZSwgdWwubWVudSBsaSBhW2hyZWZePVwibWFpbHRvOlwiXTpob3ZlcjpiZWZvcmUge1xuICBjb2xvcjogIzA2MDUyZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzLCBjb2xvciAwLjZzOyB9XG5cbnVsLm1lbnUgbGkgYVtocmVmXj1cInRlbDpcIl06YWN0aXZlOmJlZm9yZSwgdWwubWVudSBsaSBhW2hyZWZePVwibWFpbHRvOlwiXTphY3RpdmU6YmVmb3JlIHtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICNhZTk0NjE7IH1cblxudWwubWVudSBsaSBhW2hyZWZePVwibWFpbHRvOlwiXTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+DoFwiO1xuICBmb250LXNpemU6IDE0cHg7IH1cblxudWwubWVudSBsaSBhW2hyZWZePVwidGVsOlwiXTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+huVwiO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICBsaW5lLWhlaWdodDogMjJweDtcbiAgZm9udC1zaXplOiAxNHB4OyB9XG5cbi5tZW51LXNjcm9sbC1jb250YWluZXIge1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBvdmVyZmxvdy14OiBoaWRkZW47IH1cblxuLnN1Ym1lbnUge1xuICBoZWlnaHQ6IGF1dG87XG4gIHotaW5kZXg6IDQwMDtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLnN1Ym1lbnUubGV2ZWwyIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA1MHB4O1xuICAgICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICMwNjA1MmY7XG4gICAgICBib3JkZXItd2lkdGg6IDAgMCA2cHggMDtcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7IH0gfVxuICAuc3VibWVudS5qcy1kcm9wZG93bi1hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5zdWJtZW51ID4gbGkuaXMtYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDYwNTJmOyB9XG4gICAgLnN1Ym1lbnUgPiBsaS5pcy1hY3RpdmUgPiBhIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG5cbi5pcy1kcm9wZG93bi1zdWJtZW51IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgbWFyZ2luLXRvcDogMDsgfVxuXG4ubWVudS1lZ2ItaW1hZ2UtY29udGFpbmVyIHtcbiAgZmxvYXQ6IHJpZ2h0OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAubWVudS1lZ2ItaW1hZ2UtY29udGFpbmVyIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiBmaXQtY29udGVudDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBtYXJnaW46IDAgMCAyMHB4O1xuICAgICAgZ3JpZC1yb3c6IDEgLyBzcGFuIGxhc3QtbGluZTsgfSB9XG4gIC5tZW51LWVnYi1pbWFnZS1jb250YWluZXIgLmltYWdlIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgd2lkdGg6IGZpdC1jb250ZW50OyB9XG4gICAgLm1lbnUtZWdiLWltYWdlLWNvbnRhaW5lciAuaW1hZ2UgaW1nIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjOGM4Yzg7XG4gICAgICBib3JkZXItcmFkaXVzOiAwOyB9XG5cbi5tZWdhLW1lbnUtY29udGFpbmVyIHtcbiAgLS1tZWdhLW1lbnUtZHJvcGRvd24tZ3V0dGVyOiAxNXB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAubWVnYS1tZW51LWNvbnRhaW5lciA+IHVsLm1lbnUge1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7IH1cbiAgICAgIC5tZWdhLW1lbnUtY29udGFpbmVyID4gdWwubWVudVtkYXRhLW1lZ2EtbWVudS1jb2x1bW4tY291bnQ9XCIxXCJdID4gbGkgPiB1bC5zdWJtZW51IHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMSwgY2FsYygoMTAwJSAtIDBweCkgLyAxKSk7IH1cbiAgICAgICAgLm1lZ2EtbWVudS1jb250YWluZXIgPiB1bC5tZW51W2RhdGEtbWVnYS1tZW51LWNvbHVtbi1jb3VudD1cIjFcIl0gPiBsaSA+IHVsLnN1Ym1lbnUgLm1lbnUtZWdiLWltYWdlLWNvbnRhaW5lciB7XG4gICAgICAgICAgZ3JpZC1jb2x1bW46IDE7IH1cbiAgICAgIC5tZWdhLW1lbnUtY29udGFpbmVyID4gdWwubWVudVtkYXRhLW1lZ2EtbWVudS1jb2x1bW4tY291bnQ9XCIyXCJdID4gbGkgPiB1bC5zdWJtZW51IHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgY2FsYygoMTAwJSAtIDE1cHgpIC8gMikpOyB9XG4gICAgICAgIC5tZWdhLW1lbnUtY29udGFpbmVyID4gdWwubWVudVtkYXRhLW1lZ2EtbWVudS1jb2x1bW4tY291bnQ9XCIyXCJdID4gbGkgPiB1bC5zdWJtZW51IC5tZW51LWVnYi1pbWFnZS1jb250YWluZXIge1xuICAgICAgICAgIGdyaWQtY29sdW1uOiAyOyB9XG4gICAgICAubWVnYS1tZW51LWNvbnRhaW5lciA+IHVsLm1lbnVbZGF0YS1tZWdhLW1lbnUtY29sdW1uLWNvdW50PVwiM1wiXSA+IGxpID4gdWwuc3VibWVudSB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIGNhbGMoKDEwMCUgLSAzMHB4KSAvIDMpKTsgfVxuICAgICAgICAubWVnYS1tZW51LWNvbnRhaW5lciA+IHVsLm1lbnVbZGF0YS1tZWdhLW1lbnUtY29sdW1uLWNvdW50PVwiM1wiXSA+IGxpID4gdWwuc3VibWVudSAubWVudS1lZ2ItaW1hZ2UtY29udGFpbmVyIHtcbiAgICAgICAgICBncmlkLWNvbHVtbjogMzsgfVxuICAgICAgLm1lZ2EtbWVudS1jb250YWluZXIgPiB1bC5tZW51W2RhdGEtbWVnYS1tZW51LWNvbHVtbi1jb3VudD1cIjRcIl0gPiBsaSA+IHVsLnN1Ym1lbnUge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LCBjYWxjKCgxMDAlIC0gNDVweCkgLyA0KSk7IH1cbiAgICAgICAgLm1lZ2EtbWVudS1jb250YWluZXIgPiB1bC5tZW51W2RhdGEtbWVnYS1tZW51LWNvbHVtbi1jb3VudD1cIjRcIl0gPiBsaSA+IHVsLnN1Ym1lbnUgLm1lbnUtZWdiLWltYWdlLWNvbnRhaW5lciB7XG4gICAgICAgICAgZ3JpZC1jb2x1bW46IDQ7IH1cbiAgICAgIC5tZWdhLW1lbnUtY29udGFpbmVyID4gdWwubWVudVtkYXRhLW1lZ2EtbWVudS1jb2x1bW4tY291bnQ9XCI1XCJdID4gbGkgPiB1bC5zdWJtZW51IHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNSwgY2FsYygoMTAwJSAtIDYwcHgpIC8gNSkpOyB9XG4gICAgICAgIC5tZWdhLW1lbnUtY29udGFpbmVyID4gdWwubWVudVtkYXRhLW1lZ2EtbWVudS1jb2x1bW4tY291bnQ9XCI1XCJdID4gbGkgPiB1bC5zdWJtZW51IC5tZW51LWVnYi1pbWFnZS1jb250YWluZXIge1xuICAgICAgICAgIGdyaWQtY29sdW1uOiA1OyB9XG4gICAgICAubWVnYS1tZW51LWNvbnRhaW5lciA+IHVsLm1lbnVbZGF0YS1tZWdhLW1lbnUtY29sdW1uLWNvdW50PVwiNlwiXSA+IGxpID4gdWwuc3VibWVudSB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDYsIGNhbGMoKDEwMCUgLSA3NXB4KSAvIDYpKTsgfVxuICAgICAgICAubWVnYS1tZW51LWNvbnRhaW5lciA+IHVsLm1lbnVbZGF0YS1tZWdhLW1lbnUtY29sdW1uLWNvdW50PVwiNlwiXSA+IGxpID4gdWwuc3VibWVudSAubWVudS1lZ2ItaW1hZ2UtY29udGFpbmVyIHtcbiAgICAgICAgICBncmlkLWNvbHVtbjogNjsgfVxuICAgICAgLm1lZ2EtbWVudS1jb250YWluZXIgPiB1bC5tZW51W2RhdGEtbWVnYS1tZW51LWNvbHVtbi1jb3VudD1cIjdcIl0gPiBsaSA+IHVsLnN1Ym1lbnUge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg3LCBjYWxjKCgxMDAlIC0gOTBweCkgLyA3KSk7IH1cbiAgICAgICAgLm1lZ2EtbWVudS1jb250YWluZXIgPiB1bC5tZW51W2RhdGEtbWVnYS1tZW51LWNvbHVtbi1jb3VudD1cIjdcIl0gPiBsaSA+IHVsLnN1Ym1lbnUgLm1lbnUtZWdiLWltYWdlLWNvbnRhaW5lciB7XG4gICAgICAgICAgZ3JpZC1jb2x1bW46IDc7IH1cbiAgICAgIC5tZWdhLW1lbnUtY29udGFpbmVyID4gdWwubWVudVtkYXRhLW1lZ2EtbWVudS1jb2x1bW4tY291bnQ9XCI4XCJdID4gbGkgPiB1bC5zdWJtZW51IHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoOCwgY2FsYygoMTAwJSAtIDEwNXB4KSAvIDgpKTsgfVxuICAgICAgICAubWVnYS1tZW51LWNvbnRhaW5lciA+IHVsLm1lbnVbZGF0YS1tZWdhLW1lbnUtY29sdW1uLWNvdW50PVwiOFwiXSA+IGxpID4gdWwuc3VibWVudSAubWVudS1lZ2ItaW1hZ2UtY29udGFpbmVyIHtcbiAgICAgICAgICBncmlkLWNvbHVtbjogODsgfSB9XG4gIC5tZWdhLW1lbnUtY29udGFpbmVyID4gdWwubWVudSA+IGxpIHtcbiAgICBwb3NpdGlvbjogc3RhdGljOyB9XG4gICAgLm1lZ2EtbWVudS1jb250YWluZXIgPiB1bC5tZW51ID4gbGk6aG92ZXIgPiAuc3VibWVudSB7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvO1xuICAgICAgZ2FwOiAyMHB4IDE1cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAubWVnYS1tZW51LWNvbnRhaW5lciA+IHVsLm1lbnUgPiBsaSA+IHVsLm92ZXJmbG93LXNjcm9sbCB7XG4gICAgICAgIG1heC1oZWlnaHQ6IDcwdmg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG4gICAgICAgIG92ZXJmbG93LXk6IHNjcm9sbDsgfSB9XG4gICAgLm1lZ2EtbWVudS1jb250YWluZXIgPiB1bC5tZW51ID4gbGkgPiB1bC5zdWJtZW51IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMTAwJTtcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgbGVmdDogMDtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XG4gICAgICAubWVnYS1tZW51LWNvbnRhaW5lciA+IHVsLm1lbnUgPiBsaSA+IHVsLnN1Ym1lbnUgPiBsaS5oYXMtY2xvbmVkLWdyb3Vwcy1wYXJlbnQgPiBhIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5tZWdhLW1lbnUtY29udGFpbmVyID4gdWwubWVudSA+IGxpID4gdWwuc3VibWVudS5qcy1kcm9wZG93bi1hY3RpdmUge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLWF1dG8tZmxvdzogZGVuc2U7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogYXV0bztcbiAgICAgICAgZ2FwOiAyMHB4IDE1cHg7IH0gfVxuICAgIC5tZWdhLW1lbnUtY29udGFpbmVyID4gdWwubWVudSA+IGxpID4gdWwgPiBsaSB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gICAgICAubWVnYS1tZW51LWNvbnRhaW5lciA+IHVsLm1lbnUgPiBsaSA+IHVsID4gbGkgPiBhIHtcbiAgICAgICAgZGlzcGxheTogZmxleDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5tZWdhLW1lbnUtY29udGFpbmVyID4gdWwubWVudSA+IGxpID4gdWwgPiBsaSBhOmJlZm9yZSwgLm1lZ2EtbWVudS1jb250YWluZXIgPiB1bC5tZW51ID4gbGkgPiB1bCAuaXMtYWN0aXZlIGE6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCLuoIFcIjtcbiAgICAgICAgaGVpZ2h0OiA4cHg7XG4gICAgICAgIG1hcmdpbjogYXV0byAwO1xuICAgICAgICBwYWRkaW5nOiAwIDEwcHggMCAwO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG8tZGptaWxlc1wiO1xuICAgICAgICBmb250LXNpemU6IDhweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDhweDtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLm1lZ2EtbWVudS1jb250YWluZXIgPiB1bC5tZW51ID4gbGkgPiB1bCA+IGxpIGE6YmVmb3JlLCAubWVnYS1tZW51LWNvbnRhaW5lciA+IHVsLm1lbnUgPiBsaSA+IHVsIC5pcy1hY3RpdmUgYTpiZWZvcmUge1xuICAgICAgcGFkZGluZzogMCAxMHB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAubWVnYS1tZW51LWNvbnRhaW5lciA+IHVsLm1lbnUgPiBsaSA+IHVsID4gbGkgYTpiZWZvcmUsIC5tZWdhLW1lbnUtY29udGFpbmVyID4gdWwubWVudSA+IGxpID4gdWwgLmlzLWFjdGl2ZSBhOmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDsgfSB9XG4gICAgLm1lZ2EtbWVudS1jb250YWluZXIgPiB1bC5tZW51ID4gbGkgPiB1bCBsaS5tZW51LWVnYi1pbWFnZS1jb250YWluZXIge1xuICAgICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICAubWVnYS1tZW51LWNvbnRhaW5lciAubWVudSAuaGFzLWNsb25lZC1ncm91cHMgYSB7XG4gICAgcGFkZGluZy10b3A6IDVweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNXB4OyB9XG4gIC5tZWdhLW1lbnUtY29udGFpbmVyIC5tZWdhbWVudS1jb2x1bW4tY2xvbmVkLXNwYW4ge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiByZXBlYXQodmFyKC0tbWVnYS1tZW51LWNvbHVtbi1jbG9uZWQtd3JhcCksIDFmcik7XG4gICAgZ3JpZC1hdXRvLWZsb3c6IGNvbHVtbjtcbiAgICBnYXA6IDAgMTVweDsgfVxuICAubWVnYS1tZW51LWNvbnRhaW5lciAuY2hpbGRmcmVlLXBhcmVudCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAubWVnYS1tZW51LWNvbnRhaW5lciAuY29sdW1uLXNwYW5uZWQgPiBhIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cbiAgLm1lZ2EtbWVudS1jb250YWluZXIgLmNsb25lZC10by1zZXBlcmF0ZS1yb3cge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLm1lZ2EtbWVudS1jb250YWluZXIgbGkuaXMtc3VibWVudS1wYXJlbnQuYWNjb3VudC1tZW51LWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLm1lZ2EtbWVudS1jb250YWluZXIgbGkuaXMtc3VibWVudS1wYXJlbnQuYWNjb3VudC1tZW51LWNvbnRhaW5lciB1bC5hY2NvdW50LW1lbnUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAxMDAlO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5tZWdhLW1lbnUtY29udGFpbmVyIGxpLmlzLXN1Ym1lbnUtcGFyZW50LmFjY291bnQtbWVudS1jb250YWluZXIgdWwuYWNjb3VudC1tZW51IHtcbiAgICAgICAgICB3aWR0aDogNTUwcHg7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm1lZ2EtbWVudS1jb250YWluZXIgbGkuaXMtc3VibWVudS1wYXJlbnQuYWNjb3VudC1tZW51LWNvbnRhaW5lcjpob3ZlciB1bC5hY2NvdW50LW1lbnUge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBwYWRkaW5nOiAyMHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5tZWdhLW1lbnUtY29udGFpbmVyIC5wZXJzaXN0ZW50LWViZy1pbWFnZXMgbGkgdWwuc3VibWVudSA+IGxpIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5tZWdhLW1lbnUtY29udGFpbmVyIC5wZXJzaXN0ZW50LWViZy1pbWFnZXMgbGkgdWwuc3VibWVudSA+IGxpID4gYSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLm1lZ2EtbWVudS1jb250YWluZXIgLnBlcnNpc3RlbnQtZWJnLWltYWdlcyBsaSB1bC5zdWJtZW51ID4gbGkgPiBhOmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5tZWdhLW1lbnUtY29udGFpbmVyIC5wZXJzaXN0ZW50LWViZy1pbWFnZXMgbGkgdWwuc3VibWVudSA+IGxpID4gdWwuc3VibWVudSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgLm1lZ2EtbWVudS1jb250YWluZXIgLnBlcnNpc3RlbnQtZWJnLWltYWdlcyBsaSB1bC5zdWJtZW51ID4gbGk6aG92ZXIgLmltYWdlIHtcbiAgICBvcGFjaXR5OiAuNjtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNnM7IH1cbiAgLm1lZ2EtbWVudS1jb250YWluZXIgLnBlcnNpc3RlbnQtZWJnLWltYWdlcyBsaSB1bC5zdWJtZW51ID4gbGkgLmltYWdlIHtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuOHM7IH1cbiAgLm1lZ2EtbWVudS1jb250YWluZXIgLnBlcnNpc3RlbnQtZWJnLWltYWdlcyAucGVyc2lzdGVudC1lYmctaW1hZ2Uge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBtYXJnaW46IDAgYXV0byAxMHB4OyB9XG4gICAgLm1lZ2EtbWVudS1jb250YWluZXIgLnBlcnNpc3RlbnQtZWJnLWltYWdlcyAucGVyc2lzdGVudC1lYmctaW1hZ2UgaW1nIHtcbiAgICAgIHdpZHRoOiAxNTBweDsgfVxuXG4ubWVnYS1tZW51LWNvbnRhaW5lciwgLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAubWVnYS1tZW51LWNvbnRhaW5lciwgLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciB7XG4gICAgICB3aWR0aDogYXV0bzsgfSB9XG4gIC5tZWdhLW1lbnUtY29udGFpbmVyIC5sZXZlbDIsIC5oZWFkZXItbWVudS1yaWdodC1jb250YWluZXIgLmxldmVsMiB7XG4gICAgbGVmdDogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5tZWdhLW1lbnUtY29udGFpbmVyIC5sZXZlbDIgbGkgYSwgLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciAubGV2ZWwyIGxpIGEge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1hcmdpbjogMDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm1lZ2EtbWVudS1jb250YWluZXIgLmxldmVsMiA+IGxpOmhvdmVyLCAuaGVhZGVyLW1lbnUtcmlnaHQtY29udGFpbmVyIC5sZXZlbDIgPiBsaTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgICAgIC5tZWdhLW1lbnUtY29udGFpbmVyIC5sZXZlbDIgPiBsaTpob3ZlciA+IGEsIC5oZWFkZXItbWVudS1yaWdodC1jb250YWluZXIgLmxldmVsMiA+IGxpOmhvdmVyID4gYSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5tZWdhLW1lbnUtY29udGFpbmVyIC5sZXZlbDIuanMtZHJvcGRvd24tYWN0aXZlLCAuaGVhZGVyLW1lbnUtcmlnaHQtY29udGFpbmVyIC5sZXZlbDIuanMtZHJvcGRvd24tYWN0aXZlIHtcbiAgICAgICAgdG9wOiAxMDAlOyB9IH1cbiAgLm1lZ2EtbWVudS1jb250YWluZXIgLmlzLWRyb3Bkb3duLXN1Ym1lbnUsIC5oZWFkZXItbWVudS1yaWdodC1jb250YWluZXIgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIG1pbi13aWR0aDogYXV0bzsgfVxuICAubWVnYS1tZW51LWNvbnRhaW5lciAuc3VibWVudSBsaS5pcy1hY3RpdmUsIC5oZWFkZXItbWVudS1yaWdodC1jb250YWluZXIgLnN1Ym1lbnUgbGkuaXMtYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAubWVnYS1tZW51LWNvbnRhaW5lciB1bC5tZW51ID4gbGk6bGFzdC1jaGlsZCwgLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciB1bC5tZW51ID4gbGk6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIC5tZWdhLW1lbnUtY29udGFpbmVyIHVsLm1lbnUgPiBsaTpob3ZlciwgLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciB1bC5tZW51ID4gbGk6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9XG4gICAgLm1lZ2EtbWVudS1jb250YWluZXIgdWwubWVudSA+IGxpOmhvdmVyID4gYSwgLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciB1bC5tZW51ID4gbGk6aG92ZXIgPiBhIHtcbiAgICAgIGNvbG9yOiAjNzc3Nzc3O1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42cyA7IH1cbiAgLm1lZ2EtbWVudS1jb250YWluZXIgdWwubWVudSA+IGxpOmFjdGl2ZSwgLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciB1bC5tZW51ID4gbGk6YWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDYwNTJmOyB9XG4gICAgLm1lZ2EtbWVudS1jb250YWluZXIgdWwubWVudSA+IGxpOmFjdGl2ZSA+IGEsIC5oZWFkZXItbWVudS1yaWdodC1jb250YWluZXIgdWwubWVudSA+IGxpOmFjdGl2ZSA+IGEge1xuICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLm1lZ2EtbWVudS1jb250YWluZXIgdWwubWVudSA+IGxpLmlzLXN1Ym1lbnUtcGFyZW50OmhvdmVyID4gYTphZnRlciwgLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciB1bC5tZW51ID4gbGkuaXMtc3VibWVudS1wYXJlbnQ6aG92ZXIgPiBhOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIu6gglwiO1xuICAgIGNvbG9yOiAjNzc3Nzc3O1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgLm1lZ2EtbWVudS1jb250YWluZXIgdWwubWVudSA+IGxpLmlzLXN1Ym1lbnUtcGFyZW50ID4gYTphZnRlciwgLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciB1bC5tZW51ID4gbGkuaXMtc3VibWVudS1wYXJlbnQgPiBhOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIu6gg1wiO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiBhdXRvO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbjogYXV0byAwIGF1dG8gNHB4O1xuICAgIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvLWRqbWlsZXNcIjtcbiAgICBmb250LXNpemU6IDhweDtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gIC5tZWdhLW1lbnUtY29udGFpbmVyIHVsLm1lbnUgPiBsaSA+IGEsIC5oZWFkZXItbWVudS1yaWdodC1jb250YWluZXIgdWwubWVudSA+IGxpID4gYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IDE1cHggMCAxNXB4IDEwcHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm1lZ2EtbWVudS1jb250YWluZXIgdWwubWVudSA+IGxpID4gYSwgLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiBhIHtcbiAgICAgICAgcGFkZGluZzogMTJweCAxNXB4O1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cbiAgLm1lZ2EtbWVudS1jb250YWluZXIgdWwubWVudSA+IGxpIGEsIC5oZWFkZXItbWVudS1yaWdodC1jb250YWluZXIgdWwubWVudSA+IGxpIGEge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAubWVnYS1tZW51LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgYTpob3ZlciwgLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgYTpob3ZlciB7XG4gICAgICBvcGFjaXR5OiAxOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAubWVnYS1tZW51LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCwgLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCB7XG4gICAgICB3aWR0aDogMTMwMHB4O1xuICAgICAgcGFkZGluZzogNDBweCA0N3B4O1xuICAgICAgei1pbmRleDogNTAwMDtcbiAgICAgIGJveC1zaGFkb3c6IDBweCAyMHB4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7IH0gfVxuICAubWVnYS1tZW51LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCA+IGxpLCAuaGVhZGVyLW1lbnUtcmlnaHQtY29udGFpbmVyIHVsLm1lbnUgPiBsaSA+IHVsID4gbGkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW46IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAubWVnYS1tZW51LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCA+IGxpLCAuaGVhZGVyLW1lbnUtcmlnaHQtY29udGFpbmVyIHVsLm1lbnUgPiBsaSA+IHVsID4gbGkge1xuICAgICAgICBtYXJnaW46IDA7IH0gfVxuICAgIC5tZWdhLW1lbnUtY29udGFpbmVyIHVsLm1lbnUgPiBsaSA+IHVsID4gbGkgPiBhOmhvdmVyLCAuaGVhZGVyLW1lbnUtcmlnaHQtY29udGFpbmVyIHVsLm1lbnUgPiBsaSA+IHVsID4gbGkgPiBhOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjYWU5NDYxOyB9XG4gICAgLm1lZ2EtbWVudS1jb250YWluZXIgdWwubWVudSA+IGxpID4gdWwgPiBsaSA+IGE6YWN0aXZlLCAuaGVhZGVyLW1lbnUtcmlnaHQtY29udGFpbmVyIHVsLm1lbnUgPiBsaSA+IHVsID4gbGkgPiBhOmFjdGl2ZSB7XG4gICAgICBjb2xvcjogIzA2MDUyZjsgfVxuICAgIC5tZWdhLW1lbnUtY29udGFpbmVyIHVsLm1lbnUgPiBsaSA+IHVsID4gbGkgPiBhLCAuaGVhZGVyLW1lbnUtcmlnaHQtY29udGFpbmVyIHVsLm1lbnUgPiBsaSA+IHVsID4gbGkgPiBhIHtcbiAgICAgIGNvbG9yOiAjMDYwNTJmO1xuICAgICAgZm9udC1zaXplOiAxLjA2MjVyZW07XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLm1lZ2EtbWVudS1jb250YWluZXIgdWwubWVudSA+IGxpID4gdWwgPiBsaSA+IGEsIC5oZWFkZXItbWVudS1yaWdodC1jb250YWluZXIgdWwubWVudSA+IGxpID4gdWwgPiBsaSA+IGEge1xuICAgICAgICAgIHBhZGRpbmc6IDEwcHggMCA1cHggNXB4O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLm1lZ2EtbWVudS1jb250YWluZXIgdWwubWVudSA+IGxpID4gdWwgdWwsIC5oZWFkZXItbWVudS1yaWdodC1jb250YWluZXIgdWwubWVudSA+IGxpID4gdWwgdWwge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgYm9yZGVyOiAwOyB9IH1cbiAgLm1lZ2EtbWVudS1jb250YWluZXIgdWwubWVudSA+IGxpID4gdWwgdWwuY2hpbGRmcmVlLXBhcmVudHMtbWVudSA+IGxpID4gYSwgLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCB1bC5jaGlsZGZyZWUtcGFyZW50cy1tZW51ID4gbGkgPiBhIHtcbiAgICBjb2xvcjogIzA2MDUyZjtcbiAgICBmb250LXNpemU6IDEuMDYyNXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5tZWdhLW1lbnUtY29udGFpbmVyIHVsLm1lbnUgPiBsaSA+IHVsIHVsLmNoaWxkZnJlZS1wYXJlbnRzLW1lbnUgPiBsaSA+IGEsIC5oZWFkZXItbWVudS1yaWdodC1jb250YWluZXIgdWwubWVudSA+IGxpID4gdWwgdWwuY2hpbGRmcmVlLXBhcmVudHMtbWVudSA+IGxpID4gYSB7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMCA1cHggNXB4O1xuICAgICAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfSB9XG4gIC5tZWdhLW1lbnUtY29udGFpbmVyIHVsLm1lbnUgPiBsaSA+IHVsIHVsIGxpLCAubWVnYS1tZW51LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCB1bCBsaS5pcy1kcm9wZG93bi1zdWJtZW51LWl0ZW0sIC5oZWFkZXItbWVudS1yaWdodC1jb250YWluZXIgdWwubWVudSA+IGxpID4gdWwgdWwgbGksIC5oZWFkZXItbWVudS1yaWdodC1jb250YWluZXIgdWwubWVudSA+IGxpID4gdWwgdWwgbGkuaXMtZHJvcGRvd24tc3VibWVudS1pdGVtIHtcbiAgICBwYWRkaW5nOiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm1lZ2EtbWVudS1jb250YWluZXIgdWwubWVudSA+IGxpID4gdWwgdWwgbGksIC5tZWdhLW1lbnUtY29udGFpbmVyIHVsLm1lbnUgPiBsaSA+IHVsIHVsIGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtaXRlbSwgLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCB1bCBsaSwgLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCB1bCBsaS5pcy1kcm9wZG93bi1zdWJtZW51LWl0ZW0ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAubWVnYS1tZW51LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCB1bCBsaTpsYXN0LWNoaWxkLCAubWVnYS1tZW51LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCB1bCBsaS5pcy1kcm9wZG93bi1zdWJtZW51LWl0ZW06bGFzdC1jaGlsZCwgLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCB1bCBsaTpsYXN0LWNoaWxkLCAuaGVhZGVyLW1lbnUtcmlnaHQtY29udGFpbmVyIHVsLm1lbnUgPiBsaSA+IHVsIHVsIGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtaXRlbTpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfSB9XG4gICAgLm1lZ2EtbWVudS1jb250YWluZXIgdWwubWVudSA+IGxpID4gdWwgdWwgbGkgPiBhLCAubWVnYS1tZW51LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCB1bCBsaS5pcy1kcm9wZG93bi1zdWJtZW51LWl0ZW0gPiBhLCAuaGVhZGVyLW1lbnUtcmlnaHQtY29udGFpbmVyIHVsLm1lbnUgPiBsaSA+IHVsIHVsIGxpID4gYSwgLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCB1bCBsaS5pcy1kcm9wZG93bi1zdWJtZW51LWl0ZW0gPiBhIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLm1lZ2EtbWVudS1jb250YWluZXIgdWwubWVudSA+IGxpID4gdWwgdWwgbGkgPiBhLCAubWVnYS1tZW51LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCB1bCBsaS5pcy1kcm9wZG93bi1zdWJtZW51LWl0ZW0gPiBhLCAuaGVhZGVyLW1lbnUtcmlnaHQtY29udGFpbmVyIHVsLm1lbnUgPiBsaSA+IHVsIHVsIGxpID4gYSwgLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCB1bCBsaS5pcy1kcm9wZG93bi1zdWJtZW51LWl0ZW0gPiBhIHtcbiAgICAgICAgICBjb2xvcjogIzc3Nzc3NztcbiAgICAgICAgICBwYWRkaW5nOiAwIDAgMCA1cHg7XG4gICAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxOHB4OyB9IH1cbiAgICAgIC5tZWdhLW1lbnUtY29udGFpbmVyIHVsLm1lbnUgPiBsaSA+IHVsIHVsIGxpID4gYTpob3ZlciwgLm1lZ2EtbWVudS1jb250YWluZXIgdWwubWVudSA+IGxpID4gdWwgdWwgbGkgPiBhOmhvdmVyOmJlZm9yZSwgLm1lZ2EtbWVudS1jb250YWluZXIgdWwubWVudSA+IGxpID4gdWwgdWwgbGkuaXMtZHJvcGRvd24tc3VibWVudS1pdGVtID4gYTpob3ZlciwgLm1lZ2EtbWVudS1jb250YWluZXIgdWwubWVudSA+IGxpID4gdWwgdWwgbGkuaXMtZHJvcGRvd24tc3VibWVudS1pdGVtID4gYTpob3ZlcjpiZWZvcmUsIC5oZWFkZXItbWVudS1yaWdodC1jb250YWluZXIgdWwubWVudSA+IGxpID4gdWwgdWwgbGkgPiBhOmhvdmVyLCAuaGVhZGVyLW1lbnUtcmlnaHQtY29udGFpbmVyIHVsLm1lbnUgPiBsaSA+IHVsIHVsIGxpID4gYTpob3ZlcjpiZWZvcmUsIC5oZWFkZXItbWVudS1yaWdodC1jb250YWluZXIgdWwubWVudSA+IGxpID4gdWwgdWwgbGkuaXMtZHJvcGRvd24tc3VibWVudS1pdGVtID4gYTpob3ZlciwgLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCB1bCBsaS5pcy1kcm9wZG93bi1zdWJtZW51LWl0ZW0gPiBhOmhvdmVyOmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjYWU5NDYxOyB9XG4gICAgICAubWVnYS1tZW51LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCB1bCBsaSA+IGE6YWN0aXZlLCAubWVnYS1tZW51LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCB1bCBsaSA+IGE6YWN0aXZlOmJlZm9yZSwgLm1lZ2EtbWVudS1jb250YWluZXIgdWwubWVudSA+IGxpID4gdWwgdWwgbGkuaXMtZHJvcGRvd24tc3VibWVudS1pdGVtID4gYTphY3RpdmUsIC5tZWdhLW1lbnUtY29udGFpbmVyIHVsLm1lbnUgPiBsaSA+IHVsIHVsIGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtaXRlbSA+IGE6YWN0aXZlOmJlZm9yZSwgLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCB1bCBsaSA+IGE6YWN0aXZlLCAuaGVhZGVyLW1lbnUtcmlnaHQtY29udGFpbmVyIHVsLm1lbnUgPiBsaSA+IHVsIHVsIGxpID4gYTphY3RpdmU6YmVmb3JlLCAuaGVhZGVyLW1lbnUtcmlnaHQtY29udGFpbmVyIHVsLm1lbnUgPiBsaSA+IHVsIHVsIGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtaXRlbSA+IGE6YWN0aXZlLCAuaGVhZGVyLW1lbnUtcmlnaHQtY29udGFpbmVyIHVsLm1lbnUgPiBsaSA+IHVsIHVsIGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtaXRlbSA+IGE6YWN0aXZlOmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjMDYwNTJmOyB9XG4gICAgLm1lZ2EtbWVudS1jb250YWluZXIgdWwubWVudSA+IGxpID4gdWwgdWwgbGkgLm1lZ2EtbWVudS12aWV3LW1vcmUsIC5tZWdhLW1lbnUtY29udGFpbmVyIHVsLm1lbnUgPiBsaSA+IHVsIHVsIGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtaXRlbSAubWVnYS1tZW51LXZpZXctbW9yZSwgLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCB1bCBsaSAubWVnYS1tZW51LXZpZXctbW9yZSwgLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCB1bCBsaS5pcy1kcm9wZG93bi1zdWJtZW51LWl0ZW0gLm1lZ2EtbWVudS12aWV3LW1vcmUge1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICAgICAubWVnYS1tZW51LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCB1bCBsaSAubWVnYS1tZW51LXZpZXctbW9yZTpob3ZlciwgLm1lZ2EtbWVudS1jb250YWluZXIgdWwubWVudSA+IGxpID4gdWwgdWwgbGkuaXMtZHJvcGRvd24tc3VibWVudS1pdGVtIC5tZWdhLW1lbnUtdmlldy1tb3JlOmhvdmVyLCAuaGVhZGVyLW1lbnUtcmlnaHQtY29udGFpbmVyIHVsLm1lbnUgPiBsaSA+IHVsIHVsIGxpIC5tZWdhLW1lbnUtdmlldy1tb3JlOmhvdmVyLCAuaGVhZGVyLW1lbnUtcmlnaHQtY29udGFpbmVyIHVsLm1lbnUgPiBsaSA+IHVsIHVsIGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtaXRlbSAubWVnYS1tZW51LXZpZXctbW9yZTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjYWU5NDYxOyB9XG5cbi8qXHJcbi0tLS0tIFByb2R1Y3QgTGlzdCAtLS0tLVxyXG5IYW5kbGVzIHRoZSBmb2xsb3dpbmc6IFxyXG4tIFZhcmlvdXMgbGlzdCB2aWV3czpcclxuICAtIFRhYmxlXHJcbiAgLSBHcmlkXHJcbi0gQW55d2hlcmUgYSBwcm9kdWN0IGxpc3QgaXMgc2hvdyAoIHNlYXJjaCByZXN1bHRzLCBwcm9kdWN0IGJ5IGdyb3VwLCBhY2NvdW50IGFyZWEgcGFnZXMgKSB0aGlzIGNvZGUgd2lsbCBiZSB1c2VkLlxyXG4tIFRoaXMgZmlsZSBpcyBOT1QgZGVkaWNhdGVkIHRvIGZpbHRlcnMgY29uc3VsdCBmaWx0ZXIuc2NzcyBmb3IgdGhhdC5cclxuLSBBbGwgc29ydGluZyBvcHRpb25zICggaXRlbXMgcGVyIHBhZ2VzLCB2aWV3IHNlbGVjdGlvbiwgcGFnaW5hdGlvbiwgaXRlbXMgZm91bmQgJiBzb3J0IGJ5IClcclxuLSBObyByZXN1bHRzIGZvdW5kLlxyXG4qL1xuI2Jlc3Bva2Utc2VhcmNoLXJlc3VsdHMtY29udGFpbmVyIGgyIHtcbiAgbWFyZ2luOiAwIDAgMjVweDtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgY29sb3I6ICMwNjA1MmY7XG4gIHBhZGRpbmctYm90dG9tOiAxNXB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgI2Jlc3Bva2Utc2VhcmNoLXJlc3VsdHMtY29udGFpbmVyIGgyOmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IGF1dG87XG4gICAgYm9yZGVyLXdpZHRoOiAwIDAgMXB4IDA7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICNhZWFlYWU7IH1cbiAgICBAbWVkaWEgcHJpbnQge1xuICAgICAgI2Jlc3Bva2Utc2VhcmNoLXJlc3VsdHMtY29udGFpbmVyIGgyOmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjYWVhZWFlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfSB9XG5cbi5zZWFyY2gtcmVzdWx0cy1zdWdnZXN0aW9ucyB7XG4gIG1hcmdpbjogMCAwIDMwcHg7IH1cbiAgLnNlYXJjaC1yZXN1bHRzLXN1Z2dlc3Rpb25zIHVsIHtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lOyB9XG4gICAgLnNlYXJjaC1yZXN1bHRzLXN1Z2dlc3Rpb25zIHVsIHVsIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAgIC5zZWFyY2gtcmVzdWx0cy1zdWdnZXN0aW9ucyB1bCB1bCBsaSB7XG4gICAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgICBwYWRkaW5nOiAxMHB4IDA7IH1cbiAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICAgICAgICAuc2VhcmNoLXJlc3VsdHMtc3VnZ2VzdGlvbnMgdWwgdWwgbGk6bnRoLWNoaWxkKDJuKSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjNmM2YzOyB9IH1cbiAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgICAuc2VhcmNoLXJlc3VsdHMtc3VnZ2VzdGlvbnMgdWwgdWwgbGkge1xuICAgICAgICAgICAgZmxleDogMCAwIDMzLjMlOyB9XG4gICAgICAgICAgICAuc2VhcmNoLXJlc3VsdHMtc3VnZ2VzdGlvbnMgdWwgdWwgbGk6bnRoLWNoaWxkKDZuKzMpIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YzZjNmMzsgfVxuICAgICAgICAgICAgLnNlYXJjaC1yZXN1bHRzLXN1Z2dlc3Rpb25zIHVsIHVsIGxpOm50aC1jaGlsZCg2bisyKSB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmM2YzZjM7IH1cbiAgICAgICAgICAgIC5zZWFyY2gtcmVzdWx0cy1zdWdnZXN0aW9ucyB1bCB1bCBsaTpudGgtY2hpbGQoNm4rMSkge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjNmM2YzOyB9IH1cbiAgLnNlYXJjaC1yZXN1bHRzLXN1Z2dlc3Rpb25zIGEuc3VnZ2VzdGlvbiB7XG4gICAgcGFkZGluZzogMCAyMHB4O1xuICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgIGZvbnQtc2l6ZTogMS4wNjI1cmVtOyB9XG4gICAgLnNlYXJjaC1yZXN1bHRzLXN1Z2dlc3Rpb25zIGEuc3VnZ2VzdGlvbjpob3ZlciB7XG4gICAgICBjb2xvcjogIzA2MDUyZjtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIC5zZWFyY2gtcmVzdWx0cy1zdWdnZXN0aW9ucyAudGhpcmQtcGFydHktcmVzdWx0cy1jb250YWluZXIge1xuICAgIGdhcDogMDtcbiAgICBtYXJnaW46IDA7IH1cbiAgICAuc2VhcmNoLXJlc3VsdHMtc3VnZ2VzdGlvbnMgLnRoaXJkLXBhcnR5LXJlc3VsdHMtY29udGFpbmVyIC5kZXNjcmlwdGlvbi1jb250YWluZXIgcCB7XG4gICAgICBtYXJnaW46IDAgMCA1cHg7IH1cbiAgICAuc2VhcmNoLXJlc3VsdHMtc3VnZ2VzdGlvbnMgLnRoaXJkLXBhcnR5LXJlc3VsdHMtY29udGFpbmVyIC5kZXNjcmlwdGlvbi1jb250YWluZXIgcCwgLnNlYXJjaC1yZXN1bHRzLXN1Z2dlc3Rpb25zIC50aGlyZC1wYXJ0eS1yZXN1bHRzLWNvbnRhaW5lciAuc25pcHBldC1jb250YWluZXIgcCB7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gIC5zZWFyY2gtcmVzdWx0cy1zdWdnZXN0aW9ucyAucmVzdWx0LWNvbnRhaW5lciB7XG4gICAgcGFkZGluZzogMjBweDsgfVxuICAgIC5zZWFyY2gtcmVzdWx0cy1zdWdnZXN0aW9ucyAucmVzdWx0LWNvbnRhaW5lcjpudGgtY2hpbGQob2RkKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjNmM2YzOyB9XG5cbi5zZWN0aW9uLWRlc2NyaXB0aW9uIHtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDsgfVxuXG4uc2VjdGlvbi1oZWFkaW5nIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDAgMCAyMHB4O1xuICBwYWRkaW5nOiAxMHB4IDE1cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwNjA1MmY7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLnNlY3Rpb24taGVhZGluZyB7XG4gICAgICBwYWRkaW5nOiAxNXB4IDIwcHg7IH0gfVxuICAuc2VjdGlvbi1oZWFkaW5nIHAge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwOyB9XG5cbiNwcm9kdWN0LWxpc3QgI2dyb3VwRGF0YSB7XG4gIG1hcmdpbi1ib3R0b206IDUwcHg7IH1cblxuI3Byb2R1Y3RMaXN0SXRlbSAuZ3JpZC14IC5jZWxsIHtcbiAgZmxleDogMCAwIGF1dG87XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAwLjYyNXJlbSk7XG4gIG1hcmdpbi1sZWZ0OiAwLjMxMjVyZW07XG4gIG1hcmdpbi1yaWdodDogMC4zMTI1cmVtOyB9XG5cbi5saXN0aW5nLWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGZpdC1jb250ZW50O1xuICBwYWRkaW5nOiAxMHB4IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5saXN0aW5nLWNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nOiA3LjVweCAwOyB9IH1cblxuLmNvbnRlbnRDb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmNvbnRlbnRDb250YWluZXJbZGF0YS1jb250ZW50LXVwZGF0aW5nPXRydWVdIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuY29udGVudENvbnRhaW5lciB7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuY29udGVudENvbnRhaW5lciAjYXR0cmlidXRlLWZpbHRlcnMtZm9ybSB7XG4gICAgICBtYXgtd2lkdGg6IDI4MHB4O1xuICAgICAgcGFkZGluZzogMCAxJSAwIDA7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmNvbnRlbnRDb250YWluZXIgLmF0dHJpYnV0ZUxpc3Qge1xuICAgICAgd2lkdGg6IDE4MHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAuY29udGVudENvbnRhaW5lciAuYXR0cmlidXRlTGlzdCB7XG4gICAgICB3aWR0aDogMjQwcHg7IH0gfVxuICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcyB7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4OyB9XG4gICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMgLnN1Yi1oZWFkaW5nLWNvbnRhaW5lciBoMiB7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCB7XG4gICAgbWFyZ2luLXRvcDogMTVweDsgfVxuICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3Quc2VwZXJhdG9yIC5yb3dDb250YWluZXIge1xuICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7IH1cbiAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3Quc2VwZXJhdG9yIC5yb3dDb250YWluZXI6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkYWRhZGE7IH1cbiAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0Lm9kZEV2ZW4gPiBkaXZbY2xhc3MqPVwibGFyZ2UtXCJdOm50aC1jaGlsZChldmVuKSAucm93Q29udGFpbmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmM2YzZjM7IH1cbiAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3Qub2RkRXZlbiA+IGRpdltjbGFzcyo9XCJsYXJnZS1cIl06bnRoLWNoaWxkKGV2ZW4pIC5yb3dDb250YWluZXI6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XG4gICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdC5vZGRFdmVuIC5saXN0LWNhdGVnb3J5LWNvbnRhaW5lciA+IGRpdltjbGFzcyo9XCJsYXJnZS1cIl06bnRoLWNoaWxkKGV2ZW4pIC5yb3dDb250YWluZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YzZjNmMzsgfVxuICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdC5vZGRFdmVuIC5saXN0LWNhdGVnb3J5LWNvbnRhaW5lciA+IGRpdltjbGFzcyo9XCJsYXJnZS1cIl06bnRoLWNoaWxkKGV2ZW4pIC5yb3dDb250YWluZXI6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XG4gICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdDpub3QoLnNlcGVyYXRvcikgLnJvd0NvbnRhaW5lcjpob3ZlciwgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdDpub3QoLm9kZEV2ZW4pIC5yb3dDb250YWluZXI6aG92ZXIge1xuICAgICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjhzOyB9XG4gICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0Om5vdCguc2VwZXJhdG9yKSAucm93Q29udGFpbmVyOmhvdmVyIC5kZXNjcmlwdGlvbiBhIGgzLCAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0Om5vdCgub2RkRXZlbikgLnJvd0NvbnRhaW5lcjpob3ZlciAuZGVzY3JpcHRpb24gYSBoMyB7XG4gICAgICAgIGNvbG9yOiAjMDYwNTJmO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnN1Yi1oZWFkaW5nLWNvbnRhaW5lciB7XG4gICAgICBtYXJnaW46IDAgMCAxMHB4OyB9XG4gICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCA+IGRpdjpub3QoOm50aC1jaGlsZCgxKSkgfiBkaXYgLnN1Yi1oZWFkaW5nLWNvbnRhaW5lciB7XG4gICAgICBtYXJnaW46IDMwcHggMCAxMHB4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgPiBkaXY6bm90KDpudGgtY2hpbGQoMSkpIH4gZGl2IC5zdWItaGVhZGluZy1jb250YWluZXIge1xuICAgICAgICAgIG1hcmdpbjogMzBweCAwIDA7IH0gfVxuICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLmhlYWRDb250YWluZXIge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBmb250LWZhbWlseTogXCJHaWJzb25cIiwgXCJHaWJzb24gRmFsbGJhY2tcIiwgXCJBcmlhbFwiOyB9XG4gICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5oZWFkQ29udGFpbmVyOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNhZWFlYWU7IH1cbiAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLmhlYWRDb250YWluZXIgcCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMCAwIDI1cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiR2lic29uXCIsIFwiR2lic29uIEZhbGxiYWNrXCIsIFwiQXJpYWxcIjtcbiAgICAgICAgY29sb3I6ICMwNjA1MmY7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAuaGVhZENvbnRhaW5lciAuZGVzY3JpcHRpb24tY29sIHtcbiAgICAgICAgd2lkdGg6IDU1JTsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAuaGVhZENvbnRhaW5lciAuZGVzY3JpcHRpb24tY29sIHtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgZmxleC1ncm93OiAxOyB9IH1cbiAgICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAuaGVhZENvbnRhaW5lciAuZGVzY3JpcHRpb24tY29sIHAge1xuICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAuaGVhZENvbnRhaW5lciAuY29kZS1jb2wge1xuICAgICAgICAgIHdpZHRoOiAxMSU7IH0gfVxuICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAuaGVhZENvbnRhaW5lciAuY29kZS1jb2wgcCB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIHBhZGRpbmc6IDAgMTBweDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5oZWFkQ29udGFpbmVyIC5wcmljZS1jb2wge1xuICAgICAgICAgIHdpZHRoOiAyMCU7IH0gfVxuICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAuaGVhZENvbnRhaW5lciAucHJpY2UtY29sIHAge1xuICAgICAgICBwYWRkaW5nOiAwIDE1cHg7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5oZWFkQ29udGFpbmVyIC5xdWFudGl0eS1jb250YWluZXItY29sIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLmhlYWRDb250YWluZXIgLnF1YW50aXR5LWNvbnRhaW5lci1jb2wge1xuICAgICAgICAgICAgd2lkdGg6IDI1JTtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9IH1cbiAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLmhlYWRDb250YWluZXIgLnF1YW50aXR5LWNvbCB7XG4gICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5oZWFkQ29udGFpbmVyIC5xdWFudGl0eS1jb2wge1xuICAgICAgICAgICAgd2lkdGg6IDE1MHB4OyB9IH1cbiAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLmhlYWRDb250YWluZXIgLmJhc2tldC1jb2wge1xuICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAuaGVhZENvbnRhaW5lciAuZmF2b3VyaXRlLWNvbCB7XG4gICAgICAgIHdpZHRoOiAyNSU7XG4gICAgICAgIG1pbi13aWR0aDogOTBweDtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLmhlYWRDb250YWluZXIgLmxvZ2luLWNvbCwgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAuaGVhZENvbnRhaW5lciAuZW5xdWlyeS1jb2wge1xuICAgICAgICBtYXgtd2lkdGg6IDI1JTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbjogMCAwIDAgYXV0bztcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5oZWFkQ29udGFpbmVyIC5xdWFudGl0eSB7XG4gICAgICAgIHdpZHRoOiAxMiU7IH1cbiAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLmhlYWRDb250YWluZXIgLmJhc2tldCwgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAuaGVhZENvbnRhaW5lciAuZmF2b3VyaXRlIHtcbiAgICAgICAgd2lkdGg6IDklOyB9XG4gICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDMwJSAxZnI7XG4gICAgICBncmlkLXRlbXBsYXRlLWFyZWFzOiBcIm11bHRpbWVkaWEtY29udGVudCBkZXNjcmlwdGlvblwiIFwibXVsdGltZWRpYS1jb250ZW50IGNvZGVcIiBcIm11bHRpbWVkaWEtY29udGVudCBwcmljZVwiIFwibXVsdGltZWRpYS1jb250ZW50IGludGVyYWN0aXZlXCI7XG4gICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IG1pbi1jb250ZW50IG1pbi1jb250ZW50IDFmciBtaW4tY29udGVudDtcbiAgICAgIGdhcDogMTBweCAyMHB4O1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44cywgYm94LXNoYWRvdyAwLjhzOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIge1xuICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMjAlIDFmcjsgfSB9XG4gICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLm11bHRpbWVkaWEtY29udGVudCwgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyID4gYTpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGdyaWQtYXJlYTogbXVsdGltZWRpYS1jb250ZW50OyB9XG4gICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLmRlc2NyaXB0aW9uLWNvbCB7XG4gICAgICAgIGdyaWQtYXJlYTogZGVzY3JpcHRpb247IH1cbiAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAuY29kZS1jb2wge1xuICAgICAgICBncmlkLWFyZWE6IGNvZGU7IH1cbiAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAucHJpY2UtY29sIHtcbiAgICAgICAgZ3JpZC1hcmVhOiBwcmljZTsgfVxuICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5pbnRlcmFjdGl2ZS1jb250ZW50LCAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLnF1YW50aXR5LWNvbnRhaW5lciwgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5sb2dpbi1jb2wsIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAuZW5xdWlyeS1jb2wsIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAuc3RvY2tsaW5lLWNvbCB7XG4gICAgICAgIGdyaWQtYXJlYTogaW50ZXJhY3RpdmU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICAgIGdhcDogMDtcbiAgICAgICAgICBtYXJnaW46IDEwcHggMDtcbiAgICAgICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lcjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7XG4gICAgICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC42czsgfVxuICAgICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXI6aG92ZXIgaW1nIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOSk7XG4gICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNnM7IH1cbiAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciA+IGE6Zmlyc3QtY2hpbGQge1xuICAgICAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciA+IGE6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgd2lkdGg6IDEzMnB4O1xuICAgICAgICAgICAgbWFyZ2luOiAyMHB4OyB9IH1cbiAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAuaW1hZ2Uge1xuICAgICAgICAtLW1lZGlhLWFzcGVjdC1yYXRpbzogMS8xO1xuICAgICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZGFkYWRhO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC44czsgfVxuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgICAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAuaW1hZ2Uge1xuICAgICAgICAgICAgb3JkZXI6IDE7IH0gfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5pbWFnZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsgfSB9XG4gICAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAuaW1hZ2UgaW1nIHtcbiAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5kZXNjcmlwdGlvbi1jb2wge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBnYXA6IDEwcHg7XG4gICAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgICAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAuZGVzY3JpcHRpb24tY29sIHtcbiAgICAgICAgICAgIG9yZGVyOiAyOyB9IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAuZGVzY3JpcHRpb24tY29sIHtcbiAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgICAgICBtYXJnaW46IDIwcHggMDsgfSB9XG4gICAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAuZGVzY3JpcHRpb24tY29sIGgzIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IDI0NXB4O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTsgfVxuICAgICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLmRlc2NyaXB0aW9uLWNvbCAuZ3JvdXAtZGVzY3JpcHRpb24ge1xuICAgICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7IH1cbiAgICAgICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLmRlc2NyaXB0aW9uLWNvbCAuZ3JvdXAtZGVzY3JpcHRpb246aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICMwNjA1MmY7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAgICAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAuZGVzY3JpcHRpb24tY29sIC5ncm91cC1kZXNjcmlwdGlvbjphY3RpdmUge1xuICAgICAgICAgICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5kZXNjcmlwdGlvbi1jb2wgLnNwZWNpZmljYXRpb24ge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgICAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAuZGVzY3JpcHRpb24tY29sIC5zcGVjaWZpY2F0aW9uIHAge1xuICAgICAgICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLmNvZGUtY29sIHtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtOyB9XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5jb2RlLWNvbCB7XG4gICAgICAgICAgICBvcmRlcjogNDsgfSB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLmNvZGUtY29sIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMSU7XG4gICAgICAgICAgICBmbGV4LWdyb3c6IDA7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDEwcHg7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cbiAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAucHJpY2UtY29sIHtcbiAgICAgICAgbWF4LXdpZHRoOiAzMjBweDtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBjb2xvcjogIzA2MDUyZjsgfVxuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgICAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAucHJpY2UtY29sIHtcbiAgICAgICAgICAgIG9yZGVyOiAzOyB9IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAucHJpY2UtY29sIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgICAgICAgIHdpZHRoOiAyMCU7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDE1cHg7IH0gfVxuICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5sb2dpbi1jb2wsIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAuZW5xdWlyeS1jb2wge1xuICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgICAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAubG9naW4tY29sLCAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLmVucXVpcnktY29sIHtcbiAgICAgICAgICAgIG9yZGVyOiA2OyB9IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAubG9naW4tY29sLCAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLmVucXVpcnktY29sIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMjUlOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5pbnRlcmFjdGl2ZS1jb250ZW50LCAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLnF1YW50aXR5LWNvbnRhaW5lciwgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5sb2dpbi1jb2wsIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAuZW5xdWlyeS1jb2wsIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAuc3RvY2tsaW5lLWNvbCB7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH0gfVxuICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5sb2dpbi1jb2wsIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAuZW5xdWlyeS1jb2wsIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAuc3RvY2tsaW5lLWNvbCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG4gICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLnN0b2NrbGluZS1jb2wge1xuICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5zdG9ja2xpbmUtY29sIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMjUlOyB9IH1cbiAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAucXVhbnRpdHktY29udGFpbmVyIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogMCAyMHB4OyB9XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5xdWFudGl0eS1jb250YWluZXIge1xuICAgICAgICAgICAgb3JkZXI6IDU7IH0gfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5xdWFudGl0eS1jb250YWluZXIge1xuICAgICAgICAgICAgd2lkdGg6IDI1JTtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgICAgIGdhcDogMDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9IH1cbiAgICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5xdWFudGl0eS1jb250YWluZXIgLmxhYmVsIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAucXVhbnRpdHktY29udGFpbmVyIC5xdWFudGl0eS1zZWxlY3Rvci1jb250YWluZXIge1xuICAgICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5xdWFudGl0eS1jb250YWluZXIgLnF1YW50aXR5LXNlbGVjdG9yLWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgIHdpZHRoOiAxNTBweDsgfSB9XG4gICAgICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5xdWFudGl0eS1jb250YWluZXIgLnF1YW50aXR5LXNlbGVjdG9yLWNvbnRhaW5lciAuY29udHJvbC5zZWxlY3Qge1xuICAgICAgICAgICAgd2lkdGg6IDkwcHg7XG4gICAgICAgICAgICBtYXJnaW46IGF1dG8gYXV0byBhdXRvIDA7IH1cbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5xdWFudGl0eS1jb250YWluZXIgLnF1YW50aXR5LXNlbGVjdG9yLWNvbnRhaW5lciAuY29udHJvbC5zZWxlY3Qge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0bzsgfSB9XG4gICAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAucXVhbnRpdHktY29udGFpbmVyIC5pbnB1dC1udW1iZXItZ3JvdXAge1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAucXVhbnRpdHktY29udGFpbmVyIC5pbnB1dC1udW1iZXItZ3JvdXAge1xuICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfSB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLnF1YW50aXR5LWNvbnRhaW5lciAucXVhbnRpdHktZnJlZS10ZXh0LWNvbnRhaW5lciB7XG4gICAgICAgICAgICB3aWR0aDogMTUwcHg7IH0gfVxuICAgICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLnF1YW50aXR5LWNvbnRhaW5lciAuYWRkLWJ1dHRvbi1jb250YWluZXIge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAucXVhbnRpdHktY29udGFpbmVyIC5hZGQtYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICBmbGV4LWdyb3c6IDE7IH0gfVxuICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAucXVhbnRpdHktY29udGFpbmVyIC5hZGQtYnV0dG9uLWNvbnRhaW5lciAuYWRkVG9CYXNrZXQge1xuICAgICAgICAgICAgICBtYXJnaW46IGF1dG87IH0gfVxuICAgICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLnF1YW50aXR5LWNvbnRhaW5lciAuZmF2b3VyaXRlc0NvbnRhaW5lciB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLnF1YW50aXR5LWNvbnRhaW5lciAuZmF2b3VyaXRlc0NvbnRhaW5lciB7XG4gICAgICAgICAgICAgIHdpZHRoOiAyNSU7XG4gICAgICAgICAgICAgIG1pbi13aWR0aDogOTBweDtcbiAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWNlbnRlcjsgfSB9XG4gICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLmxhYmVsLXZhbHVlLXBhaXItY29udGFpbmVyIC5sYWJlbCB7XG4gICAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLmxhYmVsLXZhbHVlLXBhaXItY29udGFpbmVyIC52YWx1ZSB7XG4gICAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLmRlc2NyaXB0aW9uIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGNvbG9yOiAjMDYwNTJmO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7IH1cbiAgICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5kZXNjcmlwdGlvbjpob3ZlciB7XG4gICAgICAgICAgY29sb3I6ICNhZTk0NjE7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAuY29kZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBjb2xvcjogIzg4ODg4ODtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLmNvbC1sYWJlbCArIC5wcmljZXMgcDpvbmx5LWNoaWxkIC5sYWJlbCB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLmNvbC1sYWJlbCArIC5wcmljZXMgcDpvbmx5LWNoaWxkIC5sYWJlbCArIC52YWx1ZSB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5wcmljZXMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTsgfVxuICAgICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLnByaWNlcyBwIHtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAgICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLnByaWNlcyAucHJpY2UtY29udGFpbmVyIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS4yOyB9XG4gICAgICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lcjpoYXMoLnZhdCkge1xuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lciAubGFiZWwge1xuICAgICAgICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwOyB9XG4gICAgICAgICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLnByaWNlcyAucHJpY2UtY29udGFpbmVyIC5sYWJlbDpub3QoOmVtcHR5KSB7XG4gICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4OyB9XG4gICAgICAgICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLnByaWNlcyAucHJpY2UtY29udGFpbmVyIC5sYWJlbCB+IC52YXQge1xuICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgcGFkZGluZzogMCAwIDAgNXB4O1xuICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAgICAgICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAgICAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAucHJpY2VzIC5wcmljZS1jb250YWluZXIgLmxhYmVsIH4gLnZhdCB7XG4gICAgICAgICAgICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7IH0gfVxuICAgICAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAucHJpY2VzIC5wcmljZS1jb250YWluZXIgLnZhbHVlIHtcbiAgICAgICAgICAgIGNvbG9yOiAjMDYwNTJmO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAgICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLnByaWNlcyAucHJpY2UtY29udGFpbmVyIC52YWx1ZSB7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH0gfVxuICAgICAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAucHJpY2VzIC5wcmljZS1jb250YWluZXIuc2F2aW5nIC5sYWJlbCwgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lci5zYXZpbmcgLnZhbHVlIHtcbiAgICAgICAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAgICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLnByaWNlcyAucHJpY2UtY29udGFpbmVyLnJycCAubGFiZWwsIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAucHJpY2VzIC5wcmljZS1jb250YWluZXIucnJwIC52YWx1ZSB7XG4gICAgICAgICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lciAubGFiZWwgKyAudmFsdWUge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5wcmljZS1jb250YWluZXIgLnZhbHVlIHtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtOyB9XG4gICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLnByaWNlLWNvbnRhaW5lciAubGFiZWwsIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAucHJpY2UtY29udGFpbmVyIC52YWx1ZSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkdpYnNvblwiLCBcIkdpYnNvbiBGYWxsYmFja1wiLCBcIkFyaWFsXCI7IH1cbiAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAucHJpY2Uge1xuICAgICAgICBtYXJnaW46IDA7IH1cbiAgICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5wcmljZSAuY3VycmVuY3kge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS42MjVyZW07IH1cbiAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAudmF0IHtcbiAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICAgICAgY29sb3I6ICM3Nzc3Nzc7XG4gICAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLmVucXVpcnktY29sIHtcbiAgICAgIGZsZXg6IDE7XG4gICAgICBvcmRlcjogNDsgfVxuXG4ubGlzdC1jYXRlZ29yeS1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTsgfVxuICAubGlzdC1jYXRlZ29yeS1jb250YWluZXI6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDsgfVxuICAubGlzdC1jYXRlZ29yeS1jb250YWluZXIgaDIge1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cblxuLnRoaXJkLXBhcnR5LXJlc3VsdHMtY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAxMHB4IDA7IH1cbiAgLnRoaXJkLXBhcnR5LXJlc3VsdHMtY29udGFpbmVyIC5yZXN1bHQtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAyMHB4IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAudGhpcmQtcGFydHktcmVzdWx0cy1jb250YWluZXIgLnJlc3VsdC1jb250YWluZXIge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBnYXA6IDIwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLnRoaXJkLXBhcnR5LXJlc3VsdHMtY29udGFpbmVyIC5pbWFnZS1jb250YWluZXIge1xuICAgICAgd2lkdGg6IDE1MHB4OyB9IH1cbiAgLnRoaXJkLXBhcnR5LXJlc3VsdHMtY29udGFpbmVyIC5kZXNjcmlwdGlvbi1jb250YWluZXIgcCB7XG4gICAgcGFkZGluZzogMDtcbiAgICBjb2xvcjogIzA2MDUyZjtcbiAgICBmb250LXNpemU6IDEuMDYyNXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwOyB9XG4gIC50aGlyZC1wYXJ0eS1yZXN1bHRzLWNvbnRhaW5lciAuc25pcHBldC1jb250YWluZXIgcCB7XG4gICAgbWFyZ2luOiA1cHggMCAxMHB4O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgY29sb3I6ICM3Nzc3Nzc7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsOyB9XG5cbi8qXHJcblxyXG4tLS0tIEFYSVMgRGVidWdnZXIgLS0tLSBcclxuXHJcblRoaXMgaXMgYSBzaWRlIHByb2plY3Qgb2YgbWluZSBwdXJseSB0byBtYWtlIGRldiBsaWZlIGEgbGl0dGxlIGVhc2llciAvIGZhc3RlciBlc3NlbnRpYWxseSB0aGlzIGlzIGp1c3QgYSBkcmF3ZXIgd2l0aCBhIGJ1bmNoIG9mIG9wdGlvbnMgdG8gZmx1c2ggY2FjaGUsIHNldCBkZWJ1ZyBsZXZlbHMgJiBjbGVhciB0aGUgY29uc29sZS5cclxuXHJcbiovXG4uZGV2ZWxvcG1lbnQtZHJhd2VyLWNvbnRhaW5lciB7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2RhZGFkYTtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICB6LWluZGV4OiA4MDAwMDAwMDAwO1xuICB0cmFuc2l0aW9uOiB3aWR0aCAwLjhzOyB9XG4gIC5kZXZlbG9wbWVudC1kcmF3ZXItY29udGFpbmVyLmFjdGl2ZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdHJhbnNpdGlvbjogd2lkdGggMC42czsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5kZXZlbG9wbWVudC1kcmF3ZXItY29udGFpbmVyLmFjdGl2ZSB7XG4gICAgICAgIHdpZHRoOiAyMjVweDtcbiAgICAgICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTsgfSB9XG5cbi5kZXZlbG9wbWVudC1kcmF3ZXIge1xuICBoZWlnaHQ6IDEwMCU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMWYxZjE7IH1cbiAgLmRldmVsb3BtZW50LWRyYXdlciB1bCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDsgfVxuICAgIC5kZXZlbG9wbWVudC1kcmF3ZXIgdWwgbGkge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgLmRldmVsb3BtZW50LWRyYXdlciAuc2VydmljZS13b3JrZXItY29udGFpbmVyIC5oZWFkaW5nIHtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgIGNvbG9yOiAjNzc3Nzc3OyB9XG4gIC5kZXZlbG9wbWVudC1kcmF3ZXIgLmhlYWRpbmctY29udGFpbmVyIGgyIHtcbiAgICBjb2xvcjogIzc3Nzc3NztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplOyB9XG4gIC5kZXZlbG9wbWVudC1kcmF3ZXIgLmRyYXdlci1oZWFkZXIgLmNsb3NlLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgLmRldmVsb3BtZW50LWRyYXdlciAuZHJhd2VyLWhlYWRlciAuY2xvc2UtYnV0dG9uOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+AjVwiO1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjZzLCBjb2xvciAwLjhzOyB9XG4gICAgLmRldmVsb3BtZW50LWRyYXdlciAuZHJhd2VyLWhlYWRlciAuY2xvc2UtYnV0dG9uOmhvdmVyOmJlZm9yZSB7XG4gICAgICBjb2xvcjogI2FlOTQ2MTtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjZzLCBjb2xvciAwLjZzOyB9XG4gICAgLmRldmVsb3BtZW50LWRyYXdlciAuZHJhd2VyLWhlYWRlciAuY2xvc2UtYnV0dG9uOmFjdGl2ZTpiZWZvcmUge1xuICAgICAgY29sb3I6ICMwNjA1MmY7XG4gICAgICB0cmFuc2l0aW9uOiBmb250LXNpemUgMS4ycywgY29sb3IgMC42czsgfVxuICAuZGV2ZWxvcG1lbnQtZHJhd2VyIC5vcHRpb24ge1xuICAgIHdpZHRoOiA4MHB4O1xuICAgIGhlaWdodDogODBweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWFyZ2luOiAxMHB4IDA7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICM3Nzc3Nzc7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuOHM7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgLmRldmVsb3BtZW50LWRyYXdlciAub3B0aW9uOmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgZm9udC1zaXplOiAzOHB4O1xuICAgICAgY29sb3I6ICM3Nzc3Nzc7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciwgZm9udC1zaXplIDAuOHM7IH1cbiAgICAuZGV2ZWxvcG1lbnQtZHJhd2VyIC5vcHRpb25bZGVidWctbGV2ZWw9XCIxXCJdIHtcbiAgICAgIGJvcmRlci1jb2xvcjogI2IyMGMyODsgfVxuICAgICAgLmRldmVsb3BtZW50LWRyYXdlciAub3B0aW9uW2RlYnVnLWxldmVsPVwiMVwiXTpiZWZvcmUge1xuICAgICAgICBmb250LXNpemU6IDQxLjhweDtcbiAgICAgICAgY29sb3I6ICNiMjBjMjg7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yLCBmb250LXNpemUgMC42czsgfVxuICAgIC5kZXZlbG9wbWVudC1kcmF3ZXIgLm9wdGlvbltkZWJ1Zy1sZXZlbD1cIjJcIl0ge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjYjIwYzQzOyB9XG4gICAgICAuZGV2ZWxvcG1lbnQtZHJhd2VyIC5vcHRpb25bZGVidWctbGV2ZWw9XCIyXCJdOmJlZm9yZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogNDUuNnB4O1xuICAgICAgICBjb2xvcjogI2IyMGM0MztcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IsIGZvbnQtc2l6ZSAwLjZzOyB9XG4gICAgLmRldmVsb3BtZW50LWRyYXdlciAub3B0aW9uW2RlYnVnLWxldmVsPVwiM1wiXSB7XG4gICAgICBib3JkZXItY29sb3I6ICNiMjBjNWY7IH1cbiAgICAgIC5kZXZlbG9wbWVudC1kcmF3ZXIgLm9wdGlvbltkZWJ1Zy1sZXZlbD1cIjNcIl06YmVmb3JlIHtcbiAgICAgICAgZm9udC1zaXplOiA0OS40cHg7XG4gICAgICAgIGNvbG9yOiAjYjIwYzVmO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciwgZm9udC1zaXplIDAuNnM7IH1cbiAgICAuZGV2ZWxvcG1lbnQtZHJhd2VyIC5vcHRpb25bZGVidWctbGV2ZWw9XCI0XCJdIHtcbiAgICAgIGJvcmRlci1jb2xvcjogI2IyMGM3YjsgfVxuICAgICAgLmRldmVsb3BtZW50LWRyYXdlciAub3B0aW9uW2RlYnVnLWxldmVsPVwiNFwiXTpiZWZvcmUge1xuICAgICAgICBmb250LXNpemU6IDUzLjJweDtcbiAgICAgICAgY29sb3I6ICNiMjBjN2I7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yLCBmb250LXNpemUgMC42czsgfVxuICAgIC5kZXZlbG9wbWVudC1kcmF3ZXIgLm9wdGlvbi5jbGVhci1jYWNoZTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvhrhcIjsgfVxuICAgIC5kZXZlbG9wbWVudC1kcmF3ZXIgLm9wdGlvbi5jbGVhci1jb25zb2xlOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+EoFwiOyB9XG4gICAgLmRldmVsb3BtZW50LWRyYXdlciAub3B0aW9uLnNldC1kZWJ1Z2dpbmctbGV2ZWw6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74aIXCI7IH1cbiAgICAuZGV2ZWxvcG1lbnQtZHJhd2VyIC5vcHRpb24uYXhpcy10ZXN0LW1vZGU6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi75KSXCI7IH1cbiAgICAuZGV2ZWxvcG1lbnQtZHJhd2VyIC5vcHRpb24uc2l0ZS1zdHlsZTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvlL9cIjsgfVxuICAgIC5kZXZlbG9wbWVudC1kcmF3ZXIgLm9wdGlvbjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAgIC5kZXZlbG9wbWVudC1kcmF3ZXIgLm9wdGlvbjpob3ZlcjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogIzA2MDUyZjtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAgIC5kZXZlbG9wbWVudC1kcmF3ZXIgLm9wdGlvbjphY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2FlOTQ2MTtcbiAgICAgIGJvcmRlci1jb2xvcjogI2FlYWVhZTtcbiAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjZzOyB9XG4gICAgICAuZGV2ZWxvcG1lbnQtZHJhd2VyIC5vcHRpb246YWN0aXZlOmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjYWVhZWFlOyB9XG4gIC5kZXZlbG9wbWVudC1kcmF3ZXIgLnNsaWRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAuZGV2ZWxvcG1lbnQtZHJhd2VyIC5zbGlkZXIgLmxhYmVsIHtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgICAgIC5kZXZlbG9wbWVudC1kcmF3ZXIgLnNsaWRlciAubGFiZWwgW2RhdGEtc2xpZGVyLXZhbHVlXSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICAuZGV2ZWxvcG1lbnQtZHJhd2VyIC5zbGlkZXIgaW5wdXQge1xuICAgICAgZmxleDogMDsgfVxuICAuZGV2ZWxvcG1lbnQtZHJhd2VyIC5zd2l0Y2gge1xuICAgIGhlaWdodDogYXV0bzsgfVxuXG4ub3B0aW9uLWNvbnRyb2xzLWNvbnRhaW5lciwgLmNoaWxkLWNvbnRyb2xzLWNvbnRhaW5lciB7XG4gIG1heC1oZWlnaHQ6IDA7XG4gIGhlaWdodDogYXV0bztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjhzOyB9XG4gIC5vcHRpb24tY29udHJvbHMtY29udGFpbmVyLmFjdGl2ZSwgLmNoaWxkLWNvbnRyb2xzLWNvbnRhaW5lci5hY3RpdmUge1xuICAgIG1heC1oZWlnaHQ6IDUwMHB4O1xuICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgMC42czsgfVxuXG46cm9vdCB7XG4gIC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTA6ICMwNjA1MmY7XG4gIC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTE6ICMwYjA5NTg7XG4gIC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTI6ICMxMTBlODI7XG4gIC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTM6ICMxNjEyYWI7XG4gIC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTQ6ICMxYjE3ZDU7XG4gIC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTU6ICMzNDMwZTk7XG4gIC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTY6ICM1ZDU5ZWQ7XG4gIC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTc6ICM4NTgzZjI7XG4gIC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTg6ICNhZWFjZjY7XG4gIC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTk6ICNkNmQ2ZmI7XG4gIC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTEwOiAjZWJlYWZkO1xuICAtLXNlY29uZGFyeS1jb2xvdXItbGlnaHRuZXNzLTA6ICNhZTk0NjE7XG4gIC0tc2Vjb25kYXJ5LWNvbG91ci1saWdodG5lc3MtMTogI2I2OWY3MTtcbiAgLS1zZWNvbmRhcnktY29sb3VyLWxpZ2h0bmVzcy0yOiAjYmVhOTgxO1xuICAtLXNlY29uZGFyeS1jb2xvdXItbGlnaHRuZXNzLTM6ICNjNmI0OTA7XG4gIC0tc2Vjb25kYXJ5LWNvbG91ci1saWdodG5lc3MtNDogI2NlYmZhMDtcbiAgLS1zZWNvbmRhcnktY29sb3VyLWxpZ2h0bmVzcy01OiAjZDdjYWIwO1xuICAtLXNlY29uZGFyeS1jb2xvdXItbGlnaHRuZXNzLTY6ICNkZmQ0YzA7XG4gIC0tc2Vjb25kYXJ5LWNvbG91ci1saWdodG5lc3MtNzogI2U3ZGZkMDtcbiAgLS1zZWNvbmRhcnktY29sb3VyLWxpZ2h0bmVzcy04OiAjZWZlYWRmO1xuICAtLXNlY29uZGFyeS1jb2xvdXItbGlnaHRuZXNzLTk6ICNmN2Y0ZWY7XG4gIC0tc2Vjb25kYXJ5LWNvbG91ci1saWdodG5lc3MtMTA6ICNmYmZhZjc7XG4gIC0tYWNjZW50LWNvbG91ci0xLWxpZ2h0bmVzcy0wOiAjYzAwMDAwO1xuICAtLWFjY2VudC1jb2xvdXItMS1saWdodG5lc3MtMTogI2UwMDAwMDtcbiAgLS1hY2NlbnQtY29sb3VyLTEtbGlnaHRuZXNzLTI6ICNmZjAxMDE7XG4gIC0tYWNjZW50LWNvbG91ci0xLWxpZ2h0bmVzcy0zOiAjZmYyMDIwO1xuICAtLWFjY2VudC1jb2xvdXItMS1saWdodG5lc3MtNDogI2ZmNDA0MDtcbiAgLS1hY2NlbnQtY29sb3VyLTEtbGlnaHRuZXNzLTU6ICNmZjYwNjA7XG4gIC0tYWNjZW50LWNvbG91ci0xLWxpZ2h0bmVzcy02OiAjZmY4MDgwO1xuICAtLWFjY2VudC1jb2xvdXItMS1saWdodG5lc3MtNzogI2ZmYTBhMDtcbiAgLS1hY2NlbnQtY29sb3VyLTEtbGlnaHRuZXNzLTg6ICNmZmJmYmY7XG4gIC0tYWNjZW50LWNvbG91ci0xLWxpZ2h0bmVzcy05OiAjZmZkZmRmO1xuICAtLWFjY2VudC1jb2xvdXItMS1saWdodG5lc3MtMTA6ICNmZmVmZWY7XG4gIC0tYWNjZW50LWNvbG91ci0yLWxpZ2h0bmVzcy0wOiAjMmI1NzlhO1xuICAtLWFjY2VudC1jb2xvdXItMi1saWdodG5lc3MtMTogIzMyNjViMjtcbiAgLS1hY2NlbnQtY29sb3VyLTItbGlnaHRuZXNzLTI6ICMzYjczYzg7XG4gIC0tYWNjZW50LWNvbG91ci0yLWxpZ2h0bmVzcy0zOiAjNTQ4NWNmO1xuICAtLWFjY2VudC1jb2xvdXItMi1saWdodG5lc3MtNDogIzZjOTZkNjtcbiAgLS1hY2NlbnQtY29sb3VyLTItbGlnaHRuZXNzLTU6ICM4NWE4ZGQ7XG4gIC0tYWNjZW50LWNvbG91ci0yLWxpZ2h0bmVzcy02OiAjOWRiOWU0O1xuICAtLWFjY2VudC1jb2xvdXItMi1saWdodG5lc3MtNzogI2I2Y2JlYjtcbiAgLS1hY2NlbnQtY29sb3VyLTItbGlnaHRuZXNzLTg6ICNjZWRjZjE7XG4gIC0tYWNjZW50LWNvbG91ci0yLWxpZ2h0bmVzcy05OiAjZTdlZWY4O1xuICAtLWFjY2VudC1jb2xvdXItMi1saWdodG5lc3MtMTA6ICNmM2Y2ZmM7XG4gIC0tYWNjZW50LWNvbG91ci0zLWxpZ2h0bmVzcy0wOiAjZTViNzAxO1xuICAtLWFjY2VudC1jb2xvdXItMy1saWdodG5lc3MtMTogI2ZlY2MwNDtcbiAgLS1hY2NlbnQtY29sb3VyLTMtbGlnaHRuZXNzLTI6ICNmZWQxMjA7XG4gIC0tYWNjZW50LWNvbG91ci0zLWxpZ2h0bmVzcy0zOiAjZmVkNzNjO1xuICAtLWFjY2VudC1jb2xvdXItMy1saWdodG5lc3MtNDogI2ZlZGQ1ODtcbiAgLS1hY2NlbnQtY29sb3VyLTMtbGlnaHRuZXNzLTU6ICNmZWUyNzQ7XG4gIC0tYWNjZW50LWNvbG91ci0zLWxpZ2h0bmVzcy02OiAjZmZlODhmO1xuICAtLWFjY2VudC1jb2xvdXItMy1saWdodG5lc3MtNzogI2ZmZWVhYjtcbiAgLS1hY2NlbnQtY29sb3VyLTMtbGlnaHRuZXNzLTg6ICNmZmY0Yzc7XG4gIC0tYWNjZW50LWNvbG91ci0zLWxpZ2h0bmVzcy05OiAjZmZmOWUzO1xuICAtLWFjY2VudC1jb2xvdXItMy1saWdodG5lc3MtMTA6ICNmZmZjZjE7XG4gIC0tYWNjZW50LWNvbG91ci00LWxpZ2h0bmVzcy0wOiAjYWU5NDYxO1xuICAtLWFjY2VudC1jb2xvdXItNC1saWdodG5lc3MtMTogI2I2OWY3MTtcbiAgLS1hY2NlbnQtY29sb3VyLTQtbGlnaHRuZXNzLTI6ICNiZWE5ODE7XG4gIC0tYWNjZW50LWNvbG91ci00LWxpZ2h0bmVzcy0zOiAjYzZiNDkwO1xuICAtLWFjY2VudC1jb2xvdXItNC1saWdodG5lc3MtNDogI2NlYmZhMDtcbiAgLS1hY2NlbnQtY29sb3VyLTQtbGlnaHRuZXNzLTU6ICNkN2NhYjA7XG4gIC0tYWNjZW50LWNvbG91ci00LWxpZ2h0bmVzcy02OiAjZGZkNGMwO1xuICAtLWFjY2VudC1jb2xvdXItNC1saWdodG5lc3MtNzogI2U3ZGZkMDtcbiAgLS1hY2NlbnQtY29sb3VyLTQtbGlnaHRuZXNzLTg6ICNlZmVhZGY7XG4gIC0tYWNjZW50LWNvbG91ci00LWxpZ2h0bmVzcy05OiAjZjdmNGVmO1xuICAtLWFjY2VudC1jb2xvdXItNC1saWdodG5lc3MtMTA6ICNmYmZhZjc7XG4gIC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTA6ICM3Nzc3Nzc7XG4gIC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTE6ICM4NTg1ODU7XG4gIC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTI6ICM5MjkyOTI7XG4gIC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTM6ICNhMGEwYTA7XG4gIC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTQ6ICNhZGFkYWQ7XG4gIC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTU6ICNiYmJiYmI7XG4gIC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTY6ICNjOWM5Yzk7XG4gIC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTc6ICNkNmQ2ZDY7XG4gIC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTg6ICNlNGU0ZTQ7XG4gIC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTk6ICNmMWYxZjE7XG4gIC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTEwOiAjZjhmOGY4O1xuICAtLWJsYWNrLWNvbG91cjogIzAwMDAwMDtcbiAgLS13aGl0ZS1jb2xvdXI6ICNmZmZmZmY7XG4gIC0tc3VjY2Vzcy1jb2xvdXItbGlnaHRuZXNzLTA6ICMxMjgxMWY7XG4gIC0tc3VjY2Vzcy1jb2xvdXItbGlnaHRuZXNzLTE6ICMxNmExMjc7XG4gIC0tc3VjY2Vzcy1jb2xvdXItbGlnaHRuZXNzLTI6ICMxYmMxMmU7XG4gIC0tc3VjY2Vzcy1jb2xvdXItbGlnaHRuZXNzLTM6ICMyMGUwMzY7XG4gIC0tc3VjY2Vzcy1jb2xvdXItbGlnaHRuZXNzLTQ6ICM0MGU0NTM7XG4gIC0tc3VjY2Vzcy1jb2xvdXItbGlnaHRuZXNzLTU6ICM2MGU5NzA7XG4gIC0tc3VjY2Vzcy1jb2xvdXItbGlnaHRuZXNzLTY6ICM4MGVkOGM7XG4gIC0tc3VjY2Vzcy1jb2xvdXItbGlnaHRuZXNzLTc6ICM5ZmYyYTk7XG4gIC0tc3VjY2Vzcy1jb2xvdXItbGlnaHRuZXNzLTg6ICNiZmY2YzY7XG4gIC0tc3VjY2Vzcy1jb2xvdXItbGlnaHRuZXNzLTk6ICNkZmZiZTI7XG4gIC0tc3VjY2Vzcy1jb2xvdXItbGlnaHRuZXNzLTEwOiAjZWZmZGYxO1xuICAtLXdhcm5pbmctY29sb3VyLWxpZ2h0bmVzcy0wOiAjZmY1ZTA1O1xuICAtLXdhcm5pbmctY29sb3VyLWxpZ2h0bmVzcy0xOiAjZmY2ZTFlO1xuICAtLXdhcm5pbmctY29sb3VyLWxpZ2h0bmVzcy0yOiAjZmY3ZTM3O1xuICAtLXdhcm5pbmctY29sb3VyLWxpZ2h0bmVzcy0zOiAjZmY4ZTUwO1xuICAtLXdhcm5pbmctY29sb3VyLWxpZ2h0bmVzcy00OiAjZmY5ZTY5O1xuICAtLXdhcm5pbmctY29sb3VyLWxpZ2h0bmVzcy01OiAjZmZhZjgyO1xuICAtLXdhcm5pbmctY29sb3VyLWxpZ2h0bmVzcy02OiAjZmZiZjliO1xuICAtLXdhcm5pbmctY29sb3VyLWxpZ2h0bmVzcy03OiAjZmZjZmI0O1xuICAtLXdhcm5pbmctY29sb3VyLWxpZ2h0bmVzcy04OiAjZmZkZmNkO1xuICAtLXdhcm5pbmctY29sb3VyLWxpZ2h0bmVzcy05OiAjZmZlZmU2O1xuICAtLXdhcm5pbmctY29sb3VyLWxpZ2h0bmVzcy0xMDogI2ZmZjdmMztcbiAgLS1hbGVydC1jb2xvdXItbGlnaHRuZXNzLTA6ICNiMjBjMGM7XG4gIC0tYWxlcnQtY29sb3VyLWxpZ2h0bmVzcy0xOiAjZDAwZTBlO1xuICAtLWFsZXJ0LWNvbG91ci1saWdodG5lc3MtMjogI2VlMTAxMDtcbiAgLS1hbGVydC1jb2xvdXItbGlnaHRuZXNzLTM6ICNmMTJkMmQ7XG4gIC0tYWxlcnQtY29sb3VyLWxpZ2h0bmVzcy00OiAjZjM0YjRiO1xuICAtLWFsZXJ0LWNvbG91ci1saWdodG5lc3MtNTogI2Y1Njk2OTtcbiAgLS1hbGVydC1jb2xvdXItbGlnaHRuZXNzLTY6ICNmNzg3ODc7XG4gIC0tYWxlcnQtY29sb3VyLWxpZ2h0bmVzcy03OiAjZjlhNWE1O1xuICAtLWFsZXJ0LWNvbG91ci1saWdodG5lc3MtODogI2ZiYzNjMztcbiAgLS1hbGVydC1jb2xvdXItbGlnaHRuZXNzLTk6ICNmZGUxZTE7XG4gIC0tYWxlcnQtY29sb3VyLWxpZ2h0bmVzcy0xMDogI2ZlZjBmMDtcbiAgLS1jb250YWluZWQtY29udGVudC1tYXgtd2lkdGg6IDEzMDBweDtcbiAgLS11bmNvbnRhaW5lZC1jb250ZW50LW1heC13aWR0aDogMTkyMHB4O1xuICAtLXByaW1hcnktZm9udDogR2lic29uLCBHaWJzb24gRmFsbGJhY2ssIEFyaWFsO1xuICAtLXNtb290aC1lZGdlcy1lbmFibGVkOiBmYWxzZTtcbiAgLS1zbW9vdGgtZWRnZXMtbGV2ZWw6IDE1cHg7XG4gIC0tYm9yZGVyLXJhZGl1cy0xOiA1cHg7XG4gIC0tYm9yZGVyLXJhZGl1cy0yOiAyNXB4O1xuICAtLWdsb2JhbC1saW5lLWhlaWdodDogMS42O1xuICAtLXR5cG9ncmFwaHktYm9keS1mb250LWNvbG91cjogIzAwMDAwMDtcbiAgLS1idXR0b25zLWJvcmRlci1yYWRpdXM6IDA7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdpYnNvbiBGYWxsYmFja1wiO1xuICBzcmM6IGxvY2FsKFwiQXJpYWxcIik7XG4gIHNpemUtYWRqdXN0OiA5NCU7XG4gIGFzY2VudC1vdmVycmlkZTogODAlO1xuICBkZXNjZW50LW92ZXJyaWRlOiAyMCU7XG4gIGxpbmUtZ2FwLW92ZXJyaWRlOiAwJTsgfVxuXG5ib2R5IHtcbiAgbWluLWhlaWdodDogMTAwdmg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG92ZXJmbG93LXg6IGhpZGRlbjsgfVxuXG5ib2R5LnNjcm9sbExvY2sge1xuICBvdmVyZmxvdy15OiBoaWRkZW47IH1cblxubWFpbiB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgZmxleC1ncm93OiAxOyB9XG4gIG1haW4gPiBkaXYge1xuICAgIHdpZHRoOiAxMDAlOyB9XG5cbi5pbWFnZSBpbWcge1xuICBtYXgtaGVpZ2h0OiAxMDAlOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLmdyaWQteCB7XG4gICAgbWF4LXdpZHRoOiAxOTIwcHg7IH0gfVxuXG4uZ3JpZC14Om5vdCguZ3JpZC1tYXJnaW4teCkge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDAgYXV0bzsgfVxuXG4uZ3JpZC1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmdyaWQtY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAuZ3JpZC1jb250YWluZXIuY29udGFpbmVyLWdyb3cge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBmbGV4LWdyb3c6IDE7IH1cbiAgICAuZ3JpZC1jb250YWluZXIuY29udGFpbmVyLWdyb3cgLmFsaWduLWNlbnRlciB7XG4gICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gIGhyLm1vYmlsZS1zZXBlcmF0b3Ige1xuICAgIG1hcmdpbjogMzBweCAwOyB9IH1cblxuI2Zvb3Rlci1ndG0td2lkZ2V0IHtcbiAgbWFyZ2luLXRvcDogMTBweDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgI2Zvb3Rlci1ndG0td2lkZ2V0IHtcbiAgICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxNXB4OyB9IH1cblxuI2dyb3VwLWJhbm5lci1jYXJvdXNlbC1jb250YWluZXIsIC5ncm91cC1iYW5uZXIge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgI2NhdGVnb3J5R3JpZE92ZXJyaWRlIC5sYXJnZS0yIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICAgIHdpZHRoOiAxOC4zMzMzMyU7XG4gICAgZmxvYXQ6IGxlZnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICNjYXRlZ29yeUdyaWRPdmVycmlkZSAubGFyZ2UtMiB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAjY2F0ZWdvcnlHcmlkT3ZlcnJpZGUgLmxhcmdlLTIsICNjYXRlZ29yeUdyaWRPdmVycmlkZSAubGFyZ2UtMjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAjY2F0ZWdvcnlHcmlkT3ZlcnJpZGUgLmxhcmdlLTI6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogcmlnaHQ7IH0gfVxuXG4jY2F0ZWdvcnlIZWFkaW5nLCAjcHJvZHVjdExpc3RIZWFkaW5nIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuXG4ucG9wdXAtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbiNiYXNrZXRTdW1tYXJ5Q29udGFpbmVyOmhvdmVyICNub0pzQmFza2V0Tm90aWZpY2F0aW9uIHtcbiAgb3BhY2l0eTogMTtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgYm94LXNoYWRvdzogMHB4IDJweCA0cHggMXB4IHJnYmEoMTIsIDEyLCAxMywgMC4xKTtcbiAgYm9yZGVyLWJvdHRvbTogNXB4IHNvbGlkICMwNjA1MmY7IH1cblxuI3JlZ2lzdGVyLXN1Ym1pdCB7XG4gIG1hcmdpbi10b3A6IDEwcHg7IH1cblxuLmZvcmdvdHRlbi1wYXNzd29yZC1saW5rIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgY29sb3I6ICMwNjA1MmY7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc3R5bGU6IG5vbmU7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC1mYW1pbHk6IFwiR2lic29uXCIsIFwiR2lic29uIEZhbGxiYWNrXCIsIFwiQXJpYWxcIjsgfVxuICAuZm9yZ290dGVuLXBhc3N3b3JkLWxpbms6aG92ZXIge1xuICAgIGNvbG9yOiAjYWU5NDYxOyB9XG4gIC5mb3Jnb3R0ZW4tcGFzc3dvcmQtbGluazphY3RpdmUge1xuICAgIGNvbG9yOiAjMDYwNTJmOyB9XG5cbnhtcCB7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkYWRhZGE7XG4gIHdoaXRlLXNwYWNlOiBpbmhlcml0OyB9XG5cbi5hbmltYXRlX19hbmltYXRlZDpub3QoLmFuaW1hdGVkLWNvbnRlbnQtYWN0aXZlKSB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uanNvbi1jb2RlLWJsb2NrIGNvZGUge1xuICBtYXgtaGVpZ2h0OiA1MDBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAxMHB4IDEwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1hcmdpbjogMCAwIDQwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmM2YzZjM7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM4ODg4ODg7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICBsaW5lLWhlaWdodDogNDBweDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgd2hpdGUtc3BhY2U6IHByZS13cmFwO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC44czsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmpzb24tY29kZS1ibG9jayBjb2RlIHtcbiAgICAgIHBhZGRpbmc6IDEwcHggMzVweDsgfSB9XG4gIC5qc29uLWNvZGUtYmxvY2sgY29kZTpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiAjNzc3Nzc3O1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjZzOyB9XG4gIC5qc29uLWNvZGUtYmxvY2sgY29kZSAuY29kZS1jb3B5LWJ1dHRvbi1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IGNhbGMoMTAwJSAtIDE1cHgpO1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7IH1cbiAgLmpzb24tY29kZS1ibG9jayBjb2RlIC5jb2RlLWNvcHktYnV0dG9uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHBhZGRpbmc6IDhweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjODg4ODg4O1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44cywgcGFkZGluZyAwLjhzLCBvcGFjaXR5IDAuOHM7IH1cbiAgICAuanNvbi1jb2RlLWJsb2NrIGNvZGUgLmNvZGUtY29weS1idXR0b246YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74OFXCI7XG4gICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgUmVndWxhclwiO1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzLCBmb250LXNpemUgMC44czsgfVxuICAgIC5qc29uLWNvZGUtYmxvY2sgY29kZSAuY29kZS1jb3B5LWJ1dHRvbjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDYwNTJmO1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9XG4gICAgLmpzb24tY29kZS1ibG9jayBjb2RlIC5jb2RlLWNvcHktYnV0dG9uLmFjdGl2ZSwgLmpzb24tY29kZS1ibG9jayBjb2RlIC5jb2RlLWNvcHktYnV0dG9uOmFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDYwNTJmOyB9XG4gICAgICAuanNvbi1jb2RlLWJsb2NrIGNvZGUgLmNvZGUtY29weS1idXR0b24uYWN0aXZlOmJlZm9yZSwgLmpzb24tY29kZS1ibG9jayBjb2RlIC5jb2RlLWNvcHktYnV0dG9uOmFjdGl2ZTpiZWZvcmUge1xuICAgICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjsgfVxuICAgIC5qc29uLWNvZGUtYmxvY2sgY29kZSAuY29kZS1jb3B5LWJ1dHRvbi5hY3RpdmUge1xuICAgICAgcGFkZGluZzogMTJweDtcbiAgICAgIG9wYWNpdHk6IC40O1xuICAgICAgdHJhbnNpdGlvbjogcGFkZGluZyAwLjZzLCBvcGFjaXR5IDAuNnM7IH1cbiAgICAgIC5qc29uLWNvZGUtYmxvY2sgY29kZSAuY29kZS1jb3B5LWJ1dHRvbi5hY3RpdmU6YmVmb3JlIHtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICB0cmFuc2l0aW9uOiBmb250LXNpemUgMC42czsgfVxuIiwiJGVudmlyb25tZW50OiBcImRldmVsb3BtZW50XCI7XG4kZW1haWxUZW1wbGF0ZTogZmFsc2U7XG4vKipcclxuXHJcblRoaXMgaXMgdGhlIGJhc2Ugb2YgdGhlIGFwcC5jc3MgZmlsZSwgdG8gbW9kaWZ5IHRoZSBjb25maWd1cmF0aW9uIG90IGEgc2l0ZSBsZXZlbCBnbyB0byAvYnJhbmRpbmcuc2NzcyBpZiB5b3UgbmVlZCBtb2RpZnkgdGhlIGdsb2JhbCBjb25maWd1cmF0aW9uIG9mIGFsbCBzaXRlcyBnbyB0byAvZ2xvYmFsL3ZhcmlhYmxlcy5zY3NzLlxyXG5cclxuWyBJTVBPUlRBTlQgXSAtIE5vIEJFU1BPS0UgQ1NTIFJVTEUnUyBzaG91bGQgYmUgc3BlY2lmaWVkIGhlcmUgb3IgaW4gYnJhbmRpbmcuc2NzcywgaWYgeW91IG5lZWQgdG8gbW9kaWZ5IHRoZSBjc3MgZG8gaXQgaW4gZWl0aGVyIC9nbG9iYWwgb3IgaW4gL2NvbXBvbmFudHMgb3RoZXJ3aXNlIGl0IHdpbGwgY2F1c2UgdGVhcnMsIElGIHlvdSByZWFsbHkgaGF2ZSB0byB0byBpdCBpbiB0aGUgc2l0ZSBzcGVjaWZpYyBicmFuZGluZy5zY3NzIHVuZGVyIGFsbCBvZiB0aGUgU0FTUyBvdmVycmlkZXMuXHJcblxyXG4qKi9cclxuXHJcbi8vIC0tLS0tIERlcGVuZGFuY2llcyAtLS0tLVxyXG5cclxuLy8gRXhwcmVzcyBGdW5jdGlvbnMuXHJcbkBpbXBvcnQgJy4uLy4uL2dsb2JhbC9mdW5jdGlvbnMnO1xyXG5cclxuLy8gSW1wb3J0IHNpdGUgc3BlY2lmaWMgYnJhbmRpbmcuXHJcbkBpbXBvcnQgJy4vYnJhbmRpbmcnO1xyXG5cclxuLy8gSW1wb3J0IEV4cHJlc3Mgc3R5bGVzaGVldC5cclxuQGltcG9ydCAnLi4vLi4vZ2xvYmFsL2FwcCc7XHJcblxyXG5cclxuXHJcbiIsIi8vIFN0YW5kYXJkIGN1c3RvbSBmdW5jdGlvbnMgKCBub3QgZm91bmRhdGlvbidzIGZ1bmN0aW9ucyApIHRoYXQgYXJlIHVzZWQgYWNyb3NzIHRoZSB0ZW1wbGF0ZS4gXHJcblxyXG4vLyBWYXJpYWJsZXMgdGhhdCBoYXZlIHRvIGJlIGRlZmluZWQuXHJcbiRicmVha3BvaW50czogbnVsbCAhZGVmYXVsdDtcclxuQGlmICgkYnJlYWtwb2ludHMgPT0gbnVsbCkge1xyXG4gICAgLy8gRmFsbGJhY2suXHJcbiAgICAkYnJlYWtwb2ludHM6IChcclxuICAgICAgICBzbWFsbDogMCxcclxuICAgICAgICBtZWRpdW06IDY0MHB4LFxyXG4gICAgICAgIGxhcmdlOiAxMzAwcHgsXHJcbiAgICAgICAgeGxhcmdlOiAxNjAwcHgsXHJcbiAgICAgICAgeHhsYXJnZTogMTkyMHB4XHJcbiAgICApO1xyXG59XHJcblxyXG4vLyBUT0RPOiBUaGlzIGlzIHNsb3dseSBiZWluZyByb2xsZWQgb3V0IGFjcm9zcyBleHByZXNzLlxyXG5cclxuLy8gSGFuZGxlcyBob3cgYm9yZGVyLXJhZGl1cyB2YWx1ZXMgZ2V0IGFwcGxpZWQsIGlmICRzbW9vdGgtZWRnZXMtZW5hYmxlZCBpcyBzZXQgYnkgZGVmYXVsdCAkc21vb3RoLWVkZ2VzLWxldmVsIGdldHMgdXNlZCBhbmQgaWYgYSAkY3VzdG9tLXZhbHVlIGlzIHBhc3NlZCBpbiB0aGF0IHRha2VzIHByZXNpZGVuY2Ugb3ZlciB0aGUgZGVmYXVsdCB2YWx1ZSB3aGljaCBpcyBzZXQgYnkgJHNtb290aC1lZGdlcy1sZXZlbC5cclxuQGZ1bmN0aW9uIHNtb290aC1lZGdlcygkY3VzdG9tLXZhbHVlOiAwKSB7XHJcbiAgICAvLyBDYW5jZWxsZWQgb3V0IGFsbCBlZmZlY3QuXHJcbiAgICBAaWYgKCRjdXN0b20tdmFsdWUgPT0gZmFsc2UpIHtcclxuICAgICAgICBAcmV0dXJuIDA7XHJcbiAgICB9XHJcbiAgICBAaWYgKCRzbW9vdGgtZWRnZXMtZW5hYmxlZCkge1xyXG4gICAgICAgIEByZXR1cm4gaWYoJGN1c3RvbS12YWx1ZSAhPSAwLCAkY3VzdG9tLXZhbHVlLCAkc21vb3RoLWVkZ2VzLWxldmVsKTtcclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIEBpZiAkY3VzdG9tLXZhbHVlID09IDAge1xyXG4gICAgICAgICAgICBAcmV0dXJuIDA7XHJcbiAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgIEByZXR1cm4gJGN1c3RvbS12YWx1ZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0gXHJcblxyXG4vLyBTaW1wbGUgZnVuY3Rpb25zIGZvciBleHRyYWN0aW5nIHZhbHVlcyBiYXNlZCBvbiBicmVha3BvaW50LlxyXG4vLyBNb2JpbGUuXHJcbi8vIEBmdW5jdGlvbiBzbWFsbC12YWx1ZSgkdmFsdWVzKSB7XHJcbi8vICAgICAvLyBDaGVjayB3aGV0aGVyIHRoaXMgaXMgYSBsaXN0IG9yIG1hcC5cclxuLy8gICAgIEBpZiB0eXBlLW9mKCR2YWx1ZXMpID09ICAnbGlzdCcge1xyXG4vLyAgICAgICAgIEByZXR1cm4gbnRoKCR2YWx1ZXMsIDEpO1xyXG4vLyAgICAgfSBAZWxzZSBpZiB0eXBlLW9mKCR2YWx1ZXMpID09ICdtYXAnIHtcclxuLy8gICAgICAgICBAcmV0dXJuIG1hcC1nZXQoJHZhbHVlcywgc21hbGwpO1xyXG4vLyAgICAgfSBAZWxzZSBpZiB0eXBlLW9mKCR2YWx1ZXMpID09ICdudW1iZXInIHtcclxuLy8gICAgICAgICBAcmV0dXJuICR2YWx1ZXM7XHJcbi8vICAgICB9IEBlbHNlIHtcclxuLy8gICAgICAgICBAZGVidWcgXCJGYWlsZWQgdG8gZ2V0IHNtYWxsIHZhbHVlLlwiO1xyXG4vLyAgICAgICAgIEByZXR1cm4gZmFsc2U7XHJcbi8vICAgICB9XHJcbi8vIH1cclxuLy8gTWVkaXVtXHJcbi8vIEBmdW5jdGlvbiBtZWRpdW0tdmFsdWUoJHZhbHVlcykge1xyXG4vLyAgICAgQGlmIHR5cGUtb2YoJHZhbHVlcykgPT0gJ2xpc3QnIHtcclxuLy8gICAgICAgICBAaWYgbGVuZ3RoKCR2YWx1ZXMpID4gMSB7XHJcbi8vICAgICAgICAgICAgIEByZXR1cm4gbnRoKCR2YWx1ZXMsIDIpO1xyXG4vLyAgICAgICAgIH0gQGVsc2Uge1xyXG4vLyAgICAgICAgICAgICBAcmV0dXJuIG50aCgkdmFsdWVzLCAxKTtcclxuLy8gICAgICAgICB9XHJcbi8vICAgICB9IEBlbHNlIGlmIHR5cGUtb2YoJHZhbHVlcykgPT0gJ21hcCcge1xyXG4vLyAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkdmFsdWVzLCBtZWRpdW0pIHtcclxuLy8gICAgICAgICAgICAgQHJldHVybiBtYXAtZ2V0KCR2YWx1ZXMsIG1lZGl1bSk7XHJcbi8vICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgoJHZhbHVlcywgc21hbGwpKSB7XHJcbi8vICAgICAgICAgICAgIEByZXR1cm4gbWFwLWdldCgkdmFsdWVzLCBzbWFsbCk7XHJcbi8vICAgICAgICAgfSBAZWxzZSB7XHJcbi8vICAgICAgICAgICAgIEBkZWJ1ZyBcIkNvdWxkIG5vdCBmaW5kIGEgbWVkaXVtIGtleSBub3IgYSBzbWFsbCBrZXkgZmFsbGJhY2suXCI7XHJcbi8vICAgICAgICAgICAgIEByZXR1cm4gZmFsc2U7XHJcbi8vICAgICAgICAgfVxyXG4gICAgICAgIFxyXG4vLyAgICAgfSBAZWxzZSB7XHJcbi8vICAgICAgICAgQGRlYnVnIFwiRmFpbGVkIHRvIGdldCBtZWRpdW0gdmFsdWUuXCI7XHJcbi8vICAgICAgICAgQHJldHVybiBmYWxzZTtcclxuLy8gICAgIH1cclxuICAgIFxyXG4vLyB9XHJcbi8vIExhcmdlXHJcbi8vIEBmdW5jdGlvbiBsYXJnZS12YWx1ZSgkdmFsdWVzKSB7XHJcbi8vICAgICBAaWYgdHlwZS1vZigkdmFsdWVzKSA9PSAnbGlzdCcge1xyXG4vLyAgICAgICAgIEBpZiBsZW5ndGgoJHZhbHVlcykgPiAyIHtcclxuLy8gICAgICAgICAgICAgQHJldHVybiBudGgoJHZhbHVlcywgMyk7XHJcbi8vICAgICAgICAgfSBAZWxzZSB7XHJcbi8vICAgICAgICAgICAgIEByZXR1cm4gbnRoKCR2YWx1ZXMsIDIpO1xyXG4vLyAgICAgICAgIH1cclxuLy8gICAgIH0gQGVsc2UgaWYgdHlwZS1vZigkdmFsdWVzKSA9PSAnbWFwJyB7XHJcbi8vICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCR2YWx1ZXMsIGxhcmdlKSB7XHJcbi8vICAgICAgICAgICAgIEByZXR1cm4gbWFwLWdldCgkdmFsdWVzLCBsYXJnZSk7XHJcbi8vICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkdmFsdWVzLCBzbWFsbCkge1xyXG4vLyAgICAgICAgICAgICBAcmV0dXJuIG1hcC1nZXQoJHZhbHVlcywgc21hbGwpO1xyXG4vLyAgICAgICAgIH0gQGVsc2Uge1xyXG4vLyAgICAgICAgICAgICBAZGVidWcgXCJDb3VsZCBub3QgZmluZCBhIGxhcmdlIGtleSBub3IgYSBzbWFsbCBrZXkgZmFsbGJhY2suXCI7XHJcbi8vICAgICAgICAgICAgIEByZXR1cm4gZmFsc2U7XHJcbi8vICAgICAgICAgfVxyXG4vLyAgICAgfSBAZWxzZSB7XHJcbi8vICAgICAgICAgQGRlYnVnIFwiRmFpbGVkIHRvIGdldCBsYXJnZSB2YWx1ZSwgdmFsdWVzIHBhc3NlZCBhcmUgb2YgdHlwZTogXCIgKyB0eXBlLW9mKCR2YWx1ZXMpO1xyXG4vLyAgICAgICAgIEByZXR1cm4gZmFsc2U7XHJcbi8vICAgICB9XHJcbiAgICBcclxuLy8gfVxyXG5cclxuLy8gU21hbGwgUmVzcG9uc2l2ZSBWYWx1ZXMuXHJcbkBmdW5jdGlvbiBzbWFsbC12YWx1ZSgkdmFsdWVzKSB7XHJcbiAgICBAcmV0dXJuIGdldC1yZXNwb25zaXZlLXZhbHVlKCR2YWx1ZXMsIDEpO1xyXG59XHJcblxyXG4vLyBNZWRpdW0gUmVzcG9uc2l2ZSBWYWx2dWUuXHJcbkBmdW5jdGlvbiBtZWRpdW0tdmFsdWUoJHZhbHVlcykge1xyXG4gICAgQHJldHVybiBnZXQtcmVzcG9uc2l2ZS12YWx1ZSgkdmFsdWVzLCAyKTtcclxufVxyXG5cclxuLy8gTGFyZ2UgUmVzcG9uc2l2ZSBWYWx1ZS5cclxuQGZ1bmN0aW9uIGxhcmdlLXZhbHVlKCR2YWx1ZXMpIHtcclxuICAgIEByZXR1cm4gZ2V0LXJlc3BvbnNpdmUtdmFsdWUoJHZhbHVlcywgMyk7XHJcbn1cclxuXHJcbi8vIHhMYXJnZSBSZXNwb25zaXZlIFZhbHVlLlxyXG5AZnVuY3Rpb24geGxhcmdlLXZhbHVlKCR2YWx1ZXMpIHtcclxuICAgIEByZXR1cm4gZ2V0LXJlc3BvbnNpdmUtdmFsdWUoJHZhbHVlcywgNCk7XHJcbn1cclxuXHJcbi8vIHh4TGFyZ2UgUmVzcG9uc2l2ZSBWYWx1ZS5cclxuQGZ1bmN0aW9uIHh4bGFyZ2UtdmFsdWUoJHZhbHVlcykge1xyXG4gICAgQHJldHVybiBnZXQtcmVzcG9uc2l2ZS12YWx1ZSgkdmFsdWVzLCA1KTtcclxufVxyXG5cclxuLypcclxuXHJcbnZhbHVlcyBjYW4gYmUgZWl0aGVyIGEgbGlzdCBvciBtYXAuXHJcblxyXG5CcmVha3BvaW50IHZhbHVlczpcclxuU21hbGwgPSAxXHJcbk1lZGl1bSA9IDJcclxuTGFyZ2UgPSAzXHJcbnhMYXJnZSA9IDRcclxueHhMYXJnZSA9IDVcclxuXHJcbiovXHJcblxyXG5AZnVuY3Rpb24gZ2V0LXJlc3BvbnNpdmUtdmFsdWUoJHZhbHVlcywgJGJyZWFrcG9pbnQpIHtcclxuICAgIC8vIElmIHZhbHVlcyBpcyBhIGxpc3QgKCBpLmUgbmVzdGVkIHByZXNldCApXHJcbiAgICBAaWYgKHR5cGUtb2YoJHZhbHVlcykgPT0gXCJsaXN0XCIpIHtcclxuICAgICAgICAvLyBVc2luZyB0aGUgYnJlYWtwb2ludCB2YWx1ZSBtYXRjaCBpdCBkbyB0aGUgdmFsdWVzIGluIHRoZSBsaXN0LlxyXG4gICAgICAgIEBpZiAobGVuZ3RoKCR2YWx1ZXMpID49ICRicmVha3BvaW50KSB7XHJcbiAgICAgICAgICAgIEByZXR1cm4gbnRoKCR2YWx1ZXMsICRicmVha3BvaW50KTtcclxuICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgLy8gSWYgbm8gYnJlYWtwb2ludCB2YWx1ZSBhc3NpZ25lZCB0aGVuIGZpbmQgbmVhcmVzdCBvbmUuXHJcbiAgICAgICAgICAgIEByZXR1cm4gbnRoKCR2YWx1ZXMsIGxlbmd0aCgkdmFsdWVzKSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSBAZWxzZSBpZiAodHlwZS1vZigkdmFsdWVzKSA9PSAnbWFwJykge1xyXG4gICAgICAgIC8vIE1ha2Ugc3VyZSBicmVha3BvaW50IGlzIGFjdHVhbGx5IGNvbmZpZ3VyZWQuXHJcbiAgICAgICAgQGlmIChsZW5ndGgoJGJyZWFrcG9pbnRzKSA8ICRicmVha3BvaW50KSB7XHJcbiAgICAgICAgICAgIEBlcnJvcihcIkNvbmZpZ3VyZWQgYnJlYWtwb2ludHMgZG9uJ3QgZ28gdXAgdGhhdCBoaWdoICggI3skYnJlYWtwb2ludH0gKSwgcGxlYXNlIGNoZWNrIHRoZSBfc2V0dGluZ3Muc2NzcyBzZWN0aW9uIDIuIEJyZWFrcG9pbnRzIFwiKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gRG9lcyBkb2VzICR2YWx1ZXMgaGF2ZSBhIGtleSBmb3IgdGhpcyBicmVha3BvaW50P1xyXG4gICAgICAgIEBpZiBtYXAtaGFzLWtleSgkdmFsdWVzLCBudGgobWFwLWtleXMoJGJyZWFrcG9pbnRzKSwgJGJyZWFrcG9pbnQpKSB7XHJcbiAgICAgICAgICAgIEByZXR1cm4gbWFwLWdldCgkdmFsdWVzLCBudGgobWFwLWtleXMoJGJyZWFrcG9pbnRzKSwgJGJyZWFrcG9pbnQpKTtcclxuICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgLy8gRmluZCBOZWFyZXN0IHZhbHVlLlxyXG4gICAgICAgICAgICBAcmV0dXJuIG1hcC1nZXQoJHZhbHVlcywgbnRoKG1hcC1rZXlzKCRicmVha3BvaW50cyksIGxlbmd0aCgkdmFsdWVzKSkpO1xyXG4gICAgICAgIH1cclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAgQGVycm9yIFwiRmFpbGVkIHRvIHJldHVybiByZXNwb25zaXZlIHZhbHVlLCB0aGlzIHdhcyBiZWNhdXNlIHRoZSB2YWx1ZXMgd2VyZSBub3QgaW4gYSBtYXAgb3IgbGlzdCwgdGhlIHZhbHVlcyBhc3NpZ25lZCB3ZXJlIG9mIHR5cGUgKCN7dHlwZS1vZigkdmFsdWVzKX0pIGFuZCB0aGUgdmFsdWUgaXMgI3skdmFsdWVzfSwgcGxlYXNlIGNoZWNrIHlvdXIgY29uZmlndXJhdGlvbiBmb3Igc2l0ZSAjeyRzaXRlfS5cIjtcclxuICAgIH1cclxufVxyXG5cclxuQGZ1bmN0aW9uIGRlZmF1bHQtY29sb3VyKCRtaXhpbikge1xyXG4gICAgQHJldHVybiBtYXAtZ2V0KCRtaXhpbiwgZGVmYXVsdCk7XHJcbn1cclxuXHJcbkBmdW5jdGlvbiBob3Zlci1jb2xvdXIoJG1peGluKSB7XHJcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1peGluLCBob3Zlcik7XHJcbn1cclxuXHJcbkBmdW5jdGlvbiBhY3RpdmUtY29sb3VyKCRtaXhpbikge1xyXG4gICAgQHJldHVybiBtYXAtZ2V0KCRtaXhpbiwgYWN0aXZlKTtcclxufVxyXG5cclxuQGZ1bmN0aW9uIGRpc2FibGVkLWNvbG91cigkbWl4aW4pIHtcclxuICAgIEByZXR1cm4gbWFwLWdldCgkbWl4aW4sIGRpc2FibGVkKTtcclxufVxyXG5cclxuLy8gR2V0IGNvbW1vbiBidXR0b24gZm9udCBzaXplLlxyXG5AZnVuY3Rpb24gZ2V0LWJ1dHRvbi1mb250LXNpemUoJHR5cGU6ICdzdGFuZGFsb25lJykge1xyXG4gICAgQHJldHVybiBtYXAtZ2V0KCRjb21tb24tYnV0dG9uLWZvbnQtc2l6ZXMsICR0eXBlKTtcclxufVxyXG5cclxuLy8gR2V0IGNvbW1vbiBidXR0b24gZm9udCB3ZWlnaHQuXHJcbkBmdW5jdGlvbiBnZXQtYnV0dG9uLWZvbnQtd2VpZ2h0cygkdHlwZTogJ3N0YW5kYWxvbmUnKSB7XHJcbiAgICBAcmV0dXJuIG1hcC1nZXQoJGNvbW1vbi1idXR0b24tZm9udC13ZWlnaHRzLCAkdHlwZSk7XHJcbn1cclxuXHJcbi8vIFVzZWQgZm9yIGdldHRpbmcgdG9wLCByaWdodCwgYm90dG9tLCBsZWZ0IHZhbHVlcyBmcm9tIGxpc3RzIG5lc3RlZCBpbiBtYXBzIGZvciBwb3NpdGlvbmluZywgbWFyZ2lucyAmIHBhZGRpbmcuXHJcbkBmdW5jdGlvbiBzcGFjaW5nLXZhbHVlKCR2YWx1ZXMsICRzaWRlOiAwLCAka2V5OiBcInNtYWxsXCIpIHtcclxuICAgIC8vIEBpZiAkc2lkZSA+IDQgb3IgJHNpZGUgPCAxIHtcclxuICAgIC8vICAgICBAZGVidWcgXCJzcGFjaW5nLXZhbHVlOiAkc2lkZSBjYW5ub3QgYmUgbGVzcyB0aGF0IDEgb3IgbW9yZSB0aGFuIDRcIjtcclxuICAgIC8vICAgICBAcmV0dXJuIGZhbHNlO1xyXG4gICAgLy8gfSBcclxuICAgIC8vIFdoYXQgdHlwZSBhcmUgd2UgZGVhbGluZyB3aXRoIGhlcmU/IG1hcChzKSwgbGlzdCBvciBudW1iZXIuXHJcbiAgICAkdmFsdWVzVHlwZTogdHlwZS1vZigkdmFsdWVzKTtcclxuICAgIEBpZigkdmFsdWVzVHlwZSA9PSBcIm1hcFwiKSB7XHJcbiAgICAgICAgQGlmICRrZXkgPT0gXCJzbWFsbFwiIHtcclxuICAgICAgICAgICAgJHZhbHVlczogc21hbGwtdmFsdWUoJHZhbHVlcyk7XHJcbiAgICAgICAgfSBAZWxzZSBpZiAka2V5ID09IFwibWVkaXVtXCIge1xyXG4gICAgICAgICAgICAkdmFsdWVzOiBtZWRpdW0tdmFsdWUoJHZhbHVlcyk7XHJcbiAgICAgICAgfSBAZWxzZSBpZiAka2V5ID09IFwibGFyZ2VcIiB7XHJcbiAgICAgICAgICAgICR2YWx1ZXM6IGxhcmdlLXZhbHVlKCR2YWx1ZXMpO1xyXG4gICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICAkdmFsdWVzOiBtYXAtZ2V0KCR2YWx1ZXMsICRrZXkpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIFxyXG4gICAgLy8gQXR0ZW1wdGluZyB0byBjYXRlciBmb3Igc2hvcnQgaGFuZCB1c2UuXHJcbiAgICBAaWYgbGVuZ3RoKCR2YWx1ZXMpID09IDMgYW5kICRzaWRlID09IDQge1xyXG4gICAgICAgICRzaWRlOiAyO1xyXG4gICAgfSBAZWxzZSBpZiBsZW5ndGgoJHZhbHVlcykgPT0gMiBhbmQgKCRzaWRlID4gMikge1xyXG4gICAgICAgICRzaWRlOiBpZigkc2lkZSA9PSAzLDEsMik7XHJcbiAgICB9IEBlbHNlIGlmIGxlbmd0aCgkdmFsdWVzKSA9PSAxIHtcclxuICAgICAgICAkc2lkZTogMTtcclxuICAgIH1cclxuICAgICR2YWx1ZTogMDtcclxuICAgIC8vIEZpbmQgdGhlIHZhbHVlIHRoYXQgbWF0Y2hlcyB0aGUgc2lkZS5cclxuICAgIEBpZiAoJHNpZGUgPiAwKSB7XHJcbiAgICAgICAgJHZhbHVlOiBudGgoJHZhbHVlcywgJHNpZGUpO1xyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgICAgLy8gSnVzdCBvdXRwdXQgd2hhdGV2ZXIgaXMgc2V0IGluIGEgc3RyaW5nLlxyXG4gICAgICAgICR2YWx1ZTogJHZhbHVlcztcclxuICAgIH1cclxuICAgIFxyXG4gICAgQHJldHVybiAkdmFsdWU7XHJcbn1cclxuXHJcbkBmdW5jdGlvbiBzdHItc3BsaXQoJHN0cmluZywgJHNlcGFyYXRvcikge1xyXG4gICAgLy8gZW1wdHkgYXJyYXkvbGlzdFxyXG4gICAgJHNwbGl0LWFycjogKCk7XHJcbiAgICAvLyBmaXJzdCBpbmRleCBvZiBzZXBhcmF0b3IgaW4gc3RyaW5nXHJcbiAgICAkaW5kZXggOiBzdHItaW5kZXgoJHN0cmluZywgJHNlcGFyYXRvcik7XHJcbiAgICAvLyBsb29wIHRocm91Z2ggc3RyaW5nXHJcbiAgICBAd2hpbGUgJGluZGV4ICE9IG51bGwge1xyXG4gICAgICAgIC8vIGdldCB0aGUgc3Vic3RyaW5nIGZyb20gdGhlIGZpcnN0IGNoYXJhY3RlciB0byB0aGUgc2VwYXJhdG9yXHJcbiAgICAgICAgJGl0ZW06IHN0ci1zbGljZSgkc3RyaW5nLCAxLCAkaW5kZXggLSAxKTtcclxuICAgICAgICAvLyBwdXNoIGl0ZW0gdG8gYXJyYXlcclxuICAgICAgICAkc3BsaXQtYXJyOiBhcHBlbmQoJHNwbGl0LWFyciwgJGl0ZW0pO1xyXG4gICAgICAgIC8vIHJlbW92ZSBpdGVtIGFuZCBzZXBhcmF0b3IgZnJvbSBzdHJpbmdcclxuICAgICAgICAkc3RyaW5nOiBzdHItc2xpY2UoJHN0cmluZywgJGluZGV4ICsgMSk7XHJcbiAgICAgICAgLy8gZmluZCBuZXcgaW5kZXggb2Ygc2VwYXJhdG9yXHJcbiAgICAgICAgJGluZGV4IDogc3RyLWluZGV4KCRzdHJpbmcsICRzZXBhcmF0b3IpO1xyXG4gICAgfVxyXG4gICAgLy8gYWRkIHRoZSByZW1haW5pbmcgc3RyaW5nIHRvIGxpc3QgKHRoZSBsYXN0IGl0ZW0pXHJcbiAgICAkc3BsaXQtYXJyOiBhcHBlbmQoJHNwbGl0LWFyciwgJHN0cmluZyk7XHJcblxyXG4gICAgQHJldHVybiAkc3BsaXQtYXJyO1xyXG59XHJcblxyXG4vLyBHZXQgc29jaWFsIGljb24uXHJcbkBmdW5jdGlvbiBzb2NpYWwtaWNvbigkcGxhdGZvcm0pIHtcclxuICAgIEByZXR1cm4gbWFwLWdldCgkc29jaWFsLWljb25zLCAkcGxhdGZvcm0pO1xyXG59XHJcblxyXG4vLyBVc2VkIHRvIGRpc3BsYXkgZGVmYXVsdCBpY29ucyBpZiBubyBzaXRlIHNwZWNpZmMgaWNvbiBoYXMgYmVlbiBkZWZpbmVkLlxyXG5AZnVuY3Rpb24gY3VzdG9tLWljb24tZmFtaWx5KCRkZWZhdWx0LWZvbnQtZmFtaWx5LCAkZW5hYmxlZDogZmFsc2UpIHtcclxuICAgIC8vIElmIGN1c3RvbSBpY29uIGlzIGVuYWJsZWQgYW5kIHRoZSBnbG9iYWwgZmxhZyBpcyBzZXQgdGhlbiBvdXRwdXQgc2l0ZSBzcGVjaWZpYyBmb250IGZhbWlseSwgaWYgJGVuYWJsZWQ9dHJ1ZSBidXQgJHNpdGUtc3BlY2lmaWMtaWNvbnMtZW5hYmxlZCBpcyBmYWxzZSB0aGVuIHlvdSBtb3N0IGxpa2VseSBoYXZlIG5vdCBzZXQgdXAgY3VzdG9tIGljb24gZm9udHMgY29ycmVjdGx5LlxyXG4gICAgQGlmICRlbmFibGVkIGFuZCAkc2l0ZS1zcGVjaWZpYy1pY29ucy1lbmFibGVkIHtcclxuICAgICAgICBAcmV0dXJuICRzaXRlLXNwZWNpZmljLWljb25zLWZvbnQtZmFtaWx5O1xyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgICAgQHJldHVybiAkZGVmYXVsdC1mb250LWZhbWlseTtcclxuICAgIH1cclxufVxyXG5cclxuLy8gVE9ETzogdGhpcyBpcyBhIHdvcmsgaW4gcHJvZ3Jlc3MuXHJcbkBmdW5jdGlvbiBjb250cmFzdC1jaGVja2VyKCRjb2xvdXItYSwgJGNvbG91ci1iKSB7XHJcbiAgICBAaWYgKCRjb2xvdXItYSA9PSBudWxsKSB7XHJcbiAgICAgICAgQGRlYnVnIFwiQ29udHJhc3QgQ2hlY2tlcjogJGNvbG91ci1hIGlzIG51bGwgc28gbm90aGluZyB0byBjb21wYXJlIGRlZmF1bHRpbmcgdG8gI3skY29sb3VyMH0gZm9yICN7JHNpdGV9XCI7XHJcbiAgICAgICAgQHJldHVybiAkY29sb3VyMDtcclxuICAgIH1cclxuICAgIEBpZiAoJGNvbG91ci1iID09IG51bGwpIHtcclxuICAgICAgICBcclxuICAgICAgICBAZXJyb3IgXCJDb250cmFzdCBDaGVja2VyOiAkY29sb3VyLWIgaXMgbnVsbCBkZWZhdWx0aW5nIHRvICRjb2xvdXItYSBmb3IgI3skc2l0ZX0gLSBcIiAkY29sb3VyLWI7XHJcbiAgICAgICAgQHJldHVybiAkY29sb3VyLWE7XHJcbiAgICB9XHJcbiAgICAkcmF0aW86IGNvbG9yLWNvbnRyYXN0KCRjb2xvdXItYSwgJGNvbG91ci1iKTtcclxuICAgICRtYXRjaGVkLWNvbG91cjogXCJcIjtcclxuICAgIC8vIElmIGJhY2tncm91bmQgdHJhbnNwYXJlbnQgdGhlbiBleGl0LlxyXG4gICAgQGlmICRjb2xvdXItYiA9PSB0cmFuc3BhcmVudCB7XHJcbiAgICAgICAgQHJldHVybiAkY29sb3VyLWE7XHJcbiAgICB9XHJcbiAgICAvLyBJZiByYXRpbyBpcyBiZWxvdyB0aHJlc2hvbGQgdGhlbiBmaW5kIGEgZGlmZmVyZW50IGNvbG91ci5cclxuICAgIEBpZiAkcmF0aW8gPCAkY29udHJhc3QtY2hlY2tlci1yYXRpby10aHJlc2hvbGQge1xyXG4gICAgICAgIEBpZiAkZGVidWcgYW5kICRkZWJ1Zy1sZXZlbCA9PSAyIHtcclxuICAgICAgICAgICAgQGRlYnVnICRzaXRlIFwiY29sb3VyXCIgJGNvbG91ci1hIFwiY29udHJhc3QgY29uZmxpY3RzIHdpdGhcIiAkY29sb3VyLWIgXCJhdHRlbXB0aW5nIHRvIGZpbmQgYWx0ZXJuYXRpdmUuXCIgJHJhdGlvOyBcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gRmluZCB0aGUgZmlyc3QgY29sb3VyIHRoYXQgaXMgYWJvdmUgdGhlIHJhdGlvIHRocmVzaG9sZC5cclxuICAgICAgICBAZWFjaCAkY29sb3VyIGluICRjb250cmFjdC1jaGVja2VyLWNvbG91ci1mYWxsYmFja3Mge1xyXG4gICAgICAgICAgICBAaWYgY29sb3ItY29udHJhc3QoJGNvbG91ciwgJGNvbG91ci1iKSA+PSAkY29udHJhc3QtY2hlY2tlci1yYXRpby10aHJlc2hvbGQge1xyXG4gICAgICAgICAgICAgICAgJG1hdGNoZWQtY29sb3VyOiAkY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgQGlmICRkZWJ1ZyBhbmQgJGRlYnVnLWxldmVsID09IDIge1xyXG4gICAgICAgICAgICAgICAgICAgIEBkZWJ1ZyAkc2l0ZSBcImFsdGVybmF0aXZlIGZvdW5kISBcIiAkbWF0Y2hlZC1jb2xvdXI7IFxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgQHJldHVybiAkY29sb3VyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBcclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIC8vIElmIHRoZSByYXRpbyBpcyBiZWxvdyB0aGUgdGhyZXNob2xkIHRoZW4gcmV0dXJuICRjb2xvdXItYS5cclxuICAgICAgICAkbWF0Y2hlZC1jb2xvdXI6ICRjb2xvdXItYTtcclxuICAgIH1cclxuICAgIEByZXR1cm4gJG1hdGNoZWQtY29sb3VyO1xyXG59XHJcblxyXG4vLyBUbyBjcmVhdGUgYW4gaWdub3JlIGxpc3QgYXMgOm5vdCgpIGRvZXNuJ3QgY3VycmVudGx5IHN1cHBvcnQgbXVsdGlwbGUgc2VsZWN0b3JzLiBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy81Njg0MTYwL2Nhbi10aGUtbm90LXBzZXVkby1jbGFzcy1oYXZlLW11bHRpcGxlLWFyZ3VtZW50c1xyXG5AbWl4aW4gbm90KCRpZ25vckxpc3QuLi4pIHtcclxuICAgIC8vaWYgb25seSBhIHNpbmdsZSB2YWx1ZSBnaXZlblxyXG4gICAgQGlmIChsZW5ndGgoJGlnbm9yTGlzdCkgPT0gMSl7XHJcbiAgICAgICAgLy9pdCBpcyBwcm9iYWJseSBhIGxpc3QgdmFyaWFibGUgc28gc2V0IGlnbm9yZSBsaXN0IHRvIHRoZSB2YXJpYWJsZVxyXG4gICAgICAgICRpZ25vckxpc3Q6IG50aCgkaWdub3JMaXN0LDEpO1xyXG4gICAgfVxyXG4gICAgLy9zZXQgdXAgYW4gZW1wdHkgJG5vdE91dHB1dCB2YXJpYWJsZVxyXG4gICAgJG5vdE91dHB1dDogJyc7XHJcbiAgICAvL2ZvciBlYWNoIGl0ZW0gaW4gdGhlIGxpc3RcclxuICAgIEBlYWNoICRub3QgaW4gJGlnbm9yTGlzdCB7XHJcbiAgICAgICAgLy9nZW5lcmF0ZSBhIDpub3QoW2lnbm9yZWRfaXRlbV0pIHNlZ21lbnQgZm9yIGVhY2ggaXRlbSBpbiB0aGUgaWdub3JlIGxpc3QgYW5kIHB1dCB0aGVtIGJhY2sgdG8gYmFja1xyXG4gICAgICAgICRub3RPdXRwdXQ6ICRub3RPdXRwdXQgKyAnOm5vdCgjeyRub3R9KSc7XHJcbiAgICB9XHJcbiAgICAvL291dHB1dCB0aGUgZnVsbCA6bm90KCkgcnVsZSBpbmNsdWRpbmcgYWxsIGlnbm9yZWQgaXRlbXNcclxuICAgICYjeyRub3RPdXRwdXR9IHtcclxuICAgICAgICBAY29udGVudDtcclxuICAgIH1cclxufVxyXG5cclxuLy8gQ2hlY2sgd2hldGhlciBhIG1hcCBoYXMgYSBrZXkuXHJcbkBmdW5jdGlvbiBjb250YWlucygkbGlzdCwgJHZhcmlhYmxlKSB7XHJcbiAgICBAcmV0dXJuIG1hcC1oYXMta2V5KCRsaXN0LCAkdmFyaWFibGUpO1xyXG59XHJcblxyXG4vLyBHZXQgdHlwb2dyYXBoeSBmb250IGZhbWlseS5cclxuQGZ1bmN0aW9uIGdldC10eXBvZ3JhcGh5LWZvbnQtZmFtaWx5KCRmYW1pbHk6IHByaW1hcnktZm9udCkge1xyXG4gICAgQGlmIG1hcC1oYXMta2V5KCR0eXBvZ3JhZ2h5LWZvbnQtZmFtaWxpZXMsICRmYW1pbHkpIHtcclxuICAgICAgICBAcmV0dXJuIG1hcC1nZXQoJHR5cG9ncmFnaHktZm9udC1mYW1pbGllcywgJGZhbWlseSk7XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgICAvLyBNYWtlIGFuIGFzc3VtcHRpb24gdGhhdCB0aGVyZSB3aWxsIGFsd2F5cyBiZSBhIHByaW1hcnktZm9udCBkZWZpbmVkLlxyXG4gICAgICAgIEBpZiBtYXAtaGFzLWtleSgkdHlwb2dyYWdoeS1mb250LWZhbWlsaWVzLCBwcmltYXJ5LWZvbnQpIHtcclxuICAgICAgICAgICAgQHJldHVybiBtYXAtZ2V0KCR0eXBvZ3JhZ2h5LWZvbnQtZmFtaWxpZXMsIHByaW1hcnktZm9udCk7XHJcbiAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgIEBlcnJvciBcImdldC1mb250LWZhbWlseTogRmFpbGVkIHRvIGZhbGxiYWNrIHRvIHByaW1hcnktZm9udCBmb3IgI3skc2l0ZX0sIGlzIGl0IGRlZmluZWQ/XCI7XHJcbiAgICAgICAgICAgIEByZXR1cm4gXCJBcmlhbFwiO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gR2VuZXJhdGVzIGNvbG91ciBwYWxsZXRlIGJhc2VkIG9uIGEgYmFzZSBjb2xvdXIgdGhlbiBsaWdodGVuJ3MgYnkgMTAlIGVhY2ggbGV2ZWwuXHJcbkBmdW5jdGlvbiBjcmVhdGUtY29sb3VyLXZhcmlhbnRzKCRjb2xvdXIsICRsZXZlbHM6IDkpIHtcclxuICAgIC8vIFdvcmtvdXQgYmFzZSBjb2xvdXIuXHJcbiAgICAkYmFzZS1jb2xvdXI6IG1hcC1nZXQoJGNvbG91ciwgMCk7XHJcbiAgICBAaWYgKCRiYXNlLWNvbG91ciA9PSBudWxsKSB7XHJcbiAgICAgICAgQHJldHVybiAoKTtcclxuICAgIH1cclxuICAgIC8vIENyZWF0ZSBtYXAgdGhhdCBuZXcgY29sb3VycyBnZXQgaGVsZCBpbi5cclxuICAgICRjb2xvdXJzOiAoKTtcclxuICAgIC8vIENyZWF0ZSBuZXcgY29sb3Vycy5cclxuICAgIEBmb3IgJGxldmVsIGZyb20gMSB0aHJvdWdoICRsZXZlbHMge1xyXG4gICAgICAgIC8vIEJ1aWxkIHN0cmVuZ3RoIGJhc2VkIG9uIGNvdW50LlxyXG4gICAgICAgICRzdHJlbmd0aDogcGVyY2VudGFnZSgoJGxldmVsIC8gMTApKTtcclxuICAgICAgICAvLyBPdXRwdXQgQ1NTIHZhcmlhYmxlIHdpdGggbmV3IGxpZ2h0bmVzcy5cclxuICAgICAgICAkbmV3LWNvbG91cjogc2NhbGUtY29sb3IoJGJhc2UtY29sb3VyLCAkbGlnaHRuZXNzOiAkc3RyZW5ndGgpO1xyXG4gICAgICAgIC8vIEFkZCBuZXcgY29sb3VyIHRvIG1hcC5cclxuICAgICAgICAkY29sb3VyczogbWFwLW1lcmdlKCRjb2xvdXJzLCAoJGxldmVsOiAkbmV3LWNvbG91cikpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIEFkZCA5NSUgbGlnaHRuZXNzLCB0aGlzIGlzIHJlcXVpcmVkIGFzIG1vc3Qgc2l0ZXMgcmVxdWlyZSBhIHRvbmUgYmV0d2VlZW4gOTAgfiA5OCUgZm9yIGJ1dHRvbnMsIGhlYWRpbmcgYmFja2dyb3VuZHMgb3IgcGFuZWwgc2hhZGluZyAoIGkuZSBiYXNrZXQgc3VtbWFyeSApLlxyXG4gICAgJGNvbG91cnM6IG1hcC1tZXJnZSgkY29sb3VycywgKCgkbGV2ZWxzICsgMSk6IHNjYWxlLWNvbG9yKCRiYXNlLWNvbG91ciwgJGxpZ2h0bmVzczogOTUpKSk7XHJcblxyXG4gICAgLy8gUmV0dXJuIG5ldyBjb2xvdXJzLlxyXG4gICAgQHJldHVybiAkY29sb3VycztcclxufSIsIi8qKlxyXG5cclxuU2l0ZSBzcGVjaWZpYyBicmFuZGluZyAoIGNvbG91cnMgJiBmb250cyApIGFueSBzYXNzIG92ZXJyaWRlcyBnZXQgZGVmaW5lZCBoZXJlIGFzIHdlbGwuXHJcblxyXG5bIElNUE9SVEFOVCBdIC0gWW91IG1heWJlIGNvbXBlbGxlZCB0byB3cml0ZSBiZXNwb2tlIGNzcyBydWxlcyBhdCB0aGUgYm90dG9tIG9mIHRoZSBmaWxlIGp1c3QgdG8gbWFrZSBhIFwiIHF1aWNrIFwiIHNpdGUgc3BlY2lmaWMgY2hhbmdlIGJ1dCB0aGlzIFdJTEwgY29uZmxpY3Qgd2l0aCB0aGUgY3NzIGJlaW5nIGRlZmluZWQgaW4gL2dsb2JhbCBhbmQgL2NvbXBvbmVudCBlaXRoZXIgZnJvbSBhIGNvbmZpZ3VyYXRpb24gc3RhbmNlIG9yIHJlc3BvbnNpdmUgcG9pbnQgb2Ygdmlldywgc28gcGxlYXNlIGNvbnN1bHQvbW9kaWZ5IHRob3NlIDIgZGlyZWN0b3JpZXMgYXMgbmVlZGVkLCB0aGlzIGZpbGUgd2FzIG9ubHkgdG8gZGVzaWduZWQgZm9yIFNBU1MgdmFyaWFibGVzLlxyXG5cclxuKiovXHJcbi8vIFNpdGUgbmFtZS5cclxuJHNpdGU6ICdkam1pbGVzJztcclxuLy8gSWYgdGhlIGVuaXJvbm1lbnQgaXMgbm90IGRlZmluZWQuXHJcbiRlbnZpcm9ubWVudDogXCJkZXZlbG9wbWVudFwiICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tLS0gU2V0IEJyYW5kaW5nIC0tLS0tXHJcblxyXG4vLyBJbXBvcnQgY3VzdG9tIGZvbnQgZmFtaWx5LlxyXG4kY3VzdG9tLWZvbnQtdXJsOiAnL3RlbXBsYXRlL2NvbnRlbnQvJyArICRlbnZpcm9ubWVudCArICcvY3NzL3dlYmZvbnRzL2dpYnNvbi8nO1xyXG5cclxuLy8gTGlnaHRcclxuQGZvbnQtZmFjZSB7XHJcbiAgICBmb250LWZhbWlseTogXCJHaWJzb25cIjtcclxuICAgIHNyYzogdXJsKCRjdXN0b20tZm9udC11cmwgKyAnZ2lic29uLWxpZ2h0Lm90ZicpO1xyXG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcclxuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxufVxyXG4vLyBMaWdodCBpdGFsaWNcclxuQGZvbnQtZmFjZSB7XHJcbiAgICBmb250LWZhbWlseTogXCJHaWJzb25cIjtcclxuICAgIHNyYzogdXJsKCRjdXN0b20tZm9udC11cmwgKyAnZ2lic29uLWxpZ2h0LWl0YWxpYy5vdGYnKTtcclxuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XHJcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbn1cclxuLy8gUmVndWxhclxyXG5AZm9udC1mYWNlIHtcclxuICAgIGZvbnQtZmFtaWx5OiBcIkdpYnNvblwiO1xyXG4gICAgc3JjOiB1cmwoJGN1c3RvbS1mb250LXVybCArICdnaWJzb24tcmVndWxhci5vdGYnKTtcclxuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XHJcbn1cclxuLy8gSXRhbGljXHJcbkBmb250LWZhY2Uge1xyXG4gICAgZm9udC1mYW1pbHk6IFwiR2lic29uXCI7XHJcbiAgICBzcmM6IHVybCgkY3VzdG9tLWZvbnQtdXJsICsgJ2dpYnNvbi1pdGFsaWMub3RmJyk7XHJcbiAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xyXG59XHJcbi8vLyBTZW1pLWJvbGRcclxuQGZvbnQtZmFjZSB7XHJcbiAgICBmb250LWZhbWlseTogXCJHaWJzb25cIjtcclxuICAgIHNyYzogdXJsKCRjdXN0b20tZm9udC11cmwgKyAnZ2lic29uLXNlbWlib2xkLm90ZicpO1xyXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxufVxyXG4vLyBTZW1pLWJvbGQgaXRhbGljXHJcbkBmb250LWZhY2Uge1xyXG4gICAgZm9udC1mYW1pbHk6IFwiR2lic29uXCI7XHJcbiAgICBzcmM6IHVybCgkY3VzdG9tLWZvbnQtdXJsICsgJ2dpYnNvbi1zZW1pYm9sZC1pdGFsaWMub3RmJyk7XHJcbiAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xyXG59XHJcbi8vIEJvbGRcclxuQGZvbnQtZmFjZSB7XHJcbiAgICBmb250LWZhbWlseTogXCJHaWJzb25cIjtcclxuICAgIHNyYzogdXJsKCRjdXN0b20tZm9udC11cmwgKyAnZ2lic29uLWJvbGQub3RmJyk7XHJcbiAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG59XHJcbi8vIEJvbGQgSXRhbGljXHJcbkBmb250LWZhY2Uge1xyXG4gICAgZm9udC1mYW1pbHk6IFwiR2lic29uXCI7XHJcbiAgICBzcmM6IHVybCgkY3VzdG9tLWZvbnQtdXJsICsgJ2dpYnNvbi1ib2xkLWl0YWxpYy5vdGYnKTtcclxuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbn1cclxuLy8gQXMgdGhlIGZvbnRzIGFyZSBvbiBkaXNrIHdlIGRvbid0IG5lZWQgdG8gaW1wb3J0IHRoZW0gZnJvbSBhIGNkbi5cclxuJHR5cG9ncmFwZ2h5LWZvbnQtZmFtaWxpZXMtY2RuLWltcG9ydDogKCk7XHJcblxyXG4kdHlwb2dyYWdoeS1mb250LWZhbWlsaWVzOiAoXHJcbiAgICBwcmltYXJ5LWZvbnQ6IChcIkdpYnNvblwiLCBcIkdpYnNvbiBGYWxsYmFja1wiLCBcIkFyaWFsXCIpXHJcbik7XHJcblxyXG4kZm9udC1mYWxsYmFjay1tZXRyaWNzOiAoXHJcbiAgICBwcmltYXJ5OiAoXHJcbiAgICAgICAgZmFsbGJhY2s6ICdBcmlhbCcsXHJcbiAgICAgICAgc2l6ZS1hZGp1c3Q6IDk0JSxcclxuICAgICAgICBhc2NlbnQtb3ZlcnJpZGU6IDgwLjAwJSxcclxuICAgICAgICBkZXNjZW50LW92ZXJyaWRlOiAyMC4wMCUsXHJcbiAgICAgICAgbGluZS1nYXAtb3ZlcnJpZGU6IDAuMDAlXHJcbiAgICApXHJcbik7XHJcblxyXG4vLyBJY29ucy5cclxuLy8gRW5hYmxlIHNpdGUgc3BlY2lmYyBpY29ucy5cclxuJHNpdGUtc3BlY2lmaWMtaWNvbnMtZW5hYmxlZDogdHJ1ZTtcclxuJHNpdGUtaWNvbnMtY3VzdG9tLWNoZXZyb25zOiB0cnVlO1xyXG5cclxuJGNoZXZyb24taWNvbnM6IChcclxuICAgIHVwOiAnXFxFODAyJyxcclxuICAgIHJpZ2h0OiAnXFxFODAxJyxcclxuICAgIGRvd246ICdcXEU4MDMnLFxyXG4gICAgbGVmdDogJ1xcRTgwMCdcclxuKTtcclxuXHJcbi8vIC0tLS0tIFNldCBjb2xvdXIgcGFsbGV0dCAtLS0tLSBcclxuJGNvbG91cjMtMzogIzg4ODg4ODtcclxuJGNvbG91cjMtNjogIzc3Nzc3NztcclxuJGNvbG91cjQ6ICMwNjA1MmY7XHJcbiRjb2xvdXI0LTE6ICRjb2xvdXI0O1xyXG4kY29sb3VyNC0yOiAkY29sb3VyNDtcclxuJGNvbG91cjQtMzogIzUwNTA2ZDtcclxuJGNvbG91cjQtNDogJGNvbG91cjQ7XHJcbiRjb2xvdXI0LTU6ICRjb2xvdXI0O1xyXG4kY29sb3VyNC02OiAkY29sb3VyNDtcclxuJGNvbG91cjQtNzogJGNvbG91cjQ7XHJcbiRjb2xvdXI2OiAjYWU5NDYxO1xyXG4kYWNjZW50LWNvbG91ci00OiAoXHJcbiAgICAwOiAkY29sb3VyNlxyXG4pO1xyXG5cclxuLy8gSW1wb3J0IGRlZmF1bHQgYnJhbmRpbmcgZ3VpZGVsaW5lcy5cclxuQGltcG9ydCAnLi4vLi4vZ2xvYmFsL2JyYW5kaW5nJztcclxuXHJcbi8vIC0tLS0tIFNBU1Mgb3ZlcnJpZGVzIC0tLS0tXHJcbiRhY2NvcmRpb25zLWFycm93LWZvbnQtc2l6ZTogMTBweDtcclxuLy8gLS0tLS0gSW5wdXRzIC0tLS0tIFxyXG4kcXVhbnRpdHktaW5wdXQtaGVpZ2h0OiA0MHB4O1xyXG4kcXVhbnRpdHktbGFiZWwtZm9udC13ZWlnaHQ6IDQwMDtcclxuJHNlbGVjdC1kcm9wZG93bi1kZWZhdWx0LWhlaWdodDogJHF1YW50aXR5LWlucHV0LWhlaWdodDtcclxuJHNlbGVjdC1kcm9wZG93bi1jaGV2cm9uLXNpemU6IDlweDtcclxuJGlucHV0LWJvcmRlci1tYWluLWNvbG91cjogJGNvbG91cjMtNDtcclxuJGlucHV0LWJvcmRlci1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRpbnB1dC1ib3JkZXItbWFpbi1jb2xvdXIsXHJcbiAgICBkaXNhYmxlZDogcmdiYSgkaW5wdXQtYm9yZGVyLW1haW4tY29sb3VyLCAwLjcpLFxyXG4gICAgYWN0aXZlOiAkaW5wdXQtYm9yZGVyLW1haW4tY29sb3VyLFxyXG4gICAgYWN0aXZlLWhvdmVyOiAkaW5wdXQtYm9yZGVyLW1haW4tY29sb3VyLFxyXG4gICAgaG92ZXI6IHRyYW5zcGFyZW50LFxyXG4gICAgaW52YWxpZDogbWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKVxyXG4pO1xyXG4kaW5wdXQtcGxhY2Vob2xkZXItZm9udC1zaXplOiAxODtcclxuJGlucHV0LXNlYXJjaC1wbGFjZWhvbGRlci1jb2xvdXI6ICRjb2xvdXI0O1xyXG4kaW5wdXQtc2VhcmNoLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjEsXHJcbiAgICBob3ZlcjogJGNvbG91cjYsXHJcbiAgICBhY3RpdmU6bGlnaHRlbigkY29sb3VyNiwgMTIlKVxyXG4pO1xyXG4kc2VhcmNoLWJ1dHRvbi1pY29uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjQtMSxcclxuICAgIGhvdmVyOiAkY29sb3VyMSxcclxuICAgIGFjdGl2ZTogJGNvbG91cjEsXHJcbik7XHJcbi8vIEhlYWRlclxyXG4kaGVhZGVyLXVwcGVyLWljb25zLWJvcmRlci1yYWRpdXM6IDA7XHJcbiRoZWFkZXItdXBwZXItaWNvbnMtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNixcclxuICAgIGhvdmVyOiAkY29sb3VyNCxcclxuICAgIGFjdGl2ZTogJGNvbG91cjFcclxuKTtcclxuJGhlYWRlci11cHBlci1pY29ucy1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjEsXHJcbiAgICBob3ZlcjogJGNvbG91cjEsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI2XHJcbik7XHJcbiRoZWFkZXItbG9nby13aWR0aDogKFxyXG4gICAgbGFyZ2U6IDE0MHB4LFxyXG4gICAgbWluaWZpZWQ6IDMwcHgsXHJcbiAgICBzbWFsbDogNjVweFxyXG4pO1xyXG4kaGVhZGVyLXVwcGVyLWZvbnQtc2l6ZTogMTY7XHJcbiRoZWFkZXItdGFnbGluZS1oZWlnaHQ6IDYycHg7XHJcbiRoZWFkaW5nLXRhZ2xpbmUtcGFkZGluZzogMTdweCAwO1xyXG4kaGVhZGVyLXRhZ2xpbmUtZm9udC13ZWlnaHQ6IDYwMDtcclxuJGhlYWRlci10YWdsaW5lLWZvbnQtc2l6ZTogMTUuMjtcclxuJGhlYWRlci10YWdsaW5lLXRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiRoZWFkZXItdGFnbGluZS1sZXR0ZXItc3BhY2luZzogMnB4O1xyXG4kbG9nby1jb250YWluZXItcGFkZGluZzogKFxyXG4gICAgc21hbGw6IDAgMCAxMHB4IDEwcHgsXHJcbiAgICBsYXJnZTogMCAxMHB4IDAgMFxyXG4pO1xyXG4kYWMtdGl0bGUtdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuJGFjLXRpdGxlLWxldHRlci1zcGFjaW5nOiAuNXB4O1xyXG4kYWMtdGl0bGUtY29sbGVjdGlvbi1mb250LXdlaWdodDogNDAwO1xyXG4kYmFza2V0LXByZXZpZXctaWNvbi1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjYsXHJcbiAgICB3YXJuaW5nOiBtYXAtZ2V0KCR3YXJuaW5nLWNvbG91ciwgMCksXHJcbiAgICBhbGVydDogbWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKVxyXG4pO1xyXG4kYmFza2V0LXByZXZpZXctYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIxLFxyXG4gICAgd2FybmluZzogbWFwLWdldCgkd2FybmluZy1jb2xvdXIsIDkpLFxyXG4gICAgYWxlcnQ6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgOSlcclxuKTtcclxuJGJhc2tldC1wcmV2aWV3LWJvcmRlcjogdHJ1ZTtcclxuJGJhc2tldC1wcmV2aWV3LWJvcmRlci1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IG1hcC1nZXQoJGlucHV0LWJvcmRlci1jb2xvdXIsZGVmYXVsdCksXHJcbiAgICBob3ZlcjogbWFwLWdldCgkYmFza2V0LXByZXZpZXctYmFja2dyb3VuZC1jb2xvdXIsIGhvdmVyKSxcclxuICAgIGFsZXJ0OiBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1iYWNrZ3JvdW5kLWNvbG91ciwgYWxlcnQpXHJcbik7XHJcbiRoZWFkZXItd2VsY29tZS10ZXh0LWZvbnQtc2l6ZTogMTY7XHJcbiRoZWFkZXItd2VsY29tZS10ZXh0LWNvbG91cjogJGNvbG91cjMtMztcclxuJGhlYWRlci13ZWxjb21lLXRleHQtZm9udC13ZWlnaHQ6IDQwMDtcclxuJHVzcC1iYXItcGFkZGluZzogKFxyXG4gICAgc21hbGw6IDVweCAwIDcuNXB4LFxyXG4gICAgbGFyZ2U6IDE1cHggMCAxMHB4XHJcbik7XHJcbiR1c3AtZm9udC1zdHlsZTogbm9ybWFsO1xyXG4kdXNwLWZvbnQtd2VpZ2h0OiA0MDA7XHJcbiR1c3Atc2VwZXJhdG9yLWRpbWVudGlvbnM6IChcclxuICAgIHdpZHRoOiAzcHgsXHJcbiAgICBoZWlnaHQ6IDEwMCVcclxuKTtcclxuJHVzcC1hbmNob3ItaW5kaWNhdG9yOiB0cnVlO1xyXG4kdXNwLWFuY2hvci1pbmRpY2F0b3ItY3VzdG9tLWljb246IHRydWU7XHJcbiR1c3AtdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuJHZhdC1zd2l0Y2hlci1mb250LXNpemU6IDEyO1xyXG4kdmF0LXN3aXRjaGVyLWluZGljYXRvci1ib3JkZXItcmFkaXVzOiAzcHg7XHJcbiR2YXQtc3dpdGNoZXItYm9yZGVyLWNvbG91cjogKFxyXG4gICAgZXhjbHVzaXZlOiAkY29sb3VyMy0yLFxyXG4gICAgaW5jbHVzaXZlOiAkY29sb3VyMy0xXHJcbikgO1xyXG4kdmF0LXN3aXRjaGVyLXBhZGRsZS1jb2xvdXI6IChcclxuICAgIGV4Y2x1c2l2ZTogJGNvbG91cjQsXHJcbiAgICBpbmNsdXNpdmU6ICRjb2xvdXI2XHJcbik7XHJcbiRicmVhZGNydW1icy12YXQtc3dpdGNoZXItcGFkZGluZzogKFxyXG4gICAgc21hbGw6IDdweCxcclxuICAgIGxhcmdlOiA1cHhcclxuKTtcclxuJGJyZWFkY3J1bWJzLXNlcGVyYXRvci1zaXplOiA3cHg7XHJcblxyXG4vLyAtLS0tLSBNZW51cyAtLS0tLSBcclxuJG1lbnUtZHJvcGRvd24tYXJyb3dzOiB0cnVlO1xyXG4kbWVudS1kcm9wZG93bi1hcnJvd3Mtc2l6ZTogOHB4O1xyXG4kbWVnYS1tZW51LWxpbmstaWNvbi1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogMCAxMHB4IDAgMCxcclxuICAgIGxhcmdlOiAwIDEwcHhcclxuKTtcclxuJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtcGFkZGluZzogKFxyXG4gICAgc21hbGw6IDE1cHggMCAxNXB4IDEwcHgsXHJcbiAgICBsYXJnZTogMTJweCAxNXB4XHJcbik7XHJcbiRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LXdlaWdodDogKFxyXG4gICAgc21hbGw6IDQwMCxcclxuICAgIGxhcmdlOiA0MDBcclxuKTtcclxuJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtc2l6ZTogKFxyXG4gICAgc21hbGw6IDIwLFxyXG4gICAgbGFyZ2U6IDE2XHJcbik7XHJcbiRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LXNlcGVyYXRvcnM6IGZhbHNlO1xyXG4kbWVnYS1tZW51LWxpbmstaWNvbi1zaXplOiA4cHg7XHJcbiRtZWdhLW1lbnUtcGFyZW50LXRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiRtZWdhLW1lbnUtcGFyZW50LWZvbnQtd2VpZ2h0OiAoXHJcbiAgICBzbWFsbDogNjAwLFxyXG4gICAgbGFyZ2U6IDYwMFxyXG4pO1xyXG4kbWVnYS1tZW51LXBhcmVudC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI0LFxyXG4gICAgaG92ZXI6ICRjb2xvdXI2LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNFxyXG4pO1xyXG4kbWVnYS1tZW51LWNoaWxkLWNvbG91cjogKFxyXG4gICAgc21hbGw6ICRjb2xvdXIyLFxyXG4gICAgbGFyZ2UtZGVmYXVsdDogJGNvbG91cjMtNixcclxuICAgIGxhcmdlLWhvdmVyOiAkY29sb3VyNixcclxuICAgIGxhcmdlLWFjdGl2ZTogJGNvbG91cjRcclxuKTtcclxuJG1lbnVzLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBzbWFsbDogJGNvbG91cjEsXHJcbiAgICBsYXJnZTogJGNvbG91cjRcclxuKTtcclxuJG1lZ2EtbWVudS12aWV3LW1vcmUtZm9udC13ZWlnaHQ6IDQwMDtcclxuJG1lZ2EtbWVudS12aWV3LW1vcmUtZm9udC1zdHlsZTogaXRhbGljO1xyXG5cclxuLy8gLS0tLS0gTW9kdWxlcyAtLS0tLS0gXHJcbiRjbXMtbW9kdWxlLWVudHJ5LXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiAoMTVweCwgMjVweCksXHJcbiAgICBsYXJnZTogKDI1cHgsIDUwcHgpXHJcbik7XHJcbiRtb2R1bGVzLW1vZHVsZS1tYXJnaW46IChcclxuICAgIHNtYWxsOiAxMHB4LFxyXG4gICAgbGFyZ2U6IDcuNXB4XHJcbik7XHJcbiRjbXMtbW9kdWxlLXN1cHByZXNzLWxpc3QtYnV0dG9uOiAoXHJcbiAgICBibG9nOiB0cnVlLFxyXG4gICAgZXZlbnRzOiB0cnVlLFxyXG4gICAgbmV3czogdHJ1ZVxyXG4pO1xyXG4kbW9kdWxlcy1jbXMtYXNzb2NpYXRlZC1iYW5uZXItb2JqZWN0LWZpdC1kZWZhdWx0OiBjb3ZlcjtcclxuJG1vZHVsZXMtY21zLWFzc29jaWF0ZWQtYmFubmVyLW9iamVjdC1maXQ6IChcclxuICAgIGV2ZW50czogJG1vZHVsZXMtY21zLWFzc29jaWF0ZWQtYmFubmVyLW9iamVjdC1maXQtZGVmYXVsdCxcclxuICAgIG5ld3M6ICRtb2R1bGVzLWNtcy1hc3NvY2lhdGVkLWJhbm5lci1vYmplY3QtZml0LWRlZmF1bHQsXHJcbiAgICBibG9nOiBjb250YWluLFxyXG4gICAgZW50cnk6IGNvbnRhaW5cclxuKTtcclxuJG1vZHVsZXMtY21zLWFzc29jaWF0ZWQtYmFubmVyLWhlaWdodDogKFxyXG4gICAgZXZlbnRzOiA1NTBweCxcclxuICAgIG5ld3M6IDM3NXB4LFxyXG4gICAgYmxvZzogMzgwcHgsXHJcbiAgICBlbnRyeTogMzgwcHhcclxuKTtcclxuJG1vZHVsZXMtYmxvZy15LWd1dHRlcjogdHJ1ZTtcclxuJG1vZHVsZXMtYmxvZy1jb250ZW50LXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiAwLFxyXG4gICAgbGFyZ2U6IDAgNDBweCAwIDBcclxuKTtcclxuJG1vZHVsZXMtYmxvZy1tYXJnaW46IChcclxuICAgIHNtYWxsOiAxNXB4LFxyXG4gICAgbGFyZ2U6IDI1cHggNTBweFxyXG4pO1xyXG4kbW9kdWxlcy1uZXdzLW1hcmdpbjogKFxyXG4gICAgc21hbGw6ICgwIDI1cHgpLFxyXG4gICAgbGFyZ2U6ICgyNXB4IDUwcHgpXHJcbik7XHJcbiRyZWFkLW1vcmUtZm9udC13ZWlnaHQ6IDQwMDtcclxuJHJlYWQtbW9yZS10ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4kcmVhZC1tb3JlLXN1ZmZpeC1pY29uOiB0cnVlO1xyXG4kcmVhZC1tb3JlLXN1ZmZpeC1jdXN0b20taWNvbjogdHJ1ZTtcclxuLy8gLS0tIENhcm91c2VscyAoIGNvbGxlY3Rpb25zICkgLS0tIFxyXG4kY29sbGVjdGlvbi1jb250cm9scy1jb21wYWN0OiB0cnVlO1xyXG4kY29sbGVjdGlvbi1lYmctY2VsbC1wYWRkaW5nOiAwO1xyXG4kY29sbGVjdGlvbi1hbmNob3ItY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNCwgXHJcbiAgICBob3ZlcjogJGNvbG91cjYsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI0LTNcclxuKTtcclxuJGNvbGxlY3Rpb24tZWJnLWRlc2NyaXB0aW9uLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNC0zLFxyXG4gICAgaG92ZXI6ICRjb2xvdXIxLFxyXG4gICAgYWN0aXZlOiB0cmFuc3BhcmVudFxyXG4pO1xyXG4kY29sbGVjdGlvbi1lYmctZGVzY3JpcHRpb24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMSxcclxuICAgIGhvdmVyOiBob3Zlci1jb2xvdXIoJGNvbGxlY3Rpb24tYW5jaG9yLWNvbG91ciksXHJcbiAgICBhY3RpdmU6IGFjdGl2ZS1jb2xvdXIoJGNvbGxlY3Rpb24tYW5jaG9yLWNvbG91cilcclxuKTtcclxuJGNvbGxlY3Rpb24tZGVzY3JpcHRpb24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMSxcclxuICAgIGhvdmVyOiAkY29sb3VyNCxcclxuICAgIGFjdGl2ZTogJGNvbG91cjJcclxuKTtcclxuJGNvbGxlY3Rpb24tZGVzY3JpcHRpb24taG92ZXItdW5kZXJsaW5lOiBmYWxzZTtcclxuJGNvbGxlY3Rpb24taG92ZXItaW1hZ2Utc2NhbGU6IC45O1xyXG4kY29sbGVjdGlvbi1lYmctZGVzY3JpcHRpb24tZm9udC13ZWlnaHQ6IDMwMDtcclxuJGNvbGxlY3Rpb24tZWJnLWRlc2NyaXB0aW9uLWZvbnQtc2l6ZTogMTg7XHJcbiRjb2xsZWNpdG9uLWViZy1kZXNjcmlwdGlvbi10ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4kY29sbGVjdGlvbi1lYmctZGVzY3JpcHRpb24tcGFkZGluZzogMjBweCA1cHg7XHJcbiRjb2xsZWN0aW9uLWltYWdlLXNlcGVyYXRvcjogdHJ1ZTtcclxuJGNvbGxlY3Rpb24tZGVzY3JpcHRpb24tZm9udC13ZWlnaHQ6IDYwMDtcclxuJGNvbGxlY3Rpb24tZGVzY3JpcHRpb24tbGluZS1oZWlnaHQ6IDEuMjtcclxuJGNvbGxlY2l0b24tZGVzY3JpcHRpb24tdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuJGNvbGxlY3Rpb24tY29kZS1mb250LXNpemU6IDE1O1xyXG4kYngtY29udHJvbHMtZGltZW50aW9uczogKFxyXG4gICAgc21hbGw6IDQ1cHgsXHJcbiAgICBub3JtYWw6IDMwcHgsXHJcbiAgICBsYXJnZTogNDVweFxyXG4pO1xyXG4kYngtY29udHJvbHMtYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIzLTEsIFxyXG4gICAgaG92ZXI6ICRjb2xvdXIxLFxyXG4gICAgYWN0aXZlOiAkY29sb3VyMVxyXG4pO1xyXG4kYngtY29udHJvbHMtaWNvbi1zaXplOiAoXHJcbiAgICBzbWFsbDogMTRweCxcclxuICAgIGxhcmdlOiAxNHB4XHJcbik7XHJcblxyXG4vLyAtLS0tLSBUeXBvZ3JhcGh5IC0tLS0tIFxyXG4kZGVmYXVsdC1saW5lLWhlaWdodDogMS42O1xyXG4kcHJpY2UtY29sb3VyOiAkY29sb3VyNDtcclxuJHByaWNlLWZvbnQtd2VpZ2h0OiA0MDA7XHJcbiRwcmljZS1sYWJlbC1mb250LXdlaWdodDogJHByaWNlLWZvbnQtd2VpZ2h0O1xyXG4kcHJpY2UtZm9udC1zaXplOiAxNjtcclxuJHByaWNlLXZhdC1mb250LXdlaWdodDogNDAwO1xyXG4kY29kZS1jb2xvdXI6ICRjb2xvdXIzLTM7XHJcbiRycnAtc3RyaWtlOiBmYWxzZTtcclxuJHJycC1mb250LXdlaWdodDogNDAwO1xyXG4kc2F2aW5nLWZvbnQtd2VpZ2h0OiA0MDA7XHJcbiRzdG9jay1pbmRpY2F0b3Itd2VpZ2h0OiA0MDA7XHJcbiRwYXJhZ3JhcGgtZm9udC1zaXplOiAxNjtcclxuJGhlYWRpbmctMS1mb250LXdlaWdodDogKFxyXG4gICAgcHJlc2V0LTE6IDQwMCxcclxuICAgIHByZXNldC0yOiAzMDBcclxuKTtcclxuJGhlYWRpbmctMS10ZXh0LXRyYW5zZm9ybTogKCBcclxuICAgIHByZXNldC0xOiB1cHBlcmNhc2UsXHJcbiAgICBwcmVzZXQtMjogbm9uZVxyXG4pO1xyXG4kaGVhZGluZy0yLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBwcmVzZXQtMTogJGNvbG91cjQtMyxcclxuICAgIHByZXNldC0zOiBudWxsLFxyXG4gICAgcHJlc2V0LTQ6ICRjb2xvdXI0LTNcclxuKTtcclxuJGhlYWRpbmctMi1jb2xvdXI6IChcclxuICAgIHByZXNldC0xOiAkY29sb3VyMSxcclxuICAgIHByZXNldC0yOiAkY29sb3VyNCxcclxuICAgIHByZXNldC0zOiAkY29sb3VyNCxcclxuICAgIHByZXNldC00OiAkY29sb3VyMVxyXG4pO1xyXG4kaGVhZGluZy0yLXRleHQtdHJhbnNmb3JtOiAoXHJcbiAgICBwcmVzZXQtMTogdXBwZXJjYXNlLFxyXG4gICAgcHJlc2V0LTI6IG5vbmUsXHJcbiAgICBwcmVzZXQtMzogbm9uZSxcclxuICAgIHByZXNldC00OiB1cHBlcmNhc2VcclxuKTtcclxuJGhlYWRpbmctMi1mb250LXdlaWdodDogKFxyXG4gICAgcHJlc2V0LTE6IDMwMCxcclxuICAgIHByZXNldC0yOiAzMDAsXHJcbiAgICBwcmVzZXQtMzogbWFwLWdldCgkaGVhZGluZy0xLWZvbnQtd2VpZ2h0LCBwcmVzZXQtMSksXHJcbiAgICBwcmVzZXQtNDogMzAwXHJcbik7XHJcbiRoZWFkaW5nLTItcGFkZGluZzogKFxyXG4gICAgcHJlc2V0LTE6IDVweCAwLFxyXG4gICAgcHJlc2V0LTM6IDAgMCAyMHB4LFxyXG4gICAgcHJlc2V0LTQ6IDVweCAwXHJcbik7XHJcbiRoZWFkaW5nLTEtZm9udC1zaXplOiAoXHJcbiAgICBwcmVzZXQtMTogMjQsXHJcbiAgICBwcmVzZXQtMjogMzFcclxuKTtcclxuJGhlYWRpbmctMi1mb250LXNpemU6IChcclxuICAgIHByZXNldC0xOiAyMCxcclxuICAgIHByZXNldC0yOiAyMCxcclxuICAgIHByZXNldC0zOiAyMi40LFxyXG4gICAgcHJlc2V0LTQ6IDIwXHJcbik7XHJcbiRoZWFkaW5nLTItbGV0dGVyLXNwYWNpbmc6IChcclxuICAgIHByZXNldC0xOiAxcHgsXHJcbiAgICBwcmVzZXQtMjogbm9ybWFsLFxyXG4gICAgcHJlc2V0LTM6IG5vcm1hbFxyXG4pO1xyXG4kaGVhZGluZy0yLXdvcmQtc3BhY2luZzogKFxyXG4gICAgcHJlc2V0LTE6IDJweCxcclxuICAgIHByZXNldC0yOiBub3JtYWwsXHJcbiAgICBwcmVzZXQtMzogbm9ybWFsXHJcbik7XHJcbiRoZWFkaW5nLTMtZm9udC1zaXplOiAoXHJcbiAgICBwcmVzZXQtMTogMTcsXHJcbiAgICBwcmVzZXQtMjogbWFwLWdldCgkaGVhZGluZy0yLWZvbnQtc2l6ZSwgcHJlc2V0LTMpXHJcbik7XHJcbiRoZWFkaW5nLTMtZm9udC13ZWlnaHQ6IChcclxuICAgIGRlZmF1bHQ6IDQwMCxcclxuICAgIHByZXNldC0xOiA2MDBcclxuKTtcclxuLy8gLS0tIENNUyAtLS0gXHJcbiRjbXMtaGVhZGluZy1tYXJnaW46IChcclxuICAgIGgxOiAwIDAgMzVweCxcclxuICAgIGgyOiAwIDAgMjBweCxcclxuICAgIGgzOiAwIDAgMjBweCxcclxuICAgIGg0OiAwIDAgMjBweCxcclxuICAgIGg1OiAwIDAgMjBweCxcclxuICAgIGg2OiAwIDAgMjBweFxyXG4pO1xyXG4kY21zLWhlYWRpbmctY29sb3VyOiAoXHJcbiAgICBoMTogJGNvbG91cjQsXHJcbiAgICBoMjogJGNvbG91cjQsXHJcbiAgICBoMzogJGNvbG91cjQsXHJcbiAgICBoNDogJGNvbG91cjQsXHJcbiAgICBoNTogJGNvbG91cjQsXHJcbiAgICBoNjogJGNvbG91cjRcclxuKSA7XHJcbiRjbXMtaGVhZGluZy1mb250LXNpemU6IChcclxuICAgIGgxOiAobWFwLWdldCgkaGVhZGluZy0xLWZvbnQtc2l6ZSwgcHJlc2V0LTEpICsgMTApLFxyXG4gICAgaDI6IG1hcC1nZXQoJGhlYWRpbmctMi1mb250LXNpemUsIHByZXNldC0xKSxcclxuICAgIGgzOiAxOCxcclxuICAgIGg0OiAxOS4yLFxyXG4gICAgaDU6ICRwYXJhZ3JhcGgtZm9udC1zaXplLFxyXG4gICAgaDY6ICRwYXJhZ3JhcGgtZm9udC1zaXplXHJcbik7XHJcbiRjbXMtaGVhZGluZy1mb250LXdlaWdodDogKFxyXG4gICAgaDE6IDQwMCxcclxuICAgIGgyOiA2MDAsXHJcbiAgICBoMzogNjAwLFxyXG4gICAgaDQ6IDUwMCxcclxuICAgIGg1OiA2MDAsXHJcbiAgICBoNjogNjAwXHJcbik7XHJcbiRjbXMtaGVhZGluZy1saW5lLWhlaWdodDogMS40O1xyXG4kY21zLXRhYmxlLWhlYWQtZm9udC13ZWlnaHQ6IDYwMDtcclxuJGRlZmF1bHQtY21zLWNvcHktY29sb3VyOiAkY29sb3VyMy02O1xyXG4kY21zLXBhZ2luYXRpb24tYnV0dG9uLWljb24tc2l6ZTogMjBweDtcclxuJHRib2R5LWFuY2hvci1mb250LXdlaWdodDogNTAwO1xyXG4kdGJvZHktYW5jaG9yLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjQsXHJcbiAgICBob3ZlcjogJGNvbG91cjYsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI0XHJcbik7XHJcbi8vIC0tLSBBbmNob3JzIC0tLSBcclxuJGZvcmdvdHRlbi1wYXNzd29yZC1hbmNob3ItZm9udC13ZWlnaHQ6IDQwMDtcclxuJGZvcmdvdHRlbi1wYXNzb3dyZC1hbmNob3ItZm9udC1zdHlsZTogbm9uZTtcclxuLy8gLS0tLS0gRm9ybXMgLS0tLS0gXHJcbiRpbnB1dC1wbGFjZWhvbGRlci1mb250LXdlaWdodDogNDAwO1xyXG4kcmVxdWlyZWQtcHJvbXB0LWZvbnQtd2VpZ2h0OiA0MDA7XHJcbiRmaWVsZHNldC1zdWItaGVhZGluZy1mb250LXN0eWxlOiBub25lO1xyXG4kaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ6IDYwMDtcclxuJGlucHV0LWVycm9yLWZvbnQtc2l6ZTogMTM7XHJcbi8vIC0tLS0tIEJ1dHRvbnMgLS0tLS1cclxuJGNvbW1vbi1idXR0b24tcGFkZGluZzogMTBweCAyMHB4O1xyXG4kY29tbW9uLWJ1dHRvbi1mb250LXdlaWdodHM6IChcclxuICAgIGFzc29jaWF0ZWQ6ICRpbnB1dC1wbGFjZWhvbGRlci1mb250LXdlaWdodCxcclxuICAgIHN0YW5kYWxvbmU6IDQwMFxyXG4pO1xyXG4kY29tbW9uLWJ1dHRvbi1mb250LXNpemVzOiAoXHJcbiAgICBhc3NvY2lhdGVkOiAxMyxcclxuICAgIHN0YW5kYWxvbmU6IDE0XHJcbik7XHJcbiRjb21tb24tYnV0dG9uLXRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiRwcmltYXJ5LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogI2U2ZTZlYSxcclxuICAgIGhvdmVyOiAkY29sb3VyNixcclxuICAgIGFjdGl2ZTogJGNvbG91cjRcclxuKTtcclxuJHByaW1hcnktYnV0dG9uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjQsXHJcbiAgICBob3ZlcjogJGNvbG91cjEsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXIxXHJcbik7XHJcbiRwcmltYXJ5LWJ1dHRvbi1ib3JkZXItY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAjZTZlNmVhLFxyXG4gICAgaG92ZXI6ICRjb2xvdXI2LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNFxyXG4pO1xyXG4kc2Vjb25kYXJ5LWJ1dHRvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI0LFxyXG4gICAgaG92ZXI6ICRjb2xvdXIxLFxyXG4gICAgYWN0aXZlOiAkY29sb3VyMSxcclxuICAgIGRpc2FibGVkOiBtYXAtZ2V0KCRwcmltYXJ5LWJ1dHRvbi1jb2xvdXIsIGRpc2FibGVkKVxyXG4pO1xyXG5cclxuLy8kbm90LWxvZ2dlZC1pbi1idXR0b24tcGFkZGluZzogOC41cHggNXB4O1xyXG4kbm90LWxvZ2dlZC1pbi1idXR0b24tYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI2LFxyXG4gICAgaG92ZXI6ICAkY29sb3VyNCwgXHJcbiAgICBhY3RpdmU6ICAkY29sb3VyNlxyXG4pO1xyXG4kbm90LWxvZ2dlZC1pbi1idXR0b24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMSxcclxuICAgIGhvdmVyOiAkY29sb3VyMSxcclxuICAgIGFjdGl2ZTogJGNvbG91cjFcclxuKTtcclxuJG5vdC1sb2dnZWQtaW4tYnV0dG9uLWJvcmRlci1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI2LFxyXG4gICAgaG92ZXI6ICRjb2xvdXI0LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNlxyXG4pO1xyXG4kZmF2b3VyaXRlcy1idXR0b24tbGFiZWwtZm9udC13ZWlnaHQ6IDQwMDtcclxuJGZhdm91cml0ZXMtYnV0dG9uLWxhYmVsLWZvbnQtc2l6ZTogMTY7XHJcbi8vIC0tLSBUYWJsZXMgLS0tXHJcbiR0aGVhZC1wcmVzZXQtMTogKFxyXG4gICAgcGFkZGluZzogMCAwIDI1cHgsIFxyXG4gICAgZm9udC1zaXplOiAxNixcclxuICAgIGZvbnQtd2VpZ2h0OiA0MDAsXHJcbiAgICBjb2xvcjogJGNvbG91cjQsXHJcbiAgICByb3ctYm9yZGVyOiAxcHggc29saWQgJGNvbG91cjMtMSxcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIwLFxyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyLFxyXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZVxyXG4pO1xyXG4kdGhlYWQtcHJlc2V0LTI6IChcclxuICAgIHBhZGRpbmc6IDAgMCAyMHB4LFxyXG4gICAgZm9udC1zaXplOiAxNSxcclxuICAgIGZvbnQtd2VpZ2h0OiA0MDAsXHJcbiAgICBjb2xvcjogJGNvbG91cjIsXHJcbiAgICByb3ctYm9yZGVyOiAxcHggc29saWQgJGNvbG91cjMtMixcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIwXHJcbik7XHJcbi8vIC0tLS0tIFByb2R1Y3QgbGlzdGluZyAtLS0tLVxyXG4kc29ydGluZy1vcHRpb25zLWZvbnQtd2VpZ2h0OiA0MDA7XHJcbiRsaXN0LWl0ZW0tZGVzY3JpcHRpb24tZGVmYXVsdC1mb250LXdlaWdodDogNjAwO1xyXG4kbGlzdC1pdGVtLWRlc2NyaXB0aW9uLWRlZmF1bHQtY29sb3VyOiAkY29sb3VyNDtcclxuLy8gLS0tIEZpbHRlcnMgLS0tIFxyXG4kZmlsdGVycy1vcHRpb24taGVhZGluZy1mb250LXdlaWdodDogNjAwO1xyXG4vLyAtLS0tLSBQcm9kdWN0IFBhZ2UgLS0tLS0gXHJcbiRwcm9kdWN0LXByZXZpb3VzbHktcHVyY2hhc2VkLWhlYWRpbmctZm9udC13ZWlnaHQ6IDYwMDtcclxuJHByb2R1Y3QtbWFpbi1oZWFkaW5nLWZvbnQtc2l6ZTogbWFwLWdldCgkaGVhZGluZy0xLWZvbnQtc2l6ZSwgcHJlc2V0LTEpO1xyXG4kcHJvZHVjdC1tYWluLWhlYWRpbmctZm9udC13ZWlnaHQ6IDYwMDtcclxuJHByb2R1Y3QtbWFpbi1oZWFkaW5nLWZvbnQtc2l6ZTogMjQ7XHJcbiRwcm9kdWN0LWNhc2UtcHJpY2UtZm9udC13ZWlnaHQ6IDQwMDtcclxuJHByb2R1Y3Qtbm90ZXMtaGVhZGluZy1mb250LXdlaWdodDogNDAwO1xyXG4kcHJvZHVjdC1ub3Rlcy1oZWFkaW5nLXNpemU6IDE4O1xyXG4kbGlnaHRib3gtY2xvc2UtYnV0dG9uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjMsXHJcbiAgICBob3ZlcjogJGNvbG91cjYsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXIxXHJcbik7XHJcbiR0YWJzLXRpdGxlLWZvbnQtd2VpZ2h0OiA0MDA7XHJcbiR0YWJzLXRpdGxlLXRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiR0YWJzLXRpdGxlLWljb24tc2l6ZTogMTBweDtcclxuJHByb2R1Y3QtY29kZS1mb250LXdlaWdodDogNjAwO1xyXG4kcHJvZHVjdC1xdWFudGl0eS1wcmNpZS1icmVhay1oZWFkaW5nLWZvbnQtd2VpZ2h0OiA2MDA7XHJcbiRwcm9kdWN0LWVucXVpcnktbGFiZWwtdmFsdWUtcGFpci1sYWJlbC1mb250LXdlaWdodDogNjAwO1xyXG4kcHJvZHVjdC1lbnF1aXJ5LW11bHRpLWxpbmUtaGVhZGluZy1mb250LXNpemU6IDE2O1xyXG4kcHJvZHVjdC1lbnF1aXJ5LW11bHRpLWxpbmUtaGVhZGluZy1mb250LXdlaWdodDogNjAwO1xyXG4kcHJvZHVjdC1lbnF1aXJ5LXByaWNlLWZvbnQtd2VpZ2h0OiA2MDA7XHJcbiRwcm9kdWN0LWVucXVpcnktc2hhcmUtYnV0dG9uLWZvbnQtd2VpZ2h0OiA0MDA7XHJcbiRwcm9kdWN0LWVucXVpcnktb3B0aW9uYWwtZXh0cmFzLWRlc2NyaXB0aW9uLWZvbnQtd2VpZ2h0OiA0MDA7XHJcbiRwcm9kdWN0LXByZXZpb3VzbHktcHVyY2hhc2VkLXZpZXctb3JkZXItYnV0dG9uLWZvbnQtc2l6ZTogMTU7XHJcbi8vIC0tLS0tIEZpbGUgQXR0YWNobWVudHMgLS0tLS0gXHJcbiRmaWxlLWFuY2hvci1mb250LXdlaWdodDogNDAwO1xyXG4vLyAtLS0tLSBBY2NvdW50IC0tLS0tIFxyXG4kYWNjb3VudC1wYWdlLWl0ZW0tZm9udC13ZWlnaHQ6IChcclxuICAgIGFjY291bnQtcGFnZTogNjAwLFxyXG4gICAgYWNjb3VudC1tZW51OiA2MDBcclxuKTtcclxuLy8gLS0tLS0gQmFza2V0IC0tLS0tIFxyXG4kYmFza2V0LXN1bW1hcnktaGVhZGluZy10ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4kYmFza2V0LXN1bW1hcnktZm9udC13ZWlnaHQ6IChcclxuICAgIGRlZmF1bHQ6IDYwMCxcclxuICAgIGhvdmVyOiA2MDBcclxuKTtcclxuJGJhc2tldC1kZXNjcmlwdGlvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI0LFxyXG4gICAgaG92ZXI6ICRjb2xvdXI2LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyMy02XHJcbik7XHJcbiRiYXNrZXQtZGVzY3JpcHRpb24tbGluZS1oZWlnaHQ6IDE3cHg7XHJcbiRiYXNrZXQtZGVzY3JpcHRpb24tZm9udC13ZWlnaHQ6IDYwMDtcclxuJGJhc2tldC1kZXNjcmlwdGlvbi10ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4kYmFza2V0LWNvbnRyb2xzLWZvbnQtd2VpZ2h0OiA0MDA7XHJcbiRjaGVja291dC1zYWdlcGF5LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjQsXHJcbiAgICBob3ZlcjogJGNvbG91cjYsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXIzLTZcclxuKTtcclxuJGNoZWNrb3V0LXNhZ2VwYXktYnV0dG9uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjEsXHJcbiAgICBob3ZlcjogJGNvbG91cjEsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXIyXHJcbik7XHJcbiRwYXltZW50LW1ldGhvZC1pZnJhbWUtaGVpZ2h0OiAoXHJcbiAgICBkZWZhdWx0OiA1MDBweCxcclxuICAgIG9wYXlvOiA1NTBweFxyXG4pO1xyXG4vLyAtLS0tLSBGb290ZXIgLS0tLS0gXHJcbiRmb290ZXItcGFkZGluZzogKFxyXG4gICAgc21hbGw6IDIwcHggMTBweCxcclxuICAgIG1lZGl1bTogNjVweCAxMHB4IDIwcHgsXHJcbiAgICBsYXJnZTogNjVweCAwIDIwcHhcclxuKTtcclxuJGZvb3Rlci1wYXJlbnQtZm9udC1zaXplOiAxNjtcclxuJGZvb3Rlci1wYXJlbnQtZm9udC13ZWlnaHQ6IDQwMDtcclxuJGZvb3Rlci1wYXJlbnQtdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuJGZvb3Rlci1saXN0LW1hcmdpbi10b3A6IDQwcHg7XHJcbiRmb290ZXItbGlzdC1jaGlsZC1pdGVtLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjMtNixcclxuICAgIGhvdmVyOiAkY29sb3VyNixcclxuICAgIGFjdGl2ZTogJGNvbG91cjJcclxuKTtcclxuJGZvb3Rlci1jaGlsZC1mb250LXdlaWdodDogNDAwO1xyXG4kZm9vdGVyLWxpc3QtY2hpbGQtdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuJHNvY2lhbC1pY29uLWNvbG91ci1tb2RlOiBcInNvY2lhbC1icmFuZGluZ1wiO1xyXG4kZm9vdGVyLWNvcHlyaWdodC1wYXJhZ3JhcGgtY29sb3VyOiAkY29sb3VyNDtcclxuJGZvb3Rlci1jb3B5cmlnaHQtdGV4dC10cmFuc2Zvcm06ICRmb290ZXItbGlzdC1jaGlsZC10ZXh0LXRyYW5zZm9ybTtcclxuJGZvb3Rlci1jb3B5cmlnaHQtcGFyYWdyYXBoLXNpemU6IDE0O1xyXG4kZm9vdGVyLWNvcHlyaWdodC1wYXJhZ3JhcGgtd2VpZ2h0OiAzMDA7XHJcbiRmb290ZXItY29weXJpZ2h0LWxpbmUtaGVpZ2h0OiAyNXB4O1xyXG4kZm9vdGVyLWNvcHlyaWdodC1hbmNob3Itd2VpZ2h0OiAkZm9vdGVyLWNvcHlyaWdodC1wYXJhZ3JhcGgtd2VpZ2h0O1xyXG5cclxuXHJcbi8vIC0tLS0tIEJhY2sgdG8gdG9wIC0tLS0tXHJcbiRiYWNrLXRvLXRvcC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIxLFxyXG4gICAgaG92ZXI6ICRjb2xvdXIxLFxyXG4gICAgYWN0aXZlOiAkY29sb3VyMVxyXG4pO1xyXG5cclxuLy8gLS0tLS0gU29jaWFsIEljb25zIC0tLS0tLVxyXG4kc29jaWFsLWljb25zLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMSxcclxuICAgIGhvdmVyOiAkY29sb3VyNixcclxuICAgIGFjdGl2ZTogJGNvbG91cjRcclxuKSAhZGVmYXVsdDtcclxuJHNvY2lhbC1pY29ucy1ib3JkZXItY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBtYXAtZ2V0KCRzb2NpYWwtaWNvbnMtYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpLFxyXG4gICAgaG92ZXI6ICRjb2xvdXI2LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNFxyXG4pO1xyXG4iLCIvKiFcbiAqIEZvbnQgQXdlc29tZSBGcmVlIDYuNS4xIGJ5IEBmb250YXdlc29tZSAtIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tXG4gKiBMaWNlbnNlIC0gaHR0cHM6Ly9mb250YXdlc29tZS5jb20vbGljZW5zZS9mcmVlIChJY29uczogQ0MgQlkgNC4wLCBGb250czogU0lMIE9GTCAxLjEsIENvZGU6IE1JVCBMaWNlbnNlKVxuICogQ29weXJpZ2h0IDIwMjMgRm9udGljb25zLCBJbmMuXG4gKi9cbkBpbXBvcnQgJ2Z1bmN0aW9ucyc7XG5AaW1wb3J0ICd2YXJpYWJsZXMnO1xuXG46cm9vdCwgOmhvc3Qge1xuICAtLSN7JGZhLWNzcy1wcmVmaXh9LXN0eWxlLWZhbWlseS1icmFuZHM6ICdGb250IEF3ZXNvbWUgNiBCcmFuZHMnO1xuICAtLSN7JGZhLWNzcy1wcmVmaXh9LWZvbnQtYnJhbmRzOiBub3JtYWwgNDAwIDFlbS8xICdGb250IEF3ZXNvbWUgNiBCcmFuZHMnO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNiBCcmFuZHMnO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtZGlzcGxheTogJGZhLWZvbnQtZGlzcGxheTtcbiAgc3JjOiB1cmwoJyN7JGZhLWZvbnQtcGF0aH0vZmEtYnJhbmRzLTQwMC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICB1cmwoJyN7JGZhLWZvbnQtcGF0aH0vZmEtYnJhbmRzLTQwMC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyk7XG59XG5cbi5mYWIsXG4uI3skZmEtY3NzLXByZWZpeH0tYnJhbmRzIHtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuQGVhY2ggJG5hbWUsICRpY29uIGluICRmYS1icmFuZC1pY29ucyB7XG4gIC4jeyRmYS1jc3MtcHJlZml4fS0jeyRuYW1lfTpiZWZvcmUgeyBjb250ZW50OiB1bnF1b3RlKFwiXFxcIiN7ICRpY29uIH1cXFwiXCIpOyB9XG59XG4iLCIvLyB2YXJpYWJsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRmYS1jc3MtcHJlZml4ICAgICAgICAgIDogZmEgIWRlZmF1bHQ7XG4kZmEtc3R5bGUgICAgICAgICAgICAgICA6IDkwMCAhZGVmYXVsdDtcbiRmYS1zdHlsZS1mYW1pbHkgICAgICAgIDogXCJGb250IEF3ZXNvbWUgNiBGcmVlXCIgIWRlZmF1bHQ7XG5cbiRmYS1kaXNwbGF5ICAgICAgICAgICAgIDogaW5saW5lLWJsb2NrICFkZWZhdWx0O1xuXG4kZmEtZnctd2lkdGggICAgICAgICAgICA6IGZhLWRpdmlkZSgyMGVtLCAxNikgIWRlZmF1bHQ7XG4kZmEtaW52ZXJzZSAgICAgICAgICAgICA6ICNmZmYgIWRlZmF1bHQ7XG5cbiRmYS1ib3JkZXItY29sb3IgICAgICAgIDogI2VlZSAhZGVmYXVsdDtcbiRmYS1ib3JkZXItcGFkZGluZyAgICAgIDogLjJlbSAuMjVlbSAuMTVlbSAhZGVmYXVsdDtcbiRmYS1ib3JkZXItcmFkaXVzICAgICAgIDogLjFlbSAhZGVmYXVsdDtcbiRmYS1ib3JkZXItc3R5bGUgICAgICAgIDogc29saWQgIWRlZmF1bHQ7XG4kZmEtYm9yZGVyLXdpZHRoICAgICAgICA6IC4wOGVtICFkZWZhdWx0O1xuXG4kZmEtc2l6ZS1zY2FsZS0yeHMgICAgICA6IDEwICFkZWZhdWx0O1xuJGZhLXNpemUtc2NhbGUteHMgICAgICAgOiAxMiAhZGVmYXVsdDtcbiRmYS1zaXplLXNjYWxlLXNtICAgICAgIDogMTQgIWRlZmF1bHQ7XG4kZmEtc2l6ZS1zY2FsZS1iYXNlICAgICA6IDE2ICFkZWZhdWx0O1xuJGZhLXNpemUtc2NhbGUtbGcgICAgICAgOiAyMCAhZGVmYXVsdDtcbiRmYS1zaXplLXNjYWxlLXhsICAgICAgIDogMjQgIWRlZmF1bHQ7XG4kZmEtc2l6ZS1zY2FsZS0yeGwgICAgICA6IDMyICFkZWZhdWx0O1xuXG4kZmEtc2l6ZXM6IChcbiAgXCIyeHNcIiAgICAgICAgICAgICAgICAgOiAkZmEtc2l6ZS1zY2FsZS0yeHMsXG4gIFwieHNcIiAgICAgICAgICAgICAgICAgIDogJGZhLXNpemUtc2NhbGUteHMsXG4gIFwic21cIiAgICAgICAgICAgICAgICAgIDogJGZhLXNpemUtc2NhbGUtc20sXG4gIFwibGdcIiAgICAgICAgICAgICAgICAgIDogJGZhLXNpemUtc2NhbGUtbGcsXG4gIFwieGxcIiAgICAgICAgICAgICAgICAgIDogJGZhLXNpemUtc2NhbGUteGwsXG4gIFwiMnhsXCIgICAgICAgICAgICAgICAgIDogJGZhLXNpemUtc2NhbGUtMnhsXG4pICFkZWZhdWx0O1xuXG4kZmEtbGktd2lkdGggICAgICAgICAgICA6IDJlbSAhZGVmYXVsdDtcbiRmYS1saS1tYXJnaW4gICAgICAgICAgIDogJGZhLWxpLXdpZHRoICogZmEtZGl2aWRlKDUsIDQpICFkZWZhdWx0O1xuXG4kZmEtcHVsbC1tYXJnaW4gICAgICAgICA6IC4zZW0gIWRlZmF1bHQ7XG5cbiRmYS1wcmltYXJ5LW9wYWNpdHkgICAgIDogMSAhZGVmYXVsdDtcbiRmYS1zZWNvbmRhcnktb3BhY2l0eSAgIDogLjQgIWRlZmF1bHQ7XG5cbiRmYS1zdGFjay12ZXJ0aWNhbC1hbGlnbjogbWlkZGxlICFkZWZhdWx0O1xuJGZhLXN0YWNrLXdpZHRoICAgICAgICAgOiAoJGZhLWZ3LXdpZHRoICogMikgIWRlZmF1bHQ7XG4kZmEtc3RhY2stei1pbmRleCAgICAgICA6IGF1dG8gIWRlZmF1bHQ7XG5cbiRmYS1mb250LWRpc3BsYXkgICAgICAgIDogYmxvY2sgIWRlZmF1bHQ7XG4kZmEtZm9udC1wYXRoICAgICAgICAgICA6IFwiLi4vd2ViZm9udHNcIiAhZGVmYXVsdDtcblxuJGZhLXZhci0wOiBcXDMwO1xuJGZhLXZhci0xOiBcXDMxO1xuJGZhLXZhci0yOiBcXDMyO1xuJGZhLXZhci0zOiBcXDMzO1xuJGZhLXZhci00OiBcXDM0O1xuJGZhLXZhci01OiBcXDM1O1xuJGZhLXZhci02OiBcXDM2O1xuJGZhLXZhci03OiBcXDM3O1xuJGZhLXZhci04OiBcXDM4O1xuJGZhLXZhci05OiBcXDM5O1xuJGZhLXZhci1maWxsLWRyaXA6IFxcZjU3NjtcbiRmYS12YXItYXJyb3dzLXRvLWNpcmNsZTogXFxlNGJkO1xuJGZhLXZhci1jaXJjbGUtY2hldnJvbi1yaWdodDogXFxmMTM4O1xuJGZhLXZhci1jaGV2cm9uLWNpcmNsZS1yaWdodDogXFxmMTM4O1xuJGZhLXZhci1hdDogXFw0MDtcbiRmYS12YXItdHJhc2gtY2FuOiBcXGYyZWQ7XG4kZmEtdmFyLXRyYXNoLWFsdDogXFxmMmVkO1xuJGZhLXZhci10ZXh0LWhlaWdodDogXFxmMDM0O1xuJGZhLXZhci11c2VyLXhtYXJrOiBcXGYyMzU7XG4kZmEtdmFyLXVzZXItdGltZXM6IFxcZjIzNTtcbiRmYS12YXItc3RldGhvc2NvcGU6IFxcZjBmMTtcbiRmYS12YXItbWVzc2FnZTogXFxmMjdhO1xuJGZhLXZhci1jb21tZW50LWFsdDogXFxmMjdhO1xuJGZhLXZhci1pbmZvOiBcXGYxMjk7XG4kZmEtdmFyLWRvd24tbGVmdC1hbmQtdXAtcmlnaHQtdG8tY2VudGVyOiBcXGY0MjI7XG4kZmEtdmFyLWNvbXByZXNzLWFsdDogXFxmNDIyO1xuJGZhLXZhci1leHBsb3Npb246IFxcZTRlOTtcbiRmYS12YXItZmlsZS1saW5lczogXFxmMTVjO1xuJGZhLXZhci1maWxlLWFsdDogXFxmMTVjO1xuJGZhLXZhci1maWxlLXRleHQ6IFxcZjE1YztcbiRmYS12YXItd2F2ZS1zcXVhcmU6IFxcZjgzZTtcbiRmYS12YXItcmluZzogXFxmNzBiO1xuJGZhLXZhci1idWlsZGluZy11bjogXFxlNGQ5O1xuJGZhLXZhci1kaWNlLXRocmVlOiBcXGY1Mjc7XG4kZmEtdmFyLWNhbGVuZGFyLWRheXM6IFxcZjA3MztcbiRmYS12YXItY2FsZW5kYXItYWx0OiBcXGYwNzM7XG4kZmEtdmFyLWFuY2hvci1jaXJjbGUtY2hlY2s6IFxcZTRhYTtcbiRmYS12YXItYnVpbGRpbmctY2lyY2xlLWFycm93LXJpZ2h0OiBcXGU0ZDE7XG4kZmEtdmFyLXZvbGxleWJhbGw6IFxcZjQ1ZjtcbiRmYS12YXItdm9sbGV5YmFsbC1iYWxsOiBcXGY0NWY7XG4kZmEtdmFyLWFycm93cy11cC10by1saW5lOiBcXGU0YzI7XG4kZmEtdmFyLXNvcnQtZG93bjogXFxmMGRkO1xuJGZhLXZhci1zb3J0LWRlc2M6IFxcZjBkZDtcbiRmYS12YXItY2lyY2xlLW1pbnVzOiBcXGYwNTY7XG4kZmEtdmFyLW1pbnVzLWNpcmNsZTogXFxmMDU2O1xuJGZhLXZhci1kb29yLW9wZW46IFxcZjUyYjtcbiRmYS12YXItcmlnaHQtZnJvbS1icmFja2V0OiBcXGYyZjU7XG4kZmEtdmFyLXNpZ24tb3V0LWFsdDogXFxmMmY1O1xuJGZhLXZhci1hdG9tOiBcXGY1ZDI7XG4kZmEtdmFyLXNvYXA6IFxcZTA2ZTtcbiRmYS12YXItaWNvbnM6IFxcZjg2ZDtcbiRmYS12YXItaGVhcnQtbXVzaWMtY2FtZXJhLWJvbHQ6IFxcZjg2ZDtcbiRmYS12YXItbWljcm9waG9uZS1saW5lcy1zbGFzaDogXFxmNTM5O1xuJGZhLXZhci1taWNyb3Bob25lLWFsdC1zbGFzaDogXFxmNTM5O1xuJGZhLXZhci1icmlkZ2UtY2lyY2xlLWNoZWNrOiBcXGU0Yzk7XG4kZmEtdmFyLXB1bXAtbWVkaWNhbDogXFxlMDZhO1xuJGZhLXZhci1maW5nZXJwcmludDogXFxmNTc3O1xuJGZhLXZhci1oYW5kLXBvaW50LXJpZ2h0OiBcXGYwYTQ7XG4kZmEtdmFyLW1hZ25pZnlpbmctZ2xhc3MtbG9jYXRpb246IFxcZjY4OTtcbiRmYS12YXItc2VhcmNoLWxvY2F0aW9uOiBcXGY2ODk7XG4kZmEtdmFyLWZvcndhcmQtc3RlcDogXFxmMDUxO1xuJGZhLXZhci1zdGVwLWZvcndhcmQ6IFxcZjA1MTtcbiRmYS12YXItZmFjZS1zbWlsZS1iZWFtOiBcXGY1Yjg7XG4kZmEtdmFyLXNtaWxlLWJlYW06IFxcZjViODtcbiRmYS12YXItZmxhZy1jaGVja2VyZWQ6IFxcZjExZTtcbiRmYS12YXItZm9vdGJhbGw6IFxcZjQ0ZTtcbiRmYS12YXItZm9vdGJhbGwtYmFsbDogXFxmNDRlO1xuJGZhLXZhci1zY2hvb2wtY2lyY2xlLWV4Y2xhbWF0aW9uOiBcXGU1NmM7XG4kZmEtdmFyLWNyb3A6IFxcZjEyNTtcbiRmYS12YXItYW5nbGVzLWRvd246IFxcZjEwMztcbiRmYS12YXItYW5nbGUtZG91YmxlLWRvd246IFxcZjEwMztcbiRmYS12YXItdXNlcnMtcmVjdGFuZ2xlOiBcXGU1OTQ7XG4kZmEtdmFyLXBlb3BsZS1yb29mOiBcXGU1Mzc7XG4kZmEtdmFyLXBlb3BsZS1saW5lOiBcXGU1MzQ7XG4kZmEtdmFyLWJlZXItbXVnLWVtcHR5OiBcXGYwZmM7XG4kZmEtdmFyLWJlZXI6IFxcZjBmYztcbiRmYS12YXItZGlhZ3JhbS1wcmVkZWNlc3NvcjogXFxlNDc3O1xuJGZhLXZhci1hcnJvdy11cC1sb25nOiBcXGYxNzY7XG4kZmEtdmFyLWxvbmctYXJyb3ctdXA6IFxcZjE3NjtcbiRmYS12YXItZmlyZS1mbGFtZS1zaW1wbGU6IFxcZjQ2YTtcbiRmYS12YXItYnVybjogXFxmNDZhO1xuJGZhLXZhci1wZXJzb246IFxcZjE4MztcbiRmYS12YXItbWFsZTogXFxmMTgzO1xuJGZhLXZhci1sYXB0b3A6IFxcZjEwOTtcbiRmYS12YXItZmlsZS1jc3Y6IFxcZjZkZDtcbiRmYS12YXItbWVub3JhaDogXFxmNjc2O1xuJGZhLXZhci10cnVjay1wbGFuZTogXFxlNThmO1xuJGZhLXZhci1yZWNvcmQtdmlueWw6IFxcZjhkOTtcbiRmYS12YXItZmFjZS1ncmluLXN0YXJzOiBcXGY1ODc7XG4kZmEtdmFyLWdyaW4tc3RhcnM6IFxcZjU4NztcbiRmYS12YXItYm9uZzogXFxmNTVjO1xuJGZhLXZhci1zcGFnaGV0dGktbW9uc3Rlci1mbHlpbmc6IFxcZjY3YjtcbiRmYS12YXItcGFzdGFmYXJpYW5pc206IFxcZjY3YjtcbiRmYS12YXItYXJyb3ctZG93bi11cC1hY3Jvc3MtbGluZTogXFxlNGFmO1xuJGZhLXZhci1zcG9vbjogXFxmMmU1O1xuJGZhLXZhci11dGVuc2lsLXNwb29uOiBcXGYyZTU7XG4kZmEtdmFyLWphci13aGVhdDogXFxlNTE3O1xuJGZhLXZhci1lbnZlbG9wZXMtYnVsazogXFxmNjc0O1xuJGZhLXZhci1tYWlsLWJ1bGs6IFxcZjY3NDtcbiRmYS12YXItZmlsZS1jaXJjbGUtZXhjbGFtYXRpb246IFxcZTRlYjtcbiRmYS12YXItY2lyY2xlLWg6IFxcZjQ3ZTtcbiRmYS12YXItaG9zcGl0YWwtc3ltYm9sOiBcXGY0N2U7XG4kZmEtdmFyLXBhZ2VyOiBcXGY4MTU7XG4kZmEtdmFyLWFkZHJlc3MtYm9vazogXFxmMmI5O1xuJGZhLXZhci1jb250YWN0LWJvb2s6IFxcZjJiOTtcbiRmYS12YXItc3RyaWtldGhyb3VnaDogXFxmMGNjO1xuJGZhLXZhci1rOiBcXDRiO1xuJGZhLXZhci1sYW5kbWFyay1mbGFnOiBcXGU1MWM7XG4kZmEtdmFyLXBlbmNpbDogXFxmMzAzO1xuJGZhLXZhci1wZW5jaWwtYWx0OiBcXGYzMDM7XG4kZmEtdmFyLWJhY2t3YXJkOiBcXGYwNGE7XG4kZmEtdmFyLWNhcmV0LXJpZ2h0OiBcXGYwZGE7XG4kZmEtdmFyLWNvbW1lbnRzOiBcXGYwODY7XG4kZmEtdmFyLXBhc3RlOiBcXGYwZWE7XG4kZmEtdmFyLWZpbGUtY2xpcGJvYXJkOiBcXGYwZWE7XG4kZmEtdmFyLWNvZGUtcHVsbC1yZXF1ZXN0OiBcXGUxM2M7XG4kZmEtdmFyLWNsaXBib2FyZC1saXN0OiBcXGY0NmQ7XG4kZmEtdmFyLXRydWNrLXJhbXAtYm94OiBcXGY0ZGU7XG4kZmEtdmFyLXRydWNrLWxvYWRpbmc6IFxcZjRkZTtcbiRmYS12YXItdXNlci1jaGVjazogXFxmNGZjO1xuJGZhLXZhci12aWFsLXZpcnVzOiBcXGU1OTc7XG4kZmEtdmFyLXNoZWV0LXBsYXN0aWM6IFxcZTU3MTtcbiRmYS12YXItYmxvZzogXFxmNzgxO1xuJGZhLXZhci11c2VyLW5pbmphOiBcXGY1MDQ7XG4kZmEtdmFyLXBlcnNvbi1hcnJvdy11cC1mcm9tLWxpbmU6IFxcZTUzOTtcbiRmYS12YXItc2Nyb2xsLXRvcmFoOiBcXGY2YTA7XG4kZmEtdmFyLXRvcmFoOiBcXGY2YTA7XG4kZmEtdmFyLWJyb29tLWJhbGw6IFxcZjQ1ODtcbiRmYS12YXItcXVpZGRpdGNoOiBcXGY0NTg7XG4kZmEtdmFyLXF1aWRkaXRjaC1icm9vbS1iYWxsOiBcXGY0NTg7XG4kZmEtdmFyLXRvZ2dsZS1vZmY6IFxcZjIwNDtcbiRmYS12YXItYm94LWFyY2hpdmU6IFxcZjE4NztcbiRmYS12YXItYXJjaGl2ZTogXFxmMTg3O1xuJGZhLXZhci1wZXJzb24tZHJvd25pbmc6IFxcZTU0NTtcbiRmYS12YXItYXJyb3ctZG93bi05LTE6IFxcZjg4NjtcbiRmYS12YXItc29ydC1udW1lcmljLWRlc2M6IFxcZjg4NjtcbiRmYS12YXItc29ydC1udW1lcmljLWRvd24tYWx0OiBcXGY4ODY7XG4kZmEtdmFyLWZhY2UtZ3Jpbi10b25ndWUtc3F1aW50OiBcXGY1OGE7XG4kZmEtdmFyLWdyaW4tdG9uZ3VlLXNxdWludDogXFxmNThhO1xuJGZhLXZhci1zcHJheS1jYW46IFxcZjViZDtcbiRmYS12YXItdHJ1Y2stbW9uc3RlcjogXFxmNjNiO1xuJGZhLXZhci13OiBcXDU3O1xuJGZhLXZhci1lYXJ0aC1hZnJpY2E6IFxcZjU3YztcbiRmYS12YXItZ2xvYmUtYWZyaWNhOiBcXGY1N2M7XG4kZmEtdmFyLXJhaW5ib3c6IFxcZjc1YjtcbiRmYS12YXItY2lyY2xlLW5vdGNoOiBcXGYxY2U7XG4kZmEtdmFyLXRhYmxldC1zY3JlZW4tYnV0dG9uOiBcXGYzZmE7XG4kZmEtdmFyLXRhYmxldC1hbHQ6IFxcZjNmYTtcbiRmYS12YXItcGF3OiBcXGYxYjA7XG4kZmEtdmFyLWNsb3VkOiBcXGYwYzI7XG4kZmEtdmFyLXRyb3dlbC1icmlja3M6IFxcZTU4YTtcbiRmYS12YXItZmFjZS1mbHVzaGVkOiBcXGY1Nzk7XG4kZmEtdmFyLWZsdXNoZWQ6IFxcZjU3OTtcbiRmYS12YXItaG9zcGl0YWwtdXNlcjogXFxmODBkO1xuJGZhLXZhci10ZW50LWFycm93LWxlZnQtcmlnaHQ6IFxcZTU3ZjtcbiRmYS12YXItZ2F2ZWw6IFxcZjBlMztcbiRmYS12YXItbGVnYWw6IFxcZjBlMztcbiRmYS12YXItYmlub2N1bGFyczogXFxmMWU1O1xuJGZhLXZhci1taWNyb3Bob25lLXNsYXNoOiBcXGYxMzE7XG4kZmEtdmFyLWJveC10aXNzdWU6IFxcZTA1YjtcbiRmYS12YXItbW90b3JjeWNsZTogXFxmMjFjO1xuJGZhLXZhci1iZWxsLWNvbmNpZXJnZTogXFxmNTYyO1xuJGZhLXZhci1jb25jaWVyZ2UtYmVsbDogXFxmNTYyO1xuJGZhLXZhci1wZW4tcnVsZXI6IFxcZjVhZTtcbiRmYS12YXItcGVuY2lsLXJ1bGVyOiBcXGY1YWU7XG4kZmEtdmFyLXBlb3BsZS1hcnJvd3M6IFxcZTA2ODtcbiRmYS12YXItcGVvcGxlLWFycm93cy1sZWZ0LXJpZ2h0OiBcXGUwNjg7XG4kZmEtdmFyLW1hcnMtYW5kLXZlbnVzLWJ1cnN0OiBcXGU1MjM7XG4kZmEtdmFyLXNxdWFyZS1jYXJldC1yaWdodDogXFxmMTUyO1xuJGZhLXZhci1jYXJldC1zcXVhcmUtcmlnaHQ6IFxcZjE1MjtcbiRmYS12YXItc2Npc3NvcnM6IFxcZjBjNDtcbiRmYS12YXItY3V0OiBcXGYwYzQ7XG4kZmEtdmFyLXN1bi1wbGFudC13aWx0OiBcXGU1N2E7XG4kZmEtdmFyLXRvaWxldHMtcG9ydGFibGU6IFxcZTU4NDtcbiRmYS12YXItaG9ja2V5LXB1Y2s6IFxcZjQ1MztcbiRmYS12YXItdGFibGU6IFxcZjBjZTtcbiRmYS12YXItbWFnbmlmeWluZy1nbGFzcy1hcnJvdy1yaWdodDogXFxlNTIxO1xuJGZhLXZhci10YWNob2dyYXBoLWRpZ2l0YWw6IFxcZjU2NjtcbiRmYS12YXItZGlnaXRhbC10YWNob2dyYXBoOiBcXGY1NjY7XG4kZmEtdmFyLXVzZXJzLXNsYXNoOiBcXGUwNzM7XG4kZmEtdmFyLWNsb3ZlcjogXFxlMTM5O1xuJGZhLXZhci1yZXBseTogXFxmM2U1O1xuJGZhLXZhci1tYWlsLXJlcGx5OiBcXGYzZTU7XG4kZmEtdmFyLXN0YXItYW5kLWNyZXNjZW50OiBcXGY2OTk7XG4kZmEtdmFyLWhvdXNlLWZpcmU6IFxcZTUwYztcbiRmYS12YXItc3F1YXJlLW1pbnVzOiBcXGYxNDY7XG4kZmEtdmFyLW1pbnVzLXNxdWFyZTogXFxmMTQ2O1xuJGZhLXZhci1oZWxpY29wdGVyOiBcXGY1MzM7XG4kZmEtdmFyLWNvbXBhc3M6IFxcZjE0ZTtcbiRmYS12YXItc3F1YXJlLWNhcmV0LWRvd246IFxcZjE1MDtcbiRmYS12YXItY2FyZXQtc3F1YXJlLWRvd246IFxcZjE1MDtcbiRmYS12YXItZmlsZS1jaXJjbGUtcXVlc3Rpb246IFxcZTRlZjtcbiRmYS12YXItbGFwdG9wLWNvZGU6IFxcZjVmYztcbiRmYS12YXItc3dhdGNoYm9vazogXFxmNWMzO1xuJGZhLXZhci1wcmVzY3JpcHRpb24tYm90dGxlOiBcXGY0ODU7XG4kZmEtdmFyLWJhcnM6IFxcZjBjOTtcbiRmYS12YXItbmF2aWNvbjogXFxmMGM5O1xuJGZhLXZhci1wZW9wbGUtZ3JvdXA6IFxcZTUzMztcbiRmYS12YXItaG91cmdsYXNzLWVuZDogXFxmMjUzO1xuJGZhLXZhci1ob3VyZ2xhc3MtMzogXFxmMjUzO1xuJGZhLXZhci1oZWFydC1jcmFjazogXFxmN2E5O1xuJGZhLXZhci1oZWFydC1icm9rZW46IFxcZjdhOTtcbiRmYS12YXItc3F1YXJlLXVwLXJpZ2h0OiBcXGYzNjA7XG4kZmEtdmFyLWV4dGVybmFsLWxpbmstc3F1YXJlLWFsdDogXFxmMzYwO1xuJGZhLXZhci1mYWNlLWtpc3MtYmVhbTogXFxmNTk3O1xuJGZhLXZhci1raXNzLWJlYW06IFxcZjU5NztcbiRmYS12YXItZmlsbTogXFxmMDA4O1xuJGZhLXZhci1ydWxlci1ob3Jpem9udGFsOiBcXGY1NDc7XG4kZmEtdmFyLXBlb3BsZS1yb2JiZXJ5OiBcXGU1MzY7XG4kZmEtdmFyLWxpZ2h0YnVsYjogXFxmMGViO1xuJGZhLXZhci1jYXJldC1sZWZ0OiBcXGYwZDk7XG4kZmEtdmFyLWNpcmNsZS1leGNsYW1hdGlvbjogXFxmMDZhO1xuJGZhLXZhci1leGNsYW1hdGlvbi1jaXJjbGU6IFxcZjA2YTtcbiRmYS12YXItc2Nob29sLWNpcmNsZS14bWFyazogXFxlNTZkO1xuJGZhLXZhci1hcnJvdy1yaWdodC1mcm9tLWJyYWNrZXQ6IFxcZjA4YjtcbiRmYS12YXItc2lnbi1vdXQ6IFxcZjA4YjtcbiRmYS12YXItY2lyY2xlLWNoZXZyb24tZG93bjogXFxmMTNhO1xuJGZhLXZhci1jaGV2cm9uLWNpcmNsZS1kb3duOiBcXGYxM2E7XG4kZmEtdmFyLXVubG9jay1rZXlob2xlOiBcXGYxM2U7XG4kZmEtdmFyLXVubG9jay1hbHQ6IFxcZjEzZTtcbiRmYS12YXItY2xvdWQtc2hvd2Vycy1oZWF2eTogXFxmNzQwO1xuJGZhLXZhci1oZWFkcGhvbmVzLXNpbXBsZTogXFxmNThmO1xuJGZhLXZhci1oZWFkcGhvbmVzLWFsdDogXFxmNThmO1xuJGZhLXZhci1zaXRlbWFwOiBcXGYwZTg7XG4kZmEtdmFyLWNpcmNsZS1kb2xsYXItdG8tc2xvdDogXFxmNGI5O1xuJGZhLXZhci1kb25hdGU6IFxcZjRiOTtcbiRmYS12YXItbWVtb3J5OiBcXGY1Mzg7XG4kZmEtdmFyLXJvYWQtc3Bpa2VzOiBcXGU1Njg7XG4kZmEtdmFyLWZpcmUtYnVybmVyOiBcXGU0ZjE7XG4kZmEtdmFyLWZsYWc6IFxcZjAyNDtcbiRmYS12YXItaGFudWtpYWg6IFxcZjZlNjtcbiRmYS12YXItZmVhdGhlcjogXFxmNTJkO1xuJGZhLXZhci12b2x1bWUtbG93OiBcXGYwMjc7XG4kZmEtdmFyLXZvbHVtZS1kb3duOiBcXGYwMjc7XG4kZmEtdmFyLWNvbW1lbnQtc2xhc2g6IFxcZjRiMztcbiRmYS12YXItY2xvdWQtc3VuLXJhaW46IFxcZjc0MztcbiRmYS12YXItY29tcHJlc3M6IFxcZjA2NjtcbiRmYS12YXItd2hlYXQtYXduOiBcXGUyY2Q7XG4kZmEtdmFyLXdoZWF0LWFsdDogXFxlMmNkO1xuJGZhLXZhci1hbmtoOiBcXGY2NDQ7XG4kZmEtdmFyLWhhbmRzLWhvbGRpbmctY2hpbGQ6IFxcZTRmYTtcbiRmYS12YXItYXN0ZXJpc2s6IFxcMmE7XG4kZmEtdmFyLXNxdWFyZS1jaGVjazogXFxmMTRhO1xuJGZhLXZhci1jaGVjay1zcXVhcmU6IFxcZjE0YTtcbiRmYS12YXItcGVzZXRhLXNpZ246IFxcZTIyMTtcbiRmYS12YXItaGVhZGluZzogXFxmMWRjO1xuJGZhLXZhci1oZWFkZXI6IFxcZjFkYztcbiRmYS12YXItZ2hvc3Q6IFxcZjZlMjtcbiRmYS12YXItbGlzdDogXFxmMDNhO1xuJGZhLXZhci1saXN0LXNxdWFyZXM6IFxcZjAzYTtcbiRmYS12YXItc3F1YXJlLXBob25lLWZsaXA6IFxcZjg3YjtcbiRmYS12YXItcGhvbmUtc3F1YXJlLWFsdDogXFxmODdiO1xuJGZhLXZhci1jYXJ0LXBsdXM6IFxcZjIxNztcbiRmYS12YXItZ2FtZXBhZDogXFxmMTFiO1xuJGZhLXZhci1jaXJjbGUtZG90OiBcXGYxOTI7XG4kZmEtdmFyLWRvdC1jaXJjbGU6IFxcZjE5MjtcbiRmYS12YXItZmFjZS1kaXp6eTogXFxmNTY3O1xuJGZhLXZhci1kaXp6eTogXFxmNTY3O1xuJGZhLXZhci1lZ2c6IFxcZjdmYjtcbiRmYS12YXItaG91c2UtbWVkaWNhbC1jaXJjbGUteG1hcms6IFxcZTUxMztcbiRmYS12YXItY2FtcGdyb3VuZDogXFxmNmJiO1xuJGZhLXZhci1mb2xkZXItcGx1czogXFxmNjVlO1xuJGZhLXZhci1mdXRib2w6IFxcZjFlMztcbiRmYS12YXItZnV0Ym9sLWJhbGw6IFxcZjFlMztcbiRmYS12YXItc29jY2VyLWJhbGw6IFxcZjFlMztcbiRmYS12YXItcGFpbnRicnVzaDogXFxmMWZjO1xuJGZhLXZhci1wYWludC1icnVzaDogXFxmMWZjO1xuJGZhLXZhci1sb2NrOiBcXGYwMjM7XG4kZmEtdmFyLWdhcy1wdW1wOiBcXGY1MmY7XG4kZmEtdmFyLWhvdC10dWItcGVyc29uOiBcXGY1OTM7XG4kZmEtdmFyLWhvdC10dWI6IFxcZjU5MztcbiRmYS12YXItbWFwLWxvY2F0aW9uOiBcXGY1OWY7XG4kZmEtdmFyLW1hcC1tYXJrZWQ6IFxcZjU5ZjtcbiRmYS12YXItaG91c2UtZmxvb2Qtd2F0ZXI6IFxcZTUwZTtcbiRmYS12YXItdHJlZTogXFxmMWJiO1xuJGZhLXZhci1icmlkZ2UtbG9jazogXFxlNGNjO1xuJGZhLXZhci1zYWNrLWRvbGxhcjogXFxmODFkO1xuJGZhLXZhci1wZW4tdG8tc3F1YXJlOiBcXGYwNDQ7XG4kZmEtdmFyLWVkaXQ6IFxcZjA0NDtcbiRmYS12YXItY2FyLXNpZGU6IFxcZjVlNDtcbiRmYS12YXItc2hhcmUtbm9kZXM6IFxcZjFlMDtcbiRmYS12YXItc2hhcmUtYWx0OiBcXGYxZTA7XG4kZmEtdmFyLWhlYXJ0LWNpcmNsZS1taW51czogXFxlNGZmO1xuJGZhLXZhci1ob3VyZ2xhc3MtaGFsZjogXFxmMjUyO1xuJGZhLXZhci1ob3VyZ2xhc3MtMjogXFxmMjUyO1xuJGZhLXZhci1taWNyb3Njb3BlOiBcXGY2MTA7XG4kZmEtdmFyLXNpbms6IFxcZTA2ZDtcbiRmYS12YXItYmFnLXNob3BwaW5nOiBcXGYyOTA7XG4kZmEtdmFyLXNob3BwaW5nLWJhZzogXFxmMjkwO1xuJGZhLXZhci1hcnJvdy1kb3duLXotYTogXFxmODgxO1xuJGZhLXZhci1zb3J0LWFscGhhLWRlc2M6IFxcZjg4MTtcbiRmYS12YXItc29ydC1hbHBoYS1kb3duLWFsdDogXFxmODgxO1xuJGZhLXZhci1taXR0ZW46IFxcZjdiNTtcbiRmYS12YXItcGVyc29uLXJheXM6IFxcZTU0ZDtcbiRmYS12YXItdXNlcnM6IFxcZjBjMDtcbiRmYS12YXItZXllLXNsYXNoOiBcXGYwNzA7XG4kZmEtdmFyLWZsYXNrLXZpYWw6IFxcZTRmMztcbiRmYS12YXItaGFuZDogXFxmMjU2O1xuJGZhLXZhci1oYW5kLXBhcGVyOiBcXGYyNTY7XG4kZmEtdmFyLW9tOiBcXGY2Nzk7XG4kZmEtdmFyLXdvcm06IFxcZTU5OTtcbiRmYS12YXItaG91c2UtY2lyY2xlLXhtYXJrOiBcXGU1MGI7XG4kZmEtdmFyLXBsdWc6IFxcZjFlNjtcbiRmYS12YXItY2hldnJvbi11cDogXFxmMDc3O1xuJGZhLXZhci1oYW5kLXNwb2NrOiBcXGYyNTk7XG4kZmEtdmFyLXN0b3B3YXRjaDogXFxmMmYyO1xuJGZhLXZhci1mYWNlLWtpc3M6IFxcZjU5NjtcbiRmYS12YXIta2lzczogXFxmNTk2O1xuJGZhLXZhci1icmlkZ2UtY2lyY2xlLXhtYXJrOiBcXGU0Y2I7XG4kZmEtdmFyLWZhY2UtZ3Jpbi10b25ndWU6IFxcZjU4OTtcbiRmYS12YXItZ3Jpbi10b25ndWU6IFxcZjU4OTtcbiRmYS12YXItY2hlc3MtYmlzaG9wOiBcXGY0M2E7XG4kZmEtdmFyLWZhY2UtZ3Jpbi13aW5rOiBcXGY1OGM7XG4kZmEtdmFyLWdyaW4td2luazogXFxmNThjO1xuJGZhLXZhci1lYXItZGVhZjogXFxmMmE0O1xuJGZhLXZhci1kZWFmOiBcXGYyYTQ7XG4kZmEtdmFyLWRlYWZuZXNzOiBcXGYyYTQ7XG4kZmEtdmFyLWhhcmQtb2YtaGVhcmluZzogXFxmMmE0O1xuJGZhLXZhci1yb2FkLWNpcmNsZS1jaGVjazogXFxlNTY0O1xuJGZhLXZhci1kaWNlLWZpdmU6IFxcZjUyMztcbiRmYS12YXItc3F1YXJlLXJzczogXFxmMTQzO1xuJGZhLXZhci1yc3Mtc3F1YXJlOiBcXGYxNDM7XG4kZmEtdmFyLWxhbmQtbWluZS1vbjogXFxlNTFiO1xuJGZhLXZhci1pLWN1cnNvcjogXFxmMjQ2O1xuJGZhLXZhci1zdGFtcDogXFxmNWJmO1xuJGZhLXZhci1zdGFpcnM6IFxcZTI4OTtcbiRmYS12YXItaTogXFw0OTtcbiRmYS12YXItaHJ5dm5pYS1zaWduOiBcXGY2ZjI7XG4kZmEtdmFyLWhyeXZuaWE6IFxcZjZmMjtcbiRmYS12YXItcGlsbHM6IFxcZjQ4NDtcbiRmYS12YXItZmFjZS1ncmluLXdpZGU6IFxcZjU4MTtcbiRmYS12YXItZ3Jpbi1hbHQ6IFxcZjU4MTtcbiRmYS12YXItdG9vdGg6IFxcZjVjOTtcbiRmYS12YXItdjogXFw1NjtcbiRmYS12YXItYmFuZ2xhZGVzaGktdGFrYS1zaWduOiBcXGUyZTY7XG4kZmEtdmFyLWJpY3ljbGU6IFxcZjIwNjtcbiRmYS12YXItc3RhZmYtc25ha2U6IFxcZTU3OTtcbiRmYS12YXItcm9kLWFzY2xlcGl1czogXFxlNTc5O1xuJGZhLXZhci1yb2Qtc25ha2U6IFxcZTU3OTtcbiRmYS12YXItc3RhZmYtYWVzY3VsYXBpdXM6IFxcZTU3OTtcbiRmYS12YXItaGVhZC1zaWRlLWNvdWdoLXNsYXNoOiBcXGUwNjI7XG4kZmEtdmFyLXRydWNrLW1lZGljYWw6IFxcZjBmOTtcbiRmYS12YXItYW1idWxhbmNlOiBcXGYwZjk7XG4kZmEtdmFyLXdoZWF0LWF3bi1jaXJjbGUtZXhjbGFtYXRpb246IFxcZTU5ODtcbiRmYS12YXItc25vd21hbjogXFxmN2QwO1xuJGZhLXZhci1tb3J0YXItcGVzdGxlOiBcXGY1YTc7XG4kZmEtdmFyLXJvYWQtYmFycmllcjogXFxlNTYyO1xuJGZhLXZhci1zY2hvb2w6IFxcZjU0OTtcbiRmYS12YXItaWdsb286IFxcZjdhZTtcbiRmYS12YXItam9pbnQ6IFxcZjU5NTtcbiRmYS12YXItYW5nbGUtcmlnaHQ6IFxcZjEwNTtcbiRmYS12YXItaG9yc2U6IFxcZjZmMDtcbiRmYS12YXItcTogXFw1MTtcbiRmYS12YXItZzogXFw0NztcbiRmYS12YXItbm90ZXMtbWVkaWNhbDogXFxmNDgxO1xuJGZhLXZhci10ZW1wZXJhdHVyZS1oYWxmOiBcXGYyYzk7XG4kZmEtdmFyLXRlbXBlcmF0dXJlLTI6IFxcZjJjOTtcbiRmYS12YXItdGhlcm1vbWV0ZXItMjogXFxmMmM5O1xuJGZhLXZhci10aGVybW9tZXRlci1oYWxmOiBcXGYyYzk7XG4kZmEtdmFyLWRvbmctc2lnbjogXFxlMTY5O1xuJGZhLXZhci1jYXBzdWxlczogXFxmNDZiO1xuJGZhLXZhci1wb28tc3Rvcm06IFxcZjc1YTtcbiRmYS12YXItcG9vLWJvbHQ6IFxcZjc1YTtcbiRmYS12YXItZmFjZS1mcm93bi1vcGVuOiBcXGY1N2E7XG4kZmEtdmFyLWZyb3duLW9wZW46IFxcZjU3YTtcbiRmYS12YXItaGFuZC1wb2ludC11cDogXFxmMGE2O1xuJGZhLXZhci1tb25leS1iaWxsOiBcXGYwZDY7XG4kZmEtdmFyLWJvb2ttYXJrOiBcXGYwMmU7XG4kZmEtdmFyLWFsaWduLWp1c3RpZnk6IFxcZjAzOTtcbiRmYS12YXItdW1icmVsbGEtYmVhY2g6IFxcZjVjYTtcbiRmYS12YXItaGVsbWV0LXVuOiBcXGU1MDM7XG4kZmEtdmFyLWJ1bGxzZXllOiBcXGYxNDA7XG4kZmEtdmFyLWJhY29uOiBcXGY3ZTU7XG4kZmEtdmFyLWhhbmQtcG9pbnQtZG93bjogXFxmMGE3O1xuJGZhLXZhci1hcnJvdy11cC1mcm9tLWJyYWNrZXQ6IFxcZTA5YTtcbiRmYS12YXItZm9sZGVyOiBcXGYwN2I7XG4kZmEtdmFyLWZvbGRlci1ibGFuazogXFxmMDdiO1xuJGZhLXZhci1maWxlLXdhdmVmb3JtOiBcXGY0Nzg7XG4kZmEtdmFyLWZpbGUtbWVkaWNhbC1hbHQ6IFxcZjQ3ODtcbiRmYS12YXItcmFkaWF0aW9uOiBcXGY3Yjk7XG4kZmEtdmFyLWNoYXJ0LXNpbXBsZTogXFxlNDczO1xuJGZhLXZhci1tYXJzLXN0cm9rZTogXFxmMjI5O1xuJGZhLXZhci12aWFsOiBcXGY0OTI7XG4kZmEtdmFyLWdhdWdlOiBcXGY2MjQ7XG4kZmEtdmFyLWRhc2hib2FyZDogXFxmNjI0O1xuJGZhLXZhci1nYXVnZS1tZWQ6IFxcZjYyNDtcbiRmYS12YXItdGFjaG9tZXRlci1hbHQtYXZlcmFnZTogXFxmNjI0O1xuJGZhLXZhci13YW5kLW1hZ2ljLXNwYXJrbGVzOiBcXGUyY2E7XG4kZmEtdmFyLW1hZ2ljLXdhbmQtc3BhcmtsZXM6IFxcZTJjYTtcbiRmYS12YXItZTogXFw0NTtcbiRmYS12YXItcGVuLWNsaXA6IFxcZjMwNTtcbiRmYS12YXItcGVuLWFsdDogXFxmMzA1O1xuJGZhLXZhci1icmlkZ2UtY2lyY2xlLWV4Y2xhbWF0aW9uOiBcXGU0Y2E7XG4kZmEtdmFyLXVzZXI6IFxcZjAwNztcbiRmYS12YXItc2Nob29sLWNpcmNsZS1jaGVjazogXFxlNTZiO1xuJGZhLXZhci1kdW1wc3RlcjogXFxmNzkzO1xuJGZhLXZhci12YW4tc2h1dHRsZTogXFxmNWI2O1xuJGZhLXZhci1zaHV0dGxlLXZhbjogXFxmNWI2O1xuJGZhLXZhci1idWlsZGluZy11c2VyOiBcXGU0ZGE7XG4kZmEtdmFyLXNxdWFyZS1jYXJldC1sZWZ0OiBcXGYxOTE7XG4kZmEtdmFyLWNhcmV0LXNxdWFyZS1sZWZ0OiBcXGYxOTE7XG4kZmEtdmFyLWhpZ2hsaWdodGVyOiBcXGY1OTE7XG4kZmEtdmFyLWtleTogXFxmMDg0O1xuJGZhLXZhci1idWxsaG9ybjogXFxmMGExO1xuJGZhLXZhci1nbG9iZTogXFxmMGFjO1xuJGZhLXZhci1zeW5hZ29ndWU6IFxcZjY5YjtcbiRmYS12YXItcGVyc29uLWhhbGYtZHJlc3M6IFxcZTU0ODtcbiRmYS12YXItcm9hZC1icmlkZ2U6IFxcZTU2MztcbiRmYS12YXItbG9jYXRpb24tYXJyb3c6IFxcZjEyNDtcbiRmYS12YXItYzogXFw0MztcbiRmYS12YXItdGFibGV0LWJ1dHRvbjogXFxmMTBhO1xuJGZhLXZhci1idWlsZGluZy1sb2NrOiBcXGU0ZDY7XG4kZmEtdmFyLXBpenphLXNsaWNlOiBcXGY4MTg7XG4kZmEtdmFyLW1vbmV5LWJpbGwtd2F2ZTogXFxmNTNhO1xuJGZhLXZhci1jaGFydC1hcmVhOiBcXGYxZmU7XG4kZmEtdmFyLWFyZWEtY2hhcnQ6IFxcZjFmZTtcbiRmYS12YXItaG91c2UtZmxhZzogXFxlNTBkO1xuJGZhLXZhci1wZXJzb24tY2lyY2xlLW1pbnVzOiBcXGU1NDA7XG4kZmEtdmFyLWJhbjogXFxmMDVlO1xuJGZhLXZhci1jYW5jZWw6IFxcZjA1ZTtcbiRmYS12YXItY2FtZXJhLXJvdGF0ZTogXFxlMGQ4O1xuJGZhLXZhci1zcHJheS1jYW4tc3BhcmtsZXM6IFxcZjVkMDtcbiRmYS12YXItYWlyLWZyZXNoZW5lcjogXFxmNWQwO1xuJGZhLXZhci1zdGFyOiBcXGYwMDU7XG4kZmEtdmFyLXJlcGVhdDogXFxmMzYzO1xuJGZhLXZhci1jcm9zczogXFxmNjU0O1xuJGZhLXZhci1ib3g6IFxcZjQ2NjtcbiRmYS12YXItdmVudXMtbWFyczogXFxmMjI4O1xuJGZhLXZhci1hcnJvdy1wb2ludGVyOiBcXGYyNDU7XG4kZmEtdmFyLW1vdXNlLXBvaW50ZXI6IFxcZjI0NTtcbiRmYS12YXItbWF4aW1pemU6IFxcZjMxZTtcbiRmYS12YXItZXhwYW5kLWFycm93cy1hbHQ6IFxcZjMxZTtcbiRmYS12YXItY2hhcmdpbmctc3RhdGlvbjogXFxmNWU3O1xuJGZhLXZhci1zaGFwZXM6IFxcZjYxZjtcbiRmYS12YXItdHJpYW5nbGUtY2lyY2xlLXNxdWFyZTogXFxmNjFmO1xuJGZhLXZhci1zaHVmZmxlOiBcXGYwNzQ7XG4kZmEtdmFyLXJhbmRvbTogXFxmMDc0O1xuJGZhLXZhci1wZXJzb24tcnVubmluZzogXFxmNzBjO1xuJGZhLXZhci1ydW5uaW5nOiBcXGY3MGM7XG4kZmEtdmFyLW1vYmlsZS1yZXRybzogXFxlNTI3O1xuJGZhLXZhci1ncmlwLWxpbmVzLXZlcnRpY2FsOiBcXGY3YTU7XG4kZmEtdmFyLXNwaWRlcjogXFxmNzE3O1xuJGZhLXZhci1oYW5kcy1ib3VuZDogXFxlNGY5O1xuJGZhLXZhci1maWxlLWludm9pY2UtZG9sbGFyOiBcXGY1NzE7XG4kZmEtdmFyLXBsYW5lLWNpcmNsZS1leGNsYW1hdGlvbjogXFxlNTU2O1xuJGZhLXZhci14LXJheTogXFxmNDk3O1xuJGZhLXZhci1zcGVsbC1jaGVjazogXFxmODkxO1xuJGZhLXZhci1zbGFzaDogXFxmNzE1O1xuJGZhLXZhci1jb21wdXRlci1tb3VzZTogXFxmOGNjO1xuJGZhLXZhci1tb3VzZTogXFxmOGNjO1xuJGZhLXZhci1hcnJvdy1yaWdodC10by1icmFja2V0OiBcXGYwOTA7XG4kZmEtdmFyLXNpZ24taW46IFxcZjA5MDtcbiRmYS12YXItc2hvcC1zbGFzaDogXFxlMDcwO1xuJGZhLXZhci1zdG9yZS1hbHQtc2xhc2g6IFxcZTA3MDtcbiRmYS12YXItc2VydmVyOiBcXGYyMzM7XG4kZmEtdmFyLXZpcnVzLWNvdmlkLXNsYXNoOiBcXGU0YTk7XG4kZmEtdmFyLXNob3AtbG9jazogXFxlNGE1O1xuJGZhLXZhci1ob3VyZ2xhc3Mtc3RhcnQ6IFxcZjI1MTtcbiRmYS12YXItaG91cmdsYXNzLTE6IFxcZjI1MTtcbiRmYS12YXItYmxlbmRlci1waG9uZTogXFxmNmI2O1xuJGZhLXZhci1idWlsZGluZy13aGVhdDogXFxlNGRiO1xuJGZhLXZhci1wZXJzb24tYnJlYXN0ZmVlZGluZzogXFxlNTNhO1xuJGZhLXZhci1yaWdodC10by1icmFja2V0OiBcXGYyZjY7XG4kZmEtdmFyLXNpZ24taW4tYWx0OiBcXGYyZjY7XG4kZmEtdmFyLXZlbnVzOiBcXGYyMjE7XG4kZmEtdmFyLXBhc3Nwb3J0OiBcXGY1YWI7XG4kZmEtdmFyLWhlYXJ0LXB1bHNlOiBcXGYyMWU7XG4kZmEtdmFyLWhlYXJ0YmVhdDogXFxmMjFlO1xuJGZhLXZhci1wZW9wbGUtY2FycnktYm94OiBcXGY0Y2U7XG4kZmEtdmFyLXBlb3BsZS1jYXJyeTogXFxmNGNlO1xuJGZhLXZhci10ZW1wZXJhdHVyZS1oaWdoOiBcXGY3Njk7XG4kZmEtdmFyLW1pY3JvY2hpcDogXFxmMmRiO1xuJGZhLXZhci1jcm93bjogXFxmNTIxO1xuJGZhLXZhci13ZWlnaHQtaGFuZ2luZzogXFxmNWNkO1xuJGZhLXZhci14bWFya3MtbGluZXM6IFxcZTU5YTtcbiRmYS12YXItZmlsZS1wcmVzY3JpcHRpb246IFxcZjU3MjtcbiRmYS12YXItd2VpZ2h0LXNjYWxlOiBcXGY0OTY7XG4kZmEtdmFyLXdlaWdodDogXFxmNDk2O1xuJGZhLXZhci11c2VyLWdyb3VwOiBcXGY1MDA7XG4kZmEtdmFyLXVzZXItZnJpZW5kczogXFxmNTAwO1xuJGZhLXZhci1hcnJvdy11cC1hLXo6IFxcZjE1ZTtcbiRmYS12YXItc29ydC1hbHBoYS11cDogXFxmMTVlO1xuJGZhLXZhci1jaGVzcy1rbmlnaHQ6IFxcZjQ0MTtcbiRmYS12YXItZmFjZS1sYXVnaC1zcXVpbnQ6IFxcZjU5YjtcbiRmYS12YXItbGF1Z2gtc3F1aW50OiBcXGY1OWI7XG4kZmEtdmFyLXdoZWVsY2hhaXI6IFxcZjE5MztcbiRmYS12YXItY2lyY2xlLWFycm93LXVwOiBcXGYwYWE7XG4kZmEtdmFyLWFycm93LWNpcmNsZS11cDogXFxmMGFhO1xuJGZhLXZhci10b2dnbGUtb246IFxcZjIwNTtcbiRmYS12YXItcGVyc29uLXdhbGtpbmc6IFxcZjU1NDtcbiRmYS12YXItd2Fsa2luZzogXFxmNTU0O1xuJGZhLXZhci1sOiBcXDRjO1xuJGZhLXZhci1maXJlOiBcXGYwNmQ7XG4kZmEtdmFyLWJlZC1wdWxzZTogXFxmNDg3O1xuJGZhLXZhci1wcm9jZWR1cmVzOiBcXGY0ODc7XG4kZmEtdmFyLXNodXR0bGUtc3BhY2U6IFxcZjE5NztcbiRmYS12YXItc3BhY2Utc2h1dHRsZTogXFxmMTk3O1xuJGZhLXZhci1mYWNlLWxhdWdoOiBcXGY1OTk7XG4kZmEtdmFyLWxhdWdoOiBcXGY1OTk7XG4kZmEtdmFyLWZvbGRlci1vcGVuOiBcXGYwN2M7XG4kZmEtdmFyLWhlYXJ0LWNpcmNsZS1wbHVzOiBcXGU1MDA7XG4kZmEtdmFyLWNvZGUtZm9yazogXFxlMTNiO1xuJGZhLXZhci1jaXR5OiBcXGY2NGY7XG4kZmEtdmFyLW1pY3JvcGhvbmUtbGluZXM6IFxcZjNjOTtcbiRmYS12YXItbWljcm9waG9uZS1hbHQ6IFxcZjNjOTtcbiRmYS12YXItcGVwcGVyLWhvdDogXFxmODE2O1xuJGZhLXZhci11bmxvY2s6IFxcZjA5YztcbiRmYS12YXItY29sb24tc2lnbjogXFxlMTQwO1xuJGZhLXZhci1oZWFkc2V0OiBcXGY1OTA7XG4kZmEtdmFyLXN0b3JlLXNsYXNoOiBcXGUwNzE7XG4kZmEtdmFyLXJvYWQtY2lyY2xlLXhtYXJrOiBcXGU1NjY7XG4kZmEtdmFyLXVzZXItbWludXM6IFxcZjUwMztcbiRmYS12YXItbWFycy1zdHJva2UtdXA6IFxcZjIyYTtcbiRmYS12YXItbWFycy1zdHJva2UtdjogXFxmMjJhO1xuJGZhLXZhci1jaGFtcGFnbmUtZ2xhc3NlczogXFxmNzlmO1xuJGZhLXZhci1nbGFzcy1jaGVlcnM6IFxcZjc5ZjtcbiRmYS12YXItY2xpcGJvYXJkOiBcXGYzMjg7XG4kZmEtdmFyLWhvdXNlLWNpcmNsZS1leGNsYW1hdGlvbjogXFxlNTBhO1xuJGZhLXZhci1maWxlLWFycm93LXVwOiBcXGY1NzQ7XG4kZmEtdmFyLWZpbGUtdXBsb2FkOiBcXGY1NzQ7XG4kZmEtdmFyLXdpZmk6IFxcZjFlYjtcbiRmYS12YXItd2lmaS0zOiBcXGYxZWI7XG4kZmEtdmFyLXdpZmktc3Ryb25nOiBcXGYxZWI7XG4kZmEtdmFyLWJhdGg6IFxcZjJjZDtcbiRmYS12YXItYmF0aHR1YjogXFxmMmNkO1xuJGZhLXZhci11bmRlcmxpbmU6IFxcZjBjZDtcbiRmYS12YXItdXNlci1wZW46IFxcZjRmZjtcbiRmYS12YXItdXNlci1lZGl0OiBcXGY0ZmY7XG4kZmEtdmFyLXNpZ25hdHVyZTogXFxmNWI3O1xuJGZhLXZhci1zdHJvb3B3YWZlbDogXFxmNTUxO1xuJGZhLXZhci1ib2xkOiBcXGYwMzI7XG4kZmEtdmFyLWFuY2hvci1sb2NrOiBcXGU0YWQ7XG4kZmEtdmFyLWJ1aWxkaW5nLW5nbzogXFxlNGQ3O1xuJGZhLXZhci1tYW5hdC1zaWduOiBcXGUxZDU7XG4kZmEtdmFyLW5vdC1lcXVhbDogXFxmNTNlO1xuJGZhLXZhci1ib3JkZXItdG9wLWxlZnQ6IFxcZjg1MztcbiRmYS12YXItYm9yZGVyLXN0eWxlOiBcXGY4NTM7XG4kZmEtdmFyLW1hcC1sb2NhdGlvbi1kb3Q6IFxcZjVhMDtcbiRmYS12YXItbWFwLW1hcmtlZC1hbHQ6IFxcZjVhMDtcbiRmYS12YXItamVkaTogXFxmNjY5O1xuJGZhLXZhci1zcXVhcmUtcG9sbC12ZXJ0aWNhbDogXFxmNjgxO1xuJGZhLXZhci1wb2xsOiBcXGY2ODE7XG4kZmEtdmFyLW11Zy1ob3Q6IFxcZjdiNjtcbiRmYS12YXItY2FyLWJhdHRlcnk6IFxcZjVkZjtcbiRmYS12YXItYmF0dGVyeS1jYXI6IFxcZjVkZjtcbiRmYS12YXItZ2lmdDogXFxmMDZiO1xuJGZhLXZhci1kaWNlLXR3bzogXFxmNTI4O1xuJGZhLXZhci1jaGVzcy1xdWVlbjogXFxmNDQ1O1xuJGZhLXZhci1nbGFzc2VzOiBcXGY1MzA7XG4kZmEtdmFyLWNoZXNzLWJvYXJkOiBcXGY0M2M7XG4kZmEtdmFyLWJ1aWxkaW5nLWNpcmNsZS1jaGVjazogXFxlNGQyO1xuJGZhLXZhci1wZXJzb24tY2hhbGtib2FyZDogXFxlNTNkO1xuJGZhLXZhci1tYXJzLXN0cm9rZS1yaWdodDogXFxmMjJiO1xuJGZhLXZhci1tYXJzLXN0cm9rZS1oOiBcXGYyMmI7XG4kZmEtdmFyLWhhbmQtYmFjay1maXN0OiBcXGYyNTU7XG4kZmEtdmFyLWhhbmQtcm9jazogXFxmMjU1O1xuJGZhLXZhci1zcXVhcmUtY2FyZXQtdXA6IFxcZjE1MTtcbiRmYS12YXItY2FyZXQtc3F1YXJlLXVwOiBcXGYxNTE7XG4kZmEtdmFyLWNsb3VkLXNob3dlcnMtd2F0ZXI6IFxcZTRlNDtcbiRmYS12YXItY2hhcnQtYmFyOiBcXGYwODA7XG4kZmEtdmFyLWJhci1jaGFydDogXFxmMDgwO1xuJGZhLXZhci1oYW5kcy1idWJibGVzOiBcXGUwNWU7XG4kZmEtdmFyLWhhbmRzLXdhc2g6IFxcZTA1ZTtcbiRmYS12YXItbGVzcy10aGFuLWVxdWFsOiBcXGY1Mzc7XG4kZmEtdmFyLXRyYWluOiBcXGYyMzg7XG4kZmEtdmFyLWV5ZS1sb3ctdmlzaW9uOiBcXGYyYTg7XG4kZmEtdmFyLWxvdy12aXNpb246IFxcZjJhODtcbiRmYS12YXItY3JvdzogXFxmNTIwO1xuJGZhLXZhci1zYWlsYm9hdDogXFxlNDQ1O1xuJGZhLXZhci13aW5kb3ctcmVzdG9yZTogXFxmMmQyO1xuJGZhLXZhci1zcXVhcmUtcGx1czogXFxmMGZlO1xuJGZhLXZhci1wbHVzLXNxdWFyZTogXFxmMGZlO1xuJGZhLXZhci10b3JpaS1nYXRlOiBcXGY2YTE7XG4kZmEtdmFyLWZyb2c6IFxcZjUyZTtcbiRmYS12YXItYnVja2V0OiBcXGU0Y2Y7XG4kZmEtdmFyLWltYWdlOiBcXGYwM2U7XG4kZmEtdmFyLW1pY3JvcGhvbmU6IFxcZjEzMDtcbiRmYS12YXItY293OiBcXGY2Yzg7XG4kZmEtdmFyLWNhcmV0LXVwOiBcXGYwZDg7XG4kZmEtdmFyLXNjcmV3ZHJpdmVyOiBcXGY1NGE7XG4kZmEtdmFyLWZvbGRlci1jbG9zZWQ6IFxcZTE4NTtcbiRmYS12YXItaG91c2UtdHN1bmFtaTogXFxlNTE1O1xuJGZhLXZhci1zcXVhcmUtbmZpOiBcXGU1NzY7XG4kZmEtdmFyLWFycm93LXVwLWZyb20tZ3JvdW5kLXdhdGVyOiBcXGU0YjU7XG4kZmEtdmFyLW1hcnRpbmktZ2xhc3M6IFxcZjU3YjtcbiRmYS12YXItZ2xhc3MtbWFydGluaS1hbHQ6IFxcZjU3YjtcbiRmYS12YXItcm90YXRlLWxlZnQ6IFxcZjJlYTtcbiRmYS12YXItcm90YXRlLWJhY2s6IFxcZjJlYTtcbiRmYS12YXItcm90YXRlLWJhY2t3YXJkOiBcXGYyZWE7XG4kZmEtdmFyLXVuZG8tYWx0OiBcXGYyZWE7XG4kZmEtdmFyLXRhYmxlLWNvbHVtbnM6IFxcZjBkYjtcbiRmYS12YXItY29sdW1uczogXFxmMGRiO1xuJGZhLXZhci1sZW1vbjogXFxmMDk0O1xuJGZhLXZhci1oZWFkLXNpZGUtbWFzazogXFxlMDYzO1xuJGZhLXZhci1oYW5kc2hha2U6IFxcZjJiNTtcbiRmYS12YXItZ2VtOiBcXGYzYTU7XG4kZmEtdmFyLWRvbGx5OiBcXGY0NzI7XG4kZmEtdmFyLWRvbGx5LWJveDogXFxmNDcyO1xuJGZhLXZhci1zbW9raW5nOiBcXGY0OGQ7XG4kZmEtdmFyLW1pbmltaXplOiBcXGY3OGM7XG4kZmEtdmFyLWNvbXByZXNzLWFycm93cy1hbHQ6IFxcZjc4YztcbiRmYS12YXItbW9udW1lbnQ6IFxcZjVhNjtcbiRmYS12YXItc25vd3Bsb3c6IFxcZjdkMjtcbiRmYS12YXItYW5nbGVzLXJpZ2h0OiBcXGYxMDE7XG4kZmEtdmFyLWFuZ2xlLWRvdWJsZS1yaWdodDogXFxmMTAxO1xuJGZhLXZhci1jYW5uYWJpczogXFxmNTVmO1xuJGZhLXZhci1jaXJjbGUtcGxheTogXFxmMTQ0O1xuJGZhLXZhci1wbGF5LWNpcmNsZTogXFxmMTQ0O1xuJGZhLXZhci10YWJsZXRzOiBcXGY0OTA7XG4kZmEtdmFyLWV0aGVybmV0OiBcXGY3OTY7XG4kZmEtdmFyLWV1cm8tc2lnbjogXFxmMTUzO1xuJGZhLXZhci1ldXI6IFxcZjE1MztcbiRmYS12YXItZXVybzogXFxmMTUzO1xuJGZhLXZhci1jaGFpcjogXFxmNmMwO1xuJGZhLXZhci1jaXJjbGUtY2hlY2s6IFxcZjA1ODtcbiRmYS12YXItY2hlY2stY2lyY2xlOiBcXGYwNTg7XG4kZmEtdmFyLWNpcmNsZS1zdG9wOiBcXGYyOGQ7XG4kZmEtdmFyLXN0b3AtY2lyY2xlOiBcXGYyOGQ7XG4kZmEtdmFyLWNvbXBhc3MtZHJhZnRpbmc6IFxcZjU2ODtcbiRmYS12YXItZHJhZnRpbmctY29tcGFzczogXFxmNTY4O1xuJGZhLXZhci1wbGF0ZS13aGVhdDogXFxlNTVhO1xuJGZhLXZhci1pY2ljbGVzOiBcXGY3YWQ7XG4kZmEtdmFyLXBlcnNvbi1zaGVsdGVyOiBcXGU1NGY7XG4kZmEtdmFyLW5ldXRlcjogXFxmMjJjO1xuJGZhLXZhci1pZC1iYWRnZTogXFxmMmMxO1xuJGZhLXZhci1tYXJrZXI6IFxcZjVhMTtcbiRmYS12YXItZmFjZS1sYXVnaC1iZWFtOiBcXGY1OWE7XG4kZmEtdmFyLWxhdWdoLWJlYW06IFxcZjU5YTtcbiRmYS12YXItaGVsaWNvcHRlci1zeW1ib2w6IFxcZTUwMjtcbiRmYS12YXItdW5pdmVyc2FsLWFjY2VzczogXFxmMjlhO1xuJGZhLXZhci1jaXJjbGUtY2hldnJvbi11cDogXFxmMTM5O1xuJGZhLXZhci1jaGV2cm9uLWNpcmNsZS11cDogXFxmMTM5O1xuJGZhLXZhci1sYXJpLXNpZ246IFxcZTFjODtcbiRmYS12YXItdm9sY2FubzogXFxmNzcwO1xuJGZhLXZhci1wZXJzb24td2Fsa2luZy1kYXNoZWQtbGluZS1hcnJvdy1yaWdodDogXFxlNTUzO1xuJGZhLXZhci1zdGVybGluZy1zaWduOiBcXGYxNTQ7XG4kZmEtdmFyLWdicDogXFxmMTU0O1xuJGZhLXZhci1wb3VuZC1zaWduOiBcXGYxNTQ7XG4kZmEtdmFyLXZpcnVzZXM6IFxcZTA3NjtcbiRmYS12YXItc3F1YXJlLXBlcnNvbi1jb25maW5lZDogXFxlNTc3O1xuJGZhLXZhci11c2VyLXRpZTogXFxmNTA4O1xuJGZhLXZhci1hcnJvdy1kb3duLWxvbmc6IFxcZjE3NTtcbiRmYS12YXItbG9uZy1hcnJvdy1kb3duOiBcXGYxNzU7XG4kZmEtdmFyLXRlbnQtYXJyb3ctZG93bi10by1saW5lOiBcXGU1N2U7XG4kZmEtdmFyLWNlcnRpZmljYXRlOiBcXGYwYTM7XG4kZmEtdmFyLXJlcGx5LWFsbDogXFxmMTIyO1xuJGZhLXZhci1tYWlsLXJlcGx5LWFsbDogXFxmMTIyO1xuJGZhLXZhci1zdWl0Y2FzZTogXFxmMGYyO1xuJGZhLXZhci1wZXJzb24tc2thdGluZzogXFxmN2M1O1xuJGZhLXZhci1za2F0aW5nOiBcXGY3YzU7XG4kZmEtdmFyLWZpbHRlci1jaXJjbGUtZG9sbGFyOiBcXGY2NjI7XG4kZmEtdmFyLWZ1bm5lbC1kb2xsYXI6IFxcZjY2MjtcbiRmYS12YXItY2FtZXJhLXJldHJvOiBcXGYwODM7XG4kZmEtdmFyLWNpcmNsZS1hcnJvdy1kb3duOiBcXGYwYWI7XG4kZmEtdmFyLWFycm93LWNpcmNsZS1kb3duOiBcXGYwYWI7XG4kZmEtdmFyLWZpbGUtaW1wb3J0OiBcXGY1NmY7XG4kZmEtdmFyLWFycm93LXJpZ2h0LXRvLWZpbGU6IFxcZjU2ZjtcbiRmYS12YXItc3F1YXJlLWFycm93LXVwLXJpZ2h0OiBcXGYxNGM7XG4kZmEtdmFyLWV4dGVybmFsLWxpbmstc3F1YXJlOiBcXGYxNGM7XG4kZmEtdmFyLWJveC1vcGVuOiBcXGY0OWU7XG4kZmEtdmFyLXNjcm9sbDogXFxmNzBlO1xuJGZhLXZhci1zcGE6IFxcZjViYjtcbiRmYS12YXItbG9jYXRpb24tcGluLWxvY2s6IFxcZTUxZjtcbiRmYS12YXItcGF1c2U6IFxcZjA0YztcbiRmYS12YXItaGlsbC1hdmFsYW5jaGU6IFxcZTUwNztcbiRmYS12YXItdGVtcGVyYXR1cmUtZW1wdHk6IFxcZjJjYjtcbiRmYS12YXItdGVtcGVyYXR1cmUtMDogXFxmMmNiO1xuJGZhLXZhci10aGVybW9tZXRlci0wOiBcXGYyY2I7XG4kZmEtdmFyLXRoZXJtb21ldGVyLWVtcHR5OiBcXGYyY2I7XG4kZmEtdmFyLWJvbWI6IFxcZjFlMjtcbiRmYS12YXItcmVnaXN0ZXJlZDogXFxmMjVkO1xuJGZhLXZhci1hZGRyZXNzLWNhcmQ6IFxcZjJiYjtcbiRmYS12YXItY29udGFjdC1jYXJkOiBcXGYyYmI7XG4kZmEtdmFyLXZjYXJkOiBcXGYyYmI7XG4kZmEtdmFyLXNjYWxlLXVuYmFsYW5jZWQtZmxpcDogXFxmNTE2O1xuJGZhLXZhci1iYWxhbmNlLXNjYWxlLXJpZ2h0OiBcXGY1MTY7XG4kZmEtdmFyLXN1YnNjcmlwdDogXFxmMTJjO1xuJGZhLXZhci1kaWFtb25kLXR1cm4tcmlnaHQ6IFxcZjVlYjtcbiRmYS12YXItZGlyZWN0aW9uczogXFxmNWViO1xuJGZhLXZhci1idXJzdDogXFxlNGRjO1xuJGZhLXZhci1ob3VzZS1sYXB0b3A6IFxcZTA2NjtcbiRmYS12YXItbGFwdG9wLWhvdXNlOiBcXGUwNjY7XG4kZmEtdmFyLWZhY2UtdGlyZWQ6IFxcZjVjODtcbiRmYS12YXItdGlyZWQ6IFxcZjVjODtcbiRmYS12YXItbW9uZXktYmlsbHM6IFxcZTFmMztcbiRmYS12YXItc21vZzogXFxmNzVmO1xuJGZhLXZhci1jcnV0Y2g6IFxcZjdmNztcbiRmYS12YXItY2xvdWQtYXJyb3ctdXA6IFxcZjBlZTtcbiRmYS12YXItY2xvdWQtdXBsb2FkOiBcXGYwZWU7XG4kZmEtdmFyLWNsb3VkLXVwbG9hZC1hbHQ6IFxcZjBlZTtcbiRmYS12YXItcGFsZXR0ZTogXFxmNTNmO1xuJGZhLXZhci1hcnJvd3MtdHVybi1yaWdodDogXFxlNGMwO1xuJGZhLXZhci12ZXN0OiBcXGUwODU7XG4kZmEtdmFyLWZlcnJ5OiBcXGU0ZWE7XG4kZmEtdmFyLWFycm93cy1kb3duLXRvLXBlb3BsZTogXFxlNGI5O1xuJGZhLXZhci1zZWVkbGluZzogXFxmNGQ4O1xuJGZhLXZhci1zcHJvdXQ6IFxcZjRkODtcbiRmYS12YXItbGVmdC1yaWdodDogXFxmMzM3O1xuJGZhLXZhci1hcnJvd3MtYWx0LWg6IFxcZjMzNztcbiRmYS12YXItYm94ZXMtcGFja2luZzogXFxlNGM3O1xuJGZhLXZhci1jaXJjbGUtYXJyb3ctbGVmdDogXFxmMGE4O1xuJGZhLXZhci1hcnJvdy1jaXJjbGUtbGVmdDogXFxmMGE4O1xuJGZhLXZhci1ncm91cC1hcnJvd3Mtcm90YXRlOiBcXGU0ZjY7XG4kZmEtdmFyLWJvd2wtZm9vZDogXFxlNGM2O1xuJGZhLXZhci1jYW5keS1jYW5lOiBcXGY3ODY7XG4kZmEtdmFyLWFycm93LWRvd24td2lkZS1zaG9ydDogXFxmMTYwO1xuJGZhLXZhci1zb3J0LWFtb3VudC1hc2M6IFxcZjE2MDtcbiRmYS12YXItc29ydC1hbW91bnQtZG93bjogXFxmMTYwO1xuJGZhLXZhci1jbG91ZC1ib2x0OiBcXGY3NmM7XG4kZmEtdmFyLXRodW5kZXJzdG9ybTogXFxmNzZjO1xuJGZhLXZhci10ZXh0LXNsYXNoOiBcXGY4N2Q7XG4kZmEtdmFyLXJlbW92ZS1mb3JtYXQ6IFxcZjg3ZDtcbiRmYS12YXItZmFjZS1zbWlsZS13aW5rOiBcXGY0ZGE7XG4kZmEtdmFyLXNtaWxlLXdpbms6IFxcZjRkYTtcbiRmYS12YXItZmlsZS13b3JkOiBcXGYxYzI7XG4kZmEtdmFyLWZpbGUtcG93ZXJwb2ludDogXFxmMWM0O1xuJGZhLXZhci1hcnJvd3MtbGVmdC1yaWdodDogXFxmMDdlO1xuJGZhLXZhci1hcnJvd3MtaDogXFxmMDdlO1xuJGZhLXZhci1ob3VzZS1sb2NrOiBcXGU1MTA7XG4kZmEtdmFyLWNsb3VkLWFycm93LWRvd246IFxcZjBlZDtcbiRmYS12YXItY2xvdWQtZG93bmxvYWQ6IFxcZjBlZDtcbiRmYS12YXItY2xvdWQtZG93bmxvYWQtYWx0OiBcXGYwZWQ7XG4kZmEtdmFyLWNoaWxkcmVuOiBcXGU0ZTE7XG4kZmEtdmFyLWNoYWxrYm9hcmQ6IFxcZjUxYjtcbiRmYS12YXItYmxhY2tib2FyZDogXFxmNTFiO1xuJGZhLXZhci11c2VyLWxhcmdlLXNsYXNoOiBcXGY0ZmE7XG4kZmEtdmFyLXVzZXItYWx0LXNsYXNoOiBcXGY0ZmE7XG4kZmEtdmFyLWVudmVsb3BlLW9wZW46IFxcZjJiNjtcbiRmYS12YXItaGFuZHNoYWtlLXNpbXBsZS1zbGFzaDogXFxlMDVmO1xuJGZhLXZhci1oYW5kc2hha2UtYWx0LXNsYXNoOiBcXGUwNWY7XG4kZmEtdmFyLW1hdHRyZXNzLXBpbGxvdzogXFxlNTI1O1xuJGZhLXZhci1ndWFyYW5pLXNpZ246IFxcZTE5YTtcbiRmYS12YXItYXJyb3dzLXJvdGF0ZTogXFxmMDIxO1xuJGZhLXZhci1yZWZyZXNoOiBcXGYwMjE7XG4kZmEtdmFyLXN5bmM6IFxcZjAyMTtcbiRmYS12YXItZmlyZS1leHRpbmd1aXNoZXI6IFxcZjEzNDtcbiRmYS12YXItY3J1emVpcm8tc2lnbjogXFxlMTUyO1xuJGZhLXZhci1ncmVhdGVyLXRoYW4tZXF1YWw6IFxcZjUzMjtcbiRmYS12YXItc2hpZWxkLWhhbHZlZDogXFxmM2VkO1xuJGZhLXZhci1zaGllbGQtYWx0OiBcXGYzZWQ7XG4kZmEtdmFyLWJvb2stYXRsYXM6IFxcZjU1ODtcbiRmYS12YXItYXRsYXM6IFxcZjU1ODtcbiRmYS12YXItdmlydXM6IFxcZTA3NDtcbiRmYS12YXItZW52ZWxvcGUtY2lyY2xlLWNoZWNrOiBcXGU0ZTg7XG4kZmEtdmFyLWxheWVyLWdyb3VwOiBcXGY1ZmQ7XG4kZmEtdmFyLWFycm93cy10by1kb3Q6IFxcZTRiZTtcbiRmYS12YXItYXJjaHdheTogXFxmNTU3O1xuJGZhLXZhci1oZWFydC1jaXJjbGUtY2hlY2s6IFxcZTRmZDtcbiRmYS12YXItaG91c2UtY2hpbW5leS1jcmFjazogXFxmNmYxO1xuJGZhLXZhci1ob3VzZS1kYW1hZ2U6IFxcZjZmMTtcbiRmYS12YXItZmlsZS16aXBwZXI6IFxcZjFjNjtcbiRmYS12YXItZmlsZS1hcmNoaXZlOiBcXGYxYzY7XG4kZmEtdmFyLXNxdWFyZTogXFxmMGM4O1xuJGZhLXZhci1tYXJ0aW5pLWdsYXNzLWVtcHR5OiBcXGYwMDA7XG4kZmEtdmFyLWdsYXNzLW1hcnRpbmk6IFxcZjAwMDtcbiRmYS12YXItY291Y2g6IFxcZjRiODtcbiRmYS12YXItY2VkaS1zaWduOiBcXGUwZGY7XG4kZmEtdmFyLWl0YWxpYzogXFxmMDMzO1xuJGZhLXZhci1jaHVyY2g6IFxcZjUxZDtcbiRmYS12YXItY29tbWVudHMtZG9sbGFyOiBcXGY2NTM7XG4kZmEtdmFyLWRlbW9jcmF0OiBcXGY3NDc7XG4kZmEtdmFyLXo6IFxcNWE7XG4kZmEtdmFyLXBlcnNvbi1za2lpbmc6IFxcZjdjOTtcbiRmYS12YXItc2tpaW5nOiBcXGY3Yzk7XG4kZmEtdmFyLXJvYWQtbG9jazogXFxlNTY3O1xuJGZhLXZhci1hOiBcXDQxO1xuJGZhLXZhci10ZW1wZXJhdHVyZS1hcnJvdy1kb3duOiBcXGUwM2Y7XG4kZmEtdmFyLXRlbXBlcmF0dXJlLWRvd246IFxcZTAzZjtcbiRmYS12YXItZmVhdGhlci1wb2ludGVkOiBcXGY1NmI7XG4kZmEtdmFyLWZlYXRoZXItYWx0OiBcXGY1NmI7XG4kZmEtdmFyLXA6IFxcNTA7XG4kZmEtdmFyLXNub3dmbGFrZTogXFxmMmRjO1xuJGZhLXZhci1uZXdzcGFwZXI6IFxcZjFlYTtcbiRmYS12YXItcmVjdGFuZ2xlLWFkOiBcXGY2NDE7XG4kZmEtdmFyLWFkOiBcXGY2NDE7XG4kZmEtdmFyLWNpcmNsZS1hcnJvdy1yaWdodDogXFxmMGE5O1xuJGZhLXZhci1hcnJvdy1jaXJjbGUtcmlnaHQ6IFxcZjBhOTtcbiRmYS12YXItZmlsdGVyLWNpcmNsZS14bWFyazogXFxlMTdiO1xuJGZhLXZhci1sb2N1c3Q6IFxcZTUyMDtcbiRmYS12YXItc29ydDogXFxmMGRjO1xuJGZhLXZhci11bnNvcnRlZDogXFxmMGRjO1xuJGZhLXZhci1saXN0LW9sOiBcXGYwY2I7XG4kZmEtdmFyLWxpc3QtMS0yOiBcXGYwY2I7XG4kZmEtdmFyLWxpc3QtbnVtZXJpYzogXFxmMGNiO1xuJGZhLXZhci1wZXJzb24tZHJlc3MtYnVyc3Q6IFxcZTU0NDtcbiRmYS12YXItbW9uZXktY2hlY2stZG9sbGFyOiBcXGY1M2Q7XG4kZmEtdmFyLW1vbmV5LWNoZWNrLWFsdDogXFxmNTNkO1xuJGZhLXZhci12ZWN0b3Itc3F1YXJlOiBcXGY1Y2I7XG4kZmEtdmFyLWJyZWFkLXNsaWNlOiBcXGY3ZWM7XG4kZmEtdmFyLWxhbmd1YWdlOiBcXGYxYWI7XG4kZmEtdmFyLWZhY2Uta2lzcy13aW5rLWhlYXJ0OiBcXGY1OTg7XG4kZmEtdmFyLWtpc3Mtd2luay1oZWFydDogXFxmNTk4O1xuJGZhLXZhci1maWx0ZXI6IFxcZjBiMDtcbiRmYS12YXItcXVlc3Rpb246IFxcM2Y7XG4kZmEtdmFyLWZpbGUtc2lnbmF0dXJlOiBcXGY1NzM7XG4kZmEtdmFyLXVwLWRvd24tbGVmdC1yaWdodDogXFxmMGIyO1xuJGZhLXZhci1hcnJvd3MtYWx0OiBcXGYwYjI7XG4kZmEtdmFyLWhvdXNlLWNoaW1uZXktdXNlcjogXFxlMDY1O1xuJGZhLXZhci1oYW5kLWhvbGRpbmctaGVhcnQ6IFxcZjRiZTtcbiRmYS12YXItcHV6emxlLXBpZWNlOiBcXGYxMmU7XG4kZmEtdmFyLW1vbmV5LWNoZWNrOiBcXGY1M2M7XG4kZmEtdmFyLXN0YXItaGFsZi1zdHJva2U6IFxcZjVjMDtcbiRmYS12YXItc3Rhci1oYWxmLWFsdDogXFxmNWMwO1xuJGZhLXZhci1jb2RlOiBcXGYxMjE7XG4kZmEtdmFyLXdoaXNrZXktZ2xhc3M6IFxcZjdhMDtcbiRmYS12YXItZ2xhc3Mtd2hpc2tleTogXFxmN2EwO1xuJGZhLXZhci1idWlsZGluZy1jaXJjbGUtZXhjbGFtYXRpb246IFxcZTRkMztcbiRmYS12YXItbWFnbmlmeWluZy1nbGFzcy1jaGFydDogXFxlNTIyO1xuJGZhLXZhci1hcnJvdy11cC1yaWdodC1mcm9tLXNxdWFyZTogXFxmMDhlO1xuJGZhLXZhci1leHRlcm5hbC1saW5rOiBcXGYwOGU7XG4kZmEtdmFyLWN1YmVzLXN0YWNrZWQ6IFxcZTRlNjtcbiRmYS12YXItd29uLXNpZ246IFxcZjE1OTtcbiRmYS12YXIta3J3OiBcXGYxNTk7XG4kZmEtdmFyLXdvbjogXFxmMTU5O1xuJGZhLXZhci12aXJ1cy1jb3ZpZDogXFxlNGE4O1xuJGZhLXZhci1hdXN0cmFsLXNpZ246IFxcZTBhOTtcbiRmYS12YXItZjogXFw0NjtcbiRmYS12YXItbGVhZjogXFxmMDZjO1xuJGZhLXZhci1yb2FkOiBcXGYwMTg7XG4kZmEtdmFyLXRheGk6IFxcZjFiYTtcbiRmYS12YXItY2FiOiBcXGYxYmE7XG4kZmEtdmFyLXBlcnNvbi1jaXJjbGUtcGx1czogXFxlNTQxO1xuJGZhLXZhci1jaGFydC1waWU6IFxcZjIwMDtcbiRmYS12YXItcGllLWNoYXJ0OiBcXGYyMDA7XG4kZmEtdmFyLWJvbHQtbGlnaHRuaW5nOiBcXGUwYjc7XG4kZmEtdmFyLXNhY2steG1hcms6IFxcZTU2YTtcbiRmYS12YXItZmlsZS1leGNlbDogXFxmMWMzO1xuJGZhLXZhci1maWxlLWNvbnRyYWN0OiBcXGY1NmM7XG4kZmEtdmFyLWZpc2gtZmluczogXFxlNGYyO1xuJGZhLXZhci1idWlsZGluZy1mbGFnOiBcXGU0ZDU7XG4kZmEtdmFyLWZhY2UtZ3Jpbi1iZWFtOiBcXGY1ODI7XG4kZmEtdmFyLWdyaW4tYmVhbTogXFxmNTgyO1xuJGZhLXZhci1vYmplY3QtdW5ncm91cDogXFxmMjQ4O1xuJGZhLXZhci1wb29wOiBcXGY2MTk7XG4kZmEtdmFyLWxvY2F0aW9uLXBpbjogXFxmMDQxO1xuJGZhLXZhci1tYXAtbWFya2VyOiBcXGYwNDE7XG4kZmEtdmFyLWthYWJhOiBcXGY2NmI7XG4kZmEtdmFyLXRvaWxldC1wYXBlcjogXFxmNzFlO1xuJGZhLXZhci1oZWxtZXQtc2FmZXR5OiBcXGY4MDc7XG4kZmEtdmFyLWhhcmQtaGF0OiBcXGY4MDc7XG4kZmEtdmFyLWhhdC1oYXJkOiBcXGY4MDc7XG4kZmEtdmFyLWVqZWN0OiBcXGYwNTI7XG4kZmEtdmFyLWNpcmNsZS1yaWdodDogXFxmMzVhO1xuJGZhLXZhci1hcnJvdy1hbHQtY2lyY2xlLXJpZ2h0OiBcXGYzNWE7XG4kZmEtdmFyLXBsYW5lLWNpcmNsZS1jaGVjazogXFxlNTU1O1xuJGZhLXZhci1mYWNlLXJvbGxpbmctZXllczogXFxmNWE1O1xuJGZhLXZhci1tZWgtcm9sbGluZy1leWVzOiBcXGY1YTU7XG4kZmEtdmFyLW9iamVjdC1ncm91cDogXFxmMjQ3O1xuJGZhLXZhci1jaGFydC1saW5lOiBcXGYyMDE7XG4kZmEtdmFyLWxpbmUtY2hhcnQ6IFxcZjIwMTtcbiRmYS12YXItbWFzay12ZW50aWxhdG9yOiBcXGU1MjQ7XG4kZmEtdmFyLWFycm93LXJpZ2h0OiBcXGYwNjE7XG4kZmEtdmFyLXNpZ25zLXBvc3Q6IFxcZjI3NztcbiRmYS12YXItbWFwLXNpZ25zOiBcXGYyNzc7XG4kZmEtdmFyLWNhc2gtcmVnaXN0ZXI6IFxcZjc4ODtcbiRmYS12YXItcGVyc29uLWNpcmNsZS1xdWVzdGlvbjogXFxlNTQyO1xuJGZhLXZhci1oOiBcXDQ4O1xuJGZhLXZhci10YXJwOiBcXGU1N2I7XG4kZmEtdmFyLXNjcmV3ZHJpdmVyLXdyZW5jaDogXFxmN2Q5O1xuJGZhLXZhci10b29sczogXFxmN2Q5O1xuJGZhLXZhci1hcnJvd3MtdG8tZXllOiBcXGU0YmY7XG4kZmEtdmFyLXBsdWctY2lyY2xlLWJvbHQ6IFxcZTU1YjtcbiRmYS12YXItaGVhcnQ6IFxcZjAwNDtcbiRmYS12YXItbWFycy1hbmQtdmVudXM6IFxcZjIyNDtcbiRmYS12YXItaG91c2UtdXNlcjogXFxlMWIwO1xuJGZhLXZhci1ob21lLXVzZXI6IFxcZTFiMDtcbiRmYS12YXItZHVtcHN0ZXItZmlyZTogXFxmNzk0O1xuJGZhLXZhci1ob3VzZS1jcmFjazogXFxlM2IxO1xuJGZhLXZhci1tYXJ0aW5pLWdsYXNzLWNpdHJ1czogXFxmNTYxO1xuJGZhLXZhci1jb2NrdGFpbDogXFxmNTYxO1xuJGZhLXZhci1mYWNlLXN1cnByaXNlOiBcXGY1YzI7XG4kZmEtdmFyLXN1cnByaXNlOiBcXGY1YzI7XG4kZmEtdmFyLWJvdHRsZS13YXRlcjogXFxlNGM1O1xuJGZhLXZhci1jaXJjbGUtcGF1c2U6IFxcZjI4YjtcbiRmYS12YXItcGF1c2UtY2lyY2xlOiBcXGYyOGI7XG4kZmEtdmFyLXRvaWxldC1wYXBlci1zbGFzaDogXFxlMDcyO1xuJGZhLXZhci1hcHBsZS13aG9sZTogXFxmNWQxO1xuJGZhLXZhci1hcHBsZS1hbHQ6IFxcZjVkMTtcbiRmYS12YXIta2l0Y2hlbi1zZXQ6IFxcZTUxYTtcbiRmYS12YXItcjogXFw1MjtcbiRmYS12YXItdGVtcGVyYXR1cmUtcXVhcnRlcjogXFxmMmNhO1xuJGZhLXZhci10ZW1wZXJhdHVyZS0xOiBcXGYyY2E7XG4kZmEtdmFyLXRoZXJtb21ldGVyLTE6IFxcZjJjYTtcbiRmYS12YXItdGhlcm1vbWV0ZXItcXVhcnRlcjogXFxmMmNhO1xuJGZhLXZhci1jdWJlOiBcXGYxYjI7XG4kZmEtdmFyLWJpdGNvaW4tc2lnbjogXFxlMGI0O1xuJGZhLXZhci1zaGllbGQtZG9nOiBcXGU1NzM7XG4kZmEtdmFyLXNvbGFyLXBhbmVsOiBcXGY1YmE7XG4kZmEtdmFyLWxvY2stb3BlbjogXFxmM2MxO1xuJGZhLXZhci1lbGV2YXRvcjogXFxlMTZkO1xuJGZhLXZhci1tb25leS1iaWxsLXRyYW5zZmVyOiBcXGU1Mjg7XG4kZmEtdmFyLW1vbmV5LWJpbGwtdHJlbmQtdXA6IFxcZTUyOTtcbiRmYS12YXItaG91c2UtZmxvb2Qtd2F0ZXItY2lyY2xlLWFycm93LXJpZ2h0OiBcXGU1MGY7XG4kZmEtdmFyLXNxdWFyZS1wb2xsLWhvcml6b250YWw6IFxcZjY4MjtcbiRmYS12YXItcG9sbC1oOiBcXGY2ODI7XG4kZmEtdmFyLWNpcmNsZTogXFxmMTExO1xuJGZhLXZhci1iYWNrd2FyZC1mYXN0OiBcXGYwNDk7XG4kZmEtdmFyLWZhc3QtYmFja3dhcmQ6IFxcZjA0OTtcbiRmYS12YXItcmVjeWNsZTogXFxmMWI4O1xuJGZhLXZhci11c2VyLWFzdHJvbmF1dDogXFxmNGZiO1xuJGZhLXZhci1wbGFuZS1zbGFzaDogXFxlMDY5O1xuJGZhLXZhci10cmFkZW1hcms6IFxcZjI1YztcbiRmYS12YXItYmFza2V0YmFsbDogXFxmNDM0O1xuJGZhLXZhci1iYXNrZXRiYWxsLWJhbGw6IFxcZjQzNDtcbiRmYS12YXItc2F0ZWxsaXRlLWRpc2g6IFxcZjdjMDtcbiRmYS12YXItY2lyY2xlLXVwOiBcXGYzNWI7XG4kZmEtdmFyLWFycm93LWFsdC1jaXJjbGUtdXA6IFxcZjM1YjtcbiRmYS12YXItbW9iaWxlLXNjcmVlbi1idXR0b246IFxcZjNjZDtcbiRmYS12YXItbW9iaWxlLWFsdDogXFxmM2NkO1xuJGZhLXZhci12b2x1bWUtaGlnaDogXFxmMDI4O1xuJGZhLXZhci12b2x1bWUtdXA6IFxcZjAyODtcbiRmYS12YXItdXNlcnMtcmF5czogXFxlNTkzO1xuJGZhLXZhci13YWxsZXQ6IFxcZjU1NTtcbiRmYS12YXItY2xpcGJvYXJkLWNoZWNrOiBcXGY0NmM7XG4kZmEtdmFyLWZpbGUtYXVkaW86IFxcZjFjNztcbiRmYS12YXItYnVyZ2VyOiBcXGY4MDU7XG4kZmEtdmFyLWhhbWJ1cmdlcjogXFxmODA1O1xuJGZhLXZhci13cmVuY2g6IFxcZjBhZDtcbiRmYS12YXItYnVnczogXFxlNGQwO1xuJGZhLXZhci1ydXBlZS1zaWduOiBcXGYxNTY7XG4kZmEtdmFyLXJ1cGVlOiBcXGYxNTY7XG4kZmEtdmFyLWZpbGUtaW1hZ2U6IFxcZjFjNTtcbiRmYS12YXItY2lyY2xlLXF1ZXN0aW9uOiBcXGYwNTk7XG4kZmEtdmFyLXF1ZXN0aW9uLWNpcmNsZTogXFxmMDU5O1xuJGZhLXZhci1wbGFuZS1kZXBhcnR1cmU6IFxcZjViMDtcbiRmYS12YXItaGFuZHNoYWtlLXNsYXNoOiBcXGUwNjA7XG4kZmEtdmFyLWJvb2stYm9va21hcms6IFxcZTBiYjtcbiRmYS12YXItY29kZS1icmFuY2g6IFxcZjEyNjtcbiRmYS12YXItaGF0LWNvd2JveTogXFxmOGMwO1xuJGZhLXZhci1icmlkZ2U6IFxcZTRjODtcbiRmYS12YXItcGhvbmUtZmxpcDogXFxmODc5O1xuJGZhLXZhci1waG9uZS1hbHQ6IFxcZjg3OTtcbiRmYS12YXItdHJ1Y2stZnJvbnQ6IFxcZTJiNztcbiRmYS12YXItY2F0OiBcXGY2YmU7XG4kZmEtdmFyLWFuY2hvci1jaXJjbGUtZXhjbGFtYXRpb246IFxcZTRhYjtcbiRmYS12YXItdHJ1Y2stZmllbGQ6IFxcZTU4ZDtcbiRmYS12YXItcm91dGU6IFxcZjRkNztcbiRmYS12YXItY2xpcGJvYXJkLXF1ZXN0aW9uOiBcXGU0ZTM7XG4kZmEtdmFyLXBhbm9yYW1hOiBcXGUyMDk7XG4kZmEtdmFyLWNvbW1lbnQtbWVkaWNhbDogXFxmN2Y1O1xuJGZhLXZhci10ZWV0aC1vcGVuOiBcXGY2MmY7XG4kZmEtdmFyLWZpbGUtY2lyY2xlLW1pbnVzOiBcXGU0ZWQ7XG4kZmEtdmFyLXRhZ3M6IFxcZjAyYztcbiRmYS12YXItd2luZS1nbGFzczogXFxmNGUzO1xuJGZhLXZhci1mb3J3YXJkLWZhc3Q6IFxcZjA1MDtcbiRmYS12YXItZmFzdC1mb3J3YXJkOiBcXGYwNTA7XG4kZmEtdmFyLWZhY2UtbWVoLWJsYW5rOiBcXGY1YTQ7XG4kZmEtdmFyLW1laC1ibGFuazogXFxmNWE0O1xuJGZhLXZhci1zcXVhcmUtcGFya2luZzogXFxmNTQwO1xuJGZhLXZhci1wYXJraW5nOiBcXGY1NDA7XG4kZmEtdmFyLWhvdXNlLXNpZ25hbDogXFxlMDEyO1xuJGZhLXZhci1iYXJzLXByb2dyZXNzOiBcXGY4Mjg7XG4kZmEtdmFyLXRhc2tzLWFsdDogXFxmODI4O1xuJGZhLXZhci1mYXVjZXQtZHJpcDogXFxlMDA2O1xuJGZhLXZhci1jYXJ0LWZsYXRiZWQ6IFxcZjQ3NDtcbiRmYS12YXItZG9sbHktZmxhdGJlZDogXFxmNDc0O1xuJGZhLXZhci1iYW4tc21va2luZzogXFxmNTRkO1xuJGZhLXZhci1zbW9raW5nLWJhbjogXFxmNTRkO1xuJGZhLXZhci10ZXJtaW5hbDogXFxmMTIwO1xuJGZhLXZhci1tb2JpbGUtYnV0dG9uOiBcXGYxMGI7XG4kZmEtdmFyLWhvdXNlLW1lZGljYWwtZmxhZzogXFxlNTE0O1xuJGZhLXZhci1iYXNrZXQtc2hvcHBpbmc6IFxcZjI5MTtcbiRmYS12YXItc2hvcHBpbmctYmFza2V0OiBcXGYyOTE7XG4kZmEtdmFyLXRhcGU6IFxcZjRkYjtcbiRmYS12YXItYnVzLXNpbXBsZTogXFxmNTVlO1xuJGZhLXZhci1idXMtYWx0OiBcXGY1NWU7XG4kZmEtdmFyLWV5ZTogXFxmMDZlO1xuJGZhLXZhci1mYWNlLXNhZC1jcnk6IFxcZjViMztcbiRmYS12YXItc2FkLWNyeTogXFxmNWIzO1xuJGZhLXZhci1hdWRpby1kZXNjcmlwdGlvbjogXFxmMjllO1xuJGZhLXZhci1wZXJzb24tbWlsaXRhcnktdG8tcGVyc29uOiBcXGU1NGM7XG4kZmEtdmFyLWZpbGUtc2hpZWxkOiBcXGU0ZjA7XG4kZmEtdmFyLXVzZXItc2xhc2g6IFxcZjUwNjtcbiRmYS12YXItcGVuOiBcXGYzMDQ7XG4kZmEtdmFyLXRvd2VyLW9ic2VydmF0aW9uOiBcXGU1ODY7XG4kZmEtdmFyLWZpbGUtY29kZTogXFxmMWM5O1xuJGZhLXZhci1zaWduYWw6IFxcZjAxMjtcbiRmYS12YXItc2lnbmFsLTU6IFxcZjAxMjtcbiRmYS12YXItc2lnbmFsLXBlcmZlY3Q6IFxcZjAxMjtcbiRmYS12YXItYnVzOiBcXGYyMDc7XG4kZmEtdmFyLWhlYXJ0LWNpcmNsZS14bWFyazogXFxlNTAxO1xuJGZhLXZhci1ob3VzZS1jaGltbmV5OiBcXGUzYWY7XG4kZmEtdmFyLWhvbWUtbGc6IFxcZTNhZjtcbiRmYS12YXItd2luZG93LW1heGltaXplOiBcXGYyZDA7XG4kZmEtdmFyLWZhY2UtZnJvd246IFxcZjExOTtcbiRmYS12YXItZnJvd246IFxcZjExOTtcbiRmYS12YXItcHJlc2NyaXB0aW9uOiBcXGY1YjE7XG4kZmEtdmFyLXNob3A6IFxcZjU0ZjtcbiRmYS12YXItc3RvcmUtYWx0OiBcXGY1NGY7XG4kZmEtdmFyLWZsb3BweS1kaXNrOiBcXGYwYzc7XG4kZmEtdmFyLXNhdmU6IFxcZjBjNztcbiRmYS12YXItdmloYXJhOiBcXGY2YTc7XG4kZmEtdmFyLXNjYWxlLXVuYmFsYW5jZWQ6IFxcZjUxNTtcbiRmYS12YXItYmFsYW5jZS1zY2FsZS1sZWZ0OiBcXGY1MTU7XG4kZmEtdmFyLXNvcnQtdXA6IFxcZjBkZTtcbiRmYS12YXItc29ydC1hc2M6IFxcZjBkZTtcbiRmYS12YXItY29tbWVudC1kb3RzOiBcXGY0YWQ7XG4kZmEtdmFyLWNvbW1lbnRpbmc6IFxcZjRhZDtcbiRmYS12YXItcGxhbnQtd2lsdDogXFxlNWFhO1xuJGZhLXZhci1kaWFtb25kOiBcXGYyMTk7XG4kZmEtdmFyLWZhY2UtZ3Jpbi1zcXVpbnQ6IFxcZjU4NTtcbiRmYS12YXItZ3Jpbi1zcXVpbnQ6IFxcZjU4NTtcbiRmYS12YXItaGFuZC1ob2xkaW5nLWRvbGxhcjogXFxmNGMwO1xuJGZhLXZhci1oYW5kLWhvbGRpbmctdXNkOiBcXGY0YzA7XG4kZmEtdmFyLWJhY3Rlcml1bTogXFxlMDVhO1xuJGZhLXZhci1oYW5kLXBvaW50ZXI6IFxcZjI1YTtcbiRmYS12YXItZHJ1bS1zdGVlbHBhbjogXFxmNTZhO1xuJGZhLXZhci1oYW5kLXNjaXNzb3JzOiBcXGYyNTc7XG4kZmEtdmFyLWhhbmRzLXByYXlpbmc6IFxcZjY4NDtcbiRmYS12YXItcHJheWluZy1oYW5kczogXFxmNjg0O1xuJGZhLXZhci1hcnJvdy1yb3RhdGUtcmlnaHQ6IFxcZjAxZTtcbiRmYS12YXItYXJyb3ctcmlnaHQtcm90YXRlOiBcXGYwMWU7XG4kZmEtdmFyLWFycm93LXJvdGF0ZS1mb3J3YXJkOiBcXGYwMWU7XG4kZmEtdmFyLXJlZG86IFxcZjAxZTtcbiRmYS12YXItYmlvaGF6YXJkOiBcXGY3ODA7XG4kZmEtdmFyLWxvY2F0aW9uLWNyb3NzaGFpcnM6IFxcZjYwMTtcbiRmYS12YXItbG9jYXRpb246IFxcZjYwMTtcbiRmYS12YXItbWFycy1kb3VibGU6IFxcZjIyNztcbiRmYS12YXItY2hpbGQtZHJlc3M6IFxcZTU5YztcbiRmYS12YXItdXNlcnMtYmV0d2Vlbi1saW5lczogXFxlNTkxO1xuJGZhLXZhci1sdW5ncy12aXJ1czogXFxlMDY3O1xuJGZhLXZhci1mYWNlLWdyaW4tdGVhcnM6IFxcZjU4ODtcbiRmYS12YXItZ3Jpbi10ZWFyczogXFxmNTg4O1xuJGZhLXZhci1waG9uZTogXFxmMDk1O1xuJGZhLXZhci1jYWxlbmRhci14bWFyazogXFxmMjczO1xuJGZhLXZhci1jYWxlbmRhci10aW1lczogXFxmMjczO1xuJGZhLXZhci1jaGlsZC1yZWFjaGluZzogXFxlNTlkO1xuJGZhLXZhci1oZWFkLXNpZGUtdmlydXM6IFxcZTA2NDtcbiRmYS12YXItdXNlci1nZWFyOiBcXGY0ZmU7XG4kZmEtdmFyLXVzZXItY29nOiBcXGY0ZmU7XG4kZmEtdmFyLWFycm93LXVwLTEtOTogXFxmMTYzO1xuJGZhLXZhci1zb3J0LW51bWVyaWMtdXA6IFxcZjE2MztcbiRmYS12YXItZG9vci1jbG9zZWQ6IFxcZjUyYTtcbiRmYS12YXItc2hpZWxkLXZpcnVzOiBcXGUwNmM7XG4kZmEtdmFyLWRpY2Utc2l4OiBcXGY1MjY7XG4kZmEtdmFyLW1vc3F1aXRvLW5ldDogXFxlNTJjO1xuJGZhLXZhci1icmlkZ2Utd2F0ZXI6IFxcZTRjZTtcbiRmYS12YXItcGVyc29uLWJvb3RoOiBcXGY3NTY7XG4kZmEtdmFyLXRleHQtd2lkdGg6IFxcZjAzNTtcbiRmYS12YXItaGF0LXdpemFyZDogXFxmNmU4O1xuJGZhLXZhci1wZW4tZmFuY3k6IFxcZjVhYztcbiRmYS12YXItcGVyc29uLWRpZ2dpbmc6IFxcZjg1ZTtcbiRmYS12YXItZGlnZ2luZzogXFxmODVlO1xuJGZhLXZhci10cmFzaDogXFxmMWY4O1xuJGZhLXZhci1nYXVnZS1zaW1wbGU6IFxcZjYyOTtcbiRmYS12YXItZ2F1Z2Utc2ltcGxlLW1lZDogXFxmNjI5O1xuJGZhLXZhci10YWNob21ldGVyLWF2ZXJhZ2U6IFxcZjYyOTtcbiRmYS12YXItYm9vay1tZWRpY2FsOiBcXGY3ZTY7XG4kZmEtdmFyLXBvbzogXFxmMmZlO1xuJGZhLXZhci1xdW90ZS1yaWdodDogXFxmMTBlO1xuJGZhLXZhci1xdW90ZS1yaWdodC1hbHQ6IFxcZjEwZTtcbiRmYS12YXItc2hpcnQ6IFxcZjU1MztcbiRmYS12YXItdC1zaGlydDogXFxmNTUzO1xuJGZhLXZhci10c2hpcnQ6IFxcZjU1MztcbiRmYS12YXItY3ViZXM6IFxcZjFiMztcbiRmYS12YXItZGl2aWRlOiBcXGY1Mjk7XG4kZmEtdmFyLXRlbmdlLXNpZ246IFxcZjdkNztcbiRmYS12YXItdGVuZ2U6IFxcZjdkNztcbiRmYS12YXItaGVhZHBob25lczogXFxmMDI1O1xuJGZhLXZhci1oYW5kcy1ob2xkaW5nOiBcXGY0YzI7XG4kZmEtdmFyLWhhbmRzLWNsYXBwaW5nOiBcXGUxYTg7XG4kZmEtdmFyLXJlcHVibGljYW46IFxcZjc1ZTtcbiRmYS12YXItYXJyb3ctbGVmdDogXFxmMDYwO1xuJGZhLXZhci1wZXJzb24tY2lyY2xlLXhtYXJrOiBcXGU1NDM7XG4kZmEtdmFyLXJ1bGVyOiBcXGY1NDU7XG4kZmEtdmFyLWFsaWduLWxlZnQ6IFxcZjAzNjtcbiRmYS12YXItZGljZS1kNjogXFxmNmQxO1xuJGZhLXZhci1yZXN0cm9vbTogXFxmN2JkO1xuJGZhLXZhci1qOiBcXDRhO1xuJGZhLXZhci11c2Vycy12aWV3ZmluZGVyOiBcXGU1OTU7XG4kZmEtdmFyLWZpbGUtdmlkZW86IFxcZjFjODtcbiRmYS12YXItdXAtcmlnaHQtZnJvbS1zcXVhcmU6IFxcZjM1ZDtcbiRmYS12YXItZXh0ZXJuYWwtbGluay1hbHQ6IFxcZjM1ZDtcbiRmYS12YXItdGFibGUtY2VsbHM6IFxcZjAwYTtcbiRmYS12YXItdGg6IFxcZjAwYTtcbiRmYS12YXItZmlsZS1wZGY6IFxcZjFjMTtcbiRmYS12YXItYm9vay1iaWJsZTogXFxmNjQ3O1xuJGZhLXZhci1iaWJsZTogXFxmNjQ3O1xuJGZhLXZhci1vOiBcXDRmO1xuJGZhLXZhci1zdWl0Y2FzZS1tZWRpY2FsOiBcXGYwZmE7XG4kZmEtdmFyLW1lZGtpdDogXFxmMGZhO1xuJGZhLXZhci11c2VyLXNlY3JldDogXFxmMjFiO1xuJGZhLXZhci1vdHRlcjogXFxmNzAwO1xuJGZhLXZhci1wZXJzb24tZHJlc3M6IFxcZjE4MjtcbiRmYS12YXItZmVtYWxlOiBcXGYxODI7XG4kZmEtdmFyLWNvbW1lbnQtZG9sbGFyOiBcXGY2NTE7XG4kZmEtdmFyLWJ1c2luZXNzLXRpbWU6IFxcZjY0YTtcbiRmYS12YXItYnJpZWZjYXNlLWNsb2NrOiBcXGY2NGE7XG4kZmEtdmFyLXRhYmxlLWNlbGxzLWxhcmdlOiBcXGYwMDk7XG4kZmEtdmFyLXRoLWxhcmdlOiBcXGYwMDk7XG4kZmEtdmFyLWJvb2stdGFuYWtoOiBcXGY4Mjc7XG4kZmEtdmFyLXRhbmFraDogXFxmODI3O1xuJGZhLXZhci1waG9uZS12b2x1bWU6IFxcZjJhMDtcbiRmYS12YXItdm9sdW1lLWNvbnRyb2wtcGhvbmU6IFxcZjJhMDtcbiRmYS12YXItaGF0LWNvd2JveS1zaWRlOiBcXGY4YzE7XG4kZmEtdmFyLWNsaXBib2FyZC11c2VyOiBcXGY3ZjM7XG4kZmEtdmFyLWNoaWxkOiBcXGYxYWU7XG4kZmEtdmFyLWxpcmEtc2lnbjogXFxmMTk1O1xuJGZhLXZhci1zYXRlbGxpdGU6IFxcZjdiZjtcbiRmYS12YXItcGxhbmUtbG9jazogXFxlNTU4O1xuJGZhLXZhci10YWc6IFxcZjAyYjtcbiRmYS12YXItY29tbWVudDogXFxmMDc1O1xuJGZhLXZhci1jYWtlLWNhbmRsZXM6IFxcZjFmZDtcbiRmYS12YXItYmlydGhkYXktY2FrZTogXFxmMWZkO1xuJGZhLXZhci1jYWtlOiBcXGYxZmQ7XG4kZmEtdmFyLWVudmVsb3BlOiBcXGYwZTA7XG4kZmEtdmFyLWFuZ2xlcy11cDogXFxmMTAyO1xuJGZhLXZhci1hbmdsZS1kb3VibGUtdXA6IFxcZjEwMjtcbiRmYS12YXItcGFwZXJjbGlwOiBcXGYwYzY7XG4kZmEtdmFyLWFycm93LXJpZ2h0LXRvLWNpdHk6IFxcZTRiMztcbiRmYS12YXItcmliYm9uOiBcXGY0ZDY7XG4kZmEtdmFyLWx1bmdzOiBcXGY2MDQ7XG4kZmEtdmFyLWFycm93LXVwLTktMTogXFxmODg3O1xuJGZhLXZhci1zb3J0LW51bWVyaWMtdXAtYWx0OiBcXGY4ODc7XG4kZmEtdmFyLWxpdGVjb2luLXNpZ246IFxcZTFkMztcbiRmYS12YXItYm9yZGVyLW5vbmU6IFxcZjg1MDtcbiRmYS12YXItY2lyY2xlLW5vZGVzOiBcXGU0ZTI7XG4kZmEtdmFyLXBhcmFjaHV0ZS1ib3g6IFxcZjRjZDtcbiRmYS12YXItaW5kZW50OiBcXGYwM2M7XG4kZmEtdmFyLXRydWNrLWZpZWxkLXVuOiBcXGU1OGU7XG4kZmEtdmFyLWhvdXJnbGFzczogXFxmMjU0O1xuJGZhLXZhci1ob3VyZ2xhc3MtZW1wdHk6IFxcZjI1NDtcbiRmYS12YXItbW91bnRhaW46IFxcZjZmYztcbiRmYS12YXItdXNlci1kb2N0b3I6IFxcZjBmMDtcbiRmYS12YXItdXNlci1tZDogXFxmMGYwO1xuJGZhLXZhci1jaXJjbGUtaW5mbzogXFxmMDVhO1xuJGZhLXZhci1pbmZvLWNpcmNsZTogXFxmMDVhO1xuJGZhLXZhci1jbG91ZC1tZWF0YmFsbDogXFxmNzNiO1xuJGZhLXZhci1jYW1lcmE6IFxcZjAzMDtcbiRmYS12YXItY2FtZXJhLWFsdDogXFxmMDMwO1xuJGZhLXZhci1zcXVhcmUtdmlydXM6IFxcZTU3ODtcbiRmYS12YXItbWV0ZW9yOiBcXGY3NTM7XG4kZmEtdmFyLWNhci1vbjogXFxlNGRkO1xuJGZhLXZhci1zbGVpZ2g6IFxcZjdjYztcbiRmYS12YXItYXJyb3ctZG93bi0xLTk6IFxcZjE2MjtcbiRmYS12YXItc29ydC1udW1lcmljLWFzYzogXFxmMTYyO1xuJGZhLXZhci1zb3J0LW51bWVyaWMtZG93bjogXFxmMTYyO1xuJGZhLXZhci1oYW5kLWhvbGRpbmctZHJvcGxldDogXFxmNGMxO1xuJGZhLXZhci1oYW5kLWhvbGRpbmctd2F0ZXI6IFxcZjRjMTtcbiRmYS12YXItd2F0ZXI6IFxcZjc3MztcbiRmYS12YXItY2FsZW5kYXItY2hlY2s6IFxcZjI3NDtcbiRmYS12YXItYnJhaWxsZTogXFxmMmExO1xuJGZhLXZhci1wcmVzY3JpcHRpb24tYm90dGxlLW1lZGljYWw6IFxcZjQ4NjtcbiRmYS12YXItcHJlc2NyaXB0aW9uLWJvdHRsZS1hbHQ6IFxcZjQ4NjtcbiRmYS12YXItbGFuZG1hcms6IFxcZjY2ZjtcbiRmYS12YXItdHJ1Y2s6IFxcZjBkMTtcbiRmYS12YXItY3Jvc3NoYWlyczogXFxmMDViO1xuJGZhLXZhci1wZXJzb24tY2FuZTogXFxlNTNjO1xuJGZhLXZhci10ZW50OiBcXGU1N2Q7XG4kZmEtdmFyLXZlc3QtcGF0Y2hlczogXFxlMDg2O1xuJGZhLXZhci1jaGVjay1kb3VibGU6IFxcZjU2MDtcbiRmYS12YXItYXJyb3ctZG93bi1hLXo6IFxcZjE1ZDtcbiRmYS12YXItc29ydC1hbHBoYS1hc2M6IFxcZjE1ZDtcbiRmYS12YXItc29ydC1hbHBoYS1kb3duOiBcXGYxNWQ7XG4kZmEtdmFyLW1vbmV5LWJpbGwtd2hlYXQ6IFxcZTUyYTtcbiRmYS12YXItY29va2llOiBcXGY1NjM7XG4kZmEtdmFyLWFycm93LXJvdGF0ZS1sZWZ0OiBcXGYwZTI7XG4kZmEtdmFyLWFycm93LWxlZnQtcm90YXRlOiBcXGYwZTI7XG4kZmEtdmFyLWFycm93LXJvdGF0ZS1iYWNrOiBcXGYwZTI7XG4kZmEtdmFyLWFycm93LXJvdGF0ZS1iYWNrd2FyZDogXFxmMGUyO1xuJGZhLXZhci11bmRvOiBcXGYwZTI7XG4kZmEtdmFyLWhhcmQtZHJpdmU6IFxcZjBhMDtcbiRmYS12YXItaGRkOiBcXGYwYTA7XG4kZmEtdmFyLWZhY2UtZ3Jpbi1zcXVpbnQtdGVhcnM6IFxcZjU4NjtcbiRmYS12YXItZ3Jpbi1zcXVpbnQtdGVhcnM6IFxcZjU4NjtcbiRmYS12YXItZHVtYmJlbGw6IFxcZjQ0YjtcbiRmYS12YXItcmVjdGFuZ2xlLWxpc3Q6IFxcZjAyMjtcbiRmYS12YXItbGlzdC1hbHQ6IFxcZjAyMjtcbiRmYS12YXItdGFycC1kcm9wbGV0OiBcXGU1N2M7XG4kZmEtdmFyLWhvdXNlLW1lZGljYWwtY2lyY2xlLWNoZWNrOiBcXGU1MTE7XG4kZmEtdmFyLXBlcnNvbi1za2lpbmctbm9yZGljOiBcXGY3Y2E7XG4kZmEtdmFyLXNraWluZy1ub3JkaWM6IFxcZjdjYTtcbiRmYS12YXItY2FsZW5kYXItcGx1czogXFxmMjcxO1xuJGZhLXZhci1wbGFuZS1hcnJpdmFsOiBcXGY1YWY7XG4kZmEtdmFyLWNpcmNsZS1sZWZ0OiBcXGYzNTk7XG4kZmEtdmFyLWFycm93LWFsdC1jaXJjbGUtbGVmdDogXFxmMzU5O1xuJGZhLXZhci10cmFpbi1zdWJ3YXk6IFxcZjIzOTtcbiRmYS12YXItc3Vid2F5OiBcXGYyMzk7XG4kZmEtdmFyLWNoYXJ0LWdhbnR0OiBcXGUwZTQ7XG4kZmEtdmFyLWluZGlhbi1ydXBlZS1zaWduOiBcXGUxYmM7XG4kZmEtdmFyLWluZGlhbi1ydXBlZTogXFxlMWJjO1xuJGZhLXZhci1pbnI6IFxcZTFiYztcbiRmYS12YXItY3JvcC1zaW1wbGU6IFxcZjU2NTtcbiRmYS12YXItY3JvcC1hbHQ6IFxcZjU2NTtcbiRmYS12YXItbW9uZXktYmlsbC0xOiBcXGYzZDE7XG4kZmEtdmFyLW1vbmV5LWJpbGwtYWx0OiBcXGYzZDE7XG4kZmEtdmFyLWxlZnQtbG9uZzogXFxmMzBhO1xuJGZhLXZhci1sb25nLWFycm93LWFsdC1sZWZ0OiBcXGYzMGE7XG4kZmEtdmFyLWRuYTogXFxmNDcxO1xuJGZhLXZhci12aXJ1cy1zbGFzaDogXFxlMDc1O1xuJGZhLXZhci1taW51czogXFxmMDY4O1xuJGZhLXZhci1zdWJ0cmFjdDogXFxmMDY4O1xuJGZhLXZhci1jaGVzczogXFxmNDM5O1xuJGZhLXZhci1hcnJvdy1sZWZ0LWxvbmc6IFxcZjE3NztcbiRmYS12YXItbG9uZy1hcnJvdy1sZWZ0OiBcXGYxNzc7XG4kZmEtdmFyLXBsdWctY2lyY2xlLWNoZWNrOiBcXGU1NWM7XG4kZmEtdmFyLXN0cmVldC12aWV3OiBcXGYyMWQ7XG4kZmEtdmFyLWZyYW5jLXNpZ246IFxcZTE4ZjtcbiRmYS12YXItdm9sdW1lLW9mZjogXFxmMDI2O1xuJGZhLXZhci1oYW5kcy1hc2wtaW50ZXJwcmV0aW5nOiBcXGYyYTM7XG4kZmEtdmFyLWFtZXJpY2FuLXNpZ24tbGFuZ3VhZ2UtaW50ZXJwcmV0aW5nOiBcXGYyYTM7XG4kZmEtdmFyLWFzbC1pbnRlcnByZXRpbmc6IFxcZjJhMztcbiRmYS12YXItaGFuZHMtYW1lcmljYW4tc2lnbi1sYW5ndWFnZS1pbnRlcnByZXRpbmc6IFxcZjJhMztcbiRmYS12YXItZ2VhcjogXFxmMDEzO1xuJGZhLXZhci1jb2c6IFxcZjAxMztcbiRmYS12YXItZHJvcGxldC1zbGFzaDogXFxmNWM3O1xuJGZhLXZhci10aW50LXNsYXNoOiBcXGY1Yzc7XG4kZmEtdmFyLW1vc3F1ZTogXFxmNjc4O1xuJGZhLXZhci1tb3NxdWl0bzogXFxlNTJiO1xuJGZhLXZhci1zdGFyLW9mLWRhdmlkOiBcXGY2OWE7XG4kZmEtdmFyLXBlcnNvbi1taWxpdGFyeS1yaWZsZTogXFxlNTRiO1xuJGZhLXZhci1jYXJ0LXNob3BwaW5nOiBcXGYwN2E7XG4kZmEtdmFyLXNob3BwaW5nLWNhcnQ6IFxcZjA3YTtcbiRmYS12YXItdmlhbHM6IFxcZjQ5MztcbiRmYS12YXItcGx1Zy1jaXJjbGUtcGx1czogXFxlNTVmO1xuJGZhLXZhci1wbGFjZS1vZi13b3JzaGlwOiBcXGY2N2Y7XG4kZmEtdmFyLWdyaXAtdmVydGljYWw6IFxcZjU4ZTtcbiRmYS12YXItYXJyb3ctdHVybi11cDogXFxmMTQ4O1xuJGZhLXZhci1sZXZlbC11cDogXFxmMTQ4O1xuJGZhLXZhci11OiBcXDU1O1xuJGZhLXZhci1zcXVhcmUtcm9vdC12YXJpYWJsZTogXFxmNjk4O1xuJGZhLXZhci1zcXVhcmUtcm9vdC1hbHQ6IFxcZjY5ODtcbiRmYS12YXItY2xvY2s6IFxcZjAxNztcbiRmYS12YXItY2xvY2stZm91cjogXFxmMDE3O1xuJGZhLXZhci1iYWNrd2FyZC1zdGVwOiBcXGYwNDg7XG4kZmEtdmFyLXN0ZXAtYmFja3dhcmQ6IFxcZjA0ODtcbiRmYS12YXItcGFsbGV0OiBcXGY0ODI7XG4kZmEtdmFyLWZhdWNldDogXFxlMDA1O1xuJGZhLXZhci1iYXNlYmFsbC1iYXQtYmFsbDogXFxmNDMyO1xuJGZhLXZhci1zOiBcXDUzO1xuJGZhLXZhci10aW1lbGluZTogXFxlMjljO1xuJGZhLXZhci1rZXlib2FyZDogXFxmMTFjO1xuJGZhLXZhci1jYXJldC1kb3duOiBcXGYwZDc7XG4kZmEtdmFyLWhvdXNlLWNoaW1uZXktbWVkaWNhbDogXFxmN2YyO1xuJGZhLXZhci1jbGluaWMtbWVkaWNhbDogXFxmN2YyO1xuJGZhLXZhci10ZW1wZXJhdHVyZS10aHJlZS1xdWFydGVyczogXFxmMmM4O1xuJGZhLXZhci10ZW1wZXJhdHVyZS0zOiBcXGYyYzg7XG4kZmEtdmFyLXRoZXJtb21ldGVyLTM6IFxcZjJjODtcbiRmYS12YXItdGhlcm1vbWV0ZXItdGhyZWUtcXVhcnRlcnM6IFxcZjJjODtcbiRmYS12YXItbW9iaWxlLXNjcmVlbjogXFxmM2NmO1xuJGZhLXZhci1tb2JpbGUtYW5kcm9pZC1hbHQ6IFxcZjNjZjtcbiRmYS12YXItcGxhbmUtdXA6IFxcZTIyZDtcbiRmYS12YXItcGlnZ3ktYmFuazogXFxmNGQzO1xuJGZhLXZhci1iYXR0ZXJ5LWhhbGY6IFxcZjI0MjtcbiRmYS12YXItYmF0dGVyeS0zOiBcXGYyNDI7XG4kZmEtdmFyLW1vdW50YWluLWNpdHk6IFxcZTUyZTtcbiRmYS12YXItY29pbnM6IFxcZjUxZTtcbiRmYS12YXIta2hhbmRhOiBcXGY2NmQ7XG4kZmEtdmFyLXNsaWRlcnM6IFxcZjFkZTtcbiRmYS12YXItc2xpZGVycy1oOiBcXGYxZGU7XG4kZmEtdmFyLWZvbGRlci10cmVlOiBcXGY4MDI7XG4kZmEtdmFyLW5ldHdvcmstd2lyZWQ6IFxcZjZmZjtcbiRmYS12YXItbWFwLXBpbjogXFxmMjc2O1xuJGZhLXZhci1oYW1zYTogXFxmNjY1O1xuJGZhLXZhci1jZW50LXNpZ246IFxcZTNmNTtcbiRmYS12YXItZmxhc2s6IFxcZjBjMztcbiRmYS12YXItcGVyc29uLXByZWduYW50OiBcXGUzMWU7XG4kZmEtdmFyLXdhbmQtc3BhcmtsZXM6IFxcZjcyYjtcbiRmYS12YXItZWxsaXBzaXMtdmVydGljYWw6IFxcZjE0MjtcbiRmYS12YXItZWxsaXBzaXMtdjogXFxmMTQyO1xuJGZhLXZhci10aWNrZXQ6IFxcZjE0NTtcbiRmYS12YXItcG93ZXItb2ZmOiBcXGYwMTE7XG4kZmEtdmFyLXJpZ2h0LWxvbmc6IFxcZjMwYjtcbiRmYS12YXItbG9uZy1hcnJvdy1hbHQtcmlnaHQ6IFxcZjMwYjtcbiRmYS12YXItZmxhZy11c2E6IFxcZjc0ZDtcbiRmYS12YXItbGFwdG9wLWZpbGU6IFxcZTUxZDtcbiRmYS12YXItdHR5OiBcXGYxZTQ7XG4kZmEtdmFyLXRlbGV0eXBlOiBcXGYxZTQ7XG4kZmEtdmFyLWRpYWdyYW0tbmV4dDogXFxlNDc2O1xuJGZhLXZhci1wZXJzb24tcmlmbGU6IFxcZTU0ZTtcbiRmYS12YXItaG91c2UtbWVkaWNhbC1jaXJjbGUtZXhjbGFtYXRpb246IFxcZTUxMjtcbiRmYS12YXItY2xvc2VkLWNhcHRpb25pbmc6IFxcZjIwYTtcbiRmYS12YXItcGVyc29uLWhpa2luZzogXFxmNmVjO1xuJGZhLXZhci1oaWtpbmc6IFxcZjZlYztcbiRmYS12YXItdmVudXMtZG91YmxlOiBcXGYyMjY7XG4kZmEtdmFyLWltYWdlczogXFxmMzAyO1xuJGZhLXZhci1jYWxjdWxhdG9yOiBcXGYxZWM7XG4kZmEtdmFyLXBlb3BsZS1wdWxsaW5nOiBcXGU1MzU7XG4kZmEtdmFyLW46IFxcNGU7XG4kZmEtdmFyLWNhYmxlLWNhcjogXFxmN2RhO1xuJGZhLXZhci10cmFtOiBcXGY3ZGE7XG4kZmEtdmFyLWNsb3VkLXJhaW46IFxcZjczZDtcbiRmYS12YXItYnVpbGRpbmctY2lyY2xlLXhtYXJrOiBcXGU0ZDQ7XG4kZmEtdmFyLXNoaXA6IFxcZjIxYTtcbiRmYS12YXItYXJyb3dzLWRvd24tdG8tbGluZTogXFxlNGI4O1xuJGZhLXZhci1kb3dubG9hZDogXFxmMDE5O1xuJGZhLXZhci1mYWNlLWdyaW46IFxcZjU4MDtcbiRmYS12YXItZ3JpbjogXFxmNTgwO1xuJGZhLXZhci1kZWxldGUtbGVmdDogXFxmNTVhO1xuJGZhLXZhci1iYWNrc3BhY2U6IFxcZjU1YTtcbiRmYS12YXItZXllLWRyb3BwZXI6IFxcZjFmYjtcbiRmYS12YXItZXllLWRyb3BwZXItZW1wdHk6IFxcZjFmYjtcbiRmYS12YXItZXllZHJvcHBlcjogXFxmMWZiO1xuJGZhLXZhci1maWxlLWNpcmNsZS1jaGVjazogXFxlNWEwO1xuJGZhLXZhci1mb3J3YXJkOiBcXGYwNGU7XG4kZmEtdmFyLW1vYmlsZTogXFxmM2NlO1xuJGZhLXZhci1tb2JpbGUtYW5kcm9pZDogXFxmM2NlO1xuJGZhLXZhci1tb2JpbGUtcGhvbmU6IFxcZjNjZTtcbiRmYS12YXItZmFjZS1tZWg6IFxcZjExYTtcbiRmYS12YXItbWVoOiBcXGYxMWE7XG4kZmEtdmFyLWFsaWduLWNlbnRlcjogXFxmMDM3O1xuJGZhLXZhci1ib29rLXNrdWxsOiBcXGY2Yjc7XG4kZmEtdmFyLWJvb2stZGVhZDogXFxmNmI3O1xuJGZhLXZhci1pZC1jYXJkOiBcXGYyYzI7XG4kZmEtdmFyLWRyaXZlcnMtbGljZW5zZTogXFxmMmMyO1xuJGZhLXZhci1vdXRkZW50OiBcXGYwM2I7XG4kZmEtdmFyLWRlZGVudDogXFxmMDNiO1xuJGZhLXZhci1oZWFydC1jaXJjbGUtZXhjbGFtYXRpb246IFxcZTRmZTtcbiRmYS12YXItaG91c2U6IFxcZjAxNTtcbiRmYS12YXItaG9tZTogXFxmMDE1O1xuJGZhLXZhci1ob21lLWFsdDogXFxmMDE1O1xuJGZhLXZhci1ob21lLWxnLWFsdDogXFxmMDE1O1xuJGZhLXZhci1jYWxlbmRhci13ZWVrOiBcXGY3ODQ7XG4kZmEtdmFyLWxhcHRvcC1tZWRpY2FsOiBcXGY4MTI7XG4kZmEtdmFyLWI6IFxcNDI7XG4kZmEtdmFyLWZpbGUtbWVkaWNhbDogXFxmNDc3O1xuJGZhLXZhci1kaWNlLW9uZTogXFxmNTI1O1xuJGZhLXZhci1raXdpLWJpcmQ6IFxcZjUzNTtcbiRmYS12YXItYXJyb3ctcmlnaHQtYXJyb3ctbGVmdDogXFxmMGVjO1xuJGZhLXZhci1leGNoYW5nZTogXFxmMGVjO1xuJGZhLXZhci1yb3RhdGUtcmlnaHQ6IFxcZjJmOTtcbiRmYS12YXItcmVkby1hbHQ6IFxcZjJmOTtcbiRmYS12YXItcm90YXRlLWZvcndhcmQ6IFxcZjJmOTtcbiRmYS12YXItdXRlbnNpbHM6IFxcZjJlNztcbiRmYS12YXItY3V0bGVyeTogXFxmMmU3O1xuJGZhLXZhci1hcnJvdy11cC13aWRlLXNob3J0OiBcXGYxNjE7XG4kZmEtdmFyLXNvcnQtYW1vdW50LXVwOiBcXGYxNjE7XG4kZmEtdmFyLW1pbGwtc2lnbjogXFxlMWVkO1xuJGZhLXZhci1ib3dsLXJpY2U6IFxcZTJlYjtcbiRmYS12YXItc2t1bGw6IFxcZjU0YztcbiRmYS12YXItdG93ZXItYnJvYWRjYXN0OiBcXGY1MTk7XG4kZmEtdmFyLWJyb2FkY2FzdC10b3dlcjogXFxmNTE5O1xuJGZhLXZhci10cnVjay1waWNrdXA6IFxcZjYzYztcbiRmYS12YXItdXAtbG9uZzogXFxmMzBjO1xuJGZhLXZhci1sb25nLWFycm93LWFsdC11cDogXFxmMzBjO1xuJGZhLXZhci1zdG9wOiBcXGYwNGQ7XG4kZmEtdmFyLWNvZGUtbWVyZ2U6IFxcZjM4NztcbiRmYS12YXItdXBsb2FkOiBcXGYwOTM7XG4kZmEtdmFyLWh1cnJpY2FuZTogXFxmNzUxO1xuJGZhLXZhci1tb3VuZDogXFxlNTJkO1xuJGZhLXZhci10b2lsZXQtcG9ydGFibGU6IFxcZTU4MztcbiRmYS12YXItY29tcGFjdC1kaXNjOiBcXGY1MWY7XG4kZmEtdmFyLWZpbGUtYXJyb3ctZG93bjogXFxmNTZkO1xuJGZhLXZhci1maWxlLWRvd25sb2FkOiBcXGY1NmQ7XG4kZmEtdmFyLWNhcmF2YW46IFxcZjhmZjtcbiRmYS12YXItc2hpZWxkLWNhdDogXFxlNTcyO1xuJGZhLXZhci1ib2x0OiBcXGYwZTc7XG4kZmEtdmFyLXphcDogXFxmMGU3O1xuJGZhLXZhci1nbGFzcy13YXRlcjogXFxlNGY0O1xuJGZhLXZhci1vaWwtd2VsbDogXFxlNTMyO1xuJGZhLXZhci12YXVsdDogXFxlMmM1O1xuJGZhLXZhci1tYXJzOiBcXGYyMjI7XG4kZmEtdmFyLXRvaWxldDogXFxmN2Q4O1xuJGZhLXZhci1wbGFuZS1jaXJjbGUteG1hcms6IFxcZTU1NztcbiRmYS12YXIteWVuLXNpZ246IFxcZjE1NztcbiRmYS12YXItY255OiBcXGYxNTc7XG4kZmEtdmFyLWpweTogXFxmMTU3O1xuJGZhLXZhci1ybWI6IFxcZjE1NztcbiRmYS12YXIteWVuOiBcXGYxNTc7XG4kZmEtdmFyLXJ1YmxlLXNpZ246IFxcZjE1ODtcbiRmYS12YXItcm91YmxlOiBcXGYxNTg7XG4kZmEtdmFyLXJ1YjogXFxmMTU4O1xuJGZhLXZhci1ydWJsZTogXFxmMTU4O1xuJGZhLXZhci1zdW46IFxcZjE4NTtcbiRmYS12YXItZ3VpdGFyOiBcXGY3YTY7XG4kZmEtdmFyLWZhY2UtbGF1Z2gtd2luazogXFxmNTljO1xuJGZhLXZhci1sYXVnaC13aW5rOiBcXGY1OWM7XG4kZmEtdmFyLWhvcnNlLWhlYWQ6IFxcZjdhYjtcbiRmYS12YXItYm9yZS1ob2xlOiBcXGU0YzM7XG4kZmEtdmFyLWluZHVzdHJ5OiBcXGYyNzU7XG4kZmEtdmFyLWNpcmNsZS1kb3duOiBcXGYzNTg7XG4kZmEtdmFyLWFycm93LWFsdC1jaXJjbGUtZG93bjogXFxmMzU4O1xuJGZhLXZhci1hcnJvd3MtdHVybi10by1kb3RzOiBcXGU0YzE7XG4kZmEtdmFyLWZsb3Jpbi1zaWduOiBcXGUxODQ7XG4kZmEtdmFyLWFycm93LWRvd24tc2hvcnQtd2lkZTogXFxmODg0O1xuJGZhLXZhci1zb3J0LWFtb3VudC1kZXNjOiBcXGY4ODQ7XG4kZmEtdmFyLXNvcnQtYW1vdW50LWRvd24tYWx0OiBcXGY4ODQ7XG4kZmEtdmFyLWxlc3MtdGhhbjogXFwzYztcbiRmYS12YXItYW5nbGUtZG93bjogXFxmMTA3O1xuJGZhLXZhci1jYXItdHVubmVsOiBcXGU0ZGU7XG4kZmEtdmFyLWhlYWQtc2lkZS1jb3VnaDogXFxlMDYxO1xuJGZhLXZhci1ncmlwLWxpbmVzOiBcXGY3YTQ7XG4kZmEtdmFyLXRodW1icy1kb3duOiBcXGYxNjU7XG4kZmEtdmFyLXVzZXItbG9jazogXFxmNTAyO1xuJGZhLXZhci1hcnJvdy1yaWdodC1sb25nOiBcXGYxNzg7XG4kZmEtdmFyLWxvbmctYXJyb3ctcmlnaHQ6IFxcZjE3ODtcbiRmYS12YXItYW5jaG9yLWNpcmNsZS14bWFyazogXFxlNGFjO1xuJGZhLXZhci1lbGxpcHNpczogXFxmMTQxO1xuJGZhLXZhci1lbGxpcHNpcy1oOiBcXGYxNDE7XG4kZmEtdmFyLWNoZXNzLXBhd246IFxcZjQ0MztcbiRmYS12YXIta2l0LW1lZGljYWw6IFxcZjQ3OTtcbiRmYS12YXItZmlyc3QtYWlkOiBcXGY0Nzk7XG4kZmEtdmFyLXBlcnNvbi10aHJvdWdoLXdpbmRvdzogXFxlNWE5O1xuJGZhLXZhci10b29sYm94OiBcXGY1NTI7XG4kZmEtdmFyLWhhbmRzLWhvbGRpbmctY2lyY2xlOiBcXGU0ZmI7XG4kZmEtdmFyLWJ1ZzogXFxmMTg4O1xuJGZhLXZhci1jcmVkaXQtY2FyZDogXFxmMDlkO1xuJGZhLXZhci1jcmVkaXQtY2FyZC1hbHQ6IFxcZjA5ZDtcbiRmYS12YXItY2FyOiBcXGYxYjk7XG4kZmEtdmFyLWF1dG9tb2JpbGU6IFxcZjFiOTtcbiRmYS12YXItaGFuZC1ob2xkaW5nLWhhbmQ6IFxcZTRmNztcbiRmYS12YXItYm9vay1vcGVuLXJlYWRlcjogXFxmNWRhO1xuJGZhLXZhci1ib29rLXJlYWRlcjogXFxmNWRhO1xuJGZhLXZhci1tb3VudGFpbi1zdW46IFxcZTUyZjtcbiRmYS12YXItYXJyb3dzLWxlZnQtcmlnaHQtdG8tbGluZTogXFxlNGJhO1xuJGZhLXZhci1kaWNlLWQyMDogXFxmNmNmO1xuJGZhLXZhci10cnVjay1kcm9wbGV0OiBcXGU1OGM7XG4kZmEtdmFyLWZpbGUtY2lyY2xlLXhtYXJrOiBcXGU1YTE7XG4kZmEtdmFyLXRlbXBlcmF0dXJlLWFycm93LXVwOiBcXGUwNDA7XG4kZmEtdmFyLXRlbXBlcmF0dXJlLXVwOiBcXGUwNDA7XG4kZmEtdmFyLW1lZGFsOiBcXGY1YTI7XG4kZmEtdmFyLWJlZDogXFxmMjM2O1xuJGZhLXZhci1zcXVhcmUtaDogXFxmMGZkO1xuJGZhLXZhci1oLXNxdWFyZTogXFxmMGZkO1xuJGZhLXZhci1wb2RjYXN0OiBcXGYyY2U7XG4kZmEtdmFyLXRlbXBlcmF0dXJlLWZ1bGw6IFxcZjJjNztcbiRmYS12YXItdGVtcGVyYXR1cmUtNDogXFxmMmM3O1xuJGZhLXZhci10aGVybW9tZXRlci00OiBcXGYyYzc7XG4kZmEtdmFyLXRoZXJtb21ldGVyLWZ1bGw6IFxcZjJjNztcbiRmYS12YXItYmVsbDogXFxmMGYzO1xuJGZhLXZhci1zdXBlcnNjcmlwdDogXFxmMTJiO1xuJGZhLXZhci1wbHVnLWNpcmNsZS14bWFyazogXFxlNTYwO1xuJGZhLXZhci1zdGFyLW9mLWxpZmU6IFxcZjYyMTtcbiRmYS12YXItcGhvbmUtc2xhc2g6IFxcZjNkZDtcbiRmYS12YXItcGFpbnQtcm9sbGVyOiBcXGY1YWE7XG4kZmEtdmFyLWhhbmRzaGFrZS1hbmdsZTogXFxmNGM0O1xuJGZhLXZhci1oYW5kcy1oZWxwaW5nOiBcXGY0YzQ7XG4kZmEtdmFyLWxvY2F0aW9uLWRvdDogXFxmM2M1O1xuJGZhLXZhci1tYXAtbWFya2VyLWFsdDogXFxmM2M1O1xuJGZhLXZhci1maWxlOiBcXGYxNWI7XG4kZmEtdmFyLWdyZWF0ZXItdGhhbjogXFwzZTtcbiRmYS12YXItcGVyc29uLXN3aW1taW5nOiBcXGY1YzQ7XG4kZmEtdmFyLXN3aW1tZXI6IFxcZjVjNDtcbiRmYS12YXItYXJyb3ctZG93bjogXFxmMDYzO1xuJGZhLXZhci1kcm9wbGV0OiBcXGYwNDM7XG4kZmEtdmFyLXRpbnQ6IFxcZjA0MztcbiRmYS12YXItZXJhc2VyOiBcXGYxMmQ7XG4kZmEtdmFyLWVhcnRoLWFtZXJpY2FzOiBcXGY1N2Q7XG4kZmEtdmFyLWVhcnRoOiBcXGY1N2Q7XG4kZmEtdmFyLWVhcnRoLWFtZXJpY2E6IFxcZjU3ZDtcbiRmYS12YXItZ2xvYmUtYW1lcmljYXM6IFxcZjU3ZDtcbiRmYS12YXItcGVyc29uLWJ1cnN0OiBcXGU1M2I7XG4kZmEtdmFyLWRvdmU6IFxcZjRiYTtcbiRmYS12YXItYmF0dGVyeS1lbXB0eTogXFxmMjQ0O1xuJGZhLXZhci1iYXR0ZXJ5LTA6IFxcZjI0NDtcbiRmYS12YXItc29ja3M6IFxcZjY5NjtcbiRmYS12YXItaW5ib3g6IFxcZjAxYztcbiRmYS12YXItc2VjdGlvbjogXFxlNDQ3O1xuJGZhLXZhci1nYXVnZS1oaWdoOiBcXGY2MjU7XG4kZmEtdmFyLXRhY2hvbWV0ZXItYWx0OiBcXGY2MjU7XG4kZmEtdmFyLXRhY2hvbWV0ZXItYWx0LWZhc3Q6IFxcZjYyNTtcbiRmYS12YXItZW52ZWxvcGUtb3Blbi10ZXh0OiBcXGY2NTg7XG4kZmEtdmFyLWhvc3BpdGFsOiBcXGYwZjg7XG4kZmEtdmFyLWhvc3BpdGFsLWFsdDogXFxmMGY4O1xuJGZhLXZhci1ob3NwaXRhbC13aWRlOiBcXGYwZjg7XG4kZmEtdmFyLXdpbmUtYm90dGxlOiBcXGY3MmY7XG4kZmEtdmFyLWNoZXNzLXJvb2s6IFxcZjQ0NztcbiRmYS12YXItYmFycy1zdGFnZ2VyZWQ6IFxcZjU1MDtcbiRmYS12YXItcmVvcmRlcjogXFxmNTUwO1xuJGZhLXZhci1zdHJlYW06IFxcZjU1MDtcbiRmYS12YXItZGhhcm1hY2hha3JhOiBcXGY2NTU7XG4kZmEtdmFyLWhvdGRvZzogXFxmODBmO1xuJGZhLXZhci1wZXJzb24td2Fsa2luZy13aXRoLWNhbmU6IFxcZjI5ZDtcbiRmYS12YXItYmxpbmQ6IFxcZjI5ZDtcbiRmYS12YXItZHJ1bTogXFxmNTY5O1xuJGZhLXZhci1pY2UtY3JlYW06IFxcZjgxMDtcbiRmYS12YXItaGVhcnQtY2lyY2xlLWJvbHQ6IFxcZTRmYztcbiRmYS12YXItZmF4OiBcXGYxYWM7XG4kZmEtdmFyLXBhcmFncmFwaDogXFxmMWRkO1xuJGZhLXZhci1jaGVjay10by1zbG90OiBcXGY3NzI7XG4kZmEtdmFyLXZvdGUteWVhOiBcXGY3NzI7XG4kZmEtdmFyLXN0YXItaGFsZjogXFxmMDg5O1xuJGZhLXZhci1ib3hlcy1zdGFja2VkOiBcXGY0Njg7XG4kZmEtdmFyLWJveGVzOiBcXGY0Njg7XG4kZmEtdmFyLWJveGVzLWFsdDogXFxmNDY4O1xuJGZhLXZhci1saW5rOiBcXGYwYzE7XG4kZmEtdmFyLWNoYWluOiBcXGYwYzE7XG4kZmEtdmFyLWVhci1saXN0ZW46IFxcZjJhMjtcbiRmYS12YXItYXNzaXN0aXZlLWxpc3RlbmluZy1zeXN0ZW1zOiBcXGYyYTI7XG4kZmEtdmFyLXRyZWUtY2l0eTogXFxlNTg3O1xuJGZhLXZhci1wbGF5OiBcXGYwNGI7XG4kZmEtdmFyLWZvbnQ6IFxcZjAzMTtcbiRmYS12YXItcnVwaWFoLXNpZ246IFxcZTIzZDtcbiRmYS12YXItbWFnbmlmeWluZy1nbGFzczogXFxmMDAyO1xuJGZhLXZhci1zZWFyY2g6IFxcZjAwMjtcbiRmYS12YXItdGFibGUtdGVubmlzLXBhZGRsZS1iYWxsOiBcXGY0NWQ7XG4kZmEtdmFyLXBpbmctcG9uZy1wYWRkbGUtYmFsbDogXFxmNDVkO1xuJGZhLXZhci10YWJsZS10ZW5uaXM6IFxcZjQ1ZDtcbiRmYS12YXItcGVyc29uLWRvdHMtZnJvbS1saW5lOiBcXGY0NzA7XG4kZmEtdmFyLWRpYWdub3NlczogXFxmNDcwO1xuJGZhLXZhci10cmFzaC1jYW4tYXJyb3ctdXA6IFxcZjgyYTtcbiRmYS12YXItdHJhc2gtcmVzdG9yZS1hbHQ6IFxcZjgyYTtcbiRmYS12YXItbmFpcmEtc2lnbjogXFxlMWY2O1xuJGZhLXZhci1jYXJ0LWFycm93LWRvd246IFxcZjIxODtcbiRmYS12YXItd2Fsa2llLXRhbGtpZTogXFxmOGVmO1xuJGZhLXZhci1maWxlLXBlbjogXFxmMzFjO1xuJGZhLXZhci1maWxlLWVkaXQ6IFxcZjMxYztcbiRmYS12YXItcmVjZWlwdDogXFxmNTQzO1xuJGZhLXZhci1zcXVhcmUtcGVuOiBcXGYxNGI7XG4kZmEtdmFyLXBlbi1zcXVhcmU6IFxcZjE0YjtcbiRmYS12YXItcGVuY2lsLXNxdWFyZTogXFxmMTRiO1xuJGZhLXZhci1zdWl0Y2FzZS1yb2xsaW5nOiBcXGY1YzE7XG4kZmEtdmFyLXBlcnNvbi1jaXJjbGUtZXhjbGFtYXRpb246IFxcZTUzZjtcbiRmYS12YXItY2hldnJvbi1kb3duOiBcXGYwNzg7XG4kZmEtdmFyLWJhdHRlcnktZnVsbDogXFxmMjQwO1xuJGZhLXZhci1iYXR0ZXJ5OiBcXGYyNDA7XG4kZmEtdmFyLWJhdHRlcnktNTogXFxmMjQwO1xuJGZhLXZhci1za3VsbC1jcm9zc2JvbmVzOiBcXGY3MTQ7XG4kZmEtdmFyLWNvZGUtY29tcGFyZTogXFxlMTNhO1xuJGZhLXZhci1saXN0LXVsOiBcXGYwY2E7XG4kZmEtdmFyLWxpc3QtZG90czogXFxmMGNhO1xuJGZhLXZhci1zY2hvb2wtbG9jazogXFxlNTZmO1xuJGZhLXZhci10b3dlci1jZWxsOiBcXGU1ODU7XG4kZmEtdmFyLWRvd24tbG9uZzogXFxmMzA5O1xuJGZhLXZhci1sb25nLWFycm93LWFsdC1kb3duOiBcXGYzMDk7XG4kZmEtdmFyLXJhbmtpbmctc3RhcjogXFxlNTYxO1xuJGZhLXZhci1jaGVzcy1raW5nOiBcXGY0M2Y7XG4kZmEtdmFyLXBlcnNvbi1oYXJhc3Npbmc6IFxcZTU0OTtcbiRmYS12YXItYnJhemlsaWFuLXJlYWwtc2lnbjogXFxlNDZjO1xuJGZhLXZhci1sYW5kbWFyay1kb21lOiBcXGY3NTI7XG4kZmEtdmFyLWxhbmRtYXJrLWFsdDogXFxmNzUyO1xuJGZhLXZhci1hcnJvdy11cDogXFxmMDYyO1xuJGZhLXZhci10djogXFxmMjZjO1xuJGZhLXZhci10ZWxldmlzaW9uOiBcXGYyNmM7XG4kZmEtdmFyLXR2LWFsdDogXFxmMjZjO1xuJGZhLXZhci1zaHJpbXA6IFxcZTQ0ODtcbiRmYS12YXItbGlzdC1jaGVjazogXFxmMGFlO1xuJGZhLXZhci10YXNrczogXFxmMGFlO1xuJGZhLXZhci1qdWctZGV0ZXJnZW50OiBcXGU1MTk7XG4kZmEtdmFyLWNpcmNsZS11c2VyOiBcXGYyYmQ7XG4kZmEtdmFyLXVzZXItY2lyY2xlOiBcXGYyYmQ7XG4kZmEtdmFyLXVzZXItc2hpZWxkOiBcXGY1MDU7XG4kZmEtdmFyLXdpbmQ6IFxcZjcyZTtcbiRmYS12YXItY2FyLWJ1cnN0OiBcXGY1ZTE7XG4kZmEtdmFyLWNhci1jcmFzaDogXFxmNWUxO1xuJGZhLXZhci15OiBcXDU5O1xuJGZhLXZhci1wZXJzb24tc25vd2JvYXJkaW5nOiBcXGY3Y2U7XG4kZmEtdmFyLXNub3dib2FyZGluZzogXFxmN2NlO1xuJGZhLXZhci10cnVjay1mYXN0OiBcXGY0OGI7XG4kZmEtdmFyLXNoaXBwaW5nLWZhc3Q6IFxcZjQ4YjtcbiRmYS12YXItZmlzaDogXFxmNTc4O1xuJGZhLXZhci11c2VyLWdyYWR1YXRlOiBcXGY1MDE7XG4kZmEtdmFyLWNpcmNsZS1oYWxmLXN0cm9rZTogXFxmMDQyO1xuJGZhLXZhci1hZGp1c3Q6IFxcZjA0MjtcbiRmYS12YXItY2xhcHBlcmJvYXJkOiBcXGUxMzE7XG4kZmEtdmFyLWNpcmNsZS1yYWRpYXRpb246IFxcZjdiYTtcbiRmYS12YXItcmFkaWF0aW9uLWFsdDogXFxmN2JhO1xuJGZhLXZhci1iYXNlYmFsbDogXFxmNDMzO1xuJGZhLXZhci1iYXNlYmFsbC1iYWxsOiBcXGY0MzM7XG4kZmEtdmFyLWpldC1maWdodGVyLXVwOiBcXGU1MTg7XG4kZmEtdmFyLWRpYWdyYW0tcHJvamVjdDogXFxmNTQyO1xuJGZhLXZhci1wcm9qZWN0LWRpYWdyYW06IFxcZjU0MjtcbiRmYS12YXItY29weTogXFxmMGM1O1xuJGZhLXZhci12b2x1bWUteG1hcms6IFxcZjZhOTtcbiRmYS12YXItdm9sdW1lLW11dGU6IFxcZjZhOTtcbiRmYS12YXItdm9sdW1lLXRpbWVzOiBcXGY2YTk7XG4kZmEtdmFyLWhhbmQtc3BhcmtsZXM6IFxcZTA1ZDtcbiRmYS12YXItZ3JpcDogXFxmNThkO1xuJGZhLXZhci1ncmlwLWhvcml6b250YWw6IFxcZjU4ZDtcbiRmYS12YXItc2hhcmUtZnJvbS1zcXVhcmU6IFxcZjE0ZDtcbiRmYS12YXItc2hhcmUtc3F1YXJlOiBcXGYxNGQ7XG4kZmEtdmFyLWNoaWxkLWNvbWJhdGFudDogXFxlNGUwO1xuJGZhLXZhci1jaGlsZC1yaWZsZTogXFxlNGUwO1xuJGZhLXZhci1ndW46IFxcZTE5YjtcbiRmYS12YXItc3F1YXJlLXBob25lOiBcXGYwOTg7XG4kZmEtdmFyLXBob25lLXNxdWFyZTogXFxmMDk4O1xuJGZhLXZhci1wbHVzOiBcXDJiO1xuJGZhLXZhci1hZGQ6IFxcMmI7XG4kZmEtdmFyLWV4cGFuZDogXFxmMDY1O1xuJGZhLXZhci1jb21wdXRlcjogXFxlNGU1O1xuJGZhLXZhci14bWFyazogXFxmMDBkO1xuJGZhLXZhci1jbG9zZTogXFxmMDBkO1xuJGZhLXZhci1tdWx0aXBseTogXFxmMDBkO1xuJGZhLXZhci1yZW1vdmU6IFxcZjAwZDtcbiRmYS12YXItdGltZXM6IFxcZjAwZDtcbiRmYS12YXItYXJyb3dzLXVwLWRvd24tbGVmdC1yaWdodDogXFxmMDQ3O1xuJGZhLXZhci1hcnJvd3M6IFxcZjA0NztcbiRmYS12YXItY2hhbGtib2FyZC11c2VyOiBcXGY1MWM7XG4kZmEtdmFyLWNoYWxrYm9hcmQtdGVhY2hlcjogXFxmNTFjO1xuJGZhLXZhci1wZXNvLXNpZ246IFxcZTIyMjtcbiRmYS12YXItYnVpbGRpbmctc2hpZWxkOiBcXGU0ZDg7XG4kZmEtdmFyLWJhYnk6IFxcZjc3YztcbiRmYS12YXItdXNlcnMtbGluZTogXFxlNTkyO1xuJGZhLXZhci1xdW90ZS1sZWZ0OiBcXGYxMGQ7XG4kZmEtdmFyLXF1b3RlLWxlZnQtYWx0OiBcXGYxMGQ7XG4kZmEtdmFyLXRyYWN0b3I6IFxcZjcyMjtcbiRmYS12YXItdHJhc2gtYXJyb3ctdXA6IFxcZjgyOTtcbiRmYS12YXItdHJhc2gtcmVzdG9yZTogXFxmODI5O1xuJGZhLXZhci1hcnJvdy1kb3duLXVwLWxvY2s6IFxcZTRiMDtcbiRmYS12YXItbGluZXMtbGVhbmluZzogXFxlNTFlO1xuJGZhLXZhci1ydWxlci1jb21iaW5lZDogXFxmNTQ2O1xuJGZhLXZhci1jb3B5cmlnaHQ6IFxcZjFmOTtcbiRmYS12YXItZXF1YWxzOiBcXDNkO1xuJGZhLXZhci1ibGVuZGVyOiBcXGY1MTc7XG4kZmEtdmFyLXRlZXRoOiBcXGY2MmU7XG4kZmEtdmFyLXNoZWtlbC1zaWduOiBcXGYyMGI7XG4kZmEtdmFyLWlsczogXFxmMjBiO1xuJGZhLXZhci1zaGVrZWw6IFxcZjIwYjtcbiRmYS12YXItc2hlcWVsOiBcXGYyMGI7XG4kZmEtdmFyLXNoZXFlbC1zaWduOiBcXGYyMGI7XG4kZmEtdmFyLW1hcDogXFxmMjc5O1xuJGZhLXZhci1yb2NrZXQ6IFxcZjEzNTtcbiRmYS12YXItcGhvdG8tZmlsbTogXFxmODdjO1xuJGZhLXZhci1waG90by12aWRlbzogXFxmODdjO1xuJGZhLXZhci1mb2xkZXItbWludXM6IFxcZjY1ZDtcbiRmYS12YXItc3RvcmU6IFxcZjU0ZTtcbiRmYS12YXItYXJyb3ctdHJlbmQtdXA6IFxcZTA5ODtcbiRmYS12YXItcGx1Zy1jaXJjbGUtbWludXM6IFxcZTU1ZTtcbiRmYS12YXItc2lnbi1oYW5naW5nOiBcXGY0ZDk7XG4kZmEtdmFyLXNpZ246IFxcZjRkOTtcbiRmYS12YXItYmV6aWVyLWN1cnZlOiBcXGY1NWI7XG4kZmEtdmFyLWJlbGwtc2xhc2g6IFxcZjFmNjtcbiRmYS12YXItdGFibGV0OiBcXGYzZmI7XG4kZmEtdmFyLXRhYmxldC1hbmRyb2lkOiBcXGYzZmI7XG4kZmEtdmFyLXNjaG9vbC1mbGFnOiBcXGU1NmU7XG4kZmEtdmFyLWZpbGw6IFxcZjU3NTtcbiRmYS12YXItYW5nbGUtdXA6IFxcZjEwNjtcbiRmYS12YXItZHJ1bXN0aWNrLWJpdGU6IFxcZjZkNztcbiRmYS12YXItaG9sbHktYmVycnk6IFxcZjdhYTtcbiRmYS12YXItY2hldnJvbi1sZWZ0OiBcXGYwNTM7XG4kZmEtdmFyLWJhY3RlcmlhOiBcXGUwNTk7XG4kZmEtdmFyLWhhbmQtbGl6YXJkOiBcXGYyNTg7XG4kZmEtdmFyLW5vdGRlZjogXFxlMWZlO1xuJGZhLXZhci1kaXNlYXNlOiBcXGY3ZmE7XG4kZmEtdmFyLWJyaWVmY2FzZS1tZWRpY2FsOiBcXGY0Njk7XG4kZmEtdmFyLWdlbmRlcmxlc3M6IFxcZjIyZDtcbiRmYS12YXItY2hldnJvbi1yaWdodDogXFxmMDU0O1xuJGZhLXZhci1yZXR3ZWV0OiBcXGYwNzk7XG4kZmEtdmFyLWNhci1yZWFyOiBcXGY1ZGU7XG4kZmEtdmFyLWNhci1hbHQ6IFxcZjVkZTtcbiRmYS12YXItcHVtcC1zb2FwOiBcXGUwNmI7XG4kZmEtdmFyLXZpZGVvLXNsYXNoOiBcXGY0ZTI7XG4kZmEtdmFyLWJhdHRlcnktcXVhcnRlcjogXFxmMjQzO1xuJGZhLXZhci1iYXR0ZXJ5LTI6IFxcZjI0MztcbiRmYS12YXItcmFkaW86IFxcZjhkNztcbiRmYS12YXItYmFieS1jYXJyaWFnZTogXFxmNzdkO1xuJGZhLXZhci1jYXJyaWFnZS1iYWJ5OiBcXGY3N2Q7XG4kZmEtdmFyLXRyYWZmaWMtbGlnaHQ6IFxcZjYzNztcbiRmYS12YXItdGhlcm1vbWV0ZXI6IFxcZjQ5MTtcbiRmYS12YXItdnItY2FyZGJvYXJkOiBcXGY3Mjk7XG4kZmEtdmFyLWhhbmQtbWlkZGxlLWZpbmdlcjogXFxmODA2O1xuJGZhLXZhci1wZXJjZW50OiBcXDI1O1xuJGZhLXZhci1wZXJjZW50YWdlOiBcXDI1O1xuJGZhLXZhci10cnVjay1tb3Zpbmc6IFxcZjRkZjtcbiRmYS12YXItZ2xhc3Mtd2F0ZXItZHJvcGxldDogXFxlNGY1O1xuJGZhLXZhci1kaXNwbGF5OiBcXGUxNjM7XG4kZmEtdmFyLWZhY2Utc21pbGU6IFxcZjExODtcbiRmYS12YXItc21pbGU6IFxcZjExODtcbiRmYS12YXItdGh1bWJ0YWNrOiBcXGYwOGQ7XG4kZmEtdmFyLXRodW1iLXRhY2s6IFxcZjA4ZDtcbiRmYS12YXItdHJvcGh5OiBcXGYwOTE7XG4kZmEtdmFyLXBlcnNvbi1wcmF5aW5nOiBcXGY2ODM7XG4kZmEtdmFyLXByYXk6IFxcZjY4MztcbiRmYS12YXItaGFtbWVyOiBcXGY2ZTM7XG4kZmEtdmFyLWhhbmQtcGVhY2U6IFxcZjI1YjtcbiRmYS12YXItcm90YXRlOiBcXGYyZjE7XG4kZmEtdmFyLXN5bmMtYWx0OiBcXGYyZjE7XG4kZmEtdmFyLXNwaW5uZXI6IFxcZjExMDtcbiRmYS12YXItcm9ib3Q6IFxcZjU0NDtcbiRmYS12YXItcGVhY2U6IFxcZjY3YztcbiRmYS12YXItZ2VhcnM6IFxcZjA4NTtcbiRmYS12YXItY29nczogXFxmMDg1O1xuJGZhLXZhci13YXJlaG91c2U6IFxcZjQ5NDtcbiRmYS12YXItYXJyb3ctdXAtcmlnaHQtZG90czogXFxlNGI3O1xuJGZhLXZhci1zcGxvdGNoOiBcXGY1YmM7XG4kZmEtdmFyLWZhY2UtZ3Jpbi1oZWFydHM6IFxcZjU4NDtcbiRmYS12YXItZ3Jpbi1oZWFydHM6IFxcZjU4NDtcbiRmYS12YXItZGljZS1mb3VyOiBcXGY1MjQ7XG4kZmEtdmFyLXNpbS1jYXJkOiBcXGY3YzQ7XG4kZmEtdmFyLXRyYW5zZ2VuZGVyOiBcXGYyMjU7XG4kZmEtdmFyLXRyYW5zZ2VuZGVyLWFsdDogXFxmMjI1O1xuJGZhLXZhci1tZXJjdXJ5OiBcXGYyMjM7XG4kZmEtdmFyLWFycm93LXR1cm4tZG93bjogXFxmMTQ5O1xuJGZhLXZhci1sZXZlbC1kb3duOiBcXGYxNDk7XG4kZmEtdmFyLXBlcnNvbi1mYWxsaW5nLWJ1cnN0OiBcXGU1NDc7XG4kZmEtdmFyLWF3YXJkOiBcXGY1NTk7XG4kZmEtdmFyLXRpY2tldC1zaW1wbGU6IFxcZjNmZjtcbiRmYS12YXItdGlja2V0LWFsdDogXFxmM2ZmO1xuJGZhLXZhci1idWlsZGluZzogXFxmMWFkO1xuJGZhLXZhci1hbmdsZXMtbGVmdDogXFxmMTAwO1xuJGZhLXZhci1hbmdsZS1kb3VibGUtbGVmdDogXFxmMTAwO1xuJGZhLXZhci1xcmNvZGU6IFxcZjAyOTtcbiRmYS12YXItY2xvY2stcm90YXRlLWxlZnQ6IFxcZjFkYTtcbiRmYS12YXItaGlzdG9yeTogXFxmMWRhO1xuJGZhLXZhci1mYWNlLWdyaW4tYmVhbS1zd2VhdDogXFxmNTgzO1xuJGZhLXZhci1ncmluLWJlYW0tc3dlYXQ6IFxcZjU4MztcbiRmYS12YXItZmlsZS1leHBvcnQ6IFxcZjU2ZTtcbiRmYS12YXItYXJyb3ctcmlnaHQtZnJvbS1maWxlOiBcXGY1NmU7XG4kZmEtdmFyLXNoaWVsZDogXFxmMTMyO1xuJGZhLXZhci1zaGllbGQtYmxhbms6IFxcZjEzMjtcbiRmYS12YXItYXJyb3ctdXAtc2hvcnQtd2lkZTogXFxmODg1O1xuJGZhLXZhci1zb3J0LWFtb3VudC11cC1hbHQ6IFxcZjg4NTtcbiRmYS12YXItaG91c2UtbWVkaWNhbDogXFxlM2IyO1xuJGZhLXZhci1nb2xmLWJhbGwtdGVlOiBcXGY0NTA7XG4kZmEtdmFyLWdvbGYtYmFsbDogXFxmNDUwO1xuJGZhLXZhci1jaXJjbGUtY2hldnJvbi1sZWZ0OiBcXGYxMzc7XG4kZmEtdmFyLWNoZXZyb24tY2lyY2xlLWxlZnQ6IFxcZjEzNztcbiRmYS12YXItaG91c2UtY2hpbW5leS13aW5kb3c6IFxcZTAwZDtcbiRmYS12YXItcGVuLW5pYjogXFxmNWFkO1xuJGZhLXZhci10ZW50LWFycm93LXR1cm4tbGVmdDogXFxlNTgwO1xuJGZhLXZhci10ZW50czogXFxlNTgyO1xuJGZhLXZhci13YW5kLW1hZ2ljOiBcXGYwZDA7XG4kZmEtdmFyLW1hZ2ljOiBcXGYwZDA7XG4kZmEtdmFyLWRvZzogXFxmNmQzO1xuJGZhLXZhci1jYXJyb3Q6IFxcZjc4NztcbiRmYS12YXItbW9vbjogXFxmMTg2O1xuJGZhLXZhci13aW5lLWdsYXNzLWVtcHR5OiBcXGY1Y2U7XG4kZmEtdmFyLXdpbmUtZ2xhc3MtYWx0OiBcXGY1Y2U7XG4kZmEtdmFyLWNoZWVzZTogXFxmN2VmO1xuJGZhLXZhci15aW4teWFuZzogXFxmNmFkO1xuJGZhLXZhci1tdXNpYzogXFxmMDAxO1xuJGZhLXZhci1jb2RlLWNvbW1pdDogXFxmMzg2O1xuJGZhLXZhci10ZW1wZXJhdHVyZS1sb3c6IFxcZjc2YjtcbiRmYS12YXItcGVyc29uLWJpa2luZzogXFxmODRhO1xuJGZhLXZhci1iaWtpbmc6IFxcZjg0YTtcbiRmYS12YXItYnJvb206IFxcZjUxYTtcbiRmYS12YXItc2hpZWxkLWhlYXJ0OiBcXGU1NzQ7XG4kZmEtdmFyLWdvcHVyYW06IFxcZjY2NDtcbiRmYS12YXItZWFydGgtb2NlYW5pYTogXFxlNDdiO1xuJGZhLXZhci1nbG9iZS1vY2VhbmlhOiBcXGU0N2I7XG4kZmEtdmFyLXNxdWFyZS14bWFyazogXFxmMmQzO1xuJGZhLXZhci10aW1lcy1zcXVhcmU6IFxcZjJkMztcbiRmYS12YXIteG1hcmstc3F1YXJlOiBcXGYyZDM7XG4kZmEtdmFyLWhhc2h0YWc6IFxcMjM7XG4kZmEtdmFyLXVwLXJpZ2h0LWFuZC1kb3duLWxlZnQtZnJvbS1jZW50ZXI6IFxcZjQyNDtcbiRmYS12YXItZXhwYW5kLWFsdDogXFxmNDI0O1xuJGZhLXZhci1vaWwtY2FuOiBcXGY2MTM7XG4kZmEtdmFyLXQ6IFxcNTQ7XG4kZmEtdmFyLWhpcHBvOiBcXGY2ZWQ7XG4kZmEtdmFyLWNoYXJ0LWNvbHVtbjogXFxlMGUzO1xuJGZhLXZhci1pbmZpbml0eTogXFxmNTM0O1xuJGZhLXZhci12aWFsLWNpcmNsZS1jaGVjazogXFxlNTk2O1xuJGZhLXZhci1wZXJzb24tYXJyb3ctZG93bi10by1saW5lOiBcXGU1Mzg7XG4kZmEtdmFyLXZvaWNlbWFpbDogXFxmODk3O1xuJGZhLXZhci1mYW46IFxcZjg2MztcbiRmYS12YXItcGVyc29uLXdhbGtpbmctbHVnZ2FnZTogXFxlNTU0O1xuJGZhLXZhci11cC1kb3duOiBcXGYzMzg7XG4kZmEtdmFyLWFycm93cy1hbHQtdjogXFxmMzM4O1xuJGZhLXZhci1jbG91ZC1tb29uLXJhaW46IFxcZjczYztcbiRmYS12YXItY2FsZW5kYXI6IFxcZjEzMztcbiRmYS12YXItdHJhaWxlcjogXFxlMDQxO1xuJGZhLXZhci1iYWhhaTogXFxmNjY2O1xuJGZhLXZhci1oYXlrYWw6IFxcZjY2NjtcbiRmYS12YXItc2QtY2FyZDogXFxmN2MyO1xuJGZhLXZhci1kcmFnb246IFxcZjZkNTtcbiRmYS12YXItc2hvZS1wcmludHM6IFxcZjU0YjtcbiRmYS12YXItY2lyY2xlLXBsdXM6IFxcZjA1NTtcbiRmYS12YXItcGx1cy1jaXJjbGU6IFxcZjA1NTtcbiRmYS12YXItZmFjZS1ncmluLXRvbmd1ZS13aW5rOiBcXGY1OGI7XG4kZmEtdmFyLWdyaW4tdG9uZ3VlLXdpbms6IFxcZjU4YjtcbiRmYS12YXItaGFuZC1ob2xkaW5nOiBcXGY0YmQ7XG4kZmEtdmFyLXBsdWctY2lyY2xlLWV4Y2xhbWF0aW9uOiBcXGU1NWQ7XG4kZmEtdmFyLWxpbmstc2xhc2g6IFxcZjEyNztcbiRmYS12YXItY2hhaW4tYnJva2VuOiBcXGYxMjc7XG4kZmEtdmFyLWNoYWluLXNsYXNoOiBcXGYxMjc7XG4kZmEtdmFyLXVubGluazogXFxmMTI3O1xuJGZhLXZhci1jbG9uZTogXFxmMjRkO1xuJGZhLXZhci1wZXJzb24td2Fsa2luZy1hcnJvdy1sb29wLWxlZnQ6IFxcZTU1MTtcbiRmYS12YXItYXJyb3ctdXAtei1hOiBcXGY4ODI7XG4kZmEtdmFyLXNvcnQtYWxwaGEtdXAtYWx0OiBcXGY4ODI7XG4kZmEtdmFyLWZpcmUtZmxhbWUtY3VydmVkOiBcXGY3ZTQ7XG4kZmEtdmFyLWZpcmUtYWx0OiBcXGY3ZTQ7XG4kZmEtdmFyLXRvcm5hZG86IFxcZjc2ZjtcbiRmYS12YXItZmlsZS1jaXJjbGUtcGx1czogXFxlNDk0O1xuJGZhLXZhci1ib29rLXF1cmFuOiBcXGY2ODc7XG4kZmEtdmFyLXF1cmFuOiBcXGY2ODc7XG4kZmEtdmFyLWFuY2hvcjogXFxmMTNkO1xuJGZhLXZhci1ib3JkZXItYWxsOiBcXGY4NGM7XG4kZmEtdmFyLWZhY2UtYW5ncnk6IFxcZjU1NjtcbiRmYS12YXItYW5ncnk6IFxcZjU1NjtcbiRmYS12YXItY29va2llLWJpdGU6IFxcZjU2NDtcbiRmYS12YXItYXJyb3ctdHJlbmQtZG93bjogXFxlMDk3O1xuJGZhLXZhci1yc3M6IFxcZjA5ZTtcbiRmYS12YXItZmVlZDogXFxmMDllO1xuJGZhLXZhci1kcmF3LXBvbHlnb246IFxcZjVlZTtcbiRmYS12YXItc2NhbGUtYmFsYW5jZWQ6IFxcZjI0ZTtcbiRmYS12YXItYmFsYW5jZS1zY2FsZTogXFxmMjRlO1xuJGZhLXZhci1nYXVnZS1zaW1wbGUtaGlnaDogXFxmNjJhO1xuJGZhLXZhci10YWNob21ldGVyOiBcXGY2MmE7XG4kZmEtdmFyLXRhY2hvbWV0ZXItZmFzdDogXFxmNjJhO1xuJGZhLXZhci1zaG93ZXI6IFxcZjJjYztcbiRmYS12YXItZGVza3RvcDogXFxmMzkwO1xuJGZhLXZhci1kZXNrdG9wLWFsdDogXFxmMzkwO1xuJGZhLXZhci1tOiBcXDRkO1xuJGZhLXZhci10YWJsZS1saXN0OiBcXGYwMGI7XG4kZmEtdmFyLXRoLWxpc3Q6IFxcZjAwYjtcbiRmYS12YXItY29tbWVudC1zbXM6IFxcZjdjZDtcbiRmYS12YXItc21zOiBcXGY3Y2Q7XG4kZmEtdmFyLWJvb2s6IFxcZjAyZDtcbiRmYS12YXItdXNlci1wbHVzOiBcXGYyMzQ7XG4kZmEtdmFyLWNoZWNrOiBcXGYwMGM7XG4kZmEtdmFyLWJhdHRlcnktdGhyZWUtcXVhcnRlcnM6IFxcZjI0MTtcbiRmYS12YXItYmF0dGVyeS00OiBcXGYyNDE7XG4kZmEtdmFyLWhvdXNlLWNpcmNsZS1jaGVjazogXFxlNTA5O1xuJGZhLXZhci1hbmdsZS1sZWZ0OiBcXGYxMDQ7XG4kZmEtdmFyLWRpYWdyYW0tc3VjY2Vzc29yOiBcXGU0N2E7XG4kZmEtdmFyLXRydWNrLWFycm93LXJpZ2h0OiBcXGU1OGI7XG4kZmEtdmFyLWFycm93cy1zcGxpdC11cC1hbmQtbGVmdDogXFxlNGJjO1xuJGZhLXZhci1oYW5kLWZpc3Q6IFxcZjZkZTtcbiRmYS12YXItZmlzdC1yYWlzZWQ6IFxcZjZkZTtcbiRmYS12YXItY2xvdWQtbW9vbjogXFxmNmMzO1xuJGZhLXZhci1icmllZmNhc2U6IFxcZjBiMTtcbiRmYS12YXItcGVyc29uLWZhbGxpbmc6IFxcZTU0NjtcbiRmYS12YXItaW1hZ2UtcG9ydHJhaXQ6IFxcZjNlMDtcbiRmYS12YXItcG9ydHJhaXQ6IFxcZjNlMDtcbiRmYS12YXItdXNlci10YWc6IFxcZjUwNztcbiRmYS12YXItcnVnOiBcXGU1Njk7XG4kZmEtdmFyLWVhcnRoLWV1cm9wZTogXFxmN2EyO1xuJGZhLXZhci1nbG9iZS1ldXJvcGU6IFxcZjdhMjtcbiRmYS12YXItY2FydC1mbGF0YmVkLXN1aXRjYXNlOiBcXGY1OWQ7XG4kZmEtdmFyLWx1Z2dhZ2UtY2FydDogXFxmNTlkO1xuJGZhLXZhci1yZWN0YW5nbGUteG1hcms6IFxcZjQxMDtcbiRmYS12YXItcmVjdGFuZ2xlLXRpbWVzOiBcXGY0MTA7XG4kZmEtdmFyLXRpbWVzLXJlY3RhbmdsZTogXFxmNDEwO1xuJGZhLXZhci13aW5kb3ctY2xvc2U6IFxcZjQxMDtcbiRmYS12YXItYmFodC1zaWduOiBcXGUwYWM7XG4kZmEtdmFyLWJvb2stb3BlbjogXFxmNTE4O1xuJGZhLXZhci1ib29rLWpvdXJuYWwtd2hpbGxzOiBcXGY2NmE7XG4kZmEtdmFyLWpvdXJuYWwtd2hpbGxzOiBcXGY2NmE7XG4kZmEtdmFyLWhhbmRjdWZmczogXFxlNGY4O1xuJGZhLXZhci10cmlhbmdsZS1leGNsYW1hdGlvbjogXFxmMDcxO1xuJGZhLXZhci1leGNsYW1hdGlvbi10cmlhbmdsZTogXFxmMDcxO1xuJGZhLXZhci13YXJuaW5nOiBcXGYwNzE7XG4kZmEtdmFyLWRhdGFiYXNlOiBcXGYxYzA7XG4kZmEtdmFyLXNoYXJlOiBcXGYwNjQ7XG4kZmEtdmFyLW1haWwtZm9yd2FyZDogXFxmMDY0O1xuJGZhLXZhci1ib3R0bGUtZHJvcGxldDogXFxlNGM0O1xuJGZhLXZhci1tYXNrLWZhY2U6IFxcZTFkNztcbiRmYS12YXItaGlsbC1yb2Nrc2xpZGU6IFxcZTUwODtcbiRmYS12YXItcmlnaHQtbGVmdDogXFxmMzYyO1xuJGZhLXZhci1leGNoYW5nZS1hbHQ6IFxcZjM2MjtcbiRmYS12YXItcGFwZXItcGxhbmU6IFxcZjFkODtcbiRmYS12YXItcm9hZC1jaXJjbGUtZXhjbGFtYXRpb246IFxcZTU2NTtcbiRmYS12YXItZHVuZ2VvbjogXFxmNmQ5O1xuJGZhLXZhci1hbGlnbi1yaWdodDogXFxmMDM4O1xuJGZhLXZhci1tb25leS1iaWxsLTEtd2F2ZTogXFxmNTNiO1xuJGZhLXZhci1tb25leS1iaWxsLXdhdmUtYWx0OiBcXGY1M2I7XG4kZmEtdmFyLWxpZmUtcmluZzogXFxmMWNkO1xuJGZhLXZhci1oYW5kczogXFxmMmE3O1xuJGZhLXZhci1zaWduLWxhbmd1YWdlOiBcXGYyYTc7XG4kZmEtdmFyLXNpZ25pbmc6IFxcZjJhNztcbiRmYS12YXItY2FsZW5kYXItZGF5OiBcXGY3ODM7XG4kZmEtdmFyLXdhdGVyLWxhZGRlcjogXFxmNWM1O1xuJGZhLXZhci1sYWRkZXItd2F0ZXI6IFxcZjVjNTtcbiRmYS12YXItc3dpbW1pbmctcG9vbDogXFxmNWM1O1xuJGZhLXZhci1hcnJvd3MtdXAtZG93bjogXFxmMDdkO1xuJGZhLXZhci1hcnJvd3MtdjogXFxmMDdkO1xuJGZhLXZhci1mYWNlLWdyaW1hY2U6IFxcZjU3ZjtcbiRmYS12YXItZ3JpbWFjZTogXFxmNTdmO1xuJGZhLXZhci13aGVlbGNoYWlyLW1vdmU6IFxcZTJjZTtcbiRmYS12YXItd2hlZWxjaGFpci1hbHQ6IFxcZTJjZTtcbiRmYS12YXItdHVybi1kb3duOiBcXGYzYmU7XG4kZmEtdmFyLWxldmVsLWRvd24tYWx0OiBcXGYzYmU7XG4kZmEtdmFyLXBlcnNvbi13YWxraW5nLWFycm93LXJpZ2h0OiBcXGU1NTI7XG4kZmEtdmFyLXNxdWFyZS1lbnZlbG9wZTogXFxmMTk5O1xuJGZhLXZhci1lbnZlbG9wZS1zcXVhcmU6IFxcZjE5OTtcbiRmYS12YXItZGljZTogXFxmNTIyO1xuJGZhLXZhci1ib3dsaW5nLWJhbGw6IFxcZjQzNjtcbiRmYS12YXItYnJhaW46IFxcZjVkYztcbiRmYS12YXItYmFuZGFnZTogXFxmNDYyO1xuJGZhLXZhci1iYW5kLWFpZDogXFxmNDYyO1xuJGZhLXZhci1jYWxlbmRhci1taW51czogXFxmMjcyO1xuJGZhLXZhci1jaXJjbGUteG1hcms6IFxcZjA1NztcbiRmYS12YXItdGltZXMtY2lyY2xlOiBcXGYwNTc7XG4kZmEtdmFyLXhtYXJrLWNpcmNsZTogXFxmMDU3O1xuJGZhLXZhci1naWZ0czogXFxmNzljO1xuJGZhLXZhci1ob3RlbDogXFxmNTk0O1xuJGZhLXZhci1lYXJ0aC1hc2lhOiBcXGY1N2U7XG4kZmEtdmFyLWdsb2JlLWFzaWE6IFxcZjU3ZTtcbiRmYS12YXItaWQtY2FyZC1jbGlwOiBcXGY0N2Y7XG4kZmEtdmFyLWlkLWNhcmQtYWx0OiBcXGY0N2Y7XG4kZmEtdmFyLW1hZ25pZnlpbmctZ2xhc3MtcGx1czogXFxmMDBlO1xuJGZhLXZhci1zZWFyY2gtcGx1czogXFxmMDBlO1xuJGZhLXZhci10aHVtYnMtdXA6IFxcZjE2NDtcbiRmYS12YXItdXNlci1jbG9jazogXFxmNGZkO1xuJGZhLXZhci1oYW5kLWRvdHM6IFxcZjQ2MTtcbiRmYS12YXItYWxsZXJnaWVzOiBcXGY0NjE7XG4kZmEtdmFyLWZpbGUtaW52b2ljZTogXFxmNTcwO1xuJGZhLXZhci13aW5kb3ctbWluaW1pemU6IFxcZjJkMTtcbiRmYS12YXItbXVnLXNhdWNlcjogXFxmMGY0O1xuJGZhLXZhci1jb2ZmZWU6IFxcZjBmNDtcbiRmYS12YXItYnJ1c2g6IFxcZjU1ZDtcbiRmYS12YXItbWFzazogXFxmNmZhO1xuJGZhLXZhci1tYWduaWZ5aW5nLWdsYXNzLW1pbnVzOiBcXGYwMTA7XG4kZmEtdmFyLXNlYXJjaC1taW51czogXFxmMDEwO1xuJGZhLXZhci1ydWxlci12ZXJ0aWNhbDogXFxmNTQ4O1xuJGZhLXZhci11c2VyLWxhcmdlOiBcXGY0MDY7XG4kZmEtdmFyLXVzZXItYWx0OiBcXGY0MDY7XG4kZmEtdmFyLXRyYWluLXRyYW06IFxcZTViNDtcbiRmYS12YXItdXNlci1udXJzZTogXFxmODJmO1xuJGZhLXZhci1zeXJpbmdlOiBcXGY0OGU7XG4kZmEtdmFyLWNsb3VkLXN1bjogXFxmNmM0O1xuJGZhLXZhci1zdG9wd2F0Y2gtMjA6IFxcZTA2ZjtcbiRmYS12YXItc3F1YXJlLWZ1bGw6IFxcZjQ1YztcbiRmYS12YXItbWFnbmV0OiBcXGYwNzY7XG4kZmEtdmFyLWphcjogXFxlNTE2O1xuJGZhLXZhci1ub3RlLXN0aWNreTogXFxmMjQ5O1xuJGZhLXZhci1zdGlja3ktbm90ZTogXFxmMjQ5O1xuJGZhLXZhci1idWctc2xhc2g6IFxcZTQ5MDtcbiRmYS12YXItYXJyb3ctdXAtZnJvbS13YXRlci1wdW1wOiBcXGU0YjY7XG4kZmEtdmFyLWJvbmU6IFxcZjVkNztcbiRmYS12YXItdXNlci1pbmp1cmVkOiBcXGY3Mjg7XG4kZmEtdmFyLWZhY2Utc2FkLXRlYXI6IFxcZjViNDtcbiRmYS12YXItc2FkLXRlYXI6IFxcZjViNDtcbiRmYS12YXItcGxhbmU6IFxcZjA3MjtcbiRmYS12YXItdGVudC1hcnJvd3MtZG93bjogXFxlNTgxO1xuJGZhLXZhci1leGNsYW1hdGlvbjogXFwyMTtcbiRmYS12YXItYXJyb3dzLXNwaW46IFxcZTRiYjtcbiRmYS12YXItcHJpbnQ6IFxcZjAyZjtcbiRmYS12YXItdHVya2lzaC1saXJhLXNpZ246IFxcZTJiYjtcbiRmYS12YXItdHJ5OiBcXGUyYmI7XG4kZmEtdmFyLXR1cmtpc2gtbGlyYTogXFxlMmJiO1xuJGZhLXZhci1kb2xsYXItc2lnbjogXFwyNDtcbiRmYS12YXItZG9sbGFyOiBcXDI0O1xuJGZhLXZhci11c2Q6IFxcMjQ7XG4kZmEtdmFyLXg6IFxcNTg7XG4kZmEtdmFyLW1hZ25pZnlpbmctZ2xhc3MtZG9sbGFyOiBcXGY2ODg7XG4kZmEtdmFyLXNlYXJjaC1kb2xsYXI6IFxcZjY4ODtcbiRmYS12YXItdXNlcnMtZ2VhcjogXFxmNTA5O1xuJGZhLXZhci11c2Vycy1jb2c6IFxcZjUwOTtcbiRmYS12YXItcGVyc29uLW1pbGl0YXJ5LXBvaW50aW5nOiBcXGU1NGE7XG4kZmEtdmFyLWJ1aWxkaW5nLWNvbHVtbnM6IFxcZjE5YztcbiRmYS12YXItYmFuazogXFxmMTljO1xuJGZhLXZhci1pbnN0aXR1dGlvbjogXFxmMTljO1xuJGZhLXZhci1tdXNldW06IFxcZjE5YztcbiRmYS12YXItdW5pdmVyc2l0eTogXFxmMTljO1xuJGZhLXZhci11bWJyZWxsYTogXFxmMGU5O1xuJGZhLXZhci10cm93ZWw6IFxcZTU4OTtcbiRmYS12YXItZDogXFw0NDtcbiRmYS12YXItc3RhcGxlcjogXFxlNWFmO1xuJGZhLXZhci1tYXNrcy10aGVhdGVyOiBcXGY2MzA7XG4kZmEtdmFyLXRoZWF0ZXItbWFza3M6IFxcZjYzMDtcbiRmYS12YXIta2lwLXNpZ246IFxcZTFjNDtcbiRmYS12YXItaGFuZC1wb2ludC1sZWZ0OiBcXGYwYTU7XG4kZmEtdmFyLWhhbmRzaGFrZS1zaW1wbGU6IFxcZjRjNjtcbiRmYS12YXItaGFuZHNoYWtlLWFsdDogXFxmNGM2O1xuJGZhLXZhci1qZXQtZmlnaHRlcjogXFxmMGZiO1xuJGZhLXZhci1maWdodGVyLWpldDogXFxmMGZiO1xuJGZhLXZhci1zcXVhcmUtc2hhcmUtbm9kZXM6IFxcZjFlMTtcbiRmYS12YXItc2hhcmUtYWx0LXNxdWFyZTogXFxmMWUxO1xuJGZhLXZhci1iYXJjb2RlOiBcXGYwMmE7XG4kZmEtdmFyLXBsdXMtbWludXM6IFxcZTQzYztcbiRmYS12YXItdmlkZW86IFxcZjAzZDtcbiRmYS12YXItdmlkZW8tY2FtZXJhOiBcXGYwM2Q7XG4kZmEtdmFyLWdyYWR1YXRpb24tY2FwOiBcXGYxOWQ7XG4kZmEtdmFyLW1vcnRhci1ib2FyZDogXFxmMTlkO1xuJGZhLXZhci1oYW5kLWhvbGRpbmctbWVkaWNhbDogXFxlMDVjO1xuJGZhLXZhci1wZXJzb24tY2lyY2xlLWNoZWNrOiBcXGU1M2U7XG4kZmEtdmFyLXR1cm4tdXA6IFxcZjNiZjtcbiRmYS12YXItbGV2ZWwtdXAtYWx0OiBcXGYzYmY7XG5cbiRmYS12YXItbW9uZXJvOiBcXGYzZDA7XG4kZmEtdmFyLWhvb2xpOiBcXGY0Mjc7XG4kZmEtdmFyLXllbHA6IFxcZjFlOTtcbiRmYS12YXItY2MtdmlzYTogXFxmMWYwO1xuJGZhLXZhci1sYXN0Zm06IFxcZjIwMjtcbiRmYS12YXItc2hvcHdhcmU6IFxcZjViNTtcbiRmYS12YXItY3JlYXRpdmUtY29tbW9ucy1uYzogXFxmNGU4O1xuJGZhLXZhci1hd3M6IFxcZjM3NTtcbiRmYS12YXItcmVkaGF0OiBcXGY3YmM7XG4kZmEtdmFyLXlvYXN0OiBcXGYyYjE7XG4kZmEtdmFyLWNsb3VkZmxhcmU6IFxcZTA3ZDtcbiRmYS12YXItdXBzOiBcXGY3ZTA7XG4kZmEtdmFyLXBpeGl2OiBcXGU2NDA7XG4kZmEtdmFyLXdwZXhwbG9yZXI6IFxcZjJkZTtcbiRmYS12YXItZHlhbG9nOiBcXGYzOTk7XG4kZmEtdmFyLWJpdHk6IFxcZjM3YTtcbiRmYS12YXItc3RhY2twYXRoOiBcXGY4NDI7XG4kZmEtdmFyLWJ1eXNlbGxhZHM6IFxcZjIwZDtcbiRmYS12YXItZmlyc3Qtb3JkZXI6IFxcZjJiMDtcbiRmYS12YXItbW9keDogXFxmMjg1O1xuJGZhLXZhci1ndWlsZGVkOiBcXGUwN2U7XG4kZmEtdmFyLXZudjogXFxmNDBiO1xuJGZhLXZhci1zcXVhcmUtanM6IFxcZjNiOTtcbiRmYS12YXItanMtc3F1YXJlOiBcXGYzYjk7XG4kZmEtdmFyLW1pY3Jvc29mdDogXFxmM2NhO1xuJGZhLXZhci1xcTogXFxmMWQ2O1xuJGZhLXZhci1vcmNpZDogXFxmOGQyO1xuJGZhLXZhci1qYXZhOiBcXGY0ZTQ7XG4kZmEtdmFyLWludmlzaW9uOiBcXGY3YjA7XG4kZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMtcGQtYWx0OiBcXGY0ZWQ7XG4kZmEtdmFyLWNlbnRlcmNvZGU6IFxcZjM4MDtcbiRmYS12YXItZ2xpZGUtZzogXFxmMmE2O1xuJGZhLXZhci1kcnVwYWw6IFxcZjFhOTtcbiRmYS12YXItaGlyZS1hLWhlbHBlcjogXFxmM2IwO1xuJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLWJ5OiBcXGY0ZTc7XG4kZmEtdmFyLXVuaXR5OiBcXGUwNDk7XG4kZmEtdmFyLXdobWNzOiBcXGY0MGQ7XG4kZmEtdmFyLXJvY2tldGNoYXQ6IFxcZjNlODtcbiRmYS12YXItdms6IFxcZjE4OTtcbiRmYS12YXItdW50YXBwZDogXFxmNDA1O1xuJGZhLXZhci1tYWlsY2hpbXA6IFxcZjU5ZTtcbiRmYS12YXItY3NzMy1hbHQ6IFxcZjM4YjtcbiRmYS12YXItc3F1YXJlLXJlZGRpdDogXFxmMWEyO1xuJGZhLXZhci1yZWRkaXQtc3F1YXJlOiBcXGYxYTI7XG4kZmEtdmFyLXZpbWVvLXY6IFxcZjI3ZDtcbiRmYS12YXItY29udGFvOiBcXGYyNmQ7XG4kZmEtdmFyLXNxdWFyZS1mb250LWF3ZXNvbWU6IFxcZTVhZDtcbiRmYS12YXItZGVza3BybzogXFxmMzhmO1xuJGZhLXZhci1icmF2ZTogXFxlNjNjO1xuJGZhLXZhci1zaXN0cml4OiBcXGYzZWU7XG4kZmEtdmFyLXNxdWFyZS1pbnN0YWdyYW06IFxcZTA1NTtcbiRmYS12YXItaW5zdGFncmFtLXNxdWFyZTogXFxlMDU1O1xuJGZhLXZhci1iYXR0bGUtbmV0OiBcXGY4MzU7XG4kZmEtdmFyLXRoZS1yZWQteWV0aTogXFxmNjlkO1xuJGZhLXZhci1zcXVhcmUtaGFja2VyLW5ld3M6IFxcZjNhZjtcbiRmYS12YXItaGFja2VyLW5ld3Mtc3F1YXJlOiBcXGYzYWY7XG4kZmEtdmFyLWVkZ2U6IFxcZjI4MjtcbiRmYS12YXItdGhyZWFkczogXFxlNjE4O1xuJGZhLXZhci1uYXBzdGVyOiBcXGYzZDI7XG4kZmEtdmFyLXNxdWFyZS1zbmFwY2hhdDogXFxmMmFkO1xuJGZhLXZhci1zbmFwY2hhdC1zcXVhcmU6IFxcZjJhZDtcbiRmYS12YXItZ29vZ2xlLXBsdXMtZzogXFxmMGQ1O1xuJGZhLXZhci1hcnRzdGF0aW9uOiBcXGY3N2E7XG4kZmEtdmFyLW1hcmtkb3duOiBcXGY2MGY7XG4kZmEtdmFyLXNvdXJjZXRyZWU6IFxcZjdkMztcbiRmYS12YXItZ29vZ2xlLXBsdXM6IFxcZjJiMztcbiRmYS12YXItZGlhc3BvcmE6IFxcZjc5MTtcbiRmYS12YXItZm91cnNxdWFyZTogXFxmMTgwO1xuJGZhLXZhci1zdGFjay1vdmVyZmxvdzogXFxmMTZjO1xuJGZhLXZhci1naXRodWItYWx0OiBcXGYxMTM7XG4kZmEtdmFyLXBob2VuaXgtc3F1YWRyb246IFxcZjUxMTtcbiRmYS12YXItcGFnZWxpbmVzOiBcXGYxOGM7XG4kZmEtdmFyLWFsZ29saWE6IFxcZjM2YztcbiRmYS12YXItcmVkLXJpdmVyOiBcXGYzZTM7XG4kZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMtc2E6IFxcZjRlZjtcbiRmYS12YXItc2FmYXJpOiBcXGYyNjc7XG4kZmEtdmFyLWdvb2dsZTogXFxmMWEwO1xuJGZhLXZhci1zcXVhcmUtZm9udC1hd2Vzb21lLXN0cm9rZTogXFxmMzVjO1xuJGZhLXZhci1mb250LWF3ZXNvbWUtYWx0OiBcXGYzNWM7XG4kZmEtdmFyLWF0bGFzc2lhbjogXFxmNzdiO1xuJGZhLXZhci1saW5rZWRpbi1pbjogXFxmMGUxO1xuJGZhLXZhci1kaWdpdGFsLW9jZWFuOiBcXGYzOTE7XG4kZmEtdmFyLW5pbWJscjogXFxmNWE4O1xuJGZhLXZhci1jaHJvbWVjYXN0OiBcXGY4Mzg7XG4kZmEtdmFyLWV2ZXJub3RlOiBcXGY4Mzk7XG4kZmEtdmFyLWhhY2tlci1uZXdzOiBcXGYxZDQ7XG4kZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMtc2FtcGxpbmc6IFxcZjRmMDtcbiRmYS12YXItYWR2ZXJzYWw6IFxcZjM2YTtcbiRmYS12YXItY3JlYXRpdmUtY29tbW9uczogXFxmMjVlO1xuJGZhLXZhci13YXRjaG1hbi1tb25pdG9yaW5nOiBcXGUwODc7XG4kZmEtdmFyLWZvbnRpY29uczogXFxmMjgwO1xuJGZhLXZhci13ZWl4aW46IFxcZjFkNztcbiRmYS12YXItc2hpcnRzaW5idWxrOiBcXGYyMTQ7XG4kZmEtdmFyLWNvZGVwZW46IFxcZjFjYjtcbiRmYS12YXItZ2l0LWFsdDogXFxmODQxO1xuJGZhLXZhci1seWZ0OiBcXGYzYzM7XG4kZmEtdmFyLXJldjogXFxmNWIyO1xuJGZhLXZhci13aW5kb3dzOiBcXGYxN2E7XG4kZmEtdmFyLXdpemFyZHMtb2YtdGhlLWNvYXN0OiBcXGY3MzA7XG4kZmEtdmFyLXNxdWFyZS12aWFkZW86IFxcZjJhYTtcbiRmYS12YXItdmlhZGVvLXNxdWFyZTogXFxmMmFhO1xuJGZhLXZhci1tZWV0dXA6IFxcZjJlMDtcbiRmYS12YXItY2VudG9zOiBcXGY3ODk7XG4kZmEtdmFyLWFkbjogXFxmMTcwO1xuJGZhLXZhci1jbG91ZHNtaXRoOiBcXGYzODQ7XG4kZmEtdmFyLW9wZW5zdXNlOiBcXGU2MmI7XG4kZmEtdmFyLXBpZWQtcGlwZXItYWx0OiBcXGYxYTg7XG4kZmEtdmFyLXNxdWFyZS1kcmliYmJsZTogXFxmMzk3O1xuJGZhLXZhci1kcmliYmJsZS1zcXVhcmU6IFxcZjM5NztcbiRmYS12YXItY29kaWVwaWU6IFxcZjI4NDtcbiRmYS12YXItbm9kZTogXFxmNDE5O1xuJGZhLXZhci1taXg6IFxcZjNjYjtcbiRmYS12YXItc3RlYW06IFxcZjFiNjtcbiRmYS12YXItY2MtYXBwbGUtcGF5OiBcXGY0MTY7XG4kZmEtdmFyLXNjcmliZDogXFxmMjhhO1xuJGZhLXZhci1kZWJpYW46IFxcZTYwYjtcbiRmYS12YXItb3BlbmlkOiBcXGYxOWI7XG4kZmEtdmFyLWluc3RhbG9kOiBcXGUwODE7XG4kZmEtdmFyLWV4cGVkaXRlZHNzbDogXFxmMjNlO1xuJGZhLXZhci1zZWxsY2FzdDogXFxmMmRhO1xuJGZhLXZhci1zcXVhcmUtdHdpdHRlcjogXFxmMDgxO1xuJGZhLXZhci10d2l0dGVyLXNxdWFyZTogXFxmMDgxO1xuJGZhLXZhci1yLXByb2plY3Q6IFxcZjRmNztcbiRmYS12YXItZGVsaWNpb3VzOiBcXGYxYTU7XG4kZmEtdmFyLWZyZWVic2Q6IFxcZjNhNDtcbiRmYS12YXItdnVlanM6IFxcZjQxZjtcbiRmYS12YXItYWNjdXNvZnQ6IFxcZjM2OTtcbiRmYS12YXItaW94aG9zdDogXFxmMjA4O1xuJGZhLXZhci1mb250aWNvbnMtZmk6IFxcZjNhMjtcbiRmYS12YXItYXBwLXN0b3JlOiBcXGYzNmY7XG4kZmEtdmFyLWNjLW1hc3RlcmNhcmQ6IFxcZjFmMTtcbiRmYS12YXItaXR1bmVzLW5vdGU6IFxcZjNiNTtcbiRmYS12YXItZ29sYW5nOiBcXGU0MGY7XG4kZmEtdmFyLWtpY2tzdGFydGVyOiBcXGYzYmI7XG4kZmEtdmFyLWdyYXY6IFxcZjJkNjtcbiRmYS12YXItd2VpYm86IFxcZjE4YTtcbiRmYS12YXItdW5jaGFydGVkOiBcXGUwODQ7XG4kZmEtdmFyLWZpcnN0ZHJhZnQ6IFxcZjNhMTtcbiRmYS12YXItc3F1YXJlLXlvdXR1YmU6IFxcZjQzMTtcbiRmYS12YXIteW91dHViZS1zcXVhcmU6IFxcZjQzMTtcbiRmYS12YXItd2lraXBlZGlhLXc6IFxcZjI2NjtcbiRmYS12YXItd3ByZXNzcjogXFxmM2U0O1xuJGZhLXZhci1yZW5kYWN0OiBcXGYzZTQ7XG4kZmEtdmFyLWFuZ2VsbGlzdDogXFxmMjA5O1xuJGZhLXZhci1nYWxhY3RpYy1yZXB1YmxpYzogXFxmNTBjO1xuJGZhLXZhci1uZmMtZGlyZWN0aW9uYWw6IFxcZTUzMDtcbiRmYS12YXItc2t5cGU6IFxcZjE3ZTtcbiRmYS12YXItam9nZXQ6IFxcZjNiNztcbiRmYS12YXItZmVkb3JhOiBcXGY3OTg7XG4kZmEtdmFyLXN0cmlwZS1zOiBcXGY0MmE7XG4kZmEtdmFyLW1ldGE6IFxcZTQ5YjtcbiRmYS12YXItbGFyYXZlbDogXFxmM2JkO1xuJGZhLXZhci1ob3RqYXI6IFxcZjNiMTtcbiRmYS12YXItYmx1ZXRvb3RoLWI6IFxcZjI5NDtcbiRmYS12YXItc3F1YXJlLWxldHRlcmJveGQ6IFxcZTYyZTtcbiRmYS12YXItc3RpY2tlci1tdWxlOiBcXGYzZjc7XG4kZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMtemVybzogXFxmNGYzO1xuJGZhLXZhci1oaXBzOiBcXGY0NTI7XG4kZmEtdmFyLWJlaGFuY2U6IFxcZjFiNDtcbiRmYS12YXItcmVkZGl0OiBcXGYxYTE7XG4kZmEtdmFyLWRpc2NvcmQ6IFxcZjM5MjtcbiRmYS12YXItY2hyb21lOiBcXGYyNjg7XG4kZmEtdmFyLWFwcC1zdG9yZS1pb3M6IFxcZjM3MDtcbiRmYS12YXItY2MtZGlzY292ZXI6IFxcZjFmMjtcbiRmYS12YXItd3BiZWdpbm5lcjogXFxmMjk3O1xuJGZhLXZhci1jb25mbHVlbmNlOiBcXGY3OGQ7XG4kZmEtdmFyLXNob2VsYWNlOiBcXGU2MGM7XG4kZmEtdmFyLW1kYjogXFxmOGNhO1xuJGZhLXZhci1kb2NodWI6IFxcZjM5NDtcbiRmYS12YXItYWNjZXNzaWJsZS1pY29uOiBcXGYzNjg7XG4kZmEtdmFyLWViYXk6IFxcZjRmNDtcbiRmYS12YXItYW1hem9uOiBcXGYyNzA7XG4kZmEtdmFyLXVuc3BsYXNoOiBcXGUwN2M7XG4kZmEtdmFyLXlhcm46IFxcZjdlMztcbiRmYS12YXItc3F1YXJlLXN0ZWFtOiBcXGYxYjc7XG4kZmEtdmFyLXN0ZWFtLXNxdWFyZTogXFxmMWI3O1xuJGZhLXZhci01MDBweDogXFxmMjZlO1xuJGZhLXZhci1zcXVhcmUtdmltZW86IFxcZjE5NDtcbiRmYS12YXItdmltZW8tc3F1YXJlOiBcXGYxOTQ7XG4kZmEtdmFyLWFzeW1tZXRyaWs6IFxcZjM3MjtcbiRmYS12YXItZm9udC1hd2Vzb21lOiBcXGYyYjQ7XG4kZmEtdmFyLWZvbnQtYXdlc29tZS1mbGFnOiBcXGYyYjQ7XG4kZmEtdmFyLWZvbnQtYXdlc29tZS1sb2dvLWZ1bGw6IFxcZjJiNDtcbiRmYS12YXItZ3JhdGlwYXk6IFxcZjE4NDtcbiRmYS12YXItYXBwbGU6IFxcZjE3OTtcbiRmYS12YXItaGl2ZTogXFxlMDdmO1xuJGZhLXZhci1naXRrcmFrZW46IFxcZjNhNjtcbiRmYS12YXIta2V5YmFzZTogXFxmNGY1O1xuJGZhLXZhci1hcHBsZS1wYXk6IFxcZjQxNTtcbiRmYS12YXItcGFkbGV0OiBcXGU0YTA7XG4kZmEtdmFyLWFtYXpvbi1wYXk6IFxcZjQyYztcbiRmYS12YXItc3F1YXJlLWdpdGh1YjogXFxmMDkyO1xuJGZhLXZhci1naXRodWItc3F1YXJlOiBcXGYwOTI7XG4kZmEtdmFyLXN0dW1ibGV1cG9uOiBcXGYxYTQ7XG4kZmEtdmFyLWZlZGV4OiBcXGY3OTc7XG4kZmEtdmFyLXBob2VuaXgtZnJhbWV3b3JrOiBcXGYzZGM7XG4kZmEtdmFyLXNob3BpZnk6IFxcZTA1NztcbiRmYS12YXItbmVvczogXFxmNjEyO1xuJGZhLXZhci1zcXVhcmUtdGhyZWFkczogXFxlNjE5O1xuJGZhLXZhci1oYWNrZXJyYW5rOiBcXGY1Zjc7XG4kZmEtdmFyLXJlc2VhcmNoZ2F0ZTogXFxmNGY4O1xuJGZhLXZhci1zd2lmdDogXFxmOGUxO1xuJGZhLXZhci1hbmd1bGFyOiBcXGY0MjA7XG4kZmEtdmFyLXNwZWFrYXA6IFxcZjNmMztcbiRmYS12YXItYW5ncnljcmVhdGl2ZTogXFxmMzZlO1xuJGZhLXZhci15LWNvbWJpbmF0b3I6IFxcZjIzYjtcbiRmYS12YXItZW1waXJlOiBcXGYxZDE7XG4kZmEtdmFyLWVudmlyYTogXFxmMjk5O1xuJGZhLXZhci1nb29nbGUtc2Nob2xhcjogXFxlNjNiO1xuJGZhLXZhci1zcXVhcmUtZ2l0bGFiOiBcXGU1YWU7XG4kZmEtdmFyLWdpdGxhYi1zcXVhcmU6IFxcZTVhZTtcbiRmYS12YXItc3R1ZGlvdmluYXJpOiBcXGYzZjg7XG4kZmEtdmFyLXBpZWQtcGlwZXI6IFxcZjJhZTtcbiRmYS12YXItd29yZHByZXNzOiBcXGYxOWE7XG4kZmEtdmFyLXByb2R1Y3QtaHVudDogXFxmMjg4O1xuJGZhLXZhci1maXJlZm94OiBcXGYyNjk7XG4kZmEtdmFyLWxpbm9kZTogXFxmMmI4O1xuJGZhLXZhci1nb29kcmVhZHM6IFxcZjNhODtcbiRmYS12YXItc3F1YXJlLW9kbm9rbGFzc25pa2k6IFxcZjI2NDtcbiRmYS12YXItb2Rub2tsYXNzbmlraS1zcXVhcmU6IFxcZjI2NDtcbiRmYS12YXItanNmaWRkbGU6IFxcZjFjYztcbiRmYS12YXItc2l0aDogXFxmNTEyO1xuJGZhLXZhci10aGVtZWlzbGU6IFxcZjJiMjtcbiRmYS12YXItcGFnZTQ6IFxcZjNkNztcbiRmYS12YXItaGFzaG5vZGU6IFxcZTQ5OTtcbiRmYS12YXItcmVhY3Q6IFxcZjQxYjtcbiRmYS12YXItY2MtcGF5cGFsOiBcXGYxZjQ7XG4kZmEtdmFyLXNxdWFyZXNwYWNlOiBcXGY1YmU7XG4kZmEtdmFyLWNjLXN0cmlwZTogXFxmMWY1O1xuJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLXNoYXJlOiBcXGY0ZjI7XG4kZmEtdmFyLWJpdGNvaW46IFxcZjM3OTtcbiRmYS12YXIta2V5Y2RuOiBcXGYzYmE7XG4kZmEtdmFyLW9wZXJhOiBcXGYyNmE7XG4kZmEtdmFyLWl0Y2gtaW86IFxcZjgzYTtcbiRmYS12YXItdW1icmFjbzogXFxmOGU4O1xuJGZhLXZhci1nYWxhY3RpYy1zZW5hdGU6IFxcZjUwZDtcbiRmYS12YXItdWJ1bnR1OiBcXGY3ZGY7XG4kZmEtdmFyLWRyYWZ0MmRpZ2l0YWw6IFxcZjM5NjtcbiRmYS12YXItc3RyaXBlOiBcXGY0Mjk7XG4kZmEtdmFyLWhvdXp6OiBcXGYyN2M7XG4kZmEtdmFyLWdnOiBcXGYyNjA7XG4kZmEtdmFyLWRobDogXFxmNzkwO1xuJGZhLXZhci1zcXVhcmUtcGludGVyZXN0OiBcXGYwZDM7XG4kZmEtdmFyLXBpbnRlcmVzdC1zcXVhcmU6IFxcZjBkMztcbiRmYS12YXIteGluZzogXFxmMTY4O1xuJGZhLXZhci1ibGFja2JlcnJ5OiBcXGYzN2I7XG4kZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMtcGQ6IFxcZjRlYztcbiRmYS12YXItcGxheXN0YXRpb246IFxcZjNkZjtcbiRmYS12YXItcXVpbnNjYXBlOiBcXGY0NTk7XG4kZmEtdmFyLWxlc3M6IFxcZjQxZDtcbiRmYS12YXItYmxvZ2dlci1iOiBcXGYzN2Q7XG4kZmEtdmFyLW9wZW5jYXJ0OiBcXGYyM2Q7XG4kZmEtdmFyLXZpbmU6IFxcZjFjYTtcbiRmYS12YXItc2lnbmFsLW1lc3NlbmdlcjogXFxlNjYzO1xuJGZhLXZhci1wYXlwYWw6IFxcZjFlZDtcbiRmYS12YXItZ2l0bGFiOiBcXGYyOTY7XG4kZmEtdmFyLXR5cG8zOiBcXGY0MmI7XG4kZmEtdmFyLXJlZGRpdC1hbGllbjogXFxmMjgxO1xuJGZhLXZhci15YWhvbzogXFxmMTllO1xuJGZhLXZhci1kYWlseW1vdGlvbjogXFxlMDUyO1xuJGZhLXZhci1hZmZpbGlhdGV0aGVtZTogXFxmMzZiO1xuJGZhLXZhci1waWVkLXBpcGVyLXBwOiBcXGYxYTc7XG4kZmEtdmFyLWJvb3RzdHJhcDogXFxmODM2O1xuJGZhLXZhci1vZG5va2xhc3NuaWtpOiBcXGYyNjM7XG4kZmEtdmFyLW5mYy1zeW1ib2w6IFxcZTUzMTtcbiRmYS12YXItbWludGJpdDogXFxlNjJmO1xuJGZhLXZhci1ldGhlcmV1bTogXFxmNDJlO1xuJGZhLXZhci1zcGVha2VyLWRlY2s6IFxcZjgzYztcbiRmYS12YXItY3JlYXRpdmUtY29tbW9ucy1uYy1ldTogXFxmNGU5O1xuJGZhLXZhci1wYXRyZW9uOiBcXGYzZDk7XG4kZmEtdmFyLWF2aWFuZXg6IFxcZjM3NDtcbiRmYS12YXItZWxsbzogXFxmNWYxO1xuJGZhLXZhci1nb2ZvcmU6IFxcZjNhNztcbiRmYS12YXItYmltb2JqZWN0OiBcXGYzNzg7XG4kZmEtdmFyLWJyYXZlLXJldmVyc2U6IFxcZTYzZDtcbiRmYS12YXItZmFjZWJvb2stZjogXFxmMzllO1xuJGZhLXZhci1zcXVhcmUtZ29vZ2xlLXBsdXM6IFxcZjBkNDtcbiRmYS12YXItZ29vZ2xlLXBsdXMtc3F1YXJlOiBcXGYwZDQ7XG4kZmEtdmFyLW1hbmRhbG9yaWFuOiBcXGY1MGY7XG4kZmEtdmFyLWZpcnN0LW9yZGVyLWFsdDogXFxmNTBhO1xuJGZhLXZhci1vc2k6IFxcZjQxYTtcbiRmYS12YXItZ29vZ2xlLXdhbGxldDogXFxmMWVlO1xuJGZhLXZhci1kLWFuZC1kLWJleW9uZDogXFxmNmNhO1xuJGZhLXZhci1wZXJpc2NvcGU6IFxcZjNkYTtcbiRmYS12YXItZnVsY3J1bTogXFxmNTBiO1xuJGZhLXZhci1jbG91ZHNjYWxlOiBcXGYzODM7XG4kZmEtdmFyLWZvcnVtYmVlOiBcXGYyMTE7XG4kZmEtdmFyLW1penVuaTogXFxmM2NjO1xuJGZhLXZhci1zY2hsaXg6IFxcZjNlYTtcbiRmYS12YXItc3F1YXJlLXhpbmc6IFxcZjE2OTtcbiRmYS12YXIteGluZy1zcXVhcmU6IFxcZjE2OTtcbiRmYS12YXItYmFuZGNhbXA6IFxcZjJkNTtcbiRmYS12YXItd3Bmb3JtczogXFxmMjk4O1xuJGZhLXZhci1jbG91ZHZlcnNpZnk6IFxcZjM4NTtcbiRmYS12YXItdXNwczogXFxmN2UxO1xuJGZhLXZhci1tZWdhcG9ydDogXFxmNWEzO1xuJGZhLXZhci1tYWdlbnRvOiBcXGYzYzQ7XG4kZmEtdmFyLXNwb3RpZnk6IFxcZjFiYztcbiRmYS12YXItb3B0aW4tbW9uc3RlcjogXFxmMjNjO1xuJGZhLXZhci1mbHk6IFxcZjQxNztcbiRmYS12YXItYXZpYXRvOiBcXGY0MjE7XG4kZmEtdmFyLWl0dW5lczogXFxmM2I0O1xuJGZhLXZhci1jdXR0bGVmaXNoOiBcXGYzOGM7XG4kZmEtdmFyLWJsb2dnZXI6IFxcZjM3YztcbiRmYS12YXItZmxpY2tyOiBcXGYxNmU7XG4kZmEtdmFyLXZpYmVyOiBcXGY0MDk7XG4kZmEtdmFyLXNvdW5kY2xvdWQ6IFxcZjFiZTtcbiRmYS12YXItZGlnZzogXFxmMWE2O1xuJGZhLXZhci10ZW5jZW50LXdlaWJvOiBcXGYxZDU7XG4kZmEtdmFyLWxldHRlcmJveGQ6IFxcZTYyZDtcbiRmYS12YXItc3ltZm9ueTogXFxmODNkO1xuJGZhLXZhci1tYXhjZG46IFxcZjEzNjtcbiRmYS12YXItZXRzeTogXFxmMmQ3O1xuJGZhLXZhci1mYWNlYm9vay1tZXNzZW5nZXI6IFxcZjM5ZjtcbiRmYS12YXItYXVkaWJsZTogXFxmMzczO1xuJGZhLXZhci10aGluay1wZWFrczogXFxmNzMxO1xuJGZhLXZhci1iaWxpYmlsaTogXFxlM2Q5O1xuJGZhLXZhci1lcmxhbmc6IFxcZjM5ZDtcbiRmYS12YXIteC10d2l0dGVyOiBcXGU2MWI7XG4kZmEtdmFyLWNvdHRvbi1idXJlYXU6IFxcZjg5ZTtcbiRmYS12YXItZGFzaGN1YmU6IFxcZjIxMDtcbiRmYS12YXItNDItZ3JvdXA6IFxcZTA4MDtcbiRmYS12YXItaW5ub3NvZnQ6IFxcZTA4MDtcbiRmYS12YXItc3RhY2stZXhjaGFuZ2U6IFxcZjE4ZDtcbiRmYS12YXItZWxlbWVudG9yOiBcXGY0MzA7XG4kZmEtdmFyLXNxdWFyZS1waWVkLXBpcGVyOiBcXGUwMWU7XG4kZmEtdmFyLXBpZWQtcGlwZXItc3F1YXJlOiBcXGUwMWU7XG4kZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMtbmQ6IFxcZjRlYjtcbiRmYS12YXItcGFsZmVkOiBcXGYzZDg7XG4kZmEtdmFyLXN1cGVycG93ZXJzOiBcXGYyZGQ7XG4kZmEtdmFyLXJlc29sdmluZzogXFxmM2U3O1xuJGZhLXZhci14Ym94OiBcXGY0MTI7XG4kZmEtdmFyLXNlYXJjaGVuZ2luOiBcXGYzZWI7XG4kZmEtdmFyLXRpa3RvazogXFxlMDdiO1xuJGZhLXZhci1zcXVhcmUtZmFjZWJvb2s6IFxcZjA4MjtcbiRmYS12YXItZmFjZWJvb2stc3F1YXJlOiBcXGYwODI7XG4kZmEtdmFyLXJlbnJlbjogXFxmMThiO1xuJGZhLXZhci1saW51eDogXFxmMTdjO1xuJGZhLXZhci1nbGlkZTogXFxmMmE1O1xuJGZhLXZhci1saW5rZWRpbjogXFxmMDhjO1xuJGZhLXZhci1odWJzcG90OiBcXGYzYjI7XG4kZmEtdmFyLWRlcGxveWRvZzogXFxmMzhlO1xuJGZhLXZhci10d2l0Y2g6IFxcZjFlODtcbiRmYS12YXItcmF2ZWxyeTogXFxmMmQ5O1xuJGZhLXZhci1taXhlcjogXFxlMDU2O1xuJGZhLXZhci1zcXVhcmUtbGFzdGZtOiBcXGYyMDM7XG4kZmEtdmFyLWxhc3RmbS1zcXVhcmU6IFxcZjIwMztcbiRmYS12YXItdmltZW86IFxcZjQwYTtcbiRmYS12YXItbWVuZGVsZXk6IFxcZjdiMztcbiRmYS12YXItdW5pcmVnaXN0cnk6IFxcZjQwNDtcbiRmYS12YXItZmlnbWE6IFxcZjc5OTtcbiRmYS12YXItY3JlYXRpdmUtY29tbW9ucy1yZW1peDogXFxmNGVlO1xuJGZhLXZhci1jYy1hbWF6b24tcGF5OiBcXGY0MmQ7XG4kZmEtdmFyLWRyb3Bib3g6IFxcZjE2YjtcbiRmYS12YXItaW5zdGFncmFtOiBcXGYxNmQ7XG4kZmEtdmFyLWNtcGxpZDogXFxlMzYwO1xuJGZhLXZhci11cHdvcms6IFxcZTY0MTtcbiRmYS12YXItZmFjZWJvb2s6IFxcZjA5YTtcbiRmYS12YXItZ3JpcGZpcmU6IFxcZjNhYztcbiRmYS12YXItamVkaS1vcmRlcjogXFxmNTBlO1xuJGZhLXZhci11aWtpdDogXFxmNDAzO1xuJGZhLXZhci1mb3J0LWF3ZXNvbWUtYWx0OiBcXGYzYTM7XG4kZmEtdmFyLXBoYWJyaWNhdG9yOiBcXGYzZGI7XG4kZmEtdmFyLXVzc3VubmFoOiBcXGY0MDc7XG4kZmEtdmFyLWVhcmx5YmlyZHM6IFxcZjM5YTtcbiRmYS12YXItdHJhZGUtZmVkZXJhdGlvbjogXFxmNTEzO1xuJGZhLXZhci1hdXRvcHJlZml4ZXI6IFxcZjQxYztcbiRmYS12YXItd2hhdHNhcHA6IFxcZjIzMjtcbiRmYS12YXItc2xpZGVzaGFyZTogXFxmMWU3O1xuJGZhLXZhci1nb29nbGUtcGxheTogXFxmM2FiO1xuJGZhLXZhci12aWFkZW86IFxcZjJhOTtcbiRmYS12YXItbGluZTogXFxmM2MwO1xuJGZhLXZhci1nb29nbGUtZHJpdmU6IFxcZjNhYTtcbiRmYS12YXItc2VydmljZXN0YWNrOiBcXGYzZWM7XG4kZmEtdmFyLXNpbXBseWJ1aWx0OiBcXGYyMTU7XG4kZmEtdmFyLWJpdGJ1Y2tldDogXFxmMTcxO1xuJGZhLXZhci1pbWRiOiBcXGYyZDg7XG4kZmEtdmFyLWRlZXplcjogXFxlMDc3O1xuJGZhLXZhci1yYXNwYmVycnktcGk6IFxcZjdiYjtcbiRmYS12YXItamlyYTogXFxmN2IxO1xuJGZhLXZhci1kb2NrZXI6IFxcZjM5NTtcbiRmYS12YXItc2NyZWVucGFsOiBcXGU1NzA7XG4kZmEtdmFyLWJsdWV0b290aDogXFxmMjkzO1xuJGZhLXZhci1naXR0ZXI6IFxcZjQyNjtcbiRmYS12YXItZC1hbmQtZDogXFxmMzhkO1xuJGZhLXZhci1taWNyb2Jsb2c6IFxcZTAxYTtcbiRmYS12YXItY2MtZGluZXJzLWNsdWI6IFxcZjI0YztcbiRmYS12YXItZ2ctY2lyY2xlOiBcXGYyNjE7XG4kZmEtdmFyLXBpZWQtcGlwZXItaGF0OiBcXGY0ZTU7XG4kZmEtdmFyLWtpY2tzdGFydGVyLWs6IFxcZjNiYztcbiRmYS12YXIteWFuZGV4OiBcXGY0MTM7XG4kZmEtdmFyLXJlYWRtZTogXFxmNGQ1O1xuJGZhLXZhci1odG1sNTogXFxmMTNiO1xuJGZhLXZhci1zZWxsc3k6IFxcZjIxMztcbiRmYS12YXItc2FzczogXFxmNDFlO1xuJGZhLXZhci13aXJzaW5kaGFuZHdlcms6IFxcZTJkMDtcbiRmYS12YXItd3NoOiBcXGUyZDA7XG4kZmEtdmFyLWJ1cm9tb2JlbGV4cGVydGU6IFxcZjM3ZjtcbiRmYS12YXItc2FsZXNmb3JjZTogXFxmODNiO1xuJGZhLXZhci1vY3RvcHVzLWRlcGxveTogXFxlMDgyO1xuJGZhLXZhci1tZWRhcHBzOiBcXGYzYzY7XG4kZmEtdmFyLW5zODogXFxmM2Q1O1xuJGZhLXZhci1waW50ZXJlc3QtcDogXFxmMjMxO1xuJGZhLXZhci1hcHBlcjogXFxmMzcxO1xuJGZhLXZhci1mb3J0LWF3ZXNvbWU6IFxcZjI4NjtcbiRmYS12YXItd2F6ZTogXFxmODNmO1xuJGZhLXZhci1jYy1qY2I6IFxcZjI0YjtcbiRmYS12YXItc25hcGNoYXQ6IFxcZjJhYjtcbiRmYS12YXItc25hcGNoYXQtZ2hvc3Q6IFxcZjJhYjtcbiRmYS12YXItZmFudGFzeS1mbGlnaHQtZ2FtZXM6IFxcZjZkYztcbiRmYS12YXItcnVzdDogXFxlMDdhO1xuJGZhLXZhci13aXg6IFxcZjVjZjtcbiRmYS12YXItc3F1YXJlLWJlaGFuY2U6IFxcZjFiNTtcbiRmYS12YXItYmVoYW5jZS1zcXVhcmU6IFxcZjFiNTtcbiRmYS12YXItc3VwcGxlOiBcXGYzZjk7XG4kZmEtdmFyLXdlYmZsb3c6IFxcZTY1YztcbiRmYS12YXItcmViZWw6IFxcZjFkMDtcbiRmYS12YXItY3NzMzogXFxmMTNjO1xuJGZhLXZhci1zdGF5bGlua2VkOiBcXGYzZjU7XG4kZmEtdmFyLWthZ2dsZTogXFxmNWZhO1xuJGZhLXZhci1zcGFjZS1hd2Vzb21lOiBcXGU1YWM7XG4kZmEtdmFyLWRldmlhbnRhcnQ6IFxcZjFiZDtcbiRmYS12YXItY3BhbmVsOiBcXGYzODg7XG4kZmEtdmFyLWdvb2RyZWFkcy1nOiBcXGYzYTk7XG4kZmEtdmFyLXNxdWFyZS1naXQ6IFxcZjFkMjtcbiRmYS12YXItZ2l0LXNxdWFyZTogXFxmMWQyO1xuJGZhLXZhci1zcXVhcmUtdHVtYmxyOiBcXGYxNzQ7XG4kZmEtdmFyLXR1bWJsci1zcXVhcmU6IFxcZjE3NDtcbiRmYS12YXItdHJlbGxvOiBcXGYxODE7XG4kZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMtbmMtanA6IFxcZjRlYTtcbiRmYS12YXItZ2V0LXBvY2tldDogXFxmMjY1O1xuJGZhLXZhci1wZXJieXRlOiBcXGUwODM7XG4kZmEtdmFyLWdydW50OiBcXGYzYWQ7XG4kZmEtdmFyLXdlZWJseTogXFxmNWNjO1xuJGZhLXZhci1jb25uZWN0ZGV2ZWxvcDogXFxmMjBlO1xuJGZhLXZhci1sZWFucHViOiBcXGYyMTI7XG4kZmEtdmFyLWJsYWNrLXRpZTogXFxmMjdlO1xuJGZhLXZhci10aGVtZWNvOiBcXGY1YzY7XG4kZmEtdmFyLXB5dGhvbjogXFxmM2UyO1xuJGZhLXZhci1hbmRyb2lkOiBcXGYxN2I7XG4kZmEtdmFyLWJvdHM6IFxcZTM0MDtcbiRmYS12YXItZnJlZS1jb2RlLWNhbXA6IFxcZjJjNTtcbiRmYS12YXItaG9ybmJpbGw6IFxcZjU5MjtcbiRmYS12YXItanM6IFxcZjNiODtcbiRmYS12YXItaWRlYWw6IFxcZTAxMztcbiRmYS12YXItZ2l0OiBcXGYxZDM7XG4kZmEtdmFyLWRldjogXFxmNmNjO1xuJGZhLXZhci1za2V0Y2g6IFxcZjdjNjtcbiRmYS12YXIteWFuZGV4LWludGVybmF0aW9uYWw6IFxcZjQxNDtcbiRmYS12YXItY2MtYW1leDogXFxmMWYzO1xuJGZhLXZhci11YmVyOiBcXGY0MDI7XG4kZmEtdmFyLWdpdGh1YjogXFxmMDliO1xuJGZhLXZhci1waHA6IFxcZjQ1NztcbiRmYS12YXItYWxpcGF5OiBcXGY2NDI7XG4kZmEtdmFyLXlvdXR1YmU6IFxcZjE2NztcbiRmYS12YXItc2t5YXRsYXM6IFxcZjIxNjtcbiRmYS12YXItZmlyZWZveC1icm93c2VyOiBcXGUwMDc7XG4kZmEtdmFyLXJlcGx5ZDogXFxmM2U2O1xuJGZhLXZhci1zdXNlOiBcXGY3ZDY7XG4kZmEtdmFyLWplbmtpbnM6IFxcZjNiNjtcbiRmYS12YXItdHdpdHRlcjogXFxmMDk5O1xuJGZhLXZhci1yb2Nrcm1zOiBcXGYzZTk7XG4kZmEtdmFyLXBpbnRlcmVzdDogXFxmMGQyO1xuJGZhLXZhci1idWZmZXI6IFxcZjgzNztcbiRmYS12YXItbnBtOiBcXGYzZDQ7XG4kZmEtdmFyLXlhbW1lcjogXFxmODQwO1xuJGZhLXZhci1idGM6IFxcZjE1YTtcbiRmYS12YXItZHJpYmJibGU6IFxcZjE3ZDtcbiRmYS12YXItc3R1bWJsZXVwb24tY2lyY2xlOiBcXGYxYTM7XG4kZmEtdmFyLWludGVybmV0LWV4cGxvcmVyOiBcXGYyNmI7XG4kZmEtdmFyLXN0dWJiZXI6IFxcZTVjNztcbiRmYS12YXItdGVsZWdyYW06IFxcZjJjNjtcbiRmYS12YXItdGVsZWdyYW0tcGxhbmU6IFxcZjJjNjtcbiRmYS12YXItb2xkLXJlcHVibGljOiBcXGY1MTA7XG4kZmEtdmFyLW9keXNlZTogXFxlNWM2O1xuJGZhLXZhci1zcXVhcmUtd2hhdHNhcHA6IFxcZjQwYztcbiRmYS12YXItd2hhdHNhcHAtc3F1YXJlOiBcXGY0MGM7XG4kZmEtdmFyLW5vZGUtanM6IFxcZjNkMztcbiRmYS12YXItZWRnZS1sZWdhY3k6IFxcZTA3ODtcbiRmYS12YXItc2xhY2s6IFxcZjE5ODtcbiRmYS12YXItc2xhY2staGFzaDogXFxmMTk4O1xuJGZhLXZhci1tZWRydDogXFxmM2M4O1xuJGZhLXZhci11c2I6IFxcZjI4NztcbiRmYS12YXItdHVtYmxyOiBcXGYxNzM7XG4kZmEtdmFyLXZhYWRpbjogXFxmNDA4O1xuJGZhLXZhci1xdW9yYTogXFxmMmM0O1xuJGZhLXZhci1zcXVhcmUteC10d2l0dGVyOiBcXGU2MWE7XG4kZmEtdmFyLXJlYWN0ZXVyb3BlOiBcXGY3NWQ7XG4kZmEtdmFyLW1lZGl1bTogXFxmMjNhO1xuJGZhLXZhci1tZWRpdW0tbTogXFxmMjNhO1xuJGZhLXZhci1hbWlsaWE6IFxcZjM2ZDtcbiRmYS12YXItbWl4Y2xvdWQ6IFxcZjI4OTtcbiRmYS12YXItZmxpcGJvYXJkOiBcXGY0NGQ7XG4kZmEtdmFyLXZpYWNvaW46IFxcZjIzNztcbiRmYS12YXItY3JpdGljYWwtcm9sZTogXFxmNmM5O1xuJGZhLXZhci1zaXRyb3g6IFxcZTQ0YTtcbiRmYS12YXItZGlzY291cnNlOiBcXGYzOTM7XG4kZmEtdmFyLWpvb21sYTogXFxmMWFhO1xuJGZhLXZhci1tYXN0b2RvbjogXFxmNGY2O1xuJGZhLXZhci1haXJibmI6IFxcZjgzNDtcbiRmYS12YXItd29sZi1wYWNrLWJhdHRhbGlvbjogXFxmNTE0O1xuJGZhLXZhci1idXktbi1sYXJnZTogXFxmOGE2O1xuJGZhLXZhci1ndWxwOiBcXGYzYWU7XG4kZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMtc2FtcGxpbmctcGx1czogXFxmNGYxO1xuJGZhLXZhci1zdHJhdmE6IFxcZjQyODtcbiRmYS12YXItZW1iZXI6IFxcZjQyMztcbiRmYS12YXItY2FuYWRpYW4tbWFwbGUtbGVhZjogXFxmNzg1O1xuJGZhLXZhci10ZWFtc3BlYWs6IFxcZjRmOTtcbiRmYS12YXItcHVzaGVkOiBcXGYzZTE7XG4kZmEtdmFyLXdvcmRwcmVzcy1zaW1wbGU6IFxcZjQxMTtcbiRmYS12YXItbnV0cml0aW9uaXg6IFxcZjNkNjtcbiRmYS12YXItd29kdTogXFxlMDg4O1xuJGZhLXZhci1nb29nbGUtcGF5OiBcXGUwNzk7XG4kZmEtdmFyLWludGVyY29tOiBcXGY3YWY7XG4kZmEtdmFyLXpoaWh1OiBcXGY2M2Y7XG4kZmEtdmFyLWtvcnZ1ZTogXFxmNDJmO1xuJGZhLXZhci1waXg6IFxcZTQzYTtcbiRmYS12YXItc3RlYW0tc3ltYm9sOiBcXGYzZjY7XG5cbiRmYS1pY29uczogKFxuICBcIjBcIjogJGZhLXZhci0wLFxuICBcIjFcIjogJGZhLXZhci0xLFxuICBcIjJcIjogJGZhLXZhci0yLFxuICBcIjNcIjogJGZhLXZhci0zLFxuICBcIjRcIjogJGZhLXZhci00LFxuICBcIjVcIjogJGZhLXZhci01LFxuICBcIjZcIjogJGZhLXZhci02LFxuICBcIjdcIjogJGZhLXZhci03LFxuICBcIjhcIjogJGZhLXZhci04LFxuICBcIjlcIjogJGZhLXZhci05LFxuICBcImZpbGwtZHJpcFwiOiAkZmEtdmFyLWZpbGwtZHJpcCxcbiAgXCJhcnJvd3MtdG8tY2lyY2xlXCI6ICRmYS12YXItYXJyb3dzLXRvLWNpcmNsZSxcbiAgXCJjaXJjbGUtY2hldnJvbi1yaWdodFwiOiAkZmEtdmFyLWNpcmNsZS1jaGV2cm9uLXJpZ2h0LFxuICBcImNoZXZyb24tY2lyY2xlLXJpZ2h0XCI6ICRmYS12YXItY2hldnJvbi1jaXJjbGUtcmlnaHQsXG4gIFwiYXRcIjogJGZhLXZhci1hdCxcbiAgXCJ0cmFzaC1jYW5cIjogJGZhLXZhci10cmFzaC1jYW4sXG4gIFwidHJhc2gtYWx0XCI6ICRmYS12YXItdHJhc2gtYWx0LFxuICBcInRleHQtaGVpZ2h0XCI6ICRmYS12YXItdGV4dC1oZWlnaHQsXG4gIFwidXNlci14bWFya1wiOiAkZmEtdmFyLXVzZXIteG1hcmssXG4gIFwidXNlci10aW1lc1wiOiAkZmEtdmFyLXVzZXItdGltZXMsXG4gIFwic3RldGhvc2NvcGVcIjogJGZhLXZhci1zdGV0aG9zY29wZSxcbiAgXCJtZXNzYWdlXCI6ICRmYS12YXItbWVzc2FnZSxcbiAgXCJjb21tZW50LWFsdFwiOiAkZmEtdmFyLWNvbW1lbnQtYWx0LFxuICBcImluZm9cIjogJGZhLXZhci1pbmZvLFxuICBcImRvd24tbGVmdC1hbmQtdXAtcmlnaHQtdG8tY2VudGVyXCI6ICRmYS12YXItZG93bi1sZWZ0LWFuZC11cC1yaWdodC10by1jZW50ZXIsXG4gIFwiY29tcHJlc3MtYWx0XCI6ICRmYS12YXItY29tcHJlc3MtYWx0LFxuICBcImV4cGxvc2lvblwiOiAkZmEtdmFyLWV4cGxvc2lvbixcbiAgXCJmaWxlLWxpbmVzXCI6ICRmYS12YXItZmlsZS1saW5lcyxcbiAgXCJmaWxlLWFsdFwiOiAkZmEtdmFyLWZpbGUtYWx0LFxuICBcImZpbGUtdGV4dFwiOiAkZmEtdmFyLWZpbGUtdGV4dCxcbiAgXCJ3YXZlLXNxdWFyZVwiOiAkZmEtdmFyLXdhdmUtc3F1YXJlLFxuICBcInJpbmdcIjogJGZhLXZhci1yaW5nLFxuICBcImJ1aWxkaW5nLXVuXCI6ICRmYS12YXItYnVpbGRpbmctdW4sXG4gIFwiZGljZS10aHJlZVwiOiAkZmEtdmFyLWRpY2UtdGhyZWUsXG4gIFwiY2FsZW5kYXItZGF5c1wiOiAkZmEtdmFyLWNhbGVuZGFyLWRheXMsXG4gIFwiY2FsZW5kYXItYWx0XCI6ICRmYS12YXItY2FsZW5kYXItYWx0LFxuICBcImFuY2hvci1jaXJjbGUtY2hlY2tcIjogJGZhLXZhci1hbmNob3ItY2lyY2xlLWNoZWNrLFxuICBcImJ1aWxkaW5nLWNpcmNsZS1hcnJvdy1yaWdodFwiOiAkZmEtdmFyLWJ1aWxkaW5nLWNpcmNsZS1hcnJvdy1yaWdodCxcbiAgXCJ2b2xsZXliYWxsXCI6ICRmYS12YXItdm9sbGV5YmFsbCxcbiAgXCJ2b2xsZXliYWxsLWJhbGxcIjogJGZhLXZhci12b2xsZXliYWxsLWJhbGwsXG4gIFwiYXJyb3dzLXVwLXRvLWxpbmVcIjogJGZhLXZhci1hcnJvd3MtdXAtdG8tbGluZSxcbiAgXCJzb3J0LWRvd25cIjogJGZhLXZhci1zb3J0LWRvd24sXG4gIFwic29ydC1kZXNjXCI6ICRmYS12YXItc29ydC1kZXNjLFxuICBcImNpcmNsZS1taW51c1wiOiAkZmEtdmFyLWNpcmNsZS1taW51cyxcbiAgXCJtaW51cy1jaXJjbGVcIjogJGZhLXZhci1taW51cy1jaXJjbGUsXG4gIFwiZG9vci1vcGVuXCI6ICRmYS12YXItZG9vci1vcGVuLFxuICBcInJpZ2h0LWZyb20tYnJhY2tldFwiOiAkZmEtdmFyLXJpZ2h0LWZyb20tYnJhY2tldCxcbiAgXCJzaWduLW91dC1hbHRcIjogJGZhLXZhci1zaWduLW91dC1hbHQsXG4gIFwiYXRvbVwiOiAkZmEtdmFyLWF0b20sXG4gIFwic29hcFwiOiAkZmEtdmFyLXNvYXAsXG4gIFwiaWNvbnNcIjogJGZhLXZhci1pY29ucyxcbiAgXCJoZWFydC1tdXNpYy1jYW1lcmEtYm9sdFwiOiAkZmEtdmFyLWhlYXJ0LW11c2ljLWNhbWVyYS1ib2x0LFxuICBcIm1pY3JvcGhvbmUtbGluZXMtc2xhc2hcIjogJGZhLXZhci1taWNyb3Bob25lLWxpbmVzLXNsYXNoLFxuICBcIm1pY3JvcGhvbmUtYWx0LXNsYXNoXCI6ICRmYS12YXItbWljcm9waG9uZS1hbHQtc2xhc2gsXG4gIFwiYnJpZGdlLWNpcmNsZS1jaGVja1wiOiAkZmEtdmFyLWJyaWRnZS1jaXJjbGUtY2hlY2ssXG4gIFwicHVtcC1tZWRpY2FsXCI6ICRmYS12YXItcHVtcC1tZWRpY2FsLFxuICBcImZpbmdlcnByaW50XCI6ICRmYS12YXItZmluZ2VycHJpbnQsXG4gIFwiaGFuZC1wb2ludC1yaWdodFwiOiAkZmEtdmFyLWhhbmQtcG9pbnQtcmlnaHQsXG4gIFwibWFnbmlmeWluZy1nbGFzcy1sb2NhdGlvblwiOiAkZmEtdmFyLW1hZ25pZnlpbmctZ2xhc3MtbG9jYXRpb24sXG4gIFwic2VhcmNoLWxvY2F0aW9uXCI6ICRmYS12YXItc2VhcmNoLWxvY2F0aW9uLFxuICBcImZvcndhcmQtc3RlcFwiOiAkZmEtdmFyLWZvcndhcmQtc3RlcCxcbiAgXCJzdGVwLWZvcndhcmRcIjogJGZhLXZhci1zdGVwLWZvcndhcmQsXG4gIFwiZmFjZS1zbWlsZS1iZWFtXCI6ICRmYS12YXItZmFjZS1zbWlsZS1iZWFtLFxuICBcInNtaWxlLWJlYW1cIjogJGZhLXZhci1zbWlsZS1iZWFtLFxuICBcImZsYWctY2hlY2tlcmVkXCI6ICRmYS12YXItZmxhZy1jaGVja2VyZWQsXG4gIFwiZm9vdGJhbGxcIjogJGZhLXZhci1mb290YmFsbCxcbiAgXCJmb290YmFsbC1iYWxsXCI6ICRmYS12YXItZm9vdGJhbGwtYmFsbCxcbiAgXCJzY2hvb2wtY2lyY2xlLWV4Y2xhbWF0aW9uXCI6ICRmYS12YXItc2Nob29sLWNpcmNsZS1leGNsYW1hdGlvbixcbiAgXCJjcm9wXCI6ICRmYS12YXItY3JvcCxcbiAgXCJhbmdsZXMtZG93blwiOiAkZmEtdmFyLWFuZ2xlcy1kb3duLFxuICBcImFuZ2xlLWRvdWJsZS1kb3duXCI6ICRmYS12YXItYW5nbGUtZG91YmxlLWRvd24sXG4gIFwidXNlcnMtcmVjdGFuZ2xlXCI6ICRmYS12YXItdXNlcnMtcmVjdGFuZ2xlLFxuICBcInBlb3BsZS1yb29mXCI6ICRmYS12YXItcGVvcGxlLXJvb2YsXG4gIFwicGVvcGxlLWxpbmVcIjogJGZhLXZhci1wZW9wbGUtbGluZSxcbiAgXCJiZWVyLW11Zy1lbXB0eVwiOiAkZmEtdmFyLWJlZXItbXVnLWVtcHR5LFxuICBcImJlZXJcIjogJGZhLXZhci1iZWVyLFxuICBcImRpYWdyYW0tcHJlZGVjZXNzb3JcIjogJGZhLXZhci1kaWFncmFtLXByZWRlY2Vzc29yLFxuICBcImFycm93LXVwLWxvbmdcIjogJGZhLXZhci1hcnJvdy11cC1sb25nLFxuICBcImxvbmctYXJyb3ctdXBcIjogJGZhLXZhci1sb25nLWFycm93LXVwLFxuICBcImZpcmUtZmxhbWUtc2ltcGxlXCI6ICRmYS12YXItZmlyZS1mbGFtZS1zaW1wbGUsXG4gIFwiYnVyblwiOiAkZmEtdmFyLWJ1cm4sXG4gIFwicGVyc29uXCI6ICRmYS12YXItcGVyc29uLFxuICBcIm1hbGVcIjogJGZhLXZhci1tYWxlLFxuICBcImxhcHRvcFwiOiAkZmEtdmFyLWxhcHRvcCxcbiAgXCJmaWxlLWNzdlwiOiAkZmEtdmFyLWZpbGUtY3N2LFxuICBcIm1lbm9yYWhcIjogJGZhLXZhci1tZW5vcmFoLFxuICBcInRydWNrLXBsYW5lXCI6ICRmYS12YXItdHJ1Y2stcGxhbmUsXG4gIFwicmVjb3JkLXZpbnlsXCI6ICRmYS12YXItcmVjb3JkLXZpbnlsLFxuICBcImZhY2UtZ3Jpbi1zdGFyc1wiOiAkZmEtdmFyLWZhY2UtZ3Jpbi1zdGFycyxcbiAgXCJncmluLXN0YXJzXCI6ICRmYS12YXItZ3Jpbi1zdGFycyxcbiAgXCJib25nXCI6ICRmYS12YXItYm9uZyxcbiAgXCJzcGFnaGV0dGktbW9uc3Rlci1mbHlpbmdcIjogJGZhLXZhci1zcGFnaGV0dGktbW9uc3Rlci1mbHlpbmcsXG4gIFwicGFzdGFmYXJpYW5pc21cIjogJGZhLXZhci1wYXN0YWZhcmlhbmlzbSxcbiAgXCJhcnJvdy1kb3duLXVwLWFjcm9zcy1saW5lXCI6ICRmYS12YXItYXJyb3ctZG93bi11cC1hY3Jvc3MtbGluZSxcbiAgXCJzcG9vblwiOiAkZmEtdmFyLXNwb29uLFxuICBcInV0ZW5zaWwtc3Bvb25cIjogJGZhLXZhci11dGVuc2lsLXNwb29uLFxuICBcImphci13aGVhdFwiOiAkZmEtdmFyLWphci13aGVhdCxcbiAgXCJlbnZlbG9wZXMtYnVsa1wiOiAkZmEtdmFyLWVudmVsb3Blcy1idWxrLFxuICBcIm1haWwtYnVsa1wiOiAkZmEtdmFyLW1haWwtYnVsayxcbiAgXCJmaWxlLWNpcmNsZS1leGNsYW1hdGlvblwiOiAkZmEtdmFyLWZpbGUtY2lyY2xlLWV4Y2xhbWF0aW9uLFxuICBcImNpcmNsZS1oXCI6ICRmYS12YXItY2lyY2xlLWgsXG4gIFwiaG9zcGl0YWwtc3ltYm9sXCI6ICRmYS12YXItaG9zcGl0YWwtc3ltYm9sLFxuICBcInBhZ2VyXCI6ICRmYS12YXItcGFnZXIsXG4gIFwiYWRkcmVzcy1ib29rXCI6ICRmYS12YXItYWRkcmVzcy1ib29rLFxuICBcImNvbnRhY3QtYm9va1wiOiAkZmEtdmFyLWNvbnRhY3QtYm9vayxcbiAgXCJzdHJpa2V0aHJvdWdoXCI6ICRmYS12YXItc3RyaWtldGhyb3VnaCxcbiAgXCJrXCI6ICRmYS12YXItayxcbiAgXCJsYW5kbWFyay1mbGFnXCI6ICRmYS12YXItbGFuZG1hcmstZmxhZyxcbiAgXCJwZW5jaWxcIjogJGZhLXZhci1wZW5jaWwsXG4gIFwicGVuY2lsLWFsdFwiOiAkZmEtdmFyLXBlbmNpbC1hbHQsXG4gIFwiYmFja3dhcmRcIjogJGZhLXZhci1iYWNrd2FyZCxcbiAgXCJjYXJldC1yaWdodFwiOiAkZmEtdmFyLWNhcmV0LXJpZ2h0LFxuICBcImNvbW1lbnRzXCI6ICRmYS12YXItY29tbWVudHMsXG4gIFwicGFzdGVcIjogJGZhLXZhci1wYXN0ZSxcbiAgXCJmaWxlLWNsaXBib2FyZFwiOiAkZmEtdmFyLWZpbGUtY2xpcGJvYXJkLFxuICBcImNvZGUtcHVsbC1yZXF1ZXN0XCI6ICRmYS12YXItY29kZS1wdWxsLXJlcXVlc3QsXG4gIFwiY2xpcGJvYXJkLWxpc3RcIjogJGZhLXZhci1jbGlwYm9hcmQtbGlzdCxcbiAgXCJ0cnVjay1yYW1wLWJveFwiOiAkZmEtdmFyLXRydWNrLXJhbXAtYm94LFxuICBcInRydWNrLWxvYWRpbmdcIjogJGZhLXZhci10cnVjay1sb2FkaW5nLFxuICBcInVzZXItY2hlY2tcIjogJGZhLXZhci11c2VyLWNoZWNrLFxuICBcInZpYWwtdmlydXNcIjogJGZhLXZhci12aWFsLXZpcnVzLFxuICBcInNoZWV0LXBsYXN0aWNcIjogJGZhLXZhci1zaGVldC1wbGFzdGljLFxuICBcImJsb2dcIjogJGZhLXZhci1ibG9nLFxuICBcInVzZXItbmluamFcIjogJGZhLXZhci11c2VyLW5pbmphLFxuICBcInBlcnNvbi1hcnJvdy11cC1mcm9tLWxpbmVcIjogJGZhLXZhci1wZXJzb24tYXJyb3ctdXAtZnJvbS1saW5lLFxuICBcInNjcm9sbC10b3JhaFwiOiAkZmEtdmFyLXNjcm9sbC10b3JhaCxcbiAgXCJ0b3JhaFwiOiAkZmEtdmFyLXRvcmFoLFxuICBcImJyb29tLWJhbGxcIjogJGZhLXZhci1icm9vbS1iYWxsLFxuICBcInF1aWRkaXRjaFwiOiAkZmEtdmFyLXF1aWRkaXRjaCxcbiAgXCJxdWlkZGl0Y2gtYnJvb20tYmFsbFwiOiAkZmEtdmFyLXF1aWRkaXRjaC1icm9vbS1iYWxsLFxuICBcInRvZ2dsZS1vZmZcIjogJGZhLXZhci10b2dnbGUtb2ZmLFxuICBcImJveC1hcmNoaXZlXCI6ICRmYS12YXItYm94LWFyY2hpdmUsXG4gIFwiYXJjaGl2ZVwiOiAkZmEtdmFyLWFyY2hpdmUsXG4gIFwicGVyc29uLWRyb3duaW5nXCI6ICRmYS12YXItcGVyc29uLWRyb3duaW5nLFxuICBcImFycm93LWRvd24tOS0xXCI6ICRmYS12YXItYXJyb3ctZG93bi05LTEsXG4gIFwic29ydC1udW1lcmljLWRlc2NcIjogJGZhLXZhci1zb3J0LW51bWVyaWMtZGVzYyxcbiAgXCJzb3J0LW51bWVyaWMtZG93bi1hbHRcIjogJGZhLXZhci1zb3J0LW51bWVyaWMtZG93bi1hbHQsXG4gIFwiZmFjZS1ncmluLXRvbmd1ZS1zcXVpbnRcIjogJGZhLXZhci1mYWNlLWdyaW4tdG9uZ3VlLXNxdWludCxcbiAgXCJncmluLXRvbmd1ZS1zcXVpbnRcIjogJGZhLXZhci1ncmluLXRvbmd1ZS1zcXVpbnQsXG4gIFwic3ByYXktY2FuXCI6ICRmYS12YXItc3ByYXktY2FuLFxuICBcInRydWNrLW1vbnN0ZXJcIjogJGZhLXZhci10cnVjay1tb25zdGVyLFxuICBcIndcIjogJGZhLXZhci13LFxuICBcImVhcnRoLWFmcmljYVwiOiAkZmEtdmFyLWVhcnRoLWFmcmljYSxcbiAgXCJnbG9iZS1hZnJpY2FcIjogJGZhLXZhci1nbG9iZS1hZnJpY2EsXG4gIFwicmFpbmJvd1wiOiAkZmEtdmFyLXJhaW5ib3csXG4gIFwiY2lyY2xlLW5vdGNoXCI6ICRmYS12YXItY2lyY2xlLW5vdGNoLFxuICBcInRhYmxldC1zY3JlZW4tYnV0dG9uXCI6ICRmYS12YXItdGFibGV0LXNjcmVlbi1idXR0b24sXG4gIFwidGFibGV0LWFsdFwiOiAkZmEtdmFyLXRhYmxldC1hbHQsXG4gIFwicGF3XCI6ICRmYS12YXItcGF3LFxuICBcImNsb3VkXCI6ICRmYS12YXItY2xvdWQsXG4gIFwidHJvd2VsLWJyaWNrc1wiOiAkZmEtdmFyLXRyb3dlbC1icmlja3MsXG4gIFwiZmFjZS1mbHVzaGVkXCI6ICRmYS12YXItZmFjZS1mbHVzaGVkLFxuICBcImZsdXNoZWRcIjogJGZhLXZhci1mbHVzaGVkLFxuICBcImhvc3BpdGFsLXVzZXJcIjogJGZhLXZhci1ob3NwaXRhbC11c2VyLFxuICBcInRlbnQtYXJyb3ctbGVmdC1yaWdodFwiOiAkZmEtdmFyLXRlbnQtYXJyb3ctbGVmdC1yaWdodCxcbiAgXCJnYXZlbFwiOiAkZmEtdmFyLWdhdmVsLFxuICBcImxlZ2FsXCI6ICRmYS12YXItbGVnYWwsXG4gIFwiYmlub2N1bGFyc1wiOiAkZmEtdmFyLWJpbm9jdWxhcnMsXG4gIFwibWljcm9waG9uZS1zbGFzaFwiOiAkZmEtdmFyLW1pY3JvcGhvbmUtc2xhc2gsXG4gIFwiYm94LXRpc3N1ZVwiOiAkZmEtdmFyLWJveC10aXNzdWUsXG4gIFwibW90b3JjeWNsZVwiOiAkZmEtdmFyLW1vdG9yY3ljbGUsXG4gIFwiYmVsbC1jb25jaWVyZ2VcIjogJGZhLXZhci1iZWxsLWNvbmNpZXJnZSxcbiAgXCJjb25jaWVyZ2UtYmVsbFwiOiAkZmEtdmFyLWNvbmNpZXJnZS1iZWxsLFxuICBcInBlbi1ydWxlclwiOiAkZmEtdmFyLXBlbi1ydWxlcixcbiAgXCJwZW5jaWwtcnVsZXJcIjogJGZhLXZhci1wZW5jaWwtcnVsZXIsXG4gIFwicGVvcGxlLWFycm93c1wiOiAkZmEtdmFyLXBlb3BsZS1hcnJvd3MsXG4gIFwicGVvcGxlLWFycm93cy1sZWZ0LXJpZ2h0XCI6ICRmYS12YXItcGVvcGxlLWFycm93cy1sZWZ0LXJpZ2h0LFxuICBcIm1hcnMtYW5kLXZlbnVzLWJ1cnN0XCI6ICRmYS12YXItbWFycy1hbmQtdmVudXMtYnVyc3QsXG4gIFwic3F1YXJlLWNhcmV0LXJpZ2h0XCI6ICRmYS12YXItc3F1YXJlLWNhcmV0LXJpZ2h0LFxuICBcImNhcmV0LXNxdWFyZS1yaWdodFwiOiAkZmEtdmFyLWNhcmV0LXNxdWFyZS1yaWdodCxcbiAgXCJzY2lzc29yc1wiOiAkZmEtdmFyLXNjaXNzb3JzLFxuICBcImN1dFwiOiAkZmEtdmFyLWN1dCxcbiAgXCJzdW4tcGxhbnQtd2lsdFwiOiAkZmEtdmFyLXN1bi1wbGFudC13aWx0LFxuICBcInRvaWxldHMtcG9ydGFibGVcIjogJGZhLXZhci10b2lsZXRzLXBvcnRhYmxlLFxuICBcImhvY2tleS1wdWNrXCI6ICRmYS12YXItaG9ja2V5LXB1Y2ssXG4gIFwidGFibGVcIjogJGZhLXZhci10YWJsZSxcbiAgXCJtYWduaWZ5aW5nLWdsYXNzLWFycm93LXJpZ2h0XCI6ICRmYS12YXItbWFnbmlmeWluZy1nbGFzcy1hcnJvdy1yaWdodCxcbiAgXCJ0YWNob2dyYXBoLWRpZ2l0YWxcIjogJGZhLXZhci10YWNob2dyYXBoLWRpZ2l0YWwsXG4gIFwiZGlnaXRhbC10YWNob2dyYXBoXCI6ICRmYS12YXItZGlnaXRhbC10YWNob2dyYXBoLFxuICBcInVzZXJzLXNsYXNoXCI6ICRmYS12YXItdXNlcnMtc2xhc2gsXG4gIFwiY2xvdmVyXCI6ICRmYS12YXItY2xvdmVyLFxuICBcInJlcGx5XCI6ICRmYS12YXItcmVwbHksXG4gIFwibWFpbC1yZXBseVwiOiAkZmEtdmFyLW1haWwtcmVwbHksXG4gIFwic3Rhci1hbmQtY3Jlc2NlbnRcIjogJGZhLXZhci1zdGFyLWFuZC1jcmVzY2VudCxcbiAgXCJob3VzZS1maXJlXCI6ICRmYS12YXItaG91c2UtZmlyZSxcbiAgXCJzcXVhcmUtbWludXNcIjogJGZhLXZhci1zcXVhcmUtbWludXMsXG4gIFwibWludXMtc3F1YXJlXCI6ICRmYS12YXItbWludXMtc3F1YXJlLFxuICBcImhlbGljb3B0ZXJcIjogJGZhLXZhci1oZWxpY29wdGVyLFxuICBcImNvbXBhc3NcIjogJGZhLXZhci1jb21wYXNzLFxuICBcInNxdWFyZS1jYXJldC1kb3duXCI6ICRmYS12YXItc3F1YXJlLWNhcmV0LWRvd24sXG4gIFwiY2FyZXQtc3F1YXJlLWRvd25cIjogJGZhLXZhci1jYXJldC1zcXVhcmUtZG93bixcbiAgXCJmaWxlLWNpcmNsZS1xdWVzdGlvblwiOiAkZmEtdmFyLWZpbGUtY2lyY2xlLXF1ZXN0aW9uLFxuICBcImxhcHRvcC1jb2RlXCI6ICRmYS12YXItbGFwdG9wLWNvZGUsXG4gIFwic3dhdGNoYm9va1wiOiAkZmEtdmFyLXN3YXRjaGJvb2ssXG4gIFwicHJlc2NyaXB0aW9uLWJvdHRsZVwiOiAkZmEtdmFyLXByZXNjcmlwdGlvbi1ib3R0bGUsXG4gIFwiYmFyc1wiOiAkZmEtdmFyLWJhcnMsXG4gIFwibmF2aWNvblwiOiAkZmEtdmFyLW5hdmljb24sXG4gIFwicGVvcGxlLWdyb3VwXCI6ICRmYS12YXItcGVvcGxlLWdyb3VwLFxuICBcImhvdXJnbGFzcy1lbmRcIjogJGZhLXZhci1ob3VyZ2xhc3MtZW5kLFxuICBcImhvdXJnbGFzcy0zXCI6ICRmYS12YXItaG91cmdsYXNzLTMsXG4gIFwiaGVhcnQtY3JhY2tcIjogJGZhLXZhci1oZWFydC1jcmFjayxcbiAgXCJoZWFydC1icm9rZW5cIjogJGZhLXZhci1oZWFydC1icm9rZW4sXG4gIFwic3F1YXJlLXVwLXJpZ2h0XCI6ICRmYS12YXItc3F1YXJlLXVwLXJpZ2h0LFxuICBcImV4dGVybmFsLWxpbmstc3F1YXJlLWFsdFwiOiAkZmEtdmFyLWV4dGVybmFsLWxpbmstc3F1YXJlLWFsdCxcbiAgXCJmYWNlLWtpc3MtYmVhbVwiOiAkZmEtdmFyLWZhY2Uta2lzcy1iZWFtLFxuICBcImtpc3MtYmVhbVwiOiAkZmEtdmFyLWtpc3MtYmVhbSxcbiAgXCJmaWxtXCI6ICRmYS12YXItZmlsbSxcbiAgXCJydWxlci1ob3Jpem9udGFsXCI6ICRmYS12YXItcnVsZXItaG9yaXpvbnRhbCxcbiAgXCJwZW9wbGUtcm9iYmVyeVwiOiAkZmEtdmFyLXBlb3BsZS1yb2JiZXJ5LFxuICBcImxpZ2h0YnVsYlwiOiAkZmEtdmFyLWxpZ2h0YnVsYixcbiAgXCJjYXJldC1sZWZ0XCI6ICRmYS12YXItY2FyZXQtbGVmdCxcbiAgXCJjaXJjbGUtZXhjbGFtYXRpb25cIjogJGZhLXZhci1jaXJjbGUtZXhjbGFtYXRpb24sXG4gIFwiZXhjbGFtYXRpb24tY2lyY2xlXCI6ICRmYS12YXItZXhjbGFtYXRpb24tY2lyY2xlLFxuICBcInNjaG9vbC1jaXJjbGUteG1hcmtcIjogJGZhLXZhci1zY2hvb2wtY2lyY2xlLXhtYXJrLFxuICBcImFycm93LXJpZ2h0LWZyb20tYnJhY2tldFwiOiAkZmEtdmFyLWFycm93LXJpZ2h0LWZyb20tYnJhY2tldCxcbiAgXCJzaWduLW91dFwiOiAkZmEtdmFyLXNpZ24tb3V0LFxuICBcImNpcmNsZS1jaGV2cm9uLWRvd25cIjogJGZhLXZhci1jaXJjbGUtY2hldnJvbi1kb3duLFxuICBcImNoZXZyb24tY2lyY2xlLWRvd25cIjogJGZhLXZhci1jaGV2cm9uLWNpcmNsZS1kb3duLFxuICBcInVubG9jay1rZXlob2xlXCI6ICRmYS12YXItdW5sb2NrLWtleWhvbGUsXG4gIFwidW5sb2NrLWFsdFwiOiAkZmEtdmFyLXVubG9jay1hbHQsXG4gIFwiY2xvdWQtc2hvd2Vycy1oZWF2eVwiOiAkZmEtdmFyLWNsb3VkLXNob3dlcnMtaGVhdnksXG4gIFwiaGVhZHBob25lcy1zaW1wbGVcIjogJGZhLXZhci1oZWFkcGhvbmVzLXNpbXBsZSxcbiAgXCJoZWFkcGhvbmVzLWFsdFwiOiAkZmEtdmFyLWhlYWRwaG9uZXMtYWx0LFxuICBcInNpdGVtYXBcIjogJGZhLXZhci1zaXRlbWFwLFxuICBcImNpcmNsZS1kb2xsYXItdG8tc2xvdFwiOiAkZmEtdmFyLWNpcmNsZS1kb2xsYXItdG8tc2xvdCxcbiAgXCJkb25hdGVcIjogJGZhLXZhci1kb25hdGUsXG4gIFwibWVtb3J5XCI6ICRmYS12YXItbWVtb3J5LFxuICBcInJvYWQtc3Bpa2VzXCI6ICRmYS12YXItcm9hZC1zcGlrZXMsXG4gIFwiZmlyZS1idXJuZXJcIjogJGZhLXZhci1maXJlLWJ1cm5lcixcbiAgXCJmbGFnXCI6ICRmYS12YXItZmxhZyxcbiAgXCJoYW51a2lhaFwiOiAkZmEtdmFyLWhhbnVraWFoLFxuICBcImZlYXRoZXJcIjogJGZhLXZhci1mZWF0aGVyLFxuICBcInZvbHVtZS1sb3dcIjogJGZhLXZhci12b2x1bWUtbG93LFxuICBcInZvbHVtZS1kb3duXCI6ICRmYS12YXItdm9sdW1lLWRvd24sXG4gIFwiY29tbWVudC1zbGFzaFwiOiAkZmEtdmFyLWNvbW1lbnQtc2xhc2gsXG4gIFwiY2xvdWQtc3VuLXJhaW5cIjogJGZhLXZhci1jbG91ZC1zdW4tcmFpbixcbiAgXCJjb21wcmVzc1wiOiAkZmEtdmFyLWNvbXByZXNzLFxuICBcIndoZWF0LWF3blwiOiAkZmEtdmFyLXdoZWF0LWF3bixcbiAgXCJ3aGVhdC1hbHRcIjogJGZhLXZhci13aGVhdC1hbHQsXG4gIFwiYW5raFwiOiAkZmEtdmFyLWFua2gsXG4gIFwiaGFuZHMtaG9sZGluZy1jaGlsZFwiOiAkZmEtdmFyLWhhbmRzLWhvbGRpbmctY2hpbGQsXG4gIFwiYXN0ZXJpc2tcIjogJGZhLXZhci1hc3RlcmlzayxcbiAgXCJzcXVhcmUtY2hlY2tcIjogJGZhLXZhci1zcXVhcmUtY2hlY2ssXG4gIFwiY2hlY2stc3F1YXJlXCI6ICRmYS12YXItY2hlY2stc3F1YXJlLFxuICBcInBlc2V0YS1zaWduXCI6ICRmYS12YXItcGVzZXRhLXNpZ24sXG4gIFwiaGVhZGluZ1wiOiAkZmEtdmFyLWhlYWRpbmcsXG4gIFwiaGVhZGVyXCI6ICRmYS12YXItaGVhZGVyLFxuICBcImdob3N0XCI6ICRmYS12YXItZ2hvc3QsXG4gIFwibGlzdFwiOiAkZmEtdmFyLWxpc3QsXG4gIFwibGlzdC1zcXVhcmVzXCI6ICRmYS12YXItbGlzdC1zcXVhcmVzLFxuICBcInNxdWFyZS1waG9uZS1mbGlwXCI6ICRmYS12YXItc3F1YXJlLXBob25lLWZsaXAsXG4gIFwicGhvbmUtc3F1YXJlLWFsdFwiOiAkZmEtdmFyLXBob25lLXNxdWFyZS1hbHQsXG4gIFwiY2FydC1wbHVzXCI6ICRmYS12YXItY2FydC1wbHVzLFxuICBcImdhbWVwYWRcIjogJGZhLXZhci1nYW1lcGFkLFxuICBcImNpcmNsZS1kb3RcIjogJGZhLXZhci1jaXJjbGUtZG90LFxuICBcImRvdC1jaXJjbGVcIjogJGZhLXZhci1kb3QtY2lyY2xlLFxuICBcImZhY2UtZGl6enlcIjogJGZhLXZhci1mYWNlLWRpenp5LFxuICBcImRpenp5XCI6ICRmYS12YXItZGl6enksXG4gIFwiZWdnXCI6ICRmYS12YXItZWdnLFxuICBcImhvdXNlLW1lZGljYWwtY2lyY2xlLXhtYXJrXCI6ICRmYS12YXItaG91c2UtbWVkaWNhbC1jaXJjbGUteG1hcmssXG4gIFwiY2FtcGdyb3VuZFwiOiAkZmEtdmFyLWNhbXBncm91bmQsXG4gIFwiZm9sZGVyLXBsdXNcIjogJGZhLXZhci1mb2xkZXItcGx1cyxcbiAgXCJmdXRib2xcIjogJGZhLXZhci1mdXRib2wsXG4gIFwiZnV0Ym9sLWJhbGxcIjogJGZhLXZhci1mdXRib2wtYmFsbCxcbiAgXCJzb2NjZXItYmFsbFwiOiAkZmEtdmFyLXNvY2Nlci1iYWxsLFxuICBcInBhaW50YnJ1c2hcIjogJGZhLXZhci1wYWludGJydXNoLFxuICBcInBhaW50LWJydXNoXCI6ICRmYS12YXItcGFpbnQtYnJ1c2gsXG4gIFwibG9ja1wiOiAkZmEtdmFyLWxvY2ssXG4gIFwiZ2FzLXB1bXBcIjogJGZhLXZhci1nYXMtcHVtcCxcbiAgXCJob3QtdHViLXBlcnNvblwiOiAkZmEtdmFyLWhvdC10dWItcGVyc29uLFxuICBcImhvdC10dWJcIjogJGZhLXZhci1ob3QtdHViLFxuICBcIm1hcC1sb2NhdGlvblwiOiAkZmEtdmFyLW1hcC1sb2NhdGlvbixcbiAgXCJtYXAtbWFya2VkXCI6ICRmYS12YXItbWFwLW1hcmtlZCxcbiAgXCJob3VzZS1mbG9vZC13YXRlclwiOiAkZmEtdmFyLWhvdXNlLWZsb29kLXdhdGVyLFxuICBcInRyZWVcIjogJGZhLXZhci10cmVlLFxuICBcImJyaWRnZS1sb2NrXCI6ICRmYS12YXItYnJpZGdlLWxvY2ssXG4gIFwic2Fjay1kb2xsYXJcIjogJGZhLXZhci1zYWNrLWRvbGxhcixcbiAgXCJwZW4tdG8tc3F1YXJlXCI6ICRmYS12YXItcGVuLXRvLXNxdWFyZSxcbiAgXCJlZGl0XCI6ICRmYS12YXItZWRpdCxcbiAgXCJjYXItc2lkZVwiOiAkZmEtdmFyLWNhci1zaWRlLFxuICBcInNoYXJlLW5vZGVzXCI6ICRmYS12YXItc2hhcmUtbm9kZXMsXG4gIFwic2hhcmUtYWx0XCI6ICRmYS12YXItc2hhcmUtYWx0LFxuICBcImhlYXJ0LWNpcmNsZS1taW51c1wiOiAkZmEtdmFyLWhlYXJ0LWNpcmNsZS1taW51cyxcbiAgXCJob3VyZ2xhc3MtaGFsZlwiOiAkZmEtdmFyLWhvdXJnbGFzcy1oYWxmLFxuICBcImhvdXJnbGFzcy0yXCI6ICRmYS12YXItaG91cmdsYXNzLTIsXG4gIFwibWljcm9zY29wZVwiOiAkZmEtdmFyLW1pY3Jvc2NvcGUsXG4gIFwic2lua1wiOiAkZmEtdmFyLXNpbmssXG4gIFwiYmFnLXNob3BwaW5nXCI6ICRmYS12YXItYmFnLXNob3BwaW5nLFxuICBcInNob3BwaW5nLWJhZ1wiOiAkZmEtdmFyLXNob3BwaW5nLWJhZyxcbiAgXCJhcnJvdy1kb3duLXotYVwiOiAkZmEtdmFyLWFycm93LWRvd24tei1hLFxuICBcInNvcnQtYWxwaGEtZGVzY1wiOiAkZmEtdmFyLXNvcnQtYWxwaGEtZGVzYyxcbiAgXCJzb3J0LWFscGhhLWRvd24tYWx0XCI6ICRmYS12YXItc29ydC1hbHBoYS1kb3duLWFsdCxcbiAgXCJtaXR0ZW5cIjogJGZhLXZhci1taXR0ZW4sXG4gIFwicGVyc29uLXJheXNcIjogJGZhLXZhci1wZXJzb24tcmF5cyxcbiAgXCJ1c2Vyc1wiOiAkZmEtdmFyLXVzZXJzLFxuICBcImV5ZS1zbGFzaFwiOiAkZmEtdmFyLWV5ZS1zbGFzaCxcbiAgXCJmbGFzay12aWFsXCI6ICRmYS12YXItZmxhc2stdmlhbCxcbiAgXCJoYW5kXCI6ICRmYS12YXItaGFuZCxcbiAgXCJoYW5kLXBhcGVyXCI6ICRmYS12YXItaGFuZC1wYXBlcixcbiAgXCJvbVwiOiAkZmEtdmFyLW9tLFxuICBcIndvcm1cIjogJGZhLXZhci13b3JtLFxuICBcImhvdXNlLWNpcmNsZS14bWFya1wiOiAkZmEtdmFyLWhvdXNlLWNpcmNsZS14bWFyayxcbiAgXCJwbHVnXCI6ICRmYS12YXItcGx1ZyxcbiAgXCJjaGV2cm9uLXVwXCI6ICRmYS12YXItY2hldnJvbi11cCxcbiAgXCJoYW5kLXNwb2NrXCI6ICRmYS12YXItaGFuZC1zcG9jayxcbiAgXCJzdG9wd2F0Y2hcIjogJGZhLXZhci1zdG9wd2F0Y2gsXG4gIFwiZmFjZS1raXNzXCI6ICRmYS12YXItZmFjZS1raXNzLFxuICBcImtpc3NcIjogJGZhLXZhci1raXNzLFxuICBcImJyaWRnZS1jaXJjbGUteG1hcmtcIjogJGZhLXZhci1icmlkZ2UtY2lyY2xlLXhtYXJrLFxuICBcImZhY2UtZ3Jpbi10b25ndWVcIjogJGZhLXZhci1mYWNlLWdyaW4tdG9uZ3VlLFxuICBcImdyaW4tdG9uZ3VlXCI6ICRmYS12YXItZ3Jpbi10b25ndWUsXG4gIFwiY2hlc3MtYmlzaG9wXCI6ICRmYS12YXItY2hlc3MtYmlzaG9wLFxuICBcImZhY2UtZ3Jpbi13aW5rXCI6ICRmYS12YXItZmFjZS1ncmluLXdpbmssXG4gIFwiZ3Jpbi13aW5rXCI6ICRmYS12YXItZ3Jpbi13aW5rLFxuICBcImVhci1kZWFmXCI6ICRmYS12YXItZWFyLWRlYWYsXG4gIFwiZGVhZlwiOiAkZmEtdmFyLWRlYWYsXG4gIFwiZGVhZm5lc3NcIjogJGZhLXZhci1kZWFmbmVzcyxcbiAgXCJoYXJkLW9mLWhlYXJpbmdcIjogJGZhLXZhci1oYXJkLW9mLWhlYXJpbmcsXG4gIFwicm9hZC1jaXJjbGUtY2hlY2tcIjogJGZhLXZhci1yb2FkLWNpcmNsZS1jaGVjayxcbiAgXCJkaWNlLWZpdmVcIjogJGZhLXZhci1kaWNlLWZpdmUsXG4gIFwic3F1YXJlLXJzc1wiOiAkZmEtdmFyLXNxdWFyZS1yc3MsXG4gIFwicnNzLXNxdWFyZVwiOiAkZmEtdmFyLXJzcy1zcXVhcmUsXG4gIFwibGFuZC1taW5lLW9uXCI6ICRmYS12YXItbGFuZC1taW5lLW9uLFxuICBcImktY3Vyc29yXCI6ICRmYS12YXItaS1jdXJzb3IsXG4gIFwic3RhbXBcIjogJGZhLXZhci1zdGFtcCxcbiAgXCJzdGFpcnNcIjogJGZhLXZhci1zdGFpcnMsXG4gIFwiaVwiOiAkZmEtdmFyLWksXG4gIFwiaHJ5dm5pYS1zaWduXCI6ICRmYS12YXItaHJ5dm5pYS1zaWduLFxuICBcImhyeXZuaWFcIjogJGZhLXZhci1ocnl2bmlhLFxuICBcInBpbGxzXCI6ICRmYS12YXItcGlsbHMsXG4gIFwiZmFjZS1ncmluLXdpZGVcIjogJGZhLXZhci1mYWNlLWdyaW4td2lkZSxcbiAgXCJncmluLWFsdFwiOiAkZmEtdmFyLWdyaW4tYWx0LFxuICBcInRvb3RoXCI6ICRmYS12YXItdG9vdGgsXG4gIFwidlwiOiAkZmEtdmFyLXYsXG4gIFwiYmFuZ2xhZGVzaGktdGFrYS1zaWduXCI6ICRmYS12YXItYmFuZ2xhZGVzaGktdGFrYS1zaWduLFxuICBcImJpY3ljbGVcIjogJGZhLXZhci1iaWN5Y2xlLFxuICBcInN0YWZmLXNuYWtlXCI6ICRmYS12YXItc3RhZmYtc25ha2UsXG4gIFwicm9kLWFzY2xlcGl1c1wiOiAkZmEtdmFyLXJvZC1hc2NsZXBpdXMsXG4gIFwicm9kLXNuYWtlXCI6ICRmYS12YXItcm9kLXNuYWtlLFxuICBcInN0YWZmLWFlc2N1bGFwaXVzXCI6ICRmYS12YXItc3RhZmYtYWVzY3VsYXBpdXMsXG4gIFwiaGVhZC1zaWRlLWNvdWdoLXNsYXNoXCI6ICRmYS12YXItaGVhZC1zaWRlLWNvdWdoLXNsYXNoLFxuICBcInRydWNrLW1lZGljYWxcIjogJGZhLXZhci10cnVjay1tZWRpY2FsLFxuICBcImFtYnVsYW5jZVwiOiAkZmEtdmFyLWFtYnVsYW5jZSxcbiAgXCJ3aGVhdC1hd24tY2lyY2xlLWV4Y2xhbWF0aW9uXCI6ICRmYS12YXItd2hlYXQtYXduLWNpcmNsZS1leGNsYW1hdGlvbixcbiAgXCJzbm93bWFuXCI6ICRmYS12YXItc25vd21hbixcbiAgXCJtb3J0YXItcGVzdGxlXCI6ICRmYS12YXItbW9ydGFyLXBlc3RsZSxcbiAgXCJyb2FkLWJhcnJpZXJcIjogJGZhLXZhci1yb2FkLWJhcnJpZXIsXG4gIFwic2Nob29sXCI6ICRmYS12YXItc2Nob29sLFxuICBcImlnbG9vXCI6ICRmYS12YXItaWdsb28sXG4gIFwiam9pbnRcIjogJGZhLXZhci1qb2ludCxcbiAgXCJhbmdsZS1yaWdodFwiOiAkZmEtdmFyLWFuZ2xlLXJpZ2h0LFxuICBcImhvcnNlXCI6ICRmYS12YXItaG9yc2UsXG4gIFwicVwiOiAkZmEtdmFyLXEsXG4gIFwiZ1wiOiAkZmEtdmFyLWcsXG4gIFwibm90ZXMtbWVkaWNhbFwiOiAkZmEtdmFyLW5vdGVzLW1lZGljYWwsXG4gIFwidGVtcGVyYXR1cmUtaGFsZlwiOiAkZmEtdmFyLXRlbXBlcmF0dXJlLWhhbGYsXG4gIFwidGVtcGVyYXR1cmUtMlwiOiAkZmEtdmFyLXRlbXBlcmF0dXJlLTIsXG4gIFwidGhlcm1vbWV0ZXItMlwiOiAkZmEtdmFyLXRoZXJtb21ldGVyLTIsXG4gIFwidGhlcm1vbWV0ZXItaGFsZlwiOiAkZmEtdmFyLXRoZXJtb21ldGVyLWhhbGYsXG4gIFwiZG9uZy1zaWduXCI6ICRmYS12YXItZG9uZy1zaWduLFxuICBcImNhcHN1bGVzXCI6ICRmYS12YXItY2Fwc3VsZXMsXG4gIFwicG9vLXN0b3JtXCI6ICRmYS12YXItcG9vLXN0b3JtLFxuICBcInBvby1ib2x0XCI6ICRmYS12YXItcG9vLWJvbHQsXG4gIFwiZmFjZS1mcm93bi1vcGVuXCI6ICRmYS12YXItZmFjZS1mcm93bi1vcGVuLFxuICBcImZyb3duLW9wZW5cIjogJGZhLXZhci1mcm93bi1vcGVuLFxuICBcImhhbmQtcG9pbnQtdXBcIjogJGZhLXZhci1oYW5kLXBvaW50LXVwLFxuICBcIm1vbmV5LWJpbGxcIjogJGZhLXZhci1tb25leS1iaWxsLFxuICBcImJvb2ttYXJrXCI6ICRmYS12YXItYm9va21hcmssXG4gIFwiYWxpZ24tanVzdGlmeVwiOiAkZmEtdmFyLWFsaWduLWp1c3RpZnksXG4gIFwidW1icmVsbGEtYmVhY2hcIjogJGZhLXZhci11bWJyZWxsYS1iZWFjaCxcbiAgXCJoZWxtZXQtdW5cIjogJGZhLXZhci1oZWxtZXQtdW4sXG4gIFwiYnVsbHNleWVcIjogJGZhLXZhci1idWxsc2V5ZSxcbiAgXCJiYWNvblwiOiAkZmEtdmFyLWJhY29uLFxuICBcImhhbmQtcG9pbnQtZG93blwiOiAkZmEtdmFyLWhhbmQtcG9pbnQtZG93bixcbiAgXCJhcnJvdy11cC1mcm9tLWJyYWNrZXRcIjogJGZhLXZhci1hcnJvdy11cC1mcm9tLWJyYWNrZXQsXG4gIFwiZm9sZGVyXCI6ICRmYS12YXItZm9sZGVyLFxuICBcImZvbGRlci1ibGFua1wiOiAkZmEtdmFyLWZvbGRlci1ibGFuayxcbiAgXCJmaWxlLXdhdmVmb3JtXCI6ICRmYS12YXItZmlsZS13YXZlZm9ybSxcbiAgXCJmaWxlLW1lZGljYWwtYWx0XCI6ICRmYS12YXItZmlsZS1tZWRpY2FsLWFsdCxcbiAgXCJyYWRpYXRpb25cIjogJGZhLXZhci1yYWRpYXRpb24sXG4gIFwiY2hhcnQtc2ltcGxlXCI6ICRmYS12YXItY2hhcnQtc2ltcGxlLFxuICBcIm1hcnMtc3Ryb2tlXCI6ICRmYS12YXItbWFycy1zdHJva2UsXG4gIFwidmlhbFwiOiAkZmEtdmFyLXZpYWwsXG4gIFwiZ2F1Z2VcIjogJGZhLXZhci1nYXVnZSxcbiAgXCJkYXNoYm9hcmRcIjogJGZhLXZhci1kYXNoYm9hcmQsXG4gIFwiZ2F1Z2UtbWVkXCI6ICRmYS12YXItZ2F1Z2UtbWVkLFxuICBcInRhY2hvbWV0ZXItYWx0LWF2ZXJhZ2VcIjogJGZhLXZhci10YWNob21ldGVyLWFsdC1hdmVyYWdlLFxuICBcIndhbmQtbWFnaWMtc3BhcmtsZXNcIjogJGZhLXZhci13YW5kLW1hZ2ljLXNwYXJrbGVzLFxuICBcIm1hZ2ljLXdhbmQtc3BhcmtsZXNcIjogJGZhLXZhci1tYWdpYy13YW5kLXNwYXJrbGVzLFxuICBcImVcIjogJGZhLXZhci1lLFxuICBcInBlbi1jbGlwXCI6ICRmYS12YXItcGVuLWNsaXAsXG4gIFwicGVuLWFsdFwiOiAkZmEtdmFyLXBlbi1hbHQsXG4gIFwiYnJpZGdlLWNpcmNsZS1leGNsYW1hdGlvblwiOiAkZmEtdmFyLWJyaWRnZS1jaXJjbGUtZXhjbGFtYXRpb24sXG4gIFwidXNlclwiOiAkZmEtdmFyLXVzZXIsXG4gIFwic2Nob29sLWNpcmNsZS1jaGVja1wiOiAkZmEtdmFyLXNjaG9vbC1jaXJjbGUtY2hlY2ssXG4gIFwiZHVtcHN0ZXJcIjogJGZhLXZhci1kdW1wc3RlcixcbiAgXCJ2YW4tc2h1dHRsZVwiOiAkZmEtdmFyLXZhbi1zaHV0dGxlLFxuICBcInNodXR0bGUtdmFuXCI6ICRmYS12YXItc2h1dHRsZS12YW4sXG4gIFwiYnVpbGRpbmctdXNlclwiOiAkZmEtdmFyLWJ1aWxkaW5nLXVzZXIsXG4gIFwic3F1YXJlLWNhcmV0LWxlZnRcIjogJGZhLXZhci1zcXVhcmUtY2FyZXQtbGVmdCxcbiAgXCJjYXJldC1zcXVhcmUtbGVmdFwiOiAkZmEtdmFyLWNhcmV0LXNxdWFyZS1sZWZ0LFxuICBcImhpZ2hsaWdodGVyXCI6ICRmYS12YXItaGlnaGxpZ2h0ZXIsXG4gIFwia2V5XCI6ICRmYS12YXIta2V5LFxuICBcImJ1bGxob3JuXCI6ICRmYS12YXItYnVsbGhvcm4sXG4gIFwiZ2xvYmVcIjogJGZhLXZhci1nbG9iZSxcbiAgXCJzeW5hZ29ndWVcIjogJGZhLXZhci1zeW5hZ29ndWUsXG4gIFwicGVyc29uLWhhbGYtZHJlc3NcIjogJGZhLXZhci1wZXJzb24taGFsZi1kcmVzcyxcbiAgXCJyb2FkLWJyaWRnZVwiOiAkZmEtdmFyLXJvYWQtYnJpZGdlLFxuICBcImxvY2F0aW9uLWFycm93XCI6ICRmYS12YXItbG9jYXRpb24tYXJyb3csXG4gIFwiY1wiOiAkZmEtdmFyLWMsXG4gIFwidGFibGV0LWJ1dHRvblwiOiAkZmEtdmFyLXRhYmxldC1idXR0b24sXG4gIFwiYnVpbGRpbmctbG9ja1wiOiAkZmEtdmFyLWJ1aWxkaW5nLWxvY2ssXG4gIFwicGl6emEtc2xpY2VcIjogJGZhLXZhci1waXp6YS1zbGljZSxcbiAgXCJtb25leS1iaWxsLXdhdmVcIjogJGZhLXZhci1tb25leS1iaWxsLXdhdmUsXG4gIFwiY2hhcnQtYXJlYVwiOiAkZmEtdmFyLWNoYXJ0LWFyZWEsXG4gIFwiYXJlYS1jaGFydFwiOiAkZmEtdmFyLWFyZWEtY2hhcnQsXG4gIFwiaG91c2UtZmxhZ1wiOiAkZmEtdmFyLWhvdXNlLWZsYWcsXG4gIFwicGVyc29uLWNpcmNsZS1taW51c1wiOiAkZmEtdmFyLXBlcnNvbi1jaXJjbGUtbWludXMsXG4gIFwiYmFuXCI6ICRmYS12YXItYmFuLFxuICBcImNhbmNlbFwiOiAkZmEtdmFyLWNhbmNlbCxcbiAgXCJjYW1lcmEtcm90YXRlXCI6ICRmYS12YXItY2FtZXJhLXJvdGF0ZSxcbiAgXCJzcHJheS1jYW4tc3BhcmtsZXNcIjogJGZhLXZhci1zcHJheS1jYW4tc3BhcmtsZXMsXG4gIFwiYWlyLWZyZXNoZW5lclwiOiAkZmEtdmFyLWFpci1mcmVzaGVuZXIsXG4gIFwic3RhclwiOiAkZmEtdmFyLXN0YXIsXG4gIFwicmVwZWF0XCI6ICRmYS12YXItcmVwZWF0LFxuICBcImNyb3NzXCI6ICRmYS12YXItY3Jvc3MsXG4gIFwiYm94XCI6ICRmYS12YXItYm94LFxuICBcInZlbnVzLW1hcnNcIjogJGZhLXZhci12ZW51cy1tYXJzLFxuICBcImFycm93LXBvaW50ZXJcIjogJGZhLXZhci1hcnJvdy1wb2ludGVyLFxuICBcIm1vdXNlLXBvaW50ZXJcIjogJGZhLXZhci1tb3VzZS1wb2ludGVyLFxuICBcIm1heGltaXplXCI6ICRmYS12YXItbWF4aW1pemUsXG4gIFwiZXhwYW5kLWFycm93cy1hbHRcIjogJGZhLXZhci1leHBhbmQtYXJyb3dzLWFsdCxcbiAgXCJjaGFyZ2luZy1zdGF0aW9uXCI6ICRmYS12YXItY2hhcmdpbmctc3RhdGlvbixcbiAgXCJzaGFwZXNcIjogJGZhLXZhci1zaGFwZXMsXG4gIFwidHJpYW5nbGUtY2lyY2xlLXNxdWFyZVwiOiAkZmEtdmFyLXRyaWFuZ2xlLWNpcmNsZS1zcXVhcmUsXG4gIFwic2h1ZmZsZVwiOiAkZmEtdmFyLXNodWZmbGUsXG4gIFwicmFuZG9tXCI6ICRmYS12YXItcmFuZG9tLFxuICBcInBlcnNvbi1ydW5uaW5nXCI6ICRmYS12YXItcGVyc29uLXJ1bm5pbmcsXG4gIFwicnVubmluZ1wiOiAkZmEtdmFyLXJ1bm5pbmcsXG4gIFwibW9iaWxlLXJldHJvXCI6ICRmYS12YXItbW9iaWxlLXJldHJvLFxuICBcImdyaXAtbGluZXMtdmVydGljYWxcIjogJGZhLXZhci1ncmlwLWxpbmVzLXZlcnRpY2FsLFxuICBcInNwaWRlclwiOiAkZmEtdmFyLXNwaWRlcixcbiAgXCJoYW5kcy1ib3VuZFwiOiAkZmEtdmFyLWhhbmRzLWJvdW5kLFxuICBcImZpbGUtaW52b2ljZS1kb2xsYXJcIjogJGZhLXZhci1maWxlLWludm9pY2UtZG9sbGFyLFxuICBcInBsYW5lLWNpcmNsZS1leGNsYW1hdGlvblwiOiAkZmEtdmFyLXBsYW5lLWNpcmNsZS1leGNsYW1hdGlvbixcbiAgXCJ4LXJheVwiOiAkZmEtdmFyLXgtcmF5LFxuICBcInNwZWxsLWNoZWNrXCI6ICRmYS12YXItc3BlbGwtY2hlY2ssXG4gIFwic2xhc2hcIjogJGZhLXZhci1zbGFzaCxcbiAgXCJjb21wdXRlci1tb3VzZVwiOiAkZmEtdmFyLWNvbXB1dGVyLW1vdXNlLFxuICBcIm1vdXNlXCI6ICRmYS12YXItbW91c2UsXG4gIFwiYXJyb3ctcmlnaHQtdG8tYnJhY2tldFwiOiAkZmEtdmFyLWFycm93LXJpZ2h0LXRvLWJyYWNrZXQsXG4gIFwic2lnbi1pblwiOiAkZmEtdmFyLXNpZ24taW4sXG4gIFwic2hvcC1zbGFzaFwiOiAkZmEtdmFyLXNob3Atc2xhc2gsXG4gIFwic3RvcmUtYWx0LXNsYXNoXCI6ICRmYS12YXItc3RvcmUtYWx0LXNsYXNoLFxuICBcInNlcnZlclwiOiAkZmEtdmFyLXNlcnZlcixcbiAgXCJ2aXJ1cy1jb3ZpZC1zbGFzaFwiOiAkZmEtdmFyLXZpcnVzLWNvdmlkLXNsYXNoLFxuICBcInNob3AtbG9ja1wiOiAkZmEtdmFyLXNob3AtbG9jayxcbiAgXCJob3VyZ2xhc3Mtc3RhcnRcIjogJGZhLXZhci1ob3VyZ2xhc3Mtc3RhcnQsXG4gIFwiaG91cmdsYXNzLTFcIjogJGZhLXZhci1ob3VyZ2xhc3MtMSxcbiAgXCJibGVuZGVyLXBob25lXCI6ICRmYS12YXItYmxlbmRlci1waG9uZSxcbiAgXCJidWlsZGluZy13aGVhdFwiOiAkZmEtdmFyLWJ1aWxkaW5nLXdoZWF0LFxuICBcInBlcnNvbi1icmVhc3RmZWVkaW5nXCI6ICRmYS12YXItcGVyc29uLWJyZWFzdGZlZWRpbmcsXG4gIFwicmlnaHQtdG8tYnJhY2tldFwiOiAkZmEtdmFyLXJpZ2h0LXRvLWJyYWNrZXQsXG4gIFwic2lnbi1pbi1hbHRcIjogJGZhLXZhci1zaWduLWluLWFsdCxcbiAgXCJ2ZW51c1wiOiAkZmEtdmFyLXZlbnVzLFxuICBcInBhc3Nwb3J0XCI6ICRmYS12YXItcGFzc3BvcnQsXG4gIFwiaGVhcnQtcHVsc2VcIjogJGZhLXZhci1oZWFydC1wdWxzZSxcbiAgXCJoZWFydGJlYXRcIjogJGZhLXZhci1oZWFydGJlYXQsXG4gIFwicGVvcGxlLWNhcnJ5LWJveFwiOiAkZmEtdmFyLXBlb3BsZS1jYXJyeS1ib3gsXG4gIFwicGVvcGxlLWNhcnJ5XCI6ICRmYS12YXItcGVvcGxlLWNhcnJ5LFxuICBcInRlbXBlcmF0dXJlLWhpZ2hcIjogJGZhLXZhci10ZW1wZXJhdHVyZS1oaWdoLFxuICBcIm1pY3JvY2hpcFwiOiAkZmEtdmFyLW1pY3JvY2hpcCxcbiAgXCJjcm93blwiOiAkZmEtdmFyLWNyb3duLFxuICBcIndlaWdodC1oYW5naW5nXCI6ICRmYS12YXItd2VpZ2h0LWhhbmdpbmcsXG4gIFwieG1hcmtzLWxpbmVzXCI6ICRmYS12YXIteG1hcmtzLWxpbmVzLFxuICBcImZpbGUtcHJlc2NyaXB0aW9uXCI6ICRmYS12YXItZmlsZS1wcmVzY3JpcHRpb24sXG4gIFwid2VpZ2h0LXNjYWxlXCI6ICRmYS12YXItd2VpZ2h0LXNjYWxlLFxuICBcIndlaWdodFwiOiAkZmEtdmFyLXdlaWdodCxcbiAgXCJ1c2VyLWdyb3VwXCI6ICRmYS12YXItdXNlci1ncm91cCxcbiAgXCJ1c2VyLWZyaWVuZHNcIjogJGZhLXZhci11c2VyLWZyaWVuZHMsXG4gIFwiYXJyb3ctdXAtYS16XCI6ICRmYS12YXItYXJyb3ctdXAtYS16LFxuICBcInNvcnQtYWxwaGEtdXBcIjogJGZhLXZhci1zb3J0LWFscGhhLXVwLFxuICBcImNoZXNzLWtuaWdodFwiOiAkZmEtdmFyLWNoZXNzLWtuaWdodCxcbiAgXCJmYWNlLWxhdWdoLXNxdWludFwiOiAkZmEtdmFyLWZhY2UtbGF1Z2gtc3F1aW50LFxuICBcImxhdWdoLXNxdWludFwiOiAkZmEtdmFyLWxhdWdoLXNxdWludCxcbiAgXCJ3aGVlbGNoYWlyXCI6ICRmYS12YXItd2hlZWxjaGFpcixcbiAgXCJjaXJjbGUtYXJyb3ctdXBcIjogJGZhLXZhci1jaXJjbGUtYXJyb3ctdXAsXG4gIFwiYXJyb3ctY2lyY2xlLXVwXCI6ICRmYS12YXItYXJyb3ctY2lyY2xlLXVwLFxuICBcInRvZ2dsZS1vblwiOiAkZmEtdmFyLXRvZ2dsZS1vbixcbiAgXCJwZXJzb24td2Fsa2luZ1wiOiAkZmEtdmFyLXBlcnNvbi13YWxraW5nLFxuICBcIndhbGtpbmdcIjogJGZhLXZhci13YWxraW5nLFxuICBcImxcIjogJGZhLXZhci1sLFxuICBcImZpcmVcIjogJGZhLXZhci1maXJlLFxuICBcImJlZC1wdWxzZVwiOiAkZmEtdmFyLWJlZC1wdWxzZSxcbiAgXCJwcm9jZWR1cmVzXCI6ICRmYS12YXItcHJvY2VkdXJlcyxcbiAgXCJzaHV0dGxlLXNwYWNlXCI6ICRmYS12YXItc2h1dHRsZS1zcGFjZSxcbiAgXCJzcGFjZS1zaHV0dGxlXCI6ICRmYS12YXItc3BhY2Utc2h1dHRsZSxcbiAgXCJmYWNlLWxhdWdoXCI6ICRmYS12YXItZmFjZS1sYXVnaCxcbiAgXCJsYXVnaFwiOiAkZmEtdmFyLWxhdWdoLFxuICBcImZvbGRlci1vcGVuXCI6ICRmYS12YXItZm9sZGVyLW9wZW4sXG4gIFwiaGVhcnQtY2lyY2xlLXBsdXNcIjogJGZhLXZhci1oZWFydC1jaXJjbGUtcGx1cyxcbiAgXCJjb2RlLWZvcmtcIjogJGZhLXZhci1jb2RlLWZvcmssXG4gIFwiY2l0eVwiOiAkZmEtdmFyLWNpdHksXG4gIFwibWljcm9waG9uZS1saW5lc1wiOiAkZmEtdmFyLW1pY3JvcGhvbmUtbGluZXMsXG4gIFwibWljcm9waG9uZS1hbHRcIjogJGZhLXZhci1taWNyb3Bob25lLWFsdCxcbiAgXCJwZXBwZXItaG90XCI6ICRmYS12YXItcGVwcGVyLWhvdCxcbiAgXCJ1bmxvY2tcIjogJGZhLXZhci11bmxvY2ssXG4gIFwiY29sb24tc2lnblwiOiAkZmEtdmFyLWNvbG9uLXNpZ24sXG4gIFwiaGVhZHNldFwiOiAkZmEtdmFyLWhlYWRzZXQsXG4gIFwic3RvcmUtc2xhc2hcIjogJGZhLXZhci1zdG9yZS1zbGFzaCxcbiAgXCJyb2FkLWNpcmNsZS14bWFya1wiOiAkZmEtdmFyLXJvYWQtY2lyY2xlLXhtYXJrLFxuICBcInVzZXItbWludXNcIjogJGZhLXZhci11c2VyLW1pbnVzLFxuICBcIm1hcnMtc3Ryb2tlLXVwXCI6ICRmYS12YXItbWFycy1zdHJva2UtdXAsXG4gIFwibWFycy1zdHJva2UtdlwiOiAkZmEtdmFyLW1hcnMtc3Ryb2tlLXYsXG4gIFwiY2hhbXBhZ25lLWdsYXNzZXNcIjogJGZhLXZhci1jaGFtcGFnbmUtZ2xhc3NlcyxcbiAgXCJnbGFzcy1jaGVlcnNcIjogJGZhLXZhci1nbGFzcy1jaGVlcnMsXG4gIFwiY2xpcGJvYXJkXCI6ICRmYS12YXItY2xpcGJvYXJkLFxuICBcImhvdXNlLWNpcmNsZS1leGNsYW1hdGlvblwiOiAkZmEtdmFyLWhvdXNlLWNpcmNsZS1leGNsYW1hdGlvbixcbiAgXCJmaWxlLWFycm93LXVwXCI6ICRmYS12YXItZmlsZS1hcnJvdy11cCxcbiAgXCJmaWxlLXVwbG9hZFwiOiAkZmEtdmFyLWZpbGUtdXBsb2FkLFxuICBcIndpZmlcIjogJGZhLXZhci13aWZpLFxuICBcIndpZmktM1wiOiAkZmEtdmFyLXdpZmktMyxcbiAgXCJ3aWZpLXN0cm9uZ1wiOiAkZmEtdmFyLXdpZmktc3Ryb25nLFxuICBcImJhdGhcIjogJGZhLXZhci1iYXRoLFxuICBcImJhdGh0dWJcIjogJGZhLXZhci1iYXRodHViLFxuICBcInVuZGVybGluZVwiOiAkZmEtdmFyLXVuZGVybGluZSxcbiAgXCJ1c2VyLXBlblwiOiAkZmEtdmFyLXVzZXItcGVuLFxuICBcInVzZXItZWRpdFwiOiAkZmEtdmFyLXVzZXItZWRpdCxcbiAgXCJzaWduYXR1cmVcIjogJGZhLXZhci1zaWduYXR1cmUsXG4gIFwic3Ryb29wd2FmZWxcIjogJGZhLXZhci1zdHJvb3B3YWZlbCxcbiAgXCJib2xkXCI6ICRmYS12YXItYm9sZCxcbiAgXCJhbmNob3ItbG9ja1wiOiAkZmEtdmFyLWFuY2hvci1sb2NrLFxuICBcImJ1aWxkaW5nLW5nb1wiOiAkZmEtdmFyLWJ1aWxkaW5nLW5nbyxcbiAgXCJtYW5hdC1zaWduXCI6ICRmYS12YXItbWFuYXQtc2lnbixcbiAgXCJub3QtZXF1YWxcIjogJGZhLXZhci1ub3QtZXF1YWwsXG4gIFwiYm9yZGVyLXRvcC1sZWZ0XCI6ICRmYS12YXItYm9yZGVyLXRvcC1sZWZ0LFxuICBcImJvcmRlci1zdHlsZVwiOiAkZmEtdmFyLWJvcmRlci1zdHlsZSxcbiAgXCJtYXAtbG9jYXRpb24tZG90XCI6ICRmYS12YXItbWFwLWxvY2F0aW9uLWRvdCxcbiAgXCJtYXAtbWFya2VkLWFsdFwiOiAkZmEtdmFyLW1hcC1tYXJrZWQtYWx0LFxuICBcImplZGlcIjogJGZhLXZhci1qZWRpLFxuICBcInNxdWFyZS1wb2xsLXZlcnRpY2FsXCI6ICRmYS12YXItc3F1YXJlLXBvbGwtdmVydGljYWwsXG4gIFwicG9sbFwiOiAkZmEtdmFyLXBvbGwsXG4gIFwibXVnLWhvdFwiOiAkZmEtdmFyLW11Zy1ob3QsXG4gIFwiY2FyLWJhdHRlcnlcIjogJGZhLXZhci1jYXItYmF0dGVyeSxcbiAgXCJiYXR0ZXJ5LWNhclwiOiAkZmEtdmFyLWJhdHRlcnktY2FyLFxuICBcImdpZnRcIjogJGZhLXZhci1naWZ0LFxuICBcImRpY2UtdHdvXCI6ICRmYS12YXItZGljZS10d28sXG4gIFwiY2hlc3MtcXVlZW5cIjogJGZhLXZhci1jaGVzcy1xdWVlbixcbiAgXCJnbGFzc2VzXCI6ICRmYS12YXItZ2xhc3NlcyxcbiAgXCJjaGVzcy1ib2FyZFwiOiAkZmEtdmFyLWNoZXNzLWJvYXJkLFxuICBcImJ1aWxkaW5nLWNpcmNsZS1jaGVja1wiOiAkZmEtdmFyLWJ1aWxkaW5nLWNpcmNsZS1jaGVjayxcbiAgXCJwZXJzb24tY2hhbGtib2FyZFwiOiAkZmEtdmFyLXBlcnNvbi1jaGFsa2JvYXJkLFxuICBcIm1hcnMtc3Ryb2tlLXJpZ2h0XCI6ICRmYS12YXItbWFycy1zdHJva2UtcmlnaHQsXG4gIFwibWFycy1zdHJva2UtaFwiOiAkZmEtdmFyLW1hcnMtc3Ryb2tlLWgsXG4gIFwiaGFuZC1iYWNrLWZpc3RcIjogJGZhLXZhci1oYW5kLWJhY2stZmlzdCxcbiAgXCJoYW5kLXJvY2tcIjogJGZhLXZhci1oYW5kLXJvY2ssXG4gIFwic3F1YXJlLWNhcmV0LXVwXCI6ICRmYS12YXItc3F1YXJlLWNhcmV0LXVwLFxuICBcImNhcmV0LXNxdWFyZS11cFwiOiAkZmEtdmFyLWNhcmV0LXNxdWFyZS11cCxcbiAgXCJjbG91ZC1zaG93ZXJzLXdhdGVyXCI6ICRmYS12YXItY2xvdWQtc2hvd2Vycy13YXRlcixcbiAgXCJjaGFydC1iYXJcIjogJGZhLXZhci1jaGFydC1iYXIsXG4gIFwiYmFyLWNoYXJ0XCI6ICRmYS12YXItYmFyLWNoYXJ0LFxuICBcImhhbmRzLWJ1YmJsZXNcIjogJGZhLXZhci1oYW5kcy1idWJibGVzLFxuICBcImhhbmRzLXdhc2hcIjogJGZhLXZhci1oYW5kcy13YXNoLFxuICBcImxlc3MtdGhhbi1lcXVhbFwiOiAkZmEtdmFyLWxlc3MtdGhhbi1lcXVhbCxcbiAgXCJ0cmFpblwiOiAkZmEtdmFyLXRyYWluLFxuICBcImV5ZS1sb3ctdmlzaW9uXCI6ICRmYS12YXItZXllLWxvdy12aXNpb24sXG4gIFwibG93LXZpc2lvblwiOiAkZmEtdmFyLWxvdy12aXNpb24sXG4gIFwiY3Jvd1wiOiAkZmEtdmFyLWNyb3csXG4gIFwic2FpbGJvYXRcIjogJGZhLXZhci1zYWlsYm9hdCxcbiAgXCJ3aW5kb3ctcmVzdG9yZVwiOiAkZmEtdmFyLXdpbmRvdy1yZXN0b3JlLFxuICBcInNxdWFyZS1wbHVzXCI6ICRmYS12YXItc3F1YXJlLXBsdXMsXG4gIFwicGx1cy1zcXVhcmVcIjogJGZhLXZhci1wbHVzLXNxdWFyZSxcbiAgXCJ0b3JpaS1nYXRlXCI6ICRmYS12YXItdG9yaWktZ2F0ZSxcbiAgXCJmcm9nXCI6ICRmYS12YXItZnJvZyxcbiAgXCJidWNrZXRcIjogJGZhLXZhci1idWNrZXQsXG4gIFwiaW1hZ2VcIjogJGZhLXZhci1pbWFnZSxcbiAgXCJtaWNyb3Bob25lXCI6ICRmYS12YXItbWljcm9waG9uZSxcbiAgXCJjb3dcIjogJGZhLXZhci1jb3csXG4gIFwiY2FyZXQtdXBcIjogJGZhLXZhci1jYXJldC11cCxcbiAgXCJzY3Jld2RyaXZlclwiOiAkZmEtdmFyLXNjcmV3ZHJpdmVyLFxuICBcImZvbGRlci1jbG9zZWRcIjogJGZhLXZhci1mb2xkZXItY2xvc2VkLFxuICBcImhvdXNlLXRzdW5hbWlcIjogJGZhLXZhci1ob3VzZS10c3VuYW1pLFxuICBcInNxdWFyZS1uZmlcIjogJGZhLXZhci1zcXVhcmUtbmZpLFxuICBcImFycm93LXVwLWZyb20tZ3JvdW5kLXdhdGVyXCI6ICRmYS12YXItYXJyb3ctdXAtZnJvbS1ncm91bmQtd2F0ZXIsXG4gIFwibWFydGluaS1nbGFzc1wiOiAkZmEtdmFyLW1hcnRpbmktZ2xhc3MsXG4gIFwiZ2xhc3MtbWFydGluaS1hbHRcIjogJGZhLXZhci1nbGFzcy1tYXJ0aW5pLWFsdCxcbiAgXCJyb3RhdGUtbGVmdFwiOiAkZmEtdmFyLXJvdGF0ZS1sZWZ0LFxuICBcInJvdGF0ZS1iYWNrXCI6ICRmYS12YXItcm90YXRlLWJhY2ssXG4gIFwicm90YXRlLWJhY2t3YXJkXCI6ICRmYS12YXItcm90YXRlLWJhY2t3YXJkLFxuICBcInVuZG8tYWx0XCI6ICRmYS12YXItdW5kby1hbHQsXG4gIFwidGFibGUtY29sdW1uc1wiOiAkZmEtdmFyLXRhYmxlLWNvbHVtbnMsXG4gIFwiY29sdW1uc1wiOiAkZmEtdmFyLWNvbHVtbnMsXG4gIFwibGVtb25cIjogJGZhLXZhci1sZW1vbixcbiAgXCJoZWFkLXNpZGUtbWFza1wiOiAkZmEtdmFyLWhlYWQtc2lkZS1tYXNrLFxuICBcImhhbmRzaGFrZVwiOiAkZmEtdmFyLWhhbmRzaGFrZSxcbiAgXCJnZW1cIjogJGZhLXZhci1nZW0sXG4gIFwiZG9sbHlcIjogJGZhLXZhci1kb2xseSxcbiAgXCJkb2xseS1ib3hcIjogJGZhLXZhci1kb2xseS1ib3gsXG4gIFwic21va2luZ1wiOiAkZmEtdmFyLXNtb2tpbmcsXG4gIFwibWluaW1pemVcIjogJGZhLXZhci1taW5pbWl6ZSxcbiAgXCJjb21wcmVzcy1hcnJvd3MtYWx0XCI6ICRmYS12YXItY29tcHJlc3MtYXJyb3dzLWFsdCxcbiAgXCJtb251bWVudFwiOiAkZmEtdmFyLW1vbnVtZW50LFxuICBcInNub3dwbG93XCI6ICRmYS12YXItc25vd3Bsb3csXG4gIFwiYW5nbGVzLXJpZ2h0XCI6ICRmYS12YXItYW5nbGVzLXJpZ2h0LFxuICBcImFuZ2xlLWRvdWJsZS1yaWdodFwiOiAkZmEtdmFyLWFuZ2xlLWRvdWJsZS1yaWdodCxcbiAgXCJjYW5uYWJpc1wiOiAkZmEtdmFyLWNhbm5hYmlzLFxuICBcImNpcmNsZS1wbGF5XCI6ICRmYS12YXItY2lyY2xlLXBsYXksXG4gIFwicGxheS1jaXJjbGVcIjogJGZhLXZhci1wbGF5LWNpcmNsZSxcbiAgXCJ0YWJsZXRzXCI6ICRmYS12YXItdGFibGV0cyxcbiAgXCJldGhlcm5ldFwiOiAkZmEtdmFyLWV0aGVybmV0LFxuICBcImV1cm8tc2lnblwiOiAkZmEtdmFyLWV1cm8tc2lnbixcbiAgXCJldXJcIjogJGZhLXZhci1ldXIsXG4gIFwiZXVyb1wiOiAkZmEtdmFyLWV1cm8sXG4gIFwiY2hhaXJcIjogJGZhLXZhci1jaGFpcixcbiAgXCJjaXJjbGUtY2hlY2tcIjogJGZhLXZhci1jaXJjbGUtY2hlY2ssXG4gIFwiY2hlY2stY2lyY2xlXCI6ICRmYS12YXItY2hlY2stY2lyY2xlLFxuICBcImNpcmNsZS1zdG9wXCI6ICRmYS12YXItY2lyY2xlLXN0b3AsXG4gIFwic3RvcC1jaXJjbGVcIjogJGZhLXZhci1zdG9wLWNpcmNsZSxcbiAgXCJjb21wYXNzLWRyYWZ0aW5nXCI6ICRmYS12YXItY29tcGFzcy1kcmFmdGluZyxcbiAgXCJkcmFmdGluZy1jb21wYXNzXCI6ICRmYS12YXItZHJhZnRpbmctY29tcGFzcyxcbiAgXCJwbGF0ZS13aGVhdFwiOiAkZmEtdmFyLXBsYXRlLXdoZWF0LFxuICBcImljaWNsZXNcIjogJGZhLXZhci1pY2ljbGVzLFxuICBcInBlcnNvbi1zaGVsdGVyXCI6ICRmYS12YXItcGVyc29uLXNoZWx0ZXIsXG4gIFwibmV1dGVyXCI6ICRmYS12YXItbmV1dGVyLFxuICBcImlkLWJhZGdlXCI6ICRmYS12YXItaWQtYmFkZ2UsXG4gIFwibWFya2VyXCI6ICRmYS12YXItbWFya2VyLFxuICBcImZhY2UtbGF1Z2gtYmVhbVwiOiAkZmEtdmFyLWZhY2UtbGF1Z2gtYmVhbSxcbiAgXCJsYXVnaC1iZWFtXCI6ICRmYS12YXItbGF1Z2gtYmVhbSxcbiAgXCJoZWxpY29wdGVyLXN5bWJvbFwiOiAkZmEtdmFyLWhlbGljb3B0ZXItc3ltYm9sLFxuICBcInVuaXZlcnNhbC1hY2Nlc3NcIjogJGZhLXZhci11bml2ZXJzYWwtYWNjZXNzLFxuICBcImNpcmNsZS1jaGV2cm9uLXVwXCI6ICRmYS12YXItY2lyY2xlLWNoZXZyb24tdXAsXG4gIFwiY2hldnJvbi1jaXJjbGUtdXBcIjogJGZhLXZhci1jaGV2cm9uLWNpcmNsZS11cCxcbiAgXCJsYXJpLXNpZ25cIjogJGZhLXZhci1sYXJpLXNpZ24sXG4gIFwidm9sY2Fub1wiOiAkZmEtdmFyLXZvbGNhbm8sXG4gIFwicGVyc29uLXdhbGtpbmctZGFzaGVkLWxpbmUtYXJyb3ctcmlnaHRcIjogJGZhLXZhci1wZXJzb24td2Fsa2luZy1kYXNoZWQtbGluZS1hcnJvdy1yaWdodCxcbiAgXCJzdGVybGluZy1zaWduXCI6ICRmYS12YXItc3Rlcmxpbmctc2lnbixcbiAgXCJnYnBcIjogJGZhLXZhci1nYnAsXG4gIFwicG91bmQtc2lnblwiOiAkZmEtdmFyLXBvdW5kLXNpZ24sXG4gIFwidmlydXNlc1wiOiAkZmEtdmFyLXZpcnVzZXMsXG4gIFwic3F1YXJlLXBlcnNvbi1jb25maW5lZFwiOiAkZmEtdmFyLXNxdWFyZS1wZXJzb24tY29uZmluZWQsXG4gIFwidXNlci10aWVcIjogJGZhLXZhci11c2VyLXRpZSxcbiAgXCJhcnJvdy1kb3duLWxvbmdcIjogJGZhLXZhci1hcnJvdy1kb3duLWxvbmcsXG4gIFwibG9uZy1hcnJvdy1kb3duXCI6ICRmYS12YXItbG9uZy1hcnJvdy1kb3duLFxuICBcInRlbnQtYXJyb3ctZG93bi10by1saW5lXCI6ICRmYS12YXItdGVudC1hcnJvdy1kb3duLXRvLWxpbmUsXG4gIFwiY2VydGlmaWNhdGVcIjogJGZhLXZhci1jZXJ0aWZpY2F0ZSxcbiAgXCJyZXBseS1hbGxcIjogJGZhLXZhci1yZXBseS1hbGwsXG4gIFwibWFpbC1yZXBseS1hbGxcIjogJGZhLXZhci1tYWlsLXJlcGx5LWFsbCxcbiAgXCJzdWl0Y2FzZVwiOiAkZmEtdmFyLXN1aXRjYXNlLFxuICBcInBlcnNvbi1za2F0aW5nXCI6ICRmYS12YXItcGVyc29uLXNrYXRpbmcsXG4gIFwic2thdGluZ1wiOiAkZmEtdmFyLXNrYXRpbmcsXG4gIFwiZmlsdGVyLWNpcmNsZS1kb2xsYXJcIjogJGZhLXZhci1maWx0ZXItY2lyY2xlLWRvbGxhcixcbiAgXCJmdW5uZWwtZG9sbGFyXCI6ICRmYS12YXItZnVubmVsLWRvbGxhcixcbiAgXCJjYW1lcmEtcmV0cm9cIjogJGZhLXZhci1jYW1lcmEtcmV0cm8sXG4gIFwiY2lyY2xlLWFycm93LWRvd25cIjogJGZhLXZhci1jaXJjbGUtYXJyb3ctZG93bixcbiAgXCJhcnJvdy1jaXJjbGUtZG93blwiOiAkZmEtdmFyLWFycm93LWNpcmNsZS1kb3duLFxuICBcImZpbGUtaW1wb3J0XCI6ICRmYS12YXItZmlsZS1pbXBvcnQsXG4gIFwiYXJyb3ctcmlnaHQtdG8tZmlsZVwiOiAkZmEtdmFyLWFycm93LXJpZ2h0LXRvLWZpbGUsXG4gIFwic3F1YXJlLWFycm93LXVwLXJpZ2h0XCI6ICRmYS12YXItc3F1YXJlLWFycm93LXVwLXJpZ2h0LFxuICBcImV4dGVybmFsLWxpbmstc3F1YXJlXCI6ICRmYS12YXItZXh0ZXJuYWwtbGluay1zcXVhcmUsXG4gIFwiYm94LW9wZW5cIjogJGZhLXZhci1ib3gtb3BlbixcbiAgXCJzY3JvbGxcIjogJGZhLXZhci1zY3JvbGwsXG4gIFwic3BhXCI6ICRmYS12YXItc3BhLFxuICBcImxvY2F0aW9uLXBpbi1sb2NrXCI6ICRmYS12YXItbG9jYXRpb24tcGluLWxvY2ssXG4gIFwicGF1c2VcIjogJGZhLXZhci1wYXVzZSxcbiAgXCJoaWxsLWF2YWxhbmNoZVwiOiAkZmEtdmFyLWhpbGwtYXZhbGFuY2hlLFxuICBcInRlbXBlcmF0dXJlLWVtcHR5XCI6ICRmYS12YXItdGVtcGVyYXR1cmUtZW1wdHksXG4gIFwidGVtcGVyYXR1cmUtMFwiOiAkZmEtdmFyLXRlbXBlcmF0dXJlLTAsXG4gIFwidGhlcm1vbWV0ZXItMFwiOiAkZmEtdmFyLXRoZXJtb21ldGVyLTAsXG4gIFwidGhlcm1vbWV0ZXItZW1wdHlcIjogJGZhLXZhci10aGVybW9tZXRlci1lbXB0eSxcbiAgXCJib21iXCI6ICRmYS12YXItYm9tYixcbiAgXCJyZWdpc3RlcmVkXCI6ICRmYS12YXItcmVnaXN0ZXJlZCxcbiAgXCJhZGRyZXNzLWNhcmRcIjogJGZhLXZhci1hZGRyZXNzLWNhcmQsXG4gIFwiY29udGFjdC1jYXJkXCI6ICRmYS12YXItY29udGFjdC1jYXJkLFxuICBcInZjYXJkXCI6ICRmYS12YXItdmNhcmQsXG4gIFwic2NhbGUtdW5iYWxhbmNlZC1mbGlwXCI6ICRmYS12YXItc2NhbGUtdW5iYWxhbmNlZC1mbGlwLFxuICBcImJhbGFuY2Utc2NhbGUtcmlnaHRcIjogJGZhLXZhci1iYWxhbmNlLXNjYWxlLXJpZ2h0LFxuICBcInN1YnNjcmlwdFwiOiAkZmEtdmFyLXN1YnNjcmlwdCxcbiAgXCJkaWFtb25kLXR1cm4tcmlnaHRcIjogJGZhLXZhci1kaWFtb25kLXR1cm4tcmlnaHQsXG4gIFwiZGlyZWN0aW9uc1wiOiAkZmEtdmFyLWRpcmVjdGlvbnMsXG4gIFwiYnVyc3RcIjogJGZhLXZhci1idXJzdCxcbiAgXCJob3VzZS1sYXB0b3BcIjogJGZhLXZhci1ob3VzZS1sYXB0b3AsXG4gIFwibGFwdG9wLWhvdXNlXCI6ICRmYS12YXItbGFwdG9wLWhvdXNlLFxuICBcImZhY2UtdGlyZWRcIjogJGZhLXZhci1mYWNlLXRpcmVkLFxuICBcInRpcmVkXCI6ICRmYS12YXItdGlyZWQsXG4gIFwibW9uZXktYmlsbHNcIjogJGZhLXZhci1tb25leS1iaWxscyxcbiAgXCJzbW9nXCI6ICRmYS12YXItc21vZyxcbiAgXCJjcnV0Y2hcIjogJGZhLXZhci1jcnV0Y2gsXG4gIFwiY2xvdWQtYXJyb3ctdXBcIjogJGZhLXZhci1jbG91ZC1hcnJvdy11cCxcbiAgXCJjbG91ZC11cGxvYWRcIjogJGZhLXZhci1jbG91ZC11cGxvYWQsXG4gIFwiY2xvdWQtdXBsb2FkLWFsdFwiOiAkZmEtdmFyLWNsb3VkLXVwbG9hZC1hbHQsXG4gIFwicGFsZXR0ZVwiOiAkZmEtdmFyLXBhbGV0dGUsXG4gIFwiYXJyb3dzLXR1cm4tcmlnaHRcIjogJGZhLXZhci1hcnJvd3MtdHVybi1yaWdodCxcbiAgXCJ2ZXN0XCI6ICRmYS12YXItdmVzdCxcbiAgXCJmZXJyeVwiOiAkZmEtdmFyLWZlcnJ5LFxuICBcImFycm93cy1kb3duLXRvLXBlb3BsZVwiOiAkZmEtdmFyLWFycm93cy1kb3duLXRvLXBlb3BsZSxcbiAgXCJzZWVkbGluZ1wiOiAkZmEtdmFyLXNlZWRsaW5nLFxuICBcInNwcm91dFwiOiAkZmEtdmFyLXNwcm91dCxcbiAgXCJsZWZ0LXJpZ2h0XCI6ICRmYS12YXItbGVmdC1yaWdodCxcbiAgXCJhcnJvd3MtYWx0LWhcIjogJGZhLXZhci1hcnJvd3MtYWx0LWgsXG4gIFwiYm94ZXMtcGFja2luZ1wiOiAkZmEtdmFyLWJveGVzLXBhY2tpbmcsXG4gIFwiY2lyY2xlLWFycm93LWxlZnRcIjogJGZhLXZhci1jaXJjbGUtYXJyb3ctbGVmdCxcbiAgXCJhcnJvdy1jaXJjbGUtbGVmdFwiOiAkZmEtdmFyLWFycm93LWNpcmNsZS1sZWZ0LFxuICBcImdyb3VwLWFycm93cy1yb3RhdGVcIjogJGZhLXZhci1ncm91cC1hcnJvd3Mtcm90YXRlLFxuICBcImJvd2wtZm9vZFwiOiAkZmEtdmFyLWJvd2wtZm9vZCxcbiAgXCJjYW5keS1jYW5lXCI6ICRmYS12YXItY2FuZHktY2FuZSxcbiAgXCJhcnJvdy1kb3duLXdpZGUtc2hvcnRcIjogJGZhLXZhci1hcnJvdy1kb3duLXdpZGUtc2hvcnQsXG4gIFwic29ydC1hbW91bnQtYXNjXCI6ICRmYS12YXItc29ydC1hbW91bnQtYXNjLFxuICBcInNvcnQtYW1vdW50LWRvd25cIjogJGZhLXZhci1zb3J0LWFtb3VudC1kb3duLFxuICBcImNsb3VkLWJvbHRcIjogJGZhLXZhci1jbG91ZC1ib2x0LFxuICBcInRodW5kZXJzdG9ybVwiOiAkZmEtdmFyLXRodW5kZXJzdG9ybSxcbiAgXCJ0ZXh0LXNsYXNoXCI6ICRmYS12YXItdGV4dC1zbGFzaCxcbiAgXCJyZW1vdmUtZm9ybWF0XCI6ICRmYS12YXItcmVtb3ZlLWZvcm1hdCxcbiAgXCJmYWNlLXNtaWxlLXdpbmtcIjogJGZhLXZhci1mYWNlLXNtaWxlLXdpbmssXG4gIFwic21pbGUtd2lua1wiOiAkZmEtdmFyLXNtaWxlLXdpbmssXG4gIFwiZmlsZS13b3JkXCI6ICRmYS12YXItZmlsZS13b3JkLFxuICBcImZpbGUtcG93ZXJwb2ludFwiOiAkZmEtdmFyLWZpbGUtcG93ZXJwb2ludCxcbiAgXCJhcnJvd3MtbGVmdC1yaWdodFwiOiAkZmEtdmFyLWFycm93cy1sZWZ0LXJpZ2h0LFxuICBcImFycm93cy1oXCI6ICRmYS12YXItYXJyb3dzLWgsXG4gIFwiaG91c2UtbG9ja1wiOiAkZmEtdmFyLWhvdXNlLWxvY2ssXG4gIFwiY2xvdWQtYXJyb3ctZG93blwiOiAkZmEtdmFyLWNsb3VkLWFycm93LWRvd24sXG4gIFwiY2xvdWQtZG93bmxvYWRcIjogJGZhLXZhci1jbG91ZC1kb3dubG9hZCxcbiAgXCJjbG91ZC1kb3dubG9hZC1hbHRcIjogJGZhLXZhci1jbG91ZC1kb3dubG9hZC1hbHQsXG4gIFwiY2hpbGRyZW5cIjogJGZhLXZhci1jaGlsZHJlbixcbiAgXCJjaGFsa2JvYXJkXCI6ICRmYS12YXItY2hhbGtib2FyZCxcbiAgXCJibGFja2JvYXJkXCI6ICRmYS12YXItYmxhY2tib2FyZCxcbiAgXCJ1c2VyLWxhcmdlLXNsYXNoXCI6ICRmYS12YXItdXNlci1sYXJnZS1zbGFzaCxcbiAgXCJ1c2VyLWFsdC1zbGFzaFwiOiAkZmEtdmFyLXVzZXItYWx0LXNsYXNoLFxuICBcImVudmVsb3BlLW9wZW5cIjogJGZhLXZhci1lbnZlbG9wZS1vcGVuLFxuICBcImhhbmRzaGFrZS1zaW1wbGUtc2xhc2hcIjogJGZhLXZhci1oYW5kc2hha2Utc2ltcGxlLXNsYXNoLFxuICBcImhhbmRzaGFrZS1hbHQtc2xhc2hcIjogJGZhLXZhci1oYW5kc2hha2UtYWx0LXNsYXNoLFxuICBcIm1hdHRyZXNzLXBpbGxvd1wiOiAkZmEtdmFyLW1hdHRyZXNzLXBpbGxvdyxcbiAgXCJndWFyYW5pLXNpZ25cIjogJGZhLXZhci1ndWFyYW5pLXNpZ24sXG4gIFwiYXJyb3dzLXJvdGF0ZVwiOiAkZmEtdmFyLWFycm93cy1yb3RhdGUsXG4gIFwicmVmcmVzaFwiOiAkZmEtdmFyLXJlZnJlc2gsXG4gIFwic3luY1wiOiAkZmEtdmFyLXN5bmMsXG4gIFwiZmlyZS1leHRpbmd1aXNoZXJcIjogJGZhLXZhci1maXJlLWV4dGluZ3Vpc2hlcixcbiAgXCJjcnV6ZWlyby1zaWduXCI6ICRmYS12YXItY3J1emVpcm8tc2lnbixcbiAgXCJncmVhdGVyLXRoYW4tZXF1YWxcIjogJGZhLXZhci1ncmVhdGVyLXRoYW4tZXF1YWwsXG4gIFwic2hpZWxkLWhhbHZlZFwiOiAkZmEtdmFyLXNoaWVsZC1oYWx2ZWQsXG4gIFwic2hpZWxkLWFsdFwiOiAkZmEtdmFyLXNoaWVsZC1hbHQsXG4gIFwiYm9vay1hdGxhc1wiOiAkZmEtdmFyLWJvb2stYXRsYXMsXG4gIFwiYXRsYXNcIjogJGZhLXZhci1hdGxhcyxcbiAgXCJ2aXJ1c1wiOiAkZmEtdmFyLXZpcnVzLFxuICBcImVudmVsb3BlLWNpcmNsZS1jaGVja1wiOiAkZmEtdmFyLWVudmVsb3BlLWNpcmNsZS1jaGVjayxcbiAgXCJsYXllci1ncm91cFwiOiAkZmEtdmFyLWxheWVyLWdyb3VwLFxuICBcImFycm93cy10by1kb3RcIjogJGZhLXZhci1hcnJvd3MtdG8tZG90LFxuICBcImFyY2h3YXlcIjogJGZhLXZhci1hcmNod2F5LFxuICBcImhlYXJ0LWNpcmNsZS1jaGVja1wiOiAkZmEtdmFyLWhlYXJ0LWNpcmNsZS1jaGVjayxcbiAgXCJob3VzZS1jaGltbmV5LWNyYWNrXCI6ICRmYS12YXItaG91c2UtY2hpbW5leS1jcmFjayxcbiAgXCJob3VzZS1kYW1hZ2VcIjogJGZhLXZhci1ob3VzZS1kYW1hZ2UsXG4gIFwiZmlsZS16aXBwZXJcIjogJGZhLXZhci1maWxlLXppcHBlcixcbiAgXCJmaWxlLWFyY2hpdmVcIjogJGZhLXZhci1maWxlLWFyY2hpdmUsXG4gIFwic3F1YXJlXCI6ICRmYS12YXItc3F1YXJlLFxuICBcIm1hcnRpbmktZ2xhc3MtZW1wdHlcIjogJGZhLXZhci1tYXJ0aW5pLWdsYXNzLWVtcHR5LFxuICBcImdsYXNzLW1hcnRpbmlcIjogJGZhLXZhci1nbGFzcy1tYXJ0aW5pLFxuICBcImNvdWNoXCI6ICRmYS12YXItY291Y2gsXG4gIFwiY2VkaS1zaWduXCI6ICRmYS12YXItY2VkaS1zaWduLFxuICBcIml0YWxpY1wiOiAkZmEtdmFyLWl0YWxpYyxcbiAgXCJjaHVyY2hcIjogJGZhLXZhci1jaHVyY2gsXG4gIFwiY29tbWVudHMtZG9sbGFyXCI6ICRmYS12YXItY29tbWVudHMtZG9sbGFyLFxuICBcImRlbW9jcmF0XCI6ICRmYS12YXItZGVtb2NyYXQsXG4gIFwielwiOiAkZmEtdmFyLXosXG4gIFwicGVyc29uLXNraWluZ1wiOiAkZmEtdmFyLXBlcnNvbi1za2lpbmcsXG4gIFwic2tpaW5nXCI6ICRmYS12YXItc2tpaW5nLFxuICBcInJvYWQtbG9ja1wiOiAkZmEtdmFyLXJvYWQtbG9jayxcbiAgXCJhXCI6ICRmYS12YXItYSxcbiAgXCJ0ZW1wZXJhdHVyZS1hcnJvdy1kb3duXCI6ICRmYS12YXItdGVtcGVyYXR1cmUtYXJyb3ctZG93bixcbiAgXCJ0ZW1wZXJhdHVyZS1kb3duXCI6ICRmYS12YXItdGVtcGVyYXR1cmUtZG93bixcbiAgXCJmZWF0aGVyLXBvaW50ZWRcIjogJGZhLXZhci1mZWF0aGVyLXBvaW50ZWQsXG4gIFwiZmVhdGhlci1hbHRcIjogJGZhLXZhci1mZWF0aGVyLWFsdCxcbiAgXCJwXCI6ICRmYS12YXItcCxcbiAgXCJzbm93Zmxha2VcIjogJGZhLXZhci1zbm93Zmxha2UsXG4gIFwibmV3c3BhcGVyXCI6ICRmYS12YXItbmV3c3BhcGVyLFxuICBcInJlY3RhbmdsZS1hZFwiOiAkZmEtdmFyLXJlY3RhbmdsZS1hZCxcbiAgXCJhZFwiOiAkZmEtdmFyLWFkLFxuICBcImNpcmNsZS1hcnJvdy1yaWdodFwiOiAkZmEtdmFyLWNpcmNsZS1hcnJvdy1yaWdodCxcbiAgXCJhcnJvdy1jaXJjbGUtcmlnaHRcIjogJGZhLXZhci1hcnJvdy1jaXJjbGUtcmlnaHQsXG4gIFwiZmlsdGVyLWNpcmNsZS14bWFya1wiOiAkZmEtdmFyLWZpbHRlci1jaXJjbGUteG1hcmssXG4gIFwibG9jdXN0XCI6ICRmYS12YXItbG9jdXN0LFxuICBcInNvcnRcIjogJGZhLXZhci1zb3J0LFxuICBcInVuc29ydGVkXCI6ICRmYS12YXItdW5zb3J0ZWQsXG4gIFwibGlzdC1vbFwiOiAkZmEtdmFyLWxpc3Qtb2wsXG4gIFwibGlzdC0xLTJcIjogJGZhLXZhci1saXN0LTEtMixcbiAgXCJsaXN0LW51bWVyaWNcIjogJGZhLXZhci1saXN0LW51bWVyaWMsXG4gIFwicGVyc29uLWRyZXNzLWJ1cnN0XCI6ICRmYS12YXItcGVyc29uLWRyZXNzLWJ1cnN0LFxuICBcIm1vbmV5LWNoZWNrLWRvbGxhclwiOiAkZmEtdmFyLW1vbmV5LWNoZWNrLWRvbGxhcixcbiAgXCJtb25leS1jaGVjay1hbHRcIjogJGZhLXZhci1tb25leS1jaGVjay1hbHQsXG4gIFwidmVjdG9yLXNxdWFyZVwiOiAkZmEtdmFyLXZlY3Rvci1zcXVhcmUsXG4gIFwiYnJlYWQtc2xpY2VcIjogJGZhLXZhci1icmVhZC1zbGljZSxcbiAgXCJsYW5ndWFnZVwiOiAkZmEtdmFyLWxhbmd1YWdlLFxuICBcImZhY2Uta2lzcy13aW5rLWhlYXJ0XCI6ICRmYS12YXItZmFjZS1raXNzLXdpbmstaGVhcnQsXG4gIFwia2lzcy13aW5rLWhlYXJ0XCI6ICRmYS12YXIta2lzcy13aW5rLWhlYXJ0LFxuICBcImZpbHRlclwiOiAkZmEtdmFyLWZpbHRlcixcbiAgXCJxdWVzdGlvblwiOiAkZmEtdmFyLXF1ZXN0aW9uLFxuICBcImZpbGUtc2lnbmF0dXJlXCI6ICRmYS12YXItZmlsZS1zaWduYXR1cmUsXG4gIFwidXAtZG93bi1sZWZ0LXJpZ2h0XCI6ICRmYS12YXItdXAtZG93bi1sZWZ0LXJpZ2h0LFxuICBcImFycm93cy1hbHRcIjogJGZhLXZhci1hcnJvd3MtYWx0LFxuICBcImhvdXNlLWNoaW1uZXktdXNlclwiOiAkZmEtdmFyLWhvdXNlLWNoaW1uZXktdXNlcixcbiAgXCJoYW5kLWhvbGRpbmctaGVhcnRcIjogJGZhLXZhci1oYW5kLWhvbGRpbmctaGVhcnQsXG4gIFwicHV6emxlLXBpZWNlXCI6ICRmYS12YXItcHV6emxlLXBpZWNlLFxuICBcIm1vbmV5LWNoZWNrXCI6ICRmYS12YXItbW9uZXktY2hlY2ssXG4gIFwic3Rhci1oYWxmLXN0cm9rZVwiOiAkZmEtdmFyLXN0YXItaGFsZi1zdHJva2UsXG4gIFwic3Rhci1oYWxmLWFsdFwiOiAkZmEtdmFyLXN0YXItaGFsZi1hbHQsXG4gIFwiY29kZVwiOiAkZmEtdmFyLWNvZGUsXG4gIFwid2hpc2tleS1nbGFzc1wiOiAkZmEtdmFyLXdoaXNrZXktZ2xhc3MsXG4gIFwiZ2xhc3Mtd2hpc2tleVwiOiAkZmEtdmFyLWdsYXNzLXdoaXNrZXksXG4gIFwiYnVpbGRpbmctY2lyY2xlLWV4Y2xhbWF0aW9uXCI6ICRmYS12YXItYnVpbGRpbmctY2lyY2xlLWV4Y2xhbWF0aW9uLFxuICBcIm1hZ25pZnlpbmctZ2xhc3MtY2hhcnRcIjogJGZhLXZhci1tYWduaWZ5aW5nLWdsYXNzLWNoYXJ0LFxuICBcImFycm93LXVwLXJpZ2h0LWZyb20tc3F1YXJlXCI6ICRmYS12YXItYXJyb3ctdXAtcmlnaHQtZnJvbS1zcXVhcmUsXG4gIFwiZXh0ZXJuYWwtbGlua1wiOiAkZmEtdmFyLWV4dGVybmFsLWxpbmssXG4gIFwiY3ViZXMtc3RhY2tlZFwiOiAkZmEtdmFyLWN1YmVzLXN0YWNrZWQsXG4gIFwid29uLXNpZ25cIjogJGZhLXZhci13b24tc2lnbixcbiAgXCJrcndcIjogJGZhLXZhci1rcncsXG4gIFwid29uXCI6ICRmYS12YXItd29uLFxuICBcInZpcnVzLWNvdmlkXCI6ICRmYS12YXItdmlydXMtY292aWQsXG4gIFwiYXVzdHJhbC1zaWduXCI6ICRmYS12YXItYXVzdHJhbC1zaWduLFxuICBcImZcIjogJGZhLXZhci1mLFxuICBcImxlYWZcIjogJGZhLXZhci1sZWFmLFxuICBcInJvYWRcIjogJGZhLXZhci1yb2FkLFxuICBcInRheGlcIjogJGZhLXZhci10YXhpLFxuICBcImNhYlwiOiAkZmEtdmFyLWNhYixcbiAgXCJwZXJzb24tY2lyY2xlLXBsdXNcIjogJGZhLXZhci1wZXJzb24tY2lyY2xlLXBsdXMsXG4gIFwiY2hhcnQtcGllXCI6ICRmYS12YXItY2hhcnQtcGllLFxuICBcInBpZS1jaGFydFwiOiAkZmEtdmFyLXBpZS1jaGFydCxcbiAgXCJib2x0LWxpZ2h0bmluZ1wiOiAkZmEtdmFyLWJvbHQtbGlnaHRuaW5nLFxuICBcInNhY2steG1hcmtcIjogJGZhLXZhci1zYWNrLXhtYXJrLFxuICBcImZpbGUtZXhjZWxcIjogJGZhLXZhci1maWxlLWV4Y2VsLFxuICBcImZpbGUtY29udHJhY3RcIjogJGZhLXZhci1maWxlLWNvbnRyYWN0LFxuICBcImZpc2gtZmluc1wiOiAkZmEtdmFyLWZpc2gtZmlucyxcbiAgXCJidWlsZGluZy1mbGFnXCI6ICRmYS12YXItYnVpbGRpbmctZmxhZyxcbiAgXCJmYWNlLWdyaW4tYmVhbVwiOiAkZmEtdmFyLWZhY2UtZ3Jpbi1iZWFtLFxuICBcImdyaW4tYmVhbVwiOiAkZmEtdmFyLWdyaW4tYmVhbSxcbiAgXCJvYmplY3QtdW5ncm91cFwiOiAkZmEtdmFyLW9iamVjdC11bmdyb3VwLFxuICBcInBvb3BcIjogJGZhLXZhci1wb29wLFxuICBcImxvY2F0aW9uLXBpblwiOiAkZmEtdmFyLWxvY2F0aW9uLXBpbixcbiAgXCJtYXAtbWFya2VyXCI6ICRmYS12YXItbWFwLW1hcmtlcixcbiAgXCJrYWFiYVwiOiAkZmEtdmFyLWthYWJhLFxuICBcInRvaWxldC1wYXBlclwiOiAkZmEtdmFyLXRvaWxldC1wYXBlcixcbiAgXCJoZWxtZXQtc2FmZXR5XCI6ICRmYS12YXItaGVsbWV0LXNhZmV0eSxcbiAgXCJoYXJkLWhhdFwiOiAkZmEtdmFyLWhhcmQtaGF0LFxuICBcImhhdC1oYXJkXCI6ICRmYS12YXItaGF0LWhhcmQsXG4gIFwiZWplY3RcIjogJGZhLXZhci1lamVjdCxcbiAgXCJjaXJjbGUtcmlnaHRcIjogJGZhLXZhci1jaXJjbGUtcmlnaHQsXG4gIFwiYXJyb3ctYWx0LWNpcmNsZS1yaWdodFwiOiAkZmEtdmFyLWFycm93LWFsdC1jaXJjbGUtcmlnaHQsXG4gIFwicGxhbmUtY2lyY2xlLWNoZWNrXCI6ICRmYS12YXItcGxhbmUtY2lyY2xlLWNoZWNrLFxuICBcImZhY2Utcm9sbGluZy1leWVzXCI6ICRmYS12YXItZmFjZS1yb2xsaW5nLWV5ZXMsXG4gIFwibWVoLXJvbGxpbmctZXllc1wiOiAkZmEtdmFyLW1laC1yb2xsaW5nLWV5ZXMsXG4gIFwib2JqZWN0LWdyb3VwXCI6ICRmYS12YXItb2JqZWN0LWdyb3VwLFxuICBcImNoYXJ0LWxpbmVcIjogJGZhLXZhci1jaGFydC1saW5lLFxuICBcImxpbmUtY2hhcnRcIjogJGZhLXZhci1saW5lLWNoYXJ0LFxuICBcIm1hc2stdmVudGlsYXRvclwiOiAkZmEtdmFyLW1hc2stdmVudGlsYXRvcixcbiAgXCJhcnJvdy1yaWdodFwiOiAkZmEtdmFyLWFycm93LXJpZ2h0LFxuICBcInNpZ25zLXBvc3RcIjogJGZhLXZhci1zaWducy1wb3N0LFxuICBcIm1hcC1zaWduc1wiOiAkZmEtdmFyLW1hcC1zaWducyxcbiAgXCJjYXNoLXJlZ2lzdGVyXCI6ICRmYS12YXItY2FzaC1yZWdpc3RlcixcbiAgXCJwZXJzb24tY2lyY2xlLXF1ZXN0aW9uXCI6ICRmYS12YXItcGVyc29uLWNpcmNsZS1xdWVzdGlvbixcbiAgXCJoXCI6ICRmYS12YXItaCxcbiAgXCJ0YXJwXCI6ICRmYS12YXItdGFycCxcbiAgXCJzY3Jld2RyaXZlci13cmVuY2hcIjogJGZhLXZhci1zY3Jld2RyaXZlci13cmVuY2gsXG4gIFwidG9vbHNcIjogJGZhLXZhci10b29scyxcbiAgXCJhcnJvd3MtdG8tZXllXCI6ICRmYS12YXItYXJyb3dzLXRvLWV5ZSxcbiAgXCJwbHVnLWNpcmNsZS1ib2x0XCI6ICRmYS12YXItcGx1Zy1jaXJjbGUtYm9sdCxcbiAgXCJoZWFydFwiOiAkZmEtdmFyLWhlYXJ0LFxuICBcIm1hcnMtYW5kLXZlbnVzXCI6ICRmYS12YXItbWFycy1hbmQtdmVudXMsXG4gIFwiaG91c2UtdXNlclwiOiAkZmEtdmFyLWhvdXNlLXVzZXIsXG4gIFwiaG9tZS11c2VyXCI6ICRmYS12YXItaG9tZS11c2VyLFxuICBcImR1bXBzdGVyLWZpcmVcIjogJGZhLXZhci1kdW1wc3Rlci1maXJlLFxuICBcImhvdXNlLWNyYWNrXCI6ICRmYS12YXItaG91c2UtY3JhY2ssXG4gIFwibWFydGluaS1nbGFzcy1jaXRydXNcIjogJGZhLXZhci1tYXJ0aW5pLWdsYXNzLWNpdHJ1cyxcbiAgXCJjb2NrdGFpbFwiOiAkZmEtdmFyLWNvY2t0YWlsLFxuICBcImZhY2Utc3VycHJpc2VcIjogJGZhLXZhci1mYWNlLXN1cnByaXNlLFxuICBcInN1cnByaXNlXCI6ICRmYS12YXItc3VycHJpc2UsXG4gIFwiYm90dGxlLXdhdGVyXCI6ICRmYS12YXItYm90dGxlLXdhdGVyLFxuICBcImNpcmNsZS1wYXVzZVwiOiAkZmEtdmFyLWNpcmNsZS1wYXVzZSxcbiAgXCJwYXVzZS1jaXJjbGVcIjogJGZhLXZhci1wYXVzZS1jaXJjbGUsXG4gIFwidG9pbGV0LXBhcGVyLXNsYXNoXCI6ICRmYS12YXItdG9pbGV0LXBhcGVyLXNsYXNoLFxuICBcImFwcGxlLXdob2xlXCI6ICRmYS12YXItYXBwbGUtd2hvbGUsXG4gIFwiYXBwbGUtYWx0XCI6ICRmYS12YXItYXBwbGUtYWx0LFxuICBcImtpdGNoZW4tc2V0XCI6ICRmYS12YXIta2l0Y2hlbi1zZXQsXG4gIFwiclwiOiAkZmEtdmFyLXIsXG4gIFwidGVtcGVyYXR1cmUtcXVhcnRlclwiOiAkZmEtdmFyLXRlbXBlcmF0dXJlLXF1YXJ0ZXIsXG4gIFwidGVtcGVyYXR1cmUtMVwiOiAkZmEtdmFyLXRlbXBlcmF0dXJlLTEsXG4gIFwidGhlcm1vbWV0ZXItMVwiOiAkZmEtdmFyLXRoZXJtb21ldGVyLTEsXG4gIFwidGhlcm1vbWV0ZXItcXVhcnRlclwiOiAkZmEtdmFyLXRoZXJtb21ldGVyLXF1YXJ0ZXIsXG4gIFwiY3ViZVwiOiAkZmEtdmFyLWN1YmUsXG4gIFwiYml0Y29pbi1zaWduXCI6ICRmYS12YXItYml0Y29pbi1zaWduLFxuICBcInNoaWVsZC1kb2dcIjogJGZhLXZhci1zaGllbGQtZG9nLFxuICBcInNvbGFyLXBhbmVsXCI6ICRmYS12YXItc29sYXItcGFuZWwsXG4gIFwibG9jay1vcGVuXCI6ICRmYS12YXItbG9jay1vcGVuLFxuICBcImVsZXZhdG9yXCI6ICRmYS12YXItZWxldmF0b3IsXG4gIFwibW9uZXktYmlsbC10cmFuc2ZlclwiOiAkZmEtdmFyLW1vbmV5LWJpbGwtdHJhbnNmZXIsXG4gIFwibW9uZXktYmlsbC10cmVuZC11cFwiOiAkZmEtdmFyLW1vbmV5LWJpbGwtdHJlbmQtdXAsXG4gIFwiaG91c2UtZmxvb2Qtd2F0ZXItY2lyY2xlLWFycm93LXJpZ2h0XCI6ICRmYS12YXItaG91c2UtZmxvb2Qtd2F0ZXItY2lyY2xlLWFycm93LXJpZ2h0LFxuICBcInNxdWFyZS1wb2xsLWhvcml6b250YWxcIjogJGZhLXZhci1zcXVhcmUtcG9sbC1ob3Jpem9udGFsLFxuICBcInBvbGwtaFwiOiAkZmEtdmFyLXBvbGwtaCxcbiAgXCJjaXJjbGVcIjogJGZhLXZhci1jaXJjbGUsXG4gIFwiYmFja3dhcmQtZmFzdFwiOiAkZmEtdmFyLWJhY2t3YXJkLWZhc3QsXG4gIFwiZmFzdC1iYWNrd2FyZFwiOiAkZmEtdmFyLWZhc3QtYmFja3dhcmQsXG4gIFwicmVjeWNsZVwiOiAkZmEtdmFyLXJlY3ljbGUsXG4gIFwidXNlci1hc3Ryb25hdXRcIjogJGZhLXZhci11c2VyLWFzdHJvbmF1dCxcbiAgXCJwbGFuZS1zbGFzaFwiOiAkZmEtdmFyLXBsYW5lLXNsYXNoLFxuICBcInRyYWRlbWFya1wiOiAkZmEtdmFyLXRyYWRlbWFyayxcbiAgXCJiYXNrZXRiYWxsXCI6ICRmYS12YXItYmFza2V0YmFsbCxcbiAgXCJiYXNrZXRiYWxsLWJhbGxcIjogJGZhLXZhci1iYXNrZXRiYWxsLWJhbGwsXG4gIFwic2F0ZWxsaXRlLWRpc2hcIjogJGZhLXZhci1zYXRlbGxpdGUtZGlzaCxcbiAgXCJjaXJjbGUtdXBcIjogJGZhLXZhci1jaXJjbGUtdXAsXG4gIFwiYXJyb3ctYWx0LWNpcmNsZS11cFwiOiAkZmEtdmFyLWFycm93LWFsdC1jaXJjbGUtdXAsXG4gIFwibW9iaWxlLXNjcmVlbi1idXR0b25cIjogJGZhLXZhci1tb2JpbGUtc2NyZWVuLWJ1dHRvbixcbiAgXCJtb2JpbGUtYWx0XCI6ICRmYS12YXItbW9iaWxlLWFsdCxcbiAgXCJ2b2x1bWUtaGlnaFwiOiAkZmEtdmFyLXZvbHVtZS1oaWdoLFxuICBcInZvbHVtZS11cFwiOiAkZmEtdmFyLXZvbHVtZS11cCxcbiAgXCJ1c2Vycy1yYXlzXCI6ICRmYS12YXItdXNlcnMtcmF5cyxcbiAgXCJ3YWxsZXRcIjogJGZhLXZhci13YWxsZXQsXG4gIFwiY2xpcGJvYXJkLWNoZWNrXCI6ICRmYS12YXItY2xpcGJvYXJkLWNoZWNrLFxuICBcImZpbGUtYXVkaW9cIjogJGZhLXZhci1maWxlLWF1ZGlvLFxuICBcImJ1cmdlclwiOiAkZmEtdmFyLWJ1cmdlcixcbiAgXCJoYW1idXJnZXJcIjogJGZhLXZhci1oYW1idXJnZXIsXG4gIFwid3JlbmNoXCI6ICRmYS12YXItd3JlbmNoLFxuICBcImJ1Z3NcIjogJGZhLXZhci1idWdzLFxuICBcInJ1cGVlLXNpZ25cIjogJGZhLXZhci1ydXBlZS1zaWduLFxuICBcInJ1cGVlXCI6ICRmYS12YXItcnVwZWUsXG4gIFwiZmlsZS1pbWFnZVwiOiAkZmEtdmFyLWZpbGUtaW1hZ2UsXG4gIFwiY2lyY2xlLXF1ZXN0aW9uXCI6ICRmYS12YXItY2lyY2xlLXF1ZXN0aW9uLFxuICBcInF1ZXN0aW9uLWNpcmNsZVwiOiAkZmEtdmFyLXF1ZXN0aW9uLWNpcmNsZSxcbiAgXCJwbGFuZS1kZXBhcnR1cmVcIjogJGZhLXZhci1wbGFuZS1kZXBhcnR1cmUsXG4gIFwiaGFuZHNoYWtlLXNsYXNoXCI6ICRmYS12YXItaGFuZHNoYWtlLXNsYXNoLFxuICBcImJvb2stYm9va21hcmtcIjogJGZhLXZhci1ib29rLWJvb2ttYXJrLFxuICBcImNvZGUtYnJhbmNoXCI6ICRmYS12YXItY29kZS1icmFuY2gsXG4gIFwiaGF0LWNvd2JveVwiOiAkZmEtdmFyLWhhdC1jb3dib3ksXG4gIFwiYnJpZGdlXCI6ICRmYS12YXItYnJpZGdlLFxuICBcInBob25lLWZsaXBcIjogJGZhLXZhci1waG9uZS1mbGlwLFxuICBcInBob25lLWFsdFwiOiAkZmEtdmFyLXBob25lLWFsdCxcbiAgXCJ0cnVjay1mcm9udFwiOiAkZmEtdmFyLXRydWNrLWZyb250LFxuICBcImNhdFwiOiAkZmEtdmFyLWNhdCxcbiAgXCJhbmNob3ItY2lyY2xlLWV4Y2xhbWF0aW9uXCI6ICRmYS12YXItYW5jaG9yLWNpcmNsZS1leGNsYW1hdGlvbixcbiAgXCJ0cnVjay1maWVsZFwiOiAkZmEtdmFyLXRydWNrLWZpZWxkLFxuICBcInJvdXRlXCI6ICRmYS12YXItcm91dGUsXG4gIFwiY2xpcGJvYXJkLXF1ZXN0aW9uXCI6ICRmYS12YXItY2xpcGJvYXJkLXF1ZXN0aW9uLFxuICBcInBhbm9yYW1hXCI6ICRmYS12YXItcGFub3JhbWEsXG4gIFwiY29tbWVudC1tZWRpY2FsXCI6ICRmYS12YXItY29tbWVudC1tZWRpY2FsLFxuICBcInRlZXRoLW9wZW5cIjogJGZhLXZhci10ZWV0aC1vcGVuLFxuICBcImZpbGUtY2lyY2xlLW1pbnVzXCI6ICRmYS12YXItZmlsZS1jaXJjbGUtbWludXMsXG4gIFwidGFnc1wiOiAkZmEtdmFyLXRhZ3MsXG4gIFwid2luZS1nbGFzc1wiOiAkZmEtdmFyLXdpbmUtZ2xhc3MsXG4gIFwiZm9yd2FyZC1mYXN0XCI6ICRmYS12YXItZm9yd2FyZC1mYXN0LFxuICBcImZhc3QtZm9yd2FyZFwiOiAkZmEtdmFyLWZhc3QtZm9yd2FyZCxcbiAgXCJmYWNlLW1laC1ibGFua1wiOiAkZmEtdmFyLWZhY2UtbWVoLWJsYW5rLFxuICBcIm1laC1ibGFua1wiOiAkZmEtdmFyLW1laC1ibGFuayxcbiAgXCJzcXVhcmUtcGFya2luZ1wiOiAkZmEtdmFyLXNxdWFyZS1wYXJraW5nLFxuICBcInBhcmtpbmdcIjogJGZhLXZhci1wYXJraW5nLFxuICBcImhvdXNlLXNpZ25hbFwiOiAkZmEtdmFyLWhvdXNlLXNpZ25hbCxcbiAgXCJiYXJzLXByb2dyZXNzXCI6ICRmYS12YXItYmFycy1wcm9ncmVzcyxcbiAgXCJ0YXNrcy1hbHRcIjogJGZhLXZhci10YXNrcy1hbHQsXG4gIFwiZmF1Y2V0LWRyaXBcIjogJGZhLXZhci1mYXVjZXQtZHJpcCxcbiAgXCJjYXJ0LWZsYXRiZWRcIjogJGZhLXZhci1jYXJ0LWZsYXRiZWQsXG4gIFwiZG9sbHktZmxhdGJlZFwiOiAkZmEtdmFyLWRvbGx5LWZsYXRiZWQsXG4gIFwiYmFuLXNtb2tpbmdcIjogJGZhLXZhci1iYW4tc21va2luZyxcbiAgXCJzbW9raW5nLWJhblwiOiAkZmEtdmFyLXNtb2tpbmctYmFuLFxuICBcInRlcm1pbmFsXCI6ICRmYS12YXItdGVybWluYWwsXG4gIFwibW9iaWxlLWJ1dHRvblwiOiAkZmEtdmFyLW1vYmlsZS1idXR0b24sXG4gIFwiaG91c2UtbWVkaWNhbC1mbGFnXCI6ICRmYS12YXItaG91c2UtbWVkaWNhbC1mbGFnLFxuICBcImJhc2tldC1zaG9wcGluZ1wiOiAkZmEtdmFyLWJhc2tldC1zaG9wcGluZyxcbiAgXCJzaG9wcGluZy1iYXNrZXRcIjogJGZhLXZhci1zaG9wcGluZy1iYXNrZXQsXG4gIFwidGFwZVwiOiAkZmEtdmFyLXRhcGUsXG4gIFwiYnVzLXNpbXBsZVwiOiAkZmEtdmFyLWJ1cy1zaW1wbGUsXG4gIFwiYnVzLWFsdFwiOiAkZmEtdmFyLWJ1cy1hbHQsXG4gIFwiZXllXCI6ICRmYS12YXItZXllLFxuICBcImZhY2Utc2FkLWNyeVwiOiAkZmEtdmFyLWZhY2Utc2FkLWNyeSxcbiAgXCJzYWQtY3J5XCI6ICRmYS12YXItc2FkLWNyeSxcbiAgXCJhdWRpby1kZXNjcmlwdGlvblwiOiAkZmEtdmFyLWF1ZGlvLWRlc2NyaXB0aW9uLFxuICBcInBlcnNvbi1taWxpdGFyeS10by1wZXJzb25cIjogJGZhLXZhci1wZXJzb24tbWlsaXRhcnktdG8tcGVyc29uLFxuICBcImZpbGUtc2hpZWxkXCI6ICRmYS12YXItZmlsZS1zaGllbGQsXG4gIFwidXNlci1zbGFzaFwiOiAkZmEtdmFyLXVzZXItc2xhc2gsXG4gIFwicGVuXCI6ICRmYS12YXItcGVuLFxuICBcInRvd2VyLW9ic2VydmF0aW9uXCI6ICRmYS12YXItdG93ZXItb2JzZXJ2YXRpb24sXG4gIFwiZmlsZS1jb2RlXCI6ICRmYS12YXItZmlsZS1jb2RlLFxuICBcInNpZ25hbFwiOiAkZmEtdmFyLXNpZ25hbCxcbiAgXCJzaWduYWwtNVwiOiAkZmEtdmFyLXNpZ25hbC01LFxuICBcInNpZ25hbC1wZXJmZWN0XCI6ICRmYS12YXItc2lnbmFsLXBlcmZlY3QsXG4gIFwiYnVzXCI6ICRmYS12YXItYnVzLFxuICBcImhlYXJ0LWNpcmNsZS14bWFya1wiOiAkZmEtdmFyLWhlYXJ0LWNpcmNsZS14bWFyayxcbiAgXCJob3VzZS1jaGltbmV5XCI6ICRmYS12YXItaG91c2UtY2hpbW5leSxcbiAgXCJob21lLWxnXCI6ICRmYS12YXItaG9tZS1sZyxcbiAgXCJ3aW5kb3ctbWF4aW1pemVcIjogJGZhLXZhci13aW5kb3ctbWF4aW1pemUsXG4gIFwiZmFjZS1mcm93blwiOiAkZmEtdmFyLWZhY2UtZnJvd24sXG4gIFwiZnJvd25cIjogJGZhLXZhci1mcm93bixcbiAgXCJwcmVzY3JpcHRpb25cIjogJGZhLXZhci1wcmVzY3JpcHRpb24sXG4gIFwic2hvcFwiOiAkZmEtdmFyLXNob3AsXG4gIFwic3RvcmUtYWx0XCI6ICRmYS12YXItc3RvcmUtYWx0LFxuICBcImZsb3BweS1kaXNrXCI6ICRmYS12YXItZmxvcHB5LWRpc2ssXG4gIFwic2F2ZVwiOiAkZmEtdmFyLXNhdmUsXG4gIFwidmloYXJhXCI6ICRmYS12YXItdmloYXJhLFxuICBcInNjYWxlLXVuYmFsYW5jZWRcIjogJGZhLXZhci1zY2FsZS11bmJhbGFuY2VkLFxuICBcImJhbGFuY2Utc2NhbGUtbGVmdFwiOiAkZmEtdmFyLWJhbGFuY2Utc2NhbGUtbGVmdCxcbiAgXCJzb3J0LXVwXCI6ICRmYS12YXItc29ydC11cCxcbiAgXCJzb3J0LWFzY1wiOiAkZmEtdmFyLXNvcnQtYXNjLFxuICBcImNvbW1lbnQtZG90c1wiOiAkZmEtdmFyLWNvbW1lbnQtZG90cyxcbiAgXCJjb21tZW50aW5nXCI6ICRmYS12YXItY29tbWVudGluZyxcbiAgXCJwbGFudC13aWx0XCI6ICRmYS12YXItcGxhbnQtd2lsdCxcbiAgXCJkaWFtb25kXCI6ICRmYS12YXItZGlhbW9uZCxcbiAgXCJmYWNlLWdyaW4tc3F1aW50XCI6ICRmYS12YXItZmFjZS1ncmluLXNxdWludCxcbiAgXCJncmluLXNxdWludFwiOiAkZmEtdmFyLWdyaW4tc3F1aW50LFxuICBcImhhbmQtaG9sZGluZy1kb2xsYXJcIjogJGZhLXZhci1oYW5kLWhvbGRpbmctZG9sbGFyLFxuICBcImhhbmQtaG9sZGluZy11c2RcIjogJGZhLXZhci1oYW5kLWhvbGRpbmctdXNkLFxuICBcImJhY3Rlcml1bVwiOiAkZmEtdmFyLWJhY3Rlcml1bSxcbiAgXCJoYW5kLXBvaW50ZXJcIjogJGZhLXZhci1oYW5kLXBvaW50ZXIsXG4gIFwiZHJ1bS1zdGVlbHBhblwiOiAkZmEtdmFyLWRydW0tc3RlZWxwYW4sXG4gIFwiaGFuZC1zY2lzc29yc1wiOiAkZmEtdmFyLWhhbmQtc2Npc3NvcnMsXG4gIFwiaGFuZHMtcHJheWluZ1wiOiAkZmEtdmFyLWhhbmRzLXByYXlpbmcsXG4gIFwicHJheWluZy1oYW5kc1wiOiAkZmEtdmFyLXByYXlpbmctaGFuZHMsXG4gIFwiYXJyb3ctcm90YXRlLXJpZ2h0XCI6ICRmYS12YXItYXJyb3ctcm90YXRlLXJpZ2h0LFxuICBcImFycm93LXJpZ2h0LXJvdGF0ZVwiOiAkZmEtdmFyLWFycm93LXJpZ2h0LXJvdGF0ZSxcbiAgXCJhcnJvdy1yb3RhdGUtZm9yd2FyZFwiOiAkZmEtdmFyLWFycm93LXJvdGF0ZS1mb3J3YXJkLFxuICBcInJlZG9cIjogJGZhLXZhci1yZWRvLFxuICBcImJpb2hhemFyZFwiOiAkZmEtdmFyLWJpb2hhemFyZCxcbiAgXCJsb2NhdGlvbi1jcm9zc2hhaXJzXCI6ICRmYS12YXItbG9jYXRpb24tY3Jvc3NoYWlycyxcbiAgXCJsb2NhdGlvblwiOiAkZmEtdmFyLWxvY2F0aW9uLFxuICBcIm1hcnMtZG91YmxlXCI6ICRmYS12YXItbWFycy1kb3VibGUsXG4gIFwiY2hpbGQtZHJlc3NcIjogJGZhLXZhci1jaGlsZC1kcmVzcyxcbiAgXCJ1c2Vycy1iZXR3ZWVuLWxpbmVzXCI6ICRmYS12YXItdXNlcnMtYmV0d2Vlbi1saW5lcyxcbiAgXCJsdW5ncy12aXJ1c1wiOiAkZmEtdmFyLWx1bmdzLXZpcnVzLFxuICBcImZhY2UtZ3Jpbi10ZWFyc1wiOiAkZmEtdmFyLWZhY2UtZ3Jpbi10ZWFycyxcbiAgXCJncmluLXRlYXJzXCI6ICRmYS12YXItZ3Jpbi10ZWFycyxcbiAgXCJwaG9uZVwiOiAkZmEtdmFyLXBob25lLFxuICBcImNhbGVuZGFyLXhtYXJrXCI6ICRmYS12YXItY2FsZW5kYXIteG1hcmssXG4gIFwiY2FsZW5kYXItdGltZXNcIjogJGZhLXZhci1jYWxlbmRhci10aW1lcyxcbiAgXCJjaGlsZC1yZWFjaGluZ1wiOiAkZmEtdmFyLWNoaWxkLXJlYWNoaW5nLFxuICBcImhlYWQtc2lkZS12aXJ1c1wiOiAkZmEtdmFyLWhlYWQtc2lkZS12aXJ1cyxcbiAgXCJ1c2VyLWdlYXJcIjogJGZhLXZhci11c2VyLWdlYXIsXG4gIFwidXNlci1jb2dcIjogJGZhLXZhci11c2VyLWNvZyxcbiAgXCJhcnJvdy11cC0xLTlcIjogJGZhLXZhci1hcnJvdy11cC0xLTksXG4gIFwic29ydC1udW1lcmljLXVwXCI6ICRmYS12YXItc29ydC1udW1lcmljLXVwLFxuICBcImRvb3ItY2xvc2VkXCI6ICRmYS12YXItZG9vci1jbG9zZWQsXG4gIFwic2hpZWxkLXZpcnVzXCI6ICRmYS12YXItc2hpZWxkLXZpcnVzLFxuICBcImRpY2Utc2l4XCI6ICRmYS12YXItZGljZS1zaXgsXG4gIFwibW9zcXVpdG8tbmV0XCI6ICRmYS12YXItbW9zcXVpdG8tbmV0LFxuICBcImJyaWRnZS13YXRlclwiOiAkZmEtdmFyLWJyaWRnZS13YXRlcixcbiAgXCJwZXJzb24tYm9vdGhcIjogJGZhLXZhci1wZXJzb24tYm9vdGgsXG4gIFwidGV4dC13aWR0aFwiOiAkZmEtdmFyLXRleHQtd2lkdGgsXG4gIFwiaGF0LXdpemFyZFwiOiAkZmEtdmFyLWhhdC13aXphcmQsXG4gIFwicGVuLWZhbmN5XCI6ICRmYS12YXItcGVuLWZhbmN5LFxuICBcInBlcnNvbi1kaWdnaW5nXCI6ICRmYS12YXItcGVyc29uLWRpZ2dpbmcsXG4gIFwiZGlnZ2luZ1wiOiAkZmEtdmFyLWRpZ2dpbmcsXG4gIFwidHJhc2hcIjogJGZhLXZhci10cmFzaCxcbiAgXCJnYXVnZS1zaW1wbGVcIjogJGZhLXZhci1nYXVnZS1zaW1wbGUsXG4gIFwiZ2F1Z2Utc2ltcGxlLW1lZFwiOiAkZmEtdmFyLWdhdWdlLXNpbXBsZS1tZWQsXG4gIFwidGFjaG9tZXRlci1hdmVyYWdlXCI6ICRmYS12YXItdGFjaG9tZXRlci1hdmVyYWdlLFxuICBcImJvb2stbWVkaWNhbFwiOiAkZmEtdmFyLWJvb2stbWVkaWNhbCxcbiAgXCJwb29cIjogJGZhLXZhci1wb28sXG4gIFwicXVvdGUtcmlnaHRcIjogJGZhLXZhci1xdW90ZS1yaWdodCxcbiAgXCJxdW90ZS1yaWdodC1hbHRcIjogJGZhLXZhci1xdW90ZS1yaWdodC1hbHQsXG4gIFwic2hpcnRcIjogJGZhLXZhci1zaGlydCxcbiAgXCJ0LXNoaXJ0XCI6ICRmYS12YXItdC1zaGlydCxcbiAgXCJ0c2hpcnRcIjogJGZhLXZhci10c2hpcnQsXG4gIFwiY3ViZXNcIjogJGZhLXZhci1jdWJlcyxcbiAgXCJkaXZpZGVcIjogJGZhLXZhci1kaXZpZGUsXG4gIFwidGVuZ2Utc2lnblwiOiAkZmEtdmFyLXRlbmdlLXNpZ24sXG4gIFwidGVuZ2VcIjogJGZhLXZhci10ZW5nZSxcbiAgXCJoZWFkcGhvbmVzXCI6ICRmYS12YXItaGVhZHBob25lcyxcbiAgXCJoYW5kcy1ob2xkaW5nXCI6ICRmYS12YXItaGFuZHMtaG9sZGluZyxcbiAgXCJoYW5kcy1jbGFwcGluZ1wiOiAkZmEtdmFyLWhhbmRzLWNsYXBwaW5nLFxuICBcInJlcHVibGljYW5cIjogJGZhLXZhci1yZXB1YmxpY2FuLFxuICBcImFycm93LWxlZnRcIjogJGZhLXZhci1hcnJvdy1sZWZ0LFxuICBcInBlcnNvbi1jaXJjbGUteG1hcmtcIjogJGZhLXZhci1wZXJzb24tY2lyY2xlLXhtYXJrLFxuICBcInJ1bGVyXCI6ICRmYS12YXItcnVsZXIsXG4gIFwiYWxpZ24tbGVmdFwiOiAkZmEtdmFyLWFsaWduLWxlZnQsXG4gIFwiZGljZS1kNlwiOiAkZmEtdmFyLWRpY2UtZDYsXG4gIFwicmVzdHJvb21cIjogJGZhLXZhci1yZXN0cm9vbSxcbiAgXCJqXCI6ICRmYS12YXItaixcbiAgXCJ1c2Vycy12aWV3ZmluZGVyXCI6ICRmYS12YXItdXNlcnMtdmlld2ZpbmRlcixcbiAgXCJmaWxlLXZpZGVvXCI6ICRmYS12YXItZmlsZS12aWRlbyxcbiAgXCJ1cC1yaWdodC1mcm9tLXNxdWFyZVwiOiAkZmEtdmFyLXVwLXJpZ2h0LWZyb20tc3F1YXJlLFxuICBcImV4dGVybmFsLWxpbmstYWx0XCI6ICRmYS12YXItZXh0ZXJuYWwtbGluay1hbHQsXG4gIFwidGFibGUtY2VsbHNcIjogJGZhLXZhci10YWJsZS1jZWxscyxcbiAgXCJ0aFwiOiAkZmEtdmFyLXRoLFxuICBcImZpbGUtcGRmXCI6ICRmYS12YXItZmlsZS1wZGYsXG4gIFwiYm9vay1iaWJsZVwiOiAkZmEtdmFyLWJvb2stYmlibGUsXG4gIFwiYmlibGVcIjogJGZhLXZhci1iaWJsZSxcbiAgXCJvXCI6ICRmYS12YXItbyxcbiAgXCJzdWl0Y2FzZS1tZWRpY2FsXCI6ICRmYS12YXItc3VpdGNhc2UtbWVkaWNhbCxcbiAgXCJtZWRraXRcIjogJGZhLXZhci1tZWRraXQsXG4gIFwidXNlci1zZWNyZXRcIjogJGZhLXZhci11c2VyLXNlY3JldCxcbiAgXCJvdHRlclwiOiAkZmEtdmFyLW90dGVyLFxuICBcInBlcnNvbi1kcmVzc1wiOiAkZmEtdmFyLXBlcnNvbi1kcmVzcyxcbiAgXCJmZW1hbGVcIjogJGZhLXZhci1mZW1hbGUsXG4gIFwiY29tbWVudC1kb2xsYXJcIjogJGZhLXZhci1jb21tZW50LWRvbGxhcixcbiAgXCJidXNpbmVzcy10aW1lXCI6ICRmYS12YXItYnVzaW5lc3MtdGltZSxcbiAgXCJicmllZmNhc2UtY2xvY2tcIjogJGZhLXZhci1icmllZmNhc2UtY2xvY2ssXG4gIFwidGFibGUtY2VsbHMtbGFyZ2VcIjogJGZhLXZhci10YWJsZS1jZWxscy1sYXJnZSxcbiAgXCJ0aC1sYXJnZVwiOiAkZmEtdmFyLXRoLWxhcmdlLFxuICBcImJvb2stdGFuYWtoXCI6ICRmYS12YXItYm9vay10YW5ha2gsXG4gIFwidGFuYWtoXCI6ICRmYS12YXItdGFuYWtoLFxuICBcInBob25lLXZvbHVtZVwiOiAkZmEtdmFyLXBob25lLXZvbHVtZSxcbiAgXCJ2b2x1bWUtY29udHJvbC1waG9uZVwiOiAkZmEtdmFyLXZvbHVtZS1jb250cm9sLXBob25lLFxuICBcImhhdC1jb3dib3ktc2lkZVwiOiAkZmEtdmFyLWhhdC1jb3dib3ktc2lkZSxcbiAgXCJjbGlwYm9hcmQtdXNlclwiOiAkZmEtdmFyLWNsaXBib2FyZC11c2VyLFxuICBcImNoaWxkXCI6ICRmYS12YXItY2hpbGQsXG4gIFwibGlyYS1zaWduXCI6ICRmYS12YXItbGlyYS1zaWduLFxuICBcInNhdGVsbGl0ZVwiOiAkZmEtdmFyLXNhdGVsbGl0ZSxcbiAgXCJwbGFuZS1sb2NrXCI6ICRmYS12YXItcGxhbmUtbG9jayxcbiAgXCJ0YWdcIjogJGZhLXZhci10YWcsXG4gIFwiY29tbWVudFwiOiAkZmEtdmFyLWNvbW1lbnQsXG4gIFwiY2FrZS1jYW5kbGVzXCI6ICRmYS12YXItY2FrZS1jYW5kbGVzLFxuICBcImJpcnRoZGF5LWNha2VcIjogJGZhLXZhci1iaXJ0aGRheS1jYWtlLFxuICBcImNha2VcIjogJGZhLXZhci1jYWtlLFxuICBcImVudmVsb3BlXCI6ICRmYS12YXItZW52ZWxvcGUsXG4gIFwiYW5nbGVzLXVwXCI6ICRmYS12YXItYW5nbGVzLXVwLFxuICBcImFuZ2xlLWRvdWJsZS11cFwiOiAkZmEtdmFyLWFuZ2xlLWRvdWJsZS11cCxcbiAgXCJwYXBlcmNsaXBcIjogJGZhLXZhci1wYXBlcmNsaXAsXG4gIFwiYXJyb3ctcmlnaHQtdG8tY2l0eVwiOiAkZmEtdmFyLWFycm93LXJpZ2h0LXRvLWNpdHksXG4gIFwicmliYm9uXCI6ICRmYS12YXItcmliYm9uLFxuICBcImx1bmdzXCI6ICRmYS12YXItbHVuZ3MsXG4gIFwiYXJyb3ctdXAtOS0xXCI6ICRmYS12YXItYXJyb3ctdXAtOS0xLFxuICBcInNvcnQtbnVtZXJpYy11cC1hbHRcIjogJGZhLXZhci1zb3J0LW51bWVyaWMtdXAtYWx0LFxuICBcImxpdGVjb2luLXNpZ25cIjogJGZhLXZhci1saXRlY29pbi1zaWduLFxuICBcImJvcmRlci1ub25lXCI6ICRmYS12YXItYm9yZGVyLW5vbmUsXG4gIFwiY2lyY2xlLW5vZGVzXCI6ICRmYS12YXItY2lyY2xlLW5vZGVzLFxuICBcInBhcmFjaHV0ZS1ib3hcIjogJGZhLXZhci1wYXJhY2h1dGUtYm94LFxuICBcImluZGVudFwiOiAkZmEtdmFyLWluZGVudCxcbiAgXCJ0cnVjay1maWVsZC11blwiOiAkZmEtdmFyLXRydWNrLWZpZWxkLXVuLFxuICBcImhvdXJnbGFzc1wiOiAkZmEtdmFyLWhvdXJnbGFzcyxcbiAgXCJob3VyZ2xhc3MtZW1wdHlcIjogJGZhLXZhci1ob3VyZ2xhc3MtZW1wdHksXG4gIFwibW91bnRhaW5cIjogJGZhLXZhci1tb3VudGFpbixcbiAgXCJ1c2VyLWRvY3RvclwiOiAkZmEtdmFyLXVzZXItZG9jdG9yLFxuICBcInVzZXItbWRcIjogJGZhLXZhci11c2VyLW1kLFxuICBcImNpcmNsZS1pbmZvXCI6ICRmYS12YXItY2lyY2xlLWluZm8sXG4gIFwiaW5mby1jaXJjbGVcIjogJGZhLXZhci1pbmZvLWNpcmNsZSxcbiAgXCJjbG91ZC1tZWF0YmFsbFwiOiAkZmEtdmFyLWNsb3VkLW1lYXRiYWxsLFxuICBcImNhbWVyYVwiOiAkZmEtdmFyLWNhbWVyYSxcbiAgXCJjYW1lcmEtYWx0XCI6ICRmYS12YXItY2FtZXJhLWFsdCxcbiAgXCJzcXVhcmUtdmlydXNcIjogJGZhLXZhci1zcXVhcmUtdmlydXMsXG4gIFwibWV0ZW9yXCI6ICRmYS12YXItbWV0ZW9yLFxuICBcImNhci1vblwiOiAkZmEtdmFyLWNhci1vbixcbiAgXCJzbGVpZ2hcIjogJGZhLXZhci1zbGVpZ2gsXG4gIFwiYXJyb3ctZG93bi0xLTlcIjogJGZhLXZhci1hcnJvdy1kb3duLTEtOSxcbiAgXCJzb3J0LW51bWVyaWMtYXNjXCI6ICRmYS12YXItc29ydC1udW1lcmljLWFzYyxcbiAgXCJzb3J0LW51bWVyaWMtZG93blwiOiAkZmEtdmFyLXNvcnQtbnVtZXJpYy1kb3duLFxuICBcImhhbmQtaG9sZGluZy1kcm9wbGV0XCI6ICRmYS12YXItaGFuZC1ob2xkaW5nLWRyb3BsZXQsXG4gIFwiaGFuZC1ob2xkaW5nLXdhdGVyXCI6ICRmYS12YXItaGFuZC1ob2xkaW5nLXdhdGVyLFxuICBcIndhdGVyXCI6ICRmYS12YXItd2F0ZXIsXG4gIFwiY2FsZW5kYXItY2hlY2tcIjogJGZhLXZhci1jYWxlbmRhci1jaGVjayxcbiAgXCJicmFpbGxlXCI6ICRmYS12YXItYnJhaWxsZSxcbiAgXCJwcmVzY3JpcHRpb24tYm90dGxlLW1lZGljYWxcIjogJGZhLXZhci1wcmVzY3JpcHRpb24tYm90dGxlLW1lZGljYWwsXG4gIFwicHJlc2NyaXB0aW9uLWJvdHRsZS1hbHRcIjogJGZhLXZhci1wcmVzY3JpcHRpb24tYm90dGxlLWFsdCxcbiAgXCJsYW5kbWFya1wiOiAkZmEtdmFyLWxhbmRtYXJrLFxuICBcInRydWNrXCI6ICRmYS12YXItdHJ1Y2ssXG4gIFwiY3Jvc3NoYWlyc1wiOiAkZmEtdmFyLWNyb3NzaGFpcnMsXG4gIFwicGVyc29uLWNhbmVcIjogJGZhLXZhci1wZXJzb24tY2FuZSxcbiAgXCJ0ZW50XCI6ICRmYS12YXItdGVudCxcbiAgXCJ2ZXN0LXBhdGNoZXNcIjogJGZhLXZhci12ZXN0LXBhdGNoZXMsXG4gIFwiY2hlY2stZG91YmxlXCI6ICRmYS12YXItY2hlY2stZG91YmxlLFxuICBcImFycm93LWRvd24tYS16XCI6ICRmYS12YXItYXJyb3ctZG93bi1hLXosXG4gIFwic29ydC1hbHBoYS1hc2NcIjogJGZhLXZhci1zb3J0LWFscGhhLWFzYyxcbiAgXCJzb3J0LWFscGhhLWRvd25cIjogJGZhLXZhci1zb3J0LWFscGhhLWRvd24sXG4gIFwibW9uZXktYmlsbC13aGVhdFwiOiAkZmEtdmFyLW1vbmV5LWJpbGwtd2hlYXQsXG4gIFwiY29va2llXCI6ICRmYS12YXItY29va2llLFxuICBcImFycm93LXJvdGF0ZS1sZWZ0XCI6ICRmYS12YXItYXJyb3ctcm90YXRlLWxlZnQsXG4gIFwiYXJyb3ctbGVmdC1yb3RhdGVcIjogJGZhLXZhci1hcnJvdy1sZWZ0LXJvdGF0ZSxcbiAgXCJhcnJvdy1yb3RhdGUtYmFja1wiOiAkZmEtdmFyLWFycm93LXJvdGF0ZS1iYWNrLFxuICBcImFycm93LXJvdGF0ZS1iYWNrd2FyZFwiOiAkZmEtdmFyLWFycm93LXJvdGF0ZS1iYWNrd2FyZCxcbiAgXCJ1bmRvXCI6ICRmYS12YXItdW5kbyxcbiAgXCJoYXJkLWRyaXZlXCI6ICRmYS12YXItaGFyZC1kcml2ZSxcbiAgXCJoZGRcIjogJGZhLXZhci1oZGQsXG4gIFwiZmFjZS1ncmluLXNxdWludC10ZWFyc1wiOiAkZmEtdmFyLWZhY2UtZ3Jpbi1zcXVpbnQtdGVhcnMsXG4gIFwiZ3Jpbi1zcXVpbnQtdGVhcnNcIjogJGZhLXZhci1ncmluLXNxdWludC10ZWFycyxcbiAgXCJkdW1iYmVsbFwiOiAkZmEtdmFyLWR1bWJiZWxsLFxuICBcInJlY3RhbmdsZS1saXN0XCI6ICRmYS12YXItcmVjdGFuZ2xlLWxpc3QsXG4gIFwibGlzdC1hbHRcIjogJGZhLXZhci1saXN0LWFsdCxcbiAgXCJ0YXJwLWRyb3BsZXRcIjogJGZhLXZhci10YXJwLWRyb3BsZXQsXG4gIFwiaG91c2UtbWVkaWNhbC1jaXJjbGUtY2hlY2tcIjogJGZhLXZhci1ob3VzZS1tZWRpY2FsLWNpcmNsZS1jaGVjayxcbiAgXCJwZXJzb24tc2tpaW5nLW5vcmRpY1wiOiAkZmEtdmFyLXBlcnNvbi1za2lpbmctbm9yZGljLFxuICBcInNraWluZy1ub3JkaWNcIjogJGZhLXZhci1za2lpbmctbm9yZGljLFxuICBcImNhbGVuZGFyLXBsdXNcIjogJGZhLXZhci1jYWxlbmRhci1wbHVzLFxuICBcInBsYW5lLWFycml2YWxcIjogJGZhLXZhci1wbGFuZS1hcnJpdmFsLFxuICBcImNpcmNsZS1sZWZ0XCI6ICRmYS12YXItY2lyY2xlLWxlZnQsXG4gIFwiYXJyb3ctYWx0LWNpcmNsZS1sZWZ0XCI6ICRmYS12YXItYXJyb3ctYWx0LWNpcmNsZS1sZWZ0LFxuICBcInRyYWluLXN1YndheVwiOiAkZmEtdmFyLXRyYWluLXN1YndheSxcbiAgXCJzdWJ3YXlcIjogJGZhLXZhci1zdWJ3YXksXG4gIFwiY2hhcnQtZ2FudHRcIjogJGZhLXZhci1jaGFydC1nYW50dCxcbiAgXCJpbmRpYW4tcnVwZWUtc2lnblwiOiAkZmEtdmFyLWluZGlhbi1ydXBlZS1zaWduLFxuICBcImluZGlhbi1ydXBlZVwiOiAkZmEtdmFyLWluZGlhbi1ydXBlZSxcbiAgXCJpbnJcIjogJGZhLXZhci1pbnIsXG4gIFwiY3JvcC1zaW1wbGVcIjogJGZhLXZhci1jcm9wLXNpbXBsZSxcbiAgXCJjcm9wLWFsdFwiOiAkZmEtdmFyLWNyb3AtYWx0LFxuICBcIm1vbmV5LWJpbGwtMVwiOiAkZmEtdmFyLW1vbmV5LWJpbGwtMSxcbiAgXCJtb25leS1iaWxsLWFsdFwiOiAkZmEtdmFyLW1vbmV5LWJpbGwtYWx0LFxuICBcImxlZnQtbG9uZ1wiOiAkZmEtdmFyLWxlZnQtbG9uZyxcbiAgXCJsb25nLWFycm93LWFsdC1sZWZ0XCI6ICRmYS12YXItbG9uZy1hcnJvdy1hbHQtbGVmdCxcbiAgXCJkbmFcIjogJGZhLXZhci1kbmEsXG4gIFwidmlydXMtc2xhc2hcIjogJGZhLXZhci12aXJ1cy1zbGFzaCxcbiAgXCJtaW51c1wiOiAkZmEtdmFyLW1pbnVzLFxuICBcInN1YnRyYWN0XCI6ICRmYS12YXItc3VidHJhY3QsXG4gIFwiY2hlc3NcIjogJGZhLXZhci1jaGVzcyxcbiAgXCJhcnJvdy1sZWZ0LWxvbmdcIjogJGZhLXZhci1hcnJvdy1sZWZ0LWxvbmcsXG4gIFwibG9uZy1hcnJvdy1sZWZ0XCI6ICRmYS12YXItbG9uZy1hcnJvdy1sZWZ0LFxuICBcInBsdWctY2lyY2xlLWNoZWNrXCI6ICRmYS12YXItcGx1Zy1jaXJjbGUtY2hlY2ssXG4gIFwic3RyZWV0LXZpZXdcIjogJGZhLXZhci1zdHJlZXQtdmlldyxcbiAgXCJmcmFuYy1zaWduXCI6ICRmYS12YXItZnJhbmMtc2lnbixcbiAgXCJ2b2x1bWUtb2ZmXCI6ICRmYS12YXItdm9sdW1lLW9mZixcbiAgXCJoYW5kcy1hc2wtaW50ZXJwcmV0aW5nXCI6ICRmYS12YXItaGFuZHMtYXNsLWludGVycHJldGluZyxcbiAgXCJhbWVyaWNhbi1zaWduLWxhbmd1YWdlLWludGVycHJldGluZ1wiOiAkZmEtdmFyLWFtZXJpY2FuLXNpZ24tbGFuZ3VhZ2UtaW50ZXJwcmV0aW5nLFxuICBcImFzbC1pbnRlcnByZXRpbmdcIjogJGZhLXZhci1hc2wtaW50ZXJwcmV0aW5nLFxuICBcImhhbmRzLWFtZXJpY2FuLXNpZ24tbGFuZ3VhZ2UtaW50ZXJwcmV0aW5nXCI6ICRmYS12YXItaGFuZHMtYW1lcmljYW4tc2lnbi1sYW5ndWFnZS1pbnRlcnByZXRpbmcsXG4gIFwiZ2VhclwiOiAkZmEtdmFyLWdlYXIsXG4gIFwiY29nXCI6ICRmYS12YXItY29nLFxuICBcImRyb3BsZXQtc2xhc2hcIjogJGZhLXZhci1kcm9wbGV0LXNsYXNoLFxuICBcInRpbnQtc2xhc2hcIjogJGZhLXZhci10aW50LXNsYXNoLFxuICBcIm1vc3F1ZVwiOiAkZmEtdmFyLW1vc3F1ZSxcbiAgXCJtb3NxdWl0b1wiOiAkZmEtdmFyLW1vc3F1aXRvLFxuICBcInN0YXItb2YtZGF2aWRcIjogJGZhLXZhci1zdGFyLW9mLWRhdmlkLFxuICBcInBlcnNvbi1taWxpdGFyeS1yaWZsZVwiOiAkZmEtdmFyLXBlcnNvbi1taWxpdGFyeS1yaWZsZSxcbiAgXCJjYXJ0LXNob3BwaW5nXCI6ICRmYS12YXItY2FydC1zaG9wcGluZyxcbiAgXCJzaG9wcGluZy1jYXJ0XCI6ICRmYS12YXItc2hvcHBpbmctY2FydCxcbiAgXCJ2aWFsc1wiOiAkZmEtdmFyLXZpYWxzLFxuICBcInBsdWctY2lyY2xlLXBsdXNcIjogJGZhLXZhci1wbHVnLWNpcmNsZS1wbHVzLFxuICBcInBsYWNlLW9mLXdvcnNoaXBcIjogJGZhLXZhci1wbGFjZS1vZi13b3JzaGlwLFxuICBcImdyaXAtdmVydGljYWxcIjogJGZhLXZhci1ncmlwLXZlcnRpY2FsLFxuICBcImFycm93LXR1cm4tdXBcIjogJGZhLXZhci1hcnJvdy10dXJuLXVwLFxuICBcImxldmVsLXVwXCI6ICRmYS12YXItbGV2ZWwtdXAsXG4gIFwidVwiOiAkZmEtdmFyLXUsXG4gIFwic3F1YXJlLXJvb3QtdmFyaWFibGVcIjogJGZhLXZhci1zcXVhcmUtcm9vdC12YXJpYWJsZSxcbiAgXCJzcXVhcmUtcm9vdC1hbHRcIjogJGZhLXZhci1zcXVhcmUtcm9vdC1hbHQsXG4gIFwiY2xvY2tcIjogJGZhLXZhci1jbG9jayxcbiAgXCJjbG9jay1mb3VyXCI6ICRmYS12YXItY2xvY2stZm91cixcbiAgXCJiYWNrd2FyZC1zdGVwXCI6ICRmYS12YXItYmFja3dhcmQtc3RlcCxcbiAgXCJzdGVwLWJhY2t3YXJkXCI6ICRmYS12YXItc3RlcC1iYWNrd2FyZCxcbiAgXCJwYWxsZXRcIjogJGZhLXZhci1wYWxsZXQsXG4gIFwiZmF1Y2V0XCI6ICRmYS12YXItZmF1Y2V0LFxuICBcImJhc2ViYWxsLWJhdC1iYWxsXCI6ICRmYS12YXItYmFzZWJhbGwtYmF0LWJhbGwsXG4gIFwic1wiOiAkZmEtdmFyLXMsXG4gIFwidGltZWxpbmVcIjogJGZhLXZhci10aW1lbGluZSxcbiAgXCJrZXlib2FyZFwiOiAkZmEtdmFyLWtleWJvYXJkLFxuICBcImNhcmV0LWRvd25cIjogJGZhLXZhci1jYXJldC1kb3duLFxuICBcImhvdXNlLWNoaW1uZXktbWVkaWNhbFwiOiAkZmEtdmFyLWhvdXNlLWNoaW1uZXktbWVkaWNhbCxcbiAgXCJjbGluaWMtbWVkaWNhbFwiOiAkZmEtdmFyLWNsaW5pYy1tZWRpY2FsLFxuICBcInRlbXBlcmF0dXJlLXRocmVlLXF1YXJ0ZXJzXCI6ICRmYS12YXItdGVtcGVyYXR1cmUtdGhyZWUtcXVhcnRlcnMsXG4gIFwidGVtcGVyYXR1cmUtM1wiOiAkZmEtdmFyLXRlbXBlcmF0dXJlLTMsXG4gIFwidGhlcm1vbWV0ZXItM1wiOiAkZmEtdmFyLXRoZXJtb21ldGVyLTMsXG4gIFwidGhlcm1vbWV0ZXItdGhyZWUtcXVhcnRlcnNcIjogJGZhLXZhci10aGVybW9tZXRlci10aHJlZS1xdWFydGVycyxcbiAgXCJtb2JpbGUtc2NyZWVuXCI6ICRmYS12YXItbW9iaWxlLXNjcmVlbixcbiAgXCJtb2JpbGUtYW5kcm9pZC1hbHRcIjogJGZhLXZhci1tb2JpbGUtYW5kcm9pZC1hbHQsXG4gIFwicGxhbmUtdXBcIjogJGZhLXZhci1wbGFuZS11cCxcbiAgXCJwaWdneS1iYW5rXCI6ICRmYS12YXItcGlnZ3ktYmFuayxcbiAgXCJiYXR0ZXJ5LWhhbGZcIjogJGZhLXZhci1iYXR0ZXJ5LWhhbGYsXG4gIFwiYmF0dGVyeS0zXCI6ICRmYS12YXItYmF0dGVyeS0zLFxuICBcIm1vdW50YWluLWNpdHlcIjogJGZhLXZhci1tb3VudGFpbi1jaXR5LFxuICBcImNvaW5zXCI6ICRmYS12YXItY29pbnMsXG4gIFwia2hhbmRhXCI6ICRmYS12YXIta2hhbmRhLFxuICBcInNsaWRlcnNcIjogJGZhLXZhci1zbGlkZXJzLFxuICBcInNsaWRlcnMtaFwiOiAkZmEtdmFyLXNsaWRlcnMtaCxcbiAgXCJmb2xkZXItdHJlZVwiOiAkZmEtdmFyLWZvbGRlci10cmVlLFxuICBcIm5ldHdvcmstd2lyZWRcIjogJGZhLXZhci1uZXR3b3JrLXdpcmVkLFxuICBcIm1hcC1waW5cIjogJGZhLXZhci1tYXAtcGluLFxuICBcImhhbXNhXCI6ICRmYS12YXItaGFtc2EsXG4gIFwiY2VudC1zaWduXCI6ICRmYS12YXItY2VudC1zaWduLFxuICBcImZsYXNrXCI6ICRmYS12YXItZmxhc2ssXG4gIFwicGVyc29uLXByZWduYW50XCI6ICRmYS12YXItcGVyc29uLXByZWduYW50LFxuICBcIndhbmQtc3BhcmtsZXNcIjogJGZhLXZhci13YW5kLXNwYXJrbGVzLFxuICBcImVsbGlwc2lzLXZlcnRpY2FsXCI6ICRmYS12YXItZWxsaXBzaXMtdmVydGljYWwsXG4gIFwiZWxsaXBzaXMtdlwiOiAkZmEtdmFyLWVsbGlwc2lzLXYsXG4gIFwidGlja2V0XCI6ICRmYS12YXItdGlja2V0LFxuICBcInBvd2VyLW9mZlwiOiAkZmEtdmFyLXBvd2VyLW9mZixcbiAgXCJyaWdodC1sb25nXCI6ICRmYS12YXItcmlnaHQtbG9uZyxcbiAgXCJsb25nLWFycm93LWFsdC1yaWdodFwiOiAkZmEtdmFyLWxvbmctYXJyb3ctYWx0LXJpZ2h0LFxuICBcImZsYWctdXNhXCI6ICRmYS12YXItZmxhZy11c2EsXG4gIFwibGFwdG9wLWZpbGVcIjogJGZhLXZhci1sYXB0b3AtZmlsZSxcbiAgXCJ0dHlcIjogJGZhLXZhci10dHksXG4gIFwidGVsZXR5cGVcIjogJGZhLXZhci10ZWxldHlwZSxcbiAgXCJkaWFncmFtLW5leHRcIjogJGZhLXZhci1kaWFncmFtLW5leHQsXG4gIFwicGVyc29uLXJpZmxlXCI6ICRmYS12YXItcGVyc29uLXJpZmxlLFxuICBcImhvdXNlLW1lZGljYWwtY2lyY2xlLWV4Y2xhbWF0aW9uXCI6ICRmYS12YXItaG91c2UtbWVkaWNhbC1jaXJjbGUtZXhjbGFtYXRpb24sXG4gIFwiY2xvc2VkLWNhcHRpb25pbmdcIjogJGZhLXZhci1jbG9zZWQtY2FwdGlvbmluZyxcbiAgXCJwZXJzb24taGlraW5nXCI6ICRmYS12YXItcGVyc29uLWhpa2luZyxcbiAgXCJoaWtpbmdcIjogJGZhLXZhci1oaWtpbmcsXG4gIFwidmVudXMtZG91YmxlXCI6ICRmYS12YXItdmVudXMtZG91YmxlLFxuICBcImltYWdlc1wiOiAkZmEtdmFyLWltYWdlcyxcbiAgXCJjYWxjdWxhdG9yXCI6ICRmYS12YXItY2FsY3VsYXRvcixcbiAgXCJwZW9wbGUtcHVsbGluZ1wiOiAkZmEtdmFyLXBlb3BsZS1wdWxsaW5nLFxuICBcIm5cIjogJGZhLXZhci1uLFxuICBcImNhYmxlLWNhclwiOiAkZmEtdmFyLWNhYmxlLWNhcixcbiAgXCJ0cmFtXCI6ICRmYS12YXItdHJhbSxcbiAgXCJjbG91ZC1yYWluXCI6ICRmYS12YXItY2xvdWQtcmFpbixcbiAgXCJidWlsZGluZy1jaXJjbGUteG1hcmtcIjogJGZhLXZhci1idWlsZGluZy1jaXJjbGUteG1hcmssXG4gIFwic2hpcFwiOiAkZmEtdmFyLXNoaXAsXG4gIFwiYXJyb3dzLWRvd24tdG8tbGluZVwiOiAkZmEtdmFyLWFycm93cy1kb3duLXRvLWxpbmUsXG4gIFwiZG93bmxvYWRcIjogJGZhLXZhci1kb3dubG9hZCxcbiAgXCJmYWNlLWdyaW5cIjogJGZhLXZhci1mYWNlLWdyaW4sXG4gIFwiZ3JpblwiOiAkZmEtdmFyLWdyaW4sXG4gIFwiZGVsZXRlLWxlZnRcIjogJGZhLXZhci1kZWxldGUtbGVmdCxcbiAgXCJiYWNrc3BhY2VcIjogJGZhLXZhci1iYWNrc3BhY2UsXG4gIFwiZXllLWRyb3BwZXJcIjogJGZhLXZhci1leWUtZHJvcHBlcixcbiAgXCJleWUtZHJvcHBlci1lbXB0eVwiOiAkZmEtdmFyLWV5ZS1kcm9wcGVyLWVtcHR5LFxuICBcImV5ZWRyb3BwZXJcIjogJGZhLXZhci1leWVkcm9wcGVyLFxuICBcImZpbGUtY2lyY2xlLWNoZWNrXCI6ICRmYS12YXItZmlsZS1jaXJjbGUtY2hlY2ssXG4gIFwiZm9yd2FyZFwiOiAkZmEtdmFyLWZvcndhcmQsXG4gIFwibW9iaWxlXCI6ICRmYS12YXItbW9iaWxlLFxuICBcIm1vYmlsZS1hbmRyb2lkXCI6ICRmYS12YXItbW9iaWxlLWFuZHJvaWQsXG4gIFwibW9iaWxlLXBob25lXCI6ICRmYS12YXItbW9iaWxlLXBob25lLFxuICBcImZhY2UtbWVoXCI6ICRmYS12YXItZmFjZS1tZWgsXG4gIFwibWVoXCI6ICRmYS12YXItbWVoLFxuICBcImFsaWduLWNlbnRlclwiOiAkZmEtdmFyLWFsaWduLWNlbnRlcixcbiAgXCJib29rLXNrdWxsXCI6ICRmYS12YXItYm9vay1za3VsbCxcbiAgXCJib29rLWRlYWRcIjogJGZhLXZhci1ib29rLWRlYWQsXG4gIFwiaWQtY2FyZFwiOiAkZmEtdmFyLWlkLWNhcmQsXG4gIFwiZHJpdmVycy1saWNlbnNlXCI6ICRmYS12YXItZHJpdmVycy1saWNlbnNlLFxuICBcIm91dGRlbnRcIjogJGZhLXZhci1vdXRkZW50LFxuICBcImRlZGVudFwiOiAkZmEtdmFyLWRlZGVudCxcbiAgXCJoZWFydC1jaXJjbGUtZXhjbGFtYXRpb25cIjogJGZhLXZhci1oZWFydC1jaXJjbGUtZXhjbGFtYXRpb24sXG4gIFwiaG91c2VcIjogJGZhLXZhci1ob3VzZSxcbiAgXCJob21lXCI6ICRmYS12YXItaG9tZSxcbiAgXCJob21lLWFsdFwiOiAkZmEtdmFyLWhvbWUtYWx0LFxuICBcImhvbWUtbGctYWx0XCI6ICRmYS12YXItaG9tZS1sZy1hbHQsXG4gIFwiY2FsZW5kYXItd2Vla1wiOiAkZmEtdmFyLWNhbGVuZGFyLXdlZWssXG4gIFwibGFwdG9wLW1lZGljYWxcIjogJGZhLXZhci1sYXB0b3AtbWVkaWNhbCxcbiAgXCJiXCI6ICRmYS12YXItYixcbiAgXCJmaWxlLW1lZGljYWxcIjogJGZhLXZhci1maWxlLW1lZGljYWwsXG4gIFwiZGljZS1vbmVcIjogJGZhLXZhci1kaWNlLW9uZSxcbiAgXCJraXdpLWJpcmRcIjogJGZhLXZhci1raXdpLWJpcmQsXG4gIFwiYXJyb3ctcmlnaHQtYXJyb3ctbGVmdFwiOiAkZmEtdmFyLWFycm93LXJpZ2h0LWFycm93LWxlZnQsXG4gIFwiZXhjaGFuZ2VcIjogJGZhLXZhci1leGNoYW5nZSxcbiAgXCJyb3RhdGUtcmlnaHRcIjogJGZhLXZhci1yb3RhdGUtcmlnaHQsXG4gIFwicmVkby1hbHRcIjogJGZhLXZhci1yZWRvLWFsdCxcbiAgXCJyb3RhdGUtZm9yd2FyZFwiOiAkZmEtdmFyLXJvdGF0ZS1mb3J3YXJkLFxuICBcInV0ZW5zaWxzXCI6ICRmYS12YXItdXRlbnNpbHMsXG4gIFwiY3V0bGVyeVwiOiAkZmEtdmFyLWN1dGxlcnksXG4gIFwiYXJyb3ctdXAtd2lkZS1zaG9ydFwiOiAkZmEtdmFyLWFycm93LXVwLXdpZGUtc2hvcnQsXG4gIFwic29ydC1hbW91bnQtdXBcIjogJGZhLXZhci1zb3J0LWFtb3VudC11cCxcbiAgXCJtaWxsLXNpZ25cIjogJGZhLXZhci1taWxsLXNpZ24sXG4gIFwiYm93bC1yaWNlXCI6ICRmYS12YXItYm93bC1yaWNlLFxuICBcInNrdWxsXCI6ICRmYS12YXItc2t1bGwsXG4gIFwidG93ZXItYnJvYWRjYXN0XCI6ICRmYS12YXItdG93ZXItYnJvYWRjYXN0LFxuICBcImJyb2FkY2FzdC10b3dlclwiOiAkZmEtdmFyLWJyb2FkY2FzdC10b3dlcixcbiAgXCJ0cnVjay1waWNrdXBcIjogJGZhLXZhci10cnVjay1waWNrdXAsXG4gIFwidXAtbG9uZ1wiOiAkZmEtdmFyLXVwLWxvbmcsXG4gIFwibG9uZy1hcnJvdy1hbHQtdXBcIjogJGZhLXZhci1sb25nLWFycm93LWFsdC11cCxcbiAgXCJzdG9wXCI6ICRmYS12YXItc3RvcCxcbiAgXCJjb2RlLW1lcmdlXCI6ICRmYS12YXItY29kZS1tZXJnZSxcbiAgXCJ1cGxvYWRcIjogJGZhLXZhci11cGxvYWQsXG4gIFwiaHVycmljYW5lXCI6ICRmYS12YXItaHVycmljYW5lLFxuICBcIm1vdW5kXCI6ICRmYS12YXItbW91bmQsXG4gIFwidG9pbGV0LXBvcnRhYmxlXCI6ICRmYS12YXItdG9pbGV0LXBvcnRhYmxlLFxuICBcImNvbXBhY3QtZGlzY1wiOiAkZmEtdmFyLWNvbXBhY3QtZGlzYyxcbiAgXCJmaWxlLWFycm93LWRvd25cIjogJGZhLXZhci1maWxlLWFycm93LWRvd24sXG4gIFwiZmlsZS1kb3dubG9hZFwiOiAkZmEtdmFyLWZpbGUtZG93bmxvYWQsXG4gIFwiY2FyYXZhblwiOiAkZmEtdmFyLWNhcmF2YW4sXG4gIFwic2hpZWxkLWNhdFwiOiAkZmEtdmFyLXNoaWVsZC1jYXQsXG4gIFwiYm9sdFwiOiAkZmEtdmFyLWJvbHQsXG4gIFwiemFwXCI6ICRmYS12YXItemFwLFxuICBcImdsYXNzLXdhdGVyXCI6ICRmYS12YXItZ2xhc3Mtd2F0ZXIsXG4gIFwib2lsLXdlbGxcIjogJGZhLXZhci1vaWwtd2VsbCxcbiAgXCJ2YXVsdFwiOiAkZmEtdmFyLXZhdWx0LFxuICBcIm1hcnNcIjogJGZhLXZhci1tYXJzLFxuICBcInRvaWxldFwiOiAkZmEtdmFyLXRvaWxldCxcbiAgXCJwbGFuZS1jaXJjbGUteG1hcmtcIjogJGZhLXZhci1wbGFuZS1jaXJjbGUteG1hcmssXG4gIFwieWVuLXNpZ25cIjogJGZhLXZhci15ZW4tc2lnbixcbiAgXCJjbnlcIjogJGZhLXZhci1jbnksXG4gIFwianB5XCI6ICRmYS12YXItanB5LFxuICBcInJtYlwiOiAkZmEtdmFyLXJtYixcbiAgXCJ5ZW5cIjogJGZhLXZhci15ZW4sXG4gIFwicnVibGUtc2lnblwiOiAkZmEtdmFyLXJ1YmxlLXNpZ24sXG4gIFwicm91YmxlXCI6ICRmYS12YXItcm91YmxlLFxuICBcInJ1YlwiOiAkZmEtdmFyLXJ1YixcbiAgXCJydWJsZVwiOiAkZmEtdmFyLXJ1YmxlLFxuICBcInN1blwiOiAkZmEtdmFyLXN1bixcbiAgXCJndWl0YXJcIjogJGZhLXZhci1ndWl0YXIsXG4gIFwiZmFjZS1sYXVnaC13aW5rXCI6ICRmYS12YXItZmFjZS1sYXVnaC13aW5rLFxuICBcImxhdWdoLXdpbmtcIjogJGZhLXZhci1sYXVnaC13aW5rLFxuICBcImhvcnNlLWhlYWRcIjogJGZhLXZhci1ob3JzZS1oZWFkLFxuICBcImJvcmUtaG9sZVwiOiAkZmEtdmFyLWJvcmUtaG9sZSxcbiAgXCJpbmR1c3RyeVwiOiAkZmEtdmFyLWluZHVzdHJ5LFxuICBcImNpcmNsZS1kb3duXCI6ICRmYS12YXItY2lyY2xlLWRvd24sXG4gIFwiYXJyb3ctYWx0LWNpcmNsZS1kb3duXCI6ICRmYS12YXItYXJyb3ctYWx0LWNpcmNsZS1kb3duLFxuICBcImFycm93cy10dXJuLXRvLWRvdHNcIjogJGZhLXZhci1hcnJvd3MtdHVybi10by1kb3RzLFxuICBcImZsb3Jpbi1zaWduXCI6ICRmYS12YXItZmxvcmluLXNpZ24sXG4gIFwiYXJyb3ctZG93bi1zaG9ydC13aWRlXCI6ICRmYS12YXItYXJyb3ctZG93bi1zaG9ydC13aWRlLFxuICBcInNvcnQtYW1vdW50LWRlc2NcIjogJGZhLXZhci1zb3J0LWFtb3VudC1kZXNjLFxuICBcInNvcnQtYW1vdW50LWRvd24tYWx0XCI6ICRmYS12YXItc29ydC1hbW91bnQtZG93bi1hbHQsXG4gIFwibGVzcy10aGFuXCI6ICRmYS12YXItbGVzcy10aGFuLFxuICBcImFuZ2xlLWRvd25cIjogJGZhLXZhci1hbmdsZS1kb3duLFxuICBcImNhci10dW5uZWxcIjogJGZhLXZhci1jYXItdHVubmVsLFxuICBcImhlYWQtc2lkZS1jb3VnaFwiOiAkZmEtdmFyLWhlYWQtc2lkZS1jb3VnaCxcbiAgXCJncmlwLWxpbmVzXCI6ICRmYS12YXItZ3JpcC1saW5lcyxcbiAgXCJ0aHVtYnMtZG93blwiOiAkZmEtdmFyLXRodW1icy1kb3duLFxuICBcInVzZXItbG9ja1wiOiAkZmEtdmFyLXVzZXItbG9jayxcbiAgXCJhcnJvdy1yaWdodC1sb25nXCI6ICRmYS12YXItYXJyb3ctcmlnaHQtbG9uZyxcbiAgXCJsb25nLWFycm93LXJpZ2h0XCI6ICRmYS12YXItbG9uZy1hcnJvdy1yaWdodCxcbiAgXCJhbmNob3ItY2lyY2xlLXhtYXJrXCI6ICRmYS12YXItYW5jaG9yLWNpcmNsZS14bWFyayxcbiAgXCJlbGxpcHNpc1wiOiAkZmEtdmFyLWVsbGlwc2lzLFxuICBcImVsbGlwc2lzLWhcIjogJGZhLXZhci1lbGxpcHNpcy1oLFxuICBcImNoZXNzLXBhd25cIjogJGZhLXZhci1jaGVzcy1wYXduLFxuICBcImtpdC1tZWRpY2FsXCI6ICRmYS12YXIta2l0LW1lZGljYWwsXG4gIFwiZmlyc3QtYWlkXCI6ICRmYS12YXItZmlyc3QtYWlkLFxuICBcInBlcnNvbi10aHJvdWdoLXdpbmRvd1wiOiAkZmEtdmFyLXBlcnNvbi10aHJvdWdoLXdpbmRvdyxcbiAgXCJ0b29sYm94XCI6ICRmYS12YXItdG9vbGJveCxcbiAgXCJoYW5kcy1ob2xkaW5nLWNpcmNsZVwiOiAkZmEtdmFyLWhhbmRzLWhvbGRpbmctY2lyY2xlLFxuICBcImJ1Z1wiOiAkZmEtdmFyLWJ1ZyxcbiAgXCJjcmVkaXQtY2FyZFwiOiAkZmEtdmFyLWNyZWRpdC1jYXJkLFxuICBcImNyZWRpdC1jYXJkLWFsdFwiOiAkZmEtdmFyLWNyZWRpdC1jYXJkLWFsdCxcbiAgXCJjYXJcIjogJGZhLXZhci1jYXIsXG4gIFwiYXV0b21vYmlsZVwiOiAkZmEtdmFyLWF1dG9tb2JpbGUsXG4gIFwiaGFuZC1ob2xkaW5nLWhhbmRcIjogJGZhLXZhci1oYW5kLWhvbGRpbmctaGFuZCxcbiAgXCJib29rLW9wZW4tcmVhZGVyXCI6ICRmYS12YXItYm9vay1vcGVuLXJlYWRlcixcbiAgXCJib29rLXJlYWRlclwiOiAkZmEtdmFyLWJvb2stcmVhZGVyLFxuICBcIm1vdW50YWluLXN1blwiOiAkZmEtdmFyLW1vdW50YWluLXN1bixcbiAgXCJhcnJvd3MtbGVmdC1yaWdodC10by1saW5lXCI6ICRmYS12YXItYXJyb3dzLWxlZnQtcmlnaHQtdG8tbGluZSxcbiAgXCJkaWNlLWQyMFwiOiAkZmEtdmFyLWRpY2UtZDIwLFxuICBcInRydWNrLWRyb3BsZXRcIjogJGZhLXZhci10cnVjay1kcm9wbGV0LFxuICBcImZpbGUtY2lyY2xlLXhtYXJrXCI6ICRmYS12YXItZmlsZS1jaXJjbGUteG1hcmssXG4gIFwidGVtcGVyYXR1cmUtYXJyb3ctdXBcIjogJGZhLXZhci10ZW1wZXJhdHVyZS1hcnJvdy11cCxcbiAgXCJ0ZW1wZXJhdHVyZS11cFwiOiAkZmEtdmFyLXRlbXBlcmF0dXJlLXVwLFxuICBcIm1lZGFsXCI6ICRmYS12YXItbWVkYWwsXG4gIFwiYmVkXCI6ICRmYS12YXItYmVkLFxuICBcInNxdWFyZS1oXCI6ICRmYS12YXItc3F1YXJlLWgsXG4gIFwiaC1zcXVhcmVcIjogJGZhLXZhci1oLXNxdWFyZSxcbiAgXCJwb2RjYXN0XCI6ICRmYS12YXItcG9kY2FzdCxcbiAgXCJ0ZW1wZXJhdHVyZS1mdWxsXCI6ICRmYS12YXItdGVtcGVyYXR1cmUtZnVsbCxcbiAgXCJ0ZW1wZXJhdHVyZS00XCI6ICRmYS12YXItdGVtcGVyYXR1cmUtNCxcbiAgXCJ0aGVybW9tZXRlci00XCI6ICRmYS12YXItdGhlcm1vbWV0ZXItNCxcbiAgXCJ0aGVybW9tZXRlci1mdWxsXCI6ICRmYS12YXItdGhlcm1vbWV0ZXItZnVsbCxcbiAgXCJiZWxsXCI6ICRmYS12YXItYmVsbCxcbiAgXCJzdXBlcnNjcmlwdFwiOiAkZmEtdmFyLXN1cGVyc2NyaXB0LFxuICBcInBsdWctY2lyY2xlLXhtYXJrXCI6ICRmYS12YXItcGx1Zy1jaXJjbGUteG1hcmssXG4gIFwic3Rhci1vZi1saWZlXCI6ICRmYS12YXItc3Rhci1vZi1saWZlLFxuICBcInBob25lLXNsYXNoXCI6ICRmYS12YXItcGhvbmUtc2xhc2gsXG4gIFwicGFpbnQtcm9sbGVyXCI6ICRmYS12YXItcGFpbnQtcm9sbGVyLFxuICBcImhhbmRzaGFrZS1hbmdsZVwiOiAkZmEtdmFyLWhhbmRzaGFrZS1hbmdsZSxcbiAgXCJoYW5kcy1oZWxwaW5nXCI6ICRmYS12YXItaGFuZHMtaGVscGluZyxcbiAgXCJsb2NhdGlvbi1kb3RcIjogJGZhLXZhci1sb2NhdGlvbi1kb3QsXG4gIFwibWFwLW1hcmtlci1hbHRcIjogJGZhLXZhci1tYXAtbWFya2VyLWFsdCxcbiAgXCJmaWxlXCI6ICRmYS12YXItZmlsZSxcbiAgXCJncmVhdGVyLXRoYW5cIjogJGZhLXZhci1ncmVhdGVyLXRoYW4sXG4gIFwicGVyc29uLXN3aW1taW5nXCI6ICRmYS12YXItcGVyc29uLXN3aW1taW5nLFxuICBcInN3aW1tZXJcIjogJGZhLXZhci1zd2ltbWVyLFxuICBcImFycm93LWRvd25cIjogJGZhLXZhci1hcnJvdy1kb3duLFxuICBcImRyb3BsZXRcIjogJGZhLXZhci1kcm9wbGV0LFxuICBcInRpbnRcIjogJGZhLXZhci10aW50LFxuICBcImVyYXNlclwiOiAkZmEtdmFyLWVyYXNlcixcbiAgXCJlYXJ0aC1hbWVyaWNhc1wiOiAkZmEtdmFyLWVhcnRoLWFtZXJpY2FzLFxuICBcImVhcnRoXCI6ICRmYS12YXItZWFydGgsXG4gIFwiZWFydGgtYW1lcmljYVwiOiAkZmEtdmFyLWVhcnRoLWFtZXJpY2EsXG4gIFwiZ2xvYmUtYW1lcmljYXNcIjogJGZhLXZhci1nbG9iZS1hbWVyaWNhcyxcbiAgXCJwZXJzb24tYnVyc3RcIjogJGZhLXZhci1wZXJzb24tYnVyc3QsXG4gIFwiZG92ZVwiOiAkZmEtdmFyLWRvdmUsXG4gIFwiYmF0dGVyeS1lbXB0eVwiOiAkZmEtdmFyLWJhdHRlcnktZW1wdHksXG4gIFwiYmF0dGVyeS0wXCI6ICRmYS12YXItYmF0dGVyeS0wLFxuICBcInNvY2tzXCI6ICRmYS12YXItc29ja3MsXG4gIFwiaW5ib3hcIjogJGZhLXZhci1pbmJveCxcbiAgXCJzZWN0aW9uXCI6ICRmYS12YXItc2VjdGlvbixcbiAgXCJnYXVnZS1oaWdoXCI6ICRmYS12YXItZ2F1Z2UtaGlnaCxcbiAgXCJ0YWNob21ldGVyLWFsdFwiOiAkZmEtdmFyLXRhY2hvbWV0ZXItYWx0LFxuICBcInRhY2hvbWV0ZXItYWx0LWZhc3RcIjogJGZhLXZhci10YWNob21ldGVyLWFsdC1mYXN0LFxuICBcImVudmVsb3BlLW9wZW4tdGV4dFwiOiAkZmEtdmFyLWVudmVsb3BlLW9wZW4tdGV4dCxcbiAgXCJob3NwaXRhbFwiOiAkZmEtdmFyLWhvc3BpdGFsLFxuICBcImhvc3BpdGFsLWFsdFwiOiAkZmEtdmFyLWhvc3BpdGFsLWFsdCxcbiAgXCJob3NwaXRhbC13aWRlXCI6ICRmYS12YXItaG9zcGl0YWwtd2lkZSxcbiAgXCJ3aW5lLWJvdHRsZVwiOiAkZmEtdmFyLXdpbmUtYm90dGxlLFxuICBcImNoZXNzLXJvb2tcIjogJGZhLXZhci1jaGVzcy1yb29rLFxuICBcImJhcnMtc3RhZ2dlcmVkXCI6ICRmYS12YXItYmFycy1zdGFnZ2VyZWQsXG4gIFwicmVvcmRlclwiOiAkZmEtdmFyLXJlb3JkZXIsXG4gIFwic3RyZWFtXCI6ICRmYS12YXItc3RyZWFtLFxuICBcImRoYXJtYWNoYWtyYVwiOiAkZmEtdmFyLWRoYXJtYWNoYWtyYSxcbiAgXCJob3Rkb2dcIjogJGZhLXZhci1ob3Rkb2csXG4gIFwicGVyc29uLXdhbGtpbmctd2l0aC1jYW5lXCI6ICRmYS12YXItcGVyc29uLXdhbGtpbmctd2l0aC1jYW5lLFxuICBcImJsaW5kXCI6ICRmYS12YXItYmxpbmQsXG4gIFwiZHJ1bVwiOiAkZmEtdmFyLWRydW0sXG4gIFwiaWNlLWNyZWFtXCI6ICRmYS12YXItaWNlLWNyZWFtLFxuICBcImhlYXJ0LWNpcmNsZS1ib2x0XCI6ICRmYS12YXItaGVhcnQtY2lyY2xlLWJvbHQsXG4gIFwiZmF4XCI6ICRmYS12YXItZmF4LFxuICBcInBhcmFncmFwaFwiOiAkZmEtdmFyLXBhcmFncmFwaCxcbiAgXCJjaGVjay10by1zbG90XCI6ICRmYS12YXItY2hlY2stdG8tc2xvdCxcbiAgXCJ2b3RlLXllYVwiOiAkZmEtdmFyLXZvdGUteWVhLFxuICBcInN0YXItaGFsZlwiOiAkZmEtdmFyLXN0YXItaGFsZixcbiAgXCJib3hlcy1zdGFja2VkXCI6ICRmYS12YXItYm94ZXMtc3RhY2tlZCxcbiAgXCJib3hlc1wiOiAkZmEtdmFyLWJveGVzLFxuICBcImJveGVzLWFsdFwiOiAkZmEtdmFyLWJveGVzLWFsdCxcbiAgXCJsaW5rXCI6ICRmYS12YXItbGluayxcbiAgXCJjaGFpblwiOiAkZmEtdmFyLWNoYWluLFxuICBcImVhci1saXN0ZW5cIjogJGZhLXZhci1lYXItbGlzdGVuLFxuICBcImFzc2lzdGl2ZS1saXN0ZW5pbmctc3lzdGVtc1wiOiAkZmEtdmFyLWFzc2lzdGl2ZS1saXN0ZW5pbmctc3lzdGVtcyxcbiAgXCJ0cmVlLWNpdHlcIjogJGZhLXZhci10cmVlLWNpdHksXG4gIFwicGxheVwiOiAkZmEtdmFyLXBsYXksXG4gIFwiZm9udFwiOiAkZmEtdmFyLWZvbnQsXG4gIFwicnVwaWFoLXNpZ25cIjogJGZhLXZhci1ydXBpYWgtc2lnbixcbiAgXCJtYWduaWZ5aW5nLWdsYXNzXCI6ICRmYS12YXItbWFnbmlmeWluZy1nbGFzcyxcbiAgXCJzZWFyY2hcIjogJGZhLXZhci1zZWFyY2gsXG4gIFwidGFibGUtdGVubmlzLXBhZGRsZS1iYWxsXCI6ICRmYS12YXItdGFibGUtdGVubmlzLXBhZGRsZS1iYWxsLFxuICBcInBpbmctcG9uZy1wYWRkbGUtYmFsbFwiOiAkZmEtdmFyLXBpbmctcG9uZy1wYWRkbGUtYmFsbCxcbiAgXCJ0YWJsZS10ZW5uaXNcIjogJGZhLXZhci10YWJsZS10ZW5uaXMsXG4gIFwicGVyc29uLWRvdHMtZnJvbS1saW5lXCI6ICRmYS12YXItcGVyc29uLWRvdHMtZnJvbS1saW5lLFxuICBcImRpYWdub3Nlc1wiOiAkZmEtdmFyLWRpYWdub3NlcyxcbiAgXCJ0cmFzaC1jYW4tYXJyb3ctdXBcIjogJGZhLXZhci10cmFzaC1jYW4tYXJyb3ctdXAsXG4gIFwidHJhc2gtcmVzdG9yZS1hbHRcIjogJGZhLXZhci10cmFzaC1yZXN0b3JlLWFsdCxcbiAgXCJuYWlyYS1zaWduXCI6ICRmYS12YXItbmFpcmEtc2lnbixcbiAgXCJjYXJ0LWFycm93LWRvd25cIjogJGZhLXZhci1jYXJ0LWFycm93LWRvd24sXG4gIFwid2Fsa2llLXRhbGtpZVwiOiAkZmEtdmFyLXdhbGtpZS10YWxraWUsXG4gIFwiZmlsZS1wZW5cIjogJGZhLXZhci1maWxlLXBlbixcbiAgXCJmaWxlLWVkaXRcIjogJGZhLXZhci1maWxlLWVkaXQsXG4gIFwicmVjZWlwdFwiOiAkZmEtdmFyLXJlY2VpcHQsXG4gIFwic3F1YXJlLXBlblwiOiAkZmEtdmFyLXNxdWFyZS1wZW4sXG4gIFwicGVuLXNxdWFyZVwiOiAkZmEtdmFyLXBlbi1zcXVhcmUsXG4gIFwicGVuY2lsLXNxdWFyZVwiOiAkZmEtdmFyLXBlbmNpbC1zcXVhcmUsXG4gIFwic3VpdGNhc2Utcm9sbGluZ1wiOiAkZmEtdmFyLXN1aXRjYXNlLXJvbGxpbmcsXG4gIFwicGVyc29uLWNpcmNsZS1leGNsYW1hdGlvblwiOiAkZmEtdmFyLXBlcnNvbi1jaXJjbGUtZXhjbGFtYXRpb24sXG4gIFwiY2hldnJvbi1kb3duXCI6ICRmYS12YXItY2hldnJvbi1kb3duLFxuICBcImJhdHRlcnktZnVsbFwiOiAkZmEtdmFyLWJhdHRlcnktZnVsbCxcbiAgXCJiYXR0ZXJ5XCI6ICRmYS12YXItYmF0dGVyeSxcbiAgXCJiYXR0ZXJ5LTVcIjogJGZhLXZhci1iYXR0ZXJ5LTUsXG4gIFwic2t1bGwtY3Jvc3Nib25lc1wiOiAkZmEtdmFyLXNrdWxsLWNyb3NzYm9uZXMsXG4gIFwiY29kZS1jb21wYXJlXCI6ICRmYS12YXItY29kZS1jb21wYXJlLFxuICBcImxpc3QtdWxcIjogJGZhLXZhci1saXN0LXVsLFxuICBcImxpc3QtZG90c1wiOiAkZmEtdmFyLWxpc3QtZG90cyxcbiAgXCJzY2hvb2wtbG9ja1wiOiAkZmEtdmFyLXNjaG9vbC1sb2NrLFxuICBcInRvd2VyLWNlbGxcIjogJGZhLXZhci10b3dlci1jZWxsLFxuICBcImRvd24tbG9uZ1wiOiAkZmEtdmFyLWRvd24tbG9uZyxcbiAgXCJsb25nLWFycm93LWFsdC1kb3duXCI6ICRmYS12YXItbG9uZy1hcnJvdy1hbHQtZG93bixcbiAgXCJyYW5raW5nLXN0YXJcIjogJGZhLXZhci1yYW5raW5nLXN0YXIsXG4gIFwiY2hlc3Mta2luZ1wiOiAkZmEtdmFyLWNoZXNzLWtpbmcsXG4gIFwicGVyc29uLWhhcmFzc2luZ1wiOiAkZmEtdmFyLXBlcnNvbi1oYXJhc3NpbmcsXG4gIFwiYnJhemlsaWFuLXJlYWwtc2lnblwiOiAkZmEtdmFyLWJyYXppbGlhbi1yZWFsLXNpZ24sXG4gIFwibGFuZG1hcmstZG9tZVwiOiAkZmEtdmFyLWxhbmRtYXJrLWRvbWUsXG4gIFwibGFuZG1hcmstYWx0XCI6ICRmYS12YXItbGFuZG1hcmstYWx0LFxuICBcImFycm93LXVwXCI6ICRmYS12YXItYXJyb3ctdXAsXG4gIFwidHZcIjogJGZhLXZhci10dixcbiAgXCJ0ZWxldmlzaW9uXCI6ICRmYS12YXItdGVsZXZpc2lvbixcbiAgXCJ0di1hbHRcIjogJGZhLXZhci10di1hbHQsXG4gIFwic2hyaW1wXCI6ICRmYS12YXItc2hyaW1wLFxuICBcImxpc3QtY2hlY2tcIjogJGZhLXZhci1saXN0LWNoZWNrLFxuICBcInRhc2tzXCI6ICRmYS12YXItdGFza3MsXG4gIFwianVnLWRldGVyZ2VudFwiOiAkZmEtdmFyLWp1Zy1kZXRlcmdlbnQsXG4gIFwiY2lyY2xlLXVzZXJcIjogJGZhLXZhci1jaXJjbGUtdXNlcixcbiAgXCJ1c2VyLWNpcmNsZVwiOiAkZmEtdmFyLXVzZXItY2lyY2xlLFxuICBcInVzZXItc2hpZWxkXCI6ICRmYS12YXItdXNlci1zaGllbGQsXG4gIFwid2luZFwiOiAkZmEtdmFyLXdpbmQsXG4gIFwiY2FyLWJ1cnN0XCI6ICRmYS12YXItY2FyLWJ1cnN0LFxuICBcImNhci1jcmFzaFwiOiAkZmEtdmFyLWNhci1jcmFzaCxcbiAgXCJ5XCI6ICRmYS12YXIteSxcbiAgXCJwZXJzb24tc25vd2JvYXJkaW5nXCI6ICRmYS12YXItcGVyc29uLXNub3dib2FyZGluZyxcbiAgXCJzbm93Ym9hcmRpbmdcIjogJGZhLXZhci1zbm93Ym9hcmRpbmcsXG4gIFwidHJ1Y2stZmFzdFwiOiAkZmEtdmFyLXRydWNrLWZhc3QsXG4gIFwic2hpcHBpbmctZmFzdFwiOiAkZmEtdmFyLXNoaXBwaW5nLWZhc3QsXG4gIFwiZmlzaFwiOiAkZmEtdmFyLWZpc2gsXG4gIFwidXNlci1ncmFkdWF0ZVwiOiAkZmEtdmFyLXVzZXItZ3JhZHVhdGUsXG4gIFwiY2lyY2xlLWhhbGYtc3Ryb2tlXCI6ICRmYS12YXItY2lyY2xlLWhhbGYtc3Ryb2tlLFxuICBcImFkanVzdFwiOiAkZmEtdmFyLWFkanVzdCxcbiAgXCJjbGFwcGVyYm9hcmRcIjogJGZhLXZhci1jbGFwcGVyYm9hcmQsXG4gIFwiY2lyY2xlLXJhZGlhdGlvblwiOiAkZmEtdmFyLWNpcmNsZS1yYWRpYXRpb24sXG4gIFwicmFkaWF0aW9uLWFsdFwiOiAkZmEtdmFyLXJhZGlhdGlvbi1hbHQsXG4gIFwiYmFzZWJhbGxcIjogJGZhLXZhci1iYXNlYmFsbCxcbiAgXCJiYXNlYmFsbC1iYWxsXCI6ICRmYS12YXItYmFzZWJhbGwtYmFsbCxcbiAgXCJqZXQtZmlnaHRlci11cFwiOiAkZmEtdmFyLWpldC1maWdodGVyLXVwLFxuICBcImRpYWdyYW0tcHJvamVjdFwiOiAkZmEtdmFyLWRpYWdyYW0tcHJvamVjdCxcbiAgXCJwcm9qZWN0LWRpYWdyYW1cIjogJGZhLXZhci1wcm9qZWN0LWRpYWdyYW0sXG4gIFwiY29weVwiOiAkZmEtdmFyLWNvcHksXG4gIFwidm9sdW1lLXhtYXJrXCI6ICRmYS12YXItdm9sdW1lLXhtYXJrLFxuICBcInZvbHVtZS1tdXRlXCI6ICRmYS12YXItdm9sdW1lLW11dGUsXG4gIFwidm9sdW1lLXRpbWVzXCI6ICRmYS12YXItdm9sdW1lLXRpbWVzLFxuICBcImhhbmQtc3BhcmtsZXNcIjogJGZhLXZhci1oYW5kLXNwYXJrbGVzLFxuICBcImdyaXBcIjogJGZhLXZhci1ncmlwLFxuICBcImdyaXAtaG9yaXpvbnRhbFwiOiAkZmEtdmFyLWdyaXAtaG9yaXpvbnRhbCxcbiAgXCJzaGFyZS1mcm9tLXNxdWFyZVwiOiAkZmEtdmFyLXNoYXJlLWZyb20tc3F1YXJlLFxuICBcInNoYXJlLXNxdWFyZVwiOiAkZmEtdmFyLXNoYXJlLXNxdWFyZSxcbiAgXCJjaGlsZC1jb21iYXRhbnRcIjogJGZhLXZhci1jaGlsZC1jb21iYXRhbnQsXG4gIFwiY2hpbGQtcmlmbGVcIjogJGZhLXZhci1jaGlsZC1yaWZsZSxcbiAgXCJndW5cIjogJGZhLXZhci1ndW4sXG4gIFwic3F1YXJlLXBob25lXCI6ICRmYS12YXItc3F1YXJlLXBob25lLFxuICBcInBob25lLXNxdWFyZVwiOiAkZmEtdmFyLXBob25lLXNxdWFyZSxcbiAgXCJwbHVzXCI6ICRmYS12YXItcGx1cyxcbiAgXCJhZGRcIjogJGZhLXZhci1hZGQsXG4gIFwiZXhwYW5kXCI6ICRmYS12YXItZXhwYW5kLFxuICBcImNvbXB1dGVyXCI6ICRmYS12YXItY29tcHV0ZXIsXG4gIFwieG1hcmtcIjogJGZhLXZhci14bWFyayxcbiAgXCJjbG9zZVwiOiAkZmEtdmFyLWNsb3NlLFxuICBcIm11bHRpcGx5XCI6ICRmYS12YXItbXVsdGlwbHksXG4gIFwicmVtb3ZlXCI6ICRmYS12YXItcmVtb3ZlLFxuICBcInRpbWVzXCI6ICRmYS12YXItdGltZXMsXG4gIFwiYXJyb3dzLXVwLWRvd24tbGVmdC1yaWdodFwiOiAkZmEtdmFyLWFycm93cy11cC1kb3duLWxlZnQtcmlnaHQsXG4gIFwiYXJyb3dzXCI6ICRmYS12YXItYXJyb3dzLFxuICBcImNoYWxrYm9hcmQtdXNlclwiOiAkZmEtdmFyLWNoYWxrYm9hcmQtdXNlcixcbiAgXCJjaGFsa2JvYXJkLXRlYWNoZXJcIjogJGZhLXZhci1jaGFsa2JvYXJkLXRlYWNoZXIsXG4gIFwicGVzby1zaWduXCI6ICRmYS12YXItcGVzby1zaWduLFxuICBcImJ1aWxkaW5nLXNoaWVsZFwiOiAkZmEtdmFyLWJ1aWxkaW5nLXNoaWVsZCxcbiAgXCJiYWJ5XCI6ICRmYS12YXItYmFieSxcbiAgXCJ1c2Vycy1saW5lXCI6ICRmYS12YXItdXNlcnMtbGluZSxcbiAgXCJxdW90ZS1sZWZ0XCI6ICRmYS12YXItcXVvdGUtbGVmdCxcbiAgXCJxdW90ZS1sZWZ0LWFsdFwiOiAkZmEtdmFyLXF1b3RlLWxlZnQtYWx0LFxuICBcInRyYWN0b3JcIjogJGZhLXZhci10cmFjdG9yLFxuICBcInRyYXNoLWFycm93LXVwXCI6ICRmYS12YXItdHJhc2gtYXJyb3ctdXAsXG4gIFwidHJhc2gtcmVzdG9yZVwiOiAkZmEtdmFyLXRyYXNoLXJlc3RvcmUsXG4gIFwiYXJyb3ctZG93bi11cC1sb2NrXCI6ICRmYS12YXItYXJyb3ctZG93bi11cC1sb2NrLFxuICBcImxpbmVzLWxlYW5pbmdcIjogJGZhLXZhci1saW5lcy1sZWFuaW5nLFxuICBcInJ1bGVyLWNvbWJpbmVkXCI6ICRmYS12YXItcnVsZXItY29tYmluZWQsXG4gIFwiY29weXJpZ2h0XCI6ICRmYS12YXItY29weXJpZ2h0LFxuICBcImVxdWFsc1wiOiAkZmEtdmFyLWVxdWFscyxcbiAgXCJibGVuZGVyXCI6ICRmYS12YXItYmxlbmRlcixcbiAgXCJ0ZWV0aFwiOiAkZmEtdmFyLXRlZXRoLFxuICBcInNoZWtlbC1zaWduXCI6ICRmYS12YXItc2hla2VsLXNpZ24sXG4gIFwiaWxzXCI6ICRmYS12YXItaWxzLFxuICBcInNoZWtlbFwiOiAkZmEtdmFyLXNoZWtlbCxcbiAgXCJzaGVxZWxcIjogJGZhLXZhci1zaGVxZWwsXG4gIFwic2hlcWVsLXNpZ25cIjogJGZhLXZhci1zaGVxZWwtc2lnbixcbiAgXCJtYXBcIjogJGZhLXZhci1tYXAsXG4gIFwicm9ja2V0XCI6ICRmYS12YXItcm9ja2V0LFxuICBcInBob3RvLWZpbG1cIjogJGZhLXZhci1waG90by1maWxtLFxuICBcInBob3RvLXZpZGVvXCI6ICRmYS12YXItcGhvdG8tdmlkZW8sXG4gIFwiZm9sZGVyLW1pbnVzXCI6ICRmYS12YXItZm9sZGVyLW1pbnVzLFxuICBcInN0b3JlXCI6ICRmYS12YXItc3RvcmUsXG4gIFwiYXJyb3ctdHJlbmQtdXBcIjogJGZhLXZhci1hcnJvdy10cmVuZC11cCxcbiAgXCJwbHVnLWNpcmNsZS1taW51c1wiOiAkZmEtdmFyLXBsdWctY2lyY2xlLW1pbnVzLFxuICBcInNpZ24taGFuZ2luZ1wiOiAkZmEtdmFyLXNpZ24taGFuZ2luZyxcbiAgXCJzaWduXCI6ICRmYS12YXItc2lnbixcbiAgXCJiZXppZXItY3VydmVcIjogJGZhLXZhci1iZXppZXItY3VydmUsXG4gIFwiYmVsbC1zbGFzaFwiOiAkZmEtdmFyLWJlbGwtc2xhc2gsXG4gIFwidGFibGV0XCI6ICRmYS12YXItdGFibGV0LFxuICBcInRhYmxldC1hbmRyb2lkXCI6ICRmYS12YXItdGFibGV0LWFuZHJvaWQsXG4gIFwic2Nob29sLWZsYWdcIjogJGZhLXZhci1zY2hvb2wtZmxhZyxcbiAgXCJmaWxsXCI6ICRmYS12YXItZmlsbCxcbiAgXCJhbmdsZS11cFwiOiAkZmEtdmFyLWFuZ2xlLXVwLFxuICBcImRydW1zdGljay1iaXRlXCI6ICRmYS12YXItZHJ1bXN0aWNrLWJpdGUsXG4gIFwiaG9sbHktYmVycnlcIjogJGZhLXZhci1ob2xseS1iZXJyeSxcbiAgXCJjaGV2cm9uLWxlZnRcIjogJGZhLXZhci1jaGV2cm9uLWxlZnQsXG4gIFwiYmFjdGVyaWFcIjogJGZhLXZhci1iYWN0ZXJpYSxcbiAgXCJoYW5kLWxpemFyZFwiOiAkZmEtdmFyLWhhbmQtbGl6YXJkLFxuICBcIm5vdGRlZlwiOiAkZmEtdmFyLW5vdGRlZixcbiAgXCJkaXNlYXNlXCI6ICRmYS12YXItZGlzZWFzZSxcbiAgXCJicmllZmNhc2UtbWVkaWNhbFwiOiAkZmEtdmFyLWJyaWVmY2FzZS1tZWRpY2FsLFxuICBcImdlbmRlcmxlc3NcIjogJGZhLXZhci1nZW5kZXJsZXNzLFxuICBcImNoZXZyb24tcmlnaHRcIjogJGZhLXZhci1jaGV2cm9uLXJpZ2h0LFxuICBcInJldHdlZXRcIjogJGZhLXZhci1yZXR3ZWV0LFxuICBcImNhci1yZWFyXCI6ICRmYS12YXItY2FyLXJlYXIsXG4gIFwiY2FyLWFsdFwiOiAkZmEtdmFyLWNhci1hbHQsXG4gIFwicHVtcC1zb2FwXCI6ICRmYS12YXItcHVtcC1zb2FwLFxuICBcInZpZGVvLXNsYXNoXCI6ICRmYS12YXItdmlkZW8tc2xhc2gsXG4gIFwiYmF0dGVyeS1xdWFydGVyXCI6ICRmYS12YXItYmF0dGVyeS1xdWFydGVyLFxuICBcImJhdHRlcnktMlwiOiAkZmEtdmFyLWJhdHRlcnktMixcbiAgXCJyYWRpb1wiOiAkZmEtdmFyLXJhZGlvLFxuICBcImJhYnktY2FycmlhZ2VcIjogJGZhLXZhci1iYWJ5LWNhcnJpYWdlLFxuICBcImNhcnJpYWdlLWJhYnlcIjogJGZhLXZhci1jYXJyaWFnZS1iYWJ5LFxuICBcInRyYWZmaWMtbGlnaHRcIjogJGZhLXZhci10cmFmZmljLWxpZ2h0LFxuICBcInRoZXJtb21ldGVyXCI6ICRmYS12YXItdGhlcm1vbWV0ZXIsXG4gIFwidnItY2FyZGJvYXJkXCI6ICRmYS12YXItdnItY2FyZGJvYXJkLFxuICBcImhhbmQtbWlkZGxlLWZpbmdlclwiOiAkZmEtdmFyLWhhbmQtbWlkZGxlLWZpbmdlcixcbiAgXCJwZXJjZW50XCI6ICRmYS12YXItcGVyY2VudCxcbiAgXCJwZXJjZW50YWdlXCI6ICRmYS12YXItcGVyY2VudGFnZSxcbiAgXCJ0cnVjay1tb3ZpbmdcIjogJGZhLXZhci10cnVjay1tb3ZpbmcsXG4gIFwiZ2xhc3Mtd2F0ZXItZHJvcGxldFwiOiAkZmEtdmFyLWdsYXNzLXdhdGVyLWRyb3BsZXQsXG4gIFwiZGlzcGxheVwiOiAkZmEtdmFyLWRpc3BsYXksXG4gIFwiZmFjZS1zbWlsZVwiOiAkZmEtdmFyLWZhY2Utc21pbGUsXG4gIFwic21pbGVcIjogJGZhLXZhci1zbWlsZSxcbiAgXCJ0aHVtYnRhY2tcIjogJGZhLXZhci10aHVtYnRhY2ssXG4gIFwidGh1bWItdGFja1wiOiAkZmEtdmFyLXRodW1iLXRhY2ssXG4gIFwidHJvcGh5XCI6ICRmYS12YXItdHJvcGh5LFxuICBcInBlcnNvbi1wcmF5aW5nXCI6ICRmYS12YXItcGVyc29uLXByYXlpbmcsXG4gIFwicHJheVwiOiAkZmEtdmFyLXByYXksXG4gIFwiaGFtbWVyXCI6ICRmYS12YXItaGFtbWVyLFxuICBcImhhbmQtcGVhY2VcIjogJGZhLXZhci1oYW5kLXBlYWNlLFxuICBcInJvdGF0ZVwiOiAkZmEtdmFyLXJvdGF0ZSxcbiAgXCJzeW5jLWFsdFwiOiAkZmEtdmFyLXN5bmMtYWx0LFxuICBcInNwaW5uZXJcIjogJGZhLXZhci1zcGlubmVyLFxuICBcInJvYm90XCI6ICRmYS12YXItcm9ib3QsXG4gIFwicGVhY2VcIjogJGZhLXZhci1wZWFjZSxcbiAgXCJnZWFyc1wiOiAkZmEtdmFyLWdlYXJzLFxuICBcImNvZ3NcIjogJGZhLXZhci1jb2dzLFxuICBcIndhcmVob3VzZVwiOiAkZmEtdmFyLXdhcmVob3VzZSxcbiAgXCJhcnJvdy11cC1yaWdodC1kb3RzXCI6ICRmYS12YXItYXJyb3ctdXAtcmlnaHQtZG90cyxcbiAgXCJzcGxvdGNoXCI6ICRmYS12YXItc3Bsb3RjaCxcbiAgXCJmYWNlLWdyaW4taGVhcnRzXCI6ICRmYS12YXItZmFjZS1ncmluLWhlYXJ0cyxcbiAgXCJncmluLWhlYXJ0c1wiOiAkZmEtdmFyLWdyaW4taGVhcnRzLFxuICBcImRpY2UtZm91clwiOiAkZmEtdmFyLWRpY2UtZm91cixcbiAgXCJzaW0tY2FyZFwiOiAkZmEtdmFyLXNpbS1jYXJkLFxuICBcInRyYW5zZ2VuZGVyXCI6ICRmYS12YXItdHJhbnNnZW5kZXIsXG4gIFwidHJhbnNnZW5kZXItYWx0XCI6ICRmYS12YXItdHJhbnNnZW5kZXItYWx0LFxuICBcIm1lcmN1cnlcIjogJGZhLXZhci1tZXJjdXJ5LFxuICBcImFycm93LXR1cm4tZG93blwiOiAkZmEtdmFyLWFycm93LXR1cm4tZG93bixcbiAgXCJsZXZlbC1kb3duXCI6ICRmYS12YXItbGV2ZWwtZG93bixcbiAgXCJwZXJzb24tZmFsbGluZy1idXJzdFwiOiAkZmEtdmFyLXBlcnNvbi1mYWxsaW5nLWJ1cnN0LFxuICBcImF3YXJkXCI6ICRmYS12YXItYXdhcmQsXG4gIFwidGlja2V0LXNpbXBsZVwiOiAkZmEtdmFyLXRpY2tldC1zaW1wbGUsXG4gIFwidGlja2V0LWFsdFwiOiAkZmEtdmFyLXRpY2tldC1hbHQsXG4gIFwiYnVpbGRpbmdcIjogJGZhLXZhci1idWlsZGluZyxcbiAgXCJhbmdsZXMtbGVmdFwiOiAkZmEtdmFyLWFuZ2xlcy1sZWZ0LFxuICBcImFuZ2xlLWRvdWJsZS1sZWZ0XCI6ICRmYS12YXItYW5nbGUtZG91YmxlLWxlZnQsXG4gIFwicXJjb2RlXCI6ICRmYS12YXItcXJjb2RlLFxuICBcImNsb2NrLXJvdGF0ZS1sZWZ0XCI6ICRmYS12YXItY2xvY2stcm90YXRlLWxlZnQsXG4gIFwiaGlzdG9yeVwiOiAkZmEtdmFyLWhpc3RvcnksXG4gIFwiZmFjZS1ncmluLWJlYW0tc3dlYXRcIjogJGZhLXZhci1mYWNlLWdyaW4tYmVhbS1zd2VhdCxcbiAgXCJncmluLWJlYW0tc3dlYXRcIjogJGZhLXZhci1ncmluLWJlYW0tc3dlYXQsXG4gIFwiZmlsZS1leHBvcnRcIjogJGZhLXZhci1maWxlLWV4cG9ydCxcbiAgXCJhcnJvdy1yaWdodC1mcm9tLWZpbGVcIjogJGZhLXZhci1hcnJvdy1yaWdodC1mcm9tLWZpbGUsXG4gIFwic2hpZWxkXCI6ICRmYS12YXItc2hpZWxkLFxuICBcInNoaWVsZC1ibGFua1wiOiAkZmEtdmFyLXNoaWVsZC1ibGFuayxcbiAgXCJhcnJvdy11cC1zaG9ydC13aWRlXCI6ICRmYS12YXItYXJyb3ctdXAtc2hvcnQtd2lkZSxcbiAgXCJzb3J0LWFtb3VudC11cC1hbHRcIjogJGZhLXZhci1zb3J0LWFtb3VudC11cC1hbHQsXG4gIFwiaG91c2UtbWVkaWNhbFwiOiAkZmEtdmFyLWhvdXNlLW1lZGljYWwsXG4gIFwiZ29sZi1iYWxsLXRlZVwiOiAkZmEtdmFyLWdvbGYtYmFsbC10ZWUsXG4gIFwiZ29sZi1iYWxsXCI6ICRmYS12YXItZ29sZi1iYWxsLFxuICBcImNpcmNsZS1jaGV2cm9uLWxlZnRcIjogJGZhLXZhci1jaXJjbGUtY2hldnJvbi1sZWZ0LFxuICBcImNoZXZyb24tY2lyY2xlLWxlZnRcIjogJGZhLXZhci1jaGV2cm9uLWNpcmNsZS1sZWZ0LFxuICBcImhvdXNlLWNoaW1uZXktd2luZG93XCI6ICRmYS12YXItaG91c2UtY2hpbW5leS13aW5kb3csXG4gIFwicGVuLW5pYlwiOiAkZmEtdmFyLXBlbi1uaWIsXG4gIFwidGVudC1hcnJvdy10dXJuLWxlZnRcIjogJGZhLXZhci10ZW50LWFycm93LXR1cm4tbGVmdCxcbiAgXCJ0ZW50c1wiOiAkZmEtdmFyLXRlbnRzLFxuICBcIndhbmQtbWFnaWNcIjogJGZhLXZhci13YW5kLW1hZ2ljLFxuICBcIm1hZ2ljXCI6ICRmYS12YXItbWFnaWMsXG4gIFwiZG9nXCI6ICRmYS12YXItZG9nLFxuICBcImNhcnJvdFwiOiAkZmEtdmFyLWNhcnJvdCxcbiAgXCJtb29uXCI6ICRmYS12YXItbW9vbixcbiAgXCJ3aW5lLWdsYXNzLWVtcHR5XCI6ICRmYS12YXItd2luZS1nbGFzcy1lbXB0eSxcbiAgXCJ3aW5lLWdsYXNzLWFsdFwiOiAkZmEtdmFyLXdpbmUtZ2xhc3MtYWx0LFxuICBcImNoZWVzZVwiOiAkZmEtdmFyLWNoZWVzZSxcbiAgXCJ5aW4teWFuZ1wiOiAkZmEtdmFyLXlpbi15YW5nLFxuICBcIm11c2ljXCI6ICRmYS12YXItbXVzaWMsXG4gIFwiY29kZS1jb21taXRcIjogJGZhLXZhci1jb2RlLWNvbW1pdCxcbiAgXCJ0ZW1wZXJhdHVyZS1sb3dcIjogJGZhLXZhci10ZW1wZXJhdHVyZS1sb3csXG4gIFwicGVyc29uLWJpa2luZ1wiOiAkZmEtdmFyLXBlcnNvbi1iaWtpbmcsXG4gIFwiYmlraW5nXCI6ICRmYS12YXItYmlraW5nLFxuICBcImJyb29tXCI6ICRmYS12YXItYnJvb20sXG4gIFwic2hpZWxkLWhlYXJ0XCI6ICRmYS12YXItc2hpZWxkLWhlYXJ0LFxuICBcImdvcHVyYW1cIjogJGZhLXZhci1nb3B1cmFtLFxuICBcImVhcnRoLW9jZWFuaWFcIjogJGZhLXZhci1lYXJ0aC1vY2VhbmlhLFxuICBcImdsb2JlLW9jZWFuaWFcIjogJGZhLXZhci1nbG9iZS1vY2VhbmlhLFxuICBcInNxdWFyZS14bWFya1wiOiAkZmEtdmFyLXNxdWFyZS14bWFyayxcbiAgXCJ0aW1lcy1zcXVhcmVcIjogJGZhLXZhci10aW1lcy1zcXVhcmUsXG4gIFwieG1hcmstc3F1YXJlXCI6ICRmYS12YXIteG1hcmstc3F1YXJlLFxuICBcImhhc2h0YWdcIjogJGZhLXZhci1oYXNodGFnLFxuICBcInVwLXJpZ2h0LWFuZC1kb3duLWxlZnQtZnJvbS1jZW50ZXJcIjogJGZhLXZhci11cC1yaWdodC1hbmQtZG93bi1sZWZ0LWZyb20tY2VudGVyLFxuICBcImV4cGFuZC1hbHRcIjogJGZhLXZhci1leHBhbmQtYWx0LFxuICBcIm9pbC1jYW5cIjogJGZhLXZhci1vaWwtY2FuLFxuICBcInRcIjogJGZhLXZhci10LFxuICBcImhpcHBvXCI6ICRmYS12YXItaGlwcG8sXG4gIFwiY2hhcnQtY29sdW1uXCI6ICRmYS12YXItY2hhcnQtY29sdW1uLFxuICBcImluZmluaXR5XCI6ICRmYS12YXItaW5maW5pdHksXG4gIFwidmlhbC1jaXJjbGUtY2hlY2tcIjogJGZhLXZhci12aWFsLWNpcmNsZS1jaGVjayxcbiAgXCJwZXJzb24tYXJyb3ctZG93bi10by1saW5lXCI6ICRmYS12YXItcGVyc29uLWFycm93LWRvd24tdG8tbGluZSxcbiAgXCJ2b2ljZW1haWxcIjogJGZhLXZhci12b2ljZW1haWwsXG4gIFwiZmFuXCI6ICRmYS12YXItZmFuLFxuICBcInBlcnNvbi13YWxraW5nLWx1Z2dhZ2VcIjogJGZhLXZhci1wZXJzb24td2Fsa2luZy1sdWdnYWdlLFxuICBcInVwLWRvd25cIjogJGZhLXZhci11cC1kb3duLFxuICBcImFycm93cy1hbHQtdlwiOiAkZmEtdmFyLWFycm93cy1hbHQtdixcbiAgXCJjbG91ZC1tb29uLXJhaW5cIjogJGZhLXZhci1jbG91ZC1tb29uLXJhaW4sXG4gIFwiY2FsZW5kYXJcIjogJGZhLXZhci1jYWxlbmRhcixcbiAgXCJ0cmFpbGVyXCI6ICRmYS12YXItdHJhaWxlcixcbiAgXCJiYWhhaVwiOiAkZmEtdmFyLWJhaGFpLFxuICBcImhheWthbFwiOiAkZmEtdmFyLWhheWthbCxcbiAgXCJzZC1jYXJkXCI6ICRmYS12YXItc2QtY2FyZCxcbiAgXCJkcmFnb25cIjogJGZhLXZhci1kcmFnb24sXG4gIFwic2hvZS1wcmludHNcIjogJGZhLXZhci1zaG9lLXByaW50cyxcbiAgXCJjaXJjbGUtcGx1c1wiOiAkZmEtdmFyLWNpcmNsZS1wbHVzLFxuICBcInBsdXMtY2lyY2xlXCI6ICRmYS12YXItcGx1cy1jaXJjbGUsXG4gIFwiZmFjZS1ncmluLXRvbmd1ZS13aW5rXCI6ICRmYS12YXItZmFjZS1ncmluLXRvbmd1ZS13aW5rLFxuICBcImdyaW4tdG9uZ3VlLXdpbmtcIjogJGZhLXZhci1ncmluLXRvbmd1ZS13aW5rLFxuICBcImhhbmQtaG9sZGluZ1wiOiAkZmEtdmFyLWhhbmQtaG9sZGluZyxcbiAgXCJwbHVnLWNpcmNsZS1leGNsYW1hdGlvblwiOiAkZmEtdmFyLXBsdWctY2lyY2xlLWV4Y2xhbWF0aW9uLFxuICBcImxpbmstc2xhc2hcIjogJGZhLXZhci1saW5rLXNsYXNoLFxuICBcImNoYWluLWJyb2tlblwiOiAkZmEtdmFyLWNoYWluLWJyb2tlbixcbiAgXCJjaGFpbi1zbGFzaFwiOiAkZmEtdmFyLWNoYWluLXNsYXNoLFxuICBcInVubGlua1wiOiAkZmEtdmFyLXVubGluayxcbiAgXCJjbG9uZVwiOiAkZmEtdmFyLWNsb25lLFxuICBcInBlcnNvbi13YWxraW5nLWFycm93LWxvb3AtbGVmdFwiOiAkZmEtdmFyLXBlcnNvbi13YWxraW5nLWFycm93LWxvb3AtbGVmdCxcbiAgXCJhcnJvdy11cC16LWFcIjogJGZhLXZhci1hcnJvdy11cC16LWEsXG4gIFwic29ydC1hbHBoYS11cC1hbHRcIjogJGZhLXZhci1zb3J0LWFscGhhLXVwLWFsdCxcbiAgXCJmaXJlLWZsYW1lLWN1cnZlZFwiOiAkZmEtdmFyLWZpcmUtZmxhbWUtY3VydmVkLFxuICBcImZpcmUtYWx0XCI6ICRmYS12YXItZmlyZS1hbHQsXG4gIFwidG9ybmFkb1wiOiAkZmEtdmFyLXRvcm5hZG8sXG4gIFwiZmlsZS1jaXJjbGUtcGx1c1wiOiAkZmEtdmFyLWZpbGUtY2lyY2xlLXBsdXMsXG4gIFwiYm9vay1xdXJhblwiOiAkZmEtdmFyLWJvb2stcXVyYW4sXG4gIFwicXVyYW5cIjogJGZhLXZhci1xdXJhbixcbiAgXCJhbmNob3JcIjogJGZhLXZhci1hbmNob3IsXG4gIFwiYm9yZGVyLWFsbFwiOiAkZmEtdmFyLWJvcmRlci1hbGwsXG4gIFwiZmFjZS1hbmdyeVwiOiAkZmEtdmFyLWZhY2UtYW5ncnksXG4gIFwiYW5ncnlcIjogJGZhLXZhci1hbmdyeSxcbiAgXCJjb29raWUtYml0ZVwiOiAkZmEtdmFyLWNvb2tpZS1iaXRlLFxuICBcImFycm93LXRyZW5kLWRvd25cIjogJGZhLXZhci1hcnJvdy10cmVuZC1kb3duLFxuICBcInJzc1wiOiAkZmEtdmFyLXJzcyxcbiAgXCJmZWVkXCI6ICRmYS12YXItZmVlZCxcbiAgXCJkcmF3LXBvbHlnb25cIjogJGZhLXZhci1kcmF3LXBvbHlnb24sXG4gIFwic2NhbGUtYmFsYW5jZWRcIjogJGZhLXZhci1zY2FsZS1iYWxhbmNlZCxcbiAgXCJiYWxhbmNlLXNjYWxlXCI6ICRmYS12YXItYmFsYW5jZS1zY2FsZSxcbiAgXCJnYXVnZS1zaW1wbGUtaGlnaFwiOiAkZmEtdmFyLWdhdWdlLXNpbXBsZS1oaWdoLFxuICBcInRhY2hvbWV0ZXJcIjogJGZhLXZhci10YWNob21ldGVyLFxuICBcInRhY2hvbWV0ZXItZmFzdFwiOiAkZmEtdmFyLXRhY2hvbWV0ZXItZmFzdCxcbiAgXCJzaG93ZXJcIjogJGZhLXZhci1zaG93ZXIsXG4gIFwiZGVza3RvcFwiOiAkZmEtdmFyLWRlc2t0b3AsXG4gIFwiZGVza3RvcC1hbHRcIjogJGZhLXZhci1kZXNrdG9wLWFsdCxcbiAgXCJtXCI6ICRmYS12YXItbSxcbiAgXCJ0YWJsZS1saXN0XCI6ICRmYS12YXItdGFibGUtbGlzdCxcbiAgXCJ0aC1saXN0XCI6ICRmYS12YXItdGgtbGlzdCxcbiAgXCJjb21tZW50LXNtc1wiOiAkZmEtdmFyLWNvbW1lbnQtc21zLFxuICBcInNtc1wiOiAkZmEtdmFyLXNtcyxcbiAgXCJib29rXCI6ICRmYS12YXItYm9vayxcbiAgXCJ1c2VyLXBsdXNcIjogJGZhLXZhci11c2VyLXBsdXMsXG4gIFwiY2hlY2tcIjogJGZhLXZhci1jaGVjayxcbiAgXCJiYXR0ZXJ5LXRocmVlLXF1YXJ0ZXJzXCI6ICRmYS12YXItYmF0dGVyeS10aHJlZS1xdWFydGVycyxcbiAgXCJiYXR0ZXJ5LTRcIjogJGZhLXZhci1iYXR0ZXJ5LTQsXG4gIFwiaG91c2UtY2lyY2xlLWNoZWNrXCI6ICRmYS12YXItaG91c2UtY2lyY2xlLWNoZWNrLFxuICBcImFuZ2xlLWxlZnRcIjogJGZhLXZhci1hbmdsZS1sZWZ0LFxuICBcImRpYWdyYW0tc3VjY2Vzc29yXCI6ICRmYS12YXItZGlhZ3JhbS1zdWNjZXNzb3IsXG4gIFwidHJ1Y2stYXJyb3ctcmlnaHRcIjogJGZhLXZhci10cnVjay1hcnJvdy1yaWdodCxcbiAgXCJhcnJvd3Mtc3BsaXQtdXAtYW5kLWxlZnRcIjogJGZhLXZhci1hcnJvd3Mtc3BsaXQtdXAtYW5kLWxlZnQsXG4gIFwiaGFuZC1maXN0XCI6ICRmYS12YXItaGFuZC1maXN0LFxuICBcImZpc3QtcmFpc2VkXCI6ICRmYS12YXItZmlzdC1yYWlzZWQsXG4gIFwiY2xvdWQtbW9vblwiOiAkZmEtdmFyLWNsb3VkLW1vb24sXG4gIFwiYnJpZWZjYXNlXCI6ICRmYS12YXItYnJpZWZjYXNlLFxuICBcInBlcnNvbi1mYWxsaW5nXCI6ICRmYS12YXItcGVyc29uLWZhbGxpbmcsXG4gIFwiaW1hZ2UtcG9ydHJhaXRcIjogJGZhLXZhci1pbWFnZS1wb3J0cmFpdCxcbiAgXCJwb3J0cmFpdFwiOiAkZmEtdmFyLXBvcnRyYWl0LFxuICBcInVzZXItdGFnXCI6ICRmYS12YXItdXNlci10YWcsXG4gIFwicnVnXCI6ICRmYS12YXItcnVnLFxuICBcImVhcnRoLWV1cm9wZVwiOiAkZmEtdmFyLWVhcnRoLWV1cm9wZSxcbiAgXCJnbG9iZS1ldXJvcGVcIjogJGZhLXZhci1nbG9iZS1ldXJvcGUsXG4gIFwiY2FydC1mbGF0YmVkLXN1aXRjYXNlXCI6ICRmYS12YXItY2FydC1mbGF0YmVkLXN1aXRjYXNlLFxuICBcImx1Z2dhZ2UtY2FydFwiOiAkZmEtdmFyLWx1Z2dhZ2UtY2FydCxcbiAgXCJyZWN0YW5nbGUteG1hcmtcIjogJGZhLXZhci1yZWN0YW5nbGUteG1hcmssXG4gIFwicmVjdGFuZ2xlLXRpbWVzXCI6ICRmYS12YXItcmVjdGFuZ2xlLXRpbWVzLFxuICBcInRpbWVzLXJlY3RhbmdsZVwiOiAkZmEtdmFyLXRpbWVzLXJlY3RhbmdsZSxcbiAgXCJ3aW5kb3ctY2xvc2VcIjogJGZhLXZhci13aW5kb3ctY2xvc2UsXG4gIFwiYmFodC1zaWduXCI6ICRmYS12YXItYmFodC1zaWduLFxuICBcImJvb2stb3BlblwiOiAkZmEtdmFyLWJvb2stb3BlbixcbiAgXCJib29rLWpvdXJuYWwtd2hpbGxzXCI6ICRmYS12YXItYm9vay1qb3VybmFsLXdoaWxscyxcbiAgXCJqb3VybmFsLXdoaWxsc1wiOiAkZmEtdmFyLWpvdXJuYWwtd2hpbGxzLFxuICBcImhhbmRjdWZmc1wiOiAkZmEtdmFyLWhhbmRjdWZmcyxcbiAgXCJ0cmlhbmdsZS1leGNsYW1hdGlvblwiOiAkZmEtdmFyLXRyaWFuZ2xlLWV4Y2xhbWF0aW9uLFxuICBcImV4Y2xhbWF0aW9uLXRyaWFuZ2xlXCI6ICRmYS12YXItZXhjbGFtYXRpb24tdHJpYW5nbGUsXG4gIFwid2FybmluZ1wiOiAkZmEtdmFyLXdhcm5pbmcsXG4gIFwiZGF0YWJhc2VcIjogJGZhLXZhci1kYXRhYmFzZSxcbiAgXCJzaGFyZVwiOiAkZmEtdmFyLXNoYXJlLFxuICBcIm1haWwtZm9yd2FyZFwiOiAkZmEtdmFyLW1haWwtZm9yd2FyZCxcbiAgXCJib3R0bGUtZHJvcGxldFwiOiAkZmEtdmFyLWJvdHRsZS1kcm9wbGV0LFxuICBcIm1hc2stZmFjZVwiOiAkZmEtdmFyLW1hc2stZmFjZSxcbiAgXCJoaWxsLXJvY2tzbGlkZVwiOiAkZmEtdmFyLWhpbGwtcm9ja3NsaWRlLFxuICBcInJpZ2h0LWxlZnRcIjogJGZhLXZhci1yaWdodC1sZWZ0LFxuICBcImV4Y2hhbmdlLWFsdFwiOiAkZmEtdmFyLWV4Y2hhbmdlLWFsdCxcbiAgXCJwYXBlci1wbGFuZVwiOiAkZmEtdmFyLXBhcGVyLXBsYW5lLFxuICBcInJvYWQtY2lyY2xlLWV4Y2xhbWF0aW9uXCI6ICRmYS12YXItcm9hZC1jaXJjbGUtZXhjbGFtYXRpb24sXG4gIFwiZHVuZ2VvblwiOiAkZmEtdmFyLWR1bmdlb24sXG4gIFwiYWxpZ24tcmlnaHRcIjogJGZhLXZhci1hbGlnbi1yaWdodCxcbiAgXCJtb25leS1iaWxsLTEtd2F2ZVwiOiAkZmEtdmFyLW1vbmV5LWJpbGwtMS13YXZlLFxuICBcIm1vbmV5LWJpbGwtd2F2ZS1hbHRcIjogJGZhLXZhci1tb25leS1iaWxsLXdhdmUtYWx0LFxuICBcImxpZmUtcmluZ1wiOiAkZmEtdmFyLWxpZmUtcmluZyxcbiAgXCJoYW5kc1wiOiAkZmEtdmFyLWhhbmRzLFxuICBcInNpZ24tbGFuZ3VhZ2VcIjogJGZhLXZhci1zaWduLWxhbmd1YWdlLFxuICBcInNpZ25pbmdcIjogJGZhLXZhci1zaWduaW5nLFxuICBcImNhbGVuZGFyLWRheVwiOiAkZmEtdmFyLWNhbGVuZGFyLWRheSxcbiAgXCJ3YXRlci1sYWRkZXJcIjogJGZhLXZhci13YXRlci1sYWRkZXIsXG4gIFwibGFkZGVyLXdhdGVyXCI6ICRmYS12YXItbGFkZGVyLXdhdGVyLFxuICBcInN3aW1taW5nLXBvb2xcIjogJGZhLXZhci1zd2ltbWluZy1wb29sLFxuICBcImFycm93cy11cC1kb3duXCI6ICRmYS12YXItYXJyb3dzLXVwLWRvd24sXG4gIFwiYXJyb3dzLXZcIjogJGZhLXZhci1hcnJvd3MtdixcbiAgXCJmYWNlLWdyaW1hY2VcIjogJGZhLXZhci1mYWNlLWdyaW1hY2UsXG4gIFwiZ3JpbWFjZVwiOiAkZmEtdmFyLWdyaW1hY2UsXG4gIFwid2hlZWxjaGFpci1tb3ZlXCI6ICRmYS12YXItd2hlZWxjaGFpci1tb3ZlLFxuICBcIndoZWVsY2hhaXItYWx0XCI6ICRmYS12YXItd2hlZWxjaGFpci1hbHQsXG4gIFwidHVybi1kb3duXCI6ICRmYS12YXItdHVybi1kb3duLFxuICBcImxldmVsLWRvd24tYWx0XCI6ICRmYS12YXItbGV2ZWwtZG93bi1hbHQsXG4gIFwicGVyc29uLXdhbGtpbmctYXJyb3ctcmlnaHRcIjogJGZhLXZhci1wZXJzb24td2Fsa2luZy1hcnJvdy1yaWdodCxcbiAgXCJzcXVhcmUtZW52ZWxvcGVcIjogJGZhLXZhci1zcXVhcmUtZW52ZWxvcGUsXG4gIFwiZW52ZWxvcGUtc3F1YXJlXCI6ICRmYS12YXItZW52ZWxvcGUtc3F1YXJlLFxuICBcImRpY2VcIjogJGZhLXZhci1kaWNlLFxuICBcImJvd2xpbmctYmFsbFwiOiAkZmEtdmFyLWJvd2xpbmctYmFsbCxcbiAgXCJicmFpblwiOiAkZmEtdmFyLWJyYWluLFxuICBcImJhbmRhZ2VcIjogJGZhLXZhci1iYW5kYWdlLFxuICBcImJhbmQtYWlkXCI6ICRmYS12YXItYmFuZC1haWQsXG4gIFwiY2FsZW5kYXItbWludXNcIjogJGZhLXZhci1jYWxlbmRhci1taW51cyxcbiAgXCJjaXJjbGUteG1hcmtcIjogJGZhLXZhci1jaXJjbGUteG1hcmssXG4gIFwidGltZXMtY2lyY2xlXCI6ICRmYS12YXItdGltZXMtY2lyY2xlLFxuICBcInhtYXJrLWNpcmNsZVwiOiAkZmEtdmFyLXhtYXJrLWNpcmNsZSxcbiAgXCJnaWZ0c1wiOiAkZmEtdmFyLWdpZnRzLFxuICBcImhvdGVsXCI6ICRmYS12YXItaG90ZWwsXG4gIFwiZWFydGgtYXNpYVwiOiAkZmEtdmFyLWVhcnRoLWFzaWEsXG4gIFwiZ2xvYmUtYXNpYVwiOiAkZmEtdmFyLWdsb2JlLWFzaWEsXG4gIFwiaWQtY2FyZC1jbGlwXCI6ICRmYS12YXItaWQtY2FyZC1jbGlwLFxuICBcImlkLWNhcmQtYWx0XCI6ICRmYS12YXItaWQtY2FyZC1hbHQsXG4gIFwibWFnbmlmeWluZy1nbGFzcy1wbHVzXCI6ICRmYS12YXItbWFnbmlmeWluZy1nbGFzcy1wbHVzLFxuICBcInNlYXJjaC1wbHVzXCI6ICRmYS12YXItc2VhcmNoLXBsdXMsXG4gIFwidGh1bWJzLXVwXCI6ICRmYS12YXItdGh1bWJzLXVwLFxuICBcInVzZXItY2xvY2tcIjogJGZhLXZhci11c2VyLWNsb2NrLFxuICBcImhhbmQtZG90c1wiOiAkZmEtdmFyLWhhbmQtZG90cyxcbiAgXCJhbGxlcmdpZXNcIjogJGZhLXZhci1hbGxlcmdpZXMsXG4gIFwiZmlsZS1pbnZvaWNlXCI6ICRmYS12YXItZmlsZS1pbnZvaWNlLFxuICBcIndpbmRvdy1taW5pbWl6ZVwiOiAkZmEtdmFyLXdpbmRvdy1taW5pbWl6ZSxcbiAgXCJtdWctc2F1Y2VyXCI6ICRmYS12YXItbXVnLXNhdWNlcixcbiAgXCJjb2ZmZWVcIjogJGZhLXZhci1jb2ZmZWUsXG4gIFwiYnJ1c2hcIjogJGZhLXZhci1icnVzaCxcbiAgXCJtYXNrXCI6ICRmYS12YXItbWFzayxcbiAgXCJtYWduaWZ5aW5nLWdsYXNzLW1pbnVzXCI6ICRmYS12YXItbWFnbmlmeWluZy1nbGFzcy1taW51cyxcbiAgXCJzZWFyY2gtbWludXNcIjogJGZhLXZhci1zZWFyY2gtbWludXMsXG4gIFwicnVsZXItdmVydGljYWxcIjogJGZhLXZhci1ydWxlci12ZXJ0aWNhbCxcbiAgXCJ1c2VyLWxhcmdlXCI6ICRmYS12YXItdXNlci1sYXJnZSxcbiAgXCJ1c2VyLWFsdFwiOiAkZmEtdmFyLXVzZXItYWx0LFxuICBcInRyYWluLXRyYW1cIjogJGZhLXZhci10cmFpbi10cmFtLFxuICBcInVzZXItbnVyc2VcIjogJGZhLXZhci11c2VyLW51cnNlLFxuICBcInN5cmluZ2VcIjogJGZhLXZhci1zeXJpbmdlLFxuICBcImNsb3VkLXN1blwiOiAkZmEtdmFyLWNsb3VkLXN1bixcbiAgXCJzdG9wd2F0Y2gtMjBcIjogJGZhLXZhci1zdG9wd2F0Y2gtMjAsXG4gIFwic3F1YXJlLWZ1bGxcIjogJGZhLXZhci1zcXVhcmUtZnVsbCxcbiAgXCJtYWduZXRcIjogJGZhLXZhci1tYWduZXQsXG4gIFwiamFyXCI6ICRmYS12YXItamFyLFxuICBcIm5vdGUtc3RpY2t5XCI6ICRmYS12YXItbm90ZS1zdGlja3ksXG4gIFwic3RpY2t5LW5vdGVcIjogJGZhLXZhci1zdGlja3ktbm90ZSxcbiAgXCJidWctc2xhc2hcIjogJGZhLXZhci1idWctc2xhc2gsXG4gIFwiYXJyb3ctdXAtZnJvbS13YXRlci1wdW1wXCI6ICRmYS12YXItYXJyb3ctdXAtZnJvbS13YXRlci1wdW1wLFxuICBcImJvbmVcIjogJGZhLXZhci1ib25lLFxuICBcInVzZXItaW5qdXJlZFwiOiAkZmEtdmFyLXVzZXItaW5qdXJlZCxcbiAgXCJmYWNlLXNhZC10ZWFyXCI6ICRmYS12YXItZmFjZS1zYWQtdGVhcixcbiAgXCJzYWQtdGVhclwiOiAkZmEtdmFyLXNhZC10ZWFyLFxuICBcInBsYW5lXCI6ICRmYS12YXItcGxhbmUsXG4gIFwidGVudC1hcnJvd3MtZG93blwiOiAkZmEtdmFyLXRlbnQtYXJyb3dzLWRvd24sXG4gIFwiZXhjbGFtYXRpb25cIjogJGZhLXZhci1leGNsYW1hdGlvbixcbiAgXCJhcnJvd3Mtc3BpblwiOiAkZmEtdmFyLWFycm93cy1zcGluLFxuICBcInByaW50XCI6ICRmYS12YXItcHJpbnQsXG4gIFwidHVya2lzaC1saXJhLXNpZ25cIjogJGZhLXZhci10dXJraXNoLWxpcmEtc2lnbixcbiAgXCJ0cnlcIjogJGZhLXZhci10cnksXG4gIFwidHVya2lzaC1saXJhXCI6ICRmYS12YXItdHVya2lzaC1saXJhLFxuICBcImRvbGxhci1zaWduXCI6ICRmYS12YXItZG9sbGFyLXNpZ24sXG4gIFwiZG9sbGFyXCI6ICRmYS12YXItZG9sbGFyLFxuICBcInVzZFwiOiAkZmEtdmFyLXVzZCxcbiAgXCJ4XCI6ICRmYS12YXIteCxcbiAgXCJtYWduaWZ5aW5nLWdsYXNzLWRvbGxhclwiOiAkZmEtdmFyLW1hZ25pZnlpbmctZ2xhc3MtZG9sbGFyLFxuICBcInNlYXJjaC1kb2xsYXJcIjogJGZhLXZhci1zZWFyY2gtZG9sbGFyLFxuICBcInVzZXJzLWdlYXJcIjogJGZhLXZhci11c2Vycy1nZWFyLFxuICBcInVzZXJzLWNvZ1wiOiAkZmEtdmFyLXVzZXJzLWNvZyxcbiAgXCJwZXJzb24tbWlsaXRhcnktcG9pbnRpbmdcIjogJGZhLXZhci1wZXJzb24tbWlsaXRhcnktcG9pbnRpbmcsXG4gIFwiYnVpbGRpbmctY29sdW1uc1wiOiAkZmEtdmFyLWJ1aWxkaW5nLWNvbHVtbnMsXG4gIFwiYmFua1wiOiAkZmEtdmFyLWJhbmssXG4gIFwiaW5zdGl0dXRpb25cIjogJGZhLXZhci1pbnN0aXR1dGlvbixcbiAgXCJtdXNldW1cIjogJGZhLXZhci1tdXNldW0sXG4gIFwidW5pdmVyc2l0eVwiOiAkZmEtdmFyLXVuaXZlcnNpdHksXG4gIFwidW1icmVsbGFcIjogJGZhLXZhci11bWJyZWxsYSxcbiAgXCJ0cm93ZWxcIjogJGZhLXZhci10cm93ZWwsXG4gIFwiZFwiOiAkZmEtdmFyLWQsXG4gIFwic3RhcGxlclwiOiAkZmEtdmFyLXN0YXBsZXIsXG4gIFwibWFza3MtdGhlYXRlclwiOiAkZmEtdmFyLW1hc2tzLXRoZWF0ZXIsXG4gIFwidGhlYXRlci1tYXNrc1wiOiAkZmEtdmFyLXRoZWF0ZXItbWFza3MsXG4gIFwia2lwLXNpZ25cIjogJGZhLXZhci1raXAtc2lnbixcbiAgXCJoYW5kLXBvaW50LWxlZnRcIjogJGZhLXZhci1oYW5kLXBvaW50LWxlZnQsXG4gIFwiaGFuZHNoYWtlLXNpbXBsZVwiOiAkZmEtdmFyLWhhbmRzaGFrZS1zaW1wbGUsXG4gIFwiaGFuZHNoYWtlLWFsdFwiOiAkZmEtdmFyLWhhbmRzaGFrZS1hbHQsXG4gIFwiamV0LWZpZ2h0ZXJcIjogJGZhLXZhci1qZXQtZmlnaHRlcixcbiAgXCJmaWdodGVyLWpldFwiOiAkZmEtdmFyLWZpZ2h0ZXItamV0LFxuICBcInNxdWFyZS1zaGFyZS1ub2Rlc1wiOiAkZmEtdmFyLXNxdWFyZS1zaGFyZS1ub2RlcyxcbiAgXCJzaGFyZS1hbHQtc3F1YXJlXCI6ICRmYS12YXItc2hhcmUtYWx0LXNxdWFyZSxcbiAgXCJiYXJjb2RlXCI6ICRmYS12YXItYmFyY29kZSxcbiAgXCJwbHVzLW1pbnVzXCI6ICRmYS12YXItcGx1cy1taW51cyxcbiAgXCJ2aWRlb1wiOiAkZmEtdmFyLXZpZGVvLFxuICBcInZpZGVvLWNhbWVyYVwiOiAkZmEtdmFyLXZpZGVvLWNhbWVyYSxcbiAgXCJncmFkdWF0aW9uLWNhcFwiOiAkZmEtdmFyLWdyYWR1YXRpb24tY2FwLFxuICBcIm1vcnRhci1ib2FyZFwiOiAkZmEtdmFyLW1vcnRhci1ib2FyZCxcbiAgXCJoYW5kLWhvbGRpbmctbWVkaWNhbFwiOiAkZmEtdmFyLWhhbmQtaG9sZGluZy1tZWRpY2FsLFxuICBcInBlcnNvbi1jaXJjbGUtY2hlY2tcIjogJGZhLXZhci1wZXJzb24tY2lyY2xlLWNoZWNrLFxuICBcInR1cm4tdXBcIjogJGZhLXZhci10dXJuLXVwLFxuICBcImxldmVsLXVwLWFsdFwiOiAkZmEtdmFyLWxldmVsLXVwLWFsdCxcbik7XG5cbiRmYS1icmFuZC1pY29uczogKFxuICBcIm1vbmVyb1wiOiAkZmEtdmFyLW1vbmVybyxcbiAgXCJob29saVwiOiAkZmEtdmFyLWhvb2xpLFxuICBcInllbHBcIjogJGZhLXZhci15ZWxwLFxuICBcImNjLXZpc2FcIjogJGZhLXZhci1jYy12aXNhLFxuICBcImxhc3RmbVwiOiAkZmEtdmFyLWxhc3RmbSxcbiAgXCJzaG9wd2FyZVwiOiAkZmEtdmFyLXNob3B3YXJlLFxuICBcImNyZWF0aXZlLWNvbW1vbnMtbmNcIjogJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLW5jLFxuICBcImF3c1wiOiAkZmEtdmFyLWF3cyxcbiAgXCJyZWRoYXRcIjogJGZhLXZhci1yZWRoYXQsXG4gIFwieW9hc3RcIjogJGZhLXZhci15b2FzdCxcbiAgXCJjbG91ZGZsYXJlXCI6ICRmYS12YXItY2xvdWRmbGFyZSxcbiAgXCJ1cHNcIjogJGZhLXZhci11cHMsXG4gIFwicGl4aXZcIjogJGZhLXZhci1waXhpdixcbiAgXCJ3cGV4cGxvcmVyXCI6ICRmYS12YXItd3BleHBsb3JlcixcbiAgXCJkeWFsb2dcIjogJGZhLXZhci1keWFsb2csXG4gIFwiYml0eVwiOiAkZmEtdmFyLWJpdHksXG4gIFwic3RhY2twYXRoXCI6ICRmYS12YXItc3RhY2twYXRoLFxuICBcImJ1eXNlbGxhZHNcIjogJGZhLXZhci1idXlzZWxsYWRzLFxuICBcImZpcnN0LW9yZGVyXCI6ICRmYS12YXItZmlyc3Qtb3JkZXIsXG4gIFwibW9keFwiOiAkZmEtdmFyLW1vZHgsXG4gIFwiZ3VpbGRlZFwiOiAkZmEtdmFyLWd1aWxkZWQsXG4gIFwidm52XCI6ICRmYS12YXItdm52LFxuICBcInNxdWFyZS1qc1wiOiAkZmEtdmFyLXNxdWFyZS1qcyxcbiAgXCJqcy1zcXVhcmVcIjogJGZhLXZhci1qcy1zcXVhcmUsXG4gIFwibWljcm9zb2Z0XCI6ICRmYS12YXItbWljcm9zb2Z0LFxuICBcInFxXCI6ICRmYS12YXItcXEsXG4gIFwib3JjaWRcIjogJGZhLXZhci1vcmNpZCxcbiAgXCJqYXZhXCI6ICRmYS12YXItamF2YSxcbiAgXCJpbnZpc2lvblwiOiAkZmEtdmFyLWludmlzaW9uLFxuICBcImNyZWF0aXZlLWNvbW1vbnMtcGQtYWx0XCI6ICRmYS12YXItY3JlYXRpdmUtY29tbW9ucy1wZC1hbHQsXG4gIFwiY2VudGVyY29kZVwiOiAkZmEtdmFyLWNlbnRlcmNvZGUsXG4gIFwiZ2xpZGUtZ1wiOiAkZmEtdmFyLWdsaWRlLWcsXG4gIFwiZHJ1cGFsXCI6ICRmYS12YXItZHJ1cGFsLFxuICBcImhpcmUtYS1oZWxwZXJcIjogJGZhLXZhci1oaXJlLWEtaGVscGVyLFxuICBcImNyZWF0aXZlLWNvbW1vbnMtYnlcIjogJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLWJ5LFxuICBcInVuaXR5XCI6ICRmYS12YXItdW5pdHksXG4gIFwid2htY3NcIjogJGZhLXZhci13aG1jcyxcbiAgXCJyb2NrZXRjaGF0XCI6ICRmYS12YXItcm9ja2V0Y2hhdCxcbiAgXCJ2a1wiOiAkZmEtdmFyLXZrLFxuICBcInVudGFwcGRcIjogJGZhLXZhci11bnRhcHBkLFxuICBcIm1haWxjaGltcFwiOiAkZmEtdmFyLW1haWxjaGltcCxcbiAgXCJjc3MzLWFsdFwiOiAkZmEtdmFyLWNzczMtYWx0LFxuICBcInNxdWFyZS1yZWRkaXRcIjogJGZhLXZhci1zcXVhcmUtcmVkZGl0LFxuICBcInJlZGRpdC1zcXVhcmVcIjogJGZhLXZhci1yZWRkaXQtc3F1YXJlLFxuICBcInZpbWVvLXZcIjogJGZhLXZhci12aW1lby12LFxuICBcImNvbnRhb1wiOiAkZmEtdmFyLWNvbnRhbyxcbiAgXCJzcXVhcmUtZm9udC1hd2Vzb21lXCI6ICRmYS12YXItc3F1YXJlLWZvbnQtYXdlc29tZSxcbiAgXCJkZXNrcHJvXCI6ICRmYS12YXItZGVza3BybyxcbiAgXCJicmF2ZVwiOiAkZmEtdmFyLWJyYXZlLFxuICBcInNpc3RyaXhcIjogJGZhLXZhci1zaXN0cml4LFxuICBcInNxdWFyZS1pbnN0YWdyYW1cIjogJGZhLXZhci1zcXVhcmUtaW5zdGFncmFtLFxuICBcImluc3RhZ3JhbS1zcXVhcmVcIjogJGZhLXZhci1pbnN0YWdyYW0tc3F1YXJlLFxuICBcImJhdHRsZS1uZXRcIjogJGZhLXZhci1iYXR0bGUtbmV0LFxuICBcInRoZS1yZWQteWV0aVwiOiAkZmEtdmFyLXRoZS1yZWQteWV0aSxcbiAgXCJzcXVhcmUtaGFja2VyLW5ld3NcIjogJGZhLXZhci1zcXVhcmUtaGFja2VyLW5ld3MsXG4gIFwiaGFja2VyLW5ld3Mtc3F1YXJlXCI6ICRmYS12YXItaGFja2VyLW5ld3Mtc3F1YXJlLFxuICBcImVkZ2VcIjogJGZhLXZhci1lZGdlLFxuICBcInRocmVhZHNcIjogJGZhLXZhci10aHJlYWRzLFxuICBcIm5hcHN0ZXJcIjogJGZhLXZhci1uYXBzdGVyLFxuICBcInNxdWFyZS1zbmFwY2hhdFwiOiAkZmEtdmFyLXNxdWFyZS1zbmFwY2hhdCxcbiAgXCJzbmFwY2hhdC1zcXVhcmVcIjogJGZhLXZhci1zbmFwY2hhdC1zcXVhcmUsXG4gIFwiZ29vZ2xlLXBsdXMtZ1wiOiAkZmEtdmFyLWdvb2dsZS1wbHVzLWcsXG4gIFwiYXJ0c3RhdGlvblwiOiAkZmEtdmFyLWFydHN0YXRpb24sXG4gIFwibWFya2Rvd25cIjogJGZhLXZhci1tYXJrZG93bixcbiAgXCJzb3VyY2V0cmVlXCI6ICRmYS12YXItc291cmNldHJlZSxcbiAgXCJnb29nbGUtcGx1c1wiOiAkZmEtdmFyLWdvb2dsZS1wbHVzLFxuICBcImRpYXNwb3JhXCI6ICRmYS12YXItZGlhc3BvcmEsXG4gIFwiZm91cnNxdWFyZVwiOiAkZmEtdmFyLWZvdXJzcXVhcmUsXG4gIFwic3RhY2stb3ZlcmZsb3dcIjogJGZhLXZhci1zdGFjay1vdmVyZmxvdyxcbiAgXCJnaXRodWItYWx0XCI6ICRmYS12YXItZ2l0aHViLWFsdCxcbiAgXCJwaG9lbml4LXNxdWFkcm9uXCI6ICRmYS12YXItcGhvZW5peC1zcXVhZHJvbixcbiAgXCJwYWdlbGluZXNcIjogJGZhLXZhci1wYWdlbGluZXMsXG4gIFwiYWxnb2xpYVwiOiAkZmEtdmFyLWFsZ29saWEsXG4gIFwicmVkLXJpdmVyXCI6ICRmYS12YXItcmVkLXJpdmVyLFxuICBcImNyZWF0aXZlLWNvbW1vbnMtc2FcIjogJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLXNhLFxuICBcInNhZmFyaVwiOiAkZmEtdmFyLXNhZmFyaSxcbiAgXCJnb29nbGVcIjogJGZhLXZhci1nb29nbGUsXG4gIFwic3F1YXJlLWZvbnQtYXdlc29tZS1zdHJva2VcIjogJGZhLXZhci1zcXVhcmUtZm9udC1hd2Vzb21lLXN0cm9rZSxcbiAgXCJmb250LWF3ZXNvbWUtYWx0XCI6ICRmYS12YXItZm9udC1hd2Vzb21lLWFsdCxcbiAgXCJhdGxhc3NpYW5cIjogJGZhLXZhci1hdGxhc3NpYW4sXG4gIFwibGlua2VkaW4taW5cIjogJGZhLXZhci1saW5rZWRpbi1pbixcbiAgXCJkaWdpdGFsLW9jZWFuXCI6ICRmYS12YXItZGlnaXRhbC1vY2VhbixcbiAgXCJuaW1ibHJcIjogJGZhLXZhci1uaW1ibHIsXG4gIFwiY2hyb21lY2FzdFwiOiAkZmEtdmFyLWNocm9tZWNhc3QsXG4gIFwiZXZlcm5vdGVcIjogJGZhLXZhci1ldmVybm90ZSxcbiAgXCJoYWNrZXItbmV3c1wiOiAkZmEtdmFyLWhhY2tlci1uZXdzLFxuICBcImNyZWF0aXZlLWNvbW1vbnMtc2FtcGxpbmdcIjogJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLXNhbXBsaW5nLFxuICBcImFkdmVyc2FsXCI6ICRmYS12YXItYWR2ZXJzYWwsXG4gIFwiY3JlYXRpdmUtY29tbW9uc1wiOiAkZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMsXG4gIFwid2F0Y2htYW4tbW9uaXRvcmluZ1wiOiAkZmEtdmFyLXdhdGNobWFuLW1vbml0b3JpbmcsXG4gIFwiZm9udGljb25zXCI6ICRmYS12YXItZm9udGljb25zLFxuICBcIndlaXhpblwiOiAkZmEtdmFyLXdlaXhpbixcbiAgXCJzaGlydHNpbmJ1bGtcIjogJGZhLXZhci1zaGlydHNpbmJ1bGssXG4gIFwiY29kZXBlblwiOiAkZmEtdmFyLWNvZGVwZW4sXG4gIFwiZ2l0LWFsdFwiOiAkZmEtdmFyLWdpdC1hbHQsXG4gIFwibHlmdFwiOiAkZmEtdmFyLWx5ZnQsXG4gIFwicmV2XCI6ICRmYS12YXItcmV2LFxuICBcIndpbmRvd3NcIjogJGZhLXZhci13aW5kb3dzLFxuICBcIndpemFyZHMtb2YtdGhlLWNvYXN0XCI6ICRmYS12YXItd2l6YXJkcy1vZi10aGUtY29hc3QsXG4gIFwic3F1YXJlLXZpYWRlb1wiOiAkZmEtdmFyLXNxdWFyZS12aWFkZW8sXG4gIFwidmlhZGVvLXNxdWFyZVwiOiAkZmEtdmFyLXZpYWRlby1zcXVhcmUsXG4gIFwibWVldHVwXCI6ICRmYS12YXItbWVldHVwLFxuICBcImNlbnRvc1wiOiAkZmEtdmFyLWNlbnRvcyxcbiAgXCJhZG5cIjogJGZhLXZhci1hZG4sXG4gIFwiY2xvdWRzbWl0aFwiOiAkZmEtdmFyLWNsb3Vkc21pdGgsXG4gIFwib3BlbnN1c2VcIjogJGZhLXZhci1vcGVuc3VzZSxcbiAgXCJwaWVkLXBpcGVyLWFsdFwiOiAkZmEtdmFyLXBpZWQtcGlwZXItYWx0LFxuICBcInNxdWFyZS1kcmliYmJsZVwiOiAkZmEtdmFyLXNxdWFyZS1kcmliYmJsZSxcbiAgXCJkcmliYmJsZS1zcXVhcmVcIjogJGZhLXZhci1kcmliYmJsZS1zcXVhcmUsXG4gIFwiY29kaWVwaWVcIjogJGZhLXZhci1jb2RpZXBpZSxcbiAgXCJub2RlXCI6ICRmYS12YXItbm9kZSxcbiAgXCJtaXhcIjogJGZhLXZhci1taXgsXG4gIFwic3RlYW1cIjogJGZhLXZhci1zdGVhbSxcbiAgXCJjYy1hcHBsZS1wYXlcIjogJGZhLXZhci1jYy1hcHBsZS1wYXksXG4gIFwic2NyaWJkXCI6ICRmYS12YXItc2NyaWJkLFxuICBcImRlYmlhblwiOiAkZmEtdmFyLWRlYmlhbixcbiAgXCJvcGVuaWRcIjogJGZhLXZhci1vcGVuaWQsXG4gIFwiaW5zdGFsb2RcIjogJGZhLXZhci1pbnN0YWxvZCxcbiAgXCJleHBlZGl0ZWRzc2xcIjogJGZhLXZhci1leHBlZGl0ZWRzc2wsXG4gIFwic2VsbGNhc3RcIjogJGZhLXZhci1zZWxsY2FzdCxcbiAgXCJzcXVhcmUtdHdpdHRlclwiOiAkZmEtdmFyLXNxdWFyZS10d2l0dGVyLFxuICBcInR3aXR0ZXItc3F1YXJlXCI6ICRmYS12YXItdHdpdHRlci1zcXVhcmUsXG4gIFwici1wcm9qZWN0XCI6ICRmYS12YXItci1wcm9qZWN0LFxuICBcImRlbGljaW91c1wiOiAkZmEtdmFyLWRlbGljaW91cyxcbiAgXCJmcmVlYnNkXCI6ICRmYS12YXItZnJlZWJzZCxcbiAgXCJ2dWVqc1wiOiAkZmEtdmFyLXZ1ZWpzLFxuICBcImFjY3Vzb2Z0XCI6ICRmYS12YXItYWNjdXNvZnQsXG4gIFwiaW94aG9zdFwiOiAkZmEtdmFyLWlveGhvc3QsXG4gIFwiZm9udGljb25zLWZpXCI6ICRmYS12YXItZm9udGljb25zLWZpLFxuICBcImFwcC1zdG9yZVwiOiAkZmEtdmFyLWFwcC1zdG9yZSxcbiAgXCJjYy1tYXN0ZXJjYXJkXCI6ICRmYS12YXItY2MtbWFzdGVyY2FyZCxcbiAgXCJpdHVuZXMtbm90ZVwiOiAkZmEtdmFyLWl0dW5lcy1ub3RlLFxuICBcImdvbGFuZ1wiOiAkZmEtdmFyLWdvbGFuZyxcbiAgXCJraWNrc3RhcnRlclwiOiAkZmEtdmFyLWtpY2tzdGFydGVyLFxuICBcImdyYXZcIjogJGZhLXZhci1ncmF2LFxuICBcIndlaWJvXCI6ICRmYS12YXItd2VpYm8sXG4gIFwidW5jaGFydGVkXCI6ICRmYS12YXItdW5jaGFydGVkLFxuICBcImZpcnN0ZHJhZnRcIjogJGZhLXZhci1maXJzdGRyYWZ0LFxuICBcInNxdWFyZS15b3V0dWJlXCI6ICRmYS12YXItc3F1YXJlLXlvdXR1YmUsXG4gIFwieW91dHViZS1zcXVhcmVcIjogJGZhLXZhci15b3V0dWJlLXNxdWFyZSxcbiAgXCJ3aWtpcGVkaWEtd1wiOiAkZmEtdmFyLXdpa2lwZWRpYS13LFxuICBcIndwcmVzc3JcIjogJGZhLXZhci13cHJlc3NyLFxuICBcInJlbmRhY3RcIjogJGZhLXZhci1yZW5kYWN0LFxuICBcImFuZ2VsbGlzdFwiOiAkZmEtdmFyLWFuZ2VsbGlzdCxcbiAgXCJnYWxhY3RpYy1yZXB1YmxpY1wiOiAkZmEtdmFyLWdhbGFjdGljLXJlcHVibGljLFxuICBcIm5mYy1kaXJlY3Rpb25hbFwiOiAkZmEtdmFyLW5mYy1kaXJlY3Rpb25hbCxcbiAgXCJza3lwZVwiOiAkZmEtdmFyLXNreXBlLFxuICBcImpvZ2V0XCI6ICRmYS12YXItam9nZXQsXG4gIFwiZmVkb3JhXCI6ICRmYS12YXItZmVkb3JhLFxuICBcInN0cmlwZS1zXCI6ICRmYS12YXItc3RyaXBlLXMsXG4gIFwibWV0YVwiOiAkZmEtdmFyLW1ldGEsXG4gIFwibGFyYXZlbFwiOiAkZmEtdmFyLWxhcmF2ZWwsXG4gIFwiaG90amFyXCI6ICRmYS12YXItaG90amFyLFxuICBcImJsdWV0b290aC1iXCI6ICRmYS12YXItYmx1ZXRvb3RoLWIsXG4gIFwic3F1YXJlLWxldHRlcmJveGRcIjogJGZhLXZhci1zcXVhcmUtbGV0dGVyYm94ZCxcbiAgXCJzdGlja2VyLW11bGVcIjogJGZhLXZhci1zdGlja2VyLW11bGUsXG4gIFwiY3JlYXRpdmUtY29tbW9ucy16ZXJvXCI6ICRmYS12YXItY3JlYXRpdmUtY29tbW9ucy16ZXJvLFxuICBcImhpcHNcIjogJGZhLXZhci1oaXBzLFxuICBcImJlaGFuY2VcIjogJGZhLXZhci1iZWhhbmNlLFxuICBcInJlZGRpdFwiOiAkZmEtdmFyLXJlZGRpdCxcbiAgXCJkaXNjb3JkXCI6ICRmYS12YXItZGlzY29yZCxcbiAgXCJjaHJvbWVcIjogJGZhLXZhci1jaHJvbWUsXG4gIFwiYXBwLXN0b3JlLWlvc1wiOiAkZmEtdmFyLWFwcC1zdG9yZS1pb3MsXG4gIFwiY2MtZGlzY292ZXJcIjogJGZhLXZhci1jYy1kaXNjb3ZlcixcbiAgXCJ3cGJlZ2lubmVyXCI6ICRmYS12YXItd3BiZWdpbm5lcixcbiAgXCJjb25mbHVlbmNlXCI6ICRmYS12YXItY29uZmx1ZW5jZSxcbiAgXCJzaG9lbGFjZVwiOiAkZmEtdmFyLXNob2VsYWNlLFxuICBcIm1kYlwiOiAkZmEtdmFyLW1kYixcbiAgXCJkb2NodWJcIjogJGZhLXZhci1kb2NodWIsXG4gIFwiYWNjZXNzaWJsZS1pY29uXCI6ICRmYS12YXItYWNjZXNzaWJsZS1pY29uLFxuICBcImViYXlcIjogJGZhLXZhci1lYmF5LFxuICBcImFtYXpvblwiOiAkZmEtdmFyLWFtYXpvbixcbiAgXCJ1bnNwbGFzaFwiOiAkZmEtdmFyLXVuc3BsYXNoLFxuICBcInlhcm5cIjogJGZhLXZhci15YXJuLFxuICBcInNxdWFyZS1zdGVhbVwiOiAkZmEtdmFyLXNxdWFyZS1zdGVhbSxcbiAgXCJzdGVhbS1zcXVhcmVcIjogJGZhLXZhci1zdGVhbS1zcXVhcmUsXG4gIFwiNTAwcHhcIjogJGZhLXZhci01MDBweCxcbiAgXCJzcXVhcmUtdmltZW9cIjogJGZhLXZhci1zcXVhcmUtdmltZW8sXG4gIFwidmltZW8tc3F1YXJlXCI6ICRmYS12YXItdmltZW8tc3F1YXJlLFxuICBcImFzeW1tZXRyaWtcIjogJGZhLXZhci1hc3ltbWV0cmlrLFxuICBcImZvbnQtYXdlc29tZVwiOiAkZmEtdmFyLWZvbnQtYXdlc29tZSxcbiAgXCJmb250LWF3ZXNvbWUtZmxhZ1wiOiAkZmEtdmFyLWZvbnQtYXdlc29tZS1mbGFnLFxuICBcImZvbnQtYXdlc29tZS1sb2dvLWZ1bGxcIjogJGZhLXZhci1mb250LWF3ZXNvbWUtbG9nby1mdWxsLFxuICBcImdyYXRpcGF5XCI6ICRmYS12YXItZ3JhdGlwYXksXG4gIFwiYXBwbGVcIjogJGZhLXZhci1hcHBsZSxcbiAgXCJoaXZlXCI6ICRmYS12YXItaGl2ZSxcbiAgXCJnaXRrcmFrZW5cIjogJGZhLXZhci1naXRrcmFrZW4sXG4gIFwia2V5YmFzZVwiOiAkZmEtdmFyLWtleWJhc2UsXG4gIFwiYXBwbGUtcGF5XCI6ICRmYS12YXItYXBwbGUtcGF5LFxuICBcInBhZGxldFwiOiAkZmEtdmFyLXBhZGxldCxcbiAgXCJhbWF6b24tcGF5XCI6ICRmYS12YXItYW1hem9uLXBheSxcbiAgXCJzcXVhcmUtZ2l0aHViXCI6ICRmYS12YXItc3F1YXJlLWdpdGh1YixcbiAgXCJnaXRodWItc3F1YXJlXCI6ICRmYS12YXItZ2l0aHViLXNxdWFyZSxcbiAgXCJzdHVtYmxldXBvblwiOiAkZmEtdmFyLXN0dW1ibGV1cG9uLFxuICBcImZlZGV4XCI6ICRmYS12YXItZmVkZXgsXG4gIFwicGhvZW5peC1mcmFtZXdvcmtcIjogJGZhLXZhci1waG9lbml4LWZyYW1ld29yayxcbiAgXCJzaG9waWZ5XCI6ICRmYS12YXItc2hvcGlmeSxcbiAgXCJuZW9zXCI6ICRmYS12YXItbmVvcyxcbiAgXCJzcXVhcmUtdGhyZWFkc1wiOiAkZmEtdmFyLXNxdWFyZS10aHJlYWRzLFxuICBcImhhY2tlcnJhbmtcIjogJGZhLXZhci1oYWNrZXJyYW5rLFxuICBcInJlc2VhcmNoZ2F0ZVwiOiAkZmEtdmFyLXJlc2VhcmNoZ2F0ZSxcbiAgXCJzd2lmdFwiOiAkZmEtdmFyLXN3aWZ0LFxuICBcImFuZ3VsYXJcIjogJGZhLXZhci1hbmd1bGFyLFxuICBcInNwZWFrYXBcIjogJGZhLXZhci1zcGVha2FwLFxuICBcImFuZ3J5Y3JlYXRpdmVcIjogJGZhLXZhci1hbmdyeWNyZWF0aXZlLFxuICBcInktY29tYmluYXRvclwiOiAkZmEtdmFyLXktY29tYmluYXRvcixcbiAgXCJlbXBpcmVcIjogJGZhLXZhci1lbXBpcmUsXG4gIFwiZW52aXJhXCI6ICRmYS12YXItZW52aXJhLFxuICBcImdvb2dsZS1zY2hvbGFyXCI6ICRmYS12YXItZ29vZ2xlLXNjaG9sYXIsXG4gIFwic3F1YXJlLWdpdGxhYlwiOiAkZmEtdmFyLXNxdWFyZS1naXRsYWIsXG4gIFwiZ2l0bGFiLXNxdWFyZVwiOiAkZmEtdmFyLWdpdGxhYi1zcXVhcmUsXG4gIFwic3R1ZGlvdmluYXJpXCI6ICRmYS12YXItc3R1ZGlvdmluYXJpLFxuICBcInBpZWQtcGlwZXJcIjogJGZhLXZhci1waWVkLXBpcGVyLFxuICBcIndvcmRwcmVzc1wiOiAkZmEtdmFyLXdvcmRwcmVzcyxcbiAgXCJwcm9kdWN0LWh1bnRcIjogJGZhLXZhci1wcm9kdWN0LWh1bnQsXG4gIFwiZmlyZWZveFwiOiAkZmEtdmFyLWZpcmVmb3gsXG4gIFwibGlub2RlXCI6ICRmYS12YXItbGlub2RlLFxuICBcImdvb2RyZWFkc1wiOiAkZmEtdmFyLWdvb2RyZWFkcyxcbiAgXCJzcXVhcmUtb2Rub2tsYXNzbmlraVwiOiAkZmEtdmFyLXNxdWFyZS1vZG5va2xhc3NuaWtpLFxuICBcIm9kbm9rbGFzc25pa2ktc3F1YXJlXCI6ICRmYS12YXItb2Rub2tsYXNzbmlraS1zcXVhcmUsXG4gIFwianNmaWRkbGVcIjogJGZhLXZhci1qc2ZpZGRsZSxcbiAgXCJzaXRoXCI6ICRmYS12YXItc2l0aCxcbiAgXCJ0aGVtZWlzbGVcIjogJGZhLXZhci10aGVtZWlzbGUsXG4gIFwicGFnZTRcIjogJGZhLXZhci1wYWdlNCxcbiAgXCJoYXNobm9kZVwiOiAkZmEtdmFyLWhhc2hub2RlLFxuICBcInJlYWN0XCI6ICRmYS12YXItcmVhY3QsXG4gIFwiY2MtcGF5cGFsXCI6ICRmYS12YXItY2MtcGF5cGFsLFxuICBcInNxdWFyZXNwYWNlXCI6ICRmYS12YXItc3F1YXJlc3BhY2UsXG4gIFwiY2Mtc3RyaXBlXCI6ICRmYS12YXItY2Mtc3RyaXBlLFxuICBcImNyZWF0aXZlLWNvbW1vbnMtc2hhcmVcIjogJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLXNoYXJlLFxuICBcImJpdGNvaW5cIjogJGZhLXZhci1iaXRjb2luLFxuICBcImtleWNkblwiOiAkZmEtdmFyLWtleWNkbixcbiAgXCJvcGVyYVwiOiAkZmEtdmFyLW9wZXJhLFxuICBcIml0Y2gtaW9cIjogJGZhLXZhci1pdGNoLWlvLFxuICBcInVtYnJhY29cIjogJGZhLXZhci11bWJyYWNvLFxuICBcImdhbGFjdGljLXNlbmF0ZVwiOiAkZmEtdmFyLWdhbGFjdGljLXNlbmF0ZSxcbiAgXCJ1YnVudHVcIjogJGZhLXZhci11YnVudHUsXG4gIFwiZHJhZnQyZGlnaXRhbFwiOiAkZmEtdmFyLWRyYWZ0MmRpZ2l0YWwsXG4gIFwic3RyaXBlXCI6ICRmYS12YXItc3RyaXBlLFxuICBcImhvdXp6XCI6ICRmYS12YXItaG91enosXG4gIFwiZ2dcIjogJGZhLXZhci1nZyxcbiAgXCJkaGxcIjogJGZhLXZhci1kaGwsXG4gIFwic3F1YXJlLXBpbnRlcmVzdFwiOiAkZmEtdmFyLXNxdWFyZS1waW50ZXJlc3QsXG4gIFwicGludGVyZXN0LXNxdWFyZVwiOiAkZmEtdmFyLXBpbnRlcmVzdC1zcXVhcmUsXG4gIFwieGluZ1wiOiAkZmEtdmFyLXhpbmcsXG4gIFwiYmxhY2tiZXJyeVwiOiAkZmEtdmFyLWJsYWNrYmVycnksXG4gIFwiY3JlYXRpdmUtY29tbW9ucy1wZFwiOiAkZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMtcGQsXG4gIFwicGxheXN0YXRpb25cIjogJGZhLXZhci1wbGF5c3RhdGlvbixcbiAgXCJxdWluc2NhcGVcIjogJGZhLXZhci1xdWluc2NhcGUsXG4gIFwibGVzc1wiOiAkZmEtdmFyLWxlc3MsXG4gIFwiYmxvZ2dlci1iXCI6ICRmYS12YXItYmxvZ2dlci1iLFxuICBcIm9wZW5jYXJ0XCI6ICRmYS12YXItb3BlbmNhcnQsXG4gIFwidmluZVwiOiAkZmEtdmFyLXZpbmUsXG4gIFwic2lnbmFsLW1lc3NlbmdlclwiOiAkZmEtdmFyLXNpZ25hbC1tZXNzZW5nZXIsXG4gIFwicGF5cGFsXCI6ICRmYS12YXItcGF5cGFsLFxuICBcImdpdGxhYlwiOiAkZmEtdmFyLWdpdGxhYixcbiAgXCJ0eXBvM1wiOiAkZmEtdmFyLXR5cG8zLFxuICBcInJlZGRpdC1hbGllblwiOiAkZmEtdmFyLXJlZGRpdC1hbGllbixcbiAgXCJ5YWhvb1wiOiAkZmEtdmFyLXlhaG9vLFxuICBcImRhaWx5bW90aW9uXCI6ICRmYS12YXItZGFpbHltb3Rpb24sXG4gIFwiYWZmaWxpYXRldGhlbWVcIjogJGZhLXZhci1hZmZpbGlhdGV0aGVtZSxcbiAgXCJwaWVkLXBpcGVyLXBwXCI6ICRmYS12YXItcGllZC1waXBlci1wcCxcbiAgXCJib290c3RyYXBcIjogJGZhLXZhci1ib290c3RyYXAsXG4gIFwib2Rub2tsYXNzbmlraVwiOiAkZmEtdmFyLW9kbm9rbGFzc25pa2ksXG4gIFwibmZjLXN5bWJvbFwiOiAkZmEtdmFyLW5mYy1zeW1ib2wsXG4gIFwibWludGJpdFwiOiAkZmEtdmFyLW1pbnRiaXQsXG4gIFwiZXRoZXJldW1cIjogJGZhLXZhci1ldGhlcmV1bSxcbiAgXCJzcGVha2VyLWRlY2tcIjogJGZhLXZhci1zcGVha2VyLWRlY2ssXG4gIFwiY3JlYXRpdmUtY29tbW9ucy1uYy1ldVwiOiAkZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMtbmMtZXUsXG4gIFwicGF0cmVvblwiOiAkZmEtdmFyLXBhdHJlb24sXG4gIFwiYXZpYW5leFwiOiAkZmEtdmFyLWF2aWFuZXgsXG4gIFwiZWxsb1wiOiAkZmEtdmFyLWVsbG8sXG4gIFwiZ29mb3JlXCI6ICRmYS12YXItZ29mb3JlLFxuICBcImJpbW9iamVjdFwiOiAkZmEtdmFyLWJpbW9iamVjdCxcbiAgXCJicmF2ZS1yZXZlcnNlXCI6ICRmYS12YXItYnJhdmUtcmV2ZXJzZSxcbiAgXCJmYWNlYm9vay1mXCI6ICRmYS12YXItZmFjZWJvb2stZixcbiAgXCJzcXVhcmUtZ29vZ2xlLXBsdXNcIjogJGZhLXZhci1zcXVhcmUtZ29vZ2xlLXBsdXMsXG4gIFwiZ29vZ2xlLXBsdXMtc3F1YXJlXCI6ICRmYS12YXItZ29vZ2xlLXBsdXMtc3F1YXJlLFxuICBcIm1hbmRhbG9yaWFuXCI6ICRmYS12YXItbWFuZGFsb3JpYW4sXG4gIFwiZmlyc3Qtb3JkZXItYWx0XCI6ICRmYS12YXItZmlyc3Qtb3JkZXItYWx0LFxuICBcIm9zaVwiOiAkZmEtdmFyLW9zaSxcbiAgXCJnb29nbGUtd2FsbGV0XCI6ICRmYS12YXItZ29vZ2xlLXdhbGxldCxcbiAgXCJkLWFuZC1kLWJleW9uZFwiOiAkZmEtdmFyLWQtYW5kLWQtYmV5b25kLFxuICBcInBlcmlzY29wZVwiOiAkZmEtdmFyLXBlcmlzY29wZSxcbiAgXCJmdWxjcnVtXCI6ICRmYS12YXItZnVsY3J1bSxcbiAgXCJjbG91ZHNjYWxlXCI6ICRmYS12YXItY2xvdWRzY2FsZSxcbiAgXCJmb3J1bWJlZVwiOiAkZmEtdmFyLWZvcnVtYmVlLFxuICBcIm1penVuaVwiOiAkZmEtdmFyLW1penVuaSxcbiAgXCJzY2hsaXhcIjogJGZhLXZhci1zY2hsaXgsXG4gIFwic3F1YXJlLXhpbmdcIjogJGZhLXZhci1zcXVhcmUteGluZyxcbiAgXCJ4aW5nLXNxdWFyZVwiOiAkZmEtdmFyLXhpbmctc3F1YXJlLFxuICBcImJhbmRjYW1wXCI6ICRmYS12YXItYmFuZGNhbXAsXG4gIFwid3Bmb3Jtc1wiOiAkZmEtdmFyLXdwZm9ybXMsXG4gIFwiY2xvdWR2ZXJzaWZ5XCI6ICRmYS12YXItY2xvdWR2ZXJzaWZ5LFxuICBcInVzcHNcIjogJGZhLXZhci11c3BzLFxuICBcIm1lZ2Fwb3J0XCI6ICRmYS12YXItbWVnYXBvcnQsXG4gIFwibWFnZW50b1wiOiAkZmEtdmFyLW1hZ2VudG8sXG4gIFwic3BvdGlmeVwiOiAkZmEtdmFyLXNwb3RpZnksXG4gIFwib3B0aW4tbW9uc3RlclwiOiAkZmEtdmFyLW9wdGluLW1vbnN0ZXIsXG4gIFwiZmx5XCI6ICRmYS12YXItZmx5LFxuICBcImF2aWF0b1wiOiAkZmEtdmFyLWF2aWF0byxcbiAgXCJpdHVuZXNcIjogJGZhLXZhci1pdHVuZXMsXG4gIFwiY3V0dGxlZmlzaFwiOiAkZmEtdmFyLWN1dHRsZWZpc2gsXG4gIFwiYmxvZ2dlclwiOiAkZmEtdmFyLWJsb2dnZXIsXG4gIFwiZmxpY2tyXCI6ICRmYS12YXItZmxpY2tyLFxuICBcInZpYmVyXCI6ICRmYS12YXItdmliZXIsXG4gIFwic291bmRjbG91ZFwiOiAkZmEtdmFyLXNvdW5kY2xvdWQsXG4gIFwiZGlnZ1wiOiAkZmEtdmFyLWRpZ2csXG4gIFwidGVuY2VudC13ZWlib1wiOiAkZmEtdmFyLXRlbmNlbnQtd2VpYm8sXG4gIFwibGV0dGVyYm94ZFwiOiAkZmEtdmFyLWxldHRlcmJveGQsXG4gIFwic3ltZm9ueVwiOiAkZmEtdmFyLXN5bWZvbnksXG4gIFwibWF4Y2RuXCI6ICRmYS12YXItbWF4Y2RuLFxuICBcImV0c3lcIjogJGZhLXZhci1ldHN5LFxuICBcImZhY2Vib29rLW1lc3NlbmdlclwiOiAkZmEtdmFyLWZhY2Vib29rLW1lc3NlbmdlcixcbiAgXCJhdWRpYmxlXCI6ICRmYS12YXItYXVkaWJsZSxcbiAgXCJ0aGluay1wZWFrc1wiOiAkZmEtdmFyLXRoaW5rLXBlYWtzLFxuICBcImJpbGliaWxpXCI6ICRmYS12YXItYmlsaWJpbGksXG4gIFwiZXJsYW5nXCI6ICRmYS12YXItZXJsYW5nLFxuICBcIngtdHdpdHRlclwiOiAkZmEtdmFyLXgtdHdpdHRlcixcbiAgXCJjb3R0b24tYnVyZWF1XCI6ICRmYS12YXItY290dG9uLWJ1cmVhdSxcbiAgXCJkYXNoY3ViZVwiOiAkZmEtdmFyLWRhc2hjdWJlLFxuICBcIjQyLWdyb3VwXCI6ICRmYS12YXItNDItZ3JvdXAsXG4gIFwiaW5ub3NvZnRcIjogJGZhLXZhci1pbm5vc29mdCxcbiAgXCJzdGFjay1leGNoYW5nZVwiOiAkZmEtdmFyLXN0YWNrLWV4Y2hhbmdlLFxuICBcImVsZW1lbnRvclwiOiAkZmEtdmFyLWVsZW1lbnRvcixcbiAgXCJzcXVhcmUtcGllZC1waXBlclwiOiAkZmEtdmFyLXNxdWFyZS1waWVkLXBpcGVyLFxuICBcInBpZWQtcGlwZXItc3F1YXJlXCI6ICRmYS12YXItcGllZC1waXBlci1zcXVhcmUsXG4gIFwiY3JlYXRpdmUtY29tbW9ucy1uZFwiOiAkZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMtbmQsXG4gIFwicGFsZmVkXCI6ICRmYS12YXItcGFsZmVkLFxuICBcInN1cGVycG93ZXJzXCI6ICRmYS12YXItc3VwZXJwb3dlcnMsXG4gIFwicmVzb2x2aW5nXCI6ICRmYS12YXItcmVzb2x2aW5nLFxuICBcInhib3hcIjogJGZhLXZhci14Ym94LFxuICBcInNlYXJjaGVuZ2luXCI6ICRmYS12YXItc2VhcmNoZW5naW4sXG4gIFwidGlrdG9rXCI6ICRmYS12YXItdGlrdG9rLFxuICBcInNxdWFyZS1mYWNlYm9va1wiOiAkZmEtdmFyLXNxdWFyZS1mYWNlYm9vayxcbiAgXCJmYWNlYm9vay1zcXVhcmVcIjogJGZhLXZhci1mYWNlYm9vay1zcXVhcmUsXG4gIFwicmVucmVuXCI6ICRmYS12YXItcmVucmVuLFxuICBcImxpbnV4XCI6ICRmYS12YXItbGludXgsXG4gIFwiZ2xpZGVcIjogJGZhLXZhci1nbGlkZSxcbiAgXCJsaW5rZWRpblwiOiAkZmEtdmFyLWxpbmtlZGluLFxuICBcImh1YnNwb3RcIjogJGZhLXZhci1odWJzcG90LFxuICBcImRlcGxveWRvZ1wiOiAkZmEtdmFyLWRlcGxveWRvZyxcbiAgXCJ0d2l0Y2hcIjogJGZhLXZhci10d2l0Y2gsXG4gIFwicmF2ZWxyeVwiOiAkZmEtdmFyLXJhdmVscnksXG4gIFwibWl4ZXJcIjogJGZhLXZhci1taXhlcixcbiAgXCJzcXVhcmUtbGFzdGZtXCI6ICRmYS12YXItc3F1YXJlLWxhc3RmbSxcbiAgXCJsYXN0Zm0tc3F1YXJlXCI6ICRmYS12YXItbGFzdGZtLXNxdWFyZSxcbiAgXCJ2aW1lb1wiOiAkZmEtdmFyLXZpbWVvLFxuICBcIm1lbmRlbGV5XCI6ICRmYS12YXItbWVuZGVsZXksXG4gIFwidW5pcmVnaXN0cnlcIjogJGZhLXZhci11bmlyZWdpc3RyeSxcbiAgXCJmaWdtYVwiOiAkZmEtdmFyLWZpZ21hLFxuICBcImNyZWF0aXZlLWNvbW1vbnMtcmVtaXhcIjogJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLXJlbWl4LFxuICBcImNjLWFtYXpvbi1wYXlcIjogJGZhLXZhci1jYy1hbWF6b24tcGF5LFxuICBcImRyb3Bib3hcIjogJGZhLXZhci1kcm9wYm94LFxuICBcImluc3RhZ3JhbVwiOiAkZmEtdmFyLWluc3RhZ3JhbSxcbiAgXCJjbXBsaWRcIjogJGZhLXZhci1jbXBsaWQsXG4gIFwidXB3b3JrXCI6ICRmYS12YXItdXB3b3JrLFxuICBcImZhY2Vib29rXCI6ICRmYS12YXItZmFjZWJvb2ssXG4gIFwiZ3JpcGZpcmVcIjogJGZhLXZhci1ncmlwZmlyZSxcbiAgXCJqZWRpLW9yZGVyXCI6ICRmYS12YXItamVkaS1vcmRlcixcbiAgXCJ1aWtpdFwiOiAkZmEtdmFyLXVpa2l0LFxuICBcImZvcnQtYXdlc29tZS1hbHRcIjogJGZhLXZhci1mb3J0LWF3ZXNvbWUtYWx0LFxuICBcInBoYWJyaWNhdG9yXCI6ICRmYS12YXItcGhhYnJpY2F0b3IsXG4gIFwidXNzdW5uYWhcIjogJGZhLXZhci11c3N1bm5haCxcbiAgXCJlYXJseWJpcmRzXCI6ICRmYS12YXItZWFybHliaXJkcyxcbiAgXCJ0cmFkZS1mZWRlcmF0aW9uXCI6ICRmYS12YXItdHJhZGUtZmVkZXJhdGlvbixcbiAgXCJhdXRvcHJlZml4ZXJcIjogJGZhLXZhci1hdXRvcHJlZml4ZXIsXG4gIFwid2hhdHNhcHBcIjogJGZhLXZhci13aGF0c2FwcCxcbiAgXCJzbGlkZXNoYXJlXCI6ICRmYS12YXItc2xpZGVzaGFyZSxcbiAgXCJnb29nbGUtcGxheVwiOiAkZmEtdmFyLWdvb2dsZS1wbGF5LFxuICBcInZpYWRlb1wiOiAkZmEtdmFyLXZpYWRlbyxcbiAgXCJsaW5lXCI6ICRmYS12YXItbGluZSxcbiAgXCJnb29nbGUtZHJpdmVcIjogJGZhLXZhci1nb29nbGUtZHJpdmUsXG4gIFwic2VydmljZXN0YWNrXCI6ICRmYS12YXItc2VydmljZXN0YWNrLFxuICBcInNpbXBseWJ1aWx0XCI6ICRmYS12YXItc2ltcGx5YnVpbHQsXG4gIFwiYml0YnVja2V0XCI6ICRmYS12YXItYml0YnVja2V0LFxuICBcImltZGJcIjogJGZhLXZhci1pbWRiLFxuICBcImRlZXplclwiOiAkZmEtdmFyLWRlZXplcixcbiAgXCJyYXNwYmVycnktcGlcIjogJGZhLXZhci1yYXNwYmVycnktcGksXG4gIFwiamlyYVwiOiAkZmEtdmFyLWppcmEsXG4gIFwiZG9ja2VyXCI6ICRmYS12YXItZG9ja2VyLFxuICBcInNjcmVlbnBhbFwiOiAkZmEtdmFyLXNjcmVlbnBhbCxcbiAgXCJibHVldG9vdGhcIjogJGZhLXZhci1ibHVldG9vdGgsXG4gIFwiZ2l0dGVyXCI6ICRmYS12YXItZ2l0dGVyLFxuICBcImQtYW5kLWRcIjogJGZhLXZhci1kLWFuZC1kLFxuICBcIm1pY3JvYmxvZ1wiOiAkZmEtdmFyLW1pY3JvYmxvZyxcbiAgXCJjYy1kaW5lcnMtY2x1YlwiOiAkZmEtdmFyLWNjLWRpbmVycy1jbHViLFxuICBcImdnLWNpcmNsZVwiOiAkZmEtdmFyLWdnLWNpcmNsZSxcbiAgXCJwaWVkLXBpcGVyLWhhdFwiOiAkZmEtdmFyLXBpZWQtcGlwZXItaGF0LFxuICBcImtpY2tzdGFydGVyLWtcIjogJGZhLXZhci1raWNrc3RhcnRlci1rLFxuICBcInlhbmRleFwiOiAkZmEtdmFyLXlhbmRleCxcbiAgXCJyZWFkbWVcIjogJGZhLXZhci1yZWFkbWUsXG4gIFwiaHRtbDVcIjogJGZhLXZhci1odG1sNSxcbiAgXCJzZWxsc3lcIjogJGZhLXZhci1zZWxsc3ksXG4gIFwic2Fzc1wiOiAkZmEtdmFyLXNhc3MsXG4gIFwid2lyc2luZGhhbmR3ZXJrXCI6ICRmYS12YXItd2lyc2luZGhhbmR3ZXJrLFxuICBcIndzaFwiOiAkZmEtdmFyLXdzaCxcbiAgXCJidXJvbW9iZWxleHBlcnRlXCI6ICRmYS12YXItYnVyb21vYmVsZXhwZXJ0ZSxcbiAgXCJzYWxlc2ZvcmNlXCI6ICRmYS12YXItc2FsZXNmb3JjZSxcbiAgXCJvY3RvcHVzLWRlcGxveVwiOiAkZmEtdmFyLW9jdG9wdXMtZGVwbG95LFxuICBcIm1lZGFwcHNcIjogJGZhLXZhci1tZWRhcHBzLFxuICBcIm5zOFwiOiAkZmEtdmFyLW5zOCxcbiAgXCJwaW50ZXJlc3QtcFwiOiAkZmEtdmFyLXBpbnRlcmVzdC1wLFxuICBcImFwcGVyXCI6ICRmYS12YXItYXBwZXIsXG4gIFwiZm9ydC1hd2Vzb21lXCI6ICRmYS12YXItZm9ydC1hd2Vzb21lLFxuICBcIndhemVcIjogJGZhLXZhci13YXplLFxuICBcImNjLWpjYlwiOiAkZmEtdmFyLWNjLWpjYixcbiAgXCJzbmFwY2hhdFwiOiAkZmEtdmFyLXNuYXBjaGF0LFxuICBcInNuYXBjaGF0LWdob3N0XCI6ICRmYS12YXItc25hcGNoYXQtZ2hvc3QsXG4gIFwiZmFudGFzeS1mbGlnaHQtZ2FtZXNcIjogJGZhLXZhci1mYW50YXN5LWZsaWdodC1nYW1lcyxcbiAgXCJydXN0XCI6ICRmYS12YXItcnVzdCxcbiAgXCJ3aXhcIjogJGZhLXZhci13aXgsXG4gIFwic3F1YXJlLWJlaGFuY2VcIjogJGZhLXZhci1zcXVhcmUtYmVoYW5jZSxcbiAgXCJiZWhhbmNlLXNxdWFyZVwiOiAkZmEtdmFyLWJlaGFuY2Utc3F1YXJlLFxuICBcInN1cHBsZVwiOiAkZmEtdmFyLXN1cHBsZSxcbiAgXCJ3ZWJmbG93XCI6ICRmYS12YXItd2ViZmxvdyxcbiAgXCJyZWJlbFwiOiAkZmEtdmFyLXJlYmVsLFxuICBcImNzczNcIjogJGZhLXZhci1jc3MzLFxuICBcInN0YXlsaW5rZWRcIjogJGZhLXZhci1zdGF5bGlua2VkLFxuICBcImthZ2dsZVwiOiAkZmEtdmFyLWthZ2dsZSxcbiAgXCJzcGFjZS1hd2Vzb21lXCI6ICRmYS12YXItc3BhY2UtYXdlc29tZSxcbiAgXCJkZXZpYW50YXJ0XCI6ICRmYS12YXItZGV2aWFudGFydCxcbiAgXCJjcGFuZWxcIjogJGZhLXZhci1jcGFuZWwsXG4gIFwiZ29vZHJlYWRzLWdcIjogJGZhLXZhci1nb29kcmVhZHMtZyxcbiAgXCJzcXVhcmUtZ2l0XCI6ICRmYS12YXItc3F1YXJlLWdpdCxcbiAgXCJnaXQtc3F1YXJlXCI6ICRmYS12YXItZ2l0LXNxdWFyZSxcbiAgXCJzcXVhcmUtdHVtYmxyXCI6ICRmYS12YXItc3F1YXJlLXR1bWJscixcbiAgXCJ0dW1ibHItc3F1YXJlXCI6ICRmYS12YXItdHVtYmxyLXNxdWFyZSxcbiAgXCJ0cmVsbG9cIjogJGZhLXZhci10cmVsbG8sXG4gIFwiY3JlYXRpdmUtY29tbW9ucy1uYy1qcFwiOiAkZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMtbmMtanAsXG4gIFwiZ2V0LXBvY2tldFwiOiAkZmEtdmFyLWdldC1wb2NrZXQsXG4gIFwicGVyYnl0ZVwiOiAkZmEtdmFyLXBlcmJ5dGUsXG4gIFwiZ3J1bnRcIjogJGZhLXZhci1ncnVudCxcbiAgXCJ3ZWVibHlcIjogJGZhLXZhci13ZWVibHksXG4gIFwiY29ubmVjdGRldmVsb3BcIjogJGZhLXZhci1jb25uZWN0ZGV2ZWxvcCxcbiAgXCJsZWFucHViXCI6ICRmYS12YXItbGVhbnB1YixcbiAgXCJibGFjay10aWVcIjogJGZhLXZhci1ibGFjay10aWUsXG4gIFwidGhlbWVjb1wiOiAkZmEtdmFyLXRoZW1lY28sXG4gIFwicHl0aG9uXCI6ICRmYS12YXItcHl0aG9uLFxuICBcImFuZHJvaWRcIjogJGZhLXZhci1hbmRyb2lkLFxuICBcImJvdHNcIjogJGZhLXZhci1ib3RzLFxuICBcImZyZWUtY29kZS1jYW1wXCI6ICRmYS12YXItZnJlZS1jb2RlLWNhbXAsXG4gIFwiaG9ybmJpbGxcIjogJGZhLXZhci1ob3JuYmlsbCxcbiAgXCJqc1wiOiAkZmEtdmFyLWpzLFxuICBcImlkZWFsXCI6ICRmYS12YXItaWRlYWwsXG4gIFwiZ2l0XCI6ICRmYS12YXItZ2l0LFxuICBcImRldlwiOiAkZmEtdmFyLWRldixcbiAgXCJza2V0Y2hcIjogJGZhLXZhci1za2V0Y2gsXG4gIFwieWFuZGV4LWludGVybmF0aW9uYWxcIjogJGZhLXZhci15YW5kZXgtaW50ZXJuYXRpb25hbCxcbiAgXCJjYy1hbWV4XCI6ICRmYS12YXItY2MtYW1leCxcbiAgXCJ1YmVyXCI6ICRmYS12YXItdWJlcixcbiAgXCJnaXRodWJcIjogJGZhLXZhci1naXRodWIsXG4gIFwicGhwXCI6ICRmYS12YXItcGhwLFxuICBcImFsaXBheVwiOiAkZmEtdmFyLWFsaXBheSxcbiAgXCJ5b3V0dWJlXCI6ICRmYS12YXIteW91dHViZSxcbiAgXCJza3lhdGxhc1wiOiAkZmEtdmFyLXNreWF0bGFzLFxuICBcImZpcmVmb3gtYnJvd3NlclwiOiAkZmEtdmFyLWZpcmVmb3gtYnJvd3NlcixcbiAgXCJyZXBseWRcIjogJGZhLXZhci1yZXBseWQsXG4gIFwic3VzZVwiOiAkZmEtdmFyLXN1c2UsXG4gIFwiamVua2luc1wiOiAkZmEtdmFyLWplbmtpbnMsXG4gIFwidHdpdHRlclwiOiAkZmEtdmFyLXR3aXR0ZXIsXG4gIFwicm9ja3Jtc1wiOiAkZmEtdmFyLXJvY2tybXMsXG4gIFwicGludGVyZXN0XCI6ICRmYS12YXItcGludGVyZXN0LFxuICBcImJ1ZmZlclwiOiAkZmEtdmFyLWJ1ZmZlcixcbiAgXCJucG1cIjogJGZhLXZhci1ucG0sXG4gIFwieWFtbWVyXCI6ICRmYS12YXIteWFtbWVyLFxuICBcImJ0Y1wiOiAkZmEtdmFyLWJ0YyxcbiAgXCJkcmliYmJsZVwiOiAkZmEtdmFyLWRyaWJiYmxlLFxuICBcInN0dW1ibGV1cG9uLWNpcmNsZVwiOiAkZmEtdmFyLXN0dW1ibGV1cG9uLWNpcmNsZSxcbiAgXCJpbnRlcm5ldC1leHBsb3JlclwiOiAkZmEtdmFyLWludGVybmV0LWV4cGxvcmVyLFxuICBcInN0dWJiZXJcIjogJGZhLXZhci1zdHViYmVyLFxuICBcInRlbGVncmFtXCI6ICRmYS12YXItdGVsZWdyYW0sXG4gIFwidGVsZWdyYW0tcGxhbmVcIjogJGZhLXZhci10ZWxlZ3JhbS1wbGFuZSxcbiAgXCJvbGQtcmVwdWJsaWNcIjogJGZhLXZhci1vbGQtcmVwdWJsaWMsXG4gIFwib2R5c2VlXCI6ICRmYS12YXItb2R5c2VlLFxuICBcInNxdWFyZS13aGF0c2FwcFwiOiAkZmEtdmFyLXNxdWFyZS13aGF0c2FwcCxcbiAgXCJ3aGF0c2FwcC1zcXVhcmVcIjogJGZhLXZhci13aGF0c2FwcC1zcXVhcmUsXG4gIFwibm9kZS1qc1wiOiAkZmEtdmFyLW5vZGUtanMsXG4gIFwiZWRnZS1sZWdhY3lcIjogJGZhLXZhci1lZGdlLWxlZ2FjeSxcbiAgXCJzbGFja1wiOiAkZmEtdmFyLXNsYWNrLFxuICBcInNsYWNrLWhhc2hcIjogJGZhLXZhci1zbGFjay1oYXNoLFxuICBcIm1lZHJ0XCI6ICRmYS12YXItbWVkcnQsXG4gIFwidXNiXCI6ICRmYS12YXItdXNiLFxuICBcInR1bWJsclwiOiAkZmEtdmFyLXR1bWJscixcbiAgXCJ2YWFkaW5cIjogJGZhLXZhci12YWFkaW4sXG4gIFwicXVvcmFcIjogJGZhLXZhci1xdW9yYSxcbiAgXCJzcXVhcmUteC10d2l0dGVyXCI6ICRmYS12YXItc3F1YXJlLXgtdHdpdHRlcixcbiAgXCJyZWFjdGV1cm9wZVwiOiAkZmEtdmFyLXJlYWN0ZXVyb3BlLFxuICBcIm1lZGl1bVwiOiAkZmEtdmFyLW1lZGl1bSxcbiAgXCJtZWRpdW0tbVwiOiAkZmEtdmFyLW1lZGl1bS1tLFxuICBcImFtaWxpYVwiOiAkZmEtdmFyLWFtaWxpYSxcbiAgXCJtaXhjbG91ZFwiOiAkZmEtdmFyLW1peGNsb3VkLFxuICBcImZsaXBib2FyZFwiOiAkZmEtdmFyLWZsaXBib2FyZCxcbiAgXCJ2aWFjb2luXCI6ICRmYS12YXItdmlhY29pbixcbiAgXCJjcml0aWNhbC1yb2xlXCI6ICRmYS12YXItY3JpdGljYWwtcm9sZSxcbiAgXCJzaXRyb3hcIjogJGZhLXZhci1zaXRyb3gsXG4gIFwiZGlzY291cnNlXCI6ICRmYS12YXItZGlzY291cnNlLFxuICBcImpvb21sYVwiOiAkZmEtdmFyLWpvb21sYSxcbiAgXCJtYXN0b2RvblwiOiAkZmEtdmFyLW1hc3RvZG9uLFxuICBcImFpcmJuYlwiOiAkZmEtdmFyLWFpcmJuYixcbiAgXCJ3b2xmLXBhY2stYmF0dGFsaW9uXCI6ICRmYS12YXItd29sZi1wYWNrLWJhdHRhbGlvbixcbiAgXCJidXktbi1sYXJnZVwiOiAkZmEtdmFyLWJ1eS1uLWxhcmdlLFxuICBcImd1bHBcIjogJGZhLXZhci1ndWxwLFxuICBcImNyZWF0aXZlLWNvbW1vbnMtc2FtcGxpbmctcGx1c1wiOiAkZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMtc2FtcGxpbmctcGx1cyxcbiAgXCJzdHJhdmFcIjogJGZhLXZhci1zdHJhdmEsXG4gIFwiZW1iZXJcIjogJGZhLXZhci1lbWJlcixcbiAgXCJjYW5hZGlhbi1tYXBsZS1sZWFmXCI6ICRmYS12YXItY2FuYWRpYW4tbWFwbGUtbGVhZixcbiAgXCJ0ZWFtc3BlYWtcIjogJGZhLXZhci10ZWFtc3BlYWssXG4gIFwicHVzaGVkXCI6ICRmYS12YXItcHVzaGVkLFxuICBcIndvcmRwcmVzcy1zaW1wbGVcIjogJGZhLXZhci13b3JkcHJlc3Mtc2ltcGxlLFxuICBcIm51dHJpdGlvbml4XCI6ICRmYS12YXItbnV0cml0aW9uaXgsXG4gIFwid29kdVwiOiAkZmEtdmFyLXdvZHUsXG4gIFwiZ29vZ2xlLXBheVwiOiAkZmEtdmFyLWdvb2dsZS1wYXksXG4gIFwiaW50ZXJjb21cIjogJGZhLXZhci1pbnRlcmNvbSxcbiAgXCJ6aGlodVwiOiAkZmEtdmFyLXpoaWh1LFxuICBcImtvcnZ1ZVwiOiAkZmEtdmFyLWtvcnZ1ZSxcbiAgXCJwaXhcIjogJGZhLXZhci1waXgsXG4gIFwic3RlYW0tc3ltYm9sXCI6ICRmYS12YXItc3RlYW0tc3ltYm9sLFxuKTtcbiIsIi8qIVxuICogRm9udCBBd2Vzb21lIEZyZWUgNi41LjEgYnkgQGZvbnRhd2Vzb21lIC0gaHR0cHM6Ly9mb250YXdlc29tZS5jb21cbiAqIExpY2Vuc2UgLSBodHRwczovL2ZvbnRhd2Vzb21lLmNvbS9saWNlbnNlL2ZyZWUgKEljb25zOiBDQyBCWSA0LjAsIEZvbnRzOiBTSUwgT0ZMIDEuMSwgQ29kZTogTUlUIExpY2Vuc2UpXG4gKiBDb3B5cmlnaHQgMjAyMyBGb250aWNvbnMsIEluYy5cbiAqL1xuQGltcG9ydCAnZnVuY3Rpb25zJztcbkBpbXBvcnQgJ3ZhcmlhYmxlcyc7XG5cbjpyb290LCA6aG9zdCB7XG4gIC0tI3skZmEtY3NzLXByZWZpeH0tc3R5bGUtZmFtaWx5LWNsYXNzaWM6ICcjeyAkZmEtc3R5bGUtZmFtaWx5IH0nO1xuICAtLSN7JGZhLWNzcy1wcmVmaXh9LWZvbnQtcmVndWxhcjogbm9ybWFsIDQwMCAxZW0vMSAnI3sgJGZhLXN0eWxlLWZhbWlseSB9Jztcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDYgRnJlZSc7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1kaXNwbGF5OiAkZmEtZm9udC1kaXNwbGF5O1xuICBzcmM6IHVybCgnI3skZmEtZm9udC1wYXRofS9mYS1yZWd1bGFyLTQwMC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICB1cmwoJyN7JGZhLWZvbnQtcGF0aH0vZmEtcmVndWxhci00MDAudHRmJykgZm9ybWF0KCd0cnVldHlwZScpO1xufVxuXG4uZmFyLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXJlZ3VsYXIge1xuICBmb250LXdlaWdodDogNDAwO1xufVxuIiwiLyohXG4gKiBGb250IEF3ZXNvbWUgRnJlZSA2LjUuMSBieSBAZm9udGF3ZXNvbWUgLSBodHRwczovL2ZvbnRhd2Vzb21lLmNvbVxuICogTGljZW5zZSAtIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tL2xpY2Vuc2UvZnJlZSAoSWNvbnM6IENDIEJZIDQuMCwgRm9udHM6IFNJTCBPRkwgMS4xLCBDb2RlOiBNSVQgTGljZW5zZSlcbiAqIENvcHlyaWdodCAyMDIzIEZvbnRpY29ucywgSW5jLlxuICovXG5AaW1wb3J0ICdmdW5jdGlvbnMnO1xuQGltcG9ydCAndmFyaWFibGVzJztcblxuOnJvb3QsIDpob3N0IHtcbiAgLS0jeyRmYS1jc3MtcHJlZml4fS1zdHlsZS1mYW1pbHktY2xhc3NpYzogJyN7ICRmYS1zdHlsZS1mYW1pbHkgfSc7XG4gIC0tI3skZmEtY3NzLXByZWZpeH0tZm9udC1zb2xpZDogbm9ybWFsIDkwMCAxZW0vMSAnI3sgJGZhLXN0eWxlLWZhbWlseSB9Jztcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDYgRnJlZSc7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgZm9udC1kaXNwbGF5OiAkZmEtZm9udC1kaXNwbGF5O1xuICBzcmM6IHVybCgnI3skZmEtZm9udC1wYXRofS9mYS1zb2xpZC05MDAud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgdXJsKCcjeyRmYS1mb250LXBhdGh9L2ZhLXNvbGlkLTkwMC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyk7XG59XG5cbi5mYXMsXG4uI3skZmEtY3NzLXByZWZpeH0tc29saWQge1xuICBmb250LXdlaWdodDogOTAwO1xufVxuIiwiLy8gLS0tLS0gQnJhbmRpbmcgLS0tLS1cclxuXHJcbi8vIElmIHRoZXNlIGdsb2JhbCB2YXJpYWJsZXMgYXJlIG5vdCBhdmFpbGFibGUgdGhlbiBkZWZhdWx0IHRvIHRoZSBmb2xsb3dpbmcsIHRoaXMgd2FzIHB1dCBpbiBkdWUgdG8gYSBjb21wYXRpYmlsaXR5IGlzc3VlIGJldHdlZW4gc2Fzcy1leHRyYWN0IGFuZCBzYXNzLXZhcmlhYmxlcyB3aGVuIGNyZWF0aW5nIHRoZSBtYW5pZmVzdCBmaWxlcy5cclxuJGVtYWlsVGVtcGxhdGU6IGZhbHNlICFkZWZhdWx0O1xyXG4kZW52aXJvbm1lbnQ6IFwiZGV2ZWxvcG1lbnRcIiAhZGVmYXVsdDtcclxuXHJcbiRkZWJ1ZzogZmFsc2UgIWRlZmF1bHQ7XHJcbiRkZWJ1Zy1sZXZlbDogMSAhZGVmYXVsdDtcclxuXHJcbiRzaGFyZWQtY29udGVudC1kaXJlY3Rvcnk6ICcvdGVtcGxhdGUvY29udGVudC8nICsgJGVudmlyb25tZW50ICFkZWZhdWx0O1xyXG4kc2hhcmVkLWljb25zLWRpcmVjdG9yeTogJHNoYXJlZC1jb250ZW50LWRpcmVjdG9yeSArICcvaW1hZ2VzL2ljb25zLycgIWRlZmF1bHQ7XHJcbiRzaGFyZWQtaWNvbnMtbWFuYWdlLWNhbGxzLWRpcmVjdG9yeTogJHNoYXJlZC1pY29ucy1kaXJlY3RvcnkgKyAnL2NhbGxzLycgIWRlZmF1bHQ7XHJcbiRzaGFyZWQtaWNvbnMtaGF6YXJkLXN0YXRlbWVudHMtZGlyZWN0b3J5OiAkc2hhcmVkLWljb25zLWRpcmVjdG9yeSArICdoYXphcmQtc3RhdGVtZW50LWljb25zLycgIWRlZmF1bHQ7XHJcbiRzaGFyZWQtYnV0dG9ucy1kaXJlY3Rvcnk6ICRzaGFyZWQtY29udGVudC1kaXJlY3RvcnkgKyAnL2ltYWdlcy9idXR0b25zLycgIWRlZmF1bHQ7XHJcbiRzaGFyZWQtd2ViZm9udHMtZGlyZWN0b3J5OiAkc2hhcmVkLWNvbnRlbnQtZGlyZWN0b3J5ICsgJy9jc3Mvd2ViZm9udHMvJyAhZGVmYXVsdDtcclxuXHJcblxyXG4vLyBTaXRlIGNvbG91ciBwYWxldHRlXHJcbi8vVHJhbnNwYXJlbnRcclxuJGNvbG91cjA6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xyXG5cclxuLy9XaGl0ZVxyXG4kY29sb3VyMTogI2ZmZmZmZiAhZGVmYXVsdDtcclxuXHJcbi8vQmxhY2tcclxuJGNvbG91cjI6ICMwMDAwMDAgIWRlZmF1bHQ7XHJcblxyXG4vL0dyZXlcclxuJGNvbG91cjM6ICNlZWVlZWUgIWRlZmF1bHQ7XHJcbi8vU0xJR0hUTFkgREFSS0VSIEdSRVlcclxuLy8kY29sb3VyMy0xOiAjZGFkYWRhICFkZWZhdWx0O1xyXG4kY29sb3VyMy0xOiBkYXJrZW4oJGNvbG91cjMsIDglKSAhZGVmYXVsdDtcclxuLy9TbGlnaHRseSBTbGlnaHRseSBEYXJrZXIgR3JleVxyXG4vLyRjb2xvdXIzLTI6ICNiMmIyYjIgIWRlZmF1bHQ7XHJcbiRjb2xvdXIzLTI6IGRhcmtlbigkY29sb3VyMywgMjUlKSAhZGVmYXVsdDtcclxuLy9EYXJrZXIgR3JleSBcclxuLy8kY29sb3VyMy0zOiAjODg4ODg4ICFkZWZhdWx0O1xyXG4kY29sb3VyMy0zOiBkYXJrZW4oJGNvbG91cjMsIDM1JSkgIWRlZmF1bHQ7XHJcbi8vVmVyeSBMaWdodCBHcmV5XHJcbi8vJGNvbG91cjMtNDogI2NmY2ZjZiAhZGVmYXVsdDtcclxuJGNvbG91cjMtNDogZGFya2VuKCRjb2xvdXIzLCAxNSUpICFkZWZhdWx0O1xyXG4vLyBHcmV5XHJcbi8vJGNvbG91cjMtNTogI2YzZjNmMyAhZGVmYXVsdDtcclxuJGNvbG91cjMtNTogbGlnaHRlbigkY29sb3VyMywgMiUpICFkZWZhdWx0O1xyXG4vLyBEYXJrIEdyZXlcclxuLy8kY29sb3VyMy02OiAjNDQ0NDQ0ICFkZWZhdWx0O1xyXG4kY29sb3VyMy02OiBkYXJrZW4oJGNvbG91cjMsIDY1JSkgIWRlZmF1bHQ7XHJcbi8vIFNsaWdodGx5IHNsaWdodGx5IGRhcmtlciBncmV5LlxyXG4vLyRjb2xvdXIzLTc6ICM3YTdhN2EgIWRlZmF1bHQ7XHJcbiRjb2xvdXIzLTc6IGRhcmtlbigkY29sb3VyMywgNDUlKSAhZGVmYXVsdDtcclxuXHJcbiRuZXV0cmFsLWNvbG91cjogKFxyXG4gICAgMDogJGNvbG91cjMtNlxyXG4pICFkZWZhdWx0O1xyXG4kbmV1dHJhbC1jb2xvdXI6IG1hcC1tZXJnZSgkbmV1dHJhbC1jb2xvdXIsIGNyZWF0ZS1jb2xvdXItdmFyaWFudHMoJG5ldXRyYWwtY29sb3VyKSk7XHJcblxyXG4vL0dyZWVuIFxyXG4kY29sb3VyNDogIzEyODExZiAhZGVmYXVsdDtcclxuJHByaW1hcnktY29sb3VyOiAoXHJcbiAgICAwOiAkY29sb3VyNFxyXG4pICFkZWZhdWx0O1xyXG4kcHJpbWFyeS1jb2xvdXI6IG1hcC1tZXJnZSgkcHJpbWFyeS1jb2xvdXIsIGNyZWF0ZS1jb2xvdXItdmFyaWFudHMoJHByaW1hcnktY29sb3VyKSk7XHJcbi8vIExJR0hURVIgR1JFRU5cclxuLy8kY29sb3VyNC0xOiAjMjRjYTFjICFkZWZhdWx0O1xyXG4kY29sb3VyNC0xOiBkZXNhdHVyYXRlKGxpZ2h0ZW4oJGNvbG91cjQsIDE5JSksIDEwJSkgIWRlZmF1bHQ7XHJcbi8vIERBUktFUiBHUkVFTiBcclxuLy8kY29sb3VyNC0yOiAjNDE5YTRjICFkZWZhdWx0O1xyXG4kY29sb3VyNC0yOiBkZXNhdHVyYXRlKGxpZ2h0ZW4oJGNvbG91cjQsIDEyJSksIDI1JSkgIWRlZmF1bHQ7XHJcbi8vIFBhbGVcclxuLy8kY29sb3VyNC0zOiAjNmFhZDcyICFkZWZhdWx0O1xyXG4kY29sb3VyNC0zOiBkZXNhdHVyYXRlKGxpZ2h0ZW4oJGNvbG91cjQsIDIzJSksIDUwJSkgIWRlZmF1bHQ7XHJcbi8vIExpZ2h0aXNoIFBhbGUgR3JlZW4uXHJcbi8vJGNvbG91cjQtNDogI2E4ZDNhNiAhZGVmYXVsdDtcclxuJGNvbG91cjQtNDogZGVzYXR1cmF0ZShhZGp1c3QtaHVlKGxpZ2h0ZW4oJGNvbG91cjQsIDQ1JSksIC0xMCUpLCA0NiUpICFkZWZhdWx0O1xyXG4vL0RBUktJU0ggUEFMRSBHUkVFTlxyXG4vLyRjb2xvdXI0LTU6ICM1NGExNWQgIWRlZmF1bHQ7XHJcbiRjb2xvdXI0LTU6IGRlc2F0dXJhdGUobGlnaHRlbigkY29sb3VyNCwgMTglKSwgMzclKSAhZGVmYXVsdDtcclxuLy8gTGlnaHQgKCB2ZXJ5IHdhc2hlZCBvdXQgKVxyXG4vLyRjb2xvdXI0LTY6ICNkY2Y3ZGIgIWRlZmF1bHQ7XHJcbiRjb2xvdXI0LTY6IGRlc2F0dXJhdGUoYWRqdXN0LWh1ZShsaWdodGVuKCRjb2xvdXI0LCA2MyUpLCAtMTAlKSwgMjIlKSAhZGVmYXVsdDtcclxuLy8gUXVpdGUgZGFyay5cclxuLy8kY29sb3VyNC03OiAjMDE4MDJiICFkZWZhdWx0O1xyXG4kY29sb3VyNC03OiBzYXR1cmF0ZShhZGp1c3QtaHVlKGRhcmtlbigkY29sb3VyNCwgMyUpLCAxMyUpLCAyMCUpICFkZWZhdWx0O1xyXG5cclxuLy9PcmFuZ2VcclxuJGNvbG91cjY6ICNmZjZmMjAgIWRlZmF1bHQ7XHJcbiRzZWNvbmRhcnktY29sb3VyOiAoXHJcbiAgICAwOiAkY29sb3VyNlxyXG4pICFkZWZhdWx0O1xyXG4kc2Vjb25kYXJ5LWNvbG91cjogbWFwLW1lcmdlKCRzZWNvbmRhcnktY29sb3VyLCBjcmVhdGUtY29sb3VyLXZhcmlhbnRzKCRzZWNvbmRhcnktY29sb3VyKSk7XHJcbi8vRGFyayBPcmFuZ2VcclxuLy8kY29sb3VyNi0xOiAjZDE0NjI4ICFkZWZhdWx0O1xyXG4kY29sb3VyNi0xOiBkZXNhdHVyYXRlKGFkanVzdC1odWUoZGFya2VuKCRjb2xvdXI2LCAxMiUpLCAtOCUpLCAxMCUpICFkZWZhdWx0O1xyXG4vLyBTbGlnaHRseSBsaWdodGVyIG9yYW5nZVxyXG4vLyRjb2xvdXI2LTI6ICNmZmM0MzkgIWRlZmF1bHQ7XHJcbiRjb2xvdXI2LTI6IGFkanVzdC1odWUobGlnaHRlbigkY29sb3VyNiwgNiUpLCAyMCUpICFkZWZhdWx0O1xyXG4vLyBWZXJ5IGxpZ2h0IG9yYW5nZSBidXQgc2xpZ2h0bHkgZGFya1xyXG4vLyRjb2xvdXI2LTM6ICNmZWI0MDEgIWRlZmF1bHQ7XHJcbiRjb2xvdXI2LTM6IGFkanVzdC1odWUoZGFya2VuKCRjb2xvdXI2LCA2JSksIDIwJSkgIWRlZmF1bHQ7XHJcbi8vIE5vdCByZWFsbHkgb3JhbmdlIGJ1dCBnb2luZyB0byBwdXQgaXQgaGVyZSBhbnl3YXlcclxuLy8kY29sb3VyNi0zOiAjZmZmMGVhICFkZWZhdWx0O1xyXG4vLyRjb2xvdXI2LTI6IGxpZ2h0ZW4oJGNvbG91cjYsIDM4JSkgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0gQWNjZW50IENvbG91ciAxIC0tLVxyXG4kYWNjZW50LWNvbG91ci0xOiAoXHJcbiAgICAwOiAjYzAwMDAwXHJcbikgIWRlZmF1bHQ7XHJcbiRhY2NlbnQtY29sb3VyLTE6IG1hcC1tZXJnZSgkYWNjZW50LWNvbG91ci0xLCBjcmVhdGUtY29sb3VyLXZhcmlhbnRzKCRhY2NlbnQtY29sb3VyLTEpKTtcclxuXHJcbi8vIC0tLSBBY2NlbnQgQ29sb3VyIDIgLS0tXHJcbiRhY2NlbnQtY29sb3VyLTI6IChcclxuICAgIDA6ICMyYjU3OWFcclxuKSAhZGVmYXVsdDtcclxuJGFjY2VudC1jb2xvdXItMjogbWFwLW1lcmdlKCRhY2NlbnQtY29sb3VyLTIsIGNyZWF0ZS1jb2xvdXItdmFyaWFudHMoJGFjY2VudC1jb2xvdXItMikpO1xyXG5cclxuLy8gLS0tIEFjY2VudCBDb2xvdXIgMyAtLS1cclxuJGFjY2VudC1jb2xvdXItMzogKFxyXG4gICAgMDogI2U1YjcwMVxyXG4pICFkZWZhdWx0O1xyXG4kYWNjZW50LWNvbG91ci0zOiBtYXAtbWVyZ2UoJGFjY2VudC1jb2xvdXItMywgY3JlYXRlLWNvbG91ci12YXJpYW50cygkYWNjZW50LWNvbG91ci0zKSk7XHJcblxyXG4vLyAtLS0gQWNjZW50IENvbG91ciA0IC0tLVxyXG4kYWNjZW50LWNvbG91ci00OiAoXHJcbiAgICAwOiAjYTIzNGUzXHJcbikgIWRlZmF1bHQ7XHJcbiRhY2NlbnQtY29sb3VyLTQ6IG1hcC1tZXJnZSgkYWNjZW50LWNvbG91ci00LCBjcmVhdGUtY29sb3VyLXZhcmlhbnRzKCRhY2NlbnQtY29sb3VyLTQpKTtcclxuXHJcbi8vIFN1Y2Nlc3NcclxuJHN1Y2Nlc3MtY29sb3VyOiAoXHJcbiAgICAwOiAjMTI4MTFmXHJcbikgIWRlZmF1bHQ7XHJcbiRzdWNjZXNzLWNvbG91cjogbWFwLW1lcmdlKCRzdWNjZXNzLWNvbG91ciwgY3JlYXRlLWNvbG91ci12YXJpYW50cygkc3VjY2Vzcy1jb2xvdXIpKTtcclxuXHJcbi8vIFdhcm5pbmcgXHJcbiR3YXJuaW5nLWNvbG91cjogKFxyXG4gICAgMDogI2ZmNWUwNVxyXG4pICFkZWZhdWx0O1xyXG4kd2FybmluZy1jb2xvdXI6IG1hcC1tZXJnZSgkd2FybmluZy1jb2xvdXIsIGNyZWF0ZS1jb2xvdXItdmFyaWFudHMoJHdhcm5pbmctY29sb3VyKSk7XHJcblxyXG4vLyBBbGVydFxyXG4kYWxlcnQtY29sb3VyOiAoXHJcbiAgICAwOiAjYjIwYzBjXHJcbikgIWRlZmF1bHQ7XHJcbiRhbGVydC1jb2xvdXI6IG1hcC1tZXJnZSgkYWxlcnQtY29sb3VyLCBjcmVhdGUtY29sb3VyLXZhcmlhbnRzKCRhbGVydC1jb2xvdXIpKTtcclxuXHJcbi8vJGFsZXJ0LWNvbG91cjogI2IyMGMwYyAhZGVmYXVsdDtcclxuLy8kYWxlcnQtY29sb3VyLTE6ICNmZWU3ZTcgIWRlZmF1bHQ7XHJcblxyXG4vLyBUaGlzIGlzIGEgaGFjayBhbmQgc2hvdWxkIHVzZSBkZXBhcnRtZW50IGNvbG91cnMuLi4uXHJcbiRkZXBhcnRtZW50LXNvZnR3YXJlLWJhc2UtY29sb3VyOiAjNjYzMzk5ICFkZWZhdWx0O1xyXG4kZGVwYXJ0bWVudC13ZWItYmFzZS1jb2xvdXI6ICM1ZjdiMjcgIWRlZmF1bHQ7XHJcbiRkZXBhcnRtZW50LXRlY2gtYmFzZS1jb2xvdXI6ICMzMzY2OTkhZGVmYXVsdDtcclxuXHJcbi8vIFNpdGUgc3R5bGUgY29sb3VyIG92ZXJyaWRlcy5cclxuJHNpdGUtc3R5bGVzLWNvbG91cnM6ICgpICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tLS0gRm9udHMgLS0tLS0gXHJcbi8vIC0tLSBUeXBncmFwaGd5IC0tLVxyXG4vLyBGb250IEltcG9ydHNcclxuJHR5cG9ncmFwZ2h5LWZvbnQtZmFtaWxpZXMtY2RuLWltcG9ydDogKFxyXG4gICAgcHJpbWFyeS1mb250OiBcImh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzP2ZhbWlseT1PcGVuK1NhbnM6MzAwLDQwMCw2MDAsNzAwLDgwMCZkaXNwbGF5PXN3YXBcIiAvL09wZW4gU2Fuc1xyXG4pICFkZWZhdWx0O1xyXG4vLyBMb29wIHRocm91Z2ggZWFjaCBmYW1pbHkgaW1wb3J0aW5nIHRoZW0uXHJcbkBlYWNoICRmb250LWZhbWlseSwgJGxvY2F0aW9uIGluICR0eXBvZ3JhcGdoeS1mb250LWZhbWlsaWVzLWNkbi1pbXBvcnQge1xyXG4gICAgQGltcG9ydCB1cmwoJGxvY2F0aW9uKTtcclxufVxyXG5cclxuLy8gRm9udCBDb25maWd1cmF0aW9uLlxyXG4vLyBXaGVuIHByb3ZpZGluZyBhIGZvbnQgc3RhY2sgZ2l2ZSB0aGUgZGVzaXJlZCBmb250LCB0aGVuIHVzaW5nIHRoZSBzZWNvbmQgcGFyYW10ZXIgYXMgdGhlIGZhbGxiYWNrIGZvciB0aGF0IGZvbnQgd2hpbHN0IGl0cyBsb2FkaW5nIGluICggZS5nLiBBcmlhbCBvciBHZW9sb2dpY2EgKSBhbmQgdGhlbiBcIkFyaWFsXCIgYXMgdGhlIHRoaXJkIGZvciBiZWx0IGFuZCBicmFjZXMuXHJcbiR0eXBvZ3JhZ2h5LWZvbnQtZmFtaWxpZXM6IChcclxuICAgIHByaW1hcnktZm9udDogKFwiT3BlbiBTYW5zXCIsIFwiT3BlbiBTYW5zIEZhbGxiYWNrXCIsIFwiQXJpYWxcIilcclxuKSAhZGVmYXVsdDtcclxuXHJcbiRmb250LWZhbGxiYWNrLW1ldHJpY3M6IChcclxuICAgIHByaW1hcnk6IChcclxuICAgICAgICBmYWxsYmFjazogJ0FyaWFsJyxcclxuICAgICAgICBzaXplLWFkanVzdDogMTA5LjA0JSxcclxuICAgICAgICBhc2NlbnQtb3ZlcnJpZGU6IDEwNi44OCUsXHJcbiAgICAgICAgZGVzY2VudC1vdmVycmlkZTogMjkuMzAlLFxyXG4gICAgICAgIGxpbmUtZ2FwLW92ZXJyaWRlOiAwJVxyXG4gICAgKVxyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tIEljb25zIC0tLVxyXG4vLyBGb250IEF3ZXNvbWUuXHJcbiRmb250QXdlc29tZUJyYW5kczogXCJGb250IEF3ZXNvbWUgQnJhbmRzXCIgIWRlZmF1bHQ7XHJcbiRmb250QXdlc29tZVNvbGlkOiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiICFkZWZhdWx0O1xyXG4kZm9udEF3ZXNvbWVSZWd1bGFyOiBcIkZvbnQgQXdlc29tZSBSZWd1bGFyXCIgIWRlZmF1bHQ7XHJcbi8vIEBpbXBvcnQgXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvQGZvcnRhd2Vzb21lL2ZvbnRhd2Vzb21lLWZyZWUvc2Nzcy9mb250YXdlc29tZVwiO1xyXG5AaW1wb3J0IFwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bmb3J0YXdlc29tZS9mb250YXdlc29tZS1mcmVlL3Njc3MvYnJhbmRzXCI7XHJcbkBpbXBvcnQgXCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGZvcnRhd2Vzb21lL2ZvbnRhd2Vzb21lLWZyZWUvc2Nzcy9yZWd1bGFyXCI7XHJcbkBpbXBvcnQgXCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGZvcnRhd2Vzb21lL2ZvbnRhd2Vzb21lLWZyZWUvc2Nzcy9zb2xpZFwiO1xyXG4vLyBAaW1wb3J0IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bmb3J0YXdlc29tZS9mb250YXdlc29tZS1mcmVlL3Njc3MvdjQtc2hpbXNcIjtcclxuXHJcbkBpZiBub3QgJGVtYWlsVGVtcGxhdGUge1xyXG4gICAgLy8gQ29uZmlndXJlIHRoZSBwYWdlIG9mIHRoZSBzdGF0aWMgZm9udCBmaWxlcy5cclxuICAgICRmYS1mb250LXBhdGg6ICRzaGFyZWQtd2ViZm9udHMtZGlyZWN0b3J5ICsgJ2ZvbnRhd2Vzb21lLyc7XHJcbiAgICAvLyBCcmFuZHMgSWNvbnNcclxuICAgIEBmb250LWZhY2Uge1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIEJyYW5kcyc7XHJcbiAgICAgICAgc3JjOiB1cmwoJGZhLWZvbnQtcGF0aCArICdmYS1icmFuZHMtNDAwLndvZmYyJyksXHJcbiAgICAgICAgICAgIHVybCgkZmEtZm9udC1wYXRoICsgJ2ZhLWJyYW5kcy00MDAud29mZicpLFxyXG4gICAgICAgICAgICB1cmwoJGZhLWZvbnQtcGF0aCArICdmYS1icmFuZHMtNDAwLnR0ZicpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgICAgZm9udC1zaXplOiBub3JtYWw7XHJcbiAgICAgICAgZm9udC1kaXNwbGF5OiBzd2FwO1xyXG4gICAgfSBcclxuICAgIFxyXG4gICAgLy8gU29saWQgSWNvbnNcclxuICAgIEBmb250LWZhY2Uge1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIFNvbGlkJztcclxuICAgICAgICBzcmM6IHVybCgkZmEtZm9udC1wYXRoICsgJ2ZhLXNvbGlkLTkwMC53b2ZmMicpLFxyXG4gICAgICAgICAgICB1cmwoJGZhLWZvbnQtcGF0aCArICdmYS1zb2xpZC05MDAud29mZicpLFxyXG4gICAgICAgICAgICB1cmwoJGZhLWZvbnQtcGF0aCArICdmYS1zb2xpZC05MDAudHRmJyk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDkwMDtcclxuICAgICAgICBmb250LXNpemU6IG5vcm1hbDtcclxuICAgICAgICBmb250LWRpc3BsYXk6IHN3YXA7IC8vIFRvIHByZXZlbnQgc2hvd2luZyBpbnZpc2libGUgZm9udHMgd2hpbGUgbG9hZGluZyBjdXN0b20gZm9udHMgaHR0cHM6Ly9kZXZlbG9wZXIuY2hyb21lLmNvbS9kb2NzL2xpZ2h0aG91c2UvcGVyZm9ybWFuY2UvZm9udC1kaXNwbGF5Lz91dG1fc291cmNlPWxpZ2h0aG91c2UmdXRtX21lZGl1bT1kZXZ0b29sc1xyXG4gICAgfSBcclxuICAgIC8vIFJlZ3VsYXIgSWNvbnMgXHJcbiAgICBAZm9udC1mYWNlIHtcclxuICAgICAgICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSBSZWd1bGFyJztcclxuICAgICAgICBzcmM6IHVybCgkZmEtZm9udC1wYXRoICsgJ2ZhLXJlZ3VsYXItNDAwLndvZmYyJyksXHJcbiAgICAgICAgICAgIHVybCgkZmEtZm9udC1wYXRoICsgJ2ZhLXJlZ3VsYXItNDAwLndvZmYnKSxcclxuICAgICAgICAgICAgdXJsKCRmYS1mb250LXBhdGggKyAnZmEtcmVndWxhci00MDAudHRmJyk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgICBmb250LXNpemU6IG5vcm1hbDtcclxuICAgICAgICBmb250LWRpc3BsYXk6IHN3YXA7XHJcbiAgICB9IFxyXG59XHJcblxyXG4vLyBDdXN0b20gaWNvbnMuXHJcbi8vIERlZmF1bHQgZXhwcmVzcyBpY29uIGZvbnQgZmFtaWx5LlxyXG4kZXhwcmVzcy1kZWZhdWx0LWljb25zOiAnZm9udGVsbG8nICFkZWZhdWx0O1xyXG4kZGVmYXVsdC1pY29ucy1mb250LXBhdGg6ICRzaGFyZWQtd2ViZm9udHMtZGlyZWN0b3J5ICsgJ2ZvbnRlbGxvLWV4cHJlc3MvJztcclxuLy8gRGVmYXVsdCBleHByZXNzIGljb25zLlxyXG5AaWYgbm90ICRlbWFpbFRlbXBsYXRlIHtcclxuICAgIEBmb250LWZhY2Uge1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZXhwcmVzcy1kZWZhdWx0LWljb25zO1xyXG4gICAgICAgIHNyYzogdXJsKCRkZWZhdWx0LWljb25zLWZvbnQtcGF0aCArICdmb250ZWxsby5lb3QnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXHJcbiAgICAgICAgICAgIHVybCgkZGVmYXVsdC1pY29ucy1mb250LXBhdGggKyAnZm9udGVsbG8uc3ZnJykgZm9ybWF0KCdzdmcnKSxcclxuICAgICAgICAgICAgdXJsKCRkZWZhdWx0LWljb25zLWZvbnQtcGF0aCArICdmb250ZWxsby50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksXHJcbiAgICAgICAgICAgIHVybCgkZGVmYXVsdC1pY29ucy1mb250LXBhdGggKyAnZm9udGVsbG8ud29mZicpIGZvcm1hdCgnd29mZicpLFxyXG4gICAgICAgICAgICB1cmwoJGRlZmF1bHQtaWNvbnMtZm9udC1wYXRoICsgJ2ZvbnRlbGxvLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG4gICAgICAgIGZvbnQtZGlzcGxheTogc3dhcDtcclxuICAgIH1cclxufVxyXG4vLyBTaXRlIHNwZWNpZmljIGljb25zIGZvbnQuXHJcbiRzaXRlLXNwZWNpZmljLWljb25zLWVuYWJsZWQ6IGZhbHNlICFkZWZhdWx0O1xyXG4kc2l0ZS1zcGVjaWZpYy1pY29ucy1mb250LWZhbWlseTogJ2ZvbnRlbGxvLScgKyAkc2l0ZSAhZGVmYXVsdDtcclxuJHNpdGUtc3BlY2lmaWMtaWNvbnMtZm9udC1wYXRoOiAkc2hhcmVkLXdlYmZvbnRzLWRpcmVjdG9yeSArICdmb250ZWxsby0nICsgJHNpdGUgKyBcIi9cIiAhZGVmYXVsdDtcclxuLy8gR2V0IHNpdGUgc3BlY2lmYyBpY29uIGZvbnQgZmFtaWx5LlxyXG5AaWYgJHNpdGUtc3BlY2lmaWMtaWNvbnMtZW5hYmxlZCB7XHJcbiAgICBAZm9udC1mYWNlIHtcclxuICAgICAgICBmb250LWZhbWlseTogJHNpdGUtc3BlY2lmaWMtaWNvbnMtZm9udC1mYW1pbHk7XHJcbiAgICAgICAgc3JjOiB1cmwoJHNpdGUtc3BlY2lmaWMtaWNvbnMtZm9udC1wYXRoICsgJ2ZvbnRlbGxvLScgKyAkc2l0ZSArICcuZW90JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxyXG4gICAgICAgICAgICB1cmwoJHNpdGUtc3BlY2lmaWMtaWNvbnMtZm9udC1wYXRoICsgJ2ZvbnRlbGxvLScgKyAkc2l0ZSArICcuc3ZnJykgZm9ybWF0KCdzdmcnKSxcclxuICAgICAgICAgICAgdXJsKCRzaXRlLXNwZWNpZmljLWljb25zLWZvbnQtcGF0aCArICdmb250ZWxsby0nICsgJHNpdGUgKyAnLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcclxuICAgICAgICAgICAgdXJsKCRzaXRlLXNwZWNpZmljLWljb25zLWZvbnQtcGF0aCArICdmb250ZWxsby0nICsgJHNpdGUgKyAnLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcclxuICAgICAgICAgICAgdXJsKCRzaXRlLXNwZWNpZmljLWljb25zLWZvbnQtcGF0aCArICdmb250ZWxsby0nICsgJHNpdGUgKyAnLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG4gICAgICAgIGZvbnQtZGlzcGxheTogc3dhcDtcclxuICAgIH1cclxufVxyXG4vLyBJZiBlbWFpbCB0ZW1wbGF0ZSB0aGVuIGZvcmNlIGZvbnQgZmFtaWx5IHRvIGJlIE9wZW4gU2FucyBkdWUgbm90IGJlaW5nIGFibGUgdG8gaW5qZWN0IGN1c3RvbSBmb250IGZhbWlsaWVzIGludG8gZW1haWwgdGVtcGxhdGVzLlxyXG5AaWYgJGVtYWlsVGVtcGxhdGUge1xyXG4gICAgJHR5cG9ncmFnaHktZm9udC1mYW1pbGllczogKFxyXG4gICAgICAgIHByaW1hcnktZm9udDogKFwiT3BlbiBTYW5zXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJBcmlhbFwiKVxyXG4gICAgKTtcclxufVxyXG5cclxuLy8tLS0gQm9yZGVyIFJhZGl1cyBQcmVzZXRzIC0tLVxyXG4kYm9yZGVyUmFkaXVzMTogNXB4ICFkZWZhdWx0O1xyXG4kYm9yZGVyUmFkaXVzMjogKCRib3JkZXJSYWRpdXMxICogNSkgIWRlZmF1bHQ7XHJcblxyXG4vLy0tLSBUcmFuc2l0aW9uIFRpbWluZ3MgLS0tXHJcbiR0cmFuc2l0aW9uSW50cm86IDAuNnMgIWRlZmF1bHQ7XHJcbiR0cmFuc2l0aW9uT3V0cm86IDAuOHMgIWRlZmF1bHQ7XHJcblxyXG4vLy0tLSBLbm9ja2JhY2sgUHJlc2V0cyAtLS1cclxuJGtub2NrQmFjazE6IDAuNiAhZGVmYXVsdDtcclxuJGtub2NrQmFjazI6IDAuOSAhZGVmYXVsdDtcclxuXHJcbi8vLS0tIEJveCBTaGFkb3dzIC0tLVxyXG4kYm94U2hhZG93MTogMHB4IDJweCA0cHggMXB4IHJnYmEoMTIsIDEyLCAxMywgMC4xKSAhZGVmYXVsdDtcclxuJGJveFNoYWRvdzI6IDBweCAycHggNHB4IDFweCByZ2JhKDEyLCAxMiwgMTMsIDAuMykgIWRlZmF1bHQ7XHJcbiRib3hTaGFkb3czOiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpICFkZWZhdWx0O1xyXG4kYm94U2hhZG93NDogMnB4IC0zcHggMjBweCAxcHggcmdiYSgxMiwgMTIsIDEzLCA5JSkgIWRlZmF1bHQ7IiwiLy8gSG9sZHMgYWxsIG9mIHRoZSBjb25maWd1cmF0aW9uIGZvciB0aGUgdGVtcGxhdGUsIHRoZXNlIHZhcmlhYmxlcyBhbHNvIGdldCBpbmplY3RlZCBpbnRvIGZvdW5kYXRpb24ncyBzZXR0aW5ncy5cclxuLy8gVXNlZCBmb3IgY29uc3RydWN0aW5nIHVybHMuXHJcbiRzaXRlOiAnJyAhZGVmYXVsdDsgXHJcblxyXG5cclxuXHJcbkBpZiAkZGVidWcge1xyXG4gICAgQGRlYnVnIENvbXBpbGluZyBzYXNzIGZvciAkc2l0ZSA7XHJcbn1cclxuXHJcbi8vIFRPRE86IFRoaXMgaXMgYSB3b3JrIGluIHByb2dyZXNzLCB0aGlzIGlzIG15IGludGlpYWwgYXR0ZW1wdCBhdCBtYWtpbmcgc3VyZSBob3ZlciBiYWNrZ3JvdW5kIHN0YXRlcyBkb250IGNvbmZsaWN0IHdpdGggdGhlIHRleHQgY29sb3VyLlxyXG4kY29udHJhY3QtY2hlY2tlci1jb2xvdXItZmFsbGJhY2tzOiAkY29sb3VyMSwgJGNvbG91cjIsICRjb2xvdXIzLCAkY29sb3VyNCwgJGNvbG91cjYgIWRlZmF1bHQ7XHJcbi8vIERlc2NyZWFzZSBpZiB5b3Ugd2FudCBsZXNzIHNlbnNpdGl2aXR5IGJ1dCBjb250ZW50IG1heSBiZWNvbWUgaWxsZWdpYmxlLlxyXG4kY29udHJhc3QtY2hlY2tlci1yYXRpby10aHJlc2hvbGQ6IDIuMiAhZGVmYXVsdDtcclxuLy8gQWRkZWQgYm9yZGVyIHJhZGl1cyB0byB0aGluZ3MgbGlrZSBidXR0b25zICsgbmF2aWdhdGlvbi5cclxuJHNtb290aC1lZGdlcy1lbmFibGVkOiBmYWxzZSAhZGVmYXVsdDtcclxuJHNtb290aC1lZGdlcy1sZXZlbDogMTVweCAhZGVmYXVsdDtcclxuLy8gR2xvYmFsIEltYWdlIHNldHRpbmdzICggTGlzdGluZyBwYWdlcyAmIHRhYmxlcyApLlxyXG4kdGFibGUtaW1hZ2Utc2l6ZTogMTMycHggIWRlZmF1bHQ7XHJcbiRncmlkLWltYWdlLXNpemU6IDIzMHB4ICFkZWZhdWx0O1xyXG5cclxuXHJcblxyXG4vLyAtLS0tLSBHbG9iYWwgUGFnZSBTZXR0aW5ncyAtLS0tLSBcclxuLy8gQ29udGFpbmVkIGNvbnRlbnQgbWF4IHdpZHRoLlxyXG4kZ2xvYmFsLXdpZHRoOiAxMzAwcHggIWRlZmF1bHQ7XHJcbi8vIFVuY29udGFpbmVkIGNvbnRlbnQgbWF4IHdpZHRoICggaS5lIGZ1bGwgd2lkdGggKSB0aGlzIGlzIGV4Y2x1ZGluZyBhbnl0aGluZyBvdXRzaWRlIG9mIGEgLmdyaWQteCAoIGUuZyBzdGljayBlbGVtZW50cywgPGhlYWRlcj4sIDxmb290ZXI+ICkga2VlcCBpbiBtaW5kIDJrICYgNGsgbW9uaXRvcnMgd2hlbiBhZGp1c3RpbmcgdGhpcy5cclxuJGdsb2JhbC11bmNvbnRhaW5lZC1jb250ZW50LW1heC13aWR0aDogMTkyMHB4ICFkZWZhdWx0O1xyXG5cclxuLy8gWFkgR3JpZFxyXG4kZ2xvYmFsLXh5LWdyaWQtbWFyZ2luLWd1dHRlcnM6IChcclxuICAgIHNtYWxsOiAxMHB4LFxyXG4gICAgbWVkaXVtOiAyMHB4XHJcbikgIWRlZmF1bHQ7XHJcblxyXG4vLyBNYWluICsgZm9vdGVyIHNldHRpbmdzLlxyXG4kcGFnZS1ndXR0ZXI6IChcclxuICAgIHNtYWxsOiAwIDEwcHhcclxuKSAhZGVmYXVsdDtcclxuLy8gLS0tLS0gVHlwb2dyYXBoeSAtLS0tLSBcclxuJGJvZHktZm9udC1jb2xvdXI6ICRjb2xvdXIyICFkZWZhdWx0O1xyXG4kYm9keS1mb250LWZhbWlseTogZ2V0LXR5cG9ncmFwaHktZm9udC1mYW1pbHkoXCJzZWNvbmRhcnktZm9udFwiKSAhZGVmYXVsdDtcclxuJGJvZHktY29weS1tYXgtd2lkdGg6IDg1MHB4ICFkZWZhdWx0O1xyXG4kZGVmYXVsdC1saW5lLWhlaWdodDogMS42ICFkZWZhdWx0OyBcclxuJGRlZmF1bHQtdW5saW5lLWNvbG91cnM6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIyXHJcbikgIWRlZmF1bHQ7XHJcbiRkZWZhdWx0LWxhYmVsLWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7IC8vIEhhbmRsZXMgd2VpZ2h0IGZvciBsYWJlbCArIHZhbHVlIHBhaXIgKCBpLmUgdGFibGVzIG1vYmlsZSwgdmlldyBvcmRlciBzdW1tYXJ5IHBhbmVzIClcclxuJGNvbW1vbi1ydWxlLWNvbG91cjogJGNvbG91cjMtMiAhZGVmYXVsdDtcclxuJGNvbW1vbi1ydWxlLXdlaWdodDogMXB4ICFkZWZhdWx0O1xyXG4vLyAtLS0gSGVhZGluZ3MgLS0tXHJcbiRoZWFkaW5nLXJ1bGUtY29sb3VyOiAkY29tbW9uLXJ1bGUtY29sb3VyICFkZWZhdWx0O1xyXG4kaGVhZGluZy1jb21tb24tbGV0dGVyLXNwYWNpbmc6IG51bGwgIWRlZmF1bHQ7XHJcbiRoZWFkaW5nLWNvbW1vbi1saW5lLWhlaWdodDogbnVsbCAhZGVmYXVsdDsgLy8gSWYgdXNpbmcgYSBkaWZmZXJlbnQgZm9udCBmb3IgaGVhZGluZ3MgdGhlbiB5b3UgbWF5IG5lZWQgdG8gYWRqdXN0IHRoZSBsaW5lLWhlaWdodC5cclxuJGhlYWRpbmctZm9udC1mYW1pbHk6IGdldC10eXBvZ3JhcGh5LWZvbnQtZmFtaWx5KCkgIWRlZmF1bHQ7XHJcbiRwYWdlLWhlYWRpbmctdW5kZXJsaW5lOiB0cnVlICFkZWZhdWx0O1xyXG4kY29tbW9uLWhlYWRpbmctcnVsZS13ZWlnaHQ6ICRjb21tb24tcnVsZS13ZWlnaHQgIWRlZmF1bHQ7XHJcbiRoZWFkaW5nLTEtbWFyZ2luOiAwIDAgMjVweCAhZGVmYXVsdDtcclxuJGhlYWRpbmctMS1wYWRkaW5nOiAoXHJcbiAgICBwcmVzZXQtMTogbnVsbCxcclxuICAgIHByZXNldC0yOiBudWxsXHJcbikgIWRlZmF1bHQ7XHJcbiRoZWFkaW5nLTEtcnVsZS1jb2xvdXI6ICRoZWFkaW5nLXJ1bGUtY29sb3VyICFkZWZhdWx0O1xyXG4kaGVhZGluZy0xLWZvbnQtc2l6ZTogKFxyXG4gICAgcHJlc2V0LTE6IDI1LFxyXG4gICAgcHJlc2V0LTI6IDMxXHJcbikgIWRlZmF1bHQ7XHJcbiRoZWFkaW5nLTEtdW5kZXJsaW5lOiAoXHJcbiAgICBwcmVzZXQtMTogJHBhZ2UtaGVhZGluZy11bmRlcmxpbmUsXHJcbiAgICBwcmVzZXQtMjogJHBhZ2UtaGVhZGluZy11bmRlcmxpbmVcclxuKSAhZGVmYXVsdDtcclxuJGhlYWRpbmctMS1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgcHJlc2V0LTE6IG51bGwsXHJcbiAgICBwcmVzZXQtMjogbnVsbFxyXG4pICFkZWZhdWx0O1xyXG4kaGVhZGluZy0xLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjQsXHJcbiAgICBwcmVzZXQtMTogbnVsbCxcclxuICAgIHByZXNldC0yOiBudWxsXHJcbikgIWRlZmF1bHQ7XHJcbiRoZWFkaW5nLTEtZm9udC13ZWlnaHQ6IChcclxuICAgIHByZXNldC0xOiA2MDAsXHJcbiAgICBwcmVzZXQtMjogMzAwXHJcbikgIWRlZmF1bHQ7XHJcbiRoZWFkaW5nLTEtdGV4dC1hbGlnbjogKFxyXG4gICAgcHJlc2V0LTE6IG51bGwsXHJcbiAgICBwcmVzZXQtMjogbnVsbFxyXG4pICFkZWZhdWx0O1xyXG4kaGVhZGluZy0xLXRleHQtdHJhbnNmb3JtOiAoIFxyXG4gICAgcHJlc2V0LTE6IG5vbmUsXHJcbiAgICBwcmVzZXQtMjogbm9uZVxyXG4pICFkZWZhdWx0O1xyXG4kaGVhZGluZy0xLWJvcmRlci1yYWRpdXM6IChcclxuICAgIHByZXNldC0xOiAwLFxyXG4gICAgcHJlc2V0LTI6IDBcclxuKSAhZGVmYXVsdDtcclxuJGhlYWRpbmctMS1sZXR0ZXItc3BhY2luZzogKFxyXG4gICAgcHJlc2V0LTE6ICRoZWFkaW5nLWNvbW1vbi1sZXR0ZXItc3BhY2luZyxcclxuICAgIHByZXNldC0yOiAkaGVhZGluZy1jb21tb24tbGV0dGVyLXNwYWNpbmdcclxuKSAhZGVmYXVsdDtcclxuJGhlYWRpbmctMi1mb250LXNpemU6IChcclxuICAgIHByZXNldC0xOiAyMCxcclxuICAgIHByZXNldC0yOiAyMCxcclxuICAgIHByZXNldC0zOiBtYXAtZ2V0KCRoZWFkaW5nLTEtZm9udC1zaXplLCBwcmVzZXQtMSksXHJcbiAgICBwcmVzZXQtNDogMThcclxuKSAgIWRlZmF1bHQ7XHJcbiRoZWFkaW5nLTItZm9udC1zdHlsZTogbnVsbCAhZGVmYXVsdDtcclxuJGhlYWRpbmctMi1mb250LXdlaWdodDogKFxyXG4gICAgcHJlc2V0LTE6IDcwMCxcclxuICAgIHByZXNldC0yOiA3MDAsXHJcbiAgICBwcmVzZXQtMzogbWFwLWdldCgkaGVhZGluZy0xLWZvbnQtd2VpZ2h0LCBwcmVzZXQtMSksXHJcbiAgICBwcmVzZXQtNDogNjAwXHJcbikgIWRlZmF1bHQ7XHJcbiRoZWFkaW5nLTItY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNCxcclxuICAgIHByZXNldC0xOiAkY29sb3VyNCxcclxuICAgIHByZXNldC0yOiAkY29sb3VyNCxcclxuICAgIHByZXNldC0zOiBtYXAtZ2V0KCRoZWFkaW5nLTEtY29sb3VyLCBwcmVzZXQtMSksXHJcbiAgICBwcmVzZXQtNDogJGNvbG91cjRcclxuKSAhZGVmYXVsdDtcclxuJGhlYWRpbmctMi1ib3JkZXItYm90dG9tOiAwICFkZWZhdWx0O1xyXG4kaGVhZGluZy0yLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBwcmVzZXQtMTogcmdiYSgkY29sb3VyNC0xLCAwLjEpLFxyXG4gICAgcHJlc2V0LTM6IG1hcC1nZXQoJGhlYWRpbmctMS1iYWNrZ3JvdW5kLWNvbG91ciwgcHJlc2V0LTEpLFxyXG4gICAgcHJlc2V0LTQ6ICRjb2xvdXI0LTZcclxuKSAhZGVmYXVsdDtcclxuJGhlYWRpbmctMi1tYXJnaW46IChcclxuICAgIHByZXNldC0xOiAoMCAwIDI1cHgsIDAgMCA1MHB4KSxcclxuICAgIHByZXNldC0yOiAoMCwgMCksXHJcbiAgICBwcmVzZXQtMzogMCAwIDIwcHgsXHJcbiAgICBwcmVzZXQtNDogKDAgMCAxNXB4LCAwIDAgNTBweClcclxuKSAhZGVmYXVsdDtcclxuJGhlYWRpbmctMi1wYWRkaW5nOiAoXHJcbiAgICBwcmVzZXQtMTogMTVweCAwLFxyXG4gICAgcHJlc2V0LTM6IG1hcC1nZXQoJGhlYWRpbmctMS1wYWRkaW5nLCBwcmVzZXQtMSksXHJcbiAgICBwcmVzZXQtNDogMTVweCAwXHJcbikgIWRlZmF1bHQ7XHJcbiRoZWFkaW5nLTItdGV4dC10cmFuc2Zvcm06IChcclxuICAgIHByZXNldC0xOiBub25lLFxyXG4gICAgcHJlc2V0LTI6IG5vbmUsXHJcbiAgICBwcmVzZXQtMzogbWFwLWdldCgkaGVhZGluZy0xLXRleHQtdHJhbnNmb3JtLCBwcmVzZXQtMSksXHJcbiAgICBwcmVzZXQtNDogbWFwLWdldCgkaGVhZGluZy0xLXRleHQtdHJhbnNmb3JtLCBwcmVzZXQtMSksXHJcbikgIWRlZmF1bHQ7XHJcbiRoZWFkaW5nLTItdGV4dC1hbGlnbjogKFxyXG4gICAgcHJlc2V0LTE6IGNlbnRlcixcclxuICAgIHByZXNldC0zOiBtYXAtZ2V0KCRoZWFkaW5nLTEtdGV4dC1hbGlnbiwgcHJlc2V0LTEpXHJcbik7XHJcbiRoZWFkaW5nLTItbGV0dGVyLXNwYWNpbmc6IChcclxuICAgIHByZXNldC0xOiAkaGVhZGluZy1jb21tb24tbGV0dGVyLXNwYWNpbmcsXHJcbiAgICBwcmVzZXQtMjogJGhlYWRpbmctY29tbW9uLWxldHRlci1zcGFjaW5nLFxyXG4gICAgcHJlc2V0LTM6ICRoZWFkaW5nLWNvbW1vbi1sZXR0ZXItc3BhY2luZyxcclxuICAgIHByZXNldC00OiAkaGVhZGluZy1jb21tb24tbGV0dGVyLXNwYWNpbmdcclxuKSAhZGVmYXVsdDtcclxuJGhlYWRpbmctMi13b3JkLXNwYWNpbmc6IChcclxuICAgIHByZXNldC0xOiBub3JtYWwsXHJcbiAgICBwcmVzZXQtMjogbm9ybWFsLFxyXG4gICAgcHJlc2V0LTM6IG5vcm1hbFxyXG4pICFkZWZhdWx0O1xyXG4kaGVhZGluZy0yLWxpbmUtaGVpZ2h0OiBpZigkaGVhZGluZy1jb21tb24tbGluZS1oZWlnaHQsJGhlYWRpbmctY29tbW9uLWxpbmUtaGVpZ2h0LDEuNSkgIWRlZmF1bHQ7XHJcbiRoZWFkaW5nLTItYm9yZGVyLXJhZGl1czogKFxyXG4gICAgcHJlc2V0LTM6IG1hcC1nZXQoJGhlYWRpbmctMS1ib3JkZXItcmFkaXVzLCBwcmVzZXQtMSlcclxuKSAhZGVmYXVsdDtcclxuJGhlYWRpbmctMy1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI0LFxyXG4gICAgcHJlc2V0LTE6IG1hcC1nZXQoJGhlYWRpbmctMi1jb2xvdXIsIHByZXNldC00KSxcclxuICAgIHByZXNldC0yOiAkY29sb3VyNFxyXG4pICFkZWZhdWx0O1xyXG4kaGVhZGluZy0zLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBwcmVzZXQtMTogbWFwLWdldCgkaGVhZGluZy0yLWJhY2tncm91bmQtY29sb3VyLCBwcmVzZXQtNCksXHJcbikgIWRlZmF1bHQ7XHJcbiRoZWFkaW5nLTMtZm9udC1zaXplOiAoXHJcbiAgICBwcmVzZXQtMTogbWFwLWdldCgkaGVhZGluZy0yLWZvbnQtc2l6ZSwgcHJlc2V0LTQpLFxyXG4gICAgcHJlc2V0LTI6IG1hcC1nZXQoJGhlYWRpbmctMi1mb250LXNpemUsIHByZXNldC0zKVxyXG4pICFkZWZhdWx0O1xyXG4kaGVhZGluZy0zLWZvbnQtd2VpZ2h0OiAoXHJcbiAgICBkZWZhdWx0OiA2MDAsXHJcbiAgICBwcmVzZXQtMTogbWFwLWdldCgkaGVhZGluZy0yLWZvbnQtd2VpZ2h0LCBwcmVzZXQtNClcclxuKSAhZGVmYXVsdDtcclxuJGhlYWRpbmctMy10ZXh0LXRyYW5zZm9ybTogKFxyXG4gICAgcHJlc2V0LTE6IG1hcC1nZXQoJGhlYWRpbmctMi10ZXh0LXRyYW5zZm9ybSwgcHJlc2V0LTQpLFxyXG4gICAgcHJlc2V0LTI6IG1hcC1nZXQoJGhlYWRpbmctMi10ZXh0LXRyYW5zZm9ybSwgcHJlc2V0LTMpXHJcbikgIWRlZmF1bHQ7XHJcbiRoZWFkaW5nLTMtbWFyZ2luOiAoXHJcbiAgICBwcmVzZXQtMTogMCxcclxuICAgIHByZXNldC0yOiAwIDAgMjVweFxyXG4pICFkZWZhdWx0O1xyXG4kaGVhZGluZy0zLXBhZGRpbmc6IChcclxuICAgIHByZXNldC0xOiBtYXAtZ2V0KCRoZWFkaW5nLTItcGFkZGluZywgcHJlc2V0LTEpLFxyXG4gICAgcHJlc2V0LTI6IDAgMCAxMHB4XHJcbikgIWRlZmF1bHQ7XHJcbiRoZWFkaW5nLTMtbGV0dGVyLXNwYWNpbmc6IChcclxuICAgIHByZXNldC0xOiBtYXAtZ2V0KCRoZWFkaW5nLTItbGV0dGVyLXNwYWNpbmcsIHByZXNldC00KSxcclxuICAgIHByZXNldC0yOiAkaGVhZGluZy1jb21tb24tbGV0dGVyLXNwYWNpbmdcclxuKSAhZGVmYXVsdDtcclxuJGhlYWRpbmctNC1jb2xvdXI6ICRjb2xvdXIyICFkZWZhdWx0O1xyXG4kaGVhZGluZy01LWNvbG91cjogJGNvbG91cjIgIWRlZmF1bHQ7XHJcbiRoZWFkaW5nLTYtY29sb3VyOiAkY29sb3VyMiAhZGVmYXVsdDtcclxuLy8gLS0tIEJ1bGxldCBwb2luZHRzIC0tLVxyXG4kYnVsbGV0LXNpemU6IDVweCAhZGVmYXVsdDtcclxuJGJ1bGxldC1jb2xvdXI6ICRjb2xvdXI0ICFkZWZhdWx0O1xyXG4kYnVsbGV0LWJvcmRlci1yYWRpdXM6ICRib3JkZXJSYWRpdXMxICFkZWZhdWx0O1xyXG4vLyAtLS0gUGFyYWdyYXBoIC0tLSBcclxuJHBhcmFncmFwaC1mb250LXNpemU6IDE1ICFkZWZhdWx0O1xyXG4vLyAtLS0tIFByaWNlIC0tLVxyXG4kcHJpY2UtY29sb3VyOiBtYXAtZ2V0KCRhY2NlbnQtY29sb3VyLTEsIDIpICFkZWZhdWx0O1xyXG4kcHJpY2UtZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcclxuJHByaWNlLWxpc3QtZm9udC13ZWlnaHQ6IG51bGwgIWRlZmF1bHQ7XHJcbiRwcmljZS1mb250LXNpemU6IDE0ICFkZWZhdWx0O1xyXG4kcHJpY2UtbGFiZWwtY29sb3VyOiAkYm9keS1mb250LWNvbG91ciAhZGVmYXVsdDtcclxuLy8gJHByaWNlLWZvbnQtd2VpZ2h0IGlzIHRoZSBvbGQgdmFyaWFibGUgd2UgdXNlZCB0aWxsIHdlIG5lZWRlZCB0byBzcGxpdCB2YWx1ZSB3aXRoIGxhYmVsLlxyXG4kcHJpY2UtbGFiZWwtZm9udC13ZWlnaHQ6ICRwcmljZS1mb250LXdlaWdodCAhZGVmYXVsdDtcclxuJHByaWNlLXZhbHVlLWZvbnQtd2VpZ2h0OiAkcHJpY2UtZm9udC13ZWlnaHQgIWRlZmF1bHQ7XHJcbiRwcmljZS1sYWJlbC10ZXh0LXRyYW5zZm9ybTogbnVsbCAhZGVmYXVsdDtcclxuLy8gLS0tIFJSUCAtLS1cclxuJHJycC1jb2xvdXI6ICRib2R5LWZvbnQtY29sb3VyICFkZWZhdWx0O1xyXG4kcnJwLWZvbnQtc2l6ZTogJHByaWNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuJHJycC1mb250LXdlaWdodDogJHByaWNlLWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xyXG4kcnJwLXN0cmlrZTogdHJ1ZSAhZGVmYXVsdDtcclxuJHJycC10ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFkZWZhdWx0O1xyXG4vLyAtLS0gU2F2aW5nIC0tLSBcclxuJHNhdmluZ3MtY29sb3VyOiAkY29sb3VyNCAhZGVmYXVsdDtcclxuJHNhdmluZy1mb250LXNpemU6ICRwcmljZS1mb250LXNpemUgIWRlZmF1bHQ7XHJcbiRzYXZpbmctZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcclxuJHNhdmluZy1zdHJpa2U6IGZhbHNlICFkZWZhdWx0O1xyXG4kc2F2aW5ncy10ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFkZWZhdWx0O1xyXG4vLyAtLS0gUGFjayBQcmljZSAtLS0gXHJcbiRwYWNrLXByaWNlLWNvbG91cjogJHByaWNlLWNvbG91ciAhZGVmYXVsdDtcclxuLy8gLS0tIFBhY2sgU2l6ZSAtLS1cclxuJHBhY2stc2l6ZS1jb2xvdXI6ICRwcmljZS1jb2xvdXIgIWRlZmF1bHQ7XHJcbi8vIC0tLSBQYWNrIEl0ZW0gU2l6ZSAtLS0gXHJcbiRwYWNrLWl0ZW0tc2l6ZS1jb2xvdXI6ICRwcmljZS1jb2xvdXIgIWRlZmF1bHQ7XHJcbi8vIC0tLSBDb2RlIC0tLSBcclxuJGNvZGUtY29sb3VyOiAkY29sb3VyMiAhZGVmYXVsdDtcclxuLy8gLS0tLS0gSWNvbnMgLS0tLS0gXHJcbi8vIC0tLSBTb2NpYWwgLS0tXHJcbi8vIFRoZXNlIGFyZSBmcm9tIHRoZSBmcm9udCBhd2Vzb21lIGxpYnJhcnkuXHJcbiRzb2NpYWwtaWNvbnM6IChcclxuICAgIGZhY2Vib29rOiAnXFxmMzllJyxcclxuICAgIHR3aXR0ZXI6ICdcXGU2MWInLFxyXG4gICAgaW5zdGFncmFtOiAnXFxmMTZkJyxcclxuICAgIGxpbmtlZEluOiAnXFxmMGUxJyxcclxuICAgIHlvdXR1YmU6ICdcXGYxNjcnLFxyXG4gICAgZW1haWw6ICdcXGYxZDgnLFxyXG4gICAgZ29vZ2xlLXBsdXM6ICdcXGYwZDUnLFxyXG4gICAgc2hhcmU6ICdcXGYxZTAnXHJcbikgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0gRmlsZSAtLS1cclxuJGZpbGUtaWNvbnMtc2l6ZTogMjZweCAhZGVmYXVsdDtcclxuJGZpbGUtYW5jaG9yLWZvbnQtd2VpZ2h0OiA2MDAgIWRlZmF1bHQ7XHJcbiRmaWxlLWFuY2hvci1mb250LXNpemU6IHJlbS1jYWxjKCRwYXJhZ3JhcGgtZm9udC1zaXplKSAhZGVmYXVsdDtcclxuJGZpbGUtYXR0YWNobWVudC1wYWRkaW5nOiAxMHB4IDVweCAhZGVmYXVsdDtcclxuJGZpbGUtYW5jaG9yLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGJvZHktZm9udC1jb2xvdXIsXHJcbiAgICBob3ZlcjogJGNvbG91cjYsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXIzLTNcclxuKSAhZGVmYXVsdDtcclxuLy8gVHlwaWNhbGx5IGZyb20gdGhlIGZvbnQgYXdlc29tZSBsaWJyYXJ5LlxyXG4kZmlsZS10eXBlLWljb25zOiAoXHJcbiAgICBicm9jaHVyZTogJ1xcZjE1YycsXHJcbiAgICB1c2VyLWd1aWRlOiAnXFxmMTViJyxcclxuICAgIHBhcnRzLWRpYWdyYW06ICdcXGYxNWMnLFxyXG4gICAgd29yZDogJ1xcZjFjMicsXHJcbiAgICBwb3dlcnBvaW50OiAnXFxmMWM0JyxcclxuICAgIGV4Y2VsOiAnXFxmMWMzJyxcclxuICAgIHBkZjogJ1xcZjFjMScsXHJcbiAgICBjc3Y6ICdcXGY2ZGQnLFxyXG4gICAgaW1hZ2U6ICdcXGYxYzUnLFxyXG4gICAgdmlkZW86ICdcXGYxYzgnLFxyXG4gICAgdW5rbm93bjogJ1xcZjE1YicsXHJcbiAgICB6aXA6ICdcXGYxYzYnXHJcbikgIWRlZmF1bHQ7XHJcbi8vIEZpbGUgSWNvbiBDb2xvdXJzXHJcbiRmaWxlLWljb25zLWNvbG91cnM6IChcclxuICAgIGJyb2NodXJlOiByZ2JhKCRjb2xvdXI0LCAwLjYpLFxyXG4gICAgdXNlci1ndWlkZTogcmdiYSgkY29sb3VyNCwgMC42KSxcclxuICAgIHBhcnRzLWRpYWdyYW06IHJnYmEoJGNvbG91cjQsIDAuNiksXHJcbiAgICB3b3JkOiBtYXAtZ2V0KCRhY2NlbnQtY29sb3VyLTIsIDApLFxyXG4gICAgcG93ZXJwb2ludDogJGNvbG91cjYtMSxcclxuICAgIGV4Y2VsOiAkY29sb3VyNCxcclxuICAgIHBkZjogbWFwLWdldCgkYWNjZW50LWNvbG91ci0xLCAyKSxcclxuICAgIGNzdjogcmdiYSgkY29sb3VyNCwgMC45KSxcclxuICAgIGltYWdlOiAkY29sb3VyMy0zLFxyXG4gICAgdmlkZW86ICRjb2xvdXIzLTYsXHJcbiAgICB1bmtub3duOiAkY29sb3VyNC03LFxyXG4gICAgemlwOiAkY29sb3VyNlxyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tIFNpdGUgd2lkZSBpY29ucyAtLS0gXHJcblxyXG4kY2hldnJvbi1pY29uczogKFxyXG4gICAgdXA6ICdcXGYwNzcnLFxyXG4gICAgcmlnaHQ6ICdcXGYwNTQnLFxyXG4gICAgZG93bjogJ1xcZjA3OCcsXHJcbiAgICBsZWZ0OiAnXFxmMDUzJ1xyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8gVGhlc2UgYXJlIHR5cGljYWxseSBmcm9tIHRoZSBmb250IGF3ZXNvbWUgbGlicmFyeS5cclxuJGRlZmF1bHQtc2l0ZS1pY29uczogKFxyXG4gICAgaW1hZ2UtMzYwOiAkc2hhcmVkLWljb25zLWRpcmVjdG9yeSArICczZGljb24uc3ZnJyxcclxuICAgIGNhcmQtcGF5bWVudDogJHNoYXJlZC1pY29ucy1kaXJlY3RvcnkgKyAnY2FyZC1wYXltZW50LnN2ZycsXHJcbiAgICBwYXlwYWw6ICRzaGFyZWQtaWNvbnMtZGlyZWN0b3J5ICsgJ3BheXBhbC5zdmcnLFxyXG4gICAgZ29vZ2xlLXBheTogJHNoYXJlZC1pY29ucy1kaXJlY3RvcnkgKyAnZ29vZ2xlLXBheS5zdmcnLFxyXG4gICAgYXBwbHktcGF5OiAkc2hhcmVkLWljb25zLWRpcmVjdG9yeSArICdhcHBseS1wYXkuc3ZnJyxcclxuICAgIGRpcmVjdC1kZWJpdDogJ1xcRTg0RScsXHJcbiAgICBlbmxhcmdlOiAnXFxmMzFlJyxcclxuICAgIGJhc2tldC1pY29uOiAnXFxmMjkxJyxcclxuICAgIGJhc2tldC13YXJuaW5nOiAnXFxFODExJyxcclxuICAgIGJhc2tldC1hbGVydDogJ1xcRTgxMicsXHJcbiAgICBiYXNrZXQtcmVtb3ZlOiAnXFxmMmVkJyxcclxuICAgIGJhc2tldC1kZWxpdmVyeTogJ1xcZjBkMScsXHJcbiAgICBiYXNrZXQtdmF0OiAnXFxmMjk1JyxcclxuICAgIGJhc2tldC12b3VjaGVyOiAnXFxmMDJjJyxcclxuICAgIHVwZGF0ZTogJ1xcZjAyMScsXHJcbiAgICB6b29tLWluOiAnXFxmMDBlJyxcclxuICAgIHpvb20tb3V0OiAnXFxmMDEwJyxcclxuICAgIHN1Y2Nlc3M6ICdcXGYwMGMnLFxyXG4gICAgd2FybmluZzogJ1xcZjA3MScsXHJcbiAgICBhbGVydDogJ1xcZjA2YScsXHJcbiAgICB1bmtub3duOiAnXFxmMDU5JyxcclxuICAgIGNhbmNlbGxlZDogJ1xcZjI4ZCcsXHJcbiAgICBpbi1wcm9ncmVzczogJ1xcZjExMCcsXHJcbiAgICBzZWFyY2g6ICdcXGYwMDInLFxyXG4gICAgZW1haWw6ICdcXGYwZTAnLFxyXG4gICAgdGVsZXBob25lOiAnXFxmODc5JyxcclxuICAgIGZhdm91cml0ZXMtZGVmYXVsdDogJ1xcZjAwNCcsXHJcbiAgICBmYXZvdXJpdGVzLWhvdmVyOiAnXFxmMDA0JyxcclxuICAgIHByb2NlZWQ6IG1hcC1nZXQoJGNoZXZyb24taWNvbnMsIHJpZ2h0KSxcclxuICAgIGNoZWNrYm94LXRpY2s6ICdcXGYwMGMnLFxyXG4gICAgcGF5bWVudC1jYXJkOiAnXFxmMDlkJyxcclxuICAgIGhvbWU6ICdcXGYwMTUnLCBcclxuICAgIGJsb2c6ICdcXGYwODYnLFxyXG4gICAgbmV3czogJ1xcZjFlYScsXHJcbiAgICBldmVudHM6ICdcXGYwNzMnLFxyXG4gICAgYmxvY2txdW90ZTogJ1xcZjEwZCcsXHJcbiAgICBpbmZvOiAnXFxmMTI5JyxcclxuICAgIGluZm8tY2lyY2xlOiAnXFxmMDVhJyxcclxuICAgIG5vLWFjY2VzczogJ1xcZjAyMycsXHJcbiAgICBlZGl0OiAnXFxmMDQ0JyxcclxuICAgIHBhc3N3b3JkLXJldmVhbDogJ1xcZjA2ZScsXHJcbiAgICBjbG9zZS1idXR0b246ICdcXGYwMGQnLFxyXG4gICAgcXVhbnRpdHktc2VsZWN0b3ItaW5jcmVtZW50OiAnXFxmMDY4JyxcclxuICAgIHF1YW50aXR5LXNlbGVjdG9yLWRlY3JlbWVudDogJ1xcZjA2NycsXHJcbiAgICBiYW46ICdcXGYwNWUnLFxyXG4gICAgaGFtYnVyZ2VyOiAnXFxmMGM5JyxcclxuICAgIG1haWw6ICdcXGYxZDgnLFxyXG4gICAgcmF0aW5nOiAnXFxmMDA1JyxcclxuICAgIGJhY2stdG8tdG9wOiBtYXAtZ2V0KCRjaGV2cm9uLWljb25zLCB1cCksXHJcbiAgICBtZWdhLW1lbnUtbGluay1pY29uOiBtYXAtZ2V0KCRjaGV2cm9uLWljb25zLCByaWdodCksXHJcbiAgICBtZW51LWNsb3NlOiBtYXAtZ2V0KCRjaGV2cm9uLWljb25zLCBkb3duKSxcclxuICAgIG1lbnUtb3BlbjogbWFwLWdldCgkY2hldnJvbi1pY29ucywgdXApLFxyXG4gICAgY2Fyb3VzZWwtY29udHJvbHMtcHJldmlvdXM6IG1hcC1nZXQoJGNoZXZyb24taWNvbnMsIGxlZnQpLFxyXG4gICAgY2Fyb3VzZWwtY29udHJvbHMtbmV4dDogbWFwLWdldCgkY2hldnJvbi1pY29ucywgcmlnaHQpLFxyXG4gICAgYXV0by1jb21wbGV0ZS12aWV3LWFsbDogbWFwLWdldCgkY2hldnJvbi1pY29ucywgcmlnaHQpLFxyXG4gICAgc29oLTA6ICdcXGYwMGQnLFxyXG4gICAgc29oLTE6ICdcXGYwMGMnLFxyXG4gICAgc29oLTI6ICdcXGYwMGMnLFxyXG4gICAgc3RvY2stbm90aWZpY2F0aW9uLWljb246ICdcXGYwZjMnLFxyXG4gICAgc3RvY2stbm90aWZpY2F0aW9uLWFjdGl2ZTogJ1xcZjBmMycsXHJcbiAgICBsaXN0LWdyaWQtdmlldzogJ1xcZjAwYScsXHJcbiAgICBsaXN0LXRhYmxlLXZpZXc6ICdcXGYwMGInLFxyXG4gICAgcmVhZC1tb3JlLW9wZW46IG1hcC1nZXQoJGNoZXZyb24taWNvbnMsIHVwKSxcclxuICAgIHJlYWQtbW9yZS1jbG9zZWQ6IG1hcC1nZXQoJGNoZXZyb24taWNvbnMsIGRvd24pLFxyXG4gICAgYW5jaG9yLWluZGljYXRvcjogbWFwLWdldCgkY2hldnJvbi1pY29ucywgcmlnaHQpLFxyXG4gICAgYnJlYWRjcnVtYnMtc2VwZXJhdG9yOiBtYXAtZ2V0KCRjaGV2cm9uLWljb25zLCByaWdodCksXHJcbiAgICBsaWdodGJveC1wcmV2OiBtYXAtZ2V0KCRjaGV2cm9uLWljb25zLCBsZWZ0KSxcclxuICAgIGxpZ2h0Ym94LW5leHQ6IG1hcC1nZXQoJGNoZXZyb24taWNvbnMsIHJpZ2h0KSxcclxuICAgIGZpbGUtdXBsb2FkOiAnXFxmNTc0JyxcclxuICAgIGZpbGUtdXBsb2FkLXJlYWR5OiAnXFxlNWEwJyxcclxuICAgIGZpbGUtcmVtb3ZlOiAnXFxmMDBkJyxcclxuICAgIGNvbGxlY3Rpb24tb25seTogJ1xcRTgxOCcsXHJcbiAgICBhZHZhbmNlZC1mb3JtLXN1Y2Nlc3M6ICdcXGYwMGMnLFxyXG4gICAgYWR2YW5jZWQtZm9ybS1mYWlsOiAnXFxmMDBkJyxcclxuICAgIGZpbHRlcjogJ1xcZjBiMCcsXHJcbiAgICBjYWxsLXJhdGluZy1jYW5ub3QtcmF0ZTogJHNoYXJlZC1pY29ucy1tYW5hZ2UtY2FsbHMtZGlyZWN0b3J5ICsgJ2NhbGwtcmF0aW5nLWNhbm5vdC1yYXRlLnN2ZycsXHJcbiAgICBjYWxsLXJhdGluZy11bnJhdGVkOiAkc2hhcmVkLWljb25zLW1hbmFnZS1jYWxscy1kaXJlY3RvcnkgKyAnY2FsbC1yYXRpbmctdW5yYXRlZC5zdmcnLFxyXG4gICAgY2FsbC1yYXRpbmctdmVyeS1iYWQ6ICRzaGFyZWQtaWNvbnMtbWFuYWdlLWNhbGxzLWRpcmVjdG9yeSArICdjYWxsLXJhdGluZy12ZXJ5LWJhZC5zdmcnLFxyXG4gICAgY2FsbC1yYXRpbmctYmFkOiAkc2hhcmVkLWljb25zLW1hbmFnZS1jYWxscy1kaXJlY3RvcnkgKyAnY2FsbC1yYXRpbmctYmFkLnN2ZycsXHJcbiAgICBjYWxsLXJhdGluZy1hdmVyYWdlOiAkc2hhcmVkLWljb25zLW1hbmFnZS1jYWxscy1kaXJlY3RvcnkgKyAnY2FsbC1yYXRpbmctYXZlcmFnZS5zdmcnLFxyXG4gICAgY2FsbC1yYXRpbmctZ29vZDogJHNoYXJlZC1pY29ucy1tYW5hZ2UtY2FsbHMtZGlyZWN0b3J5ICsgJ2NhbGwtcmF0aW5nLWdvb2Quc3ZnJyxcclxuICAgIGNhbGwtcmF0aW5nLXZlcnktZ29vZDogJHNoYXJlZC1pY29ucy1tYW5hZ2UtY2FsbHMtZGlyZWN0b3J5ICsgJ2NhbGwtcmF0aW5nLXZlcnktZ29vZC5zdmcnLFxyXG4gICAgY2FsbC11cmdlbmN5LWxvdzogJHNoYXJlZC1pY29ucy1tYW5hZ2UtY2FsbHMtZGlyZWN0b3J5ICsgJ2NwLXVyZ2VuY3ktbG93LnN2ZycsXHJcbiAgICBjYWxsLXVyZ2VuY3ktbWVkaXVtOiAkc2hhcmVkLWljb25zLW1hbmFnZS1jYWxscy1kaXJlY3RvcnkgKyAnY3AtdXJnZW5jeS1tZWRpdW0uc3ZnJyxcclxuICAgIGNhbGwtdXJnZW5jeS1oaWdoOiAkc2hhcmVkLWljb25zLW1hbmFnZS1jYWxscy1kaXJlY3RvcnkgKyAnY3AtdXJnZW5jeS1oaWdoLnN2ZycsXHJcbiAgICBjYWxsLXVyZ2VuY3ktY3JpdGljYWw6ICRzaGFyZWQtaWNvbnMtbWFuYWdlLWNhbGxzLWRpcmVjdG9yeSArICdjcC11cmdlbmN5LWNyaXRpY2FsLnN2ZycsXHJcbiAgICBjYWxsLWFkZC1pbmZvOiAnXFxFODNDJyxcclxuICAgIGNhbGwtcmVxdWVzdC1hcmNoaXZlOiAnXFxFODNCJyxcclxuICAgIGNhbGwtbGlzdDogJ1xcRTgzOScsXHJcbiAgICBuZXctY2FsbDogJ1xcRTgzQScsXHJcbiAgICB0YWJsZS1zb3J0LWFzY2VuZDogbWFwLWdldCgkY2hldnJvbi1pY29ucywgdXApLFxyXG4gICAgdGFibGUtc29ydC1kZXNjZW5kOiBtYXAtZ2V0KCRjaGV2cm9uLWljb25zLCBkb3duKSxcclxuICAgIHRhYmxlLXJldmVhbC1vcGVuOiBtYXAtZ2V0KCRjaGV2cm9uLWljb25zLCB1cCksXHJcbiAgICB0YWJsZS1yZXZlYWwtY2xvc2VkOiBtYXAtZ2V0KCRjaGV2cm9uLWljb25zLCBkb3duKSxcclxuICAgIGxvY2F0aW9uOiAnXFxmM2M1JyxcclxuICAgIHRyZWUtbWVudS1vcGVuOiBtYXAtZ2V0KCRjaGV2cm9uLWljb25zLCB1cCksXHJcbiAgICB0cmVlLW1lbnUtY2xvc2U6IG1hcC1nZXQoJGNoZXZyb24taWNvbnMsIGRvd24pLFxyXG4gICAgdm90ZS11cDogJ1xcZjE2NCcsXHJcbiAgICB0YWctcmVtb3ZlOiAnXFxmMDBkJyxcclxuICAgIHRoaXJkLXBhcnR5LXRyYWNraW5nOiAnXFxFODI3JyxcclxuICAgIHByaW50ZXI6ICdcXGYwMmYnLFxyXG4gICAgcXVpY2stb3JkZXItZm9ybS1wcmVmaXgtaWNvbjogJ1xcMmInLFxyXG4gICAgYmFyY29kZS1zY2FubmVyLWJ1dHRvbi1pY29uOiAnXFxFODREJyxcclxuICAgIGNhbGwtc291cmNlLXVzZXI6ICdcXGYwMDcnLFxyXG4gICAgY2FsbC1zb3VyY2UtcG9ydGFsOiAnXFxmMGFjJyxcclxuICAgIGNhbGwtc291cmNlLWVtYWlsOiAnXFxmMGUwJyxcclxuICAgIGNhbGwtdHlwZS1hdHRhY2htZW50OiAnXFxFODJDJyxcclxuICAgIGNhbGwtdHlwZS1wcml2YWN5OiAnXFxFODMxJyxcclxuICAgIGNhbGwtdHlwZS10eXBlOiAnXFxFODFDJyxcclxuICAgIGNhbGwtdHlwZS1jbGFzc2lmaWNhaXRvbjogJ1xcRTgyMCcsXHJcbiAgICBjYWxsLXR5cGUtY29tcGxldGU6ICdcXEU4MTUnLFxyXG4gICAgY2FsbC10eXBlLWNvbnRhY3Q6ICdcXEU4MTcnLFxyXG4gICAgY2FsbC10eXBlLWNvbnRyYWN0OiAnXFxFODFBJyxcclxuICAgIGNhbGwtdHlwZS1jb250cmFjdC10eXBlOiAnXFxFODE5JyxcclxuICAgIGNhbGwtdHlwZS1jcmVhdGVkOiAnXFxFODI5JyxcclxuICAgIGNhbGwtdHlwZS1kZWZlcnJlZDogJ1xcRTgyOCcsXHJcbiAgICBjYWxsLXR5cGUtZXNjYWxhdGlvbjogJ1xcRTgyRicsXHJcbiAgICBjYWxsLXR5cGUtaW1wYWN0OiAnXFxFODJBJyxcclxuICAgIGNhbGwtdHlwZS1pbmJvdW5kLXBob25lLWNhbGw6ICdcXEU4MUYnLFxyXG4gICAgY2FsbC10eXBlLWluZm9ybWF0aW9uOiAnXFxFODJEJyxcclxuICAgIGNhbGwtdHlwZS1saW5rOiAnXFxFODJCJyxcclxuICAgIGNhbGwtdHlwZS1vdXRib3VuZC1waG9uZS1jYWxsOiAnXFxFODJFJyxcclxuICAgIGNhbGwtdHlwZS1wcmlvcml0eTogJ1xcRTgzMCcsXHJcbiAgICBjYWxsLXR5cGUtcmVzcG9uc2liaWxpdHk6ICdcXEU4MzInLFxyXG4gICAgY2FsbC10eXBlLXNob3J0Y3V0LXNlbnQ6ICdcXEU4MzMnLFxyXG4gICAgY2FsbC10eXBlLXNsYS1pbmNsdXNpb246ICdcXEU4MzQnLFxyXG4gICAgY2FsbC10eXBlLXN0YXR1czogJ1xcRTgxQicsXHJcbiAgICBjYWxsLXR5cGUtdW5kZWZlcnJlZDogJ1xcRTgzNycsXHJcbiAgICBjYWxsLXR5cGUtdXJnZW50OiAnXFxFODM4JyxcclxuICAgIGNhbGwtdHlwZS13b3JrZmxvdzogJ1xcRTgxRCcsXHJcbiAgICBkb2N1bWVudGF0aW9uLXB1YmxpYy11cmw6ICdcXGYwYWMnLFxyXG4gICAgZG9jdW1lbnRhdGlvbi1zdGF0aXN0aWNzOiAnXFxlNDczJyxcclxuICAgIGNsaXBib2FyZC1jb3B5OiAnXFxmMGM1JyxcclxuICAgIGNvbnRleHQtbWVudS1lZGl0OiAnXFxmMDEzJyxcclxuICAgIGNvbnRleHQtZWRpdC10ZXh0OiAnXFxmMDQ0JyxcclxuICAgIGNvbnRleHQtZWRpdC1wcm9wZXJ0aWVzOiAnXFxFODUxJyxcclxuICAgIGNvbnRleHQtbW92ZS11cDogJ1xcZTRjMicsXHJcbiAgICBjb250ZXh0LW1vdmUtZG93bjogJ1xcZTRiOCcsXHJcbiAgICBjb250ZXh0LWluc2VydC1iZWZvcmU6ICdcXEU4NTAnLFxyXG4gICAgY29udGV4dC1pbnNlcnQtYWZ0ZXI6ICdcXEU4MjQnLFxyXG4gICAgY29udGV4dC1kZWxldGU6ICdcXGYyZWQnLFxyXG4gICAgY29udGV4dC1hY2Nlc3MtbGV2ZWw6ICdcXGY1ZmQnLFxyXG4gICAgY29udGV4dC1wdWJsaXNoZWQ6ICdcXGYwOTMnLFxyXG4gICAgY29udGV4dC1wcm9tb3RlOiAnXFxmMDNiJyxcclxuICAgIGNvbnRleHQtZGVtb3RlOiAnXFxmMDNjJyxcclxuICAgIGNvbnRleHQtbW92ZTogJ1xcZjBiMicsXHJcbiAgICBjb250ZXh0LWF1ZGl0OiAnXFxmMWRhJyxcclxuICAgIGNtcy1wYWdpbmF0aW9uLXByZXZpb3VzOiBtYXAtZ2V0KCRjaGV2cm9uLWljb25zLCBsZWZ0KSxcclxuICAgIGNtcy1wYWdpbmF0aW9uLW5leHQ6IG1hcC1nZXQoJGNoZXZyb24taWNvbnMsIHJpZ2h0KSxcclxuICAgIHNpdGUtbGlzdC1iZXNwb2tlLXNpdGUtaWNvbjogJ1xcRTgyMScsXHJcbiAgICBzb2Z0d2FyZS11cGRhdGUtZG93bmxvYWQ6ICdcXGYwMTknLFxyXG4gICAgc29mdHdhcmUtcmVsZWFzZS1kYXRlLXRpbWU6ICdcXGYwMTcnLFxyXG4gICAgcHJvZHVjdC1lbnF1aXJ5LWRlbGl2ZXJ5LWNvdW50ZG93bjogJ1xcZjAxNycsXHJcbiAgICB2aWRlby1wbGF5ZXItdGh1bWJuYWlsLWljb246ICdcXGYwNGInLFxyXG4gICAgdmlkZW8tcGxheWVyLXJlcGxheS10aHVtYm5haWwtaWNvbjogJ1xcZjM2MycsXHJcbiAgICB2aWRlby1wbGF5ZXItZHVyYXRpb24taWNvbnM6ICdcXGYwMTcnLFxyXG4gICAgc2l0ZS1tYXAtcGFyZW50LWljb246ICBtYXAtZ2V0KCRjaGV2cm9uLWljb25zLCByaWdodCksXHJcbiAgICBleHRlcm5hbC1saW5rLWljb246ICdcXGYwOGUnLFxyXG4gICAgbm9uLXJldHVybmFibGU6ICdcXEU4NTMnLFxyXG4gICAgYWNjb3JkaW9uLXJhZGlvLWluZGljYXRvci1kZWZhdWx0OiAnXFxmMTkyJyxcclxuICAgIHNlbGVjdGlvbi1pbmNyZW1lbnQ6ICdcXDJiJyxcclxuICAgIGZpbGUtZG93bmxvYWQ6ICdcXGY1NmQnLFxyXG4gICAgdW5yZWFkLXN0YXRlLW9uOiAnXFxmMTExJ1xyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8gQ3JlYXRlIGRlZmF1bHQgaWNvbnMgbWFwIGlmIGl0IGhhc24ndCBiZWVuIGRlZmluZWQgaW4gc2l0ZSBzcGVjaWZpYyBicmFuZGluZyBmaWxlLlxyXG4kc2l0ZS1pY29uczogKCkgIWRlZmF1bHQ7XHJcblxyXG4vLyBBbnkgY3VzdG9tIGljb25zIGVuYWJsZWQ/XHJcbiRzaXRlLWljb25zLWN1c3RvbS1jaGV2cm9uczogZmFsc2UgIWRlZmF1bHQ7XHJcbi8vIEZpbHRlciBpY29uLlxyXG4kc2l0ZS1pY29ucy1jdXN0b20tZmlsdGVyLWljb246IGlmKG1hcC1oYXMta2V5KCRzaXRlLWljb25zLCBmaWx0ZXIpLCB0cnVlLCBmYWxzZSkgIWRlZmF1bHQ7XHJcbi8vIFNlYXJjaCBpY29uLlxyXG4kc2l0ZS1pY29ucy1jdXN0b20tc2VhcmNoLWljb246IGlmKG1hcC1oYXMta2V5KCRzaXRlLWljb25zLCBzZWFyY2gpLCB0cnVlLCBmYWxzZSkgIWRlZmF1bHQ7XHJcbi8vIE5ldyBjYWxsIGljb24uXHJcbiRzaXRlLWljb25zLWN1c3RvbS1uZXctY2FsbC1pY29uOiBpZihtYXAtaGFzLWtleSgkc2l0ZS1pY29ucywgbmV3LWNhbGwpLCB0cnVlLCBmYWxzZSkgIWRlZmF1bHQ7XHJcbi8vIENhbGwgbGlzdCBpY29uLlxyXG4kc2l0ZS1pY29ucy1jdXN0b20tY2FsbC1saXN0LWljb246IGlmKG1hcC1oYXMta2V5KCRzaXRlLWljb25zLCBjYWxsLWxpc3QpLCB0cnVlLCBmYWxzZSkgIWRlZmF1bHQ7XHJcbi8vIENhbGwgYWRkIGluZm8gaWNvbi5cclxuJHNpdGUtaWNvbnMtY3VzdG9tLWNhbGwtYWRkLWluZm8taWNvbjogaWYobWFwLWhhcy1rZXkoJHNpdGUtaWNvbnMsIGNhbGwtYWRkLWluZm8pLCB0cnVlLCBmYWxzZSkgIWRlZmF1bHQ7XHJcbi8vIENhbGwgcmVxdWVzdCBhcmNoaXZlIGljb24uXHJcbiRzaXRlLWljb25zLWN1c3RvbS1jYWxsLXJlcXVlc3QtYXJjaGl2ZS1pY29uOiBpZihtYXAtaGFzLWtleSgkc2l0ZS1pY29ucywgY2FsbC1yZXF1ZXN0LWFyY2hpdmUpLCB0cnVlLCBmYWxzZSkgIWRlZmF1bHQ7XHJcbi8vIEZpbGUgdXBsb2FkIGljb24uXHJcbiRzaXRlLWljb25zLWN1c3RvbS1maWxlLXVwbG9hZC1pY29uOiBpZihtYXAtaGFzLWtleSgkc2l0ZS1pY29ucywgZmlsZS11cGxvYWQpLCB0cnVlLCBmYWxzZSkgIWRlZmF1bHQ7XHJcbi8vIEZpbGUgdXBsb2FkIHJlYWR5LlxyXG4kc2l0ZS1pY29ucy1jdXN0b20tZmlsZS1yZWFkeS1pY29uOiBpZihtYXAtaGFzLWtleSgkc2l0ZS1pY29ucywgZmlsZS1yZWFkeSksIHRydWUsIGZhbHNlKSAhZGVmYXVsdDtcclxuLy8gSGFtYnVyZ2VyXHJcbiRzaXRlLWljb25zLWN1c3RvbS1oYW1idXJnZXItaWNvbjogaWYobWFwLWhhcy1rZXkoJHNpdGUtaWNvbnMsIGhhbWJ1cmdlciksIHRydWUsIGZhbHNlKSAhZGVmYXVsdDtcclxuLy8gQmFza2V0IGljb25cclxuJHNpdGUtaWNvbnMtY3VzdG9tLWJhc2tldC1pY29uOiBpZihtYXAtaGFzLWtleSgkc2l0ZS1pY29ucywgYmFza2V0LWljb24pLCB0cnVlLCBmYWxzZSkgIWRlZmF1bHQ7XHJcbi8vIEVtYWlsIGljb24uXHJcbiRzaXRlLWljb25zLWN1c3RvbS1lbWFpbC1pY29uOiBpZihtYXAtaGFzLWtleSgkc2l0ZS1pY29ucywgZW1haWwpLCB0cnVlLCBmYWxzZSkgIWRlZmF1bHQ7XHJcbi8vIEVtYWlsIGljb24uXHJcbiRzaXRlLWljb25zLWN1c3RvbS10ZWxlcGhvbmUtaWNvbjogaWYobWFwLWhhcy1rZXkoJHNpdGUtaWNvbnMsIHRlbGVwaG9uZSksIHRydWUsIGZhbHNlKSAhZGVmYXVsdDtcclxuLy8gQ29udGV4dCBtZW51IGVkaXQgcHJvcGVydGllcy5cclxuJHNpdGUtaWNvbnMtY3VzdG9tLWNvbnRleHQtbWVudS1lZGl0LXByb3BlcnRpZXMtaWNvbjogaWYobWFwLWhhcy1rZXkoJHNpdGUtaWNvbnMsIGNvbnRleHQtZWRpdC1wcm9wZXJ0aWVzKSwgdHJ1ZSwgZmFsc2UpICFkZWZhdWx0O1xyXG4vLyBDb250ZXh0IG1lbnUgaW5zZXJ0IGJlZm9yZVxyXG4kc2l0ZS1pY29ucy1jdXN0b20tY29udGV4dC1tZW51LWluc2VydC1iZWZvcmUtaWNvbjogaWYobWFwLWhhcy1rZXkoJHNpdGUtaWNvbnMsIGNvbnRleHQtaW5zZXJ0LWJlZm9yZSksIHRydWUsIGZhbHNlKSAhZGVmYXVsdDtcclxuLy8gQ29udGV4dCBtZW51IGluc2VydCBhZnRlclxyXG4kc2l0ZS1pY29ucy1jdXN0b20tY29udGV4dC1tZW51LWluc2VydC1hZnRlci1pY29uOiBpZihtYXAtaGFzLWtleSgkc2l0ZS1pY29ucywgY29udGV4dC1pbnNlcnQtYWZ0ZXIpLCB0cnVlLCBmYWxzZSkgIWRlZmF1bHQ7XHJcbi8vIE1lcmdlIGRlZmF1bHQgaWNvbnMgd2l0aCBzaXRlIHNwZWNpZmljIGljb25zIGlmIGVuYWJsZWQuXHJcbiRzaXRlLWljb25zOiBtYXAtbWVyZ2UoJGRlZmF1bHQtc2l0ZS1pY29ucywgJHNpdGUtaWNvbnMpO1xyXG5cclxuXHJcbi8vIC0tLSBBY2NvdW50IEFyZWEgSWNvbnMgLS0tIFxyXG4vLyBUaGVzZSBhcmUgdHlwaWNhbGx5IGZyb20gdGhlIGZvbnRlbGxvIGxpYnJhcnkuXHJcbiRkZWZhdWx0LWFjY291bnQtaWNvbnM6IChcclxuICAgIGNoYW5nZS1kZXRhaWxzOiAnXFxFODAxJyxcclxuICAgIGNoYW5nZS1wYXNzd29yZDogJ1xcRTgwMicsXHJcbiAgICBjb250cmFjdC1pdGVtczogJ1xcRTgwNicsXHJcbiAgICB2aWV3LW9yZGVyczogJ1xcRTgwRScsXHJcbiAgICBmYXZvdXJpdGVzOiBtYXAtZ2V0KCRzaXRlLWljb25zLCBmYXZvdXJpdGVzLWRlZmF1bHQpLFxyXG4gICAgcmVjZW50bHktcHVyY2hhc2VkOiAnXFxFODBGJyxcclxuICAgIG1hbmFnZS1jYXJkczogJ1xcRTgwQycsXHJcbiAgICBzdGF0ZW1lbnQ6ICdcXEU4MDcnLFxyXG4gICAgbWFuYWdlLXVzZXJzOiAnXFxFODBEJyxcclxuICAgIGJyYW5jaC1zd2l0Y2hlcjogJ1xcRTgwMCcsXHJcbiAgICBjb250YWN0LXByZWZlcmVuY2VzOiAnXFxFODA1JyxcclxuICAgIGhpc3RvcmljYWwtdHJhbnNhY3Rpb25zOiAnXFxFODA5JyxcclxuICAgIGxvZ291dDogJ1xcRTgwQScsXHJcbiAgICBhY2NvdW50OiAnXFxmMDA3JyxcclxuICAgIG9yZGVyLXVwbG9hZDogJ1xcRTgzNScsXHJcbiAgICBiYXNrZXQtdXBsb2FkOiAnXFxFODM2JyxcclxuICAgIG1hbmFnZS1jYWxsczogJ1xcRTgxRScsXHJcbiAgICBzZXJ2aWNlLWNvbnRyYWN0czogJ1xcRTg0MCcsXHJcbiAgICBjdXN0b21lci1hc3NldHM6ICdcXEU4MjUnLFxyXG4gICAgcGF5bWVudC1yZXF1ZXN0czogJ1xcRTgyNicsXHJcbiAgICBkb3dubG9hZC1wcmljZS1saXN0czogJ1xcRTg3QScsXHJcbiAgICBzaXRlLWxpc3Q6ICdcXEU4M0YnLFxyXG4gICAgZGlwbG9tYXQtdXBkYXRlLWRvd25sb2FkOiAnXFxFODQxJyxcclxuICAgIGRpcGxvbWF0LXVwZGF0ZS1kYXRhYmFzZTogJ1xcRTg0MicsXHJcbiAgICBvbmxpbmUtZG9jdW1lbnRhdGlvbjogJ1xcRTg0NCcsXHJcbiAgICBkZWZhdWx0LWljb246ICdcXEU4NDMnLFxyXG4gICAgc29mdHdhcmUtZGV2ZWxvcG1lbnQtbG9nczogJ1xcRTg0NScsXHJcbiAgICBlbXBsb3llZS1zdGF0dXM6ICdcXEU4NEInLFxyXG4gICAgZW1wbG95ZWUtc3RhdHVzLXN0YXJ0LXdvcms6ICdcXEU4NEInLFxyXG4gICAgZW1wbG95ZWUtc3RhdHVzLWVuZC13b3JrOiAnXFxFODQ5JyxcclxuICAgIGVtcGxveWVlLXN0YXR1cy1sdW5jaC1zdGFydDogJ1xcRTg0NycsXHJcbiAgICBlbXBsb3llZS1zdGF0dXMtbHVuY2gtZW5kOiAnXFxFODQ2JyxcclxuICAgIGVtcGxveWVlLXN0YXR1cy1hcnJpdmluZzogJ1xcRTg0QycsXHJcbiAgICBlbXBsb3llZS1zdGF0dXMtbGVhdmluZzogJ1xcRTg0QScsXHJcbiAgICBlbXBsb3llZS1zdGF0dXMtc2ljazogJ1xcRTgyMycsXHJcbiAgICBtaWNyb3NvZnQtc3Vic2NyaXB0aW9uczogJ1xcZjE3YScsXHJcbiAgICBjYWxsLXN0YXRpc3RpY3M6ICdcXEU4NTInXHJcbikgIWRlZmF1bHQ7XHJcblxyXG4vLyBDcmVhdGUgZGVmYXVsdCBpY29ucyBtYXAgaWYgaXQgaGFzbid0IGJlZW4gZGVmaW5lZCBpbiBzaXRlIHNwZWNpZmljIGJyYW5kaW5nIGZpbGUuXHJcbiRhY2NvdW50LWljb25zOiAoKSAhZGVmYXVsdDtcclxuXHJcbi8vIEFueSBjdXN0b20gaWNvbnMgZW5hYmxlZD8gXHJcbiRzaXRlLWljb25zLWN1c3RvbS1hY2NvdW50LWljb246IGZhbHNlICFkZWZhdWx0O1xyXG5cclxuLy8gTWVyZ2UgZGVmYXVsdCBpY29ucyB3aXRoIHNpdGUgc3BlY2lmaWMgaWNvbnMgaWYgc2l0ZSBzcGVjaWZpYyBpY29ucyBlbmFibGVkLlxyXG4kYWNjb3VudC1pY29uczogbWFwLW1lcmdlKCRkZWZhdWx0LWFjY291bnQtaWNvbnMsICRhY2NvdW50LWljb25zKTtcclxuLy8gLS0tLS0gSW5wdXRzIC0tLS0tIFxyXG4vLyAtLS0gR2VuZXJhbCAtLS0gXHJcbiRpbnB1dC1ib3JkZXItcmFkaXVzOiBpZigkc21vb3RoLWVkZ2VzLWVuYWJsZWQsICRzbW9vdGgtZWRnZXMtbGV2ZWwsIDApICFkZWZhdWx0O1xyXG4kaW5wdXQtZm9udC1zaXplOiAxNCAhZGVmYXVsdDtcclxuJGlucHV0LWZvbnQtZmFtaWx5OiBnZXQtdHlwb2dyYXBoeS1mb250LWZhbWlseSgnc2Vjb25kYXJ5LWZvbnQnKSAhZGVmYXVsdDtcclxuJGlucHV0LWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjMtNixcclxuICAgIGRpc2FibGVkOiBtYXAtZ2V0KCRuZXV0cmFsLWNvbG91ciwgMilcclxuKSAhZGVmYXVsdDtcclxuJGlucHV0LWJvcmRlci1tYWluLWNvbG91cjogbWFwLWdldCgkaW5wdXQtY29sb3VyLCBkaXNhYmxlZCkgIWRlZmF1bHQ7XHJcbiRpbnB1dC1ib3JkZXItY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBtYXAtZ2V0KCRuZXV0cmFsLWNvbG91ciwgNyksXHJcbiAgICBkaXNhYmxlZDogbWFwLWdldCgkaW5wdXQtY29sb3VyLCBkaXNhYmxlZCksXHJcbiAgICBhY3RpdmU6ICRpbnB1dC1ib3JkZXItbWFpbi1jb2xvdXIsXHJcbiAgICBhY3RpdmUtaG92ZXI6ICRpbnB1dC1ib3JkZXItbWFpbi1jb2xvdXIsXHJcbiAgICBob3ZlcjogJGlucHV0LWJvcmRlci1tYWluLWNvbG91cixcclxuICAgIGludmFsaWQ6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMClcclxuKSAhZGVmYXVsdDtcclxuJGlucHV0LXBsYWNlaG9sZGVyLWZvbnQtc2l6ZTogMTMgIWRlZmF1bHQ7XHJcbiRpbnB1dC1wbGFjZWhvbGRlci1mb250LXdlaWdodDogNjAwICFkZWZhdWx0O1xyXG4kaW5wdXQtcGxhY2Vob2xkZXItbGV0dGVyLXNwYWNpbmc6IG51bGwgIWRlZmF1bHQ7XHJcbiRpbnB1dC1wbGFjZWhvbGRlci10ZXh0LXRyYW5zZm9ybTogbnVsbCAhZGVmYXVsdDtcclxuJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XHJcbiRpbnB1dC1lcnJvci1mb250LXNpemU6IDE0ICFkZWZhdWx0O1xyXG4vLyBGaWxlIGlucHV0XHJcbiRpbnB1dC1maWxlLXdpZHRoOiAoXHJcbiAgICBzbWFsbDogMTAwJSxcclxuICAgIGxhcmdlOiA3MDBweFxyXG4pICFkZWZhdWx0O1xyXG4kaW5wdXQtZmlsZS1sYWJlbC1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogNXB4IDEwcHgsXHJcbiAgICBsYXJnZTogMTBweFxyXG4pICFkZWZhdWx0O1xyXG4kaW5wdXQtZmlsZS1sYWJlbC1mb250LXNpemU6IDE2ICFkZWZhdWx0O1xyXG4kaW5wdXQtZmlsZS1sYWJlbC1mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xyXG4kaW5wdXQtZmlsZS1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI0LFxyXG4gICAgaG92ZXI6ICRjb2xvdXI0LFxyXG4gICAgYWN0aXZlOiByZ2JhKCRjb2xvdXI0LCAuNylcclxuKSAhZGVmYXVsdDtcclxuJGlucHV0LWZpbGUtYm9yZGVyLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjQtNCxcclxuICAgIGhvdmVyOiBtYXAtZ2V0KCRpbnB1dC1maWxlLWNvbG91ciwgaG92ZXIpLFxyXG4gICAgYWN0aXZlOiBtYXAtZ2V0KCRpbnB1dC1maWxlLWNvbG91ciwgYWN0aXZlKVxyXG4pICFkZWZhdWx0O1xyXG4kaW5wdXQtZmlsZS1ib3JkZXItaW5uZXItY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBtYXAtZ2V0KCRpbnB1dC1maWxlLWJvcmRlci1jb2xvdXIsIGRlZmF1bHQpLFxyXG4gICAgaG92ZXI6IG1hcC1nZXQoJGlucHV0LWZpbGUtYm9yZGVyLWNvbG91ciwgaG92ZXIpLFxyXG4gICAgYWN0aXZlOiBtYXAtZ2V0KCRpbnB1dC1maWxlLWJvcmRlci1jb2xvdXIsIGFjdGl2ZSlcclxuKSAhZGVmYXVsdDtcclxuJGlucHV0LWZpbGUtdXBsb2FkLWljb24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBtYXAtZ2V0KCRpbnB1dC1maWxlLWNvbG91ciwgZGVmYXVsdCksXHJcbiAgICBob3ZlcjogbWFwLWdldCgkaW5wdXQtZmlsZS1jb2xvdXIsIGhvdmVyKSxcclxuICAgIGFjdGl2ZTogbWFwLWdldCgkaW5wdXQtZmlsZS1jb2xvdXIsIGFjdGl2ZSlcclxuKSAhZGVmYXVsdDtcclxuJGlucHV0LWZpbGUtdXBsb2FkLWlzLXJlYWR5LWljb24tZm9udC1mYW1pbHk6ICRleHByZXNzLWRlZmF1bHQtaWNvbnMgIWRlZmF1bHQ7XHJcbiRpbnB1dC1maWxlLW91dGVyLWJvcmRlci13aWR0aDogNHB4ICFkZWZhdWx0O1xyXG4kaW5wdXQtZmlsZS1pbm5lci1ib3JkZXItd2lkdGg6IDIuNXB4ICFkZWZhdWx0O1xyXG4kaW5wdXQtZmlsZS1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjAsXHJcbiAgICBob3ZlcjogJGNvbG91cjAsXHJcbiAgICBhY3RpdmU6IHJnYmEoJGNvbG91cjQtMSwgLjEpXHJcbikgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0gUmljaCBUZXh0IEVkaXRvciAtLS1cclxuJHJpY2gtdGV4dC1lZGl0b3ItaW5kZW50YXRpb24tb2Zmc2V0OiAyNXB4ICFkZWZhdWx0O1xyXG4kcmljaC10ZXh0LWVkaXRvci1pbmRlbnRhdGlvbi1tYXgtbGV2ZWxzOiA1ICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tIEZvcm1zIC0tLVxyXG4kZm9ybXMtbGFiZWwtZm9udC13ZWlnaHQ6IDQwMCAhZGVmYXVsdDtcclxuJGZvcm1zLWNtcy1jb250ZW50LWNvbnRhaW5lci1tYXgtd2lkdGg6IChcclxuICAgIHNtYWxsOiBudWxsLFxyXG4gICAgbGFyZ2U6IG51bGxcclxuKSAhZGVmYXVsdDtcclxuJGZvcm1zLWNtcy1jb250ZW50LWNvbnRhaW5lci10ZXh0LWFsaWduOiAoXHJcbiAgICBzbWFsbDogbGVmdCxcclxuICAgIG1lZGl1bTogY2VudGVyLFxyXG4gICAgbGFyZ2U6IGNlbnRlclxyXG4pICFkZWZhdWx0O1xyXG4kZm9ybXMtY21zLWNvbnRlbnQtY29udGFpbmVyLXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiA1cHggMTBweCxcclxuICAgIGxhcmdlOiAxMHB4IDIwNXB4XHJcbikgIWRlZmF1bHQ7XHJcbiRmb3Jtcy1kZWZhdWx0LWJhY2tncm91bmQtY29sb3VyOiAkY29sb3VyMCAhZGVmYXVsdDtcclxuLy8gU2luZ2xlIENvbHVtbiBGb3Jtcy5cclxuJGZvcm1zLXNpbmdsZS1jb2x1bW4tYm9yZGVyOiAxcHggc29saWQgZGVmYXVsdC1jb2xvdXIoJGlucHV0LWJvcmRlci1jb2xvdXIpICFkZWZhdWx0O1xyXG4kZm9ybXMtc2luZ2xlLWNvbHVtbi1maWVsZC1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogMCAxMHB4LFxyXG4gICAgbGFyZ2U6IDAgMjBweFxyXG4pICFkZWZhdWx0O1xyXG4vLyBIZWFkaW5nICggaDIgKVxyXG4kZmllbGRzZXQtaGVhZGluZy1iYWNrZ3JvdW5kLWNvbG91cjogbWFwLWdldCgkaGVhZGluZy0yLWJhY2tncm91bmQtY29sb3VyLCBwcmVzZXQtNCkgIWRlZmF1bHQ7XHJcbiRmaWVsZHNldC1oZWFkaW5nLWNvbG91cjogbWFwLWdldCgkaGVhZGluZy0yLWNvbG91ciwgcHJlc2V0LTQpICFkZWZhdWx0O1xyXG4kZmllbGRzZXQtaGVhZGluZy10ZXh0LWFsaWduOiBjZW50ZXIgIWRlZmF1bHQ7XHJcbiRmaWVsZHNldC1oZWFkaW5nLWZvbnQtc2l6ZTogbWFwLWdldCgkaGVhZGluZy0yLWZvbnQtc2l6ZSwgcHJlc2V0LTQpICFkZWZhdWx0O1xyXG4kZmllbGRzZXQtaGVhZGluZy1mb250LXdlaWdodDogbWFwLWdldCgkaGVhZGluZy0yLWZvbnQtd2VpZ2h0LCBwcmVzZXQtNCkgIWRlZmF1bHQ7XHJcbiRmaWVsZHNldC1oZWFkaW5nLWJvcmRlci1ib3R0b206IG51bGwgIWRlZmF1bHQ7XHJcbi8vIFN1YiBIZWFkaW5nICggaDMgKVxyXG4kZmllbGRzZXQtc3ViLWhlYWRpbmctZm9udC1zdHlsZTogaXRhbGljICFkZWZhdWx0O1xyXG4kZmllbGRzZXQtc3ViLWhlYWRpbmctZm9udC1zaXplOiAyNCAhZGVmYXVsdDtcclxuJGZpZWxkc2V0LXN1Yi1oZWFkaW5nLWZvbnQtd2VpZ2h0OiA2MDAgIWRlZmF1bHQ7XHJcbiRmaWVsZHNldC1zdWItaGVhZGluZy1mb250LWZhbWlseTogbnVsbCAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLSBGaWVsZHNldCArIElucHV0cyAtLS1cclxuJGZpZWxkc2V0LWlucHV0LWhlaWdodDogNDVweCAhZGVmYXVsdDtcclxuJGZpZWxkc2V0LWlucHV0LXBhZGRpbmc6IDVweCAwIDVweCAyNXB4ICFkZWZhdWx0O1xyXG4kZmllbGQtd2lkdGg6IChcclxuICAgIG1vYmlsZTogMTAwJSxcclxuICAgIGRlc2t0b3A6IDY0MHB4XHJcbikgIWRlZmF1bHQ7XHJcbiRmaWVsZC1zZXQtcGFkZGluZzogKFxyXG4gICAgc21hbGw6IDAgMCAxMHB4LFxyXG4gICAgbGFyZ2U6IDAgMCAyMHB4XHJcbikgIWRlZmF1bHQ7XHJcbiRmaWVsZC1pbnB1dC13aWR0aDogKFxyXG4gICAgc21hbGw6IDEwMCUsXHJcbiAgICBsYXJnZTogNDMwcHhcclxuKSAhZGVmYXVsdDtcclxuJGZpZWxkLWxhYmVsLWZvbnQtc2l6ZTogJHBhcmFncmFwaC1mb250LXNpemUgIWRlZmF1bHQ7XHJcbiRmaWVsZC1sYWJlbC1tYXJnaW4tbGVmdDogNTBweCAhZGVmYXVsdDtcclxuJGZpZWxkLWxhYmVsLW1hcmdpbjogKFxyXG4gICAgc21hbGw6IDEwcHggMCxcclxuICAgIGxhcmdlOiAxMHB4IDBcclxuKSAhZGVmYXVsdDtcclxuJGZpZWxkLWp1c3RpZnktY2VudGVyOiB0cnVlICFkZWZhdWx0O1xyXG4vLyBEZWZhdWx0IHdpZHRoIHdpZHRob3V0IGFueSBjbGFzcy5cclxuJGZpZWxkc2V0LWxhYmVsLXdpZHRoOiAoXHJcbiAgICBzbWFsbDogMTAwJSxcclxuICAgIGxhcmdlOiAxNjBweFxyXG4pICFkZWZhdWx0O1xyXG4vLyBUaGlzIGlzIG5vdCBicmVha3BvaW50IHdpZHRocyBidXQgcmF0aGVyIGNsYXNzIHNpemVzIC5zbWFsbCwgLm1lZGl1bSwgLmxhcmdlXHJcbiRmaWVsZC1sYWJlbC13aWR0aDogKFxyXG4gICAgc21hbGw6IDMwMHB4LFxyXG4gICAgbWVkaXVtOiAzNTBweCxcclxuICAgIGxhcmdlOiA0NDBweFxyXG4pICFkZWZhdWx0O1xyXG4kZmllbGRzZXQtbGFiZWwtcGFkZGluZzogKFxyXG4gICAgbGFyZ2U6IDAgMCAwIDBcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLSBMYWJlbHMgLS0tIFxyXG4kbGFiZWwtaW5wdXQtZ2FwOiA1cHggIWRlZmF1bHQ7XHJcbiRsYWJlbC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIyLFxyXG4gICAgaG92ZXI6ICRjb2xvdXI0LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNlxyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8gZm9ybSBjb250YWluZXJzLlxyXG4kY29sdW1uLWNvbnRlbnQtY29udGFpbmVyLW1hcmdpbjogKFxyXG4gICAgc21hbGw6IDEwcHggMCwgXHJcbiAgICBsYXJnZTogMFxyXG4pICFkZWZhdWx0O1xyXG4kY29sdW1uLWNtcy1jb250ZW50LWNvbnRhaW5lcjogKFxyXG4gICAgc21hbGw6IDAgMTVweCA3LjVweCxcclxuICAgIGxhcmdlOiAwIDg1cHhcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vIGFkZGl0aW9uYWwgaW5mby5cclxuJGFkZGl0aW9uYWwtaW5mby1pbWFnZS1tYXJnaW46IDAgMTVweCAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLS0tIElucHV0cyAtLS0tLVxyXG4kaW5wdXQtYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIxLFxyXG4gICAgaG92ZXI6ICRjb2xvdXIxLFxyXG4gICAgYWN0aXZlOiAkY29sb3VyMSxcclxuICAgIGRpc2FibGVkOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtOClcclxuKSAhZGVmYXVsdDtcclxuJGlucHV0LWJveC1zaGFkb3c6IChcclxuICAgIGhvdmVyOiAkYm94U2hhZG93MVxyXG4pICFkZWZhdWx0O1xyXG4kaW5wdXQtcGxhY2Vob2xkZXItY29sb3VyOiAkY29sb3VyMy00ICFkZWZhdWx0O1xyXG4kaW5wdXQtcGxhY2Vob2xkZXItZm9udC13ZWlnaHQ6IDQwMCAhZGVmYXVsdDtcclxuJHNlYXJjaC1idXR0b24td2lkdGg6IDcwcHggIWRlZmF1bHQ7XHJcbiRpbnB1dC1zZWFyY2gtcGxhY2Vob2xkZXItZm9udC1zaXplOiAxMyAhZGVmYXVsdDtcclxuJGlucHV0LXNlYXJjaC1wbGFjZWhvbGRlci1mb250LXdlaWdodDogJGlucHV0LXBsYWNlaG9sZGVyLWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xyXG4kaW5wdXQtc2VhcmNoLXBsYWNlaG9sZGVyLXRleHQtdHJhbnNmb3JtOiAkaW5wdXQtcGxhY2Vob2xkZXItdGV4dC10cmFuc2Zvcm0gIWRlZmF1bHQ7XHJcbiRpbnB1dC1zZWFyY2gtcGxhY2Vob2xkZXItc3R5bGU6IG51bGwgIWRlZmF1bHQ7XHJcbiRpbnB1dC1zZWFyY2gtcGxhY2Vob2xkZXItY29sb3VyOiBkZWZhdWx0LWNvbG91cigkaW5wdXQtY29sb3VyKSAhZGVmYXVsdDtcclxuJGlucHV0LXNlYXJjaC1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogbWFwLWdldCgkaW5wdXQtYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpLFxyXG4gICAgaG92ZXI6IG1hcC1nZXQoJGlucHV0LWJhY2tncm91bmQtY29sb3VyLCBob3ZlciksXHJcbiAgICBhY3RpdmU6IG1hcC1nZXQoJGlucHV0LWJhY2tncm91bmQtY29sb3VyLCBhY3RpdmUpXHJcbikgIWRlZmF1bHQ7XHJcbiRpbnB1dC1zZWFyY2gtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMSxcclxuICAgIGhvdmVyOiAkY29sb3VyNCxcclxuICAgIGFjdGl2ZTogJGNvbG91cjRcclxuKSAhZGVmYXVsdDtcclxuJHNlYXJjaC1idXR0b24taWNvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI0LTEsXHJcbiAgICBob3ZlcjogJGNvbG91cjQsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXIxXHJcbikgIWRlZmF1bHQ7XHJcbiRzZWFyY2gtYnV0dG9uLWljb24tc2l6ZTogMjBweCAhZGVmYXVsdDtcclxuJGlucHV0LXNlYXJjaC1idXR0b24tYm9yZGVyLXdpZHRoOiAxcHggMXB4IDFweCAwICFkZWZhdWx0O1xyXG4kaW5wdXQtc2VhcmNoLWJ1dHRvbi1ib3JkZXItY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBtYXAtZ2V0KCRpbnB1dC1ib3JkZXItY29sb3VyLCBkZWZhdWx0KVxyXG4pICFkZWZhdWx0O1xyXG4kc2VhcmNoLWJ1dHRvbi1pbm5lci1ib3JkZXI6IGZhbHNlICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tIENoZWNrYm94ZXMgLS0tXHJcbiRjaGVja2JveC1kaW1lbnRpb25zOiAyMHB4ICFkZWZhdWx0O1xyXG4kY2hlY2tib3gtaWNvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIxLFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNixcclxuICAgIGFjdGl2ZS1ob3ZlcjogbWFwLWdldCgkaW5wdXQtYm9yZGVyLWNvbG91ciwgYWN0aXZlLWhvdmVyKSxcclxuICAgIGFjdGl2ZS1kaXNhYmxlZDogbWFwLWdldCgkaW5wdXQtY29sb3VyLCBkaXNhYmxlZCksXHJcbiAgICBob3ZlcjogbWFwLWdldCgkaW5wdXQtYm9yZGVyLWNvbG91ciwgaG92ZXIpXHJcbikgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0gUmFkaW8gQnV0dG9ucyAtLS1cclxuJHJhZGlvLWRpbWVudGlvbnM6IDE1cHggIWRlZmF1bHQ7XHJcbiRyYWRpby1pY29uLWRpbWVuc2lvbnM6ICgkcmFkaW8tZGltZW50aW9ucyAvIDIpICFkZWZhdWx0O1xyXG4kcmFkaW8taWNvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IG1hcC1nZXQoJGNoZWNrYm94LWljb24tY29sb3VyLCBkZWZhdWx0KSxcclxuICAgIGhvdmVyOiBtYXAtZ2V0KCRjaGVja2JveC1pY29uLWNvbG91ciwgaG92ZXIpLFxyXG4gICAgYWN0aXZlOiBtYXAtZ2V0KCRjaGVja2JveC1pY29uLWNvbG91ciwgYWN0aXZlKVxyXG4pICFkZWZhdWx0O1xyXG4kcmFkaW8tYnV0dG9uLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMSxcclxuICAgIGhvdmVyOiAkY29sb3VyMSxcclxuICAgIGFjdGl2ZTogJGNvbG91cjFcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLSBTZWxlY3QgRHJvcGRvd25zIC0tLVxyXG4kc2VsZWN0LWRyb3Bkb3duLWRlZmF1bHQtaGVpZ2h0OiAkZmllbGRzZXQtaW5wdXQtaGVpZ2h0ICFkZWZhdWx0O1xyXG4kc2VsZWN0LWRyb3Bkb3duLWRlZmF1bHQtd2lkdGg6IChcclxuICAgIHNtYWxsOiA5MHB4LFxyXG4gICAgbWVkaXVtOiAyMTVweCxcclxuICAgIGxhcmdlOiAzNDBweCxcclxuKSAhZGVmYXVsdDtcclxuJHNlbGVjdC1kcm9wZG93bi1mb250LXNpemU6ICRpbnB1dC1mb250LXNpemUgIWRlZmF1bHQ7XHJcbiRzZWxlY3QtZHJvcGRvd24tY2hldnJvbi1idXR0b24td2lkdGg6IDMwcHggIWRlZmF1bHQ7XHJcbi8vIFRPRE86IGhvdmVyICYgYWN0aXZlIGltcGxlbWVudGF0aW9uLlxyXG4kc2VsZWN0LWRyb3Bkb3duLWNoZXZyb24tYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIwLFxyXG4gICAgaG92ZXI6ICRjb2xvdXI0LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNlxyXG4pICFkZWZhdWx0O1xyXG4kc2VsZWN0LWRyb3Bkb3duLWNoZXZyb24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMy0zLFxyXG4gICAgaG92ZXI6ICRjb2xvdXIxLFxyXG4gICAgYWN0aXZlOiAkY29sb3VyMVxyXG4pICFkZWZhdWx0O1xyXG4kc2VsZWN0LWRyb3Bkb3duLWNoZXZyb24tc2l6ZTogMThweCAhZGVmYXVsdDtcclxuJHNlbGVjdC1kcm9wZG93bi1zZWxlY3Qtb3B0aW9uLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNCxcclxuICAgIGhvdmVyOiAkY29sb3VyNixcclxuICAgIGFjdGl2ZTogJGNvbG91cjQtMixcclxuICAgIGRpc2FibGVkOiBkaXNhYmxlZC1jb2xvdXIoJGlucHV0LWJhY2tncm91bmQtY29sb3VyKVxyXG4pICFkZWZhdWx0O1xyXG4kc2VsZWN0LWRyb3Bkb3duLXNlbGVjdC1vcHRpb24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMSxcclxuICAgIGhvdmVyOiAkY29sb3VyMSxcclxuICAgIGFjdGl2ZTogJGNvbG91cjEsXHJcbiAgICBkaXNhYmxlZDogZGlzYWJsZWQtY29sb3VyKCRpbnB1dC1jb2xvdXIpXHJcbikgIWRlZmF1bHQ7XHJcbi8vIC0tLSBBbmNob3JzIC0tLSBcclxuJGFuY2hvcnMtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wLCBcclxuICAgIGhvdmVyOiAtLXNlY29uZGFyeS1jb2xvdXItbGlnaHRuZXNzLTAsXHJcbiAgICBhY3RpdmU6IC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTBcclxuKSAhZGVmYXVsdDtcclxuJGFuY2hvcnMtdGV4dC1kZWNvcmF0aW9uOiBub25lICFkZWZhdWx0O1xyXG4kYW5jaG9ycy1ob3Zlci10ZXh0LWRlY29yYXRpb246IG5vbmUgIWRlZmF1bHQ7XHJcbiRhbmNob3JzLWZvbnQtd2VpZ2h0OiBpbmhlcml0ICFkZWZhdWx0O1xyXG4kYW5jaG9ycy1mb250LXNpemU6ICRwYXJhZ3JhcGgtZm9udC1zaXplICFkZWZhdWx0O1xyXG4vLyAtLS0gRm9yZ290dGVuIHBhc3N3b3JkIGxpbmsgLS0tXHJcbiRmb3Jnb3R0ZW4tcGFzc3dvcmQtYW5jaG9yLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjQsXHJcbiAgICBob3ZlcjogJGNvbG91cjYsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI0LTJcclxuKSAhZGVmYXVsdDtcclxuJGZvcmdvdHRlbi1wYXNzd29yZC1hbmNob3ItZm9udC13ZWlnaHQ6IDYwMCAhZGVmYXVsdDtcclxuJGZvcmdvdHRlbi1wYXNzd29yZC1hbmNob3ItZm9udC1zaXplOiAkcGFyYWdyYXBoLWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuJGZvcmdvdHRlbi1wYXNzb3dyZC1hbmNob3ItZm9udC1zdHlsZTogaXRhbGljICFkZWZhdWx0O1xyXG4kZm9yZ290dGVuLXBhc3N3b3JkLWFuY2hvci1sZXR0ZXItc3BhY2luZzogbnVsbCAhZGVmYXVsdDtcclxuLy8gLS0tLS0gU1NPIC0tLS0tXHJcbiRzc28tYnV0dG9uLW1pY3Jvc29mdC10aGVtZTogJ2xpZ2h0JyAhZGVmYXVsdDtcclxuJHNzby1idXR0b24td2lkdGg6IChcclxuICAgIHNtYWxsOiA3MCUsXHJcbiAgICBtZWRpdW06IDMwMHB4XHJcbikgIWRlZmF1bHQ7XHJcbiRzc28tY29tbW9uLWdhcDogMjBweCAhZGVmYXVsdDtcclxuJHNzby1zZXBlcmF0b3ItZm9udC1zaXplOiAoJHBhcmFncmFwaC1mb250LXNpemUgLSAxKSAhZGVmYXVsdDtcclxuXHJcblxyXG4vLyAtLS0tLSBDTVMgLyBUZXh0REIgY29udGVudCBjb250YWluZXIgLS0tLS1cclxuJGNtcy1jb250ZW50LWNvbnRhaW5lci1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogMCAyNXB4LFxyXG4gICAgbGFyZ2U6IDAgNTBweFxyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tLS0gQ2xvc2UgYnV0dG9uIC0tLS0tIFxyXG4kaWNvbi1zaXplOiAyNHB4ICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tLS0gTW9kYWxzIC0tLS0tXHJcbiRtb2RhbC1jb250ZW50LXotaW5kZXg6IDIwMDEgIWRlZmF1bHQ7XHJcbi8vIC0tLSBIZWFkZXIgLS0tXHJcbiRtb2RhbC1oZWFkZXItYmFja2dyb3VuZC1jb2xvdXI6ICRjb2xvdXI0LTIgIWRlZmF1bHQ7XHJcbiRtb2RhbC1oZWFkZXItaGVhZGluZy1mb250LXNpemU6IDI1ICFkZWZhdWx0O1xyXG4kbW9kYWwtaGVhZGVyLWhlYWRpbmctZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcclxuJG1vZGFsLWhlYWRlci1oZWFkaW5nLWxldHRlci1zcGFjaW5nOiBudWxsICFkZWZhdWx0O1xyXG4kbW9kYWwtaGVhZGVyLWNtcy1mb250LXNpemU6ICgkcGFyYWdyYXBoLWZvbnQtc2l6ZSArIDEpICFkZWZhdWx0O1xyXG4kbW9kYWwtaGVhZGVyLWNtcy1tYXJnaW46IChcclxuICAgIHNtYWxsOiAxNXB4IDAsXHJcbiAgICBsYXJnZTogMzBweCAzMHB4IC8vIEJhbGFuY2luZyB0b3AgKyBib3R0b20gZm9yIDg1MDE3NS5cclxuKSAhZGVmYXVsdDtcclxuLy8gLS0tIE1vZGFsIGZvcm1zIC0tLVxyXG4kbW9kYWwtZm9ybS1jb250ZW50LWNvbnRhaW5lci1tYXgtd2lkdGg6IDkwMHB4ICFkZWZhdWx0O1xyXG4kbW9kYWwtZm9ybS1mb3JtLW1heC13aWR0aDogODAlICFkZWZhdWx0O1xyXG4kbW9kYWwtZm9ybS1mb3JtLW1hcmdpbjogKFxyXG4gICAgc21hbGw6IGF1dG8sXHJcbiAgICBsYXJnZTogMjBweCBhdXRvIDMwcHhcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLS0tIEJ1dHRvbnMgLS0tLS1cclxuLy8gQ29tbW9uIGJ1dHRvbiBzdHlsZXMgKCB0aGVzZSBhcmUgdXNlZCBvbiBtdWx0aXBsZSBidXR0b25zLlxyXG4kY29tbW9uLWJ1dHRvbi1tYXJnaW46IChzbWFsbDogNXB4IDEwcHgsIGxhcmdlOiAwKSAhZGVmYXVsdDtcclxuJGNvbW1vbi1idXR0b24tcGFkZGluZzogMTVweCAzNXB4ICFkZWZhdWx0O1xyXG4vLyAkY29tbW9uLWJ1dHRvbi1mb250LXNpemU6IDE2ICFkZWZhdWx0O1xyXG4vLyBBc3NvY2lhdGVkID0gYnV0dG9ucyB0aGF0IGFyZSBsaW5rZWQgdG8gYW4gaW5wdXQgKCBpLmUgbG9va3VwcyApXHJcbi8vIFN0YW5kYWxvbmUgPSBidXR0b25zIHRoYXQgYXJlIG5vdCBkaXJlY3RseSBsaW5rcyB0byBpbnB1dHMgKCBpLmUgZm9ybSBzdWJtaXNzaW9ucyAmIGFuY2hvcnMgKVxyXG4kY29tbW9uLWJ1dHRvbi1mb250LXNpemVzOiAoXHJcbiAgICBhc3NvY2lhdGVkOiAkaW5wdXQtcGxhY2Vob2xkZXItZm9udC1zaXplLFxyXG4gICAgc3RhbmRhbG9uZTogMTZcclxuKSAhZGVmYXVsdDtcclxuJGNvbW1vbi1idXR0b24tZm9udC13ZWlnaHRzOiAoXHJcbiAgICBhc3NvY2lhdGVkOiAkaW5wdXQtcGxhY2Vob2xkZXItZm9udC13ZWlnaHQsXHJcbiAgICBzdGFuZGFsb25lOiA3MDBcclxuKSAhZGVmYXVsdDtcclxuJGNvbW1vbi1idXR0b24tZm9udC13ZWlnaHQ6IGdldC1idXR0b24tZm9udC13ZWlnaHRzKCkgIWRlZmF1bHQ7XHJcbiRjb21tb24tYnV0dG9uLXRleHQtdHJhbnNmb3JtOiBudWxsICFkZWZhdWx0O1xyXG4kY29tbW9uLWJ1dHRvbi13b3JkLXNwYWNpbmc6IDJweCAhZGVmYXVsdDtcclxuJGNvbW1vbi1idXR0b24tbGV0dGVyLXNwYWNpbmc6IC42cHggIWRlZmF1bHQ7XHJcbi8vIE5vcm1hbGx5IHdoZW4geW91IHNldCB1cHBlcmNhc2UgYW5kIGZvbnQgdG8gYm9sZCB5b3Ugd2lsbCB3YW50IHRvIGluY3JlYXNlIHRoZSBsZXR0ZXIgc3BhY2luZyBmb3IgbGVnaWJpbGl0eSByZWFzb25zICggdGhpcyBpcyBvYnZpb3VzbHkgZGVwZW5kYW50IG9uIHRoZSBmb250IGZhbWlseSBiZWluZyB1c2VkIClcclxuJGNvbW1vbi1idXR0b24tbGV0dGVyLXNwYWNpbmctdXBwZXJjYXNlLWJvbGQ6ICgkY29tbW9uLWJ1dHRvbi1sZXR0ZXItc3BhY2luZyAqIDIpICFkZWZhdWx0O1xyXG4kY29tbW9uLWJ1dHRvbi1saW5lLWhlaWdodDogMSAhZGVmYXVsdDtcclxuJGNvbW1vbi1idXR0b24tYm9yZGVyLXJhZGl1czogMCAhZGVmYXVsdDtcclxuJGNvbW1vbi1idXR0b24tYm9yZGVyLXdpZHRoOiAycHggIWRlZmF1bHQ7XHJcbi8vIFByaW1hcnkgYnV0dG9uIHN0eWxlcy5cclxuJHByaW1hcnktYnV0dG9uLXBhZGRpbmc6ICRjb21tb24tYnV0dG9uLXBhZGRpbmcgIWRlZmF1bHQ7XHJcbiRwcmltYXJ5LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogbGlnaHRlbihkZXNhdHVyYXRlKGFkanVzdC1odWUoJGNvbG91cjQtMSwgLTclKSwgNCUpLCA0NCUpLFxyXG4gICAgaG92ZXI6ICRjb2xvdXI0LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNixcclxuICAgIGRpc2FibGVkOiAkY29sb3VyMVxyXG4pICFkZWZhdWx0O1xyXG4kcHJpbWFyeS1idXR0b24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNCxcclxuICAgIGhvdmVyOiAkY29sb3VyMSxcclxuICAgIGFjdGl2ZTogJGNvbG91cjEsXHJcbiAgICBkaXNhYmxlZDogbWFwLWdldCgkaW5wdXQtY29sb3VyLCBkaXNhYmxlZClcclxuKSAhZGVmYXVsdDtcclxuJHByaW1hcnktYnV0dG9uLWJvcmRlci1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIzLTEsXHJcbiAgICBob3ZlcjogJGNvbG91cjQtMSxcclxuICAgIGFjdGl2ZTogJGNvbG91cjYsXHJcbiAgICBkaXNhYmxlZDogbWFwLWdldCgkaW5wdXQtYm9yZGVyLWNvbG91ciwgZGlzYWJsZWQpXHJcbikgIWRlZmF1bHQ7XHJcbi8vIFNlY29uZGFyeSBidXR0b24gc3R5bGVzLlxyXG4kc2Vjb25kYXJ5LWJ1dHRvbi1wYWRkaW5nOiAkY29tbW9uLWJ1dHRvbi1wYWRkaW5nICFkZWZhdWx0O1xyXG4vLyRzZWNvbmRhcnktYnV0dG9uLWZvbnQtc2l6ZTogJGNvbW1vbi1idXR0b24tZm9udC1zaXplICFkZWZhdWx0O1xyXG4vLyRzZWNvbmRhcnktYnV0dG9uLWZvbnQtd2VpZ2h0OiAkY29tbW9uLWJ1dHRvbi1mb250LXdlaWdodCAhZGVmYXVsdDtcclxuJHNlY29uZGFyeS1idXR0b24tYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIxLCBcclxuICAgIGhvdmVyOiBsaWdodGVuKGRlc2F0dXJhdGUoYWRqdXN0LWh1ZSgkY29sb3VyNC0xLCAtNyUpLCA0JSksIDQ0JSksXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI0LFxyXG4gICAgZGlzYWJsZWQ6IG1hcC1nZXQoJHByaW1hcnktYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBkaXNhYmxlZClcclxuKSAhZGVmYXVsdDtcclxuJHNlY29uZGFyeS1idXR0b24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNCxcclxuICAgIGhvdmVyOiAkY29sb3VyNCxcclxuICAgIGFjdGl2ZTogJGNvbG91cjEsXHJcbiAgICBkaXNhYmxlZDogbWFwLWdldCgkcHJpbWFyeS1idXR0b24tY29sb3VyLCBkaXNhYmxlZClcclxuKSAhZGVmYXVsdDtcclxuJHNlY29uZGFyeS1idXR0b24tYm9yZGVyLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjMtMSwgXHJcbiAgICBob3ZlcjogJGNvbG91cjQsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI0LFxyXG4gICAgZGlzYWJsZWQ6IG1hcC1nZXQoJHByaW1hcnktYnV0dG9uLWJvcmRlci1jb2xvdXIsIGRpc2FibGVkKVxyXG4pICFkZWZhdWx0O1xyXG4vLyBUZXJ0aWFyeSBidXR0b24gc3R5bGVzXHJcbiR0ZXJ0aWFyeS1idXR0b24tcGFkZGluZzogJGNvbW1vbi1idXR0b24tcGFkZGluZyAhZGVmYXVsdDtcclxuLy8kdGVydGlhcnktYnV0dG9uLWZvbnQtc2l6ZTogJGNvbW1vbi1idXR0b24tZm9udC1zaXplICFkZWZhdWx0O1xyXG4vLyR0ZXJ0aWFyeS1idXR0b24tZm9udC13ZWlnaHQ6ICRjb21tb24tYnV0dG9uLWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xyXG4kdGVydGlhcnktYnV0dG9uLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBtYXAtZ2V0KCRhY2NlbnQtY29sb3VyLTEsIDkpLFxyXG4gICAgaG92ZXI6IG1hcC1nZXQoJGFjY2VudC1jb2xvdXItMSwgMiksXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI0LFxyXG4gICAgZGlzYWJsZWQ6IG1hcC1nZXQoJHByaW1hcnktYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBkaXNhYmxlZClcclxuKSAhZGVmYXVsdDtcclxuJHRlcnRpYXJ5LWJ1dHRvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IG1hcC1nZXQoJGFjY2VudC1jb2xvdXItMSwgMiksXHJcbiAgICBob3ZlcjogJGNvbG91cjEsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXIxLFxyXG4gICAgZGlzYWJsZWQ6IG1hcC1nZXQoJHByaW1hcnktYnV0dG9uLWNvbG91ciwgZGlzYWJsZWQpXHJcbikgIWRlZmF1bHQ7XHJcbiR0ZXJ0aWFyeS1idXR0b24tYm9yZGVyLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjMtMSxcclxuICAgIGhvdmVyOiBtYXAtZ2V0KCRhY2NlbnQtY29sb3VyLTEsIDIpLFxyXG4gICAgYWN0aXZlOiAkY29sb3VyMSxcclxuICAgIGRpc2FibGVkOiBtYXAtZ2V0KCRwcmltYXJ5LWJ1dHRvbi1ib3JkZXItY29sb3VyLCBkaXNhYmxlZClcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vIFF1YXRlcm5hcnkgYnV0dG9uIHN0eWxlc1xyXG4kcXVhdGVybmFyeS1idXR0b24tcGFkZGluZzogMy41cHggMTZweCAhZGVmYXVsdDtcclxuJHF1YXRlcm5hcnktYnV0dG9uLWZvbnQtc2l6ZTogMTUgIWRlZmF1bHQ7XHJcbi8vJHF1YXRlcm5hcnktYnV0dG9uLWZvbnQtd2VpZ2h0OiAkY29tbW9uLWJ1dHRvbi1mb250LXdlaWdodCAhZGVmYXVsdDtcclxuJHF1YXRlcm5hcnktYnV0dG9uLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNixcclxuICAgIGhvdmVyOiAkY29sb3VyMSxcclxuICAgIGFjdGl2ZTogJGNvbG91cjEsXHJcbiAgICBkaXNhYmxlZDogbWFwLWdldCgkcHJpbWFyeS1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGRpc2FibGVkKVxyXG4pICFkZWZhdWx0O1xyXG4kcXVhdGVybmFyeS1idXR0b24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMSxcclxuICAgIGhvdmVyOiAkY29sb3VyNixcclxuICAgIGFjdGl2ZTogJGNvbG91cjQsXHJcbiAgICBkaXNhYmxlZDogbWFwLWdldCgkcHJpbWFyeS1idXR0b24tY29sb3VyLCBkaXNhYmxlZClcclxuKSAhZGVmYXVsdDtcclxuJHF1YXRlcm5hcnktYnV0dG9uLWJvcmRlci1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI2LFxyXG4gICAgaG92ZXI6ICRjb2xvdXI2LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNCxcclxuICAgIGRpc2FibGVkOiBtYXAtZ2V0KCRwcmltYXJ5LWJ1dHRvbi1ib3JkZXItY29sb3VyLCBkaXNhYmxlZClcclxuKSAhZGVmYXVsdDtcclxuLy8gUXVpbmFyeSBidXR0b24gXHJcbiRxdWluYXJ5LWJ1dHRvbi1wYWRkaW5nOiAkY29tbW9uLWJ1dHRvbi1wYWRkaW5nICFkZWZhdWx0O1xyXG4vLyRxdWluYXJ5LWJ1dHRvbi1mb250LXNpemU6IDE1ICFkZWZhdWx0O1xyXG4vLyRxdWluYXJ5LWJ1dHRvbi1mb250LXdlaWdodDogJGNvbW1vbi1idXR0b24tZm9udC13ZWlnaHQgIWRlZmF1bHQ7XHJcbiRxdWluYXJ5LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjMsXHJcbiAgICBob3ZlcjogJGNvbG91cjQtNCxcclxuICAgIGFjdGl2ZTogJGNvbG91cjEsXHJcbiAgICBkaXNhYmxlZDogbWFwLWdldCgkcHJpbWFyeS1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGRpc2FibGVkKVxyXG4pICFkZWZhdWx0O1xyXG4kcXVpbmFyeS1idXR0b24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNCxcclxuICAgIGhvdmVyOiAkY29sb3VyNCxcclxuICAgIGFjdGl2ZTogJGNvbG91cjQsXHJcbiAgICBkaXNhYmxlZDogbWFwLWdldCgkcHJpbWFyeS1idXR0b24tY29sb3VyLCBkaXNhYmxlZClcclxuKSAhZGVmYXVsdDtcclxuJHF1aW5hcnktYnV0dG9uLWJvcmRlci1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIzLTEsXHJcbiAgICBob3ZlcjogJGNvbG91cjQsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI0LFxyXG4gICAgZGlzYWJsZWQ6IG1hcC1nZXQoJHByaW1hcnktYnV0dG9uLWJvcmRlci1jb2xvdXIsIGRpc2FibGVkKVxyXG4pICFkZWZhdWx0O1xyXG4vLyBHZW5lcmljIGNtcyBidXR0b24gXHJcbiRjbXMtYnV0dG9uLXBhZGRpbmc6ICRjb21tb24tYnV0dG9uLXBhZGRpbmcgIWRlZmF1bHQ7XHJcbi8vJGNtcy1idXR0b24tZm9udC1zaXplOiAkY29tbW9uLWJ1dHRvbi1mb250LXNpemUgIWRlZmF1bHQ7XHJcbi8vJGNtcy1idXR0b24tZm9udC13ZWlnaHQ6ICRjb21tb24tYnV0dG9uLWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xyXG4kY21zLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjAsXHJcbiAgICBob3ZlcjogJGNvbG91cjQsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI2LFxyXG4gICAgZGlzYWJsZWQ6ICRjb2xvdXIxXHJcbikgIWRlZmF1bHQ7XHJcbiRjbXMtYnV0dG9uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjQsXHJcbiAgICBob3ZlcjogJGNvbG91cjEsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI0LTEsXHJcbiAgICBkaXNhYmxlZDogbWFwLWdldCgkaW5wdXQtY29sb3VyLCBkaXNhYmxlZClcclxuKSAhZGVmYXVsdDtcclxuJGNtcy1idXR0b24tYm9yZGVyLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogZGVmYXVsdC1jb2xvdXIoJGNtcy1idXR0b24tY29sb3VyKSxcclxuICAgIGhvdmVyOiBob3Zlci1jb2xvcigkY21zLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciksXHJcbiAgICBhY3RpdmU6IGFjdGl2ZS1jb2xvdXIoJGNtcy1idXR0b24tY29sb3VyKSxcclxuICAgIGRpc2FibGVkOiBtYXAtZ2V0KCRpbnB1dC1ib3JkZXItY29sb3VyLCBkaXNhYmxlZClcclxuKSAhZGVmYXVsdDtcclxuLy8gQ01TIGFuY2hvciBwcm9jZWVkIGJ1dHRvbi5cclxuJGNtcy1idXR0b24tcHJvY2VlZC1mb250LXNpemU6ICRwYXJhZ3JhcGgtZm9udC1zaXplICFkZWZhdWx0O1xyXG4kY21zLWJ1dHRvbi1wcm9jZWVkLWZvbnQtd2VpZ2h0OiA2MDAgIWRlZmF1bHQ7XHJcbiRjbXMtYnV0dG9uLXByb2NlZWQtdGV4dC10cmFuc2Zvcm06ICRjb21tb24tYnV0dG9uLXRleHQtdHJhbnNmb3JtICFkZWZhdWx0O1xyXG4vLyBMb2NhdGlvbiBidXR0b24gICggc3RvY2tpc3QgKVxyXG4kbG9jYXRpb24tYnV0dG9uLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMSxcclxuICAgIGhvdmVyOiAkY29sb3VyNC02LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNFxyXG4pICFkZWZhdWx0O1xyXG4kbG9jYXRpb24tYnV0dG9uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjIsXHJcbiAgICBob3ZlcjogJGNvbG91cjQsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXIxXHJcbikgIWRlZmF1bHQ7XHJcbiRsb2NhdGlvbi1idXR0b24tYm9yZGVyLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjMtMSxcclxuICAgIGhvdmVyOiAkY29sb3VyNCxcclxuICAgIGFjaXR2ZTogJGNvbG91cjRcclxuKSAhZGVmYXVsdDtcclxuLy8gQmFyY29kZSBzY2FubmVyIHRvZ2dsZSBidXR0b24uXHJcbiRiYXJjb2RlLXNjYW5uZXItdG9nZ2xlLWJ1dHRvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIyLFxyXG4gICAgaG92ZXI6ICRjb2xvdXIxLFxyXG4gICAgYWN0aXZlOiAkY29sb3VyMVxyXG4pICFkZWZhdWx0O1xyXG4kYmFyY29kZS1zY2FubmVyLXRvZ2dsZS1idXR0b24tYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IGRlZmF1bHQtY29sb3VyKCRzZWNvbmRhcnktYnV0dG9uLWJhY2tncm91bmQtY29sb3VyKSxcclxuICAgIGhvdmVyOiAkY29sb3VyNixcclxuICAgIGFjdGl2ZTogJGNvbG91cjRcclxuKSAhZGVmYXVsdDtcclxuJGJhcmNvZGUtc2Nhbm5lci10b2dnbGUtYnV0dG9uLWJvcmRlci1jb2xvdXItZGVza3RvcDogKFxyXG4gICAgZGVmYXVsdDogZGVmYXVsdC1jb2xvdXIoJHNlY29uZGFyeS1idXR0b24tYm9yZGVyLWNvbG91ciksXHJcbiAgICBob3ZlcjogaG92ZXItY29sb3VyKCRiYXJjb2RlLXNjYW5uZXItdG9nZ2xlLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciksXHJcbiAgICBhY3RpdmU6IGFjdGl2ZS1jb2xvdXIoJGJhcmNvZGUtc2Nhbm5lci10b2dnbGUtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyKVxyXG4pICFkZWZhdWx0O1xyXG4kYmFyY29kZS1zY2FubmVyLXRvZ2dsZS1idXR0b24taWNvbi1jb25maWc6IChcclxuICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGJhcmNvZGUtc2Nhbm5lci1idXR0b24taWNvbiksXHJcbiAgICBwb3NpdGlvbjogYWZ0ZXIsXHJcbiAgICBtYXJnaW46IDAgMCAwIDE1cHgsXHJcbiAgICBjb2xvdXI6IChcclxuICAgICAgICBkZWZhdWx0OiBkZWZhdWx0LWNvbG91cigkc2Vjb25kYXJ5LWJ1dHRvbi1jb2xvdXIpLFxyXG4gICAgICAgIGhvdmVyOiAkY29sb3VyMSxcclxuICAgICAgICBhY3RpdmU6ICRjb2xvdXIxXHJcbiAgICApLFxyXG4gICAgZm9udC1mYW1pbHk6ICRleHByZXNzLWRlZmF1bHQtaWNvbnMsXHJcbiAgICBzaXplOiAyMHB4XHJcbikgIWRlZmF1bHQ7XHJcblxyXG4vLyBTdG9ja2xpbmUgYnV0dG9uXHJcbiRzdG9ja2xpbmUtYnV0dG9uLXBhZGRpbmc6IDIwcHggMTBweCAhZGVmYXVsdDtcclxuJHN0b2NrbGluZS1idXR0b24tYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IG1hcC1nZXQoJHByaW1hcnktYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KSxcclxuICAgIGhvdmVyOiAgbWFwLWdldCgkcHJpbWFyeS1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGhvdmVyKSwgXHJcbiAgICBhY3RpdmU6ICBtYXAtZ2V0KCRwcmltYXJ5LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgYWN0aXZlKVxyXG4pICFkZWZhdWx0O1xyXG4kc3RvY2tsaW5lLWJ1dHRvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IG1hcC1nZXQoJHByaW1hcnktYnV0dG9uLWNvbG91ciwgZGVmYXVsdCksXHJcbiAgICBob3ZlcjogbWFwLWdldCgkcHJpbWFyeS1idXR0b24tY29sb3VyLCBob3ZlciksXHJcbiAgICBhY3RpdmU6IG1hcC1nZXQoJHByaW1hcnktYnV0dG9uLWNvbG91ciwgYWN0aXZlKVxyXG4pICFkZWZhdWx0O1xyXG4kc3RvY2tsaW5lLWJ1dHRvbi1ib3JkZXItY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBtYXAtZ2V0KCRwcmltYXJ5LWJ1dHRvbi1ib3JkZXItY29sb3VyLCBkZWZhdWx0KSxcclxuICAgIGhvdmVyOiBtYXAtZ2V0KCRwcmltYXJ5LWJ1dHRvbi1ib3JkZXItY29sb3VyLCBob3ZlciksXHJcbiAgICBhY3RpdmU6IG1hcC1nZXQoJHByaW1hcnktYnV0dG9uLWJvcmRlci1jb2xvdXIsIGFjdGl2ZSlcclxuKSAhZGVmYXVsdDtcclxuLy8kc3RvY2tsaW5lLWJ1dHRvbi1mb250LXNpemU6ICRjb21tb24tYnV0dG9uLWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuLy8gTm90IGxvZ2dlZCBpblxyXG4vLyBBZGp1c3RpbmcgdGhlIHBhZGRpbmcgd2lsbCBjYXVzZSB0aGVzZSBidXR0b25zIHRvIGdvIG91dCBvZiB2ZXJ0aWNsZSBhbGlnbm1lbnQgd2l0aCB0aGUgYnV5aW5nIGZvcm0uXHJcbiRub3QtbG9nZ2VkLWluLWJ1dHRvbi1wYWRkaW5nOiAkc3RvY2tsaW5lLWJ1dHRvbi1wYWRkaW5nICFkZWZhdWx0O1xyXG4kbm90LWxvZ2dlZC1pbi1idXR0b24tYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IG1hcC1nZXQoJHN0b2NrbGluZS1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpLFxyXG4gICAgaG92ZXI6ICBtYXAtZ2V0KCRzdG9ja2xpbmUtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBob3ZlciksIFxyXG4gICAgYWN0aXZlOiAgbWFwLWdldCgkc3RvY2tsaW5lLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgYWN0aXZlKSxcclxuICAgIGRpc2FibGVkOiBkaXNhYmxlZC1jb2xvdXIoJHByaW1hcnktYnV0dG9uLWJhY2tncm91bmQtY29sb3VyKVxyXG4pICFkZWZhdWx0O1xyXG4kbm90LWxvZ2dlZC1pbi1idXR0b24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBtYXAtZ2V0KCRzdG9ja2xpbmUtYnV0dG9uLWNvbG91ciwgZGVmYXVsdCksXHJcbiAgICBob3ZlcjogbWFwLWdldCgkc3RvY2tsaW5lLWJ1dHRvbi1jb2xvdXIsIGhvdmVyKSxcclxuICAgIGFjdGl2ZTogbWFwLWdldCgkc3RvY2tsaW5lLWJ1dHRvbi1jb2xvdXIsIGFjdGl2ZSksXHJcbiAgICBkaXNhYmxlZDogZGlzYWJsZWQtY29sb3VyKCRwcmltYXJ5LWJ1dHRvbi1jb2xvdXIpXHJcbikgIWRlZmF1bHQ7XHJcbiRub3QtbG9nZ2VkLWluLWJ1dHRvbi1ib3JkZXItY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBtYXAtZ2V0KCRzdG9ja2xpbmUtYnV0dG9uLWJvcmRlci1jb2xvdXIsIGRlZmF1bHQpLFxyXG4gICAgaG92ZXI6IG1hcC1nZXQoJHN0b2NrbGluZS1idXR0b24tYm9yZGVyLWNvbG91ciwgaG92ZXIpLFxyXG4gICAgYWN0aXZlOiBtYXAtZ2V0KCRzdG9ja2xpbmUtYnV0dG9uLWJvcmRlci1jb2xvdXIsIGFjdGl2ZSksXHJcbiAgICBkaXNhYmxlZDogZGlzYWJsZWQtY29sb3VyKCRwcmltYXJ5LWJ1dHRvbi1ib3JkZXItY29sb3VyKVxyXG4pICFkZWZhdWx0O1xyXG4vLyRub3QtbG9nZ2VkLWluLWJ1dHRvbi1mb250LXNpemU6ICRjb21tb24tYnV0dG9uLWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuLy8gRW5xdWlyeSBidXR0b24uXHJcbiRlbnF1aXJ5LWJ1dHRvbi1wYWRkaW5nOiAkc3RvY2tsaW5lLWJ1dHRvbi1wYWRkaW5nICFkZWZhdWx0O1xyXG4kZW5xdWlyeS1idXR0b24tYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IG1hcC1nZXQoJHN0b2NrbGluZS1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpLFxyXG4gICAgaG92ZXI6ICBtYXAtZ2V0KCRzdG9ja2xpbmUtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBob3ZlciksIFxyXG4gICAgYWN0aXZlOiAgbWFwLWdldCgkc3RvY2tsaW5lLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgYWN0aXZlKVxyXG4pICFkZWZhdWx0O1xyXG4kZW5xdWlyeS1idXR0b24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBtYXAtZ2V0KCRzdG9ja2xpbmUtYnV0dG9uLWNvbG91ciwgZGVmYXVsdCksXHJcbiAgICBob3ZlcjogbWFwLWdldCgkc3RvY2tsaW5lLWJ1dHRvbi1jb2xvdXIsIGhvdmVyKSxcclxuICAgIGFjdGl2ZTogbWFwLWdldCgkc3RvY2tsaW5lLWJ1dHRvbi1jb2xvdXIsIGFjdGl2ZSlcclxuKSAhZGVmYXVsdDtcclxuJGVucXVpcnktYnV0dG9uLWJvcmRlci1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IG1hcC1nZXQoJHN0b2NrbGluZS1idXR0b24tYm9yZGVyLWNvbG91ciwgZGVmYXVsdCksXHJcbiAgICBob3ZlcjogbWFwLWdldCgkc3RvY2tsaW5lLWJ1dHRvbi1ib3JkZXItY29sb3VyLCBob3ZlciksXHJcbiAgICBhY3RpdmU6IG1hcC1nZXQoJHN0b2NrbGluZS1idXR0b24tYm9yZGVyLWNvbG91ciwgYWN0aXZlKVxyXG4pICFkZWZhdWx0O1xyXG4vLyRlbnF1aXJ5LWJ1dHRvbi1mb250LXNpemU6ICRjb21tb24tYnV0dG9uLWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuLy8gUGFnZSBhY3Rpb24gYnV0dGlvbnNcclxuLy8gRGVmYXVsdC5cclxuJGEtZGVmYXVsdC1idXR0b24tcGFkZGluZzogJGNvbW1vbi1idXR0b24tcGFkZGluZyAhZGVmYXVsdDtcclxuLy8kYS1kZWZhdWx0LWZvbnQtc2l6ZTogJGNvbW1vbi1idXR0b24tZm9udC1zaXplICFkZWZhdWx0O1xyXG4vLyRhLWRlZmF1bHQtZm9udC13ZWlnaHQ6ICRjb21tb24tYnV0dG9uLWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xyXG4kYS1kZWZhdWx0LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogbWFwLWdldCgkcHJpbWFyeS1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpLFxyXG4gICAgaG92ZXI6ICBtYXAtZ2V0KCRwcmltYXJ5LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgaG92ZXIpLCBcclxuICAgIGFjdGl2ZTogIG1hcC1nZXQoJHByaW1hcnktYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBhY3RpdmUpXHJcbikgIWRlZmF1bHQ7XHJcbiRhLWRlZmF1bHQtYnV0dG9uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogbWFwLWdldCgkcHJpbWFyeS1idXR0b24tY29sb3VyLCBkZWZhdWx0KSxcclxuICAgIGhvdmVyOiBtYXAtZ2V0KCRwcmltYXJ5LWJ1dHRvbi1jb2xvdXIsIGhvdmVyKSxcclxuICAgIGFjdGl2ZTogbWFwLWdldCgkcHJpbWFyeS1idXR0b24tY29sb3VyLCBhY3RpdmUpXHJcbikgIWRlZmF1bHQ7XHJcbiRhLWRlZmF1bHQtYnV0dG9uLWJvcmRlci1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IG1hcC1nZXQoJHByaW1hcnktYnV0dG9uLWJvcmRlci1jb2xvdXIsIGRlZmF1bHQpLFxyXG4gICAgaG92ZXI6IG1hcC1nZXQoJHByaW1hcnktYnV0dG9uLWJvcmRlci1jb2xvdXIsIGhvdmVyKSxcclxuICAgIGFjdGl2ZTogbWFwLWdldCgkcHJpbWFyeS1idXR0b24tYm9yZGVyLWNvbG91ciwgYWN0aXZlKVxyXG4pICFkZWZhdWx0O1xyXG4kc3RhdHVzLWJ1dHRvbi1jb21tb24td2VpZ2h0OiAkaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQgIWRlZmF1bHQ7XHJcbi8vIFN1Y2Nlc3MuXHJcbiRzdWNjZXNzLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogbWFwLWdldCgkc3VjY2Vzcy1jb2xvdXIsIDkpLFxyXG4gICAgaG92ZXI6IG1hcC1nZXQoJHN1Y2Nlc3MtY29sb3VyLCAwKSwgXHJcbiAgICBhY3RpdmU6IGRlZmF1bHQtY29sb3VyKCRwcmltYXJ5LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cilcclxuKSAhZGVmYXVsdDtcclxuJHN1Y2Nlc3MtYnV0dG9uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogbWFwLWdldCgkc3VjY2Vzcy1jb2xvdXIsIDApLFxyXG4gICAgaG92ZXI6ICRjb2xvdXIxLFxyXG4gICAgYWN0aXZlOiAkY29sb3VyMVxyXG4pICFkZWZhdWx0O1xyXG4kc3VjY2Vzcy1idXR0b24tYm9yZGVyLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogZGVmYXVsdC1jb2xvdXIoJHN1Y2Nlc3MtYnV0dG9uLWNvbG91ciksXHJcbiAgICBob3ZlcjogaG92ZXItY29sb3VyKCRzdWNjZXNzLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciksXHJcbiAgICBhY3RpdmU6IGFjdGl2ZS1jb2xvdXIoJHN1Y2Nlc3MtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyKVxyXG4pICFkZWZhdWx0O1xyXG4vLyBXYXJuaW5nLlxyXG4kd2FybmluZy1idXR0b24tYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IG1hcC1nZXQoJHdhcm5pbmctY29sb3VyLCA5KSxcclxuICAgIGhvdmVyOiBtYXAtZ2V0KCR3YXJuaW5nLWNvbG91ciwgMCksXHJcbiAgICBhY3RpdmU6IGRlZmF1bHQtY29sb3VyKCRwcmltYXJ5LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cilcclxuKSAhZGVmYXVsdDtcclxuJHdhcm5pbmctYnV0dG9uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogbWFwLWdldCgkd2FybmluZy1jb2xvdXIsIDApLFxyXG4gICAgaG92ZXI6ICRjb2xvdXIxLFxyXG4gICAgYWN0aXZlOiAkY29sb3VyMVxyXG4pICFkZWZhdWx0O1xyXG4kd2FybmluZy1idXR0b24tYm9yZGVyLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogZGVmYXVsdC1jb2xvdXIoJHdhcm5pbmctYnV0dG9uLWNvbG91ciksXHJcbiAgICBob3ZlcjogaG92ZXItY29sb3VyKCR3YXJuaW5nLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciksXHJcbiAgICBhY3RpdmU6IGFjdGl2ZS1jb2xvdXIoJHdhcm5pbmctYnV0dG9uLWJhY2tncm91bmQtY29sb3VyKVxyXG4pICFkZWZhdWx0O1xyXG4vLyBBbGVydC5cclxuJGFsZXJ0LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogbWFwLWdldCgkYWxlcnQtY29sb3VyLCA5KSxcclxuICAgIGhvdmVyOiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDApLFxyXG4gICAgYWN0aXZlOiBkZWZhdWx0LWNvbG91cigkcHJpbWFyeS1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIpXHJcbikgIWRlZmF1bHQ7XHJcbiRhbGVydC1idXR0b24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0Om1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMCksXHJcbiAgICBob3ZlcjogJGNvbG91cjEsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXIxXHJcbikgIWRlZmF1bHQ7XHJcbiRhbGVydC1idXR0b24tYm9yZGVyLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogZGVmYXVsdC1jb2xvdXIoJGFsZXJ0LWJ1dHRvbi1jb2xvdXIpLFxyXG4gICAgaG92ZXI6IGhvdmVyLWNvbG91cigkYWxlcnQtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyKSxcclxuICAgIGFjdGl2ZTogYWN0aXZlLWNvbG91cigkYWxlcnQtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyKVxyXG4pICFkZWZhdWx0O1xyXG4vLyBDYW5jZWwgLyBiYWNrIGJ1dHRvblxyXG4kY2FuY2VsLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjEsIFxyXG4gICAgaG92ZXI6ICRjb2xvdXIzLTEsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI0XHJcbikgIWRlZmF1bHQ7XHJcbiRjYW5jZWwtYnV0dG9uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjQsXHJcbiAgICBob3ZlcjogJGNvbG91cjEsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXIxXHJcbikgIWRlZmF1bHQ7XHJcbiRjYW5jZWwtYnV0dG9uLWJvcmRlci1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIzLTEsIFxyXG4gICAgaG92ZXI6ICRjb2xvdXIyXHJcbikgIWRlZmF1bHQ7XHJcbi8vIEFsZXJ0IC8gcmVtb3ZlIC8gZGVsZXRlIGJ1dHRvbi5cclxuJGFsZXJ0LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogbWFwLWdldCgkYWxlcnQtY29sb3VyLCA5KSxcclxuICAgIGhvdmVyOiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDApLFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNlxyXG4pICFkZWZhdWx0O1xyXG4kYWxlcnQtYnV0dG9uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogbWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKSxcclxuICAgIGhvdmVyOiAkY29sb3VyMVxyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8gQ01TIGJ1dHRvbnMgc3VjaCBhcyBibG9nLCBuZXdzICYgZXZlbnRzLlxyXG4kY21zLWJ1dHRvbi1saW5rLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTIpLFxyXG4gICAgaG92ZXI6IHZhcigtLXNlY29uZGFyeS1jb2xvdXItbGlnaHRuZXNzLTApLFxyXG4gICAgYWN0aXZlOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMClcclxuKSAhZGVmYXVsdDtcclxuJGNtcy1idXR0b24tbGluay1pY29uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogZGVmYXVsdC1jb2xvdXIoJGNtcy1idXR0b24tbGluay1jb2xvdXIpLFxyXG4gICAgaG92ZXI6IGhvdmVyLWNvbG91cigkY21zLWJ1dHRvbi1saW5rLWNvbG91ciksXHJcbiAgICBhY3RpdmU6IGFjdGl2ZS1jb2xvdXIoJGNtcy1idXR0b24tbGluay1jb2xvdXIpXHJcbikgIWRlZmF1bHQ7XHJcbiRjbXMtaGVhZGluZy11bmRlcmxpbmU6IChcclxuICAgIGgxOiBmYWxzZSxcclxuICAgIGgyOiBmYWxzZSxcclxuICAgIGgzOiBmYWxzZVxyXG4pICFkZWZhdWx0O1xyXG4kY21zLWJ1dHRvbi1saW5rLWZvbnQtc2l6ZTogbnVsbCAhZGVmYXVsdDtcclxuJGNtcy1idXR0b24tbGluay1mb250LXdlaWdodDogZ2V0LWJ1dHRvbi1mb250LXdlaWdodHMoKSAhZGVmYXVsdDtcclxuJGNtcy1idXR0b24tbGluay1mb250LXN0eWxlOiBub3JtYWwgIWRlZmF1bHQ7XHJcblxyXG4vLyBOZXdzIGJ1dHRvblxyXG4kbmV3cy1idXR0b24taWNvbi1zaXplOiAxOSAhZGVmYXVsdDtcclxuXHJcbi8vIEJsb2cgYnV0dG9uXHJcbiRibG9nLWJ1dHRvbi1pY29uLXNpemU6IDE5ICFkZWZhdWx0O1xyXG5cclxuLy8gRXZlbnRzIGJ1dHRvblxyXG4kZXZlbnRzLWJ1dHRvbi1pY29uLXNpemU6IDE5ICFkZWZhdWx0O1xyXG5cclxuLy8gVGhpcmQgUGFydHkgdHJhY2tpbmcgYnV0dG9uLlxyXG4kdGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uLXBhZGRpbmc6IDEwcHghZGVmYXVsdDtcclxuJHRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbi1mb250LXNpemU6IDE1ICFkZWZhdWx0O1xyXG4kdGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uLWZvbnQtd2VpZ2h0OiA2MDA7XHJcbiR0aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNC02LFxyXG4gICAgaG92ZXI6ICRjb2xvdXI0LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNlxyXG4pICFkZWZhdWx0O1xyXG4kdGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uLWljb24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBtYXAtZ2V0KCR0aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24tY29sb3VyLCBkZWZhdWx0KSxcclxuICAgIGhvdmVyOiBtYXAtZ2V0KCR0aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24tY29sb3VyLCBob3ZlciksXHJcbiAgICBhY3RpdmU6IG1hcC1nZXQoJHRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbi1jb2xvdXIsIGFjdGl2ZSlcclxuKSAhZGVmYXVsdDtcclxuJHRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjQtMixcclxuICAgIGhvdmVyOiAkY29sb3VyNC02LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyMVxyXG4pICFkZWZhdWx0O1xyXG4kdGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uLWJvcmRlci1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI0LTYsXHJcbiAgICBob3ZlcjogJGNvbG91cjQsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXIxXHJcbikgIWRlZmF1bHQ7XHJcbiR0aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24tMi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI0LTIsXHJcbiAgICBob3ZlcjogJGNvbG91cjEsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI0XHJcbikgIWRlZmF1bHQ7XHJcbiR0aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24tMi1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgaG92ZXI6ICRjb2xvdXI0LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNC02XHJcbikgIWRlZmF1bHQ7XHJcbiR0aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24tMi1ib3JkZXItY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMy0yLFxyXG4gICAgaG92ZXI6IGhvdmVyLWNvbG91cigkdGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uLTItYmFja2dyb3VuZC1jb2xvdXIpLFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNFxyXG4pICFkZWZhdWx0O1xyXG4kdGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uLTItaWNvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IGRlZmF1bHQtY29sb3VyKCR0aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24tMi1jb2xvdXIpLFxyXG4gICAgaG92ZXI6IGhvdmVyLWNvbG91cigkdGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uLTItY29sb3VyKSxcclxuICAgIGFjdGl2ZTogYWN0aXZlLWNvbG91cigkdGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uLTItY29sb3VyKVxyXG4pICFkZWZhdWx0O1xyXG4kdGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uLWljb24tc2l6ZTogMTZweCAhZGVmYXVsdDtcclxuJHRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbi1pY29uLWd1dHRlcjogMTJweCAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLSBSZXF1aXJlZCBwcm9tcHQgLS0tXHJcbiRyZXF1aXJlZC1wcm9tcHQtcGFkZGluZzogKFxyXG4gICAgc21hbGw6IG1hcC1nZXQoJGZvcm1zLXNpbmdsZS1jb2x1bW4tZmllbGQtcGFkZGluZywgc21hbGwpLFxyXG4gICAgbGFyZ2U6IDAgMjBweFxyXG4pICFkZWZhdWx0O1xyXG4kcmVxdWlyZWQtcHJvbXB0LW1hcmdpbjogKFxyXG4gICAgc21hbGw6IDAsXHJcbiAgICBsYXJnZTogMCAwIDEwcHhcclxuKSAhZGVmYXVsdDtcclxuJHJlcXVpcmVkLXByb21wdC1mb250LXNpemU6IDE0LjQgIWRlZmF1bHQ7XHJcbiRyZXF1aXJlZC1wcm9tcHQtZm9udC13ZWlnaHQ6IDQwMCAhZGVmYXVsdDtcclxuJHJlcXVpcmVkLXB0b21wdC1mb250LXN0eWxlOiBpdGFsaWMgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0tLSBNZW51cyAtLS0tLVxyXG4vLyBDb21tb24gc3R5bGVzICggdHlwaWNhbGx5IHRoZSBtb2JpbGUgZXhwaWVyYW5jZSApLlxyXG4kZ2xvYmFsLW1lbnUtaXRlbS1wYWRkaW5nOiA3LjVweCA1cHggNy41cHggMTZweCAhZGVmYXVsdDtcclxuLy8gSGVhZGVyXHJcbiRtZW51cy1oZWFkZXItY29sb3VyOiAkY29sb3VyNCAhZGVmYXVsdDtcclxuJG1lbnVzLWhlYWRlci1mb250LXNpemU6IDI1ICFkZWZhdWx0O1xyXG4kbWVudXMtaGVhZGVyLWZvbnQtd2VpZ2h0OiA2MDAgIWRlZmF1bHQ7XHJcblxyXG4vLyBBY3R1YWwgbWVudXNcclxuJG1lbnVzLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBzbWFsbDogJGNvbG91cjEsXHJcbiAgICBsYXJnZTogJGNvbG91cjQtMlxyXG4pICFkZWZhdWx0O1xyXG4kaGVhZGVyLW1lZ2EtbWVudS1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogMCxcclxuICAgIGxhcmdlOiAwXHJcbikgIWRlZmF1bHQ7XHJcbiRoZWFkZXItbWVnYS1tZW51LWdyYWRpYW50LWJhY2tncm91bmQ6IG51bGwgIWRlZmF1bHQ7XHJcbiRtZW51cy1zdWJtZW51LWJhY2tncm91bmQtY29sb3VyOiAkY29sb3VyMSAhZGVmYXVsdDtcclxuJGhlYWRlci1tZWdhLW1lbnUtYm94LXNoYWRvdzogbnVsbCAhZGVmYXVsdDtcclxuJG1lbnUtZHJvcGRvd24tYXJyb3dzOiBmYWxzZSAhZGVmYXVsdDtcclxuJG1lbnUtZHJvcGRvd24tYXJyb3dzLXNpemU6IDEycHggIWRlZmF1bHQ7XHJcbiRtZW51LWdyb3VwLWRyb3Bkb3duLWFycm93czogdHJ1ZSAhZGVmYXVsdDtcclxuJG1lbnVzLWxpc3QtaXRlbS1saW5lLWhlaWdodDogJGRlZmF1bHQtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XHJcbiRtZW51cy1saXN0LWl0ZW0tYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGhvdmVyOiAkY29sb3VyNCxcclxuICAgIGFjdGl2ZTogJGNvbG91cjRcclxuKSAhZGVmYXVsdDtcclxuJG1lbnVzLWxpc3QtaXRlbS1jb2xvdXI6IChcclxuICAgIGhvdmVyOiAkY29sb3VyMSxcclxuICAgIGFjdGl2ZTogJGNvbG91cjFcclxuKSAhZGVmYXVsdDtcclxuJG1lbnVzLWxldmVsLTEtYm9yZGVyLWJvdHRvbTogKFxyXG4gICAgc21hbGw6IDFweCBzb2xpZCAkY29sb3VyMy0yXHJcbikgIWRlZmF1bHQ7XHJcbiRtZW51cy1sZXZlbC0yLWljb24tc2l6ZTogMjBweCAhZGVmYXVsdDtcclxuJG1lbnVzLWxldmVsLTItcGFkZGluZzogKFxyXG4gICAgc21hbGw6IDAgMCAxMHB4LFxyXG4gICAgbGFyZ2U6IDBcclxuKSAhZGVmYXVsdDtcclxuJG1lbnVzLWxldmVsLTItYm9yZGVyLXRvcDogKFxyXG4gICAgc21hbGw6IDFweCBzb2xpZCAkY29sb3VyMy0yXHJcbikgIWRlZmF1bHQ7XHJcbiRtZW51cy1sZXZlbC0yLWxpLWJvcmRlcjogKFxyXG4gICAgc21hbGw6IDBcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vIFZpZXcgTW9yZVxyXG4kbWVnYS1tZW51LXZpZXctbW9yZS1tYXJnaW46IChcclxuICAgIHNtYWxsOiBudWxsLFxyXG4gICAgbGFyZ2U6IG51bGxcclxuKSAhZGVmYXVsdDtcclxuJG1lZ2EtbWVudS12aWV3LW1vcmUtZm9udC1zdHlsZTogbm9ybWFsICFkZWZhdWx0O1xyXG4kbWVnYS1tZW51LXZpZXctbW9yZS1mb250LXdlaWdodDogNjAwICFkZWZhdWx0O1xyXG4kbWVnYS1tZW51LXZpZXctbW9yZS1mb250LXNpemU6IG51bGwgIWRlZmF1bHQ7XHJcbiRtZWdhLW1lbnUtdmlldy1tb3JlLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjIsXHJcbiAgICBob3ZlcjogJGNvbG91cjYsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI0LTJcclxuKSAhZGVmYXVsdDtcclxuJG1lZ2EtbWVudS1saW5rLWljb24tc2l6ZTogJG1lbnUtZHJvcGRvd24tYXJyb3dzLXNpemUgIWRlZmF1bHQ7XHJcbiRtZWdhLW1lbnUtbGluay1pY29uLXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiAwIDEwcHggMCAwLFxyXG4gICAgbGFyZ2U6IDAgMTBweCAwIDVweFxyXG4pICFkZWZhdWx0O1xyXG5cclxuXHJcblxyXG4vLyAtLS0gVHJlZSBtZW51IC0tLVxyXG4kdHJlZS1tZW51LWJyYW5jaC1jb2xvdXI6ICRjb2xvdXIxICFkZWZhdWx0O1xyXG4kdHJlZS1tZW51LWxldmVsLTEtbGFiZWwtcGFkZGluZzogKFxyXG4gICAgc21hbGw6IDEwcHggMCAxMHB4IDYuNjZweCxcclxuICAgIGxhcmdlOiAxMHB4IDAgMTBweCAyMHB4XHJcbikgIWRlZmF1bHQ7XHJcbiR0cmVlLW1lbnUtbGV2ZWwtMi1sYWJlbC1wYWRkaW5nOiAoIFxyXG4gICAgbGFyZ2U6IDEwcHggMCAxMHB4IDcwcHhcclxuKSAhZGVmYXVsdDtcclxuJHRyZWUtbWVudS1sZXZlbC1sYWJlbC10ZXh0LW1hcmdpbjogMjBweCAhZGVmYXVsdDtcclxuJHRyZWUtbWVudS1ub2RlLXN0YXR1cy1pY29uLXNpemU6IDI1cHggIWRlZmF1bHQ7XHJcbiR0cmVlLW1lbnUtbm9kZS1zdGF0dXMtaWNvbi1mb250LXNpemU6ICRtZWdhLW1lbnUtbGluay1pY29uLXNpemUgIWRlZmF1bHQ7XHJcbiR0cmVlLW1lbnUtbm9kZS1zZXBlcmF0b3ItYm9yZGVyOiAycHggc29saWQgJHRyZWUtbWVudS1icmFuY2gtY29sb3VyICFkZWZhdWx0O1xyXG4kdHJlZS1tZW51LWNvbnRlbnQtaWNvbi13aWR0aDogMzBweCAhZGVmYXVsdDsgXHJcbiR0cmVlLW1lbnUtY29udGVudC1pY29uLXNpemU6IDIwcHggIWRlZmF1bHQ7XHJcbiR0cmVlLW1lbnUtZXhwYW5kLWFsbC1pY29uLWZvbnQtc2l6ZTogKCRtZWdhLW1lbnUtbGluay1pY29uLXNpemUgLSA0KSAhZGVmYXVsdDtcclxuJHRyZWUtbWVudS1hc3NldHMtcm9vdC1sYWJlbC1iYWNrZ3JvdW5kLWNvbG91cjogJGNvbG91cjQtMiAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLSBUcmVlIE1lbnUgKCBhc3NldHMgKSAtLS1cclxuJHRyZWUtbWVudS1hc3NldHMtYmFja2dyb3VuZC1jb2xvdXI6ICRjb2xvdXI0LTYgIWRlZmF1bHQ7XHJcbi8vIC0tLSBGdW5jdGlvbnMgTGlzdCAtLS0gXHJcbiRmdW5jdGlvbnMtbWVudS1pdGVtLXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiA1cHggNXB4IDVweCAwXHJcbikgIWRlZmF1bHQ7XHJcbiRmdW5jdGlvbnMtbWVudS1hcnJvdy1zaXplOiAkbWVudS1kcm9wZG93bi1hcnJvd3Mtc2l6ZSAhZGVmYXVsdDtcclxuLy8gLS0tLS0gVGFibGVzIC0tLS0tXHJcbiR0YWJsZS1wcmVzZXQtMS1tYXJnaW46IChcclxuICAgIHNtYWxsOiAxMHB4IDAsXHJcbiAgICBsYXJnZTogMTVweCAwXHJcbikgIWRlZmF1bHQ7XHJcbi8vIFRhYmxlIFJvdyBOb3RpZmljYXRpb25zICggTWFuYWdlIENhbGxzICkgXHJcbiR0YWJsZS1yb3ctbm90aWZpY2F0aW9uLXdpZHRoOiAoXHJcbiAgICBkZWZhdWx0OiAycHgsXHJcbiAgICBob3ZlcjogNnB4XHJcbikgIWRlZmF1bHQ7XHJcbiR0YWJsZS1yb3ctbm90aWZpY2F0aW9uLWZvbnQtc2l6ZTogMTQgIWRlZmF1bHQ7XHJcbiR0YWJsZS1yb3ctbm90aWZpY2F0aW9uLWZvbnQtd2VpZ2h0OiA2MDAgIWRlZmF1bHQ7XHJcbiR0YWJsZS1yb3ctbm90aWZpY2F0aW9uLWZvbnQtc3R5bGU6IGl0YWxpYyAhZGVmYXVsdDtcclxuLy8gUm93IFRvZ2dsZS5cclxuJHRhYmxlLXJvdy10b2dnbGUtYm9yZGVyLXdpZHRoOiAycHggIWRlZmF1bHQ7XHJcbi8vIFRhYmxlIEhlYWRcclxuJHRoZWFkLWJvcmRlci1jb2xvdXI6ICRoZWFkaW5nLXJ1bGUtY29sb3VyICFkZWZhdWx0O1xyXG4kdGhlYWQtdGgtY29tbW9uLWZvbnQtZmFtaWx5OiBnZXQtdHlwb2dyYXBoeS1mb250LWZhbWlseSgpICFkZWZhdWx0O1xyXG4kdGhlYWQtdGgtY29tbW9uLWxldHRlci1zcGFjaW5nOiBudWxsICFkZWZhdWx0O1xyXG4kdGhlYWQtcHJlc2V0LTE6IChcclxuICAgIHBhZGRpbmc6IDAgNXB4IDEwcHgsIFxyXG4gICAgZm9udC1zaXplOiAxNSxcclxuICAgIGZvbnQtd2VpZ2h0OiA3MDAsXHJcbiAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTApLFxyXG4gICAgcm93LWJvcmRlcjogJGNvbW1vbi1ydWxlLXdlaWdodCBzb2xpZCAkdGhlYWQtYm9yZGVyLWNvbG91cixcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIwLFxyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyLFxyXG4gICAgdGV4dC10cmFuZm9ybTogbm9uZVxyXG4pICFkZWZhdWx0O1xyXG4vLyBQcmltYXJpbHkgdXNlZCBmb3IgdGhlIGJhc2tldC5cclxuJHRoZWFkLXByZXNldC0yOiAoXHJcbiAgICBwYWRkaW5nOiAwIDAgMjBweCxcclxuICAgIGZvbnQtc2l6ZTogMTQsXHJcbiAgICBmb250LXdlaWdodDogNjAwLFxyXG4gICAgY29sb3I6ICRjb2xvdXIyLFxyXG4gICAgcm93LWJvcmRlcjogJGNvbW1vbi1ydWxlLXdlaWdodCBzb2xpZCAkdGhlYWQtYm9yZGVyLWNvbG91cixcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIwXHJcbikgIWRlZmF1bHQ7XHJcbi8vIFNvcnRpbmdcclxuJHRoZWFkLXNvcnRpbmctYnV0dG9uLWljb24tc2l6ZTogKCRtZW51LWRyb3Bkb3duLWFycm93cy1zaXplIC0gMik7XHJcbi8vIFRhYmxlIEJvZHlcclxuJHRib2R5LXJvdy1ib3JkZXItY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtNyksXHJcbiAgICBob3ZlcjogJHRoZWFkLWJvcmRlci1jb2xvdXJcclxuKSAhZGVmYXVsdDtcclxuJHRib2R5LW1hcmdpbjogMTBweCAhZGVmYXVsdDtcclxuJHRib2R5LXJvdy1ib3JkZXItc3BhY2luZzogMCAxMHB4ICFkZWZhdWx0O1xyXG4kdGJvZHktcm93LWhvdmVyLWJhY2tncm91bmQtY29sb3VyOiAkY29sb3VyMSAhZGVmYXVsdDtcclxuJHRib2R5LWFuY2hvci1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIzLTYsXHJcbiAgICBob3ZlcjogJGNvbG91cjYsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI0XHJcbikgIWRlZmF1bHQ7XHJcbiR0Ym9keS1hbmNob3ItZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcclxuJHRib2R5LWFuY2hvci1mb250LXNpemU6IG1hcC1nZXQoJHRoZWFkLXByZXNldC0xLCBmb250LXNpemUpICFkZWZhdWx0O1xyXG4kdGJvZHktc3RyaXBlZC1yb3ctYmFja2dyb3VuZC1jb2xvdXI6ICRjb2xvdXIzLTUgIWRlZmF1bHQ7XHJcbi8vIFJvd3NcclxuLy8gU3BhY2luZyBiZXR3ZWVuIHJvdywgdGhpcyBnZXRzIHVzZWQgZGlmZmVyZW50bHkgZGVwZW5kaW5nIG9uIHdoYXQgZWZmZWN0cyBhcmUgYXBwbGllZCB0byB0aGUgdGFibGUgKCBpLmUgaWYgeW91J3JlIHNob3cgcnVsZXMgYmV0d2VlbiByb3cgKVxyXG4kdGFibGUtcm93LWJvdHRvbS1zcGFjaW5nOiAxMHB4ICFkZWZhdWx0O1xyXG4vLyBUYWJsZSBmb290ZXIgc3BhY2VyLlxyXG4kdGFibGUtZm9vdGVyLXNwYWNlci1tYXJnaW4tYm90dG9tLXByZXNldC0xOiAoXHJcbiAgICBzbWFsbDogMTVweCxcclxuICAgIGxhcmdlOiA0MHB4XHJcbikgIWRlZmF1bHQ7XHJcbiR0YWJsZS1mb290ZXItc3BhY2VyLW1hcmdpbi1ib3R0b20tcHJlc2V0LTI6IChcclxuICAgIHNtYWxsOiAxMHB4LFxyXG4gICAgbGFyZ2U6IDIwcHhcclxuKSAhZGVmYXVsdDtcclxuLy8gUERGIFRhYmxlIEFuY2hvcnNcclxuJHBkZi10YWJsZS1hbmNob3ItbWFyZ2luOiAxNXB4ICFkZWZhdWx0O1xyXG4vLyBPcmRlciBUYWJsZSAoIFByaW1hcmx5IHVzZWQgZm9yIGJhc2tldCwgdmlldyBvcmRlciAmIGNoZWNrb3V0IGNvbXBsZXRlIClcclxuJG9yZGVyLW1vYmlsZS1yb3ctcGFkZGluZzogNXB4IDAgIWRlZmF1bHQ7XHJcbiRvcmRlci10YWJsZS1pbWFnZS1kaW1lbnRpb25zOiAoXHJcbiAgICBzbWFsbDogMTU1cHgsXHJcbiAgICBsYXJnZTogJHRhYmxlLWltYWdlLXNpemVcclxuKSAhZGVmYXVsdDtcclxuJG9yZGVyLXRhYmxlLWltYWdlLWJvcmRlcjogMXB4IHNvbGlkICRjb2xvdXIzLTUgIWRlZmF1bHQ7XHJcbi8vICRvcmRlci10YWJsZS1jb2RlLWZvbnQtc2l6ZTogJHBhcmFncmFwaC1mb250LXNpemUgIWRlZmF1bHQ7XHJcbiRvcmRlci10YWJsZS1jb2RlLWZvbnQtd2VpZ2h0OiA0MDAgIWRlZmF1bHQ7XHJcbiRvcmRlci10YWJsZS1wcmljZS1mb250LXNpemU6ICRwYXJhZ3JhcGgtZm9udC1zaXplICFkZWZhdWx0O1xyXG4kb3JkZXItdGFibGUtcHJpY2UtZm9udC13ZWlnaHQ6IDQwMCAhZGVmYXVsdDtcclxuJG9yZGVyLXRhYmxlLXN1Yi10b3RhbC1mb250LXdlaWdodDogNjAwICFkZWZhdWx0O1xyXG4kb3JkZXItdGFibGUtc3ViLXRvdGFsLWNvbG91cjogJGNvbG91cjQgIWRlZmF1bHQ7XHJcbiRvcmRlci10YWJsZS1yZW1vdmUtYnV0dG9uLXNpemU6IDgwcHggIWRlZmF1bHQ7XHJcbiRvcmRlci10YWJsZS1yZW1vdmUtaWNvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIzLTIsXHJcbiAgICBob3ZlcjogJGNvbG91cjYsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI0XHJcbikgIWRlZmF1bHQ7XHJcbi8vIC0tLSBDb21wYXJpc29uIFRhYmxlIC0tLSBcclxuJGNvbXBhcmlzb24tdGFibGUtZmlyc3QtY29sdW1uLXdpZHRoOiAoXHJcbiAgICBzbWFsbDogNTglLFxyXG4gICAgbGFyZ2U6IDE1JVxyXG4pICFkZWZhdWx0O1xyXG4kY29tcGFyaXNvbi10YWJsZS1tb2JpbGUtdmFsdWVzLWJvcmRlcjogMXB4IHNvbGlkICRjb2xvdXIzO1xyXG4kY29tcGFyaXNvbi10YWJsZS1tb2JpbGUtc2VwZXJhdG9yOiAxcHggc29saWQgJGNvbG91cjMtMSAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLS0tIENNUyBDb250ZW50IC0tLS0tIFxyXG4kZGVmYXVsdC1jbXMtdHlwb2dyYXBoeS1tYXJnaW46IDAgIWRlZmF1bHQ7XHJcbiRkZWZhdWx0LWNtcy1jb3B5LWNvbG91cjogJGJvZHktZm9udC1jb2xvdXIgIWRlZmF1bHQ7XHJcbiRkZWZhdWx0LWNtcy1saW5lLWhlaWdodDogJGRlZmF1bHQtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XHJcbiRjbXMtaGVhZGluZy1mb250LWZhbWlseTogbnVsbCAhZGVmYXVsdDtcclxuLy8gQ01TIGhlYWRpbmcgZm9udCBzaXplXHJcbiRjbXMtaGVhZGluZy1mb250LXNpemU6IChcclxuICAgIGgxOiBtYXAtZ2V0KCRoZWFkaW5nLTEtZm9udC1zaXplLCBwcmVzZXQtMSkgKyAxMCxcclxuICAgIGgyOiBtYXAtZ2V0KCRoZWFkaW5nLTItZm9udC1zaXplLCBwcmVzZXQtMSkgKyAxMixcclxuICAgIGgzOiBtYXAtZ2V0KCRoZWFkaW5nLTMtZm9udC1zaXplLCBwcmVzZXQtMSkgKyA3LFxyXG4gICAgaDQ6ICRwYXJhZ3JhcGgtZm9udC1zaXplICsgNyxcclxuICAgIGg1OiAkcGFyYWdyYXBoLWZvbnQtc2l6ZSArIDMsXHJcbiAgICBoNjogJHBhcmFncmFwaC1mb250LXNpemVcclxuKSAhZGVmYXVsdDtcclxuLy8gQ01TIGhlYWRpbmdzIGZvbnQgd2VpZ2h0XHJcbiRjbXMtaGVhZGluZy1mb250LXdlaWdodDogKFxyXG4gICAgaDE6IDYwMCxcclxuICAgIGgyOiA2MDAsXHJcbiAgICBoMzogNjAwLFxyXG4gICAgaDQ6IDQwMCxcclxuICAgIGg1OiA0MDAsXHJcbiAgICBoNjogNDAwXHJcbikgIWRlZmF1bHQ7XHJcbiRjbXMtaGVhZGluZy1mb250LXN0eWxlOiAoXHJcbiAgICBoMTogbm9ybWFsLFxyXG4gICAgaDI6IG5vcm1hbCxcclxuICAgIGgzOiBub3JtYWwsXHJcbiAgICBoNDogbm9ybWFsLFxyXG4gICAgaDU6IG5vcm1hbCxcclxuICAgIGg2OiBub3JtYWxcclxuKSAhZGVmYXVsdDtcclxuLy8gQ01TIGhlYWRpbmcgbWFyZ2luc1xyXG4kY21zLWhlYWRpbmctbWFyZ2luOiAoXHJcbiAgICBoMTogMjVweCAwIDIwcHgsXHJcbiAgICBoMjogMjVweCAwIDIwcHgsXHJcbiAgICBoMzogMjVweCAwIDEwcHgsXHJcbiAgICBoNDogMjVweCAwIDEwcHgsXHJcbiAgICBoNTogMTVweCAwIDEwcHgsXHJcbiAgICBoNjogMTVweCAwXHJcbikgIWRlZmF1bHQ7XHJcbiRjbXMtaGVhZGluZy1wYWRkaW5nOiAoXHJcbiAgICBoMTogbnVsbCxcclxuICAgIGgyOiBudWxsLFxyXG4gICAgaDM6IDE1cHggMCxcclxuICAgIGg0OiAwIDAgMTBweCxcclxuICAgIGg1OiBudWxsLFxyXG4gICAgaDY6IG51bGxcclxuKSAhZGVmYXVsdDtcclxuLy8gQ01TIGhlYWRpbmcgY29sb3Vycy5cclxuJGNtcy1oZWFkaW5nLWNvbG91cjogKFxyXG4gICAgaDE6ICRjb2xvdXI0LFxyXG4gICAgaDI6ICRjb2xvdXI0LFxyXG4gICAgaDM6ICRjb2xvdXI2LFxyXG4gICAgaDQ6ICRjb2xvdXI0LFxyXG4gICAgaDU6ICRkZWZhdWx0LWNtcy1jb3B5LWNvbG91cixcclxuICAgIGg2OiAkZGVmYXVsdC1jbXMtY29weS1jb2xvdXJcclxuKSAhZGVmYXVsdDtcclxuJGNtcy1oZWFkaW5nLXRleHQtdHJhbnNmb3JtOiAoXHJcbiAgICBoMTogbnVsbCxcclxuICAgIGgyOiBudWxsLFxyXG4gICAgaDM6IG51bGwsXHJcbiAgICBoNDogbnVsbCxcclxuICAgIGg1OiBudWxsLFxyXG4gICAgaDY6IG51bGxcclxuKSAhZGVmYXVsdDtcclxuLy8gQ01TIGhlYWRpbmcgbGluZS1oZWlnaHQuXHJcbiRjbXMtaGVhZGluZy1saW5lLWhlaWdodDogJGRlZmF1bHQtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XHJcbi8vIFBhcmFncmFwaFxyXG4kY21zLXBhcmFncmFwaC1tYXJnaW46ICRkZWZhdWx0LWNtcy10eXBvZ3JhcGh5LW1hcmdpbiAhZGVmYXVsdDtcclxuJGNtcy1wYXJhZ3JhcGgtc2libGluZy1tYXJnaW46IHNwYWNpbmctdmFsdWUoJGRlZmF1bHQtY21zLXR5cG9ncmFwaHktbWFyZ2luLCAxKSAhZGVmYXVsdDtcclxuJGNtcy1wYXJhZ3JhcGgtZm9udC1zaXplOiAkcGFyYWdyYXBoLWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuJGNtcy1wYXJhZ3JhcGgtbGluZS1oZWlnaHQ6ICRkZWZhdWx0LWNtcy1saW5lLWhlaWdodCAhZGVmYXVsdDtcclxuJGNtcy1wYXJhZ3JhcGgtZm9udC13ZWlnaHQ6IDQwMCAhZGVmYXVsdDtcclxuJGNtcy1wYXJhZ3JhcGgtY29sb3VyOiAkZGVmYXVsdC1jbXMtY29weS1jb2xvdXIgIWRlZmF1bHQ7XHJcbiRjbXMtcGFyYWdyYXBoLXN0cm9uZy1mb250LXdlaWdodDogbnVsbCAhZGVmYXVsdDtcclxuJGNtcy1wYXJhZ3JhcGgtc3Ryb25nLWxpbmUtaGVpZ2h0OiBudWxsICFkZWZhdWx0O1xyXG4vLyBBbmNob3JcclxuJGNtcy1hbmNob3Itd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XHJcbiRjbXMtYW5jaG9yLWNvbnRhY3Qtd2VpZ2h0OiAkY21zLWFuY2hvci13ZWlnaHQgIWRlZmF1bHQ7XHJcbiRjbXMtYW5jaG9yLXNpemU6ICRjbXMtcGFyYWdyYXBoLWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuJGNtcy1hbmNob3ItY29udGFjdC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI0LFxyXG4gICAgaG92ZXI6ICRjb2xvdXI2LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyMy0zXHJcbikgIWRlZmF1bHQ7XHJcbiRjbXMtYW5jaG9yLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTApLFxyXG4gICAgaG92ZXI6IHZhcigtLXNlY29uZGFyeS1jb2xvdXItbGlnaHRuZXNzLTApLFxyXG4gICAgYWN0aXZlOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMilcclxuKSAhZGVmYXVsdDtcclxuLy8gTGlzdHMgXHJcbiRjbXMtbGlzdC1tYXJnaW46IDEwcHggIWRlZmF1bHQ7XHJcbiRjbXMtbGlzdC1saW5lLWhlaWdodDogJGRlZmF1bHQtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XHJcbiRjbXMtbGlzdC1wYWRkaW5nOiAwIDI1cHggIWRlZmF1bHQ7XHJcbi8vIFRhYmxlc1xyXG4kY21zLXRhYmxlLXNpYmxpbmctbWFyZ2luOiAxNXB4IDAgIWRlZmF1bHQ7XHJcbiRjbXMtdGFibGUtaGVhZGVyLWNvbHVtbi1wYWRkaW5nOiAxMHB4IDEwcHggMTBweCAhZGVmYXVsdDtcclxuJGNtcy10YWJsZS1jb2x1bW4tcGFkZGluZzogMTBweCAhZGVmYXVsdDtcclxuJGNtcy10YWJsZS10ZXh0LWFsaWduOiBsZWZ0ICFkZWZhdWx0O1xyXG4kY21zLXRhYmxlLWhlYWQtZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcclxuLy8gRmluZCBvdXQgbW9yZSBidXR0b24uXHJcbiRjbXMtcm0tbWFyZ2luOiAyMHB4IDAgMCAhZGVmYXVsdDtcclxuJGNtcy1ybS1wYWRkaW5nOiAwICFkZWZhdWx0O1xyXG4kcmVhZC1tb3JlLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjMtNlxyXG4pICFkZWZhdWx0O1xyXG4kcmVhZC1tb3JlLWZvbnQtc2l6ZTogMTYgIWRlZmF1bHQ7XHJcbiRyZWFkLW1vcmUtZm9udC13ZWlnaHQ6IDYwMCAhZGVmYXVsdDtcclxuJHJlYWQtbW9yZS1mb250LXN0eWxlOiBub3JtYWwgIWRlZmF1bHQ7XHJcbiRyZWFkLW1vcmUtdGV4dC10cmFuc2Zvcm06IG5vbmUgIWRlZmF1bHQ7XHJcbiRyZWFkLW1vcmUtc3VmZml4LWljb246IGZhbHNlICFkZWZhdWx0O1xyXG4kcmVhZC1tb3JlLXN1ZmZpeC1jdXN0b20taWNvbjogJHNpdGUtaWNvbnMtY3VzdG9tLWNoZXZyb25zICFkZWZhdWx0O1xyXG4kcmVhZC1tb3JlLXN1ZmZpeC1pY29uLXNpemU6ICRtZW51LWRyb3Bkb3duLWFycm93cy1zaXplICFkZWZhdWx0O1xyXG4kY21zLXJtLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjQsXHJcbiAgICBob3ZlcjogJGNvbG91cjYsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI0LTFcclxuKSAhZGVmYXVsdDtcclxuJHJlYWQtbW9yZS1zdWZmaXgtaWNvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI2LFxyXG4gICAgaG92ZXI6IGhvdmVyLWNvbG91cigkY21zLXJtLWNvbG91ciksXHJcbiAgICBhY3RpdmU6IGFjdGl2ZS1jb2xvdXIoJGNtcy1ybS1jb2xvdXIpXHJcbikgIWRlZmF1bHQ7XHJcbiRjbXMtcm0tYm9yZGVyLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjAsXHJcbiAgICBob3ZlcjogJGNvbG91cjAgXHJcbikgIWRlZmF1bHQ7XHJcbiRjbXMtcm0tYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIwLFxyXG4gICAgaG92ZXI6ICRjb2xvdXIwLFxyXG4gICAgYWN0aXZlOiAkY29sb3VyMCBcclxuKSAhZGVmYXVsdDtcclxuJGNtLXJtLXRleHQtZGVjb3JhdGlvbjogKFxyXG4gICAgZGVmYXVsdDogbm9uZSxcclxuICAgIGhvdmVyOiBpZigkcmVhZC1tb3JlLXN1ZmZpeC1pY29uLCBub25lLCB1bmRlcmxpbmUpXHJcbikgIWRlZmF1bHQ7XHJcbi8vIEJsb2NrcXVvdGVcclxuJGNtcy1ibG9ja3F1b3RlLXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiA1MHB4IDMwcHgsXHJcbiAgICBsYXJnZTogNTBweCA2MHB4XHJcbikgIWRlZmF1bHQ7XHJcbiRjbXMtYmxvY2txdW90ZS1pY29uLXBhZGRpbmc6IDEwcHggIWRlZmF1bHQ7XHJcbiRjbXMtYmxvY2txdW90ZS1pY29uLXNpemU6IDQwcHggIWRlZmF1bHQ7XHJcbiRjbXMtYmxvY2txdW90ZS1pY29uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjMsXHJcbiAgICBob3ZlcjogJGNvbG91cjMtMVxyXG4pICFkZWZhdWx0O1xyXG4kY21zLWJsb2NrcXVvdGUtZm9udC1zaXplOiAkcGFyYWdyYXBoLWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuJGNtcy1ibG9ja3F1b3RlLWxldHRlci1zcGFjaW5nOiBudWxsICFkZWZhdWx0O1xyXG4vLyBDb2RlIGJsb2NrLlxyXG4kY21zLWNvZGUtYmxvY2stcGFkZGluZzogKFxyXG4gICAgc21hbGw6IDEwcHggMTBweCxcclxuICAgIGxhcmdlOiAxMHB4IDM1cHhcclxuKSAhZGVmYXVsdDtcclxuLy8gSW1hZ2VcclxuJGNtcy1pbWFnZS1zcGFjaW5nOiAxMHB4IGF1dG8gIWRlZmF1bHQ7XHJcbi8vIC0tLSBSZWFkIE1vcmUgLS0tIFxyXG4kZGVmYXVsdC1ybS1mYWRlLW9wYWNpdHk6IDBweCAhZGVmYXVsdDtcclxuJGNtcy1ybS1mYWRlLW9wYWNpdHk6ICRkZWZhdWx0LXJtLWZhZGUtb3BhY2l0eSAhZGVmYXVsdDtcclxuJG1vZHVsZXMtcm0tZmFkZS1vcGFjaXR5OiAkZGVmYXVsdC1ybS1mYWRlLW9wYWNpdHkgIWRlZmF1bHQ7XHJcbiRyZWFkLW1vcmUtZmFkZS1jb2xvdXI6ICRjb2xvdXIyICFkZWZhdWx0O1xyXG4kcmVhZC1tb3JlLWZlYXRoZXItZGVmYXVsdDogNTBweCAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLSBDb250ZW50IGxvYWRpbmcgb3ZlcmxheSAtLS0gXHJcbiRjb250ZW50LWluaXRpYWxpc2luZy1iYWNrZ3JvdW5kLWNvbG91cjogJGNvbG91cjEgIWRlZmF1bHQ7XHJcbiRjb250ZW50LWluaXRpYWxpc2luZy1zcGlubmVyLWNvbG91cjogJGNvbG91cjMtMyAhZGVmYXVsdDtcclxuJGNvbnRlbnQtaW5pdGlhbGlzaW5nLXNwaW5uZXItc2l6ZTogNTBweCAhZGVmYXVsdDtcclxuJGNvbnRlbnQtaW5pdGlhbGlzaW5nLXNwaW5uZXItd2VpZ2h0OiA0cHggIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0gQUpBWCBCbG9ja2VyIC0tLSBcclxuJGFqYXgtc3Bpbm5lci1jb2xvdXI6ICRjb2xvdXI0ICFkZWZhdWx0O1xyXG4kdWktYmxvY2stYmFja2dyb3VuZDogcmdiYSgkY29sb3VyMywgMC42KSAhZGVmYXVsdDtcclxuXHJcbi8vIEdlbmVyYWwgRXJyb3Igc3R5bGVzLlxyXG4vLyBFcnJvciBibG9ja3MgYXJlIGdlbmVyYXRlZCBieSB0aGUgc2VydmVyIGFuZCBhcmUgdHlwaWNhbGx5IHBvc2l0aW9uZWQgYXQgdGhlIHRvcCBvciB0aGUgYm90dG9tIG9mIGEgZm9ybS5cclxuJGVycm9yLWJsb2NrLWZvbnQtc2l6ZTogJHBhcmFncmFwaC1mb250LXNpemUgIWRlZmF1bHQ7XHJcbi8vIEFkdmFuY2VkIHZhbGlkYXRpb24gZXJyb3Igc3R5bGVzLlxyXG4kYWR2YW5jZWQtdmFsaWRhdGlvbi1kZWZhdWx0LWNvbG91cjogJGNvbG91cjIgIWRlZmF1bHQ7XHJcbiRhZHZhbmNlZC12YWxpZGF0aW9uLWRlZmF1bHQtaWNvbi1jb2xvdXI6IHJnYmEoJGNvbG91cjMtNiwgMC43KSAhZGVmYXVsdDtcclxuJGFkdmFuY2VkLXZhbGlkYXRpb24tZm9udC1zaXplOiAkcGFyYWdyYXBoLWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuJGFkdmFuY2VkLXZhbGlkYXRpb24tZm9udC13ZWlnaHQ6IDYwMCAhZGVmYXVsdDtcclxuJGFkdmFuY2VkLXZhbGlkYXRpb24tZm9udC1zdHlsZTogaXRhbGljICFkZWZhdWx0O1xyXG4kYWR2YW5jZWQtdmFsaWRhdGlvbi1pY29uLXNpemU6IDE1cHggIWRlZmF1bHQ7XHJcbiRhZHZhbmNlZC12YWxpZGF0aW9uLWljb24taW52YWxpZC1jb2xvdXI6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMCkgIWRlZmF1bHQ7XHJcbiRhZHZhbmNlZC12YWxpZGF0aW9uLWljb24tdmFsaWQtY29sb3VyOiBtYXAtZ2V0KCRzdWNjZXNzLWNvbG91ciwgMCkgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0gQnV0dG9ucyAtLS0gXHJcbi8vIE5lZWRzIHNvbWUgc29ydCBvZiBrbm9jayBiYWNrIGZvciBncmV5ZWQgb3V0IGVmZmVjdCB0byB3b3JrLlxyXG4kYnV0dG9uLWRpc2FibGVkLW9wYWNpdHk6IC40ICFkZWZhdWx0OztcclxuLy8gQWRkIHRvIGJhc2tldCAoIGljb24gb25seSApXHJcbiRhZGQtdG8tYmFza2V0LWljb24td2lkdGg6IDM1cHggIWRlZmF1bHQ7XHJcbiRhZGQtdG8tYmFza2V0LWljb24taGVpZ2h0OiAkYWRkLXRvLWJhc2tldC1pY29uLXdpZHRoICFkZWZhdWx0O1xyXG4kYWRkLXRvLWJhc2tldC1pY29uLXNpemU6IDIzcHggIWRlZmF1bHQ7XHJcbi8vIFN0YW5kYXJkIGJ1dHRvbiBcclxuJGJhc2tldC1idXR0b24td2lkdGg6IDEwMCUgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtYnV0dG9uLXBhZGRpbmc6IDE1cHggMTBweCAhZGVmYXVsdDtcclxuJGJhc2tldC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI0LTEsIFxyXG4gICAgaG92ZXI6ICRjb2xvdXI2LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNCxcclxuICAgIGRpc2FibGVkOiAkY29sb3VyMVxyXG4pICFkZWZhdWx0O1xyXG4kYmFza2V0LWJ1dHRvbi1pY29uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogbWFwLWdldCgkYmFza2V0LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCksXHJcbiAgICBob3ZlcjogbWFwLWdldCgkYmFza2V0LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgaG92ZXIpLFxyXG4gICAgYWN0aXZlOiBtYXAtZ2V0KCRiYXNrZXQtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBhY3RpdmUpLFxyXG4gICAgZGlzYWJsZWQ6IG1hcC1nZXQoJGJhc2tldC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGRpc2FibGVkKVxyXG4pICFkZWZhdWx0O1xyXG4kYmFza2V0LWJ1dHRvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIxLFxyXG4gICAgaG92ZXI6ICRjb2xvdXIxLFxyXG4gICAgZGlzYWJsZWQ6IG1hcC1nZXQoJGlucHV0LWNvbG91ciwgZGlzYWJsZWQpXHJcbikgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtYnV0dG9uLWJvcmRlcjogKFxyXG4gICAgZGVmYXVsdDogbWFwLWdldCgkYmFza2V0LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCksIFxyXG4gICAgaG92ZXI6IG1hcC1nZXQoJGJhc2tldC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGhvdmVyKSxcclxuICAgIGFjdGl2ZTogbWFwLWdldCgkYmFza2V0LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgYWN0aXZlKSxcclxuICAgIGRpc2FibGVkOiBtYXAtZ2V0KCRpbnB1dC1ib3JkZXItY29sb3VyLCBkaXNhYmxlZClcclxuKSAhZGVmYXVsdDtcclxuLy8kYmFza2V0LWJ1dHRvbi1mb250LXdlaWdodDogJGNvbW1vbi1idXR0b24tZm9udC13ZWlnaHQgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtYnV0dG9uLWZvbnQtc2l6ZTogMTggIWRlZmF1bHQ7XHJcbi8vIEZhdm91cml0ZXNcclxuJGZhdm91cml0ZXMtaWNvbi1zaXplOiAkYWRkLXRvLWJhc2tldC1pY29uLXNpemUgIWRlZmF1bHQ7XHJcbiRmYXZvdXJpdGVzLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjYsXHJcbiAgICBob3ZlcjogJGNvbG91cjYsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI2XHJcbikgIWRlZmF1bHQ7XHJcbiRmYXZvdXJpdGVzLWJ1dHRvbi13aWR0aDogJGFkZC10by1iYXNrZXQtaWNvbi13aWR0aCAhZGVmYXVsdDtcclxuJGZhdm91cml0ZXMtYnV0dG9uLWhlaWdodDogJGZhdm91cml0ZXMtYnV0dG9uLXdpZHRoICFkZWZhdWx0O1xyXG5cclxuJGZhdm91cml0ZXMtYnV0dG9uLWxhYmVsLWZvbnQtc2l6ZTogKCRwYXJhZ3JhcGgtZm9udC1zaXplIC0gMSkgIWRlZmF1bHQ7XHJcbiRmYXZvdXJpdGVzLWJ1dHRvbi1sYWJlbC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRib2R5LWZvbnQtY29sb3VyLFxyXG4gICAgaG92ZXI6ICRjb2xvdXI2XHJcbikgIWRlZmF1bHQ7XHJcbiRmYXZvdXJpdGVzLWJ1dHRvbi1sYWJlbC10ZXh0LXRyYW5zZm9ybTogbnVsbCAhZGVmYXVsdDtcclxuJGZhdm91cml0ZXMtYnV0dG9uLWxhYmVsLWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XHJcblxyXG4kZmF2b3VyaXRlc1ByZXNldHIySWNvblNpemU6IDE4cHg7XHJcbi8vIE1haWxpbmcgQnV0dG9uLlxyXG4kbWFpbGluZy1idXR0b24tc3VibWl0LXdpZHRoOiA0MHB4ICFkZWZhdWx0O1xyXG4kbWFpbGluZy1idXR0b24tbWFyZ2luOiAoXHJcbiAgICBzbWFsbDogNXB4IDAgMCxcclxuICAgIG1lZGl1bTogMFxyXG4pICFkZWZhdWx0O1xyXG4kbWFpbGluZy1idXR0b24tcGFkZGluZzogMCA1cHggIWRlZmF1bHQ7XHJcbiRtYWlsaW5nLWJ1dHRvbi1pY29uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogcmdiYSgkY29sb3VyNCwgMC42KSxcclxuICAgIGhvdmVyOiAkY29sb3VyMSxcclxuICAgIGFjdGl2ZTogJGNvbG91cjFcclxuKSAhZGVmYXVsdDsgXHJcbiRtYWlsaW5nLWJ1dHRvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IG1hcC1nZXQoJG1haWxpbmctYnV0dG9uLWljb24tY29sb3VyLCBkZWZhdWx0KSxcclxuICAgIGhvdmVyOiBtYXAtZ2V0KCRtYWlsaW5nLWJ1dHRvbi1pY29uLWNvbG91ciwgaG92ZXIpLFxyXG4gICAgYWN0aXZlOiBtYXAtZ2V0KCRtYWlsaW5nLWJ1dHRvbi1pY29uLWNvbG91ciwgYWN0aXZlKVxyXG4pICFkZWZhdWx0O1xyXG4vLyBJZiB3YW50IHRoZSBpbnB1dCBmaWVsZCBhbmQgdGhlIGJ1dHRvbiB0byBhcHBlYXIgYXMgc2VwZXJhdGUgZWxlbWVudHMuXHJcbiRtYWlsaW5nLWxpc3QtaW5wdXQtYnV0dG9uLXNlcGVyYXRlLWVsZW1lbnRzOiBmYWxzZSAhZGVmYXVsdDtcclxuJG1haWxpbmctYnV0dG9uLWJvcmRlcjogMXB4IDFweCAxcHggMCAhZGVmYXVsdDtcclxuJG1haWxpbmctYnV0dG9uLWJvcmRlci1yYWRpdXM6IDAgIWRlZmF1bHQ7XHJcbiRtYWlsaW5nLWJ1dHRvbi1ib3JkZXItY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBtYXAtZ2V0KCRpbnB1dC1ib3JkZXItY29sb3VyLCBkZWZhdWx0KSxcclxuICAgIGhvdmVyOiBtYXAtZ2V0KCRpbnB1dC1ib3JkZXItY29sb3VyLCBkZWZhdWx0KSxcclxuICAgIGFjdGl2ZTogbWFwLWdldCgkaW5wdXQtYm9yZGVyLWNvbG91ciwgYWN0aXZlKVxyXG4pICFkZWZhdWx0O1xyXG4kbWFpbGluZy1idXR0b24tYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIxLFxyXG4gICAgaG92ZXI6IHJnYmEoJGNvbG91cjQsIDAuNiksXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI2XHJcbikgIWRlZmF1bHQ7XHJcbiRtYWlsaW5nLWJ1dHRvbi1mb250LXNpemU6IG51bGwgIWRlZmF1bHQ7XHJcbiRtYWlsaW5nLWxpc3QtYnV0dG9uLXRleHQtdHJhbnNmb3JtOiBub25lICFkZWZhdWx0O1xyXG4kbWFpbGluZy1saXN0LWlucHV0LWJvcmRlcjogMXB4IDAgMXB4IDFweCAhZGVmYXVsdDtcclxuJG1haWxpbmctbGlzdC1pbnB1dC1ib3JkZXItcmFkaXVzOiAwICFkZWZhdWx0O1xyXG4vLyAtLS0gUHJpbnQgZWxlbWVudHMgYnV0dG9uIC0tLVxyXG4vLyBDb2xvdXJzLi4uLi5cclxuJHByaW50LWVsZW1lbnRzLWJ1dHRvbi1jb2xvdXI6ICRzZWNvbmRhcnktYnV0dG9uLWNvbG91ciAhZGVmYXVsdDtcclxuJHByaW50LWVsZW1lbnRzLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cjogJHNlY29uZGFyeS1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIgIWRlZmF1bHQ7XHJcbiRwcmludC1lbGVtZW50cy1idXR0b24tYm9yZGVyLWNvbG91cjogJHNlY29uZGFyeS1idXR0b24tYm9yZGVyLWNvbG91ciAhZGVmYXVsdDtcclxuJHByaW50LWVsZW1lbnMtYnV0dG9uLWljb24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNC0xLFxyXG4gICAgaG92ZXI6IGhvdmVyLWNvbG91cigkcHJpbnQtZWxlbWVudHMtYnV0dG9uLWNvbG91ciksXHJcbiAgICBhY3RpdmU6IGRlZmF1bHQtY29sb3VyKCRwcmludC1lbGVtZW50cy1idXR0b24tY29sb3VyKSBcclxuKSAhZGVmYXVsdDtcclxuJHByaW50LWVsZW1lbnRzLWJ1dHRvbi1pY29uLWNvbmZpZzogKFxyXG4gIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHByaW50ZXIpLFxyXG4gIHBvc2l0aW9uOiBiZWZvcmUsXHJcbiAgbWFyZ2luOiAwIDEycHggMCAwLFxyXG4gIGNvbG91cjogJHByaW50LWVsZW1lbnMtYnV0dG9uLWljb24tY29sb3VyLFxyXG4gIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZCxcclxuICBzaXplOiAyMHB4XHJcbikgIWRlZmF1bHQ7XHJcbi8vIC0tLSBSZXZlYWwgcGFzc3dvcmQgYnV0dG9uIC0tLSBcclxuJHJldmVhbC1wYXNzd29yZC13aWR0aDogNDVweCAhZGVmYXVsdDtcclxuJHJldmVhbC1pY29uLWNvbG91cjogcmdiYSgkY29sb3VyMy02LCAwLjcpICFkZWZhdWx0O1xyXG4kcmV2ZWFsLWljb24tYWN0aXZlLWNvbG91cjogJGNvbG91cjYgIWRlZmF1bHQ7XHJcbi8vIEdlbmVyYWwuXHJcbiRxdWFudGl0eS1sYWJlbC1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogNnB4IDAsXHJcbiAgICBsYXJnZTogNnB4IDE1cHggNnB4IDBcclxuKSAhZGVmYXVsdDsgXHJcbiRxdWFudGl0eS1pbnB1dC1oZWlnaHQ6IDQ1cHggIWRlZmF1bHQ7XHJcbiRxdWFudGl0eS1sYWJlbC1mb250LXNpemU6ICRwYXJhZ3JhcGgtZm9udC1zaXplICFkZWZhdWx0O1xyXG4kcXVhbnRpdHktbGFiZWwtZm9udC13ZWlnaHQ6IDYwMCAhZGVmYXVsdDtcclxuJHF1YW50aXR5LWxhYmVsLWxpbmUtaGVpZ2h0OiAyNXB4ICFkZWZhdWx0O1xyXG4kcXVhbnRpdHktbGFiZWwtY29sb3VyOiAkYm9keS1mb250LWNvbG91ciAhZGVmYXVsdDtcclxuJHF1YW50aXR5LWxhYmVsLXRleHQtdHJhbnNmb3JtOiBudWxsICFkZWZhdWx0O1xyXG4vLyBGcmVlIFRleHQgUXVhbnRpdHkgU2VsZWN0b3JcclxuJHF1YW50aXR5LWZyZWUtdGV4dC1pbnB1dC13aWR0aDogNTBweCAhZGVmYXVsdDtcclxuJHF1YW50aXR5LWZyZWUtdGV4dC1pbnB1dC1ib3JkZXItcmFkaXVzOiBudWxsICFkZWZhdWx0O1xyXG4kcXVhbnRpdHktZnJlZS10ZXh0LWlucHV0LWhlaWdodDogJHF1YW50aXR5LWlucHV0LWhlaWdodCAhZGVmYXVsdDtcclxuJHF1YW50aXR5LWZyZWUtdGV4dC1idXR0b24td2lkdGg6ICgkcXVhbnRpdHktZnJlZS10ZXh0LWlucHV0LXdpZHRoIC0gMTApICFkZWZhdWx0O1xyXG4kcXVhbnRpdHktZnJlZS10ZXh0LWJ1dHRvbi1mb250LXNpemU6IDEycHggIWRlZmF1bHQ7XHJcbiRxdWFudHRpeS1mcmVlLXRleHQtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyOiAkY29sb3VyMCAhZGVmYXVsdDtcclxuJHF1YW50aXR5LWZyZWUtdGV4dC1pbmNyZW1lbnQtY29sb3VyOiAkY29sb3VyNCAhZGVmYXVsdDtcclxuJHF1YW50aXR5LWZyZWUtdGV4dC1kZWNyZW1lbnQtY29sb3VyOiAkcXVhbnRpdHktZnJlZS10ZXh0LWluY3JlbWVudC1jb2xvdXIgIWRlZmF1bHQ7XHJcbiRxdWFudGl0eS1mcmVlLXRleHQtYnV0dG9uLWJvcmRlci1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIwLFxyXG4gICAgaG92ZXI6IG1hcC1nZXQoJGlucHV0LWJvcmRlci1jb2xvdXIsIGRlZmF1bHQpXHJcbikgIWRlZmF1bHQ7XHJcbiRxdWFudGl0eS1mcmVlLXRleHQtYnV0dG9uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogKFxyXG4gICAgICAgIGRlZmF1bHQ6ICRjb2xvdXI0LFxyXG4gICAgICAgIGhvdmVyOiAkY29sb3VyNixcclxuICAgICAgICBhY3RpdmU6ICRjb2xvdXIyXHJcbiAgICApLFxyXG4gICAgcHJlc2V0LTE6IChcclxuICAgICAgICBkZWZhdWx0OiAkY29sb3VyMSxcclxuICAgICAgICBob3ZlcjogJGNvbG91cjQsXHJcbiAgICAgICAgYWN0aXZlOiAkY29sb3VyNlxyXG4gICAgKSxcclxuICAgIGRpc2FibGVkOiAkY29sb3VyMy0xXHJcbikgIWRlZmF1bHQ7XHJcblxyXG4kcXVhbnRpdHktZnJlZS10ZXh0LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogKFxyXG4gICAgICAgIGRlZmF1bHQ6ICRjb2xvdXIwLFxyXG4gICAgICAgIGhvdmVyOiAkY29sb3VyMSxcclxuICAgICAgICBhY3RpdmU6ICRjb2xvdXIzXHJcbiAgICApLFxyXG4gICAgcHJlc2V0LTE6IChcclxuICAgICAgICBkZWZhdWx0OiAkY29sb3VyMCxcclxuICAgICAgICBob3ZlcjogJGNvbG91cjMsXHJcbiAgICAgICAgYWN0aXZlOiAkY29sb3VyMy0xXHJcbiAgICApLFxyXG4gICAgZGlzYWJsZWQ6ICRjb2xvdXIwXHJcbikgIWRlZmF1bHQ7XHJcblxyXG4vLyBEcm9wZG93biBRdWFudGl0eSBTZWxlY3RvclxyXG4kcXVhbnRpdHktZHJvcGRvd24td2lkdGg6IDkwcHggIWRlZmF1bHQ7XHJcbiRxdWFudGl0eS1kcm9wZHdvbi1wYWRkaW5nLWxlZnQ6IDEwcHggIWRlZmF1bHQ7XHJcbiRxdWFudGl0eS1kcm9wZG93bi1oZWlnaHQ6ICRxdWFudGl0eS1pbnB1dC1oZWlnaHQgIWRlZmF1bHQ7XHJcbi8vIC0tLS0tIENvbnRyb2wgc2xpZGVycyAtLS0tLVxyXG4vLyBSYWlsIG9wdGlvbnMuXHJcbiRzbGlkZXItcmFpbC1ib3JkZXItcmFkaXVzOiAkYm9yZGVyUmFkaXVzMSAhZGVmYXVsdDtcclxuJHNsaWRlci1yYWlsLWhlaWdodDogMTBweCAhZGVmYXVsdDtcclxuJHNsaWRlci1yYWlsLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiByZ2JhKCRjb2xvdXIxLCAuNyksXHJcbiAgICBob3ZlcjogJGNvbG91cjEsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXIxXHJcbikgIWRlZmF1bHQ7XHJcbiRzbGlkZXItcmFpbC1ib3JkZXItY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiB0cmFuc3BhcmVudCxcclxuICAgIGhvdmVyOiB0cmFuc3BhcmVudCxcclxuICAgIGFjdGl2ZTogdHJhbnNwYXJlbnRcclxuKSAhZGVmYXVsdDtcclxuXHJcbiRzbGlkZXItcmFuZ2UtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBtYXAtZ2V0KCRhY2NlbnQtY29sb3VyLTMsIDApLFxyXG4gICAgaG92ZXI6IG1hcC1nZXQoJGFjY2VudC1jb2xvdXItMywgMiksXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI2XHJcbikgIWRlZmF1bHQ7XHJcbi8vIEhhbmRsZSBvcHRpb25zLlxyXG4kc2xpZGVyLWhhbmRsZS1kaW1lbnRpb25zOiAyMnB4ICFkZWZhdWx0O1xyXG4kc2xpZGVyLWhhbmRsZS1ib3JkZXItY29sb3VyOiAkY29sb3VyMyAhZGVmYXVsdDtcclxuJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZC1jb2xvdXI6ICRjb2xvdXIxICFkZWZhdWx0OyBcclxuJHNsaWRlci1oYW5kbGUtaWNvbi1jb2xvdXI6ICRjb2xvdXI2ICFkZWZhdWx0O1xyXG4kc2xpZGVyLWhhbmRsZS1ib3JkZXItcmFkaXVzOiAyNXB4O1xyXG4vLyAtLS0gU3dlZXQgQWxlcnRzICggU3VjY2VzcywgV2FybmluZywgQWxlcnQgSWNvbnMgKSAtLS0gXHJcbiRzYS1kaW1lbnRpb25zOiA4MHB4ICFkZWZhdWx0O1xyXG4kc2EtbWFyZ2luOiAzMHB4IGF1dG8gMTVweCAhZGVmYXVsdDtcclxuLy8gQWxlcnRcclxuJHNhLWFsZXJ0LWRpbWVudGlvbnM6IChcclxuICAgIHdpZHRoOiAkc2EtZGltZW50aW9ucyxcclxuICAgIGhlaWdodDogJHNhLWRpbWVudGlvbnNcclxuKSAhZGVmYXVsdDtcclxuJHNhLWFsZXJ0LWNvbG91cjogbWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKSAhZGVmYXVsdDtcclxuLy8gV2FybmluZ1xyXG4kc2Etd2FybmluZy1kaW1lbnRpb25zOiAoXHJcbiAgICB3aWR0aDogJHNhLWRpbWVudGlvbnMsXHJcbiAgICBoZWlnaHQ6ICRzYS1kaW1lbnRpb25zXHJcbikgIWRlZmF1bHQ7XHJcbiRzYS13YXJuaW5nLWNvbG91cjogbWFwLWdldCgkd2FybmluZy1jb2xvdXIsIDApICFkZWZhdWx0O1xyXG4vLyBTdWNjZXNzXHJcbiRzYS1zdWNjZXNzLWRpbWVudGlvbnM6IChcclxuICAgIHdpZHRoOiAkc2EtZGltZW50aW9ucyxcclxuICAgIGhlaWdodDogJHNhLWRpbWVudGlvbnNcclxuKSAhZGVmYXVsdDtcclxuJHNhLXN1Y2Nlc3MtY29sb3VyOiBtYXAtZ2V0KCRzdWNjZXNzLWNvbG91ciwgMCkgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0gVGFicyAtLS1cclxuJHRhYnMtdGl0bGUtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMy0zLFxyXG4gICAgaG92ZXI6IHZhcigtLXNlY29uZGFyeS1jb2xvdXItbGlnaHRuZXNzLTApLFxyXG4gICAgYWN0aXZlOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMClcclxuKSAhZGVmYXVsdDtcclxuJHRhYnMtdGl0bGUtZm9udC1zaXplOiAxNyAhZGVmYXVsdDtcclxuJHRhYnMtdGl0bGUtZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcclxuJHRhYnMtdGl0bGUtdGV4dC10cmFuc2Zvcm06IG5vbmUgIWRlZmF1bHQ7XHJcbiR0YWJzLXRpdGxlLWljb24tc2l6ZTogMjBweCAhZGVmYXVsdDtcclxuJHRhYnMtY29udGVudC1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogMjBweCAyNXB4LFxyXG4gICAgbGFyZ2U6IDQwcHggNTBweFxyXG4pICFkZWZhdWx0O1xyXG4kYWNjb3VudC10YWJzLXBhbmVsLXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiAxMHB4LFxyXG4gICAgbGFyZ2U6IDI1cHggMFxyXG4pICFkZWZhdWx0O1xyXG4vLyAtLS0gQWNjb3JkaW9ucyAtLS0gXHJcbi8vIFRpdGxlLlxyXG4kYWNjb3JkaW9ucy1hcnJvdy1mb250LXNpemU6ICR0YWJzLXRpdGxlLWljb24tc2l6ZSAhZGVmYXVsdDtcclxuJGFjY29yZGlvbnMtYXJyb3ctY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMy0zXHJcbikgIWRlZmF1bHQ7XHJcbiRhY2NvcmRpb25zLXRpdGxlLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTApLFxyXG4gICAgaG92ZXI6IGhvdmVyLWNvbG91cigkdGFicy10aXRsZS1jb2xvdXIpLFxyXG4gICAgYWN0aXZlOiBhY3RpdmUtY29sb3VyKCR0YWJzLXRpdGxlLWNvbG91ciksXHJcbiAgICBkaXNhYmxlZDogZGlzYWJsZWQtY29sb3VyKCRpbnB1dC1jb2xvdXIpXHJcbikgIWRlZmF1bHQ7XHJcbiRhY2NvcmRpb25zLXRpdGxlLWZvbnQtc2l6ZTogJHRhYnMtdGl0bGUtZm9udC1zaXplICFkZWZhdWx0O1xyXG4kYWNjb3JkaW9ucy10aXRsZS1mb250LXdlaWdodDogJHRhYnMtdGl0bGUtZm9udC13ZWlnaHQgIWRlZmF1bHQ7XHJcbiRhY2NvcmRpb25zLXRpdGxlLXRleHQtdHJhbnNmb3JtOiAkdGFicy10aXRsZS10ZXh0LXRyYW5zZm9ybSAhZGVmYXVsdDtcclxuJGFjY29yZGlvbnMtdGl0bGUtYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IG51bGwsXHJcbiAgICBoaWdobGlnaHQ6ICRjb2xvdXI0LTYsXHJcbiAgICBhY3RpdmU6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0xMCksXHJcbiAgICBkaXNhYmxlZDogZGlzYWJsZWQtY29sb3VyKCRpbnB1dC1iYWNrZ3JvdW5kLWNvbG91cilcclxuKSAhZGVmYXVsdDtcclxuJGFjY29yZGlvbi10aXRsZS1pbnZlcnRlZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIxLFxyXG4gICAgaG92ZXI6ICRjb2xvdXIxLFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNFxyXG4pICFkZWZhdWx0O1xyXG4kYWNjb3JkaW9uLXRpdGxlLWludmVydGVkLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNC0yLFxyXG4gICAgaG92ZXI6ICRjb2xvdXI0LTIsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI0LTNcclxuKSAhZGVmYXVsdDtcclxuLy8gQ29udGVudC5cclxuJGFjY29yZGlvbi1wYW5lLWNvbnRlbnQtYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XHJcbiRhY2NvcmRpb24tcGFuZS1jb250ZW50LXBhZGRpbmc6ICR0YWJzLWNvbnRlbnQtcGFkZGluZyAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLS0tIE5vdGlmaWNhdGlvbnMsIHByb21wdHMgJiBjYWxsb3V0cyAtLS0tLVxyXG4vLyBUT0RPOiBUaGlzIG5lZWRzIHNpbXBsaWZ5aW5nLCBpdHMgYSBtZXNzIGR1ZSB0byBtdWx0aXBsZSBpdGVyYXRpb25zLlxyXG4kbm90aWZpY2F0aW9ucy1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgc3VjY2VzczogbWFwLWdldCgkc3VjY2Vzcy1jb2xvdXIsIDkpLFxyXG4gICAgd2FybmluZzogbWFwLWdldCgkd2FybmluZy1jb2xvdXIsIDkpLFxyXG4gICAgYWxlcnQ6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgOSlcclxuKSAhZGVmYXVsdDtcclxuJG5vdGlmaWNhdGlvbnMtY29sb3VyOiAoXHJcbiAgICBzdWNjZXNzOiBtYXAtZ2V0KCRzdWNjZXNzLWNvbG91ciwgMCksXHJcbiAgICB3YXJuaW5nOiBtYXAtZ2V0KCR3YXJuaW5nLWNvbG91ciwgMCksXHJcbiAgICBhbGVydDogbWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKVxyXG4pICFkZWZhdWx0O1xyXG4vLyBTdWNjZXNzIGJ1dHRvbi5cclxuJHN1Y2Nlc3MtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNC02LFxyXG4gICAgaG92ZXI6IG1hcC1nZXQoJHN1Y2Nlc3MtY29sb3VyLCAwKSxcclxuICAgIGFjdGl2ZTogJGNvbG91cjRcclxuKSAhZGVmYXVsdDtcclxuLy8gLS0tIENvbmZpcm1hdGlvbiAtLS0gXHJcbiRjb25maXJtYXRpb24tY29udGFpbmVyLWJhY2tncm91bmQtc3VjY2VzczogbWFwLWdldCgkc3VjY2Vzcy1jb2xvdXIsIDkpICFkZWZhdWx0O1xyXG4kY29uZmlybWF0aW9uLWNvbnRhaW5lci1iYWNrZ3JvdW5kLXdhcm5pbmc6IG1hcC1nZXQoJHdhcm5pbmctY29sb3VyLCA5KSAhZGVmYXVsdDtcclxuJGNvbmZpcm1hdGlvbi1jb250YWluZXItYmFja2dyb3VuZC1hbGVydDogbWFwLWdldCgkYWxlcnQtY29sb3VyLCAxMCkgIWRlZmF1bHQ7XHJcbiRjb25maXJtYXRpb24tY29udGFpbmVyLWNvbG91cjogJGNvbG91cjQgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0gT24gcGFnZSBub3RpZmljYXRpb24gLS0tIFxyXG4vLyBEZWZhdWx0c1xyXG4kb24tcGFnZS1ub3RpZmljYXRpb24tYmFja2dyb3VuZDogKFxyXG4gICAgc3VjY2VzczogbWFwLWdldCgkc3VjY2Vzcy1jb2xvdXIsIDkpLFxyXG4gICAgd2FybmluZzogbWFwLWdldCgkd2FybmluZy1jb2xvdXIsIDkpLFxyXG4gICAgYWxlcnQ6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgOSksXHJcbiAgICBpbmZvcm1hdGlvbjogbWFwLWdldCgkbmV1dHJhbC1jb2xvdXIsIDkpXHJcbikgIWRlZmF1bHQ7XHJcbiRvbi1wYWdlLW5vdGlmaWNhdGlvbi1jb2xvdXI6IChcclxuICAgIHN1Y2Nlc3M6IG1hcC1nZXQoJHN1Y2Nlc3MtY29sb3VyLCAwKSxcclxuICAgIHdhcm5pbmc6IG1hcC1nZXQoJHdhcm5pbmctY29sb3VyLCAwKSxcclxuICAgIGFsZXJ0OiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDApLFxyXG4gICAgaW5mb3JtYXRpb246ICRib2R5LWZvbnQtY29sb3VyLFxyXG4gICAgZGlzYWJsZWQ6ICRjb2xvdXIzLTNcclxuKSAhZGVmYXVsdDtcclxuJG9uLXBhZ2Utbm90aWZpY2F0aW9uLWZvbnQtd2VpZ2h0OiAkc3RhdHVzLWJ1dHRvbi1jb21tb24td2VpZ2h0ICFkZWZhdWx0O1xyXG4kb24tcGFnZS1ub3RpZmljYXRpb24tbGluZS1oZWlnaHQ6IG5vcm1hbCAhZGVmYXVsdDtcclxuJG9uLXBhZ2Utbm90aWZpY2F0aW9uLXRyYW5zZm9ybTogbnVsbCAhZGVmYXVsdDtcclxuJG9uLXBhZ2Utbm90aWZpY2F0aW9uLW1hcmdpbjogKFxyXG4gICAgcHJlc2V0LTE6IDMwcHggMCxcclxuICAgIHByZXNldC0yOiAxMHB4IDBcclxuKSAhZGVmYXVsdDtcclxuJG9uLXBhZ2Utbm90aWZpY2F0aW9uLXBhZGRpbmc6IChcclxuICAgIHByZXNldC0xOiAzNXB4IDEwcHgsIC8vIEZ1bGwgc2l6ZVxyXG4gICAgcHJlc2V0LTI6IDE1cHggNjVweCAvLyBNaW5pZmllZFxyXG4pICFkZWZhdWx0O1xyXG4kb24tcGFnZS1ub3RpZmljYXRpb24tZ2FwOiAoXHJcbiAgICBzbWFsbDogMCBzcGFjaW5nLXZhbHVlKCRvbi1wYWdlLW5vdGlmaWNhdGlvbi1wYWRkaW5nLCAyLCBwcmVzZXQtMSksXHJcbiAgICBsYXJnZTogMCAxNXB4XHJcbikgIWRlZmF1bHQ7XHJcblxyXG4vLyBTcGVjaWZpY1xyXG4vLyAtLS0gTm8gaXRlbXMgZm91bmQgLS0tLSBcclxuJG5vLWl0ZW1zLWZvdW5kLW1hcmdpbjogKCkgIWRlZmF1bHQ7XHJcbiRuby1pdGVtcy1mb3VuZC1wYWRkaW5nOiAoKSAhZGVmYXVsdDtcclxuJG5vLWl0ZW1zLWZvdW5kLWZvbnQtc2l6ZTogMTUgIWRlZmF1bHQ7XHJcbiRuby1pdGVtcy1mb3VuZC1pY29uLXNpemU6IDIycHggIWRlZmF1bHQ7XHJcbi8vIC0tLSBJbnRlcm5hbCBFcnJvciAtLS0gXHJcbiRpbnRlcm5hbC1lcnJvci1tYXJnaW46ICRuby1pdGVtcy1mb3VuZC1tYXJnaW4gIWRlZmF1bHQ7XHJcbiRpbnRlcm5hbC1lcnJvci1wYWRkaW5nOiAoKSAhZGVmYXVsdDtcclxuJGludGVybmFsLWVycm9yLWZvbnQtc2l6ZTogJG5vLWl0ZW1zLWZvdW5kLWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuJGludGVybmFsLWVycm9yLWljcm9uLXNpemU6ICRuby1pdGVtcy1mb3VuZC1pY29uLXNpemU7XHJcbi8vIC0tLSBDYWxsb3V0cyAtLS1cclxuJG5vdGlmaWNhdGlvbi1jYWxsb3V0LWZvbnQtd2VpZ2h0OiAkb24tcGFnZS1ub3RpZmljYXRpb24tZm9udC13ZWlnaHQgIWRlZmF1bHQ7XHJcbiRub3RpZmljYXRpb24tY2FsbG91dC10ZXh0LXRyYW5zZm9ybTogJG9uLXBhZ2Utbm90aWZpY2F0aW9uLXRyYW5zZm9ybSAhZGVmYXVsdDtcclxuLy8gLS0tIFByb21wdCBwb3B1cHMgLS0tIFxyXG4kbm90aWZpY2F0aW9uLXByb21wdC1wYWRkaW5nOiA4MHB4ICFkZWZhdWx0O1xyXG4vLyAtLS0gR2VuZXJhbCBOb3RpZmljYXRpb25zICggcGlubmVkIHRvIHRoZSBib3R0b20gb2YgdGhlIHdpbmRvdyApXHJcbiRub3RpZmljYXRpb25zLWljb24td2lkdGg6IDQwcHggIWRlZmF1bHQ7XHJcbiRub3RpZmljYXRpb25zLWJvcmRlci1yYWRpdXM6IDAgIWRlZmF1bHQ7XHJcbiRub3RpZmljYXRpb25zLXJlYWQtbW9yZS10cmlnZ2VyLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjIsXHJcbiAgICBob3ZlcjogJGNvbG91cjYsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI0XHJcbikgIWRlZmF1bHQ7XHJcbiRub3RpZmljYXRpb25zLXJlYWQtbW9yZS10cmlnZ2VyLWZvbnQtd2VpZ2h0OiA2MDAgIWRlZmF1bHQ7XHJcbiRub3RpZmljYXRpb25zLWJ1dHRvbnMtZ3V0dGVyOiAoXHJcbiAgICBzbWFsbDogMTJweCxcclxuICAgIGxhcmdlOiAxMHB4XHJcbikgIWRlZmF1bHQ7XHJcbiRub3RpZmljYXRpb25zLWljb24tcGFkZGluZzogNXB4ICFkZWZhdWx0O1xyXG4kbm90aWZpY2F0aW9ucy1pY29uLWJhY2tncm91bmQtY29sb3VyOiAkY29sb3VyMSAhZGVmYXVsdDtcclxuJG5vdGlmaWNhdGlvbnMtaWNvbi1ib3JkZXItcmFkaXVzOiAwICFkZWZhdWx0O1xyXG4vLyBCZWNhdXNlIG9mIFRpZGlvLi4uLi5cclxuJG5vdGlmaWNhdGlvbnMtei1pbmRleDogOTk5OTk5OTk5OSAhZGVmYXVsdDtcclxuJG5vdGlmaWNhdGlvbnMtcGFkZGluZzogKFxyXG4gICAgc21hbGw6IDcuNXB4IDE1cHgsXHJcbiAgICBsYXJnZTogMTVweCAzMHB4XHJcbikgIWRlZmF1bHQ7XHJcbi8vIC0tLSBQV0EgLS0tIFxyXG4kbm90aWZpY2F0aW9ucy1hcHAtYmFja2dyb3VuZC1jb2xvdXI6ICRjb2xvdXI0LTMgIWRlZmF1bHQ7XHJcbi8vIC0tLSBDb29raWUgUG9saWN5IC0tLSBcclxuJGNvb2tpZS1ub3RpZmljYXRpb24tYmFja2dyb3VuZC1jb2xvdXI6IHJnYmEoJGNvbG91cjMtMiwgMC45KSAhZGVmYXVsdDtcclxuJGNvb2tpZS1ub3RpZmljYXRpb24tY29sb3VyOiAkY29sb3VyMiAhZGVmYXVsdDtcclxuXHJcbiRjb29raWUtbm90aWZpY2F0aW9uLWJ1dHRvbjEtYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IG1hcC1nZXQoJGFjY2VudC1jb2xvdXItMiwgMCksXHJcbiAgICBob3ZlcjogJGNvbG91cjQtMixcclxuICAgIGFjdGl2ZTogJGNvbG91cjZcclxuKSAhZGVmYXVsdDtcclxuJGNvb2tpZS1ub3RpZmljYXRpb24tYnV0dG9uMi1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogaG92ZXItY29sb3VyKCRjb29raWUtbm90aWZpY2F0aW9uLWJ1dHRvbjEtYmFja2dyb3VuZC1jb2xvdXIpLFxyXG4gICAgaG92ZXI6IGRlZmF1bHQtY29sb3VyKCRjb29raWUtbm90aWZpY2F0aW9uLWJ1dHRvbjEtYmFja2dyb3VuZC1jb2xvdXIpLFxyXG4gICAgYWN0aXZlOiBhY3RpdmUtY29sb3VyKCRjb29raWUtbm90aWZpY2F0aW9uLWJ1dHRvbjEtYmFja2dyb3VuZC1jb2xvdXIpXHJcbikgIWRlZmF1bHQ7XHJcbiRjb29raWUtbm90aWZpY2F0aW9uLWJ1dHRvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIxLFxyXG4gICAgaG92ZXI6ICRjb2xvdXIxXHJcbikgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0tLSBEb2N1bWVudGF0aW9uIC0tLS0tIFxyXG4vLyBSZXN0cmljdGVkIGNvbnRlbnQuXHJcbiRkb2N1bWVudGF0aW9uLXJlc3RyaWN0ZWQtY29udGVudC1jb2xvdXI6IHZhcigtLWFjY2VudC1jb2xvdXItMS1saWdodG5lc3MtMCkgIWRlZmF1bHQ7XHJcbi8vIEludGVybmFsIHVzZSBvbmx5IGNvbnRlbnQuXHJcbiRkb2N1bWVudGF0aW9uLWludGVybmFsLXVzZS1vbmx5LWNvbG91cjogJGRvY3VtZW50YXRpb24tcmVzdHJpY3RlZC1jb250ZW50LWNvbG91ciAhZGVmYXVsdDtcclxuLy8gLS0tIEludHJvIC0tLVxyXG4kZG9jdW1lbnRhdGlvbi1pbnRyby1oZWFkaW5nLWNvbG91cjogJGNvbG91cjMtNiAhZGVmYXVsdDtcclxuJGRvY3VtZW50YXRpb24taW50cm8tc3ViLWhlYWRpbmctY29sb3VyOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMCwgJGNvbG91cjQpICFkZWZhdWx0O1xyXG4kZG9jdW1lbnRhdGlvbi1pbnRyby1iYW5uZXItYm9yZGVyLXdpZHRoOiAycHggIWRlZmF1bHQ7XHJcbi8vIC0tLSBMaXN0IC0tLSBcclxuJGRvY3VtZW50YXRpb24tbGlzdC1pdGVtLXBhZGRpbmc6IDdweCBzcGFjaW5nLXZhbHVlKCR0aGVhZC1wcmVzZXQtMSwgMiwgcGFkZGluZykgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0gSGVhZGVyIGNvbnRhaW5lciAtLS1cclxuJGRvY3VtZW50YXRpb24taGVhZGVyLWNvbnRhaW5lci1tYXJnaW46IDM1cHggIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0gQ29udGVudCBDb250YWluZXIgLS0tXHJcbiRkb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyLXdpZHRoOiAkYm9keS1jb3B5LW1heC13aWR0aCAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLSBBZGRpdGlvbmFsIExpbmtzIC0tLVxyXG4kZG9jdW1lbnRhdGlvbi1hZGRpdGlvbmFsLWxpbmtzLXBhZGRpbmc6IDI1cHggIWRlZmF1bHQ7XHJcbiRkb2N1bWVudGF0aW9uLWFkZGl0aW9uYWwtbGluay1ydWxlOiAxcHggc29saWQgJGNvbG91cjMtMyAhZGVmYXVsdDtcclxuJGRvY3VtZW50YXRpb24tYWRkaXRpb25hbC1saW5rcy1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIyLFxyXG4gICAgaG92ZXI6ICRjb2xvdXI2LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNFxyXG4pICFkZWZhdWx0O1xyXG4kZG9jdW1lbnRhdGlvbi1hZGRpdGlvbmFsLWxpbmtzLWljb24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNC0xLFxyXG4gICAgaG92ZXI6IGhvdmVyLWNvbG91cigkZG9jdW1lbnRhdGlvbi1hZGRpdGlvbmFsLWxpbmtzLWNvbG91ciksXHJcbiAgICBhY3RpdmU6IGFjdGl2ZS1jb2xvdXIoJGRvY3VtZW50YXRpb24tYWRkaXRpb25hbC1saW5rcy1jb2xvdXIpXHJcbikgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0tLSBDb250ZXh0IE1lbnUgLS0tLS1cclxuJGNvbnRleHQtbWVudS1jb250YWluZXItei1pbmRleDogMTk5NSAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLS0tIEdyYWR1YXRlZCBDb2xvdXIgRWRnZSAtLS0tLVxyXG4kZ3JhZHVhdGVkLWNvbG91ci1lZGdlLXN0ZXAtaGVpZ2h0OiA2MHB4ICFkZWZhdWx0O1xyXG4kZ3JhZHVhdGVkLWNvbG91ci1lZGdlLXJvdGF0ZTogNTYgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0tLSBDb2xsZWN0aW9ucyAtLS0tLSBcclxuXHJcbi8vIFRPRE86IFRoZSB0ZXJtaW5vbG9neSBuZWVkcyB0byBiZSBjaGFuZ2VkIGZyb20gXCIgYngtIFwiIHRvIFwiIGNvbGxlY3Rpb24tIFwiXHJcbiRieC1wYWdlci1idXR0b24tZGltZW50aW9uczogMTVweCAhZGVmYXVsdDtcclxuJGJ4LXBhZ2VyLWJ1dHRvbi1yYWRpdXM6ICRib3JkZXJSYWRpdXMyICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1wYWdlci1idXR0b24tYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XHJcbiRieC1wYWdlci1idXR0b24tdHJhbnNmb3JtOiBudWxsICFkZWZhdWx0O1xyXG4kYngtcGFnZXItYnV0dG9uLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMSxcclxuICAgIGhvdmVyOiAkY29sb3VyNixcclxuICAgIGFjdGl2ZTogJGNvbG91cjRcclxuKSAhZGVmYXVsdDtcclxuJGJ4LXBhZ2VyLWJ1dHRvbi1ib3JkZXItY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMy0yLFxyXG4gICAgaG92ZXI6IG1hcC1nZXQoJGJ4LXBhZ2VyLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgaG92ZXIpLFxyXG4gICAgYWN0aXZlOiBtYXAtZ2V0KCRieC1wYWdlci1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGFjdGl2ZSlcclxuKSAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24tY29udHJvbHMtb3BhY2l0eTogKFxyXG4gICAgZGVmYXVsdDogLjUsXHJcbiAgICBob3ZlcjogLjgsXHJcbiAgICBhY3RpdmU6IDFcclxuKSAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24tcGFnZXItYnV0dG9uLW9wYWNpdHk6IChcclxuICAgIGRlZmF1bHQ6IG1hcC1nZXQoJGNvbGxlY3Rpb24tY29udHJvbHMtb3BhY2l0eSwgZGVmYXVsdCksXHJcbiAgICBhY3RpdmU6IG1hcC1nZXQoJGNvbGxlY3Rpb24tY29udHJvbHMtb3BhY2l0eSwgYWN0aXZlKVxyXG4pICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1pdGVtLW1hcmdpbjogMTBweCAwICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1pdGVtLXBhZGRpbmc6IDEwcHggMCAyMHB4ICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1pdGVtLXBhZGRpbmctYm90dG9tOiAyMHB4ICFkZWZhdWx0OyAvLyBOZWVkIHRvIGFkZCBwYWRkaW5nIGJvdHRvbSBpZiBib3JkZXItYm90dG9tIGlzIHNldC5cclxuJGNvbGxlY3Rpb24tc2xpZGUtYm9yZGVyLXdpZHRoOiAwICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1ib3JkZXItY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMy0xLFxyXG4gICAgaG92ZXI6ICRjb2xvdXI0XHJcbikgIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLXByb2R1Y3QtYm9yZGVyLXdpZHRoOiAwIDAgNXB4IDAgIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLXByb2R1Y3QtYm9yZGVyLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogbWFwLWdldCgkY29sbGVjdGlvbi1ib3JkZXItY29sb3VyLCBkZWZhdWx0KSxcclxuICAgIGhvdmVyOiBtYXAtZ2V0KCRjb2xsZWN0aW9uLWJvcmRlci1jb2xvdXIsIGhvdmVyKVxyXG4pICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1wcm9kdWN0LWNlbGwtYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIxXHJcbikgIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLWNlbGwtcGFkZGluZzogMCAwIDIwcHggIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLWNlbGwtYm9yZGVyLXJhZGl1czogMCAhZGVmYXVsdDtcclxuLy8gSW52ZXJ0cyB3aGVuIGJveC1zaGFkb3cgaXMgYXBwbGllZCBmcm9tIHdoZW4gaG92ZXIgc3RhdGUgdG8gZGVmYXVsdCBzdGF0ZS5cclxuJGNvbGxlY3Rpb24tY2VsbC1ib3gtc2hhZG93LWludmVydDogZmFsc2UgIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLWViZy1zaG93LWNvbG91cnMtYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI0LFxyXG4gICAgaG92ZXI6ICRjb2xvdXIxXHJcbikgIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLWViZy1zaG93LWNvbG91cnMtYm9yZGVyLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjAsXHJcbiAgICBob3ZlcjogbWFwLWdldCgkY29sbGVjdGlvbi1lYmctc2hvdy1jb2xvdXJzLWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KVxyXG4pICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1lYmctc2hvdy1jb2xvdXJzLWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1lYmctY2VsbC1wYWRkaW5nOiAwIDAgMjBweCAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24tZWJnLWhvdmVyLWJveC1zaGFkb3ctc3VwcHJlc3M6IGZhbHNlICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1pbWFnZS1jZWxsLXBhZGRpbmc6IDAgIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLWltYWdlLWNlbGwtbWFyZ2luOiAoXHJcbiAgICBzbWFsbDogbnVsbCxcclxuICAgIGxhcmdlOiBudWxsXHJcbikgIWRlZmF1bHQ7IC8vIFVzZWZ1bCBpZiB3ZSBuZWVkIG1vcmUgc3BhY2UgYWZ0ZXIgYSBzZXBlcmF0b3IuXHJcbiRjb2xsZWN0aW9uLWltYWdlLWJvcmRlci13aWR0aDogbnVsbCAhZGVmYXVsdDtcclxuJGNvbGxlY2l0b24taW1hZ2UtYm9yZGVyLWNvbG91cjogJGNvbGxlY3Rpb24tcHJvZHVjdC1ib3JkZXItY29sb3VyICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1kZXNjcmlwdGlvbi1wYWRkaW5nOiAoXHJcbiAgICBjb21wYWN0OiAxMHB4LFxyXG4gICAgbm9uLWNvbXBhY3Q6IDE1cHggMTBweCAvLyBkZXNjcmVhc2luZyB0byAxMHB4IEwgKyBSIHRvIGtlZXAgYnV5IGJveCBmcm9tIHdyYXBwaW5nIGF0IDYgY29sdW1uLlxyXG4pICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1lYmctY29udGVudC1jb250YWluZXItYm9yZGVyLXdpZHRoOiBudWxsICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1lYmctY29udGVudC1jb250YWluZXItcGFkZGluZzogKFxyXG4gICAgc21hbGw6IG51bGwsXHJcbiAgICBsYXJnZTogbnVsbFxyXG4pICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1lYmctZ3JpZC1zdXBwcmVzcy1iYWNrZ3JvdW5kOiBmYWxzZSAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24tbGF5b3V0LXN0eWxlLTEtZ3JpZC1jb250ZW50LXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiAxMHB4LFxyXG4gICAgbWVkaXVtOiA1cHgsXHJcbiAgICBsYXJnZTogNXB4XHJcbikgIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLWViZy1ncmlkLWNvbnRlbnQtanVzdGlmeS1jb250ZW50OiAoXHJcbiAgICBzbWFsbDogbnVsbCxcclxuICAgIG1lZGl1bTogbnVsbCxcclxuICAgIGxhcmdlOiBudWxsXHJcbikgIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLWViZy1ncmlkLWNvbnRlbnQtcGFkZGluZzogKFxyXG4gICAgc21hbGw6IG51bGwsXHJcbiAgICBtZWRpdW06IG51bGwsXHJcbiAgICBsYXJnZTogbnVsbFxyXG4pICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1lYmctZ3JpZC1jb250ZW50LWJveC1zaGFkb3ctaW52ZXJ0OiAkY29sbGVjdGlvbi1jZWxsLWJveC1zaGFkb3ctaW52ZXJ0ICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1lYmctZ3JpZC1jb250ZW50LWJveC1zaGFkb3c6IChcclxuICAgIGRlZmF1bHQ6IG5vbmUsXHJcbiAgICBob3ZlcjogJGJveFNoYWRvdzNcclxuKSAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24tZWJnLWdyaWQtZGVzY3JpcHRpb24tZmxleC1ncm93OiBudWxsICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1lYmctZ3JpZC1kZXNjcmlwdGlvbi1mbGV4LWJhc2lzOiAoXHJcbiAgICBzbWFsbDogbnVsbCxcclxuICAgIG1lZGl1bTogbnVsbCxcclxuICAgIGxhcmdlOiBudWxsXHJcbikgIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLWViZy1ncmlkLWRlc2NyaXB0aW9uLWp1c3RpZnktY29udGVudDogbnVsbCAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24tZWJnLWdyaWQtZGVzY3JpcHRpb24tYWxpZ24taXRlbXM6IG51bGwgIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLWViZy1kZXNjcmlwdGlvbi1wYWRkaW5nOiBtYXAtZ2V0KCRjb2xsZWN0aW9uLWRlc2NyaXB0aW9uLXBhZGRpbmcsIG5vbi1jb21wYWN0KSAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24tZWJnLWRlc2NyaXB0aW9uLW1hcmdpbjogMCAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24tYW5jaG9yLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjMtNiwgXHJcbiAgICBob3ZlcjogJGNvbG91cjQsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI2XHJcbikgIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLWRlc2NyaXB0aW9uLWhvdmVyLXVuZGVybGluZTogdHJ1ZSAhZGVmYXVsdDtcclxuXHJcbiRjb2xsZWN0aW9uLWxheW91dC1zdHlsZS0xLWdyaWQtaW1hZ2UtYm9yZGVyLXJhZGl1czogKFxyXG4gICAgc21hbGw6IG51bGwsXHJcbiAgICBtZWRpdW06IG51bGwsXHJcbiAgICBsYXJnZTogbnVsbFxyXG4pICFkZWZhdWx0O1xyXG5cclxuJGNvbGxlY3Rpb24taG92ZXItaW1hZ2Utc2NhbGU6IDAgIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLWhvdmVyLWltYWdlLXBhZGRpbmc6IDEwcHggIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLWhvdmVyLWltYWdlLW9wYWNpdHk6IC41ICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1pbWFnZS1tYXJnaW46IChcclxuICAgIHNtYWxsOiAwIGF1dG8gMCxcclxuICAgIGxhcmdlOiAwIC8vIERvbid0IHNldCBtYXJnaW4gYm90dG9tLCB0aGlzIGlzIHR5cGljYWxseSBjb250cm9sIGJ5IG1vZHVsZSBvciByb3cgbWFyZ2lucy5cclxuKSAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24tcHJvZHVjdC1pbWFnZS1tYXJnaW46IGxhcmdlLXZhbHVlKCRjb2xsZWN0aW9uLWltYWdlLW1hcmdpbikgIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLWltYWdlLXNlcGVyYXRvcjogZmFsc2UgIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLWltYWdlLXNlcGVyYXRvci1tYXJnaW4tYm90dG9tOiAzNXB4ICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1pbWFnZS1zZXBlcmF0b3ItcG9zaXRpb24tYm90dG9tOiAoJGNvbGxlY3Rpb24taW1hZ2Utc2VwZXJhdG9yLW1hcmdpbi1ib3R0b20gLSAxNSkgIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLWltYWdlLXNlcGVyYXRvci1jb2xvdXI6ICRjb2xvdXIzLTQgIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLWViZy1pbWFnZS1zZXBlcmF0b3I6IGZhbHNlICFkZWZhdWx0O1xyXG4vLyBIYXZpbmcgdG8gcmVzdHJpY3QgaW1hZ2Ugc2l6ZXMgZHVlIHRvIGV4dGVybmFsIGRhdGEgaW1hZ2VzIGRvZXMgbm90IGdvIHRocm91Z2ggRGlwbG9tYXQncyBpbWFnZSBtYW5hZ2VtZW50LCBkb250IG1lZGl1bSB5ZXQgYXMgd2UgY3VycmVudGx5IGRvbid0IHVzZSB0aGlzIGJyZWFrcG9pbnQgaW4gb3VyIGNvbGxlY3Rpb25zLlxyXG4kY29sbGVjdGlvbi1pbWFnZS1zaXplLXJlc3RyaWN0ZWQtYnktd2lkdGgtb25seTogZmFsc2UgIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLWltYWdlLXNpemVzOiAoXHJcbiAgICBzbWFsbDogKFxyXG4gICAgICAgIDE6IDEyODBweCxcclxuICAgICAgICAyOiA2MzBweCxcclxuICAgICAgICAzOiA0MThweCxcclxuICAgICAgICA0OiAzMTJweCxcclxuICAgICAgICA1OiAyNDlweCxcclxuICAgICAgICA2OiAyMDVweCxcclxuICAgICAgICA3OiAxNzVweCxcclxuICAgICAgICA4OiAxNTNweFxyXG4gICAgKSxcclxuICAgIGxhcmdlOiAoXHJcbiAgICAgICAgMTogJGdsb2JhbC13aWR0aCxcclxuICAgICAgICAyOiA2NDRweCxcclxuICAgICAgICAzOiA0MjRweCxcclxuICAgICAgICA0OiAzMTZweCxcclxuICAgICAgICA1OiAyNTBweCxcclxuICAgICAgICA2OiAyMDdweCwgXHJcbiAgICAgICAgNzogMTc1cHgsXHJcbiAgICAgICAgODogMTUycHhcclxuICAgIClcclxuKSAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24tc2VwZXJhdG9yLWRpbWVudGlvbnM6IChcclxuICAgIHdpZHRoOiAxMDAlLFxyXG4gICAgaGVpZ2h0OiAxcHhcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLSBDYXJvdXNlbCB0eXBvZ3JhcGh5IC0tLSBcclxuJGNvbGxlY3Rpb24tdGV4dC1hbGlnbjogbGVmdCAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24tY29udGVudC1mb250LXNpemU6ICRwYXJhZ3JhcGgtZm9udC1zaXplICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1ncm91cC1kZXNjcmlwdGlvbi1mb250LXNpemU6ICRjb2xsZWN0aW9uLWNvbnRlbnQtZm9udC1zaXplICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1ncm91cC1kZXNjcmlwdGlvbi1mb250LXdlaWdodDogNjAwICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1kZXNjcmlwdGlvbi1mb250LXNpemU6ICRjb2xsZWN0aW9uLWNvbnRlbnQtZm9udC1zaXplICFkZWZhdWx0O1xyXG4kY29sbGVjaXRvbi1kZXNjcmlwdGlvbi10ZXh0LXRyYW5zZm9ybTogbm9uZSAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24tZWJnLWRlc2NyaXB0aW9uLWZvbnQtc2l6ZTogJGNvbGxlY3Rpb24tZGVzY3JpcHRpb24tZm9udC1zaXplICFkZWZhdWx0O1xyXG4vLyBjb2xsZWN0aW9uLWViZy1jb2xvdXIgbm9ybWFsbHkgZ2V0cyBzZXQgYnkgJGNvbGxlY3Rpb24tYW5jaG9yLWNvbG91ciBidXQgaWYgd2Ugd2FudCBlYmcncyB0byBiZSBhIGRpZmZlcmVudCBjb2xvdXIgdGhlbiB3ZSB1c2VkIHRoaXMgb3ZlcnJpZGUuXHJcbiRjb2xsZWN0aW9uLWViZy1kZXNjcmlwdGlvbi10ZXh0LWFsaWduOiBjZW50ZXIgIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLWViZy1kZXNjcmlwdGlvbi1jb2xvdXI6ICgpICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1kZXNjcmlwdGlvbi1mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1lYmctZGVzY3JpcHRpb24tZm9udC13ZWlnaHQ6ICRjb2xsZWN0aW9uLWRlc2NyaXB0aW9uLWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xyXG4kY29sbGVjaXRvbi1lYmctZGVzY3JpcHRpb24tdGV4dC10cmFuc2Zvcm06ICRjb2xsZWNpdG9uLWRlc2NyaXB0aW9uLXRleHQtdHJhbnNmb3JtICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1kZXNjcmlwdGlvbi1saW5lLWhlaWdodDogKCRkZWZhdWx0LWxpbmUtaGVpZ2h0IC0gLjMpICFkZWZhdWx0OyAvLyBJdCB3YXMgZGVjaWRlZCB0aGF0IGNvbGxlY3Rpb24gbGluZS1oZWlnaHRzIHNob3VsZCBiZSBzbGlnaHRseSB0aWdodGVyLlxyXG4kY29sbGVjdGlvbi1lYmctZGVzY3JpcHRpb24tYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IHRyYW5zcGFyZW50LFxyXG4gICAgaG92ZXI6IHRyYW5zcGFyZW50LFxyXG4gICAgYWN0aXZlOiB0cmFuc3BhcmVudFxyXG4pICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1kZXNjcmlwdGlvbi1jb2xvdXI6ICRjb2xsZWN0aW9uLWFuY2hvci1jb2xvdXIgIWRlZmF1bHQ7XHJcbi8vJGJ4LWRlc2NyaXB0aW9uLWNvbG91cjogJGNvbG91cjMtNiAhZGVmYXVsdDtcclxuLy8gJGJ4LWRlc2NyaXB0aW9uLWhvdmVyLWNvbG91cjogJGNvbG91cjYgIWRlZmF1bHQ7XHJcbiRieC1wcmljZS1mb250LXNpemU6ICRjb2xsZWN0aW9uLWNvbnRlbnQtZm9udC1zaXplICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1jb2RlLWZvbnQtc2l6ZTogJGNvbGxlY3Rpb24tY29udGVudC1mb250LXNpemUgIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLWNvZGUtY29sb3VyOiAkY29kZS1jb2xvdXIgIWRlZmF1bHQ7XHJcbi8vIExhYmVsICYgVmFsdWUgcGFpcnMgKCBlc3NlbnRpYWxseSBzbWFsbCBwaWVjZXMgb2YgZGF0YSApXHJcbiRjb2xsZWN0aW9uLWxhYmVsLXZhbHVlLXBhaXItbGFiZWwtd2VpZ2h0OiA2MDAgIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLWxhYmVsLXZhbHVlLXBhaXItbGFiZWwtZm9udC1zaXplOiAxNCAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24tbGFiZWwtdmFsdWUtcGFpci12YWx1ZS1mb250LXNpemU6ICRjb2xsZWN0aW9uLWxhYmVsLXZhbHVlLXBhaXItbGFiZWwtZm9udC1zaXplICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tIENvbGxlY3Rpb24gYnV5IGJveGVzIC0tLSBcclxuJGNvbGxlY3Rpb24tYnV5LWJveC1qdXN0aWZ5LWNvbnRlbnQ6IChcclxuICAgIHNtYWxsOiBmbGV4LXN0YXJ0LFxyXG4gICAgbGFyZ2U6IGZsZXgtc3RhcnRcclxuKSAhZGVmYXVsdDtcclxuLy9zcGFjaW5nLXZhbHVlKCRjb2xsZWN0aW9uLWRlc2NyaXB0aW9uLXBhZGRpbmcsIDIsICdjb21wYWN0JylcclxuJGNvbGxlY3Rpb24tYnV5LWJveC1wYWRkaW5nOiAxNXB4IDAgMCAhZGVmYXVsdDtcclxuLy8gVGhpcyByZXBsYWNlcyB0aGUgYWJvdmUuXHJcbiRjb2xsZWN0aW9uLWJ1eS1ib3gtcGFkZGluZy10b3A6IDE1cHggIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0gQ29sbGVjdGlvbiBidXR0b25zIC0tLVxyXG4kY29sbGVjdGlvbi1idXR0b24td2lkdGg6IDY2JSAhZGVmYXVsdDtcclxuLy8gTWFyZ2luIHRvcCBtdXN0IGJlIHNldCB0byBhdXRvIHRvIGFzc2lzdCBlcXVhbGlzaW5nIHRoZSBidXR0b25zIG9uIGVhY2ggcm93LlxyXG4kY29sbGVjdGlvbi1idXR0b25zLW1hcmdpbjogYXV0byBhdXRvIHNwYWNpbmctdmFsdWUoJGNvbGxlY3Rpb24taW1hZ2UtY2VsbC1wYWRkaW5nLCAxKSAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLSBTbGlkZXMgc3R5bGVzIC0tLSBcclxuLy8gQ2hhbmdnaW5nIHRvIHRyYW5zcGFyZW50IHRvIGFsbG93IHVzZSBvZmYgcm93LCBtb2R1bGUgJiBjb250ZW50IGJhY2tncm91bmRzLlxyXG4vLyBUaGlzIHZhcmlhYmxlIGlzIG5vIGxvbmdlciB1c2VkIGFzIHdlIG5lZWRlZCBtb3JlIGZsZXhpYmlsaXR5IGZvciBtb2R1bGUgY29udGVudCBiYWNrZ3JvdW5kcywgaGF2ZSBpbnRyb2R1Y2VkICRjb2xsZWN0aW9uLXByb2R1Y3QtY2VsbC1iYWNrZ3JvdW5kLWNvbG91ciB0byBoYW5kbGUgcHJvZHVjdCBjb2xsZWN0aW9ucyBhcyB0aGV5IG5lZWQgdG8gaGF2ZSBhIGJhY2tncm91bmQgY29sb3VyICggaS5lIHdoaXRlICkgZHVlIHRvIHRoZSBjb250ZW50IHRoYXQgaXMgYmVpbmcgZGlzcGxheWVkLlxyXG4kYngtc2xpZGUtYmFja2dyb3VuZC1jb2xvdXI6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tIENhcm91c2VsIENvbnRyb2xzIC0tLVxyXG4vLyBDb250cm9sc1xyXG4kY29sbGVjdGlvbi1jb250cm9scy1jb21wYWN0OiBmYWxzZSAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24tY29udHJvbHMtY29tcGFjdC1ndXR0ZXI6IDEwcHggIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLWNvbnRyb2xzLWNvbXBhY3QtcG9zaXRpb246ICdib3R0b20tcmlnaHQnICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1jb250cm9scy1ib3JkZXItcmFkaXVzOiAwICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1jb250cm9scy1idXR0b24tYm94LXNoYWRvdzogKFxyXG4gICAgZGVmYXVsdDogJGJveFNoYWRvdzIsXHJcbiAgICBob3ZlcjogJGJveFNoYWRvdzJcclxuKSAhZGVmYXVsdDtcclxuLy8gUGFkZGluZyB1c2VkIGZvciBhbGlnbm1lbnQgaWYgdXNpbmcgY3VzdG9tIGljb25zLlxyXG4kY29sbGVjdGlvbi1jb250cm9scy1uZXh0LXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiAwLFxyXG4gICAgbGFyZ2U6IDBcclxuKSAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24tY29udHJvbHMtcHJldi1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogMCxcclxuICAgIGxhcmdlOiAwXHJcbikgIWRlZmF1bHQ7XHJcbiRieC1jb250cm9scy1kaW1lbnRpb25zOiAoXHJcbiAgICBzbWFsbDogNDVweCxcclxuICAgIG5vcm1hbDogMzBweCxcclxuICAgIGxhcmdlOiA3NXB4XHJcbikgIWRlZmF1bHQ7XHJcbiRieC1jb250cm9scy1pY29uLXNpemU6IChcclxuICAgIHNtYWxsOiAxNHB4LFxyXG4gICAgbGFyZ2U6IDE4cHhcclxuKSAhZGVmYXVsdDtcclxuJGJ4LWNvbnRyb2xzLWljb24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNCxcclxuICAgIGhvdmVyOiAkY29sb3VyNCxcclxuICAgIGFjdGl2ZTogJGNvbG91cjRcclxuKSAhZGVmYXVsdDtcclxuJGJ4LWNvbnRyb2xzLWljb24tc2hhZG93OiAwICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1jb250cm9scy1ib3JkZXItd2lkdGg6IDAgIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLWNvbnRyb2xzLWJvcmRlci1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIwLFxyXG4gICAgaG92ZXI6ICRjb2xvdXIwLFxyXG4gICAgYWN0aXZlOiAkY29sb3VyMFxyXG4pICFkZWZhdWx0O1xyXG4kYngtY29udHJvbHMtYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIxLCBcclxuICAgIGhvdmVyOiAkY29sb3VyMSxcclxuICAgIGFjdGl2ZTogJGNvbG91cjFcclxuKSAhZGVmYXVsdDtcclxuLy8gRHVlIHRvIHVzaW5nIHZhcmlvdXMgZGlmZmVyZW50IGZvbnQgZmFtaWxpZXMgZm9yIGdseXBocyBwbGFjZW1lbnQgb2YgdGhlIGdseXRoIGluIGl0cyBjYW52YXMgY2FuIHZhcnkgc28gaW4gc29tZSBjYXNlcyB3ZSBuZWVkIHRvIGFkZCBhIHNoaW0gdG8gY2VudHJhbGlzZSBpdCB3aXRoaW4gdGhlIGJ1dHRvbi5cclxuJGNvbGxlY3Rpb24tY29udHJvbHMtaWNvbi1zaGltOiAoXHJcbiAgICBzbWFsbDogbnVsbCxcclxuICAgIGxhcmdlOiBudWxsXHJcbikgIWRlZmF1bHQ7XHJcbi8vIC0tLSBTZXBlcmF0b3JzIC0tLVxyXG4kY29sbGVjdGlvbi1zZXBlcmF0b3JzLWRlZmF1bHQtZGltZW50aW9uczogKFxyXG4gICAgd2lkdGg6IDFweCxcclxuICAgIGhlaWdodDogODAlXHJcbikgIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLXNlcGVyYXRvcnMtY29sb3VyOiAkY29sb3VyMy02ICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tLS0gQVhJUyBUb29sdGlwIC0tLS0tIFxyXG4kdG9vbHRpcC1jb250ZW50LWNvbnRhaW5lci13aWR0aDogMzAwcHggIWRlZmF1bHQ7XHJcbiR0b29sdGlwLWNvbnRlbnQtdGlwLXNpemU6IDkgIWRlZmF1bHQ7XHJcbiR0b29sdGlwLWNvbnRlbnQtYmFja2dyb3VuZC1jb2xvdXI6ICRjb2xvdXIxICFkZWZhdWx0O1xyXG4kdG9vbHRpcC1jb250ZW50LWJvcmRlci13aWR0aDogMiAhZGVmYXVsdDtcclxuJHRvb2x0aXAtY29udGVudC1ib3JkZXI6ICRjb2xvdXI2ICFkZWZhdWx0O1xyXG4kdG9vbHRpcC1jb250ZW50LWZvbnQtc2l6ZTogMTMgIWRlZmF1bHQ7XHJcbiR0b29sdGlwLWNvbnRlbnQtZm9udC13ZWlnaHQ6IDQwMCAhZGVmYXVsdDtcclxuJHRvb2x0aXAtY29udGVudC1ub3RpZmljYXRpb24tZm9udC13ZWlnaHQ6ICRpbnB1dC1lcnJvci1mb250LXdlaWdodCAhZGVmYXVsdDsgLy8gRm9yIHdhcm5pbmcgJiBhbGVydC5cclxuJHRvb2x0aXAtY29udGVudC1jb2xvdXI6ICRib2R5LWZvbnQtY29sb3VyICFkZWZhdWx0O1xyXG4kdG9vbHRpcC1pbmZvLWljb24tc2l6ZTogMTBweCAhZGVmYXVsdDtcclxuJHRvb2x0aXAtaWNvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIxLFxyXG4gICAgaG92ZXI6ICRjb2xvdXIxLFxyXG4gICAgYWN0aXZlOiAkY29sb3VyMVxyXG4pICFkZWZhdWx0O1xyXG5cclxuJHRvb2x0aXAtaWNvbi1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogcmdiYSgkY29sb3VyMy02LCAwLjcpLFxyXG4gICAgaG92ZXI6ICRjb2xvdXI2LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNFxyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tLS0gSGVhZGVyIC0tLS0tXHJcbiRoZWFkZXItbWFyZ2luOiAoXHJcbiAgICBzbWFsbDogMCxcclxuICAgIGxhcmdlOiAwXHJcbikgIWRlZmF1bHQ7XHJcbiRoZWFkZXItZGVza3RvcC1iYWNrZ3JvdW5kLWltYWdlOiBudWxsICFkZWZhdWx0O1xyXG4kaGVhZGVyLWRlc2t0b3AtYmFja2dyb3VuZC1pbWFnZS1wb3NpdGlvbjogdG9wIHJpZ2h0ICFkZWZhdWx0O1xyXG4vLyAtLS0gSGVhZGVyIFJlc3BvbnNpdmUgLS0tIFxyXG4vLyBXaGljaCBjb21wb25lbnRzIGluIG1vYmlsZSBkb24ndCBnZXQgc3VwcHJlc3NlZCBpbnNpZGUgb2YgdGhlIGhlYWRlci1jb250ZW50LSogY29udGFpbmVycy5cclxuJGhlYWRlci1jb21wb25lbnQtZGlzcGxheS1saXN0OiBcIi5sb2dvLWNvbnRhaW5lclwiLCBcIiNhY3Rpb24tYmFyLWNvbnRhaW5lclwiLCBcIi5oZWFkZXItc2VhcmNoLWNvbnRhaW5lclwiLCBcIi5oZWFkZXItY29tcG9uZW50LXNob3ctbW9iaWxlXCIgIWRlZmF1bHQ7XHJcbiRoZWFkZXItbW9iaWxlLW1lbnUtbWF4LWhlaWdodDogODB2aCAhZGVmYXVsdDtcclxuJGhlYWRlci1tb2JpbGUtbWVudS16LWluZGV4OiAyMDAwICFkZWZhdWx0O1xyXG4kaGVhZGluZy1ncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciA0Ny43JSAyOC41JSAhZGVmYXVsdDtcclxuJGhlYWRlci1ncmlkLWNvbHVtbi1vcmRlcjogKCkgIWRlZmF1bHQ7XHJcbiRoZWFkZXItZGVza3RvcC1zZXBhcmF0b3I6IDAgIWRlZmF1bHQ7XHJcbiRoZWFkZXItcGFkZGluZzogKFxyXG4gICAgc21hbGw6IDAsXHJcbiAgICBtZWRpdW06IDAgMTBweCxcclxuICAgIGxhcmdlOiAwXHJcbikgIWRlZmF1bHQ7XHJcbiRoZWFkZXItcmVzcG9uc2l2ZS1pdGVtLXNpemU6IDM1cHggIWRlZmF1bHQ7XHJcbiRoZWFkZXItcmVzcG9uc2l2ZS1pdGVtLXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiAwIDIuNXB4LFxyXG4gICAgbWVkaXVtOiAwIDMwcHhcclxuKSAhZGVmYXVsdDtcclxuJGhlYWRlci1yZXNwb25zaXZlLWljb24tcm90YXRlOiAxODBkZWcgIWRlZmF1bHQ7XHJcbiRoZWFkZXItcmVzcG9uc2l2ZS1pY29uLXNpemU6IChcclxuICAgIHNtYWxsOiAyMHB4LFxyXG4gICAgbGFyZ2U6IDI0cHhcclxuKSAhZGVmYXVsdDtcclxuJGhlYWRlci1yZXNwb25zaXZlLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjQsXHJcbiAgICBob3ZlcjogJGNvbG91cjZcclxuKSAhZGVmYXVsdDtcclxuJGhlYWRlci1oYW1idXJnZXItaWNvbi1zaXplOiAoXHJcbiAgICBzbWFsbDogMjVweCxcclxuICAgIGxhcmdlOiAzMHB4XHJcbikgIWRlZmF1bHQ7XHJcbiRoZWFkZXItbW9iaWxlLXRvZ2dsZS1pY29ucy1kaXNwbGF5OiAoXHJcbiAgICBtYWlsOiB0cnVlLFxyXG4gICAgdGVsZXBob25lOiB0cnVlLFxyXG4gICAgc2VhcmNoOiB0cnVlLFxyXG4gICAgYmFza2V0OiB0cnVlLFxyXG4gICAgaGFtYnVyZ2VyOiB0cnVlXHJcbikgIWRlZmF1bHQ7XHJcbiRoZWFkZXItbW9iaWxlLXNlcGVyYXRvci1ydWxlLWNvbG91cjogJGNvbG91cjQgIWRlZmF1bHQ7XHJcbiRoZWFkZXItbW9iaWxlLXNlcGVyYXRvci1ydWxlLXdlaWdodDogMnB4ICFkZWZhdWx0O1xyXG4vLyAkaGVhZGVyLW5hdi1yaWdodC13aWR0aDogMzcwcHggIWRlZmF1bHQ7XHJcbi8vIC0tLSBIZWFkZXIgdG9nZ2xlIGJhciAgWyBEZXNrdG9wIF0gLS0tIFxyXG4kaGVhZGVyLXRvZ2dsZS1iYXItZ2FwOiAwIDEyLjVweCAhZGVmYXVsdDtcclxuLy8gQnV0dG9uc1xyXG4kaGVhZGVyLXRvZ2dsZXItYmFyLWJ1dHRvbi1taW4taGVpZ2h0OiAzNXB4ICFkZWZhdWx0O1xyXG4kaGVhZGVyLXRvZ2dsZS1iYXItYnV0dG9uLWxpbmUtaGVpZ2h0OiAkZGVmYXVsdC1saW5lLWhlaWdodCAhZGVmYXVsdDtcclxuJGhlYWRlci10b2dnbGUtYmFyLWJ1dHRvbi1wYWRkaW5nOiAzLjVweCA3Ljc1cHg7XHJcbiRoZWFkZXItdG9nZ2xlLWJhci1idXR0b24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNCxcclxuICAgIGhvdmVyOiAkY29sb3VyNixcclxuICAgIGFjdGl2ZTogJGNvbG91cjQtMVxyXG4pICFkZWZhdWx0O1xyXG4kaGVhZGVyLXRvZ2dsZS1iYXItYnV0dG9uLWZvbnQtc2l6ZTogMjBweCAhZGVmYXVsdDtcclxuJGhlYWRlci10b2dnbGUtYmFyLWZvbnQtd2VpZ2h0OiBudWxsICFkZWZhdWx0O1xyXG4kaGVhZGVyLXRvZ2dsZS1jb250ZW50LXdpZHRoczogKFxyXG4gICAgc2VhcmNoOiA0OTBweCwgICAgXHJcbiAgICBhY3Rpb24tYmFyOiAyNTBweFxyXG4pICFkZWZhdWx0O1xyXG4vLyAtLS0gSGVhZGVyIEFjY291bnQgQnV0dG9uIC0tLVxyXG4kaGVhZGVyLWFjY291bnQtYnV0dG9uLW1pbi1oZWlnaHQ6ICRoZWFkZXItdG9nZ2xlci1iYXItYnV0dG9uLW1pbi1oZWlnaHQgIWRlZmF1bHQ7XHJcbiRoZWFkZXItYWNjb3VudC1idXR0b24tZmxleC1kaXJlY3Rpb246IG51bGwgIWRlZmF1bHQ7XHJcbiRoZWFkZXItYWNjb3VudC1idXR0b24tcGFkZGluZzogKFxyXG4gICAgZGVmYXVsdDogJGhlYWRlci10b2dnbGUtYmFyLWJ1dHRvbi1wYWRkaW5nLFxyXG4gICAgbWluaWZpZWQ6ICRoZWFkZXItdG9nZ2xlLWJhci1idXR0b24tcGFkZGluZ1xyXG4pICFkZWZhdWx0O1xyXG4kaGVhZGVyLWFjY291bnQtYnV0dG9uLWljb24tZ3V0dGVyOiAxMHB4ICFkZWZhdWx0O1xyXG4kaGVhZGVyLWFjY291bnQtYnV0dG9uLWljb24tc2l6ZTogJGhlYWRlci10b2dnbGUtYmFyLWJ1dHRvbi1mb250LXNpemUgIWRlZmF1bHQ7XHJcbiRoZWFkZXItYWNjb3VudC1idXR0b24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNCxcclxuICAgIGhvdmVyOiAkY29sb3VyMy0xLFxyXG4gICAgYWN0aXZlOiAkY29sb3VyM1xyXG4pICFkZWZhdWx0O1xyXG4kaGVhZGVyLWFjY291bnQtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBudWxsLFxyXG4gICAgaG92ZXI6IG51bGwsXHJcbiAgICBhY3RpdmU6IG51bGxcclxuKSAhZGVmYXVsdDtcclxuJGhlYWRlci1hY2NvdW50LWJ1dHRvbi1ib3JkZXItY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMy00LFxyXG4gICAgaG92ZXI6ICRjb2xvdXI0LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNFxyXG4pICFkZWZhdWx0O1xyXG4kaGVhZGVyLWFjY291bnQtYnV0dG9uLWljb24tbWFyZ2luOiBudWxsICFkZWZhdWx0O1xyXG4kaGVhZGVyLWFjY291bnQtYnV0dG9uLWljb24tcGFkZGluZzogbnVsbCAhZGVmYXVsdDtcclxuJGhlYWRlci1hY2NvdW50LWJ1dHRvbi1pY29uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogbWFwLWdldCgkaGVhZGVyLXRvZ2dsZS1iYXItYnV0dG9uLWNvbG91ciwgZGVmYXVsdCksXHJcbiAgICBob3ZlcjogbWFwLWdldCgkaGVhZGVyLXRvZ2dsZS1iYXItYnV0dG9uLWNvbG91ciwgaG92ZXIpLFxyXG4gICAgYWN0aXZlOiBtYXAtZ2V0KCRoZWFkZXItdG9nZ2xlLWJhci1idXR0b24tY29sb3VyLCBhY3RpdmUpXHJcbikgIWRlZmF1bHQ7XHJcbiRoZWFkZXItYWNjb3VudC1idXR0b24taWNvbi1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogbnVsbCxcclxuICAgIGhvdmVyOiBudWxsLFxyXG4gICAgYWN0aXZlOiBudWxsXHJcbikgIWRlZmF1bHQ7XHJcbiRoZWFkZXItYWNjb3VudC1idXR0b24taWNvbi1ib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKSAhZGVmYXVsdDtcclxuLy8gLS0tIEhlYWRlciBVcHBlciAtLS1cclxuJGhlYWRlci11cHBlci1mb250LXdlaWdodDogNDAwICFkZWZhdWx0O1xyXG4kaGVhZGVyLXVwcGVyLWljb25zLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjQsXHJcbiAgICBob3ZlcjogJGNvbG91cjEsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXIxXHJcbikgIWRlZmF1bHQ7XHJcbiRoZWFkZXItdXBwZXItaWNvbnMtYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIxLFxyXG4gICAgaG92ZXI6ICRjb2xvdXI0LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNlxyXG4pICFkZWZhdWx0O1xyXG4kaGVhZGluZy11cHBlci1pY29ucy1zaXplOiAxNHB4ICFkZWZhdWx0O1xyXG4kaGVhZGVyLXVwcGVyLWljb24tbWFyZ2luOiAwIDEwcHggMCAwICFkZWZhdWx0O1xyXG4kaGVhZGVyLXVwcGVyLWljb24tcGFkZGluZzogMXB4IDVweCAhZGVmYXVsdDtcclxuJGhlYWRlci11cHBlci1pY29ucy1ib3JkZXItcmFkaXVzOiAkYm9yZGVyUmFkaXVzMiAhZGVmYXVsdDtcclxuJGhlYWRlci11cHBlci1ncmFkaWFudDogbnVsbCAhZGVmYXVsdDtcclxuJGhlYWRlci11cHBlci1iYWNrZ3JvdW5kLWNvbG91cjogJGNvbG91cjMgIWRlZmF1bHQ7XHJcbiRoZWFkZXItdXBwZXItY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMixcclxuICAgIGhvdmVyOiAkY29sb3VyNixcclxuICAgIGFjdGl2ZTogJGNvbG91cjRcclxuKSAhZGVmYXVsdDtcclxuJGhlYWRlci11cHBlci10ZXh0LXRyYW5zZm9ybTogbm9uZSAhZGVmYXVsdDtcclxuJGhlYWRlci11cHBlci1mb250LXNpemU6ICRwYXJhZ3JhcGgtZm9udC1zaXplICFkZWZhdWx0O1xyXG4kbWVudXMtdGVsZXBob25lLWZvbnQtc2l6ZTogbnVsbCAhZGVmYXVsdDtcclxuJG1lbnVzLXRlbGVwaG9uZS1mb250LXdlaWdodCA6IG51bGwgIWRlZmF1bHQ7XHJcbiRtZW51cy10ZWxlcGhvbmUtaWNvbi1zaXplOiAkaGVhZGluZy11cHBlci1pY29ucy1zaXplICFkZWZhdWx0O1xyXG4kbWVudXMtdGVsZXBob25lLWljb24tbGluZS1oZWlnaHQ6IDIycHggIWRlZmF1bHQ7XHJcbiRtZW51cy10ZWxlcGhvbmUtaWNvbi1yb3RhdGU6ICRoZWFkZXItcmVzcG9uc2l2ZS1pY29uLXJvdGF0ZSAhZGVmYXVsdDtcclxuJG1lbnVzLWVtYWlsLWZvbnQtc2l6ZTogbnVsbCAhZGVmYXVsdDtcclxuJG1lbnVzLWVtYWlsLWljb24tc2l6ZTogJGhlYWRpbmctdXBwZXItaWNvbnMtc2l6ZSAhZGVmYXVsdDtcclxuJGhlYWRlci11cHBlci1mb250LXN0eWxlOiBudWxsICFkZWZhdWx0O1xyXG4kaGVhZGVyLXVwcGVyLWJvcmRlcjogZmFsc2UgIWRlZmF1bHQ7XHJcbiRoZWFkZXItdXBwZXItYm9yZGVyLXdpZHRoOiAwIDAgMXB4ICFkZWZhdWx0O1xyXG4kaGVhZGVyLXVwcGVyLWJvcmRlci1jb2xvdXI6ICRjb2xvdXIzLTEgIWRlZmF1bHQ7XHJcbiRoZWFkZXItdXBwZXItcGFkZGluZzogNy41cHggMTVweCAhZGVmYXVsdDtcclxuJGhlYWRlci11cHBlci1wYXJlbnQtc3VwcHJlc3Mtb3V0ZXItcGFkZGluZzogZmFsc2UgIWRlZmF1bHQ7XHJcbi8vIC0tLSBNaWRkbGUgLS0tXHJcbiRoZWFkZXItYmFja2dyb3VuZC1jb2xvdXI6ICRjb2xvdXIxICFkZWZhdWx0O1xyXG4kaGVhZGVyLWNvbnRlbnQtZ3JhZGlhbnQ6IG51bGwgIWRlZmF1bHQ7XHJcbiRoZWFkZXItY29udGVudC1tYXgtd2lkdGg6IChcclxuICAgIHNtYWxsOiAzNCUsXHJcbiAgICBtZWRpdW06IG5vbmUsXHJcbiAgICBsYXJnZTogJGdsb2JhbC13aWR0aFxyXG4pICFkZWZhdWx0O1xyXG4kaGVhZGVyLWNvbnRlbnQtcGFkZGluZzogKFxyXG4gICAgc21hbGw6IDVweCxcclxuICAgIGxhcmdlOiAwXHJcbikgIWRlZmF1bHQ7XHJcbi8vIEhlYWRlciBjb250ZW50IGxlZnQuXHJcbi8vIERlcHJlY2F0ZWQgbW92aW5nIHRvIHJlbGF0aXZlIGxlbmd0aFxyXG4vLyAkbG9nby1jb250YWluZXItd2lkdGg6IChcclxuLy8gICAgIGxhcmdlOiAzMTBweFxyXG4vLyApICFkZWZhdWx0O1xyXG4kaGVhZGVyLWxvZ28td2lkdGg6IChcclxuICAgIGxhcmdlOiAyMDBweCxcclxuICAgIG1pbmlmaWVkOiAxMDVweCxcclxuICAgIHNtYWxsOiA2NXB4XHJcbikgIWRlZmF1bHQ7XHJcbiRoZWFkZXItbG9nby1oZWlnaHQ6IChcclxuICAgIHNtYWxsOiA2NXB4LFxyXG4gICAgbGFyZ2U6IGF1dG9cclxuKSAhZGVmYXVsdDtcclxuJGhlYWRlci1sb2dvLWFuY2hvci1tYXJnaW46IChcclxuICAgIHNtYWxsOiA1cHggMCxcclxuICAgIGxhcmdlOiAwXHJcbikgIWRlZmF1bHQ7XHJcbiRoZWFkZXItbG9nby1pbWFnZS1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogMCwgXHJcbiAgICBsYXJnZTogMjVweCAwXHJcbikgIWRlZmF1bHQ7XHJcbiRzaG93LW1pbmlmaWVkLWxvZ28tc21hbGw6IGZhbHNlICFkZWZhdWx0O1xyXG4kbG9nby1jb250YWluZXItanVzdGlmeTogbm9ybWFsICFkZWZhdWx0O1xyXG4kbG9nby1jb250YWluZXItcGFkZGluZzogKFxyXG4gICAgc21hbGw6IDAgMCAwIDEwcHgsXHJcbiAgICBsYXJnZTogMCAxMHB4IDAgMFxyXG4pICFkZWZhdWx0O1xyXG4kaGVhZGVyLWNvbnRlbnQtbGVmdC1kaXNwbGF5OiBmbGV4ICFkZWZhdWx0O1xyXG5cclxuJGhlYWRlci1jb250ZW50LWxlZnQtdGVtcGxhdGUtY29sdW1uczogKFxyXG4gICAgbGFyZ2U6IDFmciAjeygkZ2xvYmFsLXdpZHRoIC8gMyl9LFxyXG4gICAgeHhsYXJnZTogMWZyICN7KCRnbG9iYWwtd2lkdGggLyAyKX1cclxuKSAhZGVmYXVsdDtcclxuJGhlYWRlci1jb250ZW50LWxlZnQtYWxpZ24taXRlbXM6IG51bGwgIWRlZmF1bHQ7XHJcbiRoZWFkZXItY29udGVudC1sZWZ0LWp1c3RpZnR5LWNvbnRlbnQ6IG51bGwgIWRlZmF1bHQ7XHJcbiRoZWFkZXItY29udGVudC1sZWZ0LXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiBudWxsLFxyXG4gICAgbGFyZ2U6IG51bGxcclxuKSAhZGVmYXVsdDtcclxuJGhlYWRlci1jb250ZW50LWxlZnQtbWVudS1lbmFibGUtdW5kZXJsaW5lOiBmYWxzZSAhZGVmYXVsdDtcclxuJGhlYWRlci1jb250ZW50LWxlZnQtbWVudS11bmRlcmxpbmUtaGVpZ2h0OiAycHggIWRlZmF1bHQ7XHJcbiRoZWFkZXItY29udGVudC1sZWZ0LW1lbnUtbWFyZ2luOiBhdXRvIDAgIWRlZmF1bHQ7XHJcbiRoZWFkZXItY29udGVudC1sZWZ0LW1lbnUtc3VwcHJlc3MtZmlyc3QtaXRlbS1wYWRkaW5nOiBmYWxzZSAhZGVmYXVsdDtcclxuJGhlYWRlci1jb250ZW50LWxlZnQtbWVudS1zdXBwcmVzcy1maXJzdC1pdGVtLW1hcmdpbjogJGhlYWRlci1jb250ZW50LWxlZnQtbWVudS1zdXBwcmVzcy1maXJzdC1pdGVtLXBhZGRpbmcgIWRlZmF1bHQ7XHJcbiRoZWFkZXItY29udGVudC1sZWZ0LW1lbnUtaXRlbS1wYWRkaW5nOiAwICFkZWZhdWx0O1xyXG4kaGVhZGVyLWNvbnRlbnQtbGVmdC1tZW51LWFuY2hvci1wYWRkaW5nOiAxNXB4IDEwcHggIWRlZmF1bHQ7XHJcbiRoZWFkZXItY29udGVudC1sZWZ0LW1lbnUtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMlxyXG4pICFkZWZhdWx0O1xyXG4kaGVhZGVyLWNvbnRlbnQtbGVmdC1tZW51LWJhY2tncm91bmQtY29sb3VyOiAoKSAhZGVmYXVsdDtcclxuJGhlYWRlci1jb250ZW50LWxlZnQtbWVudS1sZXZlbC0xLWZvbnQtd2VpZ2h0OiA0MDAgIWRlZmF1bHQ7XHJcbiRoZWFkZXItY29udGVudC1sZWZ0LW1lbnUtbGV2ZWwtMS1mb250LXNpemU6IG51bGwgIWRlZmF1bHQ7XHJcbiRoZWFkZXItY29udGVudC1sZWZ0LW1lbnUtbGV2ZWwtMS1saW5lLWhlaWdodDogbnVsbCAhZGVmYXVsdDtcclxuLy8gSGVhZGVyIGNvbnRlbnQgY2VudGVyLlxyXG4kaGVhZGVyLWNvbnRlbnQtY2VudGVyLWp1c3RpZnktY29udGVudDogY2VudGVyICFkZWZhdWx0O1xyXG4kaGVhZGVyLWNvbnRlbnQtY2VudGVyLXBhZGRpbmc6IChcclxuICAgIGxhcmdlOiAwXHJcbikgIWRlZmF1bHQ7XHJcbiRoZWFkZXItY29udGVudC1jZW50ZXItbWVudS1jb250YWluZXItbWFyZ2luOiAwICFkZWZhdWx0O1xyXG4kaGVhZGVyLWNvbnRlbnQtY2VudGVyLW1lbnUtZ3JhbmQtcGFyZW50LWNvbG91cjogKCkgIWRlZmF1bHQ7XHJcbiRoZWFkZXItY29udGVudC1jZW50ZXItbWVudS1ncmFuZC1wYXJlbnQtcGFkZGluZzogMCAhZGVmYXVsdDtcclxuXHJcbi8vIEhlYWRlciBjb250ZW50IHJpZ2h0LlxyXG4kaGVhZGVyLWNvbnRlbnQtcmlnaHQtZGlzcGxheTogZmxleCAhZGVmYXVsdDtcclxuJGhlYWRlci1jb250ZW50LXJpZ2h0LXRlbXBsYXRlLWNvbHVtbnM6IChcclxuICAgIGxhcmdlOiAxZnIsXHJcbiAgICB4bGFyZ2U6IDFmcixcclxuICAgIHh4bGFyZ2U6ICN7KCRnbG9iYWwtd2lkdGggLyAyKX0gMWZyXHJcbikgIWRlZmF1bHQ7XHJcbiRoZWFkZXItY29udGVudC1yaWdodC1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogbnVsbCxcclxuICAgIGxhcmdlOiBudWxsXHJcbikgIWRlZmF1bHQ7XHJcbiRoZWFkZXItY29udGVudC1yaWdodC1hbGlnbm1lbnQ6IG51bGwgIWRlZmF1bHQ7XHJcbiRoZWFkZXItY29udGVudC1yaWdodC1qdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhZGVmYXVsdDtcclxuJGhlYWRlci1jb250ZW50LXJpZ2h0LXRvZ2dsZS1iYXItbWFyZ2luOiBudWxsICFkZWZhdWx0O1xyXG4kaGVhZGVyLWNvbnRlbnQtcmlnaHQtdG9nZ2xlLWJhci1wYWRkaW5nOiBudWxsICFkZWZhdWx0O1xyXG4kaGVhZGVyLWNvbnRlbnQtcmlnaHQtbWVudS1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IG1hcC1nZXQoJGhlYWRlci1jb250ZW50LWxlZnQtbWVudS1jb2xvdXIsIGRlZmF1bHQpXHJcbikgIWRlZmF1bHQ7XHJcbiRoZWFkZXItY29udGVudC1yaWdodC1tZW51LWxldmVsLTEtZm9udC1zaXplOiAkaGVhZGVyLWNvbnRlbnQtbGVmdC1tZW51LWxldmVsLTEtZm9udC1zaXplICFkZWZhdWx0O1xyXG4kaGVhZGVyLWNvbnRlbnQtcmlnaHQtbWVudS1sZXZlbC0xLWZvbnQtd2VpZ2h0OiAkaGVhZGVyLWNvbnRlbnQtbGVmdC1tZW51LWxldmVsLTEtZm9udC13ZWlnaHQgIWRlZmF1bHQ7XHJcbiRoZWFkZXItY29udGVudC1yaWdodC1tZW51LWFuY2hvci1wYWRkaW5nOiAkaGVhZGVyLWNvbnRlbnQtbGVmdC1tZW51LWFuY2hvci1wYWRkaW5nICFkZWZhdWx0O1xyXG4kaGVhZGVyLWNvbnRlbnQtcmlnaHQtbWVudS1sZXZlbC0xLWxpbmUtaGVpZ2h0OiAkaGVhZGVyLWNvbnRlbnQtbGVmdC1tZW51LWxldmVsLTEtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XHJcbi8vIFNvIHRoZSBjb250ZW50IGZpdHMgdGlnaHQgYWdhaW5zdCB0aGUgY29udGVudCBjb250YWluZXIuXHJcbiRoZWFkZXItY29udGVudC1yaWdodC1tZW51LXN1cHByZXNzLXBhZGRpbmc6IGZhbHNlICFkZWZhdWx0O1xyXG4vLyAtLS0gSGVhZGVyIExvd2VyIC0tLVxyXG4kaGVhZGVyLW1lZ2EtbWVudS13aWR0aDogKFxyXG4gICAgc21hbGw6IDEwMCUsXHJcbiAgICBsYXJnZTogbWFwLWdldCgkaGVhZGVyLWNvbnRlbnQtbWF4LXdpZHRoLCBsYXJnZSksXHJcbiAgICB4bGFyZ2U6IG51bGwsXHJcbiAgICB4eGxhcmdlOiBudWxsXHJcbikgIWRlZmF1bHQ7XHJcbiRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LXNlcGVyYXRvcnM6IHRydWUgIWRlZmF1bHQ7XHJcbiRtZWdhLW1lbnUtc3VwcHJlc3Mtb3V0ZXItc2VwZXJhdG9yczogZmFsc2UgIWRlZmF1bHQ7XHJcbiRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LXNlcGVyYXRvcnMtZGltZW50aW9uczogKFxyXG4gICAgd2lkdGg6IDFweCxcclxuICAgIGhlaWdodDogMTAwJVxyXG4pICFkZWZhdWx0O1xyXG4kbWVnYS1tZW51LWdyYW5kLXBhcmVudC1zZXBlcmF0b3JzLWdhcDogbnVsbCAhZGVmYXVsdDtcclxuJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtc2VwZXJhdG9ycy1jb2xvdXI6ICRjb2xvdXIxICFkZWZhdWx0O1xyXG4kaGVhZGVyLWxvd2VyLWl0ZW0tZ3JvdzogZmFsc2UgIWRlZmF1bHQ7XHJcbiRoZWFkZXItbG93ZXItdGV4dC1hbGlnbjogbGVmdCAhZGVmYXVsdDtcclxuLy8kaGVhZGVyLWxvd2VyLWl0ZW0tcGFkZGluZzogMTVweCAxNXB4ICFkZWZhdWx0O1xyXG4vLyBNZWdhIE1lbnVcclxuJG1lZ2EtbWVudS1ib3JkZXI6IGZhbHNlICFkZWZhdWx0O1xyXG4kbWVnYS1tZW51LWJvcmRlci13aWR0aDogMXB4IDAgMCAhZGVmYXVsdDtcclxuJG1lZ2EtbWVudS1ib3JkZXItY29sb3VyOiAkY29sb3VyMSAhZGVmYXVsdDtcclxuJG1lZ2EtbWVudS1tb2JpbGUtbWF4LWhlaWdodDogODB2aCAhZGVmYXVsdDtcclxuJG1lZ2EtbWVudS1tb2JpbGUtcGFkZGluZzogMTBweCAhZGVmYXVsdDtcclxuLy8gTWVnYSBtZW51IGljb25zLlxyXG4kbWVnYS1tZW51LXNob3ctaWNvbnM6IGZhbHNlICFkZWZhdWx0O1xyXG4kbWVnYS1tZW51LXNob3ctaWNvbnMtbW9iaWxlOiB0cnVlICFkZWZhdWx0O1xyXG4kbWVnYS1tZW51LWljb25zLW1hcmdpbjogKFxyXG4gICAgc21hbGw6IDAgOHB4IDAgOHB4LFxyXG4gICAgbGFyZ2U6IDAgOHB4IDAgMCBcclxuKSAhZGVmYXVsdDtcclxuJG1lZ2EtbWVudS1pY29ucy1zaXplOiAyMHB4ICFkZWZhdWx0O1xyXG4kbWVnYS1tZW51LWljb25zLWZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVSZWd1bGFyICFkZWZhdWx0O1xyXG4kbWVnYS1tZW51LWxldmVsLTItZGVza3RvcC1tYXgtaGVpZ2h0OiA3MHZoICFkZWZhdWx0O1xyXG4kbWVnYS1tZW51LWxldmVsLTItcGFkZGluZzogKFxyXG4gICAgc21hbGw6IDAgMCAxNy41cHgsXHJcbiAgICBsYXJnZTogNDBweCA0N3B4XHJcbikgIWRlZmF1bHQ7XHJcbiRtZWdhLW1lbnUtbGV2ZWwtMi1ib3JkZXItd2lkdGg6IG51bGwgIWRlZmF1bHQ7XHJcbiRtZWdhLW1lbnUtbGV2ZWwtMi1ib3JkZXItY29sb3VyOiAkY29sb3VyMy0xICFkZWZhdWx0O1xyXG4kbWVnYS1tZW51LWxldmVsLTItYm94LXNoYWRvdzogMHB4IDIwcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKSAhZGVmYXVsdDtcclxuJG1lZ2EtbWVudS1sZXZlbC0yLWJvcmRlci1yYWRpdXM6IG51bGwgIWRlZmF1bHQ7XHJcbi8vIC0tLSBNZWdhIG1lbnUgSW1hZ2UgLS0tXHJcbiRtZWdhLW1lbnUtaW1hZ2UtYm9yZGVyOiAxcHggc29saWQgJGNvbG91cjMtNCAhZGVmYXVsdDtcclxuJG1lZ2EtbWVudS1pbWFnZS1kZXNrdG9wLW1hcmdpbjogMCAwIDIwcHggIWRlZmF1bHQ7XHJcbiRtZWdhLW1lbnUtaW1hZ2UtYm94LXNoYWRvdzogbnVsbCAhZGVmYXVsdDtcclxuJG1lZ2EtbWVudS1pbWFnZS1kaW1lbnNpb25zOiAyMDBweCAhZGVmYXVsdDtcclxuLy8gLS0tIE1vYmlsZSBOYXZpZ2F0aW9uIHRleHQgKCBIZWFkZXIgKSAtLS1cclxuJG1lbnUtbmF2LXRleHQtbWFyZ2luOiAzMHB4IDAgNDBweCAhZGVmYXVsdDtcclxuLy8gTGV2ZWwgMVxyXG4kbWVnYS1tZW51LWdyYW5kLXBhcmVudC1zdXBwcmVzcy1vdXRlci1wYWRkaW5nOiBmYWxzZSAhZGVmYXVsdDtcclxuJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtc3VwcHJlc3MtZmlyc3QtY2hpbGQtbWFyZ2luOiAkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1zdXBwcmVzcy1vdXRlci1wYWRkaW5nICFkZWZhdWx0O1xyXG4kbWVnYS1tZW51LWdyYW5kLXBhcmVudC1ib3JkZXItcmFkaXVzOiBmYWxzZSAhZGVmYXVsdDtcclxuJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtbWF4LXdpZHRoOiBmYWxzZSAhZGVmYXVsdDtcclxuJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtdGV4dC10cmFuc2Zvcm06IG5vbmUgIWRlZmF1bHQ7XHJcbiRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWxpbmUtaGVpZ2h0OiAkZGVmYXVsdC1saW5lLWhlaWdodCFkZWZhdWx0O1xyXG4kbWVnYS1tZW51LWdyYW5kLXBhcmVudC1sZXR0ZXItc3BhY2luZzogbnVsbCAhZGVmYXVsdDtcclxuJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtc2l6ZTogKFxyXG4gICAgc21hbGw6IDIwLFxyXG4gICAgbGFyZ2U6IDE1XHJcbikgIWRlZmF1bHQ7XHJcbiRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LXdlaWdodDogKFxyXG4gICAgc21hbGw6IDcwMCxcclxuICAgIGxhcmdlOiA2MDBcclxuKSAhZGVmYXVsdDtcclxuJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtcGFkZGluZzogKFxyXG4gICAgc21hbGw6ICRnbG9iYWwtbWVudS1pdGVtLXBhZGRpbmcsXHJcbiAgICBsYXJnZTogMTVweCAxNXB4XHJcbikgIWRlZmF1bHQ7XHJcbiRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LW1hcmdpbjogKFxyXG4gICAgc21hbGw6IG51bGwsXHJcbiAgICBsYXJnZTogbnVsbFxyXG4pICFkZWZhdWx0O1xyXG4kbWVnYS1tZW51LWdyYW5kLXBhcmVudC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQtc21hbGw6ICRjb2xvdXI0LFxyXG4gICAgZGVmYXVsdC1sYXJnZTogJGNvbG91cjEsXHJcbiAgICBob3ZlcjogJGNvbG91cjMtNixcclxuICAgIGFjdGl2ZTogJGNvbG91cjFcclxuKSAhZGVmYXVsdDtcclxuJG1lbnVzLWxldmVsLTEtaWNvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI0LFxyXG4gICAgaG92ZXI6IGhvdmVyLWNvbG91cigkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1jb2xvdXIpLFxyXG4gICAgYWN0aXZlOiBhY3RpdmUtY29sb3VyKCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWNvbG91cilcclxuKSAhZGVmYXVsdDtcclxuJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtYmFja2dyb3VuZC1jb2xvdXItc2hvdy1vbi1hbmNob3I6IGZhbHNlICFkZWZhdWx0O1xyXG4kbWVnYS1tZW51LWdyYW5kLXBhcmVudC1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogbGFyZ2UtdmFsdWUoJG1lbnVzLWJhY2tncm91bmQtY29sb3VyKSwgLy8geW91IG1heSBnZXQgaXNzdWVzIGhlcmUgZm9yIG1vYmlsZS5cclxuICAgIGhvdmVyOiAkY29sb3VyMSxcclxuICAgIGFjdGl2ZTogJGNvbG91cjRcclxuKSAhZGVmYXVsdDtcclxuJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtYW5jaG9yLW1hcmdpbjogKFxyXG4gICAgc21hbGw6IG51bGwsXHJcbiAgICBsYXJnZTogbnVsbFxyXG4pICFkZWZhdWx0O1xyXG4kbWVnYS1tZW51LWdyYW5kLXBhcmVudC1pbWFnZS1zaXplOiAoXHJcbiAgICBzbWFsbDogMzVweCxcclxuICAgIGxhcmdlOiA0NXB4XHJcbikgIWRlZmF1bHQ7XHJcbiRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWltYWdlLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW4gIWRlZmF1bHQ7XHJcbiRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWltYWdlLXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiAwIDEwcHggMCAwLFxyXG4gICAgbGFyZ2U6IDBcclxuKSAhZGVmYXVsdDtcclxuJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtZGVzY3JpcHRpb24tcGFkZGluZzogMTBweCAwIDAgIWRlZmF1bHQ7XHJcbiRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWJvcmRlci1yYWRpdXM6IG51bGwgIWRlZmF1bHQ7XHJcbi8vIExldmVsIDJcclxuJG1lZ2EtbWVudS1tYXgtY29sdW1uczogOCAhZGVmYXVsdDtcclxuJG1lZ2EtbWVudS1kcm9wZG93bi13aWR0aDogJGdsb2JhbC13aWR0aCAhZGVmYXVsdDtcclxuJG1lZ2EtbWVudS1kcm9wZG93bi1mdWxsLXdpZHRoOiBmYWxzZSAhZGVmYXVsdDtcclxuJG1lZ2EtbWVudS1kcm9wZG93bi1jb250ZW50LWNvbnRhaW5lcjogaWYoJG1lZ2EtbWVudS1kcm9wZG93bi1mdWxsLXdpZHRoLCAkZ2xvYmFsLXdpZHRoLCAxMDAlKSAhZGVmYXVsdDtcclxuJG1lZ2EtbWVudS1kcm9wZG93bi1ndXR0ZXI6IDIwcHggMTVweCAhZGVmYXVsdDtcclxuJGRlZmF1bHQtbWVudS1kcm9wZG93bi1ib3JkZXItY29sb3VyOiAkY29sb3VyNDtcclxuJG1lZ2EtbWVudS1wYXJlbnQtbWFyZ2luOiAoXHJcbiAgICBzbWFsbDogMCxcclxuICAgIGxhcmdlOiAwXHJcbikgIWRlZmF1bHQ7XHJcbiRtZWdhLW1lbnUtcGFyZW50LXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiAkZ2xvYmFsLW1lbnUtaXRlbS1wYWRkaW5nLFxyXG4gICAgbGFyZ2U6IDEwcHggMCA1cHggNXB4XHJcbikgIWRlZmF1bHQ7XHJcbiRtZWdhLW1lbnUtcGFyZW50LXNpemU6IChcclxuICAgIHNtYWxsOiAxNyxcclxuICAgIGxhcmdlOiAxNVxyXG4pICFkZWZhdWx0O1xyXG4kbWVnYS1tZW51LXBhcmVudC1mb250LXdlaWdodDogKFxyXG4gICAgc21hbGw6IDcwMCxcclxuICAgIGxhcmdlOiA4MDBcclxuKSAhZGVmYXVsdDtcclxuJG1lZ2EtbWVudS1wYXJlbnQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNCxcclxuICAgIGhvdmVyOiAkY29sb3VyMixcclxuICAgIGFjdGl2ZTogJGNvbG91cjRcclxuKSAhZGVmYXVsdDtcclxuJG1lZ2EtbWVudS1wYXJlbnQtYmFja2dyb3VuZC1jb2xvdXI6ICgpICFkZWZhdWx0O1xyXG4kbWVnYS1tZW51LXBhcmVudC10ZXh0LXRyYW5zZm9ybTogJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtdGV4dC10cmFuc2Zvcm0gIWRlZmF1bHQ7XHJcbiRtZWdhLW1lbnUtcGFyZW50LXRleHQtZGVjb3JhdGlvbi1ob3Zlcjogbm9uZSAhZGVmYXVsdDtcclxuJG1lZ2EtbWVudS1wYXJlbnQtbGluZS1oZWlnaHQ6ICRkZWZhdWx0LWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xyXG4kbWVnYS1tZW51LXBhcmVudC1ib3JkZXItcmFkaXVzOiAwICFkZWZhdWx0O1xyXG4vLyBMZXZlbCAzLlxyXG4kbWVnYS1tZW51LWNoaWxkLWNvbnRhaW5lci1tYXJnaW46IChcclxuICAgIHNtYWxsOiAwIDAgMCAyMHB4XHJcbikgIWRlZmF1bHQ7XHJcbiRtZWdhLW1lbnUtY2hpbGQtc2l6ZTogKFxyXG4gICAgc21hbGw6IDE3LFxyXG4gICAgbGFyZ2U6IDE0XHJcbikgIWRlZmF1bHQ7XHJcbiRtZWdhLW1lbnUtY2hpbGQtZm9udC13ZWlnaHQ6IChcclxuICAgIHNtYWxsOiA0MDAsXHJcbiAgICBsYXJnZTogNDAwXHJcbikgIWRlZmF1bHQ7IFxyXG4kbWVnYS1tZW51LWNoaWxkLWNvbG91cjogKFxyXG4gICAgc21hbGw6ICRjb2xvdXIyLFxyXG4gICAgbGFyZ2UtZGVmYXVsdDogJGNvbG91cjIsXHJcbiAgICBsYXJnZS1ob3ZlcjogJGNvbG91cjYsXHJcbiAgICBsYXJnZS1hY3RpdmU6ICRjb2xvdXI0XHJcbikgIWRlZmF1bHQ7XHJcbiRtZWdhLW1lbnUtY2hpbGQtcGFkZGluZzogKFxyXG4gICAgc21hbGw6IDVweCBzcGFjaW5nLXZhbHVlKCRtZWdhLW1lbnUtcGFyZW50LXBhZGRpbmcsIDIpIDVweCBzcGFjaW5nLXZhbHVlKCRtZWdhLW1lbnUtcGFyZW50LXBhZGRpbmcsIDQpLFxyXG4gICAgbGFyZ2U6IDAgc3BhY2luZy12YWx1ZSgkbWVnYS1tZW51LXBhcmVudC1wYWRkaW5nLCAyLCBsYXJnZSkgMCBzcGFjaW5nLXZhbHVlKCRtZWdhLW1lbnUtcGFyZW50LXBhZGRpbmcsIDQsIGxhcmdlKVxyXG4pICFkZWZhdWx0O1xyXG4vLyBWaWV3IG1vcmUuXHJcblxyXG4vLyBBY2NvdW50IE1lbnUuXHJcbiRhY2NvdW50LW1lbnUtd2lkdGg6IChcclxuICAgIHNtYWxsOiAxMDAlLFxyXG4gICAgbGFyZ2U6IDU1MHB4XHJcbikgIWRlZmF1bHQ7XHJcbiRhY2NvdW50LW1lbnUtcGFkZGluZzogKFxyXG4gICAgc21hbGw6IDEwcHggMCxcclxuICAgIGxhcmdlOiAyMHB4XHJcbikgIWRlZmF1bHQ7XHJcbi8vIEdldHMgdXNlZCBpbiBoZWFkZXIgdmFyaWFudCAzXHJcbiRhY2NvdW50LW1lbnUtYm94LXNoYWRvdzogbnVsbCAhZGVmYXVsdDtcclxuJGFjY291bnQtbWVudS1pdGVtLXBhZGRpbmc6IDEwcHggIWRlZmF1bHQ7XHJcblxyXG4kbWVudS1sZXZlbDEtZGVmYXVsdC1ob3Zlci1iYWNrZ3JvdW5kOiAkY29sb3VyMSAhZGVmYXVsdDtcclxuJG1lbnUtbGV2ZWwyLWRlZmF1bHQtbW9iaWxlLWhvdmVyLWJhY2tncm91bmQ6ICRjb2xvdXI0LTIgIWRlZmF1bHQ7XHJcbiRtZW51LWxldmVsMS1kZWZhdWx0LWhvdmVyLWNvbG91cjogJGNvbG91cjQtMiAhZGVmYXVsdDtcclxuJG1lbnUtbGV2ZWwxLWFuY2hvci1mb250LXNpemU6IDE1ICFkZWZhdWx0O1xyXG4kbWVudS1sZXZlbDEtYW5jaG9yLWNvbG91cjogJGNvbG91cjEgIWRlZmF1bHQ7XHJcbiRtZW51LWxldmVsMS1hbmNob3ItZm9udC13ZWlnaHQ6IDYwMCAhZGVmYXVsdDtcclxuXHJcbi8vIENvbW1vbiBtZW51IHN0eWxlc1xyXG4kbW9iaWxlLW1lbnUtZm9vdGVyLXBhZGRpbmctYm90dG9tOiA1MHB4ICFkZWZhdWx0OyBcclxuJG1lbnUtZm9vdGVyLWJvcmRlci1ib3R0b20tY29sb3VyOiAkY29sb3VyNCAhZGVmYXVsdDtcclxuJG1lbnUtZm9vdGVyLWJvcmRlci1ib3R0b20tc2l6ZTogNnB4ICFkZWZhdWx0O1xyXG4kbWVudS1lbmFibGUtZHJvcGRvd24tZm9vdGVyOiB0cnVlICFkZWZhdWx0O1xyXG4vLyBTdXBwcmVzc2luZyB0byBhbGxvdyBmb3IgY29tcGFjdCBoZWFkZXIgZm9yIGF4aXMgcG9ydGFsLlxyXG4vLyAkaGVhZGVyLWNvbnRlbnQtbWluLWhlaWdodDogMTQ1cHggIWRlZmF1bHQ7XHJcbi8vIC0tLSBTdGF0dXMgbWVzc2FnZXMgLS0tIFxyXG4kaGVhZGVyLXN0YXR1cy1tZXNzYWdlcy1jb2xvdXI6ICRjb2xvdXIxICFkZWZhdWx0O1xyXG4kaGVhZGVyLXN0YXR1cy1tZXNzYWdlcy1zZXBlcmF0b3ItY29sb3VyOiAkaGVhZGVyLXN0YXR1cy1tZXNzYWdlcy1jb2xvdXIgIWRlZmF1bHQ7XHJcbi8vIC0tLSBUYWdsaW5lIC0tLVxyXG4kaGVhZGVyLXRhZ2xpbmUtaGVpZ2h0OiA1MHB4ICFkZWZhdWx0O1xyXG4kaGVhZGVyLXRhZ2xpbmUtbG93ZXItc3VwcHJlc3M6IGZhbHNlICFkZWZhdWx0O1xyXG4kaGVhZGluZy10YWdsaW5lLXBhZGRpbmc6IDhweCAwICFkZWZhdWx0O1xyXG4kaGVhZGVyLXRhZ2xpbmUtY29sb3VyOiAkY29sb3VyNCAhZGVmYXVsdDtcclxuJGhlYWRlci10YWdsaW5lLWZvbnQtd2VpZ2h0OiA0MDAgIWRlZmF1bHQ7XHJcbiRoZWFkZXItdGFnbGluZS1mb250LXNpemU6ICRwYXJhZ3JhcGgtZm9udC1zaXplICsgMSAhZGVmYXVsdDtcclxuJGhlYWRlci10YWdsaW5lLXRleHQtdHJhbnNmb3JtOiBub25lICFkZWZhdWx0O1xyXG4kaGVhZGVyLXRhZ2xpbmUtbGV0dGVyLXNwYWNpbmc6IDAgIWRlZmF1bHQ7XHJcbiRoZWFkZXItdGFnbGluZS1saW5lLWhlaWdodDogbm9ybWFsICFkZWZhdWx0O1xyXG4vLyAtLS0gU2VhcmNoIC0tLVxyXG4vLyAkaGVhZGVyLXNlYXJjaC13aWR0aDogNjIwcHggIWRlZmF1bHQ7XHJcbiRoZWFkZXItc2VhcmNoLWhlaWdodDogNTBweCAhZGVmYXVsdDtcclxuJGhlYWRlci1zZWFyY2gtYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IG51bGwsXHJcbiAgICBob3ZlcjogbnVsbCxcclxuICAgIGFjdGl2ZTogbnVsbFxyXG4pICFkZWZhdWx0O1xyXG4kaGVhZGVyLXNlYXJjaC1ib3JkZXItY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBudWxsLFxyXG4gICAgaG92ZXI6IG51bGwsXHJcbiAgICBhY3RpdmU6IG51bGxcclxuKSAhZGVmYXVsdDtcclxuJGhlYWRlci1zZWFyY2gtYm94LXNoYWRvdzogKFxyXG4gICAgc21hbGw6IG51bGwsXHJcbiAgICBsYXJnZTogbnVsbFxyXG4pICFkZWZhdWx0O1xyXG4kaGVhZGVyLXNlYXJjaC1pbnB1dC1mb250LXNpemU6IG51bGwgIWRlZmF1bHQ7XHJcbiRoZWFkZXItc2VhcmNoLWlucHV0LWJvcmRlci13aWR0aDogbnVsbCAhZGVmYXVsdDtcclxuJGhlYWRlci1zZWFyY2gtaW5wdXQtcGxhY2Vob2xkZXItZm9udC1zaXplOiAxNyAhZGVmYXVsdDtcclxuJGhlYWRlci1zZWFyY2gtaW5wdXQtcGxhY2Vob2xkZXItZm9udC13ZWlnaHQ6IDQwMCAhZGVmYXVsdDtcclxuJGhlYWRlci1zZWFyY2gtaW5wdXQtcGxhY2Vob2xkZXItZm9udC1mYW1pbHk6IG51bGwgIWRlZmF1bHQ7IFxyXG4kaGVhZGVyLXNlYXJjaC1pbnB1dC1wbGFjZWhvbGRlci1sZXR0ZXItc3BhY2luZzogbnVsbCAhZGVmYXVsdDtcclxuLy8gQXMgd2UgbWlnaHQgd2FudCB0byBzZXQgdGhlIHNoYWRvdyBvbiB0aGUgY29udGFpbmVyIGluc3RlYWQgb2YgdGhlIGFjdHVhbCBpbnB1dHMuXHJcbiRoZWFkZXItc2VhcmNoLWlucHV0LXN1cHByZXNzLWhvdmVyLWJveC1zaGFkb3c6IGZhbHNlICFkZWZhdWx0O1xyXG4kaGVhZGVyLXNlYXJjaC1idXR0b24td2lkdGg6IG51bGwgIWRlZmF1bHQ7XHJcbiRoZWFkZXItc2VhcmNoLWljb24tc2l6ZTogbnVsbCAhZGVmYXVsdDtcclxuJGhlYWRlci1zZWFyY2gtYnV0dG9uLWJvcmRlci13aWR0aDogbnVsbCAhZGVmYXVsdDtcclxuJGhlYWRlci1zZWFyY2gtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBudWxsLFxyXG4gICAgaG92ZXI6IG51bGwsXHJcbiAgICBhY3RpdmU6IG51bGxcclxuKSAhZGVmYXVsdDtcclxuJGhlYWRlci1zZWFyY2gtYnV0dG9uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogbnVsbCxcclxuICAgIGhvdmVyOiBudWxsLFxyXG4gICAgYWN0aXZlOiBudWxsXHJcbikgIWRlZmF1bHQ7XHJcbiRoZWFkZXItc2VhcmNoLXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiAwLFxyXG4gICAgbGFyZ2U6IDBcclxuKSAhZGVmYXVsdDtcclxuJGhlYWRpbmctc2VhcmNoLWp1c3RpZnktY29udGVudDogY2VudGVyICFkZWZhdWx0O1xyXG4kaGVhZGVyLXNlYXJjaC1yZXN1bHRzLXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiAwLFxyXG4gICAgbGFyZ2U6ICRoZWFkZXItdGFnbGluZS1oZWlnaHQgNDBweCAwIDQwcHhcclxuKSAhZGVmYXVsdDtcclxuJGhlYWRlci1zZWFyY2gtcmVzdWx0cy1pbnB1dC1ib3gtc2hhZG93OiAoXHJcbiAgICBkZWZhdWx0OiBudWxsLFxyXG4gICAgaG92ZXI6IG51bGxcclxuKSAhZGVmYXVsdDtcclxuJGhlYWRlci1zZWFyY2gtYm9yZGVyLXdpZHRoLW92ZXJyaWRlOiBudWxsICFkZWZhdWx0O1xyXG4kaGVhZGVyLXNlYXJjaC1ib3JkZXItY29sb3VyLW92ZXJyaWRlOiBudWxsICFkZWZhdWx0O1xyXG4kaGVhZGVyLWJ1dHRvbi1pY29uLWNvbG91ci1vdmVycmlkZTogbnVsbCAhZGVmYXVsdDtcclxuLy8gLS0tIFdlbGNvbWUgVGV4dCAtLS0gXHJcbiRoZWFkZXItd2VsY29tZS10ZXh0LW1hcmdpbjogbnVsbCAhZGVmYXVsdDtcclxuJGhlYWRlci13ZWxjb21lLXRleHQtanVzdGlmeS1jb250ZW50OiAoXHJcbiAgICBsYXJnZTogZmxleC1lbmQsXHJcbiAgICB4eGxhcmdlOiBudWxsXHJcbikgIWRlZmF1bHQ7XHJcbiRoZWFkZXItd2VsY29tZS10ZXh0LWFsaWduLWl0ZW1zOiBjZW50ZXIgIWRlZmF1bHQ7XHJcbiRoZWFkZXItd2VsY29tZS10ZXh0LWhlaWdodDogJGhlYWRlci10YWdsaW5lLWhlaWdodCAhZGVmYXVsdDtcclxuJGhlYWRlci13ZWxjb21lLXRleHQtZm9udC1zaXplOiAkcGFyYWdyYXBoLWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuJGhlYWRlci13ZWxjb21lLXRleHQtY29sb3VyOiAkY29sb3VyMiAhZGVmYXVsdDtcclxuJGhlYWRlci13ZWxjb21lLXRleHQtZm9udC13ZWlnaHQ6IDQwMCAhZGVmYXVsdDtcclxuJGhlYWRlci13ZWxjb21lLXRleHQtZm9udC1zdHlsZTogbm9ybWFsICFkZWZhdWx0O1xyXG4kaGVhZGVyLXdlbGNvbWUtdGV4dC10ZXh0LWFsaWduOiByaWdodCAhZGVmYXVsdDtcclxuJGhlYWRlci13ZWxjb21lLXRleHQtbGluZS1oZWlnaHQ6IG51bGwgIWRlZmF1bHQ7XHJcbi8vIEF1dG9jb21wbGV0ZSAoIFNlYXJjaCApXHJcbiRhYy1yZXN1bHQtcGluLXRvLXRvcDogdHJ1ZSAhZGVmYXVsdDtcclxuJGhlYWRlci1zZWFyY2gtcmVzdWx0cy1kZXNrdG9wLXBvc2l0aW9uOiAoXHJcbiAgICB0b3A6IGlmKG5vdCAkYWMtcmVzdWx0LXBpbi10by10b3AsIC0je3NwYWNpbmctdmFsdWUoJGhlYWRlci1zZWFyY2gtcmVzdWx0cy1wYWRkaW5nLCAxLCBsYXJnZSl9LCBudWxsKSxcclxuICAgIHJpZ2h0OiBudWxsLFxyXG4gICAgbGVmdDogbnVsbFxyXG4pICFkZWZhdWx0O1xyXG4kYWMtcmVzdWx0cy13aWR0aDogNzAwcHggIWRlZmF1bHQ7XHJcbiRhYy1yZXN1bHRzLW9mZnNldDogLSN7c3BhY2luZy12YWx1ZSgkaGVhZGVyLXNlYXJjaC1yZXN1bHRzLXBhZGRpbmcsIDQsIGxhcmdlKX0gIWRlZmF1bHQ7XHJcbiRhYy1yZXN1bHRzLWJveC1zaGFkb3c6ICRib3hTaGFkb3cxICFkZWZhdWx0O1xyXG4kYWMtcmVzdWx0cy1wYWRkaW5nOiAoXHJcbiAgICB0b3A6IDExMHB4LFxyXG4gICAgc2lkZTogMCxcclxuICAgIGJvdHRvbTogNDBweFxyXG4pICFkZWZhdWx0O1xyXG4kYWMtdGl0bGUtbWFyZ2luOiAxMHB4IDAgMTVweCAhZGVmYXVsdDtcclxuJGFjLXRpdGxlLWZvbnQtc3R5bGU6IGl0YWxpYyAhZGVmYXVsdDtcclxuJGFjLXRpdGxlLWZvbnQtd2VpZ2h0OiA2MDAgIWRlZmF1bHQ7XHJcbiRhYy10aXRsZS1mb250LXNpemU6IG51bGwgIWRlZmF1bHQ7XHJcbiRhYy10aXRsZS1sZXR0ZXItc3BhY2luZzogbnVsbCAhZGVmYXVsdDtcclxuJGFjLXRpdGxlLXRleHQtdHJhbnNmb3JtOiBtYXAtZ2V0KCRoZWFkaW5nLTItdGV4dC10cmFuc2Zvcm0sIHByZXNldC0xKSAhZGVmYXVsdDtcclxuJGFjLXRpdGxlLWNvbGxlY3Rpb24tcGFkZGluZzogNXB4IDE1cHggIWRlZmF1bHQ7XHJcbiRhYy10aXRsZS1jb2xsZWN0aW9uLWJhY2tncm91bmQtY29sb3VyOiAkY29sb3VyNCAhZGVmYXVsdDtcclxuJGFjLXRpdGxlLWNvbGxlY3Rpb24tYm9yZGVyOiBmYWxzZSAhZGVmYXVsdDtcclxuJGFjLXRpdGxlLWNvbGxlY3Rpb24tYm9yZGVyLWNvbG91cjogJGNvbG91cjIgIWRlZmF1bHQ7XHJcbiRhYy10aXRsZS1jb2xsZWN0aW9uLWJvcmRlci13aWR0aDogMCAwIDFweCAwICFkZWZhdWx0O1xyXG4kYWMtdGl0bGUtY29sbGVjaXRvbi1ib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKSAhZGVmYXVsdDtcclxuJGFjLXRpdGxlLWNvbGxlY3Rpb24tZm9udC1mYW1pbHk6IGdldC10eXBvZ3JhcGh5LWZvbnQtZmFtaWx5KCkgIWRlZmF1bHQ7XHJcbiRhYy10aXRsZS1jb2xsZWN0aW9uLWNvbG91cjogJGNvbG91cjEgIWRlZmF1bHQ7XHJcbiRhYy10aXRsZS1jb2xsZWN0aW9uLWZvbnQtc2l6ZTogKCRwYXJhZ3JhcGgtZm9udC1zaXplICsgMSkgIWRlZmF1bHQ7XHJcbiRhYy10aXRsZS1jb2xsZWN0aW9uLWZvbnQtd2VpZ2h0OiA2MDAgIWRlZmF1bHQ7XHJcbiRhYy10aXRsZS10aXRsZS10ZXh0LXRyYW5zZm9ybTogbm9uZSAhZGVmYXVsdDtcclxuJGFjLXZpZXctYWxsLWNvbG91cjogJGNvbG91cjEgIWRlZmF1bHQ7XHJcbiRhYy12aWV3LWFsbC1pY29uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjYsXHJcbiAgICBob3ZlcjogJGNvbG91cjFcclxuKSAhZGVmYXVsdDtcclxuJGFjLXZpZXctYWxsLWZvbnQtc2l6ZTogKCRhYy10aXRsZS1jb2xsZWN0aW9uLWZvbnQtc2l6ZSAtIDEpICFkZWZhdWx0O1xyXG4kYWMtaXRlbS1saXN0LXBhZGRpbmc6IDEwcHggMCAhZGVmYXVsdDtcclxuJGFjLWl0ZW0tY29udGVudC1nYXA6IChcclxuICAgIHNtYWxsOiBudWxsLFxyXG4gICAgbGFyZ2U6IG51bGxcclxuKSAhZGVmYXVsdDtcclxuJGFjLWl0ZW0tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMixcclxuICAgIGhvdmVyOiAkY29sb3VyNFxyXG4pICFkZWZhdWx0O1xyXG4kYWMtaXRlbS1mb250LXNpemU6IG51bGwgIWRlZmF1bHQ7XHJcbiRhYy1pdGVtLWZvbnQtd2VpZ2h0OiBudWxsICFkZWZhdWx0O1xyXG4kYWMtaXRlbS1kZXNjcmlwdGlvbi1saW5lLWhlaWdodDogbnVsbCAhZGVmYXVsdDtcclxuJGFjLWl0ZW0tcGFkZGluZzogMCAyMHB4IDAgMCAhZGVmYXVsdDtcclxuJGFjLWl0ZW0tbWFyZ2luOiAwIDAgNXB4ICFkZWZhdWx0O1xyXG4kYWMtaXRlbS1pbWFnZS1tYXJnaW46IDAgMTBweCAwIDAgIWRlZmF1bHQ7XHJcbiRhYy1pdGVtLWJvcmRlcjogMXB4IHNvbGlkICRjb2xvdXIzLTEgIWRlZmF1bHQ7XHJcbiRhYy1pdGVtLWltYWdlLWRpbWVudGlvbnM6IChcclxuICAgIHdpZHRoOiA1MHB4LFxyXG4gICAgaGVpZ2h0OiA1MHB4XHJcbikgIWRlZmF1bHQ7XHJcbiRhYy1pdGVtLXJlZmVyZW5jZS1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIzLTNcclxuKSAhZGVmYXVsdDtcclxuJGFjLWl0ZW0tc25pcHBldC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IGRlZmF1bHQtY29sb3VyKCRhYy1pdGVtLXJlZmVyZW5jZS1jb2xvdXIpXHJcbikgIWRlZmF1bHQ7XHJcbi8vIC0tLSBOYXZpZ2F0aW9uIC0tLVxyXG4vLyBIb21lIEJ1dHRvblxyXG4kaG9tZS1idXR0b24td2lkdGg6IGZpdC1jb250ZW50ICFkZWZhdWx0O1xyXG4kaG9tZS1idXR0b24taWNvbi1zaXplOiAxNHB4ICFkZWZhdWx0O1xyXG4kaG9tZS1idXR0b24taWNvbi1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjAsXHJcbiAgICBob3ZlcjogJGNvbG91cjAsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXIwXHJcbikgIWRlZmF1bHQ7XHJcbiRob21lLWJ1dHRvbi1pY29uLXBhZGRpbmc6IDAgIWRlZmF1bHQ7XHJcbiRob21lLWJ1dHRvbi1zdXBwcmVzcy1iYWNrZ3JvdW5kLWNvbG91cjogZmFsc2UgIWRlZmF1bHQ7XHJcbiRob21lLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogbWFwLWdldCgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCksXHJcbiAgICBob3ZlcjogbWFwLWdldCgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1iYWNrZ3JvdW5kLWNvbG91ciwgaG92ZXIpLFxyXG4gICAgYWN0aXZlOiBtYXAtZ2V0KCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWJhY2tncm91bmQtY29sb3VyLCBhY3RpdmUpXHJcbikgIWRlZmF1bHQ7XHJcbiRob21lLWJ1dHRvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IG1hcC1nZXQoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtY29sb3VyLCBkZWZhdWx0LWxhcmdlKSxcclxuICAgIGhvdmVyOiBtYXAtZ2V0KCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWNvbG91ciwgaG92ZXIpLFxyXG4gICAgYWN0aXZlOiBtYXAtZ2V0KCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWNvbG91ciwgYWN0aXZlKVxyXG4pICFkZWZhdWx0O1xyXG4kaG9tZS1idXR0b24tcGFkZGluZzogbWFwLWdldCgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1wYWRkaW5nLCBsYXJnZSkgIWRlZmF1bHQ7XHJcbiRob21lLWJ1dHRvbi1ib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKSAhZGVmYXVsdDtcclxuJGhvbWUtc2VwZXJhdG9yOiBmYWxzZSAhZGVmYXVsdDtcclxuJGhvbWUtc2VwZXJhdG9yLWRpbWVuc2lvbnM6IChcclxuICAgIHdpZHRoOiAycHgsXHJcbiAgICBoZWlnaHQ6IDgwJVxyXG4pICFkZWZhdWx0O1xyXG4kaG9tZS1zZXBlcmF0b3ItY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMVxyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tIFN0aWNreSAtLS0gXHJcbiRoZWFkZXItbWluaWZpZWQtaGVpZ2h0OiAkZmllbGRzZXQtaW5wdXQtaGVpZ2h0ICFkZWZhdWx0O1xyXG4kaGVhZGVyLW1pbmlmaWVkLW1lZ2EtbWVudS1wYXJlbnQtZ3JvdXAtcGFkZGluZzogc3BhY2luZy12YWx1ZSgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1wYWRkaW5nLCAxLCBsYXJnZSkgIWRlZmF1bHQ7XHJcbiRoZWFkZXItbWluaWZpZWQtY29udGVudC1sZWZ0LW1lbnUtYW5jaG9yLXBhZGRpbmc6IDAgIWRlZmF1bHQ7XHJcbiRoZWFkZXItbWluaWZpZWQtY29udGVudC1sZWZ0LW1lbnUtYW5jaG9yLW1hcmdpbjogMCAhZGVmYXVsdDtcclxuJGhlYWRlci1pcy1zdHVjay1vcGFjaXR5OiAxICFkZWZhdWx0O1xyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcbi8vIC0tLSBCYXNrZXQgUHJldmlldyAtLS0gXHJcbiRkZXNrdG9wLXN1bW1hcnktd2lkdGg6IDI1NXB4ICFkZWZhdWx0O1xyXG4kYmFza2V0LXN1bW1hcnktYm94LXNoYWRvdzogKFxyXG4gICAgZGVmYXVsdDogbnVsbCxcclxuICAgIGhvdmVyOiBudWxsXHJcbikgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtcHJldmlldy1oZWlnaHQ6ICRoZWFkZXItc2VhcmNoLWhlaWdodCAhZGVmYXVsdDtcclxuJGJhc2tldC1wcmV2aWV3LWJvcmRlci1yYWRpdXM6IDAgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtcHJldmlldy1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjQtNixcclxuICAgIGhvdmVyOiBudWxsLFxyXG4gICAgd2FybmluZzogbWFwLWdldCgkd2FybmluZy1jb2xvdXIsIDkpLFxyXG4gICAgYWxlcnQ6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgOSlcclxuKSAhZGVmYXVsdDtcclxuJGJhc2tldC1wcmV2aWV3LWJvcmRlcjogZmFsc2UgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtcHJldmlldy1ib3JkZXItY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1iYWNrZ3JvdW5kLWNvbG91cixkZWZhdWx0KSxcclxuICAgIGhvdmVyOiBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1iYWNrZ3JvdW5kLWNvbG91ciwgaG92ZXIpLFxyXG4gICAgYWxlcnQ6IG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWJhY2tncm91bmQtY29sb3VyLCBhbGVydClcclxuKSAhZGVmYXVsdDtcclxuJGJhc2tldC1wcmV2aWV3LWJhY2tncm91bmQtaG92ZXItY29sb3VyOiAkY29sb3VyNC0xICFkZWZhdWx0O1xyXG4kYmFza2V0LXByZXZpZXctc3VtbWFyeS1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIyLFxyXG4gICAgaG92ZXI6ICRjb2xvdXIxLFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNlxyXG4pICFkZWZhdWx0O1xyXG4kYmFza2V0LXN1bW1hcnktZm9udC13ZWlnaHQ6IChcclxuICAgIGRlZmF1bHQ6IDQwMCxcclxuICAgIGhvdmVyOiA2MDBcclxuKSAhZGVmYXVsdDtcclxuJGJhc2tldC1wcmV2aW91cy1pY29uLXdpZHRoOiA3MnB4ICFkZWZhdWx0O1xyXG4kYmFza2V0LXByZXZpZXctaWNvbi1oZWlnaHQ6IDUwcHggIWRlZmF1bHQ7XHJcbiRiYXNrZXQtcHJldmlldy1pY29uLXBhZGRpbmc6IChcclxuICAgIGRlZmF1bHQ6IDlweCAyM3B4LFxyXG4gICAgbWluaWZpZWQ6IDRweCAyM3B4XHJcbikgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtcHJldmlldy1pY29uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjEsXHJcbiAgICBob3ZlcjogJGNvbG91cjEsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXIxLFxyXG4gICAgd2FybmluZzogJGNvbG91cjEsXHJcbiAgICBhbGVydDogJGNvbG91cjFcclxuKSAhZGVmYXVsdDtcclxuJGJhc2tldC1wcmV2aWV3LWljb24tYm9yZGVyLXJhZGl1czogMCAhZGVmYXVsdDtcclxuJGJhc2tldC1wcmV2aWV3LWZvbnQtc2l6ZTogMTQgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtcHJldmlldy1mb250LXN0eWxlOiBudWxsICFkZWZhdWx0O1xyXG4kYmFza2V0LXByZXZpZXctbm90aWZpY2F0aW9uLWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7IC8vIEZvciB3YXJuaW5nICYgYWxlcnQgc3RhdGVzLlxyXG4kYmFza2V0LXByZXZpZXctaWNvbi1iYWNrZ3JvdW5kLWNvbG91ci1ncmFkaWFudDogbnVsbCAhZGVmYXVsdDtcclxuJGJhc2tldC1wcmV2aWV3LWljb24tYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI0LTEsXHJcbiAgICB3YXJuaW5nOiAkY29sb3VyNixcclxuICAgIGFsZXJ0OiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDApXHJcbikgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtcHJldmlldy1pY29uLWp1c3RpZnktY29udGVudDogZmxleC1lbmQgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtcHJldmlldy1pY29uLWFsaWduLWl0ZW1zOiBjZW50ZXIgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtcHJldmlldy1pY29uLWJvcmRlci13aWR0aDogMCAhZGVmYXVsdDtcclxuJGJhc2tldC1wcmV2aWV3LWljb24tYm9yZGVyLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogbWFwLWdldCgkYmFza2V0LXByZXZpZXctaWNvbi1jb2xvdXIsIGRlZmF1bHQpXHJcbikgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtc3VtbWFyeS1pdGVtLWNvdW50LWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjQsXHJcbiAgICBob3ZlcjogJGNvbG91cjYsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXIxXHJcbikgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtc3VtbWFyeS1pdGVtLWNvdW50LWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBtYXAtZ2V0KCRhY2NlbnQtY29sb3VyLTMsIDApLFxyXG4gICAgaG92ZXI6ICRjb2xvdXIxLFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNFxyXG4pICFkZWZhdWx0O1xyXG4kYmFza2V0LXN1bW1hcnktaXRlbS1jb3VudC1ib3JkZXItY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBkZWZhdWx0LWNvbG91cigkYmFza2V0LXN1bW1hcnktaXRlbS1jb3VudC1iYWNrZ3JvdW5kLWNvbG91ciksXHJcbiAgICBob3ZlcjogJGNvbG91cjYsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI0XHJcbikgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0gQ2FsbCB0byBhY3Rpb24gLS0tIFxyXG4kaGVhZGVyLWNhbGwtdG8tYWN0aW9uLWNvbnRhaW5lci1oZWlnaHQ6ICRoZWFkZXItc2VhcmNoLWhlaWdodCAhZGVmYXVsdDtcclxuXHJcbiRiYXNrZXQtcHJldmlldy1pY29uLWZvbnQtc2l6ZTogMjJweCAhZGVmYXVsdDtcclxuLy8gLS0tIEJyZWFkY3J1bWJzICYgVmF0IFN3aXRjaGVyIC0tLSBcclxuJGhlYWRlci1uby1icmVha2NydW1icy10b2dnbGUtc3dpdGNoLXNoaW0tb24taG9tZXBhZ2U6IGZhbHNlICFkZWZhdWx0O1xyXG4kaGVhZGVyLW5vLWJyZWFkY3J1bWJzLXZhdC1zd2l0Y2gtc2hpbTogNy41cHggIWRlZmF1bHQ7IC8vIHRyeSBhbmQga2VlcCBpbiBzeW5jIHdpdGggbW9kdWxlIG1hcmdpbiB0b3AgKyBib3R0b20gKCBpLmUgaGFsZiAkbW9kdWxlcy1tb2R1bGUtbWFyZ2luICkuXHJcbiRicmVhZGNydW1iLXZhdC1zd2l0Y2hlci1jb250YWluZXItbWFyZ2luOiAwICFkZWZhdWx0O1xyXG4kYnJlYWRjcnVtYnMtdmF0LXN3aXRjaGVyLXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiAxMHB4LFxyXG4gICAgbGFyZ2U6IDhweCAwIDE1cHhcclxuKSAhZGVmYXVsdDtcclxuLy8gLS0tIEJyZWFkY3J1bWJzIC0tLVxyXG4kYnJlYWRjcnVtYnMtbWFyZ2luOiAwICFkZWZhdWx0O1xyXG4kYnJlYWRjcnVtYnMtYW5jaG9yLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjMtNixcclxuICAgIGFjdGl2ZTogJGNvbG91cjRcclxuKSAhZGVmYXVsdDtcclxuJGJyZWFkY3J1bWJzLWFuY2hvci1mb250LXNpemU6IDE1ICFkZWZhdWx0O1xyXG4kYnJlYWRjcnVtYnMtYW5jaG9yLWZvbnQtd2VpZ2h0OiA0MDAgIWRlZmF1bHQ7XHJcbiRicmVhZGNydW1icy1hY3RpdmUtZm9udC13ZWlnaHQ6ICRicmVhZGNydW1icy1hbmNob3ItZm9udC13ZWlnaHQgIWRlZmF1bHQ7XHJcbiRicmVhZGNydW1icy1zZXBlcmF0b3ItbGluZS1oZWlnaHQ6IG51bGwgIWRlZmF1bHQ7XHJcbiRicmVhZGNydW1icy1zZXBlcmF0b3ItY29sb3VyOiBtYXAtZ2V0KCRicmVhZGNydW1icy1hbmNob3ItY29sb3VyLCBkZWZhdWx0KSAhZGVmYXVsdDtcclxuJGJyZWFkY3J1bWJzLXNlcGVyYXRvci1zaXplOiAxMHB4ICFkZWZhdWx0O1xyXG4kYnJlYWRjcnVtYnMtc2VwZXJhdG9yLW1hcmdpbjogMCA1cHggIWRlZmF1bHQ7XHJcbiRicmVhZGNydW1icy1zZXBlcmF0b3Itc2hpbTogMXB4ICFkZWZhdWx0O1xyXG4kYnJlYWRjcnVtYnMtdXBwZXJjYXNlOiBmYWxzZSAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLSBWQVQgU3dpdGNoZXIgLS0tIFxyXG4kdmF0LXN3aXRjaGVyLWNvbnRhaW5lci1iYWNrZ3JvdW5kLWNvbG91cjogbnVsbCAhZGVmYXVsdDtcclxuJHZhdC1oaWdobGlnaHRlZC1hY3RpdmUtbGFiZWw6IGZhbHNlICFkZWZhdWx0O1xyXG4kdmF0LXN3aXRjaGVyLWZvbnQtc2l6ZTogMTMgIWRlZmF1bHQ7XHJcbiR2YXQtc3dpdGNoZXItZm9udC13ZWlnaHQ6IChcclxuICAgIGRlZmF1bHQ6IDQwMCxcclxuICAgIGFjdGl2ZTogNjAwXHJcbikgIWRlZmF1bHQ7XHJcbiR2YXQtc3dpdGNoZXItY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMy0zLFxyXG4gICAgYWN0aXZlOiAkY29sb3VyMlxyXG4pICFkZWZhdWx0O1xyXG4kdmF0LXN3aXRjaGVyLWluZGljYXRvci1kaW1lbnRpb25zOiAzNHB4ICFkZWZhdWx0O1xyXG4kdmF0LXN3aXRjaGVyLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBleGNsdXNpdmU6ICRjb2xvdXIwLFxyXG4gICAgaW5jbHVzaXZlOiAkY29sb3VyMFxyXG4pICFkZWZhdWx0O1xyXG4kdmF0LXN3aXRjaGVyLWluZGljYXRvci1ib3JkZXItcmFkaXVzOiAwICFkZWZhdWx0O1xyXG4kdmF0LXN3aXRjaGVyLWluZGljYXRvci1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcclxuJHZhdC1zd2l0Y2hlci1ib3JkZXItY29sb3VyOiAoXHJcbiAgICBleGNsdXNpdmU6ICRjb2xvdXIzLTIsXHJcbiAgICBpbmNsdXNpdmU6ICRjb2xvdXIzLTJcclxuKSAhZGVmYXVsdDtcclxuJHZhdC1zd2l0Y2hlci1pbmRpY2F0b3ItZ2FwOiAwIDEwcHggIWRlZmF1bHQ7XHJcbiR2YXQtc3dpdGNoZXItcGFkZGxlLWNvbG91cjogKFxyXG4gICAgZXhjbHVzaXZlOiBtYXAtZ2V0KCRhY2NlbnQtY29sb3VyLTIsIDMpLFxyXG4gICAgaW5jbHVzaXZlOiBtYXAtZ2V0KCRhY2NlbnQtY29sb3VyLTIsIDMpXHJcbikgIWRlZmF1bHQ7XHJcbiR2YXQtc3dpdGNoZXItaW5kaWNhdG9yLWJvcmRlci1yYWRpdXM6IDAgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0gVVNQIEJhciAtLS0gXHJcbiR1c3Atb3JkZXItaW52ZXJ0OiBmYWxzZSAhZGVmYXVsdDtcclxuJHVzcC1pbWFnZS1ndXR0ZXI6IDEycHggIWRlZmF1bHQ7XHJcbiR1c3AtaW1hZ2UtYmFja2dyb3VuZC1jb2xvdXI6IG51bGwgIWRlZmF1bHQ7XHJcbiR1c3AtaW1hZ2UtcGFkZGluZzogNnB4ICFkZWZhdWx0O1xyXG4kdXNwLWJhci1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogNXB4IDAgNy41cHgsXHJcbiAgICBsYXJnZTogMTBweCAwIDBcclxuKSAhZGVmYXVsdDtcclxuJHVzcC1wYWRkaW5nOiAxNXB4IDVweCAhZGVmYXVsdDtcclxuJHVzcC1iYWNrZ3JvdW5kLWZ1bGwtd2lkdGg6IGZhbHNlICFkZWZhdWx0O1xyXG4kdXNwLWhvdmVyLW9wYWNpdHk6IC42ICFkZWZhdWx0O1xyXG4kdXNwLWl0ZW0tYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIzLFxyXG4gICAgaG92ZXI6IGRhcmtlbigkY29sb3VyMywgMTAlKSxcclxuICAgIGFjdGl2ZTogZGFya2VuKCRjb2xvdXIzLCAyMCUpXHJcbikgIWRlZmF1bHQ7XHJcbiR1c3AtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNCxcclxuICAgIGhvdmVyOiBudWxsLFxyXG4gICAgYWN0aXZlOiBudWxsXHJcbikgIWRlZmF1bHQ7XHJcbiR1c3AtYmFja2dyb3VuZC1jb2xvdXI6IG1hcC1nZXQoJHVzcC1pdGVtLWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KSAhZGVmYXVsdDtcclxuJHVzcC1ndXR0ZXI6IDAgIWRlZmF1bHQ7XHJcbiR1c3Atc2VwZXJhdG9yOiB0cnVlICFkZWZhdWx0O1xyXG4kdXNwLXNlcGVyYXRvci1kaW1lbnRpb25zOiAoXHJcbiAgICB3aWR0aDogMnB4LFxyXG4gICAgaGVpZ2h0OiAyOHB4XHJcbikgIWRlZmF1bHQ7XHJcbiR1c3Atc2VwZXJhdG9yLWNvbG91cjogJGNvbG91cjEgIWRlZmF1bHQ7XHJcbiR1c3AtYWxpZ25tZW50OiBjZW50ZXIgIWRlZmF1bHQ7XHJcbiR1c3AtZm9udC1zdHlsZTogaXRhbGljICFkZWZhdWx0O1xyXG4kdXNwLWZvbnQtc2l6ZTogMTUgIWRlZmF1bHQ7XHJcbiR1c3AtZm9udC13ZWlnaHQ6IDYwMCAhZGVmYXVsdDtcclxuJHVzcC10ZXh0LXRyYW5zZm9ybTogbm9uZSAhZGVmYXVsdDtcclxuJHVzcC1hbmNob3ItaW5kaWNhdG9yOiBmYWxzZSAhZGVmYXVsdDtcclxuJHVzcC1hbmNob3ItaW5kaWNhdG9yLWN1c3RvbS1pY29uOiAkc2l0ZS1pY29ucy1jdXN0b20tY2hldnJvbnMgIWRlZmF1bHQ7XHJcbiR1c3AtYW5jaG9yLWluZGljYXRvci1mb250LXNpemU6IDExcHggIWRlZmF1bHQ7XHJcbiR1c3AtYW5jaG9yLWluZGljYXRvci1jb2xvdXI6ICRjb2xvdXI0ICFkZWZhdWx0O1xyXG4kdXNwLWJvcmRlci13aWR0aDogMCAhZGVmYXVsdDtcclxuJHVzcC1ib3JkZXItY29sb3VyOiAkY29sb3VyNCAhZGVmYXVsdDtcclxuLy8gLS0tLS0gTW9kdWxlcyAtLS0tLSBcclxuJG1vZHVsZS1oMS1mb250LXdlaWdodDogNDAwICFkZWZhdWx0O1xyXG4kbW9kdWxlLWgyLWZvbnQtd2VpZ2h0OiA2MDAgIWRlZmF1bHQ7XHJcbiRtb2R1bGUtaGVhZGluZy1ib3JkZXI6IDBweCBzb2xpZCAkY29sb3VyMCAhZGVmYXVsdDtcclxuJG1vZHVsZXMtZmlyc3Qtcm93LW1vZHVsZS1tYXJnaW4tdG9wOiAwICFkZWZhdWx0O1xyXG4vLyAtLS0gUm93IEJhY2tncm91bmQgLS0tXHJcbiRtb2R1bGVzLXJvdy1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogMjVweCxcclxuICAgIGxhcmdlOiA0NXB4IDBcclxuKSAhZGVmYXVsdDtcclxuXHJcbiRtb2R1bGVzLXJvdy1tYXJnaW46IChcclxuICAgIHNtYWxsOiAwIDAgMjVweCxcclxuICAgIGxhcmdlOiAwIDAgNTBweFxyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tIFJvdyBDb250YWluZXIgLS0tIFxyXG4kbW9kdWxlcy1yb3ctYmFja2dyb3VuZC1jb2xvdXItcGFkZGluZzogKFxyXG4gICAgc21hbGw6IDEwcHgsXHJcbiAgICBsYXJnZTogMTVweFxyXG4pICFkZWZhdWx0O1xyXG4kbW9kdWxlcy1jb250YWluZXItcGFkZGluZzogKFxyXG4gICAgc21hbGw6ICgwKSxcclxuICAgIGxhcmdlOiAoNDVweClcclxuKSAhZGVmYXVsdDtcclxuJG1vZHVsZXMtcm93LWJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tIE1vZHVsZSBDb250YWluZXIgLS0tXHJcbiRtb2R1bGVzLW1vZHVsZS1ib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKSAhZGVmYXVsdDtcclxuJG1vZHVsZXMtbW9kdWxlLWJhY2tncm91bmQtY29sb3VyLXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiBzbWFsbC12YWx1ZSgkbW9kdWxlcy1yb3ctYmFja2dyb3VuZC1jb2xvdXItcGFkZGluZyksXHJcbiAgICBtZWRpdW06IDEwcHgsXHJcbiAgICBsYXJnZTogbGFyZ2UtdmFsdWUoJG1vZHVsZXMtcm93LWJhY2tncm91bmQtY29sb3VyLXBhZGRpbmcpXHJcbikgIWRlZmF1bHQ7XHJcbiRtb2R1bGVzLW1vZHVsZS1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogKDIuNXB4LCBhdXRvKSxcclxuICAgIGxhcmdlOiAoMzBweCwgYXV0bylcclxuKSAhZGVmYXVsdDtcclxuJG1vZHVsZXMtbW9kdWxlLW1hcmdpbjogKFxyXG4gICAgc21hbGw6IDEwcHgsXHJcbiAgICBsYXJnZTogMTVweFxyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tIE1vZHVsZSBDb250ZW50IENvbnRhaW5lciAtLS1cclxuJG1vZHVsZXMtY29udGVudC1iYWNrZ3JvdW5kLWNvbG91ci1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogc21hbGwtdmFsdWUoJG1vZHVsZXMtbW9kdWxlLWJhY2tncm91bmQtY29sb3VyLXBhZGRpbmcpLFxyXG4gICAgbWVkaXVtOiBtZWRpdW0tdmFsdWUoJG1vZHVsZXMtbW9kdWxlLWJhY2tncm91bmQtY29sb3VyLXBhZGRpbmcpLFxyXG4gICAgbGFyZ2U6IGxhcmdlLXZhbHVlKCRtb2R1bGVzLW1vZHVsZS1iYWNrZ3JvdW5kLWNvbG91ci1wYWRkaW5nKVxyXG4pICFkZWZhdWx0O1xyXG4vLyAtLS0gUGFnZSBIZWFkaW5nIC0tLSBcclxuJG1vZHVsZXMtcGFnZS1oZWFkaW5nLW1hcmdpbjogKFxyXG4gICAgc21hbGw6IDAgMCAxMHB4LFxyXG4gICAgbGFyZ2U6IDAgMCAxMHB4XHJcbikgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0gRUJHIC0tLVxyXG4kbW9kdWxlcy1lYmctcGFyYWdyYXBoLWZvbnQtd2VpZ2h0OiA0MDAgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0gQ01TIG1vZHVsZShzKSBhc3NvY2lhdGVkIGJhbm5lciBpbWFnZSBtYW5hZ2VtZW50IC0tLVxyXG4kbW9kdWxlcy1jbXMtYXNzb2NpYXRlZC1iYW5uZXItb2JqZWN0LWZpdC1kZWZhdWx0OiBjb3ZlciAhZGVmYXVsdDsgLy8gdGhpcyBjb250cm9scyB0aGUgbGFyZ2UgYnJlYWtwb2ludC5cclxuJG1vZHVsZXMtY21zLWFzc29jaWF0ZWQtYmFubmVyLW9iamVjdC1maXQ6IChcclxuICAgIGV2ZW50czogJG1vZHVsZXMtY21zLWFzc29jaWF0ZWQtYmFubmVyLW9iamVjdC1maXQtZGVmYXVsdCxcclxuICAgIG5ld3M6ICRtb2R1bGVzLWNtcy1hc3NvY2lhdGVkLWJhbm5lci1vYmplY3QtZml0LWRlZmF1bHQsXHJcbiAgICBibG9nOiAkbW9kdWxlcy1jbXMtYXNzb2NpYXRlZC1iYW5uZXItb2JqZWN0LWZpdC1kZWZhdWx0LFxyXG4gICAgZW50cnk6ICRtb2R1bGVzLWNtcy1hc3NvY2lhdGVkLWJhbm5lci1vYmplY3QtZml0LWRlZmF1bHRcclxuKSAhZGVmYXVsdDtcclxuXHJcbiRtb2R1bGVzLWNtcy1hc3NvY2lhdGVkLWJhbm5lci1oZWlnaHQ6IChcclxuICAgIGV2ZW50czogNTUwcHgsXHJcbiAgICBuZXdzOiAzNzVweCxcclxuICAgIGJsb2c6IDQ3NXB4LFxyXG4gICAgZW50cnk6IDM4MHB4IC8vIElmIGxlZnQgb3IgcmlnaHQgYWxpZ25lZC5cclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLSBCbG9nIC0tLS0gXHJcbiRtb2R1bGVzLWJsb2ctaGVhZGluZy1mb250LXNpemU6IG51bGwgIWRlZmF1bHQ7XHJcbiRtb2R1bGVzLWJsb2ctaGVhZGluZy1mb250LXdlaWdodDogbnVsbCAhZGVmYXVsdDtcclxuJG1vZHVsZXMtYmxvZy15LWd1dHRlcjogZmFsc2UgIWRlZmF1bHQ7XHJcbiRtb2R1bGVzLWJsb2ctbWFyZ2luOiAoXHJcbiAgICBzbWFsbDogKDApLFxyXG4gICAgbGFyZ2U6ICgwKVxyXG4pICFkZWZhdWx0O1xyXG4kbW9kdWxlcy1ibG9nLWNvbnRlbnQtcGFkZGluZzogKFxyXG4gICAgc21hbGw6IDUwcHggMTBweCxcclxuICAgIGxhcmdlOiA1MHB4IDcuNSVcclxuKSAhZGVmYXVsdDtcclxuJG1vZHVsZXMtYmxvZy1jb250ZW50LXJlYWQtbW9yZS1tYXgtaGVpZ2h0LXdpdGgtYmFubmVyOiB1bnNldCAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLSBOZXdzIC0tLVxyXG4kbW9kdWxlcy1uZXdzLXktZ3V0dGVyOiBmYWxzZSAhZGVmYXVsdDtcclxuJG1vZHVsZXMtbmV3cy1tYXJnaW46IChcclxuICAgIHNtYWxsOiAoMjVweCksXHJcbiAgICBsYXJnZTogKDQwcHgpXHJcbikgIWRlZmF1bHQ7XHJcbiRtb2R1bGVzLW5ldy1oZWFkaW5nLW1hcmdpbjogMCAwIDE1cHggIWRlZmF1bHQ7XHJcbiRtb2R1bGVzLW5ld3MtaGVhZGluZy1mb250LWZhbWlseTogbnVsbCAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLSBFdmVudHMgLS0tIFxyXG4kbW9kdWxlcy1ldmVudHMtcGFkZGluZzogKFxyXG4gICAgc21hbGw6IDIwcHgsXHJcbiAgICBsYXJnZTogNDBweFxyXG4pICFkZWZhdWx0O1xyXG4kbW9kdWxlcy1ldmVudHMtZ2FwOiAoXHJcbiAgICBzbWFsbDogMjVweCxcclxuICAgIGxhcmdlOiA1MHB4XHJcbikgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0gR3JpZCBjb2xsZWN0aW9uIC0tLSBcclxuLy8gQ29sbGVjdGlvbiBpdGVtXHJcbiRtb2R1bGVzLWdyaWQtZ3V0dGVyOiAoXHJcbiAgICBzbWFsbDogNy41cHgsXHJcbiAgICBtZWRpdW06IDE1cHgsIC8vIENoYW5naW5nIHRvIDE1cHggdG8gbWF0Y2ggZmFsbGJhY2sgZ3V0dGVyLlxyXG4gICAgbGFyZ2U6IDUwcHhcclxuKSAhZGVmYXVsdDtcclxuLy8gR3V0dGVyIGZhbGxiYWNrIGlmIENTUyB2YXJpYWJsZSBpcyBub3QgZGVmaW5lZCwgaS5lIGZvciBiYWNrd2FyZHMgY29tcGF0aWJsaXR5IG9mIG9sZCBtb2R1bGVzLlxyXG4kbW9kdWxlcy1ncmlkLWd1dHRlci1mYWxsYmFjazogKFxyXG4gICAgc21hbGw6IHNtYWxsLXZhbHVlKCRtb2R1bGVzLWNvbnRlbnQtYmFja2dyb3VuZC1jb2xvdXItcGFkZGluZyksXHJcbiAgICBtZWR1bTogbWVkaXVtLXZhbHVlKCRtb2R1bGVzLWNvbnRlbnQtYmFja2dyb3VuZC1jb2xvdXItcGFkZGluZyksXHJcbiAgICBsYXJnZTogbGFyZ2UtdmFsdWUoJG1vZHVsZXMtY29udGVudC1iYWNrZ3JvdW5kLWNvbG91ci1wYWRkaW5nKVxyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tIENNUyBNb2R1bGVzIC0tLSBcclxuJGNtcy1tb2R1bGUtY29udGVudC1iYW5uZXItbWFyZ2luOiBhdXRvICFkZWZhdWx0O1xyXG4kY21zLW1vZHVsZS1jb250ZW50LWNvbnRhaW5lci1mbGV4OiAwIDAgNTAlICFkZWZhdWx0O1xyXG4vLyBVc2VkIGZvciBpbWFnZSByaWdodCArIGxlZnQuXHJcbiRjbXMtbW9kdWxlLWNvbnRlbnQtYmFubmVyLW1pbi1oZWlnaHQ6IG51bGwgIWRlZmF1bHQ7XHJcbiRjbXMtbW9kdWxlLWVudHJ5LXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiAoMjBweCwgMjVweCksXHJcbiAgICBsYXJnZTogKDQ1cHgsIDUwcHgpXHJcbikgIWRlZmF1bHQ7XHJcbiRjbXMtbW9kdWxlLWVudHJ5LXJlYWQtbW9yZS1tYXgtaGVpZ2h0OiAoXHJcbiAgICBzbWFsbDogMjUwcHhcclxuKSAhZGVmYXVsdDtcclxuLy8gVXNlZCBhcyBhIG92ZXJyaWRlIGZvciBtaXhpbiBjbXMtaGVhZGluZ3MgaWYgbmVlZGVkLlxyXG4kY21zLW1vZHVsZS1oZWFkaW5nLWNvbG91cjogbnVsbCAhZGVmYXVsdDtcclxuJGNtcy1tb2R1bGUtc3VwcHJlc3MtbGlzdC1idXR0b246IChcclxuICAgIGJsb2c6IGZhbHNlLFxyXG4gICAgZXZlbnRzOiBmYWxzZSxcclxuICAgIG5ld3M6IGZhbHNlXHJcbikgIWRlZmF1bHQ7XHJcbiRjbXMtbW9kdWxlLXNob3ctYm9yZGVyOiAoXHJcbiAgICBibG9nOiBudWxsLFxyXG4gICAgZXZlbnRzOiBudWxsLFxyXG4gICAgbmV3czogbnVsbFxyXG4pICFkZWZhdWx0O1xyXG4kY21zLW1vZHVsZXMtYXNzb2NpYXRlZC1iYW5uZXItYm9yZGVyLWNvbG91cjogJGNvbG91cjMgIWRlZmF1bHQ7XHJcbiRjbXMtbW9kdWxlcy1hc3NvY2lhdGVkLWJhbm5lci1ib3JkZXItd2lkdGgtY29tbW9uOiAoXHJcbiAgICBzbWFsbDogbnVsbCxcclxuICAgIGxhcmdlOiBudWxsXHJcbikgIWRlZmF1bHQ7XHJcbiRjbXMtbW9kdWxlcy1hc3NvY2lhdGVkLWJhbm5lci1ib3JkZXItd2lkdGg6IChcclxuICAgIGJsb2c6ICRjbXMtbW9kdWxlcy1hc3NvY2lhdGVkLWJhbm5lci1ib3JkZXItd2lkdGgtY29tbW9uLFxyXG4gICAgbmV3czogJGNtcy1tb2R1bGVzLWFzc29jaWF0ZWQtYmFubmVyLWJvcmRlci13aWR0aC1jb21tb24sXHJcbiAgICBldmVudHM6ICRjbXMtbW9kdWxlcy1hc3NvY2lhdGVkLWJhbm5lci1ib3JkZXItd2lkdGgtY29tbW9uXHJcbik7XHJcbiRjbXMtbW9kdWxlLWNvbnRlbnQtanVzdGlmeS1jb250ZW50OiBudWxsICFkZWZhdWx0O1xyXG4vLyBVc2VkIGZvciBjbXMgbW9kdWxlcyB0aGF0IGFyZSBub3Qgb2YgdHlwZSBlbnRyeSBpLmUgYmxvZywgbmV3cywgZXZlbnQuXHJcbiRjbXMtbW9kdWxlLXBhcmFncmFwaC1mb250LXNpemU6ICRjbXMtcGFyYWdyYXBoLWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuJGNtcy1tb2R1bGUtcGFyYWdyYXBoLWZvbnQtd2VpZ2h0OiAkY21zLXBhcmFncmFwaC1mb250LXdlaWdodCAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLSBDTVMgU3Vic2lkaWFyeSAtLS0gXHJcbiRjbXMtc3Vic2lkaWFyeS1sZXZlbC0xLXBhZGRpbmc6IDE4cHggIWRlZmF1bHQ7XHJcbiRjbXMtc3Vic2lkaWFyeS1sZXZlbC0xLWJvcmRlcjogMXB4IHNvbGlkICRjb2xvdXIzLTEgIWRlZmF1bHQ7XHJcbiRjbXMtc3Vic2lkaWFyeS1sZXZlbC0xLWhlYWRpbmctc2l6ZTogcmVtLWNhbCgyMikgIWRlZmF1bHQ7XHJcbiRjbXMtc3Vic2lkaWFyeS1sZXZlbC0xLWhlYWRpbmctd2VpZ2h0OiA2MDAgIWRlZmF1bHQ7XHJcbiRjbXMtc3Vic2lkaWFyeS1sZXZlbC0xLWhlYWRpbmctY29sb3VyOiAkY29sb3VyNCAhZGVmYXVsdDtcclxuJGNtcy1zdWJzaWRpYXJ5LWxldmVsLTEtaGVhZGluZy1ob3Zlci1jb2xvdXI6ICRjb2xvdXI2ICFkZWZhdWx0O1xyXG4kY21zLXN1YnNpZGlhcnktbGV2ZWwtMi1hbmNob3Itc2l6ZTogJHBhcmFncmFwaC1mb250LXNpemUgIWRlZmF1bHQ7XHJcbiRjbXMtc3Vic2lkaWFyeS1sZXZlbC0yLWFuY2hvci1jb2xvdXI6ICRjb2xvdXIzLTYgIWRlZmF1bHQ7XHJcbiRjbXMtc3Vic2lkaWFyeS1sZXZlbC0yLWFuY2hvci1ob3Zlci1jb2xvdXI6ICRjb2xvdXI2ICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tLS0gQ01TIFBhZ2VzIC0tLS0tIFxyXG4vLyAtLS0gQ29tbW9uIFN0eWxlcyAtLS0gXHJcbiRkaXNwbGF5LWNtcy1zZXJpZXMtZXhwbGFuYXRvcnktdGV4dC1tYXgtd2lkdGg6ICRib2R5LWNvcHktbWF4LXdpZHRoICFkZWZhdWx0O1xyXG4kZGlzcGxheS1jbXMtc2VyaWVzLWV4cGxhbmF0b3J5LW1hcmdpbi10b3AtYm90dG9tOiAzMHB4ICFkZWZhdWx0O1xyXG4kZGlzcGxheS1jbXMtc2VyaWVzLWV4cGxhbmF0b3J5LXRleHQtYWxpZ25tZW50OiBjZW50ZXIgIWRlZmF1bHQ7XHJcbiRkaXNwbGF5LWNtcy1zZXJpZXMtZXhwbGFpbmF0b3J5LXRleHQtZm9udC1zaXplOiAkcGFyYWdyYXBoLWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuJGRpc3BsYXktY21zLXNlcmllcy1leHBsYWluYXRvcnktdGV4dC1mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xyXG4kZGlzcGxheS1jbXMtc2VyaWVzLWV4cGxhaW5hdG9yeS10ZXh0LWNvbG91cjogJGNvbG91cjMtNyAhZGVmYXVsdDtcclxuJGRpc3BsYXktY21zLWVudHJpZXMtaGVhZGluZy1mb250LXNpemU6IDIwICFkZWZhdWx0O1xyXG4kZGlzcGxheS1jbXMtZW50cmllcy1oZWFkaW5nLWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XHJcbiRkaXNwbGF5LWNtcy1lbnRyaWVzLWhlYWRpbmctbGV0dGVyLXNwYWNpbmc6IG51bGwgIWRlZmF1bHQ7XHJcbiRkaXNwbGF5LWNtcy1lbnRyaWVzLWNvbnRlbnQtZm9udC1zaXplOiAkcGFyYWdyYXBoLWZvbnQtc2l6ZSArIDEgIWRlZmF1bHQ7XHJcbiRjbXMtcGFnZS1oZWFkaW5nLWZvbnQtc2l6ZTogbnVsbCAhZGVmYXVsdDtcclxuJGNtcy1wYWdlLWhlYWRpbmctdGV4dC10cmFuc2Zvcm06IG51bGwgIWRlZmF1bHQ7XHJcbiRjbXMtcGFnZS1oZWFkaW5nLWxldHRpbmctc3BhY2luZzogbnVsbCAhZGVmYXVsdDtcclxuJHNob3ctY21zLWJhY2tncm91bmQ6IChcclxuICAgIGJsb2c6IGZhbHNlLFxyXG4gICAgbmV3czogZmFsc2UsXHJcbiAgICBldmVudDogZmFsc2UsXHJcbiAgICBpbmZvcm1hdGlvbjogdHJ1ZVxyXG4pICFkZWZhdWx0O1xyXG4vLyAtLS0gQ01TIFR5cGUgc3BlY2lmaWMgKCBibG9nLCBldmVudHMsIG5ld3MsIGV0YyApIC0tLVxyXG4kbmV3cy1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjMsXHJcbiAgICBob3ZlcjogJGNvbG91cjFcclxuKSAgIWRlZmF1bHQ7XHJcbiRibG9nLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMyxcclxuICAgIGhvdmVyOiAkY29sb3VyMVxyXG4gKSAhZGVmYXVsdDtcclxuJGV2ZW50cy1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjMsIFxyXG4gICAgaG92ZXI6ICRjb2xvdXIxXHJcbikgIWRlZmF1bHQ7XHJcbiRpbmZvcm1hdGlvbi1iYWNrZ3JvdW5kLWNvbG91cjogJGNvbG91cjMtNSAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLSBUYWJsZSBEaXNwbGF5IC0tLSBcclxuJGNtcy10YWJsZS1yb3ctcGFkZGluZzogKFxyXG4gICAgdG9wLWJvdHRvbTogNDBweCwgXHJcbiAgICByaWdodC1sZWZ0OiAxMTBweFxyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tIEFydGljbGUgUGFnZXMgLS0tXHJcbiRjbXMtcGFnaW5hdGlvbi1sYWJlbC1jb2xvdXI6ICRjb2xvdXI0ICFkZWZhdWx0O1xyXG4kY21zLXBhZ2luYXRpb24tbGFiZWwtZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcclxuJGNtcy1wYWdpbmF0aW9uLWxhYmVsLXRleHQtdHJhbnNmb3JtOiBub25lICFkZWZhdWx0O1xyXG4kY21zLXBhZ2luYXRpb24tYnV0dG9uLXBhZGRpbmc6IHNwYWNpbmctdmFsdWUoJHNlY29uZGFyeS1idXR0b24tcGFkZGluZywgMSkgMTVweCBzcGFjaW5nLXZhbHVlKCRzZWNvbmRhcnktYnV0dG9uLXBhZGRpbmcsIDMpICFkZWZhdWx0O1xyXG4kY21zLXBhZ2luYXRpb24tYnV0dG9uLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMSxcclxuICAgIGhvdmVyOiAkY29sb3VyNC02LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNlxyXG4pICFkZWZhdWx0O1xyXG4kY21zLXBhZ2luYXRpb24tYnV0dG9uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjQtMixcclxuICAgIGhvdmVyOiAkY29sb3VyNCwgXHJcbiAgICBhY3RpdmU6ICRjb2xvdXIxXHJcbikgIWRlZmF1bHQ7XHJcbiRjbXMtcGFnaW5hdGlvbi1idXR0b24taWNvbi1zaXplOiAyNnB4ICFkZWZhdWx0O1xyXG4vLyBEZXBlbmRpbmcgb24gdGhlIGljb24gLyBpY29uLWZhbWlseSB5b3UncmUgdXNpbmcgeW91IG1heSBuZWVkIHRvIHByb3ZpZGUgYSBzaGltIHRvIHBlcmZlY3RseSBjZW50ZXJhbGlzZS5cclxuJGNtcy1wYWdpbmF0aW9uLWJ1dHRvbi1pY29uLXNoaW06IDAgIWRlZmF1bHQ7XHJcblxyXG5cclxuLy8gLS0tLS0gU3RvY2sgLS0tLS0gXHJcbi8vIC0tLSBQcmljZSAtLS0gXHJcbiRwcmljZS1tYXJnaW46IDAgIWRlZmF1bHQ7XHJcbiRwcmljZS12YXQtZm9udC13ZWlnaHQ6IDYwMCAhZGVmYXVsdDtcclxuLy8gVE9ETzogZ2V0IHJpZCBvZiB0aGlzIGZvciBjZWxsIGFsaWdubWVudC5cclxuJHByaWNlLXRleHQtYWxpZ246IGxlZnQgIWRlZmF1bHQ7XHJcbi8vIC0tLSBTdG9jayBJbmRpY2F0b3JzIC0tLSBcclxuJHN0b2NrLWluZGljYXRvci13ZWlnaHQ6IDQwMCAhZGVmYXVsdDtcclxuJHN0b2NrLWluZGljYXRvci1mb250LXNpemU6IDE0ICFkZWZhdWx0O1xyXG4kc3RvY2staW5kaWNhdG9yLWRlZmF1bHQtaWNvbi1zaXplOiAxNnB4ICFkZWZhdWx0O1xyXG4kc3RvY2staW5kaWNhdG9yLWljb24tc2l6ZTogKFxyXG4gICAgc29oLTA6ICRzdG9jay1pbmRpY2F0b3ItZGVmYXVsdC1pY29uLXNpemUsXHJcbiAgICBzb2gtMTogJHN0b2NrLWluZGljYXRvci1kZWZhdWx0LWljb24tc2l6ZSxcclxuICAgIHNvaC0yOiAkc3RvY2staW5kaWNhdG9yLWRlZmF1bHQtaWNvbi1zaXplXHJcbikgIWRlZmF1bHQ7XHJcbiRzdG9jay1pbmRpY2F0b3ItZm9udC13ZWlnaHQ6IDYwMCAhZGVmYXVsdDtcclxuJHN0b2NrLWluZGljYXRvci1mb250LXNpemU6IDE0ICFkZWZhdWx0O1xyXG4kc3RvY2staW5kaWNhdG9yLWZvbnQtc3R5bGU6IG5vcm1hbCAhZGVmYXVsdDtcclxuJHN0b2NrLWluZGljYXRvci1pY29uLXBhZGRpbmc6IDAgNXB4IDAgMCAhZGVmYXVsdDtcclxuJHN0b2NrLWluZGljYXRvci1jb2xvdXI6ICRib2R5LWZvbnQtY29sb3VyICFkZWZhdWx0O1xyXG4kc29oLTItaWNvbi1jb2xvdXI6ICRjb2xvdXI0LTIgIWRlZmF1bHQ7XHJcbiRzb2gtMC1pY29uLWNvbG91cjogbWFwLWdldCgkYWNjZW50LWNvbG91ci0xLCAyKSAhZGVmYXVsdDtcclxuJHNvaC0wLWxldmVsLWNvbG91cjogJHNvaC0wLWljb24tY29sb3VyICFkZWZhdWx0O1xyXG4kc29oLTEtaWNvbi1jb2xvdXI6ICRjb2xvdXI2LTMgIWRlZmF1bHQ7XHJcbiRzb2gtMS1sZXZlbC1jb2xvdXI6ICRjb2xvdXI0ICFkZWZhdWx0O1xyXG4kc29oLW5vdGlmaWNhdGlvbi1pY29uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJHNvaC0wLWljb24tY29sb3VyLFxyXG4gICAgaG92ZXI6ICRjb2xvdXI2LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNFxyXG4pICFkZWZhdWx0O1xyXG4kc29oLW5vdGlmaWNhdGlvbi1zdGF0dXMtaWNvbi1zaXplOiAxNnB4ICFkZWZhdWx0O1xyXG4kc29oLWNvbGxlY3Rpb24tb25seS1jdXN0b20taWNvbjogZmFsc2UgIWRlZmF1bHQ7XHJcbiRzb2gtY29sbGVjdGlvbi1vbmx5LWljb24tc2l6ZTogMjRweCAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLS0tIEltYWdlcyAtLS0tLVxyXG4vLyBBbGwgaW1hZ2VzIHNob3VsZCBiZSB3cmFwcGVkIGluIGEgLmltYWdlIGNvbnRhaW5lciwgZm9yIHBuZydzIHRoZXkgbWF5IGhhdmUgYSB0cmFuc3BhcmVudCBiYWNrZ3JvdW5kIHdoaWNoIG9mdGVuIGRvZXNuJ3Qgd29yayBpbiB0aGUgY29udGV4dCBvZiB0YWJsZXMgd2hlcmUgd2UgaGF2ZSBvZGQvZXZlbiBjb2xvdXJpbmcgb24gcm93cywgc28gYXMgYSBnZW5lcmlhbCBydWxlIGFkZGluZyBhIHdoaXRlIGJhY2tncm91bmQgdG8gYWxsIGltYWdlcy5cclxuJGltYWdlLWJhY2tncm91bmQtY29sb3VyOiAkY29sb3VyMSAhZGVmYXVsdDtcclxuJG1lZGlhLWFzcGVjdC1yYXRpb3M6IChcclxuICAgIFwicHJvZHVjdFwiOiAoXHJcbiAgICAgICAgXCJ3aWR0aFwiOiAxLFxyXG4gICAgICAgIFwiaGVpZ2h0XCI6IDFcclxuICAgICksXHJcbiAgICBcImViZ1wiOiAoXHJcbiAgICAgICAgXCJ3aWR0aFwiOiAxLFxyXG4gICAgICAgIFwiaGVpZ2h0XCI6IDFcclxuICAgIClcclxuKSAhZGVmYXVsdDtcclxuJHByb2R1Y3QtaW1hZ2UtYXNwZWN0LXJhdGlvOiBtYXAtZGVlcC1nZXQoJG1lZGlhLWFzcGVjdC1yYXRpb3MsIHByb2R1Y3QsIHdpZHRoKSArIFwiL1wiICsgbWFwLWRlZXAtZ2V0KCRtZWRpYS1hc3BlY3QtcmF0aW9zLCBwcm9kdWN0LCBoZWlnaHQpICFkZWZhdWx0O1xyXG4kZWJnLW1lZGlhLWFzcGVjdC1yYXRpbzogbWFwLWRlZXAtZ2V0KCRtZWRpYS1hc3BlY3QtcmF0aW9zLCBlYmcsIHdpZHRoKSArIFwiL1wiICsgbWFwLWRlZXAtZ2V0KCRtZWRpYS1hc3BlY3QtcmF0aW9zLCBlYmcsIGhlaWdodCkgIWRlZmF1bHQ7XHJcbiRpbWFnZS1jb2xsZWN0aW9uLWFzcGVjdC1yYXRpbzogdmFyKC0tbWVkaWEtd2lkdGgsIGF1dG8pIC8gdmFyKC0tbWVkaWEtaGVpZ2h0LCBhdXRvKSAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLS0tIEltYWdlIG92ZXJsYXlzICggc2FzaGVzICkgLS0tIC0tXHJcbiRpbWFnZS1vdmVybGF5LXVybDogJy9jb250ZW50L2ltYWdlcy9vdmVybGF5cy8nO1xyXG4kaW1hZ2Utb3ZlcmxheS1wb3NpdGlvbjogY2VudGVyICFkZWZhdWx0O1xyXG4vLyAtLS0gR3JvdXAgb3ZlcmxheXMgKCBFQkcncyApIC0tLVxyXG4kZ3JvdXAtaW1hZ2Utb3ZlcmxheXMtb3JkZXI6IChcclxuICAgIHNwZWNpYWwtb2ZmZXI6IDUsXHJcbiAgICBmZWF0dXJlZC1pdGVtOiA0LFxyXG4gICAgYmVzdC1zZWxsZXI6IDNcclxuKSAhZGVmYXVsdDtcclxuLy8gLS0tIFN0b2NrIE92ZXJsYXlzICggc2luZ2xlIHByb2R1Y3QgJiBzdG9ja2xpbmUgKSAtLS1cclxuJHByb2R1Y3QtaW1hZ2Utb3ZlcmxheXMtb3JkZXI6IChcclxuICAgIHNwZWNpYWwtb2ZmZXI6IG1hcC1nZXQoJGdyb3VwLWltYWdlLW92ZXJsYXlzLW9yZGVyLCBzcGVjaWFsLW9mZmVyKSxcclxuICAgIGZlYXR1cmVkLWl0ZW06IG1hcC1nZXQoJGdyb3VwLWltYWdlLW92ZXJsYXlzLW9yZGVyLCBmZWF0dXJlZC1pdGVtKSxcclxuICAgIGJlc3Qtc2VsbGVyOiBtYXAtZ2V0KCRncm91cC1pbWFnZS1vdmVybGF5cy1vcmRlciwgYmVzdC1zZWxsZXIpLFxyXG4gICAgcHJldmlvdXNseS1wdXJjaGFzZWQ6IDYsXHJcbiAgICBjb250cmFjdC1pdGVtOiA3XHJcbikgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0tLSBWaWRlbyBQbGF5ZXIgLS0tLS1cclxuJHZpZGVvLXBsYXllci10aHVtYm5haWwtaWNvbi1ib3JkZXItd2lkdGg6IDAgIWRlZmF1bHQ7XHJcbiR2aWRlby1wbGF5ZXItdGh1bWJuYWlsLWljb24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAtLWFjY2VudC1jb2xvdXItMS1saWdodG5lc3MtMyxcclxuICAgIGhvdmVyOiAtLXdoaXRlLWNvbG91clxyXG4pICFkZWZhdWx0O1xyXG4kdmlkZW8tcGxheWVyLXRodW1ibmFpbC1pY29uLWJhY2tncm91bmQ6IChcclxuICAgIGRlZmF1bHQ6IGhvdmVyLWNvbG91cigkdmlkZW8tcGxheWVyLXRodW1ibmFpbC1pY29uLWNvbG91ciksXHJcbiAgICBob3ZlcjogZGVmYXVsdC1jb2xvdXIoJHZpZGVvLXBsYXllci10aHVtYm5haWwtaWNvbi1jb2xvdXIpXHJcbikgIWRlZmF1bHQ7XHJcbi8vIC0tLS0tIENhdGVnb3J5IC0tLS0tLVxyXG4kY2F0ZWdvcnktZ3JvdXAtaG92ZXItc2NhbGU6IGZhbHNlICFkZWZhdWx0O1xyXG4vLyAtLS0tLSBQcm9kdWN0IExpc3QgLS0tLS0tIFxyXG4vLyAtLS0gR2VuZXJhbCBMaXN0aW5nIFN0eWxlcyAtLS0gXHJcbiRsaXN0LWl0ZW0tZGVzY3JpcHRpb24tZGVmYXVsdC1jb2xvdXI6ICRjb2xvdXIzLTYgIWRlZmF1bHQ7XHJcbiRsaXN0LWl0ZW0tZGVzY3JpcHRpb24tZGVmYXVsdC1ob3Zlci1jb2xvdXI6ICRjb2xvdXI2ICFkZWZhdWx0O1xyXG4kbGlzdC1pdGVtLWRlc2NyaXB0aW9uLWRlZmF1bHQtZm9udC13ZWlnaHQ6ICRjb2xsZWN0aW9uLWRlc2NyaXB0aW9uLWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xyXG4kbGlzdC1pdGVtLWRlc2NyaXB0aW9uLWRlZmF1bHQtZm9udC1zaXplOiAkY29sbGVjdGlvbi1kZXNjcmlwdGlvbi1mb250LXNpemUgIWRlZmF1bHQ7XHJcbiRsaXN0LWl0ZW0tZGVzY3JpcHRpb24tZGVmYXVsdC1saW5lLWhlaWdodDogJGNvbGxlY3Rpb24tZGVzY3JpcHRpb24tbGluZS1oZWlnaHQgIWRlZmF1bHQ7XHJcbiRsaXN0LWl0ZW0tZGVzY3JpcHRpb24tZGVmYXVsdC1ob3Zlci11bmRlcmxpbmU6IHRydWUgIWRlZmF1bHQ7XHJcbiR2aWV3SWNvbkRpbWVudGlvbnM6IDE2cHggIWRlZmF1bHQ7XHJcbiRsaXN0LXZpZXctdHlwZS1pY29ucy1kaW1lbnRpb25zOiAxNnB4ICFkZWZhdWx0O1xyXG4vLyBTZWN0aW9uIGhlYWRpbmdzICggcmVjb21tZW5kZWQgcmVzdWx0cyAvIHByaW50ZXIgd2l6YXJkIClcclxuJHNlY3Rpb24taGVhZGluZy1iYWNrZ3JvdW5kLWNvbG91cjogJGNvbG91cjQgIWRlZmF1bHQ7XHJcbiRzZWN0aW9uLWhlYWRpbmctZm9udC1zaXplOiAxNiAhZGVmYXVsdDtcclxuJHNlY3Rpb24taGVhZGluZy1jb2xvdXI6ICRjb2xvdXIxICFkZWZhdWx0O1xyXG4kc2VjdGlvbi1oZWFkaW5nLWZvbnQtc3R5bGU6IG5vcm1hbCAhZGVmYXVsdDtcclxuJHNlY3Rpb24taGVhZGluZy1mb250LXdlaWdodDogNjAwICFkZWZhdWx0O1xyXG4kc2VjdGlvbi1oZWFkaW5nLXRleHQtYWxpZ246IG51bGwgIWRlZmF1bHQ7XHJcbiRzZWN0aW9uLWhlYWRpbmctYm9yZGVyLXdpZHRoOiBudWxsICFkZWZhdWx0O1xyXG4kc2VjdGlvbi1oZWFkaW5nLWJvcmRlci1jb2xvdXI6ICRoZWFkaW5nLTEtcnVsZS1jb2xvdXIgIWRlZmF1bHQ7XHJcbiRzZWN0aW9uLWhlYWRpbmctdGV4dC10cmFuc2Zvcm06IG51bGwgIWRlZmF1bHQ7XHJcbiRzZWN0aW9uLWhlYWRpbmctbGV0dGVyLXNwYWNpbmc6IG51bGwgIWRlZmF1bHQ7XHJcblxyXG4vLyBSZWNvbW1lbmRlZCByZXN1bHRzLlxyXG4kcmVjb21tZW5kZWQtcmVzdWx0cy1tYXJnaW46IChcclxuICAgIGxhcmdlOiAwXHJcbikgIWRlZmF1bHQ7XHJcbiRyZWNvbW1lbmRlZC1yZXN1bHRzLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjIsXHJcbiAgICBob3ZlcjogJGNvbG91cjRcclxuKSAhZGVmYXVsdDtcclxuJHJlY29tbWVuZGVkLXJlc3VsdHMtYmFja2dyb3VuZC1jb2xvdXI6ICRjb2xvdXIzLTUgIWRlZmF1bHQ7XHJcbiRyZWNvbW1lbmRlZC1yZXN1bHRzLWJhY2tncm91bmQtZm9udC1zaXplOiAkcGFyYWdyYXBoLWZvbnQtc2l6ZSArIDEgIWRlZmF1bHQ7XHJcbiRyZWNvbW1lbmRlZC1yZXN1bHRzLWl0ZW0tcGFkZGluZzogKFxyXG4gICAgbGFyZ2U6IDAgMjBweFxyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8gSXRlbXMgZm91bmQuXHJcbiRzb3J0aW5nLWl0ZW1zLWZvdW5kLWJhY2tncm91bmQtY29sb3VyOiAkY29sb3VyMCAhZGVmYXVsdDtcclxuJHNvcnRpbmctaXRlbXMtZm91bmQtY29sb3VyOiAkY29sb3VyMiAhZGVmYXVsdDtcclxuXHJcbi8vIERvd25sb2FkIG9wdGlvbi5cclxuJHNvcnRpbmctZG93bmxvYWQtb3B0aW9uLWdhcDogMTBweCAhZGVmYXVsdDsgXHJcbiRzb3J0aW5nLWRvd25sb2FkLW9wdGlvbi1zZXBlcmF0b3Itd2lkdGg6ICgkY29tbW9uLXJ1bGUtd2VpZ2h0ICogMikgIWRlZmF1bHQ7XHJcblxyXG4vLyBTb3J0aW5nIG9wdGlvbnMgc2V0dGluZ3MuXHJcbi8vIENvbnRhaW5lciBzZXR0aW5ncy5cclxuJHNvcnRpbmctb3B0aW9ucy1jb250YWluZXItZ2FwOiAoXHJcbiAgICBzbWFsbDogMjBweCxcclxuICAgIG1lZGl1bTogMTBweCAxNXB4IC8vIHJlZHVjaW5nIGZyb20gMTBweCAyMHB4IHRvIDEwcHggMTVweCB0byBhbGxvdyBmb3IgbW9yZSBzcGFjZSBmb3IgYSB2YXJpdHkgb2YgY29udHJvbHMuXHJcbikgIWRlZmF1bHQ7XHJcblxyXG4vLyBPcHRpb25zIHNldHRpbmdzLlxyXG4kc29ydGluZy1vcHRpb25zLWljb24tY29sb3VyOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMykgIWRlZmF1bHQ7XHJcbiRzb3J0aW5nLW9wdGlvbnMtY29sb3VyOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMCkgIWRlZmF1bHQ7XHJcbiRzb3J0aW5nLW9wdGlvbnMtZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcclxuJHNvcnRpbmctb3B0aW9ucy1mb250LXNpemU6IDE0ICFkZWZhdWx0O1xyXG4kc29ydGluZy1vcHRpb25zLWxhYmVsLW1hcmdpbi1yaWdodDogMTNweCAhZGVmYXVsdDsgXHJcbiRwYWdpbmF0aW9uLWxhYmVsLWRpc3BsYXk6IGJsb2NrICFkZWZhdWx0O1xyXG4kc29ydGlvbi1vcHRpb25zLWJ1dHRvbi1mb250LXdlaWdodDogNDAwICFkZWZhdWx0O1xyXG4kc29ydGluZy1vcHRpb25zLWJ1dHRvbi1iYWNrZ3JvdW5kOiAoXHJcbiAgICBkZWZhdWx0OiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtMTApLFxyXG4gICAgaG92ZXI6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wKSxcclxuICAgIGFjdGl2ZTogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTgpLFxyXG4gICAgZGlzYWJsZWQ6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0xMClcclxuKSAhZGVmYXVsdDtcclxuJHNvcnRpbmctb3B0aW9ucy1idXR0b24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtMCksXHJcbiAgICBob3ZlcjogdmFyKC0td2hpdGUtY29sb3VyKSxcclxuICAgIGFjdGl2ZTogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTApLFxyXG4gICAgZGlzYWJsZWQ6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wKVxyXG4pICFkZWZhdWx0O1xyXG4kc29ydGluZy1vcHRpb24tYnV0dG9uLWdhcDogKFxyXG4gICAgc21hbGw6IDAgMTBweCxcclxuICAgIGxhcmdlOiAwIDVweFxyXG4pICFkZWZhdWx0O1xyXG4kc29ydGluZy1zb3J0LXNlbGVjdC1kZXNrdG9wLXdpZHRoOiAyMTVweCAhZGVmYXVsdDtcclxuJHNvcnRpbmctb3B0aW9ucy1vcmRlci1tb2JpbGU6IChcclxuICAgIGNvdW50OiAyLFxyXG4gICAgZmlsdGVyLXRvZ2dsZTogMSxcclxuICAgIGNhbGwtc2VhcmNoOiAzLFxyXG4gICAgc29ydC1ieTogNSxcclxuICAgIHZpZXc6IDYsXHJcbiAgICBwZXItcGFnZTogNCxcclxuICAgIHBhZ2luYXRpb246IDdcclxuKSAhZGVmYXVsdDtcclxuJHNvcnRpbmctb3B0aW9ucy1vcmRlci1kZXNrdG9wOiAoXHJcbiAgICBjb3VudDogMSxcclxuICAgIGZpbHRlci10b2dnbGU6IDIsXHJcbiAgICBjYWxsLXNlYXJjaDogMyxcclxuICAgIHNvcnQtYnk6IDQsXHJcbiAgICB2aWV3OiA1LFxyXG4gICAgcGVyLXBhZ2U6IDYsXHJcbiAgICBwYWdpbmF0aW9uOiA3XHJcbikgIWRlZmF1bHQ7XHJcbiRpdGVtcy1wZXItbGlzdC13aWR0aDogKFxyXG4gICAgc21hbGw6IDUwJSxcclxuICAgIGxhcmdlOiAxNyVcclxuKSAhZGVmYXVsdDtcclxuJHNvcnQtb3B0aW9ucy1idXR0b24tcGFkZGluZy10b3AtYm90dG9tOiAoXHJcbiAgICBsYXJnZTogMTAuMjZweFxyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tIFByb2R1Y3QgbGlzdCBzZXR0aW5ncyAtLS1cclxuJHByb2R1Y3QtbGlzdC1jb250ZW50LW1hcmdpbi1sZWZ0OiA1M3B4ICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1saXN0LXNvcnQtc2VwZXJhdG9yOiBmYWxzZSAhZGVmYXVsdDtcclxuXHJcbi8vIFByb2R1Y3QgbGlzdCBpdGVtIHNldHRpbmdzLlxyXG4kcHJvZHVjdC1saXN0LWl0ZW0taG92ZXItYm94LXNoYWRvdzogdHJ1ZSAhZGVmYXVsdDtcclxuJHByb2R1Y3QtbGlzdC1pdGVtLWltYWdlLWJvcmRlcjogMXB4IHNvbGlkICRjb2xvdXIzLTEgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWxpc3QtaXRlbS1kZXNjcmlwdGlvbi1jb2xvdXI6ICRsaXN0LWl0ZW0tZGVzY3JpcHRpb24tZGVmYXVsdC1jb2xvdXIgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWxpc3QtaXRlbS1kZXNjcmlwdGlvbi1ob3Zlci1jb2xvdXI6ICRsaXN0LWl0ZW0tZGVzY3JpcHRpb24tZGVmYXVsdC1ob3Zlci1jb2xvdXIgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWxpc3QtaXRlbS1kZXNjcmlwdGlvbi13ZWlnaHQ6ICRsaXN0LWl0ZW0tZGVzY3JpcHRpb24tZGVmYXVsdC1mb250LXdlaWdodCAhZGVmYXVsdDtcclxuJHByb2R1Y3QtbGlzdC1pdGVtLWRlc2NyaXB0aW9uLWZvbnQtc2l6ZTogJGxpc3QtaXRlbS1kZXNjcmlwdGlvbi1kZWZhdWx0LWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuJHByb2R1Y3QtbGlzdC1saXN0LWl0ZW0tZGVzY3JpcHRpb24tZ2FwOiAxMHB4ICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1saXN0LWxpc3QtaXRlbS1kZXNjcmlwdGlvbi1tYXJnaW46IChcclxuICAgIHNtYWxsOiAwLFxyXG4gICAgbGFyZ2U6IDIwcHggMFxyXG4pICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1saXN0LWl0ZW0tc3BlY2lmaWNhdGlvbi1mb250LXNpemU6IDE0ICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1saXN0LWl0ZW0tc3BlY2lmaWNhdGlvbi1mb250LXdlaWdodDogNDAwICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1saXN0LWl0ZW0tc3BlY2lmaWNhdGlvbi1jb2xvdXI6ICRib2R5LWZvbnQtY29sb3VyICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1saXN0LWxpc3QtcXVhbnRpdHktZGVza3RvcC1tYXgtd2lkdGg6IDM0MHB4ICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1saXN0LWxpc3Qtdmlldy1yb3ctbWFyZ2luOiAxMHB4IDAgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWxpc3QtbGlzdC12aWV3LXJvdy1wYWRkaW5nOiAwICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1saXN0LWxpc3QtaXRlbS1pbWFnZS13aWR0aDogJHRhYmxlLWltYWdlLXNpemUgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWxpc3QtbGlzdC1pdGVtLWV2ZW4tYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjMtNSAhZGVmYXVsdDtcclxuJHByb2R1Y3QtbGlzdC1saXN0LWl0ZW0taG92ZXItYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjEgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWxpc3QtbGlzdC1pdGVtLXN0b2NrbGluZS1idXR0b24td2lkdGg6IDEzMHB4ICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1saXN0LWxpc3QtaXRlbS1sb2dnaW4tYnV0dG9uLXdpZHRoOiAkcHJvZHVjdC1saXN0LWxpc3QtaXRlbS1zdG9ja2xpbmUtYnV0dG9uLXdpZHRoICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1saXN0LWxpc3QtaXRlbS1wcmljZS1jb2wtcGFkZGluZzogKFxyXG4gICAgbGFyZ2U6IDAgMTVweFxyXG4pICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1saXN0LWxpc3QtaXRlbS1wcmljZS1jb2wtd2lkdGg6IChcclxuICAgIGxhcmdlOiAyMCVcclxuKSAhZGVmYXVsdDtcclxuJHByb2R1Y3QtbGlzdC1saXN0LWl0ZW0tY29kZS13aWR0aDogKFxyXG4gICAgbGFyZ2U6IDExJVxyXG4pICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1saXN0LWxpc3QtaXRlbS1jb2RlLXBhZGRpbmc6IChcclxuICAgIGxhcmdlOiAwIDEwcHhcclxuKSAhZGVmYXVsdDtcclxuJHByb2R1Y3QtbGlzdC1saXN0LWl0ZW0tcXVhbnRpdHktY29sLXdpZHRoOiAoXHJcbiAgICBsYXJnZTogMTUwcHhcclxuKSAhZGVmYXVsdDtcclxuLy8gUHJvZHVjdCBsaXN0IGl0ZW0gY29tcG9uZW50IG9yZGVyLlxyXG4kcHJvZHVjdC1saXN0LWltYWdlLW9yZGVyOiAxICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1saXN0LWRlc2NyaXB0aW9uLW9yZGVyOiAyICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1saXN0LWNvZGUtb3JkZXI6IDQgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWxpc3QtcHJpY2Utb3JkZXI6IDMgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWxpc3QtcXVhbnRpdHktcHJpY2UtZmF2b3VyaXRlcy1vcmRlcjogNSAhZGVmYXVsdDtcclxuJHByb2R1Y3QtbGlzdC1ub3QtbG9nZ2VkLWluLW9yZGVyOiA2ICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tIFByb2R1Y3QgTGlzdCBHcmlkIFNldHRpbmdzIC0tLS1cclxuJHByb2R1Y3QtbGlzdC1ncmlkLWNvbnRlbnQtcGFkZGluZzogMCAyMHB4ICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1saXN0LWdyaWQtZGVzY3JpcHRpb24tY29sb3VyOiBtYXAtZ2V0KCRjb2xsZWN0aW9uLWFuY2hvci1jb2xvdXIsIGRlZmF1bHQpICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1saXN0LWdyaWQtZGVzY3JpcHRpb24taG92ZXItY29sb3VyOiBtYXAtZ2V0KCRjb2xsZWN0aW9uLWFuY2hvci1jb2xvdXIsIGhvdmVyKSAhZGVmYXVsdDtcclxuJHByb2R1Y3QtbGlzdC1ncmlkLWRlc2NyaXB0aW9uLWZvbnQtd2VpZ2h0OiAkbGlzdC1pdGVtLWRlc2NyaXB0aW9uLWRlZmF1bHQtZm9udC13ZWlnaHQgIWRlZmF1bHQ7XHJcbi8vIFByb2R1Y3QgbGlzdCBncmlkIGNvbXBvbmVudCBvcmRlci5cclxuJHByb2R1Y3QtbGlzdC1ncmlkLWFuY2hvci1ibG9jay1vcmRlcjogMSAhZGVmYXVsdDtcclxuJHByb2R1Y3QtbGlzdC1ncmlkLXN0b2NrLWluZGljYXRvci1vcmRlcjogMyAhZGVmYXVsdDtcclxuJHByb2R1Y3QtbGlzdC1ncmlkLXByaWNlcy1vcmRlcjogMiAhZGVmYXVsdDtcclxuJHByb2R1Y3QtbGlzdC1ncmlkLWJ1dHRvbnMtb3JkZXI6IDQgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWxpc3QtZ3JpZC1ub3QtbG9nZ2VkLWluLW9yZGVyOiA0ICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1saXN0LWdyaWQtc3RvY2tsaW5lLWJ1dHRvbjogNCAhZGVmYXVsdDtcclxuJHByb2R1Y3QtbGlzdC1ncmlkLWxhYmVsLXZhbHVlLWFsaWdtZW5lbnQ6IGlmKCRwcmljZS10ZXh0LWFsaWduID09IFwibGVmdFwiLCBhdXRvLCAwKSAhZGVmYXVsdDtcclxuXHJcbi8vIFRPRE86IEkga25vdyB0aGlzIGlzIG1lc3MgYW5kIGhhcyBnb25lIHRocm91Z2ggbWFueSByZWZhY3RvcnMuLi4uIFxyXG4vLyAtLS0gUHJvZHVjdCBMaXN0IExpc3QgU2V0dGluZ3MgLS0tLVxyXG4kcHJvZHVjdC1saXN0LWxpc3QtaXRlbS1ob3Zlci1ib3gtc2hhZG93OiAkYm94U2hhZG93MyAhZGVmYXVsdDtcclxuLy8gTG9naW4gLyBzdG9ja2xpbmUgYnV0dG9uIHdpZHRoLlxyXG4kbG9naW4tc3RvY2tsaW5lLXdpZHRoOiAyNSUgIWRlZmF1bHQ7XHJcbi8vIEZhdm91cml0ZXMgY29sdW1uIHdpZHRoICggRGVza3RvcCApXHJcbiRmYXZvdXJpdGVzLWNvbC1kZXNrdG9wLXdpZHRoOiAyNSUgIWRlZmF1bHQ7XHJcbi8vIHRhYmxlIGl0ZW0gY29udHJvbHMuXHJcbiR0YWJsZS1pdGVtLWNvbnRyb2xzLWNvbnRhaW5lci13aWR0aDogJGxvZ2luLXN0b2NrbGluZS13aWR0aCAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLSBGaWx0ZXJzIC8gU2VhcmNoIEF0dHJpYnV0ZXMgLS0tIFxyXG4vLyBHZW5lcmFsIHNldHRpbmdzIFxyXG4kZmlsdGVycy1hdHRyaWJ1dGUtc2VwZXJhdG9yLWNvbG91cjogJGhlYWRpbmctMS1ydWxlLWNvbG91ciAhZGVmYXVsdDtcclxuJGZpbHRlcnMtaG92ZXItYmFja2dyb3VuZC1jb2xvdXI6ICRjb2xvdXIzLTUgIWRlZmF1bHQ7XHJcbiRmaWx0ZXJzLW1vYmlsZS1iYWNrZ3JvdW5kLWNvbG91cjogJGNvbG91cjEgIWRlZmF1bHQ7XHJcbiRmaWx0ZXJzLWRlc2t0b3AtY29udGFpbmVyLW1heC13aWR0aDogMjgwcHggIWRlZmF1bHQ7XHJcbiRmaWx0ZXJzLWRlc2t0b3AtYXR0cmlidXRlLWxpc3Qtd2lkdGg6IDI0MHB4ICFkZWZhdWx0O1xyXG4vLyBGaWx0ZXJzIG1vYmlsZSB0b2dnbGUuXHJcbiRmaWx0ZXJzLW1vYmlsZS10b2dnbGUtYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIHVuLXN0dWNrOiAkY29sb3VyNC02LFxyXG4gICAgc3R1Y2s6ICRjb2xvdXI0XHJcbikgIWRlZmF1bHQ7XHJcbiRmaWx0ZXJzLW1vYmlsZS10b2dnbGUtZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcclxuJGZpbHRlcnMtbW9iaWxlLXRvZ2dsZS1mb250LXNpemU6IDE2ICFkZWZhdWx0O1xyXG4kZmlsdGVycy1tb2JpbGUtdG9nZ2xlLWNvbG91cjogKFxyXG4gICAgdW4tc3R1Y2s6ICRjb2xvdXI0LFxyXG4gICAgc3R1Y2s6ICRjb2xvdXIxXHJcbikgIWRlZmF1bHQ7XHJcbiRmaWx0ZXJzLXRvZ2dsZS1sZXR0ZXItc3BhY2luZzogbnVsbCAhZGVmYXVsdDtcclxuLy8gRmlsdGVycyBoZWFkZXIuXHJcbiRmaWx0ZXJzLWhlYWRpbmctZm9udC13ZWlnaHQ6IDYwMCAhZGVmYXVsdDtcclxuJGZpbHRlcnMtaGVhZGluZy1mb250LXNpemU6IG1hcC1nZXQoJGhlYWRpbmctMi1mb250LXNpemUsIHByZXNldC0xKSAhZGVmYXVsdDtcclxuJGZpbHRlcnMtaGVhZGluZy1jb2xvdXI6ICRjb2xvdXI0ICFkZWZhdWx0O1xyXG4kZmlsdGVycy1oZWFkaW5nLW1vYmlsZS1iYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyNC02ICFkZWZhdWx0O1xyXG4vLyBBcHBsaWVkIGF0dHJpYnV0ZShzKVxyXG4kZmlsdGVycy1yZW1vdmUtYXR0cmlidXRlLWZvbnQtc2l6ZTogJHBhcmFncmFwaC1mb250LXNpemUgIWRlZmF1bHQ7XHJcbiRmaWx0ZXJzLXJlbW92ZS1hdHRyaWJ1dGUtY29sb3VyOiAkY29sb3VyMiAhZGVmYXVsdDtcclxuJGZpbHRlcnMtcmVtb3ZlLWF0dHJpYnV0ZS1ob3Zlci1jb2xvdXI6ICRjb2xvdXI2ICFkZWZhdWx0O1xyXG4kZmlsdGVycy1yZW1vdmUtYXR0cmlidXRlLWljb24tY29sb3VyOiAkY29sb3VyMy0zICFkZWZhdWx0O1xyXG4kZmlsdGVycy1yZW1vdmUtYXR0cmlidXRlLXdlaWdodDogNjAwICFkZWZhdWx0O1xyXG4kZmlsdGVycy1yZW1vdmUtYWxsLWNvbG91cjogJGZpbHRlcnMtcmVtb3ZlLWF0dHJpYnV0ZS1jb2xvdXIgIWRlZmF1bHQ7XHJcbiRmaWx0ZXJzLWFwcGxpZWQtaGVhZGluZy1mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xyXG4kZmlsdGVycy1hcHBsaWVkLWhlYWRpbmctZm9udC1zaXplOiAoJGZpbHRlcnMtcmVtb3ZlLWF0dHJpYnV0ZS1mb250LXNpemUgKyAxKSAhZGVmYXVsdDtcclxuJGZpbHRlcnMtYXBwbGllZC1oZWFkaW5nLWZvbnQtc3R5bGU6IGl0YWxpYyAhZGVmYXVsdDtcclxuLy8gT3B0aW9uIGhlYWRpbmdcclxuJGZpbHRlcnMtb3B0aW9uLW1vYmlsZS1tYXJnaW46IDAgMCAyMHB4ICFkZWZhdWx0O1xyXG4kZmlsdGVycy1vcHRpb24tZGVza3RvcC1tYXJnaW46IDI1cHggIWRlZmF1bHQ7XHJcbiRmaWx0ZXJzLW9wdGlvbi1wYWRkaW5nOiAwICFkZWZhdWx0O1xyXG4kZmlsdGVycy1vcHRpb24taGVhZGluZy1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRmaWx0ZXJzLWhlYWRpbmctY29sb3VyLFxyXG4gICAgaG92ZXI6ICRjb2xvdXI2LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyMlxyXG4pICFkZWZhdWx0O1xyXG4kZmlsdGVycy1vcHRpb24taGVhZGluZy1mb250LXNpemU6JHBhcmFncmFwaC1mb250LXNpemUgKyAxICFkZWZhdWx0O1xyXG4kZmlsdGVycy1vcHRpb24taGVhZGluZy1mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xyXG4vLyBBdHRyaWJ1dGVzXHJcbiRmaWx0ZXJzLWF0dHJpYnV0ZXMtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkYm9keS1mb250LWNvbG91cixcclxuICAgIGhvdmVyOiBob3Zlci1jb2xvdXIoJGZpbHRlcnMtb3B0aW9uLWhlYWRpbmctY29sb3VyKSxcclxuICAgIGFjdGl2ZTogYWN0aXZlLWNvbG91cigkZmlsdGVycy1vcHRpb24taGVhZGluZy1jb2xvdXIpXHJcbikgIWRlZmF1bHQ7XHJcbi8vIENvbG91ciBwcmV2aWV3XHJcbiRmaWx0ZXJzLWNvbG91ci1wcmV2aWV3LXdpZHRoOiAxMHB4ICFkZWZhdWx0O1xyXG4kZmlsdGVycy1jb2xvdXItcHJldmlldy1oZWlnaHQ6ICRmaWx0ZXJzLWNvbG91ci1wcmV2aWV3LXdpZHRoICFkZWZhdWx0O1xyXG4kZmlsdGVycy1jb2xvdXItcHJldmlldy1ib3JkZXI6IDFweCBzb2xpZCAkY29sb3VyMCAhZGVmYXVsdDtcclxuJGZpbHRlcnMtY29sb3VyLXByZXZpZXctYm9yZGVyLXJhZGl1czogJGJvcmRlclJhZGl1czEgIWRlZmF1bHQ7XHJcbi8vIFByaWNlIHNsaWRlclxyXG4kZmlsdGVycy1wcy1pbnB1dC13aWR0aDogNzBweCAhZGVmYXVsdDtcclxuJGZpbHRlcnMtcHMtaW5wdXQtaGVpZ2h0OiAzNXB4ICFkZWZhdWx0O1xyXG4kZmlsdGVycy1wcy1pbnB1dC1ib3JkZXItY29sb3VyOiAkY29sb3VyMy0xICFkZWZhdWx0O1xyXG4kZmlsdGVycy1wcy1hY3RpdmUtY29sb3VyOiAkY29sb3VyNiAhZGVmYXVsdDtcclxuLy8gU2hvdyBtb3JlIC8gbGVzcyBhdHRyaWJ1dGVzXHJcbiRmaWx0ZXJzLXJldmVhbC1hdHRyaWJ1dGVzLWZvbnQtc2l6ZTogJHBhcmFncmFwaC1mb250LXNpemUgIWRlZmF1bHQ7XHJcbiRmaWx0ZXJzLXRvZ2dsZS1hdHRyaWJ1dGVzLWZvbnQtd2VpZ2h0OiA2MDAgIWRlZmF1bHQ7XHJcbiRmaWx0ZXJzLXRvZ2dsZS1hdHRyaWJ1dGVzLWZvbnQtc3R5bGU6IGl0YWxpYyAhZGVmYXVsdDtcclxuJGZpbHRlcnMtcmV2ZWFsLWF0dHJpYnV0ZXMtaG92ZXItY29sb3VyOiAkY29sb3VyNiAhZGVmYXVsdDtcclxuJGZpbHRlcnMtdG9nZ2xlLW1vcmUtYXR0cmlidXRlcy1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIyLFxyXG4gICAgaG92ZXI6ICRjb2xvdXI0LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNC0xXHJcbikgIWRlZmF1bHQ7XHJcbiRmaWx0ZXJzLXRvZ2dsZS1tb3JlLWF0dHJpYnV0ZXMtaWNvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI2LFxyXG4gICAgaG92ZXI6IGhvdmVyLWNvbG91cigkZmlsdGVycy10b2dnbGUtbW9yZS1hdHRyaWJ1dGVzLWNvbG91ciksXHJcbiAgICBhY3RpdmU6IGFjdGl2ZS1jb2xvdXIoJGZpbHRlcnMtdG9nZ2xlLW1vcmUtYXR0cmlidXRlcy1jb2xvdXIpXHJcbikgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0tLSBQcm9kdWN0IC0tLS0tIFxyXG5cclxuJHByb2R1Y3QtZW5xdWlyeS1kZXRhaWxzLXNlcGVyYXRvci1ydWxlcy1lbmFibGVkOiB0cnVlICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1lbnF1aXJ5LWRldGFpbHMtc2VwZXJhdG9yLXJ1bGUtYm9yZGVyOiAxcHggc29saWQgJGNvbG91cjMtMSAhZGVmYXVsdDtcclxuLy8gTWFyZ2luIC8gUGFkZGluZyB0b3AgKyBib3R0b20uXHJcbiRwcm9kdWN0LWVucXVpcnktZGV0YWlscy1zZXBlcmF0b3ItcnVsZS1zcGFjaW5nOiAyMHB4ICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1lbnF1aXJ5LWRldGFpbHMtZ3V0dGVyOiAoXHJcbiAgICBzbWFsbDogMTVweCAwLFxyXG4gICAgbGFyZ2U6IDEwcHggMFxyXG4pICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1lbnF1aXJ5LWRldGFpbHMtbW9kdWxlLWd1dHRlcjogKFxyXG4gICAgc21hbGw6IDEwcHggMTVweCxcclxuICAgIG1lZGl1bTogMTBweCAyNXB4LFxyXG4gICAgbGFyZ2U6IDEwcHggMzBweFxyXG4pICFkZWZhdWx0O1xyXG5cclxuJHByb2R1Y3QtZW5xdWlyeS1ndXR0ZXI6IChcclxuICAgIHNtYWxsOiAxMHB4LFxyXG4gICAgbWVkaXVtOiAxNXB4LFxyXG4gICAgbGFyZ2U6IDIwcHhcclxuKSAhZGVmYXVsdDtcclxuXHJcblxyXG4kcHJvZHVjdC1jb250YWluZXItcGFkZGluZzogKFxyXG4gICAgc21hbGw6IDIwcHggNXB4IDAsXHJcbiAgICBsYXJnZTogNDBweCAwIDBcclxuKSAhZGVmYXVsdDtcclxuLy8gLS0tIFByb2R1Y3QgSW1hZ2UgLS0tIFxyXG4kcHJvZHVjdC1pbWFnZS13aWR0aDogNTUwcHggIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWltYWdlLW1hcmdpbjogKFxyXG4gICAgc21hbGw6IDAgMCAyMHB4LFxyXG4gICAgbGFyZ2U6IDAgYXV0b1xyXG4pICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1lbnF1aXJ5LW1haW4taW1hZ2UtYm9yZGVyLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogbWFwLWdldCgkbmV1dHJhbC1jb2xvdXIsIDgpLFxyXG4gICAgaG92ZXI6IG1hcC1nZXQoJHByaW1hcnktY29sb3VyLCAwKVxyXG4pICFkZWZhdWx0O1xyXG4vLyAtLS0gUHJvZHVjdCBNYWluIGhlYWRpbmcgLS0tIFxyXG4kcHJvZHVjdC1tYWluLWhlYWRpbmctY29sb3VyOiAkY29sb3VyNCAhZGVmYXVsdDtcclxuJHByb2R1Y3QtbWFpbi1oZWFkaW5nLWZvbnQtc2l6ZTogMjggIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LW1haW4taGVhZGluZy1mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1tYWluLWhlYWRpbmctbGluZS1oZWlnaHQ6IDM0cHggIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LW1haW4taGVhZGluZy10ZXh0LXRyYW5zZm9ybTogbWFwLWdldCgkaGVhZGluZy0xLXRleHQtdHJhbnNmb3JtLCBwcmVzZXQtMSkgIWRlZmF1bHQ7XHJcbi8vIENvZGUgKCBSZWZlcm5lY2UgJiBhbHQgcmVmZW5lbmNlIF9cclxuJHByb2R1Y3QtY29kZS1mb250LXNpemU6ICRwYXJhZ3JhcGgtZm9udC1zaXplICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1jb2RlLWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWNvZGUtdGV4dC10cmFuZm9ybTogbm9uZSAhZGVmYXVsdDtcclxuJHByb2R1Y3QtZW5xdWlyeS1yZWZlcmVuY2UtcGFkZGluZzogKFxyXG4gICAgc21hbGw6IDEwcHggMCxcclxuICAgIG1lZGl1bTogMjBweCAwXHJcbikgIWRlZmF1bHQ7XHJcbi8vIC0tLSBQcm9kdWN0IEVucXVpcnkgQnV5IEJ1dHRvbiAtLS1cclxuJHByb2R1Y3QtZW5xdWlyeS1idXktYnV0dG9uLW1hcmdpbjogKFxyXG4gICAgc21hbGw6IDAsXHJcbiAgICBtZWRpdW06IDEwcHggMFxyXG4pICFkZWZhdWx0O1xyXG4vLyAtLS0gUHJpY2UgLS0tIFxyXG4kcHJvZHVjdC1wcmljZS1jb2x1bW4td2lkdGg6IG51bGwgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LXByaWNlLXNpemUtb3ZlcnJpZGU6ICRwcmljZS1mb250LXNpemUgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWluZGl2aWR1YWwtcHJpY2UtZm9udC1zaXplOiAyOCAhZGVmYXVsdDtcclxuLy8gLS0tIEFkZGl0aW9uYWwgaW1hZ2VzIC0tLVxyXG4kcHJvZHVjdC1hZGRpdGlvbmFsLWltYWdlcy13aWR0aDogMzc1cHggIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWFkZGl0aW9uYWwtaW1hZ2VzLWFjdGl2ZS1vcGFjaXR5OiAwLjYgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWFkZGl0aW9uYWwtaW1hZ2VzLXRodW1ibmFpbC1ib3JkZXI6IChcclxuICAgIGRlZmF1bHQ6IDFweCBzb2xpZCAkY29sb3VyMy0xLFxyXG4gICAgaG92ZXI6IDFweCBzb2xpZCAkY29sb3VyNCxcclxuICAgIGFjdGl2ZTogMXB4IHNvbGlkICRjb2xvdXI2LFxyXG4gICAgYWN0aXZlLWNsaWNrOiAxcHggc29saWQgcmdiYSgkY29sb3VyNiwgMC41KVxyXG4pICFkZWZhdWx0O1xyXG4vLyBHcmlkXHJcbiRwcm9kdWN0LWFkZGl0aW9uYWwtaW1hZ2VzLWdyaWQtZ3V0dGVyOiAoXHJcbiAgICBzbWFsbDogMTBweCxcclxuICAgIG1lZGl1bTogMTBweCxcclxuICAgIGxhcmdlOiA1cHhcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vIENhc2UgcHJpY2VcclxuJHByb2R1Y3QtY2FzZS1wcmljZS1mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tLS0gTGlnaHRib3ggLS0tLS1cclxuJGxpZ2h0Ym94LXRyaWdnZXItcGFkZGluZzogKFxyXG4gICAgZGVmYXVsdDogMnB4IDhweCxcclxuICAgIG1hZ25pZmljYXRpb24taG92ZXI6IDJweCA0cHhcclxuKSAhZGVmYXVsdDtcclxuJGxpZ2h0Ym94LXRyaWdnZXItaWNvbi1iYWNrZ3JvdW5kOiByZ2JhKCRjb2xvdXIxLCAwLjg1KSAhZGVmYXVsdDtcclxuJGxpZ2h0Ym94LXRyaWdnZXItaWNvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI0LFxyXG4gICAgaG92ZXI6ICRjb2xvdXI2XHJcbikgIWRlZmF1bHQ7XHJcbiRsaWdodGJveC10cmlnZ2VyLWljb24tc2l6ZTogMjJweCAhZGVmYXVsdDtcclxuJGxpZ2h0Ym94LWNvbnRlbnQtbWFyZ2luOiAoXHJcbiAgICBzbWFsbDogMTBweCAwLFxyXG4gICAgbGFyZ2U6IDIwcHggMCxcclxuICAgIHhsYXJnZTogYXV0b1xyXG4pICFkZWZhdWx0O1xyXG4kbGlnaHRib3gtc2xpZGUtZGltZW50aW9uczogKFxyXG4gICAgc21hbGw6IDEwMCxcclxuICAgIG1lZGl1bTogODAsXHJcbiAgICBsYXJnZTogODVcclxuKSAhZGVmYXVsdDtcclxuJGxpZ2h0Ym94LXNsaWRlLWltYWdlLW1hcmdpbjogKFxyXG4gICAgc21hbGw6IDAgLy8gc2V0dGluZyB0byAwIG90aGVyIGltYWdlIHdvdWxkIHNjYWxlIG91dHNpZGUgb2YgdGhlIGNvbnRhaW5lciBwdXNoaW5nIHRoZSBwYWdlciBvdXRzaWRlIG9mIHRoZSB2aWV3cG9ydC5cclxuKSAhZGVmYXVsdDtcclxuJGxpZ2h0Ym94LWNvbnRyb2xzLXdpZHRoOiAoXHJcbiAgICBzbWFsbDogMjVweCxcclxuICAgIGxhcmdlOiA1MHB4XHJcbikgIWRlZmF1bHQ7XHJcbiRsaWdodGJveC1jb250cm9scy1oZWlnaHQ6IChcclxuICAgIHNtYWxsOiA0MHB4LFxyXG4gICAgbGFyZ2U6IDcwcHhcclxuKSAhZGVmYXVsdDtcclxuJGxpZ2h0Ym94LWNvbnRyb2xzLWljb24tc2l6ZTogKFxyXG4gICAgc21hbGw6IDE2cHgsXHJcbiAgICBsYXJnZTogMjZweFxyXG4pICFkZWZhdWx0O1xyXG4kbGlnaHRib3gtY29udHJvbHMtYm9yZGVyLXdpZHRoOiAycHggIWRlZmF1bHQ7XHJcbiRsaWdodGJveC1jb250cm9scy1pY29uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjQsXHJcbiAgICBob3ZlcjogJGNvbG91cjEsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXIxXHJcbikgIWRlZmF1bHQ7XHJcbiRsaWdodGJveC1jb250cm9scy1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjEsXHJcbiAgICBob3ZlcjogJGNvbG91cjYsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI0XHJcbikgIWRlZmF1bHQ7XHJcbiRsaWdodGJveC1oZWFkZXItYmFja2dyb3VuZC1jb2xvdXI6ICRjb2xvdXI0LTEgIWRlZmF1bHQ7XHJcbiRsaWdodGJveC1iYWNrZ3JvdW5kLWNvbG91cjogcmdiYSgkY29sb3VyMy0yLCAwLjMpICFkZWZhdWx0O1xyXG4kbGlnaHRib3gtaXRlbS1jb3VudC1mb250LXNpemU6IChcclxuICAgIHNtYWxsOiAxNixcclxuICAgIG1lZGl1bTogMjBcclxuKSAhZGVmYXVsdDtcclxuJGxpZ2h0Ym94LWl0ZW0tY291bnQtY29sb3VyOiAkY29sb3VyMSAhZGVmYXVsdDtcclxuJGxpZ2h0Ym94LWNsb3NlLWJ1dHRvbi1kaW1lbnRpb25zOiAzMHB4ICFkZWZhdWx0O1xyXG4kbGlnaHRib3gtY2xvc2UtYnV0dG9uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjEsXHJcbiAgICBob3ZlcjogJGNvbG91cjQsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI2XHJcbikgIWRlZmF1bHQ7XHJcbi8vIC0tLSBQYWdlciAtLS1cclxuJGxpZ2h0Ym94LXBhZ2VyLWhlaWdodDogKFxyXG4gICAgc21hbGw6IGF1dG8sXHJcbiAgICBsYXJnZTogYXV0b1xyXG4pICFkZWZhdWx0O1xyXG4kbGlnaHRib3gtcGFnZXItaXRlbS13aWR0aDogKFxyXG4gICAgbWVkaXVtOiAxMDBweCxcclxuICAgIGxhcmdlOiAxNzBweFxyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tIFByb2R1Y3QgRW5xdWlyeSBEZXRhaWxzIC0tLVxyXG4vLyBMYWJlbCB2YWx1ZSBwYWlyXHJcbiRwcm9kdWN0LWVucXVpcnktbGFiZWwtdmFsdWUtcGFpci1hbGlnbi1pdGVtczogYmFzZWxpbmUgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWVucXVpcnktbGFiZWwtdmFsdWUtcGFpci1nYXA6IChcclxuICAgIHNtYWxsOiA1cHgsXHJcbiAgICBtZWRpdW06IDVweCAxMHB4XHJcbikgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWVucXVpcnktbGFiZWwtdmFsdWUtcGFpci1sYWJlbC1jb2xvdXI6ICRib2R5LWZvbnQtY29sb3VyICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1lbnF1aXJ5LWxhYmVsLXZhbHVlLXBhaXItbGFiZWwtZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcclxuJHByb2R1Y3QtZW5xdWlyeS1sYWJlbC12YWx1ZS1wYWlyLWxhYmVsLXRleHQtdHJhbnNmb3JtOiBudWxsICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1lbnF1aXJ5LWxhYmVsLXZhbHVlLXBhaXItdmFsdWUtZm9udC13ZWlnaHQ6IDQwMCAhZGVmYXVsdDtcclxuJHByb2R1Y3QtZW5xdWlyeS1sYWJlbC12YWx1ZS1wYWlyLXZhbHVlLXRleHQtdHJhbnNmb3JtOiBudWxsICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1lbnF1aXJ5LWxhYmVsLXZhbHVlLXBhaXItdmFsdWUtY29sb3VyOiAkcHJvZHVjdC1lbnF1aXJ5LWxhYmVsLXZhbHVlLXBhaXItbGFiZWwtY29sb3VyICFkZWZhdWx0O1xyXG5cclxuLy8gTXVsdGkgbGluZSBjb250YWluZXJcclxuJHByb2R1Y3QtZW5xdWlyeS1tdWx0aS1saW5lLWhlYWRpbmctbWFyZ2luOiAwIDAgMTBweCAhZGVmYXVsdDtcclxuJHByb2R1Y3QtZW5xdWlyeS1tdWx0aS1saW5lLWhlYWRpbmctZm9udC1zaXplOiAxNCAhZGVmYXVsdDtcclxuJHByb2R1Y3QtZW5xdWlyeS1tdWx0aS1saW5lLWhlYWRpbmctZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcclxuJHByb2R1Y3QtZW5xdWlyeS1tdWx0aS1saW5lLWhlYWRpbmctY29sb3VyOiAkYm9keS1mb250LWNvbG91ciAhZGVmYXVsdDtcclxuJHByb2R1Y3QtZW5xdWlyeS1tdWx0aS1saW5lLWhlYWRpbmctbGV0dGVyLXNwYWNpbmc6IG51bGwgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWVucXVpcnktbXVsdGktbGluZS1oZWFkaW5nLXRleHQtdHJhbnNmb3JtOiBudWxsICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1lbnF1aXJ5LW11bHRpLWxpbmUtaGVhZGluZy1mb250LWZhbWlseTogZ2V0LXR5cG9ncmFwaHktZm9udC1mYW1pbHkoKSAhZGVmYXVsdDtcclxuJHByb2R1Y3QtZW5xdWlyeS1tdWx0aS1saW5lLXBhcmFncmFwaC1mb250LXNpemU6ICRwYXJhZ3JhcGgtZm9udC1zaXplICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1lbnF1aXJ5LW11bHRpLWxpbmUtcGFyYWdyYXBoLWNvbG91cjogJGRlZmF1bHQtY21zLWNvcHktY29sb3VyICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1lbnF1aXJ5LW11bHRpLWxpbmUtbm90ZXMtbWFyZ2luOiBudWxsICFkZWZhdWx0O1xyXG4vLyBMYWJlbCArIHZhbHVlIHBhaXJcclxuJHByb2R1Y3QtZW5xdWlyeS1sYWJlbC12YWx1ZS1wYWlyLWxhYmVsLWZvbnQtc2l6ZTogJHByb2R1Y3QtZW5xdWlyeS1tdWx0aS1saW5lLWhlYWRpbmctZm9udC1zaXplICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1lbnF1aXJ5LWxhYmVsLXZhbHVlLXBhaXItdmFsdWUtZm9udC1zaXplOiAkcHJvZHVjdC1lbnF1aXJ5LWxhYmVsLXZhbHVlLXBhaXItbGFiZWwtZm9udC1zaXplICFkZWZhdWx0O1xyXG4vLyBQcmljaW5nLlxyXG4kcHJvZHVjdC1lbnF1aXJ5LXByaWNlLWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWVucXVpcnktcHJpY2UtZ3JpZC1nYXA6IChcclxuICAgIHNtYWxsOiAyMHB4LFxyXG4gICAgbWVkaXVtOiAxMHB4IDIwcHgsXHJcbiAgICBsYXJnZTogMTBweCAyMHB4XHJcbikgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWVucXVpcnktcHJpY2UtY29sdW1uLW1pbi13aWR0aDogKFxyXG4gICAgc21hbGw6IDIyMHB4LFxyXG4gICAgbWVkaXVtOiAxOTBweCxcclxuICAgIGxhcmdlOiAxOTBweFxyXG4pICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1lbnF1aXJ5LXByaWNlLWNvbHVtbi1tYXgtd2lkdGg6IChcclxuICAgIHNtYWxsOiAxZnIsXHJcbiAgICBtZWRpdW06IDUwJSxcclxuICAgIGxhcmdlOiA0MCVcclxuKSAhZGVmYXVsdDtcclxuJHByb2R1Y3QtZW5xdWlyeS1wcmljZS1mb250LWZhbWlseTogZ2V0LXR5cG9ncmFwaHktZm9udC1mYW1pbHkoKSAhZGVmYXVsdDtcclxuLy8gSGF6YXJkIFN0YXRlbWVudC5cclxuJHByb2R1Y3QtZW5xdWlyeS1oYXphcmQtc3RhdGVtZW50LWhlYWRpbmctZm9udC1zaXplOiAxNiAhZGVmYXVsdDtcclxuJHByb2R1Y3QtZW5xdWlyeS1oYXphcmQtc3RhdGVtZW50LWhlYWRpbmctZm9udC13ZWlnaHQ6ICRwcm9kdWN0LWVucXVpcnktbXVsdGktbGluZS1oZWFkaW5nLWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1lbnF1aXJ5LWhhemFyZC1zdGF0ZW1lbnQtaGFhZGluZy10ZXh0LXRyYW5zZm9ybTogbnVsbCAhZGVmYXVsdDtcclxuLy8gU2hhcmVcclxuJHByb2R1Y3QtZW5xdWlyeS1zaGFyZS1idXR0b24tZm9udC13ZWlnaHQ6ICRmYXZvdXJpdGVzLWJ1dHRvbi1sYWJlbC1mb250LXdlaWdodCAhZGVmYXVsdDtcclxuJHByb2R1Y3QtZW5xdWlyeS1zaGFyZS1idXR0b24tZm9udC1zaXplOiAkZmF2b3VyaXRlcy1idXR0b24tbGFiZWwtZm9udC1zaXplICFkZWZhdWx0O1xyXG4vLyBPcHRpb25hbCBleHRyYXNcclxuJHByb2R1Y3QtZW5xdWlyeS1vcHRpb25hbC1leHRyYXMtZGVzY3JpcHRpb24tZm9udC13ZWlnaHQ6ICRjb2xsZWN0aW9uLWRlc2NyaXB0aW9uLWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xyXG4vLyAtLS0gUHJldmlvdXNseSBwdXJjaGFzZWQgLS0tIFxyXG4kcHJvZHVjdC1wcmV2aW91c2x5LXB1cmNoYXNlZC1tYXJnaW46IChcclxuICAgIHNtYWxsOiAwIDAgMTVweCxcclxuICAgIG1lZGl1bTogMCAwIDM1cHhcclxuKSAhZGVmYXVsdDtcclxuJHByb2R1Y3QtcHJldmlvdXNseS1wdXJjaGFzZWQtcGFkZGluZzogKFxyXG4gICAgc21hbGw6IDE1cHggMCxcclxuICAgIG1lZGl1bTogMTVweCAwXHJcbikgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LXByZXZpb3VzbHktcHVyY2hhc2VkLWd1dHRlcjogKFxyXG4gICAgc21hbGw6IDVweCAxMHB4LFxyXG4gICAgbWVkaXVtOiAxMHB4IDIwcHgsXHJcbiAgICBsYXJnZTogMTBweCA0MHB4XHJcbikgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LXByZXZpb3VzbHktcHVyY2hhc2VkLWJvcmRlci1jb2xvdXI6IHZhcigtLWFjY2VudC1jb2xvdXItNC1saWdodG5lc3MtNikgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LXByZXZpb3VzbHktcHVyY2hhc2VkLWJhY2tncm91bmQ6IHZhcigtLWFjY2VudC1jb2xvdXItNC1saWdodG5lc3MtOSk7XHJcbiRwcm9kdWN0LXByZXZpb3VzbHktcHVyY2hhc2VkLWJvcmRlci13aWR0aDogMnB4ICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1wcmV2aW91c2x5LXB1cmNoYXNlZC1pdGVtLXNwYWNpbmc6IDQwcHggIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LXByZXZpb3VzbHktcHVyY2hhc2VkLWhlYWRpbmctZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcclxuJHByb2R1Y3QtcHJldmlvdXNseS1wdXJjaGFzZWQtaGVhZGluZy1mb250LXNpemU6IChcclxuICAgIHNtYWxsOiAxNixcclxuICAgIG1lZGl1bTogMTRcclxuKSAhZGVmYXVsdDtcclxuJHByb2R1Y3QtcHJldmlvdXNseS1wdXJjaGFzZWQtbGFiZWwtZm9udC13ZWlnaHQ6ICRwcm9kdWN0LWVucXVpcnktbGFiZWwtdmFsdWUtcGFpci1sYWJlbC1mb250LXdlaWdodCAhZGVmYXVsdDtcclxuJHByb2R1Y3QtcHJldmlvdXNseS1wdXJjaGFzZWQtZm9udC1zaXplOiBtZWRpdW0tdmFsdWUoJHByb2R1Y3QtcHJldmlvdXNseS1wdXJjaGFzZWQtaGVhZGluZy1mb250LXNpemUpICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1wcmV2aW91c2x5LXB1cmNoYXNlZC12aWV3LW9yZGVyLWJ1dHRvbi1mb250LXNpemU6IDE0ICFkZWZhdWx0O1xyXG4vLyAtLS0gUHJvZHVjdCBPdmVybGF5IE1vZHVsZSAtLS0gXHJcbi8vIC0tLSBRdWFudGl0eSBQcmljZSBCcmVhayAtLS0gXHJcbiRwcm9kdWN0LXF1YW50aXR5LXByaWNlLWJyZWFrLXRhYmxlLXdpZHRoOiA0MjBweCAhZGVmYXVsdDtcclxuJHByb2R1Y3QtcXVhbnRpdHktcHJpY2UtYnJlYWstaGVhZGluZy1jb2xvdXI6IG1hcC1nZXQoJHRoZWFkLXByZXNldC0xLCBjb2xvcikgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LXF1YW50aXR5LXByaWNlLWJyZWFrLWhlYWRpbmctc2F2ZS1hbW91bnQtY29sb3VyOiAkcHJvZHVjdC1xdWFudGl0eS1wcmljZS1icmVhay1oZWFkaW5nLWNvbG91ciAhZGVmYXVsdDtcclxuJHByb2R1Y3QtcXVhbnRpdHktcHJpY2UtYnJlYWstaGVhZGluZy1iYWNrZ3JvdW5kLWNvbG91cjogbnVsbCAhZGVmYXVsdDtcclxuJHByb2R1Y3QtcXVhbnRpdHktcHJpY2UtYnJlYWstaGVhZGluZy1ib3JkZXI6IDJweCBzb2xpZCAkY29sb3VyNC00ICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1xdWFudGl0eS1wcmNpZS1icmVhay1oZWFkaW5nLWZvbnQtc2l6ZTogMTUgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LXF1YW50aXR5LXByY2llLWJyZWFrLWhlYWRpbmctZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcclxuJHByb2R1Y3QtcXVhbnRpdHktcHJpY2UtYnJlYWstc2F2aW5nLWNvbC1mb250LXdlaWdodDogJHNhdmluZy1mb250LXdlaWdodCAhZGVmYXVsdDtcclxuJHByb2R1Y3QtcXVhbnRpdHktcHJpY2UtYnJlYWstdGFibGUtbWFyZ2luOiAxNXB4IDAgMCAhZGVmYXVsdDtcclxuJHByb2R1Y3QtcXVhbnRpdHktcHJpY2UtYnJlYWstdGFibGUtdGgtcGFkZGluZzogMCA1cHggMTBweCAhZGVmYXVsdDtcclxuJHByb2R1Y3QtcXVhbnRpdHktcHJpY2UtYnJlYWstdGFibGUtdGgtY29sb3VyOiBudWxsICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1xdWFudGl0eS1wcmljZS1icmVhay10YWJsZS1zdXBwcmVzcy1oZWFkZXItZ2FwOiBmYWxzZSAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLSBHcm91cGVkIG1vZHVsZXMgLS0tXHJcbiRwcm9kdWN0LWdyb3VwZWQtYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWdyb3VwZWQtc2Vjb25kLWl0ZW0tYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjb2xvdXIzLTE7IFxyXG4vLyAtLS0gUHJvZHVjdCBOb3Rlc1xyXG4kcHJvZHVjdC1ub3Rlcy1oZWFkaW5nLXRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LW5vdGVzLWhlYWRpbmctY29sb3VyOiAkYm9keS1mb250LWNvbG91ciAhZGVmYXVsdDtcclxuJHByb2R1Y3Qtbm90ZXMtaGVhZGluZy1zaXplOiAxOCAhZGVmYXVsdDtcclxuJHByb2R1Y3Qtbm90ZXMtaGVhZGluZy1mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1ub3Rlcy1zaXplOiAkcGFyYWdyYXBoLWZvbnQtc2l6ZSArIDEgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LW5vdGVzLWNvbG91cjogJGJvZHktZm9udC1jb2xvdXIgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LW5vdGVzLWxpbmUtaGVpZ2h0OiAyNXB4ICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1ub3Rlcy1mb250LXdlaWdodDogNDAwICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1ub3Rlcy1yZWFkLW1vcmUtaGVpZ2h0OiAxNHZoICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1ub3Rlcy1yZWFkLW1vcmUtZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcclxuLy8gLS0tIFNwZWNpZmljYXRpb24gLS0tIFxyXG4kc3BlY2lmaWNhdGlvbi1mb250LXNpemU6ICRwcm9kdWN0LW5vdGVzLXNpemUgIWRlZmF1bHQ7XHJcbiRzcGVjaWZpY2F0aW9uLWZvbnQtd2VpZ2h0OiAkcHJvZHVjdC1ub3Rlcy1mb250LXdlaWdodCAhZGVmYXVsdDtcclxuJHNwZWNpZmljYXRpb24tbGluZS1oZWlnaHQ6ICRwcm9kdWN0LW5vdGVzLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xyXG4kc3BlY2lmaWNhdGlvbi1jb2xvdXI6ICRwcm9kdWN0LW5vdGVzLWNvbG91ciAhZGVmYXVsdDtcclxuLy8gLS0tIEFsdGVybmF0aXZlIE9wdGlvbnMgLS0tIFxyXG4kcHJvZHVjdC1hbHQtb3B0aW9ucy1mb250LXNpemU6IDE1ICFkZWZhdWx0O1xyXG4vLyAtLS0gVGFiYmVkIFNwZWNpZmljYXRpb24gLS0tIFxyXG4kcHJvZHVjdC10YWJzLXRpdGxlLWRlc2t0b3Atd2lkdGg6IGZpdC1jb250ZW50ICFkZWZhdWx0O1xyXG4kcHJvZHVjdC10YWJzLXRpdGxlLXBhZGRpbmc6IDE4cHggODBweCAhZGVmYXVsdDtcclxuJHByb2R1Y3QtdGFicy10aXRsZS10ZXh0LWFsaWduOiBjZW50ZXIgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LXRhYi1zcGVjaWZpY2lhdGlvbi1mb250LXNpemU6IDE0ICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tIFN0b2NrbGluZSAtLS1cclxuJHN0b2NrbGluZS1hdHRyaWJ1dGUtY29udGFpbmVyLXdpZHRoOiAoXHJcbiAgICBzbWFsbDogMTAwJSxcclxuICAgIGxhcmdlOiAxMDAlXHJcbikgIWRlZmF1bHQ7XHJcbiRzdG9ja2xpbmUtYXR0cmlidXRlLWNvbnRhaW5lci1tYXJnaW46IChcclxuICAgIHNtYWxsOiAwIDAgMTBweCxcclxuICAgIGxhcmdlOiAwIDAgMjBweFxyXG4pICFkZWZhdWx0O1xyXG4kc3RvY2tsaW5lLWxhYmVsLXdpZHRoOiAoXHJcbiAgICBzbWFsbDogNDAlLFxyXG4gICAgbGFyZ2U6IDI3JVxyXG4pICFkZWZhdWx0O1xyXG4kc3RvY2tsaW5lLW9wdGlvbi1jb2xvdXI6IChcclxuICAgIHVuYXZhaWxhYmxlOiAkY29sb3VyMy03XHJcbikgIWRlZmF1bHQ7XHJcbiRzdG9ja2xpbmUtb3B0aW9uLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICB1bmF2YWlsYWJsZTogJGNvbG91cjMtNVxyXG4pICFkZWZhdWx0O1xyXG4kc3RvY2tsaW5lLWF0dHJpYnV0ZS1tYXgtd2lkdGg6IDUyMHB4ICFkZWZhdWx0O1xyXG4kc3RvY2tsaW5lLWF0dHJpYnV0ZS1nYXA6IChcclxuICAgIHNtYWxsOiAxNXB4LFxyXG4gICAgbGFyZ2U6IDEwcHhcclxuKSAhZGVmYXVsdDtcclxuXHJcbiRzdG9ja2xpbmUtbGFiZWwtY29sb3VyOiAkYm9keS1mb250LWNvbG91ciAhZGVmYXVsdDtcclxuJHN0b2NrbGluZS1sYWJlbC1mb250LXNpemU6IDE0ICFkZWZhdWx0O1xyXG4kc3RvY2tsaW5lLWxhYmVsLWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XHJcbi8vIC0tLS0tIFJhdGluZyAtLS0tLSBcclxuJHJhdGluZy1pY29uLWNvbG91cjogKFxyXG4gICAgaW5hY3RpdmU6IG1hcC1nZXQoJG5ldXRyYWwtY29sb3VyLCA4KSxcclxuICAgIGFjdGl2ZTogbWFwLWdldCgkYWNjZW50LWNvbG91ci0zLCAwKVxyXG4pICFkZWZhdWx0O1xyXG4kcmF0aW5nLXN1bW1hcnktZm9udC1zaXplOiAxNSAhZGVmYXVsdDtcclxuLy8gLS0tLS0gQmFza2V0IC0tLS0tIFxyXG4vLyAtLS0gQmFza2V0IFRhYmxlIC0tLSBcclxuJGJhc2tldC1zdG9jay1kZXNjcmlwdGlvbi1nYXA6IDEwcHggMCAhZGVmYXVsdDtcclxuJGJhc2tldC1kZXNjcmlwdGlvbi1saW5lLWhlaWdodDogbm9ybWFsICFkZWZhdWx0O1xyXG4kYmFza2V0LWRlc2NyaXB0aW9uLXRleHQtdHJhbnNmb3JtOiBub25lICFkZWZhdWx0O1xyXG4kYmFza2V0LWRlc2NyaXB0aW9uLWZvbnQtc2l6ZTogJHBhcmFncmFwaC1mb250LXNpemUgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtZGVzY3JpcHRpb24tZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcclxuJGJhc2tldC1kZXNjcmlwdGlvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIzLTYsXHJcbiAgICBob3ZlcjogJGNvbG91cjYsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI0XHJcbikgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtcmVtb3ZlLWJ1dHRvbi1pY29uLXNpemU6ICgkb3JkZXItdGFibGUtcmVtb3ZlLWJ1dHRvbi1zaXplIC8gNCkgIWRlZmF1bHQ7IFxyXG4vLyAtLS0gQmFza2V0IENvbnRyb2xzIC0tLVxyXG4kYmFza2V0LWNvbnRyb2xzLWZvbnQtd2VpZ2h0OiA2MDAgIWRlZmF1bHQ7XHJcblxyXG4vLyBSZW1vdmUgQWxsIEJ1dHRvblxyXG4kYmFza2V0LXJtLWFsbC1iYWNrZ3JvdW5kOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMSxcclxuICAgIGhvdmVyOiAkY29sb3VyNixcclxuICAgIGFjdGl2ZTogJGNvbG91cjQsXHJcbikgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtcm0tYWxsLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjQsXHJcbiAgICBob3ZlcjogJGNvbG91cjEsXHJcbiAgICBkaXNhYmxlZDogJGNvbG91cjMtM1xyXG4pICFkZWZhdWx0O1xyXG4kYmFza2V0LXJlbW92ZS1hbGwtZm9udC1zaXplOiAxMiAhZGVmYXVsdDtcclxuJGJhc2tldC1ybS1hbGwtYnV0dG9uLWljb246IHRydWUgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtcm0tYWxsLWljb24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBtYXAtZ2V0KCRvcmRlci10YWJsZS1yZW1vdmUtaWNvbi1jb2xvdXIsIGRlZmF1bHQpLFxyXG4gICAgaG92ZXI6IG1hcC1nZXQoJGJhc2tldC1ybS1hbGwtY29sb3VyLCBob3ZlcilcclxuKSAhZGVmYXVsdDtcclxuLy8gVXBkYXRlIGJhc2tldCBidXR0b24uXHJcbiRiYXNrZXQtdXBkYXRlLWljb246IHRydWUgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtdXBkYXRlLWJ1dHRvbi1wYWRkaW5nOiAxMHB4IDMwcHggIWRlZmF1bHQ7XHJcbiRiYXNrZXQtdXBkYXRlLWJ1dHRvbi1iYWNrZ3JvdW5kOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMSxcclxuICAgIGhvdmVyOiAkY29sb3VyNixcclxuICAgIGFjdGl2ZTogJGNvbG91cjQsIFxyXG4gICAgZGlzYWJsZWQ6ICRjb2xvdXIxXHJcbikgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtdXBkYXRlLWJ1dHRvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI0LCBcclxuICAgIGhvdmVyOiAkY29sb3VyMSxcclxuICAgIGRpc2FibGVkOiAkY29sb3VyMy0yXHJcbikgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtdXBkYXRlLWJ1dHRvbi1mb250LXNpemU6IDEyICFkZWZhdWx0O1xyXG4kYmFza2V0LXVwZGF0ZS1pY29uLXNpemU6ICgkb3JkZXItdGFibGUtcmVtb3ZlLWJ1dHRvbi1zaXplIC8gNCkgIWRlZmF1bHQ7IFxyXG4kYmFza2V0LXVwZGF0ZS1pY29uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjMtMixcclxuICAgIGhvdmVyOiAkY29sb3VyMSxcclxuICAgIGFjdGl2ZTogJGNvbG91cjEsXHJcbiAgICBkaXNhYmxlZDogJGNvbG91cjMtMiBcclxuKSAhZGVmYXVsdDtcclxuLy8gLS0tIEJhc2tldCBEZWxpdmVyeSAtLS0gXHJcbiRiYXNrZXQtZGVsaXZlcnktcGFkZGluZzogKFxyXG4gICAgc21hbGw6IDIwcHgsXHJcbiAgICBsYXJnZTogNDVweFxyXG4pICFkZWZhdWx0O1xyXG4kYmFza2V0LWRlbGl2ZXJ5LW1hcmdpbjogKFxyXG4gICAgc21hbGw6IDAgMCAzMHB4LFxyXG4gICAgbGFyZ2U6IDAgMCAzNXB4XHJcbikgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtZGVsaXZlcnktYmFja2dyb3VuZC1jb2xvdXI6ICRjb2xvdXIwICFkZWZhdWx0O1xyXG4kYmFza2V0LWRlbGl2ZXJ5LWJvcmRlcjogMXB4IHNvbGlkICRjb2xvdXIzLTEgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtZGVsaXZlcnktaWNvbi1jb2xvdXI6ICRjb2xvdXI0LTEgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtZGVsaXZlcnktaGVhZGluZy1mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xyXG4vLyAtLS0gQmFza2V0IFN1bW1hcnkgLS0tIFxyXG4kYmFza2V0LXN1bW1hcnktd2lkdGg6IChcclxuICAgIHNtYWxsOiAxMDAlLFxyXG4gICAgbGFyZ2U6IDMxMHB4XHJcbikgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtc3VtbWFyeS1oZWFkaW5nLXRleHQtdHJhbnNmb3JtOiBub25lICFkZWZhdWx0O1xyXG4kYmFza2V0LXN1bW1hcnktdG90YWwtZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcclxuJGJhc2tldC1zdW1tYXJ5LXRvdGFsLXRleHQtdHJhbnNmb3JtOiAkYmFza2V0LXN1bW1hcnktaGVhZGluZy10ZXh0LXRyYW5zZm9ybSAhZGVmYXVsdDtcclxuJGJhc2tldC1zdW1tYXJ5LXBhZGRpbmc6IDQwcHggIWRlZmF1bHQ7XHJcbiRiYXNrZXQtc3VtbWFyeS1iYWNrZ3JvdW5kLWNvbG91cjogLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMTAgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtc3VtbWFyeS1oZWFkaW5nLWNvbG91cjogJGNvbG91cjQgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtc3VtbWFyeS1oZWFkaW5nLWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtc3VtbWFyeS1oZWFkaW5nLWZvbnQtc2l6ZTogMTggIWRlZmF1bHQ7XHJcbiRiYXNrZXQtc3VtbWFyeS1oZWFkaW5nLWxldHRlci1zcGFjaW5nOiBudWxsICFkZWZhdWx0O1xyXG4kYmFza2V0LXN1bW1hcnktZGV0YWlscy1qdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhZGVmYXVsdDtcclxuJGJhc2tldC1zdW1tYXJ5LWRldGFpbHMtbWFyZ2luOiAwICFkZWZhdWx0O1xyXG4kYmFza2V0LXN1bW1hcnktZm9udC1zaXplOiAxOCAhZGVmYXVsdDtcclxuJGJhc2tldC1zdW1tYXJ5LWl0ZW0tZm9udC1zaXplOiAkcGFyYWdyYXBoLWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuJGJhc2tldC1zdW1tYXJ5LWl0ZW0tZm9udC13ZWlnaHQ6IDQwMCAhZGVmYXVsdDtcclxuJGJhc2tldC1zdW1tYXJ5LWl0ZW0tbGFiZWwtZm9udC13ZWlnaHQ6ICRiYXNrZXQtc3VtbWFyeS1pdGVtLWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xyXG4kYmFza2V0LXN1bW1hcnktaXRlbS12YWx1ZS1mb250LXdlaWdodDogJGJhc2tldC1zdW1tYXJ5LWl0ZW0tZm9udC13ZWlnaHQgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtc3VtbWFyeS1pdGVtLWNvbG91cjogJGJvZHktZm9udC1jb2xvdXIgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtc3VtbWFyeS1oaWdobGlnaHRlZC1pdGVtLWNvbG91cjogdmFyKC0tYWNjZW50LWNvbG91ci0xLWxpZ2h0bmVzcy0wKSAhZGVmYXVsdDtcclxuJGJhc2tldC1zdW1tYXJ5LXNlcGVyYXRvci1jb2xvdXI6ICRoZWFkaW5nLXJ1bGUtY29sb3VyICFkZWZhdWx0O1xyXG4kYmFza2V0LXN1bW1hcnktaW5wdXQtY29udGFpbmVyLW1hcmdpbjogMzBweCAwIDI1cHggIWRlZmF1bHQ7XHJcbiRiYXNrZXQtc3VtbWFyeS1pbnB1dC1sYWJlbC1jb2xvdXI6ICRjb2xvdXI0ICFkZWZhdWx0O1xyXG4kYmFza2V0LXN1bW1hcnktaW5wdXQtaWNvbi1jb2xvdXI6ICRjb2xvdXI0LTEgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtc3VtbWFydC1pbnB1dC10ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFkZWZhdWx0O1xyXG4kYmFza2V0LXN1bW1hcnktaW5wdXQtbGFiZWwtZm9udC1zaXplOiAkcGFyYWdyYXBoLWZvbnQtc2l6ZSAtIDEgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtc3VtbWFyeS1pbnB1dC1sYWJlbC1mb250LXdlaWdodDogNjAwICFkZWZhdWx0O1xyXG4kYmFza2V0LXN1bW1hcnktaW5wdXQtaGVpZ2h0OiAzNXB4ICFkZWZhdWx0O1xyXG4kYmFza2V0LXN1bW1hcnktaW5wdXQtZm9udC1zaXplOiAkcGFyYWdyYXBoLWZvbnQtc2l6ZSAtIDEgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtc3VtbWFyeS1zdWJtaXQtYXBwbHktYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI0LTYsIC8vIFJlcGxhY2luZyB3aXRoIHNvbGlkIGNvbG91ci5cclxuICAgIGhvdmVyOiAkY29sb3VyNixcclxuICAgIGFjdGl2ZTogJGNvbG91cjQtMVxyXG4pICFkZWZhdWx0O1xyXG4kYmFza2V0LXN1bW1hcnktc3VibWl0LXJlbW92ZS1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogbWFwLWdldCgkYWNjZW50LWNvbG91ci0xLCAwKSxcclxuICAgIGhvdmVyOiAkY29sb3VyMy02LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNC0xXHJcbikgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtc3VtbWFyeS1zdWJtaXQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMSxcclxuICAgIGhvdmVyOiAkY29sb3VyMSxcclxuICAgIGFjdGl2ZTogJGNvbG91cjFcclxuKSAhZGVmYXVsdDtcclxuJGJhc2tldC1zdW1tYXJ5LXN1Ym1pdC1mb250LXNpemU6IDEycHggIWRlZmF1bHQ7XHJcbiRiYXNrZXQtc3VtbWFyeS1jYWxsb3V0OiAoXHJcbiAgICBiYWNrZ3JvdW5kLWNvbG91ci12YWxpZDogcmdiYSgkY29sb3VyNCwgMC42KSxcclxuICAgIGNvbG91ci12YWxpZDogJGNvbG91cjEsXHJcbiAgICBiYWNrZ3JvdW5kLWNvbG91ci1pbnZhbGlkOiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDkpLFxyXG4gICAgY29sb3VyLWludmFsaWQ6ICRjb2xvdXIxXHJcbikgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtc3VtbWFyeS1lZGl0LWJ1dHRvbi1mb250LXNpemU6IDEyICFkZWZhdWx0O1xyXG4kYmFza2V0LXN1bW1hcnktZWRpdC1idXR0b24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNCxcclxuICAgIGhvdmVyOiAkY29sb3VyNixcclxuICAgIGFjdGl2ZTogJGNvbG91cjMtNlxyXG4pICFkZWZhdWx0O1xyXG4vLyAtLS0gVG90YWwgKCBzdGlja3kgbW9iaWxlIClcclxuJGJhc2tldC10b3RhbC1iYWNrZ3JvdW5kLWNvbG91cjogJGNvbG91cjQtNyAhZGVmYXVsdDtcclxuJGJhc2tldC10b3RhbC1mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xyXG4kYmFza2V0LXRvdGFsLWZvbnQtc2l6ZTogMTYgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtdG90YWwtbGV0dGVyLXNwYWNpbmc6IG51bGwgIWRlZmF1bHQ7XHJcbi8vIC0tLS0gQ2hlY2tvdXQgQnV0dG9ucyAtLS0gXHJcbiRjaGVja291dC1zYWdlcGF5LWJ1dHRvbi1wYWRkaW5nOiAxMnB4IDVweCAhZGVmYXVsdDtcclxuJGNoZWNrb3V0LXNhZ2VwYXktYnV0dG9uLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMSxcclxuICAgIGhvdmVyOiAkY29sb3VyNC0xLFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNlxyXG4pICFkZWZhdWx0O1xyXG4kY2hlY2tvdXQtc2FnZXBhZ2UtYnV0dG9uLWJvcmRlci1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IG1hcC1nZXQoJGNoZWNrb3V0LXNhZ2VwYXktYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KSxcclxuICAgIGhvdmVyOiBtYXAtZ2V0KCRjaGVja291dC1zYWdlcGF5LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgaG92ZXIpLFxyXG4gICAgYWN0aXZlOiBtYXAtZ2V0KCRjaGVja291dC1zYWdlcGF5LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgYWN0aXZlKVxyXG4pICFkZWZhdWx0O1xyXG4kY2hlY2tvdXQtc2FnZXBheS1idXR0b24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNCxcclxuICAgIGhvdmVyOiAkY29sb3VyMSxcclxuICAgIGFjdGl2ZTogJGNvbG91cjFcclxuKSAhZGVmYXVsdDtcclxuJGNoZWNrb3V0LXNhZ2VwYXktYnV0dG9uLWZvbnQtc2l6ZTogMTYgIWRlZmF1bHQ7XHJcbiRjaGVja291dC1zYWdlcGF5LWJ1dHRvbi1mb250LXdlaWdodDogNjAwICFkZWZhdWx0O1xyXG4kY2hlY2tvdXQtYnV0dG9ucy1jb250YWluZXItZm9udC1zaXplOiAkcGFyYWdyYXBoLWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuJGNoZWNrb3V0LWJ1dHRvbnMtY29udGFpbmVyLWZvbnQtd2VpZ2h0OiA0MDAgIWRlZmF1bHQ7XHJcbiRjaGVja291dC1idXR0b25zLWNvbnRhaW5lci10ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFkZWZhdWx0O1xyXG4kY2hlY2tvdXQtcGF5cGFsLWJ1dHRvbi1wYWRkaW5nOiAxMnB4IDVweCAhZGVmYXVsdDtcclxuJGNoZWNrb3V0LXBheXBhbC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICNmZmM0MzksXHJcbiAgICBob3ZlcjogJGNvbG91cjQsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI2XHJcbikgIWRlZmF1bHQ7XHJcbi8vIC0tLSBDaGVja291dCBSZXR1cm5pbmcgQ3VzdG9tZXIgLS0tXHJcbiRjaGVja291dC1yZXR1cm5pbmctY3VzdG9tZXItYmFja2dyb3VuZC1jb2xvdXI6ICRjb2xvdXIzLTUgIWRlZmF1bHQ7XHJcbiRjaGVja291dC1yZXR1cm5pbmctY3VzdG9tZXItaWNvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IGFkanVzdC1odWUoc2F0dXJhdGUobGlnaHRlbigkY29sb3VyNC01LCAxMyUpLCAyMCUpLCAtOCUpLFxyXG4gICAgaG92ZXI6ICRjb2xvdXI0XHJcbikgIWRlZmF1bHQ7XHJcbi8vIENvbnRpbnVlIHNob3BwaW5nXHJcbiRiYXNrZXQtY29udGludWUtc2hvcHBpbmctYnV0dG9uLXBhZGRpbmc6IDE1cHggMzVweCAhZGVmYXVsdDtcclxuJGJhc2tldC1jb250aW51ZS1zaG9wcGluZy1idXR0b24tYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI0LTYsXHJcbiAgICBob3ZlcjogJGNvbG91cjQtMSxcclxuICAgIGFjdGl2ZTogJGNvbG91cjZcclxuKSAhZGVmYXVsdDtcclxuJGJhc2tldC1jb250aW51ZS1zaG9wcGluZy1idXR0b24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNCxcclxuICAgIGhvdmVyOiAkY29sb3VyMSxcclxuICAgIGFjdGl2ZTogJGNvbG91cjFcclxuKSAhZGVmYXVsdDtcclxuJGJhc2tldC1jb250aW51ZS1zaG9wcGluZy1idXR0b24tZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLS0tIFBheW1lbnQgbWV0aG9kcyAtLS0tLSBcclxuLy8gUGF5bWVudCBtZXRob2Qgc2VsZWN0b3JcclxuJHBheW1lbnQtY29udGFpbmVyLW1heC13aWR0aDogNTAwcHggIWRlZmF1bHQ7XHJcbi8vIFRoaXMgaGFzIGJlZW4gd29ya2VkIG91dCB0aGUgc3lzdGVtIGluIGZhdm91ciBvZiB1c2luZyB0aGUgU0NBIGNoYWxsZW5nZSBkaW1lbnNpb25zIGluc3RlYWQuXHJcbi8vICRwYXltZW50LWNvbnRhaW5lci13aWR0aDogKFxyXG4vLyAgICAgc21hbGw6IDEwMCUsXHJcbi8vICAgICBsYXJnZTogY2FsYygje2xhcmdlLXZhbHVlKCRmaWVsZC1sYWJlbC13aWR0aCl9ICsgI3skY2hlY2tib3gtZGltZW50aW9uc30pXHJcbi8vICkgIWRlZmF1bHQ7XHJcbiRwYXltZW50LWNvbnRhaW5lci1ib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtOCk7XHJcbiRwYXltZW50LW1ldGhvZC1pZnJhbWUtaGVpZ2h0OiAoXHJcbiAgICBkZWZhdWx0OiA1MDBweCxcclxuICAgIG9wYXlvOiAyN3JlbSAvLyBTd2l0Y2hpbmcgdGhlIHJlbSBhcyBzb21lIHVzZXJzIHdpbGwgdXNlIGV4dHJlbWUgZm9udCBzY2FsaW5nIHNvIHRoZSBoZWlnaHQgd2lsbCBuZWVkIHRvIHNjYWxlIHdpdGggZm9udC1zY2FsaW5nLlxyXG4pICFkZWZhdWx0O1xyXG4kcGF5bWVudC1tZXRob2QtdGl0bGUtcGFkZGluZzogKFxyXG4gICAgc21hbGw6IDIwcHggMjBweFxyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8gQWNjb3VudCBHZW5lcmFsLlxyXG4vLyBTb3J0aW5nLlxyXG4kYWNjb3VudC1zb3J0aW5nLW1hcmdpbjogMCAwIDEwcHggIWRlZmF1bHQ7XHJcbi8vIFBhc3N3b3JkIHJlc2V0IG5ldyBsaW5rLlxyXG4kcmVxdWVzdC1uZXctbGluay1oZWFkaW5nLWNvbG91cjogbWFwLWdldCgkYWNjZW50LWNvbG91ci0xLCAyKSAhZGVmYXVsdDtcclxuJHJlcXVlc3QtbmV3LWxpbmstaGVhZGluZy1mb250LXNpemU6IDIyICFkZWZhdWx0O1xyXG4kcmVxdWVzdC1uZXctbGluay1oZWFkaW5nLWZvbnQtd2VpZ2h0OiA0MDAgIWRlZmF1bHQ7XHJcbiRyZXF1ZXN0LW5ldy1saW5rLWhlYWRpbmctbWFyZ2luOiAwIDAgMzBweCAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLS0tIExvb2t1cHMgLS0tLS1cclxuLy8gLS0tIFBvc3Rjb2RlIGxvb2t1cCB2MSAoIFNpbmdsZSBGaWVsZCApIC0tLVxyXG4kcGNvZGUtbG9va3VwLWJ1dHRvbi1wYWRkaW5nOiAxMnB4IDEzcHggIWRlZmF1bHQ7XHJcbiRwY29kZS1sb29rdXAtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMSxcclxuICAgIGhvdmVyOiAkY29sb3VyNixcclxuICAgIGFjdGl2ZTogJGNvbG91cjQtMVxyXG4pICFkZWZhdWx0O1xyXG4kcGNvZGUtbG9va3VwLWJ1dHRvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIyLFxyXG4gICAgaG92ZXI6ICRjb2xvdXIxLFxyXG4gICAgYWN0aXZlOiAkY29sb3VyMVxyXG4pICFkZWZhdWx0O1xyXG4kcGNvZGUtbG9va3VwLWJ1dHRvbi1ib3JkZXItY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMy0zLFxyXG4gICAgaG92ZXI6ICRjb2xvdXI2XHJcbikgIWRlZmF1bHQ7XHJcbiRsb29rdXBzLXJlc3VsdHMtaGlnaGxpZ2h0ZWQtdGV4dC1lbmFibGVkOiB0cnVlICFkZWZhdWx0O1xyXG4vLyAtLS0gTXVsdGkgRmllbGQgTG9va3VwIC0tLVxyXG4kbXVsdGktb3B0aW9uLWxvb2t1cC1xdWljay1vcmRlci1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogMTVweCxcclxuICAgIG1lZGl1bTogNTBweCA4JSxcclxuICAgIGxhcmdlOiA1MHB4IDExMHB4XHJcbikgIWRlZmF1bHQ7XHJcbiRtdWx0aS1vcHRpb24tbG9va3VwLXF1aWNrLW9yZGVyLWdhcDogKFxyXG4gICAgc21hbGw6IHNtYWxsLXZhbHVlKCRtdWx0aS1vcHRpb24tbG9va3VwLXF1aWNrLW9yZGVyLXBhZGRpbmcpLFxyXG4gICAgbWVkaXVtOiAyNXB4LFxyXG4gICAgbGFyZ2U6IDIwcHhcclxuKSAhZGVmYXVsdDtcclxuJG11bHRpLW9wdGlvbi1sb29rdXAtcXVpY2stb3JkZXItYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI0LTJcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLS0tIEludGVyYWN0aXZlIE1hcCAoIFN0b2NraXN0ICkgLS0tLS1cclxuJGludGVyYWN0aXZlLW1hcC1maWx0ZXItaWNvbi1jb2xvdXI6ICRjb2xvdXI0LTEgIWRlZmF1bHQ7XHJcbi8vIGxvY2F0aW9uIGJ1dHRvbiBwcmltYXJpbHkgdXNlZCBmb3IgdGhlIGdlb2xvY2F0aW9uIGxvb2t1cC5cclxuJGxvY2F0aW9uLWJ1dHRvbi1pY29uLWNvbmZpZzogKFxyXG4gIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGxvY2F0aW9uKSxcclxuICBwb3NpdGlvbjogYWZ0ZXIsXHJcbiAgbWFyZ2luOiAwIDAgMCA0MHB4LFxyXG4gIGNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGludGVyYWN0aXZlLW1hcC1maWx0ZXItaWNvbi1jb2xvdXIsXHJcbiAgICBob3ZlcjogbWFwLWdldCgkbG9jYXRpb24tYnV0dG9uLWNvbG91ciwgaG92ZXIpLFxyXG4gICAgYWN0aXZlOiBtYXAtZ2V0KCRsb2NhdGlvbi1idXR0b24tY29sb3VyLCBhY3RpdmUpXHJcbiAgKSxcclxuICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQsXHJcbiAgc2l6ZTogMjBweFxyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tLS0gU2l0ZSBNYXAgLS0tLS1cclxuJHNpdGUtbWFwLXBhcmVudC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI0LFxyXG4gICAgaG92ZXI6ICRjb2xvdXI2LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNC0xXHJcbikgIWRlZmF1bHQ7XHJcbiRzaXRlLW1hcC1wYXJlbnQtZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcclxuJHNpdGUtbWFwLXJ1bGUtcGFyZW50LXNlcGVyYXRvcjogJGhlYWRpbmctcnVsZS1jb2xvdXIgIWRlZmF1bHQ7XHJcblxyXG5cclxuLy8gLS0tLS0gU2l0ZSBMaXN0IC0tLS0tLVxyXG4kc2l0ZS1saXN0LWl0ZW0tcGFkZGluZzogMjBweCAhZGVmYXVsdDtcclxuJHNpdGUtbGlzdC1pdGVtLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMy01LFxyXG4gICAgaG92ZXI6ICRjb2xvdXIxXHJcbikgIWRlZmF1bHQ7XHJcbiRzaXRlLWxpc3QtbG9nby1ib3JkZXItd2lkdGg6IDJweCAhZGVmYXVsdDtcclxuJHNpdGUtbGlzdC1sb2dvLW1hcmdpbjogMCAwIDIwcHggIWRlZmF1bHQ7XHJcbiRzaXRlLWxpc3QtdGFibGUtbG9nby1tYXJnaW46IChcclxuICAgIHNtYWxsOiAkc2l0ZS1saXN0LWxvZ28tbWFyZ2luLFxyXG4gICAgbGFyZ2U6ICRzaXRlLWxpc3QtbG9nby1ib3JkZXItd2lkdGhcclxuKSAhZGVmYXVsdDtcclxuJHNpdGUtbGlzdC1sb2dvLXBhZGRpbmc6IDMwcHggIWRlZmF1bHQ7XHJcbiRzaXRlLWxpc3QtdGFibGUtbG9nby1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogJHNpdGUtbGlzdC1sb2dvLXBhZGRpbmcsXHJcbiAgICBsYXJnZTogMTBweFxyXG4pICFkZWZhdWx0O1xyXG4kc2l0ZS1saXN0LWxvZ28tYmFja2dyb3VuZC1jb2xvdXI6ICRjb2xvdXIzLTEgIWRlZmF1bHQ7XHJcbiRzaXRlLWxpc3QtbG9nby1ib3JkZXI6ICRzaXRlLWxpc3QtbG9nby1ib3JkZXItd2lkdGggc29saWQgJGNvbG91cjEgIWRlZmF1bHQ7XHJcbiRzaXRlLWxpc3QtdGFibGUtbG9nby13aWR0aDogKFxyXG4gICAgc21hbGw6IDEwMCUsXHJcbiAgICBsYXJnZTogMTEwcHhcclxuKSAhZGVmYXVsdDtcclxuJHNpdGUtbGlzdC1pdGVtLWhlYWRlci1zZXBlcmF0b3ItcnVsZS1tYXJnaW46IDEwcHggMCAxNXB4ICFkZWZhdWx0O1xyXG4kc2l0ZS1saXN0LWRlc2NyaXB0aW9uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjQsXHJcbiAgICBob3ZlcjogJGNvbG91cjYsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXIzLTZcclxuKSAhZGVmYXVsdDtcclxuJHNpdGUtbGlzdC1kZXNjcmlwdGlvbi1mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xyXG4vLyBUaGlzIGlzIGZvciBjYXJkIHZpZXcgYW5kIHRhYmxlIGluIG1vYmlsZSAoIGkuZSBub3QgZGVza3RvcCB0YWJsZSApLlxyXG4kc2l0ZS1saXN0LWRlc2NyaXB0aW9uLWZvbnQtc2l6ZTogMTcgIWRlZmF1bHQ7XHJcbiRzaXRlLWxpc3QtZW52aXJvbm1lbnQtZm9udC1zdHlsZTogaXRhbGljICFkZWZhdWx0O1xyXG4kc2l0ZS1saXN0LXRpbWUtZm9udC1zdHlsZTogaXRhbGljICFkZWZhdWx0O1xyXG4kc2l0ZS1saXN0LXNpdGUtb3B0aW9uLWxhYmVsLXdpZHRoOiA0MCUgIWRlZmF1bHQ7XHJcbiRzaXRlLWxpc3Qtc2l0ZS1vcHRpb24tbGFiZWwtY29sb3VyOiAkYm9keS1mb250LWNvbG91ciAhZGVmYXVsdDtcclxuJHNpdGUtbGlzdC1zaXRlLW9wdGlvbi1sYWJlbC13ZWlnaHQ6IDYwMCAhZGVmYXVsdDtcclxuJHNpdGUtbGlzdC1zaXRlLW9wdGlvbi10aW1lLW1hcmdpbi1sZWZ0OiAoXHJcbiAgICBzbWFsbDogMTVweCxcclxuICAgIGxhcmdlOiAxNXB4XHJcbikgIWRlZmF1bHQ7XHJcbiRzaXRlLWxpc3QtYnV0dG9uLW1hcmdpbjogKFxyXG4gICAgc21hbGw6IDMwcHggMCAwLFxyXG4gICAgbGFyZ2U6IDBcclxuKSAhZGVmYXVsdDtcclxuJHNpdGUtbGlzdC1idXR0b25zLXBhZGRpbmc6IDEwcHggMTVweCAhZGVmYXVsdDtcclxuJHNpdGUtbGlzdC1idXR0b25zLWZvbnQtc2l6ZTogMTMgIWRlZmF1bHQ7XHJcbiRzaXRlLWxpc3QtYnV0dG9ucy1nYXA6IChcclxuICAgIHNtYWxsOiAyMHB4LFxyXG4gICAgbGFyZ2U6IDE1cHhcclxuKSAhZGVmYXVsdDtcclxuJHNpdGUtbGlzdC10YWJsZS1idXR0b25zLWdhcDogKFxyXG4gICAgc21hbGw6IHNtYWxsLXZhbHVlKCRzaXRlLWxpc3QtYnV0dG9ucy1nYXApLFxyXG4gICAgbGFyZ2U6IDEwcHhcclxuKSAhZGVmYXVsdDtcclxuXHJcbiRzaXRlLWxpc3Qtc2l0ZS1vcHRpb24tZm9udC1zaXplOiAxNCAhZGVmYXVsdDtcclxuLy8gLS0tLS0gQXhpcyBTZWN0aW9ucyAtLS0tLVxyXG4kYXhpcy1zZWN0aW9ucy1oZWFkZXItZm9udC1zaXplOiAxNHB4ICFkZWZhdWx0O1xyXG4kYXhpcy1zZWN0aW9ucy1oZWFkZXItc3RhdHVzLWljb24tc2l6ZTogMThweCAhZGVmYXVsdDtcclxuXHJcblxyXG4vLyAtLS0tLSBZb3VyIEFjY291bnQgLS0tLS0gXHJcbiRhY2NvdW50LXBhZ2VzLWl0ZW0tZ3JpZC1tYXJnaW46IDA7XHJcbiRhY2NvdW50LXNlY3Rpb24taXRlbS1wYWRkaW5nOiAyMHB4ICFkZWZhdWx0O1xyXG4kYWNjb3VudC1mdW5jdGlvbi12aWRlb3MtaWNvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IHZhcigtLXdoaXRlLWNvbG91ciksXHJcbiAgICBob3ZlcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTApXHJcbikgIWRlZmF1bHQ7XHJcbiRhY2NvdW50LWZ1bmN0aW9uLXZpZGVvcy1pY29uLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMCksXHJcbiAgICBob3ZlcjogdmFyKC0td2hpdGUtY29sb3VyKVxyXG4pICFkZWZhdWx0O1xyXG4vLyBUT0RPOiBuYW1pbmcgY29udmVudGlvbnMgbmVlZCB0byBiZSByZWRvbmUgYXMgdGhpcyBpcyBubyBsb25nZXIgYWNjb3VudCBzcGVjaWZpYyBmdW5jdGlvbmFsaXR5LlxyXG4kYWNjb3VudC1wYWdlLWl0ZW0tYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIzLTUsXHJcbiAgICBkZWZhdWx0LWFsdDogJGNvbG91cjQsXHJcbiAgICBob3ZlcjogJGNvbG91cjEsXHJcbiAgICBob3Zlci1hbHQ6ICRjb2xvdXIxLFxyXG4gICAgYWN0aXZlOiAkY29sb3VyMy0xLFxyXG4gICAgYWN0aXZlLWFsdDogJGNvbG91cjZcclxuKSAhZGVmYXVsdDtcclxuXHJcblxyXG4kc3RpY2t5LWJ1dHRvbnMtYnV0dG9uLWNvbG91cjogKFxyXG4gICAgc21hbGw6IChcclxuICAgICAgICBkZWZhdWx0OiAkY29sb3VyMSxcclxuICAgICAgICBob3ZlcjogJGNvbG91cjEsXHJcbiAgICAgICAgYWN0aXZlOiAkY29sb3VyMy02LFxyXG4gICAgICAgIGRpc2FibGVkOiBkaXNhYmxlZC1jb2xvdXIoJGlucHV0LWNvbG91cilcclxuICAgICksXHJcbiAgICBsYXJnZTogKFxyXG4gICAgICAgIGRlZmF1bHQ6ICRjb2xvdXIzLTYsXHJcbiAgICAgICAgaG92ZXI6ICRjb2xvdXIxLFxyXG4gICAgICAgIGFjdGl2ZTogJGNvbG91cjFcclxuICAgIClcclxuKSAhZGVmYXVsdDtcclxuXHJcbiRzdGlja3ktYnV0dG9ucy1idXR0b24taWNvbi1jb2xvdXI6IChcclxuICAgIHNtYWxsOiAoXHJcbiAgICAgICAgZGVmYXVsdDogZGVmYXVsdC1jb2xvdXIoc21hbGwtdmFsdWUoJHN0aWNreS1idXR0b25zLWJ1dHRvbi1jb2xvdXIpKSxcclxuICAgICAgICBob3ZlcjogaG92ZXItY29sb3VyKHNtYWxsLXZhbHVlKCRzdGlja3ktYnV0dG9ucy1idXR0b24tY29sb3VyKSksXHJcbiAgICAgICAgYWN0aXZlOiBhY3RpdmUtY29sb3VyKHNtYWxsLXZhbHVlKCRzdGlja3ktYnV0dG9ucy1idXR0b24tY29sb3VyKSksXHJcbiAgICAgICAgZGlzYWJsZWQ6IGRpc2FibGVkLWNvbG91cihzbWFsbC12YWx1ZSgkc3RpY2t5LWJ1dHRvbnMtYnV0dG9uLWNvbG91cikpXHJcbiAgICApLFxyXG4gICAgbGFyZ2U6IChcclxuICAgICAgICBkZWZhdWx0OiAkY29sb3VyNCxcclxuICAgICAgICBob3ZlcjogaG92ZXItY29sb3VyKGxhcmdlLXZhbHVlKCRzdGlja3ktYnV0dG9ucy1idXR0b24tY29sb3VyKSksXHJcbiAgICAgICAgYWN0aXZlOiBhY3RpdmUtY29sb3VyKGxhcmdlLXZhbHVlKCRzdGlja3ktYnV0dG9ucy1idXR0b24tY29sb3VyKSlcclxuICAgIClcclxuKSAhZGVmYXVsdDtcclxuXHJcbiRzdGlja3ktYnV0dG9ucy1idXR0b24tYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIHNtYWxsOiAoXHJcbiAgICAgICAgZGVmYXVsdDogJGNvbG91cjQsXHJcbiAgICAgICAgaG92ZXI6ICRjb2xvdXI2LFxyXG4gICAgICAgIGFjdGl2ZTogJGNvbG91cjEsXHJcbiAgICAgICAgZGlzYWJsZWQ6ICRjb2xvdXIzXHJcbiAgICApLFxyXG4gICAgbGFyZ2U6IChcclxuICAgICAgICBkZWZhdWx0OiAkY29sb3VyMSxcclxuICAgICAgICBob3ZlcjogJGNvbG91cjQsXHJcbiAgICAgICAgYWN0aXZlOiAkY29sb3VyNlxyXG4gICAgKVxyXG4pICFkZWZhdWx0O1xyXG5cclxuXHJcbi8vIFJlcGxhY2VtZW50IGZvciB0aGUgYWJvdmUsIG1hbmFnZSBjYWxscyBzdGlja3kgYnV0dG9ucyB3aWxsIG5lZWQgdG8gcmV3b3JrIHRvIHJlbW92ZSBkZXBlbmRhbmN5IG9uICRhY2NvdW50LXBhZ2UtaXRlbS1iYWNrZ3JvdW5kLlxyXG4kYWNjb3VudC1zZWN0aW9uLWl0ZW0tYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IGRlZmF1bHQtY29sb3VyKCRhY2NvdW50LXBhZ2UtaXRlbS1iYWNrZ3JvdW5kLWNvbG91ciksXHJcbiAgICBob3ZlcjogJGNvbG91cjRcclxuKSAhZGVmYXVsdDtcclxuJGFjY291bnQtc2VjdGlvbi1pdGVtLWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xyXG4kYWNjb3VudC1zZWN0aW9uLWl0ZW0tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkYm9keS1mb250LWNvbG91cixcclxuICAgIGhvdmVyOiAkY29sb3VyMSxcclxuICAgIGFjdGl2ZTogJGNvbG91cjMtM1xyXG4pICFkZWZhdWx0O1xyXG4kYWNjb3VudC1zZWN0aW9uLWl0ZW0tYm9yZGVyLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogZGVmYXVsdC1jb2xvdXIoJGFjY291bnQtc2VjdGlvbi1pdGVtLWJhY2tncm91bmQtY29sb3VyKSxcclxuICAgIGhvdmVyOiBob3Zlci1jb2xvdXIoJGFjY291bnQtc2VjdGlvbi1pdGVtLWJhY2tncm91bmQtY29sb3VyKVxyXG4pICFkZWZhdWx0O1xyXG5cclxuXHJcbiRhY2NvdW50LXBhZ2UtaXRlbS1wYWRkaW5nOiAwIDAgMjBweCAhZGVmYXVsdDsgXHJcbiRhY2NvdW50LXBhZ2UtaXRlbS1hbmNob3ItcGFkZGluZzogMzVweCAyMHB4IDMwcHggIWRlZmF1bHQ7XHJcbiRhY2NvdW50LXBhZ2UtaXRlbS1mb250LXdlaWdodDogKFxyXG4gICAgYWNjb3VudC1wYWdlOiA3MDAsXHJcbiAgICBhY2NvdW50LW1lbnU6IDYwMFxyXG4pICFkZWZhdWx0O1xyXG4kYWNjb3VudC1wYWdlLWl0ZW0tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMy02LFxyXG4gICAgZGVmYXVsdC1hbHQ6ICRjb2xvdXIxLFxyXG4gICAgaG92ZXI6ICRjb2xvdXI2LFxyXG4gICAgaG92ZXItYWx0OiAkY29sb3VyNCxcclxuICAgIGFjdGl2ZTogJGNvbG91cjMtMyxcclxuICAgIGFjdGl2ZS1hbHQ6ICRjb2xvdXIxLFxyXG4gICAgZGlzYWJsZWQ6IG1hcC1nZXQoJGlucHV0LWNvbG91ciwgZGlzYWJsZWQpXHJcbikgIWRlZmF1bHQ7XHJcbi8vIFJlcGxhY2VtZW50IGZvciB0aGUgYWJvdmUsIG1hbmFnZSBjYWxscyBzdGlja3kgYnV0dG9ucyB3aWxsIG5lZWQgdG8gcmV3b3JrIHRvIHJlbW92ZSBkZXBlbmRhbmN5IG9uICRhY2NvdW50LXBhZ2UtaXRlbS1jb2xvdXIuXHJcbiRhY2NvdW50LXNlY3Rpb24taXRlbS1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IGRlZmF1bHQtY29sb3VyKCRhY2NvdW50LXBhZ2UtaXRlbS1jb2xvdXIpLFxyXG4gICAgaG92ZXI6IGhvdmVyLWNvbG91cigkYWNjb3VudC1wYWdlLWl0ZW0tY29sb3VyKVxyXG4pICFkZWZhdWx0O1xyXG4kYWNjb3VudC1wYWdlLWl0ZW0taWNvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI0LFxyXG4gICAgZGVmYXVsdC1hbHQ6ICRjb2xvdXIxLFxyXG4gICAgaG92ZXI6IG1hcC1nZXQoJGFjY291bnQtcGFnZS1pdGVtLWNvbG91ciwgaG92ZXIpLFxyXG4gICAgaG92ZXItYWx0OiBtYXAtZ2V0KCRhY2NvdW50LXBhZ2UtaXRlbS1jb2xvdXIsIGhvdmVyLWFsdCksXHJcbiAgICBhY3RpdmU6IG1hcC1nZXQoJGFjY291bnQtcGFnZS1pdGVtLWNvbG91ciwgYWN0aXZlKSxcclxuICAgIGFjdGl2ZS1hbHQ6IG1hcC1nZXQoJGFjY291bnQtcGFnZS1pdGVtLWNvbG91ciwgYWN0aXZlLWFsdCksXHJcbiAgICBkaXNhYmxlZDogbWFwLWdldCgkYWNjb3VudC1wYWdlLWl0ZW0tY29sb3VyLCBkaXNhYmxlZClcclxuKSAhZGVmYXVsdDtcclxuLy8gUmVwbGFjZW1lbnQgZm9yIHRoZSBhYm92ZSwgbWFuYWdlIGNhbGxzIHN0aWNreSBidXR0b25zIHdpbGwgbmVlZCB0byByZXdvcmsgdG8gcmVtb3ZlIGRlcGVuZGFuY3kgb24gJGFjY291bnQtcGFnZS1pdGVtLWljb24tY29sb3VyXHJcbiRhY2NvdW50LXNlY3Rpb24taXRlbS1pY29uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTApLFxyXG4gICAgaG92ZXI6IHZhcigtLXNlY29uZGFyeS1jb2xvdXItbGlnaHRuZXNzLTApXHJcbikgIWRlZmF1bHQ7XHJcbi8vIElmIHRoZSBwcmltYXJ5IGNvbG91ciBkb2VzIG5vdCBjb250cmFzdCBhZ2FpbnN0IHRoZSB0ZXh0IHNldCB0aGlzIHRvIHRydWUuXHJcbiRhY2NvdW50LXNlY3Rpb24taXRlbS1pY29uLXVzZS1zZWNvbmRhcnktY29sb3VyOiBmYWxzZSAhZGVmYXVsdDtcclxuXHJcblxyXG4vLyBUT0RPOiBvbmNlIHRoZSBvbGQgYWNjb3VudCBncmlkIGhhcyBiZWVuIHJlcGxhY2Ugd2l0aCB0aGUgbmV3IHNlY29uZCB0aGlzIGNhbiBkby5cclxuJGFjY291bnQtcGFnZS1pdGVtLWljb24tc2l6ZTogKFxyXG4gICAgY2hhbmdlLWRldGFpbHM6IDQ1cHgsXHJcbiAgICBjaGFuZ2UtcGFzc3dvcmQ6IDEzcHgsXHJcbiAgICBjb250cmFjdC1pdGVtczogNjVweCxcclxuICAgIGZhdm91cml0ZXM6IDQ1cHgsXHJcbiAgICB2aWV3LW9yZGVyczogNTVweCxcclxuICAgIHJlY2VudGx5LXB1cmNoYXNlZDogNjVweCxcclxuICAgIG1hbmFnZS1jYXJkczogMzVweCxcclxuICAgIHN0YXRlbWVudDogNDVweCxcclxuICAgIG1hbmFnZS11c2VyczogNTVweCxcclxuICAgIGJyYW5jaC1zd2l0Y2hlcjogNjBweCxcclxuICAgIGNvbnRhY3QtcHJlZmVyZW5jZXM6IDYwcHgsXHJcbiAgICBoaXN0b3JpY2FsLXRyYW5zYWN0aW9uczogNjBweCxcclxuICAgIHVwbG9hZC1iYXNrZXQ6IDQ1cHgsXHJcbiAgICB1cGxvYWQtb3JkZXI6IDQ1cHgsXHJcbiAgICBsb2dvdXQ6IDQ1cHgsXHJcbiAgICBtYW5hZ2UtY2FsbHM6IDQ1cHgsXHJcbiAgICBzZXJ2aWNlLWNvbnRyYWN0czogNDVweCxcclxuICAgIGN1c3RvbWVyLWFzc2V0czogNDVweCxcclxuICAgIHBheW1lbnQtcmVxdWVzdHM6IDQ1cHgsXHJcbiAgICBkb3dubG9hZC1wcmljZS1saXN0czogNDVweCxcclxuICAgIHNpdGUtbGlzdDogNDVweCxcclxuICAgIGRpcGxvbWF0LXVwZGF0ZS1kb3dubG9hZDogNDVweCxcclxuICAgIGRpcGxvbWF0LXVwZGF0ZS1kYXRhYmFzZTogNDVweCxcclxuICAgIGRlZmF1bHQtaWNvbjogNDVweCxcclxuICAgIG9ubGluZS1kb2N1bWVudGF0aW9uOiA0NXB4XHJcbikgIWRlZmF1bHQ7XHJcblxyXG4kYWNjb3VudC1zZWN0aW9ucy1pY29uLXNpemU6IChcclxuICAgIGRlZmF1bHQ6IDMwcHgsXHJcbiAgICBjaGFuZ2UtcGFzc3dvcmQ6IDhweCxcclxuICAgIGNoYW5nZS1kZXRhaWxzOiAyNXB4LFxyXG4gICAgbWFuYWdlLWNhcmRzOiAyM3B4LFxyXG4gICAgZGlwbG9tYXQtdXBkYXRlLWRvd25sb2FkOiAyNXB4LFxyXG4gICAgbG9nb3V0OiAyNXB4XHJcbikgIWRlZmF1bHQ7XHJcblxyXG5cclxuLy8gLS0tIFZpZXcgT3JkZXIgLS0tXHJcbiRwcmljZS1kcm9wLWZvbnQtc2l6ZTogMTEgIWRlZmF1bHQ7XHJcbiRwcmljZS1kcm9wLWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XHJcbiRwcmljZS1kcm9wLXRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWRlZmF1bHQ7XHJcbiRwcmljZS1kcm9wLWNvbG91cjogJGNvbG91cjQgIWRlZmF1bHQ7XHJcbiRwcmljZS1kcm9wLWFycm93LWNvbG91cjogbWFwLWdldCgkYWNjZW50LWNvbG91ci0xLCAyKSAhZGVmYXVsdDtcclxuJHZpZXctb3JkZXItZGV0YWlscy1ndXR0ZXI6IChcclxuICAgIHNtYWxsOiAyMHB4XHJcbikgIWRlZmF1bHQ7XHJcbiR2aWV3LW9yZGVyLWRldGFpbHMtYmFja2dyb3VuZC1jb2xvdXI6ICRjb2xvdXIzLTUgIWRlZmF1bHQ7XHJcbiR2aWV3LW9yZGVyLWRldGFpbHMtd2lkdGg6IChcclxuICAgIHNtYWxsOiAxMDAlLFxyXG4gICAgbGFyZ2U6IGF1dG9cclxuKSAhZGVmYXVsdDtcclxuJHZpZXctb3JkZXItZGV0YWlscy1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogMTVweCAyMHB4LFxyXG4gICAgbGFyZ2U6IDMwcHggNDBweFxyXG4pICFkZWZhdWx0O1xyXG4kdmlldy1vcmRlci1kZXRhaWxzLWhlYWRpbmctZm9udC1zaXplOiAyMiAhZGVmYXVsdDtcclxuJHZpZXctb3JkZXItZGV0YWlscy1oZWFkaW5nLWZvbnQtd2VpZ2h0OiA0MDAgIWRlZmF1bHQ7XHJcbiR2aWV3LW9yZGVyLWRldGFpbHMtZm9udC1zaXplOiAxNCAhZGVmYXVsdDtcclxuJHZpZXctb3JkZXItZGV0YWlscy1jb2xvdXI6ICRjb2xvdXI0ICFkZWZhdWx0O1xyXG4kdmlldy1vcmRlci1kZXRhaWxzLWxhYmVsOiAoXHJcbiAgICBzbWFsbDogMTAwJSxcclxuICAgIGxhcmdlOiAxNzBweFxyXG4pICFkZWZhdWx0O1xyXG4kdmlldy1vcmRlci1kZXRhaWxzLWxhYmVsLWZvbnQtd2VpZ2h0OiAkZGVmYXVsdC1sYWJlbC1mb250LXdlaWdodCAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLSBNYW5hZ2UgQ2FsbHMgLS0tIFxyXG4kY2FsbC1lbnF1aXJ5LWljb24tc2l6ZTogMTRweCAhZGVmYXVsdDtcclxuJGNhbGwtZW5xdWlyeS1pY29uLWNvbG91cjogJGNvbG91cjQtMiAhZGVmYXVsdDtcclxuJGNhbGwtZW5xdWlyeS1oZWFkZXItYmFja2dyb3VuZC1jb2xvdXI6ICR2aWV3LW9yZGVyLWRldGFpbHMtYmFja2dyb3VuZC1jb2xvdXIgIWRlZmF1bHQ7XHJcbiRjYWxsLWVucXVpcnktaGVhZGluZy10ZXh0LXRyYW5zZm9ybTogbm9uZSAhZGVmYXVsdDtcclxuJGNhbGwtZW5xdWlyeS1oZWFkaW5nLWZvbnQtc2l6ZTogJGF4aXMtc2VjdGlvbnMtaGVhZGVyLWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuJGNhbGwtZW5xdWlyeS1oZWFkaW5nLWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XHJcbiRjYWxsLWVucXVpcnktY29udGVudC1sYWJlbC1jb2xvdXI6ICRjb2xvdXIzLTYgIWRlZmF1bHQ7XHJcbiRtYW5hZ2UtY2FsbHMtdGFibGUtaGVhZGluZy1tYXJnaW46IDEwcHggMCAhZGVmYXVsdDtcclxuLy8gUmF0aW5nLlxyXG4kY2FsbC1yYXRpbmctbGlzdC1pY29uLXNpemU6IDIyLjVweCAhZGVmYXVsdDtcclxuLy8gLS0tIE1hbmFnZSBVc2VycyAtLS1cclxuJHVzZXJzLWZvdW5kLWZvbnQtc2l6ZTogJHBhcmFncmFwaC1mb250LXNpemUgIWRlZmF1bHQ7XHJcbiR1c2Vycy1mb3VuZC1jb3VudC1jb2xvdXI6ICRjb2xvdXI0ICFkZWZhdWx0O1xyXG4vLyBUYWJsZS5cclxuJHVzZXJzLXRib2R5LWZvbnQtc2l6ZTogJHBhcmFncmFwaC1mb250LXNpemUgIWRlZmF1bHQ7XHJcbiR1c2Vycy10Ym9keS1jb250YWN0LWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XHJcbiR1c2Vycy10Ym9keS1jb250YWN0LWNvbG91cjogJGNvbG91cjMtNiAhZGVmYXVsdDtcclxuLy8gUmVtb3ZlIHVzZXIgYnV0dG9uICggbGlzdCApXHJcbiRyZW1vdmUtdXNlcnMtbGlzdC1idXR0b24tZGltZW50aW9uczogMjBweCAhZGVmYXVsdDsgXHJcbiRyZW1vdmUtdXNlcnMtbGlzdC1idXR0b24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMy0zLFxyXG4gICAgaG92ZXI6ICRjb2xvdXI2LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNFxyXG4pICFkZWZhdWx0O1xyXG4vLyBWaWV3IC8gRWRpdCB1c2VyXHJcbiR1c2Vycy1icmFuY2gtc2VsZWN0aW9uLWJ1dHRvbi1pY29uLXNpemU6ICgkbWVudS1kcm9wZG93bi1hcnJvd3Mtc2l6ZSAtIDIpICFkZWZhdWx0O1xyXG4kdXNlcnMtYnJhbmNoLXNlbGVjdGlvbi1idXR0b246IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI0LFxyXG4gICAgaG92ZXI6ICRjb2xvdXI2LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyMy0zXHJcbikgIWRlZmF1bHQ7XHJcbiR1c2Vycy1wb3B1cC1kaW1lbnRpb25zOiAoXHJcbiAgICB3aWR0aDogMTE1MHB4LFxyXG4gICAgaGVpZ2h0OiA3MzBweFxyXG4pICFkZWZhdWx0O1xyXG4kdXNlcnMtcG9wdXAtcGFkZGluZzogMTBweCAhZGVmYXVsdDtcclxuJHVzZXJzLXBvcHVwLWJhY2tncm91bmQtY29sb3VyOiAkY29sb3VyMSAhZGVmYXVsdDtcclxuJHVzZXJzLXBvcHVwLWhlYWRlci1wYWRkaW5nOiAyNXB4IDAgIWRlZmF1bHQ7XHJcbiR1c2Vycy1wb3B1cC1oZWFkZXItY29sb3VyOiAkY29sb3VyMSAhZGVmYXVsdDtcclxuJHVzZXJzLXBvcHVwLWhlYWRlci1iYWNrZ3JvdW5kLWNvbG91cjogJGNvbG91cjQgIWRlZmF1bHQ7XHJcbiR1c2Vycy1wb3B1cC1oZWFkZXItaGVhZGluZy1mb250LXNpemU6IDI1ICFkZWZhdWx0O1xyXG4kdXNlcnMtcG9wdXAtaGVhZGVyLWhlYWRpbmctZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcclxuJHVzZXJzLXBvcHVwLWhlYWRlci10ZXh0LWZvbnQtc2l6ZTogMjIgIWRlZmF1bHQ7XHJcbiR1c2Vycy1wb3B1cC1oZWFkZXItdGV4dC1mb250LXdlaWdodDogNjAwICFkZWZhdWx0O1xyXG4kdXNlcnMtcG9wdXAtdGFibGUtbWF4LXdpZHRoOiAkYm9keS1jb3B5LW1heC13aWR0aCAhZGVmYXVsdDtcclxuJHVzZXJzLXBvcHVwLXRhYmxlLWJyYW5jaC1jb2wtZm9udC1zaXplOiAkcGFyYWdyYXBoLWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuXHJcbi8vIHZpZXcgLyBlZGl0IHVzZXJcclxuJHVzZXJzLXBvcHVwLWRpbWVudGlvbnM6IChcclxuICAgIHdpZHRoOiAxMTUwcHgsXHJcbiAgICBoZWlnaHQ6IDczMHB4XHJcbikgIWRlZmF1bHQ7XHJcbiR1c2Vycy1zZWFyY2gtbWF4LXdpZHRoOiA2MjBweCAhZGVmYXVsdDtcclxuJHVzZXJzLXNlYXJjaC1oZWlnaHQ6ICRoZWFkZXItc2VhcmNoLWhlaWdodCAhZGVmYXVsdDtcclxuLy8gLS0tLS0gQnJhbmNoIHNlbGVjdG9yIC0tLS0tIFxyXG4kYnJhbmNoLXNlbGVjdG9yLWxhYmVsLXdpZHRoOiAxMjBweCAhZGVmYXVsdDtcclxuJGJyYW5jaC1zZWxlY3Rvci1sYWJlbC13ZWlnaHQ6ICR2aWV3LW9yZGVyLWRldGFpbHMtbGFiZWwtZm9udC13ZWlnaHQgIWRlZmF1bHQ7XHJcbiRicmFuY2gtc2VsZWN0b3ItbGFiZWwtY29sb3VyOiAkdmlldy1vcmRlci1kZXRhaWxzLWNvbG91ciAhZGVmYXVsdDtcclxuLy8gLS0tLS0gTWFuYWdlIFBheW1lbnQgQ2FyZHMgLS0tLS0gXHJcbiRjYXJkcy1jYXJkLXR5cGUtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMy0zLFxyXG4gICAgaG92ZXI6ICRjb2xvdXI2LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyMy0xXHJcbikgIWRlZmF1bHQ7XHJcbiRjYXJkcy1yZW1vdmUtY2FyZC1idXR0b24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMy0zLFxyXG4gICAgaG92ZXI6ICRjb2xvdXI2LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNFxyXG4pICFkZWZhdWx0O1xyXG4vLyBQYXltZW50IEZyYW1lLlxyXG4kcGF5bWVudC1mcmFtZS1wb3B1cC1tYXgtd2lkdGg6IDExNTBweCAhZGVmYXVsdDtcclxuJHBheW1lbnQtZnJhbWUtbWF4LXdpZHRoOiA2MzBweCAhZGVmYXVsdDtcclxuLy8gLS0tLS0gU3RhdGVtZW50IC0tLS0tIFxyXG4kc3RhdGVtZW50LWJhbGFuY2UtZm9udC1zaXplOiAoJHBhcmFncmFwaC1mb250LXNpemUgKyAzKSAhZGVmYXVsdDtcclxuJHN0YXRlbWVudC1iYWxhbmNlLWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XHJcbiRzdGF0ZW1lbnQtYmFsYW5jZS1jb2xvdXI6ICRjb2xvdXI0ICFkZWZhdWx0O1xyXG4vLyAtLS0tLSBUb2tlbnMgLS0tLS0gXHJcbiR0b2tlbnMtdGFibGUtcGFkZGluZzogMjAwcHggIWRlZmF1bHQ7XHJcbi8vIC0tLS0tIFBhZ2Ugc2VjdGlvbiBjb2xvdXJzIC0tLS0tXHJcbiRzZWN0aW9ucy1iYWNrZ3JvdW5kLWNvbG91cnM6ICgpICFkZWZhdWx0O1xyXG4vLyAtLS0tLSBQYWdlIGJhY2tncm91bmQgY29sb3VycyAtLS0tLSBcclxuJHBhZ2UtYmFja2dyb3VuZC1jb2xvdXJzOiAoKSAhZGVmYXVsdDtcclxuLy8gLS0tLS0gUGFnZSBiYWNrZ3JvdW5kIGltYWdlcyAtLS0tLVxyXG4kcGFnZS1iYWNrZ3JvdW5kLWltYWdlczogKCkgIWRlZmF1bHQ7XHJcblxyXG4vLy0tLS0tIEZvb3RlciAtLS0tLSBcclxuLy8gSWYgdXNpbmcgRm9vdGVyIGxheW91dCAyIHRoZW4geW91IGNhbiB1c2UgdGhpcyB0byBxdWlja2x5IGNlbnRlcmFsaXNlLlxyXG4kZm9vdGVyLWNvbnRlbnQtY2VudGVyYWxpc2U6IGZhbHNlICFkZWZhdWx0O1xyXG4kZm9vdGVyLXNlcGVyYXRvcjogZmFsc2UgIWRlZmF1bHQ7XHJcbiRmb290ZXItc2VwZXJhdG9yLXRvcDogZmFsc2UgIWRlZmF1bHQ7XHJcbiRmb290ZXItc2VwZXJhdG9yLWhlaWdodDogMTBweCAhZGVmYXVsdDtcclxuJGZvb3Rlci1zZXBlcmF0b3ItYmFja2dyb3VuZC1jb2xvdXI6ICRjb2xvdXI0ICFkZWZhdWx0O1xyXG4kZm9vdGVyLXNlcGVyYXRvci1iYWNrZ3JvdW5kLWltYWdlOiBcIi9jb250ZW50L2ltYWdlcy9mb290ZXItc2VwZXJhdG9yLWJhY2tncm91bmQtaW1hZ2UucG5nXCIgIWRlZmF1bHQ7XHJcblxyXG5cclxuJGZvb3Rlci1iYWNrZ3JvdW5kLXNlcGVyYXRvcjogZmFsc2UgIWRlZmF1bHQ7XHJcbiRmb290ZXItYmFja2dyb3VuZC1zZXBlcmF0b3Itc2l6ZTogNHB4ICFkZWZhdWx0O1xyXG4kZm9vdGVyLWJhY2tncm91bmQtc2VwZXJhdG9yLWNvbG91cjogJGNvbG91cjQgIWRlZmF1bHQ7XHJcbi8vIEZvb3RlciBncmlkICggY29udGVudCBjb250YWluZXIgKVxyXG4kZm9vdGVyLWdyaWQtd2lkdGg6ICRnbG9iYWwtd2lkdGggIWRlZmF1bHQ7XHJcbiRmb290ZXItZ3JpZC1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogbnVsbCxcclxuICAgIG1lZGl1bTogbnVsbCxcclxuICAgIGxhcmdlOiBudWxsXHJcbikgIWRlZmF1bHQ7XHJcbiRmb290ZXItYmFja2dyb3VuZDogZmFsc2UgIWRlZmF1bHQ7XHJcbiRmb290ZXItYmFja2dyb3VuZC10b3A6IHRydWUgIWRlZmF1bHQ7XHJcbiRmb290ZXItYmFja2dyb3VuZC11cmw6IChcclxuICAgIHNtYWxsOiAnaHR0cHM6Ly9waWNzdW0ucGhvdG9zL2lkLzEzLzMyMC81MDAnLFxyXG4gICAgbGFyZ2U6ICdodHRwczovL3BpY3N1bS5waG90b3MvaWQvMTMvMTMwMC8zMDAnXHJcbikgIWRlZmF1bHQ7XHJcbiRmb290ZXItYmFja2dyb3VuZC1oZWlnaHQ6IChcclxuICAgIHNtYWxsOiA1MDBweCxcclxuICAgIGxhcmdlOiAzMDBweFxyXG4pICFkZWZhdWx0O1xyXG4kZm9vdGVyLWJhY2tncm91bmQtbWFyZ2luLXRvcDogMjVweCAhZGVmYXVsdDtcclxuJGZvb3Rlci1ncmFkaWFudDogbnVsbCAhZGVmYXVsdDtcclxuJGZvb3Rlci1vdXRlci1jb250YWluZXItYmFja2dyb3VuZC1jb2xvdXI6ICRjb2xvdXIzICFkZWZhdWx0O1xyXG4kZm9vdGVyLW1hcmdpbi10b3A6IDUwcHggIWRlZmF1bHQ7XHJcbiRmb290ZXItcGFkZGluZzogKFxyXG4gICAgc21hbGw6IDIwcHggMTBweCxcclxuICAgIG1lZGl1bTogNzBweCAxMHB4IDIwcHgsXHJcbiAgICBsYXJnZTogNzBweCAwIDIwcHhcclxuKSAhZGVmYXVsdDtcclxuJGZvb3Rlci1wcm9tb3Rpb25zLW1heC13aWR0aDogKFxyXG4gICAgc21hbGw6IDEwMCUsXHJcbiAgICBsYXJnZTogNTAlXHJcbikgIWRlZmF1bHQ7XHJcbi8vIFR5cGljYWxseSB0aGlzIGdlbmVyYWxseSBkb2Vzbid0IG5lZWQgdG8gYmUgc2V0IGR1ZSB0byBhbGxvd2luZyB0aGUgY29udGVudCBkZWZpbmUgdGhlIHdpZHRoLlxyXG4kZm9vdGVyLXByb21vdGlvbnMtd2lkdGg6IG51bGwgIWRlZmF1bHQ7XHJcbiRmb290ZXItcHJvbW90aW9ucy1tYXJnaW46IChcclxuICAgIHNtYWxsOiAwLFxyXG4gICAgbGFyZ2U6IDBcclxuKSAhZGVmYXVsdDtcclxuJGZvb3Rlci1wcm9tb3Rpb25zLXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiAwLFxyXG4gICAgbGFyZ2U6IDBcclxuKSAhZGVmYXVsdDtcclxuJGZvb3Rlci1wcm9tb3Rpb25zLW9yZGVyOiAoXHJcbiAgICBtYWlsaW5nLWxpc3Q6IDEsXHJcbiAgICBzb2NpYWwtaWNvbnM6IDIsXHJcbiAgICB0ZXh0ZGI6IDNcclxuKSAhZGVmYXVsdDtcclxuJGZvb3Rlci1wcm9tb3Rpb25zLWZsZXgtZGlyZWN0aW9uOiAoXHJcbiAgICBzbWFsbDogY29sdW1uLFxyXG4gICAgbGFyZ2U6IG51bGxcclxuKSAhZGVmYXVsdDtcclxuJGZvb3Rlci1wcm9tb3Rpb25zLWdhcDogKFxyXG4gICAgc21hbGw6IG51bGwsXHJcbiAgICBsYXJnZTogbnVsbFxyXG4pICFkZWZhdWx0O1xyXG4kZm9vdGVyLXByb21vdGlvbnMtYWxpZ24taXRlbXM6IChcclxuICAgIHNtYWxsOiBudWxsLFxyXG4gICAgbGFyZ2U6IGlmKCRmb290ZXItY29udGVudC1jZW50ZXJhbGlzZSwgY2VudGVyLCBudWxsKVxyXG4pICFkZWZhdWx0O1xyXG4kZm9vdGVyLWJhbm5lcnMtY29udGFpbmVyLWNvbnRlbnQtaGVhZGVyLWJhY2tncm91bmQtY29sb3VyOiBudWxsICFkZWZhdWx0O1xyXG4vLyAtLS0gQmFjayB0byBUb3AgLS0tXHJcbiRiYWNrLXRvLXRvcC1pY29uLXNpemU6IChcclxuICAgIHNtYWxsOiAxN3B4LFxyXG4gICAgbGFyZ2U6IDIycHhcclxuKSAhZGVmYXVsdDtcclxuJGJhY2stdG8tdG9wLWJ1dHRvbi13aWR0aDogKFxyXG4gICAgc21hbGw6IDUwcHgsXHJcbiAgICBsYXJnZTogNTBweFxyXG4pICFkZWZhdWx0O1xyXG4kYmFjay10by10b3AtYnV0dG9uLWhlaWdodDogKFxyXG4gICAgc21hbGw6IDUwcHgsXHJcbiAgICBsYXJnZTogNjBweFxyXG4pICFkZWZhdWx0O1xyXG5cclxuJGJhY2stdG8tdG9wLXBvc2l0aW9uLXJpZ2h0OiB0cnVlICFkZWZhdWx0O1xyXG4kYmFjay10by10b3AtZGlzdGFuY2UtZnJvbS1lZGdlOiAoXHJcbiAgICBzbWFsbDogMTBweCxcclxuICAgIGxhcmdlOiAzMHB4XHJcbikgIWRlZmF1bHQ7XHJcbiRiYWNrLXRvLXRvcC1ib3JkZXItcmFkaXVzOiAxMHB4ICFkZWZhdWx0O1xyXG4kYmFjay10by10b3AtYnV0dG9uLWdyYWRpYW50OiBudWxsICFkZWZhdWx0O1xyXG4kYmFjay10by10b3AtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNC02LFxyXG4gICAgaG92ZXI6ICRjb2xvdXI0LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNlxyXG4pICFkZWZhdWx0O1xyXG4kYmFjay10by10b3AtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNCxcclxuICAgIGhvdmVyOiAkY29sb3VyMSxcclxuICAgIGFjdGl2ZTogJGNvbG91cjFcclxuKSAhZGVmYXVsdDtcclxuJGJhY2stdG8tdG9wLWJvcmRlci1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IGRlZmF1bHQtY29sb3VyKCRiYWNrLXRvLXRvcC1jb2xvdXIpLFxyXG4gICAgaG92ZXI6IGhvdmVyLWNvbG91cigkYmFjay10by10b3AtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyKSxcclxuICAgIGFjdGl2ZTogYWN0aXZlLWNvbG91cigkYmFjay10by10b3AtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyKVxyXG4pICFkZWZhdWx0O1xyXG5cclxuXHJcbi8vIC0tLSBMaXN0IC0tLSBcclxuJGZvb3Rlci1saXN0LWdhcDogKFxyXG4gICAgc21hbGw6IG51bGwsXHJcbiAgICBsYXJnZTogbnVsbFxyXG4pICFkZWZhdWx0O1xyXG4kZm9vdGVyLW5hdmlnaWF0aW9uLWp1c3RpZnktY29udGVudDogZmxleC1zdGFydCAhZGVmYXVsdDtcclxuLy8gUmV2ZXJzZSBmb290ZXIgbGlzdCAmIHNvY2lhbHMgZWxlbWVudHMgb3JkZXIuXHJcbiRmb290ZXItbGlzdC1vcmRlcjogMSAhZGVmYXVsdDtcclxuJGZvb3Rlci1wcm9tb3Rpb24tYXJlYS1vcmRlcjogMiAhZGVmYXVsdDtcclxuLy8gVE9ETzogQ2FuIGdvIGFmdGVyIGZvb3RlciAyLjBcclxuJGZvb3Rlci1saXN0LXJldmVyc2Utb3JkZXI6IGZhbHNlICFkZWZhdWx0O1xyXG4vLyBUT0RPOiBDYW4gZ28gYWZ0ZXIgZm9vdGVyIDIuMFxyXG4kZm9vdGVyLWxpc3QtanVzdGlmeS1jb250ZW50OiBudWxsICFkZWZhdWx0O1xyXG4kZm9vdGVyLWxpc3QtY29udGFpbmVyLW1hcmdpbjogKFxyXG4gICAgc21hbGw6IDAgMCAyMHB4LFxyXG4gICAgbGFyZ2U6IDBcclxuKSAhZGVmYXVsdDtcclxuJGZvb3Rlci1saXN0LW1hcmdpbi10b3A6IDM1cHggIWRlZmF1bHQ7XHJcbiRmb290ZXItbGlzdC1pdGVtLXdpZHRoOiAyMzBweCAhZGVmYXVsdDtcclxuJGZvb3Rlci1saXN0LWl0ZW0tbWFyZ2luOiAoXHJcbiAgICBzbWFsbDogMCxcclxuICAgIGxhcmdlOiAwXHJcbikgIWRlZmF1bHQ7XHJcbiRmb290ZXItbGlzdC1pdGVtLXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiAwIDAgMTAuNXB4LFxyXG4gICAgbGFyZ2U6IDAgMCAyMXB4XHJcbikgIWRlZmF1bHQ7XHJcbi8vIFRPRE86IENhbiBnbyBhZnRlciBmb290ZXIgMi4wXHJcbiRmb290ZXItbGlzdC1pdGVtLXBhZGRpbmctYm90dG9tOiAyMXB4ICFkZWZhdWx0O1xyXG4kZm9vdGVyLXBhcmVudC1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogMjBweCAwLFxyXG4gICAgbGFyZ2U6IDBcclxuKSAhZGVmYXVsdDtcclxuJGZvb3Rlci1wYXJlbnQtZm9udC1zaXplOiAxNyAhZGVmYXVsdDtcclxuJGZvb3Rlci1wYXJlbnQtZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcclxuJGZvb3Rlci1saXN0LWZvbnQtZmFtaWx5OiBnZXQtdHlwb2dyYXBoeS1mb250LWZhbWlseSgpICFkZWZhdWx0O1xyXG4kZm9vdGVyLXBhcmVudC1saW5lLWhlaWdodDogMSAhZGVmYXVsdDtcclxuJGZvb3Rlci1wYXJlbnQtdGV4dC10cmFuc2Zvcm06IG5vbmUgIWRlZmF1bHQ7XHJcbiRmb290ZXItbGlzdC1wYXJlbnQtaXRlbS1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI0LTIsXHJcbiAgICBob3ZlcjogJGNvbG91cjYsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI0XHJcbikgIWRlZmF1bHQ7XHJcbiRmb290ZXItcGFyZW50LXNlcGVyYXRvcjogZmFsc2UgIWRlZmF1bHQ7XHJcbiRmb290ZXItcGFyZW50LXNlcGVyYXRvci13aWR0aDogMnB4ICFkZWZhdWx0O1xyXG4kZm9vdGVyLXBhcmVudC1zZXBlcmF0b3ItY29sb3VyOiBtYXAtZ2V0KCRmb290ZXItbGlzdC1wYXJlbnQtaXRlbS1jb2xvdXIsIGRlZmF1bHQpICFkZWZhdWx0O1xyXG4vLyBUT0RPOiBDYW4gZ28gYWZ0ZXIgZm9vdGVyIDIuMFxyXG4kZm9vdGVyLW1vYmlsZS1zZXBlcmF0b3ItY29sb3VyOiAkY29sb3VyMy0yICFkZWZhdWx0O1xyXG4kZm9vdGVyLWxpc3QtY2hpbGQtaXRlbS1ob3Zlci1vcGFjaXR5OiAuNSAhZGVmYXVsdDtcclxuJGZvb3Rlci1saXN0LWNoaWxkLWl0ZW0tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMy02LFxyXG4gICAgaG92ZXI6ICRjb2xvdXI2LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyMlxyXG4pICFkZWZhdWx0O1xyXG4kZm9vdGVyLWxpc3QtY2hpbGQtdGV4dC10cmFuc2Zvcm06IG5vbmUgIWRlZmF1bHQ7XHJcbiRmb290ZXItY2hpbGQtZm9udC1zaXplOiAkcGFyYWdyYXBoLWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuJGZvb3Rlci1jaGlsZC1mb250LXdlaWdodDogNDAwICFkZWZhdWx0O1xyXG4kZm9vdGVyLWNoaWxkLWhvdmVyLXRleHQtZGVjb3JhdGlvbjogdHJ1ZSAhZGVmYXVsdDtcclxuJGZvb3Rlci1jaGlsZC1ob3Zlci1vcGFjaXR5OiAuNSAhZGVmYXVsdDtcclxuJGZvb3Rlci1jaGlsZC1saW5lLWhlaWdodDogJGZvb3Rlci1wYXJlbnQtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XHJcbiRzdXBwcmVzcy1mb290ZXItbWVudS1pdGVtLXNlcGVyYXRvcnM6IGZhbHNlICFkZWZhdWx0O1xyXG4vLyBNYWluIG1lbnUgKCB0aGlzIGlzIGEgbmV3IGNvbmNlcHQgc28gbm90IGFsbCBjb25maWcgb3B0aW9ucyB3aWxsIGJlIGhlcmUgKVxyXG4kZm9vdGVyLW1haW4tbWVudS1mbGV4LWdyb3c6IDEgIWRlZmF1bHQ7XHJcbiRmb290ZXItbWFpbi1tZW51LWRlc2t0b3AtbWF4LXdpZHRoOiA1MCUgIWRlZmF1bHQ7XHJcbi8vIEFsdCBtZW51XHJcbiRmb290ZXItYWx0LW1lbnUtbGlzdC1pdGVtLXdpZHRoOiBhdXRvICFkZWZhdWx0O1xyXG4kZm9vdGVyLWFsdC1tZW51LXBhcmVudC1pdGVtLXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiBudWxsLFxyXG4gICAgbGFyZ2U6IDAgNXB4XHJcbikgIWRlZmF1bHQ7XHJcbiRmb290ZXItYWx0LW1lbnUtcGFyZW50LWFuY2hvci1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogbnVsbCxcclxuICAgIGxhcmdlOiBudWxsXHJcbikgIWRlZmF1bHQ7XHJcbiRmb290ZXItYWx0LW1lbnUtbGlzdC1pdGVtLXNlcGVyYXRvcjogdHJ1ZSAhZGVmYXVsdDtcclxuJGZvb3Rlci1hbHQtbWVudS1wYXJlbnQtZmlyc3QtY2hpbGQtc3VwcHJlc3MtcGFkZGluZzogdHJ1ZSAhZGVmYXVsdDtcclxuJGZvb3Rlci1hbHQtbWVudS1wYXJlbnQtZm9udC13ZWlnaHQ6IG51bGwgIWRlZmF1bHQ7XHJcbiRmb290ZXItYWx0LW1lbnUtcGFyZW50LWZvbnQtc2l6ZTogKFxyXG4gICAgc21hbGw6IG51bGwsXHJcbiAgICBsYXJnZTogbnVsbFxyXG4pICFkZWZhdWx0O1xyXG4vLyAtLS0gRm9vdGVyIFByb21vdGlvbiBIZWFkaW5nIC0tLSBcclxuJGZvb3Rlci1wcm9tb3Rpb24taGVhZGluZy1jb2xvdXI6IG1hcC1nZXQoJGZvb3Rlci1saXN0LXBhcmVudC1pdGVtLWNvbG91ciwgZGVmYXVsdCkgIWRlZmF1bHQ7XHJcbiRmb290ZXItcHJvbW90aW9uLWhlYWRpbmctZm9udC1zaXplOiAkZm9vdGVyLXBhcmVudC1mb250LXNpemUgIWRlZmF1bHQ7XHJcbiRmb290ZXItcHJvbW90aW9uLWhlYWRpbmctZm9udC13ZWlnaHQ6ICRmb290ZXItcGFyZW50LWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xyXG4kZm9vdGVyLXByb21vdGlvbi1oZWFkaW5nLW1hcmdpbjogKFxyXG4gICAgc21hbGw6IDAgMCAxNXB4LFxyXG4gICAgbGFyZ2U6IDAgMCAkZm9vdGVyLWxpc3QtbWFyZ2luLXRvcFxyXG4pICFkZWZhdWx0O1xyXG4vLyAtLS0gRm9vdGVyIExvZ28gLS0tIFxyXG4kZm9vdGVyLWxvZ28td2lkdGg6IChcclxuICAgIHNtYWxsOiA1MCUsXHJcbiAgICBtZWRpdW06IDQwJSxcclxuICAgIGxhcmdlOiBudWxsXHJcbikgIWRlZmF1bHQ7XHJcbiRmb290ZXItbG9nby1oZWlnaHQ6IChcclxuICAgIHNtYWxsOiBudWxsLFxyXG4gICAgbGFyZ2U6IG51bGxcclxuKSAhZGVmYXVsdDtcclxuJGZvb3Rlci1sb2dvLW1hcmdpbjogKFxyXG4gICAgc21hbGw6IDAgMCAyMHB4LFxyXG4gICAgbGFyZ2U6IDAgMCAzMHB4XHJcbikgIWRlZmF1bHQ7XHJcbi8vIC0tLSBGb290ZXIgQ29udGFjdCBEZXRhaWxzIC0tLVxyXG4kZm9vdGVyLWNvbnRhY3QtZGV0YWlscy1mbGV4LWRpcmVjdGlvbjogKFxyXG4gICAgc21hbGw6IGNvbHVtbixcclxuICAgIGxhcmdlOiBudWxsXHJcbikgIWRlZmF1bHQ7XHJcbiRmb290ZXItY29udGFjdC1kZXRhaWxzLW1hcmdpbjogKFxyXG4gICAgc21hbGw6IDAgMCAxMHB4LFxyXG4gICAgbGFyZ2U6IDAgMCAyNXB4XHJcbikgIWRlZmF1bHQ7XHJcbiRmb290ZXItY29udGFjdC1kZXRhaWxzLWl0ZW0tbWFyZ2luOiAoXHJcbiAgICBzbWFsbDogMCAwIDEwcHgsXHJcbiAgICBsYXJnZTogMCAwIDE1cHhcclxuKSAhZGVmYXVsdDtcclxuJGZvb3Rlci1jb250YWN0LWRldGFpbHMtaXRlbS1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogbWFwLWdldCgkZm9vdGVyLXBhcmVudC1wYWRkaW5nLCBzbWFsbCksXHJcbiAgICBsYXJnZTogbWFwLWdldCgkZm9vdGVyLXBhcmVudC1wYWRkaW5nLCBsYXJnZSlcclxuKSAhZGVmYXVsdDtcclxuJGZvb3Rlci1jb250YWN0LWRldGFpbHMtaWNvbi1jb250YWluZXItd2lkdGg6IG51bGwgIWRlZmF1bHQ7XHJcbiRmb290ZXItY29udGFjdC1kZXRhaWxzLWljb24tc2l6ZTogbnVsbCAhZGVmYXVsdDtcclxuLy8gLS0tIEZvb3RlciByZXZlYWwgYnV0dG9uIC0tLSBcclxuJGZvb3Rlci1yZXZlYWwtYnV0dG9uLXBhZGRpbmc6IDE1cHggMzBweCAhZGVmYXVsdDtcclxuJGZvb3Rlci1yZXZlYWwtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNCxcclxuICAgIGhvdmVyOiAkY29sb3VyNixcclxuICAgIGFjdGl2ZTogJGNvbG91cjQtNVxyXG4pICFkZWZhdWx0O1xyXG4kZm9vdGVyLXJldmVhbC1idXR0b24tZm9udC1zaXplOiAxOCAhZGVmYXVsdDtcclxuJGZvb3Rlci1yZXZlYWwtYnV0dG9uLWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XHJcbi8vIC0tLSBNYWlsaW5nIGxpc3QgLS0tIFxyXG4kZm9vdGVyLW1haWxpbmctbGlzdC1saW5rLXBhZGRpbmc6IDEwcHggMTVweCAhZGVmYXVsdDtcclxuJGZvb3Rlci1tYWlsaW5nLWxpc3QtbGluay1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjQsXHJcbiAgICBob3ZlcjogJGNvbG91cjYsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI0LTFcclxuKSAhZGVmYXVsdDsgXHJcbiRmb290ZXItbWFpbGluZy1saXN0LWxpbmstY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMSxcclxuICAgIGhvdmVyOiAkY29sb3VyMSxcclxuICAgIGFjdGl2ZTogJGNvbG91cjFcclxuKSAhZGVmYXVsdDtcclxuJGZvb3Rlci1tYWlsaW5nLWxpc3QtbGluay1ib3JkZXItY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBkZWZhdWx0LWNvbG91cigkZm9vdGVyLW1haWxpbmctbGlzdC1saW5rLWJhY2tncm91bmQtY29sb3VyKSxcclxuICAgIGhvdmVyOiBob3Zlci1jb2xvdXIoJGZvb3Rlci1tYWlsaW5nLWxpc3QtbGluay1iYWNrZ3JvdW5kLWNvbG91ciksXHJcbiAgICBhY3RpdmU6IGFjdGl2ZS1jb2xvdXIoJGZvb3Rlci1tYWlsaW5nLWxpc3QtbGluay1iYWNrZ3JvdW5kLWNvbG91cilcclxuKSAhZGVmYXVsdDtcclxuJGZvb3Rlci1tYWlsaW5nLWxpc3QtbGluay1mb250LXNpemU6IDE2ICFkZWZhdWx0O1xyXG4kZm9vdGVyLW1haWxpbmctbGlzdC1saW5rLWZvbnQtd2VpZ2h0OiA0MDAgIWRlZmF1bHQ7XHJcbiRmb290ZXItbWFpbGluZy1saXN0LWxpbmstd2lkdGg6IChcclxuICAgIHNtYWxsOiAxMDAlLFxyXG4gICAgbGFyZ2U6IGZpdC1jb250ZW50XHJcbikgIWRlZmF1bHQ7XHJcbiRmb290ZXItbWFpbGluZy1saXN0LWljb24tY29uZmlnOiAoXHJcbiAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBtYWlsKSxcclxuICAgIHBvc2l0aW9uOiBhZnRlcixcclxuICAgIG1hcmdpbjogMCAwIDAgMTBweCxcclxuICAgIGNvbG91cjogJGZvb3Rlci1tYWlsaW5nLWxpc3QtbGluay1jb2xvdXIsXHJcbiAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQsXHJcbiAgICBzaXplOiAxNnB4XHJcbikgIWRlZmF1bHQ7XHJcbiRmb290ZXItbWFpbGluZy1saXN0LXJldmVhbC1tYXJnaW46IChcclxuICAgIHNtYWxsOiBudWxsLFxyXG4gICAgbGFyZ2U6IG51bGxcclxuKSAhZGVmYXVsdDtcclxuJGZvb3Rlci1tYWlsaW5nLWxpc3QtaGVhZGluZy1tYXJnaW46IChcclxuICAgIHNtYWxsOiAwLFxyXG4gICAgbGFyZ2U6IDAgMCAkZm9vdGVyLWxpc3QtbWFyZ2luLXRvcFxyXG4pICFkZWZhdWx0O1xyXG4kZm9vdGVyLW1haWxpbmctbGlzdC1oZWFkaW5nLWNvbG91cjogbWFwLWdldCgkZm9vdGVyLWxpc3QtcGFyZW50LWl0ZW0tY29sb3VyLCBkZWZhdWx0KSAhZGVmYXVsdDtcclxuJGZvb3Rlci1tYWlsaW5nLWxpc3QtaGVhZGluZy1mb250LXNpemU6ICRmb290ZXItcGFyZW50LWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuJGZvb3Rlci1tYWlsaW5nLWxpc3QtaGVhZGluZy1mb250LXdlaWdodDogJGZvb3Rlci1wYXJlbnQtZm9udC13ZWlnaHQgIWRlZmF1bHQ7XHJcbiRmb290ZXItbWFpbGluZy1saXN0LXRleHQtZm9udC1zaXplOiAkZm9vdGVyLWNoaWxkLWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuJGZvb3Rlci1tYWlsaW5nLWxpc3QtdGV4dC1jb2xvdXI6IG1hcC1nZXQoJGZvb3Rlci1saXN0LWNoaWxkLWl0ZW0tY29sb3VyLCBkZWZhdWx0KSAhZGVmYXVsdDtcclxuJGZvb3Rlci1tYWlsaW5nLWxpc3QtbWFyZ2luOiAoXHJcbiAgICBzbWFsbDogMCAwIDIwcHgsXHJcbiAgICBsYXJnZTogMCAwIDU1cHhcclxuKSAhZGVmYXVsdDtcclxuJGZvb3Rlci1tYWlsaW5nLWxpc3QtbGluZS1oZWlnaHQ6ICRkZWZhdWx0LWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xyXG4vLyBTZXQgdG8gbnVsbCB0byBmb2xsb3cgZGVmYXVsdCBleHByZXNzIHN0eWxpbmcuXHJcbiRmb290ZXItbWFpbGluZy1saXN0LWZpZWxkLWJvcmRlcjogbnVsbCAhZGVmYXVsdDtcclxuJGZvb3Rlci1tYWlsaW5nLWxpc3QtZmllbGQtcGFkZGluZzogbnVsbCAhZGVmYXVsdDtcclxuJGZvb3Rlci1tYWlsaW5nLWxpc3QtZmllbGQtbGV0dGVyLXNwYWNpbmc6IG51bGwgIWRlZmF1bHQ7XHJcbiRmb290ZXItbWFpbGluZy1saXN0LWZpZWxkLXRleHQtdHJhbnNmb3JtOiBudWxsICFkZWZhdWx0O1xyXG4kZm9vdGVyLW1haWxpbmctbGlzdC1maWVsZC1jb2xvdXI6IG51bGwgIWRlZmF1bHQ7XHJcbiRmb290ZXItbWFpbGluZy1saXN0LWZpZWxkLWNvbG91ci1pbmNsdWRlLWJ1dHRvbjogZmFsc2UgIWRlZmF1bHQ7XHJcbiRmb290ZXItbWFpbGluZy1saXN0LWZpZWxkLWZvbnQtd2VpZ2h0OiBudWxsICFkZWZhdWx0O1xyXG4kZm9vdGVyLW1haWxpbmctbGlzdC1maWVsZC1iYWNrZ3JvdW5kLWNvbG91cjogbnVsbCAhZGVmYXVsdDtcclxuJGZvb3Rlci1tYWlsaW5nLWxpc3QtZmllbGQtYmFja2dyb3VuZC1jb2xvdXItaW5jbHVkZS1idXR0b246IGZhbHNlICFkZWZhdWx0O1xyXG4kZm9vdGVyLW1haWxpbmctbGlzdC1maWVsZC1oZWlnaHQ6IG51bGwgIWRlZmF1bHQ7XHJcbiRmb290ZXItbWFpbGluZy1saXN0LWZpZWxkLW1heC13aWR0aDogKFxyXG4gICAgc21hbGw6IG51bGwsXHJcbiAgICBsYXJnZTogbnVsbFxyXG4pICFkZWZhdWx0O1xyXG4vLyAtLS0gRm9vdGVyIENNUyBjb250ZW50IGNvbnRhaW5lciAtLS0gXHJcbi8vIFRoaXMgY29tcG9uZW50IGlzIGZhaXJseSBmcmVlIGZvcm0gYXMgaXQgY2FuIGNoYW5nZSBxdWl0ZSByYWRpY2FsbHkgb24gYSBzaXRlIGJ5IHNpdGUgYmFzaXMuXHJcbiRmb290ZXItY21zLWNvbnRhaW5lci1jb2x1bW4tbWF4LXdpZHRoOiBudWxsICFkZWZhdWx0O1xyXG4kZm9vdGVyLWNtcy1jb250YWluZXItY29sdW1uLWd1dHRlcjogKFxyXG4gICAgc21hbGw6IDIwcHgsXHJcbiAgICBsYXJnZTogMzBweFxyXG4pICFkZWZhdWx0O1xyXG4kZm9vdGVyLWNtcy1jb250YWluZXItZmxleC1kaXJlY3Rpb246IChcclxuICAgIHNtYWxsOiBjb2x1bW4sXHJcbiAgICBsYXJnZTogcm93XHJcbikgIWRlZmF1bHQ7XHJcbi8vIFN0eWxlIHRoZSBoMidzIGxpa2UgdGhlIGxpc3QgcGFyZW50LlxyXG4kZm9vdGVyLWNtcy1jb250YWluZXItaDItY29sb3VyOiBtYXAtZ2V0KCRmb290ZXItbGlzdC1wYXJlbnQtaXRlbS1jb2xvdXIsIGRlZmF1bHQpICFkZWZhdWx0O1xyXG4kZm9vdGVyLWNtcy1jb250YWluZXItaDItZm9udC13ZWlnaHQ6ICRmb290ZXItcGFyZW50LWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xyXG4kZm9vdGVyLWNtcy1jb250YWluZXItaDItZm9udC1zaXplOiAkZm9vdGVyLXBhcmVudC1mb250LXNpemUgIWRlZmF1bHQ7XHJcbiRmb290ZXItY21zLWNvbnRhaW5lci1oMi1saW5lLWhlaWdodDogbnVsbCAhZGVmYXVsdDtcclxuJGZvb3Rlci1jbXMtY29udGFpbmVyLWgyLW1hcmdpbjogMCAwICRmb290ZXItbGlzdC1tYXJnaW4tdG9wICFkZWZhdWx0O1xyXG4kZm9vdGVyLWNtcy1jb250YWluZXItaDMtY29sb3VyOiAkZm9vdGVyLWNtcy1jb250YWluZXItaDItY29sb3VyICFkZWZhdWx0O1xyXG4kZm9vdGVyLWNtcy1jb250YWluZXItaDMtZm9udC13ZWlnaHQ6ICRmb290ZXItY21zLWNvbnRhaW5lci1oMi1mb250LXdlaWdodCAhZGVmYXVsdDtcclxuJGZvb3Rlci1jbXMtY29udGFpbmVyLWgzLWZvbnQtc2l6ZTogJGZvb3Rlci1jbXMtY29udGFpbmVyLWgyLWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuJGZvb3Rlci1jbXMtY29udGFpbmVyLWgzLWxpbmUtaGVpZ2h0OiBudWxsICFkZWZhdWx0O1xyXG4kZm9vdGVyLWNtcy1jb250YWluZXItaDMtbWFyZ2luOiAwIDAgMTVweCAhZGVmYXVsdDtcclxuJGZvb3Rlci1jbXMtY29udGFpbmVyLXRhYmxlLWNvbG91cjogJGNvbG91cjEgIWRlZmF1bHQ7XHJcbiRmb290ZXItY21zLWNvbnRhaW5lci10YWJsZS1saW5lLWhlaWdodDogbnVsbCAhZGVmYXVsdDtcclxuJGZvb3Rlci1jbXMtY29udGFpbmVyLXBhcmFncmFwaC1wYWRkaW5nOiBudWxsICFkZWZhdWx0O1xyXG4kZm9vdGVyLWNtcy1jb250YWluZXItcGFyYWdyYXBoLW1hcmdpbjogbnVsbCAhZGVmYXVsdDtcclxuJGZvb3Rlci1jbXMtY29udGFpbmVyLXBhcmFncmFwaC1mb250LXNpemU6ICRmb290ZXItY2hpbGQtZm9udC1zaXplICFkZWZhdWx0O1xyXG4kZm9vdGVyLWNtcy1jb250YWluZXItcGFyYWdyYXBoLWZvbnQtd2VpZ2h0OiAkZm9vdGVyLWNoaWxkLWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xyXG4vLyAtLS0gRm9vdGVyIFNlcGVyYXRvcnMgLS0tIFxyXG4kZm9vdGVyLXNlcGVyYXRlLWRpbWVudGlvbnMtZGVmYXVsdDogKFxyXG4gICAgd2lkdGg6IDEwMCUsXHJcbiAgICBoZWlnaHQ6IDJweFxyXG4pICFkZWZhdWx0O1xyXG4kZm9vdGVyLXNlcnBlcmF0b3ItY29sb3VyOiByZ2JhKCRjb2xvdXIxLCAwLjMpICFkZWZhdWx0O1xyXG4vLyBDb250ZW50XHJcbiRmb290ZXItY29udGVudC1mbGV4LWRpcmVjdGlvbjogKFxyXG4gICAgc21hbGw6IGNvbHVtbiwgXHJcbiAgICBsYXJnZTogcm93XHJcbikgIWRlZmF1bHQ7XHJcbi8vIEp1c3RpZnkgb25seSBmb3IgZGVza3RvcCBhcyBpdCBkb2VzbnQgbWFrZSBzZW5zZSBmb3IgbW9iaWxlIGRldmljZXMuXHJcbiRmb290ZXItY29udGVudC1qdXN0aWZ5LWNvbnRlbnQ6IChcclxuICAgIHNtYWxsOiBudWxsLFxyXG4gICAgbWVkaXVtOiBudWxsLFxyXG4gICAgbGFyZ2U6IG51bGxcclxuKSAhZGVmYXVsdDtcclxuJGZvb3Rlci1jb250ZW50LXNlcGVyYXRvci10b3A6IGZhbHNlICFkZWZhdWx0O1xyXG4kZm9vdGVyLWNvbnRlbnQtc2VwZXJhdG9yLWJvdHRvbTogZmFsc2UgIWRlZmF1bHQ7XHJcbiRmb290ZXItY29udGVudC1zZXBlcmF0b3Itd2lkdGg6IG1hcC1nZXQoJGZvb3Rlci1zZXBlcmF0ZS1kaW1lbnRpb25zLWRlZmF1bHQsIHdpZHRoKSAhZGVmYXVsdDtcclxuJGZvb3Rlci1jb250ZW50LXNlcGVyYXRvci1oZWlnaHQ6IG1hcC1nZXQoJGZvb3Rlci1zZXBlcmF0ZS1kaW1lbnRpb25zLWRlZmF1bHQsIGhlaWdodCkgIWRlZmF1bHQ7XHJcbiRmb290ZXItY29udGVudC1zZXBlcmF0b3ItbWFyZ2luOiAwICFkZWZhdWx0O1xyXG4kZm9vdGVyLWlubmVyLWNvbnRhaW5lci1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogbnVsbCxcclxuICAgIGxhcmdlOiBudWxsXHJcbikgIWRlZmF1bHQ7XHJcbiRmb290ZXItbWVudS1pY29uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjQsXHJcbiAgICBob3ZlcjogJGNvbG91cjYsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXIyXHJcbikgIWRlZmF1bHQ7XHJcbi8vIC0tLSBGb290ZXIgQ01TIC0tLSBcclxuJGZvb3Rlci1jbXMtbWFyZ2luOiAwICFkZWZhdWx0O1xyXG4kZm9vdGVyLWNtcy1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogMCxcclxuICAgIGxhcmdlOiAwXHJcbikgIWRlZmF1bHQ7XHJcbiRmb290ZXItY21zLWFuY2hvci1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IG1hcC1nZXQoJGNtcy1hbmNob3ItY29udGFjdC1jb2xvdXIsIGRlZmF1bHQpLFxyXG4gICAgaG92ZXI6IG1hcC1nZXQoJGNtcy1hbmNob3ItY29udGFjdC1jb2xvdXIsIGhvdmVyKSxcclxuICAgIGFjdGl2ZTogbWFwLWdldCgkY21zLWFuY2hvci1jb250YWN0LWNvbG91ciwgYWN0aXZlKVxyXG4pICFkZWZhdWx0O1xyXG4kZm9vdGVyLWNtcy1hbmNob3ItaWNvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI0LFxyXG4gICAgaG92ZXI6ICRjb2xvdXIzLTYsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXIzLTVcclxuKSAhZGVmYXVsdDtcclxuJGZvb3Rlci1jbXMtYW5jaG9yLWZvbnQtc2l6ZTogJGZvb3Rlci1jaGlsZC1mb250LXNpemUgIWRlZmF1bHQ7XHJcbiRmb290ZXItY21zLWFuY2hvci1mb250LXdlaWdodDogbnVsbCAhZGVmYXVsdDtcclxuJGZvb3Rlci1jbXMtbGluZS1oZWlnaHQ6IG51bGwgIWRlZmF1bHQ7XHJcbiRmb290ZXItY21zLWZvbnQtc2l6ZTogJGZvb3Rlci1jaGlsZC1mb250LXNpemU7XHJcbi8vIC0tLSBDb3B5cmlnaHQgLS0tXHJcbiRmb290ZXItY29weXJpZ2h0LWNvbnRhaW5lci1vdXRlci1iYWNrZ3JvdW5kOiAkZm9vdGVyLW91dGVyLWNvbnRhaW5lci1iYWNrZ3JvdW5kLWNvbG91ciAhZGVmYXVsdDtcclxuJGZvb3Rlci1jb3B5cmlnaHQtY29udGFpbmVyLW1hcmdpbjogKFxyXG4gICAgc21hbGw6IDAgYXV0byAwLFxyXG4gICAgbGFyZ2U6IDM1cHggYXV0byAwXHJcbikgIWRlZmF1bHQ7XHJcbiRmb290ZXItY29weXJpZ2h0LWNvbnRhaW5lci1vdXRlci1wYWRkaW5nOiAwICFkZWZhdWx0O1xyXG4kZm9vdGVyLWNvcHlyaWdodC1zZXBlcmF0b3I6IGZhbHNlICFkZWZhdWx0O1xyXG4kZm9vdGVyLWNvcHlyaWdodC1zZXBlcmF0b3Itd2lkdGg6IG1hcC1nZXQoJGZvb3Rlci1zZXBlcmF0ZS1kaW1lbnRpb25zLWRlZmF1bHQsIHdpZHRoKSAhZGVmYXVsdDtcclxuJGZvb3Rlci1jb3B5cmlnaHQtc2VwZXJhdG9yLWhlaWdodDogbWFwLWdldCgkZm9vdGVyLXNlcGVyYXRlLWRpbWVudGlvbnMtZGVmYXVsdCwgaGVpZ2h0KSAhZGVmYXVsdDtcclxuJGZvb3Rlci1jb3B5cmlnaHQtc2VwZXJhdG9yLW1hcmdpbjogMTVweCAwIDAgIWRlZmF1bHQ7XHJcbiRmb290ZXItY29weXJpZ2h0LXNlcGVyYXRvci1wYWRkaW5nOiAzNXB4IDAgMCAhZGVmYXVsdDtcclxuJGZvb3Rlci1jb3B5cmlnaHQtcGFyYWdyYXBoLXNpemU6IDEzICFkZWZhdWx0O1xyXG4kZm9vdGVyLWNvcHlyaWdodC1wYXJhZ3JhcGgtbWFyZ2luOiAwICFkZWZhdWx0O1xyXG4kZm9vdGVyLWNvcHlyaWdodC10ZXh0LWFsaWduOiAoXHJcbiAgICBzbWFsbDogY2VudGVyLFxyXG4gICAgbGFyZ2U6IGNlbnRlclxyXG4pICFkZWZhdWx0O1xyXG4kZm9vdGVyLWNvcHlyaWdodC10ZXh0LXRyYW5zZm9ybTogbm9uZSAhZGVmYXVsdDtcclxuJGZvb3Rlci1jb3B5cmlnaHQtcGFyYWdyYXBoLXdlaWdodDogNjAwICFkZWZhdWx0O1xyXG4kZm9vdGVyLWNvcHlyaWdodC1wYXJhZ3JhcGgtY29sb3VyOiAkY29sb3VyMiAhZGVmYXVsdDtcclxuJGZvb3Rlci1jb3B5cmlnaHQtYW5jaG9yLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjQtMixcclxuICAgIGhvdmVyOiAkY29sb3VyNixcclxuICAgIGFjdGl2ZTogJGNvbG91cjJcclxuKSAhZGVmYXVsdDtcclxuJGZvb3Rlci1jb3B5cmlnaHQtYW5jaG9yLXNpemU6ICRmb290ZXItY29weXJpZ2h0LXBhcmFncmFwaC1zaXplICFkZWZhdWx0O1xyXG4kZm9vdGVyLWNvcHlyaWdodC1hbmNob3Itd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XHJcbiRmb290ZXItY29weXJpZ2h0LWxpbmUtaGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XHJcbiRmb290ZXItY29weXJpZ2h0LW1pbmlmaWVkLWxheW91dC1jb2xvdXI6IG51bGwgIWRlZmF1bHQ7XHJcbi8vIC0tLSBGb290ZXIgYmFubmVyIHNlcmllcyAtLS0gXHJcbi8vIFRPRE86IENBTiBHTyBBRlRFUiBGT09URVIgMi4wIExJVkVcclxuJGZvb3Rlci1iYW5uZXItaW1hZ2Utd2lkdGg6IDYwcHggIWRlZmF1bHQ7XHJcbiRmb290ZXItYmFubmVycy1jb250YWluZXItY29udGVudC1oZWFkZXItbWFyZ2luOiAoXHJcbiAgICBzbWFsbDogMCxcclxuICAgIGxhcmdlOiAwIGF1dG8gMFxyXG4pICFkZWZhdWx0O1xyXG4kZm9vdGVyLWJhbm5lcnMtY29udGFpbmVyLXBheW1lbnQtbWV0aG9kcy1tYXJnaW46IChcclxuICAgIHNtYWxsOiAyMHB4IDAgMjVweCxcclxuICAgIGxhcmdlOiA2MHB4IDAgMjVweFxyXG4pICFkZWZhdWx0O1xyXG4kZm9vdGVyLWJhbm5lcnMtcGF5bWVudC1tZXRob2RzLXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiBudWxsLFxyXG4gICAgbGFyZ2U6IG51bGxcclxuKSAhZGVmYXVsdDtcclxuJGZvb3Rlci1iYW5uZXJzLXBheW1lbnQtbWV0aG9kcy1iYW5uZXJzLWdhcDogKFxyXG4gICAgc21hbGw6IG51bGwsXHJcbiAgICBsYXJnZTogbnVsbFxyXG4pICFkZWZhdWx0O1xyXG4kZm9vdGVyLWJhbm5lcnMtcGF5bWVudC1tZXRob2RzLW1hcmdpbjogKFxyXG4gICAgc21hbGw6IG51bGwsXHJcbiAgICBsYXJnZTogbnVsbFxyXG4pICFkZWZhdWx0O1xyXG4kZm9vdGVyLWJhbm5lcnMtcGF5bWVudC1tZXRob2RzLWJvcmRlcjogZmFsc2UgIWRlZmF1bHQ7XHJcbiRmb290ZXItYmFubmVycy1wYXltZW50LW1ldGhvZHMtYm9yZGVyLXdpZHRoOiAxcHggMCAhZGVmYXVsdDtcclxuJGZvb3Rlci1iYW5uZXJzLXBheW1lbnQtbWV0aG9kcy1ib3JkZXItY29sb3VyOiAkY29sb3VyNCAhZGVmYXVsdDtcclxuJGZvb3Rlci1iYW5uZXJzLWdhcDogKFxyXG4gICAgc21hbGw6IDEwcHgsXHJcbiAgICBsYXJnZTogIDAgMjQuNXB4XHJcbikgIWRlZmF1bHQ7XHJcbiRmb290ZXItYmFubmVycy1tYXJnaW46IChcclxuICAgIHNtYWxsOiBpZigkZm9vdGVyLWNvbnRlbnQtY2VudGVyYWxpc2UsIGF1dG8sIDApLFxyXG4gICAgbGFyZ2U6IGF1dG9cclxuKSAhZGVmYXVsdDtcclxuJGZvb3Rlci1iYW5uZXJzLWp1c3RpZnktY29udGVudDogKFxyXG4gICAgc21hbGw6IG51bGwsXHJcbiAgICBsYXJnZTogbnVsbFxyXG4pICFkZWZhdWx0O1xyXG4vLyBUT0RPOiB0aGlzIHNob3VsZCBiZSByZWZhY3RvcmVkIHRvIHVzZSBzcGFjaW5nLXZhbHVlcy5cclxuJGZvb3Rlci1iYW5uZXItaW1hZ2UtbWFyZ2luOiAoXHJcbiAgICB0b3A6IDYwcHgsIFxyXG4gICAgcmlnaHQ6IDIwcHgsIFxyXG4gICAgYm90dG9tOiAyNXB4LCBcclxuICAgIGxlZnQ6IDIwcHhcclxuKSAhZGVmYXVsdDtcclxuLy8gVE9ETzogQ0FOIEdPIEFGVEVSIEZPT1RFUiAyLjAgTElWRVxyXG4kZm9vdGVyLWJhbm5lci1ncmF5c2NhbGU6IGZhbHNlICFkZWZhdWx0O1xyXG4kZm9vdGVyLWJhbm5lci1ib3JkZXItcmFkaXVzOiAwICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tLS0gU29jaWFsIE1lZGlhIEljb25zIE1vZHVsZSAtLS0tLVxyXG4vLyAtLS0gU29jaWFsIGljb25zIGNvbW1vbiAtLS0gXHJcbiRzb2NpYWwtaWNvbnMtZGltZW50aW9uczogMzVweCAhZGVmYXVsdDtcclxuJHNvY2lhbC1pY29ucy1ib3JkZXItd2lkdGg6IDJweCAhZGVmYXVsdDtcclxuJHNvY2lhbC1pY29ucy1ib3JkZXItcmFkaXVzOiAkYm9yZGVyUmFkaXVzMiAhZGVmYXVsdDtcclxuJHNvY2lhbC1pY29ucy1ob3Zlci1vcGFjaXR5OiAxICFkZWZhdWx0O1xyXG4kc29jaWFsLWljb25zLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjEsXHJcbiAgICBob3ZlcjogJGNvbG91cjEsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXIxXHJcbikgIWRlZmF1bHQ7XHJcbiRzb2NpYWwtaWNvbnMtYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI0LFxyXG4gICAgaG92ZXI6ICRjb2xvdXI2LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNFxyXG4pICFkZWZhdWx0O1xyXG4kc29jaWFsLWljb25zLWJvcmRlci1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IG1hcC1nZXQoJHNvY2lhbC1pY29ucy1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCksXHJcbiAgICBob3ZlcjogJGNvbG91cjYsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI0XHJcbikgIWRlZmF1bHQ7XHJcbiRzb2NpYWwtaWNvbnMtc2l6ZTogMThweCAhZGVmYXVsdDtcclxuLy8gVGhlcmUgYXJlIHR3byBjb2xvdXIgbW9kZXM6XHJcbi8vIHNpdGUtc3BlY2lmaWM6IG1hdGNoZXMgdGhlIGN1c3RvbWVyJ3Mgc2l0ZSBicmFuZGluZy5cclxuLy8gc29jaWFsLWJyYW5kaW5nOiBmb2xsb3dzIHRoZSBicmFuZCBndWlkZWxpbmVzIG9mIGVhY2ggc29jaWFsIHBsYXRmb3JtLlxyXG4kc29jaWFsLWljb24tY29sb3VyLW1vZGU6ICdzaXRlLXNwZWNpZmljJyAhZGVmYXVsdDtcclxuLy8gLS0tIFNvY2lhbCBpY29ucyBwcm9kdWN0IHBhZ2UgLS0tXHJcbiRwcm9kdWN0LXNvY2lhbC1pY29ucy1mbG9hdDogcmlnaHQgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LXNvY2lhbC1pY29ucy1tYXJnaW46IDEwcHggMCAhZGVmYXVsdDtcclxuLy8tLS0gU29jaWFsIEljb25zIGZvb3RlciAtLS1cclxuXHJcbi8vIC0tLS0tIFRFTVAgUkVTVE9SRSAtLS0tLVxyXG4kZm9vdGVyLXNvY2lhbC1pY29ucy1tYXJnaW46IChcclxuICAgIHNtYWxsOiAwIDAgMjBweCxcclxuICAgIGxhcmdlOiAwIDAgMjBweFxyXG4pICFkZWZhdWx0O1xyXG4vLyBUT0RPOiBDQU4gR08gQUZURVIgRk9PVEVSIDIuMCBMSVZFXHJcbiRmb290ZXItc29jaWFsLWljb25zLXBhZGRpbmctYm90dG9tOiAzMHB4ICFkZWZhdWx0O1xyXG4kZm9vdGVyLXNvY2lhbC1pY29ucy1hbGlnbi1pdGVtczogZmxleC1zdGFydCAhZGVmYXVsdDtcclxuJGZvb3Rlci1zb2NpYWwtaWNvbnMtaGVhZGVyLWFsaWdubWVudDogbGVmdCAhZGVmYXVsdDtcclxuJGZvb3Rlci1zb2NpYWwtaWNvbnMtaGVhZGVyLW1hcmdpbjogKFxyXG4gICAgc21hbGw6IDAgMCAkZm9vdGVyLXNvY2lhbC1pY29ucy1wYWRkaW5nLWJvdHRvbSxcclxuICAgIGxhcmdlOiAwIDAgJGZvb3Rlci1saXN0LW1hcmdpbi10b3AgXHJcbikgIWRlZmF1bHQ7XHJcbiRmb290ZXItc29jaWFsLWljb25zLWhlYWRpbmctY29sb3VyOiBtYXAtZ2V0KCRmb290ZXItbGlzdC1wYXJlbnQtaXRlbS1jb2xvdXIsIGRlZmF1bHQpICFkZWZhdWx0O1xyXG4kZm9vdGVyLXNvY2lhbC1pY29ucy1oZWFkaW5nLWZvbnQtc2l6ZTogJGZvb3Rlci1wYXJlbnQtZm9udC1zaXplICFkZWZhdWx0O1xyXG4kZm9vdGVyLXNvY2lhbC1pY29ucy1oZWFkaW5nLWZvbnQtd2VpZ2h0OiAkZm9vdGVyLXBhcmVudC1mb250LXdlaWdodCAhZGVmYXVsdDtcclxuJGZvb3Rlci1zb2NpYWwtaWNvbnMtYnV0dG9uLWRpbWVudGlvbnM6IDQ1cHggIWRlZmF1bHQ7XHJcbiRmb290ZXItc29jaWFsLWljb24tZGltZW50aW9uczogKCRmb290ZXItc29jaWFsLWljb25zLWJ1dHRvbi1kaW1lbnRpb25zIC8gMikgIWRlZmF1bHQ7XHJcbiRmb290ZXItc29jaWFsLWljb25zLWJvcmRlci1yYWRpdXM6ICRzb2NpYWwtaWNvbnMtYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcclxuJGZvb3Rlci1zb2NpYWwtaWNvbnMtaG92ZXItb3BhY2l0eTogLjUgIWRlZmF1bHQ7XHJcbiRmb290ZXItc29jaWFsLWljb25zLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMSxcclxuICAgIGhvdmVyOiBtYXAtZ2V0KCRmb290ZXItbGlzdC1jaGlsZC1pdGVtLWNvbG91ciwgaG92ZXIpLFxyXG4gICAgYWN0aXZlOiBtYXAtZ2V0KCRmb290ZXItbGlzdC1jaGlsZC1pdGVtLWNvbG91ciwgYWN0aXZlKVxyXG4pICFkZWZhdWx0O1xyXG4kZm9vdGVyLXNvY2lhbC1pY29ucy1ib3JkZXItY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBtYXAtZ2V0KCRmb290ZXItc29jaWFsLWljb25zLWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KSxcclxuICAgIGhvdmVyOiBtYXAtZ2V0KCRmb290ZXItc29jaWFsLWljb25zLWJhY2tncm91bmQtY29sb3VyLCBob3ZlciksXHJcbiAgICBhY3RpdmU6IG1hcC1nZXQoJGZvb3Rlci1zb2NpYWwtaWNvbnMtYmFja2dyb3VuZC1jb2xvdXIsIGFjdGl2ZSlcclxuKSAhZGVmYXVsdDtcclxuJGZvb3Rlci1zb2NpYWwtaWNvbnMtc3VwcHJlc3MtYmFja2dyb3VuZDogZmFsc2UgIWRlZmF1bHQ7XHJcbiRmb290ZXItc29jaWFsLWljb25zLWp1c3RpZnk6IGZsZXgtc3RhcnQgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0tLSBURU1QIFJFU1RPUkUgRU5EIC0tLS0tXHJcbiRmb290ZXItc29jaWFsLWljb25zLW1heC13aWR0aDogKFxyXG4gICAgc21hbGw6IG51bGwsXHJcbiAgICBsYXJnZTogbnVsbFxyXG4pICFkZWZhdWx0O1xyXG4kZm9vdGVyLXNvY2lhbC1pY29ucy1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogMCAwIHNwYWNpbmctdmFsdWUoJGZvb3Rlci1wcm9tb3Rpb24taGVhZGluZy1tYXJnaW4sIDMpLFxyXG4gICAgbGFyZ2U6IDAgMCAzMHB4XHJcbikgIWRlZmF1bHQ7XHJcbiRmb290ZXItc29jaWFsLWljb25zLWhlYWRpbmctZm9udC13ZWlnaHQ6ICRmb290ZXItcGFyZW50LWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xyXG4kZm9vdGVyLXNvY2lhbC1pY29ucy1oZWFkaW5nLWZvbnQtc2l6ZTogJGZvb3Rlci1wYXJlbnQtZm9udC1zaXplICFkZWZhdWx0O1xyXG4vLyRmb290ZXItc29jaWFsLWljb25zLWhlYWRlci1tYXJnaW46IDAgMCAkZm9vdGVyLWxpc3QtbWFyZ2luLXRvcCAhZGVmYXVsdDtcclxuJGZvb3Rlci1zb2NpYWwtaWNvbnMtaGVhZGluZy1jb2xvdXI6IG1hcC1nZXQoJGZvb3Rlci1saXN0LXBhcmVudC1pdGVtLWNvbG91ciwgZGVmYXVsdCkgIWRlZmF1bHQ7XHJcbiRmb290ZXItc29jaWFsLWljb25zLXN1cHByZXNzLWJhY2tncm91bmQ6IGZhbHNlICFkZWZhdWx0O1xyXG5AaWYgJGZvb3Rlci1zb2NpYWwtaWNvbnMtc3VwcHJlc3MtYmFja2dyb3VuZCB7XHJcbiAgICAvLyBEdWUgdG8gc3VwcHJlc3NpbmcgdGhlIGJhY2tncm91bmQgdGhlIGljb25zIG1heSBjb25mbGljdCB3aXRoIHRoZSBmb290ZXIgYmFja2dyb3VuZCBpZiBvbmUgaXMgc2V0IHNvIHlvdSBtYXkgd2FudCB0byBtYW51YWxseSBvdmVycmlkZSB0aGVzZSBjb2xvdXJzLlxyXG4gICAgJGZvb3Rlci1zb2NpYWwtaWNvbnMtY29sb3VyOiAoXHJcbiAgICAgICAgZGVmYXVsdDogbWFwLWdldCgkc29jaWFsLWljb25zLWNvbG91ciwgZGVmYXVsdCksXHJcbiAgICAgICAgaG92ZXI6IG1hcC1nZXQoJHNvY2lhbC1pY29ucy1jb2xvdXIsIGhvdmVyKSwgXHJcbiAgICAgICAgYWN0aXZlOiBtYXAtZ2V0KCRzb2NpYWwtaWNvbnMtY29sb3VyLCBhY3RpdmUpXHJcbiAgICApICFkZWZhdWx0O1xyXG59XHJcbiRmb290ZXItc29jaWFsLWljb25zLWp1c3RpZnk6IGZsZXgtc3RhcnQgIWRlZmF1bHQ7XHJcbiRmb290ZXItc29jaWFsLXN1cHByZXNzLWNvbnRhaW5lci1zZXBlcmF0b3I6IGZhbHNlICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tLS0gIDQwNCAoIGVycm9yIG5vdCBmb3VuZCApIC0tLS0tXHJcbiRub3QtZm91bmQtbG9nby1zaXplOiAoXHJcbiAgICB3aWR0aDogMjAwcHgsXHJcbiAgICBoZWlnaHQ6IDEwMHB4XHJcbikgIWRlZmF1bHQ7XHJcbiRub3QtZm91bmQtYmFja2dyb3VuZDogdHJ1ZSAhZGVmYXVsdDtcclxuJG5vdC1mb3VuZC1iYWNrZ3JvdW5kLWNvbG91cjogJGNvbG91cjEgIWRlZmF1bHQ7XHJcbiRub3QtZm91bmQtYmFja2dyb3VuZC1pbWFnZTogJHNoYXJlZC1pY29ucy1kaXJlY3RvcnkgKyAnNDA0LnN2ZycgIWRlZmF1bHQ7XHJcbiRub3QtZm91bmQtYmFja2dyb3VuZC1yZXBlYXQ6IHRydWUgIWRlZmF1bHQ7XHJcbiRub3QtZm91bmQtYmFja2dyb3VuZC1zaXplOiA5MHB4IDMwcHggIWRlZmF1bHQ7XHJcbiRub3QtZm91bmQtaGVhZGluZy0xLWZvbnQtc2l6ZTogMjAwICFkZWZhdWx0O1xyXG4kbm90LWZvdW5kLWhlYWRpbmctMS1mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xyXG4kbm90LWZvdW5kLWhlYWRpbmctMS1jb2xvdXI6ICRjb2xvdXI0ICFkZWZhdWx0O1xyXG4kbm90LWZvdW5kLWhlYWRpbmctMi1mb250LXNpemU6IDYwICFkZWZhdWx0O1xyXG4kbm90LWZvdW5kLWhlYWRpbmctMi1mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xyXG4kbm90LWZvdW5kLWhlYWRpbmctMi1jb2xvdXI6ICRjb2xvdXI2ICFkZWZhdWx0O1xyXG4kbm90LWZvdW5kLWhlYWRpbmctcGFyYWdyYXBoLXNpemU6IDI0ICFkZWZhdWx0O1xyXG4kbm90LWZvdW5kLWhlYWRpbmctcGFyYWdyYXBoLWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XHJcbiRub3QtZm91bmQtcGFyYWdyYXBoLWNvbG91cjogJGNvbG91cjQgIWRlZmF1bHQ7XHJcbiRub3QtZm91bmQtY29udGVudC1jb250YWluZXItd2lkdGg6IChcclxuICAgIHNtYWxsOiA5MHZ3LFxyXG4gICAgbGFyZ2U6IDgwMHB4XHJcbikgIWRlZmF1bHQ7XHJcbiRub3QtZm91bmQtY29udGVudC1jb250YWluZXItcGFkZGluZzogMjBweCAhZGVmYXVsdDtcclxuJG5vdC1mb3VuZC1jb250ZW50LWNvbnRhaW5lci1iYWNrZ3JvdW5kLWNvbG91cjogcmdiYSgkY29sb3VyMSwgMC44KSAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLS0tIEF4aXMgQ291bnRkb3duIC0tLS0tIFxyXG4kY291bnRkb3duLWRpc3BsYXktZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcclxuJGNvdW50ZG93bi1kaXNwbGF5LWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjQsXHJcbiAgICB3YXJuaW5nOiAkY29sb3VyNixcclxuICAgIGFsZXJ0OiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDApXHJcbikgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0tLSBFcXVpcG1lbnQgc2VsZWN0b3IgLS0tLS0gXHJcbiRlcXVpcG1lbnQtc2VsZWN0b3ItYm94LXNoYWRvdzogbnVsbCAhZGVmYXVsdDtcclxuJGVxdWlwbWVudC1zZWxlY3Rvci1oZWFkaW5nLXNpemU6IDI2ICFkZWZhdWx0O1xyXG4kZXF1aXBtZW50LXNlbGVjdG9yLWhlYWRpbmctZm9udC1zdHlsZTogaXRhbGljICFkZWZhdWx0O1xyXG4kZXF1aXBtZW50LXNlbGVjdG9yLWhlYWRpbmctZm9udC13ZWlnaHQ6IDQwMCAhZGVmYXVsdDtcclxuJGVxdWlwbWVudC1zZWxlY3Rvci1oZWFkaW5nLWNvbG91cjogJGNvbG91cjEgIWRlZmF1bHQ7XHJcbiRlcXVpcG1lbnQtc2VsZWN0b3ItYmFja2dyb3VuZC1lbmFibGUtZ3JhZGllbnQ6IHRydWUgIWRlZmF1bHQ7XHJcbiRlcXVpcG1lbnQtc2VsZWN0b3ItYmFja2dyb3VuZC1ncmFkaWFudDogKFxyXG4gICAgY29sb3VyLTE6ICRjb2xvdXIzLTEsXHJcbiAgICBjb2xvdXItMjogJGNvbG91cjMtNlxyXG4pICFkZWZhdWx0O1xyXG4kZXF1aXBtZW50LXNlbGVjdG9yLWxpc3QtaXRlbS1wYWRkaW5nOiAxMHB4ICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tLS0gUGljayAmIE1peCAtLS0tLVxyXG4vLyAtLS0gSGVhZGVyIC0tLVxyXG4kcGljay1uLW1peC1oZWFkaW5nLXNpemU6IDM1ICFkZWZhdWx0O1xyXG4kcGljay1uLW1peC1oZWFkaW5nLWZvbnQtc3R5bGU6ICRlcXVpcG1lbnQtc2VsZWN0b3ItaGVhZGluZy1mb250LXN0eWxlICFkZWZhdWx0O1xyXG4kcGljay1uLW1peC1oZWFkaW5nLWZvbnQtd2VpZ2h0OiAkZXF1aXBtZW50LXNlbGVjdG9yLWhlYWRpbmctZm9udC13ZWlnaHQgIWRlZmF1bHQ7XHJcbiRwaWNrLW4tbWl4LWhlYWRpbmctY29sb3VyOiAkZXF1aXBtZW50LXNlbGVjdG9yLWhlYWRpbmctY29sb3VyICFkZWZhdWx0O1xyXG4kcGljay1uLW1peC1oZWFkZXItY29udGVudC1jb2xvdXI6ICRwaWNrLW4tbWl4LWhlYWRpbmctY29sb3VyICFkZWZhdWx0O1xyXG4kcGljay1uLW1peC1oZWFkZXItY29udGVudC1zZXBlcmF0b3I6IHRydWUgIWRlZmF1bHQ7XHJcbiRwaWNrLW4tbWl4LWhlYWRlci1iYWNrZ3JvdW5kLXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiAzMHB4IDEwcHgsXHJcbiAgICBsYXJnZTogMjBweCAxMHB4XHJcbikgIWRlZmF1bHQ7XHJcbiRwaWNrLW4tbWl4LWhlYWRlci1jb250ZW50LWhpZ2hsaWdodGVkLWNvbG91cjogJGNvbG91cjEgIWRlZmF1bHQ7XHJcbiRwaWNrLW4tbWl4LWhlYWRlci1jb250ZW50LWhpZ2hsaWdodGVkLWJhY2tncm91bmQtY29sb3VyOiAkY29sb3VyNiAhZGVmYXVsdDtcclxuJHBpY2stbi1taXgtYmFja2dyb3VuZC1lbmFibGUtZ3JhZGllbnQ6ICRlcXVpcG1lbnQtc2VsZWN0b3ItYmFja2dyb3VuZC1lbmFibGUtZ3JhZGllbnQgIWRlZmF1bHQ7XHJcbiRwaWNrLW4tbWl4LXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiAwIDAgMjVweCxcclxuICAgIGxhcmdlOiAwIDAgNTBweFxyXG4pICFkZWZhdWx0O1xyXG4vLyAtLS0gU2VsZWN0b3JzIC0tLVxyXG4vLyBXaWR0aCBvbmx5IGluIGRlc2t0b3AuXHJcbiRwaWNrLW4tbWl4LXNlbGVjdG9yLWNvbnRhaW5lci13aWR0aDogJGJvZHktY29weS1tYXgtd2lkdGggIWRlZmF1bHQ7XHJcbiRwaWNrLW4tbWl4LXNlbGVjdG9yLWRlc2NyaXB0aW9uLWNvbG91cjogJHBpY2stbi1taXgtaGVhZGluZy1jb2xvdXIgIWRlZmF1bHQ7XHJcbiRwaWNrLW4tbWl4LXNlbGVjdG9yLWRlc2NyaXB0aW9uLWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XHJcbiRwaWNrLW4tbWl4LXNlbGVjdG9yLWRlc2NyaXB0aW9uLWZvbnQtc2l6ZTogMTggIWRlZmF1bHQ7XHJcbiRwaWNrLW4tbWl4LXNsaWRlci1tYXJnaW46IChcclxuICAgIHNtYWxsOiAwIDIwcHgsXHJcbiAgICBsYXJnZTogMCA0MHB4XHJcbikgIWRlZmF1bHQ7XHJcblxyXG5cclxuXHJcbi8qKiBcclxuICAgIC0tLS0tIEVtYWlsIFRlbXBsYXRlcyAtLS0tLSBcclxuXHJcbiAgICBUSElOSyEuLi4uLi4gTElLRSBSRUFMTFkgVEhJTksgT1VUTE9PSyBCRUZPUkUgTUFLSU5HIENIQU5HRVMsIHRoaW5ncyB0aGF0IHRoZXNlIHZhcmlhYmxlcyB3aWxsIGVmZmVjdDogXHJcbiAgICAtIEZyYWdtZW50cyAoIGFyZSBjb2xvdXJzIGdlbmVyaWMgKSBcclxuICAgIC0gT3V0bG9vayBcclxuICAgIC0gRGlwbG9tYXQgZW1haWwgcGFyYW1ldGVyc1xyXG5cclxuKiovXHJcbiRlbWFpbC10ZW1wbGF0ZS1iYWNrZ3JvdW5kLWNvbG91cjogI2UwZTBlMCAhZGVmYXVsdDtcclxuJGVtYWlsLXRlbXBsYXRlLWNvbnRlbnQtY29udGFpbmVyOiA2NzBweCAhZGVmYXVsdDtcclxuJGVtYWlsLXRlbXBsYXRlLWNvbnRlbnQtY29udGFpbmVyLWNvbG91cjogJGNvbG91cjEgIWRlZmF1bHQ7XHJcbiRlbWFpbC10ZW1wbGF0ZS1jb250ZW50LWNvbnRhaW5lci1ib3JkZXI6IDIwcHggc29saWQgJGVtYWlsLXRlbXBsYXRlLWNvbnRlbnQtY29udGFpbmVyLWNvbG91ciAhZGVmYXVsdDtcclxuJGVtYWlsLXRlbXBsYXRlLXByaWNlLWNvbC13aWR0aDogMTMwcHggIWRlZmF1bHQ7XHJcbiRlbWFpbC10ZW1wbGF0ZS1vcmRlci1kZXRhaWxzLWd1dHRlci13aWR0aDogMzBweCAhZGVmYXVsdDtcclxuJGVtYWlsLXRlbXBsYXRlLWhlYWRpbmctYmFja2dyb3VuZC1jb2xvdXI6ICRjb2xvdXIzLTYgIWRlZmF1bHQ7XHJcbiRlbWFpbC10ZW1wbGF0ZS1oZWFkaW5nLWNvbG91cjogJGNvbG91cjEgIWRlZmF1bHQ7XHJcbiRlbWFpbC10ZW1wbGF0ZS1vcmRlci1kZXRhaWxzLWhlYWRpbmctY29sb3VyOiAkY29sb3VyMiAhZGVmYXVsdDtcclxuJGVtYWlsLXRlbXBsYXRlLW9yZGVyLWRldGFpbHMtYmFja2dyb3VuZC1jb2xvdXI6ICRjb2xvdXIzLTUgIWRlZmF1bHQ7XHJcbiRlbWFpbC10ZW1wbGF0ZS1vcmRlci1kZXRhaWxzLWhlYWRpbmctZm9udC1zaXplOiAyMnB4ICFkZWZhdWx0O1xyXG4kZW1haWwtdGVtcGxhdGUtb3JkZXItZGV0YWlscy1oZWFkaW5nLWJvcmRlci1jb2xvdXI6ICRjb2xvdXIzLTIgIWRlZmF1bHQ7XHJcbiRlbWFpbC10ZW1wbGF0ZS1vcmRlci1pdGVtcy10YWJsZS1oZWFkLWNvbG91cjogJGNvbG91cjIgIWRlZmF1bHQ7XHJcbiRlbWFpbC10ZW1wbGF0ZS1vcmRlci1pdGVtcy10YWJsZS1oZWFkLWZvbnQtc2l6ZTogMTRweCAhZGVmYXVsdDtcclxuJGVtYWlsLXRlbXBsYXRlLW9yZGVyLWl0ZW1zLXRhYmxlLWhlYWQtZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcclxuJGVtYWlsLXRlbXBsYXRlLW9yZGVyLXN1bW1hcnktaGlnaGxpZ2h0ZWQtYmFja2dyb3VuZC1jb2xvdXI6ICRlbWFpbC10ZW1wbGF0ZS1vcmRlci1kZXRhaWxzLWJhY2tncm91bmQtY29sb3VyICFkZWZhdWx0O1xyXG4kZW1haWwtdGVtcGxhdGUtb3JkZXItc3VtbWFyeS1oaWdobGlnaHRlZC1jb2xvdXI6ICRjb2xvdXIyICFkZWZhdWx0O1xyXG4kZW1haWwtdGVtcGxhdGUtb3JkZXItc3VtbWFyeS1oaWdobGlnaHRlZC1mb250LXNpemU6IDE2cHggIWRlZmF1bHQ7XHJcbiRlbWFpbC10ZW1wbGF0ZS1vcmRlci1zdW1tYXJ5LWhpZ2hsaWdodGVkLWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XHJcbiRlbWFpbC10ZW1wbGF0ZS1vcmRlci1zdW1tYXJ5LWZvbnQtd2VpZ2h0OiA0MDAgIWRlZmF1bHQ7XHJcbiRlbWFpbC10ZW1wbGF0ZS1vcmRlci1zdW1tYXJ5LWZvbnQtc2l6ZTogMTRweCAhZGVmYXVsdDtcclxuLy8gLS0tIEVtYWlsIGJ1dHRvbnMgLS0tXHJcbiRlbWFpbC1idXR0b24td2lkdGg6IDIyMHB4ICFkZWZhdWx0O1xyXG4kZW1haWwtYnV0dG9uLXBhZGRpbmc6IDE1cHggMjBweCAhZGVmYXVsdDtcclxuJGVtYWlsLWJ1dHRvbi1mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xyXG4kZW1haWwtYnV0dG9uLWZvbnQtc2l6ZTogMTVweCAhZGVmYXVsdDtcclxuXHJcbi8vIFByaW1hcnlcclxuJGVtYWlsLWJ1dHRvbi1wcmltYXJ5LWNvbG91cjogJGNvbG91cjMtNiAhZGVmYXVsdDtcclxuJGVtYWlsLWJ1dHRvbi1wcmltYXJ5LWJhY2tncm91bmQtY29sb3VyOiAkY29sb3VyMy0xICFkZWZhdWx0O1xyXG4vLyBTZWNvbmRhcnlcclxuJGVtYWlsLWJ1dHRvbi1zZWNvbmRhcnktY29sb3VyOiAkY29sb3VyMSAhZGVmYXVsdDtcclxuJGVtYWlsLWJ1dHRvbi1zZWNvbmRhcnktYmFja2dyb3VuZC1jb2xvdXI6ICRjb2xvdXIzLTMgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0gTWFpbGluZyBsaXN0IHRlbXBsYXRlcyAtLS1cclxuJGVtYWlsLXRlbXBsYXRlLW1haWxpbmctbGlzdC13aWR0aDogNjUwcHggIWRlZmF1bHQ7XHJcbiRlbWFpbC10ZW1wbGF0ZS1tYWlsaW5nLWxpc3QtY29udGVudC1jb250YWluZXItd2lkdGg6IDU5MHB4ICFkZWZhdWx0O1xyXG4kZW1haWwtdGVtcGxhdGUtbWFpbGluZy1saXN0LWZvbnQtZmFtaWx5OiAoXHJcbiAgICB0ZW1wbGF0ZS0xOiBcIkFyaWFsXCJcclxuKSAhZGVmYXVsdDtcclxuXHJcblxyXG5cclxuXHJcblxyXG4iLCJcclxuXHJcbi8vLS0tLS0gSGVhZGluZ3MgLS0tLSBcclxuLy8gVXNlZCB0byBicmVhayBjb250ZW50IG9udG8gbXVsdGlwbGUgbGluZXMgaW4gbW9iaWxlIGJ1dCBpbiBkZXNrdG9wIGl0cyB1c2VkIHRvIGJyZWFrIGNvbnRlbnQgdXAgd2hpbHN0IHJlbWFpbmluZyBvbiB0aGUgc2FtZSBsaW5lLlxyXG4ubW9iaWxlLWJyZWFrIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAwO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIG1hcmdpbjogYXV0byA4cHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5wYWdlLWhlYWRpbmctbW9kdWxlIHtcclxuICAgaDEge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICBAaWYgKG1hcC1nZXQoJGhlYWRpbmctMS10ZXh0LWFsaWduLCBwcmVzZXQtMSkgPT0gXCJjZW50ZXJcIikge1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgfVxyXG4gICAgQGlmIChtYXAtZ2V0KCRoZWFkaW5nLTEtdGV4dC1hbGlnbiwgcHJlc2V0LTEpID09IFwicmlnaHRcIikge1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgICB9XHJcbiAgICAmLnByZXNldDEge1xyXG4gICAgICAgIEBpZiBtYXAtZ2V0KCRoZWFkaW5nLTEtdW5kZXJsaW5lLCBwcmVzZXQtMSkge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBoZWFkaW5nVW5kZXJMaW5lKDEsIG1hcC1nZXQoJGhlYWRpbmctMS1jb2xvdXIsIGRlZmF1bHQpLCAkaGVhZGluZy0xLXJ1bGUtY29sb3VyKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgIH0gXHJcbn1cclxuXHJcbi8vIFRoaXMgaXMgdG8gb3ZlcnJpZGUgRm91bmRhdGlvbidzIG5vcm1hbGl6ZXIuc2NzcywgdGhlcmUgaXMgbm8gY29uZmlndXJhdGlvbiB3aXRoaW4gc2V0dGluZ3Muc2NzcyB0byBoYW5kbGUgdGhpcyBhbmQgd2UgY2Fubm90IHVzZSAhaW1wb3J0YW50LlxyXG5ib2R5IHtcclxuICAgIGgxIHtcclxuICAgICAgICBtYXJnaW46ICRoZWFkaW5nLTEtbWFyZ2luO1xyXG4gICAgfVxyXG59XHJcblxyXG5oMSB7XHJcbiAgICBjb2xvcjogbWFwLWdldCgkaGVhZGluZy0xLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKG1hcC1nZXQoJGNtcy1oZWFkaW5nLWZvbnQtc2l6ZSwgaDEpKTtcclxuICAgIGZvbnQtZmFtaWx5OiAkaGVhZGluZy1mb250LWZhbWlseTtcclxuICAgIEBpZiAoJGhlYWRpbmctY29tbW9uLWxpbmUtaGVpZ2h0KSB7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRoZWFkaW5nLWNvbW1vbi1saW5lLWhlaWdodDtcclxuICAgIH1cclxuICAgICYucHJlc2V0MSB7XHJcbiAgICAgICAgbWFyZ2luOiAkaGVhZGluZy0xLW1hcmdpbjtcclxuICAgICAgICBAaWYgKG1hcC1nZXQoJGhlYWRpbmctMS1wYWRkaW5nLCBwcmVzZXQtMSkpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogbWFwLWdldCgkaGVhZGluZy0xLXBhZGRpbmcsIHByZXNldC0xKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkaW5nLTEtZm9udC1zaXplLCBwcmVzZXQtMSkpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCRoZWFkaW5nLTEtZm9udC13ZWlnaHQsIHByZXNldC0xKTtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbWFwLWdldCgkaGVhZGluZy0xLXRleHQtdHJhbnNmb3JtLCBwcmVzZXQtMSk7IFxyXG4gICAgICAgIEBpZiAobWFwLWdldCgkaGVhZGluZy0xLXRleHQtYWxpZ24sIHByZXNldC0xKSkge1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBtYXAtZ2V0KCRoZWFkaW5nLTEtdGV4dC1hbGlnbiwgcHJlc2V0LTEpO1xyXG4gICAgICAgIH0gXHJcbiAgICAgICAgQGlmIChtYXAtZ2V0KCRoZWFkaW5nLTEtY29sb3VyLCBwcmVzZXQtMSkpIHtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGhlYWRpbmctMS1jb2xvdXIsIHByZXNldC0xKTtcclxuICAgICAgICB9IFxyXG4gICAgICAgIEBpZiAobWFwLWdldCgkaGVhZGluZy0xLWJhY2tncm91bmQtY29sb3VyLCBwcmVzZXQtMSkpIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkaGVhZGluZy0xLWJhY2tncm91bmQtY29sb3VyLCBwcmVzZXQtMSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiAobWFwLWdldCgkaGVhZGluZy0xLWJvcmRlci1yYWRpdXMsIHByZXNldC0xKSkge1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiBtYXAtZ2V0KCRoZWFkaW5nLTEtYm9yZGVyLXJhZGl1cywgcHJlc2V0LTEpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgbWFwLWdldCgkaGVhZGluZy0xLWxldHRlci1zcGFjaW5nLCBwcmVzZXQtMSkge1xyXG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogbWFwLWdldCgkaGVhZGluZy0xLWxldHRlci1zcGFjaW5nLCBwcmVzZXQtMSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5wcmVzZXQyIHtcclxuICAgICAgICBAaWYgKG1hcC1nZXQoJGhlYWRpbmctMS1wYWRkaW5nLCBwcmVzZXQtMikpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogbWFwLWdldCgkaGVhZGluZy0xLXBhZGRpbmcsIHByZXNldC0yKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkaW5nLTEtZm9udC1zaXplLCBwcmVzZXQtMikpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCRoZWFkaW5nLTEtZm9udC13ZWlnaHQsIHByZXNldC0yKTtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbWFwLWdldCgkaGVhZGluZy0xLXRleHQtdHJhbnNmb3JtLCBwcmVzZXQtMik7XHJcbiAgICAgICAgQGlmIChtYXAtZ2V0KCRoZWFkaW5nLTEtdGV4dC1hbGlnbiwgcHJlc2V0LTIpKSB7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IG1hcC1nZXQoJGhlYWRpbmctMS10ZXh0LWFsaWduLCBwcmVzZXQtMik7XHJcbiAgICAgICAgfSBcclxuICAgICAgICBAaWYgKG1hcC1nZXQoJGhlYWRpbmctMS1jb2xvdXIsIHByZXNldC0yKSkgYW5kIG5vdCBtYXAtZ2V0KCRoZWFkaW5nLTEtdW5kZXJsaW5lLCBwcmVzZXQtMikge1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkaGVhZGluZy0xLWNvbG91ciwgcHJlc2V0LTIpO1xyXG4gICAgICAgIH0gXHJcbiAgICAgICAgQGlmIChtYXAtZ2V0KCRoZWFkaW5nLTEtYmFja2dyb3VuZC1jb2xvdXIsIHByZXNldC0yKSkge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRoZWFkaW5nLTEtYmFja2dyb3VuZC1jb2xvdXIsIHByZXNldC0yKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmIChtYXAtZ2V0KCRoZWFkaW5nLTEtYm9yZGVyLXJhZGl1cywgcHJlc2V0LTIpKSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IG1hcC1nZXQoJGhlYWRpbmctMS1ib3JkZXItcmFkaXVzLCBwcmVzZXQtMik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiBtYXAtZ2V0KCRoZWFkaW5nLTEtdW5kZXJsaW5lLCBwcmVzZXQtMikge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBoZWFkaW5nVW5kZXJMaW5lKDEsIG1hcC1nZXQoJGhlYWRpbmctMS1jb2xvdXIsIHByZXNldC0yKSwgJGhlYWRpbmctMS1ydWxlLWNvbG91ciwgc3BhY2luZy12YWx1ZSgkaGVhZGluZy0xLXBhZGRpbmcsIDMsIHByZXNldC0yKSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiBtYXAtZ2V0KCRoZWFkaW5nLTEtbGV0dGVyLXNwYWNpbmcsIHByZXNldC0yKSB7XHJcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiBtYXAtZ2V0KCRoZWFkaW5nLTEtbGV0dGVyLXNwYWNpbmcsIHByZXNldC0yKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuaDIge1xyXG4gICAgY29sb3I6IG1hcC1nZXQoJGhlYWRpbmctMi1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgZm9udC1zaXplOiByZW0tY2FsYyhtYXAtZ2V0KCRjbXMtaGVhZGluZy1mb250LXNpemUsIGgyKSk7XHJcbiAgICBmb250LWZhbWlseTogJGhlYWRpbmctZm9udC1mYW1pbHk7XHJcbiAgICBAaWYgJGhlYWRpbmctMi1mb250LXN0eWxlIHtcclxuICAgICAgICBmb250LXN0eWxlOiAkaGVhZGluZy0yLWZvbnQtc3R5bGU7XHJcbiAgICB9XHJcbiAgICBsaW5lLWhlaWdodDogJGhlYWRpbmctMi1saW5lLWhlaWdodDtcclxuICAgICYucHJlc2V0MSB7XHJcbiAgICAgICAgcGFkZGluZzogbWFwLWdldCgkaGVhZGluZy0yLXBhZGRpbmcsIHByZXNldC0xKTtcclxuICAgICAgICBtYXJnaW46IHNtYWxsLXZhbHVlKG1hcC1nZXQoJGhlYWRpbmctMi1tYXJnaW4sIHByZXNldC0xKSk7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGhlYWRpbmctMi1jb2xvdXIsIHByZXNldC0xKTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRoZWFkaW5nLTItYmFja2dyb3VuZC1jb2xvdXIsIHByZXNldC0xKTtcclxuICAgICAgICB0ZXh0LWFsaWduOiBtYXAtZ2V0KCRoZWFkaW5nLTItdGV4dC1hbGlnbiwgcHJlc2V0LTEpO1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBtYXAtZ2V0KCRoZWFkaW5nLTItdGV4dC10cmFuc2Zvcm0sIHByZXNldC0xKTtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRpbmctMi1mb250LXNpemUsIHByZXNldC0xKSk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJGhlYWRpbmctMi1mb250LXdlaWdodCwgcHJlc2V0LTEpO1xyXG4gICAgICAgIGxldHRlci1zcGFjaW5nOiBtYXAtZ2V0KCRoZWFkaW5nLTItbGV0dGVyLXNwYWNpbmcsIHByZXNldC0xKTtcclxuICAgICAgICB3b3JkLXNwYWNpbmc6IG1hcC1nZXQoJGhlYWRpbmctMi13b3JkLXNwYWNpbmcsIHByZXNldC0xKTtcclxuICAgICAgICBAaWYgc21vb3RoLWVkZ2VzKCkge1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmICgkaGVhZGluZy0yLWJvcmRlci1ib3R0b20pIHtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogJGhlYWRpbmctMi1ib3JkZXItYm90dG9tO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYucHJlc2V0MiB7XHJcbiAgICAgICAgbWFyZ2luOiBzbWFsbC12YWx1ZShtYXAtZ2V0KCRoZWFkaW5nLTItbWFyZ2luLCBwcmVzZXQtMikpO1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRoZWFkaW5nLTItY29sb3VyLCBwcmVzZXQtMik7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG1hcC1nZXQoJGhlYWRpbmctMi10ZXh0LXRyYW5zZm9ybSwgcHJlc2V0LTIpO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMobWFwLWdldCgkaGVhZGluZy0yLWZvbnQtc2l6ZSwgcHJlc2V0LTIpKTtcclxuICAgICAgICBmb250LXdlaWdodDogbWFwLWdldCgkaGVhZGluZy0yLWZvbnQtd2VpZ2h0LCBwcmVzZXQtMik7XHJcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IG1hcC1nZXQoJGhlYWRpbmctMi1sZXR0ZXItc3BhY2luZywgcHJlc2V0LTIpO1xyXG4gICAgICAgIHdvcmQtc3BhY2luZzogbWFwLWdldCgkaGVhZGluZy0yLXdvcmQtc3BhY2luZywgcHJlc2V0LTIpO1xyXG4gICAgfVxyXG4gICAgLy8gVGhpcyBpcyBiYXNpY2FsbHkgdGhlIHBhZ2UgaGVhZGluZyBzdHlsZXMgd2hlbiB3ZSBjYW5ub3QgdXNlIGEgaDEgKCBpLmUgcHJvZHVjdCBwYWdlIClcclxuICAgICYucHJlc2V0MyB7XHJcbiAgICAgICAgQGlmIG5vdCAoJHBhZ2UtaGVhZGluZy11bmRlcmxpbmUpIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkaGVhZGluZy0yLWNvbG91ciwgcHJlc2V0LTMpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBtYXJnaW46IHNtYWxsLXZhbHVlKG1hcC1nZXQoJGhlYWRpbmctMi1tYXJnaW4sIHByZXNldC0zKSk7XHJcbiAgICAgICAgcGFkZGluZzogbWFwLWdldCgkaGVhZGluZy0yLXBhZGRpbmcsIHByZXNldC0zKTtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRpbmctMi1mb250LXNpemUsIHByZXNldC0zKSk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJGhlYWRpbmctMi1mb250LXdlaWdodCwgcHJlc2V0LTMpO1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBtYXAtZ2V0KCRoZWFkaW5nLTItdGV4dC10cmFuc2Zvcm0sIHByZXNldC0zKTtcclxuICAgICAgICBAaWYgKG1hcC1nZXQoJGhlYWRpbmctMi10ZXh0LWFsaWduLCBwcmVzZXQtMykpIHtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogbWFwLWdldCgkaGVhZGluZy0yLXRleHQtYWxpZ24sIHByZXNldC0zKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IG1hcC1nZXQoJGhlYWRpbmctMi1sZXR0ZXItc3BhY2luZywgcHJlc2V0LTMpO1xyXG4gICAgICAgIHdvcmQtc3BhY2luZzogbWFwLWdldCgkaGVhZGluZy0yLXdvcmQtc3BhY2luZywgcHJlc2V0LTMpO1xyXG4gICAgICAgIEBpZiAobWFwLWdldCgkaGVhZGluZy0yLWJhY2tncm91bmQtY29sb3VyLCBwcmVzZXQtMykpIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkaGVhZGluZy0yLWJhY2tncm91bmQtY29sb3VyLCBwcmVzZXQtMyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiAobWFwLWdldCgkaGVhZGluZy0yLWJvcmRlci1yYWRpdXMsIHByZXNldC0zKSkge1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiBtYXAtZ2V0KCRoZWFkaW5nLTItYm9yZGVyLXJhZGl1cywgcHJlc2V0LTMpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgKCRwYWdlLWhlYWRpbmctdW5kZXJsaW5lKSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGhlYWRpbmdVbmRlckxpbmUoMSwgbWFwLWdldCgkaGVhZGluZy0yLWNvbG91ciwgcHJlc2V0LTMpLCAkaGVhZGluZy0xLXJ1bGUtY29sb3VyKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICB9XHJcbiAgICAmLnByZXNldDQge1xyXG4gICAgICAgIHBhZGRpbmc6IG1hcC1nZXQoJGhlYWRpbmctMi1wYWRkaW5nLCBwcmVzZXQtNCk7XHJcbiAgICAgICAgbWFyZ2luOiBzbWFsbC12YWx1ZShtYXAtZ2V0KCRoZWFkaW5nLTItbWFyZ2luLCBwcmVzZXQtNCkpO1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRoZWFkaW5nLTItY29sb3VyLCBwcmVzZXQtNCk7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkaGVhZGluZy0yLWJhY2tncm91bmQtY29sb3VyLCBwcmVzZXQtNCk7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkaW5nLTItZm9udC1zaXplLCBwcmVzZXQtNCkpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCRoZWFkaW5nLTItZm9udC13ZWlnaHQsIHByZXNldC00KTtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG1hcC1nZXQoJGhlYWRpbmctMi10ZXh0LXRyYW5zZm9ybSwgcHJlc2V0LTQpO1xyXG4gICAgICAgIEBpZiAobWFwLWdldCgkaGVhZGluZy0yLXRleHQtdHJhbnNmb3JtLCBwcmVzZXQtNCkgPT0gXCJ1cHBlcmNhc2VcIikge1xyXG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogaWYobWFwLWdldCgkaGVhZGluZy0yLWxldHRlci1zcGFjaW5nLCBwcmVzZXQtNCkgPT0gbnVsbCwycHgsbWFwLWdldCgkaGVhZGluZy0yLWxldHRlci1zcGFjaW5nLCBwcmVzZXQtNCkpO1xyXG4gICAgICAgICAgICB3b3JkLXNwYWNpbmc6IDJweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmIHNtb290aC1lZGdlcygpIHtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWFyZ2luOiBsYXJnZS12YWx1ZShtYXAtZ2V0KCRoZWFkaW5nLTItbWFyZ2luLCBwcmVzZXQtNCkpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5oMyB7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBmb250LWZhbWlseTogJGhlYWRpbmctZm9udC1mYW1pbHk7XHJcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKG1hcC1nZXQoJGNtcy1oZWFkaW5nLWZvbnQtc2l6ZSwgaDMpKTtcclxuICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCRoZWFkaW5nLTMtZm9udC13ZWlnaHQsIGRlZmF1bHQpO1xyXG4gICAgY29sb3I6IG1hcC1nZXQoJGhlYWRpbmctMy1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgQGlmICgkaGVhZGluZy1jb21tb24tbGV0dGVyLXNwYWNpbmcpIHtcclxuICAgICAgICBsZXR0ZXItc3BhY2luZzogJGhlYWRpbmctY29tbW9uLWxldHRlci1zcGFjaW5nO1xyXG4gICAgfVxyXG4gICAgQGlmICgkaGVhZGluZy1jb21tb24tbGluZS1oZWlnaHQpIHtcclxuICAgICAgICBsaW5lLWhlaWdodDogJGhlYWRpbmctY29tbW9uLWxpbmUtaGVpZ2h0O1xyXG4gICAgfVxyXG4gICAgJi5wcmVzZXQxIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBtYXJnaW46IG1hcC1nZXQoJGhlYWRpbmctMy1tYXJnaW4sIHByZXNldC0xKTtcclxuICAgICAgICBwYWRkaW5nOiBtYXAtZ2V0KCRoZWFkaW5nLTMtcGFkZGluZywgcHJlc2V0LTEpO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGhlYWRpbmctMy1iYWNrZ3JvdW5kLWNvbG91ciwgcHJlc2V0LTEpO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRpbmctMy1mb250LXNpemUsIHByZXNldC0xKSk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJGhlYWRpbmctMy1mb250LXdlaWdodCwgcHJlc2V0LTEpO1xyXG4gICAgICAgIEBpZiAobWFwLWdldCgkaGVhZGluZy0zLWxldHRlci1zcGFjaW5nLCBwcmVzZXQtMSkpIHtcclxuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IG1hcC1nZXQoJGhlYWRpbmctMy1sZXR0ZXItc3BhY2luZywgcHJlc2V0LTEpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgc21vb3RoLWVkZ2VzKCkge1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG1hcC1nZXQoJGhlYWRpbmctMy10ZXh0LXRyYW5zZm9ybSwgcHJlc2V0LTEpO1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRoZWFkaW5nLTMtY29sb3VyLCBwcmVzZXQtMSk7XHJcbiAgICB9XHJcbiAgICAmLnByZXNldDIge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBtYXJnaW46IG1hcC1nZXQoJGhlYWRpbmctMy1tYXJnaW4sIHByZXNldC0yKTtcclxuICAgICAgICBwYWRkaW5nOiBtYXAtZ2V0KCRoZWFkaW5nLTMtcGFkZGluZywgcHJlc2V0LTIpO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMobWFwLWdldCgkaGVhZGluZy0zLWZvbnQtc2l6ZSwgcHJlc2V0LTIpKTtcclxuICAgICAgICBAaWYgKG1hcC1nZXQoJGhlYWRpbmctMy1sZXR0ZXItc3BhY2luZywgcHJlc2V0LTIpKSB7XHJcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiBtYXAtZ2V0KCRoZWFkaW5nLTMtbGV0dGVyLXNwYWNpbmcsIHByZXNldC0yKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG1hcC1nZXQoJGhlYWRpbmctMy10ZXh0LXRyYW5zZm9ybSwgcHJlc2V0LTIpO1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRoZWFkaW5nLTMtY29sb3VyLCBwcmVzZXQtMik7XHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAkY29tbW9uLWhlYWRpbmctcnVsZS13ZWlnaHQ7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDAgMCAjeyRjb21tb24taGVhZGluZy1ydWxlLXdlaWdodH0gMDtcclxuICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkaGVhZGluZy1ydWxlLWNvbG91cjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuaDQge1xyXG4gICAgY29sb3I6ICRoZWFkaW5nLTQtY29sb3VyO1xyXG4gICAgZm9udC1zaXplOiByZW0tY2FsYyhtYXAtZ2V0KCRjbXMtaGVhZGluZy1mb250LXNpemUsIGg0KSk7XHJcbiAgICBmb250LXdlaWdodDogbWFwLWdldCgkY21zLWhlYWRpbmctZm9udC13ZWlnaHQsIGg0KTtcclxuICAgIGZvbnQtZmFtaWx5OiAkaGVhZGluZy1mb250LWZhbWlseTtcclxuICAgIEBpZiAoJGhlYWRpbmctY29tbW9uLWxldHRlci1zcGFjaW5nKSB7XHJcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6ICRoZWFkaW5nLWNvbW1vbi1sZXR0ZXItc3BhY2luZztcclxuICAgIH1cclxuICAgIEBpZiAoJGhlYWRpbmctY29tbW9uLWxpbmUtaGVpZ2h0KSB7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRoZWFkaW5nLWNvbW1vbi1saW5lLWhlaWdodDtcclxuICAgIH1cclxufVxyXG5oNSB7XHJcbiAgICBjb2xvcjogJGhlYWRpbmctNS1jb2xvdXI7XHJcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKG1hcC1nZXQoJGNtcy1oZWFkaW5nLWZvbnQtc2l6ZSwgaDUpKTtcclxuICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCRjbXMtaGVhZGluZy1mb250LXdlaWdodCwgaDUpO1xyXG4gICAgZm9udC1mYW1pbHk6ICRoZWFkaW5nLWZvbnQtZmFtaWx5O1xyXG4gICAgQGlmICgkaGVhZGluZy1jb21tb24tbGV0dGVyLXNwYWNpbmcpIHtcclxuICAgICAgICBsZXR0ZXItc3BhY2luZzogJGhlYWRpbmctY29tbW9uLWxldHRlci1zcGFjaW5nO1xyXG4gICAgfVxyXG4gICAgQGlmICgkaGVhZGluZy1jb21tb24tbGluZS1oZWlnaHQpIHtcclxuICAgICAgICBsaW5lLWhlaWdodDogJGhlYWRpbmctY29tbW9uLWxpbmUtaGVpZ2h0O1xyXG4gICAgfVxyXG59XHJcbmg2IHtcclxuICAgIGNvbG9yOiAkaGVhZGluZy02LWNvbG91cjtcclxuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMobWFwLWdldCgkY21zLWhlYWRpbmctZm9udC1zaXplLCBoNikpO1xyXG4gICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJGNtcy1oZWFkaW5nLWZvbnQtd2VpZ2h0LCBoNik7XHJcbiAgICBmb250LWZhbWlseTogJGhlYWRpbmctZm9udC1mYW1pbHk7XHJcbiAgICBAaWYgKCRoZWFkaW5nLWNvbW1vbi1sZXR0ZXItc3BhY2luZykge1xyXG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAkaGVhZGluZy1jb21tb24tbGV0dGVyLXNwYWNpbmc7XHJcbiAgICB9XHJcbiAgICBAaWYgKCRoZWFkaW5nLWNvbW1vbi1saW5lLWhlaWdodCkge1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkaGVhZGluZy1jb21tb24tbGluZS1oZWlnaHQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLS0tIENhbGxvdXQgdHlwb2dyYXBoeSAtLS0tLVxyXG4uY2FsbG91dCB7XHJcbiAgICAmLmFsZXJ0IHtcclxuICAgICAgICBoNSwgcCB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyMTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyBVc2VkIGZvciBhbGlnbmluZyB0ZXh0IGNlbnRlciAvIHJpZ2h0LlxyXG4udGV4dC1jb250YWluZXIge1xyXG4gICAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgLy8gTWFrZSBzdXJlIHRoaXMgZ2V0cyBzZXQgdG8gYSBibG9jayBlbGVtZW50IHdoZW4gaW5pdGlhbGx5IG1lYXN1cmluZy5cclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIC8vIE9uY2UgbWVhc3VyaW5nIGhhcyBjb21wbGV0ZWQgZmxleGJveCBpcyB0aGVuIHVzZWQsIGJhc2VsaW5lIG5lZWRzIHRvIGdldCBzZXQgdG8ga2VlcCB0aGUgdGV4dCB2ZXJ0aWNhbGx5IGlubGluZSB3aXRoIG90aGVyIGNvbHVtbnMuXHJcbiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xyXG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgICAgIC8vIE90aGVyd2lzZSBpbiBmb3IgbGFyZ2UgdGFibGV0cyBzdWNoIGFzIElwYWQncyB0aGUgY29udGFpbmVyIGdvZXMgaW4gdGhlIGNlbnRlciBvZiB0aGUgc2NyZWVuLlxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFuZHNjYXBlKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmFsaWduLWxlZnQge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLy8gLS0tLS0gQW5jaG9ycyAtLS0tIFxyXG5hIHtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogJGFuY2hvcnMtdGV4dC1kZWNvcmF0aW9uO1xyXG4gICAgLy8gTW92aW5nIHRvIENTUyB2YXJpYWJsZXMgdG8gc3VwcG9ydCBzaXRlLXN0eWxlKHMpIDg1MDI4OC5cclxuICAgIC8vIGNvbG9yOiBtYXAtZ2V0KCRhbmNob3JzLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICBjb2xvcjogdmFyKCN7ZGVmYXVsdC1jb2xvdXIoJGFuY2hvcnMtY29sb3VyKX0sICRjb2xvdXI0KTtcclxuICAgIGZvbnQtd2VpZ2h0OiAkYW5jaG9ycy1mb250LXdlaWdodDtcclxuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGFuY2hvcnMtZm9udC1zaXplKTtcclxuICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm8sIG9wYWNpdHkgJHRyYW5zaXRpb25PdXRybztcclxuICAgICYuc3VjY2VzcyB7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJHN1Y2Nlc3MtY29sb3VyLCAwKTtcclxuICAgICAgICAmOmJlZm9yZSwgJjphZnRlciB7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRzdWNjZXNzLWNvbG91ciwgMCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi53YXJuaW5nIHtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkd2FybmluZy1jb2xvdXIsIDApO1xyXG4gICAgICAgICY6YmVmb3JlLCAmOmFmdGVyIHtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJHdhcm5pbmctY29sb3VyLCAwKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmFsZXJ0IHtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKTtcclxuICAgICAgICAmOmJlZm9yZSwgJjphZnRlciB7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDApO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuZWRpdCB7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgZWRpdCk7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lUmVndWxhcjtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxN3B4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuZGlzYWJsZWQge1xyXG4gICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XHJcbiAgICAgICAgb3BhY2l0eTogJGJ1dHRvbi1kaXNhYmxlZC1vcGFjaXR5O1xyXG4gICAgfVxyXG4gICAgJi5uZXdzLWJ1dHRvbiB7XHJcbiAgICAgICAgQGlmIG1hcC1nZXQoJGNtcy1tb2R1bGUtc3VwcHJlc3MtbGlzdC1idXR0b24sIG5ld3MpIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICAgICAgICAgIGNvbG9yOiBkZWZhdWx0LWNvbG91cigkY21zLWJ1dHRvbi1saW5rLWNvbG91cik7XHJcbiAgICAgICAgICAgIEBpZiAoJGNtcy1idXR0b24tbGluay1mb250LXNpemUpIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGNtcy1idXR0b24tbGluay1mb250LXNpemUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkY21zLWJ1dHRvbi1saW5rLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICBmb250LXN0eWxlOiAkY21zLWJ1dHRvbi1saW5rLWZvbnQtc3R5bGU7XHJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgbmV3cyk7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAwIDEwcHg7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogZGVmYXVsdC1jb2xvdXIoJGNtcy1idXR0b24tbGluay1pY29uLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lUmVndWxhcjtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJG5ld3MtYnV0dG9uLWljb24tc2l6ZSk7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IGhvdmVyLWNvbG91cigkY21zLWJ1dHRvbi1saW5rLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogaG92ZXItY29sb3VyKCRjbXMtYnV0dG9uLWxpbmstaWNvbi1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IGFjdGl2ZS1jb2xvdXIoJGNtcy1idXR0b24tbGluay1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IGFjdGl2ZS1jb2xvdXIoJGNtcy1idXR0b24tbGluay1pY29uLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmJsb2ctYnV0dG9uIHtcclxuICAgICAgICBAaWYgbWFwLWdldCgkY21zLW1vZHVsZS1zdXBwcmVzcy1saXN0LWJ1dHRvbiwgYmxvZykge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcclxuICAgICAgICAgICAgY29sb3I6IGRlZmF1bHQtY29sb3VyKCRjbXMtYnV0dG9uLWxpbmstY29sb3VyKTtcclxuICAgICAgICAgICAgQGlmICgkY21zLWJ1dHRvbi1saW5rLWZvbnQtc2l6ZSkge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkY21zLWJ1dHRvbi1saW5rLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRjbXMtYnV0dG9uLWxpbmstZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgIGZvbnQtc3R5bGU6ICRjbXMtYnV0dG9uLWxpbmstZm9udC1zdHlsZTtcclxuICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBibG9nKTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDAgMTBweDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBkZWZhdWx0LWNvbG91cigkY21zLWJ1dHRvbi1saW5rLWljb24tY29sb3VyKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVSZWd1bGFyO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkYmxvZy1idXR0b24taWNvbi1zaXplKTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcblxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IGhvdmVyLWNvbG91cigkY21zLWJ1dHRvbi1saW5rLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogaG92ZXItY29sb3VyKCRjbXMtYnV0dG9uLWxpbmstaWNvbi1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IGFjdGl2ZS1jb2xvdXIoJGNtcy1idXR0b24tbGluay1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IGFjdGl2ZS1jb2xvdXIoJGNtcy1idXR0b24tbGluay1pY29uLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmV2ZW50cy1idXR0b24ge1xyXG4gICAgICAgIEBpZiBtYXAtZ2V0KCRjbXMtbW9kdWxlLXN1cHByZXNzLWxpc3QtYnV0dG9uLCBldmVudHMpIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICAgICAgICAgIGNvbG9yOiBkZWZhdWx0LWNvbG91cigkY21zLWJ1dHRvbi1saW5rLWNvbG91cik7XHJcbiAgICAgICAgICAgIEBpZiAoJGNtcy1idXR0b24tbGluay1mb250LXNpemUpIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGNtcy1idXR0b24tbGluay1mb250LXNpemUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkY21zLWJ1dHRvbi1saW5rLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICBmb250LXN0eWxlOiAkY21zLWJ1dHRvbi1saW5rLWZvbnQtc3R5bGU7XHJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgZXZlbnRzKTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDAgMTBweDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBkZWZhdWx0LWNvbG91cigkY21zLWJ1dHRvbi1saW5rLWljb24tY29sb3VyKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVSZWd1bGFyO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkZXZlbnRzLWJ1dHRvbi1pY29uLXNpemUpO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBob3Zlci1jb2xvdXIoJGNtcy1idXR0b24tbGluay1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IGhvdmVyLWNvbG91cigkY21zLWJ1dHRvbi1saW5rLWljb24tY29sb3VyKTtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBhY3RpdmUtY29sb3VyKCRjbXMtYnV0dG9uLWxpbmstY29sb3VyKTtcclxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBhY3RpdmUtY29sb3VyKCRjbXMtYnV0dG9uLWxpbmstaWNvbi1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5leHRlcm5hbC1saW5rLWljb24ge1xyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBleHRlcm5hbC1saW5rLWljb24pO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiAkYW5jaG9ycy1ob3Zlci10ZXh0LWRlY29yYXRpb247XHJcbiAgICAgICAgLy8gTW92aW5nIHRvIENTUyB2YXJpYWJsZXMgdG8gc3VwcG9ydCBzaXRlLXN0eWxlKHMpIDg1MDI4OC5cclxuICAgICAgICAvL2NvbG9yOiBtYXAtZ2V0KCRhbmNob3JzLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgIGNvbG9yOiB2YXIoI3tob3Zlci1jb2xvdXIoJGFuY2hvcnMtY29sb3VyKX0sICRjb2xvdXI2KTtcclxuICAgICAgICBvcGFjaXR5OiAka25vY2tCYWNrMjtcclxuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvLCBvcGFjaXR5ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICB9XHJcbiAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgLy8gTW92aW5nIHRvIENTUyB2YXJpYWJsZXMgdG8gc3VwcG9ydCBzaXRlLXN0eWxlKHMpIDg1MDI4OC5cclxuICAgICAgICAvL2NvbG9yOiBtYXAtZ2V0KCRhbmNob3JzLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICBjb2xvcjogdmFyKCN7YWN0aXZlLWNvbG91cigkYW5jaG9ycy1jb2xvdXIpfSwgJGNvbG91cjMtNik7XHJcbiAgICB9XHJcbiAgICAvLyBUT0RPOiBUaGlzIGNhbiBiZSBwaGFzZWQgb3V0IHVzZSBhdHRhY2htZW50LWNvbnRhaW5lciBpbnN0ZWFkLlxyXG4gICAgJi5wZGYtZG93bmxvYWQge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkZmlsZS10eXBlLWljb25zLCBwZGYpO1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRwZGYtdGFibGUtYW5jaG9yLW1hcmdpbjtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAoJGZpbGUtaWNvbnMtc2l6ZSAvIDEuMyk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVSZWd1bGFyO1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZmlsZS1pY29ucy1jb2xvdXJzLCBwZGYpO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmhvdmVyOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNjtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLS0tIExpc3RzIC0tLS0tIFxyXG5vbCB7XHJcbiAgICBsaSB7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tLS0gU2VwZXJhdG9ycyAtLS0tLS0gXHJcbmhyIHtcclxuICAgICYubW9iaWxlLXNlcGVyYXRvciB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tLS0gQWRkcmVzcyBGb3JtYXR0aW5nIC0tLS0tXHJcbmFkZHJlc3Mge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIC8vIElmIHRoaXMgaXMgbWFkZSBjb25maWd1cmFibGUgaW4gdGhlIGZ1dHVyZSB0aGVuIHJlY2hlY2sgY2hlY2tvdXQgY29tcGxldGUgZGVsaXZlcnkgIGFkZHJlc3MgZm9udCBzdHlsZSB0byBtYWtlIHN1cmUgaXQgaXMgY29uc2lzdGVudCB3aXRoIG9yZGVyIGRldGFpbHMuXHJcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XHJcbiAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvdXI7XHJcbiAgICBzcGFuIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tLS0gSWNvbnMgLS0tLS1cclxuLy8gRHVlIHRvIGRlc2t0b3AgaGF2aW5nIGFjY2VzcyB0byB0b29sdGlwcyAoIHRpdGxlIGF0dHJpYnV0ZSApIHdlIG5lZWQgYSBtZWNoYW5pc20gdG8gZGlzcGxheSB0aGlzIGZvciBtb2JpbGUgZGV2aWNlcyBkdWUgdG8gdGhlIGFic2VuY2Ugb2YgdGhlIGhvdmVyIHN0YXRlLlxyXG5zcGFuW2NsYXNzKj1cIi1pY29uXCJdIHtcclxuICAgIC5pY29uLXRleHQge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcbi8vIC0tLS0tIFByaWNpbmcgLS0tLS0tIFxyXG5AaW5jbHVkZSBwcmljZSgpO1xyXG5cclxuLy8gLS0tLS0gSG9yaXpvbnRhbCBSdWxlcyAtLS0tLS1cclxuaHIge1xyXG4gICAgbWFyZ2luOiAyNXB4IDA7XHJcbn0iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnJlYWtwb2ludHNcbi8vLy9cblxuLy8vIFBhdGNoIHRvIGZpeCBpc3N1ZSAjMTIwODBcbiQtemYtc2l6ZTogbnVsbDtcblxuLy8vIEEgbGlzdCBvZiBuYW1lZCBicmVha3BvaW50cy4gWW91IGNhbiB1c2UgdGhlc2Ugd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdG8gcXVpY2tseSBjcmVhdGUgbWVkaWEgcXVlcmllcy5cbi8vLyBAdHlwZSBNYXBcbiRicmVha3BvaW50czogKFxuICBcInNtYWxsXCI6IDAsXG4gIFwibWVkaXVtXCI6IDY0MHB4LFxuICBcImxhcmdlXCI6IDEwMjRweCxcbiAgXCJ4bGFyZ2VcIjogMTIwMHB4LFxuICBcInh4bGFyZ2VcIjogMTQ0MHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vIEEgbGlzdCBvZiBuYW1lZCBIaURQSSBicmVha3BvaW50cy4gWW91IGNhbiB1c2UgdGhlc2Ugd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdG8gcXVpY2tseSBjcmVhdGUgbWVkaWEgcXVlcmllcyBmb3IgcmVzb2x1dGlvbnMuXG4vLy8gVmFsdWVzIG11c3QgcmVwcmVzZW50IHRoZSBkZXZpY2UgcGl4ZWxzIC8gd2ViIHBpeGVscyByYXRpb24gYW5kIGJlIHVuaXRsZXNzIG9yIGluIERQUFguXG4vLy8gQHR5cGUgTWFwXG4kYnJlYWtwb2ludHMtaGlkcGk6IChcbiAgXCJoaWRwaS0xXCI6IDEsXG4gIFwiaGlkcGktMS01XCI6IDEuNSxcbiAgXCJoaWRwaS0yXCI6IDIsXG4gIFwicmV0aW5hXCI6IDIsXG4gIFwiaGlkcGktM1wiOiAzXG4pICFkZWZhdWx0O1xuXG4vLy8gVGhlIGxhcmdlc3QgbmFtZWQgYnJlYWtwb2ludCBpbiB3aGljaCB0byBpbmNsdWRlIHByaW50IGFzIGEgbWVkaWEgdHlwZVxuLy8vIEB0eXBlIEtleXdvcmRcbiRwcmludC1icmVha3BvaW50OiBsYXJnZSAhZGVmYXVsdDtcblxuJC16Zi16ZXJvLWJyZWFrcG9pbnQ6IHNtYWxsICFkZWZhdWx0O1xuXG4kLXpmLWJyZWFrcG9pbnRzLWtleXM6IG1hcC10by1saXN0KCRicmVha3BvaW50cywgJ2tleXMnKTtcblxuQGlmIG50aChtYXAtdmFsdWVzKCRicmVha3BvaW50cyksIDEpICE9IDAge1xuICBAZXJyb3IgJ1RoZSBmaXJzdCBrZXkgaW4gdGhlICRicmVha3BvaW50cyBtYXAgbXVzdCBoYXZlIGEgdmFsdWUgb2YgXCIwXCIuJztcbn1cbkBlbHNlIHtcbiAgJC16Zi16ZXJvLWJyZWFrcG9pbnQ6IG50aChtYXAta2V5cygkYnJlYWtwb2ludHMpLCAxKTtcbn1cblxuLy8vIEFsbCBvZiB0aGUgbmFtZXMgaW4gdGhpcyBsaXN0IHdpbGwgYmUgb3V0cHV0IGFzIGNsYXNzZXMgaW4geW91ciBDU1MsIGxpa2UgYC5zbWFsbC0xMmAsIGAubWVkaXVtLTZgLCBhbmQgc28gb24uIEVhY2ggdmFsdWUgaW4gdGhpcyBsaXN0IG11c3QgYWxzbyBiZSBpbiB0aGUgYCRicmVha3BvaW50c2AgbWFwLlxuLy8vIEB0eXBlIExpc3RcbiRicmVha3BvaW50LWNsYXNzZXM6IChzbWFsbCBtZWRpdW0gbGFyZ2UpICFkZWZhdWx0O1xuXG4vLy8gR2VuZXJhdGVzIGEgbWVkaWEgcXVlcnkgc3RyaW5nIG1hdGNoaW5nIHRoZSBpbnB1dCB2YWx1ZS4gUmVmZXIgdG8gdGhlIGRvY3VtZW50YXRpb24gZm9yIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0byBzZWUgd2hhdCB0aGUgcG9zc2libGUgaW5wdXRzIGFyZS5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICR2YWwgW3NtYWxsXSAtIEJyZWFrcG9pbnQgbmFtZSwgb3IgcHgsIHJlbSwgb3IgZW0gdmFsdWUgdG8gcHJvY2Vzcy5cbkBmdW5jdGlvbiBicmVha3BvaW50KCR2YWw6ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gIC8vIFdlYiBzdGFuZGFyZCBQaXhlbHMgcGVyIGluY2guICgxZGRweCAvICRzdGQtd2ViLWRwaSkgPSAxZHBpXG4gIC8vIFNlZSBodHRwczovL3d3dy53My5vcmcvVFIvY3NzLXZhbHVlcy0zLyNhYnNvbHV0ZS1sZW5ndGhzXG4gICRzdGQtd2ViLWRwaTogOTY7XG5cbiAgLy8gU2l6ZSBvciBrZXl3b3JkXG4gICRicDogbnRoKCR2YWwsIDEpO1xuICAvLyBWYWx1ZSBvZiB0aGUgZm9sbG93aW5nIGJyZWFrcG9pbnRcbiAgJGJwLW5leHQ6IG51bGw7XG4gIC8vIFZhbHVlIGZvciBtYXgtd2lkdGggbWVkaWEgcXVlcmllc1xuICAkYnAtbWluOiBudWxsO1xuICAvLyBWYWx1ZSBmb3IgbWluLXdpZHRoIG1lZGlhIHF1ZXJpZXNcbiAgJGJwLW1heDogbnVsbDtcbiAgLy8gRGlyZWN0aW9uIG9mIG1lZGlhIHF1ZXJ5ICh1cCwgZG93biwgb3Igb25seSlcbiAgJGRpcjogaWYobGVuZ3RoKCR2YWwpID4gMSwgbnRoKCR2YWwsIDIpLCB1cCk7XG4gIC8vIElmIG5hbWVkLCBuYW1lIG9mIHRoZSBicmVha3BvaW50XG4gICRuYW1lOiBudWxsO1xuICAvLyBJZiB0aGUgYnJlYWtwb2ludCBpcyBhIEhpRFBJIGJyZWFrcG9pbnRcbiAgJGhpZHBpOiBmYWxzZTtcblxuICAvLyBPcmllbnRhdGlvbiBtZWRpYSBxdWVyaWVzIGhhdmUgYSB1bmlxdWUgc3ludGF4XG4gIEBpZiAkYnAgPT0gJ2xhbmRzY2FwZScgb3IgJGJwID09ICdwb3J0cmFpdCcge1xuICAgIEByZXR1cm4gJyhvcmllbnRhdGlvbjogI3skYnB9KSc7XG4gIH1cblxuICAvLyBJZiBhIGJyZWFrcG9pbnQgbmFtZSBpcyBnaXZlbiwgZ2V0IGl0cyB2YWx1ZSBmcm9tIHRoZSAkYnJlYWtwb2ludHMvJGJyZWFrcG9pbnRzLWhpZHBpIG1hcC5cbiAgQGlmIHR5cGUtb2YoJGJwKSA9PSAnc3RyaW5nJyB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJGJwKSB7XG4gICAgICAkbmFtZTogJGJwO1xuICAgICAgJGJwOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICAgICAgJGJwLW5leHQ6IC16Zi1tYXAtbmV4dCgkYnJlYWtwb2ludHMsICRuYW1lKTtcbiAgICB9XG4gICAgQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLWhpZHBpLCAkYnApIHtcbiAgICAgICRuYW1lOiAkYnA7XG4gICAgICAkYnA6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLWhpZHBpLCAkbmFtZSk7XG4gICAgICAkYnAtbmV4dDogLXpmLW1hcC1uZXh0LW51bWJlcigkYnJlYWtwb2ludHMtaGlkcGksICRicCk7XG4gICAgICAkaGlkcGk6IHRydWU7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRicDogMDtcbiAgICAgIEB3YXJuICdicmVha3BvaW50KCk6IFwiI3skdmFsfVwiIGlzIG5vdCBkZWZpbmVkIGluIHlvdXIgYCRicmVha3BvaW50c2Agb3IgYCRicmVha3BvaW50cy1oaWRwaWAgc2V0dGluZy4nO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBub3QgJG5hbWUgYW5kICRkaXIgPT0gJ29ubHknIHtcbiAgICBAd2FybiAnYnJlYWtwb2ludCgpOiBPbmx5IG5hbWVkIG1lZGlhIHF1ZXJpZXMgY2FuIGhhdmUgYW4gYG9ubHlgIHJhbmdlLic7XG4gICAgQHJldHVybiBudWxsO1xuICB9XG5cbiAgLy8gT25seSAnb25seScgYW5kICd1cCcgaGF2ZSBhIG1pbiBsaW1pdC5cbiAgQGlmICRkaXIgPT0gJ29ubHknIG9yICRkaXIgPT0gJ3VwJyB7XG4gICAgJGJwLW1pbjogaWYoJGhpZHBpLCBzdHJpcC11bml0KCRicCksIC16Zi1icC10by1lbSgkYnApKTtcbiAgfVxuICAvLyBPbmx5ICdvbmx5JyBhbmQgJ2Rvd24nIGhhdmUgYSBtYXggbGltaXQuXG4gIEBpZiAkZGlyID09ICdvbmx5JyBvciAkZGlyID09ICdkb3duJyB7XG4gICAgLy8gSWYgdGhlIGJyZWFrcG9pbnQgaXMgYSB2YWx1ZSwgdXNlIGl0IGFzIG1heCBsaW1pdC5cbiAgICBAaWYgbm90ICRuYW1lIHtcbiAgICAgICRicC1tYXg6IGlmKCRoaWRwaSwgc3RyaXAtdW5pdCgkYnApLCAtemYtYnAtdG8tZW0oJGJwKSk7XG4gICAgfVxuICAgIC8vIElmIHRoZSBicmVha3BvaW50IGlzIG5hbWVkLCB0aGUgbWF4IGxpbWl0IGlzIHRoZSBmb2xsb3dpbmcgYnJlYWtwb2ludCAtIDFweC5cbiAgICBAZWxzZSBpZiAkYnAtbmV4dCB7XG4gICAgICAvLyBNYXggdmFsdWUgaXMgMC4ycHggdW5kZXIgdGhlIG5leHQgYnJlYWtwb2ludCAoMC4wMiAvIDE2ID0gMC4wMDEyNSkuXG4gICAgICAvLyBVc2UgYSBwcmVjaXNpb24gdW5kZXIgMXB4IHRvIHN1cHBvcnQgYnJvd3NlciB6b29tLCBidXQgbm90IHRvIGxvdyB0byBhdm9pZCByb3VuZGluZy5cbiAgICAgIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vZm91bmRhdGlvbi9mb3VuZGF0aW9uLXNpdGVzL2lzc3Vlcy8xMTMxM1xuICAgICAgJGJwLW1heDogaWYoJGhpZHBpLCAkYnAtbmV4dCAtIGRpdmlkZSgxLCAkc3RkLXdlYi1kcGkpLCAtemYtYnAtdG8tZW0oJGJwLW5leHQpIC0gMC4wMDEyNSk7XG4gICAgfVxuICB9XG5cbiAgLy8gR2VuZXJhdGUgdGhlIG1lZGlhIHF1ZXJ5IHN0cmluZyBmcm9tIG1pbiBhbmQgbWF4IGxpbWl0cy5cbiAgQGlmICRoaWRwaSB7XG4gICAgLy8gR2VuZXJhdGUgdmFsdWVzIGluIERQSSBpbnN0ZWFkIG9mIERQUFggZm9yIGFuIElFOS0xMS9PcGVyYSBtaW5pIGNvbXBhdGliaWxpdHkuXG4gICAgLy8gU2VlIGh0dHBzOi8vY2FuaXVzZS5jb20vI2ZlYXQ9Y3NzLW1lZGlhLXJlc29sdXRpb25cbiAgICAkYnAtbWluLWRwaTogaWYoJGJwLW1pbiwgJGJwLW1pbiAqICRzdGQtd2ViLWRwaSAqIDFkcGksICRicC1taW4pO1xuICAgICRicC1tYXgtZHBpOiBpZigkYnAtbWF4LCAkYnAtbWF4ICogJHN0ZC13ZWItZHBpICogMWRwaSwgJGJwLW1heCk7XG4gICAgQHJldHVybiB6Zi1zdHItam9pbihcbiAgICAgIC16Zi1icC1qb2luKCRicC1taW4sICRicC1tYXgsICctd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW8nLCAnLXdlYmtpdC1tYXgtZGV2aWNlLXBpeGVsLXJhdGlvJyksXG4gICAgICAtemYtYnAtam9pbigkYnAtbWluLWRwaSwgJGJwLW1heC1kcGksICdtaW4tcmVzb2x1dGlvbicsICdtYXgtcmVzb2x1dGlvbicpLFxuICAgICAgJywgJyk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gLXpmLWJwLWpvaW4oJGJwLW1pbiwgJGJwLW1heCk7XG4gIH1cbn1cblxuLy8vIFdyYXBzIGEgbWVkaWEgcXVlcnkgYXJvdW5kIHRoZSBjb250ZW50IHlvdSBwdXQgaW5zaWRlIHRoZSBtaXhpbi4gVGhpcyBtaXhpbiBhY2NlcHRzIGEgbnVtYmVyIG9mIHZhbHVlczpcbi8vLyAgLSBJZiBhIHN0cmluZyBpcyBwYXNzZWQsIHRoZSBtaXhpbiB3aWxsIGxvb2sgZm9yIGl0IGluIHRoZSBgJGJyZWFrcG9pbnRzYCBhbmQgYCRicmVha3BvaW50cy1oaWRwaWAgbWFwcywgYW5kIHVzZSBhIG1lZGlhIHF1ZXJ5IHRoZXJlLlxuLy8vICAtIElmIGEgcGl4ZWwgdmFsdWUgaXMgcGFzc2VkLCBpdCB3aWxsIGJlIGNvbnZlcnRlZCB0byBhbiBlbSB2YWx1ZSB1c2luZyBgJGdsb2JhbC1mb250LXNpemVgIGFzIHRoZSBiYXNlLlxuLy8vICAtIElmIGEgcmVtIHZhbHVlIGlzIHBhc3NlZCwgdGhlIHVuaXQgd2lsbCBiZSBjaGFuZ2VkIHRvIGVtLlxuLy8vICAtIElmIGFuIGVtIHZhbHVlIGlzIHBhc3NlZCwgdGhlIHZhbHVlIHdpbGwgYmUgdXNlZCBhcy1pcy5cbi8vL1xuLy8vIElmIG11bHRpcGxlIHZhbHVlcyBhcmUgcGFzc2VkLCB0aGUgbWl4aW4gd2lsbCBnZW5lcmF0ZSBhIG1lZGlhIHF1ZXJ5IGZvciBlYWNoIG9mIHRoZW0gYXMgZGVzY3JpYmVkIGFib3ZlLlxuLy8vIFNpbmNlIHRoZSBjb250ZW50IGlzIGR1cGxpY2F0ZWQgZm9yIGVhY2ggYnJlYWtwb2ludCwgdGhpcyBtaXhpbiBzaG91bGQgb25seSBiZSB1c2VkIHdpdGggcHJvcGVydGllcyB0aGF0XG4vLy8gY2hhbmdlIGFjcm9zcyBicmVha3BvaW50cy5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICR2YWx1ZXMuLi4gLSBCcmVha3BvaW50IG5hbWUgb3IgcHgvcmVtL2VtIHZhbHVlIHRvIHByb2Nlc3MuXG4vLy9cbi8vLyBAb3V0cHV0IElmIHRoZSBicmVha3BvaW50IGlzIFwiMHB4IGFuZCBsYXJnZXJcIiwgb3V0cHV0cyB0aGUgY29udGVudCBhcy1pcy4gT3RoZXJ3aXNlLCBvdXRwdXRzIHRoZSBjb250ZW50IHdyYXBwZWQgaW4gYSBtZWRpYSBxdWVyeS5cbkBtaXhpbiBicmVha3BvaW50KCR2YWx1ZXMuLi4pIHtcbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCBsZW5ndGgoJHZhbHVlcykge1xuICAgICR2YWx1ZTogbnRoKCR2YWx1ZXMsICRpKTtcbiAgICAkc3RyOiBicmVha3BvaW50KCR2YWx1ZSk7XG4gICAgJGJwOiBpbmRleCgkLXpmLWJyZWFrcG9pbnRzLWtleXMsIG50aCgkdmFsdWUsIDEpKTtcbiAgICAkcGJwOiBpbmRleCgkLXpmLWJyZWFrcG9pbnRzLWtleXMsICRwcmludC1icmVha3BvaW50KTtcbiAgICAvLyBEaXJlY3Rpb24gb2YgbWVkaWEgcXVlcnkgKHVwLCBkb3duLCBvciBvbmx5KVxuICAgICRkaXI6IGlmKGxlbmd0aCgkdmFsdWUpID4gMSwgbnRoKCR2YWx1ZSwgMiksIHVwKTtcblxuICAgICRvbGQtemYtc2l6ZTogbnVsbDtcblxuICAgIC8vIE1ha2UgYnJlYWtwb2ludCBzaXplIGF2YWlsYWJsZSBhcyBhIHZhcmlhYmxlXG4gICAgQGlmIGdsb2JhbC12YXJpYWJsZS1leGlzdHMoLXpmLXNpemUpIHtcbiAgICAgICRvbGQtemYtc2l6ZTogJC16Zi1zaXplO1xuICAgIH1cbiAgICAkLXpmLXNpemU6IG50aCgkdmFsdWUsIDEpICFnbG9iYWw7IC8vIGdldCB0aGUgZmlyc3QgdmFsdWUgdG8gYWNjb3VudCBmb3IgYG9ubHlgIGFuZCBgZG93bmAga2V5d29yZHNcblxuICAgIC8vIElmICRzdHIgaXMgc3RpbGwgYW4gZW1wdHkgc3RyaW5nLCBubyBtZWRpYSBxdWVyeSBpcyBuZWVkZWRcbiAgICBAaWYgJHN0ciA9PSAnJyB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG5cbiAgICAvLyBPdGhlcndpc2UsIHdyYXAgdGhlIGNvbnRlbnQgaW4gYSBtZWRpYSBxdWVyeVxuICAgIEBlbHNlIHtcbiAgICAgIC8vIEZvciBuYW1lZCBicmVha3BvaW50cyBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJHByaW50LWJyZWFrcG9pbnQsIGFkZCBwcmludCB0byB0aGUgbWVkaWEgdHlwZXNcbiAgICAgIC8vIGdlbmVyYXRlIHByaW50IGlmIHRoZSBicmVha3BvaW50IGFmZmVjdHMgdGhlIHByaW50LWJyZWFrcG9pbnQgKG9yIHNtYWxsZXIpLlxuICAgICAgLy8gVGhpcyBtZWFucyB0aGUgY3VycmVudCBjb25kaXRpb24gb25seSBuZWVkcyB0byBiZSBleHRlbmRlZCBzbyAnZG93bicgYWx3YXlzIGdlbmVyYXRlcyBwcmludC5cbiAgICAgIEBpZiAkYnAgIT0gbnVsbCBhbmQgKCRicCA8PSAkcGJwIG9yICRkaXIgPT0gZG93bikge1xuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgI3skc3RyfSB7XG4gICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgI3skc3RyfSB7XG4gICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAkLXpmLXNpemU6ICRvbGQtemYtc2l6ZSAhZ2xvYmFsO1xuICB9XG59XG5cbi8vLyBDb252ZXJ0cyB0aGUgYnJlYWtwb2ludHMgbWFwIHRvIGEgVVJMLWVuY29kZWQgc3RyaW5nLCBsaWtlIHRoaXM6IGBrZXkxPXZhbHVlMSZrZXkyPXZhbHVlMmAuIFRoZSB2YWx1ZSBpcyB0aGVuIGRyb3BwZWQgaW50byB0aGUgQ1NTIGZvciBhIHNwZWNpYWwgYDxtZXRhPmAgdGFnLCB3aGljaCBpcyByZWFkIGJ5IHRoZSBGb3VuZGF0aW9uIEphdmFTY3JpcHQuIFRoaXMgaXMgaG93IHdlIHRyYW5zZmVyIHZhbHVlcyBmcm9tIFNhc3MgdG8gSmF2YVNjcmlwdCwgc28gdGhleSBjYW4gYmUgZGVmaW5lZCBpbiBvbmUgcGxhY2UuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byBjb252ZXJ0LlxuLy8vXG4vLy8gQHJldHVybnMge1N0cmluZ30gQSBzdHJpbmcgY29udGFpbmluZyB0aGUgbWFwJ3MgY29udGVudHMuXG5AZnVuY3Rpb24gLXpmLWJwLXNlcmlhbGl6ZSgkbWFwKSB7XG4gICRzdHI6ICcnO1xuICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJG1hcCB7XG4gICAgJHN0cjogJHN0ciArICRrZXkgKyAnPScgKyAtemYtYnAtdG8tZW0oJHZhbHVlKSArICcmJztcbiAgfVxuICAkc3RyOiBzdHItc2xpY2UoJHN0ciwgMSwgLTIpO1xuXG4gIEByZXR1cm4gJHN0cjtcbn1cblxuLy8vIEZpbmQgdGhlIG5leHQga2V5IGluIGEgbWFwLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gdHJhdmVyc2UuXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGtleSAtIEtleSB0byB1c2UgYXMgYSBzdGFydGluZyBwb2ludC5cbi8vL1xuLy8vIEByZXR1cm5zIHtNaXhlZH0gVGhlIHZhbHVlIGZvciB0aGUga2V5IGFmdGVyIGAka2V5YCwgaWYgYCRrZXlgIHdhcyBmb3VuZC4gSWYgYCRrZXlgIHdhcyBub3QgZm91bmQsIG9yIGAka2V5YCB3YXMgdGhlIGxhc3QgdmFsdWUgaW4gdGhlIG1hcCwgcmV0dXJucyBgbnVsbGAuXG5AZnVuY3Rpb24gLXpmLW1hcC1uZXh0KCRtYXAsICRrZXkpIHtcblxuICAvLyBTdG9yZSB0aGUga2V5cyBvZiB0aGUgbWFwIGFzIGEgbGlzdFxuICAkdmFsdWVzOiBtYXAta2V5cygkbWFwKTtcblxuICAkaTogMDtcblxuICAvLyBJZiB0aGUgS2V5IEV4aXN0cywgR2V0IHRoZSBpbmRleCBvZiB0aGUga2V5IHdpdGhpbiB0aGUgbWFwIGFuZCBhZGQgMSB0byBpdCBmb3IgdGhlIG5leHQgYnJlYWtwb2ludCBpbiB0aGUgbWFwXG4gIEBpZiAobWFwLWhhcy1rZXkoJG1hcCwgJGtleSkpIHtcbiAgICAkaTogaW5kZXgoJHZhbHVlcywgJGtleSkgKyAxO1xuICB9XG5cbiAgLy8gSWYgdGhlIGtleSBkb2Vzbid0IGV4aXN0LCBvciBpdCdzIHRoZSBsYXN0IGtleSBpbiB0aGUgbWFwLCByZXR1cm4gbnVsbFxuICBAaWYgKCRpID4gbGVuZ3RoKCRtYXApIG9yICRpID09IDApIHtcbiAgICBAcmV0dXJuIG51bGw7XG4gIH1cbiAgLy8gT3RoZXJ3aXNlLCByZXR1cm4gdGhlIHZhbHVlXG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgbnRoKCR2YWx1ZXMsICRpKSk7XG4gIH1cblxufVxuXG4vLy8gRmluZCB0aGUgbmV4dCBudW1iZXIgaW4gYSBtYXAuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byB0cmF2ZXJzZS5cbi8vLyBAcGFyYW0ge01peGVkfSAkbnVtYmVyIC0gTnVtYmVyIHRvIHVzZSBhcyBhIHN0YXJ0aW5nIHBvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge01peGVkfSBUaGUgbnVtYmVyIGZvbGxvd2luZyBgJG51bWJlcmAsIGlmIGAkbnVtYmVyYCB3YXMgZm91bmQuIElmIGAkbnVtYmVyYCB3YXMgbm90IGZvdW5kLCBvciBgJG51bWJlcmAgd2FzIHRoZSBiaWdnZXN0IG51bWJlciBpbiB0aGUgbWFwLCByZXR1cm5zIGBudWxsYC5cbkBmdW5jdGlvbiAtemYtbWFwLW5leHQtbnVtYmVyKCRtYXAsICRudW1iZXIpIHtcblxuICAkbmV4dC1udW1iZXI6IG51bGw7XG5cbiAgQGVhY2ggJGssICR2IGluICRtYXAge1xuICAgIEBpZiB0eXBlLW9mKCR2KSA9PSAnbnVtYmVyJyBhbmQgJHYgPiAkbnVtYmVyIGFuZCAoJG5leHQtbnVtYmVyID09IG51bGwgb3IgJHYgPCAkbmV4dC1udW1iZXIpIHtcbiAgICAgICRuZXh0LW51bWJlcjogJHY7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkbmV4dC1udW1iZXI7XG59XG5cbi8vLyBSZXR1cm4gYSBsaXN0IG9mIG91ciBuYW1lZCBicmVha3BvaW50cyBsZXNzIHRoYW4gJGtleS4gVXNlZnVsIGZvciBkZWFsaW5nIHdpdGhcbi8vLyByZXNwb25zaXZlIGd1dHRlcnMgZm9yIHRoZSBncmlkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRrZXkgLSBLZXkgdG8gdXNlIGFzIGxhc3QgYnJlYWtwb2ludC5cbi8vL1xuLy8vIEByZXR1cm5zIHtBcnJheX0gVGhlIGxpc3Qgb2YgYnJlYWtwb2ludHMgdXAgdG8gYW5kLiBJZiAka2V5IGlzIGF1dG8sIHJldHVybnMgYnJlYWtwb2ludHMgYWJvdmUgdGhlIHplcm9cbkBmdW5jdGlvbiAtemYtYnJlYWtwb2ludHMtbGVzcy10aGFuKCRrZXkpIHtcbiAgJGxpc3Q6ICgpO1xuICAkZm91bmQta2V5OiBmYWxzZTtcblxuICBAZWFjaCAkbmFtZSBpbiAkLXpmLWJyZWFrcG9pbnRzLWtleXMge1xuICAgIEBpZiAoJG5hbWUgPT0gJGtleSkge1xuICAgICAgJGZvdW5kLWtleTogdHJ1ZTtcbiAgICB9XG4gICAgQGlmIG5vdCAkZm91bmQta2V5IHtcbiAgICAgICRsaXN0OiBhcHBlbmQoJGxpc3QsICRuYW1lKTtcbiAgICB9XG4gIH1cbiAgQHJldHVybiAkbGlzdDtcbn1cblxuLy8vIFJldHVybiBhIGxpc3Qgb2Ygb3VyIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiAka2V5LiBVc2VmdWwgZm9yIGRlYWxpbmcgd2l0aFxuLy8vIHJlc3BvbnNpdmUgZ3V0dGVycyBmb3IgdGhlIGdyaWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgLSBhIG5hbWVkIG9yIG5vbi1uYW1lZCBicmVha3BvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge0FycmF5fSBUaGUgbGlzdCBvZiBicmVha3BvaW50cyB1cCB0byBhbmQuIElmICRrZXkgaXMgYXV0bywgcmV0dXJucyBicmVha3BvaW50cyBhYm92ZSB0aGUgemVyb1xuQGZ1bmN0aW9uIC16Zi1jbG9zZXN0LW5hbWVkLWJyZWFrcG9pbnQoJGJyZWFrcG9pbnQpIHtcbiAgJGxhc3Q6ICQtemYtemVyby1icmVha3BvaW50O1xuICAkZm91bmQ6IGZhbHNlO1xuXG4gICR2YWx1ZTogdW5pdGxlc3MtY2FsYygkYnJlYWtwb2ludCwgMXB4KTtcbiAgQGVhY2ggJGtleSwgJHZhbCBpbiAkYnJlYWtwb2ludHMge1xuICAgIEBpZiBub3QgJGZvdW5kIHtcbiAgICAgIEBpZiB1bml0bGVzcy1jYWxjKCR2YWwpID4gJHZhbHVlIHtcbiAgICAgICAgJGZvdW5kOiB0cnVlO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICRsYXN0OiAka2V5O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJGxhc3Q7XG59XG5cbi8vLyBHZXQgYSB2YWx1ZSBmb3IgYSBicmVha3BvaW50IGZyb20gYSByZXNwb25zaXZlIGNvbmZpZyBtYXAgb3Igc2luZ2xlIHZhbHVlLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIHNpbmdsZSB2YWx1ZSwgcmV0dXJuIGl0IHJlZ2FyZGxlc3Mgb2YgYCR2YWx1ZWAuXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgbWFwIGFuZCBoYXMgdGhlIGtleSBgJHZhbHVlYCwgdGhlIGV4YWN0IGJyZWFrcG9pbnQgdmFsdWUgaXMgcmV0dXJuZWQuXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgbWFwIGFuZCBkb2VzICpub3QqIGhhdmUgdGhlIGJyZWFrcG9pbnQsIHRoZSB2YWx1ZSBtYXRjaGluZyB0aGUgbmV4dCBsb3dlc3QgYnJlYWtwb2ludCBpbiB0aGUgY29uZmlnIG1hcCBpcyByZXR1cm5lZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJG1hcCAtIFJlc3BvbnNpdmUgY29uZmlnIG1hcCBvciBzaW5nbGUgdmFsdWUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdmFsdWUgLSBCcmVha3BvaW50IG5hbWUgdG8gdXNlLlxuLy8vXG4vLy8gQHJldHVybiB7TWl4ZWR9IFRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9pbnQgdmFsdWUuXG5AZnVuY3Rpb24gLXpmLWdldC1icC12YWwoJG1hcCwgJHZhbHVlKSB7XG4gIC8vIElmIHRoZSBnaXZlbiBtYXAgaXMgYSBzaW5nbGUgdmFsdWUsIHJldHVybiBpdFxuICBAaWYgdHlwZS1vZigkbWFwKSA9PSAnbnVtYmVyJyB7XG4gICAgQHJldHVybiAkbWFwO1xuICB9XG5cblxuICAvLyBDaGVjayBpZiB0aGUgYnJlYWtwb2ludCBuYW1lIGV4aXN0cyBnbG9iYWxseVxuICBAaWYgbm90IG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJHZhbHVlKSB7XG4gICAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnbnVtYmVyJyB7XG4gICAgICAkdmFsdWU6IC16Zi1jbG9zZXN0LW5hbWVkLWJyZWFrcG9pbnQoJHZhbHVlKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIEByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH1cbiAgLy8gQ2hlY2sgaWYgdGhlIGJyZWFrcG9pbnQgbmFtZSBleGlzdHMgaW4gdGhlIGxvY2FsIGNvbmZpZyBtYXBcbiAgQGVsc2UgaWYgbWFwLWhhcy1rZXkoJG1hcCwgJHZhbHVlKSB7XG4gICAgLy8gSWYgaXQgZG9lcywganVzdCByZXR1cm4gdGhlIHZhbHVlXG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsICR2YWx1ZSk7XG4gIH1cbiAgLy8gT3RoZXJ3aXNlLCBmaW5kIHRoZSBuZXh0IGxvd2VzdCBicmVha3BvaW50IGFuZCByZXR1cm4gdGhhdCB2YWx1ZVxuICBAZWxzZSB7XG4gICAgJGFuY2hvcjogbnVsbDtcbiAgICAkZm91bmQ6IGZhbHNlO1xuXG4gICAgQGVhY2ggJGtleSwgJHZhbCBpbiAkYnJlYWtwb2ludHMge1xuICAgICAgQGlmIG5vdCAkZm91bmQge1xuICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJG1hcCwgJGtleSkge1xuICAgICAgICAgICRhbmNob3I6ICRrZXk7XG4gICAgICAgIH1cbiAgICAgICAgQGlmICRrZXkgPT0gJHZhbHVlIHtcbiAgICAgICAgICAkZm91bmQ6IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgJGFuY2hvcik7XG4gIH1cbn1cblxuLy8vIFJldHVybiB0aGUgYmVzdCBicmVha3BvaW50IHRvIHVzZSBhY2NvcmRpbmcgdG8gdGhlIGNhbGxpbmcgY29udGV4dC4gSXQgcmV0dXJucyBpbiBvcmRlcjpcbi8vLyAxLiB0aGUgZ2l2ZW4gYCR2YWx1ZWAgYXJndW1lbnQgaWYgaXQgaXMgbm90IG51bGwuXG4vLy8gMi4gdGhlIGdsb2JhbCBicmVha3BvaW50IGNvbnRleHQgYCQtemYtc2l6ZWAgaWYgaXQgaXMgbm90IG51bGwgKGxpa2UgaWYgY2FsbGVkIGluc2lkZSB0aGVuIGBicmVha3BvaW50KClgIG1peGluKVxuLy8vIDMuIHRoZSBnaXZlbiBgJGRlZmF1bHRgIGFyZ3VtZW50LlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdmFsdWUgW251bGxdIC0gQnJlYWtwb2ludCB0byB1c2UgaW4gcHJpb3JpdHkgaWYgbm9uLW51bGwuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGVmYXVsdCBbbnVsbF0gLSBCcmVha3BvaW50IHRvIHVzZSBieSBkZWZhdWx0IGlmIG5vIG90aGVyIHZhbHVlIGNhbiBiZSB1c2VkLlxuLy8vXG4vLy8gQHJldHVybiB7S2V5d29yZH0gVGhlIHJlc29sdmVkIGJyZWFrcG9pbnQuXG5AZnVuY3Rpb24gLXpmLWN1cnJlbnQtYnJlYWtwb2ludCgkdmFsdWU6IG51bGwsICRkZWZhdWx0OiBudWxsKSB7XG4gIEBpZiAoJHZhbHVlICE9IG51bGwpIHtcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfVxuICBAZWxzZSBpZiAodmFyaWFibGUtZXhpc3RzKC16Zi1zaXplKSBhbmQgdHlwZS1vZigkLXpmLXNpemUpICE9ICdudW1iZXInKSBhbmQgJC16Zi1zaXplICE9IG51bGwge1xuICAgIEByZXR1cm4gJC16Zi1zaXplO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuICRkZWZhdWx0O1xuICB9XG59XG5cbi8vLyBSZXR1cm4gbWVkaWEgcXVlcnkgc3RyaW5nIGZyb20gdGhlIGdpdmVuIG1pbiBhbmQvb3IgbWF4IGxpbWl0cy5cbi8vLyBJZiBhIGxpbWl0IGlzIGVxdWFsIHRvIGBudWxsYCBvciBgMGAsIGl0IGlzIGlnbm9yZWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1pbiBbMF0gLSBNaW4gbWVkaWEgcXVlcnkgbGltaXQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXggWzBdIC0gTWF4IG1lZGlhIHF1ZXJ5IGxpbWl0LlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbWluLW5hbWUgWydtaW4td2lkdGgnXSAtIE5hbWUgb2YgdGhlIG1pbiBtZWRpYSBxdWVyeSBsaW1pdC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGRlbGltaXRlciBbJ21heC13aWR0aCddIC0gTmFtZSBvZiB0aGUgbWF4IG1lZGlhIHF1ZXJ5IGxpbWl0LlxuLy8vXG4vLy8gQHJldHVybnMge1N0cmluZ30gTWVkaWEgUXVlcnkgc3RyaW5nLlxuQGZ1bmN0aW9uIC16Zi1icC1qb2luKFxuICAkbWluOiAwLFxuICAkbWF4OiAwLFxuICAkbWluLW5hbWU6ICdtaW4td2lkdGgnLFxuICAkbWF4LW5hbWU6ICdtYXgtd2lkdGgnXG4pIHtcbiAgQHJldHVybiB6Zi1zdHItam9pbihcbiAgICBpZigkbWluIGFuZCAkbWluID4gMCwgJygjeyRtaW4tbmFtZX06ICN7JG1pbn0pJywgbnVsbCksXG4gICAgaWYoJG1heCBhbmQgJG1heCA+IDAsICcoI3skbWF4LW5hbWV9OiAjeyRtYXh9KScsIG51bGwpLFxuICAgICcgYW5kICcpO1xufVxuXG4kc21hbGwtdXA6ICcnO1xuJHNtYWxsLW9ubHk6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBzbWFsbCkge1xuICAkc21hbGwtdXA6IHNjcmVlbjtcbiAgJHNtYWxsLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHNtYWxsIG9ubHkpfScpO1xufVxuXG4kbWVkaXVtLXVwOiAnJztcbiRtZWRpdW0tb25seTogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIG1lZGl1bSkge1xuICAkbWVkaXVtLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChtZWRpdW0pfScpO1xuICAkbWVkaXVtLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSBvbmx5KX0nKTtcbn1cblxuJGxhcmdlLXVwOiAnJztcbiRsYXJnZS1vbmx5OiAnJztcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgbGFyZ2UpIHtcbiAgJGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChsYXJnZSl9Jyk7XG4gICRsYXJnZS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChsYXJnZSBvbmx5KX0nKTtcbn1cblxuJHhsYXJnZS11cDogJyc7XG4keGxhcmdlLW9ubHk6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCB4bGFyZ2UpIHtcbiAgJHhsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeGxhcmdlKX0nKTtcbiAgJHhsYXJnZS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4bGFyZ2Ugb25seSl9Jyk7XG59XG5cbiR4eGxhcmdlLXVwOiAnJztcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgeHhsYXJnZSkge1xuICAkeHhsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeHhsYXJnZSl9Jyk7XG59XG4iLCIvLy0tLS0tIERpcmVjdGlvbnMgLS0tLS1cclxuJHBvaW50VXA6IC0xMzVkZWc7XHJcbiRwb2ludERvd246IDQ1ZGVnO1xyXG4kcG9pbnRSaWdodDogLTQzZGVnO1xyXG4kcG9pbnRMZWZ0OiAtMjIzZGVnO1xyXG5cclxuXHJcbi8vLS0tLS0gQmFubmVyIE92ZXJsYXlzIC0tLS0tIFxyXG5AbWl4aW4gb3ZlcmxheUJhbm5lcigkd2lkdGgsICRiZ0NvbG91cjogJycsICRjb2xvdXI6ICcjZmZmZmYnKSB7XHJcbiAgICB3aWR0aDogJHdpZHRoO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBwYWRkaW5nOiA1cHggMDtcclxuICAgIGNvbG9yOiAkY29sb3VyMTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRiZ0NvbG91cjtcclxuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwYXJhZ3JhcGgtZm9udC1zaXplKTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICY6YmVmb3JlLCAmOmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiAnXFxmMDA1JztcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAzcHg7XHJcbiAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3VyMTtcclxuICAgIH1cclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgICBsZWZ0OiAxMHB4O1xyXG4gICAgfVxyXG4gICAgJjphZnRlciB7XHJcbiAgICAgICAgcmlnaHQ6IDEwcHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vLS0tLS0gSWNvbnMgLS0tLS1cclxuLy8tLS0gQ2hldmVyb25zIC0tLVxyXG5AbWl4aW4gY2hldnJvbjEoJGNvbG91ciwgJGRpcmVjdGlvbiwgJGRpbWVuc2lvbnM6IFwiXCIpIHtcclxuICAgIGhlaWdodDogJGRpbWVuc2lvbnM7XHJcbiAgICB3aWR0aDogJGRpbWVuc2lvbnM7XHJcbiAgICBwYWRkaW5nOiAzcHg7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3VyO1xyXG4gICAgYm9yZGVyLXdpZHRoOiAwIDJweCAycHggMDtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlKCRkaXJlY3Rpb24pO1xyXG59XHJcbiBcclxuQG1peGluIGNoZXZyb24zKCRjb2xvdXIsICRzaXplLCAkYWN0aXZlOiBmYWxzZSwgJGRpcmVjdGlvbkluQWN0aXZlOiAxODBkZWcsICRkaXJlY3Rpb25BY3RpdmU6IDBkZWcpIHtcclxuICAgIEBpZiAoJGFjdGl2ZSA9PSBmYWxzZSkge1xyXG4gICAgICAgIGNvbnRlbnQ6ICdcXGYwZGUnO1xyXG4gICAgICAgIG1hcmdpbjogYXV0byAwIGF1dG8gMTBweDtcclxuICAgICAgICAvL2Rpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgZm9udC1zaXplOiAjeyRzaXplfXB4O1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3VyO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XHJcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoI3skZGlyZWN0aW9uSW5BY3RpdmV9KTtcclxuXHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgICBjb2xvcjogJGNvbG91cjtcclxuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgjeyRkaXJlY3Rpb25BY3RpdmV9KTtcclxuICAgIH1cclxufVxyXG5cclxuLy8tLS0gU29jaWFsIC0tLSBcclxuQG1peGluIHNvY2lhbDEoJHByaXZhdGVVc2VBcmVhLCAkY29sb3VyLCAkc2l6ZSwgJGZvbnRGYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnLCAkaW52ZXJ0OiBmYWxzZSkge1xyXG4gICAgd2lkdGg6ICgyICogJHNpemUpO1xyXG4gICAgaGVpZ2h0OiAoMiAqICRzaXplKTtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIEBpZiAoJGludmVydCA9PSB0cnVlKSB7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXI7XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgICBjb2xvcjogJGNvbG91cjtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMTtcclxuICAgIH1cclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvdXI7XHJcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyUmFkaXVzMjtcclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiAkcHJpdmF0ZVVzZUFyZWE7XHJcbiAgICAgICAgd2lkdGg6ICgxLjIgKiAkc2l6ZSk7XHJcbiAgICAgICAgaGVpZ2h0OiAoMS4yICogJHNpemUpO1xyXG4gICAgICAgIC8vIHBhZGRpbmc6IDAgMCAwIDI3JTtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmb250RmFtaWx5O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJHNpemU7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMztcclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tIElucHV0IHJlYWQtb25seSAtLS1cclxuQG1peGluIGlucHV0UmVhZE9ubHkoJGljb24tY29sb3VyOiBtYXAtZ2V0KCRpbnB1dC1iYWNrZ3JvdW5kLWNvbG91ciwgZGlzYWJsZWQpKSB7XHJcbiAgICAmOmhvdmVyOmFmdGVyIHtcclxuICAgICAgICBjb2xvcjogJGljb24tY29sb3VyO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICB9XHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBuby1hY2Nlc3MpO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgcmlnaHQ6IChzcGFjaW5nLXZhbHVlKCRmaWVsZHNldC1sYWJlbC1wYWRkaW5nLCAyLCBsYXJnZSkgLyAyICsgMTBweCk7XHJcbiAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICBjb2xvcjogJGNvbG91cjA7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgIH1cclxufVxyXG5cclxuLy8tLS0tLSBIZWFkaW5nIC0tLS0tIFxyXG4vLy0tLSBVbmRlciBsaW5lIC0tLSBcclxuLy8gaGVhZGluZ1VuZGVyTGluZSB3YXMgdGhlIGZpcnN0IGF0dGVtcHQgb2YgdGhpcyBtaXhpbiBidXQgaGFkIG5vIHN1cHBvcnQgZm9yIGhvdmVyLCBhY3RpdmUgc3RhdGVzICsgaGFkIHNwZWNpZmljIHBhZGRpbmcuXHJcbkBtaXhpbiBoZWFkaW5nVW5kZXJMaW5lKCRkaXNwbGF5TGluZXM6IDIsICRjb2xvdXI6IFwiXCIsICR1bmRlcmxpbmVDb2xvdXI6IFwiXCIsICRwYWRkaW5nLWJvdHRvbTogMTVweCkge1xyXG4gICAgLy9JZiBubyBjb2xvdXIgaXMgYXNzaWduZWQgdGhlbiBkZWZhdWx0IHRvIGNvbG91cjQ7XHJcbiAgICBAaWYgKCRjb2xvdXIgPT0gXCJcIikge1xyXG4gICAgICAgICRjb2xvdXI6ICRjb2xvdXI0O1xyXG4gICAgfVxyXG5cclxuICAgIEBpZiAoJHVuZGVybGluZUNvbG91ciA9PSBcIlwiKSB7XHJcbiAgICAgICAgJHVuZGVybGluZUNvbG91cjogJGNvbG91cjQ7XHJcbiAgICB9XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBjb2xvcjogJGNvbG91cjtcclxuICAgIHBhZGRpbmctYm90dG9tOiAkcGFkZGluZy1ib3R0b207XHJcbiAgICBAaW5jbHVkZSB1bmRlcmxpbmUoJGRpc3BsYXlMaW5lcywgKGRlZmF1bHQ6ICR1bmRlcmxpbmVDb2xvdXIpKTtcclxufVxyXG4vLyBOZXcgdW5kZXJsaW5lIG1peGluIHRoYXQgc2hvdWxkIGJlIHVzZWQgaW5zdGVhZCBvZiBoZWFkaW5nVW5kZXJMaW5lLlxyXG5AbWl4aW4gdW5kZXJsaW5lKCRkaXNwbGF5LWxpbmVzLCAkdW5kZXJsaW5lLWNvbG91cjogKGRlZmF1bHQ6IG1hcC1nZXQoJGRlZmF1bHQtdW5saW5lLWNvbG91cnMsIGRlZmF1bHQpKSwgJGRlZmF1bHQtd2lkdGg6IDEwMCUsICRydWxlLWhlaWdodDogJGNvbW1vbi1oZWFkaW5nLXJ1bGUtd2VpZ2h0LCAkcnVsZS1wb3NpdGlvbjogKGJvdHRvbTogMCkpIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICB3aWR0aDogJGRlZmF1bHQtd2lkdGg7XHJcbiAgICAgICAgaGVpZ2h0OiAkcnVsZS1oZWlnaHQ7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIEBpZiAobWFwLWhhcy1rZXkoJHJ1bGUtcG9zaXRpb24sIHRvcCkpIHtcclxuICAgICAgICAgICAgdG9wOiBtYXAtZ2V0KCRydWxlLXBvc2l0aW9uLCB0b3ApO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgKG1hcC1oYXMta2V5KCRydWxlLXBvc2l0aW9uLCByaWdodCkpIHtcclxuICAgICAgICAgICAgcmlnaHQ6IG1hcC1nZXQoJHJ1bGUtcG9zaXRpb24sIHJpZ2h0KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmIChtYXAtaGFzLWtleSgkcnVsZS1wb3NpdGlvbiwgYm90dG9tKSkge1xyXG4gICAgICAgICAgICBib3R0b206IG1hcC1nZXQoJHJ1bGUtcG9zaXRpb24sIGJvdHRvbSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiAobWFwLWhhcy1rZXkoJHJ1bGUtcG9zaXRpb24sIGxlZnQpKSB7XHJcbiAgICAgICAgICAgIGxlZnQ6IG1hcC1nZXQoJHJ1bGUtcG9zaXRpb24sIGxlZnQpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgLy9iYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCR1bmRlcmxpbmUtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICAvLyBTd2l0Y2hpbmcgdG8gdXNpbmcgYm9yZGVyIHByb3BlcnR5IGluc3RlYWQgb2Ygc2V0dGluZyBoZWlnaHQgYXMgZ2V0dGluZyB3ZWlyZCBpbmNvbnNpc3RhbmNpZXMgd2hlbiB0aGUgYnJvd3NlciByZW5kZXJzIHRoZSBydWxlcyBieSB+LjNweC4gaHR0cHM6Ly9qb2hucmVzaWcuY29tL2Jsb2cvc3ViLXBpeGVsLXByb2JsZW1zLWluLWNzcy8gLSBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8zOTIwOTg4Ni8xcHgtY2FsY3VsYXRpb24taXNzdWUtd2l0aC1icm93c2Vycy1zdWItcGl4ZWwtcHJvYmxlbXNcclxuICAgICAgICBib3JkZXItd2lkdGg6IDAgMCAjeyRjb21tb24taGVhZGluZy1ydWxlLXdlaWdodH0gMDtcclxuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogIG1hcC1nZXQoJHVuZGVybGluZS1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgIEBpZiAoJHJ1bGUtaGVpZ2h0ID4gMSBhbmQgc21vb3RoLWVkZ2VzKCkpIHtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiAoJGRlZmF1bHQtd2lkdGggPT0gMCkge1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB3aWR0aCAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAbWVkaWEgcHJpbnQge1xyXG4gICAgICAgICAgICAvLyBEdWUgdG8gYmFja2dyb3VuZC1jb2xvciBiZWluZyBzdXBwcmVzc2VkIGJ5IGJhY2tncm91bmQgZ3JhcGhpYyBvcHRpb25zIGluIGFkZGl0aW9uYWwgc2V0dGluZ3MsIGluY3JlYXNpbmcgd2VpZ2h0IGZvciBwb29yIHF1YWxpdHkgcHJpbnRlcnMuXHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206ICN7KCRydWxlLWhlaWdodCArIDEpfSBzb2xpZCBtYXAtZ2V0KCR1bmRlcmxpbmUtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGlmICgkZGlzcGxheS1saW5lcyA+IDEpIHtcclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDNweDtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCR1bmRlcmxpbmUtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vLS0tLS0gQnV0dG9ucyAtLS0tLVxyXG4vL0J1dHRvbjEgXHJcbkBtaXhpbiBidXR0b24xKCRjb2xvdXIsICRmb250U2l6ZTogMTUsICRmb250V2VpZ2h0OiA2MDAsICRwYWRkaW5nOiAxNXB4IDIwcHgsICR3aWR0aDogYXV0bywgJGJhY2tncm91bmQtY29sb3VyOiAoKSkge1xyXG4gICAgLy9Ad2FybiBcIlRoZSBidXR0b24xKCkgbWl4aW4gaXMgZGVwcmVjYXRlZC4gSW5jbHVkZSBjb21tb24tYnV0dG9uLTEoKSBpbnN0ZWFkLlwiO1xyXG4gICAgQGlmICgkd2lkdGggPT0gYXV0bykge1xyXG4gICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgICAgd2lkdGg6ICR3aWR0aDtcclxuICAgIH1cclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgcGFkZGluZzogJHBhZGRpbmc7XHJcbiAgICBmb250LXNpemU6ICN7JGZvbnRTaXplfXB4O1xyXG4gICAgZm9udC13ZWlnaHQ6ICRmb250V2VpZ2h0O1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvdXIwO1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgdHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAmOmVuYWJsZWQ6aG92ZXIge1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvdXI7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkY29sb3VyNCwgMC41KTtcclxuICAgICAgICBjb2xvcjogJGNvbG91cjtcclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb25PdXRybztcclxuICAgIH1cclxuICAgICY6Zm9jdXMge1xyXG4gICAgICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3VyMDtcclxuICAgICAgICBib3gtc2hhZG93OiAkYm94U2hhZG93MztcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIGljb24tYnV0dG9uKCRtb2JpbGUtYWx0LWNvbG91cnMgOiBmYWxzZSkge1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgYnV0dG9uLmRpc2FibGVkLCBhLmRpc2FibGVkIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMztcclxuICAgICAgICBvcGFjaXR5OiAuNztcclxuICAgICAgICBzcGFuW2NsYXNzKj1cIi1kZXNjcmlwdGlvblwiXSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhY2NvdW50LXBhZ2UtaXRlbS1jb2xvdXIsIGRpc2FibGVkKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgc3BhbltjbGFzcyo9XCItaWNvblwiXSB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhY2NvdW50LXBhZ2UtaXRlbS1pY29uLWNvbG91ciwgZGlzYWJsZWQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgc3BhbltjbGFzcyo9XCItZGVzY3JpcHRpb25cIl0ge1xyXG4gICAgICAgICAgICBAaWYgKCRtb2JpbGUtYWx0LWNvbG91cnMpIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhY2NvdW50LXBhZ2UtaXRlbS1jb2xvdXIsIGhvdmVyLWFsdCk7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYWNjb3VudC1wYWdlLWl0ZW0tY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGFjY291bnQtcGFnZS1pdGVtLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICAgIH1cclxuICAgICAgICBzcGFuW2NsYXNzKj1cIi1pY29uXCJdIHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgQGlmICgkbW9iaWxlLWFsdC1jb2xvdXJzKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGFjY291bnQtcGFnZS1pdGVtLWljb24tY29sb3VyLCBob3Zlci1hbHQpO1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYWNjb3VudC1wYWdlLWl0ZW0taWNvbi1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYWNjb3VudC1wYWdlLWl0ZW0taWNvbi1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICY6YWN0aXZlIHtcclxuICAgICAgICBzcGFuW2NsYXNzKj1cIi1kZXNjcmlwdGlvblwiXSB7XHJcbiAgICAgICAgICAgIEBpZiAoJG1vYmlsZS1hbHQtY29sb3Vycykge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGFjY291bnQtcGFnZS1pdGVtLWNvbG91ciwgYWN0aXZlLWFsdCk7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYWNjb3VudC1wYWdlLWl0ZW0tY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhY2NvdW50LXBhZ2UtaXRlbS1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgc3BhbltjbGFzcyo9XCItaWNvblwiXSB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIEBpZiAoJG1vYmlsZS1hbHQtY29sb3Vycykge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhY2NvdW50LXBhZ2UtaXRlbS1pY29uLWNvbG91ciwgYWN0aXZlLWFsdCk7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhY2NvdW50LXBhZ2UtaXRlbS1pY29uLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYWNjb3VudC1wYWdlLWl0ZW0taWNvbi1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBhLCBidXR0b24ge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgQGlmIHNtb290aC1lZGdlcygpIHtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiAoJG1vYmlsZS1hbHQtY29sb3Vycykge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRhY2NvdW50LXBhZ2UtaXRlbS1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdC1hbHQpO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGFjY291bnQtcGFnZS1pdGVtLWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRhY2NvdW50LXBhZ2UtaXRlbS1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAvLyBTdXBwcmVzcyBhbnkgYW5jaG9yIGFycm93IGluZGljYXRvcnMgaW4gbWVudXMuXHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIEBpZiAoJG1vYmlsZS1hbHQtY29sb3Vycykge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYWNjb3VudC1wYWdlLWl0ZW0tYmFja2dyb3VuZC1jb2xvdXIsIGhvdmVyLWFsdCk7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRhY2NvdW50LXBhZ2UtaXRlbS1iYWNrZ3JvdW5kLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGFjY291bnQtcGFnZS1pdGVtLWJhY2tncm91bmQtY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgYm94LXNoYWRvdzogJGJveFNoYWRvdzE7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgQGlmICgkbW9iaWxlLWFsdC1jb2xvdXJzKSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRhY2NvdW50LXBhZ2UtaXRlbS1iYWNrZ3JvdW5kLWNvbG91ciwgYWN0aXZlLWFsdCk7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRhY2NvdW50LXBhZ2UtaXRlbS1iYWNrZ3JvdW5kLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRhY2NvdW50LXBhZ2UtaXRlbS1iYWNrZ3JvdW5kLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgfVxyXG4gICAgfSBcclxuICAgIHNwYW5bY2xhc3MqPVwiLWljb25cIl0ge1xyXG4gICAgICAgIC8vIG1heC13aWR0aDogMTAwJTtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAvLyBDZW50ZXJhbGlzZSBpY29uIGluIHRoZSBjb250aWFuZXIuXHJcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJGV4cHJlc3MtZGVmYXVsdC1pY29ucztcclxuICAgICAgICAgICAgLy8gRW5mb3JjZSBmb250LXdlaWdodCA0MDAgYXMgb3VyIGZvbnRlbGxvIGxpYnJhcnkgb25seSBoYXMgb25lIHdlaWdodC5cclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgICAgICAgQGlmICgkbW9iaWxlLWFsdC1jb2xvdXJzKSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYWNjb3VudC1wYWdlLWl0ZW0taWNvbi1jb2xvdXIsIGRlZmF1bHQtYWx0KTtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhY2NvdW50LXBhZ2UtaXRlbS1pY29uLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGFjY291bnQtcGFnZS1pdGVtLWljb24tY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcclxuICAgICAgICB9ICBcclxuICAgIH1cclxuICAgIHNwYW5bY2xhc3MqPVwiLWRlc2NyaXB0aW9uXCJdIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBtYXJnaW46IDE1cHggYXV0byAwO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBAaWYgKCRtb2JpbGUtYWx0LWNvbG91cnMpIHtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGFjY291bnQtcGFnZS1pdGVtLWNvbG91ciwgZGVmYXVsdC1hbHQpO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhY2NvdW50LXBhZ2UtaXRlbS1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhY2NvdW50LXBhZ2UtaXRlbS1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBmb250LXdlaWdodDogbWFwLWdldCgkYWNjb3VudC1wYWdlLWl0ZW0tZm9udC13ZWlnaHQsIGFjY291bnQtcGFnZSk7XHJcbiAgICB9XHJcbiAgICBcclxufVxyXG5cclxuQG1peGluIGNvbW1vbi1idXR0b24tMSgkcGFkZGluZzogXCJcIiwgJGJhY2tncm91bmQ6IChkZWZhdWx0OiAkY29sb3VyNCwgaG92ZXI6ICRjb2xvdXIxLCBhY3RpdmU6ICRjb2xvdXI2KSAsICRjb2xvdXI6IChkZWZhdWx0OiAkY29sb3VyMSwgaG92ZXI6ICRjb2xvdXI0LCBhY3RpdmU6ICRjb2xvdXIxLCBkaXNhYmxlZDogJGNvbG91cjMtMyksICRib3JkZXItY29sb3VyOiAoKSwgJGZvbnQtc2l6ZTogXCJcIiwgJGZvbnQtd2VpZ2h0OiBcIlwiLCAkZGltZW50aW9uczogKHdpZHRoOiBmaXQtY29udGVudCwgaGVpZ2h0OiBhdXRvLCBtYXgtaGVpZ2h0OiAxMDAlKSwgJG1hcmdpbjogKHNtYWxsOiAxMHB4IDAsIG1lZGl1bTogMTBweCAwLCBsYXJnZTogMCAwIDIwcHgpLCAkZGlzcGxheTogZmxleCwgJGljb24tY29uZmlnOiBudWxsLCAkZmxleC1ncm93OiBmYWxzZSkge1xyXG5cclxuICAgIC8vIEluaG91c2UgY29sb3VyIGVkZ2Ugc3RlcCBlZmZlY3QuXHJcbiAgICAtLWNvbXBvbmVudC1zcGVjaWZjLXN0ZXAtaGVpZ2h0OiAxNXB4O1xyXG5cclxuICAgIC8vIERlZmF1bHRzLlxyXG4gICAgQGlmICRwYWRkaW5nID09IFwiXCIge1xyXG4gICAgICAgICRwYWRkaW5nOiAxNXB4IDIwcHg7XHJcbiAgICB9XHJcbiAgICBAaWYgJGZvbnQtc2l6ZSA9PSBcIlwiIHtcclxuICAgICAgICAkZm9udC1zaXplOiByZW0tY2FsYygxNSk7XHJcbiAgICB9XHJcbiAgICBAaWYgJGZvbnQtd2VpZ2h0ID09IFwiXCIge1xyXG4gICAgICAgICRmb250LXdlaWdodDogNjAwO1xyXG4gICAgfVxyXG4gICAgQGlmICgkbWFyZ2luID09IDApIHtcclxuICAgICAgICAkbWFyZ2luOiAoXHJcbiAgICAgICAgICAgIHNtYWxsOiAwLFxyXG4gICAgICAgICAgICBsYXJnZTogMFxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gVE9ETzogQ0FOTk9UIGRvIGNvbnRyYXN0LWNoZWNrZXIgKCBjb2xvdXIgcHJvY2Vzc2luZyApIGhlcmUganVzdCB5ZXQgYXMgc29tZSBtaXhpbiBjYWxsJ3MgZG8gbm90IGhhdmUgYSBmdWxsIGxpc3Qgb2YgY29sb3VyIG1peGluJ3MgYmVpbmcgcGFzc2VkIGluIGFuZCB0byBkbyBhIHJlbGlhYmxlIGZ1bGxiYWNrIHdpdGggbWFwcyB3ZSBuZWVkIGFjY2VzcyB0byBmdW5jdGlvbnMgbWFwLXNldCBvciBtYXAtbWVyZ2Ugd2hpY2ggd2UgY3VycmVudGx5IGRvIG5vdCBhcyB3ZSBuZWVkIHRvIHVwZGF0ZSBmcm9tIFJ1YnkgU2FzcyB0byBEYXJ0IFNhc3MgaHR0cHM6Ly9zYXNzLWxhbmcuY29tL2RvY3VtZW50YXRpb24vdmFsdWVzL21hcHNcclxuXHJcblxyXG4gICAgQGlmIG1hcC1oYXMta2V5KCRkaW1lbnRpb25zLCBtb2JpbGUtd2lkdGgpIHtcclxuICAgICAgICB3aWR0aDogbWFwLWdldCgkZGltZW50aW9ucywgbW9iaWxlLXdpZHRoKTtcclxuICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGRpbWVudGlvbnMsIHdpZHRoKSB7XHJcbiAgICAgICAgd2lkdGg6IG1hcC1nZXQoJGRpbWVudGlvbnMsIHdpZHRoKTtcclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIHdpZHRoOiA5NSU7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gRmFsbGJhY2tcclxuICAgICRpY29uLXBvc2l0aW9uOiBiZWZvcmU7XHJcblxyXG4gICAgQGlmICgkaWNvbi1jb25maWcpIHsgXHJcbiAgICAgICAgJGljb24tcG9zaXRpb246IG1hcC1nZXQoJGljb24tY29uZmlnLCBwb3NpdGlvbik7XHJcbiAgICB9XHJcblxyXG4gICAgbWF4LWhlaWdodDogbWFwLWdldCgkZGltZW50aW9ucywgbWF4LWhlaWdodCk7XHJcbiAgICBoZWlnaHQ6IGlmKG1hcC1nZXQoJGRpbWVudGlvbnMsIGhlaWdodCkgPT0gJycsIDEwMCUsIG1hcC1nZXQoJGRpbWVudGlvbnMsIGhlaWdodCkpO1xyXG4gICAgZGlzcGxheTogJGRpc3BsYXk7XHJcbiAgICBAaWYgJGRpc3BsYXkgPT0gXCJmbGV4XCIgb3IgJGRpc3BsYXkgPT0gXCJpbmxpbmUtZmxleFwiIHtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgfVxyXG4gICAgQGlmICgkZmxleC1ncm93KSB7XHJcbiAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgfVxyXG4gICAgLy8gQWRkaW5nIHBvc2l0aW9uIHJlbGF0aXZlIHRvIGtlZXAgYW55IGFic29sdXRlIGVsZW1lbnRzIGluc2lkZSBvZiB0aGUgYnV0dG9uICggaS5lIGdyYWR1YXRlZC1jb2xvdXItZWRnZSApXHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tc21hbGwtbWFyZ2luLCAje3NtYWxsLXZhbHVlKCRtYXJnaW4pfSk7XHJcbiAgICAvLyBwYWRkaW5nOiAkcGFkZGluZztcclxuICAgIHBhZGRpbmc6IHZhcigtLWNvbW1vbi1idXR0b24tcGFkZGluZywgJHBhZGRpbmcpO1xyXG4gICAgY29sb3I6IG1hcC1nZXQoJGNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRiYWNrZ3JvdW5kLCBkZWZhdWx0KTtcclxuICAgIGJvcmRlci13aWR0aDogJGNvbW1vbi1idXR0b24tYm9yZGVyLXdpZHRoO1xyXG4gICAgZm9udC1zaXplOiByZW0tY2FsYygkZm9udC1zaXplKTtcclxuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQ7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgQGlmICgkY29tbW9uLWJ1dHRvbi10ZXh0LXRyYW5zZm9ybSkge1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiAkY29tbW9uLWJ1dHRvbi10ZXh0LXRyYW5zZm9ybTtcclxuICAgIH1cclxuICAgIEBpZiAoJGNvbW1vbi1idXR0b24tdGV4dC10cmFuc2Zvcm0gPT0gXCJ1cHBlcmNhc2VcIikge1xyXG4gICAgICAgIGxldHRlci1zcGFjaW5nOiBpZigkZm9udC13ZWlnaHQgPj0gNjAwLCAkY29tbW9uLWJ1dHRvbi1sZXR0ZXItc3BhY2luZy11cHBlcmNhc2UtYm9sZCwgJGNvbW1vbi1idXR0b24tbGV0dGVyLXNwYWNpbmcpO1xyXG4gICAgICAgIHdvcmQtc3BhY2luZzogJGNvbW1vbi1idXR0b24td29yZC1zcGFjaW5nO1xyXG4gICAgfVxyXG4gICAgQGlmIG1hcC1nZXQoJGJvcmRlci1jb2xvdXIsIGRlZmF1bHQpIHtcclxuICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGJvcmRlci1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3VyMztcclxuICAgIH1cclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIGxpbmUtaGVpZ2h0OiAkY29tbW9uLWJ1dHRvbi1saW5lLWhlaWdodDsgICAgXHJcbiAgICBAaWYgc21vb3RoLWVkZ2VzKCRjb21tb24tYnV0dG9uLWJvcmRlci1yYWRpdXMpIHtcclxuICAgICAgICAvLyBPdmVycmlkaW5nIGZvdW5kYXRpb24uLi4uXHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCRjb21tb24tYnV0dG9uLWJvcmRlci1yYWRpdXMpICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgdHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgIEBpZiAobWVkaXVtLXZhbHVlKCRtYXJnaW4pKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1tZWRpdW0tbWFyZ2luLCAje21lZGl1bS12YWx1ZSgkbWFyZ2luKX0pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICB3aWR0aDogbWFwLWdldCgkZGltZW50aW9ucywgd2lkdGgpO1xyXG4gICAgICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1sYXJnZS1tYXJnaW4sICN7bGFyZ2UtdmFsdWUoJG1hcmdpbil9KTtcclxuICAgIH1cclxuICAgIC8vIE9ubHkgYXBwbHkgaG92ZXIgZWZmZWN0IGlmIGRldmljZSBzdXBwb3J0cyBpdCAoIGkuZSBub3QgaW4gbW9iaWxlICkgdG8gYXZvaWQgdGhlIHN0aWNreSBob3ZlciBlZmZlY3QuXHJcbiAgICAvLyBodHRwczovL2l0bmV4dC5pby9maW5hbGx5LWEtY3NzLW9ubHktc29sdXRpb24tdG8taG92ZXItb24tdG91Y2hzY3JlZW5zLWM0OThhZjM5YzMxY1xyXG4gICAgLy8gaHR0cHM6Ly9jc3MtdHJpY2tzLmNvbS9zb2x2aW5nLXN0aWNreS1ob3Zlci1zdGF0ZXMtd2l0aC1tZWRpYS1ob3Zlci1ob3Zlci9cclxuICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XHJcbiAgICAgICAgJjpob3ZlciwgJi5ob3ZlciB7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYmFja2dyb3VuZCwgaG92ZXIpO1xyXG4gICAgICAgICAgICBAaWYgbWFwLWdldCgkYm9yZGVyLWNvbG91ciwgaG92ZXIpIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkYm9yZGVyLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkYmFja2dyb3VuZCwgaG92ZXIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgIEBpZiAoJGljb24tY29uZmlnKSB7XHJcbiAgICAgICAgICAgICAgICAmOiN7JGljb24tcG9zaXRpb259IHtcclxuICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWRlZXAtZ2V0KCRpY29uLWNvbmZpZywgXCJjb2xvdXJcIiwgXCJob3ZlclwiKTtcclxuICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICY6YWN0aXZlLCAmLmFjdGl2ZSB7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRiYWNrZ3JvdW5kLCBhY3RpdmUpO1xyXG4gICAgICAgIEBpZiBtYXAtZ2V0KCRib3JkZXItY29sb3VyLCBhY3RpdmUpIHtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRib3JkZXItY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGJhY2tncm91bmQsIGFjdGl2ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgIEBpZiAoJGljb24tY29uZmlnKSB7XHJcbiAgICAgICAgICAgICY6I3skaWNvbi1wb3NpdGlvbn0ge1xyXG4gICAgICAgICAgICAgY29sb3I6IG1hcC1kZWVwLWdldCgkaWNvbi1jb25maWcsIFwiY29sb3VyXCIsIFwiYWN0aXZlXCIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJjpkaXNhYmxlZCwgJi5kaXNhYmxlZCwgJltkaXNhYmxlZF0ge1xyXG4gICAgICAgIEBpZiBtYXAtZ2V0KCRjb2xvdXIsIGRpc2FibGVkKSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvdXIsIGRpc2FibGVkKTtcclxuICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGlucHV0LWNvbG91ciwgZGlzYWJsZWQpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgbWFwLWdldCgkYmFja2dyb3VuZCwgZGlzYWJsZWQpIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYmFja2dyb3VuZCwgZGlzYWJsZWQpO1xyXG4gICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmIG1hcC1nZXQoJGJvcmRlci1jb2xvdXIsIGRpc2FibGVkKSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkYm9yZGVyLWNvbG91ciwgZGlzYWJsZWQpO1xyXG4gICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGlucHV0LWJvcmRlci1jb2xvdXIsIGRpc2FibGVkKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcclxuICAgICAgICBAaWYgKCRpY29uLWNvbmZpZykge1xyXG4gICAgICAgICAgICAmOiN7JGljb24tcG9zaXRpb259IHtcclxuICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1jb2xvdXIsIGRpc2FibGVkKTs7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmOmRpc2FibGVkOmhvdmVyLCAmLmRpc2FibGVkOmhvdmVyIHtcclxuICAgICAgICBAaWYgbWFwLWdldCgkYm9yZGVyLWNvbG91ciwgZGlzYWJsZWQpIHtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRib3JkZXItY29sb3VyLCBkaXNhYmxlZCk7XHJcbiAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkaW5wdXQtYm9yZGVyLWNvbG91ciwgZGlzYWJsZWQpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIFxyXG4gICAgJjpmb2N1cy12aXNpYmxlIHtcclxuICAgICAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgICAgIGJveC1zaGFkb3c6ICRib3hTaGFkb3czO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIEljb24gY29uZmlndXJhdGlvbi5cclxuICAgIEBpZiAoJGljb24tY29uZmlnKSB7XHJcbiAgICAgICAgLypcclxuICAgICAgICAtLS0gSWNvbiBjb25maWd1cmF0aW9uIC0tLVxyXG4gICAgICAgIC0gJGljcG9zaXRpb24gPT4gQmVmb3JlIG9yIGFmdGVyIHRleHRcclxuICAgICAgICAtIG1hcmdpbiA9PiBpY29uIG1hcmdpblxyXG4gICAgICAgIC0gY29sb3VyID0+IGljb24gY29sb3VyIHN0YXRlcyAoIGRlZmF1bHQsIGhvdmVyICYgYWN0aXZlIClcclxuICAgICAgICAtIHNpemUgPT4gaWNvbiBzaXplLlxyXG4gICAgICAgIC0gY29udGVudCA9PiB0aGUgZm9udCBpY29uIGl0c2VsZiwgbm9ybWFsbHkgc3RvcmVkIGluICRzaXRlLWljb25zXHJcbiAgICAgICAgLSBmb250LWZhbWlseSA9PiB0aGUgZm9udCBmYW1pbHkgdGhhdCB0aGUgaWNvbiBiZWxvbmdzIHRvIGZvbnQgYXdlc29tZSBvciBmb250ZWxsby5cclxuICAgICAgICAqL1xyXG4gICAgICAgIFxyXG4gICAgICAgICRpY29uLXBvc2l0aW9uOiBtYXAtZ2V0KCRpY29uLWNvbmZpZywgcG9zaXRpb24pO1xyXG4gICAgICAgIC8vIEZhbGxiYWNrXHJcbiAgICAgICAgQGlmIG5vdCAoJGljb24tcG9zaXRpb24pIHtcclxuICAgICAgICAgICAgJGljb24tcG9zaXRpb246IGJlZm9yZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6I3skaWNvbi1wb3NpdGlvbn0ge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRpY29uLWNvbmZpZywgY29udGVudCk7XHJcbiAgICAgICAgICAgIG1hcmdpbjogbWFwLWdldCgkaWNvbi1jb25maWcsIG1hcmdpbik7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBtYXAtZ2V0KCRpY29uLWNvbmZpZywgZm9udC1mYW1pbHkpO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IG1hcC1nZXQoJGljb24tY29uZmlnLCBzaXplKTtcclxuICAgICAgICAgICAgLy8gSWYgdXNpbmcgYSBmb250ZWxsbyBsaWJyYXJ5IHRoZW4gbWFrZSBzdXJlIHRoZSBmb250LXdlaWdodCBpcyBzZXQgdG8gNDAwIG90aGVyd2lzZSBhIHdlaXJkIGJvcmRlciBlZmZlY3QgaXMgYXBwbGllZCAoIHRoaXMgaXMgbGFyZ2VseSBkdWUgdG8gb25seSBoYXZlIHRoZSBmb250cyBpbiAxIHdlaWdodCApLlxyXG4gICAgICAgICAgICBAaWYgKHN0ci1pbmRleChcImZvbnRlbGxvXCIsIG1hcC1nZXQoJGljb24tY29uZmlnLCBmb250LWZhbWlseSkpKSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZGVlcC1nZXQoJGljb24tY29uZmlnLCBcImNvbG91clwiLCBcImRlZmF1bHRcIik7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0gUmVhZCBtb3JlIGJ1dHRvbiAvIGFuY2hvciAtLS0gXHJcbkBtaXhpbiByZWFkTW9yZVN1ZmZpeCgpIHtcclxuICAgIEBpZiAkcmVhZC1tb3JlLXN1ZmZpeC1pY29uIHtcclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgYW5jaG9yLWluZGljYXRvcik7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRyZWFkLW1vcmUtc3VmZml4LWljb24tY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAkcmVhZC1tb3JlLXN1ZmZpeC1pY29uLXNpemU7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBjdXN0b20taWNvbi1mYW1pbHkoJGZvbnRBd2Vzb21lU29saWQsICRyZWFkLW1vcmUtc3VmZml4LWN1c3RvbS1pY29uKTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJHJlYWQtbW9yZS1zdWZmaXgtaWNvbi1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkcmVhZC1tb3JlLXN1ZmZpeC1pY29uLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vLS0tIENsb3NlIEJ1dHRvbiAtLS0gXHJcbkBtaXhpbiBjbG9zZUJ1dHRvbiAoJHNpemU6ICRpY29uLXNpemUsICRkZWZhdWx0LWNvbG91cjogXCJcIiwgJGhvdmVyLWNvbG91cjogXCJcIiwgJGFjdGl2ZS1jb2xvdXI6IFwiXCIpIHtcclxuXHJcbiAgICAvLyBGYWxsYmFja3MuXHJcbiAgICBAaWYgJGRlZmF1bHQtY29sb3VyID09IFwiXCIge1xyXG4gICAgICAgICRkZWZhdWx0LWNvbG91cjogbWFwLWdldCgkcHJpbWFyeS1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgIC8vIENoZWNrIGNvbnRyYXN0IGFnYWluc3Qgd2hpdGUgYXMgdGhpcyBidXR0b24gb24gXCJtb3N0XCIgY2FzZXMgYXBwZWFycyBvbiBhIHdoaXRlIGJhY2tncm91bmQuXHJcbiAgICAgICAgJGRlZmF1bHQtY29sb3VyOiBjb250cmFzdC1jaGVja2VyKCRkZWZhdWx0LWNvbG91ciwgJGNvbG91cjEpO1xyXG4gICAgfVxyXG5cclxuICAgIEBpZiAkaG92ZXItY29sb3VyID09IFwiXCIge1xyXG4gICAgICAgICRob3Zlci1jb2xvdXI6IG1hcC1nZXQoJHByaW1hcnktYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgLy8gQ2hlY2sgY29udHJhc3QgYWdhaW5zdCB3aGl0ZSBhcyB0aGlzIGJ1dHRvbiBvbiBcIm1vc3RcIiBjYXNlcyBhcHBlYXJzIG9uIGEgd2hpdGUgYmFja2dyb3VuZC5cclxuICAgICAgICAkaG92ZXItY29sb3VyOiBjb250cmFzdC1jaGVja2VyKCRob3Zlci1jb2xvdXIsICRjb2xvdXIxKTtcclxuICAgIH1cclxuICAgIEBpZiAkYWN0aXZlLWNvbG91ciA9PSBcIlwiIHtcclxuICAgICAgICAkYWN0aXZlLWNvbG91cjogbWFwLWdldCgkcHJpbWFyeS1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgLy8gQ2hlY2sgY29udHJhc3QgYWdhaW5zdCB3aGl0ZSBhcyB0aGlzIGJ1dHRvbiBvbiBcIm1vc3RcIiBjYXNlcyBhcHBlYXJzIG9uIGEgd2hpdGUgYmFja2dyb3VuZC5cclxuICAgICAgICAkYWN0aXZlLWNvbG91cjogY29udHJhc3QtY2hlY2tlcigkYWN0aXZlLWNvbG91ciwgJGNvbG91cjEpO1xyXG4gICAgfVxyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBjbG9zZS1idXR0b24pO1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICBmb250LXNpemU6ICRzaXplO1xyXG4gICAgICAgIEBpZiAoJGRlZmF1bHQtY29sb3VyICE9IFwiXCIpIHtcclxuICAgICAgICAgICAgY29sb3I6ICRkZWZhdWx0LWNvbG91cjtcclxuICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI0LTI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkdHJhbnNpdGlvbkludHJvLCBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgfVxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAvL2ZvbnQtc2l6ZTogKCRzaXplICogMS4yKTtcclxuICAgICAgICAgICAgQGlmICgkaG92ZXItY29sb3VyICE9IFwiXCIpIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkaG92ZXItY29sb3VyO1xyXG4gICAgICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiByZ2JhKCRjb2xvdXI0LCAwLjUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICR0cmFuc2l0aW9uSW50cm8sIGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJjphY3RpdmUge1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29sb3I6ICRhY3RpdmUtY29sb3VyO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBmb250LXNpemUgMS4ycywgY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBcclxufVxyXG5cclxuLy8gVGFibGUgbGF5b3V0IGluIG1vYmlsZS5cclxuQG1peGluIGdyaWQtdGFibGUtbGF5b3V0LW1vYmlsZSgpIHtcclxuICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICAvLyBUd28gY29sdW1uIGFycmFuZ2VtZW50IHdoaWNoIHRoZSBpbWFnZSBnZXRzIGNvbXByZXNzZWQgb24gc21hbGxlciBkZXZpY2VzIHRvIGZpdCBjZWxsIG1haW4gY29udGVudCAoIGkuZSBkZXNjcmlwdGlvbiwgcHJpY2UgJiBidXkgYm94ZXMgKS5cclxuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMzAlIDFmcjtcclxuICAgIC8vIE11bHRpbWVkaWEgY29udGVudCA9PSBJbWFnZXMsIHZpZGVvcyBvciBhbmltYXRpb25zLiBUaGUgcmVzdCBvZiB0aGUgY29udGVudCBoYXMgc3BlY2lmaWMgYXJlYSdzIHRoYXQgaXQgc2l0cyBpbiAoIGkuZSBkZXNjcmlwdGlvbi1jb2wgc2l0cyBpbiB0ZSBkZXNjcmlwdGlvbiBhcmVhIClcclxuICAgIGdyaWQtdGVtcGxhdGUtYXJlYXM6IFwibXVsdGltZWRpYS1jb250ZW50IGRlc2NyaXB0aW9uXCIgXCJtdWx0aW1lZGlhLWNvbnRlbnQgY29kZVwiIFwibXVsdGltZWRpYS1jb250ZW50IHByaWNlXCIgXCJtdWx0aW1lZGlhLWNvbnRlbnQgaW50ZXJhY3RpdmVcIjtcclxuICAgIC8vIEVhY2ggcm93IGV4Y2VwdCB0aGUgcHJpY2luZyByb3cgdG8gbWF0Y2ggaXRzIGNvbnRlbnQgaGVpZ2h0LCByZWFzb24gZm9yIHRoaXMgaXMgdG8gYWxsb3cgYW55IGF2YWlsYWJsZSBoZWlnaHQgdG8gYmUgdGFrZW4gdXAgYnkgdGhlIHByaWNpbmcgdGV4dCB0aGlzIHdpbGwgYWxzbyBwaW4gdGhlIGludGVyYWN0aXZlIGVsZW1lbnRzIHRvIHRoZSBib3R0b20gb2YgdGhlIGNlbGwuXHJcbiAgICBncmlkLXRlbXBsYXRlLXJvd3M6IG1pbi1jb250ZW50IG1pbi1jb250ZW50IDFmciBtaW4tY29udGVudDtcclxuICAgIC8vIERpc3RhbmNlIGJldHdlZW4gZWFjaCBjb250ZW50IGNvbnRhaW5lci5cclxuICAgIGdhcDogMTBweCAyMHB4O1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDIwJSAxZnI7XHJcbiAgICB9XHJcbiAgICAvLyA+IGE6Zmlyc3QtY2hpbGQgaXMgdGhlIG9sZCB3YXkgb2YgdGhpbmtpbmcgYmVmb3JlIHdlIGludHJvZHVjZWQgdGhlIGZvcm1hbCBjb25jZXB0IGFzIGEgY2xhc3MuXHJcbiAgICAubXVsdGltZWRpYS1jb250ZW50LCA+IGE6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgIGdyaWQtYXJlYTogbXVsdGltZWRpYS1jb250ZW50O1xyXG4gICAgfVxyXG4gICAgLmRlc2NyaXB0aW9uLWNvbCB7XHJcbiAgICAgICAgZ3JpZC1hcmVhOiBkZXNjcmlwdGlvbjtcclxuICAgIH1cclxuICAgIC5jb2RlLWNvbCB7XHJcbiAgICAgICAgZ3JpZC1hcmVhOiBjb2RlO1xyXG4gICAgfVxyXG4gICAgLnByaWNlLWNvbCB7XHJcbiAgICAgICAgZ3JpZC1hcmVhOiBwcmljZTtcclxuICAgIH1cclxuICAgIC8vIEludGVyYWN0aXZlIGFyZWEsIHRoaXMgY291bGQgYmUgb25lIG9mIHRoZSBmb2xsb3dpbmcgKCBidXkgYm94ZXMsIGxvZ2luLCBlbnF1aXJ5IG9yIHN0b2NrbGluZSBidXR0b25zICkuXHJcbiAgICAuaW50ZXJhY3RpdmUtY29udGVudCwgLnF1YW50aXR5LWNvbnRhaW5lciwgLmxvZ2luLWNvbCwgLmVucXVpcnktY29sLCAuc3RvY2tsaW5lLWNvbCB7XHJcbiAgICAgICAgZ3JpZC1hcmVhOiBpbnRlcmFjdGl2ZTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tLS0gRm9ybSBtaXhpbnMgLS0tLS0gXHJcbi8vIC0tLSBFcnJvciBCbG9jayAtLS0gXHJcbkBtaXhpbiBlcnJvci1ibG9jaygpIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkb24tcGFnZS1ub3RpZmljYXRpb24tYmFja2dyb3VuZCwgYWxlcnQpO1xyXG4gICAgcGFkZGluZzogMTBweCAyMHB4O1xyXG4gICAgaDIsIGg0IHtcclxuICAgIG1hcmdpbjogMCAwIDEwcHg7XHJcbiAgICBwYWRkaW5nOiAwIDAgMjBweDtcclxuICAgIGNvbG9yOiBtYXAtZ2V0KCRvbi1wYWdlLW5vdGlmaWNhdGlvbi1jb2xvdXIsIGFsZXJ0KTtcclxuICAgIH1cclxuICAgIHVsIHtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgcGFkZGluZzogMCAwIDIwcHg7XHJcbiAgICAgICAgQGluY2x1ZGUgYnVsbGV0cG9pbnQoKTtcclxuICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRvbi1wYWdlLW5vdGlmaWNhdGlvbi1jb2xvdXIsIGFsZXJ0KTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRvbi1wYWdlLW5vdGlmaWNhdGlvbi1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkZXJyb3ItYmxvY2stZm9udC1zaXplKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBwLCBhIHtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkb24tcGFnZS1ub3RpZmljYXRpb24tY29sb3VyLCBhbGVydCk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRvbi1wYWdlLW5vdGlmaWNhdGlvbi1mb250LXdlaWdodDtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRlcnJvci1ibG9jay1mb250LXNpemUpO1xyXG4gICAgfVxyXG4gICAgYSB7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vLS0tLS0gUGFnZSBTcGVjaWZpYyBNaXhpbnMgLS0tLS1cclxuLy8tLS0gUHJvZHVjdCAtLS1cclxuQG1peGluIHRyaXBsZU1vZHVsZVNlY3Rpb24oJHByaXZhdGVVc2VBcmVhOlwiXCIsICRoYXNJY29uOiBmYWxzZSAsJGljb25Db2xvdXI6XCJcIiwgJGZvbnRGYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBTb2xpZCcpIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3VyMy0xO1xyXG4gICAgZm9udC1zaXplOiByZW0tY2FsYygkcGFyYWdyYXBoLWZvbnQtc2l6ZSk7XHJcbiAgICBhIHtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvdXIyO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHBhcmFncmFwaC1mb250LXNpemUpO1xyXG4gICAgfVxyXG4gICAgcCB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiA5MHB4O1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAzMHB4O1xyXG4gICAgICAgIG1hcmdpbjogMjVweCBhdXRvO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwYXJhZ3JhcGgtZm9udC1zaXplKTtcclxuICAgICAgICBAaWYgKCRoYXNJY29uID09IHRydWUpIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiAkcHJpdmF0ZVVzZUFyZWE7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDMwcHg7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRGYW1pbHk7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGljb25Db2xvdXI7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBpbWFnZTM2ME92ZXJsYXkoJGljb25TaXplOiA4MCUsICRvdmVybGF5U2l6ZTogOTBweCkge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyBcclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIG1heC13aWR0aDogJG92ZXJsYXlTaXplO1xyXG4gICAgICAgIG1heC1oZWlnaHQ6ICRvdmVybGF5U2l6ZTtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRjb2xvdXIyLCAwLjIpO1xyXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChtYXAtZ2V0KCRzaXRlLWljb25zLCBpbWFnZS0zNjApKTtcclxuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcclxuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6ICRpY29uU2l6ZTtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAoJGJvcmRlclJhZGl1czIgLyAyKTtcclxuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCByZ2JhKCRjb2xvdXIzLTEsIDAuMik7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBwcmljZSgkaXMtbGlzdDogZmFsc2UpIHtcclxuICAgIC8vIHRkIHtcclxuICAgIC8vICAgICAucHJpY2VzIC5wcmljZS1jb250YWluZXIgeyAgICBcclxuICAgICAgICAgICAgLy8gd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgICAgICAgICAvLyBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKXtcclxuICAgICAgICAgICAgLy8gICAgIC8vIFRoaXMgd2FzIHB1dCBpbiBmb3Igb3B0aW9uYWwgZXh0cmEncyBub3QgYWxpZ25pbmcgd2l0aCB0aC5cclxuICAgICAgICAgICAgLy8gICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICAgICAgICAvLyB9XHJcbiAgICAvLyAgICAgfVxyXG4gICAgLy8gfVxyXG4gICAgLy8gVG8gcHJldmVudCBkdXBsaWNhdGUgbGFiZWxzIGlmIHRoZXJlIGlzIG9ubHkgb25lIHByaWNlIGJlaW5nIG91dHB1dHRlZC5cclxuICAgIC5jb2wtbGFiZWwgKyAucHJpY2VzIHtcclxuICAgICAgICBwOm9ubHktY2hpbGQgLmxhYmVsIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmICsgLnZhbHVlIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5wcmljZXMge1xyXG4gICAgICAgIC8vIG1pbi1oZWlnaHQ6IDcwcHg7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwcmljZS1mb250LXNpemUpO1xyXG4gICAgICAgIHAge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIEBpZiAoJGlzLWxpc3QgYW5kICRwcmljZS1saXN0LWZvbnQtd2VpZ2h0KSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJHByaWNlLWxpc3QtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRwcmljZS1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAucHJpY2UtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIC8vIENoYW5naW5nIHRvIGlubGluZS1mbGV4IGR1ZSB0byBpbmNvbnNpc3RlbmNpZXMgb24gdGhlIHByb2R1Y3QgZW5xdWlyeSBwYWdlLlxyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiAkcHJpY2UtdGV4dC1hbGlnbjtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRjb2xsZWN0aW9uLWRlc2NyaXB0aW9uLWxpbmUtaGVpZ2h0OyAvLyBGb2xsb3cgc2FtZSBydWxlIGFzIGRlc2NyaXB0aW9uIHRvIGJyaW5nIG11bGl0cGxlIGxpbmVzIGNsb3NlciBhcyB0aGV5IHJlbGF0ZS5cclxuICAgICAgICAgICAgLy8gU3VwcHJlc3NpbmcgYXMgdGhpcyB3YXMgY2F1c2luZyB2ZXJ0aWNhbCBhbGlnbm1lbnQgaXNzdWVzIHdpdGggdmF0IHRleHQuXHJcbiAgICAgICAgICAgIC8vIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgLy8gICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgICAgICAvLyB9XHJcbiAgICAgICAgICAgICY6aGFzKC52YXQpIHtcclxuICAgICAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAubGFiZWwge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRwcmljZS1sYWJlbC1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJHByaWNlLWxhYmVsLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICAgICAgQGlmICgkcHJpY2UtbGFiZWwtdGV4dC10cmFuc2Zvcm0pIHtcclxuICAgICAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJHByaWNlLWxhYmVsLXRleHQtdHJhbnNmb3JtO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjpub3QoOmVtcHR5KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gQXR0ZW1wdGluZyB0byBwcmV2ZW50IHNtYWxsIHN0cmluZ3Mgb2YgdGV4dCBpbiBsYWJlbHMgZnJvbSB3cmFwcGluZy5cclxuICAgICAgICAgICAgICAgICAgICAvLyBtaW4td2lkdGg6IDQwJTtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICYgfiAudmF0IHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICAvLyBBZGRpbmcgcGFkZGluZyBsZWZ0IGR1ZSB0byBvbiB0aGUgcHJvZHVjdCBlbnF1aXJ5IHBhZ2UgdGhlIHZhdCB0ZXh0IGFzIHJlbmRlcmluZyByaWdodCB1cCBhZ2FpbnN0IHRoZSBwcmljZS5cclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAgMCA1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAudmFsdWUge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRwcmljZS1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJHByaWNlLXZhbHVlLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYuc2F2aW5nIHtcclxuICAgICAgICAgICAgICAgIC5sYWJlbCwgLnZhbHVlIHtcclxuICAgICAgICAgICAgICAgICAgICBAaWYgKCRpcy1saXN0KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJpY2UtbGFiZWwtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHNhdmluZ3MtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJHNhdmluZy1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgICAgICAgICBAaWYgKCRzYXZpbmdzLXRleHQtdHJhbnNmb3JtICE9IG5vcm1hbCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJHNhdmluZ3MtdGV4dC10cmFuc2Zvcm07XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLnZhbHVlIHtcclxuICAgICAgICAgICAgICAgICAgICBAaWYgKCRzYXZpbmctc3RyaWtlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLnJycCB7XHJcbiAgICAgICAgICAgICAgICAubGFiZWwsIC52YWx1ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRycnAtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkcnJwLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHJycC1mb250LXNpemUpO1xyXG4gICAgICAgICAgICAgICAgICAgIEBpZiAoJHJycC10ZXh0LXRyYW5zZm9ybSAhPSBub3JtYWwpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRycnAtdGV4dC10cmFuc2Zvcm07XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIEBpZiAoJHJycC1zdHJpa2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYucGFjay1wcmljZSB7XHJcbiAgICAgICAgICAgICAgICAubGFiZWwsIC52YWx1ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGlmICgkcGFjay1wcmljZS1jb2xvdXIgIT0gJHByaWNlLWNvbG91cikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHBhY2stcHJpY2UtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLnBhY2stc2l6ZSB7XHJcbiAgICAgICAgICAgICAgICAubGFiZWwsIC52YWx1ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGlmICgkcGFjay1zaXplLWNvbG91ciAhPSAkcHJpY2UtY29sb3VyKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkcGFjay1zaXplLWNvbG91cjsgXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYucGFjay1pdGVtLXByaWNlIHtcclxuICAgICAgICAgICAgICAgIC5sYWJlbCwgLnZhbHVlIHtcclxuICAgICAgICAgICAgICAgICAgICBAaWYgKCRwYWNrLWl0ZW0tc2l6ZS1jb2xvdXIgIT0gJHByaWNlLWNvbG91cikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHBhY2staXRlbS1zaXplLWNvbG91cjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGlmICgkcHJpY2UtdGV4dC1hbGlnbiA9PSBcImNlbnRlclwiIGFuZCAkaXMtbGlzdCkge1xyXG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgIH0gQGVsc2UgaWYgKCRwcmljZS10ZXh0LWFsaWduID09IFwibGVmdFwiKSB7XHJcbiAgICAgICAgICAgICAgICAubGFiZWwge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vICY6bm90KDplbXB0eSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAmICsgLnZhbHVlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAvLyB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAucHJpY2UtY29udGFpbmVyIHtcclxuICAgICAgICAudmFsdWUge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwcmljZS1mb250LXNpemUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAubGFiZWwsIC52YWx1ZSB7XHJcbiAgICAgICAgICAgIEBpZiAoJGlzLWxpc3QpIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBnZXQtdHlwb2dyYXBoeS1mb250LWZhbWlseShcInNlY29uZGFyeS1mb250XCIpO1xyXG4gICAgICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgICAgIC8vIEhhZCB0byBhZGQgb3ZlcnJpZGUgZm9yIFdpbGQgdGhpbmdzIGR1ZSB0byBpbmNvbnNpc3RhbmN5IGluIGxvZ2ljIG9uIG90aGVyIHNpdGVzICggaS5lIGF4aXMgKS5cclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkcHJvZHVjdC1lbnF1aXJ5LXByaWNlLWZvbnQtZmFtaWx5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnByaWNlIHtcclxuICAgICAgICBtYXJnaW46ICRwcmljZS1tYXJnaW47XHJcbiAgICAgICAgLy8gU3VwcHJlc3NpbmcgYXMgdGhpcyB3YXMgY2F1c2luZyBjb25zaXN0ZW5jeSBpc3N1ZXMgd2hlbiBkaXNwbGF5aW5nIG11bGlwbGUgcHJpY2VzLlxyXG4gICAgICAgIC8vIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgICAgIC5jdXJyZW5jeSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjYpO1xyXG4gICAgICAgIH0gXHJcbiAgICB9XHJcbiAgICAudmF0IHtcclxuICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcclxuICAgICAgICBjb2xvcjogJGNvbG91cjMtNjtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcclxuICAgICAgICBmb250LXdlaWdodDogJHByaWNlLXZhdC1mb250LXdlaWdodDtcclxuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBycnAoKSB7XHJcbiAgICAvLyAucnJwIHtcclxuICAgICAgICAvLyBjb2xvcjogJHJycC1jb2xvdXI7XHJcbiAgICAgICAgLy8gZm9udC1zaXplOiByZW0tY2FsYygkcnJwLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgLy8gZm9udC13ZWlnaHQ6ICRycnAtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgLy8gdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgIC8vIH1cclxufVxyXG5cclxuQG1peGluIHNhdmluZygpIHtcclxuICAgIC8vIC5zYXZpbmcge1xyXG4gICAgICAgIC8vIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHNhdmluZy1mb250LXNpemUpO1xyXG4gICAgICAgIC8vIGZvbnQtd2VpZ2h0OiAkc2F2aW5nLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgIC8vIGNvbG9yOiAkc2F2aW5ncy1jb2xvdXI7XHJcbiAgICAvLyB9XHJcbn1cclxuXHJcbkBtaXhpbiBxdWFudGl0eS1zZWxlY3Rvci1sYWJlbCgpIHtcclxuICAgIG1hcmdpbi1yaWdodDogMTBweDtcclxuICAgIHBhZGRpbmc6IG1hcC1nZXQoJHF1YW50aXR5LWxhYmVsLXBhZGRpbmcsIHNtYWxsKTtcclxuICAgIGxpbmUtaGVpZ2h0OiAkcXVhbnRpdHktbGFiZWwtbGluZS1oZWlnaHQ7XHJcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKCRxdWFudGl0eS1sYWJlbC1mb250LXNpemUpO1xyXG4gICAgZm9udC13ZWlnaHQ6ICRxdWFudGl0eS1sYWJlbC1mb250LXdlaWdodDtcclxuICAgIGNvbG9yOiAkcXVhbnRpdHktbGFiZWwtY29sb3VyO1xyXG4gICAgQGlmICgkcXVhbnRpdHktbGFiZWwtdGV4dC10cmFuc2Zvcm0pIHtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJHF1YW50aXR5LWxhYmVsLXRleHQtdHJhbnNmb3JtO1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XHJcbiAgICB9IFxyXG59XHJcblxyXG5AbWl4aW4gY29tbW9uLWNoZWNrYm94KCRkaW1lbnRpb25zOiAkY2hlY2tib3gtZGltZW50aW9ucykge1xyXG4gICAgLy8gQ2FsY3VsYXRlIHJhZGl1cy5cclxuICAgICRjaGVja2JveC1yYWRpdXM6IHNtb290aC1lZGdlcygkaW5wdXQtYm9yZGVyLXJhZGl1cyk7XHJcbiAgICAvLyBDYXAgcmFkaXVzIG90aGVyd2lzZSB5b3Ugd2lsbCBlbmQgdXAgd2l0aCBhIGNpcmNsZS5cclxuICAgIEBpZiAoJGNoZWNrYm94LXJhZGl1cyA+IDUpIHtcclxuICAgICAgICAkY2hlY2tib3gtcmFkaXVzOiA1cHg7XHJcbiAgICB9XHJcbiAgICAvLyAtLS0gQmFzZSBjaGVja2JveCBzdHlsZXMgLS0tXHJcbiAgICArIHNwYW4ge1xyXG4gICAgICAgIHdpZHRoOiAkZGltZW50aW9ucztcclxuICAgICAgICBoZWlnaHQ6ICRkaW1lbnRpb25zO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHg7XHJcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgQGlmICRjaGVja2JveC1yYWRpdXMge1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAkY2hlY2tib3gtcmFkaXVzO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNoZWNrYm94LXRpY2spO1xyXG4gICAgICAgICAgICB3aWR0aDogJGRpbWVudGlvbnM7XHJcbiAgICAgICAgICAgIGhlaWdodDogJGRpbWVudGlvbnM7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAycHg7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAoJGRpbWVudGlvbnMgLyAxLjcpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIC0tLSBTcGVjaWZpYyBjaGVja2JveCBzdHlsZXMgLS0tIFxyXG4gICAgLy8gRGVmYXVsdCBTdGF0ZS5cclxuICAgICsgc3BhbiB7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1ib3JkZXItY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gRGlzYWJsZWQgJiBSZWFkIE9ubHkuXHJcbiAgICAmW3JlYWRvbmx5XSArIHNwYW4sICZbZGlzYWJsZWRdIHtcclxuICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGlucHV0LWJvcmRlci1jb2xvdXIsIGRpc2FibGVkKTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1iYWNrZ3JvdW5kLWNvbG91ciwgZGlzYWJsZWQpO1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY3Vyc29yOiBuby1kcm9wO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIEhvdmVyIFN0YXRlLlxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgJjpub3QoW3JlYWRvbmx5XSk6bm90KFtkaXNhYmxlZF0pIHtcclxuICAgICAgICAgICAgKyBzcGFuIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGlucHV0LWJhY2tncm91bmQtY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGlucHV0LWJvcmRlci1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6ICRib3hTaGFkb3czO1xyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjaGVja2JveC1pY29uLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6Y2hlY2tlZCArIHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1ib3JkZXItY29sb3VyLCBhY3RpdmUtaG92ZXIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gRm9jdXMuXHJcbiAgICArIHNwYW4ge1xyXG4gICAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgICAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGlucHV0LWJvcmRlci1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6ICRib3hTaGFkb3czO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICY6Zm9jdXMge1xyXG4gICAgICAgICsgc3BhbiB7XHJcbiAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkaW5wdXQtYm9yZGVyLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgYm94LXNoYWRvdzogJGJveFNoYWRvdzM7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gQ2hlY2tlZCAvIEFjdGl2ZSBTdGF0ZS5cclxuICAgICY6Y2hlY2tlZCB7XHJcbiAgICAgICAgKyBzcGFuIHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBFbmFibGVkLlxyXG4gICAgICAgICY6bm90KFtyZWFkb25seV0pOm5vdChbZGlzYWJsZWRdKSB7XHJcbiAgICAgICAgICAgICsgc3BhbiB7XHJcbiAgICAgICAgICAgICAgICAvLyBib3JkZXItY29sb3I6IG1hcC1nZXQoJGlucHV0LWJvcmRlci1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNoZWNrYm94LWljb24tY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjpmb2N1cyB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1ib3JkZXItY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9IFxyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBEaXNhYmxlZCAmIFJlYWQgT25seS5cclxuICAgICAgICAmW2Rpc2FibGVkXSwgJltyZWFkb25seV0ge1xyXG4gICAgICAgICAgICArIHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1ib3JkZXItY29sb3VyLCBhY3RpdmUtZGlzYWJsZWQpO1xyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjaGVja2JveC1pY29uLWNvbG91ciwgYWN0aXZlLWRpc2FibGVkKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSBcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBidWxsZXRwb2ludCgpIHtcclxuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICBsaW5lLWhlaWdodDogMjVweDtcclxuICAgIGxpIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgcGFkZGluZzogMCAwIDAgMTVweDtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICB3aWR0aDogJGJ1bGxldC1zaXplO1xyXG4gICAgICAgICAgICBoZWlnaHQ6ICRidWxsZXQtc2l6ZTtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB0b3A6IDEwcHg7XHJcbiAgICAgICAgICAgIC8vIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1bGxldC1jb2xvdXI7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRidWxsZXQtYm9yZGVyLXJhZGl1cztcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyBQcm9kdWN0IGNvbGxlY3Rpb24gc3R5bGVzLlxyXG5AbWl4aW4gcHJvZHVjdC1jb2xsZWN0aW9uLWNlbGwoJGludmVydC1lYmctY29sb3VyczogZmFsc2UsICRpcy1ncmlkLWNvbGxlY3Rpb246IGZhbHNlKSB7XHJcbiAgICBAaWYgKCRjb2xsZWN0aW9uLWltYWdlLXNlcGVyYXRvcikge1xyXG4gICAgICAgJjpub3QoLm1pbmlmaWVkLWxheW91dCkge1xyXG4gICAgICAgICAgICAuY29sbGVjdGlvbi1pdGVtI3tpZigkY29sbGVjdGlvbi1lYmctaW1hZ2Utc2VwZXJhdG9yLCcnLCc6bm90KC5lYmcpJyl9IC5jb250ZW50LWNvbnRhaW5lcjpub3QoLmltYWdlKTpub3QoLmNvbXBhY3QpIHtcclxuICAgICAgICAgICAgICAgID4gYTpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IG1hcC1nZXQoJGNvbGxlY3Rpb24tc2VwZXJhdG9yLWRpbWVudGlvbnMsIHdpZHRoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBtYXAtZ2V0KCRjb2xsZWN0aW9uLXNlcGVyYXRvci1kaW1lbnRpb25zLCBoZWlnaHQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAkY29sbGVjdGlvbi1pbWFnZS1zZXBlcmF0b3ItcG9zaXRpb24tYm90dG9tO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sbGVjdGlvbi1pbWFnZS1zZXBlcmF0b3ItY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIC5pbWFnZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRjb2xsZWN0aW9uLWltYWdlLXNlcGVyYXRvci1tYXJnaW4tYm90dG9tO1xyXG4gICAgICAgICAgICAgICAgICAgIH0gXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBDb250ZW50IGxlZnQsIGltYWdlIHJpZ2h0XHJcbiAgICAmLm11bHRpbWVkaWEtcmlnaHQge1xyXG4gICAgICAgIEBpbmNsdWRlIHByb2R1Y3QtY29sbGVjdGlvbi1yb3ctY29udGVudC1vcmRlcih0cnVlKTtcclxuICAgICAgICAuY29sbGVjdGlvbi1pdGVtIHtcclxuICAgICAgICAgICAgJi5lYmcge1xyXG4gICAgICAgICAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBwcm9kdWN0LWNvbGxlY3Rpb24tZWJnLWRlc2NyaXB0aW9uLWFycmFuZ2Utc2lkZSgpO1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIEJlY2F1c2UgZ3JvdXBzIGRvbnQgaGF2ZSBhIHByaWNlLlxyXG4gICAgICAgICAgICAgICAgICAgIC5wcmljZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICAvLyBXb3JrIG91dCB0aGUgY29udGVudCBndXR0ZXIgYmFzZWQgb24gdGhlIGRlc2NyaXB0aW9uIG1hcmdpbi5cclxuICAgICAgICAgICAgICAgICRjb250ZW50LXBhZGRpbmc6IHNwYWNpbmctdmFsdWUoJGNvbGxlY3Rpb24tZGVzY3JpcHRpb24tcGFkZGluZywgMiwgJ2NvbXBhY3QnKTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IHNtYWxsLXZhbHVlKCRjb2xsZWN0aW9uLWxheW91dC1zdHlsZS0xLWdyaWQtY29udGVudC1wYWRkaW5nKTtcclxuICAgICAgICAgICAgICAgIGdhcDogMTBweCAwO1xyXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogJGJveFNoYWRvdzM7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiBtZWRpdW0tdmFsdWUoJGNvbGxlY3Rpb24tbGF5b3V0LXN0eWxlLTEtZ3JpZC1jb250ZW50LXBhZGRpbmcpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gR2l2ZSB0aGUgdGV4dCBtb3JlIGRvbWluYW5jZSBvdmVyIHRoZSBpbWFnZSA4NDQ2NzguIFxyXG4gICAgICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogY2FsYyg2MCUgLSAxMHB4KSBjYWxjKDQwJSAtIDEwcHgpO1xyXG4gICAgICAgICAgICAgICAgICAgIGdyaWQtZ2FwOiAwIDIwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IGxhcmdlLXZhbHVlKCRjb2xsZWN0aW9uLWxheW91dC1zdHlsZS0xLWdyaWQtY29udGVudC1wYWRkaW5nKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICYgPiBhOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICBhbGlnbi1zZWxmOiBzdGFydDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC8vIFNwZWNpZmljIHN0eWxlcyBmb3IgcHJvZHVjdCBjb2xsZWN0aW9ucy5cclxuICAgICAgICAgICAgICAgICYucHJvZHVjdCB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgcHJvZHVjdC1jb2xsZWN0aW9uLWNvbnRlbnQtYXJyYW5nZS1zaWRlLWZpcnN0LWl0ZW0tcGFkZGluZygpO1xyXG4gICAgICAgICAgICAgICAgICAgIC5kZXNjcmlwdGlvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBwcm9kdWN0LWNvbGxlY3Rpb24tY29udGVudC1hcnJhbmdlLXNpZGUtY2FsbGJhY2stY29udGFpbmVyKCk7XHJcbiAgICAgICAgICAgICAgICBwIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBwcm9kdWN0LWNvbGxlY3Rpb24tY29udGVudC1hcnJhbmdlLXNpZGUtZ3JvdXAtZGVzY3JpcHRpb24oKTtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHByb2R1Y3QtY29sbGVjdGlvbi1pbWFnZS1hcnJhbmdlLXNpZGUoKTtcclxuICAgICAgICAgICAgICAgIC5kZXNjcmlwdGlvbiwgLmNvZGUsIC5wcmljZXMsIC5zdG9jay1pbmRpY2F0b3Ige1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiBzcGFjaW5nLXZhbHVlKCRjb2xsZWN0aW9uLWRlc2NyaXB0aW9uLXBhZGRpbmcsIDEsICdjb21wYWN0Jyk7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogc3BhY2luZy12YWx1ZSgkY29sbGVjdGlvbi1kZXNjcmlwdGlvbi1wYWRkaW5nLCAzLCAnY29tcGFjdCcpO1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHByb2R1Y3QtY29sbGVjdGlvbi1jb250ZW50LWFycmFuZ2Utc2l6ZS1mb3JtcygpO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcHJvZHVjdC1jb2xsZWN0aW9uLWNvbnRlbnQtYXJyYW5nZS1zaWRlLXJlYWQtbW9yZS1jb250ZW50LWNvbnRhaW5lcigpO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcHJvZHVjdC1jb2xsZWN0aW9uLWNvbnRlbnQtYXJyYW5nZS1zaWRlLWJ1dHRvbi1jb250YWluZXJzKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gQ29udGVudCByaWdodCwgSW1hZ2UgbGVmdFxyXG4gICAgJi5tdWx0aW1lZGlhLWxlZnQge1xyXG4gICAgICAgIEBpbmNsdWRlIHByb2R1Y3QtY29sbGVjdGlvbi1yb3ctY29udGVudC1vcmRlcigpO1xyXG4gICAgICAgIC5jb2xsZWN0aW9uLWl0ZW0ge1xyXG4gICAgICAgICAgICAmLmViZyB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBwcm9kdWN0LWNvbGxlY3Rpb24tZWJnLWRlc2NyaXB0aW9uLWFycmFuZ2Utc2lkZSgpO1xyXG4gICAgICAgICAgICAgICAgLy8gQmVjYXVzZSBncm91cHMgZG9udCBoYXZlIGEgcHJpY2UuXHJcbiAgICAgICAgICAgICAgICAucHJpY2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgLy8gV29yayBvdXQgdGhlIGNvbnRlbnQgZ3V0dGVyIGJhc2VkIG9uIHRoZSBkZXNjcmlwdGlvbiBtYXJnaW4uXHJcbiAgICAgICAgICAgICRjb250ZW50LXBhZGRpbmc6IHNwYWNpbmctdmFsdWUoJGNvbGxlY3Rpb24tZGVzY3JpcHRpb24tcGFkZGluZywgMiwgJ2NvbXBhY3QnKTtcclxuICAgICAgICAgICAgZ2FwOiAxMHB4IDA7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiBtZWRpdW0tdmFsdWUoJGNvbGxlY3Rpb24tbGF5b3V0LXN0eWxlLTEtZ3JpZC1jb250ZW50LXBhZGRpbmcpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICAgICAgICAgICAgICAvLyBHaXZlIHRoZSB0ZXh0IG1vcmUgZG9taW5hbmNlIG92ZXIgdGhlIGltYWdlIDg0NDY3OC4gXHJcbiAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGNhbGMoNDAlIC0gMTBweCkgY2FsYyg2MCUgLSAxMHB4KTtcclxuICAgICAgICAgICAgICAgIGdyaWQtZ2FwOiAwIDIwcHg7XHJcbiAgICAgICAgICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJiA+IGE6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgYWxpZ24tc2VsZjogc3RhcnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy8gU3BlY2lmaWMgc3R5bGVzIGZvciBwcm9kdWN0IGNvbGxlY3Rpb25zLlxyXG4gICAgICAgICAgICAmLnByb2R1Y3Qge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcHJvZHVjdC1jb2xsZWN0aW9uLWNvbnRlbnQtYXJyYW5nZS1zaWRlLWZpcnN0LWl0ZW0tcGFkZGluZygpO1xyXG4gICAgICAgICAgICAgICAgLmRlc2NyaXB0aW9uIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaW5jbHVkZSBwcm9kdWN0LWNvbGxlY3Rpb24tY29udGVudC1hcnJhbmdlLXNpZGUtY2FsbGJhY2stY29udGFpbmVyKCk7XHJcbiAgICAgICAgICAgIHAge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHByb2R1Y3QtY29sbGVjdGlvbi1jb250ZW50LWFycmFuZ2Utc2lkZS1ncm91cC1kZXNjcmlwdGlvbigpO1xyXG4gICAgICAgICAgICAuZGVzY3JpcHRpb24ge1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaW5jbHVkZSBwcm9kdWN0LWNvbGxlY3Rpb24taW1hZ2UtYXJyYW5nZS1zaWRlKCk7XHJcbiAgICAgICAgICAgIC5jb2RlIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRjb250ZW50LXBhZGRpbmc7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRjb250ZW50LXBhZGRpbmc7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5wcmljZXMge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogJGNvbnRlbnQtcGFkZGluZztcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJGNvbnRlbnQtcGFkZGluZztcclxuICAgICAgICAgICAgICAgIC5wcmljZS1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5zdG9jay1pbmRpY2F0b3Ige1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogYXV0bztcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgJGNvbnRlbnQtcGFkZGluZztcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGluY2x1ZGUgcHJvZHVjdC1jb2xsZWN0aW9uLWNvbnRlbnQtYXJyYW5nZS1zaXplLWZvcm1zKCk7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHByb2R1Y3QtY29sbGVjdGlvbi1jb250ZW50LWFycmFuZ2Utc2lkZS1idXR0b24tY29udGFpbmVycygpO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBwcm9kdWN0LWNvbGxlY3Rpb24tY29udGVudC1hcnJhbmdlLXNpZGUtcmVhZC1tb3JlLWNvbnRlbnQtY29udGFpbmVyKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gQ29udGVudCB0b3AsIGltYWdlIGJvdHRvbS5cclxuICAgICYubXVsdGltZWRpYS1ib3R0b20ge1xyXG4gICAgICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIC8vIEFzc3VtaW5nIGZpcnN0IGFuY2hvciBpcyB0aGUgaW1hZ2UsIGFzIG9yZGVyIGlzIG5vdCB1c2VkIG9uIGFueSBvZiB0aGUgb3RoZXIgZWxlbWVudHMgaW4gdGhlIGNlbGwgdGhlbiB0aGlzIHdpbGwgZm9yY2UgdGhlIGltYWdlIHRvIHRoZSBib3R0b20uXHJcbiAgICAgICAgICAgID4gYTpmaXJzdC1vZi10eXBlIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiBzcGFjaW5nLXZhbHVlKCRjb2xsZWN0aW9uLWRlc2NyaXB0aW9uLXBhZGRpbmcsIDIsICdub24tY29tcGFjdCcpOztcclxuICAgICAgICAgICAgICAgIG9yZGVyOiAxO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5pbWFnZSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gTWluaWZpZWQsIHJlc3RyaWN0ZWQgaW1hZ2Ugc2l6ZS5cclxuICAgICYubWluaWZpZWQtbGF5b3V0IHtcclxuICAgICAgICBAaW5jbHVkZSBwcm9kdWN0LWNvbGxlY3Rpb24tcm93LWNvbnRlbnQtb3JkZXIoKTtcclxuICAgICAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICAmLnByb2R1Y3Qge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogNXB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDExMHB4IDFmcjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAvLyBBc3N1bWUgdGhlIGZpcnN0IGFuY2hvciBpcyB0aGUgaW1hZ2UuXHJcbiAgICAgICAgICAgID4gYTpmaXJzdC1vZi10eXBlIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwOyAgICBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuY29sbGVjdGlvbi1pdGVtIHtcclxuICAgICAgICAgICAgJi5lYmcge1xyXG4gICAgICAgICAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLmRlc2NyaXB0aW9uIHtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMjBweCAxMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmltYWdlIHtcclxuICAgICAgICAgICAgd2lkdGg6IDExMHB4O1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgIC5kZXNjcmlwdGlvbiwgYTpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcclxuICAgICAgICAgICAgcGFkZGluZzogMjVweCAyMHB4O1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBJZiB5b3UncmUgYSBwcm9kdWN0IGNhcm91c2VsLlxyXG4gICAgLmltYWdlLWNvbnRhaW5lciB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgb3BhY2l0eTogMC41O1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIFtkYXRhLWNvbnRlbnQtY29udGFpbmVyXSB7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgLy8gU2V0IGhlaWdodCB0byByZWFkIG1vcmUgY29udGVudCBmcm9tIHRha2luZyB1cCB0aGUgZW50aXJlIHBhZ2UgYXMgdGhlc2UgYXJlIG9mdGVyIGZ1bGwgQ01TIGVudHJpZXMuXHJcbiAgICAgICAgJjpoYXMoLnJlYWQtbW9yZSkge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDMwMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcCB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmNvbGxlY3Rpb24taXRlbSB7XHJcbiAgICAgICAgLy8gaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIC8vIGVCdXNzaW5lc3MgZ3JvdXAgc3BlY2lmaWMgc3R5bGluZy5cclxuICAgICAgICAmLmViZyB7XHJcbiAgICAgICAgICAgIC8vIFRoaXMgbWVhbnMgd2UncmUgb25seSBzaG93aW5nIHRoZSBpbWFnZSwgc28gcmVtb3ZlIGFkZGl0aW9uYWwgcGFkZGluZyB0byBtYWtlIHRoZSBjZWxsIG1hdGNoIHRoZSBpbWFnZSBzaXplLlxyXG4gICAgICAgICAgICAmOmhhcyguZGVzY3JpcHRpb246ZW1wdHkpIHtcclxuICAgICAgICAgICAgICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy8gU3VwcHJlc3NpbmcgYXMgdGhpcyBpcyBjYXVzaW5nIGJ1dHRvbiBhbGlnbm1lbnQgaXNzdWVzIHJlZ2FyZGluZyBmb3VuZGF0aW9uJ3MgZXF1YWxpemVyLlxyXG4gICAgICAgICAgICAvLyBwYWRkaW5nOiAkY29sbGVjdGlvbi1lYmctY2VsbC1wYWRkaW5nO1xyXG4gICAgICAgICAgICAmOmhvdmVyIC5kZXNjcmlwdGlvbiB7ICBcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGNvbGxlY3Rpb24tZWJnLWRlc2NyaXB0aW9uLWJhY2tncm91bmQtY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICBAaWYgbm90ICRpbnZlcnQtZWJnLWNvbG91cnMge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBob3Zlci1jb2xvdXIoJGNvbGxlY3Rpb24tZWJnLWRlc2NyaXB0aW9uLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjphY3RpdmUgLmRlc2NyaXB0aW9uIHsgIFxyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkY29sbGVjdGlvbi1lYmctZGVzY3JpcHRpb24tYmFja2dyb3VuZC1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgICAgICBAaWYgbm90ICRpbnZlcnQtZWJnLWNvbG91cnMge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBhY3RpdmUtY29sb3VyKCRjb2xsZWN0aW9uLWViZy1kZXNjcmlwdGlvbi1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICBAaWYgKHNtYWxsLXZhbHVlKCRjb2xsZWN0aW9uLWViZy1jb250ZW50LWNvbnRhaW5lci1wYWRkaW5nKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IHNtYWxsLXZhbHVlKCRjb2xsZWN0aW9uLWViZy1jb250ZW50LWNvbnRhaW5lci1wYWRkaW5nKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIEBpZiAoJGNvbGxlY3Rpb24tZWJnLWNvbnRlbnQtY29udGFpbmVyLWJvcmRlci13aWR0aCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogJGNvbGxlY3Rpb24tZWJnLWNvbnRlbnQtY29udGFpbmVyLWJvcmRlci13aWR0aDtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogZGVmYXVsdC1jb2xvdXIoJGNvbGxlY3Rpb24tYm9yZGVyLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAvLyBGb2xsb3cgcHJvZHVjdCBjZWxsIGJhY2tncm91bmQuXHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkZWZhdWx0LWNvbG91cigkY29sbGVjdGlvbi1wcm9kdWN0LWNlbGwtYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGlmICgkY29sbGVjdGlvbi1lYmctY29udGVudC1jb250YWluZXItYm9yZGVyLXdpZHRoKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogaG92ZXItY29sb3VyKCRjb2xsZWN0aW9uLWJvcmRlci1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBAaWYgKGxhcmdlLXZhbHVlKCRjb2xsZWN0aW9uLWViZy1jb250ZW50LWNvbnRhaW5lci1wYWRkaW5nKSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiBsYXJnZS12YWx1ZSgkY29sbGVjdGlvbi1lYmctY29udGVudC1jb250YWluZXItcGFkZGluZyk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5kZXNjcmlwdGlvbiB7IFxyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIEBpZiAoJGNvbGxlY3Rpb24tZWJnLWdyaWQtZGVzY3JpcHRpb24tanVzdGlmeS1jb250ZW50IGFuZCAkaXMtZ3JpZC1jb2xsZWN0aW9uKSB7XHJcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiAkY29sbGVjdGlvbi1lYmctZ3JpZC1kZXNjcmlwdGlvbi1qdXN0aWZ5LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIEBpZiAoJGNvbGxlY3Rpb24tZWJnLWdyaWQtZGVzY3JpcHRpb24tYWxpZ24taXRlbXMgYW5kICRpcy1ncmlkLWNvbGxlY3Rpb24pIHtcclxuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogJGNvbGxlY3Rpb24tZWJnLWdyaWQtZGVzY3JpcHRpb24tYWxpZ24taXRlbXM7XHJcbiAgICAgICAgICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogJGNvbGxlY3Rpb24tZWJnLWRlc2NyaXB0aW9uLXRleHQtYWxpZ247XHJcbiAgICAgICAgICAgICAgICAmOm5vdCg6ZW1wdHkpIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46ICRjb2xsZWN0aW9uLWViZy1kZXNjcmlwdGlvbi1tYXJnaW47XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogJGNvbGxlY3Rpb24tZWJnLWRlc2NyaXB0aW9uLXBhZGRpbmc7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBAaWYgJGNvbGxlY3Rpb24tZWJnLWRlc2NyaXB0aW9uLWZvbnQtc2l6ZSAhPSAkY29sbGVjdGlvbi1kZXNjcmlwdGlvbi1mb250LXNpemUge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGNvbGxlY3Rpb24tZWJnLWRlc2NyaXB0aW9uLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBAaWYgJGNvbGxlY3Rpb24tZWJnLWRlc2NyaXB0aW9uLWZvbnQtd2VpZ2h0ICE9ICRjb2xsZWN0aW9uLWRlc2NyaXB0aW9uLWZvbnQtd2VpZ2h0IHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJGNvbGxlY3Rpb24tZWJnLWRlc2NyaXB0aW9uLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLy8gSWYgdGhpcyBpcyBhIGdyaWQgY29sbGVjdGlvbiB0aGVuIGRvbid0IGFwcGx5IGJhY2tncm91bmQgaW4gZGVmYXVsdCBzdGF0ZSwgaWYgdGhpcyBpcyBhIGNhcm91c2VsIHRoZW4gYXBwbHkgdGhlIGRlZmF1bHQgYmFja2dyb3VuZC5cclxuICAgICAgICAgICAgICAgIEBpZiBub3QgJGludmVydC1lYmctY29sb3VycyB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkY29sbGVjdGlvbi1lYmctZGVzY3JpcHRpb24tYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBkZWZhdWx0LWNvbG91cigkY29sbGVjdGlvbi1lYmctZGVzY3JpcHRpb24tY29sb3VyKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRjb2xsZWNpdG9uLWViZy1kZXNjcmlwdGlvbi10ZXh0LXRyYW5zZm9ybTsgICAgIFxyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbk91dHJvOyAgICAgICBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaWYgKCRjb2xsZWN0aW9uLWViZy1ob3Zlci1ib3gtc2hhZG93LXN1cHByZXNzKSB7XHJcbiAgICAgICAgICAgICAgICAuY29udGVudC1jb250YWluZXI6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IHVuc2V0O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gV29yayBvdXQgdGhlIGNvbnRlbnQgcGFkZGluZyBiYXNlZCBvbiB0aGUgZGVzY3JpcHRpb24gcGFkZGluZy5cclxuICAgICRjb250ZW50LXBhZGRpbmc6IHNwYWNpbmctdmFsdWUoJGNvbGxlY3Rpb24tZGVzY3JpcHRpb24tcGFkZGluZywgMiwgJ25vbi1jb21wYWN0Jyk7XHJcbiAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgIC8vIFdoZW4gaW4gbW9iaWxlIGZpdC1jb250ZW50IGluY2FzZSB0aGVyZSBpcyBhIGJvcmRlciBhcHBsaWVkLCBpbiB0aGUgY29udGV4dCBvZiB3aWxkIHRoaW5ncyB0aGUgYm9yZGVyIHNob3VsZCB3cmFwIGFyb3VuZCB0aGUgY29udGVudCB3aXRob3V0IGEgZ3V0dGVyIFIgKyBMLCBTVVBQUkVTU0lORzogQXMgdGhpcyB3YXMgY2F1c2luZyBhbiBpbXBhY3Qgb24gcGFja2FnaW5nZGVwb3QgYW5kIG1pbGVzIGZvciBlZ2IgbW9kdWxlcyBub3QgZmlsbGluZyBjZWxsIHdpdGggYmFja2dyb3VuZCBjb2xvdXIsIGEgYmV0dGVyIHNvbHV0aW9uIHdvdWxkIGJlIHRvIGp1c3QgY2VudGVyIHRoZSBjb250ZW50IHdpdGhpbiB0aGUgY2VsbCB1c2luZyBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgLy8gd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgLy8gRGVmYXVsdCB0byBmbGV4IGxheW91dC5cclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgQGlmIHNtb290aC1lZGdlcygkY29sbGVjdGlvbi1jZWxsLWJvcmRlci1yYWRpdXMpIHtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCRjb2xsZWN0aW9uLWNlbGwtYm9yZGVyLXJhZGl1cyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRleHQtYWxpZ246ICRjb2xsZWN0aW9uLXRleHQtYWxpZ247XHJcbiAgICAgICAgLy8gU3VwcHJlc3MgdGhpcyBhcyBzb21lIGRlc2lnbnMgYWxsb3cgdGhlIGltYWdlIHRvIHRha2UgZnVsbCB3aWR0aCBvZiB0aGUgY2VsbCBhbmQgdGhlbiBpbmRlbnQgdGhlIGNvbnRlbnQuXHJcbiAgICAgICAgLy8gJi5wcm9kdWN0IHtcclxuICAgICAgICAvLyAgICAgcGFkZGluZzogJGNvbGxlY3Rpb24taXRlbS1wYWRkaW5nO1xyXG4gICAgICAgIC8vIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuY29kZSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRjb250ZW50LXBhZGRpbmc7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJGNvbnRlbnQtcGFkZGluZztcclxuICAgICAgICAgICAgJjpub3QoOmVtcHR5KSB7XHJcbiAgICAgICAgICAgICAgICAmICsgLmRlc2NyaXB0aW9uIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5kZXNjcmlwdGlvbiB7XHJcbiAgICAgICAgICAgIC8vIEJhc2Ugc3R5bGVzIHRoYXQgZ2V0IHVzZWQgaW4gYWxsIGxheW91dHMgLyBkYXRhICggaS5lIHByb2R1Y3QsIGViZywgY21zIClcclxuICAgICAgICAgICAgcGFkZGluZzogMTBweCAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuc3BlY2lmaWNhdGlvbiB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRjb250ZW50LXBhZGRpbmc7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJGNvbnRlbnQtcGFkZGluZztcclxuICAgICAgICAgICAgJjpub3QoOmVtcHR5KSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5wcmljZXMge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkY29udGVudC1wYWRkaW5nO1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRjb250ZW50LXBhZGRpbmc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5zdG9jay1pbmRpY2F0b3Ige1xyXG4gICAgICAgICAgICAvLyBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogYXV0bztcclxuICAgICAgICAgICAgcGFkZGluZzogMTBweCAkY29udGVudC1wYWRkaW5nO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiAkY29sbGVjdGlvbi10ZXh0LWFsaWduO1xyXG4gICAgICAgICAgICArIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiAkY29sbGVjdGlvbi10ZXh0LWFsaWduO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XHJcbiAgICAgICAgICAgICAgICBAaWYgKCRjb2xsZWN0aW9uLXRleHQtYWxpZ24gPT0gbGVmdCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgICAgICAgICAgICAgIH0gQGVsc2UgaWYgKCRjb2xsZWN0aW9uLXRleHQtYWxpZ24gPT0gcmlnaHQpIHtcclxuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5xdWFudGl0eS1jb250YWluZXIge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNtYWxsLXZhbHVlKCRjb2xsZWN0aW9uLWJ1eS1ib3gtanVzdGlmeS1jb250ZW50KTtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgICAgICBnYXA6IDEwcHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6ICRjb2xsZWN0aW9uLWJ1eS1ib3gtcGFkZGluZy10b3AgJGNvbnRlbnQtcGFkZGluZyBzcGFjaW5nLXZhbHVlKCRjb2xsZWN0aW9uLWltYWdlLWNlbGwtcGFkZGluZywgMSk7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogbGFyZ2UtdmFsdWUoJGNvbGxlY3Rpb24tYnV5LWJveC1qdXN0aWZ5LWNvbnRlbnQpO1xyXG4gICAgICAgICAgICAgICAgZ2FwOiA1cHg7IFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIElmIHN0b2NrIGluZGljYXRvcnMgaGF2ZSBiZWVuIGRpc2FiYWJlZCB0aGVuIGFkZCBzb21lIHNwYWNlIGJldHdlZW4gcHJpY2VzIGFuZCBidXR0b24ocykuXHJcbiAgICAgICAgLnByaWNlcyArIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciwgLnByaWNlcyArIC5zdG9ja2xpbmUtdmlldy1idXR0b24sIC5wcmljZXMgKyAuZW5xdWlyeS1idXR0b24tY29udGFpbmVyIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyLCAuc3RvY2tsaW5lLXZpZXctYnV0dG9uLCAuZW5xdWlyeS1idXR0b24tY29udGFpbmVyIHtcclxuICAgICAgICAgICAgLy93aWR0aDogNjYlO1xyXG4gICAgICAgICAgICB3aWR0aDogJGNvbGxlY3Rpb24tYnV0dG9uLXdpZHRoO1xyXG4gICAgICAgICAgICBtYXJnaW46ICRjb2xsZWN0aW9uLWJ1dHRvbnMtbWFyZ2luO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLm1pbmlmaWVkIHtcclxuICAgICAgICAgICAgLmltYWdlIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMTBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIC5kZXNjcmlwdGlvbiwgLnJlYWQtbW9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sbGVjdGlvbi1hbmNob3ItY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IGlmKCRjb2xsZWN0aW9uLWRlc2NyaXB0aW9uLWhvdmVyLXVuZGVybGluZSwgdW5kZXJsaW5lLCBub25lKTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICAuZGVzY3JpcHRpb24ge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbGxlY3Rpb24tYW5jaG9yLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gU3VwcHJlc3NpbmcsIHlvdSBsYXlvdXQgY2xhc3NlcyBpbnN0ZWFkLlxyXG4gICAgICAgIC8vICYucHJvZHVjdCB7XHJcbiAgICAgICAgLy8gICAgIC5pbWFnZSBpbWcge1xyXG4gICAgICAgIC8vICAgICAgICAgbWFyZ2luOiAkY29sbGVjdGlvbi1wcm9kdWN0LWltYWdlLW1hcmdpbjtcclxuICAgICAgICAvLyAgICAgfVxyXG4gICAgICAgIC8vIH1cclxuICAgICAgICAmLmltYWdlIHtcclxuICAgICAgICAgICAgLy8gTWFrZSBzdXJlIHRoaXMgaXMgdHJhbnNwYXJlbnQganVzdCBpbmNhc2Ugd2UgaGF2ZSBhbnkgLnBuZyBiYW5uZXJzLlxyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5wcm9kdWN0IHtcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206ICRjb2xsZWN0aW9uLWl0ZW0tcGFkZGluZy1ib3R0b207XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRlZmF1bHQtY29sb3VyKCRjb2xsZWN0aW9uLXByb2R1Y3QtY2VsbC1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAgICAgICAgIC5ncm91cC1kZXNjcmlwdGlvbiB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4IHNwYWNpbmctdmFsdWUoJGNvbGxlY3Rpb24tZGVzY3JpcHRpb24tcGFkZGluZywgMiwgbm9uLWNvbXBhY3QpIDVweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBhLmdyb3VwLWRlc2NyaXB0aW9uICsgYTpoYXMoLmRlc2NyaXB0aW9uKSAuZGVzY3JpcHRpb24ge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmRlc2NyaXB0aW9uIHtcclxuICAgICAgICAgICAgICAgIC8vIFRoaXMgd2FzIGNhdXNpbmcgaXNzdWUgd2hlbiBhcHBseWluZyBsYXlvdXQgc3R5bGluZywgd2hpY2ggd2FzIGNhdXNpbmcgdGhpcyBydWxlIHRvIGJlIHZlcnkgZGlmZmN1bHQgdG8gb3ZlcnJpZGUuXHJcbiAgICAgICAgICAgICAgICAvLyAmOm5vdCg6ZW1wdHkpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IG1hcC1nZXQoJGNvbGxlY3Rpb24tZGVzY3JpcHRpb24tcGFkZGluZywgbm9uLWNvbXBhY3QpO1xyXG4gICAgICAgICAgICAgICAgLy8gfVxyXG4gICAgICAgICAgICAgICAgLy8gRmxpcCB0aGUgbG9naWMuXHJcbiAgICAgICAgICAgICAgICAmOmlzKDplbXB0eSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgY2Fyb3VzZWwtY29sbGVjdGlvbi1zaGFkb3coKTtcclxuICAgIH0gICBcclxuICAgIC5jb2xsZWN0aW9uLWltYWdlLWNvbnRhaW5lciB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcbiAgICAuaW1hZ2Uge1xyXG4gICAgICAgIC8vIE1ha2Ugc3VyZSB0byBzY2FsZSB0aGUgaW1hZ2UgdG8gbWF4IGF2YWxpYWJsZSBzcGFjZSArIG1ha2Ugc3VyZSAuaW1hZ2UgaXMgYSBibG9jayBlbGVtZW50IG9yIGltYWdlIHdpbGwgZmFpbCB0byBkaXNwbGF5IG9uIEFwcGxlIGRldmljZXMuXHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgLy8gaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIC8vIFN1cHByZXNzaW5nIHRoaXMgYXMgaXQgd2FzIGNhdXNpbmcgdGhlIGVxdWFsaXNlciB0byBhc3NpZ24gaGVpZ2h0OiAwOyBmb3IgaU9TIGRldmljZXMgdXNpbmcgQ2hyb21lIG1vcmUgb24gdGhpcyBvbiA4NDI2ODcuXHJcbiAgICAgICAgLy8gQ2hhbmdlIHRvIGZpdC1jb250ZW50IGZvciBib3JkZXItcmFkaXVzIGVmZmVjdCBhcyB0aGlzIHdhcyBjdXQgb2ZmIGluIGNvbXBhY3QgdmlldywgY2Fubm90IHVzZSB0aGlzIGFzIENocm9tZSBvbiBpT1MgY2F1c2VzIHRoZSBlcXVhbGlzZXIgdG8gaW5jb3JyZWN0bHkgYXNzaWduIGhlaWdodDogMDtcclxuICAgICAgICAvLyBoZWlnaHQ6IGZpdC1jb250ZW50O1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBtYXJnaW46IHNtYWxsLXZhbHVlKCRjb2xsZWN0aW9uLWltYWdlLW1hcmdpbik7XHJcbiAgICAgICAgLy9ib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoJGNvbGxlY3Rpb24tY2VsbC1ib3JkZXItcmFkaXVzKTtcclxuICAgICAgICAvLyBTZXR0aW5nIG92ZXJmbG93IHRvIGVuc3VyZSBzcXVhcmVkIGltYWdlcyBkb24ndCBvdmVycmlkZSB0aGUgYm9yZGVyLXJhZGl1cyBvZiB0aGUgY2VsbCB3aGljaCB3aWxsIHJlc3VsdCBpbiBzcXVhcmVkIGVkZ2VzIGF0IHRoZSB0b3Agb2YgdGhlIGNlbGwgYW5kIHJvdW5kZWQgYXQgdGhlIGJvdHRvbS5cclxuICAgICAgICAvLyBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWFyZ2luOiBsYXJnZS12YWx1ZSgkY29sbGVjdGlvbi1pbWFnZS1tYXJnaW4pO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAvLyBBZGRpbmcgZmxleC1zaGluayBkdWUgdG8gaW1hZ2VzIGJlaW5nIHN0cmV0Y2hlZCBpbiBpZS5cclxuICAgICAgICAgICAgZmxleC1zaHJpbms6IDA7XHJcbiAgICAgICAgICAgIC8vIG1hcmdpbjogYXV0bztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAubGFiZWwtdmFsdWUtcGFpci1jb250YWluZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDVweDtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkY29udGVudC1wYWRkaW5nO1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogJGNvbnRlbnQtcGFkZGluZztcclxuICAgICAgICAubGFiZWwge1xyXG4gICAgICAgICAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvdXI7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkY29sbGVjdGlvbi1sYWJlbC12YWx1ZS1wYWlyLWxhYmVsLXdlaWdodDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkY29sbGVjdGlvbi1sYWJlbC12YWx1ZS1wYWlyLWxhYmVsLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC52YWx1ZSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAkcHJvZHVjdC1saXN0LWdyaWQtbGFiZWwtdmFsdWUtYWxpZ21lbmVudDtcclxuICAgICAgICAgICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3VyO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRjb2xsZWN0aW9uLWxhYmVsLXZhbHVlLXBhaXItdmFsdWUtZm9udC1zaXplKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuZGVwYXJ0bWVudC1kZXNjcmlwdGlvbiB7XHJcbiAgICAgICAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wLCAkY29sb3VyNCk7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6IGdldC10eXBvZ3JhcGh5LWZvbnQtZmFtaWx5KFwic2Vjb25kYXJ5LWZvbnRcIik7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAycHg7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjtcclxuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAvLyBBcyB3ZSBkb24ndCBrbm93IHRoZSBkZWZhdWx0IGNvbG91ciB1c2luZyBhIG5ldXRyYWwgY29sb3VyIGluc3RlYWQuXHJcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtMCk7XHJcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBpbmNsdWRlIHByb2R1Y3QtY29sbGVjdGlvbi1ncm91cC1kZXNjcmlwdGlvbi10eXBvZ3JhcGh5KCk7XHJcbiAgICAuZGVzY3JpcHRpb24ge1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xsZWN0aW9uLWFuY2hvci1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGNvbGxlY3Rpb24tZGVzY3JpcHRpb24tZm9udC1zaXplKTtcclxuICAgICAgICBmb250LXdlaWdodDogJGNvbGxlY3Rpb24tZGVzY3JpcHRpb24tZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRjb2xsZWN0aW9uLWRlc2NyaXB0aW9uLWxpbmUtaGVpZ2h0O1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiAkY29sbGVjaXRvbi1kZXNjcmlwdGlvbi10ZXh0LXRyYW5zZm9ybTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgIHAge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnJlYWQtbW9yZSB7XHJcbiAgICAgICAgY29sb3I6ICBtYXAtZ2V0KCRjb2xsZWN0aW9uLWFuY2hvci1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgfVxyXG4gICAgLnNwZWNpZmljYXRpb24ge1xyXG4gICAgICAgIHAge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmNvZGUge1xyXG4gICAgICAgIGNvbG9yOiAkY29sbGVjdGlvbi1jb2RlLWNvbG91cjtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRjb2xsZWN0aW9uLWNvZGUtZm9udC1zaXplKTtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIHByaWNlKHRydWUpO1xyXG4gICAgQGluY2x1ZGUgcnJwKCk7XHJcbiAgICBAaW5jbHVkZSBzYXZpbmcoKTtcclxuICAgIGZvcm0sIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciwgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiB7XHJcbiAgICAgICAgbWFyZ2luOiBhdXRvIDAgMDtcclxuICAgIH1cclxuICAgIC5hZGRUb0Jhc2tldC5pY29uIHtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICB9XHJcbiAgICAuZmF2b3VyaXRlc0NvbnRhaW5lciB7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgfVxyXG4gICAgLy9IYW5kbGVzIHF1YW50aXR5IHNlbGVjdG9ycyB0aGF0IGFyZSBpbiB0aGUgY2Fyb3VzZWwuXHJcbiAgICAucXVhbnRpdHktY29udGFpbmVyIHtcclxuICAgICAgICAuY29udHJvbC5zZWxlY3Qge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDgwcHg7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAxMHB4IDAgMDtcclxuICAgICAgICAgICAgLmxhYmVsIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmNvbnRyb2wtc2VsZWN0LWRyb3Bkb3duIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiA4MHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfSBcclxuICAgIC5xdWFudGl0eS1mcmVlLXRleHQtY29udGFpbmVyIHtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIC5sYWJlbCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyBTcGVjaWZpY2FsbHkgZm9yIGtlZXBpbmcgdHlwb2dyYXBoeSBpbnN5bmMgYWNyb3NzIGNvbGxlY3Rpb25zIGFuZCB0YWJsZXMuXHJcbkBtaXhpbiBwcm9kdWN0LWNvbGxlY3Rpb24tZ3JvdXAtZGVzY3JpcHRpb24tdHlwb2dyYXBoeSgpIHtcclxuICAgIC5ncm91cC1kZXNjcmlwdGlvbiB7XHJcbiAgICAgICAgY29sb3I6IGRlZmF1bHQtY29sb3VyKCRjb2xsZWN0aW9uLWRlc2NyaXB0aW9uLWNvbG91cik7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkY29sbGVjdGlvbi1ncm91cC1kZXNjcmlwdGlvbi1mb250LXNpemUpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkY29sbGVjdGlvbi1ncm91cC1kZXNjcmlwdGlvbi1mb250LXdlaWdodDtcclxuICAgICAgICBsaW5lLWhlaWdodDogJGNvbGxlY3Rpb24tZGVzY3JpcHRpb24tbGluZS1oZWlnaHQ7XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGNvbG9yOiBob3Zlci1jb2xvdXIoJGNvbGxlY3Rpb24tZGVzY3JpcHRpb24tY29sb3VyKTtcclxuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgY29sb3I6IGFjdGl2ZS1jb2xvdXIoJGNvbGxlY3Rpb24tZGVzY3JpcHRpb24tY29sb3VyKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBwcm9kdWN0LWNvbGxlY3Rpb24tZWJnLWRlc2NyaXB0aW9uLWFycmFuZ2Utc2lkZSgpIHtcclxuICAgIC5kZXNjcmlwdGlvbiB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIHBhZGRpbmc6IDIwcHggMTcuNXB4O1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4vLyBXaGVuIHNob3dpbmcgbXVsdGltZWRpYSBjb250ZW50IHJpZ2h0IG9yIGxlZnQgdGhlbiBhZGQgcGFkZGluZyBhYm92ZSB0ZXh0IGNvbnRlbnQgc28gdGhlIGZpcnN0IGl0ZW0gaXMgbm90IHJpZGluZyBvbiB0aGUgYm9yZGVyIG9mIHRoZSBjb250ZW50IGNvbnRhaW5lci5cclxuQG1peGluIHByb2R1Y3QtY29sbGVjdGlvbi1jb250ZW50LWFycmFuZ2Utc2lkZS1maXJzdC1pdGVtLXBhZGRpbmcoKSB7XHJcbiAgICAvLyBBc3N1bWUgdGhlcmUgd2lsbCBhbHdheXMgYmUgYW4gaW1hZ2UuXHJcbiAgICAmOmhhcyhzcGFuLmltYWdlKSA+IGE6bnRoLWNoaWxkKDIpIHtcclxuICAgICAgICBwYWRkaW5nLXRvcDogc3BhY2luZy12YWx1ZSgkY29sbGVjdGlvbi1kZXNjcmlwdGlvbi1wYWRkaW5nLCAxLCAnY29tcGFjdCcpO1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gcHJvZHVjdC1jb2xsZWN0aW9uLWNvbnRlbnQtYXJyYW5nZS1zaWRlLWdyb3VwLWRlc2NyaXB0aW9uKCkge1xyXG4gICAgLmdyb3VwLWRlc2NyaXB0aW9uIHtcclxuICAgICAgICBwYWRkaW5nLXRvcDogMDtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIHByb2R1Y3QtY29sbGVjdGlvbi1pbWFnZS1hcnJhbmdlLXNpZGUoKSB7XHJcbiAgICAuaW1hZ2Uge1xyXG4gICAgICAgIC8vIFN1cHByZXNzaW5nIGZpdC1jb250ZW50IHdpbGwgZmlnaHQgYWdhaW5zdCBhc3BlY3QtcmF0aW8gcnVsZSBhcyBmaXQtY29udGVudCB3aWxsIHRyeSB0byBzaHJpbmsgdGhlIGNvbnRhaW5lciB3aGVuIHRoZSBwYWdlIGlzIGxvYWRpbmcgY2F1c2luZyBhIENMUyBpc3N1ZS5cclxuICAgICAgICAvLyB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBAaWYgKHNtYWxsLXZhbHVlKCRjb2xsZWN0aW9uLWxheW91dC1zdHlsZS0xLWdyaWQtaW1hZ2UtYm9yZGVyLXJhZGl1cykpIHtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogc21hbGwtdmFsdWUoJGNvbGxlY3Rpb24tbGF5b3V0LXN0eWxlLTEtZ3JpZC1pbWFnZS1ib3JkZXItcmFkaXVzKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgQGlmIChtZWRpdW0tdmFsdWUoJGNvbGxlY3Rpb24tbGF5b3V0LXN0eWxlLTEtZ3JpZC1pbWFnZS1ib3JkZXItcmFkaXVzKSkge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogbWVkaXVtLXZhbHVlKCRjb2xsZWN0aW9uLWxheW91dC1zdHlsZS0xLWdyaWQtaW1hZ2UtYm9yZGVyLXJhZGl1cyk7XHJcbiAgICAgICAgICAgIH0gXHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgICAgIEBpZiAobGFyZ2UtdmFsdWUoJGNvbGxlY3Rpb24tbGF5b3V0LXN0eWxlLTEtZ3JpZC1pbWFnZS1ib3JkZXItcmFkaXVzKSkge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogbGFyZ2UtdmFsdWUoJGNvbGxlY3Rpb24tbGF5b3V0LXN0eWxlLTEtZ3JpZC1pbWFnZS1ib3JkZXItcmFkaXVzKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gcHJvZHVjdC1jb2xsZWN0aW9uLWNvbnRlbnQtYXJyYW5nZS1zaWRlLXJlYWQtbW9yZS1jb250ZW50LWNvbnRhaW5lcigpIHtcclxuICAgIFtkYXRhLWNvbnRlbnQtY29udGFpbmVyXSB7XHJcbiAgICAgICAgaGVpZ2h0OiAxMjVweDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAucmVhZC1tb3JlLWNvbnRlbnQge1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIHByb2R1Y3QtY29sbGVjdGlvbi1jb250ZW50LWFycmFuZ2Utc2lkZS1jYWxsYmFjay1jb250YWluZXIoKSB7XHJcbiAgICAuY2FsbGJhY2tDb250YWluZXIge1xyXG4gICAgICAgIGdyaWQtY29sdW1uOiAyO1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBwcm9kdWN0LWNvbGxlY3Rpb24tY29udGVudC1hcnJhbmdlLXNpZGUtYnV0dG9uLWNvbnRhaW5lcnMoKSB7XHJcbiAgICAubm90LWxvZ2dlZC1pbi1jb250YWluZXIsIC5zdG9ja2xpbmUtdmlldy1idXR0b24sIC5lbnF1aXJ5LWJ1dHRvbi1jb250YWluZXIge1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcclxuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA3NiU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZFxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIHByb2R1Y3QtY29sbGVjdGlvbi1jb250ZW50LWFycmFuZ2Utc2l6ZS1mb3JtcygpIHtcclxuICAgIGZvcm0geyBcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBwcm9kdWN0LWNvbGxlY3Rpb24tcm93LWNvbnRlbnQtb3JkZXIoJHJldmVyc2UtY29sdW1uczogZmFsc2UpIHtcclxuICAgIC5jb2xsZWN0aW9uLWl0ZW0ge1xyXG4gICAgICAgICAvLyBJcyB0aGlzIGFuIEVCRz8gXHJcbiAgICAgICAgJi5lYmcge1xyXG4gICAgICAgICAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtcm93OiAxO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAmLmRlc2NyaXB0aW9uIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JpZC1yb3c6IDE7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgIC8vIE1vdmluZyB0b3dhcmRzIGNvbnRhaW5pbmcgYWxsIGNlbGwgY29weSAvIGRldGFpbHMgLyBkYXRhIGludG8gb25lIGNvbnRhaW5lci5cclxuICAgICAgICBbZGF0YS1jb250ZW50LWNvbnRhaW5lcl0ge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBncmlkLXJvdzogMSAvIHNwYW4gNDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IGlmKCRyZXZlcnNlLWNvbHVtbnMsIDIsIDEpO1xyXG4gICAgICAgICAgICAgICAgICAgIGdyaWQtcm93OiAxIC8gc3BhbiA0O1xyXG4gICAgICAgICAgICAgICAgfSBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOm50aC1jaGlsZCgyKSB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IGlmKCRyZXZlcnNlLWNvbHVtbnMsIDEsIDIpO1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIGdyaWQtcm93OiAxO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDMpIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBncmlkLWNvbHVtbjogaWYoJHJldmVyc2UtY29sdW1ucywgMSwgMik7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gZ3JpZC1yb3c6IDI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpudGgtY2hpbGQoNCkge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiBpZigkcmV2ZXJzZS1jb2x1bW5zLCAxLCAyKTtcclxuICAgICAgICAgICAgICAgICAgICAvLyBncmlkLXJvdzogMztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOm50aC1jaGlsZCg1KSB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IGlmKCRyZXZlcnNlLWNvbHVtbnMsIDEsIDIpO1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIGdyaWQtcm93OiA0O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9IFxyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBSZW1vdmUgZ3JpZC1yb3cgYW5kIGp1c3QgbGV0IHRoZSBncmlkIGF1dG8gcGxhY2UgdGhlIHJlc3Qgb2YgdGhlIGl0ZW1zLlxyXG4gICAgICAgIC5zdG9jay1pbmRpY2F0b3Ige1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBncmlkLWNvbHVtbjogaWYoJHJldmVyc2UtY29sdW1ucywgMSwgMik7XHJcbiAgICAgICAgICAgICAgICAvLyBncmlkLXJvdzogNTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAucXVhbnRpdHktY29udGFpbmVyIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyBzcGFuIDI7XHJcbiAgICAgICAgICAgICAgICAvLyBncmlkLXJvdzogNTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAudW5pdC1vZi1tZWFzdXJlIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IGlmKCRyZXZlcnNlLWNvbHVtbnMsIDEsIDIpO1xyXG4gICAgICAgICAgICAgICAgLy8gZ3JpZC1yb3c6IDQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyLCAuc3RvY2tsaW5lLXZpZXctYnV0dG9uLCAuZW5xdWlyeS1idXR0b24tY29udGFpbmVyIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyBzcGFuIDI7XHJcbiAgICAgICAgICAgICAgICAvLyBncmlkLXJvdzogNTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIFxyXG59XHJcblxyXG5AbWl4aW4gY2Fyb3VzZWwtY29sbGVjdGlvbi1zaGFkb3coKSB7XHJcbiAgICAvLyBtYXgtd2lkdGg6IDk4JTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIG1hcmdpbjogYXV0bztcclxuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgJHRyYW5zaXRpb25PdXRybztcclxuICAgIEBpZiAoJGNvbGxlY3Rpb24tY2VsbC1ib3gtc2hhZG93LWludmVydCkge1xyXG4gICAgICAgIGJveC1zaGFkb3c6ICRib3hTaGFkb3czO1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgfVxyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6ICRib3hTaGFkb3czO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyBEZWZhdWx0IGNvbGxlY3Rpb24gYm9yZGVyLlxyXG5AbWl4aW4gY2Fyb3VzZWwtY29sbGVjdGlvbi11bmRlcmxpbmUoKSB7XHJcbiAgICBib3JkZXItd2lkdGg6ICRjb2xsZWN0aW9uLXNsaWRlLWJvcmRlci13aWR0aDtcclxuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGNvbGxlY3Rpb24tYm9yZGVyLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkY29sbGVjdGlvbi1ib3JkZXItY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vLyAtLS0gQmFza2V0IHN1bW1hcnkgc2VwZXJhdG9yIC0tLSBcclxuQG1peGluIGJhc2tldC1zdW1tYXJ5LXNlcGVyYXRvcigpIHtcclxuICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6ICRjb21tb24taGVhZGluZy1ydWxlLXdlaWdodDtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgbWFyZ2luOiAyMHB4IDA7XHJcbiAgICAvLyBTd2l0Y2hpbmcgdG8gdXNpbmcgYm9yZGVyIHByb3BlcnR5IGluc3RlYWQgb2Ygc2V0dGluZyBoZWlnaHQgYXMgZ2V0dGluZyB3ZWlyZCBpbmNvbnNpc3RhbmNpZXMgd2hlbiB0aGUgYnJvd3NlciByZW5kZXJzIHRoZSBydWxlcyBieSB+LjNweC4gaHR0cHM6Ly9qb2hucmVzaWcuY29tL2Jsb2cvc3ViLXBpeGVsLXByb2JsZW1zLWluLWNzcy9cclxuICAgIGJvcmRlci13aWR0aDogMCAwICN7JGNvbW1vbi1oZWFkaW5nLXJ1bGUtd2VpZ2h0fSAwO1xyXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgIGJvcmRlci1jb2xvcjogJGhlYWRpbmctcnVsZS1jb2xvdXI7XHJcbiAgICBjb2xvcjogJGJhc2tldC1zdW1tYXJ5LWl0ZW0tY29sb3VyO1xyXG59XHJcblxyXG4vLyAtLS0tLSBOb3RpZmljYXRpb25zIC0tLS0tIFxyXG4vLyAtLS0gT24gcGFnZSAtLS0gXHJcbkBtaXhpbiBvbi1wYWdlLW5vdGlmaWNhdGlvbnMoJHBhZGRpbmc6ICgpLCAkbWFyZ2luOiAoKSwgJGZvbnQtc2l6ZTogMTRweCwgJGljb24tc2l6ZTogMTlweCkge1xyXG5cclxuICAgIC0tZm9udC1mYW1pbHk6ICN7JGZvbnRBd2Vzb21lU29saWR9O1xyXG5cclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAvLyBJZiBjb250ZW50IGlzIGluIGEgY29udGFpbmVyIHRoZW4gZG9uJ3Qgd3JhcCAoIGVzc2VudGlhbGx5IGJhY2t3YXJkcyBzdXBwb3J0ICkuXHJcbiAgICAmOmhhcyguY29udGVudC1jb250YWluZXIpIHtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBnYXA6IHNtYWxsLXZhbHVlKCRvbi1wYWdlLW5vdGlmaWNhdGlvbi1nYXApO1xyXG4gICAgbWFyZ2luOiBpZihtYXAtaGFzLWtleSgkbWFyZ2luLCBwcmVzZXQtMSksIG1hcC1nZXQoJG1hcmdpbiwgcHJlc2V0LTEpLCBtYXAtZ2V0KCRvbi1wYWdlLW5vdGlmaWNhdGlvbi1tYXJnaW4sIHByZXNldC0yKSk7XHJcbiAgICBwYWRkaW5nOiBpZihtYXAtaGFzLWtleSgkcGFkZGluZywgcHJlc2V0LTEpLCBtYXAtZ2V0KCRwYWRkaW5nLCBwcmVzZXQtMSksIG1hcC1nZXQoJG9uLXBhZ2Utbm90aWZpY2F0aW9uLXBhZGRpbmcsIHByZXNldC0xKSk7XHJcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKCRmb250LXNpemUpO1xyXG4gICAgQGlmICgkb24tcGFnZS1ub3RpZmljYXRpb24tdHJhbnNmb3JtKSB7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRvbi1wYWdlLW5vdGlmaWNhdGlvbi10cmFuc2Zvcm07XHJcbiAgICB9XHJcbiAgICBAaWYgc21vb3RoLWVkZ2VzKCkge1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIGdhcDogbGFyZ2UtdmFsdWUoJG9uLXBhZ2Utbm90aWZpY2F0aW9uLWdhcCk7XHJcbiAgICB9XHJcbiAgICAmOmhhcyguY29udGVudC1jb250YWluZXIpIHtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWZhbWlseSk7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGljb24tc2l6ZTtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIFN0eWxlIHByZXNldHMuXHJcbiAgICAvLyBEZWZhdWx0IC8gUHJlc2V0LTEgYXJlIHRoZSBzYW1lIGZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSBiZWZvcmUgcHJlc2V0IGNsYXNzZXMgd2VyZSBhIHRoaW5nLlxyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAvLyBJbml0aWFsIGxheW91dCBmb3IgZnVsbCBwYWdlIG5vdGlmaWNhdGlvbnMgKCBlLmcgbm8gaXRlbXMgZm91bmQgaW4gbGlzdHMgKS5cclxuICAgICYucHJlc2V0LTEge1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIH1cclxuICAgIC8vIE1pbmlmaWVkIGxheW91dCwgd2l0aCBhbGlnbm1lbnQgbGVmdC5cclxuICAgICYucHJlc2V0LTIge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAxNXB4O1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxNXB4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogaWYobWFwLWhhcy1rZXkoJHBhZGRpbmcsIHByZXNldC0yKSwgbWFwLWdldCgkcGFkZGluZywgcHJlc2V0LTIpLCBtYXAtZ2V0KCRvbi1wYWdlLW5vdGlmaWNhdGlvbi1wYWRkaW5nLCBwcmVzZXQtMikpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIENvbXBhY3QgdmVyc2lvbiBvbiBwcmVzZXQtMSAoIGkuZSByZWR1Y2VkIHBhZGRpbmcgKSB0byBmaXQgd2l0aGluIFxyXG4gICAgJi5wcmVzZXQtMyB7XHJcbiAgICAgICAgcGFkZGluZzogc21hbGwtdmFsdWUoJHByb2R1Y3QtcHJldmlvdXNseS1wdXJjaGFzZWQtcGFkZGluZyk7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBsYXJnZS12YWx1ZSgkcHJvZHVjdC1wcmV2aW91c2x5LXB1cmNoYXNlZC1wYWRkaW5nKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gVHlwZSBwcmVzZXRzLlxyXG4gICAgJi5zdWNjZXNzIHtcclxuICAgICAgICBAaW5jbHVkZSBzdWNjZXNzLWNtcy1jb250YWluZXIoKTtcclxuICAgIH1cclxuICAgICYud2FybmluZyB7XHJcbiAgICAgICBAaW5jbHVkZSB3YXJuaW5nLWNtcy1jb250YWluZXIoKTtcclxuICAgIH1cclxuICAgICYuYWxlcnQge1xyXG4gICAgICAgIEBpbmNsdWRlIGFsZXJ0LWNtcy1jb250YWluZXIoKTtcclxuICAgIH1cclxuICAgICYuZGlzYWJsZWQge1xyXG4gICAgICAgIEBpbmNsdWRlIGRpc2FibGVkLWNtcy1jb250YWluZXIoKTtcclxuICAgIH1cclxuICAgICYuaW5mb3JtYXRpb24ge1xyXG4gICAgICAgIEBpbmNsdWRlIGluZm9ybWF0aW9uLWNtcy1jb250YWluZXIoKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBJY29uIHR5cGVzLlxyXG4gICAgJi5pY29uLW5vbi1yZXR1cm5hYmxlIHtcclxuICAgICAgICAtLWZvbnQtZmFtaWx5OiAjeyRleHByZXNzLWRlZmF1bHQtaWNvbnN9O1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgbm9uLXJldHVybmFibGUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBVc2VkIHdoZW4gc2hvd2luZyB0ZWNobmljYWwgZXJyb3JzIHRvIHByZWZpeCB0aGUgYWN0dWFsIGVycm9yIGluIGEgZW5kIHVzZXIgZnJpZW5kbHkgZm9ybWF0LlxyXG4gICAgLnVzZXItZnJpZW5kbHktcHJlZml4IHtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcclxuICAgIH1cclxuXHJcbiAgICAvLyBPTEQgc3R5bGluZyBwcmUgLmNvbnRlbnQtY29udGFpbmVyICggZmFsbGJhY2sgaWYgbm8gcHJlc2V0IGlzIGFzc2lnbmVkIClcclxuICAgID4gcCB7XHJcbiAgICAgICAgLy93aWR0aDogMTAwJTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIC8vIEdvIHRvIGJlIGJhc2VsaW5lIG90aGVyIGFuY2hvcnMgd2lsbCBhcHBlYXIgb24gYSBkaWZmZXJlbnQgbGluZSBvbiBzb21lIGZvbnRzICggaS5lIGZ1bnRpbWUgKS5cclxuICAgICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICY6Zmlyc3Qtb2YtdHlwZTpiZWZvcmUge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgbWFyZ2luOiBhdXRvIHNwYWNpbmctdmFsdWUoJG9uLXBhZ2Utbm90aWZpY2F0aW9uLWdhcCwgMiwgbGFyZ2UpIGF1dG8gMDtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5KTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAkaWNvbi1zaXplO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgbWFyZ2luOiBhdXRvIDA7XHJcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBjbXMtcGFyYWdyYXBoKCRvbi1wYWdlLW5vdGlmaWNhdGlvbi1mb250LXdlaWdodCwgJG9uLXBhZ2Utbm90aWZpY2F0aW9uLWxpbmUtaGVpZ2h0KTtcclxuICAgIEBpbmNsdWRlIGNtcy10YWJsZSgpO1xyXG4gICAgQGluY2x1ZGUgY21zLWJsb2NrcXVvdGUoKTtcclxuICAgIEBpbmNsdWRlIGNtcy1hbmNob3IoKTtcclxuICAgIGEge1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgfVxyXG4gICAgLy8gT0xEIHN0eWxpbmcgcHJlIC5jb250ZW50LWNvbnRhaW5lci5cclxuICAgID4gcCB7XHJcbiAgICAgICAgJjpmaXJzdC1vZi10eXBlIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogI3soJGljb24tc2l6ZSArIDUpfTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufSBcclxuXHJcbkBtaXhpbiBkaXNhYmxlZC1jbXMtY29udGFpbmVyKCkge1xyXG4gICAgcCB7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJG9uLXBhZ2Utbm90aWZpY2F0aW9uLWNvbG91ciwgZGlzYWJsZWQpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBpbmZvcm1hdGlvbi1jbXMtY29udGFpbmVyKCkge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkb24tcGFnZS1ub3RpZmljYXRpb24tYmFja2dyb3VuZCwgaW5mb3JtYXRpb24pO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgbWFwLWdldCgkb24tcGFnZS1ub3RpZmljYXRpb24tY29sb3VyLCBpbmZvcm1hdGlvbik7XHJcbiAgICAmOm5vdCguaWNvbi1jb25maWd1cmVkKTpoYXMoLmNvbnRlbnQtY29udGFpbmVyKSB7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBpbmZvLWNpcmNsZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJjpoYXMoLmNvbnRlbnQtY29udGFpbmVyKSB7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkb24tcGFnZS1ub3RpZmljYXRpb24tY29sb3VyLCBpbmZvcm1hdGlvbik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgcCB7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJG9uLXBhZ2Utbm90aWZpY2F0aW9uLWNvbG91ciwgaW5mb3JtYXRpb24pO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBhbGVydC1jbXMtY29udGFpbmVyKCkge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkb24tcGFnZS1ub3RpZmljYXRpb24tYmFja2dyb3VuZCwgYWxlcnQpO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgbWFwLWdldCgkb24tcGFnZS1ub3RpZmljYXRpb24tY29sb3VyLCBhbGVydCk7XHJcbiAgICBAaWYgc21vb3RoLWVkZ2VzKCkge1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgfVxyXG4gICAgJjpub3QoLmljb24tY29uZmlndXJlZCk6aGFzKC5jb250ZW50LWNvbnRhaW5lcikge1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgYWxlcnQpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICY6aGFzKC5jb250ZW50LWNvbnRhaW5lcikge1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJG9uLXBhZ2Utbm90aWZpY2F0aW9uLWNvbG91ciwgYWxlcnQpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIE9MRCBzdHlsaW5nIHByZSAuY29udGVudC1jb250YWluZXJcclxuICAgICYgPiBwIHtcclxuICAgICAgICAmOmZpcnN0LW9mLXR5cGU6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgYWxlcnQpO1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkb24tcGFnZS1ub3RpZmljYXRpb24tY29sb3VyLCBhbGVydCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgaDEsIGgyLCBoMywgaDQsIGg1LCBoNiwgcCwgYSB7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJG9uLXBhZ2Utbm90aWZpY2F0aW9uLWNvbG91ciwgYWxlcnQpO1xyXG4gICAgfSAgICBcclxufVxyXG5AbWl4aW4gd2FybmluZy1jbXMtY29udGFpbmVyKCkge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkb24tcGFnZS1ub3RpZmljYXRpb24tYmFja2dyb3VuZCwgd2FybmluZyk7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCBtYXAtZ2V0KCRvbi1wYWdlLW5vdGlmaWNhdGlvbi1jb2xvdXIsIHdhcm5pbmcpO1xyXG4gICAgQGlmIHNtb290aC1lZGdlcygpIHtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgIH1cclxuICAgICY6bm90KC5pY29uLWNvbmZpZ3VyZWQpOmhhcyguY29udGVudC1jb250YWluZXIpIHtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHdhcm5pbmcpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICY6aGFzKC5jb250ZW50LWNvbnRhaW5lcikge1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJG9uLXBhZ2Utbm90aWZpY2F0aW9uLWNvbG91ciwgd2FybmluZyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gT0xEIHN0eWxpbmcgcHJlIC5jb250ZW50LWNvbnRhaW5lclxyXG4gICAgJiA+IHAge1xyXG4gICAgICAgICY6Zmlyc3Qtb2YtdHlwZTo6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgd2FybmluZyk7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRvbi1wYWdlLW5vdGlmaWNhdGlvbi1jb2xvdXIsIHdhcm5pbmcpO1xyXG4gICAgICAgIH0gXHJcbiAgICB9XHJcbiAgICBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2LCBwLCBhIHtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkb24tcGFnZS1ub3RpZmljYXRpb24tY29sb3VyLCB3YXJuaW5nKTtcclxuICAgIH1cclxufVxyXG5AbWl4aW4gc3VjY2Vzcy1jbXMtY29udGFpbmVyKCkge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkb24tcGFnZS1ub3RpZmljYXRpb24tYmFja2dyb3VuZCwgc3VjY2Vzcyk7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCBtYXAtZ2V0KCRvbi1wYWdlLW5vdGlmaWNhdGlvbi1jb2xvdXIsIHN1Y2Nlc3MpO1xyXG4gICAgQGlmIHNtb290aC1lZGdlcygpIHtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgIH1cclxuICAgICY6bm90KC5pY29uLWNvbmZpZ3VyZWQpOmhhcyguY29udGVudC1jb250YWluZXIpIHtcclxuICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBzdWNjZXNzKTtcclxuICAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJjpoYXMoLmNvbnRlbnQtY29udGFpbmVyKSB7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkb24tcGFnZS1ub3RpZmljYXRpb24tY29sb3VyLCBzdWNjZXNzKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBPTEQgc3R5bGluZyBwcmUgLmNvbnRlbnQtY29udGFpbmVyXHJcbiAgICAmID4gcCB7XHJcbiAgICAgICAgJjpmaXJzdC1vZi10eXBlOjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBzdWNjZXNzKTtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJG9uLXBhZ2Utbm90aWZpY2F0aW9uLWNvbG91ciwgc3VjY2Vzcyk7XHJcbiAgICAgICAgfSBcclxuICAgIH1cclxuICAgIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsIHAsIGEge1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRvbi1wYWdlLW5vdGlmaWNhdGlvbi1jb2xvdXIsIHN1Y2Nlc3MpO1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0tLSBDTVMgTWl4aW5zIC0tLS0tIFxyXG5AbWl4aW4gY21zLXRhYmxlKCkge1xyXG4gICAgcDpub3QoOmVtcHR5KSArIHRhYmxlLCBwOm5vdCg6ZW1wdHkpICsgLmNvbXBhcmlzb24tdGFibGUtY29udGFpbmVyIHtcclxuICAgICAgICBtYXJnaW46ICRjbXMtdGFibGUtc2libGluZy1tYXJnaW47XHJcbiAgICB9XHJcblxyXG4gICAgdGFibGUge1xyXG4gICAgICAgIC0tdGhlYWQtYm9yZGVyLWNvbG91cjogJHRoZWFkLWJvcmRlci1jb2xvdXI7XHJcbiAgICAgICAgJjpub3QoW2NsYXNzKj1wcmVzZXRdKSB7XHJcbiAgICAgICAgICAgIHRoZWFkIHtcclxuICAgICAgICAgICAgICAgIC8vIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMDsgXHJcbiAgICAgICAgICAgICAgICB0ciB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLXRoZWFkLWJvcmRlci1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgdGgge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIERvbid0IHNldCB0aGUgY29sb3VyIGhlcmUgYXMgaXQgZ2V0cyBkaWZmaWN1bHQgdG8gb3ZlcnJpZGUgKCBpLmUgaW50ZXJuYWwgb25seSBkb2N1bWVudGF0aW9uICksIGluc3RlYWQgZWl0aGVyIHVzZSBwcmVzZXRzIG9yIHNldCB0aGUgZGVmYXVsdCBpbiBfc2V0dGluZ3Muc2NzcyAkdGFibGUtaGVhZC1mb250LWNvbG9yLlxyXG4gICAgICAgICAgICAgICAgICAgIC8vIGNvbG9yOiAkY29sb3VyMy02O1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkY21zLXRhYmxlLWhlYWQtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgJi5yZXNwb25zaXZlLXRhYmxlIHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6bm90KFtjbGFzcyo9cHJlc2V0XSkge1xyXG4gICAgICAgICAgICAgICAgdGhlYWQge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXA7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRib2R5Om5vdCguY29tcGFyaXNvbi1zdW1tYXJ5KSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgdGgge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAkY21zLXRhYmxlLWhlYWRlci1jb2x1bW4tcGFkZGluZztcclxuICAgICAgICB9XHJcbiAgICAgICAgdGQgeyAgXHJcbiAgICAgICAgICAgIC8vIHRleHQtYWxpZ246ICRjbXMtdGFibGUtdGV4dC1hbGlnbjtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogJGNtcy10YWJsZS1jb2x1bW4tcGFkZGluZztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBPbmx5IGFwcGx5IHRoZSBnYXAgaWYgdGhlcmUgaXMgdGhlYWQgYmVmb3JlLlxyXG4gICAgICAgIHRoZWFkW2NsYXNzKj1cInByZXNldFwiXSArIHRib2R5IHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgdGFibGUtaGVhZGVyLWJvZHktbWFyZ2luKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRib2R5IHsgICAgICAgXHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIwOyBcclxuICAgICAgICAgICAgdGgge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjA7IFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRyIHtcclxuICAgICAgICAgICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGgge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG91cjA7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRyIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3c7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAvLyAmOm50aC1jaGlsZChvZGQpIHtcclxuICAgICAgICAgICAgICAgIC8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMDtcclxuICAgICAgICAgICAgICAgIC8vIH1cclxuICAgICAgICAgICAgICAgIC8vICY6bnRoLWNoaWxkKGV2ZW4pIHtcclxuICAgICAgICAgICAgICAgIC8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMDtcclxuICAgICAgICAgICAgICAgIC8vIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuY29sLWxhYmVsIHtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvdXIzLTY7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYucmVzcG9uc2l2ZS10YWJsZSB7XHJcbiAgICAgICAgICAgIHRib2R5IHtcclxuICAgICAgICAgICAgICAgIHRyIHtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICR0YWJsZS1yb3ctYm90dG9tLXNwYWNpbmc7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogJHRhYmxlLXJvdy1ib3R0b20tc3BhY2luZztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3VyMztcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLm5vLXdyYXAge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgICAgICAgICAgb3ZlcmZsb3cteDogYXV0bztcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5jb21wYXJpc29uLXRhYmxlIHtcclxuICAgICAgICAgICAgdGJvZHkge1xyXG4gICAgICAgICAgICAgICAgdGQge1xyXG4gICAgICAgICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91cjMtNjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRjbXMtdGFibGUtaGVhZC1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiB0YWJsZS1oZWFkZXItYm9keS1tYXJnaW4oJG1hcmdpbjogJHRib2R5LW1hcmdpbikge1xyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXJnaW46ICRtYXJnaW47XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gY21zLWJsb2NrcXVvdGUoKSB7XHJcbiAgICBibG9ja3F1b3RlIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgIGdhcDogMTVweDtcclxuICAgICAgICBtYXJnaW46IDAgYXV0byA0MHB4O1xyXG4gICAgICAgIHBhZGRpbmc6IHNtYWxsLXZhbHVlKCRjbXMtYmxvY2txdW90ZS1wYWRkaW5nKTtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3VyMDtcclxuICAgICAgICBib3gtc2hhZG93OiAkYm94U2hhZG93MztcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6IGdldC10eXBvZ3JhcGh5LWZvbnQtZmFtaWx5KCk7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkY21zLWJsb2NrcXVvdGUtZm9udC1zaXplKTtcclxuICAgICAgICBAaWYgKCRjbXMtYmxvY2txdW90ZS1sZXR0ZXItc3BhY2luZykge1xyXG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogJGNtcy1ibG9ja3F1b3RlLWxldHRlci1zcGFjaW5nO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93ICR0cmFuc2l0aW9uT3V0cm8sIGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICAgICAgZ2FwOiAyNXB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3VyMztcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAkdHJhbnNpdGlvbkludHJvLCBib3JkZXItY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IGhvdmVyLWNvbG91cigkY21zLWJsb2NrcXVvdGUtaWNvbi1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmOmhhcyhpbWcpIHtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpsYXN0LW9mLXR5cGUge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IGxhcmdlLXZhbHVlKCRjbXMtYmxvY2txdW90ZS1wYWRkaW5nKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJiArIGJsb2NrcXVvdGUge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxNXB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmJlZm9yZSwgJjphZnRlciB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGJsb2NrcXVvdGUpO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgcGFkZGluZzogJGNtcy1ibG9ja3F1b3RlLWljb24tcGFkZGluZztcclxuICAgICAgICAgICAgZm9udC1zaXplOiAkY21zLWJsb2NrcXVvdGUtaWNvbi1zaXplO1xyXG4gICAgICAgICAgICBjb2xvcjogZGVmYXVsdC1jb2xvdXIoJGNtcy1ibG9ja3F1b3RlLWljb24tY29sb3VyKTtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogLjg7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuQG1peGluIGNtcy1oZWFkaW5ncygpIHtcclxuICAgIGgxIHtcclxuICAgICAgICBtYXJnaW46IG1hcC1nZXQoJGNtcy1oZWFkaW5nLW1hcmdpbiwgaDEpO1xyXG4gICAgICAgIEBpZiAobWFwLWdldCgkY21zLWhlYWRpbmctcGFkZGluZywgaDEpKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IG1hcC1nZXQoJGNtcy1oZWFkaW5nLXBhZGRpbmcsIGgxKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyhtYXAtZ2V0KCRjbXMtaGVhZGluZy1mb250LXNpemUsIGgxKSk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJGNtcy1oZWFkaW5nLWZvbnQtd2VpZ2h0LCBoMSk7XHJcbiAgICAgICAgZm9udC1zdHlsZTogbWFwLWdldCgkY21zLWhlYWRpbmctZm9udC1zdHlsZSwgaDEpO1xyXG4gICAgICAgIEBpZiAoJGNtcy1oZWFkaW5nLWZvbnQtZmFtaWx5KSB7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkY21zLWhlYWRpbmctZm9udC1mYW1pbHk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjbXMtaGVhZGluZy1jb2xvdXIsIGgxKTtcclxuICAgICAgICBsaW5lLWhlaWdodDogJGNtcy1oZWFkaW5nLWxpbmUtaGVpZ2h0O1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgIEBpZiAobWFwLWdldCgkY21zLWhlYWRpbmctdW5kZXJsaW5lLCBoMSkpIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgdW5kZXJsaW5lKDEpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgKG1hcC1nZXQoJGNtcy1oZWFkaW5nLXRleHQtdHJhbnNmb3JtLCBoMSkpIHtcclxuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG1hcC1nZXQoJGNtcy1oZWFkaW5nLXRleHQtdHJhbnNmb3JtLCBoMSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOm9ubHktY2hpbGQge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgfVxyXG4gICAgaDIge1xyXG4gICAgICAgIG1hcmdpbjogbWFwLWdldCgkY21zLWhlYWRpbmctbWFyZ2luLCBoMik7XHJcbiAgICAgICAgQGlmIChtYXAtZ2V0KCRjbXMtaGVhZGluZy1wYWRkaW5nLCBoMikpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogbWFwLWdldCgkY21zLWhlYWRpbmctcGFkZGluZywgaDIpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKG1hcC1nZXQoJGNtcy1oZWFkaW5nLWZvbnQtc2l6ZSwgaDIpKTtcclxuICAgICAgICBmb250LXdlaWdodDogbWFwLWdldCgkY21zLWhlYWRpbmctZm9udC13ZWlnaHQsIGgyKTtcclxuICAgICAgICBmb250LXN0eWxlOiBtYXAtZ2V0KCRjbXMtaGVhZGluZy1mb250LXN0eWxlLCBoMik7XHJcbiAgICAgICAgQGlmICgkY21zLWhlYWRpbmctZm9udC1mYW1pbHkpIHtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRjbXMtaGVhZGluZy1mb250LWZhbWlseTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNtcy1oZWFkaW5nLWNvbG91ciwgaDIpO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkY21zLWhlYWRpbmctbGluZS1oZWlnaHQ7XHJcbiAgICAgICAgQGlmIChtYXAtZ2V0KCRjbXMtaGVhZGluZy11bmRlcmxpbmUsIGgyKSkge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSB1bmRlcmxpbmUoMSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiAobWFwLWdldCgkY21zLWhlYWRpbmctdGV4dC10cmFuc2Zvcm0sIGgyKSkge1xyXG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbWFwLWdldCgkY21zLWhlYWRpbmctdGV4dC10cmFuc2Zvcm0sIGgyKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6b25seS1jaGlsZCB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBoMyB7XHJcbiAgICAgICAgQGlmIChtYXAtZ2V0KCRjbXMtaGVhZGluZy11bmRlcmxpbmUsIGgzKSkge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSB1bmRlcmxpbmUoMSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIG1hcmdpbjogbWFwLWdldCgkY21zLWhlYWRpbmctbWFyZ2luLCBoMyk7XHJcbiAgICAgICAgQGlmIChtYXAtZ2V0KCRjbXMtaGVhZGluZy1wYWRkaW5nLCBoMykpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogbWFwLWdldCgkY21zLWhlYWRpbmctcGFkZGluZywgaDMpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKG1hcC1nZXQoJGNtcy1oZWFkaW5nLWZvbnQtc2l6ZSwgaDMpKTtcclxuICAgICAgICBmb250LXdlaWdodDogbWFwLWdldCgkY21zLWhlYWRpbmctZm9udC13ZWlnaHQsIGgzKTtcclxuICAgICAgICBmb250LXN0eWxlOiBtYXAtZ2V0KCRjbXMtaGVhZGluZy1mb250LXN0eWxlLCBoMyk7XHJcbiAgICAgICAgQGlmICgkY21zLWhlYWRpbmctZm9udC1mYW1pbHkpIHtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRjbXMtaGVhZGluZy1mb250LWZhbWlseTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNtcy1oZWFkaW5nLWNvbG91ciwgaDMpO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkY21zLWhlYWRpbmctbGluZS1oZWlnaHQ7XHJcbiAgICAgICAgQGlmIChtYXAtZ2V0KCRjbXMtaGVhZGluZy10ZXh0LXRyYW5zZm9ybSwgaDMpKSB7XHJcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBtYXAtZ2V0KCRjbXMtaGVhZGluZy10ZXh0LXRyYW5zZm9ybSwgaDMpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpvbmx5LWNoaWxkIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGg0IHtcclxuICAgICAgICBtYXJnaW46IG1hcC1nZXQoJGNtcy1oZWFkaW5nLW1hcmdpbiwgaDQpO1xyXG4gICAgICAgIEBpZiAobWFwLWdldCgkY21zLWhlYWRpbmctcGFkZGluZywgaDQpKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IG1hcC1nZXQoJGNtcy1oZWFkaW5nLXBhZGRpbmcsIGg0KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyhtYXAtZ2V0KCRjbXMtaGVhZGluZy1mb250LXNpemUsIGg0KSk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJGNtcy1oZWFkaW5nLWZvbnQtd2VpZ2h0LCBoNCk7XHJcbiAgICAgICAgZm9udC1zdHlsZTogbWFwLWdldCgkY21zLWhlYWRpbmctZm9udC1zdHlsZSwgaDQpO1xyXG4gICAgICAgIEBpZiAoJGNtcy1oZWFkaW5nLWZvbnQtZmFtaWx5KSB7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkY21zLWhlYWRpbmctZm9udC1mYW1pbHk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjbXMtaGVhZGluZy1jb2xvdXIsIGg0KTtcclxuICAgICAgICBsaW5lLWhlaWdodDogJGNtcy1oZWFkaW5nLWxpbmUtaGVpZ2h0O1xyXG4gICAgICAgIEBpZiAobWFwLWdldCgkY21zLWhlYWRpbmctdGV4dC10cmFuc2Zvcm0sIGg0KSkge1xyXG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbWFwLWdldCgkY21zLWhlYWRpbmctdGV4dC10cmFuc2Zvcm0sIGg0KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6b25seS1jaGlsZCB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBoNSB7XHJcbiAgICAgICAgbWFyZ2luOiBtYXAtZ2V0KCRjbXMtaGVhZGluZy1tYXJnaW4sIGg1KTtcclxuICAgICAgICBAaWYgKG1hcC1nZXQoJGNtcy1oZWFkaW5nLXBhZGRpbmcsIGg1KSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBtYXAtZ2V0KCRjbXMtaGVhZGluZy1wYWRkaW5nLCBoNSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMobWFwLWdldCgkY21zLWhlYWRpbmctZm9udC1zaXplLCBoNSkpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCRjbXMtaGVhZGluZy1mb250LXdlaWdodCwgaDUpO1xyXG4gICAgICAgIGZvbnQtc3R5bGU6IG1hcC1nZXQoJGNtcy1oZWFkaW5nLWZvbnQtc3R5bGUsIGg1KTtcclxuICAgICAgICBAaWYgKCRjbXMtaGVhZGluZy1mb250LWZhbWlseSkge1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJGNtcy1oZWFkaW5nLWZvbnQtZmFtaWx5O1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkY21zLWhlYWRpbmctY29sb3VyLCBoNSk7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRjbXMtaGVhZGluZy1saW5lLWhlaWdodDtcclxuICAgICAgICBAaWYgKG1hcC1nZXQoJGNtcy1oZWFkaW5nLXRleHQtdHJhbnNmb3JtLCBoNSkpIHtcclxuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG1hcC1nZXQoJGNtcy1oZWFkaW5nLXRleHQtdHJhbnNmb3JtLCBoNSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOm9ubHktY2hpbGQge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgaDYge1xyXG4gICAgICAgIG1hcmdpbjogbWFwLWdldCgkY21zLWhlYWRpbmctbWFyZ2luLCBoNik7XHJcbiAgICAgICAgQGlmIChtYXAtZ2V0KCRjbXMtaGVhZGluZy1wYWRkaW5nLCBoNikpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogbWFwLWdldCgkY21zLWhlYWRpbmctcGFkZGluZywgaDYpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKG1hcC1nZXQoJGNtcy1oZWFkaW5nLWZvbnQtc2l6ZSwgaDYpKTtcclxuICAgICAgICBmb250LXdlaWdodDogbWFwLWdldCgkY21zLWhlYWRpbmctZm9udC13ZWlnaHQsIGg2KTtcclxuICAgICAgICBmb250LXN0eWxlOiBtYXAtZ2V0KCRjbXMtaGVhZGluZy1mb250LXN0eWxlLCBoNik7XHJcbiAgICAgICAgQGlmICgkY21zLWhlYWRpbmctZm9udC1mYW1pbHkpIHtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRjbXMtaGVhZGluZy1mb250LWZhbWlseTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNtcy1oZWFkaW5nLWNvbG91ciwgaDYpO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkY21zLWhlYWRpbmctbGluZS1oZWlnaHQ7XHJcbiAgICAgICAgQGlmIChtYXAtZ2V0KCRjbXMtaGVhZGluZy10ZXh0LXRyYW5zZm9ybSwgaDYpKSB7XHJcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBtYXAtZ2V0KCRjbXMtaGVhZGluZy10ZXh0LXRyYW5zZm9ybSwgaDYpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpvbmx5LWNoaWxkIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5AbWl4aW4gY21zLXBhcmFncmFwaCgkZm9udC13ZWlnaHQ6ICRjbXMtcGFyYWdyYXBoLWZvbnQtd2VpZ2h0LCAkbGluZS1oZWlnaHQ6ICRjbXMtcGFyYWdyYXBoLWxpbmUtaGVpZ2h0LCAkZm9udC1zaXplOiAkY21zLXBhcmFncmFwaC1mb250LXNpemUpIHtcclxuICAgIHAge1xyXG4gICAgICAgIG1hcmdpbjogdmFyKC0taW5kZW50LW1hcmdpbiwgJGNtcy1wYXJhZ3JhcGgtbWFyZ2luKTtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRmb250LXNpemUpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcclxuICAgICAgICBjb2xvcjogJGNtcy1wYXJhZ3JhcGgtY29sb3VyO1xyXG4gICAgICAgIC8vIElmIGFuIGltYWdlIGlzIGJlbGxvdyAmIGxlZnQgYWxpZ25lZC5cclxuICAgICAgICAvLyBTd2l0Y2hpbmcgdG8gZW0ncyB0byBzY2FsZSBtYXJnaW4gd2l0aCBpbmxpbmUgZm9udCBzaXplLCB0aGlzIHdhcyBhIHByb2JsZW0gZm9yIENLRWRpdG9yNCB3aGVuIHRoZSBmbG9hdCBwcm9wZXJ0eSBpcyBhcHBsaWVkIHZpYSBpbmxpbmUgc3R5bGVzIHRvIHRoZSBpbWcgYWdhaW5zdCBhIHNpbmdsZSBsaW5lIHBpZWNlIG9mIHRleHQgd2hpY2ggd291bGQgY2F1c2UgdGhlIGxheW91dCB0byBicmVhay5cclxuICAgICAgICBpbWdbc3R5bGUqPVwiZmxvYXQ6bGVmdFwiXSwgaW1nW3N0eWxlKj1cImZsb2F0OiBsZWZ0XCJdLCAmW3N0eWxlKj1cImZsb2F0OmxlZnRcIl0gPiBpbWcge1xyXG4gICAgICAgICAgICBtYXJnaW46IC4yZW0gLjJlbSAuMmVtIDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIElmIGFuIGltYWdlIGlzIGJlbGxvdyAmIHJpZ2h0IGFsaWduZWQuXHJcbiAgICAgICAgaW1nW3N0eWxlKj1cImZsb2F0OnJpZ2h0XCJdLCBpbWdbc3R5bGUqPVwiZmxvYXQ6IHJpZ2h0XCJdLCAmW3N0eWxlKj1cImZsb2F0OnJpZ2h0XCJdID4gaW1nIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAuMmVtIDAgLjJlbSAuMmVtO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICBtYXJnaW46IC4yZW0gMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJiArIHAge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAkY21zLXBhcmFncmFwaC1zaWJsaW5nLW1hcmdpbjtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJGNtcy1wYXJhZ3JhcGgtc2libGluZy1tYXJnaW47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHN0cm9uZyB7XHJcbiAgICAgICAgICAgIEBpZiAoJGNtcy1wYXJhZ3JhcGgtc3Ryb25nLWZvbnQtd2VpZ2h0KSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJGNtcy1wYXJhZ3JhcGgtc3Ryb25nLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpZiAoJGNtcy1wYXJhZ3JhcGgtc3Ryb25nLWxpbmUtaGVpZ2h0KSB7XHJcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogJGNtcy1wYXJhZ3JhcGgtc3Ryb25nLWxpbmUtaGVpZ2h0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbkBtaXhpbiBjbXMtbGlzdHMoJGZvbnQtd2VpZ2h0OiAkY21zLXBhcmFncmFwaC1mb250LXdlaWdodCwgJGxpbmUtaGVpZ2h0OiAkY21zLWxpc3QtbGluZS1oZWlnaHQsICRmb250LXNpemU6ICRjbXMtcGFyYWdyYXBoLWZvbnQtc2l6ZSkge1xyXG4gICAgdWwsIG9sIHtcclxuICAgICAgICAvLyBMaXN0cyBzaG91bGQgYWx3YXlzIGlnbm9yZSBjb250YWluZXIgdGV4dC1hbGlnbiBhbmQgYmUgYWxpZ25lZCB0byB0aGUgbGVmdC5cclxuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgfVxyXG4gICAgdWwge1xyXG4gICAgICAgIG1hcmdpbjogJGNtcy1saXN0LW1hcmdpbjtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XHJcbiAgICAgICAgLy8gbGlzdC1zdHlsZTogZGlzYztcclxuICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgIC8vbWFyZ2luOiAyNXB4IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiBzcGFjaW5nLXZhbHVlKCRjbXMtbGlzdC1wYWRkaW5nLCA0KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gbGkge1xyXG4gICAgICAgICAgICAvLyBTdXBwcmVzcyBhcyB3ZSdyZSB1c2luZyB0aGUgcHNldWRvIGVsZW1lbnQgaW5zdGVhZC5cclxuICAgICAgICAgICAgLy8gJjo6bWFya2VyIHtcclxuICAgICAgICAgICAgLy8gICAgIGNvbG9yOiAkY29sb3VyMy03O1xyXG4gICAgICAgICAgICAvLyB9XHJcbiAgICAgICAgLy8gfVxyXG4gICAgICAgIEBpbmNsdWRlIGJ1bGxldHBvaW50KCk7XHJcbiAgICB9XHJcbiAgICAvLyBUT0RPOiB0aGlzIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzIxMzY5ODQzL2lzLXRoZXJlLWEtd2F5LXRvLW1ha2UtbnVtYmVycy1pbi1hbi1vcmRlcmVkLWxpc3QtYm9sZFxyXG4gICAgb2wge1xyXG4gICAgICAgIG1hcmdpbjogJGNtcy1saXN0LW1hcmdpbjtcclxuICAgICAgICBwYWRkaW5nOiAkY21zLWxpc3QtcGFkZGluZztcclxuICAgICAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xyXG4gICAgICAgIG9sIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XHJcbiAgICAgICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbG93ZXItYWxwaGE7XHJcbiAgICAgICAgICAgIG9sIHtcclxuICAgICAgICAgICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbG93ZXItcm9tYW47XHJcbiAgICAgICAgICAgICAgICBvbCB7XHJcbiAgICAgICAgICAgICAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBsb3dlci1hbHBoYTtcclxuICAgICAgICAgICAgICAgICAgICBvbCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbG93ZXItcm9tYW47XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgbGkge1xyXG4gICAgICAgIGNvbG9yOiAkY21zLXBhcmFncmFwaC1jb2xvdXI7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkZm9udC1zaXplKTtcclxuICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XHJcbiAgICB9XHJcbiAgICAvLyA+IHVsIGxpICsgbGkge1xyXG4gICAgICAgIC8vIG1hcmdpbi10b3A6ICRjbXMtcGFyYWdyYXBoLXNpYmxpbmctbWFyZ2luO1xyXG4gICAgLy8gfVxyXG4gICAgLy8gTWFrZSBzdXJlIGxpc3RzIGRvbnQgYnV0dCB1cCBhZ2FpbnN0IGhlYWRpbmdzLlxyXG4gICAgdWwgKyBoMSwgb2wgKyBoMSB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogc3BhY2luZy12YWx1ZSgkY21zLWhlYWRpbmctbWFyZ2luLCAzLCBcImgxXCIpO1xyXG4gICAgfVxyXG4gICAgdWwgKyBoMiwgb2wgKyBoMiB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogc3BhY2luZy12YWx1ZSgkY21zLWhlYWRpbmctbWFyZ2luLCAzLCBcImgyXCIpO1xyXG4gICAgfVxyXG4gICAgdWwgKyBoMywgb2wgKyBoMyB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogc3BhY2luZy12YWx1ZSgkY21zLWhlYWRpbmctbWFyZ2luLCAzLCBcImgzXCIpO1xyXG4gICAgfVxyXG4gICAgdWwgKyBoNCwgb2wgKyBoNCB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogc3BhY2luZy12YWx1ZSgkY21zLWhlYWRpbmctbWFyZ2luLCAzLCBcImg0XCIpO1xyXG4gICAgfVxyXG4gICAgdWwgKyBoNSwgb2wgKyBoNSB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogc3BhY2luZy12YWx1ZSgkY21zLWhlYWRpbmctbWFyZ2luLCAzLCBcImg1XCIpO1xyXG4gICAgfVxyXG4gICAgdWwgKyBoNiwgb2wgKyBoNiB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogc3BhY2luZy12YWx1ZSgkY21zLWhlYWRpbmctbWFyZ2luLCAzLCBcImg2XCIpO1xyXG4gICAgfVxyXG4gICAgZGwge1xyXG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBjbXMtY29kZSgpIHtcclxuICAgIGNvZGUge1xyXG4gICAgICAgIG1heC1oZWlnaHQ6IDUwMHB4O1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBwYWRkaW5nOiBzbWFsbC12YWx1ZSgkY21zLWNvZGUtYmxvY2stcGFkZGluZyk7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBtYXJnaW46IDAgMCA0MHB4O1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIzLTU7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG91cjMtMztcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcclxuICAgICAgICBsaW5lLWhlaWdodDogNDBweDtcclxuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcclxuICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogbGFyZ2UtdmFsdWUoJGNtcy1jb2RlLWJsb2NrLXBhZGRpbmcpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3VyMy02O1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICB9XHJcbiAgICAgICAgLmNvZGUtY29weS1idXR0b24tY29udGFpbmVyIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHN0aWNreTtcclxuICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICBsZWZ0OiBjYWxjKDEwMCUgLSAxNXB4KTtcclxuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmNvZGUtY29weS1idXR0b24ge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgcGFkZGluZzogOHB4O1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjMtMztcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbk91dHJvLCBwYWRkaW5nICR0cmFuc2l0aW9uT3V0cm8sIG9wYWNpdHkgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgY2xpcGJvYXJkLWNvcHkpO1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVJlZ3VsYXI7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91cjE7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvLCBmb250LXNpemUgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYuYWN0aXZlLCAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTJweDtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IC40O1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogcGFkZGluZyAkdHJhbnNpdGlvbkludHJvLCBvcGFjaXR5ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGZvbnQtc2l6ZSAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gY21zLWFuY2hvcigpIHtcclxuICAgIGEge1xyXG4gICAgICAgIC8vIEF2b2lkIHN0eWxpbmcgaWYgdGhpcyBpcyBhIGJ1dHRvbi5cclxuICAgICAgICAvLyBTdXBwcmVzc2luZyB0aGlzIGFzIGl0IHdhcyBnZXR0aW5nIGluIHdheSBvZiBhbmNob3IgaW5zaWRlIG9mIHRhYmxlcyB3aGVuIG5lc3RlZCBpbiBjbXMgY29udGVudC5cclxuICAgICAgICAvLyAmOm5vdChbY2xhc3MqPVwiLWJ1dHRvblwiXSkge1xyXG4gICAgICAgICAgIFxyXG4gICAgICAgICAgICAmW2hyZWZePVwidGVsOlwiXSwgJltocmVmXj1cIm1haWx0bzpcIl0ge1xyXG4gICAgICAgICAgICAgICAgLy9jb2xvcjogbWFwLWdldCgkY21zLWFuY2hvci1jb250YWN0LWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJGNtcy1hbmNob3ItY29udGFjdC13ZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAvL2NvbG9yOiBtYXAtZ2V0KCRjbXMtYW5jaG9yLWNvbnRhY3QtY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJi5zaG93LWNvbnRhY3QtaWNvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICZbaHJlZl49XCJtYWlsdG86XCJdLnNob3ctY29udGFjdC1pY29uOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBlbWFpbCk7XHJcbiAgICAgICAgICAgICAgICBAaWYgKCRzaXRlLWljb25zLWN1c3RvbS1lbWFpbC1pY29uKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IGN1c3RvbS1pY29uLWZhbWlseSgkZm9udEF3ZXNvbWVTb2xpZCwgJHNpdGUtaWNvbnMtY3VzdG9tLWVtYWlsLWljb24pO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICZbaHJlZl49XCJ0ZWw6XCJdLnNob3ctY29udGFjdC1pY29uOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCB0ZWxlcGhvbmUpO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoJGhlYWRlci1yZXNwb25zaXZlLWljb24tcm90YXRlKTtcclxuICAgICAgICAgICAgICAgIEBpZiAoJHNpdGUtaWNvbnMtY3VzdG9tLWVtYWlsLWljb24pIHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogY3VzdG9tLWljb24tZmFtaWx5KCRmb250QXdlc29tZVNvbGlkLCAkc2l0ZS1pY29ucy1jdXN0b20tdGVsZXBob25lLWljb24pO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgLy8gfVxyXG4gICAgfVxyXG4gICAgLy8gR2l2ZSB0aGUgYW5jaG9yIHNvbWUgYnJlYXRoaW5nIHJvb20gZnJvbSB0aGUgcmVzdCBvZiB0aGUgY29udGVudC5cclxuICAgIC8vIERvbid0IGFwcGx5IHRoZSBwYWRkaW5nIGlmIHRoaXMgaXMgYSBidXR0b24uXHJcbiAgICBwXHJcbiAgICBhIHtcclxuICAgICAgICAmOm5vdChbY2xhc3MqPVwiLWJ1dHRvblwiXSkge1xyXG4gICAgICAgICAgICAkYW5jaG9yLWd1dHRlci1zcGFjaW5nOiAwIDVweDtcclxuICAgICAgICAgICAgLy8gQXMgYSB0ZXN0IHRvIHN0cmluayBjb250ZW50IGkuZSBpbWFnZXMgZG93bi5cclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAgICAgICAgIC8vIENoYW5naW5nIHRvIHJvdyBpbmNhc2UgdGhlcmUgaXMgbWFya3VwIGluc2lkZSBvZiB0aGUgYW5jaG9yICggaS5lIHN0cm9uZyBmb3IgYXhpcyB2TWVyY2hhbnQgKVxyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgICAgICBnYXA6ICRhbmNob3ItZ3V0dGVyLXNwYWNpbmc7XHJcbiAgICAgICAgICAgIC8vcGFkZGluZzogJGFuY2hvci1ndXR0ZXItc3BhY2luZztcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRjbXMtYW5jaG9yLXdlaWdodDtcclxuXHJcblxyXG4gICAgICAgIH1cclxuICAgICAgICAmOmhhcyhbc3R5bGUqPVwiZmxvYXRcIl0pIHtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIGNtcy1pbWFnZSgpIHtcclxuXHQvLyBDa2VkaXRvciA1IHdyYXBzIGFsbCBpbWFnZXMgaW4gYSBmaWd1cmUgdGhlbiBhcHBsaWVzIGNsYXNzaW5nIGZvciBhbGlnbm1lbnQgaW5zdGVhZCBvZiBkaXJlY3RseSBhZGRpbmcgaW5saW5lIENTUywgd2hlbiBhIHBhZ2UgaXMgcmVuZGVyZWQgdGhlIENrZWRpdG9yJ3Mgc3R5bGVzaGVldCBpcyBub3QgbG9hZGVkIGluIG9ubHkgd2hlbiBpbiB0aGUgZWRpdG9yIGlzIGluaXRpYWxpc2VkLlxyXG4gICAgZmlndXJlIHtcclxuICAgICAgICAvLyBJZiBDS0VkaXRvciBoYXMgYXNzaWduZWQgYSBhYnNvbHV0ZSB3aWR0aCBtYWtlIHN1cmUgaXQgZG9lc24ndCBleHBhbmQgb3V0c2lkZSBvZiB0aGUgdmlld3BvcnQgd2hlbiBpbiBtb2JpbGUuXHJcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG5cdFx0bWFyZ2luOiAkY21zLWltYWdlLXNwYWNpbmc7XHJcbiAgICAgICAgLy8gT3ZlcnJpZGluZyBDa2VkaXRvci5cclxuICAgICAgICAmLmltYWdlIHtcclxuICAgICAgICAgICAgLy8gU2V0dGluZyBmaXQtY29udGVudCB0byBhbGxvdyBmb3IgdGhlIGNvbnRhaW5lciB0byBtYXRjaCB0aGUgaW1hZ2Ugd2lkdGggYnV0IHByZXZlbnQgdGhlIGNhcHRpb24gZnJvbSBleHBhbmRpbmcgZnVydGhlciB0aGFuIHRoZSBpbWFnZSB3aWR0aC5cclxuICAgICAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgICAgICAgICBtYXJnaW46ICRjbXMtaW1hZ2Utc3BhY2luZztcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gVGV4dCBmbG93IGFyb3VuZCB0aGUgaW1hZ2UuXHJcblx0XHQmLmltYWdlLXN0eWxlLWFsaWduLXJpZ2h0IHtcclxuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgICAgICAgICAvLyBNYXRjaCB0b3AgKyBib3R0b20uXHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBzcGFjaW5nLXZhbHVlKCRjbXMtaW1hZ2Utc3BhY2luZywgMSk7XHJcblx0XHR9XHJcblx0XHQmLmltYWdlLXN0eWxlLWFsaWduLWxlZnQge1xyXG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICAgICAgLy8gTWF0Y2ggdG9wICsgYm90dG9tLlxyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHNwYWNpbmctdmFsdWUoJGNtcy1pbWFnZS1zcGFjaW5nLCAxKTtcclxuXHRcdH1cclxuICAgICAgICAvLyBUZXh0IGJyZWFrLlxyXG4gICAgICAgICYuaW1hZ2Utc3R5bGUtYmxvY2stYWxpZ24tbGVmdCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuaW1hZ2Utc3R5bGUtYmxvY2stYWxpZ24tcmlnaHQge1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmW2NsYXNzKj1cImltYWdlLXN0eWxlLWJsb2NrXCJdIHtcclxuICAgICAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgICAgIH1cclxuICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGZpZ2NhcHRpb24ge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgcGFkZGluZzogNXB4O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtMTApO1xyXG4gICAgICAgICAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvdXI7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoKCRwYXJhZ3JhcGgtZm9udC1zaXplIC0gMikpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gY21zLWltYWdlLWdhbGxhcnkoKSB7XHJcbiAgICBkaXYuZ2FsbGFyeSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgbWFyZ2luOiAxMHB4IDAgMjBweDtcclxuICAgICAgICAmLmNlbGwtZ3V0dGVycyB7XHJcbiAgICAgICAgICAgIGdhcDogMTBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgPiBpbWcge1xyXG4gICAgICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIGNtcy15b3V0dWJlLXZpZGVvKCkge1xyXG4gICAgaWZyYW1lW3NyYyo9XCJodHRwczovL3d3dy55b3V0dWJlLmNvbS9cIl0ge1xyXG4gICAgICAgIC8vd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICAgIEBpZiAoc21vb3RoLWVkZ2VzKCkpIHtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gY21zLWdvb2dsZS1tYXBzLWVtYmVkZGVkKCkge1xyXG4gICAgaWZyYW1lW3NyYyo9XCJodHRwczovL3d3dy5nb29nbGUuY29tL21hcHMvZW1iZWRcIl0ge1xyXG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRjb2xvdXIxO1xyXG4gICAgICAgIEBpZiAkc21vb3RoLWVkZ2VzLWVuYWJsZWQge1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgICAgICB9XHJcbiAgICB9ICBcclxufVxyXG4vLyBVc2VkIGZvciByZWFkIG1vcmUgdGV4dC5cclxuQG1peGluIHNpbXBsZS1mYWRlKCRvcGFjaXR5OiAkZGVmYXVsdC1mYWRlLW9wYWNpdHksICRmZWF0aGVyOiAkcmVhZC1tb3JlLWZlYXRoZXItZGVmYXVsdCkge1xyXG4gICAgbWFzay1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgdHJhbnNwYXJlbnQgJG9wYWNpdHksICRyZWFkLW1vcmUtZmFkZS1jb2xvdXIgJGZlYXRoZXIpXHJcbn1cclxuLy8gU3BlZWNoIGJ1YmJsZSBnZW5lcmF0b3IgKCBodHRwczovL3Byb2plY3RzLnZlcm91Lm1lL2J1YmJseS8gKS5cclxuLy8gJHNpZGU6IFwidG9wLCByaWdodCwgYm90dG9tLiBsZWZ0XCJcclxuQG1peGluIHNwZWVjaC1idWJibGUoJHNpZGU6IFwidG9wXCIsICRwb2ludGVyLXNpemU6IDVweCwgJGJvcmRlci1jb2xvdXI6ICRjb2xvdXI0LCAkYmFja2dyb3VuZC1jb2xvdXI6ICRjb2xvdXIxKSB7XHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgQGluY2x1ZGUgc3BlZWNoLWJ1YmJsZS1wb2ludGVyKCRzaWRlLCAkcG9pbnRlci1zaXplLCAkYm9yZGVyLWNvbG91cik7XHJcbiAgICB9XHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgICBAaW5jbHVkZSBzcGVlY2gtYnViYmxlLXBvaW50ZXIoJHNpZGUsICgkcG9pbnRlci1zaXplIC0gMyksICRiYWNrZ3JvdW5kLWNvbG91ciwgdHJ1ZSk7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBzcGVlY2gtYnViYmxlLXBvaW50ZXIoJHNpZGUsICRwb2ludGVyLXNpemUsICRib3JkZXItY29sb3VyLCAkaXMtaW50ZXJuYWwtYXJyb3c6IGZhbHNlKSB7XHJcbiAgICBjb250ZW50OiAnJztcclxuICAgICAgICB3aWR0aDogMDtcclxuICAgICAgICBoZWlnaHQ6IDA7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIEBpZiAkc2lkZSA9PSBcInRvcFwiIHtcclxuICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgICAgfSBAZWxzZSBpZiAkc2lkZSA9PSBcInJpZ2h0XCIge1xyXG4gICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgdG9wOiA1MCU7XHJcbiAgICAgICAgfSBAZWxzZSBpZiAkc2lkZSAgPT0gXCJib3R0b21cIiB7XHJcbiAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAgIH0gQGVsc2UgaWYgJHNpZGUgPT0gXCJsZWZ0XCIge1xyXG4gICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICB0b3A6IDUwJTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gQXR0ZW1wdCB0byBzY2FsZSBpbnRlcm5hbCBhcnJvdyBiYXNlZCBvbiB0aGUgdG9vbHRvcCBjb250ZW50IGJvcmRlci5cclxuICAgICAgICBib3JkZXItd2lkdGg6ICN7aWYoJGlzLWludGVybmFsLWFycm93LCAoJHBvaW50ZXItc2l6ZSArICgkdG9vbHRpcC1jb250ZW50LWJvcmRlci13aWR0aCAvIDIpKSwgJHBvaW50ZXItc2l6ZSl9cHg7XHJcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvdXIwO1xyXG4gICAgICAgIEBpZiAkc2lkZSA9PSBcInRvcFwiIHtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGJvcmRlci1jb2xvdXI7XHJcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDA7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC0jeyRwb2ludGVyLXNpemV9cHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtI3tpZigkaXMtaW50ZXJuYWwtYXJyb3csICgkcG9pbnRlci1zaXplICsgKCR0b29sdGlwLWNvbnRlbnQtYm9yZGVyLXdpZHRoIC8gMikpLCAkcG9pbnRlci1zaXplKX1weDtcclxuICAgICAgICB9IEBlbHNlIGlmICRzaWRlID09IFwicmlnaHRcIiB7XHJcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkYm9yZGVyLWNvbG91cjtcclxuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAtI3skcG9pbnRlci1zaXplfXB4O1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC0jeyRwb2ludGVyLXNpemV9cHg7XHJcbiAgICAgICAgfSBAZWxzZSBpZiAkc2lkZSA9PSBcImJvdHRvbVwiIHtcclxuICAgICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGJvcmRlci1jb2xvdXI7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDA7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtI3skcG9pbnRlci1zaXplfXB4O1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAtI3skcG9pbnRlci1zaXplfXB4O1xyXG4gICAgICAgIH0gQGVsc2UgaWYgJHNpZGUgPT0gXCJsZWZ0XCIge1xyXG4gICAgICAgICAgICBib3JkZXItcmlnaHQtY29sb3I6ICRib3JkZXItY29sb3VyOztcclxuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC0jeyRwb2ludGVyLXNpemV9cHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtI3skcG9pbnRlci1zaXplfXB4O1xyXG4gICAgICAgIH1cclxufVxyXG5cclxuLy8gT3JkZXIgVGFibGUgc3R5bGVzICggdXNlZCBmb3IgYmFza2V0LCBjaGVja291dCBjb21wbGV0ZSAmIHZpZXcgb3JkZXIgKVxyXG5AbWl4aW4gb3JkZXItdGFibGUoKSB7XHJcbiAgICAvLyBHbG9iYWwgYmFza2V0IHRhYmxlIHByb3BlcnRpZXMuXHJcbiAgICB0ZCwgdGgge1xyXG4gICAgICAgICY6bm90KC5iYXNrZXQtZGVzY3JpcHRpb24tY29sKSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgfSAgIFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIHRkIHtcclxuICAgIC8vICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAvLyAgICAgICAgIHBhZGRpbmc6ICRvcmRlci1tb2JpbGUtcm93LXBhZGRpbmc7XHJcbiAgICAvLyAgICAgfVxyXG4gICAgLy8gfVxyXG4gICAgJi5yZWFkLW9ubHkge1xyXG4gICAgICAgIC8vIHRkLmJhc2tldC1wcmljZS1jb2wge1xyXG4gICAgICAgICAgICAvLyBkaXNwbGF5OiB0YWJsZS1jZWxsO1xyXG4gICAgICAgICAgICAvLyBvcmRlcjogNjtcclxuICAgICAgICAgICAgLy8gLy8gcGFkZGluZy1ib3R0b206IDIwcHg7XHJcbiAgICAgICAgICAgIC8vIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgLy8gICAgIHBhZGRpbmctYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAvLyB9XHJcbiAgICAgICAgICAgIC8vIC5sYWJlbCB7XHJcbiAgICAgICAgICAgIC8vICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbiAgICAgICAgICAgIC8vICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgICAgICAvLyAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAvLyAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgIC8vICAgICB9XHJcbiAgICAgICAgICAgIC8vIH1cclxuICAgICAgICAvLyB9XHJcbiAgICAgICAgdGQuYmFza2V0LWN1cnJlbnQtcHJpY2UtY29sIHtcclxuICAgICAgICAgICAgLy8gd2lkdGg6IDUwJTtcclxuICAgICAgICAgICAgLy8gZGlzcGxheTogdGFibGUtY2VsbDtcclxuICAgICAgICAgICAgLy8gb3JkZXI6IDc7XHJcbiAgICAgICAgICAgIC8vIHBhZGRpbmctYm90dG9tOiAyMHB4O1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICAgICAgICAgIC8vIHBhZGRpbmctYm90dG9tOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC8vIC5sYWJlbCB7XHJcbiAgICAgICAgICAgIC8vICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbiAgICAgICAgICAgIC8vICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgICAgICAvLyAgICAgY29sb3I6ICRjb2xvdXIyO1xyXG4gICAgICAgICAgICAvLyB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRkLmFkZC10by1iYXNrZXQtY29sIHtcclxuICAgICAgICAgICAgLy8gd2lkdGg6IDUwJTtcclxuICAgICAgICAgICAgLy8gb3JkZXI6IDg7XHJcbiAgICAgICAgICAgIC8vIHBhZGRpbmctYm90dG9tOiAyMHB4O1xyXG4gICAgICAgICAgICAvLyBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIC8vICAgICB3aWR0aDogMTUlO1xyXG4gICAgICAgICAgICAvLyAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcclxuICAgICAgICAgICAgLy8gICAgIHBhZGRpbmctYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAvLyB9XHJcbiAgICAgICAgICAgIGJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgdGQuYmFza2V0LXF1YW50aXR5IHtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMjAlO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHAge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5sYWJlbCB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgfVxyXG5cclxuICAgIC5iYXNrZXQtZGVzY3JpcHRpb24tY29sIHtcclxuICAgICAgICAtLW1lZGlhLWFzcGVjdC1yYXRpbzogI3skcHJvZHVjdC1pbWFnZS1hc3BlY3QtcmF0aW99O1xyXG4gICAgICAgIC5pbWFnZSB7XHJcbiAgICAgICAgICAgIC8vIEFkZGluZyB3aWR0aCBzbyBvcHRpb25hbCBleHRyYSdzIHdpdGhvdXQgYW4gaW1hZ2UgdGhlIGRlc2NyaXB0aW9ucyBob2xkcyBpbiBwbGFjZS5cclxuICAgICAgICAgICAgd2lkdGg6IDE3NXB4O1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAyMHB4IDAgMDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDQwcHggMCAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IG1hcC1nZXQoJG9yZGVyLXRhYmxlLWltYWdlLWRpbWVudGlvbnMsIHNtYWxsKTtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogKG1hcC1nZXQoJG9yZGVyLXRhYmxlLWltYWdlLWRpbWVudGlvbnMsIGxhcmdlKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gQ2Fubm90IHByZXZlbnQgaGVpZ2h0IGR1ZSB0byBuZWVkaW5nIHRvIHN1cHBvcnQgcmVjdGFuZ2xlIGltYWdlcy5cclxuICAgICAgICAgICAgICAgICAgICAvL2hlaWdodDogbWFwLWdldCgkb3JkZXItdGFibGUtaW1hZ2UtZGltZW50aW9ucywgbGFyZ2UpO1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiBtYXAtZ2V0KCRvcmRlci10YWJsZS1pbWFnZS1kaW1lbnRpb25zLCBzbWFsbCk7XHJcbiAgICAgICAgICAgICAgICBib3JkZXI6ICRvcmRlci10YWJsZS1pbWFnZS1ib3JkZXI7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IG1hcC1nZXQoJG9yZGVyLXRhYmxlLWltYWdlLWRpbWVudGlvbnMsIGxhcmdlKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHRkLmJhc2tldC1kZXNjcmlwdGlvbi1jb2wge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgLy8gb3JkZXI6IDE7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICBncmlkLWNvbHVtbjogMSAvIDIgc3BhbjtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gRG9udCBzZXQgYSBhYnNvbHV0ZSB3aXRoIG90aGVyd2lzZSB0aGlzIHdpbGwgbm90IHNjYWxlIHdlbGwuXHJcbiAgICAgICAgLy8gQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIC8vICAgICB3aWR0aDogNDUwcHg7XHJcbiAgICAgICAgLy8gfVxyXG4gICAgfVxyXG4gICAgLnN0b2NrLWRlc2NyaXB0aW9uLWxldmVsIHtcclxuICAgICAgICBtaW4td2lkdGg6IDQwJTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXg6IDE7XHJcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgZ2FwOiAkYmFza2V0LXN0b2NrLWRlc2NyaXB0aW9uLWdhcDtcclxuICAgICAgICAvLyBtYXJnaW4tbGVmdDogMjBweDtcclxuICAgICAgICBwYWRkaW5nOiAxMHB4IDA7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtaW4td2lkdGg6IHVuc2V0O1xyXG4gICAgICAgICAgICAvLyB3aWR0aDogOTAlO1xyXG4gICAgICAgICAgICAvLyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICAgICAgcGFkZGluZzogMjVweCAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBwcm9kdWN0LWNvbGxlY3Rpb24tZ3JvdXAtZGVzY3JpcHRpb24tdHlwb2dyYXBoeSgpO1xyXG4gICAgICAgIC5kZXNjcmlwdGlvbiB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYmFza2V0LWRlc2NyaXB0aW9uLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGJhc2tldC1kZXNjcmlwdGlvbi1mb250LXNpemUpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogJGJhc2tldC1kZXNjcmlwdGlvbi1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRiYXNrZXQtZGVzY3JpcHRpb24tdGV4dC10cmFuc2Zvcm07XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkYmFza2V0LWRlc2NyaXB0aW9uLWxpbmUtaGVpZ2h0O1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDMwMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGJhc2tldC1kZXNjcmlwdGlvbi1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGJhc2tldC1kZXNjcmlwdGlvbi1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH1cclxuICAgICAgICAuc3RvY2staW5kaWNhdG9yIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogNXB4O1xyXG4gICAgICAgIH0gIFxyXG4gICAgICAgIC5zdG9ja1dhcm5pbmcge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICBjb2xvcjogcmdiYSgkY29sb3VyMy0zLCAwLjYpO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwYXJhZ3JhcGgtZm9udC1zaXplIC0gMSk7XHJcbiAgICAgICAgICAgICYuYWN0aXZlIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHAge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gXHJcbiAgICB9XHJcbiAgICAuc3Vic2lkaWFyeS1kZXNjcmlwdGlvbiB7XHJcbiAgICAgICAgY29sb3I6IGRlZmF1bHQtY29sb3VyKCR0Ym9keS1hbmNob3ItY29sb3VyKTtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCgkdGJvZHktYW5jaG9yLWZvbnQtc2l6ZSAtIDEpKTtcclxuICAgICAgICBmb250LXdlaWdodDogJHRib2R5LWFuY2hvci1mb250LXdlaWdodDtcclxuICAgIH1cclxuICAgIC5ub24tcmV0dXJuYWJsZS1kZXNjcmlwdGlvbiB7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBub24tcmV0dXJuYWJsZSk7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6ICRzdG9jay1pbmRpY2F0b3ItaWNvbi1wYWRkaW5nO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJGV4cHJlc3MtZGVmYXVsdC1pY29ucztcclxuICAgICAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkd2FybmluZy1jb2xvdXIsIDApO1xyXG4gICAgICAgIH1cclxuICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygoJHBhcmFncmFwaC1mb250LXNpemUgLSAxKSk7XHJcbiAgICAgICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3VyO1xyXG4gICAgfVxyXG4gICAgLmJhc2tldC1jb2RlLWNvbCB7XHJcbiAgICAgICAgLy8gd2lkdGg6IG1hcC1nZXQoJG9yZGVyLXRhYmxlLWltYWdlLWRpbWVudGlvbnMsIHNtYWxsKTtcclxuICAgICAgICAvLyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgLy8gb3JkZXI6IDM7XHJcbiAgICAgICAgLy8gZm9udC1zaXplOiByZW0tY2FsYygkb3JkZXItdGFibGUtY29kZS1mb250LXNpemUpO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwJTtcclxuICAgICAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuYmFza2V0LXByaWNlLWNvbCwgLmJhc2tldC1jdXJyZW50LXByaWNlLWNvbCB7XHJcbiAgICAgICAgLy8gZm9udC1zaXplOiByZW0tY2FsYygkb3JkZXItdGFibGUtcHJpY2UtZm9udC1zaXplKTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMTUlO1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAudmF0LXJhdGUtY29udGFpbmVyIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIH1cclxuXHJcbiAgICB0ZC5iYXNrZXQtcHJpY2UtY29sIHtcclxuICAgICAgICAvLyBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkb3JkZXItdGFibGUtcHJpY2UtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAvLyB3aWR0aDogMTIlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHRkLmJhc2tldC1jdXJyZW50LXByaWNlLWNvbCB7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRvcmRlci10YWJsZS1wcmljZS1mb250LXdlaWdodDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5hZGQtdG8tYmFza2V0LWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogMTUlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5iYXNrZXQtcXVhbnRpdHkge1xyXG4gICAgICAgIC8vIHdpZHRoOiAzNSU7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuICAgICAgICAvLyBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIC8vIG9yZGVyOiA1O1xyXG4gICAgICAgIC8vIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAvLyAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XHJcbiAgICAgICAgLy8gfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwJTtcclxuICAgICAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnF1YW50aXR5LXNlbGVjdG9yLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAubGFiZWwge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIE92ZXJyaWRpbmcgZGVmYXVsdCBzdHlsZXMgZm9yIHRoZSBmcmVlIHRleHQgcXVhbnRpdHkgc2VsZWN0b3IuXHJcbiAgICAgICAgLmlucHV0LW51bWJlci1ncm91cCB7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuYmFza2V0LXN1Yi10b3RhbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogMTElO1xyXG4gICAgICAgIH1cclxuICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgd2lkdGg6IDYwJTtcclxuICAgICAgICAgICAgb3JkZXI6IDI7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICAgICAgICAgIG9yZGVyOiAxO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGQuYmFza2V0LXN1Yi10b3RhbC1jb2wge1xyXG4gICAgICAgIHdpZHRoOiA1MCU7XHJcbiAgICAgICAgb3JkZXI6IDQ7XHJcbiAgICAgICAgLy8gZm9udC1zaXplOiByZW0tY2FsYygkcGFyYWdyYXBoLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRvcmRlci10YWJsZS1zdWItdG90YWwtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgY29sb3I6ICRvcmRlci10YWJsZS1zdWItdG90YWwtY29sb3VyO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgfVxyXG4gICAgLmJhc2tldC1yZW1vdmUtY29sIHsgIFxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDUlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHRkLmJhc2tldC1yZW1vdmUtY29sIHtcclxuICAgICAgICB3aWR0aDogNTAlO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgb3JkZXI6IDY7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5yZW1vdmUtYnV0dG9uIHtcclxuICAgICAgICB3aWR0aDogJG9yZGVyLXRhYmxlLXJlbW92ZS1idXR0b24tc2l6ZTtcclxuICAgICAgICBoZWlnaHQ6ICRvcmRlci10YWJsZS1yZW1vdmUtYnV0dG9uLXNpemU7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBjb2xvcjogJGJhc2tldEJvZHlSZW1vdmVDb2xvdXI7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAvLyBTdXBwcmVzc2luZyBmb3IgZ2VuZXJpYyAucmVtb3ZlLWJ1dHRvbiBpbiBfdGFibGVzLnNjc3MuXHJcbiAgICAgICAgLy8gJjpiZWZvcmUge1xyXG4gICAgICAgIC8vICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBiYXNrZXQtcmVtb3ZlKTtcclxuICAgICAgICAvLyAgICAgZm9udC1zaXplOiAoJG9yZGVyLXRhYmxlLXJlbW92ZS1idXR0b24tc2l6ZSAvIDQpO1xyXG4gICAgICAgIC8vICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgLy8gICAgIGNvbG9yOiBtYXAtZ2V0KCRvcmRlci10YWJsZS1yZW1vdmUtaWNvbi1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgIC8vICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgIC8vIH1cclxuICAgICAgICAvLyAmOmhvdmVyIHtcclxuICAgICAgICAvLyAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgIC8vICAgICAgICAgY29sb3I6IG1hcC1nZXQoJG9yZGVyLXRhYmxlLXJlbW92ZS1pY29uLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgIC8vICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRyb1xyXG4gICAgICAgIC8vICAgICB9XHJcbiAgICAgICAgLy8gfVxyXG4gICAgICAgIC8vICY6YWN0aXZlIHtcclxuICAgICAgICAvLyAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgIC8vICAgICAgICAgY29sb3I6IG1hcC1nZXQoJG9yZGVyLXRhYmxlLXJlbW92ZS1pY29uLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAvLyAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm9cclxuICAgICAgICAvLyAgICAgfVxyXG4gICAgICAgIC8vIH1cclxuICAgICAgICBcclxuICAgICAgICBcclxuICAgIH1cclxuICAgIC5iYXNrZXRVcGRhdGVSb3cge1xyXG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkYmFza2V0SGVhZEJvcmRlckNvbG91cjtcclxuICAgIH1cclxuICAgIC5iYXNrZXQtaXRlbS1yb3cge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgLy8gV2UgdXNlZCB0byBub3QgdXNlIGdyaWQgbGF5b3V0IGR1ZSB0byBJRSBzdXBwb3J0IGJ1dCBhcyB3ZSBubyBsb25nZXIgc3VwcG9ydCBJRSB0aW1lIHRvIG1ha2Ugb3VyIGxpZmUncyBlYXNpZXIhLlxyXG4gICAgICAgICAgICAvLyBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAvLyBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgICAgICAvLyBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgICAgIC8vIHBhZGRpbmctcmlnaHQ6IDEwcHg7XHJcbiAgICAgICAgICAgIC8vIHBhZGRpbmctbGVmdDogMTBweDtcclxuICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcclxuICAgICAgICAgICAgLy8gQ3JlYXRlIGEgMiBjb2x1bW4gYXJyYW5nZW1lbnQuXHJcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDEyMHB4LCBtYXgtY29udGVudCkgbWlubWF4KDEyMHB4LCBtYXgtY29udGVudCk7XHJcbiAgICAgICAgICAgIGdhcDogNXB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICB0ZCB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIFN0YW5kYXJkIHN0eWxlcyBhZGRlZCB0byBtZW51IGRyb3Bkb3ducy5cclxuQG1peGluIGRyb3Bkb3duLWZvb3Rlcigkc3VwcHJlc3MtcGFkZGluZzogZmFsc2UpIHtcclxuICAgIEBpZiBub3QgKCRzdXBwcmVzcy1wYWRkaW5nKSB7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206ICRtb2JpbGUtbWVudS1mb290ZXItcGFkZGluZy1ib3R0b207IFxyXG4gICAgfVxyXG4gICAgYm94LXNoYWRvdzogJGJveFNoYWRvdzM7XHJcbiAgICBAaW5jbHVkZSBkcm9wZG93bi1mb290ZXItYm9yZGVyO1xyXG59XHJcblxyXG5AbWl4aW4gZHJvcGRvd24tZm9vdGVyLWJvcmRlcigpIHtcclxuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRtZW51LWZvb3Rlci1ib3JkZXItYm90dG9tLWNvbG91cjtcclxuICAgIGJvcmRlci13aWR0aDogMCAwICRtZW51LWZvb3Rlci1ib3JkZXItYm90dG9tLXNpemUgMDtcclxuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbn1cclxuXHJcbi8vIE1lbnUgaG92ZXIgaWNvbiAvIGlzLXN1Ym1lbnUtcGFyZW50LlxyXG5AbWl4aW4gbWVudS1pdGVtLXByZWZpeC1pY29uKCkge1xyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIG1lZ2EtbWVudS1saW5rLWljb24pO1xyXG4gICAgICAgIGhlaWdodDogJG1lZ2EtbWVudS1saW5rLWljb24tc2l6ZTtcclxuICAgICAgICBtYXJnaW46IGF1dG8gMDtcclxuICAgICAgICBwYWRkaW5nOiBtYXAtZ2V0KCRtZWdhLW1lbnUtbGluay1pY29uLXBhZGRpbmcsIHNtYWxsKTtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIC8vIEFsd2F5cyBzaG93IGFycm93cyBpbiBtb2JpbGUuXHJcbiAgICAgICAgLy8gQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIC8vICAgICBjb2xvcjogJGNvbG91cjA7XHJcbiAgICAgICAgLy8gfVxyXG4gICAgICAgIGZvbnQtZmFtaWx5OiBjdXN0b20taWNvbi1mYW1pbHkoJGZvbnRBd2Vzb21lU29saWQsICRzaXRlLWljb25zLWN1c3RvbS1jaGV2cm9ucyk7XHJcbiAgICAgICAgZm9udC1zaXplOiAkbWVnYS1tZW51LWxpbmstaWNvbi1zaXplO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkbWVnYS1tZW51LWxpbmstaWNvbi1zaXplO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBtYXAtZ2V0KCRtZWdhLW1lbnUtbGluay1pY29uLXBhZGRpbmcsIGxhcmdlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBjb250ZW50LWxvYWRpbmctc3Bpbm5lcigkc3Bpbm5lci1jb2xvdXI6ICRjb2xvdXI0KSB7XHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICB3aWR0aDogJGNvbnRlbnQtaW5pdGlhbGlzaW5nLXNwaW5uZXItc2l6ZSAtICgkY29udGVudC1pbml0aWFsaXNpbmctc3Bpbm5lci13ZWlnaHQgKiAyKTtcclxuICAgICAgICBoZWlnaHQ6ICRjb250ZW50LWluaXRpYWxpc2luZy1zcGlubmVyLXNpemUgLSAoJGNvbnRlbnQtaW5pdGlhbGlzaW5nLXNwaW5uZXItd2VpZ2h0ICogMik7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICByaWdodDogMDtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgYm9yZGVyOiAkY29udGVudC1pbml0aWFsaXNpbmctc3Bpbm5lci13ZWlnaHQgc29saWQgcmdiYSgkc3Bpbm5lci1jb2xvdXIsIC4yKTtcclxuICAgICAgICBib3JkZXItdG9wOiAkY29udGVudC1pbml0aWFsaXNpbmctc3Bpbm5lci13ZWlnaHQgc29saWQgJHNwaW5uZXItY29sb3VyO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2UgMHM7XHJcbiAgICAgICAgYW5pbWF0aW9uOiBzcGluIC43cyBjdWJpYy1iZXppZXIoMC41NjAsIDAuMTEwLCAwLjIyMCwgMC44NjUpIDBzIGluZmluaXRlO1xyXG4gICAgICAgIHotaW5kZXg6IDE7XHJcbiAgICB9XHJcbiAgICAvLyBhbmltYXRpb24ga2V5ZnJhbWVzXHJcbiAgICBAa2V5ZnJhbWVzIHNwaW4ge1xyXG4gICAgICAgIGZyb20gIHsgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpOyB9XHJcbiAgICAgICAgdG8gICAgeyB0cmFuc2Zvcm06IHJvdGF0ZSg0MDVkZWcpOyB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIEluIG1vYmlsZSB0aGUgdG9nZ2xlIGJhciB0cmlnZ2VycyB0aGluZ3MgbGlrZSBiYXNrZXQsIHNlYXJjaCAmIHNpdGUgbmF2aWdhdGlvbiwgdGhpcyBpcyB0aGUgZ2VuZXJpYyBzdHlsZXMgdGhvc2UgbWVudSdzIC8gcG9wdXBzIHVzZS5cclxuQG1peGluIGhlYWRlci1tb2JpbGUtbWVudSgpIHtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICBtYXgtaGVpZ2h0OiAkaGVhZGVyLW1vYmlsZS1tZW51LW1heC1oZWlnaHQ7XHJcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgICAgICAgei1pbmRleDogJGhlYWRlci1tb2JpbGUtbWVudS16LWluZGV4O1xyXG4gICAgICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgJHRyYW5zaXRpb25JbnRybztcclxuICAgIH1cclxufVxyXG5cclxuLy8gQnVpbGQgY29sb3VyIHBhbGxldGUgdG9uZXMuXHJcbkBtaXhpbiBzZXQtY29sb3VyLXBhbGxldGUtdG9uZXMoJGNvbG91ci1uYW1lLCAkY29sb3Vycykge1xyXG4gICAgLy8gQ2hlY2sgaWYgdmFyaWFibGUgZXhpc3QuXHJcbiAgICBAaWYgbm90ICh2YXJpYWJsZS1leGlzdHMoJGNvbG91ci1uYW1lKSkge1xyXG4gICAgICAgIEBkZWJ1ZyBcIkNvbG91ciBtYXAgXCIgI3skY29sb3VyLW5hbWV9IFwiIGRvZXNuJ3QgZXhpc3QgZm9yIHNpdGUgI3skc2l0ZX1cIjtcclxuICAgIH1cclxuICAgIEBlYWNoICRsaWdodG5lc3MsICRjb2xvdXIgaW4gJGNvbG91cnMge1xyXG4gICAgICAgIC0tI3skY29sb3VyLW5hbWV9LWxpZ2h0bmVzcy0jeyRsaWdodG5lc3N9OiAjeyRjb2xvdXJ9O1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyBNZWdhIG1lbnUgcGFyZW50IGxldmVsIDIgc3R5bGVzLlxyXG5AbWl4aW4gbWVnYS1tZW51LWxldmVsLTItYW5jaG9yKCRwYXJlbnQtY29sb3VyKSB7XHJcbiAgICA+IGEge1xyXG4gICAgICAgIEBpZiAoc21hbGwtdmFsdWUoJG1lZ2EtbWVudS1wYXJlbnQtcGFkZGluZykgIT0gJGdsb2JhbC1tZW51LWl0ZW0tcGFkZGluZykge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBzbWFsbC12YWx1ZSgkbWVnYS1tZW51LXBhcmVudC1wYWRkaW5nKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29sb3I6ICRwYXJlbnQtY29sb3VyO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoc21hbGwtdmFsdWUoJG1lZ2EtbWVudS1wYXJlbnQtc2l6ZSkpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBzbWFsbC12YWx1ZSgkbWVnYS1tZW51LXBhcmVudC1mb250LXdlaWdodCk7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRtZWdhLW1lbnUtcGFyZW50LWxpbmUtaGVpZ2h0O1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiAkbWVnYS1tZW51LXBhcmVudC10ZXh0LXRyYW5zZm9ybTtcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgQGlmICgkbWVnYS1tZW51LXBhcmVudC10ZXh0LWRlY29yYXRpb24taG92ZXIgIT0gXCJub25lXCIpIHtcclxuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogJG1lZ2EtbWVudS1wYXJlbnQtdGV4dC1kZWNvcmF0aW9uLWhvdmVyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogbGFyZ2UtdmFsdWUoJG1lZ2EtbWVudS1wYXJlbnQtcGFkZGluZyk7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMobGFyZ2UtdmFsdWUoJG1lZ2EtbWVudS1wYXJlbnQtc2l6ZSkpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogbGFyZ2UtdmFsdWUoJG1lZ2EtbWVudS1wYXJlbnQtZm9udC13ZWlnaHQpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gTWVnYSBtZW51IHJvb3QgcGFyZW50IGRyb3Bkb3duIGFycm93cy5cclxuQG1peGluIG1lZ2UtbWVudS1yb290LWRyb3Bkb3duLWFycm93KCRkZWZhdWx0LWNvbG91ciwgJGhvdmVyLWNvbG91cikge1xyXG4gICAgJjpob3ZlciA+IGEge1xyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBtZW51LW9wZW4pO1xyXG4gICAgICAgICAgICBjb2xvcjogJGhvdmVyLWNvbG91cjtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICA+IGEge1xyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBtZW51LWNsb3NlKTtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICAvLyBPdmVycmlkaW5nIGZvdW5kYXRpb24gc3R5bGVzLlxyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIHRvcDogYXV0bztcclxuICAgICAgICAgICAgcmlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgIG1hcmdpbjogYXV0byAwIGF1dG8gNHB4O1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogY3VzdG9tLWljb24tZmFtaWx5KCRmb250QXdlc29tZVNvbGlkLCAkc2l0ZS1pY29ucy1jdXN0b20tY2hldnJvbnMpO1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICRtZW51LWRyb3Bkb3duLWFycm93cy1zaXplO1xyXG4gICAgICAgICAgICBjb2xvcjogJGRlZmF1bHQtY29sb3VyO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gVG9vbHRvcCBjb250ZW50IGNvbnRhaW5lciBwb3NpdGlvbmluZywgdGhpcyBnZXRzIGNhbGxlZCBpZiB0aGUgY29udGVudCBnZXRzIHdyYXBwZWQgaW4gYWRkaXRpb25hbCBjb250YWluZXIocylcclxuQG1peGluIHRvb2x0aXAtY29udGVudC1wb3NpdGlvbmluZygpIHtcclxuICAgIHdpZHRoOiAkdG9vbHRpcC1jb250ZW50LWNvbnRhaW5lci13aWR0aDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMTAwJTtcclxuICAgIHotaW5kZXg6IDEwO1xyXG59XHJcblxyXG4vLyBWaWRlbyBwbGF5IGljb24gb3ZlcmxheS5cclxuQG1peGluIHZpZGVvLXBsYXktaWNvbi1vdmVybGF5KCkge1xyXG4gICAgJjphZnRlciB7XHJcbiAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgdmlkZW8tcGxheWVyLXRodW1ibmFpbC1pY29uKTtcclxuICAgICAgICB3aWR0aDogNDBweDtcclxuICAgICAgICBoZWlnaHQ6IDQwcHg7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICByaWdodDogMDtcclxuICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgLy8gQWRkIHNsaWdodCBzaGltIGR1ZSB0byBmbGV4Ym94IG5vdCBqdXN0aWZ5aW5nIHBlcmZlY3RseSBjZW50ZXIuXHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAycHg7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICAgICAgY29sb3I6IHZhcigje2RlZmF1bHQtY29sb3VyKCR2aWRlby1wbGF5ZXItdGh1bWJuYWlsLWljb24tY29sb3VyKX0pO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigje2RlZmF1bHQtY29sb3VyKCR2aWRlby1wbGF5ZXItdGh1bWJuYWlsLWljb24tYmFja2dyb3VuZCl9KTs7XHJcbiAgICAgICAgYm9yZGVyOiAjeyR2aWRlby1wbGF5ZXItdGh1bWJuYWlsLWljb24tYm9yZGVyLXdpZHRofSBzb2xpZCB2YXIoI3tkZWZhdWx0LWNvbG91cigkdmlkZW8tcGxheWVyLXRodW1ibmFpbC1pY29uLWNvbG91cil9KTtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA0MHB4O1xyXG4gICAgICAgIGJveC1zaGFkb3c6ICRib3hTaGFkb3cyO1xyXG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm8sIGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25PdXRybywgYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIFZpZGVvIHJlcGxheSBpY29uIG92ZXJsYXksIHRoaXMgd2FzIGltcGxlbWVudGVkIGFmdGVyIHRoZSB2aWRlby1wbGF5LWljb24gcnVsZXMsIGluIGhpbmRzaWdodCB0aGlzIGNvdWxkIGJlIG1ha2UgbW9yZSBtb2R1bGFyLlxyXG5AbWl4aW4gdmlkZW8tcmVwbGF5LWljb24tb3ZlcmxheSgpIHtcclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHZpZGVvLXBsYXllci1yZXBsYXktdGh1bWJuYWlsLWljb24pO1xyXG4gICAgICAgIHdpZHRoOiA0MHB4O1xyXG4gICAgICAgIGhlaWdodDogNDBweDtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgICAgICBjb2xvcjogdmFyKCN7ZGVmYXVsdC1jb2xvdXIoJHZpZGVvLXBsYXllci10aHVtYm5haWwtaWNvbi1jb2xvdXIpfSk7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKCN7ZGVmYXVsdC1jb2xvdXIoJHZpZGVvLXBsYXllci10aHVtYm5haWwtaWNvbi1iYWNrZ3JvdW5kKX0pOztcclxuICAgICAgICBib3JkZXI6ICN7JHZpZGVvLXBsYXllci10aHVtYm5haWwtaWNvbi1ib3JkZXItd2lkdGh9IHNvbGlkIHZhcigje2RlZmF1bHQtY29sb3VyKCR2aWRlby1wbGF5ZXItdGh1bWJuYWlsLWljb24tY29sb3VyKX0pO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDQwcHg7XHJcbiAgICAgICAgYm94LXNoYWRvdzogJGJveFNoYWRvdzI7XHJcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybywgYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbk91dHJvLCBib3JkZXItY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgIH1cclxufVxyXG5cclxuXHJcbkBtaXhpbiBmb250LWZhbGxiYWNrKCRuYW1lLCAkZmFsbGJhY2ssICRtZXRyaWNzKSB7XHJcbiAgICBAZm9udC1mYWNlIHtcclxuICAgICAgICBmb250LWZhbWlseTogJyN7JG5hbWV9IEZhbGxiYWNrJztcclxuICAgICAgICBzcmM6IGxvY2FsKCcjeyRmYWxsYmFja30nKTtcclxuICAgICAgICBzaXplLWFkanVzdDogbWFwLWdldCgkbWV0cmljcywgc2l6ZS1hZGp1c3QpO1xyXG4gICAgICAgIGFzY2VudC1vdmVycmlkZTogbWFwLWdldCgkbWV0cmljcywgYXNjZW50LW92ZXJyaWRlKTtcclxuICAgICAgICBkZXNjZW50LW92ZXJyaWRlOiBtYXAtZ2V0KCRtZXRyaWNzLCBkZXNjZW50LW92ZXJyaWRlKTtcclxuICAgICAgICBsaW5lLWdhcC1vdmVycmlkZTogbWFwLWdldCgkbWV0cmljcywgbGluZS1nYXAtb3ZlcnJpZGUpO1xyXG4gICAgfVxyXG59IiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdtYXRoJztcblxuJHVuaXQtd2FybmluZ3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbiRnbG9iYWwtZm9udC1zaXplOiAxMDAlICFkZWZhdWx0O1xuXG4vLy8gUmVtb3ZlcyB0aGUgdW5pdCAoZS5nLiBweCwgZW0sIHJlbSkgZnJvbSBhIHZhbHVlLCByZXR1cm5pbmcgdGhlIG51bWJlciBvbmx5LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRudW0gLSBOdW1iZXIgdG8gc3RyaXAgdW5pdCBmcm9tLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIHNhbWUgbnVtYmVyLCBzYW5zIHVuaXQuXG5AZnVuY3Rpb24gc3RyaXAtdW5pdCgkbnVtKSB7XG4gIEByZXR1cm4gZGl2aWRlKCRudW0sICRudW0gKiAwICsgMSk7XG59XG5cbi8vLyBDb252ZXJ0cyBvbmUgb3IgbW9yZSBwaXhlbCB2YWx1ZXMgaW50byBtYXRjaGluZyByZW0gdmFsdWVzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJHZhbHVlcyAtIE9uZSBvciBtb3JlIHZhbHVlcyB0byBjb252ZXJ0LiBCZSBzdXJlIHRvIHNlcGFyYXRlIHRoZW0gd2l0aCBzcGFjZXMgYW5kIG5vdCBjb21tYXMuIElmIHlvdSBuZWVkIHRvIGNvbnZlcnQgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdCwgd3JhcCB0aGUgbGlzdCBpbiBwYXJlbnRoZXNlcy5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgW251bGxdIC0gVGhlIGJhc2UgdmFsdWUgdG8gdXNlIHdoZW4gY2FsY3VsYXRpbmcgdGhlIGByZW1gLiBJZiB5b3UncmUgdXNpbmcgRm91bmRhdGlvbiBvdXQgb2YgdGhlIGJveCwgdGhpcyBpcyAxNnB4LiBJZiB0aGlzIHBhcmFtZXRlciBpcyBgbnVsbGAsIHRoZSBmdW5jdGlvbiB3aWxsIHJlZmVyZW5jZSB0aGUgYCRnbG9iYWwtZm9udC1zaXplYCB2YXJpYWJsZSBhcyB0aGUgYmFzZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtMaXN0fSBBIGxpc3Qgb2YgY29udmVydGVkIHZhbHVlcy5cbkBmdW5jdGlvbiByZW0tY2FsYygkdmFsdWVzLCAkYmFzZTogbnVsbCkge1xuICAkcmVtLXZhbHVlczogKCk7XG4gICRjb3VudDogbGVuZ3RoKCR2YWx1ZXMpO1xuXG4gIC8vIElmIG5vIGJhc2UgaXMgZGVmaW5lZCwgZGVmZXIgdG8gdGhlIGdsb2JhbCBmb250IHNpemVcbiAgQGlmICRiYXNlID09IG51bGwge1xuICAgICRiYXNlOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgfVxuXG4gIC8vIElmIHRoZSBiYXNlIGZvbnQgc2l6ZSBpcyBhICUsIHRoZW4gbXVsdGlwbHkgaXQgYnkgMTZweFxuICAvLyBUaGlzIGlzIGJlY2F1c2UgMTAwJSBmb250IHNpemUgPSAxNnB4IGluIG1vc3QgYWxsIGJyb3dzZXJzXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnJScge1xuICAgICRiYXNlOiBkaXZpZGUoJGJhc2UsIDEwMCUpICogMTZweDtcbiAgfVxuXG4gIC8vIFVzaW5nIHJlbSBhcyBiYXNlIGFsbG93cyBjb3JyZWN0IHNjYWxpbmdcbiAgQGlmIHVuaXQoJGJhc2UpID09ICdyZW0nIHtcbiAgICAkYmFzZTogc3RyaXAtdW5pdCgkYmFzZSkgKiAxNnB4O1xuICB9XG5cbiAgQGlmICRjb3VudCA9PSAxIHtcbiAgICBAcmV0dXJuIC16Zi10by1yZW0oJHZhbHVlcywgJGJhc2UpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkY291bnQge1xuICAgICRyZW0tdmFsdWVzOiBhcHBlbmQoJHJlbS12YWx1ZXMsIC16Zi10by1yZW0obnRoKCR2YWx1ZXMsICRpKSwgJGJhc2UpKTtcbiAgfVxuXG4gIEByZXR1cm4gJHJlbS12YWx1ZXM7XG59XG5cbi8vIENvbnZlcnRzIGEgdW5pdGxlc3MsIHBpeGVsLCBvciByZW0gdmFsdWUgdG8gZW0sIGZvciB1c2UgaW4gYnJlYWtwb2ludHMuXG5AZnVuY3Rpb24gLXpmLWJwLXRvLWVtKCR2YWx1ZSkge1xuICAvLyBQaXhlbCBhbmQgdW5pdGxlc3MgdmFsdWVzIGFyZSBjb252ZXJ0ZWQgdG8gcmVtc1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICdweCcgb3IgdW5pdGxlc3MoJHZhbHVlKSB7XG4gICAgJHZhbHVlOiByZW0tY2FsYygkdmFsdWUsICRiYXNlOiAxNnB4KTtcbiAgfVxuXG4gIC8vIFRoZW4gdGhlIHZhbHVlIGlzIGNvbnZlcnRlZCB0byBlbXNcbiAgQHJldHVybiBzdHJpcC11bml0KCR2YWx1ZSkgKiAxZW07XG59XG5cbi8vLyBDb252ZXJ0cyBhIHBpeGVsIHZhbHVlIHRvIG1hdGNoaW5nIHJlbSB2YWx1ZS4gKkFueSogdmFsdWUgcGFzc2VkLCByZWdhcmRsZXNzIG9mIHVuaXQsIGlzIGFzc3VtZWQgdG8gYmUgYSBwaXhlbCB2YWx1ZS4gQnkgZGVmYXVsdCwgdGhlIGJhc2UgcGl4ZWwgdmFsdWUgdXNlZCB0byBjYWxjdWxhdGUgdGhlIHJlbSB2YWx1ZSBpcyB0YWtlbiBmcm9tIHRoZSBgJGdsb2JhbC1mb250LXNpemVgIHZhcmlhYmxlLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFBpeGVsIHZhbHVlIHRvIGNvbnZlcnQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIFtudWxsXSAtIEJhc2UgZm9yIHBpeGVsIGNvbnZlcnNpb24uXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBBIG51bWJlciBpbiByZW1zLCBjYWxjdWxhdGVkIGJhc2VkIG9uIHRoZSBnaXZlbiB2YWx1ZSBhbmQgdGhlIGJhc2UgcGl4ZWwgdmFsdWUuIHJlbSB2YWx1ZXMgYXJlIHBhc3NlZCB0aHJvdWdoIGFzIGlzLlxuQGZ1bmN0aW9uIC16Zi10by1yZW0oJHZhbHVlLCAkYmFzZTogbnVsbCkge1xuICAvLyBDaGVjayBpZiB0aGUgdmFsdWUgaXMgYSBudW1iZXJcbiAgQGlmIHR5cGUtb2YoJHZhbHVlKSAhPSAnbnVtYmVyJyB7XG4gICAgQGlmICR1bml0LXdhcm5pbmdzIHtcbiAgICAgIEB3YXJuIGluc3BlY3QoJHZhbHVlKSArICcgd2FzIHBhc3NlZCB0byByZW0tY2FsYygpLCB3aGljaCBpcyBub3QgYSBudW1iZXIuJztcbiAgICB9XG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH1cblxuICAvLyBUcmFuc2Zvcm0gZW0gaW50byByZW0gaWYgc29tZW9uZSBoYW5kcyBvdmVyICdlbSdzXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ2VtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgKiAxcmVtO1xuICB9XG5cbiAgLy8gQ2FsY3VsYXRlIHJlbSBpZiB1bml0cyBmb3IgJHZhbHVlIGlzIG5vdCByZW0gb3IgZW1cbiAgQGlmIHVuaXQoJHZhbHVlKSAhPSAncmVtJyB7XG4gICAgJHZhbHVlOiBkaXZpZGUoc3RyaXAtdW5pdCgkdmFsdWUpLCBzdHJpcC11bml0KCRiYXNlKSkgKiAxcmVtO1xuICB9XG5cbiAgLy8gVHVybiAwcmVtIGludG8gMFxuICBAaWYgJHZhbHVlID09IDByZW0ge1xuICAgICR2YWx1ZTogMDtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuXG4vLy8gQ29udmVydHMgYSBwaXhlbCwgcGVyY2VudGFnZSwgcmVtIG9yIGVtIHZhbHVlIHRvIGEgdW5pdGxlc3MgdmFsdWUgYmFzZWQgb24gYSBnaXZlbiBmb250IHNpemUuIElkZWFsIGZvciB3b3JraW5nIG91dCB1bml0bGVzcyBsaW5lIGhlaWdodHMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlIC0gVmFsdWUgdG8gY29udmVydCB0byBhIHVuaXRsZXNzIGxpbmUgaGVpZ2h0XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIC0gVGhlIGZvbnQgc2l6ZSB0byB1c2UgdG8gd29yayBvdXQgdGhlIGxpbmUgaGVpZ2h0IC0gZGVmYXVsdHMgdG8gJGdsb2JhbC1mb250LXNpemVcbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn0gLSBVbml0bGVzcyBudW1iZXJcbkBmdW5jdGlvbiB1bml0bGVzcy1jYWxjKCR2YWx1ZSwgJGJhc2U6IG51bGwpIHtcblxuICAvLyBJZiBubyBiYXNlIGlzIGRlZmluZWQsIGRlZmVyIHRvIHRoZSBnbG9iYWwgZm9udCBzaXplXG4gIEBpZiAkYmFzZSA9PSBudWxsIHtcbiAgICAkYmFzZTogJGdsb2JhbC1mb250LXNpemU7XG4gIH1cblxuICAvLyBGaXJzdCwgbGV0cyBjb252ZXJ0IG91ciAkYmFzZSB0byBwaXhlbHNcblxuICAvLyBJZiB0aGUgYmFzZSBmb250IHNpemUgaXMgYSAlLCB0aGVuIG11bHRpcGx5IGl0IGJ5IDE2cHhcbiAgQGlmIHVuaXQoJGJhc2UpID09ICclJyB7XG4gICAgJGJhc2U6IGRpdmlkZSgkYmFzZSwgMTAwJSkgKiAxNnB4O1xuICB9XG5cbiAgQGlmIHVuaXQoJGJhc2UpID09ICdyZW0nIHtcbiAgICAkYmFzZTogc3RyaXAtdW5pdCgkYmFzZSkgKiAxNnB4O1xuICB9XG5cbiAgQGlmIHVuaXQoJGJhc2UpID09ICdlbScge1xuICAgICRiYXNlOiBzdHJpcC11bml0KCRiYXNlKSAqIDE2cHg7XG4gIH1cblxuICAvLyBOb3cgbGV0J3MgY29udmVydCBvdXIgdmFsdWUgdG8gcGl4ZWxzIHRvb1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICclJyB7XG4gICAgJHZhbHVlOiBkaXZpZGUoJHZhbHVlLCAxMDAlKSAqICRiYXNlO1xuICB9XG5cbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncmVtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgKiAkYmFzZTtcbiAgfVxuXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ2VtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgKiAkYmFzZTtcbiAgfVxuXG4gIC8vICdweCdcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncHgnIHtcbiAgICBAcmV0dXJuIGRpdmlkZShzdHJpcC11bml0KCR2YWx1ZSksIHN0cmlwLXVuaXQoJGJhc2UpKTtcbiAgfVxuXG4gIC8vIGFzc3VtZSB0aGF0IGxpbmUtaGVpZ2h0cyBncmVhdGVyIHRoYW4gMTAgYXJlIG1lYW50IHRvIGJlIGFic29sdXRlIGluICdweCdcbiAgQGlmIHVuaXRsZXNzKCR2YWx1ZSkgYW5kICgkdmFsdWUgPiAxMCkge1xuICAgIEByZXR1cm4gZGl2aWRlKCR2YWx1ZSwgc3RyaXAtdW5pdCgkYmFzZSkpO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG4iLCIvKipcbiAqIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4gKiBWZXJzaW9uIDYuNy41XG4gKiBodHRwczovL2dldC5mb3VuZGF0aW9uXG4gKiBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcbiAqL1xuXG4vLyAtLS0gRGVwZW5kZW5jaWVzIC0tLVxuQGltcG9ydCAndmVuZG9yL25vcm1hbGl6ZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2hlbHBlcnMvbWlzc2luZy1kZXBlbmRlbmNpZXMnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL3RydWUnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvY29udGFpbic7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9wdXJnZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9yZW1vdmUnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvcmVwbGFjZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy90by1saXN0JztcblxuLy8gLS0tIFNldHRpbmdzIC0tLVxuLy8gaW1wb3J0IHlvdXIgb3duIGBzZXR0aW5nc2AgaGVyZSBvclxuLy8gaW1wb3J0IGFuZCBtb2RpZnkgdGhlIGRlZmF1bHQgc2V0dGluZ3MgdGhyb3VnaFxuLy8gQGltcG9ydCAnc2V0dGluZ3Mvc2V0dGluZ3MnO1xuXG4vLyAtLS0gQ29tcG9uZW50cyAtLS1cbi8vIFV0aWxpdGllc1xuQGltcG9ydCAndXRpbC91dGlsJztcbi8vIEdsb2JhbCBzdHlsZXNcbkBpbXBvcnQgJ2dsb2JhbCc7XG5AaW1wb3J0ICdmb3Jtcy9mb3Jtcyc7XG5AaW1wb3J0ICd0eXBvZ3JhcGh5L3R5cG9ncmFwaHknO1xuXG4vLyBHcmlkc1xuQGltcG9ydCAnZ3JpZC9ncmlkJztcbkBpbXBvcnQgJ3h5LWdyaWQveHktZ3JpZCc7XG4vLyBHZW5lcmljIGNvbXBvbmVudHNcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uLWdyb3VwJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2xvc2UtYnV0dG9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbGFiZWwnO1xuQGltcG9ydCAnY29tcG9uZW50cy9wcm9ncmVzcy1iYXInO1xuQGltcG9ydCAnY29tcG9uZW50cy9zbGlkZXInO1xuQGltcG9ydCAnY29tcG9uZW50cy9zd2l0Y2gnO1xuQGltcG9ydCAnY29tcG9uZW50cy90YWJsZSc7XG4vLyBCYXNpYyBjb21wb25lbnRzXG5AaW1wb3J0ICdjb21wb25lbnRzL2JhZGdlJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnJlYWRjcnVtYnMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jYWxsb3V0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2FyZCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Ryb3Bkb3duJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcGFnaW5hdGlvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Rvb2x0aXAnO1xuXG4vLyBDb250YWluZXJzXG5AaW1wb3J0ICdjb21wb25lbnRzL2FjY29yZGlvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL21lZGlhLW9iamVjdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL29yYml0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcmVzcG9uc2l2ZS1lbWJlZCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RhYnMnO1xuQGltcG9ydCAnY29tcG9uZW50cy90aHVtYm5haWwnO1xuLy8gTWVudS1iYXNlZCBjb250YWluZXJzXG5AaW1wb3J0ICdjb21wb25lbnRzL21lbnUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9tZW51LWljb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9hY2NvcmRpb24tbWVudSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2RyaWxsZG93bic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Ryb3Bkb3duLW1lbnUnO1xuXG4vLyBMYXlvdXQgY29tcG9uZW50c1xuQGltcG9ydCAnY29tcG9uZW50cy9vZmYtY2FudmFzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcmV2ZWFsJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc3RpY2t5JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGl0bGUtYmFyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdG9wLWJhcic7XG5cbi8vIEhlbHBlcnNcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmxvYXQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9mbGV4JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdmlzaWJpbGl0eSc7XG5AaW1wb3J0ICdwcm90b3R5cGUvcHJvdG90eXBlJztcblxuXG5AbWl4aW4gZm91bmRhdGlvbi1ldmVyeXRoaW5nKFxuICAkZmxleDogdHJ1ZSxcbiAgJHByb3RvdHlwZTogZmFsc2UsXG4gICR4eS1ncmlkOiAkeHktZ3JpZFxuKSB7XG4gIEBpZiAkZmxleCB7XG4gICAgJGdsb2JhbC1mbGV4Ym94OiB0cnVlICFnbG9iYWw7XG4gIH1cblxuICBAaWYgJHh5LWdyaWQge1xuICAgICR4eS1ncmlkOiB0cnVlICFnbG9iYWw7XG4gIH1cblxuICAvLyBHbG9iYWwgc3R5bGVzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZ2xvYmFsLXN0eWxlcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mb3JtcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10eXBvZ3JhcGh5O1xuXG4gIC8vIEdyaWRzXG4gIEBpZiBub3QgJGZsZXgge1xuICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tZ3JpZDtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGlmICR4eS1ncmlkIHtcbiAgICAgIEBpbmNsdWRlIGZvdW5kYXRpb24teHktZ3JpZC1jbGFzc2VzO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtZ3JpZDtcbiAgICB9XG4gIH1cblxuICAvLyBHZW5lcmljIGNvbXBvbmVudHNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uLWdyb3VwO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWNsb3NlLWJ1dHRvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1sYWJlbDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wcm9ncmVzcy1iYXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc2xpZGVyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXN3aXRjaDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10YWJsZTtcbiAgLy8gQmFzaWMgY29tcG9uZW50c1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJhZGdlO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJyZWFkY3J1bWJzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWNhbGxvdXQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2FyZDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wYWdpbmF0aW9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRvb2x0aXA7XG5cbiAgLy8gQ29udGFpbmVyc1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWFjY29yZGlvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1tZWRpYS1vYmplY3Q7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tb3JiaXQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcmVzcG9uc2l2ZS1lbWJlZDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10YWJzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRodW1ibmFpbDtcbiAgLy8gTWVudS1iYXNlZCBjb250YWluZXJzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51LWljb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJpbGxkb3duLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd24tbWVudTtcblxuICAvLyBMYXlvdXQgY29tcG9uZW50c1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW9mZi1jYW52YXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcmV2ZWFsO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXN0aWNreTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10aXRsZS1iYXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdG9wLWJhcjtcblxuICAvLyBIZWxwZXJzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxvYXQtY2xhc3NlcztcbiAgQGlmICRmbGV4IHsgQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LWNsYXNzZXM7IH1cbiAgQGluY2x1ZGUgZm91bmRhdGlvbi12aXNpYmlsaXR5LWNsYXNzZXM7XG4gIEBpZiAkcHJvdG90eXBlIHsgQGluY2x1ZGUgZm91bmRhdGlvbi1wcm90b3R5cGUtY2xhc3NlczsgfVxufVxuIiwiLy8gLS0tLS0gVGFibGUgU3R5bGVzIC0tLS0tIFxyXG4vLyAtLS0gVGFibGUgSGVhZCAtLS0gXHJcbi50YWJsZS1mb290ZXItc3BhY2VyIHtcclxuICAgICYucHJlc2V0LTEge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IHNtYWxsLXZhbHVlKCR0YWJsZS1mb290ZXItc3BhY2VyLW1hcmdpbi1ib3R0b20tcHJlc2V0LTEpO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogbGFyZ2UtdmFsdWUoJHRhYmxlLWZvb3Rlci1zcGFjZXItbWFyZ2luLWJvdHRvbS1wcmVzZXQtMSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5wcmVzZXQtMiB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogc21hbGwtdmFsdWUoJHRhYmxlLWZvb3Rlci1zcGFjZXItbWFyZ2luLWJvdHRvbS1wcmVzZXQtMik7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBsYXJnZS12YWx1ZSgkdGFibGUtZm9vdGVyLXNwYWNlci1tYXJnaW4tYm90dG9tLXByZXNldC0yKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBociB7XHJcbiAgICAgICAgYm9yZGVyLXRvcDogJGNvbW1vbi1oZWFkaW5nLXJ1bGUtd2VpZ2h0IHNvbGlkICRoZWFkaW5nLXJ1bGUtY29sb3VyO1xyXG4gICAgfVxyXG59XHJcbnRhYmxlIHtcclxuXHJcbiAgICAtLWJvcmRlci1jb2xvdXI6ICN7ZGVmYXVsdC1jb2xvdXIoJHRib2R5LXJvdy1ib3JkZXItY29sb3VyKX07XHJcbiAgICAtLWJvcmRlci1ob3Zlci1jb2xvdXI6ICN7aG92ZXItY29sb3VyKCR0Ym9keS1yb3ctYm9yZGVyLWNvbG91cil9O1xyXG5cclxuICAgIC8vIFNldHRpbmcgaGVpZ2h0IHByb3BlcnR5IHRvIGFsbG93IGZvciA8ZGl2PidzIGluc2lkZSBvZiA8dGQ+J3MgdG8gc3BhbiBmdWxsIGhlaWdodCwgZm9yIG1vcmUgYWJvdXQgdGhpcyBjaGFuZ2UgcGxlYXNlIHNlZSBLYXBlcnN0b25lJ3MgY29tbWVudCBoZXJlIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzMyMTU1NTMvbWFrZS1hLWRpdi1maWxsLWFuLWVudGlyZS10YWJsZS1jZWxsXHJcbiAgICBoZWlnaHQ6IGZpdC1jb250ZW50O1xyXG4gICAgLy8gT3ZlcnJpZGUgZm91bmRhdGlvbiwgd2hlbiBzZXR0aW5nIHNtb290aC1lZGdlcyB0aGUgJGdsb2JhbC1yYWRpdXMgdmFsdWUgZ2V0cyBzZXQgdGhpcyBjcmVhdGUgYSB3ZWlyZCBlZmZlY3QgaW4gbW9kdWxlIGNhdXNpbmcgdGhlIHRkJ3MgYm9yZGVyIHRvIG92ZXJmbG93IHRoZSByYWRpdXMuXHJcbiAgICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XHJcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWJvcmRlci1jb2xvdXIpO1xyXG4gICAgJi5zdHJpcGVkIHtcclxuICAgICAgICB0ciB7IFxyXG4gICAgICAgICAgICBwYWRkaW5nOiAyNXB4O1xyXG4gICAgICAgICAgICAvLyBFbnN1cmUgYmFja2dyb3VuZC1jb2xvciBnZXRzIHJlbmRlcmVkIGluIHByaW50IG1vZGUuXHJcbiAgICAgICAgICAgIC8vIHByaW50LWNvbG9yLWFkanVzdDogZXhhY3Q7IFxyXG4gICAgICAgICAgICAvLyAtd2Via2l0LXByaW50LWNvbG9yLWFkanVzdDogZXhhY3Q7IFxyXG4gICAgICAgICAgICAvLyBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgICAgICAvLyAmOm5vdCg6bGFzdC1jaGlsZCkge1xyXG4gICAgICAgICAgICAgICAgLy8gICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICAgICAgICAgICAgICAvLyB9XHJcbiAgICAgICAgICAgICAgICAvLyBTdXBwcmVzc2luZyBmb3IgY2FsbCBwb3J0YWwgZGVzaWduLlxyXG4gICAgICAgICAgICAgICAgLy8gYmFja2dyb3VuZC1jb2xvcjogJHRib2R5LXN0cmlwZWQtcm93LWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgICAgICAgICAvLyB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIEFkZCBydWxlcyB0byB0aGUgYm90dG9tIG9mIGVhY2ggcm93LlxyXG4gICAgJi5zaG93LWJvcmRlci1ib3R0b20ge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgdHIge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206ICN7KCR0YWJsZS1yb3ctYm90dG9tLXNwYWNpbmcgKiAyKX07XHJcbiAgICAgICAgICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3VyKTtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1ib3JkZXItaG92ZXItY29sb3VyKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIFNob3cgYm9yZGVycyBhcm91bmQgZW50aXJlIHRhYmxlICYgY2VsbHMuXHJcbiAgICAmLnNob3ctYm9yZGVycyB7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLWNvbG91cik7XHJcbiAgICAgICAgdGgsIHRkIHtcclxuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLWNvbG91cik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIFNob3cgb25seSBpbnRlcm5hbCBib3JkZXJzLlxyXG4gICAgJi5zaG93LWludGVybmFsLWJvcmRlcnMge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgdHIge1xyXG4gICAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGgsIHRkIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoLCB0ZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIHRoLCB0ZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIEJhc2ljYWxseSB0cmVhdCB0aGUgZmlyc3QgY29sdW1uIGxpa2UgYSB2ZXJ0aWNhbCB0aGVhZC5cclxuICAgICYuaGlnaGxpZ2h0LWZpcnN0LWNvbHVtbiB7XHJcbiAgICAgICAgdHIge1xyXG4gICAgICAgICAgICB0ZCB7XHJcbiAgICAgICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkdGhlYWQtcHJlc2V0LTEsIGNvbG9yKTtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKG1hcC1nZXQoJHRoZWFkLXByZXNldC0xLCBmb250LXNpemUpKTtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogbWFwLWdldCgkdGhlYWQtcHJlc2V0LTEsIGZvbnQtd2VpZ2h0KTtcclxuICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJHRoZWFkLXRoLWNvbW1vbi1mb250LWZhbWlseTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBHZW5lcmFsIHN0eWxlcyB1c2VkIGFjcm9zcyB0aGUgc2l0ZS5cclxuICAgICYucHJlc2V0LTEge1xyXG4gICAgICAgIG1hcmdpbjogc21hbGwtdmFsdWUoJHRhYmxlLXByZXNldC0xLW1hcmdpbik7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXJnaW46IGxhcmdlLXZhbHVlKCR0YWJsZS1wcmVzZXQtMS1tYXJnaW4pO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0ZCwgdGgge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYucm93LXNwYWNpbmcge1xyXG4gICAgICAgICAgICB0Ym9keSB7XHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46ICN7KCR0Ym9keS1tYXJnaW4gLSAoc3BhY2luZy12YWx1ZSgkdGJvZHktcm93LWJvcmRlci1zcGFjaW5nLCAyKSAqIDIpKX07XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgXHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRib2R5IHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgdGFibGUtaGVhZGVyLWJvZHktbWFyZ2luKCk7XHJcbiAgICAgICAgICAgIHRyIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDVweDtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB0ZCB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA1cHggMCAwO1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMobWFwLWdldCgkdGhlYWQtcHJlc2V0LTEsIGZvbnQtc2l6ZSkpO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDdweCBzcGFjaW5nLXZhbHVlKCR0aGVhZC1wcmVzZXQtMSwgMiwgcGFkZGluZyk7IFxyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICYuaW1hZ2UtY29sIHtcclxuICAgICAgICAgICAgICAgICAgICAtLW1lZGlhLWFzcGVjdC1yYXRpbzogI3skcHJvZHVjdC1pbWFnZS1hc3BlY3QtcmF0aW99O1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgICAgICAgICAuaW1hZ2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvdXIzLTU7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgJjpub3QoW2NsYXNzKj1cIi1idXR0b25cIl0pIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkdGJvZHktYW5jaG9yLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkdGJvZHktYW5jaG9yLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCR0Ym9keS1hbmNob3ItY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJHRib2R5LWFuY2hvci1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjpub3QoLnBkZi1kb3dubG9hZCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkdGJvZHktYW5jaG9yLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBVc2VkIHByaW1hcmlseSBpbiB0aGUgYmFza2V0LlxyXG4gICAgJi5wcmVzZXQtMiB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXJnaW46IDQ1cHggMCA0MHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICB0Ym9keSB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46ICR0Ym9keS1tYXJnaW47XHJcbiAgICAgICAgICAgIH0gXHJcbiAgICAgICAgfVxyXG4gICAgfSBcclxuICAgIC8vIFVzZWQgcHJpbWFyeSBpbiB0aGUgYWNjb3VudCBhcmVhLlxyXG4gICAgJi5wcmVzZXQtMyB7XHJcbiAgICAgICAgdGQsIHRoIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMCAwIDEwcHg7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDFweCBzcGFjaW5nLXZhbHVlKG1hcC1nZXQoJHRoZWFkLXByZXNldC0xLCBwYWRkaW5nKSwgMik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5yb3ctYWRkaXRpb25hbC1wYWRkaW5nIHtcclxuICAgICAgICAgICAgdGQge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRib2R5IHtcclxuICAgICAgICAgICAgLy8gRG9uJ3QgbmVlZCB0byBkbyB0aGlzIGZvcm0gbW9iaWxlIGR1ZSB0byByZXNwb25zZS10YWJsZSBjbGFzcy5cclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogJHRib2R5LW1hcmdpbjtcclxuICAgICAgICAgICAgICAgIH0gXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdHIge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTBweCAyMHB4O1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGQsIHRoIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRkIHtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICR0Ym9keS1hbmNob3ItZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCR0Ym9keS1hbmNob3ItZm9udC1zaXplKTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCR0Ym9keS1hbmNob3ItY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCR0Ym9keS1hbmNob3ItY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJHRib2R5LWFuY2hvci1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBCZWNhdXNlIHRoZXJlIGlzIG5vIG90aGVyIGVhc3kgd2F5IHRvIGFkZCBhIG1hcmdpbiBiZXR3ZWVuIHRoZSB0YWJsZSByb3dzIHdpdGggb3V0IGFkZGluZyBtYXJrdXAuXHJcbiAgICAmLnJvdy1zcGFjaW5nIHtcclxuICAgICAgICAvLyBPdmVycmlkaW5nIGZvdW5kYXRpb24ncyBzdHlsZXMuXHJcbiAgICAgICAgYm9yZGVyLWNvbGxhcHNlOiBzZXBhcmF0ZSAhaW1wb3J0YW50O1xyXG4gICAgICAgIGJvcmRlci1zcGFjaW5nOiAkdGJvZHktcm93LWJvcmRlci1zcGFjaW5nO1xyXG4gICAgICAgICY6aGFzKC5yb3ctaW5wdXQtdG9nZ2xlKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICR0YWJsZS1yb3ctdG9nZ2xlLWJvcmRlci13aWR0aDtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkdGFibGUtcm93LXRvZ2dsZS1ib3JkZXItd2lkdGg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGJvZHkge1xyXG4gICAgICAgIHNwYW4uY29sLWxhYmVsIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRkZWZhdWx0LWxhYmVsLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBTdXBwcmVzc2luZyBhcyB0aGlzIHdhcyBjYXVzaW5nIGFsaWdubWVudCBpc3N1ZXMgZm9yIHVwbG9hZCBjc3YgdGFibGUgIzc2NzIzOS5cclxuICAgICAgICAvLyB0ZCB7XHJcbiAgICAgICAgLy8gICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcclxuICAgICAgICAvLyAgICAgPiBzcGFuIHtcclxuICAgICAgICAvLyAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcclxuICAgICAgICAvLyAgICAgfVxyXG4gICAgICAgIC8vIH1cclxuICAgIH1cclxuICAgIC8vIElmIG5vIGltYWdlIGFsaWduIGFsbCB0ZXh0IGJhc2VsaW5lLlxyXG4gICAgdGQge1xyXG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcclxuICAgIH1cclxuICAgIC8vIEVsc2UgdmVydGljYWwgYWxpZ24gY2VudGVyIG90aGVyd2lzZSBtdWx0aS1saW5lIHRleHQgd2lsbCBiZSBwaW5uZWQgdG8gdGhlIGJvdHRvbSBvZiB0aGUgcm93LlxyXG4gICAgJjpoYXModGRbY2xhc3MqPVwiaW1hZ2UtY29sXCJdKSB7XHJcbiAgICAgICAgdGQge1xyXG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgIH1cclxuICAgIHRkLm5vLXBkZi1kb3dubG9hZCB7XHJcbiAgICAgICAgc3Bhbi50ZXh0LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogKCRwZGYtdGFibGUtYW5jaG9yLW1hcmdpbiArICgkZmlsZS1pY29ucy1zaXplIC8gMS4zKSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBhLnBkZi1kb3dubG9hZCB7XHJcbiAgICAgICAgXHJcbiAgICB9XHJcbiAgICBidXR0b24ge1xyXG4gICAgICAgIC8vIEZvciBtb2JpbGUgdmlldyBzbyBidXR0b25zIGRvbid0IGFwcGVhciBvbiBhIG5ldyBsaW5lLlxyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIH1cclxuICAgIFxyXG4gICAgdHIge1xyXG4gICAgICAgIC8vIFN1Y2Nlc3NcclxuICAgICAgICAmLnN1Y2Nlc3Mge1xyXG4gICAgICAgICAgICAubm90aWZpY2F0aW9uLWluZGljYXRvci1jb250YWluZXI6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJHN1Y2Nlc3MtY29sb3VyLCAwKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAubm90aWZpY2F0aW9uLWNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkc3VjY2Vzcy1jb2xvdXIsIDApO1xyXG4gICAgICAgICAgICAgICAgLm5vdGlmaWNhdGlvbi1jb250ZW50IHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkc3VjY2Vzcy1jb2xvdXIsIDApO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIFdhcm5pbmcuXHJcbiAgICAgICAgJi53YXJuaW5nIHtcclxuICAgICAgICAgICAgLm5vdGlmaWNhdGlvbi1pbmRpY2F0b3ItY29udGFpbmVyOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCR3YXJuaW5nLWNvbG91ciwgMCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLm5vdGlmaWNhdGlvbi1jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJHdhcm5pbmctY29sb3VyLCAwKTtcclxuICAgICAgICAgICAgICAgIC5ub3RpZmljYXRpb24tY29udGVudCB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJHdhcm5pbmctY29sb3VyLCAwKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBBbGVydFxyXG4gICAgICAgICYuYWxlcnQge1xyXG4gICAgICAgICAgICAubm90aWZpY2F0aW9uLWluZGljYXRvci1jb250YWluZXI6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLm5vdGlmaWNhdGlvbi1jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMCk7XHJcbiAgICAgICAgICAgICAgICAubm90aWZpY2F0aW9uLWNvbnRlbnQge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDApO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIEVycm9yIHJvdy5cclxuICAgICAgICAmLmVycm9yLXJvdywgJi5lcnJvciB7XHJcbiAgICAgICAgICAgIC8vIEhhdmluZyB0byBvdmVycmlkZSBmb3VuZGF0aW9uJ3Mgc3R5bGVzLlxyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRvbi1wYWdlLW5vdGlmaWNhdGlvbi1iYWNrZ3JvdW5kLCBhbGVydCkgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJG9uLXBhZ2Utbm90aWZpY2F0aW9uLWNvbG91ciwgYWxlcnQpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmICsgdHIuZXJyb3Itcm93LCAmICsgdHIuZXJyb3Ige1xyXG4gICAgICAgICAgICB0ZCB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICRjb2xvdXIxO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIEV4cGlyZWQuXHJcbiAgICAgICAgJi5jYXJkLWV4cGlyZWQsICYuZXhwaXJlZCB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy05KTtcclxuICAgICAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciwgYm94LXNoYWRvdyAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIwO1xyXG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy05KTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IsIGJveC1zaGFkb3cgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0ZCB7XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjU7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICR0cmFuc2l0aW9uT3V0cm87IFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5yZW1vdmUtY29sLCAuZXhwaXJlLWRhdGUtY29sIHtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gSWYgdGhlIHJvdyBjYW4gYmUgdXNlZCB0byBjaGVjayBhIGNoZWNrYm94IG9yIHJhZGlvIGJ1dHRvbi5cclxuICAgICAgICAmLnJvdy1pbnB1dC10b2dnbGUge1xyXG4gICAgICAgICAgICAvLyBIYXZpbmcgdG8gdXNlIGJveC1zaGFkb3cgZHVlIHRvIG5lZWRpbmcgdG8gdXNlIGJvcmRlci1jb2xsYXBzZSAmIGJvcmRlci1zcGFjaW5nIHRvIGdldCBnYXAgYmV0d2VlbiByb3dzLlxyXG4gICAgICAgICAgICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAjeyR0YWJsZS1yb3ctdG9nZ2xlLWJvcmRlci13aWR0aH0gdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTkpO1xyXG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IsIGJveC1zaGFkb3cgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgJjpoYXMoaW5wdXRbdHlwZT0nY2hlY2tib3gnXTpjaGVja2VkLCBpbnB1dFt0eXBlPVwicmFkaW9cIl06Y2hlY2tlZCkge1xyXG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggI3skdGFibGUtcm93LXRvZ2dsZS1ib3JkZXItd2lkdGh9IHZhcigtLXNlY29uZGFyeS1jb2xvdXItbGlnaHRuZXNzLTApO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWNvbG91ci1saWdodG5lc3MtMTApO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciwgYm94LXNoYWRvdyAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggI3skdGFibGUtcm93LXRvZ2dsZS1ib3JkZXItd2lkdGh9IHZhcigtLXNlY29uZGFyeS1jb2xvdXItbGlnaHRuZXNzLTcpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICB0ZCB7XHJcbiAgICAgICAgICAgICAgICAvLyBBbHdheXMgbWFrZSBzdXJlIGNvbnRlbnQgaXMgdmlzaWJsZSBvbiBob3Zlci5cclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICR0cmFuc2l0aW9uSW50cm87IFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnN1Y2Nlc3MtaWNvbiB7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBzdWNjZXNzKTtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkb24tcGFnZS1ub3RpZmljYXRpb24tY29sb3VyLCBzdWNjZXNzKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuZmFpbGVkLWljb24ge1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgYWxlcnQpO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRvbi1wYWdlLW5vdGlmaWNhdGlvbi1jb2xvdXIsIGFsZXJ0KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuZmFpbGVkLXJlYXNvbiB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDMwcHg7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvdXIzLTY7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmZhaWxlZC1pY29uLCAuc3VjY2Vzcy1pY29uIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIC8vIHdpZHRoOiAxNTBweDtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgLy8gbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5vcmRlci10b3RhbC1jb2wsIHRoLmNzdi1pbXBvcnQtY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAyMDBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gLnRleHQtY29udGFpbmVyIHtcclxuICAgICAgICAvLyAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIC8vICAgICAgICAgbWF4LXdpZHRoOiAxODBweDtcclxuICAgICAgICAvLyAgICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgICAgICAvLyAgICAgfVxyXG4gICAgICAgIC8vIH1cclxuICAgIH1cclxuICAgIC5hZGRyZXNzLWJsb2NrIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5yZW1vdmUtYnV0dG9uIHtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGJhc2tldC1yZW1vdmUpO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNhcmRzLXJlbW92ZS1jYXJkLWJ1dHRvbi1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNhcmRzLXJlbW92ZS1jYXJkLWJ1dHRvbi1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNhcmRzLXJlbW92ZS1jYXJkLWJ1dHRvbi1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgIH0gXHJcbiAgICAgICAgfSBcclxuICAgIH1cclxuICAgIC5jYXJkLXR5cGUge1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgcGF5bWVudC1jYXJkKTtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIDEwcHggMCAwO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkY2FyZHMtY2FyZC10eXBlLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmV4cGlyZWQtdGV4dCB7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIG1hcmdpbjogMCAwIDAgNXB4O1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhY2NlbnQtY29sb3VyLTEsIDIpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnRvb2x0aXAtY29udGFpbmVyIHtcclxuICAgICAgICAmLnN0YXRlLWluZGljYXRvciB7XHJcbiAgICAgICAgICAgIC50b29sdGlwLXRyaWdnZXI6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDlweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG50aGVhZCB7XHJcbiAgICAmLnByZXNldC0xIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCR0aGVhZC1wcmVzZXQtMSwgYmFja2dyb3VuZC1jb2xvcik7XHJcbiAgICAgICAgdGgge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBtYXAtZ2V0KCR0aGVhZC1wcmVzZXQtMSwgcGFkZGluZyk7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMobWFwLWdldCgkdGhlYWQtcHJlc2V0LTEsIGZvbnQtc2l6ZSkpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogbWFwLWdldCgkdGhlYWQtcHJlc2V0LTEsIGZvbnQtd2VpZ2h0KTtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJHRoZWFkLXByZXNldC0xLCBjb2xvcik7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG1hcC1nZXQoJHRoZWFkLXByZXNldC0xLCByb3ctYm9yZGVyKTsgXHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IG1hcC1nZXQoJHRoZWFkLXByZXNldC0xLCB0ZXh0LWFsaWduKTsgXHJcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBtYXAtZ2V0KCR0aGVhZC1wcmVzZXQtMSwgdGV4dC10cmFuc2Zvcm0pO1xyXG4gICAgICAgICAgICBidXR0b24ge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyhtYXAtZ2V0KCR0aGVhZC1wcmVzZXQtMSwgZm9udC1zaXplKSk7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogbWFwLWdldCgkdGhlYWQtcHJlc2V0LTEsIGZvbnQtd2VpZ2h0KTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCR0aGVhZC1wcmVzZXQtMSwgY29sb3IpOyBcclxuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBtYXAtZ2V0KCR0aGVhZC1wcmVzZXQtMSwgdGV4dC10cmFuc2Zvcm0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoW2NsYXNzJD1kZXNjcmlwdGlvbi1jb2xdIHtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICB9XHJcbiAgICAgICAgKyB0Ym9keSAuY29sLWxhYmVsIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyhtYXAtZ2V0KCR0aGVhZC1wcmVzZXQtMSwgZm9udC1zaXplKSk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZGVmYXVsdC1sYWJlbC1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJHRoZWFkLXByZXNldC0xLCBjb2xvcik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5wcmVzZXQtMiB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkdGhlYWQtcHJlc2V0LTIsIGJhY2tncm91bmQtY29sb3IpO1xyXG4gICAgICAgIHRoIHtcclxuICAgICAgICAgICAgcGFkZGluZzogbWFwLWdldCgkdGhlYWQtcHJlc2V0LTIsIHBhZGRpbmcpO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKG1hcC1nZXQoJHRoZWFkLXByZXNldC0yLCBmb250LXNpemUpKTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJHRoZWFkLXByZXNldC0yLCBmb250LXdlaWdodCk7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCR0aGVhZC1wcmVzZXQtMiwgY29sb3IpO1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiBtYXAtZ2V0KCR0aGVhZC1wcmVzZXQtMiwgcm93LWJvcmRlcik7IFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHRoIHtcclxuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICR0aGVhZC10aC1jb21tb24tZm9udC1mYW1pbHk7XHJcbiAgICAgICAgQGlmICgkdGhlYWQtdGgtY29tbW9uLWxldHRlci1zcGFjaW5nKSB7XHJcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAkdGhlYWQtdGgtY29tbW9uLWxldHRlci1zcGFjaW5nO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmNvbXBhcmlzb24tdGFibGUtY29udGFpbmVyIC5jb21wYXJpc29uLXRhYmxlLWJ1dHRvbnMge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG4gICAgdWwge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICAgICAgb3ZlcmZsb3cteTogaGlkZGVuO1xyXG4gICAgICAgIG92ZXJmbG93LXg6IGF1dG87XHJcbiAgICAgICAgbGkge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuY29tcGFyaXNvbi10YWJsZS1idXR0b24ge1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICBwYWRkaW5nOiAyMHB4O1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvdXIzLTM7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICYuYWN0aXZlIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyMTtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgIH1cclxufVxyXG5cclxuLmNvbXBhcmlzb24tdGFibGUtY29udGFpbmVyIHtcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG5bY29tcGFyaXNvbi10YWJsZV0ge1xyXG4gICAgLmNvbXBhcmlzb24tdmFsdWVzIHRkK3RkLCB0aCt0aCB7XHJcbiAgICAgICAgZGlzcGxheTpub25lO1xyXG4gICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGhlYWQge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIwO1xyXG4gICAgICAgICAgICBcclxuICAgICAgICB9XHJcbiAgICAgICAgdHIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGgge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwIDAgMTVweDtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogJGNvbXBhcmlzb24tdGFibGUtbW9iaWxlLXNlcGVyYXRvcjtcclxuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogbGFyZ2UtdmFsdWUoJGNvbXBhcmlzb24tdGFibGUtZmlyc3QtY29sdW1uLXdpZHRoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHRib2R5LmNvbXBhcmlzb24tdmFsdWVzIHtcclxuICAgICAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgICAgIGJvcmRlcjogJGNvbXBhcmlzb24tdGFibGUtbW9iaWxlLXZhbHVlcy1ib3JkZXI7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBib3JkZXI6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRyIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIGFsaWduLWNvbnRlbnQ6IGJhc2VsaW5lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0ZCB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogNXB4IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6ICRjbXMtdGFibGUtY29sdW1uLXBhZGRpbmc7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTcpO1xyXG4gICAgICAgICAgICAvL3RleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogJGNvbXBhcmlzb24tdGFibGUtbW9iaWxlLXNlcGVyYXRvcjtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICAgICAgLy9wYWRkaW5nOiA1cHg7XHJcbiAgICAgICAgICAgICAgICBib3JkZXI6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpudGgtY2hpbGQoMSkge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IHNtYWxsLXZhbHVlKCRjb21wYXJpc29uLXRhYmxlLWZpcnN0LWNvbHVtbi13aWR0aCk7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogZ2V0LXR5cG9ncmFwaHktZm9udC1mYW1pbHkoKTtcclxuICAgICAgICAgICAgICAgIEBpZiAoJGhlYWRpbmctY29tbW9uLWxldHRlci1zcGFjaW5nKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6ICRoZWFkaW5nLWNvbW1vbi1sZXR0ZXItc3BhY2luZztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogbGFyZ2UtdmFsdWUoJGNvbXBhcmlzb24tdGFibGUtZmlyc3QtY29sdW1uLXdpZHRoKTtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6ICRjb21wYXJpc29uLXRhYmxlLW1vYmlsZS1zZXBlcmF0b3I7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmFsaWduLXZhbHVlLXJpZ2h0IHtcclxuICAgICAgICB0Ym9keSB7XHJcbiAgICAgICAgICAgIHRkIHtcclxuICAgICAgICAgICAgICAgICYuYWN0aXZlIHtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuY29tcGFyaXNvbi1zdW1tYXJ5IHtcclxuICAgICAgICAgICAgdHIge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuY29tcGFyaXNvbi1jdXJyZW50bHktc2VsZWN0ZWQge1xyXG4gICAgICAgICAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICB0Ym9keS5jb21wYXJpc29uLXN1bW1hcnkge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIG1hcmdpbjogMTVweCAwIDEwcHg7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvdXIzLTY7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuY29tcGFyaXNvbi1jb2x1bW4taGVhZGluZyB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBzbWFsbC12YWx1ZSgkY29tcGFyaXNvbi10YWJsZS1maXJzdC1jb2x1bW4td2lkdGgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxudGFibGUuc3RhY2sucmVzcG9uc2l2ZS10YWJsZSB7XHJcbiAgICB0Ym9keSB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICBnYXA6IHNwYWNpbmctdmFsdWUoJHRib2R5LXJvdy1ib3JkZXItc3BhY2luZywgMikgMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmZvcmNlLW1vYmlsZS1yb3ctbGF5b3V0IHtcclxuICAgICAgICB0ZCB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA1cHggMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuY29sLWxhYmVsIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiA1MCU7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyNTBweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHRkIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5jb2x1bW4tZW1wdHkge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jb2wtbGFiZWwge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIFxyXG4gICAgdGRbY2xhc3MqPVwiZGVzY3JpcHRpb24tY29sXCJdIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBzdGFydDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBJZiB0aGlzIHRhYmxlIGhhcyBhIGltYWdlLWNvbHVtbiwgdGhlbiB1c2UgdGhlIGdyaWQgbGF5b3V0IGluIG1vYmlsZS5cclxuICAgICY6aGFzKHRkW2NsYXNzKj1cImltYWdlLWNvbFwiXSkge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG4gICAgICAgICAgICB0ZDpub3QoW2NsYXNzKj1cImltYWdlLWNvbFwiXSkge1xyXG4gICAgICAgICAgICAgICAgLy8gSWYgdGhpcyBjb2x1bW4gaGFzIGEgbGFiZWwgKyB2YWx1ZSB0aGVuIHNwbGl0IGl0IGludG8gdHdvIGNvbHVtbiBhcnJhbmdlbWVudC5cclxuICAgICAgICAgICAgICAgICY6aGFzKC5jb2wtbGFiZWwpIHtcclxuICAgICAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDUwJSA1MCU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgdGQ6bm90KFtjbGFzcyo9XCJpbWFnZS1jb2xcIl0pIHtcclxuICAgICAgICAgICAgICAgICY6aGFzKC5jb2wtbGFiZWwpIHtcclxuICAgICAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDMwJSA3MCU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICB0Ym9keSB7XHJcbiAgICAgICAgICAgICAgICAvLyBGb3JjZSByb3cgaW50byBncmlkIHZpZXcuXHJcbiAgICAgICAgICAgICAgICB0ciB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcclxuICAgICAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDI1JSAxZnI7XHJcbiAgICAgICAgICAgICAgICAgICAgZ2FwOiAwIDEwcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB0ZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHRkOm5vdChbY2xhc3MqPVwiaW1hZ2UtY29sXCJdKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gQW55IHRkIHRoYXQgaXMgbm90IHRoZSBpbWFnZSB0ZCBtb3ZlIHRvIDIgY29sdW1uLlxyXG4gICAgICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiAyO1xyXG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gSWYgdGhpcyBjb2x1bW4gaGFzIGEgbGFiZWwgKyB2YWx1ZSB0aGVuIHNwbGl0IGl0IGludG8gdHdvIGNvbHVtbiBhcnJhbmdlbWVudC5cclxuICAgICAgICAgICAgICAgICAgICAmOmhhcyguY29sLWxhYmVsKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIC5jb250cm9sIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gZm9yIGNoZWNrYm94ZXMgdG8gdmVydGljYWxseSBhbGlnbiBjZW50ZXIuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0byAwO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHRkW2NsYXNzKj1cImRlc2NyaXB0aW9uLWNvbFwiXSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbltyZXNwb25zaXZlLXJldmVhbF0ge1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbn1cclxuLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbiAgICAmICsgdGFibGUge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAkcGFkZGluZy1pdGVtLXk6IDE4cHg7XHJcbiAgICAkcGFkZGluZy1pdGVtLXg6IDIwcHg7XHJcbiAgICAucmVzcG9uc2l2ZS10YWJsZS1pdGVtIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMy01O1xyXG4gICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5zdWNjZXNzIHtcclxuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IG1hcC1nZXQoJHRhYmxlLXJvdy1ub3RpZmljYXRpb24td2lkdGgsIGRlZmF1bHQpIHNvbGlkIG1hcC1nZXQoJHN1Y2Nlc3MtY29sb3VyLCAwKTtcclxuICAgICAgICAgICAgLnRhYmxlLW5vdGlmaWNhdGlvbi10ZXh0IHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRzdWNjZXNzLWNvbG91ciwgMCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi53YXJuaW5nIHtcclxuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IG1hcC1nZXQoJHRhYmxlLXJvdy1ub3RpZmljYXRpb24td2lkdGgsIGRlZmF1bHQpIHNvbGlkIG1hcC1nZXQoJHdhcm5pbmctY29sb3VyLCAwKTtcclxuICAgICAgICAgICAgLnRhYmxlLW5vdGlmaWNhdGlvbi10ZXh0IHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCR3YXJuaW5nLWNvbG91ciwgMCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5hbGVydCB7XHJcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiBtYXAtZ2V0KCR0YWJsZS1yb3ctbm90aWZpY2F0aW9uLXdpZHRoLCBkZWZhdWx0ICkgc29saWQgbWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKTtcclxuICAgICAgICAgICAgLnRhYmxlLW5vdGlmaWNhdGlvbi10ZXh0IHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuYWN0aXZlIHtcclxuICAgICAgICAgICAgLmhlYWRlci1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgLmhlYWRlci1pdGVtIHtcclxuICAgICAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHRhYmxlLXJldmVhbC1vcGVuKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogNTAwcHg7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206ICN7JHBhZGRpbmctaXRlbS15fTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAvLyBBcyB3ZSdyZSBub3cgcmV2ZWFsbGluZyBjb250ZW50IHNob3cgYW55IG92ZXJmbG93aW5nIHRleHQuXHJcbiAgICAgICAgICAgIC5lbGxpcHNpcy10ZXh0IHtcclxuICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XHJcbiAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiBub25lO1xyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuaGVhZGVyLWNvbnRhaW5lciB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgcGFkZGluZzogI3skcGFkZGluZy1pdGVtLXl9ICN7JHBhZGRpbmctaXRlbS14fTtcclxuICAgICAgICAmOmhhcygudW5yZWFkLWNvbCkge1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCB0YWJsZS1yZXZlYWwtY2xvc2VkKTtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICAgICAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICAgICAgICAvLyBBZGRpbmcgc3BhY2UgZm9yIHRhcCBhcmVhIGluIG1vYmlsZS4gXHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogY3VzdG9tLWljb24tZmFtaWx5KCRmb250QXdlc29tZVNvbGlkLCAkc2l0ZS1pY29ucy1jdXN0b20tY2hldnJvbnMpO1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICRheGlzLXNlY3Rpb25zLWhlYWRlci1zdGF0dXMtaWNvbi1zaXplO1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICBtYXgtaGVpZ2h0OiAwO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBnYXA6IDVweDtcclxuICAgICAgICBwYWRkaW5nOiAwICN7JHBhZGRpbmctaXRlbS15fTtcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgJHRyYW5zaXRpb25PdXRybztcclxuICAgIH1cclxuICAgIC5jb250ZW50LWl0ZW0ge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuICAgIH1cclxuICAgIC5jb2wtbGFiZWwge1xyXG4gICAgICAgIG1heC13aWR0aDogMTIwcHg7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRkZWZhdWx0LWxhYmVsLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3VyMy02O1xyXG4gICAgfVxyXG4gICAgLnRvb2x0aXAtY29udGFpbmVyIHtcclxuICAgICAgICAmLnN0YXRlLWluZGljYXRvciB7XHJcbiAgICAgICAgICAgIC50b29sdGlwLXRyaWdnZXI6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnRhYmxlLXNvcnQtY29sIHtcclxuICAgICYuYXNjZW5kIGJ1dHRvbjphZnRlciB7XHJcbiAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgdGFibGUtc29ydC1hc2NlbmQpO1xyXG4gICAgfVxyXG4gICAgJi5kZXNjZW5kIGJ1dHRvbjphZnRlciB7XHJcbiAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgdGFibGUtc29ydC1kZXNjZW5kKTtcclxuICAgIH1cclxuICAgIGJ1dHRvbiB7XHJcbiAgICAgICAgLy8gRm9yIGljb24gYWxpZ25tZW50LlxyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogNXB4O1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogY3VzdG9tLWljb24tZmFtaWx5KCRmb250QXdlc29tZVNvbGlkLCAkc2l0ZS1pY29ucy1jdXN0b20tY2hldnJvbnMpOztcclxuICAgICAgICAgICAgZm9udC1zaXplOiAkdGhlYWQtc29ydGluZy1idXR0b24taWNvbi1zaXplO1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG91cjMtMztcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNjtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91cjY7IFxyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNC0zO1xyXG4gICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNC0zO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyBNb3ZpaW5nIGhvdmVyIHN0YXRlIHRvIHRkIHRvIGFsbG93IGZvciBncmVhdGVyIGhpdCBhcmVhLlxyXG50ZC5ub3RpZmljYXRpb24tY29sIHtcclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIC50YWJsZS1yb3ctbm90aWZpY2F0aW9uIHtcclxuICAgICAgICAgICAgLm5vdGlmaWNhdGlvbi1pbmRpY2F0b3ItY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiBtYXAtZ2V0KCR0YWJsZS1yb3ctbm90aWZpY2F0aW9uLXdpZHRoLCBob3Zlcik7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB3aWR0aCAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5ub3RpZmljYXRpb24tY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA1MDBweDtcclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgbGVmdDogbWFwLWdldCgkdGFibGUtcm93LW5vdGlmaWNhdGlvbi13aWR0aCwgaG92ZXIpO1xyXG5cclxuXHJcbiAgICAgICAgICAgICAgICAvL2JvcmRlci13aWR0aDogMCAwIDAgbWFwLWdldCgkdGFibGUtcm93LW5vdGlmaWNhdGlvbi13aWR0aCwgaG92ZXIpO1xyXG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogNHB4IDBweCA4cHggM3B4IHJnYmEoMTIsIDEyLCAxMiwgLjE4KTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IG1heC13aWR0aCAkdHJhbnNpdGlvbkludHJvLCBib3JkZXItd2lkdGggJHRyYW5zaXRpb25JbnRybywgbGVmdCAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4udW5yZWFkLWNvbCB7XHJcbiAgICAvLyBUcnlpbmcgdG8gYmUgc2VtaSBjb21wbGllbnQgd2l0aCBsaWdodGhvdXNlJ3MgZXhwZWN0YXRpb24gaW50ZXJtcyBvZiB0YXAgYXJlYSAoNDh4NDgpIGh0dHBzOi8vZGV2ZWxvcGVyLmNocm9tZS5jb20vZG9jcy9saWdodGhvdXNlL3Nlby90YXAtdGFyZ2V0c1xyXG4gICAgd2lkdGg6IDQ4cHg7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICB3aWR0aDogMjBweDtcclxuICAgIH1cclxufVxyXG5cclxuLnRhYmxlLXJvdy1ub3RpZmljYXRpb24ge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgLy8gJjpob3ZlciB7XHJcbiAgICAvLyAgICAgLm5vdGlmaWNhdGlvbi1pbmRpY2F0b3ItY29udGFpbmVyIHtcclxuICAgIC8vICAgICAgICAgd2lkdGg6IG1hcC1nZXQoJHRhYmxlLXJvdy1ub3RpZmljYXRpb24td2lkdGgsIGhvdmVyKTtcclxuICAgIC8vICAgICAgICAgdHJhbnNpdGlvbjogd2lkdGggJHRyYW5zaXRpb25JbnRybztcclxuICAgIC8vICAgICB9XHJcbiAgICAvLyAgICAgLm5vdGlmaWNhdGlvbi1jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAvLyAgICAgICAgIG1heC13aWR0aDogNTAwcHg7XHJcbiAgICAvLyAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIC8vICAgICAgICAgdG9wOiAwO1xyXG4gICAgLy8gICAgICAgICBsZWZ0OiAwO1xyXG4gICAgLy8gICAgICAgICBib3JkZXItd2lkdGg6IDAgMCAwIG1hcC1nZXQoJHRhYmxlLXJvdy1ub3RpZmljYXRpb24td2lkdGgsIGhvdmVyKTtcclxuICAgIC8vICAgICAgICAgYm94LXNoYWRvdzogNHB4IDBweCA4cHggM3B4IHJnYmEoMTIsIDEyLCAxMiwgLjE4KTtcclxuICAgIC8vICAgICAgICAgdHJhbnNpdGlvbjogbWF4LXdpZHRoICR0cmFuc2l0aW9uSW50cm8sIGJvcmRlci13aWR0aCAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgLy8gICAgIH1cclxuICAgIC8vIH1cclxuICAgIC5ub3RpZmljYXRpb24taW5kaWNhdG9yLWNvbnRhaW5lciB7XHJcbiAgICAgICAgd2lkdGg6IG1hcC1nZXQoJHRhYmxlLXJvdy1ub3RpZmljYXRpb24td2lkdGgsIGRlZmF1bHQpO1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICAgIHRyYW5zaXRpb246IHdpZHRoICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIC8vIERlZmF1bHQgY29sb3VyLCB0aGlzIGdldHMgb3ZlcnJpZGRlbiBieSB0ci5UWVBFXHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIzLTY7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLm5vdGlmaWNhdGlvbi1jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAwO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgbGVmdDogbWFwLWdldCgkdGFibGUtcm93LW5vdGlmaWNhdGlvbi13aWR0aCwgZGVmYXVsdCk7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMTtcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xyXG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICAgICAgLy8gRGVmYXVsdCBjb2xvdXIsIHRoaXMgZ2V0cyBvdmVycmlkZGVuIGJ5IHRyLlRZUEVcclxuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvdXIzLTY7XHJcbiAgICAgICAgei1pbmRleDogNTAwMDtcclxuICAgICAgICBjdXJzb3I6IHRleHQ7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogbWF4LXdpZHRoICR0cmFuc2l0aW9uT3V0cm8sIGxlZnQgJHRyYW5zaXRpb25PdXRybyBlYXNlLWluLW91dDtcclxuICAgICAgICAubm90aWZpY2F0aW9uLWNvbnRlbnQge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgLy8gRGVmYXVsdCBjb2xvdXIsIHRoaXMgZ2V0cyBvdmVycmlkZGVuIGJ5IHRyLlRZUEVcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvdXIzLTY7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHRhYmxlLXJvdy1ub3RpZmljYXRpb24tZm9udC1zaXplKTtcclxuICAgICAgICAgICAgZm9udC1zdHlsZTogJHRhYmxlLXJvdy1ub3RpZmljYXRpb24tZm9udC1zdHlsZTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICR0YWJsZS1yb3ctbm90aWZpY2F0aW9uLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnRhYmxlLW5vdGlmaWNhdGlvbi10ZXh0IHtcclxuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHRhYmxlLXJvdy1ub3RpZmljYXRpb24tZm9udC1zaXplKTtcclxuICAgIGZvbnQtc3R5bGU6ICR0YWJsZS1yb3ctbm90aWZpY2F0aW9uLWZvbnQtc3R5bGU7XHJcbiAgICBmb250LXdlaWdodDogJHRhYmxlLXJvdy1ub3RpZmljYXRpb24tZm9udC13ZWlnaHQ7XHJcbiAgICAvLyBEZWZhdWx0IGNvbG91ciwgdGhpcyBnZXRzIG92ZXJyaWRkZW4gYnkgdHIuVFlQRVxyXG4gICAgY29sb3I6ICRjb2xvdXIzLTY7XHJcbiAgICBwIHtcclxuICAgICAgICBtYXJnaW46IDVweCAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIENvbnRlbnQgc3BlY2lmaWMgc3R5bGVzLlxyXG50YWJsZSB7XHJcbiAgICAmLnJldXNhYmxlLWNhcmQtdGFibGUge1xyXG4gICAgICAgIC8vIFNwZWNpZmljYWxseSBpbiB0aGUgY29udGV4dCBvZiBwYXltZW50LlxyXG4gICAgICAgICYucGF5bWVudCB7XHJcbiAgICAgICAgICAgIC5yZW1vdmUtY29sIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5leHBpcmUtZGF0ZS1jb2wge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMjUlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIEhpZGUgdGhlIHNlbGVjdCByb3cgaW5mYXZvdXIgb2YgY2xpY2tpbmcgb24gdGhlIHJvdyB0byBwcm9ncmFtYXRpY2FsbHkgdG9nZ2xlIHRoZSBjaGVja2JveCAvIHJhZGlvLlxyXG4gICAgICAgIHRoLnNlbGVjdC1jb2wsIHRkLnNlbGVjdC1jb2wge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuaW52YWxpZC1iYXNrZXQtdGFibGUge1xyXG4gICAgICAgIC8vIEtlZXAgdGFibGUgaW5saW5lIHdpdGggdGhlIHRleHRkYiBlbnRyeSBhYm92ZS5cclxuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gI3soc3BhY2luZy12YWx1ZSgkbW9kYWwtaGVhZGVyLWNtcy1tYXJnaW4sIDIpICogMil9KTtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gI3soc3BhY2luZy12YWx1ZSgkbW9kYWwtaGVhZGVyLWNtcy1tYXJnaW4sIDIsIGxhcmdlKSAqIDIpfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5yZWZlcmVuY2UtY29sLCAuZGVzY3JpcHRpb24tY29sIHtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmF1ZGl0LXRyYWlsLWVudHJpZXMge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDg1MHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aCB7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRib2R5IHtcclxuICAgICAgICAgICAgdGQge1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAudXBkYXRlZC1jb2wsIC51cGRhdGVkLWJ5LWNvbCB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxOSU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmFjY2Vzcy1sZXZlbC1jb2wge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTUlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5hdWRpdC10cmFpbC1lbnRyeSB7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIHRoIHtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGgsIHRkIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMi41cHggNXB4O1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRib2R5IHtcclxuICAgICAgICAgICAgdGQge1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMobWFwLWdldCgkdGhlYWQtcHJlc2V0LTEsIGZvbnQtc2l6ZSkpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAucmV2aXNpb24tY29se1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogNSU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICAgICAgLnVwZGF0ZWQtYnktY29sIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDE3JTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnVwZGF0ZWQtY29sIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDExJTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnB1Ymxpc2hlZC1jb2wsIC5hY2Nlc3MtbGV2ZWwtY29sIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDklO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5kb2N1bWVudGF0aW9uLXN0cnVjdHVyZWQtZGF0YSB7XHJcbiAgICAgICAgLS1uZXN0ZWQtdGFibGUtcm93LWJvcmRlci1jb2xvdXI6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy04KTtcclxuICAgICAgICAtLW5lc3RlZC10YWJsZS1yb3ctYm9yZGVyLXdpZHRoOiAycHg7XHJcbiAgICAgICAgLm5lc3RlZC10YWJsZS1yb3ctcGFyZW50IHtcclxuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiB2YXIoLS1uZXN0ZWQtdGFibGUtcm93LWJvcmRlci13aWR0aCkgdmFyKC0tbmVzdGVkLXRhYmxlLXJvdy1ib3JkZXItd2lkdGgpIDAgdmFyKC0tbmVzdGVkLXRhYmxlLXJvdy1ib3JkZXItd2lkdGgpO1xyXG4gICAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLW5lc3RlZC10YWJsZS1yb3ctYm9yZGVyLWNvbG91cik7XHJcbiAgICAgICAgICAgICYgKyAubmVzdGVkLXRhYmxlLXJvdyB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6IDAgdmFyKC0tbmVzdGVkLXRhYmxlLXJvdy1ib3JkZXItd2lkdGgpIHZhcigtLW5lc3RlZC10YWJsZS1yb3ctYm9yZGVyLXdpZHRoKSB2YXIoLS1uZXN0ZWQtdGFibGUtcm93LWJvcmRlci13aWR0aCk7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1uZXN0ZWQtdGFibGUtcm93LWJvcmRlci1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgJiA+IHRkIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAyNXB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoZWFkIHtcclxuICAgICAgICAgICAgdGgge1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICB0Ym9keSB7XHJcbiAgICAgICAgICAgIHRkIHtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmZvbGRlci1maWx0ZXJzLXRhYmxlIHtcclxuICAgICAgICB0aCB7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRib2R5IHtcclxuICAgICAgICAgICAgdGQge1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gVGFibGUgY29udGVudHMgc2Nyb2xsIGJlaGF2aW91ci5cclxuLnRhYmxlLWNvbnRhaW5lciB7XHJcbiAgICAkc2hhZG93LWNvbG91cjogcmdiYSgwLCAwLCAwLCAwLjMpO1xyXG4gICAgLy8gQ29tbW9uIHNjcm9sbCBydWxlcy5cclxuICAgICYudGFibGUtc2Nyb2xsLWVuYWJsZWQge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206IG1hcC1nZXQoJHRoZWFkLXByZXNldC0xLCByb3ctYm9yZGVyKTsgLy8gbG9ja2luZyB0byBwcmVzZXQtMSBhcyB0aGF0IHNlZW1zIHRvIGJlIHdoYXQgd2UgY29tbW9ubHkgdXNlLlxyXG4gICAgICAgIHRhYmxlIHtcclxuICAgICAgICAgICAgdGhlYWQge1xyXG4gICAgICAgICAgICAgICAgdGgge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIEhlYWRlciBib3gtc2hhZG93IHdoZW4gc2Nyb2xsaW5nIC8gc2Nyb2xsIGF0IGJvdHRvbS5cclxuICAgICYuc2Nyb2xsLW1pZGRsZSwgJi5zY3JvbGwtYXQtYm90dG9tIHtcclxuICAgICAgICB0aGVhZCB7XHJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCA1cHggOXB4IC0xcHggI3skc2hhZG93LWNvbG91cn07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBDb250YWluZXIgYm90dG9tIHNoYWRvdy5cclxuICAgICYuc2Nyb2xsLW1pZGRsZSwgJi5zY3JvbGwtYXQtdG9wIHtcclxuICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwIC0xMHB4IDEwcHggLTEwcHggI3skc2hhZG93LWNvbG91cn07XHJcbiAgICB9XHJcblxyXG4gICAgJi5zY3JvbGwtbWlkZGxlIHtcclxuICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwIDEwcHggMTBweCAtMTBweCAjeyRzaGFkb3ctY29sb3VyfSwgaW5zZXQgMCAtMTBweCAxMHB4IC0xMHB4ICN7JHNoYWRvdy1jb2xvdXJ9O1xyXG4gICAgfVxyXG5cclxuICAgIC8vIFRhYmxlIHNwZWNpZmljIHJ1bGVzLlxyXG4gICAgJi5hdWRpdC10cmFpbC1lbnRyaWVzIHtcclxuICAgICAgICBtYXgtaGVpZ2h0OiA0MDBweDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDYwMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIE92ZXJyaWRlIG90aGVyIG1hcmdpbidzIGltcG9zZWQgYnkgU0FTUyBjb25maWcgYXMgdGhlIHRhYmxlIGlzIGluIHRoZSBjb250YWluZXIgd2l0aCBhIHNjcm9sbGJhciB1cCB0aGUgc2lkZSBsb29rcyB3ZWlyZC5cclxuICAgIHRhYmxlIHtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICB9XHJcbiAgICAvLyBNYWtlIHRhYmxlIGNvbHVtbiBoZWFkIHN0aWNrLlxyXG4gICAgdGhlYWQge1xyXG4gICAgICAgIHBvc2l0aW9uOiBzdGlja3k7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXdoaXRlLWNvbG91cik7XHJcbiAgICAgICAgei1pbmRleDogMTtcclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgIGhlaWdodDogNHB4O1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgIGJvdHRvbTogLTFweDtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG1hcC1nZXQoJHRoZWFkLXByZXNldC0xLCByb3ctYm9yZGVyKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCIvKlxyXG4tLS0tIElucHV0cyAtLS0tIFxyXG4tIFN0eWxpbmcgZm9yIGZvcm0gaW5wdXRzICggc2VsZWN0LCBpbnB1dCwgdGV4dGFyZWEgKVxyXG4tIFF1YW50aXR5IHNlbGVjdG9yc1xyXG4tIEZvcm1zXHJcbiAgLSBGaWVsZHNldHNcclxuICAtIEZpZWxkc1xyXG4tIFZhbGlkYXRpb25cclxuICAtIEZvcm0gZXJyb3JzIGZyb20gdGhlIHNlcnZlclxyXG4gIC0gQWR2YW5jZWQgdmFsaWRhdGlvbiAoIHNldHRpbmcgcGFzc3dvcmQgKVxyXG4tIFByaW1hcnksIFNlY29uZGFyeSwgRXRjIGJ1dHRvbnMgdXNlZCB0aHJvdWdob3V0IHRoZSBzaXRlLlxyXG4tIFVJIGJsb2NrIHBhbmUuXHJcbiovXHJcblxyXG4vLyAtLS0tLSBGb3JtcyAtLS0tLS0gXHJcbmZvcm0ge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIwO1xyXG4gIEBpZiBzbW9vdGgtZWRnZXMoKSB7XHJcbiAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICB9XHJcbn1cclxuXHJcbi8vLS0tLS0gQnV0dG9ucyAtLS0tLSBcclxuLy8tLS0gU3VibWlzc2lvbiAtLS1cclxuZm9ybS5pcy1pbnZhbGlkIHtcclxuICBidXR0b25bdHlwZT1zdWJtaXRdLCAuZm9ybS1zdWJtaXQtYnV0dG9uIHtcclxuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XHJcbiAgICBvcGFjaXR5OiAkYnV0dG9uLWRpc2FibGVkLW9wYWNpdHk7XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBpbnB1dFt0eXBlPXN1Ym1pdF0ge1xyXG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcclxuICAgIG9wYWNpdHk6ICRidXR0b24tZGlzYWJsZWQtb3BhY2l0eTtcclxuICB9XHJcbiAgXHJcbn1cclxuLy8gLS0tIEdlbmVyYWwgYnV0dG9uIHN0eWxlcyAtLS1cclxuYnV0dG9uIHtcclxuICAmOmRpc2FibGVkLCAmLmRpc2FibGVkIHtcclxuICAgIG9wYWNpdHk6ICRidXR0b24tZGlzYWJsZWQtb3BhY2l0eTtcclxuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgfVxyXG59XHJcblxyXG5pbnB1dFt0eXBlPXN1Ym1pdF0ge1xyXG4gICY6aG92ZXIge1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIH1cclxufVxyXG5cclxuc2VsZWN0IHtcclxuICAmOmZvY3VzOjotbXMtdmFsdWUge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjA7XHJcbiAgICBjb2xvcjogJGNvbG91cjI7XHJcbiAgfVxyXG59XHJcbi5jb2x1bW4tY29udGVudC1jb250YWluZXIge1xyXG4gIC5jb250cm9sLnRleHQge1xyXG4gICAgaW5wdXQge1xyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAobGFyZ2UtdmFsdWUoJGZpZWxkLWlucHV0LXdpZHRoKSAtIDcwKTtcclxuICAgICAgfVxyXG4gICAgIFxyXG4gICAgfVxyXG4gICAgJi5wYXNzd29yZC1yZXZlYWwtY29udGFpbmVyIGlucHV0IHtcclxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIG1heC13aWR0aDogY2FsYygjeyhsYXJnZS12YWx1ZSgkZmllbGQtaW5wdXQtd2lkdGgpIC0gNzApfSAtICN7JHJldmVhbC1wYXNzd29yZC13aWR0aH0pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uZmllbGQge1xyXG4gIG1heC13aWR0aDogbWFwLWdldCgkZmllbGQtd2lkdGgsIG1vYmlsZSk7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgbWFyZ2luOiA1cHggMDtcclxuICAvLyBBc3N1bWUgdGhlIGxhc3QgZmllbGQgY29udGFpbnMgdGhlIHN1Ym1pdCBidXR0b24uXHJcbiAgLy8gJjpsYXN0LWNoaWxkIHtcclxuICAgIC8vIGJ1dHRvblt0eXBlPXN1Ym1pdF0ge1xyXG4gICAgICAvLyBBZGQgaW4gc29tZSBtYXJnaW4gdG8ga2ljayB0aGUgYnV0dG9uIGF3YXkgZnJvbSB0aGUgZmllbGRzIHNsaWdodGx5LlxyXG4gICAgICAvLyBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gICAgLy8gfVxyXG4gIC8vIH1cclxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgbWF4LXdpZHRoOiBtYXAtZ2V0KCRmaWVsZC13aWR0aCwgZGVza3RvcCk7XHJcbiAgICBtYXJnaW46IGF1dG87XHJcbiAgfVxyXG4gICYuYWxpZ24tcmlnaHQge1xyXG4gICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgfVxyXG4gICYuYWxpZ24tbGVmdCB7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgfVxyXG4gIGxhYmVsIHtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgLy8ganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgLy8gbWFyZ2luOiA1cHggMDtcclxuICAgICAgbWFyZ2luOiBzbWFsbC12YWx1ZSgkZmllbGQtbGFiZWwtbWFyZ2luKTtcclxuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkZmllbGQtbGFiZWwtZm9udC1zaXplKTtcclxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIG1hcmdpbjogbGFyZ2UtdmFsdWUoJGZpZWxkLWxhYmVsLW1hcmdpbik7XHJcbiAgICAgIH1cclxuICAgICAgJi5wYXNzd29yZC1yZXZlYWwtY29udGFpbmVyIHtcclxuICAgICAgICBpbnB1dCB7XHJcbiAgICAgICAgICBtYXgtd2lkdGg6IGNhbGMoI3tzbWFsbC12YWx1ZSgkZmllbGQtaW5wdXQtd2lkdGgpfSAtICN7JHJldmVhbC1wYXNzd29yZC13aWR0aH0pO1xyXG4gICAgICAgICAgb3JkZXI6IDI7XHJcbiAgICAgICAgICBib3JkZXItd2lkdGg6IDFweCAwIDFweCAxcHg7XHJcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoJGlucHV0LWJvcmRlci1yYWRpdXMpIDAgMCBzbW9vdGgtZWRnZXMoJGlucHV0LWJvcmRlci1yYWRpdXMpO1xyXG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IGNhbGMoI3tzbWFsbC12YWx1ZSgkZmllbGQtaW5wdXQtd2lkdGgpfSAtICN7JHJldmVhbC1wYXNzd29yZC13aWR0aH0gLSAgI3tsYXJnZS12YWx1ZSgkZmllbGRzZXQtbGFiZWwtd2lkdGgpfSk7XHJcbiAgICAgICAgICAgIGZsZXg6IDE7XHJcbiAgICAgICAgICAgIC8vIG1hcmdpbjogMDtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmxhYmVsIHtcclxuICAgICAgICAgIG9yZGVyOiAxO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuZm9ybS1lcnJvciB7XHJcbiAgICAgICAgICBvcmRlcjogNDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnBhc3N3b3JkLXJldmVhbCB7XHJcbiAgICAgICAgICBvcmRlcjogMztcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgLmxhYmVsIHtcclxuICAgICAgICArIHRleHRhcmVhIHtcclxuICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmFkdmlzb3J5LXRleHQge1xyXG4gICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgIGNvbG9yOiAkY29sb3VyMy0zO1xyXG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygoJGZpZWxkLWxhYmVsLWZvbnQtc2l6ZSAtIDMpKTtcclxuICAgICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgJi50ZXh0LCAmLmVtYWlsLCAmLnRlbCwgJi5udW1iZXIsICYudGV4dGFyZWEge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgIHBhZGRpbmc6IGxhcmdlLXZhbHVlKCRmaWVsZHNldC1sYWJlbC1wYWRkaW5nKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICB9XHJcbiAgJjpoYXMoYnV0dG9uW3R5cGU9XCJzdWJtaXRcIl0ucHJpbWFyeS1idXR0b24pIHtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgbWFyZ2luLXRvcDogMTBweDtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgIH1cclxuICB9XHJcbiAgJiArIC5jbXMtY29udGVudC1jb250YWluZXIge1xyXG4gICAgbWFyZ2luLXRvcDogMjBweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgfVxyXG4gIGlucHV0IHtcclxuICAgICAgLy8gU3BlY2lmaWNhbGx5IG5vdCBjaGVja2JveCdzIGFzIFNhZmFyaSBmZWVscyB0byBkaXNwbGF5IGEgYmxhbmsgYXJlYSBldmVuIHRob3VnaCBjaGVja2JveCBpbnB1dCdzIGhhdmUgaGVpZ2h0ICsgd2lkdGggcHJvcGVydGllcyBzZXQgdG8gMDtcclxuICAgICAgJjpub3QoW3R5cGU9Y2hlY2tib3hdKSB7XHJcbiAgICAgICAgLy8gZmxleDogMTtcclxuICAgICAgICBwYWRkaW5nOiAkZmllbGRzZXQtaW5wdXQtcGFkZGluZztcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgIH1cclxuICB9XHJcbiAgLmxhYmVsICsgdGV4dGFyZWEge1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAvLyBtYXgtd2lkdGg6IGxhcmdlLXZhbHVlKCRmaWVsZC1pbnB1dC13aWR0aCk7XHJcbiAgICAgIC8vIE5lZWQgdG8gc2V0IGEgbWF4LXdpZHRoIG90aGVyd2lzZSB3aGVuIHlvdSBleHBhbmQgdGhlIGFyZWEgaXQgdGFrZXMgdXAgdGhlIGVudGlyZSB3aWR0aCBpbiBhIGZvcm0gYW5kIHB1c2hlcyB0aGUgbGFiZWwgYWJvdmUuXHJcbiAgICAgIG1heC13aWR0aDogNDgwcHg7XHJcbiAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHRleHRhcmVhIHtcclxuICAgIG1hcmdpbjogYXV0bztcclxuICAgICY6aG92ZXIge1xyXG4gICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGlucHV0LWJvcmRlci1jb2xvdXIsIGhvdmVyKTtcclxuICAgIH1cclxuICAgIFxyXG4gIH1cclxuICAuZXJyb3ItYmxvY2sge1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICBtYXgtd2lkdGg6IChtYXAtZ2V0KCRmaWVsZC13aWR0aCwgZGVza3RvcCkgLyAxLjEpO1xyXG4gICAgfVxyXG4gIH1cclxuICAmOm5vdCgubWVkaXVtKTpub3QoLmxhcmdlKTpub3QoLmxhcmdlLTEpIHtcclxuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcclxuICB9XHJcbiAgJi5zbWFsbCB7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG4gICAgICBsYWJlbCB7XHJcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgIEBpZiAkZmllbGQtanVzdGlmeS1jZW50ZXIge1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAubGFiZWwge1xyXG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgICB3aWR0aDogc21hbGwtdmFsdWUoJGZpZWxkLWxhYmVsLXdpZHRoKTtcclxuICAgICAgICAgIH1cclxuICAgICAgfVxyXG4gIH1cclxuICAmLm1lZGl1bSB7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBsYWJlbCB7XHJcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgIEBpZiAkZmllbGQtanVzdGlmeS1jZW50ZXIge1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAubGFiZWwge1xyXG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgICB3aWR0aDogbWVkaXVtLXZhbHVlKCRmaWVsZC1sYWJlbC13aWR0aCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgIH1cclxuICB9XHJcbiAgJi5sYXJnZSB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGxhYmVsIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgIFxyXG4gICAgfVxyXG4gICAgLmxhYmVsIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICB3aWR0aDogbGFyZ2UtdmFsdWUoJGZpZWxkLWxhYmVsLXdpZHRoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gICYuZnVsbC13aWR0aCB7XHJcbiAgICAubGFiZWwge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG4gIH1cclxuICAmLmxpc3Qge1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGxhYmVsIHtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcclxuICAgIH1cclxuICAgIC5sYWJlbCB7XHJcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICB3aWR0aDogMzQwcHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgLmxhYmVsIHsgXHJcbiAgICB3aWR0aDogc21hbGwtdmFsdWUoJGZpZWxkc2V0LWxhYmVsLXdpZHRoKTtcclxuICAgIHBhZGRpbmctcmlnaHQ6ICRsYWJlbC1pbnB1dC1nYXA7XHJcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XHJcbiAgICAvLyBmbGV4LWdyb3c6IDE7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgIHdpZHRoOiBsYXJnZS12YWx1ZSgkZmllbGRzZXQtbGFiZWwtd2lkdGgpO1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgfSAgXHJcbiAgICBhIHtcclxuICAgICAgLy8gZGlzcGxheTogYmxvY2s7IHRvIHB1c2ggYW5jaG9ycyBvbnRvIG5ldyBsaW5lLlxyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xyXG4gICAgfVxyXG4gIH1cclxuICAuY29udHJvbC5zZWxlY3Qge1xyXG4gICAgICBtYXJnaW46IDAgYXV0byAxMHB4IDA7XHJcbiAgfVxyXG5cclxuICAvLyAtLS0gVGhlc2UgYXJlIG5vcm1hbGx5IHVzZWQgZm9yIFwiIHBsZWFzZSBzcGVjaWZ5IG90aGVyIFwiIGZpZWxkcyAtLS0gIFxyXG4gIC5jdXN0b20taW5wdXQtY29udGFpbmVyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbWF4LWhlaWdodDogMDtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0ICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAmLmFjdGl2ZSB7XHJcbiAgICAgIG1heC1oZWlnaHQ6IDIwMHB4O1xyXG4gICAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyAtLS0gTXVsdGktY29sdW1uIGZvcm0gZmllbGQgc3VwcG9ydCAtLS0gXHJcbiAgJltjbGFzc149XCJmaWVsZCBzbWFsbC1cIl0sICZbY2xhc3NePVwiZmllbGQgbWVkaXVtLVwiXSwgJltjbGFzc149XCJmaWVsZCBsYXJnZS1cIl0ge1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgbGFiZWwge1xyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC5jb250cm9sLmNoZWNrYm94IHNwYW4uY2hlY2tib3gge1xyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA0MHB4O1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAuY3VzdG9tLWlucHV0LWNvbnRhaW5lciB7XHJcbiAgICAgIHBhZGRpbmc6IDAgMTBweDtcclxuICAgIH1cclxuICAgIC5hZGRpdGlvbmFsLWlucHV0LWluZm8ge1xyXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgIH1cclxuICB9XHJcbiAgJi5zbWFsbC0xLCAmLm1lZGl1bS0xLCAmLmxhcmdlLTEge1xyXG4gICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICB9XHJcbiAgICAubGFiZWwge1xyXG4gICAgICB3aWR0aDogYXV0bztcclxuICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgd2lkdGg6IDM2MHB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gICYuc21hbGwtMiB7XHJcbiAgICB3aWR0aDogNTAlO1xyXG4gIH0gXHJcbiAgJi5zbWFsbC0zIHtcclxuICAgIHdpZHRoOiAzMyU7XHJcbiAgfSBcclxuICAmLm1lZGl1bS0yIHtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XHJcbiAgICAgIHdpZHRoOiA1MCU7XHJcbiAgICB9XHJcbiAgfVxyXG4gICYubWVkaXVtLTMge1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcclxuICAgICAgd2lkdGg6IDMzJTtcclxuICAgIH1cclxuICB9XHJcbiAgJi5sYXJnZS0yIHtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcclxuICAgICAgd2lkdGg6IDUwJTtcclxuICAgIH1cclxuICB9XHJcbiAgJi5sYXJnZS0zIHtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcclxuICAgICAgd2lkdGg6IDMzJTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuLy8gT3V0cHV0dGVkIGNtcyBjb250ZW50IG5leHQgLyB1bmRlciBhIGlucHV0IGZpZWxkLlxyXG4uYWRkaXRpb25hbC1pbnB1dC1pbmZvIHtcclxuICBAaW5jbHVkZSBjbXMtYW5jaG9yKCk7XHJcbiAgQGluY2x1ZGUgY21zLXBhcmFncmFwaCgpO1xyXG4gIEBpbmNsdWRlIGNtcy1saXN0cygpO1xyXG4gIG1hcmdpbi1ib3R0b206IDE1cHg7XHJcbiAgLy8gT3ZlcnJpZGUgY21zLXBhcmFncmFwaC1mb250LXNpemUgYXMgd2UncmUgaW4gdGhlIGNvbnRleHQgb2YgYSBmb3JtLlxyXG4gIHAsIGEge1xyXG4gICAgZm9udC1zaXplOiByZW0tY2FsYygkZmllbGQtbGFiZWwtZm9udC1zaXplKTtcclxuICB9XHJcbiAgYSB7XHJcbiAgICAmOm5vdChbY2xhc3MqPVwiLWJ1dHRvblwiXSkge1xyXG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRmaWVsZC1sYWJlbC1mb250LXNpemUpO1xyXG4gICAgfVxyXG4gIH1cclxuICBpbWcge1xyXG4gICAgbWFyZ2luOiAkYWRkaXRpb25hbC1pbmZvLWltYWdlLW1hcmdpbjtcclxuICB9XHJcbiAgJi5sYXJnZSB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICB9XHJcbn1cclxuLy8gVXNlZCBmb3IgcG9zdGNvZGUgbG9vayB1cC5cclxuLmxvb2t1cC1jb250ZW50IHtcclxuICB3aWR0aDogMTAwJTtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuXHJcbi8vIC0tLSBSZXZlYWwgUGFzc3dvcmQgLS0tIFxyXG4vLyAuY29udHJvbC50ZXh0LnBhc3N3b3JkLXJldmVhbC1jb250YWluZXIge1xyXG4vLyAgIGlucHV0IHtcclxuLy8gICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuLy8gICAgICAgbWFyZ2luLXJpZ2h0OiAtI3skcmV2ZWFsLXBhc3N3b3JkLXdpZHRofTtcclxuLy8gICAgIH1cclxuLy8gICB9XHJcbi8vIH1cclxuaW5wdXRbdHlwZT1wYXNzd29yZF0ge1xyXG4gIGNvbG9yOiAkY29sb3VyMy0zO1xyXG4gIGZvbnQtc2l6ZTogMjJweDtcclxuICBsZXR0ZXItc3BhY2luZzogLTFweDtcclxuICBmb250LWZhbWlseTogY2FwdGlvbjtcclxuICB0cmFuc2l0aW9uOiBmb250LXNpemUgJHRyYW5zaXRpb25PdXRybztcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIC8vICYuaXMtaW52YWxpZC1pbnB1dCB7XHJcbiAgLy8gICBjb2xvcjogJGFsZXJ0LWNvbG91cjtcclxuICAvLyB9XHJcbiAgQGlmIHNtb290aC1lZGdlcygkaW5wdXQtYm9yZGVyLXJhZGl1cykge1xyXG4gICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCRpbnB1dC1ib3JkZXItcmFkaXVzIDAgMCAkaW5wdXQtYm9yZGVyLXJhZGl1cyk7XHJcbiAgfVxyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgIGZvbnQtc2l6ZTogNDRweDtcclxuICB9XHJcbiAgJjpob3ZlciB7XHJcbiAgICBib3gtc2hhZG93OiAtMTRweCAtM3B4IDI4cHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4xKTtcclxuICAgIHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgJiArIGJ1dHRvbiB7XHJcbiAgICAgIGJveC1zaGFkb3c6IDE0cHggLTNweCAyOHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMSk7XHJcbiAgICAgIC8vIGJvcmRlci1jb2xvcjogJGNvbG91cjA7XHJcbiAgICAgIHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgfVxyXG4gIH1cclxuICAmOmZvY3VzIHtcclxuICAgICYgKyBidXR0b24ge1xyXG4gICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGlucHV0LWJvcmRlci1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC8vICYuaXMtaW52YWxpZC1pbnB1dDpmb2N1cysucGFzc3dvcmQtcmV2ZWFse1xyXG4gIC8vICAgYm9yZGVyLWNvbG9yOiAkZXJyb3ItYm9yZGVyLWNvbG91cjtcclxuICAvLyB9XHJcbiAgJiArIGJ1dHRvbiB7XHJcbiAgICBAaWYgc21vb3RoLWVkZ2VzKCRpbnB1dC1ib3JkZXItcmFkaXVzKSB7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IDAgc21vb3RoLWVkZ2VzKCRpbnB1dC1ib3JkZXItcmFkaXVzKSBzbW9vdGgtZWRnZXMoJGlucHV0LWJvcmRlci1yYWRpdXMpIDA7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4ucGFzc3dvcmQtcmV2ZWFsIHtcclxuICB3aWR0aDogJHJldmVhbC1wYXNzd29yZC13aWR0aDtcclxuICBoZWlnaHQ6ICRmaWVsZHNldC1pbnB1dC1oZWlnaHQ7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICBib3JkZXItY29sb3I6ICBtYXAtZ2V0KCRpbnB1dC1ib3JkZXItY29sb3VyLCBkZWZhdWx0KTtcclxuICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gIGJvcmRlci13aWR0aDogMXB4IDFweCAxcHggMDtcclxuICB0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb25PdXRybztcclxuICAmOmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBwYXNzd29yZC1yZXZlYWwpO1xyXG4gICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgZm9udC1zdHlsZTogMTJweDtcclxuICAgIGNvbG9yOiAkcmV2ZWFsLWljb24tY29sb3VyO1xyXG4gICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICB9XHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgJjpob3ZlcjpiZWZvcmUge1xyXG4gICAgICBjb2xvcjogJHJldmVhbC1pY29uLWFjdGl2ZS1jb2xvdXI7XHJcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICB9XHJcbiAgfVxyXG4gICYuYWN0aXZlIHtcclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgY29sb3I6ICRyZXZlYWwtaWNvbi1hY3RpdmUtY29sb3VyO1xyXG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgfVxyXG4gIH1cclxuICAmLmlucHV0LWFjdGl2ZSB7XHJcbiAgICBib3gtc2hhZG93OiAkYm94U2hhZG93MjtcclxuICB9XHJcbn1cclxuXHJcbmlucHV0OjotbXMtY2xlYXIsIGlucHV0OjotbXMtcmV2ZWFsIHtcclxuICBkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG4vLyAtLS0gQnV0dG9uMSAtLS1cclxuLy8gQWN0aW9uIGJ1dHRvbnMuXHJcbi5hY3Rpb24tYnV0dG9uIHtcclxuICBAaW5jbHVkZSBjb21tb24tYnV0dG9uLTEoJGEtZGVmYXVsdC1idXR0b24tcGFkZGluZywgJGEtZGVmYXVsdC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsICRhLWRlZmF1bHQtYnV0dG9uLWNvbG91ciwgJGEtZGVmYXVsdC1idXR0b24tYm9yZGVyLWNvbG91ciwgZ2V0LWJ1dHRvbi1mb250LXNpemUoKSwgZ2V0LWJ1dHRvbi1mb250LXdlaWdodHMoKSwgKG1vYmlsZS13aWR0aDogYXV0bywgd2lkdGg6IGZpdC1jb250ZW50KSwgJGNvbW1vbi1idXR0b24tbWFyZ2luKTtcclxuICAmLnN1Y2Nlc3MsICYuZW1haWwge1xyXG4gICAgQGluY2x1ZGUgY29tbW9uLWJ1dHRvbi0xKCRhLWRlZmF1bHQtYnV0dG9uLXBhZGRpbmcsICRzdWNjZXNzLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgJHN1Y2Nlc3MtYnV0dG9uLWNvbG91ciwgJHN1Y2Nlc3MtYnV0dG9uLWJvcmRlci1jb2xvdXIsIGdldC1idXR0b24tZm9udC1zaXplKCksIGdldC1idXR0b24tZm9udC13ZWlnaHRzKCksIChtb2JpbGUtd2lkdGg6IGF1dG8sIHdpZHRoOiBmaXQtY29udGVudCksICRjb21tb24tYnV0dG9uLW1hcmdpbik7XHJcbiAgfVxyXG4gICYud2FybmluZyB7XHJcbiAgICBAaW5jbHVkZSBjb21tb24tYnV0dG9uLTEoJGEtZGVmYXVsdC1idXR0b24tcGFkZGluZywgJHdhcm5pbmctYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCAkd2FybmluZy1idXR0b24tY29sb3VyLCAkd2FybmluZy1idXR0b24tYm9yZGVyLWNvbG91ciwgZ2V0LWJ1dHRvbi1mb250LXNpemUoKSwgZ2V0LWJ1dHRvbi1mb250LXdlaWdodHMoKSwgKG1vYmlsZS13aWR0aDogYXV0bywgd2lkdGg6IGZpdC1jb250ZW50KSwgJGNvbW1vbi1idXR0b24tbWFyZ2luKTtcclxuICB9XHJcbiAgJi5hbGVydCB7XHJcbiAgICBAaW5jbHVkZSBjb21tb24tYnV0dG9uLTEoJGEtZGVmYXVsdC1idXR0b24tcGFkZGluZywgJGFsZXJ0LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgJGFsZXJ0LWJ1dHRvbi1jb2xvdXIsICRhbGVydC1idXR0b24tYm9yZGVyLWNvbG91ciwgZ2V0LWJ1dHRvbi1mb250LXNpemUoKSwgZ2V0LWJ1dHRvbi1mb250LXdlaWdodHMoKSwgKG1vYmlsZS13aWR0aDogYXV0bywgd2lkdGg6IGZpdC1jb250ZW50KSwgJGNvbW1vbi1idXR0b24tbWFyZ2luKTtcclxuICB9XHJcbn1cclxuLy8gLS0tLS0gR2VuZXJpYyBCdXR0b25zIC0tLS0tLVxyXG4vLyBBbGlnbm1lbnQgY2xhc3MncyBmb3IgQ01TICggUmljaCBUZXh0IEVkaXRvciApIGNvbnRlbnQuXHJcbmFbY2xhc3MqPVwiLWJ1dHRvblwiXS5hbGlnbi1jZW50ZXIge1xyXG4gIG1hcmdpbi1yaWdodDogYXV0bztcclxuICBtYXJnaW4tbGVmdDogYXV0bztcclxufVxyXG5hW2NsYXNzKj1cIi1idXR0b25cIl0uYWxpZ24tcmlnaHQge1xyXG4gIG1hcmdpbi1yaWdodDogMDtcclxuICBtYXJnaW4tbGVmdDogYXV0bztcclxufVxyXG5hW2NsYXNzKj1cIi1idXR0b25cIl0uYWxpZ24tbGVmdCB7XHJcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG4gIG1hcmdpbi1sZWZ0OiAwO1xyXG59XHJcbi8vIFNFVFRJTkcgTU9CSUxFLVdJRFRIOiBBVVRPOyBvdGhlcndpc2UgaWYgd2UgdXNlIDEwMCUgKyBhZGQgbWFyZ2luIHRoZSBidXR0b24gd2lsbCBiZSBkZS1jZW50ZXJhbGlzZWQgaW4gaXRzIGNvbnRhaW5lci5cclxuLy8gUFJPLVRJUDogU3RydWdnbGluZyB3aXRoIG5hbWluZyBhIGJ1dHRvbj8gdHJ5IHRoaXM6IHF1YXRlcm5hcnksIHF1aW5hcnksIHNlbmFyeSwgc2VwdGVuYXJ5LCBvY3RvbmFyeSwgbm9uYXJ5LCBkZW5hcnkgdGhpcyB3aWxsIHRha2UgeW91IHVwIHRvIDEwIHZhcmlhdGlvbnMuLi4uXHJcbi8vIFByaW1hcnkgYnV0dG9uIGlzIHR5cGljYWxseSB1c2VkIHdoZW4gcHJvY2VlZGluZyB0byB0aHJvdWdoIHRvIGFub3RoZXIgcHJvY2Vzcy5cclxuLmJ1dHRvbjEsIC5wcmltYXJ5LWJ1dHRvbiB7XHJcbiAgQGluY2x1ZGUgY29tbW9uLWJ1dHRvbi0xKCRwcmltYXJ5LWJ1dHRvbi1wYWRkaW5nLCAkcHJpbWFyeS1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsICRwcmltYXJ5LWJ1dHRvbi1jb2xvdXIsICRwcmltYXJ5LWJ1dHRvbi1ib3JkZXItY29sb3VyLCBnZXQtYnV0dG9uLWZvbnQtc2l6ZSgpLCRjb21tb24tYnV0dG9uLWZvbnQtd2VpZ2h0LCAobW9iaWxlLXdpZHRoOiBhdXRvLCB3aWR0aDogZml0LWNvbnRlbnQpLCAkY29tbW9uLWJ1dHRvbi1tYXJnaW4pO1xyXG59XHJcbi8vIFNlY29uZGFyeSBidXR0b24gaXMgdHlwaWNhbGx5IHVzZWQgd2hlbiBjYW5jZWxsaW5nIGFuIGFjdGlvbi5cclxuLnNlY29uZGFyeS1idXR0b24ge1xyXG4gIEBpbmNsdWRlIGNvbW1vbi1idXR0b24tMSgkc2Vjb25kYXJ5LWJ1dHRvbi1wYWRkaW5nLCAkc2Vjb25kYXJ5LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgJHNlY29uZGFyeS1idXR0b24tY29sb3VyLCAkc2Vjb25kYXJ5LWJ1dHRvbi1ib3JkZXItY29sb3VyLCBnZXQtYnV0dG9uLWZvbnQtc2l6ZSgpLGdldC1idXR0b24tZm9udC13ZWlnaHRzKCksIChtb2JpbGUtd2lkdGg6IGF1dG8sIHdpZHRoOiBmaXQtY29udGVudCksICRjb21tb24tYnV0dG9uLW1hcmdpbik7XHJcbn1cclxuLnRlcnRpYXJ5LWJ1dHRvbiB7XHJcbiAgQGluY2x1ZGUgY29tbW9uLWJ1dHRvbi0xKCR0ZXJ0aWFyeS1idXR0b24tcGFkZGluZywgJHRlcnRpYXJ5LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgJHRlcnRpYXJ5LWJ1dHRvbi1jb2xvdXIsICR0ZXJ0aWFyeS1idXR0b24tYm9yZGVyLWNvbG91ciwgZ2V0LWJ1dHRvbi1mb250LXNpemUoKSxnZXQtYnV0dG9uLWZvbnQtd2VpZ2h0cygpLCAobW9iaWxlLXdpZHRoOiBhdXRvLCB3aWR0aDogZml0LWNvbnRlbnQpLCAkY29tbW9uLWJ1dHRvbi1tYXJnaW4pO1xyXG59XHJcbi5xdWF0ZXJuYXJ5LWJ1dHRvbiB7XHJcbiAgQGluY2x1ZGUgY29tbW9uLWJ1dHRvbi0xKCRxdWF0ZXJuYXJ5LWJ1dHRvbi1wYWRkaW5nLCAkcXVhdGVybmFyeS1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsICRxdWF0ZXJuYXJ5LWJ1dHRvbi1jb2xvdXIsICRxdWF0ZXJuYXJ5LWJ1dHRvbi1ib3JkZXItY29sb3VyLCBnZXQtYnV0dG9uLWZvbnQtc2l6ZSgpLGdldC1idXR0b24tZm9udC13ZWlnaHRzKCksIChtb2JpbGUtd2lkdGg6IGF1dG8sIHdpZHRoOiBmaXQtY29udGVudCksIDAsIGlubGluZS1mbGV4KTtcclxufVxyXG4ucXVpbmFyeS1idXR0b24ge1xyXG4gIEBpbmNsdWRlIGNvbW1vbi1idXR0b24tMSgkcXVpbmFyeS1idXR0b24tcGFkZGluZywgJHF1aW5hcnktYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCAkcXVpbmFyeS1idXR0b24tY29sb3VyLCAkcXVpbmFyeS1idXR0b24tYm9yZGVyLWNvbG91ciwgZ2V0LWJ1dHRvbi1mb250LXNpemUoKSxnZXQtYnV0dG9uLWZvbnQtd2VpZ2h0cygpLCAobW9iaWxlLXdpZHRoOiBhdXRvLCB3aWR0aDogZml0LWNvbnRlbnQpLCAkY29tbW9uLWJ1dHRvbi1tYXJnaW4pO1xyXG59XHJcbi8vIEdlbmVyaWMgYnV0dG9uIHRoYXQgZ2V0cyB1c2UgYnkgY21zIGVkaXRvcnMuXHJcbi5jbXMtYnV0dG9uIHtcclxuICBAaW5jbHVkZSBjb21tb24tYnV0dG9uLTEoJGNtcy1idXR0b24tcGFkZGluZywgJGNtcy1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsICRjbXMtYnV0dG9uLWNvbG91ciwgJGNtcy1idXR0b24tYm9yZGVyLWNvbG91ciwgZ2V0LWJ1dHRvbi1mb250LXNpemUoKSwgZ2V0LWJ1dHRvbi1mb250LXdlaWdodHMoKSwgKG1vYmlsZS13aWR0aDogYXV0bywgd2lkdGg6IGZpdC1jb250ZW50KSwgKDAsIDAgMCAxMHB4KSk7XHJcbn1cclxuLmNtcy1wcm9jZWVkLWJ1dHRvbiB7XHJcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBnYXA6IDVweDtcclxuICBmb250LXNpemU6IHJlbS1jYWxjKCRjbXMtYnV0dG9uLXByb2NlZWQtZm9udC1zaXplKTtcclxuICBmb250LXdlaWdodDogJGNtcy1idXR0b24tcHJvY2VlZC1mb250LXdlaWdodDtcclxuICBAaWYgKCRjbXMtYnV0dG9uLXByb2NlZWQtdGV4dC10cmFuc2Zvcm0pIHtcclxuICAgIHRleHQtdHJhbnNmb3JtOiAkY21zLWJ1dHRvbi1wcm9jZWVkLXRleHQtdHJhbnNmb3JtO1xyXG4gIH1cclxuICAmOmFmdGVyIHtcclxuICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGFuY2hvci1pbmRpY2F0b3IpO1xyXG4gICAgZm9udC1zaXplOiAkbWVudS1kcm9wZG93bi1hcnJvd3Mtc2l6ZTtcclxuICAgIGZvbnQtZmFtaWx5OiBjdXN0b20taWNvbi1mYW1pbHkoJGZvbnRBd2Vzb21lU29saWQsICRzaXRlLWljb25zLWN1c3RvbS1jaGV2cm9ucyk7XHJcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gIH1cclxuICAmOmhvdmVyIHtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICB9XHJcbn1cclxuXHJcbi8vIENvcHkgdG8gY2xpcGJvYXJkIGJ1dHRvbi5cclxuLmNvcHktdG8tY2xpcGJvYXJkLWJ1dHRvbiB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgLy8gVGhpcyBtYXkgbmVlZCBleHRlbmRpbmcgaW4gdGhlIGZ1dHVyZSB0byBzdXBwb3J0IGljb24gYmVmb3JlIHRleHQuXHJcbiAgJjphZnRlciB7XHJcbiAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBjbGlwYm9hcmQtY29weSk7XHJcbiAgICBtYXJnaW4tbGVmdDogNXB4O1xyXG4gICAgY29sb3I6ICRjb2xvdXIzLTY7XHJcbiAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICBzaXplOiAxNXB4O1xyXG4gIH1cclxuICAuY29waWVkLXRleHQtY29udGFpbmVyIHtcclxuICAgICRjb3BpZWQtdGV4dC1wYWRkaW5nOiA1cHg7XHJcbiAgICB3aWR0aDogY2FsYygxMDAlICsgI3soJGNvcGllZC10ZXh0LXBhZGRpbmcgKiAyKX0pO1xyXG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgKyAjeygkY29waWVkLXRleHQtcGFkZGluZyAqIDIpfSk7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IC0jeyRjb3BpZWQtdGV4dC1wYWRkaW5nfTtcclxuICAgIGxlZnQ6IC0jeyRjb3BpZWQtdGV4dC1wYWRkaW5nfTtcclxuICAgIHBhZGRpbmc6ICRjb3BpZWQtdGV4dC1wYWRkaW5nO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkY29sb3VyMywgLjkpO1xyXG4gICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3VyO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XHJcbiAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgQGlmICgkc21vb3RoLWVkZ2VzLWVuYWJsZWQpIHtcclxuICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5cclxuXHJcbi5sb2NhdGlvbi1idXR0b24ge1xyXG4gIEBpbmNsdWRlIGNvbW1vbi1idXR0b24tMSg5LjVweCAxMnB4IDkuNXB4IDIxcHgsICRsb2NhdGlvbi1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsICRsb2NhdGlvbi1idXR0b24tY29sb3VyLCAkbG9jYXRpb24tYnV0dG9uLWJvcmRlci1jb2xvdXIsIDE0LDQwMCwgKG1vYmlsZS13aWR0aDogYXV0bywgd2lkdGg6IGZpdC1jb250ZW50KSwgMCwgZmxleCwgJGxvY2F0aW9uLWJ1dHRvbi1pY29uLWNvbmZpZywgMSk7XHJcbn1cclxuXHJcbi50aGlyZC1wYXJ0eS10cmFja2luZy1yZWZlcmVuY2Uge1xyXG4gIG1hcmdpbjogMDtcclxuICBwYWRkaW5nOiAkdGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uLXBhZGRpbmc7XHJcbiAgZm9udC1zaXplOiByZW0tY2FsYygkdGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uLWZvbnQtc2l6ZSk7XHJcbiAgZm9udC13ZWlnaHQ6ICR0aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24tZm9udC13ZWlnaHQ7XHJcbiAgY29sb3I6IGRlZmF1bHQtY29sb3VyKCR0aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24tY29sb3VyKTtcclxuICAucmVmZXJlbmNlIHtcclxuICAgIG1hcmdpbi1sZWZ0OiA1cHg7XHJcbiAgfVxyXG59XHJcblxyXG4udGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uIHtcclxuICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgcGFkZGluZzogJHRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbi1wYWRkaW5nO1xyXG4gIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbi1mb250LXNpemUpO1xyXG4gIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgY29sb3I6IGRlZmF1bHQtY29sb3VyKCR0aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24tY29sb3VyKTtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiBkZWZhdWx0LWNvbG91cigkdGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uLWJhY2tncm91bmQtY29sb3VyKTtcclxuICBib3JkZXI6IDFweCBzb2xpZCBkZWZhdWx0LWNvbG91cigkdGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uLWJvcmRlci1jb2xvdXIpO1xyXG4gICY6aG92ZXIge1xyXG4gICAgICBjb2xvcjogaG92ZXItY29sb3VyKCR0aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24tY29sb3VyKTtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogaG92ZXItY29sb3VyKCR0aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgICBib3JkZXItY29sb3I6IGhvdmVyLWNvbG91cigkdGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uLWJvcmRlci1jb2xvdXIpO1xyXG4gICAgICAmOmFmdGVye1xyXG4gICAgICAgICAgY29sb3I6IGhvdmVyLWNvbG91cigkdGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uLWljb24tY29sb3VyKTtcclxuICAgICAgfVxyXG4gIH1cclxuICAmOmFjdGl2ZSB7XHJcbiAgICAgIGNvbG9yOiBhY3RpdmUtY29sb3VyKCR0aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24tY29sb3VyKTtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogYWN0aXZlLWNvbG91cigkdGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgICAgYm9yZGVyLWNvbG9yOiBhY3RpdmUtY29sb3VyKCR0aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24tYm9yZGVyLWNvbG91cik7XHJcbiAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgY29sb3I6IGFjdGl2ZS1jb2xvdXIoJHRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbi1pY29uLWNvbG91cik7XHJcbiAgICAgIH1cclxuICB9XHJcbiAgJjphZnRlciB7XHJcbiAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHRoaXJkLXBhcnR5LXRyYWNraW5nKTtcclxuICAgICAgbWFyZ2luLWxlZnQ6ICR0aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24taWNvbi1ndXR0ZXI7XHJcbiAgICAgIGZvbnQtZmFtaWx5OiAkZXhwcmVzcy1kZWZhdWx0LWljb25zO1xyXG4gICAgICBmb250LXNpemU6ICR0aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24taWNvbi1zaXplO1xyXG4gICAgICBjb2xvcjogZGVmYXVsdC1jb2xvdXIoJHRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbi1pY29uLWNvbG91cik7XHJcbiAgfVxyXG59XHJcblxyXG4udGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uLTIge1xyXG4gIHdpZHRoOiBmaXQtY29udGVudDtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgbWFyZ2luOiA1cHggMCAwO1xyXG4gIHBhZGRpbmc6IDVweCA4cHg7XHJcbiAgZm9udC1zaXplOiByZW0tY2FsYygxNSk7XHJcbiAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICBjb2xvcjogZGVmYXVsdC1jb2xvdXIoJHRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbi0yLWNvbG91cik7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgZGVmYXVsdC1jb2xvdXIoJHRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbi0yLWJvcmRlci1jb2xvdXIpO1xyXG4gIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm8sIGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbk91dHJvLCBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICBwYWRkaW5nOiAzcHggNXB4O1xyXG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcclxuICB9XHJcbiAgJjpob3ZlciB7XHJcbiAgICAgIGNvbG9yOiBob3Zlci1jb2xvdXIoJHRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbi0yLWNvbG91cik7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGhvdmVyLWNvbG91cigkdGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uLTItYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgICBib3JkZXItY29sb3I6IGhvdmVyLWNvbG91cigkdGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uLTItYm9yZGVyLWNvbG91cik7XHJcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm8sIGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbkludHJvLCBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICY6YWZ0ZXJ7XHJcbiAgICAgICAgICBjb2xvcjogaG92ZXItY29sb3VyKCR0aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24tMi1pY29uLWNvbG91cik7XHJcbiAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICB9XHJcbiAgfVxyXG4gICY6YWN0aXZlIHtcclxuICAgICAgY29sb3I6IGFjdGl2ZS1jb2xvdXIoJHRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbi0yLWNvbG91cik7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGFjdGl2ZS1jb2xvdXIoJHRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbi0yLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgICAgYm9yZGVyLWNvbG9yOiBhY3RpdmUtY29sb3VyKCR0aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24tMi1ib3JkZXItY29sb3VyKTtcclxuICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICBjb2xvcjogYWN0aXZlLWNvbG91cigkdGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uLTItaWNvbi1jb2xvdXIpO1xyXG4gICAgICB9XHJcbiAgfVxyXG4gICY6YWZ0ZXIge1xyXG4gICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCB0aGlyZC1wYXJ0eS10cmFja2luZyk7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiAxMnB4O1xyXG4gICAgICBmb250LWZhbWlseTogJGV4cHJlc3MtZGVmYXVsdC1pY29ucztcclxuICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICBjb2xvcjogZGVmYXVsdC1jb2xvdXIoJHRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbi0yLWljb24tY29sb3VyKTtcclxuICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDZweDtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcclxuICAgICAgfVxyXG4gIH1cclxufVxyXG5cclxuLnByaW50LWVsZW1lbnQtYnV0dG9uIHtcclxuICBAaW5jbHVkZSBjb21tb24tYnV0dG9uLTEoJHNlY29uZGFyeS1idXR0b24tcGFkZGluZywgJHByaW50LWVsZW1lbnRzLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgJHByaW50LWVsZW1lbnRzLWJ1dHRvbi1jb2xvdXIsICRwcmludC1lbGVtZW50cy1idXR0b24tYm9yZGVyLWNvbG91ciwgZ2V0LWJ1dHRvbi1mb250LXNpemUoKSxnZXQtYnV0dG9uLWZvbnQtd2VpZ2h0cygpLCAobW9iaWxlLXdpZHRoOiBhdXRvLCB3aWR0aDogZml0LWNvbnRlbnQpLCAoMCwgMCksIGZsZXgsICRwcmludC1lbGVtZW50cy1idXR0b24taWNvbi1jb25maWcpO1xyXG59XHJcblxyXG4ucHJpbnQtZWxlbWVudC1saW5rIHtcclxuICAmOmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBwcmludGVyKTtcclxuICAgIG1hcmdpbi1yaWdodDogMTBweDtcclxuICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZCxcclxuXHJcbiAgfVxyXG59XHJcblxyXG4vLyBQYXlwYWwgQnV0dG9uLlxyXG4jcGF5cGFsLWNoZWNrb3V0LWJ1dHRvbiwgLnBheXBhbC1idXR0b24ge1xyXG4gICAgQGluY2x1ZGUgY29tbW9uLWJ1dHRvbi0xKCRjaGVja291dC1wYXlwYWwtYnV0dG9uLXBhZGRpbmcsICRjaGVja291dC1wYXlwYWwtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCAoKSwgKCksIDE1cHgsIDYwMCwgKHdpZHRoOiAxMDAlKSwgKHNtYWxsOiAwLCBtZWRpdW06IDAsIGxhcmdlOiAwKSk7XHJcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyUmFkaXVzMTtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIHdpZHRoOiA2cmVtO1xyXG4gICAgICAgIGhlaWdodDogMjBweDtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKG1hcC1nZXQoJHNpdGUtaWNvbnMsIHBheXBhbCkpO1xyXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0O1xyXG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIEluY3JlbWVudCB0YWJsZSByb3cgICggZS5nLiBtYW5hZ2UgY2FyZHMgKS5cclxuLmluY3JlbWVudC1yb3ctYnV0dG9uIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGdhcDogMTBweDtcclxuICBtYXJnaW46IGF1dG87XHJcbiAgcGFkZGluZzogMTBweDtcclxuICBjb2xvcjogJGJvZHktZm9udC1jb2xvdXI7XHJcbiAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAmOmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBzZWxlY3Rpb24taW5jcmVtZW50KTtcclxuICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuXHJcbiAgfVxyXG4gICY6aG92ZXIge1xyXG4gICAgY29sb3I6IHZhcigtLXNlY29uZGFyeS1jb2xvdXItbGlnaHRuZXNzLTApO1xyXG4gICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICB9XHJcbn1cclxuXHJcbi8vIEJ1dHRvbiBjb250YWluZXJzLlxyXG4ucGFnZS1idXR0b25zLWNvbnRhaW5lciB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gIGZsZXgtd3JhcDogd3JhcDtcclxuICBtYXJnaW46IDAgYXV0byAzMHB4O1xyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICB9XHJcbiAgLmJ1dHRvbi1jb250YWluZXIge1xyXG4gICAgLy8gSWYgbWFyZ2luIFIgKyBMIGFwcGxpZWQgaW4gbW9iaWxlIHRoaXMgd2lsbCBjYXVzZSB0aGUgYnV0dG9ucyB0byBiZSBzdGVwcGVkIGluIGR1ZSB0byBmb3JtIHBhZGRpbmcgYXJvdW5kIGNvbnRlbnQuXHJcbiAgICAtLWNvbW1vbi1idXR0b24tc21hbGwtbWFyZ2luOiA1cHggMDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgZmxleDogMTtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICB3aWR0aDogNTAlO1xyXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgICAgZ2FwOiAxMHB4IDIwcHg7XHJcbiAgICB9XHJcbiAgICAmOm50aC1vZi10eXBlKDNuLTIpIHtcclxuICAgICAgW2NsYXNzKj1cIi1idXR0b25cIl0ge1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcclxuICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAvLyBtYXJnaW4tcmlnaHQ6IDIwcHg7IC8vIHVzaW5nIGdhcCBwcm9wZXJ0eSBpbnN0ZWFkLlxyXG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBJZiB0aGVyZSBpcyB0d28gYnV0dG9uLWNvbnRhaW5lcidzIG9yIG9ubHkgb25lLlxyXG4gICAgJjpudGgtb2YtdHlwZSgybiksICY6b25seS1jaGlsZCB7XHJcbiAgICAgIC8vIElmIG5vIGFsaWduIGNlbnRlci5cclxuICAgICAgJjpub3QoLmFsaWduLWNlbnRlcikge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgIC8vIFNlbGVjdCBhbGwgYnV0dG9ucyB0aGF0IGFyZSBub3QgYWN0aW9uLWJ1dHRvbnMuXHJcbiAgICAgICAgICBbY2xhc3MqPVwiLWJ1dHRvblwiXSB7XHJcbiAgICAgICAgICAgICY6bm90KC5hY3Rpb24tYnV0dG9uKSB7XHJcbiAgICAgICAgICAgICAgLy8gQ2hlY2sgd2hldGhlciB0aGVyZSBhcmUgYW55IG90aGVyIGJ1dHRvbnMuXHJcbiAgICAgICAgICAgICAgJjpvbmx5LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAmOm5vdCg6b25seS1jaGlsZCkge1xyXG4gICAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgIC8vIFB1c2ggYWxsIGNvbnRlbnQgdG8gdGhlIHJpZ2h0LlxyXG4gICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC8vICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgIC8vIE1ha2Ugc3VyZSB0aGVyZSBpcyBhIGd1dHRlci5cclxuICAgICAgICAgICAgICAgICAgLy8gbWFyZ2luLWxlZnQ6IDIwcHg7IHVzaW5nIGdhcCBwcm9wZXJ0eSBpbnN0ZWFkLlxyXG4gICAgICAgICAgICAgICAgLy8gfVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgW2NsYXNzKj1cIi1idXR0b25cIl0ge1xyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIH1cclxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICY6bm90KC5hY3Rpb24tYnV0dG9uKSB7XHJcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICAgICAgICAvLyBtYXJnaW4tbGVmdDogMjBweDsgLy8gdXNpbmcgZ2FwIHByb3BlcnR5IGluc3RlYWQuXHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuYWN0aW9uLWJ1dHRvbiB7XHJcbiAgICAgICAgICAvLyBtYXJnaW4tcmlnaHQ6IDIwcHg7IC8vIHVzaW5nIGdhcCBwcm9wZXJ0eSBpbnN0ZWFkLlxyXG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICB9ICBcclxuICAgIH1cclxuICAgIC8vIGEsIGJ1dHRvbiB7XHJcbiAgICAvLyAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgIC8vICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgLy8gICB9XHJcbiAgICAvLyB9XHJcbiAgICAvLyBTbyB0aGUgY2FuY2VsIGJ1dHRvbiBhbHdheXMgYXBwZWFycyBvbiB0aGUgcmlnaHQuXHJcbiAgICAuc2Vjb25kYXJ5LWJ1dHRvbiB7XHJcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuXHJcbi8vIC0tLSBCYXNrZXQgLS0tXHJcbi5hZGRUb0Jhc2tldEZvcm0ge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbn1cclxuXHJcblxyXG5AbWl4aW4gYmFza2V0LWFkZC1idXR0b24taWNvbigpIHtcclxuICB3aWR0aDogJGFkZC10by1iYXNrZXQtaWNvbi13aWR0aDtcclxuICBoZWlnaHQ6ICRhZGQtdG8tYmFza2V0LWljb24taGVpZ2h0O1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgLy8gU3VwcHJlc3NpbmcgY2Fubm90IGdlbmVyaWNhbGx5IGFwcGx5IHRoaXMgYWNyb3NzIGFsbCBpbnN0YW5jZSwgdGhpcyBcIiBndXR0ZXIgXCIgaXMgZmFyIGJldHRlciBiZWluZyBtYW5hZ2VkIGJ5IGZsZXhib3hlcyBnYXAgcHJvcGVydHkuXHJcbiAgLy8gbWFyZ2luLWxlZnQ6IDEwcHg7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjA7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAmOmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBiYXNrZXQtaWNvbik7XHJcbiAgICBmb250LWZhbWlseTogY3VzdG9tLWljb24tZmFtaWx5KCRmb250QXdlc29tZVNvbGlkLCAkc2l0ZS1pY29ucy1jdXN0b20tYmFza2V0LWljb24pO1xyXG4gICAgZm9udC1zaXplOiAkYWRkLXRvLWJhc2tldC1pY29uLXNpemU7XHJcbiAgICBjb2xvcjogbWFwLWdldCgkYmFza2V0LWJ1dHRvbi1pY29uLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gIH1cclxuICAmOm5vdCguZGlzYWJsZWQpIHtcclxuICAgICY6aG92ZXIge1xyXG4gICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICBmb250LXNpemU6IDI2cHg7XHJcbiAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYmFza2V0LWJ1dHRvbi1pY29uLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgdHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgIH0gIFxyXG4gICAgfVxyXG4gICAgJjphY3RpdmUge1xyXG4gICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGJhc2tldC1idXR0b24taWNvbi1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgJi5kaXNhYmxlZCB7XHJcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICBjb2xvcjogbWFwLWdldCgkYmFza2V0LWJ1dHRvbi1pY29uLWNvbG91ciwgZGlzYWJsZWQpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8gTmV3IGFkZCB0byBiYXNrZXQgY2xhc3MgdGhhdCBzaG91bGQgZ2V0IHVzZWQgaW5zdGVhZCBvZiAuYWRkLXRvLWJhc2tldCwgdGhpcyBhbHNvIGRlLWNvdXBsZXMgdGhlIEpTIGxpc3RlbmVycyBmcm9tIENTUyBjbGFzcyBhcyB3ZWxsIHdoaWNoIGlzIHJlcXVpcmVkIGFzIHBhcnQgb2YgdGhlIGZvbGxvd2luZyBqb2JzIDgzODIzOCAmIDgyMDE5NC5cclxuLmJhc2tldC1hZGQtYnV0dG9uIHtcclxuICAmLmljb24ge1xyXG4gICAgQGluY2x1ZGUgYmFza2V0LWFkZC1idXR0b24taWNvbigpO1xyXG4gIH1cclxuICAmLnRleHQtYmFzZWQge1xyXG4gICAgQGluY2x1ZGUgY29tbW9uLWJ1dHRvbi0xKCRiYXNrZXQtYnV0dG9uLXBhZGRpbmcsICRiYXNrZXQtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCAkYmFza2V0LWJ1dHRvbi1jb2xvdXIsICRiYXNrZXQtYnV0dG9uLWJvcmRlciwgJGJhc2tldC1idXR0b24tZm9udC1zaXplLCBnZXQtYnV0dG9uLWZvbnQtd2VpZ2h0cygpLCAod2lkdGg6IDEwMCUpLCAwKTtcclxuICB9XHJcbn1cclxuXHJcbi5hZGRUb0Jhc2tldC5pY29uIHtcclxuICBAaW5jbHVkZSBiYXNrZXQtYWRkLWJ1dHRvbi1pY29uKCk7XHJcbn1cclxuXHJcbi5hZGQtdG8tYmFza2V0IHtcclxuICAmOm5vdCgucHJlc2V0LTIpIHtcclxuICAgIEBpbmNsdWRlIGNvbW1vbi1idXR0b24tMSgkYmFza2V0LWJ1dHRvbi1wYWRkaW5nLCAkYmFza2V0LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgJGJhc2tldC1idXR0b24tY29sb3VyLCAkYmFza2V0LWJ1dHRvbi1ib3JkZXIsICRiYXNrZXQtYnV0dG9uLWZvbnQtc2l6ZSwgZ2V0LWJ1dHRvbi1mb250LXdlaWdodHMoKSwgKHdpZHRoOiAxMDAlKSwgMCk7XHJcbiAgfVxyXG4gICYucHJlc2V0LTIge1xyXG4gICAgQGluY2x1ZGUgY29tbW9uLWJ1dHRvbi0xKCRiYXNrZXQtYnV0dG9uLXBhZGRpbmcsICRwcmltYXJ5LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgJHByaW1hcnktYnV0dG9uLWNvbG91ciwgJHByaW1hcnktYnV0dG9uLWJvcmRlci1jb2xvdXIsIChnZXQtYnV0dG9uLWZvbnQtc2l6ZSgpIC8gMS4yKSwgJGNvbW1vbi1idXR0b24tZm9udC13ZWlnaHQsICh3aWR0aDogMTAwcHgpLCAwKTtcclxuICB9XHJcbn1cclxuXHJcbi5hbmltYXRlZC5kcm9wIHtcclxuICAmOmJlZm9yZSB7XHJcbiAgICBjb2xvcjogJGNvbG91cjYhaW1wb3J0YW50O1xyXG4gICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICB9XHJcbiAgJjphZnRlciB7XHJcbiAgICBjb250ZW50OiAnJztcclxuICAgIHdpZHRoOiAxMHB4O1xyXG4gICAgaGVpZ2h0OiAxMHB4O1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAtMjBweDtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIG1hcmdpbjogYXV0bztcclxuICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyNjtcclxuICAgIGFuaW1hdGlvbjogYmFza2V0SWNvbkhvdmVyIDAuNXM7XHJcbiAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcclxuICAgIHotaW5kZXg6IC0xO1xyXG4gICAgb3BhY2l0eTogMDtcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgYmFza2V0SWNvbkhvdmVyIHtcclxuICAwJSB7XHJcbiAgICB0b3A6IC0yMHB4O1xyXG4gICAgb3BhY2l0eTogMC4yO1xyXG4gIH1cclxuICAxNSUge1xyXG4gICAgdG9wOiAtMTVweDtcclxuICAgIG9wYWNpdHk6IDAuNDtcclxuICB9XHJcbiAgMzAlIHtcclxuICAgIHRvcDogLTEwcHg7XHJcbiAgICBvcGFjaXR5OiAwLjY7XHJcbiAgfVxyXG4gIDQ1JSB7XHJcbiAgICB0b3A6IC01cHg7XHJcbiAgICBvcGFjaXR5OiAwLjg7XHJcbiAgfVxyXG4gIDYwJSB7XHJcbiAgICB0b3A6IDBweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDE2cHg7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gIH1cclxuICA3NSUge1xyXG4gICAgdG9wOiAxMHB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcbiAgMTAwJSB7XHJcbiAgICB3aWR0aDogMTVweDtcclxuICAgIGhlaWdodDogMTNweDtcclxuICAgIHRvcDogMjBweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gIH1cclxufVxyXG5cclxuXHJcbi8vIC0tLSBTdG9ja2xpbmUgLS0tIFxyXG4uc3RvY2tsaW5lLXZpZXctYnV0dG9uLCAuc3RvY2tsaW5lLXZpZXctY29udGFpbmVyIHtcclxuICBhLCBidXR0b24ge1xyXG4gICAgQGluY2x1ZGUgY29tbW9uLWJ1dHRvbi0xKCRzdG9ja2xpbmUtYnV0dG9uLXBhZGRpbmcsICRzdG9ja2xpbmUtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCAkc3RvY2tsaW5lLWJ1dHRvbi1jb2xvdXIsICRzdG9ja2xpbmUtYnV0dG9uLWJvcmRlci1jb2xvdXIsIGdldC1idXR0b24tZm9udC1zaXplKCksICRjb21tb24tYnV0dG9uLWZvbnQtd2VpZ2h0LCAobW9iaWxlLXdpZHRoOiBhdXRvLCB3aWR0aDogMTAwJSwgaGVpZ2h0OiAkZmllbGRzZXQtaW5wdXQtaGVpZ2h0KSwgMCk7XHJcbiAgfVxyXG59XHJcblxyXG4vLyAtLS0gTm90IGxvZ2dlZCBpbiAtLS0gXHJcbi5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciB7XHJcbiAgYSwgYnV0dG9uIHtcclxuICAgICAgQGluY2x1ZGUgY29tbW9uLWJ1dHRvbi0xKCRub3QtbG9nZ2VkLWluLWJ1dHRvbi1wYWRkaW5nLCAkbm90LWxvZ2dlZC1pbi1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsICRub3QtbG9nZ2VkLWluLWJ1dHRvbi1jb2xvdXIsICRub3QtbG9nZ2VkLWluLWJ1dHRvbi1ib3JkZXItY29sb3VyLCBnZXQtYnV0dG9uLWZvbnQtc2l6ZSgpLCAkY29tbW9uLWJ1dHRvbi1mb250LXdlaWdodCwgKG1vYmlsZS13aWR0aDogYXV0bywgd2lkdGg6IDEwMCUsIGhlaWdodDogJGZpZWxkc2V0LWlucHV0LWhlaWdodCksIDApO1xyXG4gIH1cclxufVxyXG5cclxuLy8gLS0tIEVucXVpcnkgZm9ybSBidXR0b24gLS0tIFxyXG4uZW5xdWlyeS1idXR0b24tY29udGFpbmVyIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIC5lbnF1aXJ5LWJ1dHRvbiB7XHJcbiAgICBAaW5jbHVkZSBjb21tb24tYnV0dG9uLTEoJGVucXVpcnktYnV0dG9uLXBhZGRpbmcsICRlbnF1aXJ5LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgJGVucXVpcnktYnV0dG9uLWNvbG91ciwgJGVucXVpcnktYnV0dG9uLWJvcmRlci1jb2xvdXIsIGdldC1idXR0b24tZm9udC1zaXplKCksICRjb21tb24tYnV0dG9uLWZvbnQtd2VpZ2h0LCAobW9iaWxlLXdpZHRoOiBhdXRvLCB3aWR0aDogMTAwJSwgaGVpZ2h0OiAkZmllbGRzZXQtaW5wdXQtaGVpZ2h0KSwgMCk7XHJcbiAgICBmbGV4LWdyb3c6IDE7XHJcbiAgfVxyXG59XHJcblxyXG4vLyAtLS0gRmF2b3VyaXRlcyAtLS1cclxuLy8gVEhJUyBDT1VMRCBCRSBDT05TT0xJREFURUQgSU5UTyBPTkUgQ09ERSBQQVRIIE5PVyBUSEUgOkhBUyBHT09EIFNVUFBPUlQgU08gVEhFIENTUyBDT1VMRCBERVRFQ1QgSUYgVEhFUkUgSVMgQSBMQUJFTCBPUiBOT1QsIFRISVMgSVMgQURWQU5UQUdFUyBUTyBIQVZJTkcgUFJFU0VUUyBGT1IgRkxFWElCSUlUWS5cclxuLmZhdm91cml0ZXNDb250YWluZXIge1xyXG4gIC8vIENvbW1vbiBzdHlsZXMuXHJcbiAgYSB7XHJcbiAgICAmW2Rpc2FibGVkXSwgJi5kaXNhYmxlZCB7XHJcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1jb2xvdXIsIGRpc2FibGVkKTtcclxuICAgICAgb3BhY2l0eTogJGJ1dHRvbi1kaXNhYmxlZC1vcGFjaXR5O1xyXG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xyXG4gICAgICAmOmFmdGVyLCAmOmhvdmVyOmFmdGVyIHtcclxuICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lUmVndWxhcjtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkaW5wdXQtY29sb3VyLCBkaXNhYmxlZCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBmYXZvdXJpdGVzLWRlZmF1bHQpO1xyXG4gICAgICBjb2xvcjogbWFwLWdldCgkZmF2b3VyaXRlcy1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICBmb250LXNpemU6ICRmYXZvdXJpdGVzLWljb24tc2l6ZTtcclxuICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVJlZ3VsYXI7XHJcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICB9XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZhdm91cml0ZXMtY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgICY6YWN0aXZlIHtcclxuICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZhdm91cml0ZXMtY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICAmLmFjdGl2ZSBhIHtcclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC8vIEljb24gd2l0aCB0ZXh0IGxhYmVsLlxyXG4gICYucHJlc2V0MSB7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICBhIHtcclxuICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgIGdhcDogMTBweDtcclxuICAgICAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGZhdm91cml0ZXMtYnV0dG9uLWxhYmVsLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICBmb250LXdlaWdodDogJGZhdm91cml0ZXMtYnV0dG9uLWxhYmVsLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgY29sb3I6IGRlZmF1bHQtY29sb3VyKCRmYXZvdXJpdGVzLWJ1dHRvbi1sYWJlbC1jb2xvdXIpO1xyXG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgQGlmICgkZmF2b3VyaXRlcy1idXR0b24tbGFiZWwtdGV4dC10cmFuc2Zvcm0pIHtcclxuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRmYXZvdXJpdGVzLWJ1dHRvbi1sYWJlbC10ZXh0LXRyYW5zZm9ybTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAmOm5vdCguZGlzYWJsZWQpOmhvdmVyIHtcclxuICAgICAgICAgICAgY29sb3I6IGhvdmVyLWNvbG91cigkZmF2b3VyaXRlcy1idXR0b24tbGFiZWwtY29sb3VyKTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgIH1cclxuICAgICAgfVxyXG4gIH1cclxuICAvLyBKdXN0IGFuIGljb24uXHJcbiAgJi5wcmVzZXQyIHtcclxuICAgICAgJjpub3QoLmFjdGl2ZSkgYSB7XHJcbiAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgYSB7XHJcbiAgICAgICAgICB3aWR0aDogJGZhdm91cml0ZXMtYnV0dG9uLXdpZHRoO1xyXG4gICAgICAgICAgaGVpZ2h0OiAkZmF2b3VyaXRlcy1idXR0b24taGVpZ2h0O1xyXG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyAgICBcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIFxyXG4gICAgICB9XHJcbiAgfVxyXG4gIFxyXG59XHJcblxyXG4vL0NoZWNrYm94ZXMuIHJhZGlvIGJ1dHRvbnMgJiBTZWxlY3RcclxubGFiZWwuZGlzYWJsZWQsIGxhYmVsLnJlYWRvbmx5IHtcclxuICBjdXJzb3I6IG5vLWRyb3A7XHJcbn1cclxuXHJcbi5jb250cm9sIGlucHV0W3R5cGU9Y2hlY2tib3hdLCAuY29udHJvbCBpbnB1dFt0eXBlPXJhZGlvXSB7XHJcbiAgLy9lbmZvcmNlIHRoaXMgc28gZm91bmRhdGlvbiBkb2Vzbid0IG92ZXJyaWRlIGl0LlxyXG4gIC8vZGlzcGxheTogbm9uZSFpbXBvcnRhbnQ7XHJcbiAgd2lkdGg6IDAhaW1wb3J0YW50O1xyXG4gIGhlaWdodDogMCFpbXBvcnRhbnQ7XHJcbiAgbWFyZ2luOiAwIWltcG9ydGFudDtcclxuICBmbGV4OiAwO1xyXG4gIG9wYWNpdHk6IDA7XHJcbiAgLy8gT25seSBpbiBmaXJlZm94IHRoZXJlIGFwcGVhcnMgdG8gYmUgYSA0cHggYm9yZGVyIGFyb3VuZCBjaGVja2JveGVzIHNvIHRoaXMgaXMgYSBoYWNreSBmaXgsIGRpc3BsYXk6IGNvbnRlbnRzOyBhbHNvIHdvcmtzIGJ1dCB0aGVuIGludHJvZHVjZXMgYSBidWcgd2hlcmUgeW91IGNhbm5vdCBzaGlmdCt0YWIgb24gY2hlY2tib3hlcyBhbnltb3JlLlxyXG4gIEAtbW96LWRvY3VtZW50IHVybC1wcmVmaXgoKSB7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IC00cHggIWltcG9ydGFudDtcclxuICB9XHJcbn1cclxuXHJcblxyXG4vLyAtLS0tLSBHZW5lcmFsIGlucHV0IHN0eWxpbmcgLS0tLS1cclxuLmNvbnRyb2wge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAvLyBDZW50ZXIgaXRlbXMgaW4gbW9iaWxlIGR1ZSB0byBTYWZhcmkgY2F1c2luZyBhbGlnbm1lbnQgaXNzdWVzIHdoZW4gaW5wdXRzIHdpdGggYnV0dG9ucyB0aGF0IGhhcyBuZXN0ZWQgZm9udCBpY29ucy5cclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuICBsaW5lLWhlaWdodDogMjBweDtcclxuICAvLyBPbmx5IHJlYWxseSB3YW50IHRvIHRoaXMgb24gbW9iaWxlIGhhdmVuJ3QgdGVzdGVkIHRoaXMgd2l0aCBkZXNrdG9wIHZpZXcuXHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gIH1cclxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XHJcbiAgfVxyXG4gIC8vIC0tLSBIaWRkZW4gaW5wdXQgc3R5bGluZyAtLS1cclxuICBpbnB1dFt0eXBlPWNoZWNrYm94XSwgaW5wdXRbdHlwZT1yYWRpb10ge1xyXG4gICAgei1pbmRleDogLTE7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAvLyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAvLyBEbyBub3QgYXBwbHkgdmlzaWJpbGl0eTogaGlkZGVuIG90aGVyd2lzZSA6Zm9jdXMgZG9lc24ndCB3b3JrLlxyXG4gICAgLy8gdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gIH1cclxuXHJcbiAgJi5pcy1ob3ZlcmVkLCAmOmhvdmVyIHtcclxuICAgIC5pbnB1dC1wcmVmaXgtaWNvbiB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGhvdmVyLWNvbG91cigkaW5wdXQtYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgICBib3JkZXItY29sb3I6IGhvdmVyLWNvbG91cigkaW5wdXQtYm9yZGVyLWNvbG91cik7XHJcbiAgICAgIGJveC1zaGFkb3c6IC0xNXB4IDAgMjdweCAzcHggcmdiYSgxMiwgMTIsIDEzLCAwLjEpO1xyXG4gICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgJHRyYW5zaXRpb25JbnRybywgYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbkludHJvLCBib3gtc2hhZG93ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBcclxuXHJcbiAgJi5pcy1pbnZhbGlkLWxhYmVsIHtcclxuICAgIC5pbnB1dC1wcmVmaXgtaWNvbiB7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkaW5wdXQtYm9yZGVyLWNvbG91ciwgaW52YWxpZCk7IFxyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRub3RpZmljYXRpb25zLWJhY2tncm91bmQtY29sb3VyLCBhbGVydCk7XHJcbiAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIC5pbnB1dC1wcmVmaXgtaWNvbiwgaW5wdXQge1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogaG92ZXItY29sb3VyKCRpbnB1dC1ib3JkZXItY29sb3VyKTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBob3Zlci1jb2xvdXIoJGlucHV0LWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gICYuaXMtZm9jdXNlZCB7XHJcbiAgICAuaW5wdXQtcHJlZml4LWljb24ge1xyXG4gICAgICBib3JkZXItY29sb3I6IGFjdGl2ZS1jb2xvdXIoJGlucHV0LWJvcmRlci1jb2xvdXIpO1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBhY3RpdmUtY29sb3VyKCRpbnB1dC1zZWFyY2gtYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgICBib3gtc2hhZG93OiAtMTVweCAwIDI3cHggM3B4IHJnYmEoMTIsIDEyLCAxMywgMC4xKTtcclxuICAgIH1cclxuICB9XHJcbiAgLy8gSWYgdGhlIGxhYmVsIGlzIG91dHNpZGUgb2YgdGhlIC5jb250cm9sIGNvbnRhaW5lciAoIGUuZy4gbGFiZWwgYWZ0ZXIgY2hlY2tib3ggKS5cclxuICAmICsgLmxhYmVsIHtcclxuICAgIHBhZGRpbmctbGVmdDogJGxhYmVsLWlucHV0LWdhcDtcclxuICB9XHJcblxyXG4gIC8vIEljb24gdGhhdCBzaXRzIGJlZm9yZSB0aGUgaW5wdXQuXHJcbiAgLmlucHV0LXByZWZpeC1pY29uIHtcclxuICAgIGhlaWdodDogJGZpZWxkc2V0LWlucHV0LWhlaWdodDtcclxuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIG1hcmdpbjogYXV0bztcclxuICAgIGJhY2tncm91bmQtY29sb3I6IGRlZmF1bHQtY29sb3VyKCRpbnB1dC1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICBib3JkZXItd2lkdGg6IDFweCAwIDFweCAxcHg7XHJcbiAgICBib3JkZXItY29sb3I6IGRlZmF1bHQtY29sb3VyKCRpbnB1dC1ib3JkZXItY29sb3VyKTtcclxuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICBAaWYgJHNtb290aC1lZGdlcy1lbmFibGVkIHtcclxuICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgICAmICsgaW5wdXQge1xyXG4gICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMFxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgJHRyYW5zaXRpb25PdXRybywgYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbk91dHJvLCBib3gtc2hhZG93ICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICB6LWluZGV4OiAxO1xyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbkludHJvLCBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICB9XHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XHJcbiAgICB9XHJcbiAgICAmICsgaW5wdXQge1xyXG4gICAgICBib3JkZXItbGVmdC13aWR0aDogMDtcclxuICAgIH1cclxuICB9XHJcbiAgLmxhYmVsIHtcclxuICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgfVxyXG4gIC8vIEhvdmVyIHN0YXRlcyBmb3IgdmlzYWJsZSBpbnB1dHMuXHJcbiAgJjpub3QoLnJlYWQtb25seS1pbnB1dCk6bm90KC5kaXNhYmxlZC1pbnB1dCk6bm90KC5pcy1pbnZhbGlkLWxhYmVsKSB7XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgLmxhYmVsIHtcclxuICAgICAgICBjb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgfVxyXG4gICAgICBpbnB1dFt0eXBlPXRleHRdLCBpbnB1dFt0eXBlPW51bWJlcl0sIGlucHV0W3R5cGU9dGVsXSwgdGV4dGFyZWEge1xyXG4gICAgICAgIGJveC1zaGFkb3c6IGhvdmVyLWNvbG91cigkaW5wdXQtYm94LXNoYWRvdyk7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gICYucmVhZC1vbmx5LWlucHV0LCAmLmRpc2FibGVkLWlucHV0IHtcclxuICAgIGN1cnNvcjogbm8tZHJvcDtcclxuICAgIC8vIEZvciBtb2JpbGUgZGV2aWNlcyBzdXBwcmVzcyBmb3IgdGV4dCBmaWVsZHMuXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICY6bm90KC50ZXh0KSB7XHJcbiAgICAgICAgQGluY2x1ZGUgaW5wdXRSZWFkT25seSgpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBTaG93IGZvciBhbGwgZmllbGRzIGluIGRlc2t0b3AuXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgIEBpbmNsdWRlIGlucHV0UmVhZE9ubHkoKTtcclxuICAgIH1cclxuICAgIFxyXG4gIH1cclxuICBcclxuICAvLy0tLSBDaGVja2JveCAtLS1cclxuICAgJi5jaGVja2JveCB7XHJcbiAgICAgICYuc21hbGwge1xyXG4gICAgICAgIC8vIEluIG1vYmlsZSB3ZSB3YW50IGNoZWNrYm94ZXMgdG8gZGVmYXVsdCB0byB3aWR0aDoxMDAlIGJ1dCBvdmVycmlkZSB3aWR0aCBpbiBkZXNrdG9wO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpbnB1dCB7XHJcbiAgICAgICAgICBAaW5jbHVkZSBjb21tb24tY2hlY2tib3goKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgJjpub3QoLnNtYWxsKSB7XHJcbiAgICAgICAgaW5wdXQge1xyXG4gICAgICAgICAgQGluY2x1ZGUgY29tbW9uLWNoZWNrYm94KCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgfVxyXG4gIC8vIC0tLSBSYWRpbyBCdXR0b25zIC0tLSBcclxuICAmLnJhZGlvIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICB9XHJcbiAgLy8gUmFkaW8gYnV0dG9uIGRlc2lnbi5cclxuICAmLnJhZGlvOm5vdCguY2hlY2tib3gpIHsgXHJcbiAgICBpbnB1dCB7XHJcbiAgICAgIC8vIElmIHJhZGlvIGFjdGl2ZS5cclxuICAgICAgJjpjaGVja2VkICsgc3Bhbi5yYWRpbyB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkcmFkaW8tYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHJhZGlvLWljb24tY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgc3Bhbi5yYWRpbyB7XHJcbiAgICAgIHdpZHRoOiAkcmFkaW8tZGltZW50aW9ucztcclxuICAgICAgaGVpZ2h0OiAkcmFkaW8tZGltZW50aW9ucztcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHJhZGlvLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpby1kaW1lbnRpb25zO1xyXG4gICAgICBib3JkZXI6IDFweCBzb2xpZCBtYXAtZ2V0KCRpbnB1dC1ib3JkZXItY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAmOmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICB3aWR0aDogJHJhZGlvLWljb24tZGltZW5zaW9ucztcclxuICAgICAgICBoZWlnaHQ6ICRyYWRpby1pY29uLWRpbWVuc2lvbnM7XHJcbiAgICAgICAgLy8gRm9yIHNvbWUgcmVhc29uIGZsZXhib3gganVzdGlmeS1jb250ZW50OiBjZW50ZXIgaXMgb2ZmIGJ5IC41cHguXHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIHRvcDogLjJweDtcclxuICAgICAgICBsZWZ0OiAuNHB4O1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRyYWRpby1pY29uLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJHJhZGlvLWljb24tZGltZW5zaW9ucztcclxuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgIH1cclxuICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkcmFkaW8tYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRyYWRpby1pY29uLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkcmFkaW8tYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkcmFkaW8taWNvbi1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIC8vIENoZWNrb3V0IHN0eWxlcy5cclxuICAmLnJhZGlvLmNoZWNrYm94IHtcclxuICAgIGlucHV0IHtcclxuICAgICAgQGluY2x1ZGUgY29tbW9uLWNoZWNrYm94KCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC8vLS0tIFNlbGVjdCAtLS1cclxuICAmLnNlbGVjdCB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIC8vIFN1cHByZXNzaW5nIGFzIHRoaXMgd2FzIGNhdXNpbmcgc2VsZWN0IGRyb3Bkb3duIHRvIG92ZXJsYXAgdGhlIHJlY2FwdGNoYSBiYWRnZSBpbiBtb2JpbGUuXHJcbiAgICAvLyB6LWluZGV4OiAxO1xyXG4gICAgc2VsZWN0IHtcclxuICAgICAgaGVpZ2h0OiAkc2VsZWN0LWRyb3Bkb3duLWRlZmF1bHQtaGVpZ2h0O1xyXG4gICAgICB3aWR0aDogYXV0bztcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIG1hcmdpbjogMDtcclxuICAgICAgJjpkaXNhYmxlZCwgJltyZWFkb25seV0ge1xyXG4gICAgICAgICYgKyAuY29udHJvbC1zZWxlY3QtY29udGFpbmVyIC5zZWxlY3RlZC1vcHRpb24ge1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkaW5wdXQtYmFja2dyb3VuZC1jb2xvdXIsIGRpc2FibGVkKTtcclxuICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkaW5wdXQtYm9yZGVyLWNvbG91ciwgZGlzYWJsZWQpOyBcclxuICAgICAgICAgIGN1cnNvcjogbm8tZHJvcDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgJjpkaXNhYmxlZCwgJltyZWFkb25seV0ge1xyXG4gICAgICAgICsgLmNvbnRyb2wtc2VsZWN0LWNvbnRhaW5lciAuY29udHJvbC1zZWxlY3QtZHJvcGRvd246aG92ZXIge1xyXG4gICAgICAgICAgLnNlbGVjdC1hcnJvdyB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGlucHV0LWJhY2tncm91bmQtY29sb3VyLCBkaXNhYmxlZCk7XHJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1ib3JkZXItY29sb3VyLCBkaXNhYmxlZCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgJi5pcy1pbnZhbGlkLWlucHV0ICsgLmNvbnRyb2wtc2VsZWN0LWNvbnRhaW5lciAuc2VsZWN0ZWQtb3B0aW9uIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRub3RpZmljYXRpb25zLWJhY2tncm91bmQtY29sb3VyLCBhbGVydCk7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1ib3JkZXItY29sb3VyLCBpbnZhbGlkKTtcclxuICAgICAgfVxyXG4gICAgICY6Zm9jdXMge1xyXG4gICAgICAgKyBkaXZbY2xhc3M9Y29udHJvbC1zZWxlY3QtY29udGFpbmVyXSAuc2VsZWN0ZWQtb3B0aW9uIHtcclxuICAgICAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgICAgIGJveC1zaGFkb3c6ICRib3hTaGFkb3czO1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkaW5wdXQtYm9yZGVyLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgfVxyXG4gICAgIH0gXHJcbiAgICB9XHJcbiAgICAmLmlzLWNsb3Npbmcge1xyXG4gICAgICB6LWluZGV4OiAyMDAwO1xyXG4gICAgfVxyXG4gICAgJi5hY3RpdmUsICYuYWN0aXZlOmhvdmVyIHtcclxuICAgICAgLy8gTWFrZSBzdXJlIHRoZXkgYXBwZWFyIHVuZGVyIHRoZSBoZWFkZXIgd2hlbiBzdGlja3kuXHJcbiAgICAgIHotaW5kZXg6IDE5OTk7XHJcbiAgICAgICY6aG92ZXIge1xyXG4gICAgICAgIC5jb250cm9sLXNlbGVjdC1vcHRpb25zIHtcclxuICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkaW5wdXQtYm9yZGVyLWNvbG91ciwgaG92ZXIpOyBcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgJi5kcm9wZG93bi10b3Age1xyXG4gICAgICAgIC5zZWxlY3RlZC1vcHRpb24ge1xyXG4gICAgICAgICAgQGlmIHNtb290aC1lZGdlcygkaW5wdXQtYm9yZGVyLXJhZGl1cykge1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgc21vb3RoLWVkZ2VzKCRpbnB1dC1ib3JkZXItcmFkaXVzKSBzbW9vdGgtZWRnZXMoJGlucHV0LWJvcmRlci1yYWRpdXMpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgLnNlbGVjdC1hcnJvdyB7XHJcbiAgICAgICAgICAgIEBpZiBzbW9vdGgtZWRnZXMoJGlucHV0LWJvcmRlci1yYWRpdXMpIHtcclxuICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgc21vb3RoLWVkZ2VzKCRpbnB1dC1ib3JkZXItcmFkaXVzKSAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jb250cm9sLXNlbGVjdC1vcHRpb25zIHtcclxuICAgICAgICAgIEBpZiBzbW9vdGgtZWRnZXMoJGlucHV0LWJvcmRlci1yYWRpdXMpIHtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCRpbnB1dC1ib3JkZXItcmFkaXVzKSAwIDAgMDtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgLnNlbGVjdGVkLW9wdGlvbiB7XHJcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHggMXB4IDAgMXB4OyAgXHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1ib3JkZXItY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgYm94LXNoYWRvdzogJGJveFNoYWRvdzM7XHJcbiAgICAgICAgQGlmIHNtb290aC1lZGdlcygkaW5wdXQtYm9yZGVyLXJhZGl1cykge1xyXG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCRpbnB1dC1ib3JkZXItcmFkaXVzKSBzbW9vdGgtZWRnZXMoJGlucHV0LWJvcmRlci1yYWRpdXMpIDAgMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpmb2N1cyB7XHJcbiAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGlucHV0LWJvcmRlci1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgLnNlbGVjdC1hcnJvdyB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkc2VsZWN0LWRyb3Bkb3duLWNoZXZyb24tYmFja2dyb3VuZC1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgQGlmIHNtb290aC1lZGdlcygkaW5wdXQtYm9yZGVyLXJhZGl1cykge1xyXG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogMCBzbW9vdGgtZWRnZXMoJGlucHV0LWJvcmRlci1yYWRpdXMpIDAgMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBtZW51LW9wZW4pO1xyXG4gICAgICAgICAgY29sb3I6IG1hcC1nZXQoJHNlbGVjdC1kcm9wZG93bi1jaGV2cm9uLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgLmNvbnRyb2wtc2VsZWN0LW9wdGlvbnMge1xyXG4gICAgICAgIG1heC1oZWlnaHQ6IDE4NXB4O1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogIG1hcC1nZXQoJGlucHV0LWJvcmRlci1jb2xvdXIsIGhvdmVyKTsgXHJcbiAgICAgICAgYm94LXNoYWRvdzogJGJveFNoYWRvdzM7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgICYuZHJvcGRvd24tYm90dG9tIHtcclxuICAgICAgLnNlbGVjdGVkLW9wdGlvbiB7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogbWFwLWdldCgkaW5wdXQtYm9yZGVyLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgICYuZHJvcGRvd24tdG9wIHtcclxuICAgICAgLnNlbGVjdGVkLW9wdGlvbiB7XHJcbiAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogbWFwLWdldCgkaW5wdXQtYm9yZGVyLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgIH1cclxuICAgICAgLmNvbnRyb2wtc2VsZWN0LW9wdGlvbnMge1xyXG4gICAgICAgIHRvcDogYXV0bztcclxuICAgICAgICBib3R0b206IDEwMCU7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIGJvcmRlci13aWR0aDogMXB4IDFweCAwIDFweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5kcm9wZG93bi10b3AuYWN0aXZlIHtcclxuICAgICAgLnNlbGVjdGVkLW9wdGlvbiB7XHJcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDFweCAxcHggMXB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAuc2VsZWN0LWFycm93IHtcclxuICAgICAgd2lkdGg6ICRzZWxlY3QtZHJvcGRvd24tY2hldnJvbi1idXR0b24td2lkdGg7XHJcbiAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICB0b3A6IDA7XHJcbiAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRzZWxlY3QtZHJvcGRvd24tY2hldnJvbi1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgIEBpZiBzbW9vdGgtZWRnZXMoJGlucHV0LWJvcmRlci1yYWRpdXMpIHtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAwIHNtb290aC1lZGdlcygkaW5wdXQtYm9yZGVyLXJhZGl1cykgc21vb3RoLWVkZ2VzKCRpbnB1dC1ib3JkZXItcmFkaXVzKSAwO1xyXG4gICAgICB9XHJcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgbWVudS1jbG9zZSk7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBmb250LXNpemU6ICRzZWxlY3QtZHJvcGRvd24tY2hldnJvbi1zaXplO1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiBjdXN0b20taWNvbi1mYW1pbHkoJGZvbnRBd2Vzb21lU29saWQsICRzaXRlLWljb25zLWN1c3RvbS1jaGV2cm9ucyk7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJHNlbGVjdC1kcm9wZG93bi1jaGV2cm9uLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnNlbGVjdGVkLW9wdGlvbiB7XHJcbiAgICAgIC8vIE5lZWQgdG8gc2V0IGhlaWdodDogMTAwJSBvdGhlcndpc2UgdGhlIG92ZXJmbG93cyB0aGUgY29udGFpbmVyIGlmIGl0IGhhcyBhIHNldCBoZWlnaHQuXHJcbiAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgIHBhZGRpbmc6IDVweCAwIDVweCAwO1xyXG4gICAgICBwYWRkaW5nLXJpZ2h0OiAoJHNlbGVjdC1kcm9wZG93bi1jaGV2cm9uLWJ1dHRvbi13aWR0aCArIDMpO1xyXG4gICAgICBtYXJnaW46IDA7XHJcbiAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGlucHV0LWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgYm9yZGVyOiAxcHggc29saWQgbWFwLWdldCgkaW5wdXQtYm9yZGVyLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgIGZvbnQtZmFtaWx5OiBnZXQtdHlwb2dyYXBoeS1mb250LWZhbWlseShcInNlY29uZGFyeS1mb250XCIpO1xyXG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRzZWxlY3QtZHJvcGRvd24tZm9udC1zaXplKTtcclxuICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgb3V0bGluZTogMDtcclxuICAgICAgQGlmIHNtb290aC1lZGdlcygkaW5wdXQtYm9yZGVyLXJhZGl1cykge1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygkaW5wdXQtYm9yZGVyLXJhZGl1cyk7XHJcbiAgICAgIH1cclxuICAgICAgLnNlbGVjdGVkLWRlc2NyaXB0aW9uIHtcclxuICAgICAgICBwYWRkaW5nOiAkZmllbGRzZXQtaW5wdXQtcGFkZGluZztcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHNlbGVjdC1kcm9wZG93bi1mb250LXNpemUpO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIEBhdC1yb290IHtcclxuICAgICAgICAuc2VsZWN0ZWQtZGVzY3JpcHRpb24ge1xyXG4gICAgICAgICAgY29sb3I6IGRlZmF1bHQtY29sb3VyKCRpbnB1dC1jb2xvdXIpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAmOmhvdmVyIHtcclxuICAgICAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgICAgIGJveC1zaGFkb3c6ICRib3hTaGFkb3czO1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkaW5wdXQtYm9yZGVyLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICB9XHJcbiAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkaW5wdXQtYm9yZGVyLWNvbG91ciwgZGVmYXVsdClcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmNvbnRyb2wtc2VsZWN0LW9wdGlvbnMge1xyXG4gICAgICBtYXgtaGVpZ2h0OiAwO1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgLy8gTmVlZCBwb3NpdGlvbiBhYnNvbHV0ZSBvdGhlcndpc2UgaW4gbW9iaWxlIHB1c2hlcyB0aGUgZW50aXJlIHBhZ2UgZG93bi5cclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAvLyB0b3A6IDA7XHJcbiAgICAgIG1hcmdpbjogYXV0byAwIDA7XHJcbiAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgIGJvcmRlci13aWR0aDogMCAxcHggMCAxcHg7XHJcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogJGNvbG91cjA7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGlucHV0LWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkc2VsZWN0LWRyb3Bkb3duLWZvbnQtc2l6ZSk7XHJcbiAgICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcclxuICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xyXG4gICAgICB0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgei1pbmRleDogMTtcclxuICAgICAgQGlmIHNtb290aC1lZGdlcygkaW5wdXQtYm9yZGVyLXJhZGl1cykge1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIHNtb290aC1lZGdlcygkaW5wdXQtYm9yZGVyLXJhZGl1cyk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC5jb250cm9sLXNlbGVjdC1vcHRpb24ge1xyXG4gICAgICBwYWRkaW5nOiA1cHggMCA1cHggMTBweDsgXHJcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgIHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAmW3NlbGVjdGVkXSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGVmYXVsdC1jb2xvdXIoJHNlbGVjdC1kcm9wZG93bi1zZWxlY3Qtb3B0aW9uLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgICAgICBjb2xvcjogZGVmYXVsdC1jb2xvdXIoJHNlbGVjdC1kcm9wZG93bi1zZWxlY3Qtb3B0aW9uLWNvbG91cik7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgfVxyXG4gICAgICAmW2Rpc2FibGVkXSwgJi5kaXNhYmxlZCB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGlzYWJsZWQtY29sb3VyKCRzZWxlY3QtZHJvcGRvd24tc2VsZWN0LW9wdGlvbi1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAgICAgY29sb3I6IGRpc2FibGVkLWNvbG91cigkc2VsZWN0LWRyb3Bkb3duLXNlbGVjdC1vcHRpb24tY29sb3VyKTsgXHJcbiAgICAgICAgY3Vyc29yOiBuby1kcm9wO1xyXG4gICAgICB9XHJcbiAgICAgICY6aG92ZXIge1xyXG4gICAgICAgIGNvbG9yOiBob3Zlci1jb2xvdXIoJHNlbGVjdC1kcm9wZG93bi1zZWxlY3Qtb3B0aW9uLWNvbG91cik7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaG92ZXItY29sb3VyKCRzZWxlY3QtZHJvcGRvd24tc2VsZWN0LW9wdGlvbi1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgIH1cclxuICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGFjdGl2ZS1jb2xvdXIoJHNlbGVjdC1kcm9wZG93bi1zZWxlY3Qtb3B0aW9uLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgICAgICBjb2xvcjogYWN0aXZlLWNvbG91cigkc2VsZWN0LWRyb3Bkb3duLXNlbGVjdC1vcHRpb24tY29sb3VyKTtcclxuICAgICAgICAmW2Rpc2FibGVkXSwgJi5kaXNhYmxlZCB7XHJcbiAgICAgICAgICBvcGFjaXR5OiAwLjc7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAuY29udHJvbC1zZWxlY3QtY29udGFpbmVyIHtcclxuICAgICAgLy8gQWRkaW5nIGluIGEgbWluLXdpZHRoIHRvIHByZXZlbnQgY3JhbXBlZCBzZWxlY3QgZHJvcGRvd25zIHdpdGggc2hvcnRlZCBzdHJpbmdzIG9mIHRleHQgZm9yIHRoZWlyIG9wdGlvbiBkZXNjaXB0aW9ucy5cclxuICAgICAgbWluLXdpZHRoOiAxNTBweDtcclxuICAgICAgLy8gRG9udCBzZXQgMTAwJSBqdXN0IGluY2FzZSB0aGVyZSBpcyBhIHRvb2x0aXAgYXNzaWduZWQuXHJcbiAgICAgIC8vd2lkdGg6IDEwMCU7XHJcbiAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgICAgZmxleDogMTtcclxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICB9XHJcbiAgICAgIC8vIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAvLyBTdXBwcmVzc2luZyB0byBhbGxvdyBpbnB1dCB0byB0YWtlIHVwIGF2YWxhYmxlIHdpZHRoLlxyXG4gICAgICAgIC8vIG1heC13aWR0aDogbGFyZ2UtdmFsdWUoJGZpZWxkLWlucHV0LXdpZHRoKTtcclxuICAgICAgICAvLyB3aWR0aDogMTAwJTtcclxuICAgICAgLy8gfVxyXG4gICAgfVxyXG4gICAgLmNvbnRyb2wtc2VsZWN0LWRyb3Bkb3duIHtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgLy8gZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgaGVpZ2h0OiAkc2VsZWN0LWRyb3Bkb3duLWRlZmF1bHQtaGVpZ2h0O1xyXG4gICAgICB9XHJcbiAgICAgICY6aG92ZXIge1xyXG4gICAgICAgIC5zZWxlY3QtYXJyb3cge1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkc2VsZWN0LWRyb3Bkb3duLWNoZXZyb24tYmFja2dyb3VuZC1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkc2VsZWN0LWRyb3Bkb3duLWNoZXZyb24tY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAmLnRpdGxlIHtcclxuICAgICAgLy8gd2lkdGg6IGF1dG87XHJcbiAgICAgIC8vIC5sYWJlbCB7XHJcbiAgICAgIC8vICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAvLyAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgIC8vICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbiAgICAgIC8vICAgfVxyXG4gICAgICAvLyB9XHJcbiAgICAgIC8vIEluY3JlYXNpbmcgdG8gMjUwcHggdG8gYWxsb3cgZm9yIHVuLXNlbGVjdGVkIHZhbHVlLlxyXG4gICAgICAuY29udHJvbC1zZWxlY3QtZHJvcGRvd24ge1xyXG4gICAgICAgIHdpZHRoOiAyNTBweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICAmLnRleHQge1xyXG4gICAgY3Vyc29yOiB0ZXh0O1xyXG4gICAgaW5wdXQge1xyXG4gICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgJjpub3QoW3R5cGU9cGFzc3dvcmRdKTpob3ZlciB7XHJcbiAgICAgICAgYm94LXNoYWRvdzogJGJveFNoYWRvdzM7XHJcbiAgICAgIH1cclxuICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1ib3JkZXItY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgJi5pcy1pbnZhbGlkLWlucHV0IHtcclxuICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkaW5wdXQtYm9yZGVyLWNvbG91ciwgaW52YWxpZCk7XHJcbiAgICAgICAgICAmOmZvY3VzIHsgXHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkaW5wdXQtYm9yZGVyLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICArIGJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1ib3JkZXItY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICAgICsgYnV0dG9uIHtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1ib3JkZXItY29sb3VyLCBpbnZhbGlkKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJjpub3QoLmlzLWludmFsaWQtaW5wdXQpICsgYnV0dG9uIHtcclxuICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkaW5wdXQtYm9yZGVyLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgICsgYnV0dG9uIHtcclxuICAgICAgICAmOmZvY3VzIHtcclxuICAgICAgICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICAgICAgICBib3gtc2hhZG93OiAkYm94U2hhZG93MztcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgJi5zbGlkZXIge1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjA7XHJcbiAgICBib3JkZXI6IDA7XHJcbiAgfVxyXG4gICYuZmlsZSB7XHJcbiAgICAvLyBIYXZpbmcgdG8gdXNlIGltcG9ydGFudCBkdWUgdG8gb3ZlcnJpZGluZyBmb3VuZGF0aW9uIHN0eWxlcy5cclxuICAgIHdpZHRoOiBzbWFsbC12YWx1ZSgkaW5wdXQtZmlsZS13aWR0aCkgIWltcG9ydGFudDtcclxuICAgIGhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG4gICAgcGFkZGluZzogMTBweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGlucHV0LWZpbGUtYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgYm9yZGVyOiAkaW5wdXQtZmlsZS1vdXRlci1ib3JkZXItd2lkdGggc29saWQgbWFwLWdldCgkaW5wdXQtZmlsZS1ib3JkZXItY29sb3VyLCBkZWZhdWx0KTtcclxuICAgIEBpZiBzbW9vdGgtZWRnZXMoJGlucHV0LWJvcmRlci1yYWRpdXMpIHtcclxuICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCRpbnB1dC1ib3JkZXItcmFkaXVzKTtcclxuICAgIH1cclxuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25PdXRybywgYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgY29udGVudDogJyc7XHJcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAjeyRpbnB1dC1maWxlLWlubmVyLWJvcmRlci13aWR0aH0pO1xyXG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtICN7JGlucHV0LWZpbGUtaW5uZXItYm9yZGVyLXdpZHRofSk7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgdG9wOiAwO1xyXG4gICAgICBsZWZ0OiAwO1xyXG4gICAgICBib3R0b206IDA7XHJcbiAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgIGJvcmRlcjogJGlucHV0LWZpbGUtaW5uZXItYm9yZGVyLXdpZHRoIGRhc2hlZCBtYXAtZ2V0KCRpbnB1dC1maWxlLWJvcmRlci1pbm5lci1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICBAaWYgc21vb3RoLWVkZ2VzKCRpbnB1dC1ib3JkZXItcmFkaXVzKSB7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCRpbnB1dC1ib3JkZXItcmFkaXVzKTtcclxuICAgICAgfVxyXG4gICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgd2lkdGg6IGxhcmdlLXZhbHVlKCRpbnB1dC1maWxlLXdpZHRoKSFpbXBvcnRhbnQ7XHJcbiAgICAgIHBhZGRpbmc6IDM4cHggMTBweDtcclxuICAgIH1cclxuICAgICY6aG92ZXIge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1maWxlLWJhY2tncm91bmQtY29sb3VyLCBob3Zlcik7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkaW5wdXQtZmlsZS1ib3JkZXItY29sb3VyLCBob3Zlcik7XHJcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25JbnRybywgYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkaW5wdXQtZmlsZS1ib3JkZXItaW5uZXItY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgIH1cclxuICAgICAgc3Bhbi5sYWJlbCB7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGlucHV0LWZpbGUtY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgfVxyXG4gICAgICAuZmlsZS11cGxvYWQtaWNvbjpiZWZvcmUge1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1maWxlLXVwbG9hZC1pY29uLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAmOmFjdGl2ZSwgJi5pcy1yZWFkeSB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGlucHV0LWZpbGUtYmFja2dyb3VuZC1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkaW5wdXQtZmlsZS1ib3JkZXItY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAmOmFmdGVyIHtcclxuICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGlucHV0LWZpbGUtYm9yZGVyLWlubmVyLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5pcy1yZWFkeSB7XHJcbiAgICAgIC5maWxlLXVwbG9hZC1pY29uOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgZmlsZS11cGxvYWQtcmVhZHkpO1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1maWxlLXVwbG9hZC1pY29uLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5pcy1pbnZhbGlkLWxhYmVsIHtcclxuICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRvbi1wYWdlLW5vdGlmaWNhdGlvbi1jb2xvdXIsIGFsZXJ0KTtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkb24tcGFnZS1ub3RpZmljYXRpb24tYmFja2dyb3VuZCwgYWxlcnQpO1xyXG4gICAgICAmOmFmdGVyIHtcclxuICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJG9uLXBhZ2Utbm90aWZpY2F0aW9uLWNvbG91ciwgYWxlcnQpO1xyXG4gICAgICB9XHJcbiAgICAgIC5mb3JtLWVycm9yIHtcclxuICAgICAgICBtYXJnaW46IDIwcHggMDtcclxuICAgICAgfVxyXG4gICAgICAuZmlsZS11cGxvYWQtaWNvbiB7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgZmlsZS1yZW1vdmUpO1xyXG4gICAgICAgICAgQGlmICRzaXRlLWljb25zLWN1c3RvbS1maWxlLXJlYWR5LWljb24ge1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogY3VzdG9tLWljb24tZmFtaWx5KCRmb250QXdlc29tZVNvbGlkLCAkc2l0ZS1pY29ucy1jdXN0b20tZmlsZS1yZWFkeS1pY29uKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRvbi1wYWdlLW5vdGlmaWNhdGlvbi1jb2xvdXIsIGFsZXJ0KTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgc3Bhbi5sYWJlbCB7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJG9uLXBhZ2Utbm90aWZpY2F0aW9uLWNvbG91ciwgYWxlcnQpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBzcGFuLmxhYmVsIHtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIHBhZGRpbmc6IHNtYWxsLXZhbHVlKCRpbnB1dC1maWxlLWxhYmVsLXBhZGRpbmcpO1xyXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGlucHV0LWZpbGUtbGFiZWwtZm9udC1zaXplKTtcclxuICAgICAgZm9udC13ZWlnaHQ6ICRpbnB1dC1maWxlLWxhYmVsLWZvbnQtd2VpZ2h0O1xyXG4gICAgICBjb2xvcjogbWFwLWdldCgkaW5wdXQtZmlsZS1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgcGFkZGluZzogKGxhcmdlLXZhbHVlKCRpbnB1dC1maWxlLWxhYmVsLXBhZGRpbmcpIC8gMik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC5maWxlLXVwbG9hZC1pY29uIHtcclxuICAgICAgcGFkZGluZzogMjBweCAxMHB4IDA7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xyXG4gICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgZmlsZS11cGxvYWQpO1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiBjdXN0b20taWNvbi1mYW1pbHkoJGZvbnRBd2Vzb21lU29saWQsICRzaXRlLWljb25zLWN1c3RvbS1maWxlLXVwbG9hZC1pY29uKTtcclxuICAgICAgICBmb250LXNpemU6IDQ2cHg7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGlucHV0LWZpbGUtdXBsb2FkLWljb24tY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgfVxyXG4gICAgICAmICsgLmxhYmVsIHtcclxuICAgICAgICBwYWRkaW5nLXRvcDogMTBweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmlucHV0LWJ1dHRvbi1jb250YWluZXIge1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiBzcGFjaW5nLXZhbHVlKCRpbnB1dC1maWxlLWxhYmVsLXBhZGRpbmcsIDMsIHNtYWxsKTtcclxuICAgICAgei1pbmRleDogMjtcclxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IHNwYWNpbmctdmFsdWUoJGlucHV0LWZpbGUtbGFiZWwtcGFkZGluZywgMywgbGFyZ2UpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAuZmlsZS1zaXplIHtcclxuICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XHJcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xyXG4gICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgfVxyXG4gICAgLnJlbW92ZS1idXR0b24ge1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgIHotaW5kZXg6IDI7XHJcbiAgICAgICY6aG92ZXIge1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICB9XHJcbiAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGZpbGUtcmVtb3ZlKTtcclxuICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcclxuICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3VyMy02O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBpbnB1dCB7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgdG9wOiAwO1xyXG4gICAgICBsZWZ0OiAwO1xyXG4gICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgIHotaW5kZXg6IDE7XHJcbiAgICB9XHJcbiAgfVxyXG4gICYuc2VhcmNoIHtcclxuICAgIGlucHV0IHtcclxuICAgICAgaGVpZ2h0OiAkZmllbGRzZXQtaW5wdXQtaGVpZ2h0O1xyXG4gICAgICArIGJ1dHRvbiB7XHJcbiAgICAgICAgaGVpZ2h0OiAkZmllbGRzZXQtaW5wdXQtaGVpZ2h0O1xyXG4gICAgICAgIG1hcmdpbjogYXV0byAwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcbiAgLy8gVG9vbHRpcHMuXHJcbiAgLnRvb2x0aXAtY29udGFpbmVyIHtcclxuICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xyXG4gIH1cclxuICAmOmhvdmVyIHtcclxuICAgIC50b29sdGlwLXRyaWdnZXIge1xyXG4gICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgYW5pbWF0aW9uOiBhbmltYXRlVG9vbFRpcEhpbnQgMnM7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5xdWFudGl0eS1zZWxlY3Rvci1jb250YWluZXIge1xyXG4gIC8vIHotaW5kZXg6IDUwMDtcclxuICBzZWxlY3QsIC5jb250cm9sLnNlbGVjdCAuY29udHJvbC1zZWxlY3QtZHJvcGRvd24ge1xyXG4gICAgICB3aWR0aDogJHF1YW50aXR5LWRyb3Bkb3duLXdpZHRoO1xyXG4gICAgICAvLyBtYXJnaW46IGF1dG87XHJcbiAgfVxyXG4gIC5jb250cm9sLnNlbGVjdCAuc2VsZWN0ZWQtb3B0aW9uIC5zZWxlY3RlZC1kZXNjcmlwdGlvbiB7XHJcbiAgICBwYWRkaW5nLWxlZnQ6ICRxdWFudGl0eS1kcm9wZHdvbi1wYWRkaW5nLWxlZnQ7XHJcbiAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGFuaW1hdGVUb29sVGlwSGludCB7XHJcbiAgMCUge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkdG9vbHRpcC1pY29uLWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgIGNvbG9yOiBtYXAtZ2V0KCR0b29sdGlwLWljb24tY29sb3VyLCBkZWZhdWx0KTtcclxuICB9XHJcbiAgMjAlIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHRvb2x0aXAtaWNvbi1iYWNrZ3JvdW5kLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgY29sb3I6IG1hcC1nZXQoJHRvb2x0aXAtaWNvbi1jb2xvdXIsIGhvdmVyKTtcclxuICB9XHJcbn1cclxuXHJcbmlucHV0IHtcclxuICAvLyBHb2luZyBhZ2FpbnN0IHRoZSBncmFpbiBoZXJlIGJlY2F1c2Ugb2YgaU9TIGlmIHdlIGRvIG5vdCBzZXQgdGhlIGZvbnQtc2l6ZSB0byA+IDE2cHggdGhlbiBicm93c2VyIHdpbGwgem9vbSBpbiBvbiB0aGUgaW5wdXQgZmllbGQuLi4gaHR0cHM6Ly9jc3MtdHJpY2tzLmNvbS8xNnB4LW9yLWxhcmdlci10ZXh0LXByZXZlbnRzLWlvcy1mb3JtLXpvb20vIGFuZCBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8yOTg5MjYzL2Rpc2FibGUtYXV0by16b29tLWluLWlucHV0LXRleHQtdGFnLXNhZmFyaS1vbi1pcGhvbmUsIHRoZXJlIGhhcyBiZWVuIHN1Z2dlc3Rpb25zIHRoYXQgdGhlIGZpeCBpbiB0aGF0IHN0YWNrIHBvc3Qgc3BlY2lmaWNhbGx5IFwiIG1heGltdW0tc2NhbGU9MSBcIiBoYXMgY2F1c2VkIGlzc3VlcyB3aXRoIGFuZHJvaWQgZGV2aWNlcyBub3QgYmVpbmcgYWJsZSB0byBwaW5jaCB6b29tIHNvIEkgaGF2ZSBvcHRlZCB0byBnb3QgZG93biB0aGUgcHVyZSBjc3MgZml4LlxyXG4gIEBpZiAoJGlucHV0LWZvbnQtc2l6ZSA8IDE2KSB7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIFxyXG4gICY6OnBsYWNlaG9sZGVyIHtcclxuICAgIGNvbG9yOiBkZWZhdWx0LWNvbG91cigkaW5wdXQtY29sb3VyKTtcclxuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGlucHV0LXBsYWNlaG9sZGVyLWZvbnQtc2l6ZSk7XHJcbiAgICBmb250LXdlaWdodDogJGlucHV0LXBsYWNlaG9sZGVyLWZvbnQtd2VpZ2h0O1xyXG4gICAgQGlmICgkaW5wdXQtcGxhY2Vob2xkZXItbGV0dGVyLXNwYWNpbmcpIHtcclxuICAgICAgbGV0dGVyLXNwYWNpbmc6ICRpbnB1dC1wbGFjZWhvbGRlci1sZXR0ZXItc3BhY2luZztcclxuICAgIH1cclxuICAgIEBpZiAoJGlucHV0LXBsYWNlaG9sZGVyLXRleHQtdHJhbnNmb3JtKSB7XHJcbiAgICAgIHRleHQtdHJhbnNmb3JtOiAkaW5wdXQtcGxhY2Vob2xkZXItdGV4dC10cmFuc2Zvcm07XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyAmOmF1dG9maWxsIHtcclxuICAvLyAgIGNvbG9yOiAkY29sb3VyMy0zICFpbXBvcnRhbnQ7XHJcbiAgLy8gICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogJGNvbG91cjMtMztcclxuICAvLyB9XHJcbn1cclxuXHJcbmlucHV0Lm1haWwtaW5wdXQge1xyXG4gIC8vIG1heC13aWR0aDogY2FsYygxMDAlIC0gI3skbWFpbGluZy1idXR0b24tc3VibWl0LXdpZHRofSk7XHJcbiAgaGVpZ2h0OiAkZmllbGRzZXQtaW5wdXQtaGVpZ2h0O1xyXG4gIGZsZXgtZ3JvdzogMTtcclxuICBmbG9hdDogbGVmdDtcclxuICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gIC8vIERlZmF1bHQgYWxsIHRoZSB3YXkgYXJvdW5kIHRoZSBpbnB1dCBmb3Igc21hbGwgZGV2aWNlcyBhcyBidXR0b24gd2lsbCBuZWVkIHRvIHdyYXAuXHJcbiAgYm9yZGVyLXdpZHRoOiAxcHg7XHJcbiAgQGlmIHNtb290aC1lZGdlcygkbWFpbGluZy1saXN0LWlucHV0LWJvcmRlci1yYWRpdXMpIHtcclxuICAgIC8vIERvIHdlIHdhbnQgdGhlIGJ1dHRvbiB0byBhcHBlYXIgc2VwZXJhdGUgZnJvbSB0aGUgaW5wdXQuXHJcbiAgICBAaWYgJG1haWxpbmctbGlzdC1pbnB1dC1idXR0b24tc2VwZXJhdGUtZWxlbWVudHMge1xyXG4gICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoJG1haWxpbmctbGlzdC1pbnB1dC1ib3JkZXItcmFkaXVzKTtcclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoJG1haWxpbmctbGlzdC1pbnB1dC1ib3JkZXItcmFkaXVzKSAwIDAgc21vb3RoLWVkZ2VzKCRtYWlsaW5nLWxpc3QtaW5wdXQtYm9yZGVyLXJhZGl1cyk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIG1hcmdpbjogMDtcclxuICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAvLyAmOmZvY3VzICsgYnV0dG9uIHtcclxuICAgICAgLy8gYm9yZGVyLWNvbG9yOiAkY29sb3VyMCFpbXBvcnRhbnQ7XHJcbiAgICAgIC8vIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gIC8vIH1cclxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgd2lkdGg6IGF1dG87XHJcbiAgICBib3JkZXItd2lkdGg6ICRtYWlsaW5nLWxpc3QtaW5wdXQtYm9yZGVyO1xyXG4gIH1cclxuICAmLmlzLWludmFsaWQtaW5wdXQgKyBidXR0b24ge1xyXG4gICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDApO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkbm90aWZpY2F0aW9ucy1iYWNrZ3JvdW5kLWNvbG91ciwgYWxlcnQpO1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKTtcclxuICAgIH1cclxuICAgICY6aG92ZXI6YmVmb3JlIHtcclxuICAgICAgICBjb2xvcjogJGNvbG91cjE7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgIH1cclxuICB9XHJcbiAgKyBidXR0b24ge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICAvLyB3aWR0aDogJG1haWxpbmctYnV0dG9uLXN1Ym1pdC13aWR0aDtcclxuICAgIGhlaWdodDogJGZpZWxkc2V0LWlucHV0LWhlaWdodDtcclxuICAgIEBpZiBzbWFsbC12YWx1ZSgkbWFpbGluZy1idXR0b24tbWFyZ2luKSB7XHJcbiAgICAgIG1hcmdpbjogc21hbGwtdmFsdWUoJG1haWxpbmctYnV0dG9uLW1hcmdpbik7XHJcbiAgICB9XHJcbiAgICBwYWRkaW5nOiAkbWFpbGluZy1idXR0b24tcGFkZGluZztcclxuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJG1haWxpbmctYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJG1haWxpbmctYnV0dG9uLWJvcmRlci1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgLy8gRGVmYXVsdCB0byB0aGUgYm9yZGVyIGdvZXMgYWxsIHRoZSB3YXkgYXJvdW5kIHRoZSBidXR0b24gZm9yIHNtYWxsIGRldmljZXMgYXMgdGhlIGJ1dHRvbiB3aWxsIHdyYXAuXHJcbiAgICBib3JkZXItd2lkdGg6IDFweDtcclxuICAgIGNvbG9yOiBtYXAtZ2V0KCRtYWlsaW5nLWJ1dHRvbi1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgQGlmICRtYWlsaW5nLWJ1dHRvbi1mb250LXNpemUge1xyXG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRtYWlsaW5nLWJ1dHRvbi1mb250LXNpemUpO1xyXG4gICAgfVxyXG4gICAgQGlmIG5vdCAoJG1haWxpbmctbGlzdC1idXR0b24tdGV4dC10cmFuc2Zvcm0gPT0gXCJub25lXCIpIHtcclxuICAgICAgdGV4dC10cmFuc2Zvcm06ICRtYWlsaW5nLWxpc3QtYnV0dG9uLXRleHQtdHJhbnNmb3JtO1xyXG4gICAgfVxyXG4gICAgQGlmIHNtb290aC1lZGdlcygkbWFpbGluZy1idXR0b24tYm9yZGVyLXJhZGl1cykge1xyXG4gICAgICBAaWYgJG1haWxpbmctbGlzdC1pbnB1dC1idXR0b24tc2VwZXJhdGUtZWxlbWVudHMge1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygkbWFpbGluZy1idXR0b24tYm9yZGVyLXJhZGl1cyk7XHJcbiAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgc21vb3RoLWVkZ2VzKCRtYWlsaW5nLWJ1dHRvbi1ib3JkZXItcmFkaXVzKSBzbW9vdGgtZWRnZXMoJG1haWxpbmctYnV0dG9uLWJvcmRlci1yYWRpdXMpIDA7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgICAgbWFyZ2luOiBtZWRpdW0tdmFsdWUoJG1haWxpbmctYnV0dG9uLW1hcmdpbik7XHJcbiAgICAgIGJvcmRlci13aWR0aDogJG1haWxpbmctYnV0dG9uLWJvcmRlcjtcclxuICAgIH1cclxuICAgICY6ZW1wdHkge1xyXG4gICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgbWFpbCk7XHJcbiAgICAgICAgd2lkdGg6ICRtYWlsaW5nLWJ1dHRvbi1zdWJtaXQtd2lkdGg7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJG1haWxpbmctYnV0dG9uLWljb24tY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAgIFxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJG1haWxpbmctYnV0dG9uLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkbWFpbGluZy1idXR0b24tYm9yZGVyLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJG1haWxpbmctYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICY6ZW1wdHkge1xyXG4gICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkbWFpbGluZy1idXR0b24taWNvbi1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgICAgXHJcbiAgICB9XHJcbiAgICAmOmFjdGl2ZSB7XHJcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCRtYWlsaW5nLWJ1dHRvbi1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkbWFpbGluZy1idXR0b24tYm9yZGVyLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkbWFpbGluZy1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgJjplbXB0eSB7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgY29sb3I6IG1hcC1nZXQoJG1haWxpbmctYnV0dG9uLWljb24tY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgXHJcbiAgfVxyXG59XHJcblxyXG4vLyBOb3JtYWxseSBncm91cGVkIGhpZGRlbiBmaWVsZHMgdGhhdCBnZXQgdG9nZ2xlZCAoIHRoaW5rIGRlbGl2ZXJ5IGFkZHJlc3NlcyApLlxyXG4uY29uZGl0aW9uYWwtaW5wdXRzIHtcclxuICB3aWR0aDogMTAwJTtcclxuICBtYXgtaGVpZ2h0OiAwO1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICYuYWN0aXZlIHtcclxuICAgIG1heC1oZWlnaHQ6IDIwMDBweDtcclxuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjE7XHJcbiAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgfVxyXG59XHJcblxyXG4vLyAtLS0tLSBRdWFudGl0eSBTZWxlY3RvcnMgLS0tLS1cclxuLy8gLS0tIEZyZWUgVGV4dCAtLS0gXHJcbi5xdWFudGl0eS1mcmVlLXRleHQtY29udGFpbmVyIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIC8vIC0tLSBDb2xvdXJpbmcgLS0tXHJcbiAgLy8gRGVmYXVsdFxyXG4gIC5pbnB1dC1udW1iZXItZGVjcmVtZW50LCAuaW5wdXQtbnVtYmVyLWluY3JlbWVudCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZGVlcC1nZXQoJHF1YW50aXR5LWZyZWUtdGV4dC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIFwiZGVmYXVsdFwiLCBcImRlZmF1bHRcIik7XHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgIGNvbG9yOiBtYXAtZGVlcC1nZXQoJHF1YW50aXR5LWZyZWUtdGV4dC1idXR0b24tY29sb3VyLCBcImRlZmF1bHRcIiwgXCJkZWZhdWx0XCIpO1xyXG4gICAgfVxyXG4gICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcclxuICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWRlZXAtZ2V0KCRxdWFudGl0eS1mcmVlLXRleHQtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBcImRlZmF1bHRcIiwgXCJob3ZlclwiKTtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICBjb2xvcjogbWFwLWRlZXAtZ2V0KCRxdWFudGl0eS1mcmVlLXRleHQtYnV0dG9uLWNvbG91ciwgXCJkZWZhdWx0XCIsIFwiaG92ZXJcIik7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAmOmFjdGl2ZSB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1kZWVwLWdldCgkcXVhbnRpdHktZnJlZS10ZXh0LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgXCJkZWZhdWx0XCIsIFwiYWN0aXZlXCIpO1xyXG4gICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgY29sb3I6IG1hcC1kZWVwLWdldCgkcXVhbnRpdHktZnJlZS10ZXh0LWJ1dHRvbi1jb2xvdXIsIFwiZGVmYXVsdFwiLCBcImFjdGl2ZVwiKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gUHJlc2V0IDFcclxuICAmLnByZXNldC0xIHtcclxuICAgIC5pbnB1dC1udW1iZXItZGVjcmVtZW50LCAuaW5wdXQtbnVtYmVyLWluY3JlbWVudCAge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZGVlcC1nZXQoJHF1YW50aXR5LWZyZWUtdGV4dC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIFwicHJlc2V0LTFcIiwgXCJkZWZhdWx0XCIpO1xyXG4gICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgY29sb3I6IG1hcC1kZWVwLWdldCgkcXVhbnRpdHktZnJlZS10ZXh0LWJ1dHRvbi1jb2xvdXIsIFwicHJlc2V0LTFcIiwgXCJkZWZhdWx0XCIpO1xyXG4gICAgICB9XHJcbiAgICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZGVlcC1nZXQoJHF1YW50aXR5LWZyZWUtdGV4dC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIFwicHJlc2V0LTFcIiwgXCJob3ZlclwiKTtcclxuICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1kZWVwLWdldCgkcXVhbnRpdHktZnJlZS10ZXh0LWJ1dHRvbi1jb2xvdXIsIFwicHJlc2V0LTFcIiwgXCJob3ZlclwiKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1kZWVwLWdldCgkcXVhbnRpdHktZnJlZS10ZXh0LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgXCJwcmVzZXQtMVwiLCBcImFjdGl2ZVwiKTtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICBjb2xvcjogbWFwLWRlZXAtZ2V0KCRxdWFudGl0eS1mcmVlLXRleHQtYnV0dG9uLWNvbG91ciwgXCJwcmVzZXQtMVwiLCBcImFjdGl2ZVwiKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIERpc2FibGVkIGNvbG91cnMuXHJcbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiBzcGFuLmRpc2FibGVkIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1kZWVwLWdldCgkcXVhbnRpdHktZnJlZS10ZXh0LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgXCJkaXNhYmxlZFwiKTtcclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgY29sb3I6IG1hcC1kZWVwLWdldCgkcXVhbnRpdHktZnJlZS10ZXh0LWJ1dHRvbi1jb2xvdXIsIFwiZGlzYWJsZWRcIik7XHJcbiAgICB9XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgLy9iYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMDtcclxuICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3VyMDtcclxuICAgIH1cclxuICAgICY6YWN0aXZlIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjA7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAubGFiZWwge1xyXG4gICAgcGFkZGluZzogbWFwLWdldCgkcXVhbnRpdHktbGFiZWwtcGFkZGluZywgc21hbGwpO1xyXG4gICAgbGluZS1oZWlnaHQ6ICRxdWFudGl0eS1sYWJlbC1saW5lLWhlaWdodDtcclxuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHF1YW50aXR5LWxhYmVsLWZvbnQtc2l6ZSk7XHJcbiAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICBwYWRkaW5nOiBtYXAtZ2V0KCRxdWFudGl0eS1sYWJlbC1wYWRkaW5nLCBsYXJnZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBEZS1hY3RpdmF0ZSBzcGlubmVyIGJ1dHRvbnMgYXMgd2UgaGF2ZSB0aGUgaW5jcmVtZW50b3IgYnV0dG9ucyBvbiBlaXRoZXIgc2lkZS5cclxuICBpbnB1dFt0eXBlPW51bWJlcl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sIGlucHV0W3R5cGU9bnVtYmVyXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiwgaW5wdXRbdHlwZT1udW1iZXJdIHtcclxuICAgIGFwcGVhcmFuY2U6IG5vbmU7XHJcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XHJcbiAgICAtbW96LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcclxuICAgIG1hcmdpbjogMDtcclxuICB9XHJcblxyXG4gIC8vIEVycm9yIHN0eWxpbmcuXHJcbiAgLy8gTW9yZSBnZW5lcmljIGVycm9yIHN0eWxpbmcgbm93IHRoYXQgd2UgZG9uJ3QgbmVlZCB0byBzdXBwb3J0IElFLlxyXG4gICY6aGFzKGlucHV0LmlzLWludmFsaWQtaW5wdXQpIHtcclxuICAgIC5pbnB1dC1udW1iZXItZGVjcmVtZW50LCAuaW5wdXQtbnVtYmVyLWluY3JlbWVudCB7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkaW5wdXQtYm9yZGVyLWNvbG91ciwgaW52YWxpZCk7XHJcbiAgICAgICY6bm90KC5kaXNhYmxlZCkge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgOSk7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgICYuZGlzYWJsZWQge1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkaW5wdXQtYm9yZGVyLWNvbG91ciwgZGlzYWJsZWQpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAuaW5wdXQtbnVtYmVyIHtcclxuICAgICAgY29sb3I6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMCk7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgOSk7XHJcbiAgICAgICY6OnBsYWNlaG9sZGVyIHtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICAvLyBPbGQgd2F5IG9mIGRvaW5nIHRoaXMgcmVxdWlyaW5nIEpTLlxyXG4gICYuaXMtaW52YWxpZC1xdWFudGl0eSB7XHJcbiAgICAuaW5wdXQtbnVtYmVyLWdyb3VwIC5pbnB1dC1udW1iZXIge1xyXG4gICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGlucHV0LWJvcmRlci1jb2xvdXIsIGludmFsaWQpO1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRub3RpZmljYXRpb25zLWJhY2tncm91bmQtY29sb3VyLCBhbGVydCk7XHJcbiAgICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGlucHV0LWJvcmRlci1jb2xvdXIsIGludmFsaWQpO1xyXG4gICAgICAgICAgYm94LXNoYWRvdzogJGJveFNoYWRvdzM7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAucXVhbnRpdHktZXJyb3Ige1xyXG4gICAgICBtYXgtaGVpZ2h0OiAxMDBweDtcclxuICAgICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgfVxyXG4gIH1cclxuICAucXVhbnRpdHktZXJyb3Ige1xyXG4gICAgbWF4LWhlaWdodDogMDtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgY29sb3I6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMCk7XHJcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcclxuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgJHRyYW5zaXRpb25PdXRybztcclxuICB9XHJcbn1cclxuXHJcbi8vIE92ZXJyaWRpbmcgZm91bmRhdGlvbnMgc3R5bGVzLlxyXG4ucXVhbnRpdHktZnJlZS10ZXh0LWNvbnRhaW5lciAuaW5wdXQtZ3JvdXAge1xyXG4gIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAganVzdGlmeS1jb250ZW50OiB1bnNldDtcclxuICB9XHJcbiAgaW5wdXQge1xyXG4gICAgd2lkdGg6ICRxdWFudGl0eS1mcmVlLXRleHQtaW5wdXQtd2lkdGg7XHJcbiAgICBoZWlnaHQ6ICRxdWFudGl0eS1mcmVlLXRleHQtaW5wdXQtaGVpZ2h0O1xyXG4gICAgQGlmICgkcXVhbnRpdHktZnJlZS10ZXh0LWlucHV0LWJvcmRlci1yYWRpdXMpIHtcclxuICAgICAgYm9yZGVyLXJhZGl1czogJHF1YW50aXR5LWZyZWUtdGV4dC1pbnB1dC1ib3JkZXItcmFkaXVzO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmlucHV0LW51bWJlci1ncm91cCB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICAvLyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gIC5pbnB1dC1ncm91cC1idXR0b24ge1xyXG4gICAgLy8gSUUgRG9lc24ndCBzZWVtIHRvIGxpa2UgdGhpcyBhcHByb2FjaC5cclxuICAgIGxpbmUtaGVpZ2h0OiAzNnB4O1xyXG4gIH1cclxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIHNwYW4uZGlzYWJsZWQge1xyXG4gICAgY3Vyc29yOiBuby1kcm9wO1xyXG4gIH1cclxuXHJcbiAgLmlucHV0LW51bWJlciB7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgZm9udC1zaXplOiByZW0tY2FsYygkcGFyYWdyYXBoLWZvbnQtc2l6ZSk7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGlucHV0LWJvcmRlci1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1ib3JkZXItY29sb3VyLCBob3Zlcik7XHJcbiAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmlucHV0LW51bWJlcixcclxuICAuaW5wdXQtbnVtYmVyLWRlY3JlbWVudCxcclxuICAuaW5wdXQtbnVtYmVyLWluY3JlbWVudCB7XHJcbiAgICBib3JkZXItcmFkaXVzOiAwO1xyXG4gICAgaGVpZ2h0OiAkcXVhbnRpdHktZnJlZS10ZXh0LWlucHV0LWhlaWdodDtcclxuICAgIHVzZXItc2VsZWN0OiBub25lO1xyXG4gIH1cclxuXHJcbiAgLmlucHV0LW51bWJlci1kZWNyZW1lbnQsXHJcbiAgLmlucHV0LW51bWJlci1pbmNyZW1lbnQge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgd2lkdGg6ICRxdWFudGl0eS1mcmVlLXRleHQtYnV0dG9uLXdpZHRoO1xyXG4gICAgaGVpZ2h0OiAkZmllbGRzZXQtaW5wdXQtaGVpZ2h0O1xyXG4gICAgYmFja2dyb3VuZDogJHF1YW50dGl5LWZyZWUtdGV4dC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJHF1YW50aXR5LWZyZWUtdGV4dC1idXR0b24tYm9yZGVyLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgZm9udC1zaXplOiAkcXVhbnRpdHktZnJlZS10ZXh0LWJ1dHRvbi1mb250LXNpemU7XHJcbiAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgIH1cclxuICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XHJcbiAgICAgICY6aG92ZXIge1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkcXVhbnRpdHktZnJlZS10ZXh0LWJ1dHRvbi1ib3JkZXItY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgJjpub3QoLmRpc2FibGVkKSB7XHJcbiAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmlucHV0LW51bWJlci1kZWNyZW1lbnQge1xyXG4gICAgYm9yZGVyLXdpZHRoOiAxcHggMCAxcHggMXB4O1xyXG4gICAgQGlmIHNtb290aC1lZGdlcygpIHtcclxuICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCkgMCAwIHNtb290aC1lZGdlcygpO1xyXG4gICAgfVxyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBxdWFudGl0eS1zZWxlY3Rvci1pbmNyZW1lbnQpO1xyXG4gICAgfVxyXG4gIH1cclxuICAuaW5wdXQtbnVtYmVyLWluY3JlbWVudCB7XHJcbiAgICBib3JkZXItd2lkdGg6IDFweCAxcHggMXB4IDA7XHJcbiAgICBAaWYgc21vb3RoLWVkZ2VzKCkge1xyXG4gICAgICBib3JkZXItcmFkaXVzOiAwIHNtb290aC1lZGdlcygpIHNtb290aC1lZGdlcygpIDA7XHJcbiAgICB9XHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHF1YW50aXR5LXNlbGVjdG9yLWRlY3JlbWVudCk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLyAtLS0gU2VsZWN0IGRyb3Bkb3duICAtLS1cclxuLnF1YW50aXR5LXNlbGVjdG9yLWNvbnRhaW5lciB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAganVzdGlmeS1jb250ZW50OiB1bnNldDtcclxuICB9XHJcbiAgLmNvbnRyb2wtc2VsZWN0LWNvbnRhaW5lciB7XHJcbiAgICBoZWlnaHQ6ICRxdWFudGl0eS1kcm9wZG93bi1oZWlnaHQ7XHJcbiAgfVxyXG4gIC5zZWxlY3Qge1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICB3aWR0aDogOTBweDtcclxuICAgIH1cclxuICAgIHNlbGVjdCB7XHJcbiAgICAgIGhlaWdodDogJHF1YW50aXR5LWRyb3Bkb3duLWhlaWdodDtcclxuICAgIH1cclxuICB9XHJcbiAgLmxhYmVsIHtcclxuICAgIEBpbmNsdWRlIHF1YW50aXR5LXNlbGVjdG9yLWxhYmVsKCk7XHJcbiAgfVxyXG4gIFxyXG59XHJcblxyXG4vLyAtLS0tLSBBYmlkZSAtLS0tLSBcclxuLy8gLS0tIEZvcm0gRXJyb3JzIC0tLVxyXG4vLyBTdGFuZGFyZCBFcnJvciB0aGF0IGdldHMgc2hvdyB1bmRlciB0aGUgZmllbGQuXHJcbnNwYW4uZm9ybS1lcnJvciB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBib3JkZXI6IDA7XHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgcGFkZGluZy1sZWZ0OiBsYXJnZS12YWx1ZSgkZmllbGRzZXQtbGFiZWwtd2lkdGgpO1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICB9XHJcbiAgJi5pcy12aXNpYmxlIHtcclxuICAgIC8vcGFkZGluZy1sZWZ0OiAxMHB4O1xyXG4gICAgbWFyZ2luLXRvcDogMTBweDtcclxuICB9XHJcbn1cclxuLy8gRXJyb3IgdGhhdCBkb2Vzbid0IGdldCBzaG93IGRpcmVjdGx5IGluIHRoZSBtYWluIGNvbnRlbnQgYnV0IHJhdGhlciBpbiBhIGNhbGxvdXQuXHJcbnNwYW4uZm9ybS1jYWxsb3V0LWVycm9yIHtcclxuICAvLyBPdmVycmlkZSBmb3VuZGF0aW9uLlxyXG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxufVxyXG5cclxuLmlzLWludmFsaWQtaW5wdXQge1xyXG4gIGJvcmRlci1jb2xvcjogZ2V0LWNvbG9yKGFsZXJ0KTtcclxuICAvLyBhbmltYXRpb246IGtmX3NoYWtlIDAuNHMgMS44IGxpbmVhcjtcclxufVxyXG5cclxuXHJcbnVsLmFkdmFuY2VkLXZhbGlkYXRpb24ge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gIGZsZXgtd3JhcDogd3JhcDtcclxuICBwYWRkaW5nOiAwIDEwcHg7XHJcbiAgbGlzdC1zdHlsZTogbm9uZTtcclxuICBtYXJnaW46IDAgMCAzNXB4O1xyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gICAgcGFkZGluZzogMDtcclxuICB9XHJcbiAgPiBsaSB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgfVxyXG4gICAgJjpub3QoOmZpcnN0LWNoaWxkKSB7XHJcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgcGFkZGluZzogMCAwIDAgMTFweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5hZHZhbmNlZC1mb3JtLWVycm9yIHtcclxuICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgIG1hcmdpbjogMCAxMHB4O1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGFkdmFuY2VkLXZhbGlkYXRpb24tZm9udC1zaXplKTtcclxuICAgICAgZm9udC13ZWlnaHQ6ICRhZHZhbmNlZC12YWxpZGF0aW9uLWZvbnQtd2VpZ2h0O1xyXG4gICAgICBmb250LXN0eWxlOiAkYWR2YW5jZWQtdmFsaWRhdGlvbi1mb250LXN0eWxlO1xyXG4gICAgICBjb2xvcjogJGFkdmFuY2VkLXZhbGlkYXRpb24tZGVmYXVsdC1jb2xvdXI7XHJcbiAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBhZHZhbmNlZC1mb3JtLWZhaWwpO1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICBtYXJnaW46IDAgNXB4IDAgMDtcclxuICAgICAgICBmb250LXNpemU6ICRhZHZhbmNlZC12YWxpZGF0aW9uLWljb24tc2l6ZTtcclxuICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG4gICAgICAgIGNvbG9yOiAkYWR2YW5jZWQtdmFsaWRhdGlvbi1kZWZhdWx0LWljb24tY29sb3VyO1xyXG4gICAgICB9XHJcbiAgICAgICYuaXMtdmFsaWQge1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRzdWNjZXNzLWNvbG91ciwgMCk7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgYWR2YW5jZWQtZm9ybS1zdWNjZXNzKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgJi5pcy1pbnZhbGlkIHtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKTtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBhZHZhbmNlZC1mb3JtLWZhaWwpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgXHJcbiAgfVxyXG59XHJcblxyXG4vLyBUaGUgcmVhc29uIGZvciB0aGUgb3ZlcnJpZGVzIGlzIGJlY2F1c2Ugd2UgbmVlZCB0byB1dGlsaXNlIGFiaWRlJ3MgbGl2ZSB2YWxpZGF0aW9uIHdoaWNoIGFkZHMgdGhlIGludmFsaWQgY2xhc3MsIGl0IGlzIGZhciBzaW1waWxhciB0byBvdmVycmlkZSBoZXJlIGluc3RlYWQgb2YgbW9kaWZ5aW5nIHRoZSBub2RlIG1vZHVsZXMuXHJcbi5hZHZhbmNlZC12YWxpZGF0aW9uLWFjdGl2ZS5pcy1pbnZhbGlkLWxhYmVsIHtcclxuICBjb2xvcjogJGNvbG91cjMtMztcclxuICAvLyAuaXMtaW52YWxpZC1pbnB1dDpmb2N1cyB7IFxyXG4gIC8vICAgYm9yZGVyLWNvbG9yOiAkY29sb3VyMCFpbXBvcnRhbnQ7XHJcbiAgLy8gICAmICsgLmxpbmUtYnV0dG9uIHtcclxuICAvLyAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3VyMCFpbXBvcnRhbnQ7XHJcbiAgLy8gICB9XHJcbiAgLy8gfVxyXG59XHJcblxyXG4vLyBUaGUgZGlmZmVyZW5jZSBiZXR3ZWVuIGdyb3VwLWZvcm0tZXJyb3IgJiBlcnJvci1ibG9jayBpcyB0aGUgZXJyb3ItYmxvY2sgaXMgZGljdGF0ZWQgYnkgdGhlIHNlcnZlciB3aGVuIHRvIHNob3cgYnV0IGdyb3VwLWZvcm0tZXJyb3IgaXMgc2hvd24gd2hlbiB0aGUgSlMgdmFsaWRhdGlvbiBkZWNpZGVzIHdoZW4gdG9kbyBzby5cclxuLmdyb3VwLWZvcm0tZXJyb3Ige1xyXG4gIGRpc3BsYXk6IG5vbmU7XHJcbiAgbWFyZ2luOiAxMHB4IDAgMDtcclxuICBAaW5jbHVkZSBlcnJvci1ibG9jaygpO1xyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgIC8vIFN1cHJlc3NpbmcgdG8gYWxsb3cgZm9yIGJ1dHRvbiBtYXJnaW4gaGFuZGxlIHRoZSBndXR0ZXJzLCB0aGlzIHdhcyBkZWNpZGVkIGZvciBkb3dubG9hZCBvcmRlcnMuXHJcbiAgICBtYXJnaW46IDAgMCAxMHB4O1xyXG4gIH1cclxufVxyXG5cclxuLy8gVGhpcyBpcyB0eXBpY2FsbHkgdXNlZCBmb3Igc2VydmVyIGZvcm0gZXJyb3JzLlxyXG4uZXJyb3ItYmxvY2sge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJG9uLXBhZ2Utbm90aWZpY2F0aW9uLWJhY2tncm91bmQsIGFsZXJ0KTtcclxuICBtYXJnaW46IDAgMCAzMHB4O1xyXG4gIHBhZGRpbmc6IDEwcHggMjBweDtcclxuICBAaW5jbHVkZSBlcnJvci1ibG9jaygpO1xyXG59XHJcblxyXG4vLyAtLS0gR2VuZXJhbCB2YWxpZGF0aW9uIC0tLVxyXG4uY29udHJvbC5pcy1pbnZhbGlkLWxhYmVsIHtcclxuICBpbnB1dCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDkpO1xyXG4gICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDApO1xyXG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uSW50cm8sIGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICY6Zm9jdXMge1xyXG4gICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGlucHV0LWJvcmRlci1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICB9XHJcbiAgICAmOjpwbGFjZWhvbGRlciB7XHJcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDApO1xyXG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgfVxyXG4gICAgJiArIGJ1dHRvbiB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJG5vdGlmaWNhdGlvbnMtYmFja2dyb3VuZC1jb2xvdXIsIGFsZXJ0KTtcclxuICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1ib3JkZXItY29sb3VyLCBpbnZhbGlkKTtcclxuICAgICAgY29sb3I6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMCk7XHJcbiAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgKyBzcGFuLmNoZWNrYm94IHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkbm90aWZpY2F0aW9ucy1iYWNrZ3JvdW5kLWNvbG91ciwgYWxlcnQpO1xyXG4gICAgICBib3JkZXI6IDFweCBzb2xpZCBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDApO1xyXG4gICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcblxyXG5Aa2V5ZnJhbWVzIGtmX3NoYWtlIHtcclxuICAwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDEwcHgpO1xyXG4gIH1cclxuXHJcbiAgMjAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTEwcHgpO1xyXG4gIH1cclxuXHJcbiAgNDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoNXB4KTtcclxuICB9XHJcblxyXG4gIDYwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01cHgpO1xyXG4gIH1cclxuXHJcbiAgODAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoNHB4KTtcclxuICB9XHJcblxyXG4gIDEwMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwcHgpO1xyXG4gIH1cclxufVxyXG4uZmllbGQtbGVhZC1pbi10ZXh0IHtcclxuICB3aWR0aDogMTAwJTtcclxuICBjb2xvcjogbWFwLWdldCgkbGFiZWwtY29sb3VyLCBkZWZhdWx0KTtcclxuICBmb250LXdlaWdodDogJGZvcm1zLWxhYmVsLWZvbnQtd2VpZ2h0O1xyXG59XHJcblxyXG5sYWJlbCB7XHJcbiAgJjpub3QoLmRpc2FibGVkKSwgJjpub3QoLnJlYWQtb25seS1pbnB1dCkge1xyXG4gICAgLmxhYmVsIHtcclxuICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGxhYmVsLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICB9XHJcbiAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkbGFiZWwtY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5sYWJlbCB7XHJcbiAgICBjb2xvcjogbWFwLWdldCgkbGFiZWwtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgIGZvbnQtd2VpZ2h0OiAkZm9ybXMtbGFiZWwtZm9udC13ZWlnaHQ7XHJcbiAgfVxyXG4gIGlucHV0IHtcclxuICAgIC8vIFNwZWNpZmljYWxseSBub3QgZmlsZSB0eXBlIGR1ZSB0byB0aGF0IHNwYW5uaW5nIHRoZSBlbnRpcmUgd2lkdGggb2YgdGhlIGNvbnRhaW5lci5cclxuICAgICY6bm90KFt0eXBlPWZpbGVdKTpub3QoW3R5cGU9Y2hlY2tib3hdKTpub3QoW3R5cGU9cmFkaW9dKSB7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgLy8gT3ZlcnJpZGluZyBmb3VuZGF0aW9ucyBzdHlsZXMuXHJcbiAgICAgIC8vd2lkdGg6IGluaGVyaXQgIWltcG9ydGFudDtcclxuICAgICAgLy8gT3ZlcnJpZGluZyBmb3VuZGF0aW9ucyBzdHlsZXMuXHJcbiAgICAgIGhlaWdodDogJGZpZWxkc2V0LWlucHV0LWhlaWdodDtcclxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC8vICYuaXMtaW52YWxpZC1pbnB1dDpub3QoOmZvY3VzKSB7XHJcbiAgICAvLyAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJG5vdGlmaWNhdGlvbnMtYmFja2dyb3VuZC1jb2xvdXIsIGFsZXJ0KTtcclxuICAgIC8vIH1cclxuXHJcbiAgICAmLmlzLWludmFsaWQtaW5wdXQgKyBidXR0b24uaW5saW5lLWJ1dHRvbiB7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKTtcclxuICAgIH1cclxuICAgICYuaXMtaW52YWxpZC1pbnB1dFt0eXBlPXBhc3N3b3JkXTpmb2N1cyArIGJ1dHRvbi5pbmxpbmUtYnV0dG9uIHtcclxuICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1ib3JkZXItY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgfVxyXG4gICAgJjpmb2N1cyArIGJ1dHRvbi5pbmxpbmUtYnV0dG9uOmhvdmVyIHtcclxuICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1ib3JkZXItY29sb3VyLCBhY3RpdmUtaG92ZXIpO1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vIEdvaW5nIGJhY2sgb24gdGhpcyBkZWNpc2lvbiBhcyBGaXJlZm94IG9uIGhhcyAyLjc1JSBvZiBnbG9iYWwgdXNhZ2UsIHRoZSB3YXkgdG8gZml4IHRoaXMgaXMgdG8gZXNzZW50YWxseSBvdXRwdXQgdGhlIGJ1dHRvbiBtYW51YWxseSB1c2luZyBIVE1MIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzM3ODQ2MDIzL2lucHV0LXR5cGUtc2VhcmNoLW5vLWxvbmdlci1zaG93cy1jYW5jZWwtYnV0dG9uLXgtdW5kZXItZmlyZWZveFxyXG4vLyBEdWUgdG8gbGFjayBvZiBicm93c2VyIHN1cHBvcnQgdGhpcyBuZWVkcyB0byBiZSBzdXBwcmVzcyBkdWUgdG8gY29uc2lzdGVuY3kuXHJcbi8qIGNsZWFycyB0aGUgJ1gnIGZyb20gSW50ZXJuZXQgRXhwbG9yZXIgKi9cclxuLy8gaW5wdXRbdHlwZT1zZWFyY2hdOjotbXMtY2xlYXIgeyAgZGlzcGxheTogbm9uZTsgd2lkdGggOiAwOyBoZWlnaHQ6IDA7IH1cclxuLy8gaW5wdXRbdHlwZT1zZWFyY2hdOjotbXMtcmV2ZWFsIHsgIGRpc3BsYXk6IG5vbmU7IHdpZHRoIDogMDsgaGVpZ2h0OiAwOyB9XHJcblxyXG4vKiBjbGVhcnMgdGhlICdYJyBmcm9tIENocm9tZSAqL1xyXG4vLyBpbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uLFxyXG4vLyBpbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxyXG4vLyBpbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWJ1dHRvbixcclxuLy8gaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtcmVzdWx0cy1kZWNvcmF0aW9uIHsgZGlzcGxheTogbm9uZTsgfVxyXG5cclxuLy8gLS0tLS0gUG9zdGNvZGUgbG9va3VwIC0tLS0tXHJcbi5sb29rdXAtY29udGFpbmVyIHtcclxuICB3aWR0aDogMTAwJTtcclxufVxyXG4vLyAucG9zdGNvZGUtbG9va3VwLWNvbnRhaW5lciB7XHJcbi8vICAgLmxhYmVsIHtcclxuLy8gICAgICAgd2lkdGg6IDEwMCU7XHJcbi8vICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuLy8gICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4vLyAgICAgICB9XHJcbi8vICAgfVxyXG4vLyB9XHJcbi5wb3N0Y29kZS1sb29rdXAtZXJyb3Ige1xyXG4gIGRpc3BsYXk6IG5vbmU7XHJcbiAgY29sb3I6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMCk7XHJcbiAgJi5hY3RpdmUge1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICB9XHJcblxyXG59XHJcbmlucHV0Lmxvb2t1cC1rZXkge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIG1hcmdpbi1yaWdodDogMTVweDtcclxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICB3aWR0aDogMzYwcHg7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcclxuICB9XHJcbiAgJiArIGJ1dHRvbiAge1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICBoZWlnaHQ6ICRmaWVsZHNldC1pbnB1dC1oZWlnaHQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gICYuaXMtdmFsaWQtaW5wdXQgKyBidXR0b24ge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkcGNvZGUtbG9va3VwLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgYWN0aXZlKTtcclxuICAgIGNvbG9yOiBtYXAtZ2V0KCRwY29kZS1sb29rdXAtYnV0dG9uLWNvbG91ciwgYWN0aXZlKTtcclxuICB9XHJcbiAgJi5pcy1pbnZhbGlkLWlucHV0ICsgYnV0dG9uIHtcclxuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XHJcbiAgfVxyXG59XHJcblxyXG5idXR0b24ubG9va3VwLXN1Ym1pdCB7XHJcbiAvL0BpbmNsdWRlIGJ1dHRvbjEoJGNvbG91cjEsIDE0LCA2MDAsIDAgMTVweCk7XHJcbiBAaW5jbHVkZSBjb21tb24tYnV0dG9uLTEoJHBjb2RlLWxvb2t1cC1idXR0b24tcGFkZGluZywgJHBjb2RlLWxvb2t1cC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsICRwY29kZS1sb29rdXAtYnV0dG9uLWNvbG91ciwgJHBjb2RlLWxvb2t1cC1idXR0b24tYm9yZGVyLWNvbG91ciwgZ2V0LWJ1dHRvbi1mb250LXNpemUoXCJhc3NvY2lhdGVkXCIpLCBnZXQtYnV0dG9uLWZvbnQtd2VpZ2h0cyhcImFzc29jaWF0ZWRcIiksICh3aWR0aDogYXV0bywgbW9iaWxlLXdpZHRoOiAxMDAlKSwgKHNtYWxsOiAxMHB4IDAgMCwgbWVkaXVtOiAwIDAgMCAxMHB4LCBsYXJnZTogMCAwIDAgMTBweCkpO1xyXG59XHJcblxyXG4ubG9va3VwLXJlc3VsdHMge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIHVsIHtcclxuICAgIG1heC1oZWlnaHQ6IDIyNXB4O1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xyXG4gICAgLnNlbGVjdGVkIHtcclxuICAgICAgY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgfVxyXG4gICAgbGkge1xyXG4gICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgYnV0dG9uLCBhIHtcclxuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgIEBpZiAoJGxvb2t1cHMtcmVzdWx0cy1oaWdobGlnaHRlZC10ZXh0LWVuYWJsZWQpIHtcclxuICAgICAgLy8gSGlnaGxpZ2h0IGNvbnRlbnQuXHJcbiAgICAgIHNwYW4geyBcclxuICAgICAgICBjb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgIH1cclxuICAgICY6YWN0aXZlIHsgXHJcbiAgICAgIGNvbG9yOiAkY29sb3VyNjtcclxuICAgICAgc3BhbiB7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvdXI2O1xyXG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgJi5icmFuY2gtc2VhcmNoLCAmLmFjY291bnQtc2VhcmNoIHtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgbWFyZ2luLWxlZnQ6ICRicmFuY2gtc2VsZWN0b3ItbGFiZWwtd2lkdGg7XHJcbiAgICB9XHJcbiAgICBidXR0b24ge1xyXG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbn1cclxuXHJcbi8vIC0tLS0tIEdlb2xvY2F0aW9uIC0tLS0tXHJcbi5nZW9sb2NhdGlvbi1jb250aWFuZXIge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxufVxyXG5cclxuLy8gLS0tLS0gRGVmYXVsdCBzZWFyY2ggc3R5bGVzIC0tLS0tIFxyXG5pbnB1dFt0eXBlPXNlYXJjaF0ge1xyXG4gIGZsZXg6IDE7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIHBhZGRpbmc6ICRmaWVsZHNldC1pbnB1dC1wYWRkaW5nO1xyXG4gIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGlucHV0LXNlYXJjaC1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICBib3JkZXItd2lkdGg6IDFweCAwIDFweCAxcHg7XHJcbiAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1ib3JkZXItY29sb3VyLCBkZWZhdWx0KTtcclxuICBAaWYgKHNtb290aC1lZGdlcygkaW5wdXQtYm9yZGVyLXJhZGl1cykpIHtcclxuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHNtb290aC1lZGdlcygkaW5wdXQtYm9yZGVyLXJhZGl1cyk7XHJcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiBzbW9vdGgtZWRnZXMoJGlucHV0LWJvcmRlci1yYWRpdXMpO1xyXG4gIH1cclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbk91dHJvLCBib3JkZXItY29sb3IgJHRyYW5zaXRpb25PdXRybywgYm94LXNoYWRvdyAkdHJhbnNpdGlvbk91dHJvO1xyXG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xyXG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xyXG4gIC8vIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgIC8vIG1hcmdpbi1ib3R0b206IDE2cHg7XHJcbiAgICAvLyBwYWRkaW5nOiAwIDcwcHggMCAyNXB4O1xyXG4gIC8vIH1cclxuICAvLyBDb250cmFzdCBjaGVja2VyIGZvciBzZWFyY2ggYnV0dG9uLlxyXG4gIC8vIERlZmF1bHRcclxuICAkYnV0dG9uLWNvbG91ci1kZWZhdWx0OiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJHNlYXJjaC1idXR0b24taWNvbi1jb2xvdXIsIGRlZmF1bHQpICxtYXAtZ2V0KCRpbnB1dC1zZWFyY2gtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KSk7XHJcbiAgLy8gSG92ZXJcclxuICAkYnV0dG9uLWNvbG91ci1ob3ZlcjogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRzZWFyY2gtYnV0dG9uLWljb24tY29sb3VyLCBob3ZlciksIG1hcC1nZXQoJGlucHV0LXNlYXJjaC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGhvdmVyKSk7XHJcbiAgLy8gQWN0aXZlXHJcbiAgJGJ1dHRvbi1jb2xvdXItYWN0aXZlOiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJHNlYXJjaC1idXR0b24taWNvbi1jb2xvdXIsIGFjdGl2ZSksbWFwLWdldCgkaW5wdXQtc2VhcmNoLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgYWN0aXZlKSk7XHJcblxyXG5cclxuICAmOmhvdmVyLCAmLmhvdmVyIHtcclxuICAgIGJveC1zaGFkb3c6IC0xcHggMHB4IDIwcHggNnB4IHJnYmEoMTIsIDEyLCAxMywgMC4xKTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IGhvdmVyLWNvbG91cigkaW5wdXQtc2VhcmNoLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgIGJvcmRlci1jb2xvcjogaG92ZXItY29sb3VyKCRpbnB1dC1ib3JkZXItY29sb3VyKTtcclxuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25JbnRybywgYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uSW50cm8sIGJveC1zaGFkb3cgJHRyYW5zaXRpb25JbnRybztcclxuICAgICsgYnV0dG9uIHtcclxuICAgICAgYm94LXNoYWRvdzogMTVweCAwcHggMjBweCAycHggcmdiYSgxMiwgMTIsIDEzLCAwLjEpO1xyXG4gICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGlucHV0LWJvcmRlci1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkaW5wdXQtc2VhcmNoLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgY29sb3I6ICRidXR0b24tY29sb3VyLWhvdmVyO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gICY6Zm9jdXMsICY6YWN0aXZlLCAmLmZvY3VzIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IGFjdGl2ZS1jb2xvdXIoJGlucHV0LXNlYXJjaC1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XHJcbiAgICArIGJ1dHRvbiB7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkaW5wdXQtYm9yZGVyLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkaW5wdXQtc2VhcmNoLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uT3V0cm8sIGJveC1zaGFkb3cgJHRyYW5zaXRpb25PdXRybyBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICBjb2xvcjogJGJ1dHRvbi1jb2xvdXItYWN0aXZlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gICY6OnBsYWNlaG9sZGVyIHtcclxuICAgIC8vIEJpdCBvZiBhIGhhY2sgYnV0IHRoZSBvbmx5IHdheSB0byB2ZXJ0aWNhbGx5IGFsaWduIHRoZSB0ZXh0IGR1ZSB0byBzb21lIGZvbnQgZmFtaWx5J3MgbWFraW5nIHRoZSB0ZXh0IGFwcGVhciBzbGlnaHQgaGlnaGllciB0aGFuIG90aGVycyAuLi4uLiBhbmQgbm8gZmxleGJveCBkb2Vzbid0IGhlbHAgaGVyZSBJIHRyaWVkLlxyXG4gICAgaGVpZ2h0OiBmaXQtY29udGVudDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMDtcclxuICAgIGJvdHRvbTogMDtcclxuICAgIG1hcmdpbjogYXV0bztcclxuICAgIGNvbG9yOiAkaW5wdXQtc2VhcmNoLXBsYWNlaG9sZGVyLWNvbG91cjtcclxuICAgIGZvbnQtZmFtaWx5OiBnZXQtdHlwb2dyYXBoeS1mb250LWZhbWlseShcInNlY29uZGFyeS1mb250XCIpO1xyXG4gICAgLy9mb250LXNpemU6IHJlbS1jYWxjKCRpbnB1dC1zZWFyY2gtcGxhY2Vob2xkZXItZm9udC1zaXplKTtcclxuICAgIC8vZm9udC13ZWlnaHQ6ICRpbnB1dC1zZWFyY2gtcGxhY2Vob2xkZXItZm9udC13ZWlnaHQ7XHJcbiAgICBAaWYgJGlucHV0LXNlYXJjaC1wbGFjZWhvbGRlci1zdHlsZSB7XHJcbiAgICAgIGZvbnQtc3R5bGU6ICRpbnB1dC1zZWFyY2gtcGxhY2Vob2xkZXItc3R5bGU7XHJcbiAgICB9XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogJGlucHV0LXNlYXJjaC1wbGFjZWhvbGRlci10ZXh0LXRyYW5zZm9ybTtcclxuICB9XHJcbiAgQGlmIChzbW9vdGgtZWRnZXMoJGlucHV0LWJvcmRlci1yYWRpdXMpKSB7XHJcbiAgICAmOm5vdCg6aGFzKCsgYnV0dG9uKSkge1xyXG4gICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogc21vb3RoLWVkZ2VzKCRpbnB1dC1ib3JkZXItcmFkaXVzKTtcclxuICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHNtb290aC1lZGdlcygkaW5wdXQtYm9yZGVyLXJhZGl1cyk7XHJcbiAgICB9XHJcbiAgfVxyXG4gICsgYnV0dG9uIHtcclxuICAgIHdpZHRoOiAkc2VhcmNoLWJ1dHRvbi13aWR0aDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGlucHV0LXNlYXJjaC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgIGJvcmRlci13aWR0aDogJGlucHV0LXNlYXJjaC1idXR0b24tYm9yZGVyLXdpZHRoO1xyXG4gICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1zZWFyY2gtYnV0dG9uLWJvcmRlci1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHNtb290aC1lZGdlcygkaW5wdXQtYm9yZGVyLXJhZGl1cyk7XHJcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogc21vb3RoLWVkZ2VzKCRpbnB1dC1ib3JkZXItcmFkaXVzKTtcclxuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XHJcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbk91dHJvLCBib3JkZXItY29sb3IgJHRyYW5zaXRpb25PdXRybywgYm94LXNoYWRvdyAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGlucHV0LXNlYXJjaC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgY29sb3I6ICRidXR0b24tY29sb3VyLWhvdmVyO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgICY6YWN0aXZlIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkaW5wdXQtc2VhcmNoLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGNvbG9yOiAkYnV0dG9uLWNvbG91ci1hY3RpdmU7XHJcbiAgICAgIH1cclxuICAgICAgXHJcbiAgICB9XHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHNlYXJjaCk7XHJcbiAgICAgIHdpZHRoOiAkc2VhcmNoLWJ1dHRvbi13aWR0aDtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgIGZvbnQtZmFtaWx5OiBjdXN0b20taWNvbi1mYW1pbHkoJGZvbnRBd2Vzb21lU29saWQsICRzaXRlLWljb25zLWN1c3RvbS1zZWFyY2gtaWNvbik7XHJcbiAgICAgIGZvbnQtc2l6ZTogJHNlYXJjaC1idXR0b24taWNvbi1zaXplO1xyXG4gICAgICBjb2xvcjogJGJ1dHRvbi1jb2xvdXItZGVmYXVsdDtcclxuICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgIH1cclxuICAgIEBpZiAkc2VhcmNoLWJ1dHRvbi1pbm5lci1ib3JkZXIge1xyXG4gICAgICAmOmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvdXIxO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLyAtLS0tLSBUb2dnbGVhYmxlIGlucHV0cyAtLS0tLSBcclxuLnRvZ2dsZS1jb250YWluZXIge1xyXG4gIG1heC1oZWlnaHQ6IDA7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0ICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgJi5hY3RpdmUge1xyXG4gICAgbWF4LWhlaWdodDogNTAwMHB4O1xyXG4gICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAkdHJhbnNpdGlvbkludHJvO1xyXG4gIH1cclxufVxyXG5cclxuLy8gLS0tLS0gR2V0cyBwbGFjZWQgb3ZlciB0aGUgZmllbGRzIHRvIGJsb2NrIHRoZSB1c2VyIGZyb20gY2xpY2tpbmcgb24gdGhlbSAtLS0tXHJcbi51aS1ibG9jay1wYW5lIHtcclxuICB3aWR0aDogMTAwJTtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogMDtcclxuICBsZWZ0OiAwO1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICR1aS1ibG9jay1iYWNrZ3JvdW5kO1xyXG4gIGN1cnNvcjogbm8tZHJvcDtcclxuICB6LWluZGV4OiAxMDAwO1xyXG4gICY6YmVmb3JlIHtcclxuICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgbm8tYWNjZXNzKTtcclxuICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICBmb250LXNpemU6IDgycHg7XHJcbiAgICAgIGNvbG9yOiByZ2JhKCRjb2xvdXIzLTMsIDAuNik7XHJcbiAgfVxyXG59XHJcblxyXG4vLyAtLS0tLSBTU08gU2VsZWN0aW9uIC0tLS0tXHJcbi5zc28tc2VsZWN0aW9uLWNvbnRhaW5lciB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gIHBhZGRpbmc6IDEwcHggMDtcclxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICBwYWRkaW5nOiAjeyRzc28tY29tbW9uLWdhcH0gMDtcclxuICB9XHJcbiAgLnNzby1zZWxlY3Rpb24tY29udGFpbmVyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgZ2FwOiAkc3NvLWNvbW1vbi1nYXA7XHJcbiAgfVxyXG4gIC5vcHRpb24tY29udGFpbmVyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgJiArIC5zc28tc2VwZXJhdG9yIHtcclxuICAgICAgbWFyZ2luLXRvcDogJHNzby1jb21tb24tZ2FwO1xyXG4gICAgfVxyXG4gIH1cclxuICAuc3NvLWJ1dHRvbiB7XHJcbiAgICB3aWR0aDogc21hbGwtdmFsdWUoJHNzby1idXR0b24td2lkdGgpO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBtYXJnaW46IGF1dG87XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgIC8vIFVzaW5nIG1pY3Jvc29mdCBidXR0b24gc3ZnIHdpZHRoICYgaGVpZ2h0IHRvIGdpdmUgb3VyIGFzcGVjdCByYXRpby4gaHR0cHM6Ly9sZWFybi5taWNyb3NvZnQuY29tL2VuLXVzL2VudHJhL2lkZW50aXR5LXBsYXRmb3JtL2hvd3RvLWFkZC1icmFuZGluZy1pbi1hcHBzXHJcbiAgICBhc3BlY3QtcmF0aW86IDIxNS80MTtcclxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJHRyYW5zaXRpb25PdXRybztcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgIHdpZHRoOiBtZWRpdW0tdmFsdWUoJHNzby1idXR0b24td2lkdGgpO1xyXG4gICAgfVxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIG9wYWNpdHk6IDAuNDtcclxuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgfVxyXG4gICAgJi5taWNyb3NvZnQge1xyXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJyN7JHNoYXJlZC1idXR0b25zLWRpcmVjdG9yeSArIGlmKCRzc28tYnV0dG9uLW1pY3Jvc29mdC10aGVtZSA9PSBcImxpZ2h0XCIsXCJtaWNyb3NvZnQtc3NvLWxpZ2h0LnN2Z1wiLFwibWljcm9zb2Z0LXNzby1kYXJrLnN2Z1wiKX0nKTtcclxuICAgIH1cclxuICB9XHJcbiAgLnNzby1zZXBlcmF0b3Ige1xyXG4gICAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wKTtcclxuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHNzby1zZXBlcmF0b3ItZm9udC1zaXplKTtcclxuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gIH1cclxufSIsIi8vICBGb3VuZGF0aW9uIGZvciBTaXRlcyBTZXR0aW5nc1xyXG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuLy9cclxuLy8gIFRhYmxlIG9mIENvbnRlbnRzOlxyXG4vL1xyXG4vLyAgIDEuIEdsb2JhbFxyXG4vLyAgIDIuIEJyZWFrcG9pbnRzXHJcbi8vICAgMy4gVGhlIEdyaWRcclxuLy8gICA0LiBCYXNlIFR5cG9ncmFwaHlcclxuLy8gICA1LiBUeXBvZ3JhcGh5IEhlbHBlcnNcclxuLy8gICA2LiBBYmlkZVxyXG4vLyAgIDcuIEFjY29yZGlvblxyXG4vLyAgIDguIEFjY29yZGlvbiBNZW51XHJcbi8vICAgOS4gQmFkZ2VcclxuLy8gIDEwLiBCcmVhZGNydW1ic1xyXG4vLyAgMTEuIEJ1dHRvblxyXG4vLyAgMTIuIEJ1dHRvbiBHcm91cFxyXG4vLyAgMTMuIENhbGxvdXRcclxuLy8gIDE0LiBDYXJkXHJcbi8vICAxNS4gQ2xvc2UgQnV0dG9uXHJcbi8vICAxNi4gRHJpbGxkb3duXHJcbi8vICAxNy4gRHJvcGRvd25cclxuLy8gIDE4LiBEcm9wZG93biBNZW51XHJcbi8vICAxOS4gRmxleGJveCBVdGlsaXRpZXNcclxuLy8gIDIwLiBGb3Jtc1xyXG4vLyAgMjEuIExhYmVsXHJcbi8vICAyMi4gTWVkaWEgT2JqZWN0XHJcbi8vICAyMy4gTWVudVxyXG4vLyAgMjQuIE1ldGVyXHJcbi8vICAyNS4gT2ZmLWNhbnZhc1xyXG4vLyAgMjYuIE9yYml0XHJcbi8vICAyNy4gUGFnaW5hdGlvblxyXG4vLyAgMjguIFByb2dyZXNzIEJhclxyXG4vLyAgMjkuIFByb3RvdHlwZSBBcnJvd1xyXG4vLyAgMzAuIFByb3RvdHlwZSBCb3JkZXItQm94XHJcbi8vICAzMS4gUHJvdG90eXBlIEJvcmRlci1Ob25lXHJcbi8vICAzMi4gUHJvdG90eXBlIEJvcmRlcmVkXHJcbi8vICAzMy4gUHJvdG90eXBlIERpc3BsYXlcclxuLy8gIDM0LiBQcm90b3R5cGUgRm9udC1TdHlsaW5nXHJcbi8vICAzNS4gUHJvdG90eXBlIExpc3QtU3R5bGUtVHlwZVxyXG4vLyAgMzYuIFByb3RvdHlwZSBPdmVyZmxvd1xyXG4vLyAgMzcuIFByb3RvdHlwZSBQb3NpdGlvblxyXG4vLyAgMzguIFByb3RvdHlwZSBSb3VuZGVkXHJcbi8vICAzOS4gUHJvdG90eXBlIFNlcGFyYXRvclxyXG4vLyAgNDAuIFByb3RvdHlwZSBTaGFkb3dcclxuLy8gIDQxLiBQcm90b3R5cGUgU2l6aW5nXHJcbi8vICA0Mi4gUHJvdG90eXBlIFNwYWNpbmdcclxuLy8gIDQzLiBQcm90b3R5cGUgVGV4dC1EZWNvcmF0aW9uXHJcbi8vICA0NC4gUHJvdG90eXBlIFRleHQtVHJhbnNmb3JtYXRpb25cclxuLy8gIDQ1LiBQcm90b3R5cGUgVGV4dC1VdGlsaXRpZXNcclxuLy8gIDQ2LiBSZXNwb25zaXZlIEVtYmVkXHJcbi8vICA0Ny4gUmV2ZWFsXHJcbi8vICA0OC4gU2xpZGVyXHJcbi8vICA0OS4gU3dpdGNoXHJcbi8vICA1MC4gVGFibGVcclxuLy8gIDUxLiBUYWJzXHJcbi8vICA1Mi4gVGh1bWJuYWlsXHJcbi8vICA1My4gVGl0bGUgQmFyXHJcbi8vICA1NC4gVG9vbHRpcFxyXG4vLyAgNTUuIFRvcCBCYXJcclxuLy8gIDU2LiBYeSBHcmlkXHJcbi8vIEZvdW5kYXRpb24gU0FTUyBmdW5jdGlvbi5cclxuQGltcG9ydCAndXRpbC91dGlsJztcclxuLy8gRXhwcmVzcyBjb25maWd1cmF0aW9uO1xyXG5AaW1wb3J0ICd2YXJpYWJsZXMuc2Nzcyc7XHJcbi8vIEV4cHJlc3MgTUlYSU4ncy5cclxuQGltcG9ydCAnbWl4aW5zJztcclxuLy8gRXhwcmVzcyB0eXBvZ3JhcGh5LlxyXG5AaW1wb3J0ICd0eXBvZ3JhcGh5LnNjc3MnO1xyXG5cclxuLy8gMS4gR2xvYmFsXHJcbi8vIC0tLS0tLS0tLVxyXG5cclxuJGdsb2JhbC1mb250LXNpemU6IDEwMCU7XHJcbiRnbG9iYWwtbGluZWhlaWdodDogJGRlZmF1bHQtbGluZS1oZWlnaHQ7XHJcbiRmb3VuZGF0aW9uLXBhbGV0dGU6IChcclxuICBwcmltYXJ5OiAkY29sb3VyNCxcclxuICBzZWNvbmRhcnk6ICRjb2xvdXIzLFxyXG4gIHN1Y2Nlc3M6IG1hcC1nZXQoJHN1Y2Nlc3MtY29sb3VyLCAwKSxcclxuICB3YXJuaW5nOiBtYXAtZ2V0KCR3YXJuaW5nLWNvbG91ciwgMCksXHJcbiAgYWxlcnQ6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMCksXHJcbik7XHJcbiRsaWdodC1ncmF5OiAkY29sb3VyMy0xO1xyXG4kbWVkaXVtLWdyYXk6ICRjb2xvdXIzLTI7XHJcbiRkYXJrLWdyYXk6ICRjb2xvdXIzLTM7XHJcbiRibGFjazogJGNvbG91cjI7XHJcbiR3aGl0ZTogJGNvbG91cjE7XHJcbiRib2R5LWJhY2tncm91bmQ6IG51bGw7IC8vIFRoaXMgZ2V0cyBvdmVycmlkZGVuIGJ5IGF4aXMtcGFnZS1iYWNrZ3JvdW5kLWNvbG91cnMuXHJcbiRib2R5LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3VyO1xyXG4kYm9keS1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XHJcbiRib2R5LWFudGlhbGlhc2VkOiB0cnVlO1xyXG4kZ2xvYmFsLW1hcmdpbjogMXJlbTtcclxuJGdsb2JhbC1wYWRkaW5nOiAxcmVtO1xyXG4kZ2xvYmFsLXBvc2l0aW9uOiAxcmVtO1xyXG4kZ2xvYmFsLXdlaWdodC1ub3JtYWw6IG5vcm1hbDtcclxuJGdsb2JhbC13ZWlnaHQtYm9sZDogYm9sZDtcclxuJGdsb2JhbC1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4kZ2xvYmFsLW1lbnUtcGFkZGluZzogJGdsb2JhbC1tZW51LWl0ZW0tcGFkZGluZztcclxuJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW46IDFyZW07XHJcbiRnbG9iYWwtdGV4dC1kaXJlY3Rpb246IGx0cjtcclxuJGdsb2JhbC1mbGV4Ym94OiB0cnVlO1xyXG4kZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50czogZmFsc2U7XHJcbiRnbG9iYWwtYnV0dG9uLWN1cnNvcjogcG9pbnRlcjtcclxuJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZTogMDtcclxuJHByaW50LXRyYW5zcGFyZW50LWJhY2tncm91bmRzOiB0cnVlO1xyXG4kcHJpbnQtaHJlZnM6IHRydWU7XHJcblxyXG5AaW5jbHVkZSBhZGQtZm91bmRhdGlvbi1jb2xvcnM7XHJcblxyXG4vLyAyLiBCcmVha3BvaW50c1xyXG4vLyAtLS0tLS0tLS0tLS0tLVxyXG5cclxuJGJyZWFrcG9pbnRzOiAoXHJcbiAgc21hbGw6IDAsXHJcbiAgbWVkaXVtOiA2NDBweCxcclxuICBsYXJnZTogJGdsb2JhbC13aWR0aCwgLy8gUmFpc2luZyBsYXJnZSBicmVha3BvaW50IHZhbHVlLCBzbyBhdCAxNTAlIHpvb20gd2UgZ28gaW50byBtb2JpbGUuXHJcbiAgeGxhcmdlOiAxNjAwcHgsXHJcbiAgeHhsYXJnZTogMTkyMHB4XHJcbik7XHJcbiRicmVha3BvaW50cy1oaWRwaTogKFxyXG4gIGhpZHBpLTE6IDEsXHJcbiAgaGlkcGktMS01OiAxLjUsXHJcbiAgaGlkcGktMjogMixcclxuICByZXRpbmE6IDIsXHJcbiAgaGlkcGktMzogM1xyXG4pO1xyXG4kcHJpbnQtYnJlYWtwb2ludDogbWVkaXVtOyAvLyBUaGUgcmVhc29uIGZvciBsb3dlcmluZyB0aGlzIGlzIHRoaXMgd2lsbCBhbGxvdyB0aGUgcmVzcG9uc2l2ZSB0YWJsZSBicmVha3BvaW50IGtpY2sgaW4gZ2l2ZW4gd2UncmUgZ29pbmcgYWJvdmUgMTMwMHB4IGRlbnNlIHRhYmxlcyB3b3VsZCBiZSBiZXR0ZXIgc2hvdyBpbiBtb2JpbGUgdmlldy5cclxuJGJyZWFrcG9pbnQtY2xhc3NlczogKHNtYWxsIG1lZGl1bSBsYXJnZSB4bGFyZ2UpO1xyXG5cclxuLy8gMy4gVGhlIEdyaWRcclxuLy8gLS0tLS0tLS0tLS1cclxuXHJcbiRncmlkLXJvdy13aWR0aDogJGdsb2JhbC13aWR0aDtcclxuJGdyaWQtY29sdW1uLWNvdW50OiAxMjtcclxuJGdyaWQtY29sdW1uLWd1dHRlcjogKFxyXG4gIHNtYWxsOiAyMHB4LFxyXG4gIG1lZGl1bTogMzBweCxcclxuKTtcclxuJGdyaWQtY29sdW1uLWFsaWduLWVkZ2U6IHRydWU7XHJcbiRncmlkLWNvbHVtbi1hbGlhczogJ2NvbHVtbnMnO1xyXG4kYmxvY2stZ3JpZC1tYXg6IDg7XHJcblxyXG4vLyA0LiBCYXNlIFR5cG9ncmFwaHlcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tXHJcbi8vIElNUE9SVEFOVDogRE8gTk9UIFVTRSBUSEVTRSBDT05GSUdVUkFUSU9OIE9QVElPTlMgVEhFIFNBU1MgRklMRSBJUyBOTyBMT05HRVIgQkVJTkcgSU1QT1JURUQgQU5EIEVYUFJFU1MgSEFORExFUyBIRUFESU5HIEZPTlRTIElUU0VMRiBTRUUgX1RZUE9HUkFQSFkuU0NTU1xyXG4kaGVhZGVyLWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcclxuJGhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xyXG4kaGVhZGVyLWZvbnQtc3R5bGU6IG5vcm1hbDtcclxuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogQ29uc29sYXMsICdMaWJlcmF0aW9uIE1vbm8nLCBDb3VyaWVyLCBtb25vc3BhY2U7XHJcbiRoZWFkZXItY29sb3I6IGluaGVyaXQ7XHJcbiRoZWFkZXItbGluZWhlaWdodDogMS40O1xyXG4kaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbTtcclxuJGhlYWRlci1zdHlsZXM6IChcclxuICBzbWFsbDogKFxyXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiAzNSksXHJcbiAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDI1KSxcclxuICAgICdoMyc6ICgnZm9udC1zaXplJzogMTkpLFxyXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAxOCksXHJcbiAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDE3KSxcclxuICAgICdoNic6ICgnZm9udC1zaXplJzogMTYpLFxyXG4gICksXHJcbiAgbWVkaXVtOiAoXHJcbiAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDQ4KSxcclxuICAgICdoMic6ICgnZm9udC1zaXplJzogNDApLFxyXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAzMSksXHJcbiAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDI1KSxcclxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMjApLFxyXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxNiksXHJcbiAgKSxcclxuKTtcclxuJGhlYWRlci10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xyXG4kc21hbGwtZm9udC1zaXplOiA4MCU7XHJcbiRoZWFkZXItc21hbGwtZm9udC1jb2xvcjogJG1lZGl1bS1ncmF5O1xyXG4kcGFyYWdyYXBoLWxpbmVoZWlnaHQ6IDEuNjtcclxuJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiAxcmVtO1xyXG4kcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XHJcbiRlbmFibGUtY29kZS1pbmxpbmU6IHRydWU7XHJcbiRhbmNob3ItY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG4kYW5jaG9yLWNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkYW5jaG9yLWNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKTtcclxuJGFuY2hvci10ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyOiBub25lO1xyXG4kaHItd2lkdGg6ICRnbG9iYWwtd2lkdGg7XHJcbiRoci1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XHJcbiRoci1tYXJnaW46IHJlbS1jYWxjKDIwKSBhdXRvO1xyXG4kbGlzdC1saW5laGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XHJcbiRsaXN0LW1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcclxuJGxpc3Qtc3R5bGUtdHlwZTogZGlzYztcclxuJGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGU7XHJcbiRsaXN0LXNpZGUtbWFyZ2luOiAxLjI1cmVtO1xyXG4kbGlzdC1uZXN0ZWQtc2lkZS1tYXJnaW46IDEuMjVyZW07XHJcbiRkZWZubGlzdC1tYXJnaW4tYm90dG9tOiAxcmVtO1xyXG4kZGVmbmxpc3QtdGVybS13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XHJcbiRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b206IDAuM3JlbTtcclxuJGJsb2NrcXVvdGUtY29sb3I6ICRkYXJrLWdyYXk7XHJcbiRibG9ja3F1b3RlLXBhZGRpbmc6IHJlbS1jYWxjKDkgMjAgMCAxOSk7XHJcbiRibG9ja3F1b3RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcclxuJGVuYWJsZS1jaXRlLWJsb2NrOiB0cnVlO1xyXG4ka2V5c3Ryb2tlLWZvbnQ6ICRmb250LWZhbWlseS1tb25vc3BhY2U7XHJcbiRrZXlzdHJva2UtY29sb3I6ICRibGFjaztcclxuJGtleXN0cm9rZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcclxuJGtleXN0cm9rZS1wYWRkaW5nOiByZW0tY2FsYygyIDQgMCk7XHJcbiRrZXlzdHJva2UtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuJGFiYnItdW5kZXJsaW5lOiAxcHggZG90dGVkICRibGFjaztcclxuXHJcbi8vIDUuIFR5cG9ncmFwaHkgSGVscGVyc1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRsZWFkLWZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemUgKiAxLjI1O1xyXG4kbGVhZC1saW5laGVpZ2h0OiAxLjY7XHJcbiRzdWJoZWFkZXItbGluZWhlaWdodDogMS40O1xyXG4kc3ViaGVhZGVyLWNvbG9yOiAkZGFyay1ncmF5O1xyXG4kc3ViaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XHJcbiRzdWJoZWFkZXItbWFyZ2luLXRvcDogMC4ycmVtO1xyXG4kc3ViaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbTtcclxuJHN0YXQtZm9udC1zaXplOiAyLjVyZW07XHJcbiRjaXRlLWNvbG9yOiAkZGFyay1ncmF5O1xyXG4kY2l0ZS1mb250LXNpemU6IHJlbS1jYWxjKDEzKTtcclxuJGNpdGUtcHNldWRvLWNvbnRlbnQ6ICdcXDIwMTQgXFwwMDIwJztcclxuJGNvZGUtY29sb3I6ICRibGFjaztcclxuJGNvZGUtZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1tb25vc3BhY2U7XHJcbiRjb2RlLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XHJcbiRjb2RlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xyXG4kY29kZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XHJcbiRjb2RlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNSAxKTtcclxuJGNvZGUtYmxvY2stcGFkZGluZzogMXJlbTtcclxuJGNvZGUtYmxvY2stbWFyZ2luLWJvdHRvbTogMS41cmVtO1xyXG5cclxuLy8gNi4gQWJpZGVcclxuLy8gLS0tLS0tLS1cclxuXHJcbiRhYmlkZS1pbnB1dHM6IHRydWU7XHJcbiRhYmlkZS1sYWJlbHM6IHRydWU7XHJcbiRpbnB1dC1iYWNrZ3JvdW5kLWludmFsaWQ6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMCk7XHJcbiRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMCk7XHJcbiRpbnB1dC1lcnJvci1jb2xvcjogbWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKTtcclxuJGlucHV0LWVycm9yLWZvbnQtc2l6ZTogcmVtLWNhbGMoJGlucHV0LWVycm9yLWZvbnQtc2l6ZSk7XHJcbiRpbnB1dC1lcnJvci1mb250LXdlaWdodDogJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0O1xyXG5cclxuLy8gNy4gQWNjb3JkaW9uXHJcbi8vIC0tLS0tLS0tLS0tLVxyXG5cclxuJGFjY29yZGlvbi1iYWNrZ3JvdW5kOiAkY29sb3VyMDtcclxuLy8gSW5zdGVhZCBvZiB1c2luZyBmb3VuZGF0aW9uJ3MgaW5kaWNhdG9ycyB3ZSB1c2Ugb3VyIG93biBkdWUgdG8gcG9zaXRpb25pbmcuXHJcbiRhY2NvcmRpb24tcGx1c21pbnVzOiBmYWxzZTtcclxuJGFjY29yZGlvbi1wbHVzLWNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIG1lbnUtY2xvc2UpO1xyXG4kYWNjb3JkaW9uLW1pbnVzLWNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIG1lbnUtb3Blbik7XHJcbiRhY2NvcmRpb24tdGl0bGUtZm9udC1zaXplOiByZW0tY2FsYygkYWNjb3JkaW9ucy10aXRsZS1mb250LXNpemUpO1xyXG4kYWNjb3JkaW9uLWl0ZW0tY29sb3I6IGRlZmF1bHQtY29sb3VyKCRhY2NvcmRpb25zLXRpdGxlLWNvbG91cik7XHJcbiRhY2NvcmRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkY29sb3VyMTtcclxuJGFjY29yZGlvbi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMXJlbTtcclxuJGFjY29yZGlvbi1jb250ZW50LWJhY2tncm91bmQ6ICRjb2xvdXIwO1xyXG4kYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXk7XHJcbiRhY2NvcmRpb24tY29udGVudC1jb2xvcjogJGJvZHktZm9udC1jb2xvdXI7XHJcbiRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nOiAwO1xyXG5cclxuLy8gOC4gQWNjb3JkaW9uIE1lbnVcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRhY2NvcmRpb25tZW51LXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xyXG4kYWNjb3JkaW9ubWVudS1uZXN0ZWQtbWFyZ2luOiBudWxsO1xyXG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXBhZGRpbmc6ICRhY2NvcmRpb25tZW51LXBhZGRpbmc7XHJcbiRhY2NvcmRpb25tZW51LWFycm93czogZmFsc2U7XHJcbiRhY2NvcmRpb25tZW51LWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuJGFjY29yZGlvbm1lbnUtaXRlbS1iYWNrZ3JvdW5kOiBudWxsO1xyXG4kYWNjb3JkaW9ubWVudS1ib3JkZXI6IG51bGw7XHJcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWJhY2tncm91bmQ6IG51bGw7XHJcbiRhY2NvcmRpb24tc3VibWVudS10b2dnbGUtYm9yZGVyOiAkYWNjb3JkaW9ubWVudS1ib3JkZXI7XHJcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoOiA0MHB4O1xyXG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1oZWlnaHQ6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoO1xyXG4kYWNjb3JkaW9ubWVudS1hcnJvdy1zaXplOiA2cHg7XHJcblxyXG4vLyA5LiBCYWRnZVxyXG4vLyAtLS0tLS0tLVxyXG5cclxuJGJhZGdlLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xyXG4kYmFkZ2UtY29sb3I6ICR3aGl0ZTtcclxuJGJhZGdlLWNvbG9yLWFsdDogJGJsYWNrO1xyXG4kYmFkZ2UtcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZTtcclxuJGJhZGdlLXBhZGRpbmc6IDAuM2VtO1xyXG4kYmFkZ2UtbWlud2lkdGg6IDIuMWVtO1xyXG4kYmFkZ2UtZm9udC1zaXplOiAwLjZyZW07XHJcblxyXG4vLyAxMC4gQnJlYWRjcnVtYnNcclxuLy8gLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kYnJlYWRjcnVtYnMtbWFyZ2luOiAkYnJlYWRjcnVtYnMtbWFyZ2luO1xyXG4kYnJlYWRjcnVtYnMtaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKCRicmVhZGNydW1icy1hbmNob3ItZm9udC1zaXplKTtcclxuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3I6IG1hcC1nZXQoJGJyZWFkY3J1bWJzLWFuY2hvci1jb2xvdXIsIGRlZmF1bHQpO1xyXG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1jdXJyZW50OiBtYXAtZ2V0KCRicmVhZGNydW1icy1hbmNob3ItY29sb3VyLCBhY3RpdmUpO1xyXG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1kaXNhYmxlZDogbWFwLWdldCgkYnJlYWRjcnVtYnMtYW5jaG9yLWNvbG91ciwgYWN0aXZlKTtcclxuJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luOiBudWxsO1xyXG4kYnJlYWRjcnVtYnMtaXRlbS11cHBlcmNhc2U6ICRicmVhZGNydW1icy11cHBlcmNhc2U7XHJcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvcjogdHJ1ZTtcclxuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW06IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGJyZWFkY3J1bWJzLXNlcGVyYXRvcik7XHJcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtLXJ0bDogJ1xcXFwnO1xyXG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItY29sb3I6ICRicmVhZGNydW1icy1zZXBlcmF0b3ItY29sb3VyO1xyXG5cclxuLy8gMTEuIEJ1dHRvblxyXG4vLyAtLS0tLS0tLS0tXHJcblxyXG4kYnV0dG9uLWZvbnQtZmFtaWx5OiBpbmhlcml0O1xyXG4kYnV0dG9uLWZvbnQtd2VpZ2h0OiBudWxsO1xyXG4kYnV0dG9uLXBhZGRpbmc6IDAuODVlbSAxZW07XHJcbiRidXR0b24tbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gMDtcclxuJGJ1dHRvbi1maWxsOiBzb2xpZDtcclxuJGJ1dHRvbi1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcclxuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyOiBzY2FsZS1jb2xvcigkYnV0dG9uLWJhY2tncm91bmQsICRsaWdodG5lc3M6IC0xNSUpO1xyXG4kYnV0dG9uLWNvbG9yOiAkd2hpdGU7XHJcbiRidXR0b24tY29sb3ItYWx0OiAkYmxhY2s7XHJcbiRidXR0b24tcmFkaXVzOiAwO1xyXG4kYnV0dG9uLWJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4kYnV0dG9uLWhvbGxvdy1ib3JkZXItd2lkdGg6IDFweDtcclxuJGJ1dHRvbi1zaXplczogKFxyXG4gIHRpbnk6IDAuNnJlbSxcclxuICBzbWFsbDogMC43NXJlbSxcclxuICBkZWZhdWx0OiAwLjlyZW0sXHJcbiAgbGFyZ2U6IDEuMjVyZW0sXHJcbik7XHJcbiRidXR0b24tcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZTtcclxuJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkOiAwLjI1O1xyXG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzOiAtMjAlO1xyXG4kYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3M6IC01MCU7XHJcbiRidXR0b24tdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQ7XHJcbiRidXR0b24tcmVzcG9uc2l2ZS1leHBhbmRlZDogZmFsc2U7XHJcblxyXG4vLyAxMi4gQnV0dG9uIEdyb3VwXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRidXR0b25ncm91cC1tYXJnaW46IDFyZW07XHJcbiRidXR0b25ncm91cC1zcGFjaW5nOiAxcHg7XHJcbiRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcjogJy5idXR0b24nO1xyXG4kYnV0dG9uZ3JvdXAtZXhwYW5kLW1heDogNjtcclxuJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoOiB0cnVlO1xyXG5cclxuLy8gMTMuIENhbGxvdXRcclxuLy8gLS0tLS0tLS0tLS1cclxuXHJcbiRjYWxsb3V0LWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJGNhbGxvdXQtYmFja2dyb3VuZC1mYWRlOiAwO1xyXG4kY2FsbG91dC1ib3JkZXI6IDFweCBzb2xpZCAkY29sb3VyMDtcclxuJGNhbGxvdXQtbWFyZ2luOiAwIDAgMXJlbSAwO1xyXG4kY2FsbG91dC1zaXplczogKFxyXG4gIHNtYWxsOiAwLjVyZW0sXHJcbiAgZGVmYXVsdDogMXJlbSxcclxuICBsYXJnZTogM3JlbSxcclxuKTtcclxuJGNhbGxvdXQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvdXI7XHJcbiRjYWxsb3V0LWZvbnQtY29sb3ItYWx0OiAkYm9keS1iYWNrZ3JvdW5kO1xyXG4kY2FsbG91dC1yYWRpdXM6IDA7XHJcbiRjYWxsb3V0LWxpbmstdGludDogMzAlO1xyXG5cclxuLy8gMTQuIENhcmRcclxuLy8gLS0tLS0tLS1cclxuXHJcbiRjYXJkLWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJGNhcmQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvdXI7XHJcbiRjYXJkLWRpdmlkZXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XHJcbiRjYXJkLWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xyXG4kY2FyZC1zaGFkb3c6IG5vbmU7XHJcbiRjYXJkLWJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kY2FyZC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmc7XHJcbiRjYXJkLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xyXG5cclxuLy8gMTUuIENsb3NlIEJ1dHRvblxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kY2xvc2VidXR0b24tcG9zaXRpb246IHJpZ2h0IHRvcDtcclxuJGNsb3NlYnV0dG9uLXotaW5kZXg6IDEwO1xyXG4kY2xvc2VidXR0b24tZGVmYXVsdC1zaXplOiBtZWRpdW07XHJcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtaG9yaXpvbnRhbDogKFxyXG4gIHNtYWxsOiAwLjY2cmVtLFxyXG4gIG1lZGl1bTogMjZweCwgLy8gYWRkaW5nIHBvc3NpdGlvbiByaWdodCB0byBiZSBpbmxpbmUgd2l0aCBhY2NvcmRpb24gc3RhdHVzIGFycm93cy5cclxuKTtcclxuJGNsb3NlYnV0dG9uLW9mZnNldC12ZXJ0aWNhbDogKFxyXG4gIHNtYWxsOiAwLjMzZW0sXHJcbiAgbWVkaXVtOiBhdXRvLFxyXG4pO1xyXG4kY2xvc2VidXR0b24tc2l6ZTogKFxyXG4gIHNtYWxsOiAxLjVlbSxcclxuICBtZWRpdW06IDJlbSxcclxuKTtcclxuJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQ6IDE7XHJcbiRjbG9zZWJ1dHRvbi1jb2xvcjogJGRhcmstZ3JheTtcclxuJGNsb3NlYnV0dG9uLWNvbG9yLWhvdmVyOiAkYmxhY2s7XHJcblxyXG4vLyAxNi4gRHJpbGxkb3duXHJcbi8vIC0tLS0tLS0tLS0tLS1cclxuXHJcbiRkcmlsbGRvd24tdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGxpbmVhcjtcclxuJGRyaWxsZG93bi1hcnJvd3M6IHRydWU7XHJcbiRkcmlsbGRvd24tcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XHJcbiRkcmlsbGRvd24tbmVzdGVkLW1hcmdpbjogMDtcclxuJGRyaWxsZG93bi1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiRkcmlsbGRvd24tc3VibWVudS1wYWRkaW5nOiAkZHJpbGxkb3duLXBhZGRpbmc7XHJcbiRkcmlsbGRvd24tc3VibWVudS1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiRkcmlsbGRvd24tYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG4kZHJpbGxkb3duLWFycm93LXNpemU6IDZweDtcclxuXHJcbi8vIDE3LiBEcm9wZG93blxyXG4vLyAtLS0tLS0tLS0tLS1cclxuXHJcbiRkcm9wZG93bi1wYWRkaW5nOiAxcmVtO1xyXG4kZHJvcGRvd24tYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZDtcclxuJGRyb3Bkb3duLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcclxuJGRyb3Bkb3duLWZvbnQtc2l6ZTogMXJlbTtcclxuJGRyb3Bkb3duLXdpZHRoOiAzMDBweDtcclxuJGRyb3Bkb3duLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRkcm9wZG93bi1zaXplczogKFxyXG4gIHRpbnk6IDEwMHB4LFxyXG4gIHNtYWxsOiAyMDBweCxcclxuICBsYXJnZTogNDAwcHgsXHJcbik7XHJcblxyXG4vLyAxOC4gRHJvcGRvd24gTWVudVxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuLy8gVGFraW5nIGJhY2sgb3duZXJzaGlwIGZyb20gZm91bmRhdGlvbiBvbiBhcnJvdyBmdW5jdGlvbiBkdWUgdG8gbmVlZGluZyB0byBhbGxvdyBmb3IgY29uZmlndXJhdGlvbiBmb3IgaWNvbnMuXHJcbiRkcm9wZG93bm1lbnUtYXJyb3dzOiBmYWxzZTtcclxuJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvcjogJGFuY2hvci1jb2xvcjtcclxuJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplOiA2cHg7XHJcbiRkcm9wZG93bm1lbnUtYXJyb3ctcGFkZGluZzogMS41cmVtO1xyXG4kZHJvcGRvd25tZW51LW1pbi13aWR0aDogMzAwcHg7XHJcbiRkcm9wZG93bm1lbnUtYmFja2dyb3VuZDogbnVsbDtcclxuJGRyb3Bkb3dubWVudS1zdWJtZW51LWJhY2tncm91bmQ6ICRjb2xvdXIxO1xyXG4kZHJvcGRvd25tZW51LXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xyXG4kZHJvcGRvd25tZW51LW5lc3RlZC1tYXJnaW46IDA7XHJcbiRkcm9wZG93bm1lbnUtc3VibWVudS1wYWRkaW5nOiAkZHJvcGRvd25tZW51LXBhZGRpbmc7XHJcbiRkcm9wZG93bm1lbnUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xyXG4vLyBUaGVzZSB2YWx1ZXMgd2VyZSBzZXQgdG8gbnVsbCBhcyB0aGV5IHdlcmUgY29uZmxpY3Rpbmcgd2l0aCB0aGUgJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtY29sb3VyIGNvbG91ciBzY2hlbWVzIGJhc2ljYWxseSBjYXVzaW5nIHRoZSBiYWNrZ3JvdW5kIGNvbG91ciB0byBiZSB0aGUgc2FtZSBhcyB0aGUgY29udGVudCBjb2xvdXIuXHJcbiRkcm9wZG93bi1tZW51LWl0ZW0tY29sb3ItYWN0aXZlOiBudWxsO1xyXG4kZHJvcGRvd24tbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiBudWxsO1xyXG5cclxuLy8gMTkuIEZsZXhib3ggVXRpbGl0aWVzXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJGZsZXgtc291cmNlLW9yZGVyaW5nLWNvdW50OiA2O1xyXG4kZmxleGJveC1yZXNwb25zaXZlLWJyZWFrcG9pbnRzOiB0cnVlO1xyXG5cclxuLy8gMjAuIEZvcm1zXHJcbi8vIC0tLS0tLS0tLVxyXG5cclxuJGZpZWxkc2V0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcclxuLy8kZmllbGRzZXQtcGFkZGluZzogcmVtLWNhbGMoMjApO1xyXG4kZmllbGRzZXQtbWFyZ2luOiByZW0tY2FsYygxOCAwKTtcclxuJGxlZ2VuZC1wYWRkaW5nOiByZW0tY2FsYygwIDMpO1xyXG4kZm9ybS1zcGFjaW5nOiByZW0tY2FsYygxNik7XHJcbiRoZWxwdGV4dC1jb2xvcjogJGJsYWNrO1xyXG4kaGVscHRleHQtZm9udC1zaXplOiByZW0tY2FsYygxMyk7XHJcbiRoZWxwdGV4dC1mb250LXN0eWxlOiBpdGFsaWM7XHJcbiRpbnB1dC1wcmVmaXgtY29sb3I6ICRibGFjaztcclxuJGlucHV0LXByZWZpeC1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcclxuJGlucHV0LXByZWZpeC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XHJcbiRpbnB1dC1wcmVmaXgtcGFkZGluZzogMXJlbTtcclxuJGZvcm0tbGFiZWwtY29sb3I6ICRibGFjaztcclxuJGZvcm0tbGFiZWwtZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbiRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XHJcbiRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0OiAxLjg7XHJcbiRzZWxlY3QtYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kc2VsZWN0LXRyaWFuZ2xlLWNvbG9yOiAkZGFyay1ncmF5O1xyXG4kc2VsZWN0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRpbnB1dC1jb2xvcjogbWFwLWdldCgkaW5wdXQtY29sb3VyLCBkZWZhdWx0KTtcclxuJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiAkaW5wdXQtcGxhY2Vob2xkZXItY29sb3VyO1xyXG4kaW5wdXQtZm9udC1mYW1pbHk6ICRpbnB1dC1mb250LWZhbWlseTtcclxuJGlucHV0LWZvbnQtc2l6ZTogcmVtLWNhbGMoJGlucHV0LWZvbnQtc2l6ZSk7XHJcbiRpbnB1dC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xyXG4kaW5wdXQtbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodDtcclxuJGlucHV0LWJhY2tncm91bmQ6IG1hcC1nZXQoJGlucHV0LWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KTtcclxuJGlucHV0LWJhY2tncm91bmQtZm9jdXM6IG1hcC1nZXQoJGlucHV0LWJhY2tncm91bmQtY29sb3VyLCBhY3RpdmUpO1xyXG4kaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDogbWFwLWdldCgkaW5wdXQtYmFja2dyb3VuZC1jb2xvdXIsIGRpc2FibGVkKTtcclxuJGlucHV0LWJvcmRlcjogMXB4IHNvbGlkIG1hcC1nZXQoJGlucHV0LWJvcmRlci1jb2xvdXIsIGRlZmF1bHQpO1xyXG4kaW5wdXQtYm9yZGVyLWZvY3VzOiAxcHggc29saWQgbWFwLWdldCgkaW5wdXQtYm9yZGVyLWNvbG91ciwgYWN0aXZlKTtcclxuJGlucHV0LXBhZGRpbmc6ICRmb3JtLXNwYWNpbmcgLyAyO1xyXG4kaW5wdXQtc2hhZG93OiAwO1xyXG4kaW5wdXQtc2hhZG93LWZvY3VzOiAkYm94U2hhZG93MztcclxuJGlucHV0LWN1cnNvci1kaXNhYmxlZDogbm90LWFsbG93ZWQ7XHJcbiRpbnB1dC10cmFuc2l0aW9uOiBib3gtc2hhZG93ICR0cmFuc2l0aW9uT3V0cm8sIGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4kaW5wdXQtbnVtYmVyLXNwaW5uZXJzOiB0cnVlO1xyXG4kaW5wdXQtcmFkaXVzOiAkaW5wdXQtYm9yZGVyLXJhZGl1cztcclxuJGZvcm0tYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcblxyXG4vLyAyMS4gTGFiZWxcclxuLy8gLS0tLS0tLS0tXHJcblxyXG4kbGFiZWwtYmFja2dyb3VuZDogJGNvbG91cjA7XHJcbiRsYWJlbC1jb2xvcjogJGJvZHktZm9udC1jb2xvdXI7XHJcbiRsYWJlbC1jb2xvci1hbHQ6ICRibGFjaztcclxuJGxhYmVsLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGU7XHJcbiRsYWJlbC1mb250LXNpemU6IDAuOHJlbTtcclxuJGxhYmVsLXBhZGRpbmc6IDAuMzMzMzNyZW0gMC41cmVtO1xyXG4kbGFiZWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuXHJcbi8vIDIyLiBNZWRpYSBPYmplY3RcclxuLy8gLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJG1lZGlhb2JqZWN0LW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xyXG4kbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmc7XHJcbiRtZWRpYW9iamVjdC1pbWFnZS13aWR0aC1zdGFja2VkOiAxMDAlO1xyXG5cclxuLy8gMjMuIE1lbnVcclxuLy8gLS0tLS0tLS1cclxuXHJcbiRtZW51LW1hcmdpbjogMDtcclxuJG1lbnUtbmVzdGVkLW1hcmdpbjogJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW47XHJcbiRtZW51LWl0ZW1zLXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xyXG4kbWVudS1zaW1wbGUtbWFyZ2luOiAxcmVtO1xyXG4vLyBEaXNhYmxpbmcgdGhpcyBpbiBmYXZvdXIgb2Ygc3R5bGVzIGluIF9heGlzLW1lbnVzLnNjc3NcclxuJG1lbnUtaXRlbS1jb2xvci1hY3RpdmU6IG51bGw7XHJcbiRtZW51LWl0ZW0tY29sb3ItYWx0LWFjdGl2ZTogbnVsbDtcclxuJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTogdHJhbnNwYXJlbnQ7XHJcbiRtZW51LWljb24tc3BhY2luZzogMC4yNXJlbTtcclxuJG1lbnUtc3RhdGUtYmFjay1jb21wYXQ6IGZhbHNlO1xyXG4kbWVudS1jZW50ZXJlZC1iYWNrLWNvbXBhdDogZmFsc2U7XHJcbiRtZW51LWljb25zLWJhY2stY29tcGF0OiBmYWxzZTtcclxuXHJcbi8vIDI0LiBNZXRlclxyXG4vLyAtLS0tLS0tLS1cclxuXHJcbiRtZXRlci1oZWlnaHQ6IDFyZW07XHJcbiRtZXRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kbWV0ZXItYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xyXG4kbWV0ZXItZmlsbC1nb29kOiAkc3VjY2Vzcy1jb2xvcjtcclxuJG1ldGVyLWZpbGwtbWVkaXVtOiAkd2FybmluZy1jb2xvcjtcclxuJG1ldGVyLWZpbGwtYmFkOiAkYWxlcnQtY29sb3I7XHJcblxyXG4vLyAyNS4gT2ZmLWNhbnZhc1xyXG4vLyAtLS0tLS0tLS0tLS0tLVxyXG5cclxuJG9mZmNhbnZhcy1zaXplczogKFxyXG4gIHNtYWxsOiAyNTBweCxcclxuICBsYXJnZTogNDAwcHhcclxuKTtcclxuJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplczogKFxyXG4gIHNtYWxsOiAyNTBweCxcclxuKTtcclxuJG9mZmNhbnZhcy1iYWNrZ3JvdW5kOiAkY29sb3VyMTtcclxuJG9mZmNhbnZhcy1zaGFkb3c6IDA7XHJcbiRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemU6IDA7XHJcbiRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yOiByZ2JhKCRibGFjaywgMC4yNSk7XHJcbiRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXg6IDExO1xyXG4kb2ZmY2FudmFzLXB1c2gtemluZGV4OiAxMjtcclxuJG9mZmNhbnZhcy1vdmVybGFwLXppbmRleDogNDAwMDtcclxuJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4OiAxMjtcclxuJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aDogMC41cztcclxuJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZzogZWFzZTtcclxuJG9mZmNhbnZhcy1maXhlZC1yZXZlYWw6IHRydWU7XHJcbiRvZmZjYW52YXMtZXhpdC1iYWNrZ3JvdW5kOiByZ2JhKCR3aGl0ZSwgMC4yNSk7XHJcbiRtYWluY29udGVudC1jbGFzczogJ29mZi1jYW52YXMtY29udGVudCc7XHJcblxyXG4vLyAyNi4gT3JiaXRcclxuLy8gLS0tLS0tLS0tXHJcblxyXG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcclxuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kLWFjdGl2ZTogJGRhcmstZ3JheTtcclxuJG9yYml0LWJ1bGxldC1kaWFtZXRlcjogMS4ycmVtO1xyXG4kb3JiaXQtYnVsbGV0LW1hcmdpbjogMC4xcmVtO1xyXG4kb3JiaXQtYnVsbGV0LW1hcmdpbi10b3A6IDAuOHJlbTtcclxuJG9yYml0LWJ1bGxldC1tYXJnaW4tYm90dG9tOiAwLjhyZW07XHJcbiRvcmJpdC1jYXB0aW9uLWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjUpO1xyXG4kb3JiaXQtY2FwdGlvbi1wYWRkaW5nOiAxcmVtO1xyXG4kb3JiaXQtY29udHJvbC1iYWNrZ3JvdW5kLWhvdmVyOiByZ2JhKCRibGFjaywgMC41KTtcclxuJG9yYml0LWNvbnRyb2wtcGFkZGluZzogMXJlbTtcclxuJG9yYml0LWNvbnRyb2wtemluZGV4OiAxMDtcclxuXHJcbi8vIDI3LiBQYWdpbmF0aW9uXHJcbi8vIC0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcGFnaW5hdGlvbi1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuJHBhZ2luYXRpb24tbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XHJcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3I6ICRibGFjaztcclxuJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nOiByZW0tY2FsYygzIDEwKTtcclxuJHBhZ2luYXRpb24taXRlbS1zcGFjaW5nOiByZW0tY2FsYygxKTtcclxuJHBhZ2luYXRpb24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheTtcclxuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWN1cnJlbnQ6ICRwcmltYXJ5LWNvbG9yO1xyXG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWN1cnJlbnQ6ICR3aGl0ZTtcclxuJHBhZ2luYXRpb24taXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5O1xyXG4kcGFnaW5hdGlvbi1lbGxpcHNpcy1jb2xvcjogJGJsYWNrO1xyXG4kcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXM6IGZhbHNlO1xyXG4kcGFnaW5hdGlvbi1tb2JpbGUtY3VycmVudC1pdGVtOiBmYWxzZTtcclxuJHBhZ2luYXRpb24tYXJyb3dzOiB0cnVlO1xyXG4kcGFnaW5hdGlvbi1hcnJvdy1wcmV2aW91czogJ1xcMDBBQic7XHJcbiRwYWdpbmF0aW9uLWFycm93LW5leHQ6ICdcXDAwQkInO1xyXG5cclxuLy8gMjguIFByb2dyZXNzIEJhclxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvZ3Jlc3MtaGVpZ2h0OiAxcmVtO1xyXG4kcHJvZ3Jlc3MtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xyXG4kcHJvZ3Jlc3MtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XHJcbiRwcm9ncmVzcy1tZXRlci1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcclxuJHByb2dyZXNzLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcblxyXG4vLyAyOS4gUHJvdG90eXBlIEFycm93XHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm90b3R5cGUtYXJyb3ctZGlyZWN0aW9uczogKFxyXG4gIGRvd24sXHJcbiAgdXAsXHJcbiAgcmlnaHQsXHJcbiAgbGVmdFxyXG4pO1xyXG4kcHJvdG90eXBlLWFycm93LXNpemU6IDAuNDM3NXJlbTtcclxuJHByb3RvdHlwZS1hcnJvdy1jb2xvcjogJGJsYWNrO1xyXG5cclxuLy8gMzAuIFByb3RvdHlwZSBCb3JkZXItQm94XHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS1ib3JkZXItYm94LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcclxuXHJcbi8vIDMxLiBQcm90b3R5cGUgQm9yZGVyLU5vbmVcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS1ib3JkZXItbm9uZS1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XHJcblxyXG4vLyAzMi4gUHJvdG90eXBlIEJvcmRlcmVkXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm90b3R5cGUtYm9yZGVyZWQtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xyXG4kcHJvdG90eXBlLWJvcmRlci13aWR0aDogcmVtLWNhbGMoMSk7XHJcbiRwcm90b3R5cGUtYm9yZGVyLXR5cGU6IHNvbGlkO1xyXG4kcHJvdG90eXBlLWJvcmRlci1jb2xvcjogJG1lZGl1bS1ncmF5O1xyXG5cclxuLy8gMzMuIFByb3RvdHlwZSBEaXNwbGF5XHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS1kaXNwbGF5LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcclxuJHByb3RvdHlwZS1kaXNwbGF5OiAoXHJcbiAgaW5saW5lLFxyXG4gIGlubGluZS1ibG9jayxcclxuICBibG9jayxcclxuICB0YWJsZSxcclxuICB0YWJsZS1jZWxsXHJcbik7XHJcblxyXG4vLyAzNC4gUHJvdG90eXBlIEZvbnQtU3R5bGluZ1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS1mb250LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcclxuJHByb3RvdHlwZS13aWRlLWxldHRlci1zcGFjaW5nOiByZW0tY2FsYyg0KTtcclxuJHByb3RvdHlwZS1mb250LW5vcm1hbDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xyXG4kcHJvdG90eXBlLWZvbnQtYm9sZDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcclxuXHJcbi8vIDM1LiBQcm90b3R5cGUgTGlzdC1TdHlsZS1UeXBlXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLWxpc3QtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xyXG4kcHJvdG90eXBlLXN0eWxlLXR5cGUtdW5vcmRlcmVkOiAoXHJcbiAgZGlzYyxcclxuICBjaXJjbGUsXHJcbiAgc3F1YXJlXHJcbik7XHJcbiRwcm90b3R5cGUtc3R5bGUtdHlwZS1vcmRlcmVkOiAoXHJcbiAgZGVjaW1hbCxcclxuICBsb3dlci1hbHBoYSxcclxuICBsb3dlci1sYXRpbixcclxuICBsb3dlci1yb21hbixcclxuICB1cHBlci1hbHBoYSxcclxuICB1cHBlci1sYXRpbixcclxuICB1cHBlci1yb21hblxyXG4pO1xyXG5cclxuLy8gMzYuIFByb3RvdHlwZSBPdmVyZmxvd1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLW92ZXJmbG93LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcclxuJHByb3RvdHlwZS1vdmVyZmxvdzogKFxyXG4gIHZpc2libGUsXHJcbiAgaGlkZGVuLFxyXG4gIHNjcm9sbFxyXG4pO1xyXG5cclxuLy8gMzcuIFByb3RvdHlwZSBQb3NpdGlvblxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLXBvc2l0aW9uLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcclxuJHByb3RvdHlwZS1wb3NpdGlvbjogKFxyXG4gIHN0YXRpYyxcclxuICByZWxhdGl2ZSxcclxuICBhYnNvbHV0ZSxcclxuICBmaXhlZFxyXG4pO1xyXG4kcHJvdG90eXBlLXBvc2l0aW9uLXotaW5kZXg6IDk3NTtcclxuXHJcbi8vIDM4LiBQcm90b3R5cGUgUm91bmRlZFxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm90b3R5cGUtcm91bmRlZC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XHJcbiRwcm90b3R5cGUtYm9yZGVyLXJhZGl1czogcmVtLWNhbGMoMyk7XHJcblxyXG4vLyAzOS4gUHJvdG90eXBlIFNlcGFyYXRvclxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS1zZXBhcmF0b3ItYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xyXG4kcHJvdG90eXBlLXNlcGFyYXRvci1hbGlnbjogY2VudGVyO1xyXG4kcHJvdG90eXBlLXNlcGFyYXRvci1oZWlnaHQ6IHJlbS1jYWxjKDIpO1xyXG4kcHJvdG90eXBlLXNlcGFyYXRvci13aWR0aDogM3JlbTtcclxuJHByb3RvdHlwZS1zZXBhcmF0b3ItYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XHJcbiRwcm90b3R5cGUtc2VwYXJhdG9yLW1hcmdpbi10b3A6ICRnbG9iYWwtbWFyZ2luO1xyXG5cclxuLy8gNDAuIFByb3RvdHlwZSBTaGFkb3dcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm90b3R5cGUtc2hhZG93LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcclxuJHByb3RvdHlwZS1ib3gtc2hhZG93OiAwIDJweCA1cHggMCByZ2JhKDAsMCwwLC4xNiksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgMCAycHggMTBweCAwIHJnYmEoMCwwLDAsLjEyKTtcclxuXHJcbi8vIDQxLiBQcm90b3R5cGUgU2l6aW5nXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLXNpemluZy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XHJcbiRwcm90b3R5cGUtc2l6aW5nOiAoXHJcbiAgd2lkdGgsXHJcbiAgaGVpZ2h0XHJcbik7XHJcbiRwcm90b3R5cGUtc2l6ZXM6IChcclxuICAyNTogMjUlLFxyXG4gIDUwOiA1MCUsXHJcbiAgNzU6IDc1JSxcclxuICAxMDA6IDEwMCVcclxuKTtcclxuXHJcbi8vIDQyLiBQcm90b3R5cGUgU3BhY2luZ1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm90b3R5cGUtc3BhY2luZy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XHJcbiRwcm90b3R5cGUtc3BhY2Vycy1jb3VudDogMztcclxuXHJcbi8vIDQzLiBQcm90b3R5cGUgVGV4dC1EZWNvcmF0aW9uXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLWRlY29yYXRpb24tYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xyXG4kcHJvdG90eXBlLXRleHQtZGVjb3JhdGlvbjogKFxyXG4gIG92ZXJsaW5lLFxyXG4gIHVuZGVybGluZSxcclxuICBsaW5lLXRocm91Z2gsXHJcbik7XHJcblxyXG4vLyA0NC4gUHJvdG90eXBlIFRleHQtVHJhbnNmb3JtYXRpb25cclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLXRyYW5zZm9ybWF0aW9uLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcclxuJHByb3RvdHlwZS10ZXh0LXRyYW5zZm9ybWF0aW9uOiAoXHJcbiAgbG93ZXJjYXNlLFxyXG4gIHVwcGVyY2FzZSxcclxuICBjYXBpdGFsaXplXHJcbik7XHJcblxyXG4vLyA0NS4gUHJvdG90eXBlIFRleHQtVXRpbGl0aWVzXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm90b3R5cGUtdXRpbGl0aWVzLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcclxuJHByb3RvdHlwZS10ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuXHJcbi8vIDQ2LiBSZXNwb25zaXZlIEVtYmVkXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcmVzcG9uc2l2ZS1lbWJlZC1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNik7XHJcbiRyZXNwb25zaXZlLWVtYmVkLXJhdGlvczogKFxyXG4gIGRlZmF1bHQ6IDQgYnkgMyxcclxuICB3aWRlc2NyZWVuOiAxNiBieSA5LFxyXG4pO1xyXG5cclxuLy8gNDcuIFJldmVhbFxyXG4vLyAtLS0tLS0tLS0tXHJcblxyXG4kcmV2ZWFsLWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJHJldmVhbC13aWR0aDogNjAwcHg7XHJcbiRyZXZlYWwtbWF4LXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xyXG4kcmV2ZWFsLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZztcclxuJHJldmVhbC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XHJcbiRyZXZlYWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuJHJldmVhbC16aW5kZXg6IDEwMDU7XHJcbiRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC40NSk7XHJcblxyXG4vLyA0OC4gU2xpZGVyXHJcbi8vIC0tLS0tLS0tLS1cclxuXHJcbiRzbGlkZXItd2lkdGgtdmVydGljYWw6IDAuNXJlbTtcclxuJHNsaWRlci10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcclxuJHNsaWRlci1oZWlnaHQ6IDAuNXJlbTtcclxuJHNsaWRlci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcclxuJHNsaWRlci1maWxsLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcclxuJHNsaWRlci1oYW5kbGUtaGVpZ2h0OiAxLjRyZW07XHJcbiRzbGlkZXItaGFuZGxlLXdpZHRoOiAxLjRyZW07XHJcbiRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xyXG4kc2xpZGVyLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjU7XHJcbiRzbGlkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuXHJcbi8vIDQ5LiBTd2l0Y2hcclxuLy8gLS0tLS0tLS0tLVxyXG5cclxuJHN3aXRjaC1iYWNrZ3JvdW5kOiAkY29sb3VyNjtcclxuJHN3aXRjaC1iYWNrZ3JvdW5kLWFjdGl2ZTogJGNvbG91cjQ7XHJcbiRzd2l0Y2gtaGVpZ2h0OiAycmVtO1xyXG4kc3dpdGNoLWhlaWdodC10aW55OiAxLjVyZW07XHJcbiRzd2l0Y2gtaGVpZ2h0LXNtYWxsOiAxLjc1cmVtO1xyXG4kc3dpdGNoLWhlaWdodC1sYXJnZTogMi41cmVtO1xyXG4kc3dpdGNoLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRzd2l0Y2gtbWFyZ2luOiAkZ2xvYmFsLW1hcmdpbjtcclxuJHN3aXRjaC1wYWRkbGUtYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kc3dpdGNoLXBhZGRsZS1vZmZzZXQ6IDAuNDFyZW07XHJcbiRzd2l0Y2gtcGFkZGxlLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dDtcclxuJHN3aXRjaC1vcGFjaXR5LWRpc2FibGVkOiAuNTtcclxuJHN3aXRjaC1jdXJzb3ItZGlzYWJsZWQ6IG5vdC1hbGxvd2VkO1xyXG5cclxuLy8gNTAuIFRhYmxlXHJcbi8vIC0tLS0tLS0tLVxyXG5cclxuJHRhYmxlLWJhY2tncm91bmQ6ICRjb2xvdXIwO1xyXG4kdGFibGUtY29sb3Itc2NhbGU6IDUlO1xyXG4kdGFibGUtYm9yZGVyOiAwO1xyXG4kdGFibGUtcGFkZGluZzogMDtcclxuJHRhYmxlLWhvdmVyLXNjYWxlOiAyJTtcclxuJHRhYmxlLXJvdy1ob3ZlcjogJHRib2R5LXJvdy1ob3Zlci1iYWNrZ3JvdW5kLWNvbG91cjtcclxuJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI6ICR0Ym9keS1yb3ctaG92ZXItYmFja2dyb3VuZC1jb2xvdXI7XHJcbiR0YWJsZS1pcy1zdHJpcGVkOiBmYWxzZTtcclxuJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDogJHRib2R5LXN0cmlwZWQtcm93LWJhY2tncm91bmQtY29sb3VyO1xyXG4kdGFibGUtc3RyaXBlOiBvZGQ7XHJcbiR0YWJsZS1oZWFkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgLyAyKTtcclxuJHRhYmxlLWhlYWQtcm93LWhvdmVyOiAkY29sb3VyMDtcclxuJHRhYmxlLWZvb3QtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSk7XHJcbiR0YWJsZS1mb290LXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1mb290LWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSk7XHJcbiR0YWJsZS1oZWFkLWZvbnQtY29sb3I6IG1hcC1nZXQoJHRoZWFkLXByZXNldC0xLCBjb2xvcik7IC8vIFByZXNldC0xIGlzIHByZXR0eSBtdWNoIHdoYXQgd2UncmUgdXNpbmcgZXZlcnl3aGVyZSBzbyBjaGFuZ2luZyB0byBiZSBjb25zaXN0ZW50LlxyXG4kdGFibGUtZm9vdC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG91cjtcclxuJHNob3ctaGVhZGVyLWZvci1zdGFja2VkOiBmYWxzZTtcclxuJHRhYmxlLXN0YWNrLWJyZWFrcG9pbnQ6IG1lZGl1bTtcclxuXHJcbi8vIDUxLiBUYWJzXHJcbi8vIC0tLS0tLS0tXHJcblxyXG4kdGFiLW1hcmdpbjogMDtcclxuJHRhYi1iYWNrZ3JvdW5kOiBub25lO1xyXG4kdGFiLWNvbG9yOiBtYXAtZ2V0KCR0YWJzLXRpdGxlLWNvbG91ciwgZGVmYXVsdCk7XHJcbiR0YWItYmFja2dyb3VuZC1hY3RpdmU6IG5vbmU7XHJcbiR0YWItYWN0aXZlLWNvbG9yOiBtYXAtZ2V0KCR0YWJzLXRpdGxlLWNvbG91ciwgYWN0aXZlKTtcclxuJHRhYi1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoJHRhYnMtdGl0bGUtZm9udC1zaXplKTtcclxuJHRhYi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRjb2xvdXIwO1xyXG4kdGFiLWl0ZW0tcGFkZGluZzogMDtcclxuJHRhYi1jb250ZW50LWJhY2tncm91bmQ6IG5vbmU7XHJcbiR0YWItY29udGVudC1ib3JkZXI6ICRjb2xvdXIwOyAvLyBTZXQgdG8gdHJhbnNwYXJlbnQgYW5kIG92ZXJyaWRlIHdpdGggRXhwcmVzcydzIFNBU1MuXHJcbiR0YWItY29udGVudC1jb2xvcjogJGJvZHktZm9udC1jb2xvdXI7XHJcbiR0YWItY29udGVudC1wYWRkaW5nOiAxMHB4OyAvLyBTZXR0aW5nIGRlZmF1bHQgdmFsdWUgYnV0IHRoaXMgc2hvdWxkIGJlIGhhbmRsZWQgYnkgRXhwcmVzcydzIFNBU1MgJHRhYnMtY29udGVudC1wYWRkaW5nLlxyXG5cclxuLy8gNTIuIFRodW1ibmFpbFxyXG4vLyAtLS0tLS0tLS0tLS0tXHJcblxyXG4kdGh1bWJuYWlsLWJvcmRlcjogNHB4IHNvbGlkICR3aGl0ZTtcclxuJHRodW1ibmFpbC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcclxuJHRodW1ibmFpbC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKCRibGFjaywgMC4yKTtcclxuJHRodW1ibmFpbC1zaGFkb3ctaG92ZXI6IDAgMCA2cHggMXB4IHJnYmEoJHByaW1hcnktY29sb3IsIDAuNSk7XHJcbiR0aHVtYm5haWwtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAyMDBtcyBlYXNlLW91dDtcclxuJHRodW1ibmFpbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG5cclxuLy8gNTMuIFRpdGxlIEJhclxyXG4vLyAtLS0tLS0tLS0tLS0tXHJcblxyXG4kdGl0bGViYXItYmFja2dyb3VuZDogJGJsYWNrO1xyXG4kdGl0bGViYXItY29sb3I6ICR3aGl0ZTtcclxuJHRpdGxlYmFyLXBhZGRpbmc6IDAuNXJlbTtcclxuJHRpdGxlYmFyLXRleHQtZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiR0aXRsZWJhci1pY29uLWNvbG9yOiAkd2hpdGU7XHJcbiR0aXRsZWJhci1pY29uLWNvbG9yLWhvdmVyOiAkbWVkaXVtLWdyYXk7XHJcbiR0aXRsZWJhci1pY29uLXNwYWNpbmc6IDAuMjVyZW07XHJcblxyXG4vLyA1NC4gVG9vbHRpcFxyXG4vLyAtLS0tLS0tLS0tLVxyXG5cclxuJGhhcy10aXAtY3Vyc29yOiBoZWxwO1xyXG4kaGFzLXRpcC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcclxuJGhhcy10aXAtYm9yZGVyLWJvdHRvbTogZG90dGVkIDFweCAkZGFyay1ncmF5O1xyXG4kdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XHJcbiR0b29sdGlwLWNvbG9yOiAkd2hpdGU7XHJcbiR0b29sdGlwLXBhZGRpbmc6IDAuNzVyZW07XHJcbiR0b29sdGlwLW1heC13aWR0aDogMTByZW07XHJcbiR0b29sdGlwLWZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZTtcclxuJHRvb2x0aXAtcGlwLXdpZHRoOiAwLjc1cmVtO1xyXG4kdG9vbHRpcC1waXAtaGVpZ2h0OiAkdG9vbHRpcC1waXAtd2lkdGggKiAwLjg2NjtcclxuJHRvb2x0aXAtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuXHJcbi8vIDU1LiBUb3AgQmFyXHJcbi8vIC0tLS0tLS0tLS0tXHJcblxyXG4kdG9wYmFyLXBhZGRpbmc6IDA7XHJcbiR0b3BiYXItYmFja2dyb3VuZDogJGNvbG91cjA7XHJcbiR0b3BiYXItc3VibWVudS1iYWNrZ3JvdW5kOiAkbWVudXMtc3VibWVudS1iYWNrZ3JvdW5kLWNvbG91cjtcclxuJHRvcGJhci10aXRsZS1zcGFjaW5nOiAwLjVyZW0gMXJlbSAwLjVyZW0gMDtcclxuJHRvcGJhci1pbnB1dC13aWR0aDogMjAwcHg7XHJcbiR0b3BiYXItdW5zdGFjay1icmVha3BvaW50OiBtZWRpdW07XHJcblxyXG4vLyA1Ni4gWHkgR3JpZFxyXG4vLyAtLS0tLS0tLS0tLVxyXG5cclxuJHh5LWdyaWQ6IHRydWU7XHJcbiRncmlkLWNvbnRhaW5lcjogJGdsb2JhbC13aWR0aDtcclxuJGdyaWQtY29sdW1uczogMTI7XHJcbiRncmlkLW1hcmdpbi1ndXR0ZXJzOiAoXHJcbiAgc21hbGw6IHNtYWxsLXZhbHVlKCRnbG9iYWwteHktZ3JpZC1tYXJnaW4tZ3V0dGVycyksXHJcbiAgbWVkaXVtOiBtZWRpdW0tdmFsdWUoJGdsb2JhbC14eS1ncmlkLW1hcmdpbi1ndXR0ZXJzKVxyXG4pO1xyXG5cclxuJGdyaWQtcGFkZGluZy1ndXR0ZXJzOiAoXHJcbiAgc21hbGw6IHNtYWxsLXZhbHVlKCRnbG9iYWwteHktZ3JpZC1tYXJnaW4tZ3V0dGVycyksXHJcbiAgbWVkaXVtOiBtZWRpdW0tdmFsdWUoJGdsb2JhbC14eS1ncmlkLW1hcmdpbi1ndXR0ZXJzKVxyXG4pO1xyXG4kZ3JpZC1jb250YWluZXItcGFkZGluZzogMjBweDtcclxuJGdyaWQtY29udGFpbmVyLW1heDogJGdsb2JhbC13aWR0aDtcclxuJHh5LWJsb2NrLWdyaWQtbWF4OiA4O1xyXG5cclxuIiwiLypcclxuLS0tLS0gU2l0ZSBTdHlsZXMgLS0tLS0gXHJcbkFsbG93aW5nIENTUyB2YXJpYWJsZXMgdG8gb3ZlcnJpZGUgU0FTUyBjb25maWd1cmF0aW9uLCB1c2VkIGluIGluc3RhbmNlcyB3aGVyZSB5b3UgbmVlZCBkZXBhcnRtZW50IHNwZWNpZmMgY29sb3VyaW5nLlxyXG5cclxuKi9cclxuXHJcbi8vIFRPRE86IHJlbW92ZSBkZXBhcnRtZW50IHJlZmVyZW5jZXMgZnJvbSBkb2N1bWVudGF0aW9uIGJ1aWxkLlxyXG5AaWYgKGxlbmd0aCgkc2l0ZS1zdHlsZXMtY29sb3VycykgPiAwKSB7XHJcbiAgICAuZGVwYXJ0bWVudC1jb2xvdXItcGFsZXR0ZSwgLnNpdGUtc3R5bGUge1xyXG4gICAgICAgIC8vIExvb3AgdGhyb3VnaCBzdHlsZSBzZXRzLlxyXG4gICAgICAgIEBmb3IgJGluZGV4IGZyb20gMSB0aHJvdWdoIGxlbmd0aCgkc2l0ZS1zdHlsZXMtY29sb3Vycykge1xyXG4gICAgICAgICAgICAvLyBHZXQgc3R5bGUgc2V0XHJcbiAgICAgICAgICAgICRzdHlsZS1zZXQ6IG50aCgkc2l0ZS1zdHlsZXMtY29sb3VycywgJGluZGV4KTtcclxuICAgICAgICAgICAgQGlmICgkc3R5bGUtc2V0KSB7XHJcbiAgICAgICAgICAgICAgICAvLyBHZXQgcHJpbWFyeSBjb2xvdXIuXHJcbiAgICAgICAgICAgICAgICAkc2V0LXByaW1hcnktY29sb3VyOiBudWxsO1xyXG4gICAgICAgICAgICAgICAgQGlmIChtYXAtaGFzLWtleSgkc3R5bGUtc2V0LCBwcmltYXJ5LWNvbG91cikpIHtcclxuICAgICAgICAgICAgICAgICAgICAkc2V0LXByaW1hcnktY29sb3VyOiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDA6IG1hcC1nZXQoJHN0eWxlLXNldCwgcHJpbWFyeS1jb2xvdXIpXHJcbiAgICAgICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgICAgICAgICAvLyBDcmVhdGUgdmFyaWFudHMuXHJcbiAgICAgICAgICAgICAgICAgICAgJHNldC1wcmltYXJ5LWNvbG91cjogbWFwLW1lcmdlKCRzZXQtcHJpbWFyeS1jb2xvdXIsIGNyZWF0ZS1jb2xvdXItdmFyaWFudHMoJHNldC1wcmltYXJ5LWNvbG91cikpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLy8gR2V0IHNlY29uZGFyeSBjb2xvdXIuXHJcbiAgICAgICAgICAgICAgICAkc2V0LXNlY29uZGFyeS1jb2xvdXI6IG51bGw7XHJcbiAgICAgICAgICAgICAgICBAaWYgKG1hcC1oYXMta2V5KCRzdHlsZS1zZXQsIHNlY29uZGFyeS1jb2xvdXIpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gR2V0IHNlY29uZGFyeSBjb2xvdXIuXHJcbiAgICAgICAgICAgICAgICAgICAgJHNldC1zZWNvbmRhcnktY29sb3VyOiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDA6IG1hcC1nZXQoJHN0eWxlLXNldCwgc2Vjb25kYXJ5LWNvbG91cilcclxuICAgICAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIENyZWF0ZSB2YXJpYW50cy5cclxuICAgICAgICAgICAgICAgICAgICAkc2V0LXNlY29uZGFyeS1jb2xvdXI6IG1hcC1tZXJnZSgkc2V0LXNlY29uZGFyeS1jb2xvdXIsIGNyZWF0ZS1jb2xvdXItdmFyaWFudHMoJHNldC1zZWNvbmRhcnktY29sb3VyKSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIC8vIENyZWF0ZSBzdHlsZSBzZXQgY2xhc3MgJiBhc3NpZ24gY29sb3VyIG92ZXJyaWRlIHZhcmlhYmxlLlxyXG4gICAgICAgICAgICAgICAgJi5kZXBhcnRtZW50LSN7JGluZGV4fSwgJi5zdHlsZS0jeyRpbmRleH0ge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIFByaW1hcnkgQ29sb3VyXHJcbiAgICAgICAgICAgICAgICAgICAgQGlmICgkc2V0LXByaW1hcnktY29sb3VyKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHNldC1jb2xvdXItcGFsbGV0ZS10b25lcyhcInByaW1hcnktY29sb3VyXCIsICRzZXQtcHJpbWFyeS1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAvLyBTZW9uZGFyeSBDb2xvdXJcclxuICAgICAgICAgICAgICAgICAgICBAaWYgKCRzZXQtc2Vjb25kYXJ5LWNvbG91cikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBzZXQtY29sb3VyLXBhbGxldGUtdG9uZXMoXCJzZWNvbmRhcnktY29sb3VyXCIsICRzZXQtc2Vjb25kYXJ5LWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgICAgIEB3YXJuIFwiU2l0ZSBTdHlsZXM6IE5vIHNldCBmb3VuZCBmb3IgI3skc3R5bGUtc2V0fSwgZm9yIHNpdGUgI3skc2l0ZX0uXCI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCIvLyAtLS0tLS0tIENvbnRhaW5zIGFsbCBzdHlsZXMgcmVnYXJkaW5nIGZvcm0gbGF5b3V0cywgaWYgeW91J3JlIGxvb2tpbmcgZm9yIGlucHV0IG9yIHNlbGVjdCBzdHlsZXMgcGxlYXNlIHJlZmVyIHRvIGlucHV0cy5zY3NzIC0tLS0tLS1cclxuXHJcblxyXG4vLyBUT0RPOiBDdXJyZW50bHkgaW4gdGhlIHByb2Nlc3Mgb2YgcmVmYWN0b3JpbmcgY29kZSB0byB0aGlzIGZpbGUuXHJcblxyXG5cclxuLnJlcXVpcmVkLXByb21wdCB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgcGFkZGluZzogc21hbGwtdmFsdWUoJHJlcXVpcmVkLXByb21wdC1wYWRkaW5nKTtcclxuICAgIG1hcmdpbjogc21hbGwtdmFsdWUoJHJlcXVpcmVkLXByb21wdC1tYXJnaW4pO1xyXG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKCRyZXF1aXJlZC1wcm9tcHQtZm9udC1zaXplKTtcclxuICAgIGZvbnQtd2VpZ2h0OiAkcmVxdWlyZWQtcHJvbXB0LWZvbnQtd2VpZ2h0O1xyXG4gICAgZm9udC1zdHlsZTogJHJlcXVpcmVkLXB0b21wdC1mb250LXN0eWxlO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIHBhZGRpbmc6IGxhcmdlLXZhbHVlKCRyZXF1aXJlZC1wcm9tcHQtcGFkZGluZyk7XHJcbiAgICAgICAgbWFyZ2luOiBsYXJnZS12YWx1ZSgkcmVxdWlyZWQtcHJvbXB0LW1hcmdpbik7XHJcbiAgICB9XHJcbiAgICArIC5jbXMtY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XHJcbiAgICB9XHJcbn1cclxuLnNpbmdsZS1jb2x1bW4tY2FsbGJhY2stY29udGFpbmVyIHtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAvLyBUcnkgdG8gcHJldmVudCB0ZXh0IGZyb20gc3Bhbm5pbmcgdG9vIHdpZGUuXHJcbiAgICAgICAgbWF4LXdpZHRoOiA4MCU7XHJcbiAgICAgICAgbWFyZ2luOiAwIGF1dG8gMzBweDtcclxuICAgICAgICAvLyBKdXN0IHRvIGtlZXAgdGhlIHRvcCBhbmQgYm90dG9tIGlubGluZSB3aXRoIHRoZSBwYWRkaW5nIGNhdXNlZCBieSB0aGUgYWxlcnQgaWNvbi5cclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogc3BhY2luZy12YWx1ZSgkc2EtbWFyZ2luLCAxKTtcclxuICAgIH1cclxuICAgICYuY29udGVudC1ib3JkZXIge1xyXG4gICAgICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgJGNvbG91cjM7XHJcbiAgICB9XHJcbiAgICAuY21zLWNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB9XHJcbiAgICAuYnV0dG9ucy1jb250YWluZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vLyAtLS0tLSBGb3JtcyAtLS0tLS0gXHJcbmZvcm0ge1xyXG4gICAgJi51c2VyLWRhdGEtZm9ybSB7XHJcbiAgICAgICAgLy8gQWRqdXN0aW5nIHBhZGRpbmctYm90dG9tIGZvciBTU08gZm9ybSBkZXNpZ24gXHJcbiAgICAgICAgcGFkZGluZzogMCAwIDIwcHg7XHJcbiAgICAgICAgLy8gR290IHRvIHNldCB0aGUgYmFja2dyb3VuZCBjb2xvdXIganVzdCBhIHBhZ2UgYmFja2dyb3VuZCBpbWFnZSBpcyBzZXQuXHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjE7XHJcbiAgICAgICAgQGlmIHNtb290aC1lZGdlcygpIHtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5zaW5nbGUtY29sdW1uIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG4gICAgICAgIGJvcmRlcjogJGZvcm1zLXNpbmdsZS1jb2x1bW4tYm9yZGVyO1xyXG4gICAgICAgIEBpZiBzbW9vdGgtZWRnZXMoKSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuZmllbGQge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBzbWFsbC12YWx1ZSgkZm9ybXMtc2luZ2xlLWNvbHVtbi1maWVsZC1wYWRkaW5nKTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogbGFyZ2UtdmFsdWUoJGZvcm1zLXNpbmdsZS1jb2x1bW4tZmllbGQtcGFkZGluZyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgIC8vIFRoaXMgaXMgbm9ybWFsbHkgdGhlIHN1Ym1pdCBidXR0b24uXHJcbiAgICAgICAgICAgICAgICAuYnV0dG9uLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAxNXB4IDAgMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gU3VwcHJlc3NpbmcgdG8gYWxsb3cgaW5wdXQgdG8gdGFrZSB1cCBhdmFsYWJsZSB3aWR0aC5cclxuICAgICAgICAvLyAucGFzc3dvcmQtcmV2ZWFsLWNvbnRhaW5lciB7XHJcbiAgICAgICAgLy8gICAgIGlucHV0IHtcclxuICAgICAgICAvLyAgICAgICAgbWFyZ2luLXJpZ2h0OiAtI3skcmV2ZWFsLXBhc3N3b3JkLXdpZHRofTtcclxuICAgICAgICAvLyAgICAgfVxyXG4gICAgICAgIC8vIH1cclxuICAgIH1cclxuICAgIC5jbXMtY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgIEBpZiAoc21hbGwtdmFsdWUoJGZvcm1zLWNtcy1jb250ZW50LWNvbnRhaW5lci1tYXgtd2lkdGgpKSB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogc21hbGwtdmFsdWUoJGZvcm1zLWNtcy1jb250ZW50LWNvbnRhaW5lci1tYXgtd2lkdGgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBwYWRkaW5nOiBzbWFsbC12YWx1ZSgkZm9ybXMtY21zLWNvbnRlbnQtY29udGFpbmVyLXBhZGRpbmcpO1xyXG4gICAgICAgIHRleHQtYWxpZ246IHNtYWxsLXZhbHVlKCRmb3Jtcy1jbXMtY29udGVudC1jb250YWluZXItdGV4dC1hbGlnbik7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogbWVkaXVtLXZhbHVlKCRmb3Jtcy1jbXMtY29udGVudC1jb250YWluZXItdGV4dC1hbGlnbik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgLy8gbWF4LXdpZHRoOiA0NjVweDtcclxuICAgICAgICAgICAgQGlmIChsYXJnZS12YWx1ZSgkZm9ybXMtY21zLWNvbnRlbnQtY29udGFpbmVyLW1heC13aWR0aCkpIHtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogbGFyZ2UtdmFsdWUoJGZvcm1zLWNtcy1jb250ZW50LWNvbnRhaW5lci1tYXgtd2lkdGgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICAgICAgcGFkZGluZzogbGFyZ2UtdmFsdWUoJGZvcm1zLWNtcy1jb250ZW50LWNvbnRhaW5lci1wYWRkaW5nKTtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGFyZ2UtdmFsdWUoJGZvcm1zLWNtcy1jb250ZW50LWNvbnRhaW5lci10ZXh0LWFsaWduKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBmaWVsZHNldCB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgbWFyZ2luOiAwIDAgMzBweDtcclxuICAgICAgICBwYWRkaW5nOiBzbWFsbC12YWx1ZSgkZmllbGQtc2V0LXBhZGRpbmcpO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogbGFyZ2UtdmFsdWUoJGZpZWxkLXNldC1wYWRkaW5nKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpmaXJzdC1vZi10eXBlIHtcclxuICAgICAgICAgICAgaDIge1xyXG4gICAgICAgICAgICAgICAgQGlmIChzbW9vdGgtZWRnZXMoKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpIHNtb290aC1lZGdlcygpIDAgMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBoMywgZGl2ID4gbGVnZW5kIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiBtYXAtZ2V0KCRmaWVsZC13aWR0aCwgbW9iaWxlKTtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMjVweCBhdXRvIDIwcHg7XHJcbiAgICAgICAgICAgIGZvbnQtc3R5bGU6ICRmaWVsZHNldC1zdWItaGVhZGluZy1mb250LXN0eWxlO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRmaWVsZHNldC1zdWItaGVhZGluZy1mb250LXNpemUpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogJGZpZWxkc2V0LXN1Yi1oZWFkaW5nLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICBAaWYgKCRmaWVsZHNldC1zdWItaGVhZGluZy1mb250LWZhbWlseSkge1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmaWVsZHNldC1zdWItaGVhZGluZy1mb250LWZhbWlseTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGhlYWRpbmdVbmRlckxpbmUoMSwgJGNvbG91cjQsICRoZWFkaW5nLXJ1bGUtY29sb3VyKTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjA7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogbWFwLWdldCgkZmllbGQtd2lkdGgsIGRlc2t0b3ApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGgyLCBsZWdlbmQge1xyXG5cclxuICAgICAgICAgICAgLy8gQ29sb3VyIHByb2Nlc3NpbmcuXHJcbiAgICAgICAgICAgICRoZWFkaW5nLWNvbG91cjogY29udHJhc3QtY2hlY2tlcigkZmllbGRzZXQtaGVhZGluZy1jb2xvdXIsICRmaWVsZHNldC1oZWFkaW5nLWJhY2tncm91bmQtY29sb3VyKTtcclxuXHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgcGFkZGluZzogbWFwLWdldCgkaGVhZGluZy0yLXBhZGRpbmcsIHByZXNldC00KTtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMTBweDtcclxuICAgICAgICAgICAgY29sb3I6ICRoZWFkaW5nLWNvbG91cjtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGZpZWxkc2V0LWhlYWRpbmctYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZmllbGRzZXQtaGVhZGluZy1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkZmllbGRzZXQtaGVhZGluZy1mb250LXNpemUpO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiAkZmllbGRzZXQtaGVhZGluZy10ZXh0LWFsaWduO1xyXG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbWFwLWdldCgkaGVhZGluZy0yLXRleHQtdHJhbnNmb3JtLCBwcmVzZXQtNCk7XHJcbiAgICAgICAgICAgIEBpZiAoJGZpZWxkc2V0LWhlYWRpbmctYm9yZGVyLWJvdHRvbSkge1xyXG4gICAgICAgICAgICAgICAgQGlmIChzcGFjaW5nLXZhbHVlKCRoZWFkaW5nLTItcGFkZGluZywgMywgcHJlc2V0LTQpID09IDApIHtcclxuICAgICAgICAgICAgICAgICAgICAvLyBSZS1hZGp1c3RpbmcgdGhlIHBhZGRpbmcgdG8gYWNjb3VudCBmb3IgYSBydWxlLlxyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA1cHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAkZmllbGRzZXQtaGVhZGluZy1ib3JkZXItYm90dG9tO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpZiAobWFwLWdldCgkaGVhZGluZy0yLXRleHQtdHJhbnNmb3JtLCBwcmVzZXQtNCkgPT0gXCJ1cHBlcmNhc2VcIikge1xyXG4gICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IG1hcC1nZXQoJGhlYWRpbmctMi1sZXR0ZXItc3BhY2luZywgcHJlc2V0LTQpO1xyXG4gICAgICAgICAgICAgICAgd29yZC1zcGFjaW5nOiAycHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJiArIC5zdWItZ3JvdXAtbmFtZSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAtMTBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBsZWdlbmQge1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogZ2V0LXR5cG9ncmFwaHktZm9udC1mYW1pbHkoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdWwge1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgPiAuZm9ybS1lcnJvciB7XHJcbiAgICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5zdWItZ3JvdXAtbmFtZSB7XHJcblxyXG4gICAgICAgICAgICAvLyBDb2xvdXIgcHJvY2Vzc2luZy5cclxuICAgICAgICAgICAgJHN1Yi1oZWFkaW5nLWNvbG91cjogY29udHJhc3QtY2hlY2tlcigkY29sb3VyMiwgJGNvbG91cjMpOyBcclxuXHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBtYXAtZ2V0KCRoZWFkaW5nLTItcGFkZGluZywgcHJlc2V0LTQpO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMztcclxuICAgICAgICAgICAgY29sb3I6ICRzdWItaGVhZGluZy1jb2xvdXI7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246ICRmaWVsZHNldC1oZWFkaW5nLXRleHQtYWxpZ247XHJcbiAgICAgICAgICAgICYgKyAucmVxdWlyZWQtcHJvbXB0IHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmVycm9yLWJsb2NrIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgLy8gU3VwcHJlc3Npbmcgc28gdGhpcyBsb29rIGNvbnNpc3RlbnQgd2l0aCBmb3JtcyBpbiBhIGxhcmdlLTYgY2VsbC5cclxuICAgICAgICAgICAgLy8gICBtYXgtd2lkdGg6IG1hcC1nZXQoJGZpZWxkLXdpZHRoLCBkZXNrdG9wKTtcclxuICAgICAgICAgICAgICBtYXJnaW46IDAgYXV0byAxMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmZvcmdvdHRlbi1wYXNzd29yZC1saW5rIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIC8vIHBhZGRpbmc6IDAgNjhweCAwIDA7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogKCRmaWVsZC1sYWJlbC1tYXJnaW4tbGVmdCArIChsYXJnZS12YWx1ZSgkZmllbGQtaW5wdXQtd2lkdGgpIC0gNzApICsgbGFyZ2UtdmFsdWUoJGZpZWxkc2V0LWxhYmVsLXdpZHRoKSk7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAvL21hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgXHJcbn1cclxuXHJcbi5jb2x1bW4tY29udGVudC1jb250YWluZXIge1xyXG4gICAgbWFyZ2luOiBtYXAtZ2V0KCRjb2x1bW4tY29udGVudC1jb250YWluZXItbWFyZ2luLCBzbWFsbCk7XHJcbiAgICAvLyBBZGRpbmcgYmFja2dyb3VuZC1jb2xvciBkdWUgdG8gaWYgYSBwYWdlIGJhY2tncm91bmQgaXMgYWN0aXZlLlxyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjE7XHJcbiAgICBib3JkZXI6ICRmb3Jtcy1zaW5nbGUtY29sdW1uLWJvcmRlcjtcclxuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgJHRyYW5zaXRpb25PdXRybztcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBtYXJnaW46IG1hcC1nZXQoJGNvbHVtbi1jb250ZW50LWNvbnRhaW5lci1tYXJnaW4sIGxhcmdlKTtcclxuICAgIH1cclxuICAgIEBpZiAoc21vb3RoLWVkZ2VzKCkpIHtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgIH1cclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIGJveC1zaGFkb3c6ICRib3hTaGFkb3czO1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG91cjA7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAkdHJhbnNpdGlvbkludHJvLCBib3JkZXItY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgIH1cclxuICAgIGZpZWxkc2V0IHtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICB9XHJcbiAgICAuZmllbGRzZXQtYmFubmVyLWNvbnRhaW5lciB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBmbGV4OiAxO1xyXG4gICAgICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjQtNjtcclxuICAgICAgICBAaWYgc21vb3RoLWVkZ2VzKCkge1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKSBzbW9vdGgtZWRnZXMoKSAwIDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMjBweCAxMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAuZmllbGRzZXQtYmFubmVyIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEyMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgc21vb3RoLWVkZ2VzKCkge1xyXG4gICAgICAgICAgICAmICsgaDIge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgIH1cclxuICAgIC5maWVsZCB7XHJcbiAgICAgICAgcGFkZGluZzogMCAxMHB4O1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgbGFiZWwge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogJGZpZWxkLWxhYmVsLW1hcmdpbi1sZWZ0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmhlYWRpbmctY29udGFpbmVyIHtcclxuICAgICAgICBoMiB7XHJcbiAgICAgICAgICAgIEBpZiAoc21vb3RoLWVkZ2VzKCkpIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5jbXMtY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIHBhZGRpbmc6IDAgMTVweCA3LjVweDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwIDg1cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnBhZ2UtYnV0dG9ucy1jb250YWluZXIge1xyXG4gICAgICAgIHBhZGRpbmc6IDAgMTBweDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0tLSBDYXB0Y2hhIC0tLS0gXHJcbi5jYXB0Y2hhLWNvbnRhaW5lciB7XHJcbiAgICAvLyBBZGRpbmcgcG9zaXRpb24gYWJzb2x1dGUgYXMgcmVjYXB0Y2hhJ3MgaW5saW5lIHN0eWxlcyBhcmUgY2F1c2luZyBtb2RhbHMgdG8gYmUgcHVzaGVkIG91dHNpZGUgb2YgdGhlIHZpZXdwb3J0LlxyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgei1pbmRleDogMjtcclxuICAgICYuY2hlY2tib3gge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIG1hcmdpbjogMTVweCAwO1xyXG4gICAgfVxyXG4gICAgLmdyZWNhcHRjaGEtYmFkZ2Uge1xyXG4gICAgICAgIC8vIE92ZXJyaWRpbmcgR29vZ2xlJ3Mgc3R5bGVzIGR1ZSB0byBvdmVybGFwcGluZyB0aGUgc3RpY2t5IGJ1dHRvbnMgaW4gbWFuYWdlIGNhbGxzLlxyXG4gICAgICAgIGJvdHRvbTogNjBweCAhaW1wb3J0YW50OyBcclxuICAgIH1cclxufVxyXG5cclxuXHJcbi5wb3B1cC1iYWNrZ3JvdW5kIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG59XHJcblxyXG4vLyAtLS0tLSBDb25maXJtYXRpb24gLS0tLS0gXHJcblxyXG4uY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIge1xyXG4gICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICBtYXgtd2lkdGg6IDExNTBweDtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgcGFkZGluZzogKCRub3RpZmljYXRpb24tcHJvbXB0LXBhZGRpbmcgLyAzKTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMTtcclxuICAgICAgICBib3gtc2hhZG93OiAkYm94U2hhZG93MztcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6ICRub3RpZmljYXRpb24tcHJvbXB0LXBhZGRpbmc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jb250ZW50IHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgb24tcGFnZS1ub3RpZmljYXRpb25zKCgpLCAocHJlc2V0LTE6IDAgYXV0byA1MHB4KSk7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDMwcHg7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcCB7IFxyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvIDEwcHggYXV0byAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE5cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMTBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5wcm9tcHQtcHJvY2VlZC1idXR0b24ge1xyXG4gICAgICAgICAgICAgICAgJi5zdWNjZXNzIHtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBjb21tb24tYnV0dG9uLTEoMjBweCAxMHB4LCAkc3VjY2Vzcy1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIChkZWZhdWx0OiAkY29sb3VyNCwgaG92ZXI6ICRjb2xvdXIxKSwgKGRlZmF1bHQ6ICRjb2xvdXIzLTEsIGhvdmVyOiBtYXAtZ2V0KCRzdWNjZXNzLWNvbG91ciwgMCkpLFwiXCIsNzAwLCAod2lkdGg6IDIzMHB4KSlcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICYud2FybmluZywgJi5hbGVydCB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgY29tbW9uLWJ1dHRvbi0xKDIwcHggMTBweCwgJGFsZXJ0LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgJGFsZXJ0LWJ1dHRvbi1jb2xvdXIsIChkZWZhdWx0OiAkY29sb3VyMy0xLCBob3ZlcjogbWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKSksXCJcIiw3MDAsICh3aWR0aDogMjMwcHgpKVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDQ1cHggMjBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAucHJvbXB0LWNhbmNlbC1idXR0b24ge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgY29tbW9uLWJ1dHRvbi0xKDIwcHggMTBweCwgJGNhbmNlbC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsICRjYW5jZWwtYnV0dG9uLWNvbG91ciwgJGNhbmNlbC1idXR0b24tYm9yZGVyLWNvbG91ciwgXCJcIiwgNzAwLCAod2lkdGg6IDIzMHB4KSwgKHNtYWxsOiAwIDIyLjVweCAxMHB4LCBsYXJnZTogMCA0NXB4IDIwcHgpKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5jbG9zZS1idXR0b24ge1xyXG4gICAgICAgIEBpbmNsdWRlIGNsb3NlQnV0dG9uKCk7XHJcbiAgICB9XHJcblxyXG59XHJcblxyXG4uY29uZmlybWF0aW9uLWNvbnRhaW5lciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgcGFkZGluZzogMTVweCAxMHB4O1xyXG4gICAgbWFyZ2luOiAzMHB4IDAgMDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xyXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgcGFkZGluZzogMTVweCAzMHB4O1xyXG4gICAgfVxyXG4gICAgJi5tYXJnaW4tYm90dG9tIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xyXG4gICAgfVxyXG4gICAgJi5zdWNjZXNzIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29uZmlybWF0aW9uLWNvbnRhaW5lci1iYWNrZ3JvdW5kLXN1Y2Nlc3M7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJHN1Y2Nlc3MtY29sb3VyLCAwKTtcclxuICAgIH1cclxuICAgICYud2FybmluZyB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbmZpcm1hdGlvbi1jb250YWluZXItYmFja2dyb3VuZC13YXJuaW5nO1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCR3YXJuaW5nLWNvbG91ciwgMCk7XHJcbiAgICB9XHJcbiAgICAmLmFsZXJ0IHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29uZmlybWF0aW9uLWNvbnRhaW5lci1iYWNrZ3JvdW5kLWFsZXJ0O1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDApO1xyXG4gICAgfVxyXG59IiwiLypcclxuLS0tLS0gSGVhZGVyIC0tLS0tXHJcbkhhbmRsZXMgdGhlIGZvbGxvd2luZzogXHJcbi0gVXBwZXIgKyBsb3dlciBuYXZpZ2F0aW9uIGJhcnMuXHJcbi0gU2l0ZSBsb2dvXHJcbi0gSGVhZGVyIHN0aWNreSBmdW5jdGlvbmFsaXR5OlxyXG4gIC0gRnVsbFxyXG4gIC0gTWluaWZpZWRcclxuICAtIE5vIFRvcCBCYXJcclxuICAtIE1lbnVcclxuLSBWQVQgU3dpdGNoZXJcclxuLSBCcmVhZGNydW1ic1xyXG4tIEJhc2tldCBTdW1tYXJ5IFxyXG4tIENhbGxvdXRzIGluIHRoZSBoZWFkZXIgdG8gbW9kaWZ5IGNhbGxvdXQgc2VlIGF4aXMtbm90aWZpY2F0aW9uLnNjc3NcclxuLSBQcmVkaWN0aXZlIHNlYXJjaCBwb3NpdGlvbmluZyB0byBtb2RpZnkgc2VhcmNoIHN0eWxlIHRoZW4gZ28gdG8gYXhpcy1hdXRvY29tcGxldGUuc2Nzc1xyXG4tIFVTUCBiYXIgd2hpY2ggaXMgZXNzZW50aWFsbHkgYSBtb2R1bGUuXHJcbi0gV2VsY29tZSBUZXh0XHJcbi0gVGFnIGxpbmVzXHJcbi0gVE9ETzogSSBhbSBjdXJyZW50bHkgaW4gdGhlIHByb2Nlc3Mgb2YgdHJ5aW5nIHRvIHVudGFuZ2xlIHRoZSBtZWdhIG1lbnUgY3NzICsgbWFrZSBpdCBtb3JlIGdlbmVyaWMgYW5kIHJlaG9tZSBpdCBpbnNpZGUgb2YgYXhpcy1tZW51cy5zY3NzXHJcbiovXHJcblxyXG5cclxuLy8tLS0tLSBTdGlja3kgSGVhZGVyIC0tLS0tIFxyXG5oZWFkZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBtYXJnaW46IHNtYWxsLXZhbHVlKCRoZWFkZXItbWFyZ2luKTtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBtYXJnaW46IGxhcmdlLXZhbHVlKCRoZWFkZXItbWFyZ2luKTtcclxuICAgIH1cclxuICAgIFtkYXRhLWF4aXMtc3RpY2t5XSB7XHJcbiAgICAgICAgei1pbmRleDogMjAwMDtcclxuICAgICAgICAmLmlzLXN0dWNrIC5oZWFkZXItY29udGFpbmVyIHtcclxuICAgICAgICAgICAgQGlmIG5vdCAoJGhlYWRlci1pcy1zdHVjay1vcGFjaXR5ID09IDEpIHtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6ICRoZWFkZXItaXMtc3R1Y2stb3BhY2l0eTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgYm94LXNoYWRvdzogJGJveFNoYWRvdzI7XHJcbiAgICAgICAgICAgIEBpZiBub3QgKCRoZWFkZXItaXMtc3R1Y2stb3BhY2l0eSA9PSAxKSB7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAvLyBNb2JpbGUgLyBUYWJsZXQgZG9lc24ndCBoYXZlIGFueSBjb25maWcgYWxsIGl0IHNob3dzIGlzIHRoZSBsb2dvICsgdG9nZ2xlIGJhci5cclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgICAgIHotaW5kZXg6IDIwMDA7XHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICB3aWR0aDogMDtcclxuICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHdpZHRoIDEuNXMgZWFzZS1vdXQ7IFxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpZiBub3QgKCRoZWFkZXItaXMtc3R1Y2stb3BhY2l0eSA9PSAxKSB7XHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAvL1Nob3cgZnVsbCBoZWFkZXIgd2hlbiBzdGlja3kuXHJcbiAgICAgICAgICAgIC8vICZbZGF0YS1zdGlja3ktdHlwZT1cIkZ1bGxcIl0ge1xyXG4gICAgICAgICAgICAgICAgLy9ObyBTcGVjIGZvciB0aGlzIHlldC5cclxuICAgICAgICAgICAgLy8gfVxyXG4gICAgICAgICAgICAvL1JlbW92ZSB0b3AtYmFyIHdoZW4gc3RpY2t5LlxyXG4gICAgICAgICAgICAmW2RhdGEtc3RpY2t5LXR5cGU9XCJOb1RvcEJhclwiXSB7XHJcbiAgICAgICAgICAgICAgICAuaGVhZGVyLXRvcC1iYXItY29udGFpbmVyICB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWF4LWhlaWdodDogMDtcclxuICAgICAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAvLyBTdXBwcmVzcyB0b3AtYmFyLCByZWR1Y2UgaGVhZGVyLWNvbnRlbnQgaGVpZ2h0IGJ1dCByZXRhaW4gbWVnYSBtZW51LlxyXG4gICAgICAgICAgICAmW2RhdGEtc3RpY2t5LXR5cGU9XCJNaW5pZnlcIl0ge1xyXG4gICAgICAgICAgICAgICAgLmhlYWRlci10b3AtYmFyLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5oZWFkZXItY29udGVudCB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWluLWhlaWdodDogYXV0bztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5oZWFkZXItY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAuaGVhZGVyLWNvbnRlbnQtbGVmdCB7XHJcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIC5tZW51IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgPiBsaSA+IGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogc3BhY2luZy12YWx1ZSgkaGVhZGVyLW1pbmlmaWVkLWNvbnRlbnQtbGVmdC1tZW51LWFuY2hvci1tYXJnaW4sIDEpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogc3BhY2luZy12YWx1ZSgkaGVhZGVyLW1pbmlmaWVkLWNvbnRlbnQtbGVmdC1tZW51LWFuY2hvci1tYXJnaW4sIDMpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogJGhlYWRlci1taW5pZmllZC1jb250ZW50LWxlZnQtbWVudS1hbmNob3ItcGFkZGluZztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IG1hcmdpbi10b3AgJHRyYW5zaXRpb25JbnRybywgbWFyZ2luLWJvdHRvbSAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLmhlYWRlci1jb250ZW50LWNlbnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5sb2dvLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAkaGVhZGVyLW1pbmlmaWVkLWhlaWdodDtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDVweCAwO1xyXG4gICAgICAgICAgICAgICAgICAgIC5sb2dvLWZ1bGwtc2l6ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIC5sb2dvLW1pbmlmaWVkIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IG1hcC1nZXQoJGhlYWRlci1sb2dvLXdpZHRoLCBtaW5pZmllZCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5oZWFkZXItY29udGVudC1yaWdodCB7XHJcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5oZWFkZXItYWNjb3VudC1idXR0b24ge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IG1hcC1nZXQoJGhlYWRlci1hY2NvdW50LWJ1dHRvbi1wYWRkaW5nLCBtaW5pZmllZCk7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogcGFkZGluZyAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgI2FjdGlvbi1iYXItY29udGFpbmVyICB7XHJcbiAgICAgICAgICAgICAgICAgICAgZmxleDogMDtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgLmJhc2tldC1kZXNrdG9wLXN1bW1hcnkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6ICRoZWFkZXItbWluaWZpZWQtaGVpZ2h0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAkYmFza2V0LXByZXZpZXctYm9yZGVyIHsgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAoJGhlYWRlci1taW5pZmllZC1oZWlnaHQgLSAyKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogJGhlYWRlci1taW5pZmllZC1oZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1pY29uLXBhZGRpbmcsIG1pbmlmaWVkKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAuYnViYmxlLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogKCRoZWFkZXItc2VhcmNoLWhlaWdodCAtIDUpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5oZWFkZXItc2VhcmNoLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogYXV0bztcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgIC5oZWFkZXItcHJlZGljdGl2ZS1zZWFyY2gge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAuY2FsbGJhY2tDb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAkaGVhZGVyLW1pbmlmaWVkLWhlaWdodDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAuYWpheC1zZWFyY2gge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6ICRoZWFkZXItbWluaWZpZWQtaGVpZ2h0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICArIGJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6ICRoZWFkZXItbWluaWZpZWQtaGVpZ2h0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLy8gLnJlc3VsdHMtY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIENvbW1lbnRpbmcgb3V0IGFzIHRoaXMgY2F1c2UgdGhlIHJlc3VsdHMgdG8gb3ZlcmZsb3cgdGhlIHZpZXdwb3J0IGZvciBraW5nc2ZpZWxkLlxyXG4gICAgICAgICAgICAgICAgICAgIC8vcGFkZGluZy10b3A6IDVweDtcclxuICAgICAgICAgICAgICAgIC8vIH1cclxuICAgICAgICAgICAgICAgIC5oZWFkZXItdGFnLWxpbmUtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLy8gU28gYmFza2V0IGdldHMgdmVydGljYWxseSBhbGlnbmVkLlxyXG4gICAgICAgICAgICAgICAgLmhlYWRlci13ZWxjb21lLXRleHQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgICYgKyAjYWN0aW9uLWJhci1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5oZWFkZXItY2FsbC10by1hY3Rpb24tY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIE5vcm1hbGx5IGJ1dHRvbiBjb250YWluZXJzIHNpdCBoZXJlIGluIGEgZGl2IHNvIHNlbGVjdGluZyBhbGwgZGlyZWN0IGRpdnMuXHJcbiAgICAgICAgICAgICAgICAgICAgPiBkaXYge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6ICRoZWFkZXItbWluaWZpZWQtaGVpZ2h0O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWluLWhlaWdodDogdW5zZXQ7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLmhlYWRlci1tZW51cy1pbm5lci1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIEBpZiAoJGhvbWUtYnV0dG9uLWljb24tcGFkZGluZykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAuaG9tZS1idXR0b24ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6ICN7JGhvbWUtYnV0dG9uLWljb24tc2l6ZSAvIDEuMn07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6ICN7KHNwYWNpbmctdmFsdWUoJGhvbWUtYnV0dG9uLWljb24tcGFkZGluZywgMSkgLyAyLjIpfSAjeyhzcGFjaW5nLXZhbHVlKCRob21lLWJ1dHRvbi1pY29uLXBhZGRpbmcsIDIpIC8gMil9O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBwYWRkaW5nICR0cmFuc2l0aW9uSW50cm8sIGZvbnQtc2l6ZSAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAubWVudSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgID4gbGkje2lmKCRob21lLWJ1dHRvbi1pY29uLXBhZGRpbmcsIFwiOm5vdCguaG9tZS1idXR0b24pXCIsIFwiXCIpfSA+IGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy10b3A6ICRoZWFkZXItbWluaWZpZWQtbWVnYS1tZW51LXBhcmVudC1ncm91cC1wYWRkaW5nO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206ICRoZWFkZXItbWluaWZpZWQtbWVnYS1tZW51LXBhcmVudC1ncm91cC1wYWRkaW5nO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgID4gbGkgPiBhLmhhcy1saW5rLWltYWdlIC5saW5rLWltYWdlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogI3sobGFyZ2UtdmFsdWUoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtaW1hZ2Utc2l6ZSkgLyAyKX07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAjeyhsYXJnZS12YWx1ZSgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1pbWFnZS1zaXplKSAvIDIpfTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB3aWR0aCAkdHJhbnNpdGlvbkludHJvLCBoZWlnaHQgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmW2RhdGEtc3RpY2t5LXR5cGU9XCJNZW51XCJdIHtcclxuICAgICAgICAgICAgICAgIC5oZWFkZXItdG9wLWJhci1jb250YWluZXIsIC5oZWFkZXItY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAubG9nby1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIC5sb2dvLWZ1bGwtc2l6ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIC5sb2dvLW1pbmlmaWVkIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IG1hcC1nZXQoJGhlYWRlci1sb2dvLXdpZHRoLCBtaW5pZmllZCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tLS0gSGVhZGVyIENvbnRhaW5lciAtLS0tLSBcclxuLy8gQ29udGFpbmVyIGFmdGVyIHN0aWNreSBjb250YWluZXIuXHJcbmhlYWRlciAuaGVhZGVyLWNvbnRhaW5lciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIEBpZiAkaGVhZGVyLWNvbnRlbnQtZ3JhZGlhbnQge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRoZWFkZXItY29udGVudC1ncmFkaWFudDtcclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRoZWFkZXItYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgd2lkdGg6IDk5JTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAkaGVhZGVyLW1vYmlsZS1zZXBlcmF0b3ItcnVsZS13ZWlnaHQ7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaGVhZGVyLW1vYmlsZS1zZXBlcmF0b3ItcnVsZS1jb2xvdXI7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHdpZHRoICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgLy8gcGFkZGluZzogbGFyZ2UtdmFsdWUoJGhlYWRlci1wYWRkaW5nKTtcclxuICAgICAgICBAaWYgKCRoZWFkZXItZGVza3RvcC1zZXBhcmF0b3IpIHtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogJGhlYWRlci1kZXNrdG9wLXNlcGFyYXRvcjtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmICgkaGVhZGVyLWRlc2t0b3AtYmFja2dyb3VuZC1pbWFnZSkge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJGhlYWRlci1kZXNrdG9wLWJhY2tncm91bmQtaW1hZ2UpO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAkaGVhZGVyLWRlc2t0b3AtYmFja2dyb3VuZC1pbWFnZS1wb3NpdGlvbjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLS0tIEhlYWRlciBDb250ZW50IFJlc3BvbnNpdmUgVG9nZ2xlIEJhciAoIGJhc2ljYWxseSBtb2JpbGUgdmlldyApIC0tLS0tXHJcbi5oZWFkZXItbW9iaWxlLXRvZ2dsZS1iYXIge1xyXG4gICAgbWF4LXdpZHRoOiA3MCU7XHJcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICBvcmRlcjogMjtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiBub25lO1xyXG4gICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG4gICAgdWwge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgbGkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIENvbG91ciBwcm9jZXNzaW5nIHRvIG1ha2Ugc3VyZSBidXR0b25zIGFyZSBsZWdpYmFsLi5cclxuICAgIC8vIERlZmF1bHQuXHJcbiAgICAkdG9nZ2xlLWRlZmF1bHQtY29sb3VyOiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJGhlYWRlci1yZXNwb25zaXZlLWNvbG91ciwgZGVmYXVsdCksICRoZWFkZXItYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgJHRvZ2dsZS1ob3Zlci1jb2xvdXI6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkaGVhZGVyLXJlc3BvbnNpdmUtY29sb3VyLCBob3ZlciksICRoZWFkZXItYmFja2dyb3VuZC1jb2xvdXIpO1xyXG5cclxuICAgIGEsIGJ1dHRvbiB7XHJcbiAgICAgICAgd2lkdGg6ICRoZWFkZXItcmVzcG9uc2l2ZS1pdGVtLXNpemU7XHJcbiAgICAgICAgLy8gU2V0IGhlaWdodCB0byAxMDAlIGlmIHZhbHVlID09IGZpdC1jb250ZW50IHRvIHByZXZlbnQgZGlmZmVyZW50IGhlaWdodHMgYW5kIGljb25zIGFwcGVhcnMgc3RhZ2dlcmVkLlxyXG4gICAgICAgIGhlaWdodDogaWYoJGhlYWRlci1yZXNwb25zaXZlLWl0ZW0tc2l6ZSA9PSBmaXQtY29udGVudCwgMTAwJSwgJGhlYWRlci1yZXNwb25zaXZlLWl0ZW0tc2l6ZSk7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIHBhZGRpbmc6IHNtYWxsLXZhbHVlKCRoZWFkZXItcmVzcG9uc2l2ZS1pdGVtLXBhZGRpbmcpO1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBtZWRpdW0tdmFsdWUoJGhlYWRlci1yZXNwb25zaXZlLWl0ZW0tcGFkZGluZyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29sb3I6ICR0b2dnbGUtZGVmYXVsdC1jb2xvdXI7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkdG9nZ2xlLWhvdmVyLWNvbG91cjtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBhW2hyZWZePVwidGVsOlwiXSB7XHJcbiAgICAgICAgQGlmICRtZW51cy10ZWxlcGhvbmUtZm9udC1zaXplIHtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkbWVudXMtdGVsZXBob25lLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiAkbWVudXMtdGVsZXBob25lLWZvbnQtd2VpZ2h0ICB7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkbWVudXMtdGVsZXBob25lLWZvbnQtd2VpZ2h0IDtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmIG5vdCBtYXAtZ2V0KCRoZWFkZXItbW9iaWxlLXRvZ2dsZS1pY29ucy1kaXNwbGF5LCB0ZWxlcGhvbmUpIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCB0ZWxlcGhvbmUpO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogY3VzdG9tLWljb24tZmFtaWx5KCRmb250QXdlc29tZVNvbGlkLCAkc2l0ZS1pY29ucy1jdXN0b20tdGVsZXBob25lLWljb24pO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHNtYWxsLXZhbHVlKCRoZWFkZXItcmVzcG9uc2l2ZS1pY29uLXNpemUpO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgkaGVhZGVyLXJlc3BvbnNpdmUtaWNvbi1yb3RhdGUpO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMjJweDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiBsYXJnZS12YWx1ZSgkaGVhZGVyLXJlc3BvbnNpdmUtaWNvbi1zaXplKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGFbaHJlZl49XCJtYWlsdG86XCJdIHtcclxuICAgICAgICBAaWYgbm90IG1hcC1nZXQoJGhlYWRlci1tb2JpbGUtdG9nZ2xlLWljb25zLWRpc3BsYXksIG1haWwpIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBlbWFpbCk7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBjdXN0b20taWNvbi1mYW1pbHkoJGZvbnRBd2Vzb21lU29saWQsICRzaXRlLWljb25zLWN1c3RvbS1lbWFpbC1pY29uKTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiBzbWFsbC12YWx1ZSgkaGVhZGVyLXJlc3BvbnNpdmUtaWNvbi1zaXplKTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiBsYXJnZS12YWx1ZSgkaGVhZGVyLXJlc3BvbnNpdmUtaWNvbi1zaXplKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5oZWFkZXItdG9nZ2xlLXNlYXJjaCB7XHJcbiAgICAgICAgQGlmIG5vdCBtYXAtZ2V0KCRoZWFkZXItbW9iaWxlLXRvZ2dsZS1pY29ucy1kaXNwbGF5LCBzZWFyY2gpIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBzZWFyY2gpO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogY3VzdG9tLWljb24tZmFtaWx5KCRmb250QXdlc29tZVNvbGlkLCAkc2l0ZS1pY29ucy1jdXN0b20tc2VhcmNoLWljb24pO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHNtYWxsLXZhbHVlKCRoZWFkZXItcmVzcG9uc2l2ZS1pY29uLXNpemUpO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IGxhcmdlLXZhbHVlKCRoZWFkZXItcmVzcG9uc2l2ZS1pY29uLXNpemUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgXHJcbiAgICAuaGVhZGVyLXRvZ2dsZS1iYXNrZXQge1xyXG4gICAgICAgIEBpZiBub3QgbWFwLWdldCgkaGVhZGVyLW1vYmlsZS10b2dnbGUtaWNvbnMtZGlzcGxheSwgYmFza2V0KSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgYmFza2V0LWljb24pO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogY3VzdG9tLWljb24tZmFtaWx5KCRmb250QXdlc29tZVNvbGlkLCAkc2l0ZS1pY29ucy1jdXN0b20tYmFza2V0LWljb24pO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHNtYWxsLXZhbHVlKCRoZWFkZXItcmVzcG9uc2l2ZS1pY29uLXNpemUpO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IGxhcmdlLXZhbHVlKCRoZWFkZXItcmVzcG9uc2l2ZS1pY29uLXNpemUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYud2FybmluZyB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGJhc2tldC13YXJuaW5nKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZXhwcmVzcy1kZWZhdWx0LWljb25zO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuYWxlcnQge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBiYXNrZXQtYWxlcnQpO1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRleHByZXNzLWRlZmF1bHQtaWNvbnM7XHJcblxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5oZWFkZXItdG9nZ2xlLW1lZ2EtbWVudSB7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBoYW1idXJnZXIpO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogY3VzdG9tLWljb24tZmFtaWx5KCRmb250QXdlc29tZVNvbGlkLCAkc2l0ZS1pY29ucy1jdXN0b20taGFtYnVyZ2VyLWljb24pO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHNtYWxsLXZhbHVlKCRoZWFkZXItaGFtYnVyZ2VyLWljb24tc2l6ZSk7XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IGxhcmdlLXZhbHVlKCRoZWFkZXItaGFtYnVyZ2VyLWljb24tc2l6ZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuaGVhZGVyLXRvZ2dsZS1hY2NvdW50IHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRhY2NvdW50LWljb25zLCBhY2NvdW50KTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiBzbWFsbC12YWx1ZSgkaGVhZGVyLXJlc3BvbnNpdmUtaWNvbi1zaXplKTtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6IGN1c3RvbS1pY29uLWZhbWlseSgkZm9udEF3ZXNvbWVTb2xpZCwgJHNpdGUtaWNvbnMtY3VzdG9tLWFjY291bnQtaWNvbik7XHJcblxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmhlYWRlci1tb2JpbGUtbWVudSB7XHJcbiAgICBtYXgtaGVpZ2h0OiAwO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjE7XHJcbiAgICB6LWluZGV4OiAkaGVhZGVyLW1vYmlsZS1tZW51LXotaW5kZXg7XHJcbiAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0ICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAvLyBNb2JpbGUgLyBUYWJsZSBzcGVjaWZjIHN0eWxlcy5cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgQGlmIHNtb290aC1lZGdlcygpIHtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIHNtb290aC1lZGdlcygpIHNtb290aC1lZGdlcygpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBtYXgtaGVpZ2h0OiBub25lO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIwO1xyXG4gICAgICAgIHotaW5kZXg6IGF1dG87XHJcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XHJcbiAgICB9XHJcbiAgICAmLmFuaW1hdGUge1xyXG4gICAgICAgIG1heC1oZWlnaHQ6ICRoZWFkZXItbW9iaWxlLW1lbnUtbWF4LWhlaWdodDtcclxuICAgICAgICBAaW5jbHVkZSBkcm9wZG93bi1mb290ZXI7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgfVxyXG4gICAgJi5hY3RpdmUge1xyXG4gICAgICAgIG92ZXJmbG93LXk6IGF1dG87XHJcbiAgICB9XHJcblxyXG4gICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgcGFkZGluZzogMjVweCAxMHB4O1xyXG4gICAgICAgIC8vIFNvIGlmIG1lbnUncyBnZXQgY29tYmluZWQgdGhleSdyZSB0aGVuIGNvbnNpc3RlbnQgd2l0aCB0aGUgbWVnYSBtZW51LlxyXG4gICAgICAgIHVsLm1lbnUgPiBsaSA+IGF7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IHNtYWxsLXZhbHVlKCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LXBhZGRpbmcpO1xyXG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LXRleHQtdHJhbnNmb3JtO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLS0tIEhlYWRlciBUb3AgQmFyIC0tLS0tXHJcbi8vIFR5cGljYWxseSBjb250YWN0IGluZm8gZ2V0cyBkaXNwbGF5ZWQgaGVyZSArIGNtcyBwYWdlIGxpbmtzIGJ1dCB0aGlzIGdldHMgc3VwcHJlc3NlZCBmb3IgbW9iaWxlLlxyXG4uaGVhZGVyLXRvcC1iYXItY29udGFpbmVyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tLS0gSGVhZGVyIGNvbnRlbnQgY29udGFpbmVyIC0tLS0tXHJcbi8vIFRoaXMgaXMgdGhlIGFyZWEgbm9ybWFsbHkgYmV0d2VlbiB0aGUgdG9wLWJhciAmIG1lZ2EtbWVudVxyXG4uaGVhZGVyLWNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgIG1heC13aWR0aDogc21hbGwtdmFsdWUoJGhlYWRlci1jb250ZW50LW1heC13aWR0aCk7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBwYWRkaW5nOiBzbWFsbC12YWx1ZSgkaGVhZGVyLXBhZGRpbmcpO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBvcmRlcjogMTtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiBtZWRpdW0tdmFsdWUoJGhlYWRlci1jb250ZW50LW1heC13aWR0aCk7XHJcbiAgICAgICAgcGFkZGluZzogbWVkaXVtLXZhbHVlKCRoZWFkZXItcGFkZGluZyk7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiBsYXJnZS12YWx1ZSgkaGVhZGVyLWNvbnRlbnQtbWF4LXdpZHRoKTtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAvLyBtaW4taGVpZ2h0OiAkaGVhZGVyLWNvbnRlbnQtbWluLWhlaWdodDtcclxuICAgICAgICAvLyBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgLy8gTm8gbG9uZ2VyIHVzaW5nIGZsZXhib3ggZHVlIHRvIGplbGF3cmVuY2UncyBkZXNpZ24uXHJcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcclxuICAgICAgICAvLyBJRSBmYWxsYmFjay5cclxuICAgICAgICBkaXNwbGF5OiAtbXMtZ3JpZDtcclxuICAgICAgICAvLyBUaGUgY29sdW1uIGxheW91dCBmb3IgdGhlIGhlYWRlci5cclxuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6ICRoZWFkaW5nLWdyaWQtdGVtcGxhdGUtY29sdW1ucztcclxuICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IDFmcjtcclxuICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgcGFkZGluZzogbGFyZ2UtdmFsdWUoJGhlYWRlci1wYWRkaW5nKTtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XHJcbiAgICAgICAgQGlmICh4bGFyZ2UtdmFsdWUoJGhlYWRlci1jb250ZW50LW1heC13aWR0aCkpIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiB4bGFyZ2UtdmFsdWUoJGhlYWRlci1jb250ZW50LW1heC13aWR0aCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7XHJcbiAgICAgICAgQGlmICh4eGxhcmdlLXZhbHVlKCRoZWFkZXItY29udGVudC1tYXgtd2lkdGgpKSB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogeHhsYXJnZS12YWx1ZSgkaGVhZGVyLWNvbnRlbnQtbWF4LXdpZHRoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuLy8gLS0tIENvbW1vbiBoZWFkZXIgc3R5bGVzIGJldHdlZW4gYXJlYXMgLS0tIFxyXG4uaGVhZGVyLWNvbnRlbnQtbGVmdCwgLmhlYWRlci1jb250ZW50LWNlbnRlciwgLmhlYWRlci1jb250ZW50LXJpZ2h0IHtcclxuICAgIC8vIEluIG1vYmlsZSBzdXByZXNzIHRoZSBmb2xsb3dpbmcgY29tcG9uZW50cy5cclxuICAgID4gZGl2IHtcclxuICAgICAgICAvLyBFeGNsdXNpb24gbGlzdC5cclxuICAgICAgICBAaW5jbHVkZSBub3QoJGhlYWRlci1jb21wb25lbnQtZGlzcGxheS1saXN0KSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuLy8gLS0tIEhlYWRlciBjb250ZW50IGxlZnQgLS0tIFxyXG4uaGVhZGVyLWNvbnRlbnQtbGVmdCB7XHJcbiAgICBAaWYgKHNtYWxsLXZhbHVlKCRoZWFkZXItY29udGVudC1sZWZ0LXBhZGRpbmcpKSB7XHJcbiAgICAgICAgcGFkZGluZzogc21hbGwtdmFsdWUoJGhlYWRlci1jb250ZW50LWxlZnQtcGFkZGluZyk7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgZGlzcGxheTogJGhlYWRlci1jb250ZW50LWxlZnQtZGlzcGxheTtcclxuICAgICAgICBAaWYgKCRoZWFkZXItY29udGVudC1sZWZ0LWRpc3BsYXkgPT0gZ3JpZCkge1xyXG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGxhcmdlLXZhbHVlKCRoZWFkZXItY29udGVudC1sZWZ0LXRlbXBsYXRlLWNvbHVtbnMpO1xyXG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IDFmcjtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gU3BhbiAyIHJvd3MuXHJcbiAgICAgICAgZ3JpZC1yb3c6IDEgLyBzcGFuIDI7XHJcbiAgICAgICAgLy8gSUUgZmFsbGJhY2suXHJcbiAgICAgICAgLW1zLWdyaWQtcm93LXNwYW46IDI7XHJcbiAgICAgICAgQGlmIChtYXAtaGFzLWtleSgkaGVhZGVyLWdyaWQtY29sdW1uLW9yZGVyLCAnaGVhZGVyLWNvbnRlbnQtbGVmdCcpKSB7XHJcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiBtYXAtZ2V0KCRoZWFkZXItZ3JpZC1jb2x1bW4tb3JkZXIsICdoZWFkZXItY29udGVudC1sZWZ0Jyk7XHJcbiAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgIC1tcy1ncmlkLWNvbHVtbjogMTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmIChsYXJnZS12YWx1ZSgkaGVhZGVyLWNvbnRlbnQtbGVmdC1wYWRkaW5nKSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBsYXJnZS12YWx1ZSgkaGVhZGVyLWNvbnRlbnQtbGVmdC1wYWRkaW5nKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmICgkaGVhZGVyLWNvbnRlbnQtbGVmdC1hbGlnbi1pdGVtcykge1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogJGhlYWRlci1jb250ZW50LWxlZnQtYWxpZ24taXRlbXM7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiAoJGhlYWRlci1jb250ZW50LWxlZnQtanVzdGlmdHktY29udGVudCkge1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6ICRoZWFkZXItY29udGVudC1sZWZ0LWp1c3RpZnR5LWNvbnRlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7XHJcbiAgICAgICAgQGlmICgkaGVhZGVyLWNvbnRlbnQtbGVmdC1kaXNwbGF5ID09IGdyaWQpIHtcclxuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtYXAtZ2V0KCRoZWFkZXItY29udGVudC1sZWZ0LXRlbXBsYXRlLWNvbHVtbnMsIHh4bGFyZ2UpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5tZW51LCAuZHJvcGRvd24ubWVudSAge1xyXG4gICAgICAgIGhlaWdodDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAgbWFyZ2luOiAkaGVhZGVyLWNvbnRlbnQtbGVmdC1tZW51LW1hcmdpbjtcclxuICAgICAgICA+IGxpIHtcclxuICAgICAgICAgICAgLy8gR2V0IGl0ZW0gcGFkZGluZy5cclxuICAgICAgICAgICAgJGl0ZW0tcGFkZGluZzogJGhlYWRlci1jb250ZW50LWxlZnQtbWVudS1pdGVtLXBhZGRpbmc7XHJcbiAgICAgICAgICAgIEBpZiAoJGl0ZW0tcGFkZGluZykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogJGl0ZW0tcGFkZGluZztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaWYgKCRoZWFkZXItY29udGVudC1sZWZ0LW1lbnUtc3VwcHJlc3MtZmlyc3QtaXRlbS1wYWRkaW5nKSB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpZiAoJGhlYWRlci1jb250ZW50LWxlZnQtbWVudS1zdXBwcmVzcy1maXJzdC1pdGVtLW1hcmdpbikge1xyXG4gICAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgIEBpZiAoJGhlYWRlci1jb250ZW50LWxlZnQtbWVudS1hbmNob3ItcGFkZGluZykge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRoZWFkZXItY29udGVudC1sZWZ0LW1lbnUtYW5jaG9yLXBhZGRpbmc7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBAaWYgKCRoZWFkZXItY29udGVudC1sZWZ0LW1lbnUtbGV2ZWwtMS1saW5lLWhlaWdodCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkaGVhZGVyLWNvbnRlbnQtbGVmdC1tZW51LWxldmVsLTEtbGluZS1oZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAaWYgKCRoZWFkZXItY29udGVudC1sZWZ0LW1lbnUtZW5hYmxlLXVuZGVybGluZSkge1xyXG4gICAgICAgIC5tZW51LmViZy1jb2xvdXItaG92ZXIsIC5tZW51LmViZy1jb2xvdXItYmFja2dyb3VuZCB7XHJcbiAgICAgICAgICAgPiBsaSA+IGEge1xyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWViZy1mb3JlZ3JvdW5kLWNvbG91ciwgbWFwLWdldCgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1jb2xvdXIsIGhvdmVyKSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAubWVudS1jb250YWluZXIgdWwsIC5tZWdhLW1lbnUtY29udGFpbmVyID4gdWwge1xyXG4gICAgICAgID4gbGkge1xyXG4gICAgICAgICAgICAvLyBHZXQgYmFja2dyb3VuZCBjb2xvdXIuXHJcbiAgICAgICAgICAgICRkZWZhdWx0LWJhY2tncm91bmQtY29sb3VyOiBtYXAtZ2V0KCRoZWFkZXItY29udGVudC1sZWZ0LW1lbnUtYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgICAgICBAaWYgKCRkZWZhdWx0LWJhY2tncm91bmQtY29sb3VyKSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGVmYXVsdC1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAvLyBHZXQgYmFja2dyb3VuZCBjb2xvdXIuXHJcbiAgICAgICAgICAgICRob3Zlci1iYWNrZ3JvdW5kLWNvbG91cjogbWFwLWdldCgkaGVhZGVyLWNvbnRlbnQtbGVmdC1tZW51LWJhY2tncm91bmQtY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgIC8vIEdldCBob3ZlciBjb2xvdXIuXHJcbiAgICAgICAgICAgICRob3Zlci1jb2xvdXI6IG1hcC1nZXQoJGhlYWRlci1jb250ZW50LWxlZnQtbWVudS1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBAaWYgKCRob3Zlci1iYWNrZ3JvdW5kLWNvbG91cikge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRob3Zlci1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGlmICgkaG92ZXItY29sb3VyKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkaG92ZXItY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBAaWYgKCRoZWFkZXItY29udGVudC1sZWZ0LW1lbnUtZW5hYmxlLXVuZGVybGluZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHdpZHRoICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgIC8vIEdldCBkZWZhdWx0IGNvbG91ci5cclxuICAgICAgICAgICAgICAgICRkZWZhdWx0LWNvbG91cjogbWFwLWdldCgkaGVhZGVyLWNvbnRlbnQtbGVmdC1tZW51LWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGRlZmF1bHQtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRoZWFkZXItY29udGVudC1sZWZ0LW1lbnUtbGV2ZWwtMS1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgICAgIEBpZiAoJGhlYWRlci1jb250ZW50LWxlZnQtbWVudS1sZXZlbC0xLWZvbnQtc2l6ZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGhlYWRlci1jb250ZW50LWxlZnQtbWVudS1sZXZlbC0xLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBAaWYgKCRoZWFkZXItY29udGVudC1sZWZ0LW1lbnUtZW5hYmxlLXVuZGVybGluZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHVuZGVybGluZSgxLCAoZGVmYXVsdDogJGhvdmVyLWNvbG91ciksIDAsICRoZWFkZXItY29udGVudC1sZWZ0LW1lbnUtdW5kZXJsaW5lLWhlaWdodCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuLy8gLS0tIEhlYWRlciBjb250ZW50IGNlbnRlciAtLS0gXHJcbi5oZWFkZXItY29udGVudC1jZW50ZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6ICRoZWFkZXItY29udGVudC1jZW50ZXItanVzdGlmeS1jb250ZW50O1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIEBpZiAobWFwLWhhcy1rZXkoJGhlYWRlci1ncmlkLWNvbHVtbi1vcmRlciwgJ2hlYWRlci1jb250ZW50LWNlbnRlcicpKSB7XHJcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiBtYXAtZ2V0KCRoZWFkZXItZ3JpZC1jb2x1bW4tb3JkZXIsICdoZWFkZXItY29udGVudC1jZW50ZXInKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmIChsYXJnZS12YWx1ZSgkaGVhZGVyLWNvbnRlbnQtY2VudGVyLXBhZGRpbmcpKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IGxhcmdlLXZhbHVlKCRoZWFkZXItY29udGVudC1jZW50ZXItcGFkZGluZyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLm1lbnUtY29udGFpbmVyIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIEBpZiAoJGhlYWRlci1jb250ZW50LWNlbnRlci1tZW51LWNvbnRhaW5lci1tYXJnaW4pIHtcclxuICAgICAgICAgICAgICAgIC8vIFB1dCB0aGlzIGlzIHNwZWNpZmljYWxseSBmb3Igd2VhcmVzeW5jIHRvIG9mZnNldCB0aGUgaGVhZGVyIGNvbnRlbnQgbWVudSB0byBtYXRjaCB0aGVpciBvcmlnaW5hbCBzaXRlLlxyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAkaGVhZGVyLWNvbnRlbnQtY2VudGVyLW1lbnUtY29udGFpbmVyLW1hcmdpbjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5tZW51LCAuZHJvcGRvd24ubWVudSB7XHJcbiAgICAgICAgLy8gVE9ETzogVGVtcCBGaXguXHJcbiAgICAgICAgLy8gQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgIC8vICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIC8vIH1cclxuICAgICAgICA+IGxpIHtcclxuICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgIEBpZiAoJGhlYWRlci1jb250ZW50LWNlbnRlci1tZW51LWdyYW5kLXBhcmVudC1wYWRkaW5nKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogJGhlYWRlci1jb250ZW50LWNlbnRlci1tZW51LWdyYW5kLXBhcmVudC1wYWRkaW5nO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgQGlmIChtYXAtaGFzLWtleSgkaGVhZGVyLWNvbnRlbnQtY2VudGVyLW1lbnUtZ3JhbmQtcGFyZW50LWNvbG91ciwgZGVmYXVsdCkpIHtcclxuICAgICAgICAgICAgICAgICAgICAvLyBNYWtlIHN1cmUgaGVhZGVyIGJhY2tncm91bmQgZG9lc24ndCBtYXRjaCBjb2xvdXIuXHJcbiAgICAgICAgICAgICAgICAgICAgJGRlZmF1bHQtY29sb3VyOiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJGhlYWRlci1jb250ZW50LWNlbnRlci1tZW51LWdyYW5kLXBhcmVudC1jb2xvdXIsIGRlZmF1bHQpLCAkaGVhZGVyLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGRlZmF1bHQtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbi8vIC0tLSBIZWFkZXIgY29udGVudCByaWdodCAtLS0gXHJcbi5oZWFkZXItY29udGVudC1yaWdodCB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAvLyBkaXNwbGF5OiBub25lO1xyXG4gICAgbGVmdDogaW5oZXJpdDtcclxuICAgIEBpZiAoc21hbGwtdmFsdWUoJGhlYWRlci1jb250ZW50LXJpZ2h0LXBhZGRpbmcpKSB7XHJcbiAgICAgICAgcGFkZGluZzogc21hbGwtdmFsdWUoJGhlYWRlci1jb250ZW50LXJpZ2h0LXBhZGRpbmcpO1xyXG4gICAgfVxyXG4gICAgLy8gU3VwcHJlc3NpbmcgYXMgdGhpcyB3YXMgY2F1c2luZyBzZWFyY2ggdG8gb3ZlcmxhcCB3aXRoIHJlY2VudGx5IGFkZGVkLlxyXG4gICAgLy8gei1pbmRleDogMTAwO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIGRpc3BsYXk6ICRoZWFkZXItY29udGVudC1yaWdodC1kaXNwbGF5O1xyXG4gICAgICAgIEBpZiAoJGhlYWRlci1jb250ZW50LXJpZ2h0LWRpc3BsYXkgPT0gZ3JpZCkge1xyXG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGxhcmdlLXZhbHVlKCRoZWFkZXItY29udGVudC1yaWdodC10ZW1wbGF0ZS1jb2x1bW5zKTtcclxuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiAxZnI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgQGlmICRoZWFkZXItY29udGVudC1yaWdodC1hbGlnbm1lbnQge1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogJGhlYWRlci1jb250ZW50LXJpZ2h0LWFsaWdubWVudDtcclxuICAgICAgICB9XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiAkaGVhZGVyLWNvbnRlbnQtcmlnaHQtanVzdGlmeS1jb250ZW50O1xyXG4gICAgICAgIC8vIElFIGZhbGxiYWNrLlxyXG4gICAgICAgIC1tcy1ncmlkLXJvdzogMjtcclxuICAgICAgICBAaWYgKG1hcC1oYXMta2V5KCRoZWFkZXItZ3JpZC1jb2x1bW4tb3JkZXIsICdoZWFkZXItY29udGVudC1yaWdodCcpKSB7XHJcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiBtYXAtZ2V0KCRoZWFkZXItZ3JpZC1jb2x1bW4tb3JkZXIsICdoZWFkZXItY29udGVudC1yaWdodCcpO1xyXG4gICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICAtbXMtZ3JpZC1jb2x1bW46IDM7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIFNvIGhpZ2ggZHVlIHRvIHVuZGVybGFwcGluZyBoZWFkZXIgbWVudSBkcm9wZG93bidzLlxyXG4gICAgICAgIC8vIHotaW5kZXg6IDIwMDAwMDtcclxuICAgICAgICBAaWYgKGxhcmdlLXZhbHVlKCRoZWFkZXItY29udGVudC1yaWdodC1wYWRkaW5nKSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBsYXJnZS12YWx1ZSgkaGVhZGVyLWNvbnRlbnQtcmlnaHQtcGFkZGluZyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcclxuICAgICAgICBAaWYgKCRoZWFkZXItY29udGVudC1yaWdodC1kaXNwbGF5ID09IGdyaWQpIHtcclxuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtYXAtZ2V0KCRoZWFkZXItY29udGVudC1yaWdodC10ZW1wbGF0ZS1jb2x1bW5zLCB4bGFyZ2UpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xyXG4gICAgICAgIEBpZiAoJGhlYWRlci1jb250ZW50LXJpZ2h0LWRpc3BsYXkgPT0gZ3JpZCkge1xyXG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1hcC1nZXQoJGhlYWRlci1jb250ZW50LXJpZ2h0LXRlbXBsYXRlLWNvbHVtbnMsIHh4bGFyZ2UpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5oZWFkZXItdG9nZ2xlLWJhci1jb250YWluZXIge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgQGlmICgkaGVhZGVyLWNvbnRlbnQtcmlnaHQtdG9nZ2xlLWJhci1tYXJnaW4pIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogJGhlYWRlci1jb250ZW50LXJpZ2h0LXRvZ2dsZS1iYXItbWFyZ2luO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpZiAoJGhlYWRlci1jb250ZW50LXJpZ2h0LXRvZ2dsZS1iYXItcGFkZGluZykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogJGhlYWRlci1jb250ZW50LXJpZ2h0LXRvZ2dsZS1iYXItcGFkZGluZztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5tZW51LWNvbnRhaW5lciA+IHVsIHtcclxuICAgICAgICA+IGxpIHtcclxuICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRoZWFkZXItY29udGVudC1yaWdodC1tZW51LWFuY2hvci1wYWRkaW5nO1xyXG4gICAgICAgICAgICAgICAgLy8gR2V0IGRlZmF1bHQgY29sb3VyLlxyXG4gICAgICAgICAgICAgICAgJGRlZmF1bHQtY29sb3VyOiBtYXAtZ2V0KCRoZWFkZXItY29udGVudC1yaWdodC1tZW51LWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGRlZmF1bHQtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgQGlmICgkaGVhZGVyLWNvbnRlbnQtcmlnaHQtbWVudS1sZXZlbC0xLWZvbnQtc2l6ZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGhlYWRlci1jb250ZW50LXJpZ2h0LW1lbnUtbGV2ZWwtMS1mb250LXNpemUpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgQGlmICgkaGVhZGVyLWNvbnRlbnQtcmlnaHQtbWVudS1sZXZlbC0xLWZvbnQtd2VpZ2h0KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRoZWFkZXItY29udGVudC1yaWdodC1tZW51LWxldmVsLTEtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBAaWYgKCRoZWFkZXItY29udGVudC1yaWdodC1tZW51LWxldmVsLTEtbGluZS1oZWlnaHQpIHtcclxuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogJGhlYWRlci1jb250ZW50LXJpZ2h0LW1lbnUtbGV2ZWwtMS1saW5lLWhlaWdodDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaWYgKCRoZWFkZXItY29udGVudC1yaWdodC1tZW51LXN1cHByZXNzLXBhZGRpbmcpIHtcclxuICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLS0tIEhlYWRlciBzaXRlIGxvZ28gLS0tLS0gXHJcbi5sb2dvQ29udGFpbmVyLCAubG9nby1jb250YWluZXIge1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6ICRsb2dvLWNvbnRhaW5lci1qdXN0aWZ5O1xyXG4gICAgcGFkZGluZzogc21hbGwtdmFsdWUoJGxvZ28tY29udGFpbmVyLXBhZGRpbmcpO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIHBhZGRpbmc6IGxhcmdlLXZhbHVlKCRsb2dvLWNvbnRhaW5lci1wYWRkaW5nKTtcclxuICAgIH1cclxuICAgIGEge1xyXG4gICAgICAgIG1heC13aWR0aDogNTB2dztcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBtYXJnaW46IHNtYWxsLXZhbHVlKCRoZWFkZXItbG9nby1hbmNob3ItbWFyZ2luKTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogbGFyZ2UtdmFsdWUoJGhlYWRlci1sb2dvLWFuY2hvci1tYXJnaW4pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGltZyB7XHJcbiAgICAgICAgd2lkdGg6IHNtYWxsLXZhbHVlKCRoZWFkZXItbG9nby13aWR0aCk7XHJcbiAgICAgICAgLy8gU3VwcHJlc3NpbmcgYSB0aGUgbWFqb3JpdHkgb2YgbG9nbydzIGFyZSBub3Qgc3F1YXJlIGFuZCBhIG1vcmUgc2ltcGxlIHNvbHV0aW9uIHdvdWxkIGJlIGp1c3QganVzdCBzY2FsZSBieSB3aWR0aC5cclxuICAgICAgICAvL2hlaWdodDogc21hbGwtdmFsdWUoJGhlYWRlci1sb2dvLWhlaWdodCk7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogbGFyZ2UtdmFsdWUoJGhlYWRlci1sb2dvLXdpZHRoKTtcclxuICAgICAgICAgICAgaGVpZ2h0OiBsYXJnZS12YWx1ZSgkaGVhZGVyLWxvZ28taGVpZ2h0KTtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICAvLyBwYWRkaW5nOiAyNXB4IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmxvZ29GdWxsLCAubG9nby1mdWxsLXNpemUge1xyXG4gICAgICAgIEBpZiAkc2hvdy1taW5pZmllZC1sb2dvLXNtYWxsIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAubG9nb01pbmlmaWVkLCAubG9nby1taW5pZmllZCB7XHJcbiAgICAgICAgQGlmIG5vdCAkc2hvdy1taW5pZmllZC1sb2dvLXNtYWxsIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tLS0gSGVhZGVyIFRhZyBMaW5lIC0tLS0tIFxyXG4uaGVhZGVyLXRhZy1saW5lLWNvbnRhaW5lciB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgcCB7XHJcbiAgICAgICAgLy8gQ2hlY2sgY29sb3VyIGNvbnRyYXN0LlxyXG4gICAgICAgICRjb2xvdXI6IGNvbnRyYXN0LWNoZWNrZXIoJGhlYWRlci10YWdsaW5lLWNvbG91ciwgJGhlYWRlci1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIHBhZGRpbmc6ICRoZWFkaW5nLXRhZ2xpbmUtcGFkZGluZztcclxuICAgICAgICBjb2xvcjogJGNvbG91cjtcclxuICAgICAgICBmb250LXdlaWdodDogJGhlYWRlci10YWdsaW5lLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGhlYWRlci10YWdsaW5lLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRoZWFkZXItdGFnbGluZS10ZXh0LXRyYW5zZm9ybTtcclxuICAgICAgICBsZXR0ZXItc3BhY2luZzogJGhlYWRlci10YWdsaW5lLWxldHRlci1zcGFjaW5nO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkaGVhZGVyLXRhZ2xpbmUtbGluZS1oZWlnaHQ7XHJcbiAgICAgICAgLy8gUmVhc29uIGZvciBwcmV2ZW50IHdyYXBwaW5nIGlzIGJlY2F1c2UgaXQgd2lsbCBjYXVzZSB0aGUgc2VhcmNoICsgYmFza2V0IHN1bW1hcnkgdG8gYmUgb3V0IG9mIGFsaWduLlxyXG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICAgICAgJjppcyg6ZW1wdHkpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBoZWlnaHQ6ICRoZWFkZXItdGFnbGluZS1oZWlnaHQ7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGZsZXgtZ3JvdzogaWYoJGhlYWRlci10YWdsaW5lLWhlaWdodCA9PSBcImF1dG9cIiwgMCwgMSk7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgfVxyXG4gICAgQGlmICgkaGVhZGVyLXRhZ2xpbmUtbG93ZXItc3VwcHJlc3MpIHtcclxuICAgICAgICAmLmxvd2VyIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5oZWFkZXItdGFnbGluZSB7XHJcbiAgICAvLyBDaGVjayBjb2xvdXIgY29udHJhc3QuXHJcbiAgICAkY29sb3VyOiBjb250cmFzdC1jaGVja2VyKCRoZWFkZXItdGFnbGluZS1jb2xvdXIsICRoZWFkZXItYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIHBhZGRpbmc6ICRoZWFkaW5nLXRhZ2xpbmUtcGFkZGluZztcclxuICAgIGNvbG9yOiAkY29sb3VyO1xyXG4gICAgZm9udC13ZWlnaHQ6ICRoZWFkZXItdGFnbGluZS1mb250LXdlaWdodDtcclxuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGhlYWRlci10YWdsaW5lLWZvbnQtc2l6ZSk7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogJGhlYWRlci10YWdsaW5lLXRleHQtdHJhbnNmb3JtO1xyXG4gICAgbGV0dGVyLXNwYWNpbmc6ICRoZWFkZXItdGFnbGluZS1sZXR0ZXItc3BhY2luZztcclxuICAgIGxpbmUtaGVpZ2h0OiAkaGVhZGVyLXRhZ2xpbmUtbGluZS1oZWlnaHQ7XHJcbiAgICAvLyBSZWFzb24gZm9yIHByZXZlbnQgd3JhcHBpbmcgaXMgYmVjYXVzZSBpdCB3aWxsIGNhdXNlIHRoZSBzZWFyY2ggKyBiYXNrZXQgc3VtbWFyeSB0byBiZSBvdXQgb2YgYWxpZ24uXHJcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIC8vIGhlaWdodDogNTBweDtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgZmxleC1iYXNpczogNTBweDtcclxuICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0tLSBIZWFkZXIgU2VhcmNoIC0tLS0tXHJcbi5oZWFkZXItc2VhcmNoLWNvbnRhaW5lciB7XHJcbiAgICBwYWRkaW5nOiBzbWFsbC12YWx1ZSgkaGVhZGVyLXNlYXJjaC1wYWRkaW5nKTtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAvLyBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgLy8gSUUgZmFsbGJhY2suXHJcbiAgICAgICAgLW1zLWdyaWQtY29sdW1uOiAyO1xyXG4gICAgICAgIHBhZGRpbmc6IGxhcmdlLXZhbHVlKCRoZWFkZXItc2VhcmNoLXBhZGRpbmcpO1xyXG4gICAgfVxyXG4gICAgJi5hY3RpdmUge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgLmhlYWRlci1wcmVkaWN0aXZlLXNlYXJjaCB7XHJcbiAgICAgICAgICAgICAgICAuY2FsbGJhY2tDb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5oZWFkZXItcHJlZGljdGl2ZS1zZWFyY2gge1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIEBpZiAoc21hbGwtdmFsdWUoJGhlYWRlci1zZWFyY2gtYm94LXNoYWRvdykpIHtcclxuICAgICAgICAgICAgYm94LXNoYWRvdzogc21hbGwtdmFsdWUoJGhlYWRlci1zZWFyY2gtYm94LXNoYWRvdyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiAkaGVhZGluZy1zZWFyY2gtanVzdGlmeS1jb250ZW50O1xyXG4gICAgICAgICAgICBAaWYgKGxhcmdlLXZhbHVlKCRoZWFkZXItc2VhcmNoLWJveC1zaGFkb3cpKSB7XHJcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBsYXJnZS12YWx1ZSgkaGVhZGVyLXNlYXJjaC1ib3gtc2hhZG93KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuY2FsbGJhY2tDb250YWluZXIge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogJGhlYWRlci1zZWFyY2gtaGVpZ2h0O1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZmllbGRzZXQge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gU2VhcmNoIGJhY2tncm91bmRcclxuICAgICRzZWFyY2gtZGVmYXVsdC1iYWNrZ3JvdW5kLWNvbG91cjogbWFwLWdldCgkaGVhZGVyLXNlYXJjaC1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAkc2VhcmNoLWhvdmVyLWJhY2tncm91bmQtY29sb3VyOiBtYXAtZ2V0KCRoZWFkZXItc2VhcmNoLWJhY2tncm91bmQtY29sb3VyLCBob3Zlcik7XHJcbiAgICAkc2VhcmNoLWFjdGl2ZS1iYWNrZ3JvdW5kLWNvbG91cjogbWFwLWdldCgkaGVhZGVyLXNlYXJjaC1iYWNrZ3JvdW5kLWNvbG91ciwgYWN0aXZlKTtcclxuICAgIC8vIFNlYXJjaCBib3JkZXJcclxuICAgICRzZWFyY2gtZGVmYXVsdC1ib3JkZXItY29sb3VyOiBtYXAtZ2V0KCRoZWFkZXItc2VhcmNoLWJvcmRlci1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgJHNlYXJjaC1ob3Zlci1ib3JkZXItY29sb3VyOiBtYXAtZ2V0KCRoZWFkZXItc2VhcmNoLWJvcmRlci1jb2xvdXIsIGhvdmVyKTtcclxuICAgICRzZWFyY2gtYWN0aXZlLWJvcmRlci1jb2xvdXI6IG1hcC1nZXQoJGhlYWRlci1zZWFyY2gtYm9yZGVyLWNvbG91ciwgXHJcbiAgICBhY3RpdmUpO1xyXG4gICAgLy8gU2VhcmNoIGJ1dHRvbiBiYWNrZ3JvdW5kXHJcbiAgICAkYnV0dG9uLWRlZmF1bHQtYmFja2dyb3VuZC1jb2xvdXI6IG1hcC1nZXQoJGhlYWRlci1zZWFyY2gtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICRidXR0b24taG92ZXItYmFja2dyb3VuZC1jb2xvdXI6IG1hcC1nZXQoJGhlYWRlci1zZWFyY2gtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBob3Zlcik7XHJcbiAgICAkYnV0dG9uLWFjdGl2ZS1iYWNrZ3JvdW5kLWNvbG91cjogbWFwLWdldCgkaGVhZGVyLXNlYXJjaC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAvLyBTZWFyY2ggYnV0dG9uIGNvbG91clxyXG4gICAgJGJ1dHRvbi1kZWZhdWx0LWNvbG91cjogbWFwLWdldCgkaGVhZGVyLXNlYXJjaC1idXR0b24tY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICRidXR0b24taG92ZXItY29sb3VyOiBtYXAtZ2V0KCRoZWFkZXItc2VhcmNoLWJ1dHRvbi1jb2xvdXIsIGhvdmVyKTtcclxuICAgICRidXR0b24tYWN0aXZlLWNvbG91cjogbWFwLWdldCgkaGVhZGVyLXNlYXJjaC1idXR0b24tY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgaW5wdXRbdHlwZT1zZWFyY2hdIHtcclxuICAgICAgICBAaWYgKCRoZWFkZXItc2VhcmNoLWlucHV0LWJvcmRlci13aWR0aCkge1xyXG4gICAgICAgICAgICBib3JkZXItd2lkdGg6ICRoZWFkZXItc2VhcmNoLWlucHV0LWJvcmRlci13aWR0aDtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmICgkc2VhcmNoLWRlZmF1bHQtYmFja2dyb3VuZC1jb2xvdXIpIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNlYXJjaC1kZWZhdWx0LWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgKCRzZWFyY2gtZGVmYXVsdC1ib3JkZXItY29sb3VyKSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJHNlYXJjaC1kZWZhdWx0LWJvcmRlci1jb2xvdXI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBAaWYgKCRzZWFyY2gtaG92ZXItYmFja2dyb3VuZC1jb2xvdXIpIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWFyY2gtaG92ZXItYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGlmICgkc2VhcmNoLWhvdmVyLWJvcmRlci1jb2xvdXIpIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJHNlYXJjaC1ob3Zlci1ib3JkZXItY29sb3VyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpZiAoJGhlYWRlci1zZWFyY2gtaW5wdXQtc3VwcHJlc3MtaG92ZXItYm94LXNoYWRvdykge1xyXG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogdW5zZXQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJiArIGJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICBAaWYgKCRzZWFyY2gtaG92ZXItYm9yZGVyLWNvbG91cikge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJHNlYXJjaC1ob3Zlci1ib3JkZXItY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgQGlmICgkYnV0dG9uLWhvdmVyLWJhY2tncm91bmQtY29sb3VyKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbi1ob3Zlci1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIEBpZiAoJGhlYWRlci1zZWFyY2gtaW5wdXQtc3VwcHJlc3MtaG92ZXItYm94LXNoYWRvdykge1xyXG4gICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IHVuc2V0O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIEBpZiAoJGJ1dHRvbi1ob3Zlci1jb2xvdXIpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRidXR0b24taG92ZXItY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmOmFjdGl2ZSwgJjpmb2N1cyB7XHJcbiAgICAgICAgICAgIEBpZiAoJHNlYXJjaC1hY3RpdmUtYmFja2dyb3VuZC1jb2xvdXIpIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWFyY2gtYWN0aXZlLWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpZiAoJHNlYXJjaC1hY3RpdmUtYm9yZGVyLWNvbG91cikge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkc2VhcmNoLWFjdGl2ZS1ib3JkZXItY29sb3VyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpZiAoJGhlYWRlci1zZWFyY2gtaW5wdXQtYm9yZGVyLXdpZHRoKSB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6ICRoZWFkZXItc2VhcmNoLWlucHV0LWJvcmRlci13aWR0aDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaWYgKCRoZWFkZXItc2VhcmNoLWlucHV0LXN1cHByZXNzLWhvdmVyLWJveC1zaGFkb3cpIHtcclxuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IHVuc2V0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYgKyBidXR0b24ge1xyXG4gICAgICAgICAgICAgICAgQGlmICgkc2VhcmNoLWFjdGl2ZS1ib3JkZXItY29sb3VyKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkc2VhcmNoLWFjdGl2ZS1ib3JkZXItY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgQGlmICgkYnV0dG9uLWFjdGl2ZS1iYWNrZ3JvdW5kLWNvbG91cikge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b24tYWN0aXZlLWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIEBpZiAoJGJ1dHRvbi1hY3RpdmUtY29sb3VyKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYnV0dG9uLWFjdGl2ZS1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICsgYnV0dG9uIHtcclxuICAgICAgICAgICAgQGlmICgkYnV0dG9uLWRlZmF1bHQtYmFja2dyb3VuZC1jb2xvdXIpIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b24tZGVmYXVsdC1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaWYgKCRoZWFkZXItc2VhcmNoLWJ1dHRvbi1ib3JkZXItd2lkdGgpIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogJGhlYWRlci1zZWFyY2gtYnV0dG9uLWJvcmRlci13aWR0aDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBAaWYgKCRidXR0b24tZGVmYXVsdC1jb2xvdXIpIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGJ1dHRvbi1kZWZhdWx0LWNvbG91cjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIEBpZiAoJGhlYWRlci1zZWFyY2gtaWNvbi1zaXplKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAkaGVhZGVyLXNlYXJjaC1pY29uLXNpemU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBAaWYgKCRidXR0b24taG92ZXItYmFja2dyb3VuZC1jb2xvdXIpIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uLWhvdmVyLWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIEBpZiAoJGJ1dHRvbi1ob3Zlci1jb2xvdXIpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRidXR0b24taG92ZXItY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICBAaWYgKCRidXR0b24tYWN0aXZlLWJhY2tncm91bmQtY29sb3VyKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbi1hY3RpdmUtYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGlmICgkYnV0dG9uLWFjdGl2ZS1jb2xvdXIpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRidXR0b24tYWN0aXZlLWNvbG91cjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBpbnB1dFt0eXBlPXNlYXJjaF0ge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGhlaWdodDogJGhlYWRlci1zZWFyY2gtaGVpZ2h0O1xyXG4gICAgICAgIC8vIEhhdmluZyB0byBzZXQgb3JkZXIgZHVlIHRvIHNpdGUgc2VhcmNoIHJlc3VsdHMgaXMgcGxhY2VkIGJlZm9yZSB0aGUgaW5wdXQgKyBidXR0b24gd2hpY2ggZG9lc24ndCB3b3JrIGluIG1vYmlsZSBhcyBpdCBuZWVkcyB0byBhcHBlYXIgYWZ0ZXIgdGhlbS5cclxuICAgICAgICBvcmRlcjogMTtcclxuICAgICAgICBAaWYgKCRoZWFkZXItc2VhcmNoLWlucHV0LWZvbnQtc2l6ZSkge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRoZWFkZXItc2VhcmNoLWlucHV0LWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6OnBsYWNlaG9sZGVyIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkaGVhZGVyLXNlYXJjaC1pbnB1dC1wbGFjZWhvbGRlci1mb250LXNpemUpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogJGhlYWRlci1zZWFyY2gtaW5wdXQtcGxhY2Vob2xkZXItZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgIEBpZiAoJGhlYWRlci1zZWFyY2gtaW5wdXQtcGxhY2Vob2xkZXItZm9udC1mYW1pbHkpIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkaGVhZGVyLXNlYXJjaC1pbnB1dC1wbGFjZWhvbGRlci1mb250LWZhbWlseTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaWYgKCRoZWFkZXItc2VhcmNoLWlucHV0LXBsYWNlaG9sZGVyLWxldHRlci1zcGFjaW5nKSB7XHJcbiAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogJGhlYWRlci1zZWFyY2gtaW5wdXQtcGxhY2Vob2xkZXItbGV0dGVyLXNwYWNpbmc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgKyBidXR0b24ge1xyXG4gICAgICAgICAgICBAaWYgKCRoZWFkZXItc2VhcmNoLWJ1dHRvbi13aWR0aCkge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6ICRoZWFkZXItc2VhcmNoLWJ1dHRvbi13aWR0aDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBoZWlnaHQ6ICRoZWFkZXItc2VhcmNoLWhlaWdodDtcclxuICAgICAgICAgICAgb3JkZXI6IDI7XHJcbiAgICAgICAgICAgIEBpZiAoJHNlYXJjaC1kZWZhdWx0LWJvcmRlci1jb2xvdXIpIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJHNlYXJjaC1kZWZhdWx0LWJvcmRlci1jb2xvdXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgQGlmICgkaGVhZGVyLXNlYXJjaC1idXR0b24td2lkdGgpIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogJGhlYWRlci1zZWFyY2gtYnV0dG9uLXdpZHRoO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gU3BlY2lmaWNhbGx5IHRvIHN1cHBvcnQgc2l0ZSBzZWFyY2ggMzYwIG1hcmt1cCB0aGF0IGlzIHVzZWQgb24gQXhpcyBDb3Jwb3JhdGUuXHJcbiAgICAjdW5pYm94LXN1Z2dlc3QtYm94IHtcclxuICAgICAgICBtYXgtd2lkdGg6IGluaXRpYWwgIWltcG9ydGFudDtcclxuICAgICAgICAvLyBJRiB3ZSdyZSBvdmVycmlkaW5nIHRoZSBoZWFkZXIncyBzZWFyY2ggYnV0dG9uIHdpZHRoIHRoZW4gdXNlIHRoYXQgZWxzZSB1c2UgdGhlIHNpdGUncyBkZWZhdWx0IHdpZHRoLlxyXG4gICAgICAgICRidXR0b24td2lkdGg6IGlmKCRoZWFkZXItc2VhcmNoLWJ1dHRvbi13aWR0aCwkaGVhZGVyLXNlYXJjaC1idXR0b24td2lkdGgsJHNlYXJjaC1idXR0b24td2lkdGgpO1xyXG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAjeyRidXR0b24td2lkdGh9KTtcclxuICAgICAgICAvLyBTZXR0aW5nIG9yZGVyIHNvIHJlc3VsdHMgYXBwZWFyIHVuZGVyIHRoZSBzZWFyY2ggaW4gbW9iaWxlLlxyXG4gICAgICAgIG9yZGVyOiAzO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgLy8gRm9yY2UgcmVsYXRpdmUgcG9zaXRpb25pbmcgc28gdGhlIHJlc3VsdCBhcHBlYXIgaW4gdGhlIHNlYXJjaCBwb3B1cCAvIG1lbnUgZm9yIG1vYmlsZSBkZXZpY2VzLlxyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgdG9wOiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgcGFkZGluZzogMCAwIDAgc3BhY2luZy12YWx1ZSgkZmllbGRzZXQtaW5wdXQtcGFkZGluZywgNCk7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyMy02O1xyXG4gICAgICAgIH1cclxuICAgICAgICAudW5pYm94LXNlbGVjdGFibGUge1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjM7XHJcbiAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgICAgICBzcGFuLCAudW5pYm94LWhpZ2hsaWdodCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvdXIzLTY7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgc3BhbiwgLnVuaWJveC1oaWdobGlnaHQge1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5hYy1yZXN1bHRzIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAkYWMtcmVzdWx0cy13aWR0aDtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6ICRhYy1yZXN1bHRzLW9mZnNldDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuYXV0b2NvbXBsZXRlLXJlc3VsdHMtc2VhcmNoLWNvbnRhaW5lciB7XHJcbiAgICAgICAgJGlucHV0LWRlZmF1bHQtYm94LXNoYWRvdzogbWFwLWdldCgkaGVhZGVyLXNlYXJjaC1yZXN1bHRzLWlucHV0LWJveC1zaGFkb3csIGRlZmF1bHQpO1xyXG4gICAgICAgICRpbnB1dC1ob3Zlci1ib3gtc2hhZG93OiBtYXAtZ2V0KCRoZWFkZXItc2VhcmNoLXJlc3VsdHMtaW5wdXQtYm94LXNoYWRvdywgaG92ZXIpO1xyXG4gICAgICAgIEBpZiAoJGlucHV0LWRlZmF1bHQtYm94LXNoYWRvdykge1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiAkaW5wdXQtZGVmYXVsdC1ib3gtc2hhZG93O1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgKCRpbnB1dC1ob3Zlci1ib3gtc2hhZG93KSB7XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogJGlucHV0LWhvdmVyLWJveC1zaGFkb3c7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAucmVzdWx0cy1jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgcGFkZGluZzogc21hbGwtdmFsdWUoJGhlYWRlci1zZWFyY2gtcmVzdWx0cy1wYWRkaW5nKTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IGxhcmdlLXZhbHVlKCRoZWFkZXItc2VhcmNoLXJlc3VsdHMtcGFkZGluZyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0gUHJlZGljdGl2ZSBTZWFyY2ggKCBmb3IgaGVhZGVyICkgLS0tIFxyXG4uaGVhZGVyLXByZWRpY3RpdmUtc2VhcmNoe1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIEBpZiBub3QgKCRhYy1yZXN1bHQtcGluLXRvLXRvcCkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gLmNhbGxiYWNrQ29udGFpbmVyIHtcclxuICAgIC8vICAgICB6LWluZGV4OiAxMDAwMTtcclxuICAgIC8vIH1cclxuICAgIC5hYy1yZXN1bHRzIHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIC8vIGxlZnQ6IDAgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBAaWYgKG1hcC1nZXQoJGhlYWRlci1zZWFyY2gtcmVzdWx0cy1kZXNrdG9wLXBvc2l0aW9uLCB0b3ApKSB7XHJcbiAgICAgICAgICAgICAgICB0b3A6IG1hcC1nZXQoJGhlYWRlci1zZWFyY2gtcmVzdWx0cy1kZXNrdG9wLXBvc2l0aW9uLCB0b3ApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpZiBtYXAtZ2V0KCRoZWFkZXItc2VhcmNoLXJlc3VsdHMtZGVza3RvcC1wb3NpdGlvbiwgcmlnaHQpIHtcclxuICAgICAgICAgICAgICAgIHJpZ2h0OiBtYXAtZ2V0KCRoZWFkZXItc2VhcmNoLXJlc3VsdHMtZGVza3RvcC1wb3NpdGlvbiwgcmlnaHQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpZiBtYXAtZ2V0KCRoZWFkZXItc2VhcmNoLXJlc3VsdHMtZGVza3RvcC1wb3NpdGlvbiwgbGVmdCkge1xyXG4gICAgICAgICAgICAgICAgbGVmdDogbWFwLWdldCgkaGVhZGVyLXNlYXJjaC1yZXN1bHRzLWRlc2t0b3AtcG9zaXRpb24sIGxlZnQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGxpIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGEuYWNfcmVzdWx0c19lbnRyeSB7XHJcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnXFxmMGRlJztcclxuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogLTVweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI2O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MmRlZyk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5uby1yZXN1bHRzIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDE1cHg7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA1cHggMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuaGVhZGluZzIge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNSk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgfVxyXG5cclxuICAgIC5oZWFkaW5nNCB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogM3B4O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgcGFkZGluZzogNnB4IDE1cHg7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgfVxyXG5cclxuICAgIC5hY19yZXN1bHRzX2VudHJ5IHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBwYWRkaW5nOiA1cHggMDtcclxuICAgICAgICBtYXJnaW4tbGVmdDogMTVweDtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvdXIyO1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0tLSBIZWFkZXIgY2FsbCB0byBhY3Rpb24gLS0tLS0gXHJcbi8vIFVzZWQgZm9yIGxvZ2luIGJ1dHRvbiBvciBlbnF1aXJ5IGJ1dHRvbi5cclxuLmhlYWRlci1jYWxsLXRvLWFjdGlvbi1jb250YWluZXIge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICAgIG9yZGVyOiAxO1xyXG4gICAgfVxyXG4gICAgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyIHtcclxuICAgICAgICBoZWlnaHQ6ICRoZWFkZXItY2FsbC10by1hY3Rpb24tY29udGFpbmVyLWhlaWdodDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogJGRlc2t0b3Atc3VtbWFyeS13aWR0aDtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogbm9uZTtcclxuICAgICAgICAgICAgICAgIC8vIEtlZXAgaW4gc3luYyB3aXRoIHRoZSBoZWFkZXIgc2VhcmNoIGhlaWdodC5cclxuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6ICRoZWFkZXItc2VhcmNoLWhlaWdodDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tLS0gSGVhZGVyIGJhc2tldCBzdW1tYXJ5IC0tLS0tXHJcbiNhY3Rpb24tYmFyLWNvbnRhaW5lciB7XHJcbiAgICBoZWlnaHQ6ICRiYXNrZXQtcHJldmlldy1oZWlnaHQ7XHJcbn1cclxuLmhlYWRlci1iYXNrZXQtY29udGFpbmVyIHtcclxuICAgIC8vIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAvLyBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICAgICAgICAvLyBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICB9XHJcbiAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgLnN1bW1hcnktcmVjZW50bHktYWRkZWQge1xyXG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAkaGVhZGVyLW1vYmlsZS1tZW51LW1heC1oZWlnaHQ7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogNTAwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gTWFrZSBzdXJlIGJhY2tncm91bmQgY29sb3VyJ3MgY29udHJhc3QgYWdhaW5zdCB0aGUgdGV4dCBjb2xvdXIncyBpbiB0aGVpciB2YXJpb3VzIHN0YXRlcyAoIGRlZmF1bHQsIGhvdmVyICYgYWN0aXZlICkuXHJcbiAgICAvLyB3YXJuaW5nIGNvbnRyYXN0IGNoZWNrZXIuXHJcbiAgICAkd2FybmluZy1ob3Zlci1jb2xvdXI6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkYmFza2V0LXByZXZpZXctc3VtbWFyeS1jb2xvdXIsIGhvdmVyKSwgbWFwLWdldCgkYmFza2V0LXByZXZpZXctaWNvbi1iYWNrZ3JvdW5kLWNvbG91ciwgd2FybmluZykpO1xyXG4gICAgJHdhcm5pbmctYWN0aXZlLWNvbG91cjogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1zdW1tYXJ5LWNvbG91ciwgYWN0aXZlKSwgbWFwLWdldCgkYmFza2V0LXByZXZpZXctaWNvbi1iYWNrZ3JvdW5kLWNvbG91ciwgd2FybmluZykpO1xyXG4gICAgLy8gYWxlcnQgY29udHJhc3QgY2hlY2tlci5cclxuICAgICRhbGVydC1ob3Zlci1jb2xvdXI6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkYmFza2V0LXByZXZpZXctc3VtbWFyeS1jb2xvdXIsIGhvdmVyKSwgbWFwLWdldCgkYmFza2V0LXByZXZpZXctaWNvbi1iYWNrZ3JvdW5kLWNvbG91ciwgYWxlcnQpKTtcclxuICAgICRhbGVydC1hY3RpdmUtY29sb3VyOiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LXN1bW1hcnktY29sb3VyLCBhY3RpdmUpLCBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1pY29uLWJhY2tncm91bmQtY29sb3VyLCBhbGVydCkpO1xyXG5cclxuICAgICYud2FybmluZyB7XHJcbiAgICAgICAgLmJhc2tldC1kZXNrdG9wLXN1bW1hcnkge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1iYWNrZ3JvdW5kLWNvbG91ciwgd2FybmluZyk7XHJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgYmFza2V0LXdhcm5pbmcpO1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRleHByZXNzLWRlZmF1bHQtaWNvbnM7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1pY29uLWJhY2tncm91bmQtY29sb3VyLCB3YXJuaW5nKTtcclxuICAgICAgICAgICAgICAgIEBpZiAobWFwLWdldCgkYmFza2V0LXByZXZpZXctaWNvbi1jb2xvdXIsIHdhcm5pbmcpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWljb24tY29sb3VyLCB3YXJuaW5nKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIC5iYXNrZXQtZGV0YWlscy1pbmZvIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHdhcm5pbmctaG92ZXItY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkYmFza2V0LXByZXZpZXctbm90aWZpY2F0aW9uLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR3YXJuaW5nLWhvdmVyLWNvbG91cjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAuYmFza2V0LWRldGFpbHMtaW5mbyB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR3YXJuaW5nLWFjdGl2ZS1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHdhcm5pbmctYWN0aXZlLWNvbG91cjtcclxuXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmJhc2tldC1tb2JpbGUtc3VtbWFyeSB7XHJcbiAgICAgICAgICAgIC5iYXNrZXQtaWNvbiB7XHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgYmFza2V0LXdhcm5pbmcpO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZXhwcmVzcy1kZWZhdWx0LWljb25zO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCR3YXJuaW5nLWNvbG91ciwgMCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLm1vYmlsZS1zdW1tYXJ5LW1lc3NhZ2UtY29udGFpbmVyLCAudGV4dC1ub3RpZmljYXRpb24tY29udGFpbmVyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYmFza2V0LXByZXZpZXctYmFja2dyb3VuZC1jb2xvdXIsIHdhcm5pbmcpO1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYmFza2V0LXByZXZpZXctaWNvbi1iYWNrZ3JvdW5kLWNvbG91ciwgd2FybmluZyk7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWljb24tYmFja2dyb3VuZC1jb2xvdXIsIHdhcm5pbmcpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuYmFza2V0LWRldGFpbHMtaW5mbyB7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkYmFza2V0LXByZXZpZXctbm90aWZpY2F0aW9uLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYmFza2V0LXByZXZpZXctaWNvbi1iYWNrZ3JvdW5kLWNvbG91ciwgd2FybmluZyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5hbGVydCB7XHJcbiAgICAgICAgLmJhc2tldC1kZXNrdG9wLXN1bW1hcnkge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1iYWNrZ3JvdW5kLWNvbG91ciwgYWxlcnQpO1xyXG4gICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGJhc2tldC1hbGVydCk7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGV4cHJlc3MtZGVmYXVsdC1pY29ucztcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWljb24tYmFja2dyb3VuZC1jb2xvdXIsIGFsZXJ0KTtcclxuICAgICAgICAgICAgICAgIEBpZiAobWFwLWdldCgkYmFza2V0LXByZXZpZXctaWNvbi1jb2xvdXIsIGFsZXJ0KSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1pY29uLWNvbG91ciwgYWxlcnQpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgLmJhc2tldC1kZXRhaWxzLWluZm8ge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYWxlcnQtaG92ZXItY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkYmFza2V0LXByZXZpZXctbm90aWZpY2F0aW9uLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRhbGVydC1ob3Zlci1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgLmJhc2tldC1kZXRhaWxzLWluZm8ge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYWxlcnQtYWN0aXZlLWNvbG91cjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYWxlcnQtYWN0aXZlLWNvbG91cjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuYmFza2V0LW1vYmlsZS1zdW1tYXJ5IHtcclxuICAgICAgICAgICAgLmJhc2tldC1pY29uIHtcclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBiYXNrZXQtYWxlcnQpO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZXhwcmVzcy1kZWZhdWx0LWljb25zO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDApO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5tb2JpbGUtc3VtbWFyeS1tZXNzYWdlLWNvbnRhaW5lciwgLnRleHQtbm90aWZpY2F0aW9uLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWJhY2tncm91bmQtY29sb3VyLCBhbGVydCk7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1pY29uLWJhY2tncm91bmQtY29sb3VyLCBhbGVydCk7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWljb24tYmFja2dyb3VuZC1jb2xvdXIsIGFsZXJ0KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmJhc2tldC1kZXRhaWxzLWluZm8ge1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogJGJhc2tldC1wcmV2aWV3LW5vdGlmaWNhdGlvbi1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWljb24tYmFja2dyb3VuZC1jb2xvdXIsIGFsZXJ0KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBSZWNlbnRseSBhZGRlZC5cclxuICAgIC5zdW1tYXJ5LXJlY2VudGx5LWFkZGVkIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBtYXgtaGVpZ2h0OiAwcHg7XHJcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgei1pbmRleDogNTAwMDtcclxuICAgICAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0ICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogNDAwcHg7XHJcbiAgICAgICAgICAgIGxlZnQ6IGF1dG87XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIEBpZiBzbW9vdGgtZWRnZXMoKSB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgc21vb3RoLWVkZ2VzKCkgc21vb3RoLWVkZ2VzKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjE7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6ICRib3hTaGFkb3cxO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBkcm9wZG93bi1mb290ZXIodHJ1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgcGFkZGluZzogMTVweCA1cHg7XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgQGlmICgkYmFza2V0LXVwZGF0ZS1pY29uKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgLmJhc2tldC1pY29uIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGJhc2tldC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAudXBkYXRlLW1lc3NhZ2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRiYXNrZXQtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICBAaWYgKCRiYXNrZXQtdXBkYXRlLWljb24pIHtcclxuICAgICAgICAgICAgICAgICAgICAuYmFza2V0LWljb24ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYmFza2V0LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC51cGRhdGUtbWVzc2FnZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGJhc2tldC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGlmICgkYmFza2V0LXVwZGF0ZS1pY29uKSB7XHJcbiAgICAgICAgICAgICAgICAuYmFza2V0LWljb24ge1xyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGJhc2tldC1pY29uKTsgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogY3VzdG9tLWljb24tZmFtaWx5KCRmb250QXdlc29tZVNvbGlkLCAkc2l0ZS1pY29ucy1jdXN0b20tYmFza2V0LWljb24pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDI2cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRiYXNrZXQtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIC51cGRhdGUtbWVzc2FnZSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDYwcHggMDtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIFtkYXRhLWJhc2tldC1zdW1tYXJ5LW5vdGlmaWNhdGlvbnNdIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKXtcclxuICAgICAgICAgICAgQGluY2x1ZGUgdG9vbHRpcC1jb250ZW50LXBvc2l0aW9uaW5nKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gQmFza2V0IHN1bW1hcnkgdGhhdCBnZXRzIHNob3duIHByaW1hcmlseSBmb3IgdGhlIGRlc2t0b3AgKCBubyBkcm9wIGRvd24gb3IgcG9wdXAgKVxyXG4gICAgLmJhc2tldC1kZXNrdG9wLXN1bW1hcnkge1xyXG4gICAgICAgIHdpZHRoOiAkZGVza3RvcC1zdW1tYXJ5LXdpZHRoO1xyXG4gICAgICAgIGhlaWdodDogJGJhc2tldC1wcmV2aWV3LWhlaWdodDtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICBAaWYgc21vb3RoLWVkZ2VzKCRiYXNrZXQtcHJldmlldy1ib3JkZXItcmFkaXVzKSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygkYmFza2V0LXByZXZpZXctYm9yZGVyLXJhZGl1cyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiAkYmFza2V0LXByZXZpZXctYm9yZGVyIHtcclxuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgbWFwLWdldCgkYmFza2V0LXByZXZpZXctYm9yZGVyLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGJhc2tldC1wcmV2aWV3LWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybywgYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uT3V0cm8sIGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIEBpZiBtYXAtZ2V0KCRiYXNrZXQtc3VtbWFyeS1ib3gtc2hhZG93LCBkZWZhdWx0KSB7XHJcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBtYXAtZ2V0KCRiYXNrZXQtc3VtbWFyeS1ib3gtc2hhZG93LCBkZWZhdWx0KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgICAgICAgICBAaWYgJGJhc2tldC1wcmV2aWV3LWJvcmRlciB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWJvcmRlci1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIEBpZiAobWFwLWdldCgkYmFza2V0LXByZXZpZXctaWNvbi1ib3JkZXItY29sb3VyLCBob3ZlcikpIHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWljb24tYm9yZGVyLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC8vIElmIHRoZSB0aGVzZSBjb2xvdXJzIG1hdGNoIGl0IGlzIHBvaW50bGVzcyBleHBhbmRpbmcgdGhlIGJhc2tldCBpY29ucyBiYWNrZ3JvdW5kIHRvIG92ZXJsYXAgdGhlIHJlc3Qgb2YgdGhlIHN1bW1hcnkuXHJcbiAgICAgICAgICAgIEBpZiBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1pY29uLWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KSA9PSBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCkge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYmFza2V0LXByZXZpZXctYmFja2dyb3VuZC1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWljb24tYmFja2dyb3VuZC1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYmFza2V0LXByZXZpZXctaWNvbi1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvLCBib3JkZXItY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYmFza2V0LXByZXZpZXctaWNvbi1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgICAgICAgICBAaWYgbWFwLWdldCgkYmFza2V0LXByZXZpZXctYmFja2dyb3VuZC1jb2xvdXIsIGhvdmVyKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWJhY2tncm91bmQtY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIEBpZiBzbW9vdGgtZWRnZXMoKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICAgICAgei1pbmRleDogMjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBAaWYgbWFwLWdldCgkYmFza2V0LXN1bW1hcnktYm94LXNoYWRvdywgaG92ZXIpIHtcclxuICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBtYXAtZ2V0KCRiYXNrZXQtc3VtbWFyeS1ib3gtc2hhZG93LCBob3Zlcik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybywgYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uSW50cm8sIGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgLmJhc2tldC1kZXRhaWxzLWluZm8ge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LXN1bW1hcnktY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogbWFwLWdldCgkYmFza2V0LXN1bW1hcnktZm9udC13ZWlnaHQsIGhvdmVyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgIEBpZiAkYmFza2V0LXByZXZpZXctYm9yZGVyIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkYmFza2V0LXByZXZpZXctYm9yZGVyLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuYmFza2V0LWRldGFpbHMtaW5mbyB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYmFza2V0LXByZXZpZXctc3VtbWFyeS1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYmFza2V0LXByZXZpZXctaWNvbi1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGJhc2tldC1pY29uKTtcclxuICAgICAgICAgICAgd2lkdGg6ICRiYXNrZXQtcHJldmlvdXMtaWNvbi13aWR0aDtcclxuICAgICAgICAgICAgLy8gSWYgYm9yZGVyIHRoZW4gcmVkdWNlIGhlaWdodCB0byBhbGxvdyBmb3IgYm9yZGVyLlxyXG4gICAgICAgICAgICBAaWYgJGJhc2tldC1wcmV2aWV3LWJvcmRlciB7XHJcbiAgICAgICAgICAgICAgICAvLyBUT0RPOiBZb3UncmUgYXNzdW1pbmcgdGhlIGJvcmRlciBpcyAxcHggc28gdGhpcyBtaWdodCBjYXVzZSBpc3N1ZXMgZG93biB0aGUgbGluZS4uLlxyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAoJGJhc2tldC1wcmV2aWV3LWljb24taGVpZ2h0IC0gMik7XHJcbiAgICAgICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAkYmFza2V0LXByZXZpZXctaWNvbi1oZWlnaHQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6ICRiYXNrZXQtcHJldmlldy1pY29uLWp1c3RpZnktY29udGVudDtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6ICRiYXNrZXQtcHJldmlldy1pY29uLWFsaWduLWl0ZW1zO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1pY29uLXBhZGRpbmcsIGRlZmF1bHQpO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogY3VzdG9tLWljb24tZmFtaWx5KCRmb250QXdlc29tZVNvbGlkLCAkc2l0ZS1pY29ucy1jdXN0b20tYmFza2V0LWljb24pO1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICRiYXNrZXQtcHJldmlldy1pY29uLWZvbnQtc2l6ZTtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWljb24tY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICAgICAgQGlmICRiYXNrZXQtcHJldmlldy1pY29uLWJvcmRlci13aWR0aCB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6ICRiYXNrZXQtcHJldmlldy1pY29uLWJvcmRlci13aWR0aDtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWljb24tYm9yZGVyLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGlmICRiYXNrZXQtcHJldmlldy1pY29uLWJhY2tncm91bmQtY29sb3VyLWdyYWRpYW50IHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRiYXNrZXQtcHJldmlldy1pY29uLWJhY2tncm91bmQtY29sb3VyLWdyYWRpYW50O1xyXG4gICAgICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWljb24tYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpZiBzbW9vdGgtZWRnZXMoJGJhc2tldC1wcmV2aWV3LWljb24tYm9yZGVyLXJhZGl1cykge1xyXG4gICAgICAgICAgICAgICAgLy8gV2UncmUgXCIgYXNzdW1pbmcgXCIgdGhhdCBpZiB0aGUgdmFsdWUgaXMgMjVweCB0aGVuIHdlIHdhbnQgdGhlIGljb24gdG8gYmUgb3V0bGluZWQgYnkgYSBjaXJjbGUuXHJcbiAgICAgICAgICAgICAgICBAaWYgKCRiYXNrZXQtcHJldmlldy1pY29uLWJvcmRlci1yYWRpdXMgPT0gMjVweCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRiYXNrZXQtcHJldmlldy1pY29uLWJvcmRlci1yYWRpdXM7XHJcbiAgICAgICAgICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogc21vb3RoLWVkZ2VzKCRiYXNrZXQtcHJldmlldy1pY29uLWJvcmRlci1yYWRpdXMpO1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiBzbW9vdGgtZWRnZXMoJGJhc2tldC1wcmV2aWV3LWljb24tYm9yZGVyLXJhZGl1cyk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy8gU2V0dGluZyBhbGwganVzdCBiZWNhdXNlIG9mIGFsbCB0aGUgZGlmZmVyZW50IGNvbmZpZ3VyYXRpb24gb3B0aW9ucy5cclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gVGhpcyBhcHBlYXJzIGluc2lkZSBvZiB0aGUgYmFza2V0IGRlc2t0b3Agc3VtbWFyeS5cclxuICAgIC5iYXNrZXQtZGV0YWlscyB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6ICRiYXNrZXQtc3VtbWFyeS1kZXRhaWxzLWp1c3RpZnktY29udGVudDtcclxuICAgICAgICBAaWYgJGJhc2tldC1zdW1tYXJ5LWRldGFpbHMtbWFyZ2luIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAkYmFza2V0LXN1bW1hcnktZGV0YWlscy1tYXJnaW47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiAkYmFza2V0LXByZXZpZXctZm9udC1zdHlsZSB7XHJcbiAgICAgICAgICAgIGZvbnQtc3R5bGU6ICRiYXNrZXQtcHJldmlldy1mb250LXN0eWxlO1xyXG4gICAgICAgIH1cclxuICAgICAgICB6LWluZGV4OiAxMDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxODVweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgd2lkdGg6IDEuNXB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDA7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICByaWdodDogNzBweDtcclxuICAgICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1zdW1tYXJ5LWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBoZWlnaHQgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuYmFza2V0LWRldGFpbHMtaW5mbyB7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LXN1bW1hcnktY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICBmb250LXdlaWdodDogbWFwLWdldCgkYmFza2V0LXN1bW1hcnktZm9udC13ZWlnaHQsIGRlZmF1bHQpO1xyXG4gICAgICAgICYuYmFza2V0LWRldGFpbHMtcXVhbnRpdHkge1xyXG4gICAgICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuYmFza2V0LWRldGFpbHMtcHJpY2Uge1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMjBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBTdW1tYXJ5IHRoYXQgZ2V0cyBkaXNwbGF5ZWQgZm9yIG1vYmlsZSBlc3NlbnRpYWxseSBhcyBhIHBvcHVwIG1lbnUuXHJcbiAgICAuYmFza2V0LW1vYmlsZS1zdW1tYXJ5IHtcclxuICAgICAgICBAaWYgc21vb3RoLWVkZ2VzKCkge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIHNtb290aC1lZGdlcygpIHNtb290aC1lZGdlcygpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5iYXNrZXQtaWNvbiB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBiYXNrZXQtaWNvbik7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogY3VzdG9tLWljb24tZmFtaWx5KCRmb250QXdlc29tZVNvbGlkLCAkc2l0ZS1pY29ucy1jdXN0b20tYmFza2V0LWljb24pO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiA0MHB4O1xyXG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLnN1bW1hcnktb3JkZXItdG90YWwge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIyKTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5zdW1tYXJ5LXF1YW50aXR5IHtcclxuICAgICAgICAgICAgbWFyZ2luOiAyMHB4IDAgMjVweDtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNyk7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmFjdGlvbi1idXR0b24geyBcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAubW9iaWxlLXN1bW1hcnktbWVzc2FnZS1jb250YWluZXIsIC50ZXh0LW5vdGlmaWNhdGlvbi1jb250YWluZXIge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxNXB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAyMHB4O1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwYXJhZ3JhcGgtZm9udC1zaXplICsgMik7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5zdW1tYXJ5IHtcclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAudGV4dENvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA4NSU7XHJcbiAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogaGVpZ2h0ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAjYmFza2V0UXVhbnRpdHksICNiYXNrZXRQcmV2aWV3UHJpY2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1zdW1tYXJ5LWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCRiYXNrZXQtc3VtbWFyeS1mb250LXdlaWdodCwgaG92ZXIpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICBcclxuICAgIH1cclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgfVxyXG5cclxuICAgICNiYXNrZXRQcmV2aWV3UHJpY2Uge1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuI2Jhc2tldFN1bW1hcnlDb250YWluZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAvLyB3aWR0aDogMzcwcHg7XHJcbiAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgfVxyXG4gICAgJi53YXJuaW5nIHtcclxuICAgICAgICAuc3VtbWFyeSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWJhY2tncm91bmQtY29sb3VyLCB3YXJuaW5nKTtcclxuICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBiYXNrZXQtd2FybmluZyk7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGV4cHJlc3MtZGVmYXVsdC1pY29ucztcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWljb24tYmFja2dyb3VuZC1jb2xvdXIsIHdhcm5pbmcpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICNiYXNrZXRQcmV2aWV3IC5iYXNrZXRQcmV2aWV3SGVhZGluZyB7XHJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgYmFza2V0LXdhcm5pbmcpO1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRleHByZXNzLWRlZmF1bHQtaWNvbnM7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkd2FybmluZy1jb2xvdXIsIDApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5tb2JpbGUtc3VtbWFyeS1tZXNzYWdlLWNvbnRhaW5lciwgLnRleHQtbm90aWZpY2F0aW9uLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWJhY2tncm91bmQtY29sb3VyLCB3YXJuaW5nKTtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWljb24tYmFja2dyb3VuZC1jb2xvdXIsIHdhcm5pbmcpO1xyXG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1pY29uLWJhY2tncm91bmQtY29sb3VyLCB3YXJuaW5nKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnN1bW1hcnktbWVzc2FnZS1jb250YWluZXIge1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWljb24tYmFja2dyb3VuZC1jb2xvdXIsIHdhcm5pbmcpO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBzcGVlY2gtYnViYmxlKFwidG9wXCIsIDgsIG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWljb24tYmFja2dyb3VuZC1jb2xvdXIsIHdhcm5pbmcpLCBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1iYWNrZ3JvdW5kLWNvbG91ciwgd2FybmluZykpO1xyXG4gICAgICAgICAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYmFza2V0LXByZXZpZXctYmFja2dyb3VuZC1jb2xvdXIsIHdhcm5pbmcpO1xyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHdhcm5pbmcpO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1pY29uLWJhY2tncm91bmQtY29sb3VyLCB3YXJuaW5nKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBwIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1pY29uLWJhY2tncm91bmQtY29sb3VyLCB3YXJuaW5nKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAjYmFza2V0UXVhbnRpdHksICAjYmFza2V0UHJldmlld1ByaWNlIHtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWljb24tYmFja2dyb3VuZC1jb2xvdXIsIHdhcm5pbmcpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuYWxlcnQge1xyXG4gICAgICAgIC5zdW1tYXJ5IHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYmFza2V0LXByZXZpZXctYmFja2dyb3VuZC1jb2xvdXIsIGFsZXJ0KTtcclxuICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBiYXNrZXQtYWxlcnQpO1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRleHByZXNzLWRlZmF1bHQtaWNvbnM7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1pY29uLWJhY2tncm91bmQtY29sb3VyLCBhbGVydCk7XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAjYmFza2V0UHJldmlldyAuYmFza2V0UHJldmlld0hlYWRpbmcge1xyXG4gICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGJhc2tldC1hbGVydCk7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGV4cHJlc3MtZGVmYXVsdC1pY29ucztcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5tb2JpbGUtc3VtbWFyeS1tZXNzYWdlLWNvbnRhaW5lciwgLnRleHQtbm90aWZpY2F0aW9uLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWJhY2tncm91bmQtY29sb3VyLCBhbGVydCk7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1pY29uLWJhY2tncm91bmQtY29sb3VyLCBhbGVydCk7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWljb24tYmFja2dyb3VuZC1jb2xvdXIsIGFsZXJ0KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnN1bW1hcnktbWVzc2FnZS1jb250YWluZXIge1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWljb24tYmFja2dyb3VuZC1jb2xvdXIsIGFsZXJ0KTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgc3BlZWNoLWJ1YmJsZShcInRvcFwiLCA4LCBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1pY29uLWJhY2tncm91bmQtY29sb3VyLCBhbGVydCksIG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWJhY2tncm91bmQtY29sb3VyLCBhbGVydCkpO1xyXG4gICAgICAgICAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYmFza2V0LXByZXZpZXctYmFja2dyb3VuZC1jb2xvdXIsIGFsZXJ0KTtcclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBhbGVydCk7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWljb24tYmFja2dyb3VuZC1jb2xvdXIsIGFsZXJ0KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBwIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1pY29uLWJhY2tncm91bmQtY29sb3VyLCBhbGVydCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgI2Jhc2tldFF1YW50aXR5LCAjYmFza2V0UHJldmlld1ByaWNlIHtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWljb24tYmFja2dyb3VuZC1jb2xvdXIsIGFsZXJ0KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAubm90LWxvZ2dlZC1pbi1jb250YWluZXIge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAubW9iaWxlLXN1bW1hcnktbWVzc2FnZS1jb250YWluZXIsIC50ZXh0LW5vdGlmaWNhdGlvbi1jb250YWluZXIge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDE1cHg7XHJcbiAgICAgICAgcGFkZGluZzogMjBweDtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwYXJhZ3JhcGgtZm9udC1zaXplICsgMik7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgIH1cclxuICAgICYuYWN0aXZlIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAzNzBweDtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICBsZWZ0OiAwO1xyXG5cclxuICAgICAgICAgICAgI2Jhc2tldFByZXZpZXcge1xyXG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogNTcwcHg7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAyNXB4IDEwcHggNjBweDtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGRyb3Bkb3duLWZvb3RlcjtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgICAgICAgICB6LWluZGV4OiA1MDAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICNiYXNrZXRQcmV2aWV3IHtcclxuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDQ2MHB4O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMjBweCAzMHB4IDMwcHg7XHJcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAkYm94U2hhZG93MTtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGRyb3Bkb3duLWZvb3RlcjtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgICAgICAgICB6LWluZGV4OiA1MDAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgI3JlY2VudGx5QWRkZWQge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgaDMge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAzMHB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDYwcHggMDtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvdXIyO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYudXBkYXRlLmFjdGl2ZSB7XHJcbiAgICAgICAgI2Jhc2tldFByZXZpZXcge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubm90LWxvZ2dlZC1pbi1jb250YWluZXIge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDI1NXB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6ICRoZWFkZXItc2VhcmNoLWhlaWdodDtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICAgICAgLy8gT3ZlcnJpZGUgZGVmYXVsdCBidXR0b24gc3R5bGluZy5cclxuICAgICAgICAgICAgYSB7IFxyXG4gICAgXHJcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAkaGVhZGVyLXNlYXJjaC1oZWlnaHQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuYnViYmxlLWNvbnRhaW5lciB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAyNTVweDtcclxuICAgICAgICAgICAgbWF4LWhlaWdodDogMDtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB0b3A6ICgkYmFza2V0LXByZXZpZXctaGVpZ2h0ICsgNTApO1xyXG4gICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5oZXJpdDtcclxuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDMwMHB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuc3VtbWFyeS1tZXNzYWdlLWNvbnRhaW5lciB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGRpc3BsYXk6IGluaGVyaXQ7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMTtcclxuICAgICAgICBib3JkZXItd2lkdGg6IDJweDtcclxuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAvLyB6LWluZGV4OiA1MDA7XHJcbiAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMTRweCAyMHB4O1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBzdWNjZXNzKTtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHAge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkcGFyYWdyYXBoLWZvbnQtc2l6ZSAtIDEpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcblxyXG5cclxuLy8gLS0tLS0gSGVhZGVyIHdlbGNvbWUgdGV4dCAtLS0tLVxyXG4uaGVhZGVyLXdlbGNvbWUtdGV4dC1jb250YWluZXIge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICAgIG9yZGVyOiAyO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBsYXJnZS12YWx1ZSgkaGVhZGVyLXdlbGNvbWUtdGV4dC1qdXN0aWZ5LWNvbnRlbnQpO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiAkaGVhZGVyLXdlbGNvbWUtdGV4dC1hbGlnbi1pdGVtcztcclxuICAgICAgICBmbGV4LWJhc2lzOiAkaGVhZGVyLXdlbGNvbWUtdGV4dC1oZWlnaHQ7XHJcbiAgICAgICAgQGlmICgkaGVhZGVyLXdlbGNvbWUtdGV4dC1tYXJnaW4pIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAkaGVhZGVyLXdlbGNvbWUtdGV4dC1tYXJnaW47XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7XHJcbiAgICAgICAgQGlmICh4eGxhcmdlLXZhbHVlKCRoZWFkZXItd2VsY29tZS10ZXh0LWp1c3RpZnktY29udGVudCkpIHtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiB4eGxhcmdlLXZhbHVlKCRoZWFkZXItd2VsY29tZS10ZXh0LWp1c3RpZnktY29udGVudCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnRleHQtY29udGFpbmVyIHtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogJGhlYWRlci13ZWxjb21lLXRleHQtdGV4dC1hbGlnbjtcclxuICAgICAgICBwIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRoZWFkZXItd2VsY29tZS10ZXh0LWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkaGVhZGVyLXdlbGNvbWUtdGV4dC1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgZm9udC1zdHlsZTogJGhlYWRlci13ZWxjb21lLXRleHQtZm9udC1zdHlsZTtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6IGdldC10eXBvZ3JhcGh5LWZvbnQtZmFtaWx5KCk7XHJcbiAgICAgICAgICAgIGNvbG9yOiBjb250cmFzdC1jaGVja2VyKCRoZWFkZXItd2VsY29tZS10ZXh0LWNvbG91ciwgJGhlYWRlci1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAgICAgICAgIEBpZiAoJGhlYWRlci13ZWxjb21lLXRleHQtbGluZS1oZWlnaHQpIHtcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkaGVhZGVyLXdlbGNvbWUtdGV4dC1saW5lLWhlaWdodDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYgKyAjYWN0aW9uLWJhci1jb250YWluZXIge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICAgIG9yZGVyOiAxO1xyXG4gICAgfVxyXG4gICAgJiArIC5oZWFkZXItY2FsbC10by1hY3Rpb24tY29udGFpbmVyIHtcclxuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vLyAtLS0tLSBIZWFkZXIgTWVudXMgLS0tLS1cclxuLmhlYWRlci1tZW51cy1vdXRlci1jb250YWluZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzbWFsbC12YWx1ZSgkbWVudXMtYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgLy8gRGVza3RvcCBzcGVjaWZpYy5cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBtYXgtaGVpZ2h0OiBub25lO1xyXG4gICAgICAgIC8vIERvbid0IGNoYW5nZSB0aGUgcGFkZGluZyBib3R0b20gYXMgdGhpcyB3aWxsIHRocm93biB0aGUgbWVnYSBtZW51IG91dCBvZiBhbGlnbm1uZXQgd2l0aCB0aGUgYm90dG9tIG9mIHRoZSBuYXYgYmFyLlxyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgQGlmICRoZWFkZXItbWVnYS1tZW51LWdyYWRpYW50LWJhY2tncm91bmQge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkaGVhZGVyLW1lZ2EtbWVudS1ncmFkaWFudC1iYWNrZ3JvdW5kO1xyXG4gICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBsYXJnZS12YWx1ZSgkbWVudXMtYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgJGhlYWRlci1tZWdhLW1lbnUtYm94LXNoYWRvdyB7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6ICRoZWFkZXItbWVnYS1tZW51LWJveC1zaGFkb3c7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiBzbW9vdGgtZWRnZXMoKSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiAkbWVnYS1tZW51LWJvcmRlciB7XHJcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogJG1lZ2EtbWVudS1ib3JkZXItd2lkdGg7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJG1lZ2EtbWVudS1ib3JkZXItY29sb3VyO1xyXG4gICAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgICAgIH1cclxuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xyXG4gICAgfVxyXG4gICAgJi5hY3RpdmUge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICB6LWluZGV4OiAxO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIEZvbGxvdyBtZWdhIG1lbnUgc21hbGwgc3R5bGVzLlxyXG4gICAgLy8gTGV2ZWwgMVxyXG4gICAgLmNvbnRlbnQtY29udGFpbmVyID4gdWwge1xyXG4gICAgICAgID4gbGkge1xyXG4gICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyhzbWFsbC12YWx1ZSgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1zaXplKSk7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogc21hbGwtdmFsdWUoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtd2VpZ2h0KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAvLyBMZXZlbCAyXHJcbiAgICAgICAgICAgID4gdWwge1xyXG4gICAgICAgICAgICAgICAgPiBsaSB7XHJcbiAgICAgICAgICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyhzbWFsbC12YWx1ZSgkbWVnYS1tZW51LXBhcmVudC1zaXplKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBzbWFsbC12YWx1ZSgkbWVnYS1tZW51LXBhcmVudC1mb250LXdlaWdodCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIC8vIExldmVsIDMgKyBcclxuICAgICAgICAgICAgICAgICAgICB1bCA+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgPiBsaSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKHNtYWxsLXZhbHVlKCRtZWdhLW1lbnUtY2hpbGQtc2l6ZSkpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBzbWFsbC12YWx1ZSgkbWVnYS1tZW51LWNoaWxkLWZvbnQtd2VpZ2h0KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5AbWl4aW4gbWVnYS1tZW51LWdyYW5kLXBhcmVudC1zZXBvcmF0b3IoKSB7XHJcbiAgICBjb250ZW50OiAnJztcclxuICAgIHdpZHRoOiBtYXAtZ2V0KCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LXNlcGVyYXRvcnMtZGltZW50aW9ucywgd2lkdGgpO1xyXG4gICAgaGVpZ2h0OiBtYXAtZ2V0KCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LXNlcGVyYXRvcnMtZGltZW50aW9ucywgaGVpZ2h0KTtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMDtcclxuICAgIGJvdHRvbTogMDtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgbWFyZ2luOiBhdXRvIDA7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1zZXBlcmF0b3JzLWNvbG91cjtcclxufVxyXG5cclxuLmhlYWRlci1tZW51cy1pbm5lci1jb250YWluZXIge1xyXG5cclxuICAgIC8vIENvbG91ciBwcm9jZXNzaW5nLlxyXG4gICAgJG1vYmlsZS1ncmFuZC1wYXJlbnQtYmFja2dyb3VuZC1jb2xvdXI6IG1hcC1nZXQoJG1lbnVzLWJhY2tncm91bmQtY29sb3VyLCBzbWFsbCk7XHJcbiAgICAkbW9iaWxlLWdyYW5kLXBhcmVudC1jb2xvdXI6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1jb2xvdXIsIGRlZmF1bHQtc21hbGwpLCAkbW9iaWxlLWdyYW5kLXBhcmVudC1iYWNrZ3JvdW5kLWNvbG91cik7XHJcblxyXG4gICAgLy8gTGV2ZWwgMiBDb2xvdXJzXHJcbiAgICAgLy8gLS0tIFBhcmVudCBjb2xvdXJzIC0tLSBcclxuICAgICAkcGFyZW50LWJhY2tncm91bmQtY29sb3VyOiAkY29sb3VyMTtcclxuICAgICAvLyBEZWZhdWx0LlxyXG4gICAgICRwYXJlbnQtY29sb3VyOiAgY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRtZWdhLW1lbnUtcGFyZW50LWNvbG91ciwgZGVmYXVsdCksICRwYXJlbnQtYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgIC8vIEhvdmVyLlxyXG4gICAgICRwYXJlbnQtY29sb3VyLWhvdmVyOiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJG1lZ2EtbWVudS1wYXJlbnQtY29sb3VyLCBob3ZlciksICRwYXJlbnQtYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgIC8vIEFjdGl2ZS5cclxuICAgICAkcGFyZW50LWNvbG91ci1hY3RpdmU6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkbWVnYS1tZW51LXBhcmVudC1jb2xvdXIsIGFjdGl2ZSksICRwYXJlbnQtYmFja2dyb3VuZC1jb2xvdXIpO1xyXG5cclxuICAgIC8vIExldmVsIDMgQ2hpbGRyZW4gQ29sb3Vycy5cclxuICAgIC8vIERlZmF1bHQuXHJcbiAgICAkY2hpbGQtY29sb3VyOiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJG1lZ2EtbWVudS1jaGlsZC1jb2xvdXIsIGxhcmdlLWRlZmF1bHQpLCAkcGFyZW50LWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgIC8vIEhvdmVyLiBcclxuICAgICRjaGlsZC1jb2xvdXItaG92ZXI6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkbWVnYS1tZW51LWNoaWxkLWNvbG91ciwgbGFyZ2UtaG92ZXIpLCAkcGFyZW50LWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgIC8vIEFjdGl2ZS5cclxuICAgICRjaGlsZC1jb2xvdXItYWN0aXZlOiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJG1lZ2EtbWVudS1jaGlsZC1jb2xvdXIsIGxhcmdlLWFjdGl2ZSksICRwYXJlbnQtYmFja2dyb3VuZC1jb2xvdXIpO1xyXG5cclxuXHJcblxyXG4gICAgd2lkdGg6IHNtYWxsLXZhbHVlKCRoZWFkZXItbWVnYS1tZW51LXdpZHRoKTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIG1heC13aWR0aDogbGFyZ2UtdmFsdWUoJGhlYWRlci1tZWdhLW1lbnUtd2lkdGgpO1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgIH1cclxuICAgIHVsLmFjY29yZGlvbi1tZW51IHtcclxuICAgICAgICA+IGxpIHtcclxuICAgICAgICAgICAgQGlmIChzbWFsbC12YWx1ZSgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1tYXJnaW4pKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IHNtYWxsLXZhbHVlKCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LW1hcmdpbik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRtZW51cy1saXN0LWl0ZW0tYmFja2dyb3VuZC1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJG1lbnVzLWxpc3QtaXRlbS1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICAkbW9iaWxlLWdyYW5kLXBhcmVudC1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogbWFwLWdldCgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC13ZWlnaHQsIHNtYWxsKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMobWFwLWdldCgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1zaXplLCBzbWFsbCkpO1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogJGhlYWRlci1sb3dlci10ZXh0LWFsaWduO1xyXG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LXRleHQtdHJhbnNmb3JtO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC8vIExldmVsIDIgKCBQYXJlbnQgKVxyXG4gICAgICAgICAgICA+IHVsIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IHNtYWxsLXZhbHVlKCRtZWdhLW1lbnUtbGV2ZWwtMi1wYWRkaW5nKTtcclxuICAgICAgICAgICAgICAgID4gbGkge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIER1ZSB0byBzdWJtZW51IHBhcmVudHMgaGF2ZSBhbiBpY29uIHRvIHRoZSBsZWZ0IHdlIG5lZWQgdG8gYWRkIHNvbWUgbWFyZ2luIHRvIHRoZSBubyBwYXJlbnRzIG90aGVyd2lzZSB0aGUgZ3JvdXAgZGVzY3JpcHRpb25zIHdpbGwgbm90IGxpbmUgdXAuXHJcbiAgICAgICAgICAgICAgICAgICAgJjpub3QoLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogI3tzcGFjaW5nLXZhbHVlKCRnbG9iYWwtbWVudS1pdGVtLXBhZGRpbmcsIDQpICsgMjB9O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgJi5pcy1hY3RpdmUuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhLCAmLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIFJlbW92ZSBwYXJlbnQgaW5kaWNhdG9yIHRoYXQgaXMgc2hvd24gb24gbm9ybWFsIGRyb3Bkb3ducy5cclxuICAgICAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAvLyBsZXZlbCAzXHJcbiAgICAgICAgICAgICAgICAgICAgPiB1bCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgID4gbGkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNoaWxkLWNvbG91cjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IHNtYWxsLXZhbHVlKCRtZWdhLW1lbnUtY2hpbGQtcGFkZGluZyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyhzbWFsbC12YWx1ZSgkbWVnYS1tZW51LWNoaWxkLXNpemUpKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogc21hbGwtdmFsdWUoJG1lZ2EtbWVudS1jaGlsZC1mb250LXdlaWdodCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlciwgJjpob3ZlcjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNoaWxkLWNvbG91ci1ob3ZlcjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJjphY3RpdmUsICY6YWN0aXZlOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY2hpbGQtY29sb3VyLWFjdGl2ZTsgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG5cclxuXHJcbiAgICB9XHJcbiAgICB1bC5tZW51Lm1lZ2EtbWVudSwgdWwubWVudS5kcm9wZG93biB7XHJcbiAgICAgICAgLy8gR3JhbmQgcGFyZW50IGdyb3VwIHNlcGVyYXRvcnMuXHJcbiAgICAgICAgPiBsaSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IHNtYWxsLXZhbHVlKCRoZWFkZXItbWVnYS1tZW51LXBhZGRpbmcpO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBAaWYgJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtc2VwZXJhdG9ycy1nYXAge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1zZXBlcmF0b3JzLWdhcDtcclxuICAgICAgICAgICAgICAgICAgICAvL21hcmdpbi1yaWdodDogJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtc2VwZXJhdG9ycy1nYXA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiBsYXJnZS12YWx1ZSgkaGVhZGVyLW1lZ2EtbWVudS1wYWRkaW5nKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaWYgKCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LXN1cHByZXNzLW91dGVyLXBhZGRpbmcpIHtcclxuICAgICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaWYgKCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LXN1cHByZXNzLWZpcnN0LWNoaWxkLW1hcmdpbikge1xyXG4gICAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYuaG9tZS1idXR0b24ge1xyXG4gICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAkaG9tZS1idXR0b24tcGFkZGluZztcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgI3tpZigkbWVnYS1tZW51LXN1cHByZXNzLW91dGVyLXNlcGVyYXRvcnMsIFwiJjpub3QoOmZpcnN0LWNoaWxkKSBcIiwgXCJcIil9ID4gYSB7XHJcbiAgICAgICAgICAgICAgICBAaWYgJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtc2VwZXJhdG9ycyB7XHJcbiAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtc2Vwb3JhdG9yKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByaWdodDogYXV0bztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vbGVmdDogLSN7KG1hcC1nZXQoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtc2VwZXJhdG9ycy1kaW1lbnRpb25zLCB3aWR0aCkgKiAxLjUpfTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IGlmKCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LXNlcGVyYXRvcnMtZ2FwLC0kbWVnYS1tZW51LWdyYW5kLXBhcmVudC1zZXBlcmF0b3JzLWdhcCAsMCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGlmIG5vdCAkbWVnYS1tZW51LXN1cHByZXNzLW91dGVyLXNlcGVyYXRvcnMge1xyXG4gICAgICAgICAgICAgICAgQGlmICRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LXNlcGVyYXRvcnMge1xyXG4gICAgICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCA+IGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVnYS1tZW51LWdyYW5kLXBhcmVudC1zZXBvcmF0b3IoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL3JpZ2h0OiAtI3sobWFwLWdldCgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1zZXBlcmF0b3JzLWRpbWVudGlvbnMsIHdpZHRoKSAqIDEuNSl9O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiBpZigkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1zZXBlcmF0b3JzLWdhcCwtJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtc2VwZXJhdG9ycy1nYXAsMCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogYXV0bztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmID4gYSB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGlmICgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1saW5lLWhlaWdodCAhPSAkZGVmYXVsdC1saW5lLWhlaWdodCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtbGluZS1oZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIEBpZiAoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtbGV0dGVyLXNwYWNpbmcpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6ICRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWxldHRlci1zcGFjaW5nO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBGb3IgZHJvcGRvd24gYWxpZ25tZW50LlxyXG4gICAgICAgIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuLy8gLS0tIEhlYWRlciBtZW51cyBjb250YWluZXIgLS0tIFxyXG4uaGVhZGVyLW1lbnUtbGVmdC1jb250YWluZXIge1xyXG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgQGlmICRoZWFkZXItbG93ZXItaXRlbS1ncm93IHtcclxuICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgICAmICsgLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICB9XHJcbiAgICB9IFxyXG59XHJcbi5oZWFkZXItbWVudS1yaWdodC1jb250YWluZXIsIC5oZWFkZXItbWVudS1sZWZ0LWNvbnRhaW5lciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG59XHJcbi5oZWFkZXItbWVudS1yaWdodC1jb250YWluZXIge1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLSBUb2dnbGUgQmFyIC0tLSBcclxuLy8gRXNzZW50aWFsbHkgYSBjb2xsZWN0aW9uIG9mIHRvZ2dsZSBidXR0b25zIHRoYXQgdHJpZ2dlciB2YXJpb3VzIGZ1bmN0aW9uYWxpdHkgaS5lIHNlYXJjaCBiYXIgJiBiYXNrZXQgc3VtbWFyeS5cclxuLmhlYWRlci10b2dnbGUtYmFyLWNvbnRhaW5lciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gICAgZ2FwOiAkaGVhZGVyLXRvZ2dsZS1iYXItZ2FwO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIH1cclxuICAgICYudG9nZ2xlLWJhci1pbmFjdGl2ZS1tb2JpbGUge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgZ2FwOiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIENvbnRhaW5lciBmb3IgYm90aCBidXR0b24gJiBjb250ZW50IGNvbnRhaW5lcnMuXHJcbiAgICAuaGVhZGVyLXRvZ2dsZS1jb250YWluZXIge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgJi5hbGlnbi1pdGVtcy1wYXJlbnQge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIFRvZ2dsZSBidXR0b24gY29udGFpbmVyc1xyXG4gICAgLnRvZ2dsZS1idXR0b24tY29udGFpbmVyIHtcclxuICAgICAgICAudG9nZ2xlLWJ1dHRvbiB7XHJcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6ICRoZWFkZXItdG9nZ2xlci1iYXItYnV0dG9uLW1pbi1oZWlnaHQ7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICAgICAgcGFkZGluZzogJGhlYWRlci10b2dnbGUtYmFyLWJ1dHRvbi1wYWRkaW5nO1xyXG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgICAgIEBpZiAoJGhlYWRlci10b2dnbGUtYmFyLWZvbnQtd2VpZ2h0KSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJGhlYWRlci10b2dnbGUtYmFyLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpZiBzbW9vdGgtZWRnZXMoKSB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaWYgKCRoZWFkZXItdG9nZ2xlLWJhci1idXR0b24tbGluZS1oZWlnaHQgIT0gJGRlZmF1bHQtbGluZS1oZWlnaHQpIHtcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkaGVhZGVyLXRvZ2dsZS1iYXItYnV0dG9uLWxpbmUtaGVpZ2h0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRoZWFkZXItdG9nZ2xlLWJhci1idXR0b24tY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGhlYWRlci10b2dnbGUtYmFyLWJ1dHRvbi1mb250LXNpemU7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRoZWFkZXItdG9nZ2xlLWJhci1idXR0b24tY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGhlYWRlci10b2dnbGUtYmFyLWJ1dHRvbi1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICBcclxuICAgICAgICAmLnNlYXJjaCAudG9nZ2xlLWJ1dHRvbiB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJGRlZmF1bHQtc2l0ZS1pY29ucywgc2VhcmNoKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBjdXN0b20taWNvbi1mYW1pbHkoJGZvbnRBd2Vzb21lU29saWQsICRzaXRlLWljb25zLWN1c3RvbS1zZWFyY2gtaWNvbik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5hY2NvdW50IC50b2dnbGUtYnV0dG9uIHtcclxuICAgICAgICAgICAgLy8gR2V0IGN1c3RvbSBidXR0b24gcGFkZGluZy5cclxuICAgICAgICAgICAgJGJ1dHRvbi1wYWRkaW5nOiBtYXAtZ2V0KCRoZWFkZXItYWNjb3VudC1idXR0b24tcGFkZGluZywgZGVmYXVsdCk7XHJcbiAgICAgICAgICAgIC8vIE92ZXJyaWRlIGRlZmF1bHQgc3R5bGVzLlxyXG4gICAgICAgICAgICBAaWYgKCRidXR0b24tcGFkZGluZyE9ICRoZWFkZXItdG9nZ2xlLWJhci1idXR0b24tcGFkZGluZyApIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRidXR0b24tcGFkZGluZzsgICAgICBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLmFjdGlvbi1iYXIgLnRvZ2dsZS1idXR0b24ge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBiYXNrZXQtaWNvbik7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogY3VzdG9tLWljb24tZmFtaWx5KCRmb250QXdlc29tZVNvbGlkLCAkc2l0ZS1pY29ucy1jdXN0b20tYmFza2V0LWljb24pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5iYXNrZXQtaXRlbS1jb3VudCB7XHJcbiAgICAgICAgICAgICAgICAvLyBDb2xvdXIgcHJvY2Vzc2luZy5cclxuICAgICAgICAgICAgICAgICRkZWZhdWx0LWNvbG91cjogY29udHJhc3QtY2hlY2tlcihkZWZhdWx0LWNvbG91cigkYmFza2V0LXN1bW1hcnktaXRlbS1jb3VudC1jb2xvdXIpLCBkZWZhdWx0LWNvbG91cigkYmFza2V0LXN1bW1hcnktaXRlbS1jb3VudC1iYWNrZ3JvdW5kLWNvbG91cikpO1xyXG5cclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIHRvcDogMnB4O1xyXG4gICAgICAgICAgICAgICAgbGVmdDogI3skaGVhZGVyLXRvZ2dsZS1iYXItYnV0dG9uLWZvbnQtc2l6ZSArIDZ9O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMnB4IDQuNXB4O1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRhY2NlbnQtY29sb3VyLTMsIDApO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRkZWZhdWx0LWNvbG91cjtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpO1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IGdldC10eXBvZ3JhcGh5LWZvbnQtZmFtaWx5KFwic2Vjb25kYXJ5LWZvbnRcIik7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMjVweDtcclxuICAgICAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkIGRlZmF1bHQtY29sb3VyKCRiYXNrZXQtc3VtbWFyeS1pdGVtLWNvdW50LWJvcmRlci1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybywgYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uT3V0cm8sICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAuYmFza2V0LWl0ZW0tY291bnQge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIENvbG91ciBwcm9jZXNzaW5nLlxyXG4gICAgICAgICAgICAgICAgICAgICRob3Zlci1jb2xvdXI6IGNvbnRyYXN0LWNoZWNrZXIoaG92ZXItY29sb3VyKCRiYXNrZXQtc3VtbWFyeS1pdGVtLWNvdW50LWNvbG91ciksIGRlZmF1bHQtY29sb3VyKCRiYXNrZXQtc3VtbWFyeS1pdGVtLWNvdW50LWJhY2tncm91bmQtY29sb3VyKSk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogaG92ZXItY29sb3VyKCRiYXNrZXQtc3VtbWFyeS1pdGVtLWNvdW50LWJvcmRlci1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkaG92ZXItY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm8sICR0cmFuc2l0aW9uSW50cm8sIGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAuYmFza2V0LWl0ZW0tY291bnQge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIENvbG91ciBwcm9jZXNzaW5nLlxyXG4gICAgICAgICAgICAgICAgICAgICRhY3RpdmUtY29sb3VyOiBjb250cmFzdC1jaGVja2VyKGFjdGl2ZS1jb2xvdXIoJGJhc2tldC1zdW1tYXJ5LWl0ZW0tY291bnQtY29sb3VyKSwgYWN0aXZlLWNvbG91cigkYmFza2V0LXN1bW1hcnktaXRlbS1jb3VudC1iYWNrZ3JvdW5kLWNvbG91cikpO1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGFjdGl2ZS1jb2xvdXIoJGJhc2tldC1zdW1tYXJ5LWl0ZW0tY291bnQtYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYWN0aXZlLWNvbG91cjtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IGFjdGl2ZS1jb2xvdXIoJGJhc2tldC1zdW1tYXJ5LWl0ZW0tY291bnQtYm9yZGVyLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBDb250ZW50IGNvbnRhaW5lcnMuXHJcbiAgICAudG9nZ2xlLWNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAmLnNlYXJjaCB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAwO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6ICBtYXAtZ2V0KCRoZWFkZXItdG9nZ2xlLWNvbnRlbnQtd2lkdGhzLCBzZWFyY2gpO1xyXG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAtMTJweDtcclxuICAgICAgICAgICAgICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLmFjY291bnQtbWVudSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAwO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgdG9wOiBjYWxjKDEwMCUgKyAxMHB4KTtcclxuICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBtYXAtZ2V0KCRhY2NvdW50LW1lbnUtd2lkdGgsIGxhcmdlKTtcclxuICAgICAgICAgICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiBsYXJnZS12YWx1ZSgkYWNjb3VudC1tZW51LXBhZGRpbmcpO1xyXG4gICAgICAgICAgICAgICAgICAgIEBpZiAoJGFjY291bnQtbWVudS1ib3gtc2hhZG93KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6ICRhY2NvdW50LW1lbnUtYm94LXNoYWRvdztcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmFjY291bnQtbWVudSB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLmFjdGlvbi1iYXIge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMDtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIHJpZ2h0OiAtMTZweDtcclxuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgICAgICAvL3RyYW5zaXRpb246IHdpZHRoICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAgbWFwLWdldCgkaGVhZGVyLXRvZ2dsZS1jb250ZW50LXdpZHRocywgYWN0aW9uLWJhcik7XHJcbiAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XHJcbiAgICAgICAgICAgICAgICAgICAgLmJhc2tldC1kZXNrdG9wLXN1bW1hcnkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1pY29uLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0tLSBBY2NvdW50IE1lbnUgLS0tLS1cclxuLy8gLS0tIEJ1dHRvbiAtLS1cclxuLmhlYWRlci1hY2NvdW50LWJ1dHRvbiB7XHJcblxyXG4gICAgJGRlZmF1bHQtYmFja2dyb3VuZC1jb2xvdXI6IG1hcC1nZXQoJGhlYWRlci1hY2NvdW50LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAkaG92ZXItYmFja2dyb3VuZC1jb2xvdXI6IG1hcC1nZXQoJGhlYWRlci1hY2NvdW50LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgJGFjdGl2ZS1iYWNrZ3JvdW5kLWNvbG91cjogbWFwLWdldCgkaGVhZGVyLWFjY291bnQtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBhY3RpdmUpO1xyXG5cclxuICAgICRkZWZhdWx0LWljb24tYmFja2dyb3VuZC1jb2xvdXI6IG1hcC1nZXQoJGhlYWRlci1hY2NvdW50LWJ1dHRvbi1pY29uLWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICRob3Zlci1pY29uLWJhY2tncm91bmQtY29sb3VyOiBtYXAtZ2V0KCRoZWFkZXItYWNjb3VudC1idXR0b24taWNvbi1iYWNrZ3JvdW5kLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgJGFjdGl2ZS1pY29uLWJhY2tncm91bmQtY29sb3VyOiBtYXAtZ2V0KCRoZWFkZXItYWNjb3VudC1idXR0b24taWNvbi1iYWNrZ3JvdW5kLWNvbG91ciwgYWN0aXZlKTtcclxuXHJcbiAgICAkZGVmYXVsdC1jb2xvdXI6IGlmKCRkZWZhdWx0LWJhY2tncm91bmQtY29sb3VyLCBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJGhlYWRlci1hY2NvdW50LWJ1dHRvbi1jb2xvdXIsIGRlZmF1bHQpLCAkZGVmYXVsdC1iYWNrZ3JvdW5kLWNvbG91ciksIG1hcC1nZXQoJGhlYWRlci1hY2NvdW50LWJ1dHRvbi1jb2xvdXIsIGRlZmF1bHQpKTtcclxuICAgICRob3Zlci1jb2xvdXI6IGlmKCRob3Zlci1iYWNrZ3JvdW5kLWNvbG91ciwgY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRoZWFkZXItYWNjb3VudC1idXR0b24tY29sb3VyLCBob3ZlciksICRob3Zlci1iYWNrZ3JvdW5kLWNvbG91ciksIG1hcC1nZXQoJGhlYWRlci1hY2NvdW50LWJ1dHRvbi1jb2xvdXIsIGhvdmVyKSk7XHJcbiAgICAkYWN0aXZlLWNvbG91cjogaWYoJGFjdGl2ZS1iYWNrZ3JvdW5kLWNvbG91ciAsY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRoZWFkZXItYWNjb3VudC1idXR0b24tY29sb3VyLCBhY3RpdmUpLCAkYWN0aXZlLWJhY2tncm91bmQtY29sb3VyKSwgbWFwLWdldCgkaGVhZGVyLWFjY291bnQtYnV0dG9uLWNvbG91ciwgYWN0aXZlKSk7XHJcblxyXG4gICAgbWluLWhlaWdodDogJGhlYWRlci1hY2NvdW50LWJ1dHRvbi1taW4taGVpZ2h0O1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIEBpZiAoJGhlYWRlci1hY2NvdW50LWJ1dHRvbi1mbGV4LWRpcmVjdGlvbikge1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiAkaGVhZGVyLWFjY291bnQtYnV0dG9uLWZsZXgtZGlyZWN0aW9uO1xyXG4gICAgfVxyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGdhcDogMCAkaGVhZGVyLWFjY291bnQtYnV0dG9uLWljb24tZ3V0dGVyO1xyXG4gICAgLy8gRGVmYXVsdCBwYWRkaW5nLlxyXG4gICAgcGFkZGluZzogbWFwLWdldCgkaGVhZGVyLWFjY291bnQtYnV0dG9uLXBhZGRpbmcsIGRlZmF1bHQpO1xyXG4gICAgY29sb3I6ICRkZWZhdWx0LWNvbG91cjtcclxuICAgIEBpZiAoJGRlZmF1bHQtYmFja2dyb3VuZC1jb2xvdXIpIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGVmYXVsdC1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgIH1cclxuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbk91dHJvLCBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uT3V0cm8sIGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAmLmxvZ2dlZC1pbiB7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgbWFwLWdldCgkaGVhZGVyLWFjY291bnQtYnV0dG9uLWJvcmRlci1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgfVxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgY29sb3I6ICRob3Zlci1jb2xvdXI7XHJcbiAgICAgICAgQGlmICgkaG92ZXItYmFja2dyb3VuZC1jb2xvdXIpIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGhvdmVyLWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgICAgIH1cclxuICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGhlYWRlci1hY2NvdW50LWJ1dHRvbi1ib3JkZXItY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uSW50cm8sIGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25JbnRybywgY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRoZWFkZXItdG9nZ2xlLWJhci1idXR0b24tY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgIEBpZiAoJGhvdmVyLWljb24tYmFja2dyb3VuZC1jb2xvdXIpIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRob3Zlci1pY29uLWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm8sIGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgY29sb3I6ICRhY3RpdmUtY29sb3VyO1xyXG4gICAgICAgIEBpZiAoJGFjdGl2ZS1iYWNrZ3JvdW5kLWNvbG91cikge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWN0aXZlLWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgICAgIH1cclxuICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGhlYWRlci1hY2NvdW50LWJ1dHRvbi1ib3JkZXItY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGhlYWRlci10b2dnbGUtYmFyLWJ1dHRvbi1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgIEBpZiAoJGFjdGl2ZS1pY29uLWJhY2tncm91bmQtY29sb3VyKSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWN0aXZlLWljb24tYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogbWFwLWdldCgkYWNjb3VudC1pY29ucywgYWNjb3VudCk7XHJcbiAgICAgICAgQGlmICgkaGVhZGVyLWFjY291bnQtYnV0dG9uLWljb24tbWFyZ2luKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogJGhlYWRlci1hY2NvdW50LWJ1dHRvbi1pY29uLW1hcmdpbjtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmICgkaGVhZGVyLWFjY291bnQtYnV0dG9uLWljb24tcGFkZGluZykge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAkaGVhZGVyLWFjY291bnQtYnV0dG9uLWljb24tcGFkZGluZztcclxuICAgICAgICB9XHJcbiAgICAgICAgZm9udC1mYW1pbHk6IGN1c3RvbS1pY29uLWZhbWlseSgkZm9udEF3ZXNvbWVTb2xpZCwgJHNpdGUtaWNvbnMtY3VzdG9tLWFjY291bnQtaWNvbik7XHJcbiAgICAgICAgZm9udC1zaXplOiAkaGVhZGVyLWFjY291bnQtYnV0dG9uLWljb24tc2l6ZTtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkaGVhZGVyLXRvZ2dsZS1iYXItYnV0dG9uLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgQGlmICgkZGVmYXVsdC1pY29uLWJhY2tncm91bmQtY29sb3VyKSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRkZWZhdWx0LWljb24tYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRoZWFkZXItYWNjb3VudC1idXR0b24taWNvbi1ib3JkZXItcmFkaXVzO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm8sIGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgIH1cclxufVxyXG4vLyAtLS0gTWVudSAtLS0gXHJcbi5hY2NvdW50LW1lbnUge1xyXG4gICAgYSB7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBwYWRkaW5nOiAkYWNjb3VudC1tZW51LWl0ZW0tcGFkZGluZztcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcclxuICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3VyMjtcclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICB9IFxyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0tLSBVU1AgQmFyIC0tLS0tXHJcbi8vIFRPRE86IFdoZW4gdGhpcyBvZmZpY2FsbHkgYmVjb21lcyBhIG1vZHVsZSB0aGlzIHNob3VsZCBiZSBtb3ZlZCBvdXQgb2YgdGhlIGhlYWRlci5zY3NzIGludG8gbW9kdWxlcy5zY3NzXHJcbi51c3AtYmFyLCAuaGVhZGVyLXVzcC1iYXIge1xyXG4gICAgcGFkZGluZzogc21hbGwtdmFsdWUoJHVzcC1iYXItcGFkZGluZyk7XHJcbiAgICBAaWYgJHVzcC1iYWNrZ3JvdW5kLWZ1bGwtd2lkdGgge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHVzcC1pdGVtLWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBwYWRkaW5nOiBsYXJnZS12YWx1ZSgkdXNwLWJhci1wYWRkaW5nKTtcclxuICAgIH1cclxufVxyXG4udXNwLWNvbnRhaW5lciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIC8vIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAvLyBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHVzcC1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAvLyBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgIHBhZGRpbmc6IDAgMTBweDtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICB9XHJcbiAgICAudXNwLWJhbm5lciwgLmNvbGxlY3Rpb24taXRlbSB7XHJcbiAgICAgICAgLS1tZWRpYS1hc3BlY3QtcmF0aW86ICN7JGltYWdlLWNvbGxlY3Rpb24tYXNwZWN0LXJhdGlvfTtcclxuICAgICAgICAkdXNwLWZsZXgtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAvLyBJZiB0ZXh0IGFsaWduIG5vdCA9PSBjZW50ZXIgdGhlbiBhZGp1c3QgZmxleGJveCBhbGlnbm1lbnQuXHJcbiAgICAgICAgQGlmICgkdXNwLWFsaWdubWVudCA9PSBcImxlZnRcIikge1xyXG4gICAgICAgICAgICAkdXNwLWZsZXgtYWxpZ246IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgfSBAZWxzZSBpZiAoJHVzcC1hbGlnbm1lbnQgPT0gXCJyaWdodFwiKSB7XHJcbiAgICAgICAgICAgICR1c3AtZmxleC1hbGlnbjogZmxleC1lbmRcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICAgIH1cclxuICAgICAgICBhLCBweyBcclxuICAgICAgICAgICAgLy9iYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCR1c3AtaXRlbS1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiAkdXNwLXRleHQtdHJhbnNmb3JtO1xyXG4gICAgICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGEsID4gcCB7XHJcbiAgICAgICAgICAgIEBpZiAoJHVzcC1ib3JkZXItd2lkdGgpIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogJHVzcC1ib3JkZXItd2lkdGg7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICR1c3AtYm9yZGVyLWNvbG91cjtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7ICAgXHJcbiAgICAgICAgICAgICAgICBAaWYgc21vb3RoLWVkZ2VzKCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgICAgICAgICAgICAgfSAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBwIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6ICR1c3AtZmxleC1hbGlnbjtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgQGlmICR1c3Atb3JkZXItaW52ZXJ0IHtcclxuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcclxuICAgICAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgcGFkZGluZzogJHVzcC1wYWRkaW5nO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiAkdXNwLWFsaWdubWVudDtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJHVzcC1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgICAgICBmb250LXN0eWxlOiAkdXNwLWZvbnQtc3R5bGU7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHVzcC1mb250LXNpemUpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogJHVzcC1mb250LXdlaWdodDtcclxuICAgICAgICB9XHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgbWF4LWhlaWdodDogMjZweDtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogYXV0bztcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogYXV0bztcclxuICAgICAgICAgICAgQGlmICgkdXNwLWltYWdlLWJhY2tncm91bmQtY29sb3VyKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAkdXNwLWltYWdlLXBhZGRpbmc7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdXNwLWltYWdlLWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpZiAkdXNwLW9yZGVyLWludmVydCB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogJHVzcC1pbWFnZS1ndXR0ZXI7XHJcbiAgICAgICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAkdXNwLWltYWdlLWd1dHRlcjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBhc3BlY3QtcmF0aW86IHZhcigtLW1lZGlhLWFzcGVjdC1yYXRpbywgYXV0byk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBAaWYgJHVzcC1vcmRlci1pbnZlcnQge1xyXG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xyXG4gICAgICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiAkdXNwLWZsZXgtYWxpZ247XHJcbiAgICAgICAgICAgIHBhZGRpbmc6ICR1c3AtcGFkZGluZztcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSwgYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHVzcC1pdGVtLWJhY2tncm91bmQtY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAkdXNwLWhvdmVyLW9wYWNpdHk7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICR0cmFuc2l0aW9uSW50cm8sIGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgIHAge1xyXG4gICAgICAgICAgICAgICAgICAgICRob3Zlci1jb2xvdXI6IG1hcC1nZXQoJHVzcC1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgICAgICAgICBAaWYgJGhvdmVyLWNvbG91ciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkaG92ZXItY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCR1c3AtaXRlbS1iYWNrZ3JvdW5kLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgICAgIHAge1xyXG4gICAgICAgICAgICAgICAgICAgICRhY3RpdmUtY29sb3VyOiBtYXAtZ2V0KCR1c3AtY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICAgICAgICAgIEBpZiAkYWN0aXZlLWNvbG91ciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYWN0aXZlLWNvbG91cjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcCB7XHJcbiAgICAgICAgICAgICAgICAvLyBTdXBwcmVzcyBwYWRkaW5nIGR1ZSB0byBjb250ZW50IGJlaW5nIGluc2lkZSBvZiBhbmNob3IuXHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICAgICAgQGlmICR1c3AtYW5jaG9yLWluZGljYXRvciB7XHJcbiAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGFuY2hvci1pbmRpY2F0b3IpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHVzcC1hbmNob3ItaW5kaWNhdG9yLWNvbG91cjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAkdXNwLWFuY2hvci1pbmRpY2F0b3ItZm9udC1zaXplOyAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IGN1c3RvbS1pY29uLWZhbWlseSgkZm9udEF3ZXNvbWVTb2xpZCwgJHVzcC1hbmNob3ItaW5kaWNhdG9yLWN1c3RvbS1pY29uKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmICgkdXNwLWd1dHRlcikge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAmW2FyaWEtaGlkZGVuPWZhbHNlXSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCAkdXNwLWd1dHRlcjsgXHJcbiAgICAgICAgICAgICAgICAgICAgLy8gVG8gbWFrZSBzdXJlIGNvbnRlbnQgaXMgZmx1c2ggYWdhaW5zdCBjb250YWluZXIuXHJcbiAgICAgICAgICAgICAgICAgICAgJjpmaXJzdC1vZi10eXBlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiAkdXNwLXNlcGVyYXRvciB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcclxuICAgICAgICAgICAgICAgICZbYXJpYS1oaWRkZW49ZmFsc2VdIHtcclxuICAgICAgICAgICAgICAgICAgICYgKyAuY29sbGVjdGlvbi1pdGVtIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IG1hcC1nZXQoJHVzcC1zZXBlcmF0b3ItZGltZW50aW9ucywgd2lkdGgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBtYXAtZ2V0KCR1c3Atc2VwZXJhdG9yLWRpbWVudGlvbnMsIHdpZHRoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogbWFwLWdldCgkdXNwLXNlcGVyYXRvci1kaW1lbnRpb25zLCBoZWlnaHQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR1c3Atc2VwZXJhdG9yLWNvbG91cjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDE7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IFxyXG4gICAgfVxyXG4gICAgLmZhcyB7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0tLSBCcmVhZGNydW1icyAtLS0tLVxyXG4vLyBNYWtlIHN1cmUgdGhlcmUgaXMgYSBnYXAgYmV0d2VlbiB0aGUgaGVhZGVyIHdoZW4gdGhlcmUgaXMgbm8gYnJlYWRjcnVtYiBvciB2YXQgc3dpdGNoZXIgb3RoZXJ3aXNlIHBhZ2UgY29udGVudCB3aWxsIHB1c2ggdXAgYWdhaW5zdCB0aGUgaGVhZGVyLCB0cmVhdCB0aGUgaG9tZXBhZ2UgYXMgYSBzcGVjaWFsIGNhc2UgYXMgaW4gc29tZSBkZXNpZ25zIHdlIGJ1dHQgdGhlIG1vZHVsZXMgcmlnaHQgdXAgYWdhaW5zdHMgdGhlIGhlYWRlci5cclxuYm9keTpub3QoI2hvbWUpIC5oZWFkZXItYnJlYWRjcnVtYnMtY29udGFpbmVyIHtcclxuICAgIG1hcmdpbjogJGJyZWFkY3J1bWItdmF0LXN3aXRjaGVyLWNvbnRhaW5lci1tYXJnaW47XHJcbiAgICAmOm5vdCg6aGFzKC5icmVhZGNydW1icykpIHtcclxuICAgICAgICBwYWRkaW5nOiAkaGVhZGVyLW5vLWJyZWFkY3J1bWJzLXZhdC1zd2l0Y2gtc2hpbTtcclxuICAgIH1cclxufVxyXG5cclxuLy8gVGhpcyBuZWVkcyB0byBiZSBjb25maWd1cmVkIG9uIGEgc2l0ZSBiYXNpcyBhcyBraW5nc2ZpZWxkIGhhcyBubyBVU1AncyArIGRpc2FibGVkIFZBVCBzd2l0Y2ggYW5kIHJlcXVlc3RlZCB0aGF0IHdlIGhhdmUgc29tZSBzcGFjZSBiZXR3ZWVuIHRoZSBoZWFkZXIgYW5kIGZpcnN0IG1vZHVsZSA4NDk0MTIuXHJcbmJvZHkje2lmKCRoZWFkZXItbm8tYnJlYWtjcnVtYnMtdG9nZ2xlLXN3aXRjaC1zaGltLW9uLWhvbWVwYWdlLFwiXCIsXCI6bm90KCNob21lKVwiKX0gLmhlYWRlci1icmVhZGNydW1iLXZhdC1zd2l0Y2hlci1jb250YWluZXIge1xyXG4gICAgJjpub3QoOmhhcyguYnJlYWRjcnVtYnMpKTpub3QoOmhhcyguaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtY29udGFpbmVyKSk6bm90KDpoYXMoLnZhdC1zd2l0Y2hlci1jb250YWluZXIpKSB7XHJcbiAgICAgICAgcGFkZGluZzogJGhlYWRlci1uby1icmVhZGNydW1icy12YXQtc3dpdGNoLXNoaW07XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4uaGVhZGVyLXVzcC1iYXIgKyAjYnJlYWRjcnVtYi12YXQtc3dpdGNoZXItY29udGFpbmVyLCAuaGVhZGVyLXVzcC1iYXIgKyAuaGVhZGVyLWJyZWFkY3J1bWItdmF0LXN3aXRjaGVyLWNvbnRhaW5lciB7XHJcbiAgICAmOmhhcyguYnJlYWRjcnVtYnMpLCAmOmhhcyguaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtY29udGFpbmVyKSB7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XHJcbiAgICB9XHJcbiAgICBwYWRkaW5nLXRvcDogKHNwYWNpbmctdmFsdWUoJGJyZWFkY3J1bWJzLXZhdC1zd2l0Y2hlci1wYWRkaW5nLCAxKSk7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IChzcGFjaW5nLXZhbHVlKCRicmVhZGNydW1icy12YXQtc3dpdGNoZXItcGFkZGluZywgMSwgbGFyZ2UpKTtcclxuICAgIH1cclxufVxyXG5cclxuI2JyZWFkY3J1bWItdmF0LXN3aXRjaGVyLWNvbnRhaW5lciwgLmhlYWRlci1icmVhZGNydW1iLXZhdC1zd2l0Y2hlci1jb250YWluZXIge1xyXG4gICAgLnZhdC1zd2l0Y2hlci1jb250YWluZXIsIC5icmVhZGNydW1icywgLmhlYWRlci10b2dnbGUtc3dpdGNoLWNvbnRhaW5lciB7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IHNwYWNpbmctdmFsdWUoJGJyZWFkY3J1bWJzLXZhdC1zd2l0Y2hlci1wYWRkaW5nLCAxKTtcclxuICAgICAgICAvL3BhZGRpbmctYm90dG9tOiBzbWFsbC12YWx1ZSgkYnJlYWRjcnVtYnMtdmF0LXN3aXRjaGVyLXBhZGRpbmcpO1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiBzcGFjaW5nLXZhbHVlKCRicmVhZGNydW1icy12YXQtc3dpdGNoZXItcGFkZGluZywgMyk7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogc3BhY2luZy12YWx1ZSgkYnJlYWRjcnVtYnMtdmF0LXN3aXRjaGVyLXBhZGRpbmcsIDEsIGxhcmdlKTtcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IHNwYWNpbmctdmFsdWUoJGJyZWFkY3J1bWJzLXZhdC1zd2l0Y2hlci1wYWRkaW5nLCAzLCBsYXJnZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmJyZWFkY3J1bWJzIHtcclxuICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgIC8vIFNldHRpbmcgZGlzcGxheSBzdHlsZSBmbGV4IHRvIGF0dGVtcHQgdG8gY2VudGVyaXNlIHRoZSBzZXBlcmF0b3IvbGV2ZWwgaWNvbnMuXHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIC8vIFN3aXRjaGVkIGZyb20gYmFzZWxpbmUgdG8gY2VudGVyIGZvciBraW5nc3dvb2QgcHJvamVjdCA4NDI1MzksIHRoaXMgbWlnaHQgbmVlZCB0byBiZSByZXZlcnRlZC5cclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgbWFyZ2luOiAyLjVweCAwO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmdyaWQtY29udGFpbmVyIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIG9ubHkpIHtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4uYnJlYWRjcnVtYnMge1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIGEge1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRicmVhZGNydW1icy1hbmNob3ItZm9udC1zaXplKTtcclxuICAgICAgICBmb250LXdlaWdodDogJGJyZWFkY3J1bWJzLWFuY2hvci1mb250LXdlaWdodDtcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgY29sb3I6IGhvdmVyLWNvbG91cigkYnJlYWRjcnVtYnMtYW5jaG9yLWNvbG91cik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgc3BhbiB7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkYnJlYWRjcnVtYnMtYW5jaG9yLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRicmVhZGNydW1icy1hY3RpdmUtZm9udC13ZWlnaHQ7XHJcbiAgICB9XHJcbiAgICBsaSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgLy8gT3ZlcnJpZGluZyBmb3VuZGF0aW9uLlxyXG4gICAgICAgICAgICBtYXJnaW46ICRicmVhZGNydW1icy1zZXBlcmF0b3ItbWFyZ2luICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIC8vIEFkZGluZyBwYWRkaW5nLXRvcCBhcyB3ZSdyZSAxcHggb2ZmIHZlcnRpY2FsIGNlbnRlci5cclxuICAgICAgICAgICAgcGFkZGluZy10b3A6ICgkYnJlYWRjcnVtYnMtc2VwZXJhdG9yLXNoaW0gLyAyKTtcclxuICAgICAgICAgICAgQGlmICRicmVhZGNydW1icy1zZXBlcmF0b3ItbGluZS1oZWlnaHQge1xyXG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRicmVhZGNydW1icy1zZXBlcmF0b3ItbGluZS1oZWlnaHQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6IGN1c3RvbS1pY29uLWZhbWlseSgkZm9udEF3ZXNvbWVTb2xpZCwgJHNpdGUtaWNvbnMtY3VzdG9tLWNoZXZyb25zKTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAkYnJlYWRjcnVtYnMtc2VwZXJhdG9yLXNpemU7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAkYnJlYWRjcnVtYnMtc2VwZXJhdG9yLXNoaW07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi50b2dnbGUtc3dpdGNoLWxhYmVsLWNvbnRhaW5lciB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgIHNwYW4ge1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCR2YXQtc3dpdGNoZXItZm9udC1zaXplKTtcclxuICAgICAgICBjb2xvcjogJGNvbG91cjI7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vLS0tIFZBVCBTd2l0Y2hlciAvIEhlYWRlciB0b2dnbGUgc3dpdGNoIC0tLVxyXG4vLyBUaGlzIHdhcyByZWZhY3RvcmVkIGludG8gXCIgaGVhZGVyLXRvZ2dsZS1zd2l0Y2ggXCIgZm9yIHRoZSBkb2N1bWVudGF0aW9uIGRlc2lnbiB0byBhbGxvdyBmb3IgZGlmZmVyZW50IGNvbG91ciBjb2RpbmcgdG8gYmUgZGVmaW5lZC5cclxuLnZhdC1zd2l0Y2hlci1jb250YWluZXIsIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1jb250YWluZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgZ2FwOiAkdmF0LXN3aXRjaGVyLWluZGljYXRvci1nYXA7XHJcbiAgICBAaWYgKCR2YXQtc3dpdGNoZXItY29udGFpbmVyLWJhY2tncm91bmQtY29sb3VyKSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHZhdC1zd2l0Y2hlci1jb250YWluZXItYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gU3BlY2lmaWMgc3R5bGVzLlxyXG4gICAgJi52YXQtc3dpdGNoZXIge1xyXG4gICAgICAgICYuaW5jbHVzaXZlLCAmLm9mZiB7XHJcbiAgICAgICAgICAgIC52YXQtc3dpdGNoZXItcGFkZGxlLCAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtcGFkZGxlICB7XHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkdmF0LXN3aXRjaGVyLXBhZGRsZS1jb2xvdXIsIGluY2x1c2l2ZSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5leGNsdXNpdmUsICYub24ge1xyXG4gICAgICAgICAgICAudmF0LXN3aXRjaGVyLXBhZGRsZSwgLmhlYWRlci10b2dnbGUtc3dpdGNoLXBhZGRsZSAge1xyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHZhdC1zd2l0Y2hlci1wYWRkbGUtY29sb3VyLCBleGNsdXNpdmUpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYuZWRpdC1tb2RlIHtcclxuICAgICAgICAmLm9mZiB7XHJcbiAgICAgICAgICAgIC52YXQtc3dpdGNoZXItcGFkZGxlLCAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtcGFkZGxlICB7XHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5vbiB7XHJcbiAgICAgICAgICAgIC52YXQtc3dpdGNoZXItcGFkZGxlLCAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtcGFkZGxlICB7XHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjY7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgXHJcbiAgICAvLyBDb21tb24uXHJcbiAgICAmLmluY2x1c2l2ZSwgJi5vZmYge1xyXG4gICAgICAgIEBpZiAkdmF0LWhpZ2hsaWdodGVkLWFjdGl2ZS1sYWJlbCB7XHJcbiAgICAgICAgICAgIHA6bGFzdC1vZi10eXBlIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCR2YXQtc3dpdGNoZXItY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJHZhdC1zd2l0Y2hlci1mb250LXdlaWdodCwgYWN0aXZlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAudmF0LXN3aXRjaGVyLXBhZGRsZSwgLmhlYWRlci10b2dnbGUtc3dpdGNoLXBhZGRsZSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICgkdmF0LXN3aXRjaGVyLWluZGljYXRvci1kaW1lbnRpb25zIC0gMik7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIHJpZ2h0OiA1cHg7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuc3dpdGNoLWV4YyB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5zd2l0Y2gge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCR2YXQtc3dpdGNoZXItYmFja2dyb3VuZC1jb2xvdXIsIGluY2x1c2l2ZSk7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkdmF0LXN3aXRjaGVyLWJvcmRlci1jb2xvdXIsIGluY2x1c2l2ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5leGNsdXNpdmUsICYub24ge1xyXG4gICAgICAgIC8vIFNob3cgYWN0aXZlIGZvbnQtd2VpZ2h0IGFuZCBjb2xvdXIgaWYgYWN0aXZlLCBub3QgdG8gYmUgY29uZnVzZWQgd2l0aCBjbGljayBhY3RpdmUgc3RhdGUuXHJcbiAgICAgICAgQGlmICR2YXQtaGlnaGxpZ2h0ZWQtYWN0aXZlLWxhYmVsIHtcclxuICAgICAgICAgICAgcDpmaXJzdC1vZi10eXBlIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCR2YXQtc3dpdGNoZXItY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJHZhdC1zd2l0Y2hlci1mb250LXdlaWdodCwgYWN0aXZlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAudmF0LXN3aXRjaGVyLXBhZGRsZSwgLmhlYWRlci10b2dnbGUtc3dpdGNoLXBhZGRsZSAge1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICgkdmF0LXN3aXRjaGVyLWluZGljYXRvci1kaW1lbnRpb25zICsgNSk7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IDVweDtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIzLTY7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLnN3aXRjaC1pbmMge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuc3dpdGNoIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkdmF0LXN3aXRjaGVyLWJhY2tncm91bmQtY29sb3VyLCBleGNsdXNpdmUpO1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJHZhdC1zd2l0Y2hlci1ib3JkZXItY29sb3VyLCBleGNsdXNpdmUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5zd2l0Y2gge1xyXG4gICAgICAgIHdpZHRoOiAkdmF0LXN3aXRjaGVyLWluZGljYXRvci1kaW1lbnRpb25zO1xyXG4gICAgICAgIGhlaWdodDogKCR2YXQtc3dpdGNoZXItaW5kaWNhdG9yLWRpbWVudGlvbnMgLyAyLjEpO1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBib3JkZXItd2lkdGg6ICR2YXQtc3dpdGNoZXItaW5kaWNhdG9yLWJvcmRlci13aWR0aDtcclxuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygkdmF0LXN3aXRjaGVyLWluZGljYXRvci1ib3JkZXItcmFkaXVzKTtcclxuICAgICAgICBsaW5lLWhlaWdodDogMDtcclxuICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgJHRyYW5zaXRpb25PdXRybywgYm94LXNoYWRvdyAkdHJhbnNpdGlvbk91dHJvLCBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6ICRib3hTaGFkb3cxO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgJHRyYW5zaXRpb25JbnRybywgYm94LXNoYWRvdyAkdHJhbnNpdGlvbkludHJvLCBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnZhdC1zd2l0Y2hlci1wYWRkbGUsIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1wYWRkbGUge1xyXG4gICAgICAgIG1pbi13aWR0aDogKCR2YXQtc3dpdGNoZXItaW5kaWNhdG9yLWRpbWVudGlvbnMgLyAyLjMpO1xyXG4gICAgICAgIGhlaWdodDogKCR2YXQtc3dpdGNoZXItaW5kaWNhdG9yLWRpbWVudGlvbnMgLyAyLjMpO1xyXG4gICAgICAgIC8vIFN1cHByZXNldHRpbmcgYXMgdGhpcyB3YXMgY2F1c2luZyB2ZXJ0aWNhbCBhbGlnbm1lbnQgaXNzdWVzIGZvciBtYWNPUyB1c2Vycy5cclxuICAgICAgICAvLyBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgIHdpZHRoOiAoJHZhdC1zd2l0Y2hlci1pbmRpY2F0b3ItZGltZW50aW9ucyAvIDQuMik7XHJcbiAgICAgICAgICAgIGhlaWdodDogKCR2YXQtc3dpdGNoZXItaW5kaWNhdG9yLWRpbWVudGlvbnMgLyA0LjIpO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoJHZhdC1zd2l0Y2hlci1pbmRpY2F0b3ItYm9yZGVyLXJhZGl1cyk7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5zd2l0Y2gtZXhjLCAuc3dpdGNoLWluYyB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyO1xyXG4gICAgfVxyXG4gICAgLnN3aXRjaC1leGMge1xyXG4gICAgICAgIHJpZ2h0OiA3cHg7XHJcbiAgICB9XHJcbiAgICAuc3dpdGNoLWluYyB7XHJcbiAgICAgICAgbGVmdDogNXB4O1xyXG4gICAgfVxyXG4gICAgLnN3aXRjaC1pbnB1dCB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICB9XHJcbiAgICBwIHtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJHZhdC1zd2l0Y2hlci1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHZhdC1zd2l0Y2hlci1mb250LXNpemUpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCR2YXQtc3dpdGNoZXItZm9udC13ZWlnaHQsIGRlZmF1bHQpO1xyXG4gICAgfVxyXG4gICAgbGFiZWwge1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkdmF0LXN3aXRjaGVyLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCR2YXQtc3dpdGNoZXItZm9udC13ZWlnaHQsIGRlZmF1bHQpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIi8qXHJcbi0tLS0tIEZvb3RlciAtLS0tLVxyXG5IYW5kbGVzIHRoZSBmb2xsb3dpbmc6IFxyXG4tIEZvb3RlciBtZW51ICggYWxzbyByZWZlciB0byBheGlzLW1lbnVzLnNjc3MgKVxyXG4tIFByb21vdGlvbiBhcmVhOlxyXG4gIC0gU29jaWFsIEljb25zXHJcbiAgLSBNYWlsaW5nIExpc3RcclxuICAtIENtcyBlbnRyaWVzXHJcbi0gRm9vdGVyIEJhbm5lcnMgKCBQYXltZW50IG1ldGhvZCBsb2dvcyApXHJcbi0gQ29weXJpZ2h0XHJcbi0gR29vZ2xlIFRhZyBNYW5hZ2VyIGZvb3RlciB3aWRnZXQgYXJlYVxyXG4tIEZvb3RlciBNb2R1bGVzICggYWxzbyByZWZlciB0byBtb2R1bGVzLnNjc3MgKVxyXG4qL1xyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5mb290ZXIge1xyXG4gICAgLy8gRm9vdGVyIGNvbG91cnMgcHJlLXByb2Nlc3NpbmcuXHJcbiAgICAkYmFja2dyb3VuZC1jb2xvdXI6ICRmb290ZXItb3V0ZXItY29udGFpbmVyLWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgLy8gRGVmYXVsdFxyXG4gICAgJG1lbnUtaWNvbi1jb2xvdXI6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkZm9vdGVyLW1lbnUtaWNvbi1jb2xvdXIsIGRlZmF1bHQpLCAkYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgLy8gSG92ZXJcclxuICAgICRtZW51LWhvdmVyLWljb24tY29sb3VyOiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJGZvb3Rlci1tZW51LWljb24tY29sb3VyLCBob3ZlciksICRiYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAvLyBBY3RpdmVcclxuICAgICRtZW51LWFjdGl2ZS1pY29uLWNvbG91cjogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRmb290ZXItbWVudS1pY29uLWNvbG91ciwgYWN0aXZlKSwgJGJhY2tncm91bmQtY29sb3VyKTtcclxuXHJcbiAgICBAaWYgbm90ICRmb290ZXItYmFja2dyb3VuZCBhbmQgbm90ICRmb290ZXItYmFja2dyb3VuZC10b3Age1xyXG4gICAgICAgIG1hcmdpbi10b3A6ICgkZm9vdGVyLW1hcmdpbi10b3AgLyAyKTtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBAaWYgbm90ICRmb290ZXItYmFja2dyb3VuZCBhbmQgbm90ICRmb290ZXItYmFja2dyb3VuZC10b3Age1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAkZm9vdGVyLW1hcmdpbi10b3A7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBpZiAoJGZvb3Rlci1zZXBlcmF0b3IpIHtcclxuICAgICAgICAmOiN7aWYoJGZvb3Rlci1zZXBlcmF0b3ItdG9wLCBiZWZvcmUsIGFmdGVyKX0ge1xyXG4gICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGhlaWdodDogJGZvb3Rlci1zZXBlcmF0b3ItaGVpZ2h0O1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGZvb3Rlci1zZXBlcmF0b3ItYmFja2dyb3VuZC1jb2xvdXI7XHJcblxyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJGZvb3Rlci1zZXBlcmF0b3ItYmFja2dyb3VuZC1pbWFnZSk7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnJvdy1iYWNrZ3JvdW5kIHtcclxuICAgICAgICAmOmZpcnN0LW9mLXR5cGUge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAkZm9vdGVyLW1hcmdpbi10b3A7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gVE9ETzogVGhlIHNvY2lhbEljb25zIHByb3BlcnRpZXMgY2FuIGdvIG9uY2Ugd2UgZ28gd2l0aCB1c2luZyBmb250YXdlc29tZSdzIGdseXBocywgeW91IG1heSBuZWVkIHRvIHVudGFuZ2xlIHNvbWUgb2YgdGhlc2Ugb3B0aW9ucyB0byBtYWtlIHN1cmUgdGhleSdyZSBhbGwgYmVpbmcgYXBwbGllZCBpbiB0aGUgLmZvb3RlciBjbGFzcyBpbiBheGlzLXNvY2lhbC1tZWRpYS1pY29ucy5zY3NzXHJcbiAgICAuc29jaWFsSWNvbnMsIC5zb2NpYWwtaWNvbnMge1xyXG4gICAgICAgIEBpZiAoc21hbGwtdmFsdWUoJGZvb3Rlci1zb2NpYWwtaWNvbnMtbWF4LXdpZHRoKSkge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IHNtYWxsLXZhbHVlKCRmb290ZXItc29jaWFsLWljb25zLW1heC13aWR0aCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgbWFyZ2luOiBzbWFsbC12YWx1ZSgkZm9vdGVyLXNvY2lhbC1pY29ucy1tYXJnaW4pO1xyXG4gICAgICAgIHBhZGRpbmc6IHNtYWxsLXZhbHVlKCRmb290ZXItc29jaWFsLWljb25zLXBhZGRpbmcpO1xyXG4gICAgICAgIEBpZiBub3QgKCRzdXBwcmVzcy1mb290ZXItbWVudS1pdGVtLXNlcGVyYXRvcnMpIHtcclxuICAgICAgICAgICAgQGlmIG5vdCAoJGZvb3Rlci1zb2NpYWwtc3VwcHJlc3MtY29udGFpbmVyLXNlcGVyYXRvcikge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvdXIzLTI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBAaWYgKGxhcmdlLXZhbHVlKCRmb290ZXItc29jaWFsLWljb25zLW1heC13aWR0aCkpIHtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogbGFyZ2UtdmFsdWUoJGZvb3Rlci1zb2NpYWwtaWNvbnMtbWF4LXdpZHRoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiAkZm9vdGVyLXNvY2lhbC1pY29ucy1hbGlnbi1pdGVtcztcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiAkZm9vdGVyLXNvY2lhbC1pY29ucy1qdXN0aWZ5O1xyXG4gICAgICAgICAgICBtYXJnaW46IGxhcmdlLXZhbHVlKCRmb290ZXItc29jaWFsLWljb25zLW1hcmdpbik7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IGxhcmdlLXZhbHVlKCRmb290ZXItc29jaWFsLWljb25zLXBhZGRpbmcpO1xyXG4gICAgICAgICAgICBib3JkZXI6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGgzIHtcclxuICAgICAgICAgICAgJjpub3QoOmVtcHR5KSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogc21hbGwtdmFsdWUoJGZvb3Rlci1zb2NpYWwtaWNvbnMtaGVhZGVyLW1hcmdpbik7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGZvb3Rlci1zb2NpYWwtaWNvbnMtaGVhZGluZy1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRmb290ZXItc29jaWFsLWljb25zLWhlYWRpbmctZm9udC1zaXplKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9vdGVyLXNvY2lhbC1pY29ucy1oZWFkaW5nLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRmb290ZXItcGFyZW50LXRleHQtdHJhbnNmb3JtO1xyXG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiBsYXJnZS12YWx1ZSgkZm9vdGVyLXNvY2lhbC1pY29ucy1oZWFkZXItbWFyZ2luKTtcclxuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiAkZm9vdGVyLXNvY2lhbC1pY29ucy1oZWFkZXItYWxpZ25tZW50O1xyXG4gICAgICAgICAgICAgICAgfSBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiAkZm9vdGVyLXNvY2lhbC1pY29ucy1idXR0b24tZGltZW50aW9ucztcclxuICAgICAgICAgICAgd2lkdGg6ICRmb290ZXItc29jaWFsLWljb25zLWJ1dHRvbi1kaW1lbnRpb25zO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIEBpZiBub3QgKCRmb290ZXItc29jaWFsLWljb25zLXN1cHByZXNzLWJhY2tncm91bmQpIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygkZm9vdGVyLXNvY2lhbC1pY29ucy1ib3JkZXItcmFkaXVzKTtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHNvY2lhbC1pY29ucy1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgbWFwLWdldCgkc29jaWFsLWljb25zLWJvcmRlci1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRzb2NpYWwtaWNvbnMtYmFja2dyb3VuZC1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkc29jaWFsLWljb25zLWJvcmRlci1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6ICRmb290ZXItc29jaWFsLWljb25zLWhvdmVyLW9wYWNpdHk7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkc29jaWFsLWljb25zLWJhY2tncm91bmQtY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRzb2NpYWwtaWNvbnMtYm9yZGVyLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6ICRmb290ZXItc29jaWFsLWljb24tZGltZW50aW9ucztcclxuICAgICAgICB9XHJcbiAgICAgICAgLmljb25zLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBAaWYgKCRmb290ZXItY29udGVudC1jZW50ZXJhbGlzZSkge1xyXG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZ2FwOiA4cHg7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogJGZvb3Rlci1zb2NpYWwtaWNvbnMtanVzdGlmeTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIFVzZWQgZm9yIGFueSB0ZXh0ZGIgZW50cmllcyBpbiB0aGUgZm9vdGVyLlxyXG4gICAgLmNtcy1jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgbWFyZ2luOiAkZm9vdGVyLWNtcy1tYXJnaW47XHJcbiAgICAgICAgcGFkZGluZzogc21hbGwtdmFsdWUoJGZvb3Rlci1jbXMtcGFkZGluZyk7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBsYXJnZS12YWx1ZSgkZm9vdGVyLWNtcy1wYWRkaW5nKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcCB7XHJcbiAgICAgICAgICAgIGNvbG9yOiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJGZvb3Rlci1saXN0LWNoaWxkLWl0ZW0tY29sb3VyLCBkZWZhdWx0KSwgJGZvb3Rlci1vdXRlci1jb250YWluZXItYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRmb290ZXItY21zLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9vdGVyLWNoaWxkLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJGZvb3Rlci1saXN0LWNoaWxkLXRleHQtdHJhbnNmb3JtO1xyXG4gICAgICAgICAgICBAaWYgJGZvb3Rlci1jbXMtbGluZS1oZWlnaHQge1xyXG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRmb290ZXItY21zLWxpbmUtaGVpZ2h0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYgKyBwIHtcclxuICAgICAgICAgICAgICAgIEBpZiAoJGZvb3Rlci1jbXMtY29udGFpbmVyLXBhcmFncmFwaC1tYXJnaW4gPT0gMCkge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5mb290ZXItYmFja2dyb3VuZCB7XHJcbiAgICAgICAgLmNtcy1jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGlmKCRmb290ZXItY29udGVudC1jZW50ZXJhbGlzZSwgY2VudGVyLCBsZWZ0KTtcclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRmb290ZXItY21zLWFuY2hvci1jb2xvdXIsIGRlZmF1bHQpLCAkZm9vdGVyLW91dGVyLWNvbnRhaW5lci1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRmb290ZXItY21zLWFuY2hvci1mb250LXNpemUpO1xyXG4gICAgICAgICAgICAgICAgQGlmICgkZm9vdGVyLWNtcy1hbmNob3ItZm9udC13ZWlnaHQpIHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJGZvb3Rlci1jbXMtYW5jaG9yLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkZm9vdGVyLWNtcy1hbmNob3ItY29sb3VyLCBob3ZlciksICRmb290ZXItb3V0ZXItY29udGFpbmVyLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb290ZXItY21zLWFuY2hvci1pY29uLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRmb290ZXItY21zLWFuY2hvci1jb2xvdXIsIGFjdGl2ZSksICRmb290ZXItb3V0ZXItY29udGFpbmVyLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb290ZXItY21zLWFuY2hvci1pY29uLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmLnNob3ctY29udGFjdC1pY29uIHtcclxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb290ZXItY21zLWFuY2hvci1pY29uLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXI6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvb3Rlci1jbXMtYW5jaG9yLWljb24tY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICY6YWN0aXZlOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb290ZXItY21zLWFuY2hvci1pY29uLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAaWYgKCRzdXBwcmVzcy1mb290ZXItbWVudS1pdGVtLXNlcGVyYXRvcnMpIHtcclxuICAgICAgICB1bC5tZW51IHtcclxuICAgICAgICAgICAgPiBsaSB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyBDb250cm9scyBob3cgZmFyIHRoZSBmb290ZXIgY29udGVudCBzaG91bGQgc3Bhbi5cclxuLmZvb3Rlci1ncmlkLWNvbnRhaW5lciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIG1hcmdpbjogYXV0bztcclxuICAgIEBpZiAoc21hbGwtdmFsdWUoJGZvb3Rlci1ncmlkLXBhZGRpbmcpKSB7XHJcbiAgICAgICAgcGFkZGluZzogc21hbGwtdmFsdWUoJGZvb3Rlci1ncmlkLXBhZGRpbmcpO1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICBAaWYgKG1lZGl1bS12YWx1ZSgkZm9vdGVyLWdyaWQtcGFkZGluZykpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogbWVkaXVtLXZhbHVlKCRmb290ZXItZ3JpZC1wYWRkaW5nKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAkZm9vdGVyLWdyaWQtd2lkdGg7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICBAaWYgKCRmb290ZXItY29udGVudC1jZW50ZXJhbGlzZSkge1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmIChsYXJnZS12YWx1ZSgkZm9vdGVyLWdyaWQtcGFkZGluZykpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogbGFyZ2UtdmFsdWUoJGZvb3Rlci1ncmlkLXBhZGRpbmcpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmZvb3Rlci1jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICBAaWYgJGZvb3Rlci1jb250ZW50LXNlcGVyYXRvci1ib3R0b20gb3IgJGZvb3Rlci1jb250ZW50LXNlcGVyYXRvci10b3Age1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBtYXJnaW46ICRmb290ZXItY29udGVudC1zZXBlcmF0b3ItbWFyZ2luO1xyXG4gICAgfVxyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBzbWFsbC12YWx1ZSgkZm9vdGVyLWNvbnRlbnQtZmxleC1kaXJlY3Rpb24pO1xyXG4gICAgZmxleC1ncm93OiAxO1xyXG4gICAgQGlmIChzbWFsbC12YWx1ZSgkZm9vdGVyLWNvbnRlbnQtanVzdGlmeS1jb250ZW50KSkge1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogc21hbGwtdmFsdWUoJGZvb3Rlci1jb250ZW50LWp1c3RpZnktY29udGVudCk7XHJcbiAgICB9XHJcbiAgICBAaWYgKHNtYWxsLXZhbHVlKCRmb290ZXItaW5uZXItY29udGFpbmVyLXBhZGRpbmcpKSB7XHJcbiAgICAgICAgcGFkZGluZzogc21hbGwtdmFsdWUoJGZvb3Rlci1pbm5lci1jb250YWluZXItcGFkZGluZyk7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgIFxyXG4gICAgICAgIEBpZiAobWVkaXVtLXZhbHVlKCRmb290ZXItY29udGVudC1qdXN0aWZ5LWNvbnRlbnQpKSB7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogbWVkaXVtLXZhbHVlKCRmb290ZXItY29udGVudC1qdXN0aWZ5LWNvbnRlbnQpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogbGFyZ2UtdmFsdWUoJGZvb3Rlci1jb250ZW50LWZsZXgtZGlyZWN0aW9uKTtcclxuICAgICAgICBAaWYgKGxhcmdlLXZhbHVlKCRmb290ZXItY29udGVudC1qdXN0aWZ5LWNvbnRlbnQpKSB7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogbGFyZ2UtdmFsdWUoJGZvb3Rlci1jb250ZW50LWp1c3RpZnktY29udGVudCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiAobGFyZ2UtdmFsdWUoJGZvb3Rlci1pbm5lci1jb250YWluZXItcGFkZGluZykpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogbGFyZ2UtdmFsdWUoJGZvb3Rlci1pbm5lci1jb250YWluZXItcGFkZGluZyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGlmICRmb290ZXItY29udGVudC1zZXBlcmF0b3ItYm90dG9tIHtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICB3aWR0aDogJGZvb3Rlci1jb250ZW50LXNlcGVyYXRvci13aWR0aDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAkZm9vdGVyLWNvbnRlbnQtc2VwZXJhdG9yLWhlaWdodDtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9vdGVyLXNlcnBlcmF0b3ItY29sb3VyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBpZiAkZm9vdGVyLWNvbnRlbnQtc2VwZXJhdG9yLXRvcCB7XHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICB3aWR0aDogJGZvb3Rlci1jb250ZW50LXNlcGVyYXRvci13aWR0aDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAkZm9vdGVyLWNvbnRlbnQtc2VwZXJhdG9yLWhlaWdodDtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9vdGVyLXNlcnBlcmF0b3ItY29sb3VyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gQmFubmVyIHNlcmllcyBmb3IgdGhpbmdzIGxpa2UgYWNjZXB0ZWQgcGF5bWVudCBtZXRob2RzIG9yIGltYWdlKHMpIHRoYXQgc2l0IGFib3V0IHRoZSBmb290ZXIgY29udGVudC5cclxuLmZvb3Rlci1iYW5uZXItc2VyaWVzLWNvbnRhaW5lciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAmLmNvbnRlbnQtaGVhZGVyIHtcclxuICAgICAgICBAaWYgKCRmb290ZXItYmFubmVycy1jb250YWluZXItY29udGVudC1oZWFkZXItYmFja2dyb3VuZC1jb2xvdXIpIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGZvb3Rlci1iYW5uZXJzLWNvbnRhaW5lci1jb250ZW50LWhlYWRlci1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmZvb3Rlci1iYW5uZXItc2VyaWVzIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xyXG4gICAgICAgICAgICBtYXJnaW46IHNtYWxsLXZhbHVlKCRmb290ZXItYmFubmVycy1jb250YWluZXItY29udGVudC1oZWFkZXItbWFyZ2luKTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiBsYXJnZS12YWx1ZSgkZm9vdGVyLWJhbm5lcnMtY29udGFpbmVyLWNvbnRlbnQtaGVhZGVyLW1hcmdpbik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLnBheW1lbnQtbWV0aG9kcyB7XHJcbiAgICAgICAgbWFyZ2luOiBzbWFsbC12YWx1ZSgkZm9vdGVyLWJhbm5lcnMtY29udGFpbmVyLXBheW1lbnQtbWV0aG9kcy1tYXJnaW4pO1xyXG4gICAgICAgIEBpZiAoc21hbGwtdmFsdWUoJGZvb3Rlci1iYW5uZXJzLXBheW1lbnQtbWV0aG9kcy1wYWRkaW5nKSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBzbWFsbC12YWx1ZSgkZm9vdGVyLWJhbm5lcnMtcGF5bWVudC1tZXRob2RzLXBhZGRpbmcpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgKCRmb290ZXItYmFubmVycy1wYXltZW50LW1ldGhvZHMtYm9yZGVyKSB7XHJcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogJGZvb3Rlci1iYW5uZXJzLXBheW1lbnQtbWV0aG9kcy1ib3JkZXItd2lkdGg7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGZvb3Rlci1iYW5uZXJzLXBheW1lbnQtbWV0aG9kcy1ib3JkZXItY29sb3VyO1xyXG4gICAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogbGFyZ2UtdmFsdWUoJGZvb3Rlci1iYW5uZXJzLWNvbnRhaW5lci1wYXltZW50LW1ldGhvZHMtbWFyZ2luKTtcclxuICAgICAgICAgICAgQGlmIChsYXJnZS12YWx1ZSgkZm9vdGVyLWJhbm5lcnMtcGF5bWVudC1tZXRob2RzLXBhZGRpbmcpKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiBsYXJnZS12YWx1ZSgkZm9vdGVyLWJhbm5lcnMtcGF5bWVudC1tZXRob2RzLXBhZGRpbmcpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5mb290ZXItYmFubmVyLXNlcmllcyB7XHJcbiAgICAgICAgICAgIEBpZiAoc21hbGwtdmFsdWUoJGZvb3Rlci1iYW5uZXJzLXBheW1lbnQtbWV0aG9kcy1iYW5uZXJzLWdhcCkpIHtcclxuICAgICAgICAgICAgICAgIGdhcDogc21hbGwtdmFsdWUoJGZvb3Rlci1iYW5uZXJzLXBheW1lbnQtbWV0aG9kcy1iYW5uZXJzLWdhcCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGlmIChzbWFsbC12YWx1ZSgkZm9vdGVyLWJhbm5lcnMtcGF5bWVudC1tZXRob2RzLW1hcmdpbikpIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogc21hbGwtdmFsdWUoJGZvb3Rlci1iYW5uZXJzLXBheW1lbnQtbWV0aG9kcy1tYXJnaW4pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIEBpZiAobGFyZ2UtdmFsdWUoJGZvb3Rlci1iYW5uZXJzLXBheW1lbnQtbWV0aG9kcy1iYW5uZXJzLWdhcCkpIHtcclxuICAgICAgICAgICAgICAgICAgICBnYXA6IGxhcmdlLXZhbHVlKCRmb290ZXItYmFubmVycy1wYXltZW50LW1ldGhvZHMtYmFubmVycy1nYXApO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgQGlmIChsYXJnZS12YWx1ZSgkZm9vdGVyLWJhbm5lcnMtcGF5bWVudC1tZXRob2RzLW1hcmdpbikpIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IGxhcmdlLXZhbHVlKCRmb290ZXItYmFubmVycy1wYXltZW50LW1ldGhvZHMtbWFyZ2luKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuaW1hZ2Uge1xyXG4gICAgICAgICAgICAgICAgQGlmIChzbWFsbC12YWx1ZSgkZm9vdGVyLWJhbm5lcnMtcGF5bWVudC1tZXRob2RzLWJhbm5lcnMtZ2FwKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IGNhbGMoNTAlIC0gI3tzcGFjaW5nLXZhbHVlKHNtYWxsLXZhbHVlKCRmb290ZXItYmFubmVycy1wYXltZW50LW1ldGhvZHMtYmFubmVycy1nYXApLCAyKX0pO1xyXG4gICAgICAgICAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gRE9OVCBkbyB0aGlzIGl0cyBraWxscyB0aGUgbGF5b3V0IGluIG1vYmlsZSBmb3Igc3RhbmRhcmQgZm9vdGVyLlxyXG4gICAgICAgICAgICAgICAgICAgIC8vIGZsZXgtYmFzaXM6IGNhbGMoNTAlIC0gI3tzbWFsbC12YWx1ZShzcGFjaW5nLXZhbHVlKCRmb290ZXItYmFubmVycy1nYXAsIDIpKX0pO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IGZpdC1jb250ZW50O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJiArIC5mb290ZXItYmFja2dyb3VuZCB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgIH1cclxuICAgIC5mb290ZXItYmFubmVyLXNlcmllcyB7XHJcbiAgICAgICAgLS1tZWRpYS1hc3BlY3QtcmF0aW86ICN7JGltYWdlLWNvbGxlY3Rpb24tYXNwZWN0LXJhdGlvfTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICBAaWYgKHNtYWxsLXZhbHVlKCRmb290ZXItYmFubmVycy1qdXN0aWZ5LWNvbnRlbnQpKSB7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc21hbGwtdmFsdWUoJGZvb3Rlci1iYW5uZXJzLWp1c3RpZnktY29udGVudCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGdhcDogc21hbGwtdmFsdWUoJGZvb3Rlci1iYW5uZXJzLWdhcCk7XHJcbiAgICAgICAgbWFyZ2luOiBzbWFsbC12YWx1ZSgkZm9vdGVyLWJhbm5lcnMtbWFyZ2luKTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIEBpZiBsYXJnZS12YWx1ZSgkZm9vdGVyLWJhbm5lcnMtanVzdGlmeS1jb250ZW50KSB7XHJcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGxhcmdlLXZhbHVlKCRmb290ZXItYmFubmVycy1qdXN0aWZ5LWNvbnRlbnQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGdhcDogbGFyZ2UtdmFsdWUoJGZvb3Rlci1iYW5uZXJzLWdhcCk7XHJcbiAgICAgICAgICAgIG1hcmdpbjogbGFyZ2UtdmFsdWUoJGZvb3Rlci1iYW5uZXJzLW1hcmdpbik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogLjY7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmltYWdlIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGZpdC1jb250ZW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyBGb290ZXIgY29weXJpZ2h0LlxyXG4uY29weXJpZ2h0LW91dGVyLWNvbnRhaW5lciB7XHJcblxyXG4gICAgLy8gQ29udHJhY3QgY2hlY2tlci5cclxuICAgIC8vIERlY2lkZSB0aGUgYmFja2dyb3VuZCBjb2xvdXIsIGlmIHRoZSBjb3B5cmlnaHQgY29udGFpbmVyIGRvZXNuJ3Qgc3BlY2lmaWNhbGx5IHNwZWNpZnkgYSBiYWNrZ3JvdW5kIGNvbG91ciB0aGVuIGRlZmF1bHQgdG8gdGhlIGZvb3RlciBiYWNrZ3JvdW5kIGNvbG91ci5cclxuICAgICRiYWNrZ3JvdW5kLWNvbG91cjogJGZvb3Rlci1jb3B5cmlnaHQtY29udGFpbmVyLW91dGVyLWJhY2tncm91bmQ7XHJcbiAgICAvLyBUaGUgc2VwZXJhdG9ycyBiZXR3ZWVuIHRoZSB0ZXh0IGNvbG91ci5cclxuICAgICRzZXBlcmF0b3ItY29sb3VyOiBcIlwiO1xyXG4gICAgQGlmICgkZm9vdGVyLWNvcHlyaWdodC1zZXBlcmF0b3IpIHtcclxuICAgICAgICAkc2VwZXJhdG9yLWNvbG91cjogY29udHJhc3QtY2hlY2tlcigkZm9vdGVyLXNlcnBlcmF0b3ItY29sb3VyLCAkYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgfVxyXG4gICAgLy8gQ29weXJpZ2h0IHBhcmFncmFwaCBjb2xvdXIuXHJcbiAgICAkcGFyYWdyYXBoLWNvbG91cjogY29udHJhc3QtY2hlY2tlcigkZm9vdGVyLWNvcHlyaWdodC1wYXJhZ3JhcGgtY29sb3VyLCAkYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgLy8gQ29weXJpZ2h0IGFuY2hvciBkZWZhdWx0IGNvbG91ci5cclxuICAgICRhbmNob3ItY29sb3VyLWRlZmF1bHQ6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkZm9vdGVyLWNvcHlyaWdodC1hbmNob3ItY29sb3VyLCBkZWZhdWx0KSwgJGJhY2tncm91bmQtY29sb3VyKTtcclxuICAgIC8vIENvcHlyaWdodCBhbmNob3IgaG92ZXIgY29sb3VyLlxyXG4gICAgJGFuY2hvci1jb2xvdXItaG92ZXI6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkZm9vdGVyLWNvcHlyaWdodC1hbmNob3ItY29sb3VyLCBob3ZlciksICRiYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAvLyBDb3B5cmlnaHQgYW5jaG9yIGFjdGl2ZSBjb2xvdXIuXHJcbiAgICAkYW5jaG9yLWNvbG91ci1hY3RpdmU6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkZm9vdGVyLWNvcHlyaWdodC1hbmNob3ItY29sb3VyLCBhY3RpdmUpLCAkYmFja2dyb3VuZC1jb2xvdXIpO1xyXG5cclxuXHJcbiAgICBAaWYgKCRmb290ZXItY29weXJpZ2h0LWNvbnRhaW5lci1vdXRlci1wYWRkaW5nKSB7XHJcbiAgICAgICAgcGFkZGluZzogJGZvb3Rlci1jb3B5cmlnaHQtY29udGFpbmVyLW91dGVyLXBhZGRpbmc7XHJcbiAgICB9XHJcbiAgICBAaWYgKCRmb290ZXItY29weXJpZ2h0LWNvbnRhaW5lci1vdXRlci1iYWNrZ3JvdW5kICE9IFwidHJhbnNwYXJlbnRcIikge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRmb290ZXItY29weXJpZ2h0LWNvbnRhaW5lci1vdXRlci1iYWNrZ3JvdW5kO1xyXG4gICAgfVxyXG4gICAgLmNvcHlyaWdodC1pbm5lci1jb250YWluZXIge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgLy8gQWRkIHNtYWxsIHNwYWNlIGFib3ZlIGp1c3QgaW5jYXNlIHBheW1lbnQgbWV0aG9kJ3MgaXMgc3VwcHJlc3NlZC5cclxuICAgICAgICBtYXJnaW46IHNtYWxsLXZhbHVlKCRmb290ZXItY29weXJpZ2h0LWNvbnRhaW5lci1tYXJnaW4pO1xyXG4gICAgICAgIHRleHQtYWxpZ246IHNtYWxsLXZhbHVlKCRmb290ZXItY29weXJpZ2h0LXRleHQtYWxpZ24pO1xyXG4gICAgICAgIEBpZiAkZm9vdGVyLWNvcHlyaWdodC1zZXBlcmF0b3Ige1xyXG4gICAgICAgICAgICBtYXJnaW46ICRmb290ZXItY29weXJpZ2h0LXNlcGVyYXRvci1tYXJnaW47XHJcbiAgICAgICAgICAgIHBhZGRpbmc6ICRmb290ZXItY29weXJpZ2h0LXNlcGVyYXRvci1wYWRkaW5nO1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAkZm9vdGVyLWNvcHlyaWdodC1zZXBlcmF0b3Itd2lkdGg7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6ICRmb290ZXItY29weXJpZ2h0LXNlcGVyYXRvci1oZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzZXBlcmF0b3ItY29sb3VyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWFyZ2luOiBsYXJnZS12YWx1ZSgkZm9vdGVyLWNvcHlyaWdodC1jb250YWluZXItbWFyZ2luKTtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGFyZ2UtdmFsdWUoJGZvb3Rlci1jb3B5cmlnaHQtdGV4dC1hbGlnbik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHAge1xyXG4gICAgICAgICAgICBtYXJnaW46ICRmb290ZXItY29weXJpZ2h0LXBhcmFncmFwaC1tYXJnaW47XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGZvb3Rlci1jb3B5cmlnaHQtcGFyYWdyYXBoLXNpemUpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogJGZvb3Rlci1jb3B5cmlnaHQtcGFyYWdyYXBoLXdlaWdodDtcclxuICAgICAgICAgICAgY29sb3I6ICRwYXJhZ3JhcGgtY29sb3VyO1xyXG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJGZvb3Rlci1jb3B5cmlnaHQtdGV4dC10cmFuc2Zvcm07XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkZm9vdGVyLWNvcHlyaWdodC1saW5lLWhlaWdodDtcclxuICAgICAgICB9XHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGZvb3Rlci1jb3B5cmlnaHQtYW5jaG9yLXNpemUpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogJGZvb3Rlci1jb3B5cmlnaHQtYW5jaG9yLXdlaWdodDtcclxuICAgICAgICAgICAgY29sb3I6ICRhbmNob3ItY29sb3VyLWRlZmF1bHQ7XHJcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRmb290ZXItY29weXJpZ2h0LXRleHQtdHJhbnNmb3JtO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkYW5jaG9yLWNvbG91ci1ob3ZlcjtcclxuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGFuY2hvci1jb2xvdXItYWN0aXZlO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gR2VuZXJhbCBmb290ZXIgbWVudSBuYXZpZ2lhdGlvbi5cclxuLmZvb3Rlci1uYXZpZ2F0aW9uIHtcclxuICAgIC8vIENvbnRyYXN0IGNoZWNrZXIgZm9yIHBhcmVudCBjb2xvdXJzLlxyXG4gICAgLy8gRGVmYXVsdFxyXG4gICAgJHBhcmVudC1kZWZhdWx0LWNvbG91cjogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRmb290ZXItbGlzdC1wYXJlbnQtaXRlbS1jb2xvdXIsIGRlZmF1bHQpLCAkZm9vdGVyLW91dGVyLWNvbnRhaW5lci1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAvLyBIb3ZlclxyXG4gICAgJHBhcmVudC1ob3Zlci1jb2xvdXI6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkZm9vdGVyLWxpc3QtcGFyZW50LWl0ZW0tY29sb3VyLCBob3ZlciksICRmb290ZXItb3V0ZXItY29udGFpbmVyLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgIC8vIEFjdGl2ZVxyXG4gICAgJHBhcmVudC1hY3RpdmUtY29sb3VyOiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJGZvb3Rlci1saXN0LXBhcmVudC1pdGVtLWNvbG91ciwgYWN0aXZlKSwgJGZvb3Rlci1vdXRlci1jb250YWluZXItYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgLy8gTGV2ZWwgMVxyXG4gICAgPiB1bC5tZW51IHtcclxuICAgICAgICBAaWYgKHNtYWxsLXZhbHVlKCRmb290ZXItbGlzdC1nYXApKSB7XHJcbiAgICAgICAgICAgIGdhcDogc21hbGwtdmFsdWUoJGZvb3Rlci1saXN0LWdhcCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiAoJGZvb3Rlci1jb250ZW50LWNlbnRlcmFsaXNlKSB7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAvLyBPdmVycmlkZSBkZWZhdWx0IG1lbnUgc3R5bGUgdG8gZm9yY2UgcHJvbW90aW9uIGNvbnRhaW5lciB0byBmaXQgb24gcm93LlxyXG4gICAgICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcclxuICAgICAgICAgICAgQGlmIChsYXJnZS12YWx1ZSgkZm9vdGVyLWxpc3QtZ2FwKSkge1xyXG4gICAgICAgICAgICAgICAgZ2FwOiBsYXJnZS12YWx1ZSgkZm9vdGVyLWxpc3QtZ2FwKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICA+IGxpLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCB7XHJcbiAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICAvLyBJZiBhIGNoZXZyb24gaXMgcHJlc2VudCBtYWtlIHN1cmUgaXQgaGFzIGFuIGFwcHJvcHJpYXRlIGNvbG91ciBhc3NpZ25lZC5cclxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkcGFyZW50LWRlZmF1bHQtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgID4gbGkge1xyXG4gICAgICAgICAgICBAaWYgKHNtYWxsLXZhbHVlKCRmb290ZXItbGlzdC1pdGVtLW1hcmdpbikpIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogc21hbGwtdmFsdWUoJGZvb3Rlci1saXN0LWl0ZW0tbWFyZ2luKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAvLyBCZWNhdXNlIHlvdSB3YW50IHRvIHRoZSBjb250ZW50IGZsdXNoIGFnYWluc3QgdGhlIGNvbnRhaW5lci5cclxuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCBwLCAmOmZpcnN0LWNoaWxkIGEge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQgcCwgJjpsYXN0LWNoaWxkIGEge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaWYgKCRmb290ZXItcGFyZW50LXNlcGVyYXRvcikge1xyXG4gICAgICAgICAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcclxuICAgICAgICAgICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBDb250cmFzdCBjaGVja2VyLlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRiYWNrZ3JvdW5kLWNvbG91cjogY29udHJhc3QtY2hlY2tlcigkZm9vdGVyLXBhcmVudC1zZXBlcmF0b3ItY29sb3VyLCAkZm9vdGVyLW91dGVyLWNvbnRhaW5lci1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAkZm9vdGVyLXBhcmVudC1zZXBlcmF0b3Itd2lkdGg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA4MCU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAvLyBPdmVycmlkZSBkZWZhdWx0IG1lbnUgaG92ZXIgc3RhdGUuXHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjA7XHJcbiAgICAgICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAgY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRmb290ZXItbGlzdC1wYXJlbnQtaXRlbS1jb2xvdXIsIGRlZmF1bHQpLCAkZm9vdGVyLW91dGVyLWNvbnRhaW5lci1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICAgICAgJjpub3QoW2hyZWZdKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGN1cnNvcjogZGVmYXVsdDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6ICRmb290ZXItbGlzdC1pdGVtLXdpZHRoO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBmaXQtY29udGVudDtcclxuICAgICAgICAgICAgICAgIEBpZiAobGFyZ2UtdmFsdWUoJGZvb3Rlci1saXN0LWl0ZW0tbWFyZ2luKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogbGFyZ2UtdmFsdWUoJGZvb3Rlci1saXN0LWl0ZW0tbWFyZ2luKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgICAgICBib3JkZXI6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgPiBhLCA+IHAge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiBzbWFsbC12YWx1ZSgkZm9vdGVyLXBhcmVudC1wYWRkaW5nKTtcclxuICAgICAgICAgICAgICAgIG9yZGVyOiAxO1xyXG4gICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRwYXJlbnQtZGVmYXVsdC1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRmb290ZXItcGFyZW50LWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJGZvb3Rlci1wYXJlbnQtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGZvb3Rlci1saXN0LWZvbnQtZmFtaWx5O1xyXG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRmb290ZXItcGFyZW50LXRleHQtdHJhbnNmb3JtO1xyXG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRmb290ZXItcGFyZW50LWxpbmUtaGVpZ2h0O1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IGxhcmdlLXZhbHVlKCRmb290ZXItcGFyZW50LXBhZGRpbmcpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJltocmVmXSB7XHJcbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkcGFyZW50LWhvdmVyLWNvbG91cjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHBhcmVudC1hY3RpdmUtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICA+IHAge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGN1cnNvcjogZGVmYXVsdDtcclxuICAgICAgICAgICAgICAgIH0gIFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC8vIExldmVsIDJcclxuICAgICAgICAgICAgPiB1bCB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgICAgICBvcmRlcjogMztcclxuICAgICAgICAgICAgICAgIC8vIE92ZXJyaWRpbmcgZGVmYXVsdCBiYWNrZ3JvdW5kLWNvbG9yXHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMDtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAkZm9vdGVyLWxpc3QtbWFyZ2luLXRvcDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgID4gbGkge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IHNtYWxsLXZhbHVlKCRmb290ZXItbGlzdC1pdGVtLXBhZGRpbmcpO1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogbGFyZ2UtdmFsdWUoJGZvb3Rlci1saXN0LWl0ZW0tcGFkZGluZyk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBQdXNoIGZpcnN0IGl0ZW0gYXdheSBmcm9tIHBhcmVudCB1c2luZyB0aGUgYm90dG9tIHZhbHVlIHNvIHRoZSBzcGFjaW5nIGlzIGVxdWFsIHRvcCAmIGJvdHRvbS5cclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IHNwYWNpbmctdmFsdWUoJGZvb3Rlci1saXN0LWl0ZW0tcGFkZGluZywgMyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vcGFkZGluZy1ib3R0b206ICRmb290ZXItbGlzdC1pdGVtLXBhZGRpbmctYm90dG9tO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBDb250cmFzdCBjaGVja2VyLlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBEZWZhdWx0XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICRjb2xvdXItZGVmYXVsdDogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRmb290ZXItbGlzdC1jaGlsZC1pdGVtLWNvbG91ciwgZGVmYXVsdCksICRmb290ZXItb3V0ZXItY29udGFpbmVyLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gSG92ZXJcclxuICAgICAgICAgICAgICAgICAgICAgICAgJGNvbG91ci1ob3ZlcjogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRmb290ZXItbGlzdC1jaGlsZC1pdGVtLWNvbG91ciwgaG92ZXIpLCAkZm9vdGVyLW91dGVyLWNvbnRhaW5lci1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIEFjdGl2ZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAkY29sb3VyLWFjdGl2ZTogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRmb290ZXItbGlzdC1jaGlsZC1pdGVtLWNvbG91ciwgYWN0aXZlKSwgJGZvb3Rlci1vdXRlci1jb250YWluZXItYmFja2dyb3VuZC1jb2xvdXIpO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvdXItZGVmYXVsdDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkZm9vdGVyLWNoaWxkLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9vdGVyLWNoaWxkLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogJGZvb3Rlci1jaGlsZC1saW5lLWhlaWdodDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRmb290ZXItbGlzdC1jaGlsZC10ZXh0LXRyYW5zZm9ybTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybywgb3BhY2l0eSAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBJTVBPUlRBTlQ6IFN1cHByZXNzaW5nIHRoaXMgYXMgaXQgaXMgZ2V0dGluZyBpbiB0aGUgd2F5IG9mIHNob3dpbmcgY29udGFjdCBpY29ucyBmb3IgbWFpbHRvOiAmIHRlbDouXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIEJlY2F1c2Ugd2UncmUgbm93IHVzaW5nIGF4aXMtbWVudSdzIHR5cGljYWxseSBjaGlsZCBpdGVtcyBoYXZlIGEgYXJyb3cgc2hvd2luZyBuZXh0IHRvIHRoZW0gdGhpcyBpcyBiZWluZyBmb3JjYWJseSBzdXBwcmVzc2VkIGZvciBmb290ZXIgbWVudSdzLCBtYWtlIHRoaXMgY29uZmlndXJhYmxlIGluIHRoZSBmdXR1cmUgaWYgbmVlZHMgYmUuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gICAgIGNvbnRlbnQ6IHVuc2V0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvdXItaG92ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYgKCRmb290ZXItY2hpbGQtaG92ZXItdGV4dC1kZWNvcmF0aW9uKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYgKCRmb290ZXItY2hpbGQtaG92ZXItb3BhY2l0eSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6ICRmb290ZXItY2hpbGQtaG92ZXItb3BhY2l0eTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIE1ha2Ugc3VyZSBubyBvdGhlciBvcGFjaXR5IGdldHMgYXBwbGllZC5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybywgb3BhY2l0eSAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyLWFjdGl2ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmxpbmstZGVzY3JpcHRpb24ge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBDdXJyZW50bHkgd2UncmUgb25seSBzaG93aW5nIG9uZSB0eXBlIG9mIG1lbnUgaW4gdGhlIGZvb3RlciBidXQgSSBhbSBsZWF2aW5nIHRoaXMgb3BlbiBzbyB3ZSBjYW4gYWRkIGRpZmZlcmVudCB0eXBlcyAoIGkuZSBhIHByaW1hcnkgYW5kIHNlY29uZGFyeSBtZW51IClcclxuICAgICYubWFpbi1tZW51IHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICBtYXJnaW46IHNtYWxsLXZhbHVlKCRmb290ZXItbGlzdC1jb250YWluZXItbWFyZ2luKTtcclxuICAgICAgICBvcmRlcjogMTtcclxuICAgICAgICAvLyBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIG9ubHkpIHtcclxuICAgICAgICAgICAgLy8gbWF4LXdpZHRoOiA1MCU7XHJcbiAgICAgICAgICAgIC8vIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICAvLyB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICAgICAgZmxleC1ncm93OiAkZm9vdGVyLW1haW4tbWVudS1mbGV4LWdyb3c7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICBtYXJnaW46IGxhcmdlLXZhbHVlKCRmb290ZXItbGlzdC1jb250YWluZXItbWFyZ2luKTtcclxuICAgICAgICAgICAgb3JkZXI6ICRmb290ZXItbGlzdC1vcmRlcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBPdmVycmlkZSBkZWZhdWx0IG1lbnUgYWNjb3JkaW9uIHN0eWxlcyBpbiBtb2JpbGUuXHJcbiAgICAubWVudSAuaXMtc3VibWVudS1pdGVtIGEge1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICB9XHJcblxyXG4gICAgdWwgPiBsaS5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQge1xyXG4gICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJGZvb3Rlci1saXN0LXBhcmVudC1pdGVtLWNvbG91ciwgaG92ZXIpLCAkZm9vdGVyLW91dGVyLWNvbnRhaW5lci1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkZm9vdGVyLWxpc3QtcGFyZW50LWl0ZW0tY29sb3VyLCBhY3RpdmUpLCAkZm9vdGVyLW91dGVyLWNvbnRhaW5lci1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5mb290ZXItY21zLWNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgIGZsZXg6IDE7XHJcbiAgICBvcmRlcjogMztcclxuICAgIC5jbXMtY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHNtYWxsLXZhbHVlKCRmb290ZXItY21zLWNvbnRhaW5lci1mbGV4LWRpcmVjdGlvbik7XHJcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgIGdhcDogc21hbGwtdmFsdWUoJGZvb3Rlci1jbXMtY29udGFpbmVyLWNvbHVtbi1ndXR0ZXIpO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGxhcmdlLXZhbHVlKCRmb290ZXItY21zLWNvbnRhaW5lci1mbGV4LWRpcmVjdGlvbik7XHJcbiAgICAgICAgICAgIGdhcDogbGFyZ2UtdmFsdWUoJGZvb3Rlci1jbXMtY29udGFpbmVyLWNvbHVtbi1ndXR0ZXIpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBoMiB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogJGZvb3Rlci1jbXMtY29udGFpbmVyLWgyLW1hcmdpbjtcclxuICAgICAgICAgICAgY29sb3I6IGNvbnRyYXN0LWNoZWNrZXIoJGZvb3Rlci1jbXMtY29udGFpbmVyLWgyLWNvbG91ciwgJGZvb3Rlci1vdXRlci1jb250YWluZXItYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICRmb290ZXItY21zLWNvbnRhaW5lci1oMi1mb250LXNpemU7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9vdGVyLWNtcy1jb250YWluZXItaDItZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgIEBpZiAoJGZvb3Rlci1jbXMtY29udGFpbmVyLWgyLWxpbmUtaGVpZ2h0KSB7XHJcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogJGZvb3Rlci1jbXMtY29udGFpbmVyLWgyLWxpbmUtaGVpZ2h0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGgzIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgbWFyZ2luOiAkZm9vdGVyLWNtcy1jb250YWluZXItaDMtbWFyZ2luO1xyXG4gICAgICAgICAgICBjb2xvcjogY29udHJhc3QtY2hlY2tlcigkZm9vdGVyLWNtcy1jb250YWluZXItaDMtY29sb3VyLCAkZm9vdGVyLW91dGVyLWNvbnRhaW5lci1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGZvb3Rlci1jbXMtY29udGFpbmVyLWgzLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9vdGVyLWNtcy1jb250YWluZXItaDMtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgIEBpZiAoJGZvb3Rlci1jbXMtY29udGFpbmVyLWgzLWxpbmUtaGVpZ2h0KSB7XHJcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogJGZvb3Rlci1jbXMtY29udGFpbmVyLWgzLWxpbmUtaGVpZ2h0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRhYmxlIHtcclxuICAgICAgICAgICAgY29sb3I6IGNvbnRyYXN0LWNoZWNrZXIoJGZvb3Rlci1jbXMtY29udGFpbmVyLXRhYmxlLWNvbG91ciwgJGZvb3Rlci1vdXRlci1jb250YWluZXItYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgICAgICAgICBAaWYgKCRmb290ZXItY21zLWNvbnRhaW5lci10YWJsZS1saW5lLWhlaWdodCkge1xyXG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRmb290ZXItY21zLWNvbnRhaW5lci10YWJsZS1saW5lLWhlaWdodDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0ZCB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgJjpub3QoOmZpcnN0LWNoaWxkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBwIHtcclxuICAgICAgICAgICAgQGlmICgkZm9vdGVyLWNtcy1jb250YWluZXItcGFyYWdyYXBoLW1hcmdpbikge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAkZm9vdGVyLWNtcy1jb250YWluZXItcGFyYWdyYXBoLW1hcmdpbjtcclxuICAgICAgICAgICAgICAgICYgKyBwIHtcclxuICAgICAgICAgICAgICAgICAgICBAaWYgKCRmb290ZXItY21zLWNvbnRhaW5lci1wYXJhZ3JhcGgtbWFyZ2luID09IDApIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaWYgKCRmb290ZXItY21zLWNvbnRhaW5lci1wYXJhZ3JhcGgtcGFkZGluZykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogJGZvb3Rlci1jbXMtY29udGFpbmVyLXBhcmFncmFwaC1wYWRkaW5nO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgID4gZGl2IHtcclxuICAgICAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBAaWYgKCRmb290ZXItY21zLWNvbnRhaW5lci1jb2x1bW4tbWF4LXdpZHRoKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAkZm9vdGVyLWNtcy1jb250YWluZXItY29sdW1uLW1heC13aWR0aDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gTm9ybWFsbHkgaG9sZHMgbWFpbGluZyBsaXN0LCBzb2NpYWwgaWNvbnMgJiBjbXMgZW50cnkuXHJcbi5mb290ZXItcHJvbW90aW9ucyB7XHJcbiAgICBtYXgtd2lkdGg6IHNtYWxsLXZhbHVlKCRmb290ZXItcHJvbW90aW9ucy1tYXgtd2lkdGgpO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBzbWFsbC12YWx1ZSgkZm9vdGVyLXByb21vdGlvbnMtZmxleC1kaXJlY3Rpb24pO1xyXG4gICAgQGlmIChzbWFsbC12YWx1ZSgkZm9vdGVyLXByb21vdGlvbnMtYWxpZ24taXRlbXMpKSB7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IHNtYWxsLXZhbHVlKCRmb290ZXItcHJvbW90aW9ucy1hbGlnbi1pdGVtcyk7XHJcbiAgICB9XHJcbiAgICBAaWYgKHNtYWxsLXZhbHVlKCRmb290ZXItcHJvbW90aW9ucy1nYXApKSB7XHJcbiAgICAgICAgZ2FwOiBzbWFsbC12YWx1ZSgkZm9vdGVyLXByb21vdGlvbnMtZ2FwKTtcclxuICAgIH1cclxuICAgIG1hcmdpbjogc21hbGwtdmFsdWUoJGZvb3Rlci1wcm9tb3Rpb25zLW1hcmdpbik7XHJcbiAgICBAaWYgKHNtYWxsLXZhbHVlKCRmb290ZXItcHJvbW90aW9ucy1wYWRkaW5nKSkge1xyXG4gICAgICAgIHBhZGRpbmc6IHNtYWxsLXZhbHVlKCRmb290ZXItcHJvbW90aW9ucy1wYWRkaW5nKTtcclxuICAgIH1cclxuICAgIG9yZGVyOiAkZm9vdGVyLXByb21vdGlvbi1hcmVhLW9yZGVyO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIG1heC13aWR0aDogbGFyZ2UtdmFsdWUoJGZvb3Rlci1wcm9tb3Rpb25zLW1heC13aWR0aCk7XHJcbiAgICAgICAgQGlmICgkZm9vdGVyLXByb21vdGlvbnMtd2lkdGgpIHtcclxuICAgICAgICAgICAgd2lkdGg6ICRmb290ZXItcHJvbW90aW9ucy13aWR0aDtcclxuICAgICAgICB9XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGxhcmdlLXZhbHVlKCRmb290ZXItcHJvbW90aW9ucy1mbGV4LWRpcmVjdGlvbik7XHJcbiAgICAgICAgQGlmIChsYXJnZS12YWx1ZSgkZm9vdGVyLXByb21vdGlvbnMtYWxpZ24taXRlbXMpKSB7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBsYXJnZS12YWx1ZSgkZm9vdGVyLXByb21vdGlvbnMtYWxpZ24taXRlbXMpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgKGxhcmdlLXZhbHVlKCRmb290ZXItcHJvbW90aW9ucy1nYXApKSB7XHJcbiAgICAgICAgICAgIGdhcDogbGFyZ2UtdmFsdWUoJGZvb3Rlci1wcm9tb3Rpb25zLWdhcCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiAobGFyZ2UtdmFsdWUoJGZvb3Rlci1wcm9tb3Rpb25zLW1hcmdpbikpIHtcclxuICAgICAgICAgICAgbWFyZ2luOiBsYXJnZS12YWx1ZSgkZm9vdGVyLXByb21vdGlvbnMtbWFyZ2luKTsgXHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiAobGFyZ2UtdmFsdWUoJGZvb3Rlci1wcm9tb3Rpb25zLXBhZGRpbmcpKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IGxhcmdlLXZhbHVlKCRmb290ZXItcHJvbW90aW9ucy1wYWRkaW5nKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBGb3JjZSBjb250ZW50IHRvIGJlIGFsaWduZWQgdGhlIHJpZ2h0LCBvbmx5IGFsbG93IGNlbnRlcmluZyB3aGVuIG5vIHByb21vdGlvbnMuXHJcbiAgICAmICsgLmZvb3Rlci1uYXZpZ2F0aW9uIHtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6ICRmb290ZXItbmF2aWdpYXRpb24tanVzdGlmeS1jb250ZW50O1xyXG4gICAgICAgIC5tZW51IHtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiAkZm9vdGVyLW5hdmlnaWF0aW9uLWp1c3RpZnktY29udGVudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBPcmRlciBtYWlsaW5nIGxpc3QuXHJcbiAgICAubWFpbGluZy1saXN0LWNvbnRhaW5lciwgLmZvb3Rlci1tYWlsaW5nLWxpc3QtcmV2ZWFsLWNvbnRhaW5lciB7XHJcbiAgICAgICAgb3JkZXI6IG1hcC1nZXQoJGZvb3Rlci1wcm9tb3Rpb25zLW9yZGVyLCBtYWlsaW5nLWxpc3QpO1xyXG4gICAgfVxyXG4gICAgLy8gT3JkZXIgYW55IHNvY2lhbCBpY29ucyB3aXRoaW4gdGhlIHByb21vdGlvbiBhcmVhLlxyXG4gICAgLnNvY2lhbEljb25zLCAuc29jaWFsLWljb25zIHtcclxuICAgICAgICBvcmRlcjogbWFwLWdldCgkZm9vdGVyLXByb21vdGlvbnMtb3JkZXIsIHNvY2lhbC1pY29ucyk7XHJcbiAgICB9XHJcbiAgICAvLyBPcmRlciB0ZXh0ZGIgY29udGVudCBpbnNpZGUgb2YgcHJvbW90aW9uIGNvbnRhaW5lci5cclxuICAgIC5jbXMtY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgIEBpZiAobWFwLWdldCgkZm9vdGVyLXByb21vdGlvbnMtb3JkZXIsIHRleHRkYikpIHtcclxuICAgICAgICAgICAgb3JkZXI6IG1hcC1nZXQoJGZvb3Rlci1wcm9tb3Rpb25zLW9yZGVyLCB0ZXh0ZGIpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIE9yZGVyIGZvciBmb290ZXIgbG9nb1xyXG4gICAgLmZvb3Rlci1sb2dvLWNvbnRhaW5lciB7XHJcbiAgICAgICAgQGlmIChtYXAtZ2V0KCRmb290ZXItcHJvbW90aW9ucy1vcmRlciwgbG9nby1jb250YWluZXIpKSB7XHJcbiAgICAgICAgICAgIG9yZGVyOiBtYXAtZ2V0KCRmb290ZXItcHJvbW90aW9ucy1vcmRlciwgbG9nby1jb250YWluZXIpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIE9yZGVyIGZvciBjb250YWN0IGRldGFpbHMgKCB0ZWxlcGhvbmUgLyBlbWFpbCApXHJcbiAgICAuZm9vdGVyLWNvbnRhY3QtZGV0YWlscyB7XHJcbiAgICAgICAgQGlmIChtYXAtZ2V0KCRmb290ZXItcHJvbW90aW9ucy1vcmRlciwgY29udGFjdC1kZXRhaWxzKSkge1xyXG4gICAgICAgICAgICBvcmRlcjogbWFwLWdldCgkZm9vdGVyLXByb21vdGlvbnMtb3JkZXIsIGNvbnRhY3QtZGV0YWlscyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyBOb3JtYWxseSB1c2VkIGluIHRoZSBwcm9tb3Rpb24gY29udGFpbmVyIHRvIGNhdGFnb3Jpc2UgdGhlIHNvY2lhbCBtZWRpYSBpY29ucywgbWFpbGluZyBsaXN0ICYgY21zIGVudHJ5LlxyXG4uZm9vdGVyLXByb21vdGlvbi1oZWFkaW5nIHtcclxuICAgIC8vIENvbnRyYXN0IGNoZWNrZXIuXHJcbiAgICAvLyBDTVMgaGVhZGluZy5cclxuICAgICRoZWFkaW5nLWNvbG91cjogY29udHJhc3QtY2hlY2tlcigkZm9vdGVyLXByb21vdGlvbi1oZWFkaW5nLWNvbG91ciwgJGZvb3Rlci1vdXRlci1jb250YWluZXItYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgaDMge1xyXG4gICAgICAgIG1hcmdpbjogc21hbGwtdmFsdWUoJGZvb3Rlci1wcm9tb3Rpb24taGVhZGluZy1tYXJnaW4pO1xyXG4gICAgICAgIGNvbG9yOiAkaGVhZGluZy1jb2xvdXI7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkZm9vdGVyLXByb21vdGlvbi1oZWFkaW5nLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRmb290ZXItcHJvbW90aW9uLWhlYWRpbmctZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRmb290ZXItcGFyZW50LXRleHQtdHJhbnNmb3JtO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWFyZ2luOiBsYXJnZS12YWx1ZSgkZm9vdGVyLXByb21vdGlvbi1oZWFkaW5nLW1hcmdpbik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uZm9vdGVyLWxvZ28tY29udGFpbmVyIHtcclxuICAgIHdpZHRoOiBzbWFsbC12YWx1ZSgkZm9vdGVyLWxvZ28td2lkdGgpO1xyXG4gICAgQGlmIChzbWFsbC12YWx1ZSgkZm9vdGVyLWxvZ28taGVpZ2h0KSkge1xyXG4gICAgICAgIGhlaWdodDogc21hbGwtdmFsdWUoJGZvb3Rlci1sb2dvLWhlaWdodCk7XHJcbiAgICB9XHJcbiAgICBtYXJnaW46IHNtYWxsLXZhbHVlKCRmb290ZXItbG9nby1tYXJnaW4pO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICB3aWR0aDogbWVkaXVtLXZhbHVlKCRmb290ZXItbG9nby13aWR0aCk7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgQGlmIChsYXJnZS12YWx1ZSgkZm9vdGVyLWxvZ28td2lkdGgpKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBsYXJnZS12YWx1ZSgkZm9vdGVyLWxvZ28td2lkdGgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgKGxhcmdlLXZhbHVlKCRmb290ZXItbG9nby1oZWlnaHQpKSB7XHJcbiAgICAgICAgICAgIGhlaWdodDogbGFyZ2UtdmFsdWUoJGZvb3Rlci1sb2dvLWhlaWdodCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIG1hcmdpbjogbGFyZ2UtdmFsdWUoJGZvb3Rlci1sb2dvLW1hcmdpbik7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5mb290ZXItY29udGFjdC1kZXRhaWxzIHtcclxuICAgIG1hcmdpbjogc21hbGwtdmFsdWUoJGZvb3Rlci1jb250YWN0LWRldGFpbHMtbWFyZ2luKTtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBtYXJnaW46IGxhcmdlLXZhbHVlKCRmb290ZXItY29udGFjdC1kZXRhaWxzLW1hcmdpbik7XHJcbiAgICB9XHJcbiAgICAvLyBMZXZlcmFnaW5nIHRoZSBzYW1lIHN0eWxlcyBmb3IgY29udGFjdCBlbWFpbCAmIHRlbGVwaG9uZSBpbiB0aGUgaGVhZGVyICggaS5lIHRoZSBpY29ucyApLlxyXG4gICAgdWwubWVudSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogc21hbGwtdmFsdWUoJGZvb3Rlci1jb250YWN0LWRldGFpbHMtZmxleC1kaXJlY3Rpb24pO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgQGlmIChsYXJnZS12YWx1ZSgkZm9vdGVyLWNvbnRhY3QtZGV0YWlscy1mbGV4LWRpcmVjdGlvbikpIHtcclxuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBsYXJnZS12YWx1ZSgkZm9vdGVyLWNvbnRhY3QtZGV0YWlscy1mbGV4LWRpcmVjdGlvbik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgPiBsaSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogc21hbGwtdmFsdWUoJGZvb3Rlci1jb250YWN0LWRldGFpbHMtaXRlbS1tYXJnaW4pO1xyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogbGFyZ2UtdmFsdWUoJGZvb3Rlci1jb250YWN0LWRldGFpbHMtaXRlbS1tYXJnaW4pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiBzbWFsbC12YWx1ZSgkZm9vdGVyLWNvbnRhY3QtZGV0YWlscy1pdGVtLXBhZGRpbmcpO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGhlYWRlci11cHBlci1pY29ucy1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogbGFyZ2UtdmFsdWUoJGZvb3Rlci1jb250YWN0LWRldGFpbHMtaXRlbS1wYWRkaW5nKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRoZWFkZXItdXBwZXItaWNvbnMtY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGhlYWRlci11cHBlci1pY29ucy1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGlmICgkZm9vdGVyLWNvbnRhY3QtZGV0YWlscy1pY29uLWNvbnRhaW5lci13aWR0aCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogJGZvb3Rlci1jb250YWN0LWRldGFpbHMtaWNvbi1jb250YWluZXItd2lkdGg7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIEBpZiAoJGZvb3Rlci1jb250YWN0LWRldGFpbHMtaWNvbi1zaXplKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvb3Rlci1jb250YWN0LWRldGFpbHMtaWNvbi1zaXplO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmZvb3Rlci1yZXZlYWwtYnV0dG9uIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBwYWRkaW5nOiAkZm9vdGVyLXJldmVhbC1idXR0b24tcGFkZGluZztcclxuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGZvb3Rlci1yZXZlYWwtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgIGNvbG9yOiAkY29sb3VyMTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGZvb3Rlci1yZXZlYWwtYnV0dG9uLWZvbnQtc2l6ZSk7XHJcbiAgICBmb250LXdlaWdodDogJGZvb3Rlci1yZXZlYWwtYnV0dG9uLWZvbnQtd2VpZ2h0O1xyXG4gICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uT3V0cm8sIGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgIH1cclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGZvb3Rlci1yZXZlYWwtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgfVxyXG4gICAgJjphY3RpdmUge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGZvb3Rlci1yZXZlYWwtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgfVxyXG59XHJcblxyXG4uZm9vdGVyLW1haWxpbmctbGlzdC1yZXZlYWwtY29udGFpbmVyIHtcclxuICAgIEBpZiAoc21hbGwtdmFsdWUoJGZvb3Rlci1tYWlsaW5nLWxpc3QtcmV2ZWFsLW1hcmdpbikpIHtcclxuICAgICAgICBtYXJnaW46IHNtYWxsLXZhbHVlKCRmb290ZXItbWFpbGluZy1saXN0LXJldmVhbC1tYXJnaW4pO1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIEBpZiAobGFyZ2UtdmFsdWUoJGZvb3Rlci1tYWlsaW5nLWxpc3QtcmV2ZWFsLW1hcmdpbikpIHtcclxuICAgICAgICAgICAgbWFyZ2luOiBsYXJnZS12YWx1ZSgkZm9vdGVyLW1haWxpbmctbGlzdC1yZXZlYWwtbWFyZ2luKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgLmZvb3Rlci1yZXZlYWwtYnV0dG9uIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLm1haWxpbmctbGlzdC1jb250YWluZXIge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA0MDBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5tYWlsaW5nLWxpc3QtY29udGFpbmVyIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG59XHJcblxyXG4uZm9vdGVyLW1haWxpbmctbGlzdC1saW5rIHtcclxuICAgIEBpbmNsdWRlIGNvbW1vbi1idXR0b24tMSgkZm9vdGVyLW1haWxpbmctbGlzdC1saW5rLXBhZGRpbmcsICRmb290ZXItbWFpbGluZy1saXN0LWxpbmstYmFja2dyb3VuZC1jb2xvdXIsICRmb290ZXItbWFpbGluZy1saXN0LWxpbmstY29sb3VyLCAkZm9vdGVyLW1haWxpbmctbGlzdC1saW5rLWJvcmRlci1jb2xvdXIsICRmb290ZXItbWFpbGluZy1saXN0LWxpbmstZm9udC1zaXplLCAkZm9vdGVyLW1haWxpbmctbGlzdC1saW5rLWZvbnQtd2VpZ2h0LCAod2lkdGg6IGxhcmdlLXZhbHVlKCRmb290ZXItbWFpbGluZy1saXN0LWxpbmstd2lkdGgpLCBtb2JpbGUtd2lkdGg6IHNtYWxsLXZhbHVlKCRmb290ZXItbWFpbGluZy1saXN0LWxpbmstd2lkdGgpKSwgMCwgZmxleCwgJGZvb3Rlci1tYWlsaW5nLWxpc3QtaWNvbi1jb25maWcpO1xyXG59XHJcblxyXG4ubWFpbGluZy1saXN0LWNvbnRhaW5lciB7XHJcbiAgICBtYXJnaW46IHNtYWxsLXZhbHVlKCRmb290ZXItbWFpbGluZy1saXN0LW1hcmdpbik7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgbWFyZ2luOiBsYXJnZS12YWx1ZSgkZm9vdGVyLW1haWxpbmctbGlzdC1tYXJnaW4pO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIENvbnRyYXN0IGNoZWNrZXIuXHJcbiAgICAgLy8gVGV4dGRiIGhlYWRpbmcuXHJcbiAgICAgJGhlYWRpbmctY29sb3VyOiBjb250cmFzdC1jaGVja2VyKCRmb290ZXItcHJvbW90aW9uLWhlYWRpbmctY29sb3VyLCAkZm9vdGVyLW91dGVyLWNvbnRhaW5lci1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAvLyBUZXh0ZGIgbXVsdGktbGluZSBjb2xvdXIuXHJcbiAgICAkdGV4dC1jb2xvdXI6IGNvbnRyYXN0LWNoZWNrZXIoJGZvb3Rlci1tYWlsaW5nLWxpc3QtdGV4dC1jb2xvdXIsICRmb290ZXItb3V0ZXItY29udGFpbmVyLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgIGgzIHtcclxuICAgICAgICBtYXJnaW46IHNtYWxsLXZhbHVlKCRmb290ZXItcHJvbW90aW9uLWhlYWRpbmctbWFyZ2luKTtcclxuICAgICAgICBjb2xvcjogJGhlYWRpbmctY29sb3VyO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGZvb3Rlci1wcm9tb3Rpb24taGVhZGluZy1mb250LXNpemUpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9vdGVyLXByb21vdGlvbi1oZWFkaW5nLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiAkZm9vdGVyLXBhcmVudC10ZXh0LXRyYW5zZm9ybTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogbGFyZ2UtdmFsdWUoJGZvb3Rlci1wcm9tb3Rpb24taGVhZGluZy1tYXJnaW4pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIFRleHRkYiBlbnRyeS5cclxuICAgIHAge1xyXG4gICAgICAgIGNvbG9yOiAkdGV4dC1jb2xvdXI7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiBzcGFjaW5nLXZhbHVlKCRmb290ZXItbGlzdC1pdGVtLXBhZGRpbmcsIDMpO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGZvb3Rlci1tYWlsaW5nLWxpc3QtdGV4dC1mb250LXNpemUpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9vdGVyLWNoaWxkLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkZm9vdGVyLW1haWxpbmctbGlzdC1saW5lLWhlaWdodDtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJGZvb3Rlci1saXN0LWNoaWxkLXRleHQtdHJhbnNmb3JtO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgLy8gQXR0ZW1wdGluZyB0byBrZWVwIHNwYWNpbmcgY29uc2lzdGVudCB3aXRoIGZvb3RlciBtZW51LlxyXG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogc3BhY2luZy12YWx1ZSgkZm9vdGVyLWxpc3QtaXRlbS1wYWRkaW5nLCAzLCBsYXJnZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gTWFpbGluZyBsaXN0IGlucHV0LlxyXG4gICAgc3Bhbi5tYWlsLWlucHV0IHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBwYWRkaW5nOiAxMHB4IDA7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvdXIzLTE7XHJcbiAgICB9XHJcbiAgICAvLyBNYWlsaW5nIGxpc3QgZm9ybS5cclxuICAgIGZvcm0ge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9vdGVyLW91dGVyLWNvbnRhaW5lci1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgICAgICBpbnB1dCB7XHJcbiAgICAgICAgICAgIEBpZiAoc21hbGwtdmFsdWUoJGZvb3Rlci1tYWlsaW5nLWxpc3QtZmllbGQtbWF4LXdpZHRoKSkge1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiBzbWFsbC12YWx1ZSgkZm9vdGVyLW1haWxpbmctbGlzdC1maWVsZC1tYXgtd2lkdGgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpZiAoJGZvb3Rlci1tYWlsaW5nLWxpc3QtZmllbGQtaGVpZ2h0KSB7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6ICRmb290ZXItbWFpbGluZy1saXN0LWZpZWxkLWhlaWdodDtcclxuICAgICAgICAgICAgICAgICsgYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6ICRmb290ZXItbWFpbGluZy1saXN0LWZpZWxkLWhlaWdodDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaWYgJGZvb3Rlci1tYWlsaW5nLWxpc3QtZmllbGQtcGFkZGluZyB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAkZm9vdGVyLW1haWxpbmctbGlzdC1maWVsZC1wYWRkaW5nO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpZiAkZm9vdGVyLW1haWxpbmctbGlzdC1maWVsZC1sZXR0ZXItc3BhY2luZyB7XHJcbiAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogJGZvb3Rlci1tYWlsaW5nLWxpc3QtZmllbGQtbGV0dGVyLXNwYWNpbmc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGlmICRmb290ZXItbWFpbGluZy1saXN0LWZpZWxkLXRleHQtdHJhbnNmb3JtIHtcclxuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiAkZm9vdGVyLW1haWxpbmctbGlzdC1maWVsZC10ZXh0LXRyYW5zZm9ybTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaWYgJGZvb3Rlci1tYWlsaW5nLWxpc3QtZmllbGQtY29sb3Vye1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRmb290ZXItbWFpbGluZy1saXN0LWZpZWxkLWNvbG91cjtcclxuICAgICAgICAgICAgICAgICY6OnBsYWNlaG9sZGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGZvb3Rlci1tYWlsaW5nLWxpc3QtZmllbGQtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgQGlmICgkZm9vdGVyLW1haWxpbmctbGlzdC1maWVsZC1jb2xvdXItaW5jbHVkZS1idXR0b24pIHtcclxuICAgICAgICAgICAgICAgICAgICAmICsgYnV0dG9uOmJlZm9yZSwgJiArIGJ1dHRvbjplbXB0eTpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGZvb3Rlci1tYWlsaW5nLWxpc3QtZmllbGQtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaWYgKCRmb290ZXItbWFpbGluZy1saXN0LWZpZWxkLWZvbnQtd2VpZ2h0KSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJGZvb3Rlci1tYWlsaW5nLWxpc3QtZmllbGQtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICAmOjpwbGFjZWhvbGRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRmb290ZXItbWFpbGluZy1saXN0LWZpZWxkLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpZiAkZm9vdGVyLW1haWxpbmctbGlzdC1maWVsZC1ib3JkZXIge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyOiAkZm9vdGVyLW1haWxpbmctbGlzdC1maWVsZC1ib3JkZXI7XHJcbiAgICAgICAgICAgICAgICAmICsgYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgICAgICAvLyBUT0RPOiB0aGlzIHdpbGwgbmVlZCBleHRlbmRpbmcgaWYgd2Ugd2FudCB0byBmdW5kaW1lbnRhbGx5IGNoYW5nZSB0aGUgYm9yZGVyIGFyb3VuZCB0aGUgZmllbGQuXHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAkZm9vdGVyLW1haWxpbmctbGlzdC1maWVsZC1ib3JkZXI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGlmICRmb290ZXItbWFpbGluZy1saXN0LWZpZWxkLWJhY2tncm91bmQtY29sb3VyIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRmb290ZXItbWFpbGluZy1saXN0LWZpZWxkLWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgJjpmb2N1cyB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBAaWYgJGZvb3Rlci1tYWlsaW5nLWxpc3QtZmllbGQtYmFja2dyb3VuZC1jb2xvdXItaW5jbHVkZS1idXR0b24ge1xyXG4gICAgICAgICAgICAgICAgICAgICYgKyBidXR0b24ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9vdGVyLW1haWxpbmctbGlzdC1maWVsZC1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XHJcbiAgICAgICAgICAgICAgICBAaWYgKHNtb290aC1lZGdlcygpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICsgYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBAaWYgKGxhcmdlLXZhbHVlKCRmb290ZXItbWFpbGluZy1saXN0LWZpZWxkLW1heC13aWR0aCkpIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IGxhcmdlLXZhbHVlKCRmb290ZXItbWFpbGluZy1saXN0LWZpZWxkLW1heC13aWR0aCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBmaWVsZHNldCB7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICB9XHJcbiAgICAuZm9ybS1lcnJvciB7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDEwcHggMCAwO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4uZm9vdGVyLWJhY2tncm91bmQge1xyXG4gICAgQGlmICgkZm9vdGVyLWJhY2tncm91bmQtc2VwZXJhdG9yKSB7XHJcbiAgICAgICAgYm9yZGVyLXRvcDogJGZvb3Rlci1iYWNrZ3JvdW5kLXNlcGVyYXRvci1zaXplIHNvbGlkICRmb290ZXItYmFja2dyb3VuZC1zZXBlcmF0b3ItY29sb3VyO1xyXG4gICAgfVxyXG4gICAgQGlmICgkZm9vdGVyLWJhY2tncm91bmQpIHtcclxuICAgICAgICBAaWYgKCRmb290ZXItYmFja2dyb3VuZC10b3ApIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAobWFwLWdldCgkZm9vdGVyLWJhY2tncm91bmQtaGVpZ2h0LCBzbWFsbCkgKyAoJGZvb3Rlci1tYXJnaW4tdG9wIC8gMikpO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAobWFwLWdldCgkZm9vdGVyLWJhY2tncm91bmQtaGVpZ2h0LCBsYXJnZSkgKyAkZm9vdGVyLW1hcmdpbi10b3ApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogbWFwLWdldCgkZm9vdGVyLWJhY2tncm91bmQtaGVpZ2h0LCBzbWFsbCk7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICB0b3A6IC0je2lmKCRmb290ZXItYmFja2dyb3VuZC1zZXBlcmF0b3Itc2l6ZSwgKG1hcC1nZXQoJGZvb3Rlci1iYWNrZ3JvdW5kLWhlaWdodCwgc21hbGwpICsgJGZvb3Rlci1iYWNrZ3JvdW5kLXNlcGVyYXRvci1zaXplKSwgbWFwLWdldCgkZm9vdGVyLWJhY2tncm91bmQtaGVpZ2h0LCBzbWFsbCkpfTtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChtYXAtZ2V0KCRmb290ZXItYmFja2dyb3VuZC11cmwsIHNtYWxsKSk7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogbWFwLWdldCgkZm9vdGVyLWJhY2tncm91bmQtaGVpZ2h0LCBsYXJnZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAtI3tpZigkZm9vdGVyLWJhY2tncm91bmQtc2VwZXJhdG9yLXNpemUsIChtYXAtZ2V0KCRmb290ZXItYmFja2dyb3VuZC1oZWlnaHQsIGxhcmdlKSArICRmb290ZXItYmFja2dyb3VuZC1zZXBlcmF0b3Itc2l6ZSksIG1hcC1nZXQoJGZvb3Rlci1iYWNrZ3JvdW5kLWhlaWdodCwgbGFyZ2UpKX07XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKG1hcC1nZXQoJGZvb3Rlci1iYWNrZ3JvdW5kLXVybCwgbGFyZ2UpKVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgIC8vIFRPRE86IFRCQy5cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5mb290ZXJPdXRlckNvbnRhaW5lciwgLmZvb3Rlci1iYWNrZ3JvdW5kIHtcclxuICAgIEBpZiBub3QgKCRmb290ZXItYmFja2dyb3VuZCBhbmQgJGZvb3Rlci1iYWNrZ3JvdW5kLXRvcCkge1xyXG4gICAgICAgIG1hcmdpbi10b3A6ICRmb290ZXItYmFja2dyb3VuZC1tYXJnaW4tdG9wO1xyXG4gICAgfVxyXG4gICAgcGFkZGluZzogc21hbGwtdmFsdWUoJGZvb3Rlci1wYWRkaW5nKTtcclxuICAgIEBpZiAkZm9vdGVyLWdyYWRpYW50IHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkZm9vdGVyLWdyYWRpYW50O1xyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGZvb3Rlci1vdXRlci1jb250YWluZXItYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgIHBhZGRpbmc6IG1lZGl1bS12YWx1ZSgkZm9vdGVyLXBhZGRpbmcpO1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcclxuICAgICAgICBwYWRkaW5nOiBsYXJnZS12YWx1ZSgkZm9vdGVyLXBhZGRpbmcpO1xyXG4gICAgfVxyXG4gICAgI2Zvb3Rlci1pbm5lci1jb250YWluZXIge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIEBpZiAkZm9vdGVyLWNvbnRlbnQtc2VwZXJhdG9yLWJvdHRvbSBvciAkZm9vdGVyLWNvbnRlbnQtc2VwZXJhdG9yLXRvcCB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgbWFyZ2luOiAkZm9vdGVyLWNvbnRlbnQtc2VwZXJhdG9yLW1hcmdpbjtcclxuICAgICAgICB9XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIEBpZiAoc21hbGwtdmFsdWUoJGZvb3Rlci1pbm5lci1jb250YWluZXItcGFkZGluZykpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogc21hbGwtdmFsdWUoJGZvb3Rlci1pbm5lci1jb250YWluZXItcGFkZGluZyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246ICN7aWYoJGZvb3Rlci1saXN0LXJldmVyc2Utb3JkZXIsIFwicm93LXJldmVyc2VcIiwgXCJyb3dcIil9O1xyXG4gICAgICAgICAgICBAaWYgKGxhcmdlLXZhbHVlKCRmb290ZXItaW5uZXItY29udGFpbmVyLXBhZGRpbmcpKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiBsYXJnZS12YWx1ZSgkZm9vdGVyLWlubmVyLWNvbnRhaW5lci1wYWRkaW5nKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgJGZvb3Rlci1jb250ZW50LXNlcGVyYXRvci1ib3R0b20ge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAkZm9vdGVyLWNvbnRlbnQtc2VwZXJhdG9yLXdpZHRoO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAkZm9vdGVyLWNvbnRlbnQtc2VwZXJhdG9yLWhlaWdodDtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGZvb3Rlci1zZXJwZXJhdG9yLWNvbG91cjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgJGZvb3Rlci1jb250ZW50LXNlcGVyYXRvci10b3Age1xyXG4gICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6ICRmb290ZXItY29udGVudC1zZXBlcmF0b3Itd2lkdGg7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6ICRmb290ZXItY29udGVudC1zZXBlcmF0b3ItaGVpZ2h0O1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9vdGVyLXNlcnBlcmF0b3ItY29sb3VyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiLypcclxuLS0tLS0gQUpBWCAtLS0tLVxyXG5IYW5kbGVzIHRoZSBmb2xsb3dpbmc6IFxyXG4tIEFKQVggU3Bpbm5lclxyXG4tIENhbGxiYWNrIGNvbnRhaW5lcnNcclxuLSBVcGRhdGUgQ29udGVudCAtIEJhc2ljYWxseSBhIGNvbnRhaW5lciBpbnNpZGUgb2YgdGhlIGFqYXggcmVzcG9uc2UgdGhhdCBhbGxvd3MgeW91IHRvIHVwZGF0ZSBjb250ZW50IG91dHNpZGUgb2YgdGhlIGNhbGxiYWNrIGNvbnRhaW5lci5cclxuKi9cclxuXHJcblxyXG4vLy0tLS0tIEFKQVggYmxvY2sgLS0tLS1cclxuLmNhbGxiYWNrQ29udGFpbmVyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgLy8gQWRkIGZsZXgtZ3JvdyBmb3IgYWpheCdkIGluIGZvcm0gaW4gYSBtb2RhbC5cclxuICAgIGZsZXgtZ3JvdzogMTtcclxuICAgIC8vIElNUE9SVEFOVDogRG9udCBhZGQgei1pbmRleCBwcm9wZXJ0eSBhcyB0aGlzIGNsYXNzIGdldHMgdXNlZCBhbGwgb3ZlciB0aGUgc2hvcCBhbmQgd2lsbCBjYXVzZSBvdmVybGFwcGluZyBpc3N1ZXMgd2l0aCBvdGhlciBjb250ZW50ICggaS5lIHByb2R1Y3QgbGlzdHMgcXVhbnRpdHkgZHJvcCBkb3ducyApLlxyXG4gICAgLy8gQWRkaW5nIHotaW5kZXggYWpheCBtb2RhbHMgdG8gbWFrZSBzdXJlIHRoZXkgb3ZlcmxhcCBhbGwgcGFnZSBjb250ZW50LlxyXG4gICAgLy8gei1pbmRleDogMTk5OTtcclxuICAgICY6aGFzKC5BSkFYQmxvY2spIHtcclxuICAgICAgICBtaW4taGVpZ2h0OiAkY29udGVudC1pbml0aWFsaXNpbmctc3Bpbm5lci1zaXplO1xyXG4gICAgfVxyXG59XHJcblxyXG4uY2FsbGJhY2tMaXN0Q29udGFpbmVyIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG4vLy0tLSBTcGlubmVyIC0tLVxyXG5cclxuLkFKQVhCbG9jaywgLmluaXRpYWxpc2luZy1jb250ZW50LWJsb2NrZXItY29udGFpbmVyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHVpLWJsb2NrLWJhY2tncm91bmQ7XHJcbiAgICBjdXJzb3I6IG5vLWRyb3A7XHJcbiAgICB6LWluZGV4OiAxMDAwMDtcclxuICAgIC5zcGlubmVyIHtcclxuICAgICAgICB3aWR0aDogJGNvbnRlbnQtaW5pdGlhbGlzaW5nLXNwaW5uZXItc2l6ZTtcclxuICAgICAgICBoZWlnaHQ6ICRjb250ZW50LWluaXRpYWxpc2luZy1zcGlubmVyLXNpemU7XHJcbiAgICAgICAgLy8gcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIC8vIHRvcDogMDtcclxuICAgICAgICAvLyBib3R0b206IDA7XHJcbiAgICAgICAgLy8gcmlnaHQ6IDA7XHJcbiAgICAgICAgLy8gbGVmdDogMDtcclxuICAgICAgICAvLyBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcclxuICAgICAgICBAaW5jbHVkZSBjb250ZW50LWxvYWRpbmctc3Bpbm5lcigkYWpheC1zcGlubmVyLWNvbG91cik7XHJcbiAgICAgICAgJiArIC5jbXMtY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICBtYXJnaW46IDEwcHggMCAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5jbXMtY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgIHAge1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG91cjMtNjtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLS0gVXBkYXRlIGNvbnRlbnQgLS0tLS0gXHJcbltkYXRhLXVwZGF0ZS1jb250ZW50XSwgW2RhdGEtYWpheC11cGRhdGUtYnJlYWRjcnVtYnNdIHtcclxuICAgIC8vIFRoaXMgc2hvdWxkIGFsd2F5cyBiZSBzZXQgdG8gZGlzcGxheSBub25lIHRvIHByZXZlbnQgdGhlIG5ldyBjb250ZW50IGZsYXNoaW5nIGluZnJvbnQgdGhlIG9mIHRoZSB1c2VyIGJlZm9yZSBpdCBpcyBtb3ZlZCBpbnRvIHBsYWNlLlxyXG4gICAgZGlzcGxheTogbm9uZTtcclxufSIsIi8qXHJcbi0tLS0tIEZpbHRlcnMgLS0tLS0tIFxyXG4tIFRoZXNlIGEgdHlwaWNhbGx5IG9uIGxpc3QgcGFnZXMgZm9yIHByb2R1Y3RzLlxyXG4tIEF0dHJpYnV0ZSBmaWx0ZXJzIHRoYXQgYWxzbyBpbmNsdWRlIGNvbG91ciBmaWx0ZXJzIGFuZCBwcmljZSBzbGlkZXIuXHJcbi0gWW91IHdpbGwgYWxzbyBmaW5kIHRoZSBtb2JpbGUgc3R5bGVzIGhlcmUgZm9yIGZpbHRlcnMuXHJcbiovXHJcblxyXG5cclxuLy8gVE9ETzogVGhpcyBuZWVkcyB0byBiZSByZWZhY3RvcmVkIGludG8gdGhlIHZhcmlhYmxlcy5zY3NzLlxyXG4kZmlsdGVyRGVza3RvcFdpZHRoOiAxODVweDtcclxuJGF0dHJpYnV0ZUFwcGxpZWRMaW5rV2VpZ2h0OiA0MDA7XHJcbiRhdHRyaWJ1dGVBcHBsaWVkSGVhZGluZ1BhZGRpbmc6IDEwcHggMDtcclxuJGF0dHJpYnV0ZUFwcGxpZWRIZWFkaW5nQ29sb3VyOiAkY29sb3VyNDtcclxuJGF0dHJpYnV0ZUFwcGxpZWRIZWFkaW5nQmFja2dyb3VuZDogJGNvbG91cjA7XHJcbiRhdHRyaWJ1dGVBcHBsaWVkSGVhZGluZ1dlaWdodDogNjAwO1xyXG4kYXR0cmlidXRlQXBwbGllZEFuY2hvckNvbG91cjogJGNvbG91cjI7XHJcbiRhdHRyaWJ1dGVBcHBsaWVkQW5jaG9yQ29sb3VySG92ZXI6ICRjb2xvdXI0O1xyXG4kb3B0aW9uSGVhZGluZ0NvbG91cjogJGNvbG91cjQ7XHJcbi8vICRhdHRyaWJ1dGVDb2xvdXJQcmV2aWV3UG9zaXRpb25Ub3A6IDA7XHJcbi8vICRhdHRyaWJ1dGVDb2xvdXJQcmV2aWV3UG9zaXRpb25SaWdodDogMTBweDtcclxuJGF0dHJpYnV0ZUNvbG91clByZXZpZXdCb3JkZXJSYWRpdXM6ICRib3JkZXJSYWRpdXMyO1xyXG4kYXR0cmlidXRlQ29sb3VyUHJldmlld0RpbWVudGlvbnM6IDEwcHg7XHJcbiRhdHRyaWJ1dGVGaWx0ZXJXaWR0aDogODBweDtcclxuJGF0dHJpYnV0ZU9wdGlvblBhZGRpbmc6IDEwcHggMDtcclxuXHJcblxyXG4jbW9iaWxlVG9nZ2xlQ29udGFpbmVyIHtcclxuXHR3aWR0aDogMTAwJTtcclxuXHQvLyBtYXJnaW46IDAgMCAxNXB4O1xyXG5cdHVsIHtcclxuXHRcdHBhZGRpbmc6IDA7XHJcblx0XHRtYXJnaW46IDA7XHJcblx0XHRsaXN0LXN0eWxlOiBub25lO1xyXG5cdH1cclxufSAgXHJcblxyXG4vLyBJTVBPUlRBTlQ6IFRoaXMgd2FzIGJ1aWxkIHNwZWNpZmljYWxseSBpbiB0aGUgY29udGV4dCBvZiBwcm9kdWN0LWxpc3QncyB3aGljaCBvbmx5IGdvdCBzaG93biBpbiBtb2JpbGUgYW5kIHdhcyBsYXRlciBcImFkYXB0ZWRcIiB0byBmaXQgaW50byB0aGUgZGVza3RvcCB2aWV3IGluIHRoZSBzb3J0aW5nIG9wdGlvbnMgYmFyLlxyXG4jZmlsdGVycy10b2dnbGUsIC5maWx0ZXItdG9nZ2xlIHtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0ZGlzcGxheTogYmxvY2s7XHJcblx0cGFkZGluZzogMjBweCAwO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGZpbHRlcnMtbW9iaWxlLXRvZ2dsZS1iYWNrZ3JvdW5kLWNvbG91ciwgdW4tc3R1Y2spO1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRjb2xvcjogbWFwLWdldCgkZmlsdGVycy1tb2JpbGUtdG9nZ2xlLWNvbG91ciwgdW4tc3R1Y2spO1xyXG5cdGZvbnQtd2VpZ2h0OiAkZmlsdGVycy1tb2JpbGUtdG9nZ2xlLWZvbnQtd2VpZ2h0O1xyXG5cdGZvbnQtc2l6ZTogcmVtLWNhbGMoJGZpbHRlcnMtbW9iaWxlLXRvZ2dsZS1mb250LXNpemUpO1xyXG5cdGZvbnQtZmFtaWx5OiBnZXQtdHlwb2dyYXBoeS1mb250LWZhbWlseSgpO1xyXG5cdEBpZiAoJGZpbHRlcnMtdG9nZ2xlLWxldHRlci1zcGFjaW5nKSB7XHJcblx0XHRsZXR0ZXItc3BhY2luZzogJGZpbHRlcnMtdG9nZ2xlLWxldHRlci1zcGFjaW5nO1xyXG5cdH1cclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0QGlmICgkc21vb3RoLWVkZ2VzLWVuYWJsZWQpIHtcclxuXHRcdGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG5cdH1cclxuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uT3V0cm8sIGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG5cdFx0d2lkdGg6IGZpdC1jb250ZW50O1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjA7XHJcblx0XHRjb2xvcjogJHNvcnRpbmctb3B0aW9ucy1jb2xvdXI7XHJcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKCRzb3J0aW5nLW9wdGlvbnMtZm9udC1zaXplKTtcclxuXHRcdGZvbnQtd2VpZ2h0OiAkc29ydGluZy1vcHRpb25zLWZvbnQtd2VpZ2h0O1xyXG5cdFx0Jjpob3ZlciB7XHJcblx0XHRcdGNvbG9yOiAkY29sb3VyNjtcclxuXHRcdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcblx0XHRcdHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcblx0XHRcdCY6YmVmb3JlIHtcclxuXHRcdFx0XHRjb2xvcjogJGNvbG91cjQ7XHJcblx0XHRcdFx0dHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHQmOm5vdCguaXMtc3R1Y2spIHtcclxuXHRcdC8vIE92ZXJyaWRlIHRoZSBzdGlja3kgcG9zaXRpb25pbmcgd2hlbiBub3Qgc3R1Y2sgIzgxMTEzNy5cclxuXHRcdHRvcDogYXV0byAhaW1wb3J0YW50O1xyXG5cdH1cclxuXHQmLmlzLXN0dWNrIHtcclxuXHRcdC8vIE92ZXJyaWRlIHRoZSBzdGlja3kgcG9zaXRpb25pbmcgd2hlbiBub3Qgc3R1Y2sgIzgxMTEzNy5cclxuXHRcdG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xyXG5cdFx0cG9zaXRpb246IGZpeGVkO1xyXG5cdFx0bGVmdDogMDtcclxuXHRcdHBhZGRpbmc6IDEwcHggMDtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGZpbHRlcnMtbW9iaWxlLXRvZ2dsZS1iYWNrZ3JvdW5kLWNvbG91ciwgc3R1Y2spO1xyXG5cdFx0Y29sb3I6IG1hcC1nZXQoJGZpbHRlcnMtbW9iaWxlLXRvZ2dsZS1jb2xvdXIsIHN0dWNrKTtcclxuXHRcdGJveC1zaGFkb3c6ICRib3hTaGFkb3cxO1xyXG5cdFx0dHJhbnNpdGlvbjogbWF4LWhlaWdodCA0cztcclxuXHRcdHotaW5kZXg6IDEwMDA7XHJcblx0XHQmOmJlZm9yZSB7XHJcblx0XHRcdGNvbG9yOiBtYXAtZ2V0KCRmaWx0ZXJzLW1vYmlsZS10b2dnbGUtY29sb3VyLCBzdHVjayk7XHJcblx0XHR9XHJcblx0fVxyXG5cdCY6YmVmb3JlIHtcclxuXHRcdGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGZpbHRlcik7XHJcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHRtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcblx0XHRmb250LWZhbWlseTogY3VzdG9tLWljb24tZmFtaWx5KCRmb250QXdlc29tZVNvbGlkLCAkc2l0ZS1pY29ucy1jdXN0b20tZmlsdGVyLWljb24pO1xyXG5cdFx0Zm9udC1zaXplOiAxNnB4O1xyXG5cdFx0Y29sb3I6bWFwLWdldCgkZmlsdGVycy1tb2JpbGUtdG9nZ2xlLWNvbG91ciwgdW4tc3R1Y2spO1xyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG5cdFx0XHRmb250LXNpemU6IDE1cHg7IC8vIGRlc2NyZWFzaW5nIHNpemUgYXMgdGhpcyB3YXMga25vY2tpbmcgb3RoZXIgc29ydGluZyBvcHRpb24ncyB0ZXh0IG91dCBvZiBhbGlnbm1lbnQuXHJcblx0XHR9XHJcblx0fVxyXG5cdCY6aG92ZXIge1xyXG5cdFx0b3BhY2l0eTogMTtcclxuXHR9XHJcblx0LmFjdGl2ZS1maWx0ZXItY291bnQge1xyXG5cdFx0bWFyZ2luLXJpZ2h0OiAzcHg7XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblx0XHRcdCRhY3RpdmUtZmlsdGVyLWNvdW50LWJ1YmJsZS1zaXplOiAxNXB4O1xyXG5cdFx0XHR3aWR0aDogJGFjdGl2ZS1maWx0ZXItY291bnQtYnViYmxlLXNpemU7XHJcblx0XHRcdGhlaWdodDogJGFjdGl2ZS1maWx0ZXItY291bnQtYnViYmxlLXNpemU7XHJcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0dG9wOiAxMnB4O1xyXG5cdFx0XHRsZWZ0OiAxMnB4O1xyXG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHRcdG1hcmdpbi1yaWdodDogMDtcclxuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjY7XHJcblx0XHRcdGNvbG9yOiAkY29sb3VyMTtcclxuXHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYyg5KTtcclxuXHRcdFx0bGluZS1oZWlnaHQ6ICgkYWN0aXZlLWZpbHRlci1jb3VudC1idWJibGUtc2l6ZSAtIC44KTsgLy8gU3VidHJhY2sgdGhlIGJvcmRlci5cclxuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0XHRib3JkZXItcmFkaXVzOiAkYm9yZGVyUmFkaXVzMjtcclxuXHRcdFx0Ym9yZGVyOiAuOHB4IHNvbGlkICRjb2xvdXIxO1xyXG5cdFx0fVxyXG5cdFx0XHJcblx0fVxyXG59XHJcblxyXG4uZmlsdGVycy1oZWFkZXIge1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkZmlsdGVycy1oZWFkaW5nLW1vYmlsZS1iYWNrZ3JvdW5kLWNvbG9yO1xyXG5cdEBpZiAoJHNtb290aC1lZGdlcy1lbmFibGVkKSB7XHJcblx0XHRib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuXHR9XHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjA7XHJcblx0fVxyXG5cdC5jbG9zZS1idXR0b24ge1xyXG5cdFx0QGluY2x1ZGUgY2xvc2VCdXR0b24oJGljb24tc2l6ZSwgcmdiYSgkY29sb3VyNCwgMC44KSk7XHJcblx0XHR0b3A6IDA7XHJcblx0XHRib3R0b206IDA7XHJcblx0fVxyXG59XHJcbi5maWx0ZXJzLWZvb3RlciB7XHJcblx0Ly8gT25seSBzaG93IGZvciBtb2JpbGUgZHVlIHRvIHBvcHVwLlxyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuXHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0fVxyXG5cdC5idXR0b24tY29udGFpbmVyIHtcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG5cdFx0YnV0dG9uIHtcclxuXHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdG1hcmdpbjogMDtcclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdFx0XHR3aWR0aDogYXV0bztcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG4jZmlsdGVyQmFja1RvTGlzdCB7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdC5jbG9zZS1idXR0b24ge1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHR0b3A6IGF1dG87XHJcblx0XHRyaWdodDogYXV0bztcclxuXHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0cGFkZGluZzogMTBweCAwO1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogcmdiYSgkY29sb3VyNCwgMC40KTtcclxuXHRcdGNvbG9yOiAkY29sb3VyMjtcclxuXHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpOyBcclxuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xyXG5cdH1cclxufVxyXG4uYXR0cmlidXRlTGlzdC5tZW51IHtcclxuICAgIC8vSWYgdGhlIG92ZXJmbG93IHNjcm9sbCBmdW5jdGlvbiBoYXMgYmVlbiBhY3RpdmUgYW5kIHRoZSBwYXJlbnQgbGkgaXMgbm90IGFjdGl2ZSBmb3JjZSB0aGUgYXR0cmlidXRlIHRvIGNsb3NlLlxyXG4gICAgPiB1bCA+IGxpOm5vdCguYWN0aXZlKSB7XHJcbiAgICAgICAgLmF0dHJpYnV0ZXNDb250YWluZXIge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDA7XHJcbiAgICAgICAgfVxyXG5cdH1cclxuXHQ+IGxpIHtcclxuXHRcdG1hcmdpbjogJGZpbHRlcnMtb3B0aW9uLW1vYmlsZS1tYXJnaW47XHJcblx0XHRwYWRkaW5nOiAwIDAgMTVweDsgXHJcblx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgJGZpbHRlcnMtYXR0cmlidXRlLXNlcGVyYXRvci1jb2xvdXI7XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblx0XHRcdG1hcmdpbjogMCAwICRmaWx0ZXJzLW9wdGlvbi1kZXNrdG9wLW1hcmdpbjtcclxuXHRcdH1cclxuXHRcdCY6Zmlyc3QtY2hpbGQge1xyXG5cdFx0XHRwYWRkaW5nLXRvcDogMTVweDtcclxuXHRcdH1cclxuXHRcdGxpIHtcclxuXHRcdFx0Ym9yZGVyLWJvdHRvbTogMDtcclxuXHRcdH1cclxuXHR9XHJcbiAgICB1bCB7XHJcblx0XHQvLyBwYWRkaW5nOiAxNXB4IDA7XHJcblx0XHRsaXN0LXN0eWxlOiBub25lO1xyXG5cdFx0Ym9yZGVyLXRvcDogMDtcclxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG5cdFx0fVxyXG5cdFx0bGkgeyBcclxuXHRcdFx0cGFkZGluZzogNXB4IDA7XHJcblx0XHRcdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuXHRcdFx0Jjpob3ZlciB7XHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG5cdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGZpbHRlcnMtaG92ZXItYmFja2dyb3VuZC1jb2xvdXI7XHJcblx0XHRcdFx0XHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcbiAgICAgICAgbGkuYWN0aXZlIHtcclxuXHRcdFx0YSB7XHJcblx0XHRcdFx0cGFkZGluZzogMDtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMDtcclxuXHRcdFx0XHRjb2xvcjogJGNvbG91cjI7XHJcblx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygkcGFyYWdyYXBoLWZvbnQtc2l6ZSk7XHJcblx0XHRcdH1cclxuICAgICAgICAgICAgdWwge1xyXG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogNTAwMHB4O1xyXG5cdFx0XHRcdG1hcmdpbjogMDtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgIC8vIG1heC1oZWlnaHQ6IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIGxpIHtcclxuICAgICAgICAgICAgICAgIC8vIG1pbi1oZWlnaHQ6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICAvLyBwYWRkaW5nLXRvcDogMTBweDtcclxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIC5maWx0ZXJOYW1lLCAuZmlsdGVySXRlbUNvdW50IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgICAgICB9ICAgXHJcbiAgICAgICAgICAgICAgICAgICAgLmNvbG91clByZXZpZXcge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6ICgkYXR0cmlidXRlQ29sb3VyUHJldmlld0RpbWVudGlvbnMgKiAxLjIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6ICgkYXR0cmlidXRlQ29sb3VyUHJldmlld0RpbWVudGlvbnMgKiAxLjIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyUmFkaXVzMTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblx0XHR9XHJcblx0XHRsYWJlbCB7XHJcblx0XHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRcdGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoJHBhcmFncmFwaC1mb250LXNpemUpO1xyXG5cdFx0XHRjb2xvcjogZGVmYXVsdC1jb2xvdXIoJGZpbHRlcnMtYXR0cmlidXRlcy1jb2xvdXIpO1xyXG5cdFx0XHQmOmhvdmVyIHtcclxuXHRcdFx0XHRjb2xvcjogaG92ZXItY29sb3VyKCRmaWx0ZXJzLWF0dHJpYnV0ZXMtY29sb3VyKTtcclxuXHRcdFx0fVxyXG5cdFx0XHQmOmFjdGl2ZSB7XHJcblx0XHRcdFx0Y29sb3I6IGFjdGl2ZS1jb2xvdXIoJGZpbHRlcnMtYXR0cmlidXRlcy1jb2xvdXIpO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHQuZmlsdGVyTmFtZSB7XHJcblx0XHRcdG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XHJcblx0XHR9XHJcblx0XHQuY29sb3VyLXByZXZpZXctY29udGFpbmVyIHtcclxuXHRcdFx0ZmxleC1ncm93OiAxO1xyXG5cdFx0XHRvcmRlcjogMztcclxuXHRcdH1cclxuXHRcdC5jb2xvdXJQcmV2aWV3IHtcclxuXHRcdFx0d2lkdGg6ICRmaWx0ZXJzLWNvbG91ci1wcmV2aWV3LXdpZHRoO1xyXG5cdFx0XHRoZWlnaHQ6ICRmaWx0ZXJzLWNvbG91ci1wcmV2aWV3LWhlaWdodDtcclxuXHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdG1hcmdpbjogMCAxMHB4IDAgYXV0bztcclxuXHRcdFx0Ym9yZGVyLXJhZGl1czogJGZpbHRlcnMtY29sb3VyLXByZXZpZXctYm9yZGVyLXJhZGl1cztcclxuXHRcdFx0Ym9yZGVyOiAkZmlsdGVycy1jb2xvdXItcHJldmlldy1ib3JkZXI7XHJcblx0XHRcdHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbk91dHJvO1xyXG5cdFx0XHRcclxuXHRcdH1cclxuXHRcdC5maWx0ZXJJdGVtQ291bnQge1xyXG5cdFx0XHQvLyBtYXgtd2lkdGg6IDI1cHg7XHJcblx0XHRcdC8vIHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRvcmRlcjogMjtcclxuXHRcdFx0bWFyZ2luOiAwIDAgMCA1cHg7XHJcblx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoJHBhcmFncmFwaC1mb250LXNpemUpO1xyXG5cdFx0XHR0ZXh0LWFsaWduOiByaWdodDtcclxuXHRcdH1cclxuXHRcdC5jb250cm9sIC5jaGVja2JveCB7XHJcblx0XHRcdC8vIEFkZCBtYXJnaW4gcmlnaHQgdG8gbGluZSB1cCB3aXRoIG1lbnUgY2hldnJvbnMuXHJcblx0XHRcdG1hcmdpbi1yaWdodDogMTJweDtcclxuXHRcdFx0bWFyZ2luLWxlZnQ6IGF1dG87XHJcblx0XHRcdG9yZGVyOiA0O1xyXG5cdFx0XHRzcGFuIHtcclxuXHRcdFx0XHQmOmJlZm9yZSB7XHJcblx0XHRcdFx0XHRyaWdodDogMDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuICAgIH1cclxuXHQuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50LmlzLXN1Ym1lbnUtaXRlbSB7XHJcblx0XHQmW2FyaWEtZXhwYW5kZWQ9dHJ1ZV0ge1xyXG5cdFx0XHQ+IGEge1xyXG5cdFx0XHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdCYuYWN0aXZlIHtcclxuXHRcdFx0cGFkZGluZzogMDtcclxuXHRcdH1cclxuXHR9XHJcblx0LmlzLWFjY29yZGlvbi1zdWJtZW51IHtcclxuXHRcdC8vIGhlaWdodDogMTAwJTtcclxuXHRcdC8vIHRyYW5zaXRpb246IGhlaWdodCAkdHJhbnNpdGlvbkludHJvO1xyXG5cdFx0JlthcmlhLWhpZGRlbj10cnVlXSB7XHJcblx0XHRcdGhlaWdodDogMDtcclxuXHRcdFx0dHJhbnNpdGlvbjogaGVpZ2h0ICR0cmFuc2l0aW9uT3V0cm87XHJcblx0XHR9XHJcblx0XHQmLnNjcm9sbGVyIHtcclxuXHRcdFx0b3ZlcmZsb3cteTogYXV0bztcclxuXHRcdFx0cGFkZGluZzogMCAxMHB4IDAgMDtcclxuXHRcdFx0Ly8gdHJhbnNpdGlvbjogbWF4LWhlaWdodCAkdHJhbnNpdGlvbk91dHJvO1xyXG5cdFx0XHR1bCB7XHJcblx0XHRcdFx0Ly9JZiB0aGUgc2Nyb2xsIGNsYXNzIGlzIGFwcGxpZWQgdGhlbiBmb3JjZSB0aGUgc3ViIG1lbnUgdG8gZGlzcGxheS5cclxuXHRcdFx0XHRkaXNwbGF5OiBibG9jayFpbXBvcnRhbnQ7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblx0Lm9wdGlvbkhlYWRpbmcge1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0cGFkZGluZzogJGZpbHRlcnMtb3B0aW9uLXBhZGRpbmc7XHJcblx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdHBhZGRpbmctYm90dG9tOiAxMHB4O1xyXG5cdFx0Y29sb3I6IGRlZmF1bHQtY29sb3VyKCRmaWx0ZXJzLW9wdGlvbi1oZWFkaW5nLWNvbG91cik7XHJcblx0XHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKCRmaWx0ZXJzLW9wdGlvbi1oZWFkaW5nLWZvbnQtc2l6ZSk7XHJcblx0XHRmb250LXdlaWdodDogJGZpbHRlcnMtb3B0aW9uLWhlYWRpbmctZm9udC13ZWlnaHQ7XHJcblx0XHQmOmhvdmVyIHtcclxuXHRcdFx0Y29sb3I6IGhvdmVyLWNvbG91cigkZmlsdGVycy1vcHRpb24taGVhZGluZy1jb2xvdXIpO1xyXG5cdFx0fVxyXG5cdFx0JjphY3RpdmUge1xyXG5cdFx0XHRjb2xvcjogYWN0aXZlLWNvbG91cigkZmlsdGVycy1vcHRpb24taGVhZGluZy1jb2xvdXIpO1xyXG5cdFx0fVxyXG5cdFx0c3BhbiB7XHJcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdH1cclxuXHR9XHJcblx0LnN1Ym1lbnUge1xyXG5cdFx0cGFkZGluZzogMDtcclxuXHR9XHJcblx0LnNob3dNb3JlQXR0cmlidXRlcywgLnNob3dMZXNzQXR0cmlidXRlcyB7XHJcblx0XHQmID4gYSB7XHJcblx0XHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0XHRcdGdhcDogMCAxMHB4O1xyXG5cdFx0XHRjb2xvcjogZGVmYXVsdC1jb2xvdXIoJGZpbHRlcnMtdG9nZ2xlLW1vcmUtYXR0cmlidXRlcy1jb2xvdXIpO1xyXG5cdFx0XHRmb250LXdlaWdodDogJGZpbHRlcnMtdG9nZ2xlLWF0dHJpYnV0ZXMtZm9udC13ZWlnaHQ7XHJcblx0XHRcdGZvbnQtc3R5bGU6ICRmaWx0ZXJzLXRvZ2dsZS1hdHRyaWJ1dGVzLWZvbnQtc3R5bGU7XHJcblx0XHRcdCY6aG92ZXIge1xyXG5cdFx0XHRcdGNvbG9yOiBob3Zlci1jb2xvdXIoJGZpbHRlcnMtdG9nZ2xlLW1vcmUtYXR0cmlidXRlcy1jb2xvdXIpO1xyXG5cdFx0XHR9XHJcblx0XHRcdCY6YWN0aXZlIHtcclxuXHRcdFx0XHRjb2xvcjogYWN0aXZlLWNvbG91cigkZmlsdGVycy10b2dnbGUtbW9yZS1hdHRyaWJ1dGVzLWNvbG91cik7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuLnNob3dNb3JlQXR0cmlidXRlcy5hY3RpdmUge1xyXG5cdGEge1xyXG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYygkZmlsdGVycy1yZXZlYWwtYXR0cmlidXRlcy1mb250LXNpemUpO1xyXG5cdFx0Y29sb3I6ICRjb2xvdXI0O1xyXG5cdFx0dHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuXHRcdCY6aG92ZXIge1xyXG5cdFx0XHRjb2xvcjogJGZpbHRlcnMtcmV2ZWFsLWF0dHJpYnV0ZXMtaG92ZXItY29sb3VyO1xyXG5cdFx0XHR0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG4uYWNjb3JkaW9uLW1lbnUgLmlzLWFjY29yZGlvbi1zdWJtZW51IC5zaG93TGVzc0F0dHJpYnV0ZXMgYSB7XHJcblx0cGFkZGluZzogMDtcclxufVxyXG5cclxuLnNob3dMZXNzQXR0cmlidXRlcyB7XHJcblx0YSB7XHJcblx0XHRjb2xvcjogZGVmYXVsdC1jb2xvdXIoJGZpbHRlcnMtdG9nZ2xlLW1vcmUtYXR0cmlidXRlcy1jb2xvdXIpO1xyXG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdFx0JjpiZWZvcmUge1xyXG5cdFx0XHRjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBtZW51LW9wZW4pO1xyXG5cdFx0XHRjb2xvcjogZGVmYXVsdC1jb2xvdXIoJGZpbHRlcnMtdG9nZ2xlLW1vcmUtYXR0cmlidXRlcy1pY29uLWNvbG91cik7XHJcblx0XHRcdGZvbnQtc2l6ZTogJG1lbnUtZHJvcGRvd24tYXJyb3dzLXNpemU7XHJcblx0XHRcdGZvbnQtZmFtaWx5OiBjdXN0b20taWNvbi1mYW1pbHkoJGZvbnRBd2Vzb21lU29saWQsICRzaXRlLWljb25zLWN1c3RvbS1jaGV2cm9ucyk7XHJcblx0XHRcdGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuXHRcdFx0dHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuXHRcdH1cclxuXHRcdCY6aG92ZXIge1xyXG5cdFx0XHRjb2xvcjogaG92ZXItY29sb3VyKCRmaWx0ZXJzLXRvZ2dsZS1tb3JlLWF0dHJpYnV0ZXMtY29sb3VyKTtcclxuXHRcdFx0JjpiZWZvcmUge1xyXG5cdFx0XHRcdGNvbG9yOiBob3Zlci1jb2xvdXIoJGZpbHRlcnMtdG9nZ2xlLW1vcmUtYXR0cmlidXRlcy1pY29uLWNvbG91cik7XHJcblx0XHRcdFx0dHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0JjphY3RpdmUge1xyXG5cdFx0XHRjb2xvcjogYWN0aXZlLWNvbG91cigkZmlsdGVycy10b2dnbGUtbW9yZS1hdHRyaWJ1dGVzLWNvbG91cik7XHJcblx0XHRcdCY6YmVmb3JlIHtcclxuXHRcdFx0XHRjb2xvcjogYWN0aXZlLWNvbG91cigkZmlsdGVycy10b2dnbGUtbW9yZS1hdHRyaWJ1dGVzLWljb24tY29sb3VyKTtcclxuXHRcdFx0XHR0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cdFxyXG59XHJcblx0XHJcbiNmaWx0ZXJzLWNvbnRhaW5lciB7XHJcblx0Ly8gaGVpZ2h0OiAxMDAlO1xyXG5cdGRpc3BsYXk6IGJsb2NrO1xyXG59XHJcblxyXG4jYXR0cmlidXRlLWZpbHRlcnMtZm9ybSB7XHJcblx0d2lkdGg6IDA7XHJcblx0aGVpZ2h0OiAwO1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcblx0YmFja2dyb3VuZC1jb2xvcjogJGZpbHRlcnMtbW9iaWxlLWJhY2tncm91bmQtY29sb3VyO1xyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuXHRcdHdpZHRoOiBhdXRvO1xyXG5cdFx0aGVpZ2h0OiBhdXRvO1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjA7XHJcblx0XHRvdmVyZmxvdzogdmlzaWJsZTtcclxuXHR9XHJcblx0Ji5hY3RpdmUge1xyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBkb3duKSB7XHJcblx0XHRcdG92ZXJmbG93LXk6IHNjcm9sbDtcclxuXHRcdH1cclxuXHR9XHJcblx0Ji5hY3RpdmUtdXBkYXRpbmcge1xyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBkb3duKSB7XHJcblx0XHRcdG92ZXJmbG93OiBoaWRkZW47XHJcblx0XHRcdCNmaWx0ZXJzLWNvbnRhaW5lciB7XHJcblx0XHRcdFx0b3BhY2l0eTogMC4zO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cdCYuYWN0aXZlLCAmLmFjdGl2ZS11cGRhdGluZyB7XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIGRvd24pIHtcclxuXHRcdFx0d2lkdGg6IDEwMHZ3O1xyXG5cdFx0XHRtaW4taGVpZ2h0OiAxMDAlO1xyXG5cdFx0XHRwYWRkaW5nOiAxMHB4O1xyXG5cdFx0XHRwb3NpdGlvbjogZml4ZWQ7XHJcblx0XHRcdHRvcDogMDtcclxuXHRcdFx0bGVmdDogMDtcclxuXHRcdFx0XHJcblx0XHRcdHotaW5kZXg6IDEwMDAwO1xyXG5cdFx0XHQuYXR0cmlidXRlLWxpc3QtY29udGFpbmVyIHtcclxuXHRcdFx0XHRoZWlnaHQ6IDEwMHZoO1xyXG5cdFx0XHRcdG92ZXJmbG93OiBzY3JvbGw7XHJcblx0XHRcdH1cclxuXHRcdH1cdFxyXG5cdH1cclxuXHRoMiB7XHJcblx0XHQvL21hcmdpbjogNXB4IDAgMzBweDtcclxuXHRcdHBhZGRpbmc6IDEwcHggNXB4O1xyXG5cdFx0Y29sb3I6ICRmaWx0ZXJzLWhlYWRpbmctY29sb3VyO1xyXG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYygkZmlsdGVycy1oZWFkaW5nLWZvbnQtc2l6ZSk7XHJcblx0XHRmb250LXdlaWdodDogJGZpbHRlcnMtaGVhZGluZy1mb250LXdlaWdodDtcclxuXHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3VyMDtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuXHRcdFx0cGFkZGluZzogMCAwIDVweDtcclxuXHRcdFx0Ym9yZGVyLWNvbG9yOiAkZmlsdGVycy1hdHRyaWJ1dGUtc2VwZXJhdG9yLWNvbG91cjtcclxuXHRcdH1cclxuXHR9XHJcblx0dWwgbGl7XHJcblx0XHRtYXJnaW4tbGVmdDogMDtcclxuXHRcdC8vIE92ZXJyaWRpbmcgZGVmYXVsdCBzdHlsaW5nIGZvciBtZW51cy5cclxuXHRcdCY6YWN0aXZlLCAmOmhvdmVyIHtcclxuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcblx0XHR9XHJcblx0XHQmOmFjdGl2ZSBhIHtcclxuXHRcdFx0Y29sb3I6ICRjb2xvdXIzLTY7XHJcblx0XHR9XHJcblx0fVxyXG5cdC5zaG93TW9yZUF0dHJpYnV0ZXNDb250YWluZXIge1xyXG5cdFx0cGFkZGluZy1sZWZ0OiAwO1xyXG5cdFx0bGkge1xyXG5cdFx0XHQvLyBPdmVycmlkZSBkZWZhdWx0IHJlc3BvbnNpdmUgbWVudSBzdHlsaW5nLlxyXG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDA7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcbi8vIEFwcGxpZWQgZmlsdGVyc1xyXG4jYXBwbGllZEZpbHRlcnMge1xyXG5cdC8vIG1hcmdpbjogJGZpbHRlcnMtb3B0aW9uLW1vYmlsZS1tYXJnaW47XHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG5cdFx0Ly8gbWFyZ2luOiAkZmlsdGVycy1vcHRpb24tZGVza3RvcC1tYXJnaW47XHJcblx0XHRtYXJnaW4tYm90dG9tOiAzNXB4O1xyXG5cdH1cclxuXHRoMyB7XHJcblx0XHRtYXJnaW46IDA7XHJcblx0XHRwYWRkaW5nOiAkYXR0cmlidXRlQXBwbGllZEhlYWRpbmdQYWRkaW5nO1xyXG5cdFx0Y29sb3I6ICRmaWx0ZXJzLWhlYWRpbmctY29sb3VyO1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGF0dHJpYnV0ZUFwcGxpZWRIZWFkaW5nQmFja2dyb3VuZDtcclxuXHRcdGZvbnQtd2VpZ2h0OiAkZmlsdGVycy1hcHBsaWVkLWhlYWRpbmctZm9udC13ZWlnaHQ7XHJcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKCRmaWx0ZXJzLWFwcGxpZWQtaGVhZGluZy1mb250LXNpemUpO1xyXG5cdFx0Zm9udC1zdHlsZTogJGZpbHRlcnMtYXBwbGllZC1oZWFkaW5nLWZvbnQtc3R5bGU7XHJcblx0fVxyXG5cdHVsIHtcclxuXHRcdG1hcmdpbjogMDtcclxuXHRcdHBhZGRpbmc6IDA7XHJcblx0XHRsaXN0LXN0eWxlOiBub25lO1xyXG5cdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRmaWx0ZXJzLWF0dHJpYnV0ZS1zZXBlcmF0b3ItY29sb3VyO1xyXG5cdH1cclxuXHRsaSB7XHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRtYXJnaW46IDVweCAwIDA7XHJcblx0XHQmOmhvdmVyIHtcclxuXHRcdFx0YSB7XHJcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGZpbHRlcnMtaG92ZXItYmFja2dyb3VuZC1jb2xvdXI7XHJcblx0XHRcdFx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG5cdFx0XHRcdCY6YWZ0ZXIge1xyXG5cdFx0XHRcdFx0Y29sb3I6ICRmaWx0ZXJzLXJlbW92ZS1hdHRyaWJ1dGUtaG92ZXItY29sb3VyO1xyXG5cdFx0XHRcdFx0dHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblx0YSB7XHJcblx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdHBhZGRpbmc6IDVweCAwIDVweCAwO1xyXG5cdFx0Y29sb3I6ICRmaWx0ZXJzLXJlbW92ZS1hdHRyaWJ1dGUtY29sb3VyO1xyXG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYygkZmlsdGVycy1yZW1vdmUtYXR0cmlidXRlLWZvbnQtc2l6ZSk7XHJcblx0XHRmb250LXdlaWdodDogKCRmaWx0ZXJzLXJlbW92ZS1hdHRyaWJ1dGUtd2VpZ2h0IC0gMjAwKTtcclxuXHRcdCY6YWZ0ZXIge1xyXG5cdFx0XHRjb250ZW50OiAneCc7XHJcblx0XHRcdHdpZHRoOiAxMHB4O1xyXG5cdFx0XHRoZWlnaHQ6IDEwcHg7XHJcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0dG9wOiAwO1xyXG5cdFx0XHRyaWdodDogNXB4O1xyXG5cdFx0XHRib3R0b206IDA7XHJcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHRtYXJnaW46IGF1dG87XHJcblx0XHRcdGxpbmUtaGVpZ2h0OiAwLjY7XHJcblx0XHRcdGNvbG9yOiAkZmlsdGVycy1yZW1vdmUtYXR0cmlidXRlLWljb24tY29sb3VyO1xyXG5cdFx0XHRmb250LXdlaWdodDogKCRmaWx0ZXJzLXJlbW92ZS1hdHRyaWJ1dGUtd2VpZ2h0ICsgMTAwKTtcclxuXHRcdFx0Zm9udC1zdHlsZTogbm9ybWFsO1xyXG5cdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKCRmaWx0ZXJzLXJlbW92ZS1hdHRyaWJ1dGUtZm9udC1zaXplICsgMik7XHJcblx0XHRcdHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbk91dHJvO1xyXG5cdFx0fVxyXG5cdFx0Jjpob3ZlciB7XHJcblx0XHRcdCY6YWZ0ZXIge1xyXG5cdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoJGZpbHRlcnMtcmVtb3ZlLWF0dHJpYnV0ZS1mb250LXNpemUgKyA0KTtcclxuXHRcdFx0XHRjb2xvcjogJGNvbG91cjY7XHJcblx0XHRcdFx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHQmLmNsZWFyLWFsbC1hdHRyaWJ1dGVzIHtcclxuXHRcdFx0bWFyZ2luOiAzMHB4IDAgMjBweDtcclxuXHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygkZmlsdGVycy1yZW1vdmUtYXR0cmlidXRlLWZvbnQtc2l6ZSk7XHJcblx0XHRcdGZvbnQtc3R5bGU6IGl0YWxpYztcclxuXHRcdFx0Zm9udC13ZWlnaHQ6ICRmaWx0ZXJzLXJlbW92ZS1hdHRyaWJ1dGUtd2VpZ2h0O1xyXG5cdFx0XHRjb2xvcjogJGZpbHRlcnMtcmVtb3ZlLWFsbC1jb2xvdXI7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4vLyBHb3QgdG8gY29uc3RydWN0IHRoZSBzZWxlY3RvciBpbiB0aGlzIG1hbm9yIGR1ZSB0byBmb3VuZGF0aW9uJ3Mgc3R5bGVzLlxyXG5pbnB1dC5wcmljZS1zbGlkZXItaW5wdXQge1xyXG5cdEBpZiBzbW9vdGgtZWRnZXMoKSB7XHJcblx0XHRib3JkZXItcmFkaXVzOiAwIHNtb290aC1lZGdlcygpIHNtb290aC1lZGdlcygpIDA7XHJcblx0fVxyXG59XHJcblxyXG4ucHJpY2Utc2xpZGVyLWlucHV0IHtcclxuXHRtYXgtd2lkdGg6ICRmaWx0ZXJzLXBzLWlucHV0LXdpZHRoO1xyXG5cdG1heC1oZWlnaHQ6ICRmaWx0ZXJzLXBzLWlucHV0LWhlaWdodDtcclxuXHQvLyBPdmVycmlkZSBkZWZhdWx0IHBhZGRpbmcuXHJcblx0cGFkZGluZzogMCFpbXBvcnRhbnQ7XHJcblx0Ly8gT3ZlcnJpZGluZyBkZWZhdWx0IG1hcmdpbiBmb3IgY3VycmVuY3kgb3V0cHV0LlxyXG5cdGJvcmRlci13aWR0aDogMXB4IDFweCAxcHggMCFpbXBvcnRhbnQ7XHJcblx0Ly8gRElTQUJMSU5HIEZSRUUgVEVYVCBJTlBVVCBXSUxMIElNUExFTUVOVCBJTiBQSEFTRSAyLlxyXG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG5cdCYudWktc3RhdGUtYWN0aXZlIHtcclxuXHRcdGJvcmRlci1jb2xvcjogJGZpbHRlcnMtcHMtYWN0aXZlLWNvbG91cjtcclxuXHRcdHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG5cdH1cclxuXHQmLnVpLXN0YXRlLWFjdGl2ZSArIC5jdXJyZW5jeSB7XHJcblx0XHRib3JkZXItY29sb3I6ICRmaWx0ZXJzLXBzLWFjdGl2ZS1jb2xvdXI7XHJcblx0XHR0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuXHR9XHJcblx0Ly8gU3R5bGUgdGhlIGN1cnJlbmN5IHN5bWJvbC5cclxuXHQmICsgLmN1cnJlbmN5IHtcclxuXHRcdGhlaWdodDogJGZpbHRlcnMtcHMtaW5wdXQtaGVpZ2h0O1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0XHRwYWRkaW5nOiAwIDAgMCAxMHB4O1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjE7XHJcblx0XHRib3JkZXItY29sb3I6IG1hcC1nZXQoJGlucHV0LWJvcmRlci1jb2xvdXIsIGRlZmF1bHQpO1xyXG5cdFx0Ym9yZGVyLXN0eWxlOiBzb2xpZDtcclxuXHRcdGJvcmRlci13aWR0aDogMXB4IDAgMXB4IDFweDtcclxuXHRcdEBpZiBzbW9vdGgtZWRnZXMoKSB7XHJcblx0XHRcdGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpIDAgMCBzbW9vdGgtZWRnZXMoKTtcclxuXHRcdH1cclxuXHR9XHJcblx0Jjpmb2N1cyArIC5jdXJyZW5jeSB7XHJcblx0XHRib3JkZXItY29sb3I6ICRjb2xvdXIwO1xyXG5cdFx0Ym94LXNoYWRvdzogLTE1cHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMSk7XHJcblx0XHR0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb25JbnRybztcclxuXHR9XHJcblx0JjpyZWFkLW9ubHkge1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjA7XHJcblx0fVxyXG59XHJcblxyXG4ucHJpY2UtaW5wdXQtY29udGFpbmVyIHtcclxuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHQmOm50aC1vZi10eXBlKDIpIHtcclxuXHRcdGZsb2F0OiByaWdodDtcclxuXHR9XHJcbn1cclxuXHJcbiNwcmljZS1zbGlkZXIge1xyXG5cdG1heC13aWR0aDogOTYlO1xyXG5cdG1hcmdpbi10b3A6IDI1cHg7XHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG5cdFx0bWF4LXdpZHRoOiA5MyU7XHJcblx0fVxyXG59XHJcbiNwcmljZUF0dEhpZ2gge1xyXG5cdGZsb2F0OiByaWdodDtcclxufSIsIi8qXHJcbi0tLS0tIE1vZGFscyAtLS0tLS0gXHJcbi0gVGhpcyBpcyB0aGUgbWVjaGFuaXNtIHRoYXQgZ2V0cyB1c2VkIGZvciBwb3B1cCBjb250ZW50IGluIGV4cHJlc3MuXHJcbi0gQ2FuIGJlIHVzZWQgdG8gcG9wIGZvcm0sIGNtcyBjb250ZW50LCBub3RpZmljYXRpb24gJiBwYXltZW50IGZyYW1lcy5cclxuKi9cclxuXHJcblxyXG5AbWl4aW4gcGF5bWVudC1mcmFtZS1jb250ZW50LWNvbnRhaW5lcigpIHtcclxuICAgIG1heC13aWR0aDogJHBheW1lbnQtZnJhbWUtcG9wdXAtbWF4LXdpZHRoO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjE7XHJcbiAgICBib3gtc2hhZG93OiAkYm94U2hhZG93MztcclxuICAgIG92ZXJmbG93LXk6IGF1dG87XHJcbn1cclxuXHJcbi5tb2RhbC1jb250YWluZXIge1xyXG4gICAgd2lkdGg6IDA7XHJcbiAgICBoZWlnaHQ6IDA7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICB9XHJcbiAgICAucG9wdXAtYmFja2dyb3VuZCB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAxMTUwcHg7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjE7XHJcbiAgICAgICAgYm94LXNoYWRvdzogJGJveFNoYWRvdzM7XHJcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcclxuICAgICAgICBAaWYgc21vb3RoLWVkZ2VzKCkge1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIFRoZSBhY3R1YWwgY29udGVudC5cclxuICAgIC5jb250ZW50IHtcclxuICAgICAgICAvLyBGb3JjZSBjb250ZW50IHRvIHRha2UgdXAgYXZhbGlibGUgc3BhY2Ugb3RoZXJ3aXNlIGNvbnRlbnQgY29udGFpbmVyIGNoYW5nZXMgc2l6ZSB3aGVuIGZvcm0gdmFsaWRhdGlvbiBpcyB0cmlnZ2Vycy5cclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAvL2ZsZXgtc2hyaW5rOiAxO1xyXG4gICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgICAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuYnV0dG9ucy1jb250YWluZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtZXZlbmx5O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAucGFnZS1idXR0b25zLWNvbnRhaW5lciB7XHJcbiAgICAgICAgbWFyZ2luOiAxNXB4IGF1dG8gMzBweDtcclxuICAgIH1cclxuICAgICYuYWN0aXZlIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIC8vIEFkZCBhIGJpdCBvZiBicmVhdGhpbmcgcm9vbSBpbiBtb2JpbGUuXHJcbiAgICAgICAgcGFkZGluZzogMTBweDtcclxuICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xyXG4gICAgICAgIC8vIE1ha2Ugc3VyZSBtb2RhbCBpcyBhYm92ZSBhbGwgY29udGVudC5cclxuICAgICAgICB6LWluZGV4OiAkbW9kYWwtY29udGVudC16LWluZGV4O1xyXG4gICAgICAgIC5wb3B1cC1iYWNrZ3JvdW5kIHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5hamF4IHtcclxuICAgICAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICAvLyBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIC8vIHdpZHRoOiBhdXRvOyBcclxuICAgICAgICAgICAgcGFkZGluZzogNXB4O1xyXG4gICAgICAgICAgICAvLyBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5kcm9wcGVkLXNlc3Npb24ge1xyXG4gICAgICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogY2FsYyh2YXIoLS1jb250YWluZWQtY29udGVudC1tYXgtd2lkdGgpICsgMTAwcHgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuY21zLWVudHJ5LXZpZXdlciB7XHJcbiAgICAgICAgLmNtcy1jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogJGJvZHktY29weS1tYXgtd2lkdGg7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxNXB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTVweDtcclxuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG91cjMtMjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLnNpdGUtbGlzdCB7XHJcbiAgICAgICAgJi5wdWJsaXNoLWhpc3Rvcnkge1xyXG4gICAgICAgICAgICAuY29udGVudCB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogOTAlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuc2l0ZS1pbmZvcm1hdGlvbiB7XHJcbiAgICAgICAgICAgIC5jb250ZW50IHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuZG9jdW1lbnRhdGlvbiB7XHJcbiAgICAgICAgLS1jay1jb2xvci1iYXNlLWJvcmRlcjogJGNvbG91cjM7XHJcbiAgICAgICAgJi5lbnRyeS1lZGl0b3Ige1xyXG4gICAgICAgICAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA5OCU7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogdW5zZXQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiB1bnNldDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAubW9kYWwtaGVhZGVyOmhhcyguY21zLWNvbnRlbnQtY29udGFpbmVyKSB+IC5jb250ZW50IHtcclxuICAgICAgICAgICAgICAgIC8vIEtlZXAgY29udGVudCBpbmxpbmUgY21zIGNvbnRlbnQuXHJcbiAgICAgICAgICAgICAgICBAaWYgKHNwYWNpbmctdmFsdWUoJG1vZGFsLWhlYWRlci1jbXMtbWFyZ2luLCAyKSA+IDApIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gI3tzcGFjaW5nLXZhbHVlKCRtb2RhbC1oZWFkZXItY21zLW1hcmdpbiwgMikgKiAyfSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtICN7c3BhY2luZy12YWx1ZSgkbW9kYWwtaGVhZGVyLWNtcy1tYXJnaW4sIDIsIGxhcmdlKSAqIDJ9KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuY29udGVudCB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IHVuc2V0O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAuY2stZWRpdG9yX19tYWluID4gZGl2IHtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogdmFyKC0tZWRpdG9yLWhlaWdodClcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLmluc2VydC1hcnRpY2xlLCAmLmluc2VydCwgJi5wcm9wZXJ0eS1lZGl0b3Ige1xyXG4gICAgICAgICAgICAuY2stZWRpdG9yIHtcclxuICAgICAgICAgICAgICAgIC5jay1jb250ZW50IHtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDMwdmg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICAgICAgLnJpY2gtdGV4dC1lZGl0b3ItY29udGFpbmVyIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIC8vIG1hcmdpbjogMCAwIDMwcHg7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvdXIzO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYubWVkaWEtYnJvd3NlciB7XHJcbiAgICAgICAgLm1lZGlhLWJyb3dzZXItY29udGFpbmVyIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIDEwcHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvdXIzLTE7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5zb2Z0d2FyZS1kb3dubG9hZCB7XHJcbiAgICAgICAgLnNvZnR3YXJlLWluc3RydWN0aW9ucy1jb250YWluZXIge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgMCA0MHB4O1xyXG4gICAgICAgICAgICAucmV2aXNpb24tdGV4dCB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDEwcHggMCAwIGF1dG87XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuY21zLWNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDQwdmg7XHJcbiAgICAgICAgICAgICAgICBvdmVyZmxvdy15OiBzY3JvbGw7XHJcbiAgICAgICAgICAgICAgICBwLCBsaSB7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gT3ZlcnJpZGluZyBpbmxpbmUgc3R5bGluZyB0byBwcmV2ZW50IGhvcml6b250YWwgc2Nyb2xsIGJhciBhcyB0aGlzIHNwYWNpbmcgaXMgaGFuZGxlIGJ5IHBhZGRpbmcgaW4gZXhwcmVzcy5cclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuc29mdHdhcmUtdXBkYXRlLWF2YWlsYWJsZS1kb3dubG9hZHMge1xyXG4gICAgICAgICAgICBtYXJnaW46IDIwcHggMDtcclxuICAgICAgICAgICAgdWwge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcclxuICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xyXG4gICAgICAgICAgICAgICAgZ2FwOiAxMHB4IDIwcHg7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAuc29mdHdhcmUtZG93bmxvYWQtYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogNjBweCAxZnIgMzBweDtcclxuICAgICAgICAgICAgICAgICAgICBnYXA6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvdXIzO1xyXG4gICAgICAgICAgICAgICAgICAgIEBpZiAoJHNtb290aC1lZGdlcy1lbmFibGVkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAyMHB4IDEwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSwgJjphZnRlciwgLmJ1dHRvbi1sYWJlbCwgLmJ1dHRvbi1jb250ZW50LWNvbnRhaW5lciwgLmRhdGEtdGltZS1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJGFjY291bnQtaWNvbnMsIGRpcGxvbWF0LXVwZGF0ZS1kb3dubG9hZCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkZGVwYXJ0bWVudC1zb2Z0d2FyZS1iYXNlLWNvbG91cjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRleHByZXNzLWRlZmF1bHQtaWNvbnM7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMzBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHNvZnR3YXJlLXVwZGF0ZS1kb3dubG9hZCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkZGVwYXJ0bWVudC1zb2Z0d2FyZS1iYXNlLWNvbG91cjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDIycHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBncmlkLWNvbHVtbjogMjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgLmJ1dHRvbi1sYWJlbCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDEwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkZGVwYXJ0bWVudC1zb2Z0d2FyZS1iYXNlLWNvbG91cjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IGdldC10eXBvZ3JhcGh5LWZvbnQtZmFtaWx5KCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAuYnV0dG9uLWNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgLmRhdGEtdGltZS1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91cjMtMjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgc29mdHdhcmUtcmVsZWFzZS1kYXRlLXRpbWUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lUmVndWxhcjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTVweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYucGF5bWVudCwgJi5hZGQtbmV3LWNhcmQge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmNtcy1jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyIHsgXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHBheW1lbnQtZnJhbWUtY29udGVudC1jb250YWluZXIoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmNvbnRlbnQge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAuY21zLWNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IHNwYWNpbmctdmFsdWUoJG1vZGFsLWhlYWRlci1jbXMtbWFyZ2luLCAxLCBzbWFsbCk7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBzcGFjaW5nLXZhbHVlKCRtb2RhbC1oZWFkZXItY21zLW1hcmdpbiwgMywgc21hbGwpO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogbGFyZ2UtdmFsdWUoJG1vZGFsLWhlYWRlci1jbXMtbWFyZ2luKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBpZnJhbWUgeyBcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICB3aWR0aDogJHBheW1lbnQtZnJhbWUtbWF4LXdpZHRoO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDYyMHB4O1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG8gNDBweDtcclxuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG91cjMtMTtcclxuICAgICAgICAgICAgQGlmIHNtb290aC1lZGdlcygpIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGJvcmRlciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG91cjY7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuZW5xdWlyeS1mb3JtIHtcclxuICAgICAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6ICRtb2RhbC1mb3JtLWNvbnRlbnQtY29udGFpbmVyLW1heC13aWR0aDtcclxuICAgICAgICAgICAgZm9ybSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMTBweCAwO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogJG1vZGFsLWZvcm0tZm9ybS1tYXgtd2lkdGg7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAxMHB4IGF1dG8gMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5icmFuY2gtc3dpdGNoZXIsICYuYWNjb3VudC1zd2l0Y2hlciAge1xyXG4gICAgICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDVweCA1cHggMTBweDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTBweCAxMHB4IDUwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gQW4gYXR0ZW1wdCB0byBtYWtlIHRoaXMgc2xpZ2h0bHkgbW9yZSByZXBzb25zaXZlLlxyXG4gICAgICAgIFtpbmplY3QtY29udGFpbmVyXSB7XHJcbiAgICAgICAgICAgIG92ZXJmbG93LXk6IGF1dG87XHJcbiAgICAgICAgICAgIC8vIEFkZGluZyBib3JkZXIgdG8gb3V0bGluZSB0aGUgc2Nyb2xsYWJsZSBhcmVhLlxyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMjBweDtcclxuICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy05KTtcclxuICAgICAgICAgICAgICAgIEBpZiAoJHNtb290aC1lZGdlcy1lbmFibGVkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAvLyBBZGRpbmcgZmFpbnQgaW5zZXQgYm94LXNoYWRvdyB0byBhdHRlbXB0IHRvIHNob3cgZWRpdGFibGUgYXJlYSBkdWUgdG8gYWNjZXNzaWJsaXR5IGNvbmNlcm5zLlxyXG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMHB4IDBweCAxOXB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMSlcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvLyAubW9kYWwtaGVhZGVyIHtcclxuICAgICAgICAvLyAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIC8vICAgICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDtcclxuICAgICAgICAvLyAgICAgfVxyXG4gICAgICAgIC8vIH1cclxuICAgICAgICAuYnV0dG9ucy1jb250YWluZXIge1xyXG4gICAgICAgICAgICAtLWNvbW1vbi1idXR0b24tc21hbGwtbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgICAgICAtLWNvbW1vbi1idXR0b24tbWVkaXVtLW1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1zbWFsbC1tYXJnaW4pO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICNicmFuY2gtc3dpdGNoZXItY29udGFpbmVyLCAjYWNjb3VudC1zd2l0Y2hlci1jb250YWluZXIge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDgwcHggMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuY3VycmVudC1icmFuY2gtZGV0YWlscywgLmJyYW5jaC1zd2l0Y2hlciwgLmN1cnJlbnQtYWNjb3VudC1kZXRhaWxzLCAuYWNjb3VudC1zd2l0Y2hlciB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHNwYWNpbmctdmFsdWUoJGhlYWRpbmctMy1tYXJnaW4sIDMsIFwicHJlc2V0LTJcIik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaDMge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmN1cnJlbnQtYnJhbmNoLWRldGFpbHMsIC5jdXJyZW50LWFjY291bnQtZGV0YWlscyB7XHJcbiAgICAgICAgICAgIC5hZGRyZXNzLWxpbmUge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMnB4IDA7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAubGFiZWwge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDVweDtcclxuICAgICAgICAgICAgY29sb3I6ICRicmFuY2gtc2VsZWN0b3ItbGFiZWwtY29sb3VyO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogJGJyYW5jaC1zZWxlY3Rvci1sYWJlbC13ZWlnaHQ7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAkYnJhbmNoLXNlbGVjdG9yLWxhYmVsLXdpZHRoO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jb250cm9sLXNlbGVjdC1jb250YWluZXIge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtICN7JGJyYW5jaC1zZWxlY3Rvci1sYWJlbC13aWR0aH0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxuICAgICYuZm9ybSB7XHJcbiAgICAgICAgLy8gR2VuZXJhbGlzaW5nIHRoZXNlIHN0eWxlcyB0byBiZSB1c2VkIGZvciBhbGwgZm9ybSBtb2RhbHMgZm9yIGNvbnNpc3RlbmN5LlxyXG4gICAgICAgIC8vICYuc29oLW5vdGlmaWNhdGlvbiB7XHJcbiAgICAgICAgICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6ICRtb2RhbC1mb3JtLWNvbnRlbnQtY29udGFpbmVyLW1heC13aWR0aDtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTBweDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICAgICAgICAgIGZvcm0ge1xyXG4gICAgICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDkwdmg7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiBzbWFsbC12YWx1ZSgkbW9kYWwtZm9ybS1mb3JtLW1hcmdpbik7XHJcbiAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogJG1vZGFsLWZvcm0tZm9ybS1tYXgtd2lkdGg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogbGFyZ2UtdmFsdWUoJG1vZGFsLWZvcm0tZm9ybS1tYXJnaW4pO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuY21zLWNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMTBweCAwIDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAvLyB9XHJcbiAgICB9XHJcbiAgICAmLnRhYmxlIHtcclxuICAgICAgICAuY29udGVudCB7XHJcbiAgICAgICAgICAgIHdpZHRoOmZpdC1jb250ZW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuYnJhbmNoLXN3aXRjaGVyLCAmLmFjY291bnQtc3dpdGNoZXIge1xyXG4gICAgICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMTE1MHB4O1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5tYW5hZ2UtdXNlci1icmFuY2gtc2VsZWN0ZXIge1xyXG4gICAgICAgIC5tb2RhbC1oZWFkZXIge1xyXG4gICAgICAgICAgICBoMyB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAxNXB4O1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkdXNlcnMtcG9wdXAtaGVhZGVyLXRleHQtZm9udC1zaXplKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkdXNlcnMtcG9wdXAtaGVhZGVyLXRleHQtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMzVweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IG1hcC1nZXQoJHVzZXJzLXBvcHVwLWRpbWVudGlvbnMsIHdpZHRoKTtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAkdXNlcnMtcG9wdXAtcGFkZGluZztcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHVzZXJzLXBvcHVwLWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiAkYm94U2hhZG93MztcclxuICAgICAgICAgICAgei1pbmRleDogMTUwO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiBtYXAtZ2V0KCR1c2Vycy1wb3B1cC1kaW1lbnRpb25zLCBoZWlnaHQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICN1c2Vycy1icmFuY2gtc2VhcmNoLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogJHVzZXJzLXNlYXJjaC1tYXgtd2lkdGg7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0byAxNXB4O1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgYXV0byA0MHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5zZWxlY3QtYnJhbmNoZXMtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAkdXNlcnMtcG9wdXAtdGFibGUtbWF4LXdpZHRoO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAzMDBweDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvIDIwcHg7XHJcbiAgICAgICAgICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC50YWJsZS1mb290ZXItc3BhY2VyIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAkdXNlcnMtcG9wdXAtdGFibGUtbWF4LXdpZHRoO1xyXG4gICAgICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5icmFuY2gtc2VhcmNoIHtcclxuICAgICAgICAgICAgd2lkdGg6IDkwJTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAkdXNlcnMtc2VhcmNoLWhlaWdodDtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuY29udHJvbC5jaGVja2JveCB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gRm9yY2UgY2VudGVyIGFsaWdubWVudCBkdWUgdG8gbWl4ZWQgY29udGVudCBzbyBiYXNlbGluZSBpcyBub3QgYW4gb3B0aW9uIGhlcmUuXHJcbiAgICAgICAgdGQge1xyXG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIFxyXG4gICAgJi5xdWljay1vcmRlci1zZWFyY2gtcmVzdWx0cyB7XHJcbiAgICAgICAgLm1vZGFsLWhlYWRlciB7XHJcbiAgICAgICAgICAgIC5jbXMtY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAkYm9keS1jb3B5LW1heC13aWR0aDtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAyMHB4IGF1dG87XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAzMHB4IGF1dG87XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgW2luamVjdC1jb250YWluZXJdIHtcclxuICAgICAgICAgICAgcGFkZGluZzogNXB4IDVweDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuY29udGVudCB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogJGJvZHktY29weS1tYXgtd2lkdGg7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiA0NjVweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICB9XHJcblxyXG4gICAgJi5zY2FubmVyIHtcclxuICAgICAgICAubW9kYWwtaGVhZGVyIHtcclxuICAgICAgICAgICAgLmNtcy1jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDY0MHB4O1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDIwcHggYXV0bztcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAzMHB4IGF1dG87XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmNvbnRlbnQge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDY5MHB4O1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgLy9tYXgtaGVpZ2h0OiA0NjVweDtcclxuICAgICAgICB9ICBcclxuICAgIH1cclxuXHJcbiAgICAmLmNhbGwtZm9ybSB7XHJcbiAgICAgICAgLmNvbnRlbnQge1xyXG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDVweDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMTUwcHg7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGZvcm0ge1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA5NSU7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6ICRib2R5LWNvcHktbWF4LXdpZHRoO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi52aWRlby1wbGF5ZXIge1xyXG4gICAgICAgIC5tb2RhbC1oZWFkZXIgLmNtcy1jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogJGRpc3BsYXktY21zLXNlcmllcy1leHBsYW5hdG9yeS10ZXh0LW1heC13aWR0aDtcclxuICAgICAgICAgICAgQGlmICgkZGlzcGxheS1jbXMtc2VyaWVzLWV4cGxhbmF0b3J5LXRleHQtYWxpZ25tZW50ID09IGNlbnRlcikge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGlmICgkZGlzcGxheS1jbXMtc2VyaWVzLWV4cGxhbmF0b3J5LXRleHQtYWxpZ25tZW50ID09IGNlbnRlcikge1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogJGRpc3BsYXktY21zLXNlcmllcy1leHBsYW5hdG9yeS10ZXh0LWFsaWdubWVudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDk1dnc7XHJcbiAgICAgICAgICAgIFtpbmplY3QtY29udGFpbmVyXSB7XHJcbiAgICAgICAgICAgICAgICBhc3BlY3QtcmF0aW86IDE2IC8gOTtcclxuICAgICAgICAgICAgICAgIGlmcmFtZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJG1vZGFsLWNsb3NlLWJ1dHRvbi1wb3NpdGlvbi1yaWdodDogMjBweDtcclxuICAgIC5tb2RhbC1oZWFkZXIge1xyXG4gICAgICAgIC8vIENvbG91ciBwcm9jZXNzaW5nLlxyXG4gICAgICAgICRoZWFkaW5nLWNvbG91cjogY29udHJhc3QtY2hlY2tlcigkY29sb3VyMSwgJG1vZGFsLWhlYWRlci1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAgICAgLm1vZGFsLWhlYWRpbmcge1xyXG4gICAgICAgICAgICAvLyBXb3JrIG91dCBzcGFjZSByZXF1aXJlZCBmb3IgY2xvc2UtYnV0dG9uIHRvIG1ha2Ugc3VyZSB0ZXh0IGRvZXNuJ3QgZ28gdW5kZXIuXHJcbiAgICAgICAgICAgICRjbG9zZS1idXR0b24tc2l6ZTogKCRtb2RhbC1jbG9zZS1idXR0b24tcG9zaXRpb24tcmlnaHQgKyAkaWNvbi1zaXplKTtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIDAgNXB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiA1cHggI3skY2xvc2UtYnV0dG9uLXNpemV9O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbW9kYWwtaGVhZGVyLWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgICAgICAgICBAaWYgc21vb3RoLWVkZ2VzKCkge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTZweCAjeyRjbG9zZS1idXR0b24tc2l6ZX07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgaDIge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkaGVhZGluZy1jb2xvdXI7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkbW9kYWwtaGVhZGVyLWhlYWRpbmctZm9udC1zaXplKTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRtb2RhbC1oZWFkZXItaGVhZGluZy1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgQGlmICgkbW9kYWwtaGVhZGVyLWhlYWRpbmctbGV0dGVyLXNwYWNpbmcpIHtcclxuICAgICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAkbW9kYWwtaGVhZGVyLWhlYWRpbmctbGV0dGVyLXNwYWNpbmc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcCB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJG1vZGFsLWhlYWRlci1jbXMtZm9udC1zaXplKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmNtcy1jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHNwYWNpbmctdmFsdWUoJG1vZGFsLWhlYWRlci1jbXMtbWFyZ2luLCAxLCBzbWFsbCk7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHNwYWNpbmctdmFsdWUoJG1vZGFsLWhlYWRlci1jbXMtbWFyZ2luLCAzLCBzbWFsbCk7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogbGFyZ2UtdmFsdWUoJG1vZGFsLWhlYWRlci1jbXMtbWFyZ2luKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLmRpc2FibGVkLW5vLWNvbnRlbnQsICY6ZW1wdHkge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5jbG9zZS1idXR0b24ge1xyXG4gICAgICAgIC8vIENvbG91ciBwcm9jZXNzaW5nLlxyXG4gICAgICAgICRkZWZhdWx0LWNvbG91cjogY29udHJhc3QtY2hlY2tlcigkY29sb3VyMSwgJG1vZGFsLWhlYWRlci1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAgICAgJGhvdmVyLWNvbG91cjogY29udHJhY3QtY2hlY2tlcigkY29sb3VyNiwgJG1vZGFsLWhlYWRlci1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAgICAgQGluY2x1ZGUgY2xvc2VCdXR0b24oJGljb24tc2l6ZSwgJGRlZmF1bHQtY29sb3VyLCAkaG92ZXItY29sb3VyKTtcclxuICAgICAgICB0b3A6ICN7KCRtb2RhbC1oZWFkZXItaGVhZGluZy1mb250LXNpemUgLyAyKX1weDsgLy8gVHJ5aW5nIHRvIGJlIGNsZXZlciB0aGUgZm9udC1zaXplIGNoYW5nZXMgZnJvbSBzaXRlIHRvIHNpdGUuXHJcbiAgICAgICAgcmlnaHQ6ICRtb2RhbC1jbG9zZS1idXR0b24tcG9zaXRpb24tcmlnaHQ7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB0b3A6IDE2cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIENvbmZpcm1hdGlvbiBtb2RhbHMgKCBTdWNjZXNzLCBXYXJuaW5nICYgQWxlcnQgKVxyXG4gICAgJi5jb25maXJtYXRpb24ge1xyXG4gICAgICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMTE1MHB4O1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAoJG5vdGlmaWNhdGlvbi1wcm9tcHQtcGFkZGluZyAvIDMpO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAkbm90aWZpY2F0aW9uLXByb21wdC1wYWRkaW5nO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIEJlY2F1c2Ugd2UncmUgb25seSBzaG93aW5nIGEgbWVzc2FnZSBhbmQgdGhhdHMgdGhlIGVudGlyZSBwdXJwb3NlIG9mIHRoaXNlIG1vZGFsIHRlbGwgaXQgdG8gdGFrZSB1cCB0aGUgZW50aXJlIHdpZHRoLlxyXG4gICAgICAgIC5jb250ZW50IHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gVE9ETzogVGVtcCBmaXggdW50aWwgZHluYW1pYyByZXBsYWNlcyB0aGUgY2xhc3MgLmNvbnRlbnQgIHdpdGggLm1lc3NhZ2UuXHJcbiAgICAgICAgJjpub3QoLmFqYXgpIHtcclxuICAgICAgICAgICAgLmNvbnRlbnQge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAzMHB4IGF1dG8gNTBweDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDM1cHggMTBweDtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHBhcmFncmFwaC1mb250LXNpemUpO1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRvbi1wYWdlLW5vdGlmaWNhdGlvbi1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiAkb24tcGFnZS1ub3RpZmljYXRpb24tdHJhbnNmb3JtO1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvIDUwcHg7XHJcbiAgICAgICAgICAgICAgICB9IFxyXG4gICAgICAgICAgICAgICAgcCB7IFxyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvIDEwcHggYXV0byAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTkpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9IFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5tZXNzYWdlIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgbWFyZ2luOiAzMHB4IGF1dG8gNTBweDtcclxuICAgICAgICAgICAgcGFkZGluZzogMzVweCAxMHB4O1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwYXJhZ3JhcGgtZm9udC1zaXplKTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRvbi1wYWdlLW5vdGlmaWNhdGlvbi1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRvbi1wYWdlLW5vdGlmaWNhdGlvbi10cmFuc2Zvcm07XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG8gNTBweDtcclxuICAgICAgICAgICAgfSBcclxuICAgICAgICAgICAgcCB7IFxyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvIDEwcHggYXV0byAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE5KTtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9IFxyXG4gICAgICAgIH1cclxuICAgICAgICAucHJvbXB0LWNhbmNlbC1idXR0b24ge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBjb21tb24tYnV0dG9uLTEoMjBweCAxMHB4LCAkY2FuY2VsLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgJGNhbmNlbC1idXR0b24tY29sb3VyLCAkY2FuY2VsLWJ1dHRvbi1ib3JkZXItY29sb3VyLCBcIlwiLCA3MDAsIChtb2JpbGUtd2lkdGg6IDEwMCUsIHdpZHRoOiAyMzBweCksIChzbWFsbDogMTBweCAwLCBsYXJnZTogMCA0NXB4IDIwcHgpKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmNsb3NlLWJ1dHRvbiB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGNsb3NlQnV0dG9uKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgXHJcbiAgICAmLmFsZXJ0IHtcclxuICAgICAgICAvLyBUT0RPOiBUZW1wIGZpeCB1bnRpbCBkeW5hbWljIHJlcGxhY2VzIHRoZSBjbGFzcyAuY29udGVudCAgd2l0aCAubWVzc2FnZS5cclxuICAgICAgICAmOm5vdCguYWpheCkge1xyXG4gICAgICAgICAgICAuY29udGVudCB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBhbGVydC1jbXMtY29udGFpbmVyKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLm1lc3NhZ2Uge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBhbGVydC1jbXMtY29udGFpbmVyKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5wcm9tcHQtcHJvY2VlZC1idXR0b24ge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBjb21tb24tYnV0dG9uLTEoMjBweCAxMHB4LCAkYWxlcnQtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCAkYWxlcnQtYnV0dG9uLWNvbG91ciwgKGRlZmF1bHQ6ICRjb2xvdXIzLTEsIGhvdmVyOiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDApKSxcIlwiLDcwMCwgKG1vYmlsZS13aWR0aDogMTAwJSwgd2lkdGg6IDIzMHB4KSwgKHNtYWxsOiAxMHB4IDAsIGxhcmdlOiAwIDQ1cHggMjBweCkpO1xyXG4gICAgICAgIH0gICBcclxuICAgIH1cclxuICAgICYud2FybmluZyB7XHJcbiAgICAgICAgLy8gVE9ETzogVGVtcCBmaXggdW50aWwgZHluYW1pYyByZXBsYWNlcyB0aGUgY2xhc3MgLmNvbnRlbnQgIHdpdGggLm1lc3NhZ2UuXHJcbiAgICAgICAgJjpub3QoLmFqYXgpIHtcclxuICAgICAgICAgICAgLmNvbnRlbnQge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgd2FybmluZy1jbXMtY29udGFpbmVyKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLm1lc3NhZ2Uge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSB3YXJuaW5nLWNtcy1jb250YWluZXIoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnByb21wdC1wcm9jZWVkLWJ1dHRvbiB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGNvbW1vbi1idXR0b24tMSgyMHB4IDEwcHgsICRhbGVydC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsICRhbGVydC1idXR0b24tY29sb3VyLCAoZGVmYXVsdDogJGNvbG91cjMtMSwgaG92ZXI6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMCkpLFwiXCIsNzAwLCAobW9iaWxlLXdpZHRoOiAxMDAlLCB3aWR0aDogMjMwcHgpLCAoc21hbGw6IDEwcHggMCwgbGFyZ2U6ICAwIDQ1cHggMjBweCkpO1xyXG4gICAgICAgIH0gXHJcbiAgICB9XHJcbiAgICAvLyBUaGlzIGlzIGxpa2UgYSBoYWxmIHdheSBiZXR3ZWVuIHN1Y2Nlc3MgYW5kIHdhcm5pbmcuXHJcbiAgICAmLmFjdGlvbi1yZXF1aXJlZCB7XHJcbiAgICAgICAgLy8gVE9ETzogVGVtcCBmaXggdW50aWwgZHluYW1pYyByZXBsYWNlcyB0aGUgY2xhc3MgLmNvbnRlbnQgIHdpdGggLm1lc3NhZ2UuXHJcbiAgICAgICAgJjpub3QoLmFqYXgpIHtcclxuICAgICAgICAgICAgLmNvbnRlbnQge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgd2FybmluZy1jbXMtY29udGFpbmVyKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLm1lc3NhZ2Uge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSB3YXJuaW5nLWNtcy1jb250YWluZXIoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnByb21wdC1wcm9jZWVkLWJ1dHRvbiB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGNvbW1vbi1idXR0b24tMSgyMHB4IDEwcHgsICRzdWNjZXNzLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgKGRlZmF1bHQ6ICRjb2xvdXI0LCBob3ZlcjogJGNvbG91cjEpLCAoZGVmYXVsdDogJGNvbG91cjMtMSwgaG92ZXI6IG1hcC1nZXQoJHN1Y2Nlc3MtY29sb3VyLCAwKSksXCJcIiw3MDAsIChtb2JpbGUtd2lkdGg6IDEwMCUsIHdpZHRoOiAyMzBweCksIChzbWFsbDogMTBweCAwLCBsYXJnZTogMCA0NXB4IDIwcHgpKVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuc3VjY2VzcyB7XHJcbiAgICAgICAgJjpub3QoLmFqYXgpIHtcclxuICAgICAgICAgICAgLmNvbnRlbnQge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgc3VjY2Vzcy1jbXMtY29udGFpbmVyKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLm1lc3NhZ2Uge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBzdWNjZXNzLWNtcy1jb250YWluZXIoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnByb21wdC1wcm9jZWVkLWJ1dHRvbiB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGNvbW1vbi1idXR0b24tMSgyMHB4IDEwcHgsICRzdWNjZXNzLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgKGRlZmF1bHQ6ICRjb2xvdXI0LCBob3ZlcjogJGNvbG91cjEpLCAoZGVmYXVsdDogJGNvbG91cjMtMSwgaG92ZXI6IG1hcC1nZXQoJHN1Y2Nlc3MtY29sb3VyLCAwKSksXCJcIiw3MDAsIChtb2JpbGUtd2lkdGg6IDEwMCUsIHdpZHRoOiAyMzBweCksIChzbWFsbDogMTBweCAwLCBsYXJnZTogMCA0NXB4IDIwcHgpKVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG4gICAgLy8gRGVtbyBwb3B1cC5cclxuICAgICYuZGVtbyB7XHJcbiAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMjBweCAxMHB4O1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMTVweCAxMzVweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBoMiB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGFjY2VudC1jb2xvdXItMSwgMik7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI2KTtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDM1cHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaDMge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNDsgLy8gQ2hhbmdpbmcgdG8gcHJpbWFyeSBiYXNlIGFzIGJhcmVseSBhbnkgZWxlbWVudHMgd2FzIHVzaW5nIDQtNywgdHJ5aW5nIHRvIHNpbXBsaWZ5IHRoZSB1c2Ugb2YgZXhwcmVzcydzIGNvbG91ciBwYWxsZXRlLlxyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMik7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHAge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gbWFyZ2luLWJvdHRvbTogNzBweDtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDUwcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgc3Ryb25nIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jb250ZW50IHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA4ODVweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAubW9kYWwtbG9nbyB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMzVweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMzVweDtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG8gMTBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmltYWdlLXNsb3QtMSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgYmFza2V0LWljb24pO1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IGN1c3RvbS1pY29uLWZhbWlseSgkZm9udEF3ZXNvbWVTb2xpZCwgJHNpdGUtaWNvbnMtY3VzdG9tLWJhc2tldC1pY29uKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogNzBweDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuaW1hZ2Utc2xvdC0yIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBiYW4pO1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMzVweDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhY2NlbnQtY29sb3VyLTEsIDIpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH1cclxuICAgICAgICAucHJvbXB0LWNhbmNlbC1idXR0b24ge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBjb21tb24tYnV0dG9uLTEoMjBweCAxMHB4LCAkc3VjY2Vzcy1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIChkZWZhdWx0OiAkY29sb3VyNCwgaG92ZXI6ICRjb2xvdXIxKSwgKGRlZmF1bHQ6ICRjb2xvdXIzLTEsIGhvdmVyOiBtYXAtZ2V0KCRzdWNjZXNzLWNvbG91ciwgMCkpLFwiXCIsNzAwLCAod2lkdGg6IDIzMHB4KSwgKHNtYWxsOiAxMHB4IDAsIGxhcmdlOiAwIDQ1cHggMjBweCkpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAucHJvbXB0LXByb2NlZWQtYnV0dG9uIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgY29tbW9uLWJ1dHRvbi0xKDIwcHggMTBweCwgJGNhbmNlbC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsICRjYW5jZWwtYnV0dG9uLWNvbG91ciwgJGNhbmNlbC1idXR0b24tYm9yZGVyLWNvbG91ciwgXCJcIiwgNzAwLCAod2lkdGg6IDIzMHB4KSwgKHNtYWxsOiAxMHB4IDAsIGxhcmdlOiAwIDQ1cHggMjBweCkpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tLS0gTW9kYWwgSW5mb3JtYWl0b24gLS0tLS0gXHJcbi5tb2RhbC1pbmZvcm1hdGlvbi1jb250YWluZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICAvLyBLZWVwIGNvbnNpc3RlbnQgd2l0aCBmb3Jtcy5cclxuICAgIG1hcmdpbjogc21hbGwtdmFsdWUoJG1vZGFsLWZvcm0tZm9ybS1tYXJnaW4pO1xyXG4gICAgYm9yZGVyOiAkZm9ybXMtc2luZ2xlLWNvbHVtbi1ib3JkZXI7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgbWFyZ2luOiBsYXJnZS12YWx1ZSgkbW9kYWwtZm9ybS1mb3JtLW1hcmdpbik7XHJcbiAgICB9XHJcbiAgICAvLyBUcnkgYW5kIGtlZXAgY29uc2lzdGVudCB3aXRoIGZpZWxkc2V0cy5cclxuICAgIC5pbmZvcm1hdGlvbi1zZWN0aW9uIHtcclxuICAgICAgICAvLyBEdWUgdG8gdGhlc2UgY29udGFpbmVycyBoYXZlIHN0cmluZ3MgdGhhdCBhcmUgbm90IGxvbmcgZm9yY2luZyB3aWR0aCB0byBiZSA4MHZ3LlxyXG4gICAgICAgIG1pbi13aWR0aDogODB2dztcclxuICAgICAgICB3aWR0aDogbWFwLWdldCgkZmllbGQtd2lkdGgsIG1vYmlsZSk7XHJcbiAgICAgICAgcGFkZGluZzogc21hbGwtdmFsdWUoJGZpZWxkLXNldC1wYWRkaW5nKTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1pbi13aWR0aDogdW5zZXQ7XHJcbiAgICAgICAgICAgIHdpZHRoOiBtYXAtZ2V0KCRmaWVsZC13aWR0aCwgZGVza3RvcCk7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IGxhcmdlLXZhbHVlKCRmaWVsZC1zZXQtcGFkZGluZyk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBoMiB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgcGFkZGluZzogbWFwLWdldCgkaGVhZGluZy0yLXBhZGRpbmcsIHByZXNldC00KTtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMTBweDtcclxuICAgICAgICAgICAgY29sb3I6ICRmaWVsZHNldC1oZWFkaW5nLWNvbG91cjtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGZpZWxkc2V0LWhlYWRpbmctYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZmllbGRzZXQtaGVhZGluZy1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkZmllbGRzZXQtaGVhZGluZy1mb250LXNpemUpO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiAkZmllbGRzZXQtaGVhZGluZy10ZXh0LWFsaWduO1xyXG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbWFwLWdldCgkaGVhZGluZy0yLXRleHQtdHJhbnNmb3JtLCBwcmVzZXQtNCk7XHJcbiAgICAgICAgICAgIEBpZiAoJGZpZWxkc2V0LWhlYWRpbmctYm9yZGVyLWJvdHRvbSkge1xyXG4gICAgICAgICAgICAgICAgLy8gUmUtYWRqdXN0aW5nIHRoZSBwYWRkaW5nIHRvIGFjY291bnQgZm9yIGEgcnVsZS5cclxuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA1cHg7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAkZmllbGRzZXQtaGVhZGluZy1ib3JkZXItYm90dG9tO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpZiAobWFwLWdldCgkaGVhZGluZy0yLXRleHQtdHJhbnNmb3JtLCBwcmVzZXQtNCkgPT0gXCJ1cHBlcmNhc2VcIikge1xyXG4gICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IG1hcC1nZXQoJGhlYWRpbmctMi1sZXR0ZXItc3BhY2luZywgcHJlc2V0LTQpO1xyXG4gICAgICAgICAgICAgICAgd29yZC1zcGFjaW5nOiAycHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBLZWVwIGNvbnNpc3RlbnQgd2l0aCBmb3JtIGZpZWxkcy5cclxuICAgIC5pbmZvcm1hdGlvbi1vcHRpb24ge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgLy8gZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBtYXJnaW46IHNtYWxsLXZhbHVlKCRmaWVsZC1sYWJlbC1tYXJnaW4pO1xyXG4gICAgICAgIHBhZGRpbmc6IHNtYWxsLXZhbHVlKCRmb3Jtcy1zaW5nbGUtY29sdW1uLWZpZWxkLXBhZGRpbmcpO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgICAgICAgICBtYXJnaW46IGxhcmdlLXZhbHVlKCRmaWVsZC1sYWJlbC1tYXJnaW4pO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBsYXJnZS12YWx1ZSgkZm9ybXMtc2luZ2xlLWNvbHVtbi1maWVsZC1wYWRkaW5nKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5sYWJlbCB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBzbWFsbC12YWx1ZSgkZmllbGRzZXQtbGFiZWwtd2lkdGgpO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRmaWVsZC1sYWJlbC1mb250LXNpemUpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogbGFyZ2UtdmFsdWUoJGZpZWxkc2V0LWxhYmVsLXdpZHRoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tLS0gSW5qZWN0ZWQgY29udGVudCAtLS0tLVxyXG4vLy8gVGhlIGNvbnRhaW5lciBvZiB0aGUgY29udGVudC4gXHJcbi5pbmplY3QtY29udGVudCB7XHJcbiAgICAvLyBUaGlzIGlzIGZvciBjb250ZW50IHRoYXQgaXMgaW4gYSBmb3JtIHRoYXQgZ2V0cyBpbmplY3RlZCBpbnRvIGEgbW9kYWwgdGhlbiBiYWNrIGludG8gdGhlIGZvcm0gZm9yIHNlcmlhbGlzYXRpb24uXHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG59XHJcbi8vIFRoZSBjb250YWluZXIgaW4gdGhlIG1vZGFsLlxyXG5baW5qZWN0LWNvbnRhaW5lcl0ge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xyXG4gICAgLy8gTWluIGhlaWdodCB0byBzaG93IGFqYXggc3Bpbm5lciBpZiB0aGVyZSBpcyBubyBjb250ZW50LlxyXG4gICAgbWluLWhlaWdodDogMjAwcHg7XHJcbiAgICAvLyBBZGQgZmxleGJveCBsYXlvdXQgZm9yIGZvcm1zLlxyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAmOmhhcyhkaXYuQUpBWEJsb2NrKSB7XHJcbiAgICAgICAgbWluLXdpZHRoOiAzMjBweDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1pbi13aWR0aDogNjQwcHhcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBBZGRpbmcgYWRkaXRpb25hbCBzcGFjZSB0byB0aGUgcmlnaHQgdG8gYWNjb3VudCBmb3IgYSBzY3JvbGwgYmFyLlxyXG4gICAgLm1vZGFsLWhlYWRlciB7XHJcbiAgICAgICAgLmNsb3NlLWJ1dHRvbiB7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAzMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4vLyBJbmplY3QgbW9kYWwgYnV0dG9uLlxyXG4uaW5qZWN0LWJ1dHRvbiB7XHJcbiAgICBjb2xvcjogbWFwLWdldCgkdXNlcnMtYnJhbmNoLXNlbGVjdGlvbi1idXR0b24sIGRlZmF1bHQpO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgIHotaW5kZXg6IDE7XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICAvLyBEb24ndCBhcHBseSB1bmRlcmxpbmUgYXMgdGhpcyBkb2Vzbid0IHdvcmsgd2VsbCB3aXRoIGljb25zLlxyXG4gICAgICAgIC8vdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJHVzZXJzLWJyYW5jaC1zZWxlY3Rpb24tYnV0dG9uLCBob3Zlcik7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgIH1cclxuICAgICY6YWN0aXZlIHtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkdXNlcnMtYnJhbmNoLXNlbGVjdGlvbi1idXR0b24sIGFjdGl2ZSk7XHJcbiAgICB9XHJcbiAgICAmLmZvcm0ge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcclxuICAgICAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAvLyBBZGRpbmcgNTBweCBtYXJnaW4tcmlnaHQgdG8gYWxsb3cgZm9yIHJlYWQtb25seSBpY29uLlxyXG4gICAgICAgICAgICBtYXJnaW46IDAgNTBweCAwIGF1dG87XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBwcm9jZWVkKTtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6IGN1c3RvbS1pY29uLWZhbWlseSgkZm9udEF3ZXNvbWVTb2xpZCwgJHNpdGUtaWNvbnMtY3VzdG9tLWNoZXZyb25zKTs7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJHVzZXJzLWJyYW5jaC1zZWxlY3Rpb24tYnV0dG9uLWljb24tc2l6ZTtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuLS0tLS0gTW9kdWxlcyAtLS0tLVxyXG5UaGVzZSBjYW4gYmUgdXNlZCBhbnl3aGVyZSBvbiB0aGUgc2l0ZSBoZWFkZXIsIG1haW4gY29udGVudCAmIGZvb3RlciwgdGhlc2UgaGF2ZSBhIGhhcmQgZGVwZW5kYW5jeSBvbiBmb3VuZGF0aW9uIFhZIGdyaWQgc3lzdGVtIGZvciB0aGVpciBwb3NpdGlvbmluZy5cclxuSGFuZGxlcyB0aGUgZm9sbG93aW5nOiBcclxuLSBQcm9kdWN0IC8gSW1hZ2UgY29sbGVjdGlvbnNcclxuICAtIEdyaWQgdmlld1xyXG4gIC0gU2xpZGVzaG93IHZpZXdcclxuLSBWYXJvdXMgQ01TIHR5cGVzOlxyXG4gIC0gQmxvZ1xyXG4gIC0gTmV3c1xyXG4gIC0gRXZlbnRzXHJcbiAgLSBHZW5lcmljIENNUyBlbnRyaWVzIFxyXG4tIEVCRyBJbmZvcm1hdGlvblxyXG4tIEJhY2tncm91bmRzICggQ3VycmVudGx5IG9ubHkgc3VwcG9ydCBqdXN0IGNvbG91cnMgbm90IGltYWdlcyApOiBcclxuICAtIFJvdyBCYWNrZ3JvdW5kcyBcclxuICAtIE1vZHVsZSBCYWNrZ3JvdW5kc1xyXG4qL1xyXG5cclxuLy8gU3R5bGluZyBmb3IgdGVtcGxhdGUgbW9kdWxlcyAoIENhcm91c2VscyAmIGNtcyB0ZXh0ICkgKyByb3cgYmFja2dyb3VuZHMuXHJcblxyXG4vLyAucm93LWJhY2tncm91bmQge1xyXG4vLyAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xyXG4vLyAgICAgJi5yb3ctcGFkZGluZyB7XHJcbi8vICAgICAgICAgcGFkZGluZzogbWFwLWdldCgkbW9kdWxlcy1yb3ctcGFkZGluZywgc21hbGwpIDA7IFxyXG4vLyAgICAgICAgIC8vIG1hcmdpbjogbWFwLWdldCgkbW9kdWxlcy1yb3ctbWFyZ2luLCBzbWFsbCk7XHJcbi8vICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4vLyAgICAgICAgICAgICBwYWRkaW5nOiBtYXAtZ2V0KCRtb2R1bGVzLXJvdy1wYWRkaW5nLCBsYXJnZSk7XHJcbi8vICAgICAgICAgICAgIC8vIG1hcmdpbjogbWFwLWdldCgkbW9kdWxlcy1yb3ctbWFyZ2luLCBsYXJnZSk7XHJcbi8vICAgICAgICAgfVxyXG4vLyAgICAgfVxyXG4vLyB9XHJcblxyXG4vLyBBcyB0aGF0IGlzIG1vcmUgdGhhbiBsaWtlbHkgbWFyZ2luIG9uIHRoZSBhYm92ZSBlbGVtZW50IHdlIGRvbid0IG5lZWQgdG8gYWRkIGEgbWFyZ2luIHRvcCB0byB0aGUgZmlyc3QgbW9kdWxlLlxyXG5AaWYgKCRtb2R1bGVzLWZpcnN0LXJvdy1tb2R1bGUtbWFyZ2luLXRvcCkge1xyXG4gICAgLnJvdy1iYWNrZ3JvdW5kIHtcclxuICAgICAgICAmOmZpcnN0LW9mLXR5cGUge1xyXG4gICAgICAgICAgICAubW9kdWxlLWJhY2tncm91bmQge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogJG1vZHVsZXMtZmlyc3Qtcm93LW1vZHVsZS1tYXJnaW4tdG9wO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLnJvdy1iYWNrZ3JvdW5kIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IHNwYWNpbmctdmFsdWUoJG1vZHVsZXMtY29udGFpbmVyLXBhZGRpbmcsIDEsIHNtYWxsKTtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogc3BhY2luZy12YWx1ZSgkbW9kdWxlcy1jb250YWluZXItcGFkZGluZywgMywgc21hbGwpXHJcbiAgICB9XHJcbiAgICAmLmNvbnRhaW5lci1wYWRkaW5nIHtcclxuICAgICAgICBwYWRkaW5nOiBzcGFjaW5nLXZhbHVlKCRtb2R1bGVzLWNvbnRhaW5lci1wYWRkaW5nLCAxLCBzbWFsbCkgMTBweDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiBzcGFjaW5nLXZhbHVlKCRtb2R1bGVzLWNvbnRhaW5lci1wYWRkaW5nLCAxLCBsYXJnZSk7XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiBzcGFjaW5nLXZhbHVlKCRtb2R1bGVzLWNvbnRhaW5lci1wYWRkaW5nLCAzLCBsYXJnZSlcclxuICAgICAgICB9XHJcbiAgICAgICAgLm1vZHVsZS1oZWFkaW5nIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLSN7c3BhY2luZy12YWx1ZSgkbW9kdWxlcy1jb250YWluZXItcGFkZGluZywgMSwgbGFyZ2UpfTsgXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgfVxyXG4gICAgLm1vZHVsZS1oZWFkaW5nIHtcclxuICAgICAgICBib3JkZXI6ICRtb2R1bGUtaGVhZGluZy1ib3JkZXI7XHJcbiAgICAgICAgLy8gU3VwcHJlc3MgY21zIGNvbnRlbnQgcGFkZGluZy10b3AgZHVlIHRvIGhlYWRpbmdzIG5vcm1hbGx5IGhhdmluZyB0aGUgbWFyZ2luIGJvdHRvbSBhbHJlYWR5IGFwcGxpZWQuXHJcbiAgICAgICAgJiArIC5jbXMtbW9kdWxlIHtcclxuICAgICAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbi8vIElmIG1vZHVsZSBoZWFkaW5nIGV4aXN0cyB0aGVuIHJlbW92ZSBwYWRkaW5nLlxyXG4ubW9kdWxlLWhlYWRpbmcge1xyXG4gICAgKyAuY21zLW1vZHVsZS5uZXdzLW1vZHVsZSB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAyMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbn1cclxuXHJcbi8vIFNlbGVjdGluZyBpbnNpZGUgb2YgdGhlIGdyaWQtY29udGFpbmVyIGFzIHlvdSB3aWxsIG1vc3QgbGlrZWx5IG5vdCB3YW50IHRoZSByYWRpdXMgaWYgeW91J3JlIGZ1bGwgd2lkdGguXHJcbkBpZiBzbW9vdGgtZWRnZXMoKSB7XHJcbiAgICAuZ3JpZC1jb250YWluZXIgLm1vZHVsZS1iYWNrZ3JvdW5kIHtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAkbW9kdWxlcy1tb2R1bGUtYm9yZGVyLXJhZGl1cztcclxuICAgIH1cclxuICAgIC5yb3ctYmFja2dyb3VuZCB7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJG1vZHVsZXMtcm93LWJvcmRlci1yYWRpdXM7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5tb2R1bGUtYmFja2dyb3VuZCB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcclxuICAgIC8vIEZhbGxiYWNrIGlmIG5vIG1vZHVsZSBwYWRkaW5nIGlzIHByb3ZpZGVkLlxyXG4gICAgLy8gQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgLy8gICAgIHBhZGRpbmctdG9wOiBzcGFjaW5nLXZhbHVlKCRtb2R1bGVzLW1vZHVsZS1wYWRkaW5nLCAxLCBzbWFsbCk7XHJcbiAgICAvLyAgICAgcGFkZGluZy1ib3R0b206IHNwYWNpbmctdmFsdWUoJG1vZHVsZXMtbW9kdWxlLXBhZGRpbmcsIDMsIHNtYWxsKTtcclxuICAgIC8vIH1cclxuICAgICYubW9kdWxlLXBhZGRpbmcge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IHNwYWNpbmctdmFsdWUoJG1vZHVsZXMtbW9kdWxlLXBhZGRpbmcsIDEsIGxhcmdlKTtcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IHNwYWNpbmctdmFsdWUoJG1vZHVsZXMtbW9kdWxlLXBhZGRpbmcsIDMsIGxhcmdlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLm1vZHVsZS1oZWFkaW5nIHtcclxuICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgJGNvbG91cjA7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IC0je3NwYWNpbmctdmFsdWUoJG1vZHVsZXMtbW9kdWxlLXBhZGRpbmcsIDEsIGxhcmdlKX07IFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jb250ZW50LWJhbm5lciB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDYuNSU7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMzc1cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gTm8gdG9wIGd1dHRlci5cclxuICAgICYucmVtb3ZlLW1hcmdpbi10b3Age1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICB9XHJcbiAgICAvLyBObyBib3R0b20gZ3V0dGVyLlxyXG4gICAgJi5yZW1vdmUtbWFyZ2luLWJvdHRvbSB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgIH1cclxuICAgIC8vIE5vIHRvcCArIGJvdHRvbSBndXR0ZXIuXHJcbiAgICAmLnJlbW92ZS1tYXJnaW4tYm90aCB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0tLSBDb2xsZWN0aW9ucyAtLS0tLSBcclxuLmNvbGxlY3Rpb24ge1xyXG4gICAgLy8gRGVmYXVsdCB0byBwcm9kdWN0IGFzcGVjdCByYXRpbywgb3ZlcnJpZGUgaWYgbmVlZGVkLlxyXG4gICAgLS1tZWRpYS1hc3BlY3QtcmF0aW86ICN7JHByb2R1Y3QtaW1hZ2UtYXNwZWN0LXJhdGlvfTtcclxuICAgIC8vIE1ha2Ugc3VyZSB0aGUgY29sbGVjdGlvbiBnb2VzIHRoZSBmdWxsIHdpZHRoIG9mIHRoZSBjb250YWluZXIgKCBwcm9kdWN0IGxpc3QgKVxyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICAmLnNob3ctY29sb3VycyB7XHJcbiAgICAgICAgLmNvbGxlY3Rpb24taXRlbSB7XHJcbiAgICAgICAgICAgIC5pbWFnZSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAoNXB4IC0gKCRjb2xsZWN0aW9uLWViZy1zaG93LWNvbG91cnMtYm9yZGVyLXdpZHRoICogMikpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICRncmlkLWd1dHRlci1yZXNwb25zaXZlLW1hbmlwdWxhdG9yOiAxLjMgIWRlZmF1bHQ7XHJcblxyXG4gICAgLy8gR3V0dGVyIGNvbmZpZ3VyYXRpb24uXHJcbiAgICAmLmNvbGxlY3Rpb24tcmVtb3ZlLWd1dHRlciB7XHJcbiAgICAgICAgLS1tb2R1bGUtZ3V0dGVyOiAwO1xyXG4gICAgfVxyXG5cclxuICAgICYuY29sbGVjdGlvbi1zbWFsbC1ndXR0ZXIge1xyXG4gICAgICAgIC0tbW9kdWxlLWd1dHRlcjogI3tzbWFsbC12YWx1ZSgkbW9kdWxlcy1ncmlkLWd1dHRlcil9O1xyXG4gICAgfVxyXG5cclxuICAgICYuY29sbGVjdGlvbi1tZWRpdW0tZ3V0dGVyIHtcclxuICAgICAgICAtLW1vZHVsZS1ndXR0ZXI6ICN7KG1lZGl1bS12YWx1ZSgkbW9kdWxlcy1ncmlkLWd1dHRlcikgLyAkZ3JpZC1ndXR0ZXItcmVzcG9uc2l2ZS1tYW5pcHVsYXRvcil9O1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgLS1tb2R1bGUtZ3V0dGVyOiAje21lZGl1bS12YWx1ZSgkbW9kdWxlcy1ncmlkLWd1dHRlcil9O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLmNvbGxlY3Rpb24tbGFyZ2UtZ3V0dGVyIHtcclxuICAgICAgICAtLW1vZHVsZS1ndXR0ZXI6ICN7KGxhcmdlLXZhbHVlKCRtb2R1bGVzLWdyaWQtZ3V0dGVyKSAvICRncmlkLWd1dHRlci1yZXNwb25zaXZlLW1hbmlwdWxhdG9yKX07XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAtLW1vZHVsZS1ndXR0ZXI6ICN7bGFyZ2UtdmFsdWUoJG1vZHVsZXMtZ3JpZC1ndXR0ZXIpfTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5pbWFnZS1ncmlkLW1vZHVsZSwgJi5pbWFnZS1zbGlkZXNob3ctbW9kdWxlIHtcclxuICAgICAgICAvLyBMb29rIGZvciBpbmxpbmUgc3R5bGUncyBmaXJzdCBhcyBiYW5uZXIgY2FuIGJlIHVwbG9hZGVkIGluIGFsbCBkaWZmZXJlbnQgc2l6ZXMsIHRoZW4gZGVmYXVsdCBiYWNrIHRvIGF1dG8gaWYgbm90aGluZyBpcyBwcm92aWRlZC5cclxuICAgICAgICAtLW1lZGlhLWFzcGVjdC1yYXRpbzogI3skaW1hZ2UtY29sbGVjdGlvbi1hc3BlY3QtcmF0aW99OyBcclxuICAgIH1cclxuXHJcbiAgICAuY29sbGVjdGlvbi1pdGVtIHtcclxuICAgICAgICAmLmViZyB7XHJcbiAgICAgICAgICAgIC0tbWVkaWEtYXNwZWN0LXJhdGlvOiAjeyRlYmctbWVkaWEtYXNwZWN0LXJhdGlvfTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gT3ZlcnJpZGUgZm91bmRhdGlvbidzIGNlbGwgY2FsY3VsYXRpb24gaW4gZmF2b3VyIG9mIG91dCBvd24uXHJcbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5jb2xsZWN0aW9uLWl0ZW0uY2VsbCB7XHJcbiAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICB9XHJcblxyXG4gICAgLy8gT3ZlcnJpZGUgdG8gdXNlIHRoZSBncmlkIGxheW91dCBtb2R1bGUuXHJcbiAgICAuZ3JpZC14IHtcclxuICAgICAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIEZvcm11bGEgdXNlZCBmb3IgY2FsY3VsYXRpbmcgY29sdW1uIHdpZHRocyBjb2xsZWN0aW9ucy5cclxuICAgIEBtaXhpbiBjb2xsZWN0aW9uLWdyaWQtY2VsbC1jYWxjdWxhdG9yKCRjb3VudCkge1xyXG4gICAgICAgIC8vIFRoaXMgZm9ybXVsYSBpcyBiYXNlZCBvbiB0aGlzIHN0YWNrIHBvc3QgaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvNzIxMTYxNzAvYWNjb3VudC1mb3ItZ2FwLXdoZW4tY2FsY3VsYXRpbmctZmxleC1iYXNpcy5cclxuICAgICAgICAvL3dpZHRoOiBjYWxjKCN7eHktY2VsbC1zaXplKDEgb2YgI3skY291bnR9KX0gLSB2YXIoLS1tb2R1bGUtZ3V0dGVyLCAwcHgpIC8gJGNvdW50ICogKCRjb3VudCAtIDEpKTtcclxuICAgICAgICB3aWR0aDogY2FsYygje3h5LWNlbGwtc2l6ZSgxIG9mICRjb3VudCl9IC0gdmFyKC0tbW9kdWxlLWd1dHRlciwgMHB4KSAvICN7JGNvdW50fSAqICgjeyRjb3VudH0gLSAxKSk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gSG93IG1hbnkgY29sdW1ucyBkbyB3ZSBzdXBwb3J0IGZvciBjb2xsZWN0aW9ucz9cclxuICAgICRjb2xsZWN0aW9uLW1heC1jb2x1bW4tY291bnQ6IDg7XHJcblxyXG4gICAgQG1peGluIGdyaWQtY29sdW1uLWNsYXNzZXMoJGJyZWFrcG9pbnQpIHtcclxuICAgICAgICBAZm9yICRjb2x1bW4tY291bnQgZnJvbSAxIHRocm91Z2ggJGNvbGxlY3Rpb24tbWF4LWNvbHVtbi1jb3VudCB7XHJcbiAgICAgICAgICAgIC4jeyRicmVha3BvaW50fS11cC0jeyRjb2x1bW4tY291bnR9IHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJyZWFrcG9pbnQpIHtcclxuICAgICAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgjeyRjb2x1bW4tY291bnR9LCBtaW5tYXgoMCwgMWZyKSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gU21hbGwgRGV2aWNlcyAoIFBob25lcyApXHJcbiAgICBAaW5jbHVkZSBncmlkLWNvbHVtbi1jbGFzc2VzKCdzbWFsbCcpO1xyXG4gICAgLy8gTWVkaXVtIERldmljZXMgKCBUYWJsZXRzIClcclxuICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uLWNsYXNzZXMoJ21lZGl1bScpO1xyXG4gICAgLy8gTGFyZ2UgRGV2aWNlICggRGVza3RvcHMgJiBBYm92ZSApXHJcbiAgICBAaW5jbHVkZSBncmlkLWNvbHVtbi1jbGFzc2VzKCdsYXJnZScpO1xyXG5cclxuICAgIC8vIFNwZWNpZmljYWxseSB0YXJnZXR0aW5nIGNvbGxlY3Rpb24gaW1hZ2VzICggdGhpcyBpbmNsdWRlcyBncmlkJ3MgYW5kIGNhcm91c2VscyApIHRvIGxpbWl0IHRoZSBzaXplIG9mIHRoZSBpbWFnZXMgYXMgd2UgY2Fubm90IGd1YXJhbnRlZSB0aGUgc2l6ZSBvZiBleHRlcm5hbCBkYXRhJ3MgaW1hZ2VzLlxyXG4gICAgQGZvciAkY29sdW1uLWNvdW50IGZyb20gMSB0aHJvdWdoICRjb2xsZWN0aW9uLW1heC1jb2x1bW4tY291bnQge1xyXG4gICAgICAgIC5zbWFsbC11cC0jeyRjb2x1bW4tY291bnR9LCBbYngtY29sdW1uLWNvdW50PVwiI3skY29sdW1uLWNvdW50fVwiXSB7XHJcbiAgICAgICAgICAgIC5jb2xsZWN0aW9uLWl0ZW0ge1xyXG4gICAgICAgICAgICAgICAgLnByb2R1Y3Qge1xyXG4gICAgICAgICAgICAgICAgICAgIC5pbWFnZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogbWFwLWRlZXAtZ2V0KCRjb2xsZWN0aW9uLWltYWdlLXNpemVzLCAnc21hbGwnLCAkY29sdW1uLWNvdW50KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgQGlmIG5vdCAoJGNvbGxlY3Rpb24taW1hZ2Utc2l6ZS1yZXN0cmljdGVkLWJ5LXdpZHRoLW9ubHkpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IG1hcC1kZWVwLWdldCgkY29sbGVjdGlvbi1pbWFnZS1zaXplcywgJ3NtYWxsJywgJGNvbHVtbi1jb3VudCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gRG9uJ3Qgc2V0IGZpdC1jb250ZW50IGFzIHRoaXMgY2F1c2VzIHNjYWxsaW5nIGlzc3VlcyBmb3IgYXBwbGUgZGV2aWNlcy5cclxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBoZWlnaHQ6IGZpdC1jb250ZW50O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBDdXJyZW50bHkgZG9uJ3QgZG8gYW55dGhpbmcgZGlmZmVyZW50IGZvciBtZWRpdW0gZGV2aWNlcyAoIHRhYmxldHMgKSB0byBzbWFsbCBkZXZpY2UgYnV0IHRoaXMgbWF5IG5lZWQgdG8gYmUgY2hhbmdlZCBpbiB0aGUgZnV0dXJlLlxyXG5cclxuICAgICAgICAubGFyZ2UtdXAtI3skY29sdW1uLWNvdW50fSwgW2J4LWNvbHVtbi1jb3VudD1cIiN7JGNvbHVtbi1jb3VudH1cIl0ge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAuY29sbGVjdGlvbi1pdGVtIHtcclxuICAgICAgICAgICAgICAgICAgICAucHJvZHVjdCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5pbWFnZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IG1hcC1kZWVwLWdldCgkY29sbGVjdGlvbi1pbWFnZS1zaXplcywgJ2xhcmdlJywgJGNvbHVtbi1jb3VudCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYgbm90ICgkY29sbGVjdGlvbi1pbWFnZS1zaXplLXJlc3RyaWN0ZWQtYnktd2lkdGgtb25seSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IG1hcC1kZWVwLWdldCgkY29sbGVjdGlvbi1pbWFnZS1zaXplcywgJ2xhcmdlJywgJGNvbHVtbi1jb3VudCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IFxyXG4gICAgfSBcclxuXHJcbiAgICAmLnNob3ctY29sb3VycyB7XHJcbiAgICAgICAgLy8gQXMgdGhpcyBjYW4gb25seSBiZSBFQkcgb25seSBzZWxlY3QgZWJnIGNvbGxlY3Rpb24gaXRlbXMuXHJcbiAgICAgICAgLmNvbGxlY3Rpb24taXRlbS5lYmcge1xyXG4gICAgICAgICAgICAvLyAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICAvLyAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgICAgIC8vIH1cclxuICAgICAgICAgICAgLy8gLmRlc2NyaXB0aW9uIHtcclxuICAgICAgICAgICAgLy8gICAgIGNvbG9yOiAkY29sb3VyMTtcclxuICAgICAgICAgICAgLy8gfVxyXG5cclxuICAgICAgICAgICAgLy8gQ29sb3VyIHByb2Nlc3NpbmcuXHJcbiAgICAgICAgICAgICRkZWZhdWx0LWNvbG91cjogY29udHJhc3QtY2hlY2tlcigkY29sb3VyMSwgbWFwLWdldCgkY29sbGVjdGlvbi1lYmctc2hvdy1jb2xvdXJzLWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KSk7XHJcbiAgICAgICAgICAgICRob3Zlci1jb2xvdXI6IGNvbnRyYXN0LWNoZWNrZXIoJGNvbG91cjQsIG1hcC1nZXQoJGNvbGxlY3Rpb24tZWJnLXNob3ctY29sb3Vycy1iYWNrZ3JvdW5kLWNvbG91ciwgaG92ZXIpKTtcclxuXHJcbiAgICAgICAgICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjb2xsZWN0aW9uLWViZy1zaG93LWNvbG91cnMtYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyOiAkY29sbGVjdGlvbi1lYmctc2hvdy1jb2xvdXJzLWJvcmRlci13aWR0aCBzb2xpZCBtYXAtZ2V0KCRjb2xsZWN0aW9uLWViZy1zaG93LWNvbG91cnMtYm9yZGVyLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uT3V0cm8sIGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICAgICAgLy8gT3ZlcnJpZGUgZGVmYXVsdCBzdHlsZXMgZm9yIGJvdGggY29tcGFjdCBhbmQgbm9uLWNvbXBhY3QgbW9kZXMuXHJcbiAgICAgICAgICAgICAgICAmLmNvbXBhY3QsICY6bm90KC5jb21wYWN0KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgLmRlc2NyaXB0aW9uIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRkZWZhdWx0LWNvbG91cjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjb2xsZWN0aW9uLWViZy1zaG93LWNvbG91cnMtYmFja2dyb3VuZC1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGNvbGxlY3Rpb24tZWJnLXNob3ctY29sb3Vycy1ib3JkZXItY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbkludHJvLCBib3JkZXItY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgICAgICAmLmNvbXBhY3QsICY6bm90KC5jb21wYWN0KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5kZXNjcmlwdGlvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGhvdmVyLWNvbG91cjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBcclxuICAgIC8vIEltYWdlIHNwZWNpZmljIHN0eWxlcy5cclxuICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgLy8gRG8gd2Ugcm91bmQgaW1hZ2UgY29udGFpbmVyIGVkZ2VzP1xyXG4gICAgICAgICRyb3VuZC1pbWFnZS1lZGdlczogc21vb3RoLWVkZ2VzKCRjb2xsZWN0aW9uLWNlbGwtYm9yZGVyLXJhZGl1cyk7XHJcbiAgICAgICAgJi5pbWFnZSB7XHJcbiAgICAgICAgICAgIC8vIElmIHRoZSBjb250YWluZXIgaGFzIHRoZSBpbWFnZSBjbGFzcyB0aGVuIHB1dCBhIGJvcmRlciBhbGwgdGhlIHdheSBhcm91bmQgdGhlIGNlbGwuXHJcbiAgICAgICAgICAgIEBpZiAoJGNvbGxlY3Rpb24taW1hZ2UtYm9yZGVyLXdpZHRoKSB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6ICRjb2xsZWN0aW9uLWltYWdlLWJvcmRlci13aWR0aDtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IGRlZmF1bHQtY29sb3VyKCRjb2xsZWNpdG9uLWltYWdlLWJvcmRlci1jb2xvdXIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIEhhbmRsZXMgaWYgdGhlIGN1cnJlbnQgY29udGFpbmVyIGlzIGp1c3QgZm9yIGFuIGltYWdlIG9yIHdoZXRoZXIgdGhlIGltYWdlIGlzIG5lc3RlZC5cclxuICAgICAgICAuaW1hZ2UsICYuaW1hZ2Uge1xyXG4gICAgICAgICAgICBAaWYgKCRjb2xsZWN0aW9uLWNlbGwtYm9yZGVyLXJhZGl1cykge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJHJvdW5kLWltYWdlLWVkZ2VzO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC8qIFNldHRpbmcgdGhpcyBnZW5lcmljYWxseSBmb3IgdGhlIGZvbGxvd2luZyByZWFzb25zOlxyXG4gICAgICAgICAgICAxLiBJZiBjb2xsZWN0aW9uLWNlbGwtYm9yZGVyLXJhZGl1cyBpcyBlbmFibGVkXHJcbiAgICAgICAgICAgIDIuIElmIGltYWdlIHNjYWxlIGlzIGVuYWJsZWQuXHJcbiAgICAgICAgICAgICovXHJcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgIEBpZiAoJGNvbGxlY3Rpb24taG92ZXItaW1hZ2Utb3BhY2l0eSkge1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiAkY29sbGVjdGlvbi1ob3Zlci1pbWFnZS1zY2FsZSAhPSAwIHtcclxuICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAuaW1hZ2UsICYuaW1hZ2Uge1xyXG4gICAgICAgICAgICAgICAgQGlmICgkY29sbGVjdGlvbi1ob3Zlci1pbWFnZS1vcGFjaXR5KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogJGNvbGxlY3Rpb24taG92ZXItaW1hZ2Utb3BhY2l0eTtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGlmICgkY29sbGVjdGlvbi1ob3Zlci1pbWFnZS1zY2FsZSAhPSAwKSB7XHJcbiAgICAgICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoJGNvbGxlY3Rpb24taG92ZXItaW1hZ2Utc2NhbGUpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcblxyXG5cclxuICAgIC8vIFRyaWFsaW5nIHRoaXMgZml4IHRvIGJlIGEgYml0IG1vcmUgcmUtYWN0aXZlIHRvIGNvbHVtbiBjb3VudHMgaW4gbW9iaWxlIGRldmljZSB3aGVuIHNob3dpbmcgMiBjb2x1bW5zIG9mIGluZm9ybWF0aW9uLCB3ZSBkb24ndCBkZWZpbmUgdGhlIG1vYmlsZSBjb3VudCBzbyB0aGVyZSBpcyBub3RoaW5nIHRvIGxhdGNoIG9udG8gaW4gdGhlIERPTSB3aGljaCB3b3VsZCBzdWdnZXN0IDIgY29sdW1ucyBhcyB0aGUgd2lkdGggYXJlIHByb2dyYW1hdGljYWxseSB3b3JrZWQgb3V0IGluIHRoZSBKUyBieSBkaXZpZGluZyB0aGUgZGVza3RvcCBjb3VudC5cclxuICAgIFtieC1jb2x1bW4tY291bnQ9XCI0XCJdIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcclxuICAgICAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyIC5xdWFudGl0eS1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnF1YW50aXR5LWZyZWUtdGV4dC1jb250YWluZXIgIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyBJbWFnZSAmIFByb2R1Y3QgZ3JpZCBjb2xsZWN0aW9ucywgdGhpcyBnZXRzIHVzZWQgZm9yIG1vZHVsZXMgYW5kIHByb2R1Y3QgbGlzdGluZyBwYWdlcy5cclxuLmltYWdlLWdyaWQtbW9kdWxlLCAucHJvZHVjdC1ncmlkLW1vZHVsZSwgLmNvbGxlY3Rpb24ge1xyXG4gICAgLmdyaWQtY29sbGVjdGlvbi14IHtcclxuICAgICAgICBnYXA6IHZhcigtLW1vZHVsZS1ndXR0ZXIsICN7c21hbGwtdmFsdWUoJG1vZHVsZXMtZ3JpZC1ndXR0ZXItZmFsbGJhY2spfSk7XHJcbiAgICAgICAgXHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgZ2FwOiB2YXIoLS1tb2R1bGUtZ3V0dGVyLCAje21lZGl1bS12YWx1ZSgkbW9kdWxlcy1ncmlkLWd1dHRlci1mYWxsYmFjayl9KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBnYXA6IHZhcigtLW1vZHVsZS1ndXR0ZXIsICN7bGFyZ2UtdmFsdWUoJG1vZHVsZXMtZ3JpZC1ndXR0ZXItZmFsbGJhY2spfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jb2xsZWN0aW9uLWl0ZW0uY2VsbCB7XHJcbiAgICAgICAgICAgIC8vIFVuc2V0IEZvdW5kYXRpb24ncyBYWSBHcmlkIHdpZHRoIGluIGZhdm91ciBvZiBvdXIgb3duIG1vZHVsZSdzIGdyaWQgc3lzdGVtIHRoYXQgaXMgbm90IGJhc2VkIG9uIGZsZXhib3guXHJcbiAgICAgICAgICAgIHdpZHRoOiB1bnNldDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vLyAtLS0gUHJvZHVjdCBHcmlkIENvbGxlY3Rpb24gLS0tXHJcbi5wcm9kdWN0LWdyaWQtbW9kdWxlIHtcclxuICAgIC5jZWxsIHtcclxuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLWd1dHRlcnMoJG1vZHVsZXMtZ3JpZC1ndXR0ZXIsICdwYWRkaW5nJyk7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgIH1cclxuICAgIC8vIFRPRE86IHYyIGNhbiBnbyBhZnRlciBtb2R1bGVzIHJlZmFjdG9yIGNvbXBsZXRlLi4uLlxyXG4gICAgQGluY2x1ZGUgcHJvZHVjdC1jb2xsZWN0aW9uLWNlbGwoaWYoJGNvbGxlY3Rpb24tZWJnLWdyaWQtc3VwcHJlc3MtYmFja2dyb3VuZCwgdHJ1ZSwgZmFsc2UpLCB0cnVlKTtcclxuICAgIC8vIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAvLyAgICAgLy8gRm9yIGJveCBzaGFkb3cuXHJcbiAgICAvLyAgICAgQGluY2x1ZGUgY2Fyb3VzZWwtY29sbGVjdGlvbi1zaGFkb3coKTtcclxuICAgIC8vIH1cclxufVxyXG4ucHJvZHVjdC1ncmlkLW1vZHVsZSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIHtcclxuICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgLy8gTWFraW5nIGFuIGFzc3VtcHRpb24gdGhhdCB0aGUgZmlyc3QgYW5jaG9yIGlzIGFuIGltYWdlLlxyXG4gICAgICAgID4gYTpmaXJzdC1vZi10eXBlIHtcclxuICAgICAgICAgICAgLy8gQ2VudGVyIGltYWdlIGluc2lkZSBvZiBhbmNob3IganVzdCBpbiBjYXNlIHRoZSBpbWFnZSBpcyBub3QgdGhlIGNvcnJlY3Qgc2l6ZSB0byBwcmV2ZW50IGl0IGZyb20gYmVpbmcgYXJyYW5nZWQgbGVmdC5cclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgIEBpZiAoc21hbGwtdmFsdWUoJGNvbGxlY3Rpb24taW1hZ2UtY2VsbC1tYXJnaW4pKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IHNtYWxsLXZhbHVlKCRjb2xsZWN0aW9uLWltYWdlLWNlbGwtbWFyZ2luKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBwYWRkaW5nOiAkY29sbGVjdGlvbi1pbWFnZS1jZWxsLXBhZGRpbmc7XHJcbiAgICAgICAgICAgICY6bm90KDpoYXMoaW1nKSkge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBAaWYgKGxhcmdlLXZhbHVlKCRjb2xsZWN0aW9uLWltYWdlLWNlbGwtbWFyZ2luKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogbGFyZ2UtdmFsdWUoJGNvbGxlY3Rpb24taW1hZ2UtY2VsbC1tYXJnaW4pO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5AaWYgKCRjb2xsZWN0aW9uLXByb2R1Y3QtYm9yZGVyLXdpZHRoKSB7XHJcbiAgICAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUsIC5wcm9kdWN0LWdyaWQtbW9kdWxlIHtcclxuICAgICAgICAuY29sbGVjdGlvbi1pdGVtOm5vdCguZWJnKSAuY29udGVudC1jb250YWluZXIucHJvZHVjdCB7XHJcbiAgICAgICAgICAgIEBpZiAoc3BhY2luZy12YWx1ZSgkY29sbGVjdGlvbi1wcm9kdWN0LWJvcmRlci13aWR0aCwgMikgPT0gMCBhbmQgc3BhY2luZy12YWx1ZSgkY29sbGVjdGlvbi1wcm9kdWN0LWJvcmRlci13aWR0aCwgMykgIT0gMCkge1xyXG4gICAgICAgICAgICAgICAgLy8gSWYgdGhlcmUgYXJlIG5vIGJvcmRlciBvbiB0aGUgc2l6ZSBidXQgYXQgdGhlIGJvdHRvbSB0aGVuIHlvdSBtb3N0IGxpa2VseSBuZWVkIGFkZHRpb25hbCBwYWRkaW5nIHRvIHB1c2ggdGhlIHJ1bGUgYXdheSBmcm9tIHRoZSBjb250ZW50LlxyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAkY29sbGVjdGlvbi1wcm9kdWN0LWJvcmRlci13aWR0aDtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRjb2xsZWN0aW9uLXByb2R1Y3QtYm9yZGVyLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkY29sbGVjdGlvbi1wcm9kdWN0LWJvcmRlci1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLy8gLS0tIEltYWdlIEdyaWQgQ29sbGVjdGlvbiAtLS0gXHJcbi5pbWFnZS1ncmlkLW1vZHVsZSB7XHJcbiAgICAuY2VsbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1ndXR0ZXJzKDIwcHgsICdwYWRkaW5nJyk7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgIH1cclxuICAgIC5pbWFnZSB7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgfVxyXG4gICAgLmNvbnRlbnQtY29udGFpbmVyICB7XHJcbiAgICAgICAgLy8gQWRkaW5nIHdpZHRoIGZpdC1jb250ZW50IGlmIGJvcmRlciBpcyBhcHBsaWVkIG90aGVyd2lzZSBhIGdhcCBSICsgTCBpcyBjcmVhdGVkIGluIG1vYmlsZSBkdWUgdG8gb25seSBzdXBseWluZyBvbmUgaW1hZ2Ugc2l6ZSBmb3IgbW9iaWxlICYgZGVza3RvcC5cclxuICAgICAgICAvLyB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgIC8vIEBpZiAoJGNvbGxlY3Rpb24taW1hZ2UtYm9yZGVyLXdpZHRoKSB7XHJcbiAgICAgICAgLy8gICAgIGJvcmRlci13aWR0aDogJGNvbGxlY3Rpb24taW1hZ2UtYm9yZGVyLXdpZHRoO1xyXG4gICAgICAgIC8vICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgICAgIC8vICAgICBib3JkZXItY29sb3I6IGRlZmF1bHQtY29sb3VyKCRjb2xsZWNpdG9uLWltYWdlLWJvcmRlci1jb2xvdXIpO1xyXG4gICAgICAgIC8vIH1cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgQGlmICgkY29sbGVjdGlvbi1pbWFnZS1ib3JkZXItd2lkdGgpIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogaG92ZXItY29sb3VyKCRjb2xsZWNpdG9uLWltYWdlLWJvcmRlci1jb2xvdXIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gLmNvbnRlbnQtY29udGFpbmVyICB7XHJcbiAgICAvLyAgICAgQGlmICRjb2xsZWN0aW9uLWhvdmVyLWltYWdlLXNjYWxlICE9IDAge1xyXG4gICAgLy8gICAgICAgICBpbWcge1xyXG4gICAgLy8gICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAvLyAgICAgICAgIH1cclxuICAgIC8vICAgICB9XHJcbiAgICAvLyAgICAgJjpob3ZlciB7XHJcbiAgICAvLyAgICAgICAgIEBpZiAkY29sbGVjdGlvbi1ob3Zlci1pbWFnZS1zY2FsZSAhPSAwIHtcclxuICAgIC8vICAgICAgICAgICAgIGltZyB7XHJcbiAgICAvLyAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgkY29sbGVjdGlvbi1ob3Zlci1pbWFnZS1zY2FsZSk7XHJcbiAgICAvLyAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAvLyAgICAgICAgICAgICB9XHJcbiAgICAvLyAgICAgICAgIH1cclxuICAgIC8vICAgICB9XHJcbiAgICAvLyB9XHJcbn1cclxuXHJcbi5tb2R1bGUtY29udGVudC1jb250YWluZXIge1xyXG4gICAgJjpub3QoW3N0eWxlKj1cImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1wiXSkge1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBwYWRkaW5nOiBzbWFsbC12YWx1ZSgkbW9kdWxlcy1jb250ZW50LWJhY2tncm91bmQtY29sb3VyLXBhZGRpbmcpO1xyXG4gICAgICAgIEBpZiAoc21vb3RoLWVkZ2VzKCkpIHtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IG1lZGl1bS12YWx1ZSgkbW9kdWxlcy1jb250ZW50LWJhY2tncm91bmQtY29sb3VyLXBhZGRpbmcpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IGxhcmdlLXZhbHVlKCRtb2R1bGVzLWNvbnRlbnQtYmFja2dyb3VuZC1jb2xvdXItcGFkZGluZyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLy8gLS0tLS0gQ29udGVudCBNYW5hZ21lZW50IE1vZHVsZSAoIENNUyApIC0tLS0tXHJcbi5jbXMtbW9kdWxlIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgLy8gVGFrZSB1cCBhbGwgYXZhaWxhYmxlIHNwYWNlLlxyXG4gICAgZmxleC1ncm93OiAxO1xyXG4gICAgLy8gQGluY2x1ZGUgY21zLWFuY2hvcigpO1xyXG4gICAgQGluY2x1ZGUgY21zLWhlYWRpbmdzKCk7XHJcbiAgICBAaW5jbHVkZSBjbXMtcGFyYWdyYXBoKCk7XHJcbiAgICBAaW5jbHVkZSBjbXMtbGlzdHMoKTtcclxuICAgIEBpbmNsdWRlIGNtcy10YWJsZSgpO1xyXG4gICAgQGluY2x1ZGUgY21zLWJsb2NrcXVvdGUoKTtcclxuICAgIEBpbmNsdWRlIGNtcy1pbWFnZS1nYWxsYXJ5KCk7XHJcbiAgICBAaW5jbHVkZSBjbXMteW91dHViZS12aWRlbygpO1xyXG4gICAgQGluY2x1ZGUgY21zLWNvZGUoKTtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgfVxyXG4gICAgYSB7XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGgyIHtcclxuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogKG1hcC1nZXQoJGNtcy1oZWFkaW5nLXVuZGVybGluZSwgaDIpID09IHRydWUsbm9uZSx1bmRlcmxpbmUpO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI2O1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBoMyB7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IChtYXAtZ2V0KCRjbXMtaGVhZGluZy11bmRlcmxpbmUsIGgzKSA9PSB0cnVlLG5vbmUsdW5kZXJsaW5lKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGgyIHtcclxuICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xyXG4gICAgICAgIEBpZiAkY21zLW1vZHVsZS1oZWFkaW5nLWNvbG91ciB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY21zLW1vZHVsZS1oZWFkaW5nLWNvbG91cjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgLy8gbWFyZ2luOiBhdXRvIDA7XHJcbiAgICAgICAgLy8gVGFrZSB1cCBhbGwgYXZhaWxhYmxlIHNwYWNlLlxyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgQGlmICgkY21zLW1vZHVsZS1jb250ZW50LWp1c3RpZnktY29udGVudCkge1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6ICRjbXMtbW9kdWxlLWNvbnRlbnQtanVzdGlmeS1jb250ZW50O1xyXG4gICAgICAgIH1cclxuICAgICAgICAuY29udGVudC1oZWFkaW5nIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuZXZlbnRzLW1vZHVsZSB7XHJcbiAgICAgICAgZ2FwOiBzbWFsbC12YWx1ZSgkbW9kdWxlcy1ldmVudHMtZ2FwKTtcclxuICAgICAgICBwYWRkaW5nOiBzbWFsbC12YWx1ZSgkbW9kdWxlcy1ldmVudHMtcGFkZGluZyk7XHJcbiAgICAgICAgQGlmIChtYXAtZ2V0KCRjbXMtbW9kdWxlLXNob3ctYm9yZGVyLCBldmVudHMpKSB7XHJcbiAgICAgICAgICAgIGJvcmRlcjogbWFwLWdldCgkY21zLW1vZHVsZS1zaG93LWJvcmRlciwgZXZlbnRzKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgICAgICAgICAvKiogV29yayBvdXQgdGhlIGNvbHVtbiB3aWR0aCwgdGhpcyB3YXMgb3JpZ2luYWxseSBkZXNpZ25lZCBmb3IgYSAyIGNvbHVtbiBsYXlvdXQgd2hpY2ggZ29lcyBkb3duIHRvIGEgc2luZ2xlIGNvbHVtbiBpbiB0aGUgZm9sbG93aW5nIHNpdHVhdGlvbnNcclxuICAgICAgICAgICAgLSBJbiBtb2JpbGVcclxuICAgICAgICAgICAgLSBXaGVuIHRoZSBtb2R1bGUgY29udGFpbmVyIGlzIG5vIGxvbmdlciB3aWRlIGVub3VnaCB0byBzaG93IHRvIGNvbHVtbnMgd2l0aCBhIHdpZHRoIG9mIHRoZSBjYWxjdWxhdGVkIGNvbHVtbiB3aWR0aCBiZWxsb3cuXHJcbiAgICAgICAgICAgICoqL1xyXG4gICAgICAgICAgICAkY29sdW1uLXdpZHRoOiAoJGdsb2JhbC13aWR0aCAvIDIpIC0gKGxhcmdlLXZhbHVlKCRtb2R1bGVzLWV2ZW50cy1wYWRkaW5nKSkgLSBsYXJnZS12YWx1ZSgkbW9kdWxlcy1ldmVudHMtZ2FwKTtcclxuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heChtaW4tY29udGVudCwgJGNvbHVtbi13aWR0aCkpO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBsYXJnZS12YWx1ZSgkbW9kdWxlcy1ldmVudHMtcGFkZGluZyk7XHJcbiAgICAgICAgICAgIGdhcDogbGFyZ2UtdmFsdWUoJG1vZHVsZXMtZXZlbnRzLWdhcCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGgzIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMjBweDtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgNDBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBvcmRlcjogMjtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmNvbnRlbnQtYmFubmVyIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIG9yZGVyOiAxO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IG1hcC1nZXQoJG1vZHVsZXMtY21zLWFzc29jaWF0ZWQtYmFubmVyLWhlaWdodCwgZXZlbnRzKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuaW1hZ2Uge1xyXG4gICAgICAgICAgICAgICAgQGlmIChtYXAtZGVlcC1nZXQoJGNtcy1tb2R1bGVzLWFzc29jaWF0ZWQtYmFubmVyLWJvcmRlci13aWR0aCwgXCJldmVudHNcIiwgXCJzbWFsbFwiKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNtcy1tb2R1bGVzLWFzc29jaWF0ZWQtYmFubmVyLWJvcmRlci1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6IG1hcC1kZWVwLWdldCgkY21zLW1vZHVsZXMtYXNzb2NpYXRlZC1iYW5uZXItYm9yZGVyLXdpZHRoLCBcImV2ZW50c1wiLCBcInNtYWxsXCIpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIEBpZiAobWFwLWRlZXAtZ2V0KCRjbXMtbW9kdWxlcy1hc3NvY2lhdGVkLWJhbm5lci1ib3JkZXItd2lkdGgsIFwiZXZlbnRzXCIsIFwibGFyZ2VcIikpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiBtYXAtZGVlcC1nZXQoJGNtcy1tb2R1bGVzLWFzc29jaWF0ZWQtYmFubmVyLWJvcmRlci13aWR0aCwgXCJldmVudHNcIiwgXCJsYXJnZVwiKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBvYmplY3QtZml0OiBtYXAtZ2V0KCRtb2R1bGVzLWNtcy1hc3NvY2lhdGVkLWJhbm5lci1vYmplY3QtZml0LCBldmVudHMpO1xyXG4gICAgICAgICAgICAgICAgICAgIG9iamVjdC1wb3NpdGlvbjogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5yZWFkLW1vcmUtY29udGVudCB7XHJcbiAgICAgICAgICAgIHAge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkY21zLW1vZHVsZS1wYXJhZ3JhcGgtZm9udC1zaXplKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkY21zLW1vZHVsZS1wYXJhZ3JhcGgtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmJsb2ctbW9kdWxlIHtcclxuICAgICAgICAvLyBUbyBmb3JjZSB0aGUgYWRkaXRpb25hbCBzcGFjZSB0aGF0IG5vcm1hbGx5IG9ubHkgZ2V0cyBhcHBsaWVkIGlmIG1vZHVsZXMgaGFzIGEgYmFja2dyb3VuZC5cclxuICAgICAgICBAaWYgJG1vZHVsZXMtYmxvZy15LWd1dHRlciB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHNwYWNpbmctdmFsdWUoJG1vZHVsZXMtYmxvZy1tYXJnaW4sIDEsIHNtYWxsKTtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogc3BhY2luZy12YWx1ZSgkbW9kdWxlcy1ibG9nLW1hcmdpbiwgMywgc21hbGwpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgKHNwYWNpbmctdmFsdWUoJG1vZHVsZXMtYmxvZy1tYXJnaW4sIDIsIHNtYWxsKSkge1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHNwYWNpbmctdmFsdWUoJG1vZHVsZXMtYmxvZy1tYXJnaW4sIDIsIHNtYWxsKTtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IHNwYWNpbmctdmFsdWUoJG1vZHVsZXMtYmxvZy1tYXJnaW4sIDIsIHNtYWxsKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmIChtYXAtZ2V0KCRjbXMtbW9kdWxlLXNob3ctYm9yZGVyLCBibG9nKSkge1xyXG4gICAgICAgICAgICBib3JkZXI6IG1hcC1nZXQoJGNtcy1tb2R1bGUtc2hvdy1ib3JkZXIsIGJsb2cpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgKHNwYWNpbmctdmFsdWUoJG1vZHVsZXMtYmxvZy1tYXJnaW4sIDIsIGxhcmdlKSkge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBAaWYgJG1vZHVsZXMtYmxvZy15LWd1dHRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogc3BhY2luZy12YWx1ZSgkbW9kdWxlcy1ibG9nLW1hcmdpbiwgMSwgbGFyZ2UpO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHNwYWNpbmctdmFsdWUoJG1vZHVsZXMtYmxvZy1tYXJnaW4sIDMsIGxhcmdlKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogc3BhY2luZy12YWx1ZSgkbW9kdWxlcy1ibG9nLW1hcmdpbiwgMiwgbGFyZ2UpO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IHNwYWNpbmctdmFsdWUoJG1vZHVsZXMtYmxvZy1tYXJnaW4sIDIsIGxhcmdlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcclxuICAgICAgICB9XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAmOmhhcyguY29udGVudC1iYW5uZXIpIHtcclxuICAgICAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBmbGV4OiAkY21zLW1vZHVsZS1jb250ZW50LWNvbnRhaW5lci1mbGV4O1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIFVuc2V0IHRoZSBtYXgtaGVpZ2h0IGlmIHRoZXJlIGlzIGEgYmFubmVyLCB0byB0aGVuIG1hdGNoIHRoZSBiYW5uZXIncyBoZWlnaHQuXHJcbiAgICAgICAgICAgICAgICAgICAgLnJlYWQtbW9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6ICRtb2R1bGVzLWJsb2ctY29udGVudC1yZWFkLW1vcmUtbWF4LWhlaWdodC13aXRoLWJhbm5lcjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLnJlYWQtbW9yZS1jb250ZW50IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6ICRtb2R1bGVzLWJsb2ctY29udGVudC1yZWFkLW1vcmUtbWF4LWhlaWdodC13aXRoLWJhbm5lcjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBzbWFsbC12YWx1ZSgkbW9kdWxlcy1ibG9nLWNvbnRlbnQtcGFkZGluZyk7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IGxhcmdlLXZhbHVlKCRtb2R1bGVzLWJsb2ctY29udGVudC1wYWRkaW5nKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBoMiB7XHJcbiAgICAgICAgICAgICAgICBAaWYgKCRtb2R1bGVzLWJsb2ctaGVhZGluZy1mb250LXNpemUpIHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRtb2R1bGVzLWJsb2ctaGVhZGluZy1mb250LXNpemUpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgQGlmICgkbW9kdWxlcy1ibG9nLWhlYWRpbmctZm9udC13ZWlnaHQpIHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJG1vZHVsZXMtYmxvZy1oZWFkaW5nLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5yZWFkLW1vcmUge1xyXG4gICAgICAgICAgICAgICAgLy8gRGVmYXVsdCBoZWlnaHQuXHJcbiAgICAgICAgICAgICAgICAkcmVhZC1tb3JlLWhlaWdodDogMzAwcHg7XHJcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAkcmVhZC1tb3JlLWhlaWdodDtcclxuICAgICAgICAgICAgICAgIC8vIEFkZCBtYXggaGVpZ2h0IHRvIGNvbnRlbnQgb3RoZXJ3aXNlIGZhZGUgZWZmZWN0IHdpbGwgYmUgaW4gdGhlIG92ZXJmbG93LlxyXG4gICAgICAgICAgICAgICAgLnJlYWQtbW9yZS1jb250ZW50IHtcclxuICAgICAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAkcmVhZC1tb3JlLWhlaWdodDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuY29udGVudC1iYW5uZXIge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IG1hcC1nZXQoJG1vZHVsZXMtY21zLWFzc29jaWF0ZWQtYmFubmVyLWhlaWdodCwgYmxvZyk7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuaW1hZ2Uge1xyXG4gICAgICAgICAgICAgICAgQGlmIChtYXAtZGVlcC1nZXQoJGNtcy1tb2R1bGVzLWFzc29jaWF0ZWQtYmFubmVyLWJvcmRlci13aWR0aCwgXCJibG9nXCIsIFwic21hbGxcIikpIHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRjbXMtbW9kdWxlcy1hc3NvY2lhdGVkLWJhbm5lci1ib3JkZXItY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiBtYXAtZGVlcC1nZXQoJGNtcy1tb2R1bGVzLWFzc29jaWF0ZWQtYmFubmVyLWJvcmRlci13aWR0aCwgXCJibG9nXCIsIFwic21hbGxcIik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGlmIChtYXAtZGVlcC1nZXQoJGNtcy1tb2R1bGVzLWFzc29jaWF0ZWQtYmFubmVyLWJvcmRlci13aWR0aCwgXCJibG9nXCIsIFwibGFyZ2VcIikpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiBtYXAtZGVlcC1nZXQoJGNtcy1tb2R1bGVzLWFzc29jaWF0ZWQtYmFubmVyLWJvcmRlci13aWR0aCwgXCJibG9nXCIsIFwibGFyZ2VcIik7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgIG9iamVjdC1maXQ6IG1hcC1nZXQoJG1vZHVsZXMtY21zLWFzc29jaWF0ZWQtYmFubmVyLW9iamVjdC1maXQsIGJsb2cpO1xyXG4gICAgICAgICAgICAgICAgICAgIG9iamVjdC1wb3NpdGlvbjogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIEBpZiBzbW9vdGgtZWRnZXMoKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAgc21vb3RoLWVkZ2VzKCkgc21vb3RoLWVkZ2VzKCkgMDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAucmVhZC1tb3JlLWNvbnRlbnQge1xyXG4gICAgICAgICAgICBwIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGNtcy1tb2R1bGUtcGFyYWdyYXBoLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJGNtcy1tb2R1bGUtcGFyYWdyYXBoLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5uZXdzLW1vZHVsZSB7XHJcbiAgICAgICAgQGlmICRtb2R1bGVzLW5ld3MteS1ndXR0ZXIge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiBzcGFjaW5nLXZhbHVlKCRtb2R1bGVzLW5ld3MtbWFyZ2luLCAxLCBzbWFsbCk7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHNwYWNpbmctdmFsdWUoJG1vZHVsZXMtbmV3cy1tYXJnaW4sIDMsIHNtYWxsKTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogc3BhY2luZy12YWx1ZSgkbW9kdWxlcy1uZXdzLW1hcmdpbiwgMSwgbGFyZ2UpO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogc3BhY2luZy12YWx1ZSgkbW9kdWxlcy1uZXdzLW1hcmdpbiwgMywgbGFyZ2UpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiAobWFwLWdldCgkY21zLW1vZHVsZS1zaG93LWJvcmRlciwgbmV3cykpIHtcclxuICAgICAgICAgICAgYm9yZGVyOiBtYXAtZ2V0KCRjbXMtbW9kdWxlLXNob3ctYm9yZGVyLCBuZXdzKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpoYXMoLmNvbnRlbnQtYmFubmVyKSB7XHJcbiAgICAgICAgICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZmxleDogJGNtcy1tb2R1bGUtY29udGVudC1jb250YWluZXItZmxleDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jb250ZW50LWJhbm5lciB7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogbWFwLWdldCgkbW9kdWxlcy1jbXMtYXNzb2NpYXRlZC1iYW5uZXItaGVpZ2h0LCBuZXdzKTtcclxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBvYmplY3QtZml0OiBtYXAtZ2V0KCRtb2R1bGVzLWNtcy1hc3NvY2lhdGVkLWJhbm5lci1vYmplY3QtZml0LCBuZXdzKTtcclxuICAgICAgICAgICAgICAgICAgICBvYmplY3QtcG9zaXRpb246IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuaW1hZ2Uge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDkwJTtcclxuICAgICAgICAgICAgICAgIEBpZiAobWFwLWRlZXAtZ2V0KCRjbXMtbW9kdWxlcy1hc3NvY2lhdGVkLWJhbm5lci1ib3JkZXItd2lkdGgsIFwibmV3c1wiLCBcInNtYWxsXCIpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY21zLW1vZHVsZXMtYXNzb2NpYXRlZC1iYW5uZXItYm9yZGVyLWNvbG91cjtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogbWFwLWRlZXAtZ2V0KCRjbXMtbW9kdWxlcy1hc3NvY2lhdGVkLWJhbm5lci1ib3JkZXItd2lkdGgsIFwibmV3c1wiLCBcInNtYWxsXCIpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgICAgICAgICAgICAgICAgICBAaWYgKG1hcC1kZWVwLWdldCgkY21zLW1vZHVsZXMtYXNzb2NpYXRlZC1iYW5uZXItYm9yZGVyLXdpZHRoLCBcIm5ld3NcIiwgXCJsYXJnZVwiKSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6IG1hcC1kZWVwLWdldCgkY21zLW1vZHVsZXMtYXNzb2NpYXRlZC1iYW5uZXItYm9yZGVyLXdpZHRoLCBcIm5ld3NcIiwgXCJsYXJnZVwiKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLnJlYWQtbW9yZS1jb250ZW50IHtcclxuICAgICAgICAgICAgcCB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRjbXMtbW9kdWxlLXBhcmFncmFwaC1mb250LXNpemUpO1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRjbXMtbW9kdWxlLXBhcmFncmFwaC1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBoMyB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogJG1vZHVsZXMtbmV3LWhlYWRpbmctbWFyZ2luO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICBAaWYgKCRtb2R1bGVzLW5ld3MtaGVhZGluZy1mb250LWZhbWlseSkge1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRtb2R1bGVzLW5ld3MtaGVhZGluZy1mb250LWZhbWlseTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuZW50cnktbW9kdWxlIHtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiBzcGFjaW5nLXZhbHVlKCRjbXMtbW9kdWxlLWVudHJ5LXBhZGRpbmcsIDIsIHNtYWxsKTtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IHNwYWNpbmctdmFsdWUoJGNtcy1tb2R1bGUtZW50cnktcGFkZGluZywgMiwgc21hbGwpO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgLy8gcGFkZGluZzogbWFwLWdldCgkY21zLW1vZHVsZS1wYWRkaW5nLCBsYXJnZSk7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IHNwYWNpbmctdmFsdWUoJGNtcy1tb2R1bGUtZW50cnktcGFkZGluZywgMiwgbGFyZ2UpO1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHNwYWNpbmctdmFsdWUoJGNtcy1tb2R1bGUtZW50cnktcGFkZGluZywgMiwgbGFyZ2UpO1xyXG4gICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBBcyBhIHJ1bGUgb2YgdGh1bWIgaWYgd2UgYWxpZ24gdGV4dCBjZW50ZXIgd2Ugc2hvdWxkIGp1c3RpZnkgdGhlIGVudGlyZSBjb250ZW50IGFzIHdlbGwuXHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgZ2FwOiAyMHB4O1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIGdhcDogNDBweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIC0tLSBUZXh0IGFsaWdubWVudCAtLS1cclxuICAgICAgICAmLnRleHQtYWxpZ24tbGVmdCB7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICAgIC5yZWFkLW1vcmUtYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi50ZXh0LWFsaWduLXJpZ2h0IHtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICAgICAgICAgIC5yZWFkLW1vcmUtYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYudGV4dC1hbGlnbi1jZW50ZXIge1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIC5yZWFkLW1vcmUtYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyAtLS0gTGF5b3V0IFN0eWxlcyAtLS0gXHJcbiAgICAgICAgLy8gQ29udGVudCBib3R0b20sIGltYWdlIHRvcC5cclxuICAgICAgICAmLm11bHRpbWVkaWEtdG9wIHtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xyXG4gICAgICAgICAgICAuY29udGVudC1jb250YWluZXIsICYuaGFzLWltYWdlIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICBmbGV4OiAxO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5yZWFkLW1vcmUge1xyXG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogc21hbGwtdmFsdWUoJGNtcy1tb2R1bGUtZW50cnktcmVhZC1tb3JlLW1heC1oZWlnaHQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBDb250ZW50IExlZnQsIGltYWdlIHJpZ2h0LlxyXG4gICAgICAgICYubXVsdGltZWRpYS1yaWdodCB7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICAgICY6aGFzKC5jb250ZW50LWJhbm5lcikge1xyXG4gICAgICAgICAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZsZXg6ICRjbXMtbW9kdWxlLWNvbnRlbnQtY29udGFpbmVyLWZsZXg7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTBweCAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5jb250ZW50LWJhbm5lciB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gQGlmICgkY21zLW1vZHVsZS1jb250ZW50LWJhbm5lci1taW4taGVpZ2h0KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gICAgIG1pbi1oZWlnaHQ6ICRjbXMtbW9kdWxlLWNvbnRlbnQtYmFubmVyLW1pbi1oZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gfVxyXG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnJlYWQtbW9yZSB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWF4LWhlaWdodDogc21hbGwtdmFsdWUoJGNtcy1tb2R1bGUtZW50cnktcmVhZC1tb3JlLW1heC1oZWlnaHQpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5yZWFkLW1vcmUtYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIENvbnRlbnQgVG9wLCBpbWFnZSBib3R0b20uXHJcbiAgICAgICAgJi5tdWx0aW1lZGlhLWJvdHRvbSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIGZsZXgtZ3JvdzogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAucmVhZC1tb3JlIHtcclxuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDI1MHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBDb250ZW50IFJpZ2h0LCBpbWFnZSBsZWZ0LlxyXG4gICAgICAgICYubXVsdGltZWRpYS1sZWZ0IHtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6aGFzKC5jb250ZW50LWJhbm5lcikge1xyXG4gICAgICAgICAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZsZXg6ICRjbXMtbW9kdWxlLWNvbnRlbnQtY29udGFpbmVyLWZsZXg7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICAuaW1hZ2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG5cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmNvbnRlbnQtYmFubmVyIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAvLyBAaWYgKCRjbXMtbW9kdWxlLWNvbnRlbnQtYmFubmVyLW1pbi1oZWlnaHQpIHtcclxuICAgICAgICAgICAgICAgICAgICAvLyAgICAgbWluLWhlaWdodDogJGNtcy1tb2R1bGUtY29udGVudC1iYW5uZXItbWluLWhlaWdodDtcclxuICAgICAgICAgICAgICAgICAgICAvLyB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnJlYWQtbW9yZSB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWF4LWhlaWdodDogc21hbGwtdmFsdWUoJGNtcy1tb2R1bGUtZW50cnktcmVhZC1tb3JlLW1heC1oZWlnaHQpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5yZWFkLW1vcmUtYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYubGF5b3V0LXN0eWxlIHtcclxuICAgICAgICAgICAgLy8gT3ZlcnJpZGluZyBvbGQgc3R5bGVzLlxyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA1MHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5jb250ZW50LWJhbm5lciB7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IHVuc2V0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgLy8gZmxleC1ncm93OiAwO1xyXG4gICAgICAgICAgICAvLyBUT0RPOiB0aGlzIG5lZWRzIHRvIGJlIHJlZmFjdG9yZWQuXHJcbiAgICAgICAgICAgIC8vIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgLy8gICAgIGZsZXg6ICRjbXMtbW9kdWxlLWNvbnRlbnQtY29udGFpbmVyLWZsZXg7XHJcbiAgICAgICAgICAgIC8vIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIFN1cHByZXNzaW5nIHRoaXMgYXMgdXNlcidzIHdvdWxkIHVwbG9hZCBpbWFnZXMgdGhhdCBhcmUgdG9vIGJpZyBmb3IgdGhlIGNvbnRlbnQgYXJlYSB3aGljaCB0aGVuIGNhdXNlcyB0aGUgaW1hZ2UgdG8gb3ZlcmZsb3cgdGhlIGNvbnRhaW5lcidzIGJvdW5kYXJpZXMuIDg2NTA0MlxyXG4gICAgICAgIC8vIC5jb250ZW50LWJhbm5lciB7XHJcbiAgICAgICAgLy8gICAgIC5pbWFnZSB7XHJcbiAgICAgICAgLy8gICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgLy8gICAgICAgICAgICAgaGVpZ2h0OiBmaXQtY29udGVudDtcclxuICAgICAgICAvLyAgICAgICAgIH1cclxuICAgICAgICAvLyAgICAgfVxyXG4gICAgICAgIC8vIH1cclxuXHJcbiAgICAgICAgJi5jb21wYWN0IHtcclxuICAgICAgICAgICAgLy8gRGVmYXVsdCBndXR0ZXIuXHJcbiAgICAgICAgICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogNDBweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC8vIE92ZXJyaWRlIGxpc3QgcGFkZGluZyBydWxlcyBkdWUgdG8gY2F1c2luZyBsYXlvdXQgbm90IHRvIGFiaWRlIGJ5IHRoZSBmbGV4LWJhc2lzIHJ1bGVzIGlucGxhY2UsIGJhc2ljYWxseSBuZXN0ZWQgdWwncyB3aWxsIGNhdXNlIHRoZSBjb250ZW50IHRvIHRha2UgdXAgdG9vIG11Y2ggc3BhY2UuXHJcbiAgICAgICAgICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuY29udGVudC1iYW5uZXIge1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAzNzVweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLnJpZ2h0LWFsaWduZWQsICYubGVmdC1hbGlnbmVkLCAmLmNvbXBhY3Qge1xyXG4gICAgICAgICAgICAmOmhhcyguY29udGVudC1iYW5uZXIpIHtcclxuICAgICAgICAgICAgICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogNTAlO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuY29udGVudC1iYW5uZXIge1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBtYXAtZ2V0KCRtb2R1bGVzLWNtcy1hc3NvY2lhdGVkLWJhbm5lci1oZWlnaHQsIGVudHJ5KTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogJGNtcy1tb2R1bGUtY29udGVudC1iYW5uZXItbWFyZ2luO1xyXG4gICAgICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG9iamVjdC1maXQ6IG1hcC1nZXQoJG1vZHVsZXMtY21zLWFzc29jaWF0ZWQtYmFubmVyLW9iamVjdC1maXQsIGVudHJ5KTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gSGFzIGFzc29jaWF0ZWQgYmFubmVyLlxyXG4gICAgICAgIC8vICYuaGFzLWltYWdlIHtcclxuICAgICAgICAvLyAgICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAvLyAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAvLyAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA0MHB4O1xyXG4gICAgICAgIC8vICAgICAgICAgfVxyXG4gICAgICAgIC8vICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgIC8vIH1cclxuICAgICAgICAucmVhZC1tb3JlLWJ1dHRvbiB7XHJcbiAgICAgICAgICAgIC8vIEJ5IGRlZmF1bHQuXHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLnJpZ2h0LWFsaWduZWQsICYubGVmdC1hbGlnbmVkIHtcclxuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgIC5jb250ZW50LWhlYWRpbmcge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGZsZXg6IGF1dG87XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmNtcy1jb250ZW50IHtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgIGZsZXg6IDAgMCA2MCU7XHJcbiAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLnJpZ2h0LWFsaWduZWQge1xyXG4gICAgICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIG9yZGVyOiAyO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmNvbnRlbnQtYmFubmVyIHtcclxuICAgICAgICAgICAgb3JkZXI6IDE7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmxlZnQtYWxpZ25lZCB7XHJcbiAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgLy8gbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgLy8gbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDQwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJiArIC5jb250ZW50LWJhbm5lciB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyAmOm5vdCguaGFzLWltYWdlKSB7XHJcbiAgICAvLyAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgLy8gfVxyXG4gICAgJi5jb2x1bW4ge1xyXG4gICAgICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmNvbnRlbnQtYmFubmVyIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDgwcHg7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBtYXJnaW46IDQwcHggYXV0byA2MHB4O1xyXG4gICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogNDcwcHg7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgXHJcbiAgICAmLnJvdy1pbnZlcnQge1xyXG4gICAgICAgIC8vIHBhZGRpbmctYm90dG9tOiA0MHB4O1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICAvLyBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XHJcbiAgICAgICAgICAgIC8vIC5jb250ZW50LWJhbm5lciB7XHJcbiAgICAgICAgICAgIC8vICAgICBtYXgtd2lkdGg6IDU0MHB4O1xyXG4gICAgICAgICAgICAvLyAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIC8vICAgICBoZWlnaHQ6IDI5MHB4O1xyXG4gICAgICAgICAgICAgICAgLy8ganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAvLyBtYXJnaW4tbGVmdDogNi41JTtcclxuICAgICAgICAgICAgLy8gfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuY29sdW1uLWludmVydCB7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA0MHB4O1xyXG4gICAgICAgIC5jb250ZW50LWJhbm5lciB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogNTQwcHg7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG8gMDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAzOTBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIFRoaXMgbmVlZHMgdG8gZ28gYWZ0ZXIgODE3MTM4IGlzIGxpdmUuXHJcbiAgICAmOm5vdCguY29sdW1uKTpub3QoLmNvbHVtbi1pbnZlcnQpOm5vdCgucm93LWludmVydCk6bm90KC5sYXlvdXQtc3R5bGUpLmhhcy1pbWFnZSB7XHJcbiAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgLy8gT3RoZXJ3aXNlIGluIElFIHRoZSBjb250ZW50IGdvZXMgb3V0IG9mIHRoZSBtb2R1bGUgd2lkdGguXHJcbiAgICAgICAgICAgIGZsZXg6IDE7XHJcbiAgICAgICAgICAgIC8vIENhbm5vdCBzdXBwcmVzcyB0aGlzIHdpdGhvdXQgdXNpbmcgdGhlIG5ldyBsYXlvdXQtc3R5bGUgb3B0aW9ucy5cclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgZmxleDogJGNtcy1tb2R1bGUtY29udGVudC1jb250YWluZXItZmxleDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBcclxuICAgICY6bm90KC5sZWZ0LWFsaWduZWQpIHtcclxuICAgICAgICAmLmhhcy1pbWFnZSB7XHJcbiAgICAgICAgICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICAgICAgLy8gQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgLy8gICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgLy8gfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuY29sdW1uLWludmVydCB7XHJcbiAgICAgICAgICAgIC5jb250ZW50LWJhbm5lciB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgYXV0byAzMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jb250ZW50LWJhbm5lciB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIC8vIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAvLyBwYWRkaW5nOiAyMHB4IDAgMDtcclxuICAgICAgICAgICAgLy8gQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAvLyAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgLy8gfVxyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgIH1cclxuXHJcbiAgICAvLyBJbWFnZSBtYW5hZ2VtZW50LmNhcm91c2VsLW1vZHVsZVxyXG4gICAgLmNvbnRlbnQtYmFubmVyIHtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIC5pbWFnZSB7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgICAgICAgICAgXHJcbiAgICAgICAgICAgIHBsYWNlLWNvbnRlbnQ6IG5vcm1hbDtcclxuICAgICAgICB9XHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgLy8gRG9udCBzZXQgaGVpZ2h0IDEwMCUgYXMgaXQgd2lsbCBjYXVzZSBsYXJnZSBzcGFjZXMgYmVsbG93IC8gYWJvdmUgZm9yIEFwcGxlIGRldmljZXMgaW4gbW9iaWxlIHRoaXMgaXMgYW1wbGlmaWVkIGRlcGVuZGluZyBvbiBob3cgb3ZlcnNpemVkIHRoZSB0aGUgaW1hZ2UgaXMuXHJcbiAgICAgICAgICAgIC8vIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgb2JqZWN0LWZpdDogY29udGFpbjtcclxuICAgICAgICAgICAgb2JqZWN0LXBvc2l0aW9uOiB0b3AgbGVmdDsgLy8gVGhpcyBuZWVkcyB0byBiZSBzZXQgZm9yIGlmIHRoZSBjb25maWd1cmF0aW9uIGluIGRlc2t0b3AgZGVjaWRlcyB0byB1c2UgY29udGFpbiBpbnN0ZWFkIG9mIGNvdmVyLlxyXG4gICAgICAgICAgICAvLyBCZWNhdXNlIElFIGRvZXNuJ3QgaGF2ZSBzdXBwb3J0IGZvciBvYmplY3QtZml0LlxyXG4gICAgICAgICAgICBAbWVkaWEgYWxsIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpLCAoLW1zLWhpZ2gtY29udHJhc3Q6IGFjdGl2ZSkge1xyXG4gICAgICAgICAgICAgICAgLy8gSUUxMCtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgXHJcbiAgICAucmVhZC1tb3JlIHtcclxuICAgICAgICAvLyBtYXgtaGVpZ2h0OiA3NSU7XHJcbiAgICAgICAgZmxleDogMTtcclxuICAgICAgICAvL21hcmdpbjogMCAwIDE1cHg7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIH1cclxuICAgIC5tb2R1bGUtbmF2aWdhdGlvbiB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcclxuICAgICAgICBtYXJnaW4tdG9wOiBhdXRvO1xyXG4gICAgfVxyXG4gICAgLnJlYWQtbW9yZS1idXR0b24ge1xyXG4gICAgICAgIC8vIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgfVxyXG4gICAgLmJsb2ctYnV0dG9uLCAubmV3cy1idXR0b24sIC5ldmVudHMtYnV0dG9uIHtcclxuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgICBsaW5lLWhlaWdodDogMTtcclxuICAgIH1cclxufVxyXG5cclxuXHJcbi8vIFN1cHByZXNzaW5nIGFzIHRoaXMgZG9lc24ndCB3b3JrIGZvciAxMiBjb2x1bW4gbW9kdWxlcywgdGhlcmUgaXMgSlMgaW4gcGxhY2UgdG8gZGV0ZWN0IHdoZXRoZXIgYSBtb2R1bGUgaGFzIGJlZW4gZXF1YWxpc2VkLlxyXG4vLyBUaGlzIGlzIHRvIHByZXZlbnQgbG9uZyBjbXMgZW50cmllcyBmcm9tIGRpY3RhdGluZyB0aGUgaGVpZ2h0IG9mIHR3byBjZWxscyBpLmUgd2hlbiB5b3UgaGF2ZSBhIGNvbGxlY3Rpb24gdG8gdGhlIHJpZ2h0IGFuZCBjbXMgdG8gdGhlIGxlZnQsIG9uY2UgZXF1YWxpc2F0aW9uIGhhcyBmaW5pc2hlZCB0aGUgY29udGVudCBpcyByZS1lbmFibGVkIGFuZCB0aGUgcmVhZCBtb3JlIGZhZGUgaXMgdGhlbiBhcHBsaWVkLCB0aGUgb3RoZXJ3YXkgYXJvdW5kIHRoaXMgd291bGQgYmUgbm90IHRvIHByb3ZpZGUgYXMgbXVjaCBtYXJrdXAgZnJvbSBhIGNtcyBlbnRyeSBidXQgdGhhdCBnZXRzIGNvbXBsZXggaW4gdGVybXMgb2YgZ2VuZXJhdGluZyBpbnZhbGlkIEhUTUwuXHJcbi8vIC5tb2R1bGUtYmFja2dyb3VuZCB7XHJcbi8vICAgICAmW2RhdGEtZXF1YWxpemVyLXdhdGNoXTpub3QoW3N0eWxlKj1cImhlaWdodFwiXSkge1xyXG4vLyAgICAgICAgIC5yZWFkLW1vcmUtY29udGVudCB7XHJcbi8vICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbi8vICAgICAgICAgfVxyXG4vLyAgICAgfVxyXG4vLyB9XHJcblxyXG4ucm93LWJhY2tncm91bmQuY29udGFpbmVyLXBhZGRpbmcge1xyXG4gICAgLmNtcy1tb2R1bGUuaGFzLWltYWdlOm5vdCguY29sdW1uKTpub3QoLnJvdy1pbnZlcnQpIHtcclxuICAgICAgICAuY29udGVudC1iYW5uZXIge1xyXG4gICAgICAgICAgICB3aWR0aDogNTkwcHg7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAvLyBtYXJnaW4tcmlnaHQ6IDYuNSU7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDM3MHB4O1xyXG4gICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogMzc1cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vLyAtLS0tLSBNb2R1bGUgQmFja2dyb3VuZHMgLS0tLS0gXHJcbi5yb3ctYmFja2dyb3VuZCB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAvLyAmOmZpcnN0LW9mLXR5cGUge1xyXG4gICAgLy8gICAgICY6bm90KFtzdHlsZSo9XCJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcIl0pIHtcclxuICAgIC8vICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgLy8gICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XHJcbiAgICAvLyAgICAgICAgIH1cclxuICAgIC8vICAgICB9XHJcbiAgICAvLyB9XHJcbiAgICAmOm5vdChbc3R5bGUqPVwiYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XCJdKSB7XHJcbiAgICAgICAgQGlmIChzbWFsbC12YWx1ZSgkbW9kdWxlcy1yb3ctYmFja2dyb3VuZC1jb2xvdXItcGFkZGluZykpIHtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IHNtYWxsLXZhbHVlKCRtb2R1bGVzLXJvdy1iYWNrZ3JvdW5kLWNvbG91ci1wYWRkaW5nKTtcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IHNtYWxsLXZhbHVlKCRtb2R1bGVzLXJvdy1iYWNrZ3JvdW5kLWNvbG91ci1wYWRkaW5nKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogbGFyZ2UtdmFsdWUoJG1vZHVsZXMtcm93LWJhY2tncm91bmQtY29sb3VyLXBhZGRpbmcpO1xyXG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogbGFyZ2UtdmFsdWUoJG1vZHVsZXMtcm93LWJhY2tncm91bmQtY29sb3VyLXBhZGRpbmcpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAubW9kdWxlLWJhY2tncm91bmQge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyAuY21zLXN1YnNpZGlhcnktbW9kdWxlIHtcclxuICAgICAgICAvLyAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XHJcbiAgICAgICAgLy8gICAgIG1hcmdpbi1sZWZ0OiA1cHg7XHJcbiAgICAgICAgLy8gICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAvLyAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcclxuICAgICAgICAvLyAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4OyBcclxuICAgICAgICAvLyAgICAgfVxyXG4gICAgICAgIC8vIH1cclxuICAgIH1cclxuICAgIFxyXG4gICAgLy8gLS0tIFBhZGRpbmcgY29uZmlndXJhdGlvbiAtLS0gXHJcbiAgICAmLnJlbW92ZS1wYWRkaW5nLXRvcCB7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5yZW1vdmUtcGFkZGluZy1ib3R0b20ge1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYucmVtb3ZlLXBhZGRpbmctYm90aCB7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcbiAgICAucm93LWJhY2tncm91bmQtaW1hZ2Uge1xyXG4gICAgICAgICZbc3R5bGUqPVwiYmFja2dyb3VuZC1pbWFnZVwiXSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5tb2R1bGUtYmFja2dyb3VuZCB7XHJcbiAgICAvLyBNYWtlIHN1cmUgdG8gc3BhbiB0aGUgZW50aXJlIHdpZHRoIG9mIHRoZSBjb250YWluZXIgYXMgdGhpcyBjYW4gY2F1c2VcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgbWFyZ2luLXRvcDogc21hbGwtdmFsdWUoJG1vZHVsZXMtbW9kdWxlLW1hcmdpbik7XHJcbiAgICBtYXJnaW4tYm90dG9tOiBzbWFsbC12YWx1ZSgkbW9kdWxlcy1tb2R1bGUtbWFyZ2luKTtcclxuICAgIC8vIFJlbW92aW5nIGFzIGl0IHdhcyBnZXR0aW5nIGluIHRoZSB3YXkgb2YgbW9kdWxlIGNvbmZpZ3VyYXRpb24uXHJcbiAgICAvLyB6LWluZGV4OiAxO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IHNwYWNpbmctdmFsdWUoJG1vZHVsZXMtbW9kdWxlLW1hcmdpbiwgMSwgbGFyZ2UpO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IHNwYWNpbmctdmFsdWUoJG1vZHVsZXMtbW9kdWxlLW1hcmdpbiwgMywgbGFyZ2UpO1xyXG4gICAgfVxyXG4gICAgLy8gWW91IGRvbnQgbmVlZCBhcyBtdWNoIGFkZGl0aW9uYWwgcGFkZGluZyBpZiBubyBjb2xvdXIgaXMgc2V0LlxyXG4gICAgJltzdHlsZSo9XCJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcIl0ge1xyXG4gICAgICAgIC5jbXMtbW9kdWxlIHtcclxuICAgICAgICAgICAgJi5lbnRyeS1tb2R1bGUge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IHNwYWNpbmctdmFsdWUoJGNtcy1tb2R1bGUtZW50cnktcGFkZGluZywgMSwgc21hbGwpO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IHNwYWNpbmctdmFsdWUoJGNtcy1tb2R1bGUtZW50cnktcGFkZGluZywgMywgc21hbGwpO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiBzcGFjaW5nLXZhbHVlKCRjbXMtbW9kdWxlLWVudHJ5LXBhZGRpbmcsIDEsIGxhcmdlKTtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogc3BhY2luZy12YWx1ZSgkY21zLW1vZHVsZS1lbnRyeS1wYWRkaW5nLCAzLCBsYXJnZSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLm5ld3MtbW9kdWxlIHtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBzcGFjaW5nLXZhbHVlKCRtb2R1bGVzLW5ld3MtbWFyZ2luLCAyLCBzbWFsbCk7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBzcGFjaW5nLXZhbHVlKCRtb2R1bGVzLW5ld3MtbWFyZ2luLCA0LCBzbWFsbCk7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogc3BhY2luZy12YWx1ZSgkbW9kdWxlcy1uZXdzLW1hcmdpbiwgMiwgbGFyZ2UpO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IHNwYWNpbmctdmFsdWUoJG1vZHVsZXMtbmV3cy1tYXJnaW4sIDQsIHNtYWxsKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgIH1cclxuXHJcbiAgICAmOm5vdChbc3R5bGUqPVwiYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XCJdKSwgJi5oYXMtYmFja2dyb3VuZC1pbWFnZSB7XHJcbiAgICAgICAgLy8gQWRkIGEgc21hbGwgZ3V0dGVyIHRvIHRoZSByaWdodCArIGxlZnQgdG8gYWxsb3cgZm9yIHRoZSBiYWNrZ3JvdW5kIHRvIGJsZWVkIGFyb3VuZCBpdC5cclxuICAgICAgICBwYWRkaW5nOiBzbWFsbC12YWx1ZSgkbW9kdWxlcy1tb2R1bGUtYmFja2dyb3VuZC1jb2xvdXItcGFkZGluZyk7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgcGFkZGluZzogbWVkaXVtLXZhbHVlKCRtb2R1bGVzLW1vZHVsZS1iYWNrZ3JvdW5kLWNvbG91ci1wYWRkaW5nKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBsYXJnZS12YWx1ZSgkbW9kdWxlcy1tb2R1bGUtYmFja2dyb3VuZC1jb2xvdXItcGFkZGluZylcclxuICAgICAgICB9XHJcbiAgICAgICAgLmNtcy1tb2R1bGUge1xyXG4gICAgICAgICAgICAmLmVudHJ5LW1vZHVsZSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogc3BhY2luZy12YWx1ZSgkY21zLW1vZHVsZS1lbnRyeS1wYWRkaW5nLCAxLCBzbWFsbCk7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogc3BhY2luZy12YWx1ZSgkY21zLW1vZHVsZS1lbnRyeS1wYWRkaW5nLCAzLCBzbWFsbCk7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IHNwYWNpbmctdmFsdWUoJGNtcy1tb2R1bGUtZW50cnktcGFkZGluZywgMSwgbGFyZ2UpO1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiBzcGFjaW5nLXZhbHVlKCRjbXMtbW9kdWxlLWVudHJ5LXBhZGRpbmcsIDMsIGxhcmdlKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAubmV3cy1tb2R1bGUge1xyXG4gICAgICAgICAgICBtYXJnaW46IHNwYWNpbmctdmFsdWUoJG1vZHVsZXMtbmV3cy1tYXJnaW4sIDAsIHNtYWxsKTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiBzcGFjaW5nLXZhbHVlKCRtb2R1bGVzLW5ld3MtbWFyZ2luLCAwLCBsYXJnZSk7ICBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBTdXBwcmVzcyBzaGFkb3cgYXMgdGhpcyBkb2Vzbid0IGxvb2sgdmVyeSBnb29kIG9uIGFueXRoaW5nIG90aGVyIHRoYW4gYSB0cmFuc3BhcmVudCBiYWNrZ3JvdW5kLlxyXG4gICAgICAgIC5jb250ZW50LWNvbnRhaW5lcjpob3ZlciB7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IHVuc2V0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5yb3ctYmFja2dyb3VuZC1pbWFnZSB7XHJcbiAgICAgICAgJltzdHlsZSo9XCJiYWNrZ3JvdW5kLWltYWdlXCJdIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5tb2R1bGUtYmFja2dyb3VuZC1pbWFnZSB7XHJcbiAgICAgICAgJltzdHlsZSo9XCJiYWNrZ3JvdW5kLWltYWdlXCJdIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcbi8vIC0tLS0tIENhcm91c2VsIE1vZHVsZSAtLS0tLVxyXG4ucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUge1xyXG4gICAgLy8gbWFyZ2luOiBhdXRvIDAgMDtcclxuICAgICYuY2Fyb3VzZWwtcGFkZGluZyB7XHJcbiAgICAgICAgcGFkZGluZzogMCAwIDUwcHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLS0tIENNUyBTdWJzaWRpYXJ5IE1vZHVsZSAtLS0tLSBcclxuLmNtcy1zdWJzaWRpYXJ5LW1vZHVsZSB7XHJcbiAgICAuc2VyaWVzLWNhcmQge1xyXG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAvLyBEb250IGRvIHRoaXMgdXNlIGdyaWQtbWFyZ2luLXkgaW5zdGVhZC5cclxuICAgICAgICAvLyBtYXJnaW46IDAgMCAyNXB4O1xyXG4gICAgICAgIHBhZGRpbmc6ICRjbXMtc3Vic2lkaWFyeS1sZXZlbC0xLXBhZGRpbmc7XHJcbiAgICAgICAgYm9yZGVyOiAkY21zLXN1YnNpZGlhcnktbGV2ZWwtMS1ib3JkZXI7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG91cjA7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6ICRib3hTaGFkb3czO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAkY21zLXN1YnNpZGlhcnktbGV2ZWwtMS1oZWFkaW5nLXNpemU7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkY21zLXN1YnNpZGlhcnktbGV2ZWwtMS1oZWFkaW5nLXdlaWdodDtcclxuICAgICAgICAgICAgY29sb3I6ICRjbXMtc3Vic2lkaWFyeS1sZXZlbC0xLWhlYWRpbmctY29sb3VyO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkY21zLXN1YnNpZGlhcnktbGV2ZWwtMS1oZWFkaW5nLWhvdmVyLWNvbG91cjtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgdWwge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICAgICAgICAgIGxpIHtcclxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY21zLXN1YnNpZGlhcnktbGV2ZWwtMi1hbmNob3ItaG92ZXItY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkY21zLXN1YnNpZGlhcnktbGV2ZWwtMi1hbmNob3Itc2l6ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjbXMtc3Vic2lkaWFyeS1sZXZlbC0yLWFuY2hvci1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgICAgIFxyXG4gICAgXHJcbn1cclxuXHJcbi8vIC0tLS0tIEVCRyBJbmZvcmFtYXRpb24gLS0tLS1cclxuLmViZy1pbmZvcm1hdGlvbi1tb2R1bGUge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgIH1cclxuICAgIC5ncm91cC1mdWxsLWRlc2NyaXB0aW9uIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuICAgIC5ncm91cC1ub3RlcyB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAvLyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIGZsZXg6IDE7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgICYuYWN0aXZlIHtcclxuICAgICAgICAgICAgLnJlYWQtbW9yZS1jb250ZW50IHtcclxuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IGluaGVyaXQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLnJlYWQtbW9yZS1jb250ZW50IHtcclxuICAgICAgICAgICAgbWF4LWhlaWdodDogMjAwcHg7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IHVuc2V0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmdyb3VwLWltYWdlIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBwYWRkaW5nOiAyMHB4IDAgMDtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDMwJTtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMjBweDtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIFxyXG59XHJcblxyXG4vLyAtLS0tLSBIZWFkaW5nIE1vZHVsZSAtLS0tLSBcclxuLnBhZ2UtaGVhZGluZy1tb2R1bGUge1xyXG4gICAgbWFyZ2luOiBzbWFsbC12YWx1ZSgkbW9kdWxlcy1wYWdlLWhlYWRpbmctbWFyZ2luKTtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBtYXJnaW46IGxhcmdlLXZhbHVlKCRtb2R1bGVzLXBhZ2UtaGVhZGluZy1tYXJnaW4pO1xyXG4gICAgfVxyXG4gICAgaDEge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICB9XHJcbiAgICAuY21zLWNvbnRhaW5lciB7XHJcbiAgICAgICAgLy8gU3VwcHJlc3NpbmcgbWFyZ2luLWJvdHRvbSB0byBhbGxvdyBmb3Igcm93ICsgbW9kdWxlIHNwYWNpbmcgdG8gY29udHJvbCB0aGUgZ2FwLlxyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLS0tIERlYnVnIGRpc3BsYXlzIC0tLS0tIFxyXG4vLyAtLS0gTW9kdWxlIGNvbmZpZyAtLS0gXHJcbi5tb2R1bGUtY29uZmlnIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICBwYWRkaW5nOiAxNXB4IDEwcHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMztcclxuICAgIGxpLCBzdHJvbmcsIGgzIHtcclxuICAgICAgICBjb2xvcjogJGNvbG91cjMtNjtcclxuICAgIH1cclxuICAgIGxpLCBzdHJvbmcge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xyXG4gICAgfVxyXG4gICAgbGkge1xyXG4gICAgICAgIHN0cm9uZyB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XHJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogJzonO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvdXIzLTY7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBoMyB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgd2lkdGg6IDgwJTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAycHg7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMy02O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcbi8vIEFwcGx5IG1vZHVsZSBlZmZlY3Qgc3R5bGVzLCB0aGVzZSBzaG91bGQgYmUgb3B0aW9uYWwgYW5kIG92ZXJyaWRlIHRoZSBkZWZhdWx0IHN0eWxlcyAoIGFib3ZlICkuXHJcbi8vIENvbW1vbiBlZmZlY3QgdmFyaWFibGVzIHNoYXJlZCBhY3Jvc3MgYWxsIG1vZHVsZXMuXHJcbi5tb2R1bGUtY29udGVudC1jb250YWluZXIge1xyXG4gICAgLy8gQ29tbW9uIHN0eWxlcyB0aGF0IGFyZSB1c2VkIGFjcm9zcyBhbGwgZWZmZWN0LnNcclxuICAgICYuZWZmZWN0LXN0eWxlIHtcclxuICAgICAgICAvLyAtLS0tLSBTdHlsZSBvdmVycmlkZXMgLS0tLS1cclxuICAgICAgICAvLyBGb3IgY29sb3VyIG9wdGlvbnMgcGxlYXNlIHJlZmVyIHRvIGdsb2JhbCBDU1MgdmFyaWFibGVzLCB0aGVzZSBhcmUgZGVmaW5lZCBpbiB0aGUgZ2xvYmFsIGFwcC5zY3NzLlxyXG5cclxuICAgICAgICAvLyAtLS0gQm9yZGVyIE9wdGlvbnMgLS0tXHJcbiAgICAgICAgLy8gUmFkaXVzLlxyXG4gICAgICAgIC0tYm9yZGVyLXJhZGl1cy1zbWFsbDogMXB4O1xyXG4gICAgICAgIC0tYm9yZGVyLXJhZGl1cy1tZWRpdW06IDVweDtcclxuICAgICAgICAtLWJvcmRlci1yYWRpdXMtbGFyZ2U6IDI1JTtcclxuICAgICAgICAtLWJvcmRlci1yYWRpdXMteGxhcmdlOiA1MCU7XHJcblxyXG4gICAgICAgIC8vIFdpZHRoIGh0dHBzOi8vd3d3Lnczc2Nob29scy5jb20vY3NzcmVmL3ByX2JvcmRlci13aWR0aC5waHAuXHJcbiAgICAgICAgLS1ib3JkZXItd2lkdGgtdGhpbjogMXB4O1xyXG4gICAgICAgIC0tYm9yZGVyLXdpZHRoLWxpZ2h0OiAycHg7XHJcbiAgICAgICAgLS1ib3JkZXItd2lkdGgtbWVkaXVtOiA1cHg7XHJcbiAgICAgICAgLS1ib3JkZXItd2lkdGgtYm9sZDogMTBweDtcclxuXHJcbiAgICAgICAgLy8gLS0tIEltYWdlIFNjYWxpbmcgLS0tXHJcbiAgICAgICAgLy8gUmVkdWNlXHJcbiAgICAgICAgLS1pbWFnZS1yZWR1Y2Utc21hbGw6IC45NTtcclxuICAgICAgICAtLWltYWdlLXJlZHVjZS1tZWRpdW06IC44MDtcclxuICAgICAgICAtLWltYWdlLXJlZHVjZS1sYXJnZTogLjYwO1xyXG5cclxuXHJcbiAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgLy8gVGhpcyBtYXkgbmVlZCByZWZpbmluZyBsYXRlciBvbiB0byBzcGVjaWZpYyBwcm9wZXJ0aWVzLlxyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gQ29sbGVjdGlvbiAoIEdyaWQgJiBDYXJvdXNlbHMgKSBzcGVjaWZpYyBlZmZlY3RzLlxyXG4uY29sbGVjdGlvbi5tb2R1bGUtY29udGVudC1jb250YWluZXIge1xyXG4gICAgLy8gRWZmZWN0IFN0eWxlcyAoIHNwZWNpYWwgZWZmZWN0cyBvbiB0aGluZ3MgbGlrZSBpbWFnZXMgYm9yZGVyLCBib3gtc2hhZG93cyApXHJcbiAgICAmLmltYWdlLWJvcmRlciB7XHJcbiAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyLmltYWdlLCAuY29udGVudC1jb250YWluZXIgLmltYWdlIHtcclxuICAgICAgICAgICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgsIDEwcHgpIHNvbGlkIHZhcigtLWJvcmRlci1jb2xvdXIsICRjb2xvdXIxKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmltYWdlLXJhZGl1cy1hbmltYXRpb24ge1xyXG4gICAgICAgIC8vIEZhbGxiYWNrIHJhZGl1cy5cclxuICAgICAgICAkcmFkaXVzLWZhbGxiYWNrOiA1MCU7XHJcbiAgICAgICAgXHJcbiAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyLmltYWdlLCAuY29udGVudC1jb250YWluZXIgLmltYWdlIHtcclxuICAgICAgICAgICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgsIDEwcHgpIHNvbGlkIHZhcigtLWJvcmRlci1jb2xvdXIsICRjb2xvdXIxKTtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cywgI3skcmFkaXVzLWZhbGxiYWNrfSk7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6ICRib3hTaGFkb3cyO1xyXG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItcmFkaXVzICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgIC8vIEFkZCBpbnNldCBzaGFkb3cuXHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMsICN7JHJhZGl1cy1mYWxsYmFja30pO1xyXG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgJGJveFNoYWRvdzI7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItcmFkaXVzICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAuaW1hZ2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogY2FsYyh2YXIoLS1ib3JkZXItcmFkaXVzLCAjeyRyYWRpdXMtZmFsbGJhY2t9KSAvIDIpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJvcmRlci1yYWRpdXMgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IGNhbGModmFyKC0tYm9yZGVyLXJhZGl1cywgI3skcmFkaXVzLWZhbGxiYWNrfSkgLyAyKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLXJhZGl1cyAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBBbHRlcmFudGl2ZSBtYXJrdXAgKCBhcyBpbWFnZSBtb2R1bGVzIG1hcmt1cCBpcyBkaWZmZXJlbnQgdG8gcHJvZHVjdCApXHJcbiAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyLmltYWdlIHtcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogY2FsYyh2YXIoLS1ib3JkZXItcmFkaXVzLCAjeyRyYWRpdXMtZmFsbGJhY2t9KSAvIDIpO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLXJhZGl1cyAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IGNhbGMoKHZhcigtLWJvcmRlci1yYWRpdXMsICN7JHJhZGl1cy1mYWxsYmFja30pKSAvIDIpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJvcmRlci1yYWRpdXMgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBJbnZlcnQgY2VsbCBzaGFkb3cgc2hvd3MgdGhlIGJveC1zaGFkb3cgYXMgZGVmYXVsdCBpbnN0ZWFkIG9mIG9uIGhvdmVyLCB0aGlzIGVzc2VudGlhbGx5IGRvZXMgJGNvbGxlY3Rpb24tY2VsbC1ib3gtc2hhZG93LWludmVydCBvbiBhIG1vZHVsZSBsZXZlbCBpbnN0ZWFkIG9mIGEgZ2xvYmFsIGxldmVsLlxyXG4gICAgJi5pbnZlcnQtY2VsbC1zaGFkb3cge1xyXG4gICAgICAgIC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgJGNvbG91cjA7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6ICRib3hTaGFkb3czO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgJHRyYW5zaXRpb25PdXRybywgYm94LXNoYWRvdyAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG91cjM7XHJcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAkdHJhbnNpdGlvbkludHJvLCBib3JkZXItY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgIC5pbWFnZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gRm9yY2Ugb3BhY2l0eS5cclxuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgfVxyXG5cclxuICAgIC8vIFJlZHVjZXMgdGhlIGltYWdlIHdoZW4gdGhlIGNvbnRlbnQgY29udGFpbmVyIGlzIGhvdmVyZWQuXHJcbiAgICAmLnJlZHVjZS1pbWFnZS1ob3ZlciB7XHJcbiAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAvLyBGb3JjZSBib3gtc2hhZG93IG9uIGNlbGwuXHJcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAkYm94U2hhZG93MjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLmltYWdlOmhvdmVyLCAmOmhvdmVyIC5pbWFnZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBGb3JjZSBvcGFjaXR5IDEuXHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKHZhcigtLXJlZHVjZS1pbWFnZSwgLjk1KSk7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuY29udGVudC1jb250YWluZXIgLmltYWdlIGltZywgLmltYWdlIGltZyB7XHJcbiAgICAgICAgICAgIC8vIElmIHNtb290aCBlZGdlcyBlbmFibGVkIHRoZW4gZW5zdXJlIHRoZSBpbWFnZSBoYXMgcm91bmRlZCBjb3JuZXJzLCB0aGlzIGFsc28gbmVlZHMgdG8gaW5jbHVkZSBoaWdobGlnaHQgaXRlbSBvdmVybGF5cyBhcyB3ZWxsLlxyXG4gICAgICAgICAgICBAaWYgKHNtb290aC1lZGdlcygpKSB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5jZWxsLWJvcmRlci1kZWZhdWx0IHtcclxuICAgICAgICAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvdXIzO1xyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYuYm94LXNoYWRvdy1kZWZhdWx0LWhvdmVyLXN0YXRlcyB7XHJcbiAgICAgICAgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiAkYm94U2hhZG93MztcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAkYm94U2hhZG93MjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcbi5jbXMtbW9kdWxlLmVmZmVjdC1zdHlsZS5tb2R1bGUtY29udGVudC1jb250YWluZXIge1xyXG4gICAgJi5tb2R1bGUtYm9yZGVycyB7XHJcbiAgICAgICAgJHBhZGRpbmc6IChcclxuICAgICAgICAgICAgc21hbGw6IDIwcHgsXHJcbiAgICAgICAgICAgIGxhcmdlOiA4MHB4XHJcbiAgICAgICAgKTtcclxuXHJcbiAgICAgICAgcGFkZGluZzogI3tzbWFsbC12YWx1ZSgkcGFkZGluZyl9IDAgMDtcclxuICAgICAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tYm9yZGVyLWNvbG91cik7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5tdWx0aW1lZGlhLXRvcCB7XHJcbiAgICAgICAgICAgIC5jb250ZW50LWJhbm5lciB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiB2YXIoLS1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLWJvcmRlci1jb2xvdXIpO1xyXG4gICAgICAgICAgICB9IFxyXG4gICAgICAgIH1cclxuICAgICAgICAmLm11bHRpbWVkaWEtcmlnaHQge1xyXG4gICAgICAgICAgICAuY29udGVudC1iYW5uZXIge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogdmFyKC0tYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3VyKTtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiB2YXIoLS1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLWJvcmRlci1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgfSBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLm11bHRpbWVkaWEtYm90dG9tIHtcclxuICAgICAgICAgICAgLmNvbnRlbnQtYmFubmVyIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IHZhcigtLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tYm9yZGVyLWNvbG91cik7XHJcbiAgICAgICAgICAgIH0gXHJcbiAgICAgICAgfVxyXG4gICAgICAgICYubXVsdGltZWRpYS1sZWZ0IHtcclxuICAgICAgICAgICAgLmNvbnRlbnQtYmFubmVyIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IHZhcigtLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tYm9yZGVyLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMDtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IHZhcigtLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tYm9yZGVyLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gXHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IHNtYWxsLXZhbHVlKCRwYWRkaW5nKTtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiBzbWFsbC12YWx1ZSgkcGFkZGluZyk7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IGxhcmdlLXZhbHVlKCRwYWRkaW5nKSAjeyhsYXJnZS12YWx1ZSgkcGFkZGluZykgKyAyMCl9O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLy8gLS0tLS0gQW5pbWF0aW9ucyBIVE1MNSBDYW52YXMgLS0tLS1cclxuLmFuaW1hdGlvbi1tb2R1bGUge1xyXG4gICAgLS1tZWRpYS1hc3BlY3QtcmF0aW86ICN7JGltYWdlLWNvbGxlY3Rpb24tYXNwZWN0LXJhdGlvfTtcclxuICAgIFtkYXRhLWFuaW1hdGlvbl0ge1xyXG4gICAgICAgIGFzcGVjdC1yYXRpbzogdmFyKC0tbWVkaWEtYXNwZWN0LXJhdGlvKTtcclxuICAgIH1cclxufSIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBDcmVhdGUgZ3V0dGVycyBmb3IgYSBjZWxsL2NvbnRhaW5lci5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBUeXBlIG9mIGd1dHRlciB0byBvdXRwdXQuIEFjY2VwdHMgZWl0aGVyIG1hcmdpbiBvciBwYWRkaW5nLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGd1dHRlci1wb3NpdGlvbiBbcmlnaHQgbGVmdF0gLSBUaGUgcG9zaXRpb24gdG8gYXBwbHkgZ3V0dGVycyB0by4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkbmVnYXRpdmUgW2ZhbHNlXSAtIFdoZXRoZXIgdG8gYXBwbHkgdGhlIGd1dHRlciBhcyBhIG5lZ2F0aXZlIHZhbHVlLiBDb21tb25seSB1c2VkIGZvciBuZXN0ZWQgZ3JpZHMuXG5AbWl4aW4geHktZ3V0dGVycyhcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGd1dHRlci1wb3NpdGlvbjogcmlnaHQgbGVmdCxcbiAgJG5lZ2F0aXZlOiBmYWxzZVxuKSB7XG4gICRvcGVyYXRvcjogaWYoJG5lZ2F0aXZlLCAnLScsICcnKTtcblxuICAvLyBJZiB3ZSBoYXZlIGRlY2xhcmVkIG5lZ2F0aXZlIGd1dHRlcnMsIGZvcmNlIHR5cGUgdG8gYG1hcmdpbi5cbiAgJGd1dHRlci10eXBlOiBpZigkbmVnYXRpdmUsICdtYXJnaW4nLCAkZ3V0dGVyLXR5cGUpO1xuXG4gIC8vIE91dHB1dCBvdXIgbWFyZ2luIGd1dHRlcnMuXG4gIEBpZiAodHlwZS1vZigkZ3V0dGVycykgPT0gJ21hcCcpIHtcbiAgICBAaW5jbHVkZSAtemYtYnJlYWtwb2ludC12YWx1ZShhdXRvLCAkZ3V0dGVycykge1xuICAgICAgJGd1dHRlcjogcmVtLWNhbGMoJC16Zi1icC12YWx1ZSkgKiAwLjU7XG5cbiAgICAgIC8vIExvb3AgdGhyb3VnaCBlYWNoIGd1dHRlciBwb3NpdGlvblxuICAgICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgICAjeyRndXR0ZXItdHlwZX0tI3skdmFsdWV9OiB1bnF1b3RlKFwiI3skb3BlcmF0b3J9I3skZ3V0dGVyfVwiKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgKHR5cGUtb2YoJGd1dHRlcnMpID09ICdudW1iZXInKSB7XG4gICAgJGd1dHRlcjogcmVtLWNhbGMoJGd1dHRlcnMpICogMC41O1xuXG4gICAgLy8gTG9vcCB0aHJvdWdoIGVhY2ggZ3V0dGVyIHBvc2l0aW9uXG4gICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgI3skZ3V0dGVyLXR5cGV9LSN7JHZhbHVlfTogdW5xdW90ZShcIiN7JG9wZXJhdG9yfSN7JGd1dHRlcn1cIik7XG4gICAgfVxuICB9XG59XG4iLCIvKlxyXG4tLS0tLSBTdG9jayBJbmRpY2lhdG9yKHMpIC0tLS0tXHJcbkhhbmRsZXMgdGhlIGZvbGxvd2luZzogXHJcbi0gSW5zdG9jaywgT3V0IG9mIHN0b2NrICYgTG93IHN0b2NrIGljb25zLlxyXG4tIEVtYWlsIHdoZW4gYmFjayBpbiBzdG9ja1xyXG4qL1xyXG5cclxuLnN0b2NrLWluZGljYXRvciB7XHJcbiAgICAmLnByZXNldDEge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgcCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgNXB4IDAgMDtcclxuICAgICAgICAgICAgQGlmICgkc3RvY2staW5kaWNhdG9yLWZvbnQtc3R5bGUgIT0gXCJub3JtYWxcIikge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zdHlsZTogJHN0b2NrLWluZGljYXRvci1mb250LXN0eWxlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHN0b2NrLWluZGljYXRvci1mb250LXNpemUpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDEwcHggMCAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5zdG9ja0xldmVsIHtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGZvbnQtc3R5bGU6ICRzdG9jay1pbmRpY2F0b3ItZm9udC1zdHlsZTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkc3RvY2staW5kaWNhdG9yLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5wcmVzZXQyIHtcclxuICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIC8vU2hhcmVkIHN0eWxlcy5cclxuICAgICAgICAmLnNvaC0yLCAmLnNvaC0xLCAmLnNvaC0wIHtcclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcCwgc3BhbiB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy8gQWRkaW5nIGEgPiBwIHNlbGVjdG9yIGZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSB1bnRpbCA3NjY5NTMgaXMgZG9uZS5cclxuICAgICAgICAgICAgPiBwLCBwLCAubGFiZWwge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDVweCAwIDA7XHJcbiAgICAgICAgICAgICAgICBmb250LXN0eWxlOiAkc3RvY2staW5kaWNhdG9yLWZvbnQtc3R5bGU7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRzdG9jay1pbmRpY2F0b3ItZm9udC1zaXplKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkc3RvY2staW5kaWNhdG9yLXdlaWdodDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkc3RvY2staW5kaWNhdG9yLWNvbG91cjtcclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAkc3RvY2staW5kaWNhdG9yLWljb24tcGFkZGluZztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHN0b2NrLWluZGljYXRvci1mb250LXNpemUpO1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRzdG9jay1pbmRpY2F0b3ItZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICBmb250LXN0eWxlOiAkc3RvY2staW5kaWNhdG9yLWZvbnQtc3R5bGU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBTaGFyZWQgc3R5bGVzICggcmVnYXJkbGVzcyBvZiBwcmVzZXRzICkuXHJcbiAgICAmLnNvaC0yLCAmLnNvaC0xLCAmLnNvaC0wIHtcclxuICAgICAgICAvLyBBZGRpbmcgYSA+IHAgc2VsZWN0b3IgZm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5IHVudGlsIDc2Njk1MyBpcyBkb25lLlxyXG4gICAgICAgID4gcCwgcCwgLmxhYmVsIHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICAgICAgLy8gZm9udC1zaXplOiAkc3RvY2staW5kaWNhdG9yLWljb24tc2l6ZTtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICAgICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIC0tLSBTdG9jayBsZXZlayBzcGVjaWZpYyBzdHlsZXMgLS0tXHJcbiAgICAvLyBIaWdoIHN0b2NrXHJcbiAgICAmLnNvaC0yIHtcclxuICAgICAgICAvLyBBZGRpbmcgYSA+IHAgc2VsZWN0b3IgZm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5IHVudGlsIDc2Njk1MyBpcyBkb25lLlxyXG4gICAgICAgID4gcDpiZWZvcmUsIC5sYWJlbDpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBzb2gtMik7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkc29oLTItaWNvbi1jb2xvdXI7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkc3RvY2staW5kaWNhdG9yLWljb24tc2l6ZSwgc29oLTIpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgY29sb3I6ICRzb2gtMi1pY29uLWNvbG91cjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBMb3cgc3RvY2tcclxuICAgICYuc29oLTEge1xyXG4gICAgICAgIC8vIEFkZGluZyBhID4gcCBzZWxlY3RvciBmb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkgdW50aWwgNzY2OTUzIGlzIGRvbmUuXHJcbiAgICAgICAgPiBwOmJlZm9yZSwgLmxhYmVsOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHNvaC0xKTtcclxuICAgICAgICAgICAgY29sb3I6ICRzb2gtMS1pY29uLWNvbG91cjtcclxuICAgICAgICAgICAgZm9udC1zaXplOiBtYXAtZ2V0KCRzdG9jay1pbmRpY2F0b3ItaWNvbi1zaXplLCBzb2gtMSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICBjb2xvcjogJHNvaC0xLWljb24tY29sb3VyO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuc3RvY2tMZXZlbCB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkc29oLTEtbGV2ZWwtY29sb3VyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIE5vIHN0b2NrXHJcbiAgICAmLnNvaC0wIHtcclxuICAgICAgICA+IHA6YmVmb3JlLCAubGFiZWw6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgc29oLTApO1xyXG4gICAgICAgICAgICBjb2xvcjogJHNvaC0wLWljb24tY29sb3VyO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IG1hcC1nZXQoJHN0b2NrLWluZGljYXRvci1pY29uLXNpemUsIHNvaC0wKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnN0b2NrTGV2ZWwge1xyXG4gICAgICAgICAgICBjb2xvcjogJHNvaC0wLWxldmVsLWNvbG91cjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyAtLS0gU3RvY2sgTm90aWZpY2F0aW9ucyAtLS0gXHJcbiAgICAmLm5vdGlmaWNhdGlvbiB7XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIC5zdG9jay1ub3RpZmljYXRpb24taWNvbjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkc29oLW5vdGlmaWNhdGlvbi1pY29uLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuYWN0aXZlIHtcclxuICAgICAgICAgICAgLnN0b2NrLW5vdGlmaWNhdGlvbi1pY29uOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRzb2gtbm90aWZpY2F0aW9uLWljb24tY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5zdG9jay1ub3RpZmljYXRpb24taWNvbiB7XHJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgc3RvY2stbm90aWZpY2F0aW9uLWljb24pO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDE1cHg7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkc29oLW5vdGlmaWNhdGlvbi1pY29uLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lUmVndWxhcjtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJHNvaC1ub3RpZmljYXRpb24tc3RhdHVzLWljb24tc2l6ZTtcclxuXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJjpub3QoLmFjdGl2ZSk6aG92ZXIge1xyXG4gICAgICAgICAgICAuc3RvY2stbm90aWZpY2F0aW9uLWljb246YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgc3RvY2stbm90aWZpY2F0aW9uLWFjdGl2ZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gV2hlbiB0aGUgbm90aWZpY2F0aW9uIGhhZCBwcmV2aW91c2x5IGJlZW4gZW5hYmxlZC5cclxuICAgICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgY3Vyc29yOiBuby1kcm9wO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5zdG9jay1ub3RpZmljYXRpb24taWNvbjphZnRlcntcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRzb2gtbm90aWZpY2F0aW9uLWljb24tY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICB9IFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIFtkYXRhLXRvb2x0aXBdIHtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgfVxyXG4gICAgLmxhYmVsIHtcclxuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgfVxyXG59XHJcblxyXG4uY29sbGVjdGlvbi1vbmx5LWluZGljYXRvciB7XHJcbiAgICBjb2xvcjogJHN0b2NrLWluZGljYXRvci1jb2xvdXI7XHJcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKCRzdG9jay1pbmRpY2F0b3ItZm9udC1zaXplKTtcclxuICAgIGZvbnQtc3R5bGU6ICRzdG9jay1pbmRpY2F0b3ItZm9udC1zdHlsZTtcclxuICAgIGZvbnQtd2VpZ2h0OiAkc3RvY2staW5kaWNhdG9yLXdlaWdodDtcclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBjb2xsZWN0aW9uLW9ubHkpO1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcclxuICAgICAgICBmb250LXNpemU6ICRzb2gtY29sbGVjdGlvbi1vbmx5LWljb24tc2l6ZTtcclxuICAgICAgICBmb250LWZhbWlseTogY3VzdG9tLWljb24tZmFtaWx5KCRleHByZXNzLWRlZmF1bHQtaWNvbnMsICRzb2gtY29sbGVjdGlvbi1vbmx5LWN1c3RvbS1pY29uKTtcclxuICAgIH1cclxufVxyXG5cclxuXHJcblxyXG4vLy0tLSBTdG9jayBub3RpZmljYXRpb24gZGV0YWlscyBwcm9tcHQgLS0tIFxyXG4jc3RvY2tOb3RpZmljYXRpb25EZXRhaWxzIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIC8vT3ZlcnJpZGluZyBmb3VuZGF0aW9uJ3Mgc3R5bGluZyBqdXN0IGluIG1vYmlsZS5cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICB0b3A6IDEwdnchaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgLmNtc0NvbnRhaW5lciB7XHJcbiAgICAgICAgcGFkZGluZzogMCAxMHB4IDIwcHg7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkcGFyYWdyYXBoLWZvbnQtc2l6ZSk7XHJcbiAgICB9XHJcbn1cclxuI25vdGlmaWNhdGlvbkZvcm1Db250YWluZXIge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIGJvdHRvbTogMDtcclxuICAgIH1cclxufVxyXG5cclxuI25vdGlmaWNhdGlvbkRldGFpbHNGb3JtIHtcclxuICAgIG1heC13aWR0aDogODV2dztcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgcGFkZGluZzogMzBweCAyMHB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjE7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAzMHZ3O1xyXG4gICAgfVxyXG4gICAgI25vdGlmaWNhdGlvbkRldGFpbHNGb3JtU3VibWl0IHtcclxuICAgICAgICBAaW5jbHVkZSBidXR0b24xKCRjb2xvdXI0KTtcclxuICAgIH1cclxuICAgIC5jbG9zZS1idXR0b24ge1xyXG4gICAgICAgIHdpZHRoOiA0NXB4O1xyXG4gICAgICAgIGhlaWdodDogNDVweDtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBAaW5jbHVkZSBjbG9zZUJ1dHRvbigkaWNvbi1zaXplLCAkY29sb3VyMyk7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgXHJcbiAgICB9XHJcbn1cclxuXHJcbltkYXRhLXN0b2NrLWluZGljYXRvci11cGRhdGVdIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbn0iLCIvLy0tLS0tIFByb2R1Y3QgcGFnZSAtLS0tLVxyXG4ucHJvZHVjdC1lbnF1aXJ5LWRldGFpbHMtY29udGFpbmVyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgZGlzcGxheTogZ3JpZDtcclxuICAgIGdhcDogc21hbGwtdmFsdWUoJHByb2R1Y3QtZW5xdWlyeS1ndXR0ZXIpOyAgICBcclxuICAgIC8vIFdvcmtvdXQgaGFsZiBvZiBndXR0ZXIuXHJcbiAgICAkZW5xdWlyeS1ndXR0ZXI6IChzcGFjaW5nLXZhbHVlKCRwcm9kdWN0LWVucXVpcnktZ3V0dGVyLCAyLCBtZWRpdW0pIC8gMik7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgIGdyaWQtYXV0by1jb2x1bW5zOiBhdXRvO1xyXG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KGNhbGMoMzAlIC0gI3skZW5xdWlyeS1ndXR0ZXJ9KSwgMWZyKSBtaW5tYXgoY2FsYyg3MCUgLSAjeyRlbnF1aXJ5LWd1dHRlcn0pLCAxZnIpO1xyXG4gICAgICAgIC8vZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiA0MCUgcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoNTAwcHgsIDYwJSkpO1xyXG4gICAgICAgIGdhcDogbWVkaXVtLXZhbHVlKCRwcm9kdWN0LWVucXVpcnktZ3V0dGVyKTtcclxuICAgICAgICAvLyBUaGlzIGlzIHB1dCBpbiBwbGFjZSBzbyB0aGF0IHN0aWNreSBpbWFnZSBkb2Vzbid0IG92ZXJsYXAgb250byB0aGUgdGFicyBhcmVhLCB5ZXMgaXRzIGEgaGFjayBidXQgd2l0aG91dCByZWRlc2lnbmluZyB0aGUgc3RpY2t5IG1lY2hhbmlzbSA4NDM0NzMgdGhlcmUgaXMgbGl0dGxlIHdlIGNhbiBkby5cclxuICAgICAgICBtYXJnaW4tYm90dG9tOiA1NXB4O1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIC8vIGdyaWQtdGVtcGxhdGUtY29sdW1uczogY2FsYyg1MCUgLSAjeyRlbnF1aXJ5LWd1dHRlcn0pIGNhbGMoNTAlIC0gI3skZW5xdWlyeS1ndXR0ZXJ9KTtcclxuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDIwMHB4LCAxZnIpKTtcclxuICAgICAgICBnYXA6IGxhcmdlLXZhbHVlKCRwcm9kdWN0LWVucXVpcnktZ3V0dGVyKTtcclxuICAgIH1cclxuICAgIC8vIERlZmluaW5nIHRoZSBncmlkIHRoYXQgZ2V0cyB1c2VkIGZvciB0aGUgYnVsayBvZiB0aGUgZGV0YWlscy5cclxuICAgIC5wcm9kdWN0LWVucXVpcnktZGV0YWlscy1yaWdodCwgLnByb2R1Y3QtZW5xdWlyeS1kZXRhaWxzLXJlc3BvbnNlLWFyZWEge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuICAgICAgICBnYXA6IHNtYWxsLXZhbHVlKCRwcm9kdWN0LWVucXVpcnktZGV0YWlscy1ndXR0ZXIpO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgZ2FwOiBsYXJnZS12YWx1ZSgkcHJvZHVjdC1lbnF1aXJ5LWRldGFpbHMtZ3V0dGVyKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gSWYgaW5zaWRlIG9mIHByb2R1Y3QgZW5xdWlyeSBkZXRhaWxzIHRoZW4gZG9uJ3QgZ3JvdyBvdGhlcndpc2UgdGhpcyBjb3VsZCBwdXNoIGNvbnRlbnQgZG93biB3aGVuIG1hdGNoaW5nIHRoZSBoZWlnaHQgb2YgdGhlIG1lZGlhIGNvbnRlbnQgY29udGFpbmVyIGUuZyBpZiB0aGUgcmVmZXJlbmNlcyBpcyB1bmRlciB0aGUgY2FsbGJhY2sgY29udGFpbmVyIHRoZSByZWZlcmVuY2VzIHdpbGwgYmUgcHVzaGVkIGRvd24gY2F1c2luZyBhIGxhcmdlIGdhcC5cclxuICAgICAgICAuY2FsbGJhY2tDb250YWluZXIge1xyXG4gICAgICAgICAgICBmbGV4LWdyb3c6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnByb2R1Y3QtZW5xdWlyeS1tb2R1bGUge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgZ2FwOiBzbWFsbC12YWx1ZSgkcHJvZHVjdC1lbnF1aXJ5LWRldGFpbHMtbW9kdWxlLWd1dHRlcik7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xyXG4gICAgICAgICAgICBnYXA6IG1lZGl1bS12YWx1ZSgkcHJvZHVjdC1lbnF1aXJ5LWRldGFpbHMtbW9kdWxlLWd1dHRlcik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgZ2FwOiBsYXJnZS12YWx1ZSgkcHJvZHVjdC1lbnF1aXJ5LWRldGFpbHMtbW9kdWxlLWd1dHRlcik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIElmIHRoaXMgbW9kdWxlIGRvZXMgbm90IGNvbnRhaW5lciBhbnkgY2hpbGRyZW4gdGhlbiBkaXNwbGF5OiBub25lOyBvdGhlcndpc2UgdGhlIGdyaWQgZ2FwIGlzIHN0aWxsIHJlcHJlc2VudGVkLlxyXG4gICAgICAgICY6bm90KDpoYXMoKikpIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaHIge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgQGlmICgkcHJvZHVjdC1lbnF1aXJ5LWRldGFpbHMtc2VwZXJhdG9yLXJ1bGVzLWVuYWJsZWQpIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci10b3A6ICRwcm9kdWN0LWVucXVpcnktZGV0YWlscy1zZXBlcmF0b3ItcnVsZS1ib3JkZXI7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAwO1xyXG4gICAgICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBPdmVycmlkZSBkZWZhdWx0IHN0eWxpbmcgZm9yIHRoaXMgc3BlY2lmaWMgdG8gdGhpcyBhcmVhLlxyXG4gICAgLnJldmVhbC1zb2NpYWwtaWNvbnMtY29udGFpbmVyIHtcclxuICAgICAgICAuc2hhcmUtYnV0dG9uIHtcclxuICAgICAgICAgICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3VyO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwcm9kdWN0LWVucXVpcnktc2hhcmUtYnV0dG9uLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkcHJvZHVjdC1lbnF1aXJ5LXNoYXJlLWJ1dHRvbi1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE3cHg7XHJcbiAgICAgICAgICAgIH0gXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0tLSBQYWdlIEhlYWRpbmcgLS0tLS1cclxuLnByb2R1Y3QtZW5xdWlyeS1oZWFkaW5nLWNvbnRhaW5lciB7XHJcbiAgICAucHJvZHVjdC1lbnF1aXJ5LWhlYWRpbmcge1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIGNvbG9yOiAkcHJvZHVjdC1tYWluLWhlYWRpbmctY29sb3VyO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHByb2R1Y3QtbWFpbi1oZWFkaW5nLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRwcm9kdWN0LW1haW4taGVhZGluZy1mb250LXdlaWdodDtcclxuICAgICAgICBsaW5lLWhlaWdodDogJHByb2R1Y3QtbWFpbi1oZWFkaW5nLWxpbmUtaGVpZ2h0O1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiAkcHJvZHVjdC1tYWluLWhlYWRpbmctdGV4dC10cmFuc2Zvcm07XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLS0tIFByb2R1Y3Qgc2VsZWN0aW9uIC0tLS0tXHJcbi5wcm9kdWN0LWVucXVpcnktc2VsZWN0aW9uLWNvbnRhaW5lciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgyMDBweCwgMWZyKSk7XHJcbiAgICAgICAgZ2FwOiBzbWFsbC12YWx1ZSgkcHJvZHVjdC1lbnF1aXJ5LWRldGFpbHMtbW9kdWxlLWd1dHRlcik7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICBnYXA6IG1lZGl1bS12YWx1ZSgkcHJvZHVjdC1lbnF1aXJ5LWRldGFpbHMtbW9kdWxlLWd1dHRlcik7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgZ2FwOiBsYXJnZS12YWx1ZSgkcHJvZHVjdC1lbnF1aXJ5LWRldGFpbHMtbW9kdWxlLWd1dHRlcik7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLSBRdWFudGl0eSBzZWxlY3Rpb24gLS0tXHJcbi5xdWFudGl0eS1tb2R1bGUsIC5wcm9kdWN0LWVucXVpcnktcXVhbnRpdHktc2VsZWN0b3Ige1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAubGFiZWwge1xyXG4gICAgICAgIEBpbmNsdWRlIHF1YW50aXR5LXNlbGVjdG9yLWxhYmVsKCk7XHJcbiAgICB9XHJcbiAgICAuc2VsZWN0IHtcclxuICAgICAgICB3aWR0aDogdW5zZXQ7XHJcbiAgICAgICAgLmNvbnRyb2wtc2VsZWN0LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIG1pbi13aWR0aDogdW5zZXQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgXHJcbn1cclxuXHJcblxyXG4jbWFpbi1wcm9kdWN0LWluZm9ybWF0aW9uLWNvbnRhaW5lciB7XHJcbiAgICBwYWRkaW5nOiBzbWFsbC12YWx1ZSgkcHJvZHVjdC1jb250YWluZXItcGFkZGluZyk7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgcGFkZGluZzogbGFyZ2UtdmFsdWUoJHByb2R1Y3QtY29udGFpbmVyLXBhZGRpbmcpO1xyXG4gICAgfVxyXG4gICAgLy8gLnF1YW50aXR5LWNvbnRhaW5lciB7XHJcbiAgICAvLyAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgLy8gICAgICAgICBvcmRlcjogMztcclxuICAgIC8vICAgICB9XHJcbiAgICAvLyAgICAgLnF1YW50aXR5LW1vZHVsZSB7XHJcbiAgICAvLyAgICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgIC8vICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgLy8gICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgLy8gICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XHJcbiAgICAvLyAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIC8vICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgLy8gICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgLy8gICAgICAgICAgICAgcGFkZGluZzogMCAwIDQwcHg7XHJcbiAgICAvLyAgICAgICAgIH1cclxuICAgIC8vICAgICAgICAgLmxhYmVsIHtcclxuICAgIC8vICAgICAgICAgICAgIGhlaWdodDogNDVweDtcclxuICAgIC8vICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAvLyAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgLy8gICAgICAgICB9XHJcbiAgICAvLyAgICAgICAgIC5pbnB1dC1udW1iZXItZ3JvdXAge1xyXG4gICAgLy8gICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgLy8gICAgICAgICB9XHJcbiAgICAvLyAgICAgICAgIC5jb250cm9sLnNlbGVjdCB7XHJcbiAgICAvLyAgICAgICAgICAgICB3aWR0aDogMTMwcHg7XHJcbiAgICAvLyAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgIC8vICAgICAgICAgICAgIC5sYWJlbCB7XHJcbiAgICAvLyAgICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAvLyAgICAgICAgICAgICB9XHJcbiAgICAvLyAgICAgICAgIH1cclxuICAgIC8vICAgICB9XHJcbiAgICAvLyB9XHJcbn1cclxuXHJcbiNwcm9kdWN0SW1hZ2UsIC5wcm9kdWN0LWVucXVpcnktbWFpbi1tdWx0aW1lZGlhLWNvbnRhaW5lciB7XHJcbiAgICBtYXJnaW46IG1hcC1nZXQoJHByb2R1Y3QtaW1hZ2UtbWFyZ2luLCBzbWFsbCk7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgLy93aWR0aDogJHByb2R1Y3QtaW1hZ2Utd2lkdGg7XHJcbiAgICAgICAgbWFyZ2luOiBtYXAtZ2V0KCRwcm9kdWN0LWltYWdlLW1hcmdpbiwgbGFyZ2UpO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGluaGVyaXQ7XHJcbiAgICB9XHJcbiAgICAjYWRkaXRpb25hbC1pbWFnZXMsIC5wcm9kdWN0LWVucXVpcnktYWRkaXRpb25hbC1pbWFnZXMge1xyXG4gICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAkcHJvZHVjdC1hZGRpdGlvbmFsLWltYWdlcy13aWR0aDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmFkZGl0aW9uYWxJbWFnZVNsaWRlckNvbnRhaW5lciB7XHJcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG5cclxuICAgICAgICBcclxuXHJcbiAgICAgICAgLnNsaWRlIHtcclxuICAgICAgICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgLnRodW1ibmFpbCB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG91cjQtMztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmJ4LXByZXYsXHJcbiAgICAgICAgLmJ4LW5leHQge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDMwcHg7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDMwcHg7XHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDI2cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogMDtcclxuXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5ieC1wcmV2IHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgcmlnaHQ6IDMwcHg7XHJcblxyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNhcm91c2VsLWNvbnRyb2xzLXNtYWxsLWljb24pO1xyXG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAxNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDI3MGRlZyk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5ieC1uZXh0IHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgbGVmdDogMjFweDtcclxuXHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgY2Fyb3VzZWwtY29udHJvbHMtc21hbGwtaWNvbik7XHJcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMTBweDtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMjcwZGVnKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gT2xkIHJ1bGVzLCB0aGVzZSB3aWxsIGV2ZW50dWFsbHkgYmUgc3VwZXJzZWRlZCBieSB0aGUgbmV3IHByb2R1Y3QgZW5xdWlyeSBydWxlcyAucHJvZHVjdC1lbnF1aXJ5LW1haW4taW1hZ2UgODIzOTQzXHJcbiNtYWluSW1hZ2VDb250YWluZXIge1xyXG4gICAgLy8gd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgLy8gaGVpZ2h0OiA1NTBweDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgbWFyZ2luOiAwIGF1dG8gMjBweDtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAvLyB0cmFuc2l0aW9uOiBib3JkZXIgJHRyYW5zaXRpb25PdXRybztcclxuICAgIC8vIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG4gICAgLy8gICAgIHdpZHRoOiBjYWxjKDEwMHZ3IC0gI3soc3BhY2luZy12YWx1ZSgkcGFnZS1ndXR0ZXIsIDIpICogMil9IC0gI3soc3BhY2luZy12YWx1ZSgkZ2xvYmFsLXh5LWdyaWQtbWFyZ2luLWd1dHRlcnMsIDIpICogMil9KTtcclxuICAgIC8vICAgICBoZWlnaHQ6IGNhbGMoMTAwdncgLSAjeyhzcGFjaW5nLXZhbHVlKCRwYWdlLWd1dHRlciwgMikgKiAyKX0gLSAjeyhzcGFjaW5nLXZhbHVlKCRnbG9iYWwteHktZ3JpZC1tYXJnaW4tZ3V0dGVycywgMikgKiAyKX0pO1xyXG4gICAgLy8gfVxyXG4gICAgLy8gQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIC8vIHdpZHRoOiA1NTBweDtcclxuICAgICAgICAvLyBoZWlnaHQ6IDU1MHB4O1xyXG4gICAgLy8gfVxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgLy8gdHJhbnNpdGlvbjogYm9yZGVyICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgLy8gTW92ZWQgdG8gYXhpcy1saWdodGJveC5zY3NzXHJcbiAgICAgICAgLy8gJjpiZWZvcmUge1xyXG4gICAgICAgIC8vICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI2KTtcclxuICAgICAgICAvLyAgICAgcGFkZGluZzogM3B4IDEycHg7XHJcbiAgICAgICAgLy8gICAgIGNvbG9yOiAkY29sb3VyNC0zO1xyXG4gICAgICAgIC8vICAgICBib3JkZXItY29sb3I6ICRjb2xvdXI0LTM7XHJcbiAgICAgICAgLy8gICAgIHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgIC8vIH1cclxuICAgICAgICAub3ZlcmxheSB7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAub3ZlcmxheSB7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICB9XHJcbiAgICAmLmltYWdlLTM2MCB7XHJcbiAgICAgICAgQGluY2x1ZGUgaW1hZ2UzNjBPdmVybGF5KCk7XHJcbiAgICB9XHJcbiAgICBpbWcge1xyXG4gICAgICAgIG1heC1oZWlnaHQ6IDU1MHB4O1xyXG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgfVxyXG59XHJcblxyXG4ucHJvZHVjdC1lbnF1aXJ5LW1haW4taW1hZ2UsICNtYWluSW1hZ2VDb250YWluZXIucHJvZHVjdC1lbnF1aXJ5LW1haW4taW1hZ2Uge1xyXG4gICAgLS1tZWRpYS1hc3BlY3QtcmF0aW86ICN7JHByb2R1Y3QtaW1hZ2UtYXNwZWN0LXJhdGlvfTtcclxuICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgZGVmYXVsdC1jb2xvdXIoJHByb2R1Y3QtZW5xdWlyeS1tYWluLWltYWdlLWJvcmRlci1jb2xvdXIpO1xyXG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICBib3JkZXItY29sb3I6IGhvdmVyLWNvbG91cigkcHJvZHVjdC1lbnF1aXJ5LW1haW4taW1hZ2UtYm9yZGVyLWNvbG91cik7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICB9XHJcbiAgICBpbWcge1xyXG4gICAgICAgIC8vIER1ZSBub3Qga25vd2luZyB3aGF0IHNpemUgaW1hZ2Ugd2UgY291bGQgZ2V0IHRoZW4gYXNzaWduIGEgbWluIHdpZHRoICYgaGVpZ2h0IHRvIHNjYWxlIHRoZSBpbWFnZSB1cCBzbGlnaHRseSwgZXZlbiB0aG91Z2ggaXQgd2lsbCBiZSBsb3cgcXVhbGl0eSBpdCBpcyBzdGlsbCBiZXR0ZXIgdGhhbiBoYXZpbmcgYSBiYXJlbHkgbm90aWNhYmxlIGltYWdlLCBpZiB1c2luZyB0aGUgbWFnbmlmaWNhdGlvbiBsaWJyYXJ5IHRoZW4gdGhpcyB3aWxsIGJlIHNjYWxlZCBhZ2Fpbi4gV2hlbiBhZGp1c3RpbmcgdGhlc2UgdmFyaWFibGVzIGtlZXAgaW4gbWluZCB3ZSBuZWVkIHRvIHN1cHBvcnQgbWl4ZWQgYXNwZWN0IHJhdGlvIGltYWdlcy5cclxuICAgICAgICBtaW4td2lkdGg6IDMwMHB4O1xyXG4gICAgICAgIG1heC1oZWlnaHQ6IG5vbmU7XHJcbiAgICAgICAgbWluLWhlaWdodDogMzAwcHg7XHJcbiAgICB9XHJcbiAgICAmICsgLnByb2R1Y3QtZW5xdWlyeS1hZGRpdGlvbmFsLWltYWdlcyB7XHJcbiAgICAgICAgJjpoYXMoaW1nKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMjBweCBhdXRvIDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0tLS0gSGlnaGxpZ2h0ZWQgQmFubmVycyAtLS0tLS1cclxuLy8gVE9ETzogT0xEIFdBWSBPRiBIQU5ETElORyBUSElTIENBTiBCRSBSRU1PVkVEIE9OQ0UgODIzOTQzIENPTVBMRVRFRFxyXG4ucHJvZHVjdC1vdmVybGF5LW1vZHVsZSB7XHJcbiAgICBtYXJnaW46IDAgMjBweDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgb3JkZXI6IDE7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICB9XHJcbiAgICA+IGEge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBtYXJnaW46IDEwcHggYXV0bztcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIGZsZXg6IDAgMSBjYWxjKDMzJSAtIDE1cHgpO1xyXG4gICAgICAgICAgICBtYXJnaW46IDEwcHggMTJweDtcclxuICAgICAgICAgICAgJjpudGgtY2hpbGQoM24pIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOm50aC1jaGlsZCgzbiArIDEpIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuLnByb2R1Y3QtZW5xdWlyeS1oaWdobGlnaHRlZC1iYW5uZXJzIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgZGlzcGxheTogZ3JpZDtcclxuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEsIDFmcik7XHJcbiAgICBnYXA6IDEwcHg7XHJcbiAgICBtYXJnaW46IDVweCAwIDEwcHg7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNSwgMWZyKTtcclxuICAgICAgICBnYXA6IDVweDtcclxuICAgICAgICBtYXJnaW46IDEwcHggMCAxNXB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0tLS0gUmVmZXJlbmNlLCBQYXJ0IENvZGUsIEFsdCBSZWYgLS0tLS0tXHJcbi5wYXJ0LWNvZGUtY29udGFpbmVyIHtcclxuICAgIHNwYW4ge1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDVweDtcclxuICAgIH1cclxufVxyXG4ucGFydC1jb2RlLWNvbnRhaW5lciwgLnByb2R1Y3QtZW5xdWlyeS1yZWZlcmVuY2UtY29udGFpbmVyIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XHJcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwcm9kdWN0LWNvZGUtZm9udC1zaXplKTtcclxuICAgIGNvbG9yOiAkY29kZS1jb2xvdXI7XHJcbiAgICBwIHtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgIH1cclxuICAgIHNwYW4ge1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkcHJvZHVjdC1jb2RlLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgIEBpZiAoJHByb2R1Y3QtY29kZS10ZXh0LXRyYW5mb3JtICE9IG5vbmUpIHtcclxuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRwcm9kdWN0LWNvZGUtdGV4dC10cmFuZm9ybTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuLnByb2R1Y3QtZW5xdWlyeS1yZWZlcmVuY2UtY29udGFpbmVyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBwYWRkaW5nOiBzbWFsbC12YWx1ZSgkcHJvZHVjdC1lbnF1aXJ5LXJlZmVyZW5jZS1wYWRkaW5nKTtcclxuICAgIGdhcDogMTBweCAyNXB4O1xyXG4gICAgQGlmICgkcHJvZHVjdC1lbnF1aXJ5LWRldGFpbHMtc2VwZXJhdG9yLXJ1bGVzLWVuYWJsZWQpIHtcclxuICAgICAgICBib3JkZXItYm90dG9tOiAkcHJvZHVjdC1lbnF1aXJ5LWRldGFpbHMtc2VwZXJhdG9yLXJ1bGUtYm9yZGVyO1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICBwYWRkaW5nOiBtZWRpdW0tdmFsdWUoJHByb2R1Y3QtZW5xdWlyeS1yZWZlcmVuY2UtcGFkZGluZyk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLS0tLSBMYWJlbCArIFZhbHVlIFBhaXIgLS0tLS0tXHJcbi8vIEdlbmVyaWMgY29udGFpbmVyIHVzZWQgdG8gZGlzcGxheSBzbWFsbCBwaWVjZSdzIG9mIGRhdGEgd2l0aCBhIGxhYmVsIGFzIGEgcHJlZml4LlxyXG4ucHJvZHVjdC1lbnF1aXJ5LWxhYmVsLXZhbHVlLXBhaXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiAkcHJvZHVjdC1lbnF1aXJ5LWxhYmVsLXZhbHVlLXBhaXItYWxpZ24taXRlbXM7XHJcbiAgICBnYXA6IHNtYWxsLXZhbHVlKCRwcm9kdWN0LWVucXVpcnktbGFiZWwtdmFsdWUtcGFpci1nYXApO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICBnYXA6IG1lZGl1bS12YWx1ZSgkcHJvZHVjdC1lbnF1aXJ5LWxhYmVsLXZhbHVlLXBhaXItZ2FwKTtcclxuICAgIH1cclxuICAgIC5sYWJlbCB7XHJcbiAgICAgICAgY29sb3I6ICRwcm9kdWN0LWVucXVpcnktbGFiZWwtdmFsdWUtcGFpci1sYWJlbC1jb2xvdXI7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkcHJvZHVjdC1lbnF1aXJ5LWxhYmVsLXZhbHVlLXBhaXItbGFiZWwtZm9udC1zaXplKTtcclxuICAgICAgICBmb250LXdlaWdodDogJHByb2R1Y3QtZW5xdWlyeS1sYWJlbC12YWx1ZS1wYWlyLWxhYmVsLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgIEBpZiAoJHByb2R1Y3QtZW5xdWlyeS1sYWJlbC12YWx1ZS1wYWlyLWxhYmVsLXRleHQtdHJhbnNmb3JtKSB7XHJcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiAkcHJvZHVjdC1lbnF1aXJ5LWxhYmVsLXZhbHVlLXBhaXItbGFiZWwtdGV4dC10cmFuc2Zvcm07XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnZhbHVlIHtcclxuICAgICAgICBjb2xvcjogJHByb2R1Y3QtZW5xdWlyeS1sYWJlbC12YWx1ZS1wYWlyLXZhbHVlLWNvbG91cjtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwcm9kdWN0LWVucXVpcnktbGFiZWwtdmFsdWUtcGFpci12YWx1ZS1mb250LXNpemUpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkcHJvZHVjdC1lbnF1aXJ5LWxhYmVsLXZhbHVlLXBhaXItdmFsdWUtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgQGlmICgkcHJvZHVjdC1lbnF1aXJ5LWxhYmVsLXZhbHVlLXBhaXItdmFsdWUtdGV4dC10cmFuc2Zvcm0pIHtcclxuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRwcm9kdWN0LWVucXVpcnktbGFiZWwtdmFsdWUtcGFpci12YWx1ZS10ZXh0LXRyYW5zZm9ybTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBidXR0b24sIC50b29sdGlwLXRyaWdnZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6ICRwcm9kdWN0LWVucXVpcnktbGFiZWwtdmFsdWUtcGFpci1hbGlnbi1pdGVtcztcclxuICAgICAgICBnYXA6IHNtYWxsLXZhbHVlKCRwcm9kdWN0LWVucXVpcnktbGFiZWwtdmFsdWUtcGFpci1nYXApO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgIGdhcDogbWVkaXVtLXZhbHVlKCRwcm9kdWN0LWVucXVpcnktbGFiZWwtdmFsdWUtcGFpci1nYXApO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuI3Byb2R1Y3Qge1xyXG4gICAgI3Byb2R1Y3QtaW5mby1sZWZ0IHtcclxuICAgICAgICBoMSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDIwcHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDUwcHg7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkcHJvZHVjdC1tYWluLWhlYWRpbmctY29sb3VyO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwcm9kdWN0LW1haW4taGVhZGluZy1mb250LXNpemUpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogJHByb2R1Y3QtbWFpbi1oZWFkaW5nLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogJHByb2R1Y3QtbWFpbi1oZWFkaW5nLWxpbmUtaGVpZ2h0O1xyXG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJHByb2R1Y3QtbWFpbi1oZWFkaW5nLXRleHQtdHJhbnNmb3JtO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIFxyXG5cclxuICAgIC8vUmVtb3ZlIHF1YW50aXR5IHNlbGVjdG9yIGxhYmVsIGZvciBzbGlkZXIuXHJcbiAgICAuc2xpZGUgLmxhYmVsIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgIC5hZGRCdXR0b25Db250YWluZXIge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIG1hcmdpbjogMTBweCAwO1xyXG4gICAgICAgIG9yZGVyOiA0O1xyXG4gICAgfVxyXG5cclxuICAgICNwcm9kdWN0LW5vdGVzIHtcclxuICAgICAgICBtYXJnaW46IDIwcHggMCAwO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIDAgNDBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgaDMge1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogJHByb2R1Y3Qtbm90ZXMtaGVhZGluZy1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkcHJvZHVjdC1ub3Rlcy1oZWFkaW5nLXNpemUpO1xyXG4gICAgICAgICAgICBjb2xvcjogJHByb2R1Y3Qtbm90ZXMtaGVhZGluZy1jb2xvdXI7XHJcbiAgICAgICAgICAgIEBpZiAoJHByb2R1Y3Qtbm90ZXMtaGVhZGluZy10ZXh0LXRyYW5zZm9ybSAhPSBub25lKSB7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJHByb2R1Y3Qtbm90ZXMtaGVhZGluZy10ZXh0LXRyYW5zZm9ybTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcCwgbGkge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwcm9kdWN0LW5vdGVzLXNpemUpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogJHByb2R1Y3Qtbm90ZXMtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkcHJvZHVjdC1ub3Rlcy1saW5lLWhlaWdodDtcclxuICAgICAgICAgICAgY29sb3I6ICRwcm9kdWN0LW5vdGVzLWNvbG91cjtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnByb2R1Y3QtcmVhZC1tb3JlIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiAkcHJvZHVjdC1ub3Rlcy1yZWFkLW1vcmUtaGVpZ2h0O1xyXG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgIH1cclxuICAgICAgICAudGFiYmVkLXJlYWQtbW9yZSB7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkcHJvZHVjdC1ub3Rlcy1yZWFkLW1vcmUtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAjYWx0ZXJuYXRpdmUtb3B0aW9ucyB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICBoMyB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHByb2R1Y3QtYWx0LW9wdGlvbnMtZm9udC1zaXplKTtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jYXJvdXNlbCB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnByb2R1Y3QtZW5xdWlyeS1iYXNrZXQtYnV0dG9uLWNvbnRhaW5lciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1hcmdpbjogc21hbGwtdmFsdWUoJHByb2R1Y3QtZW5xdWlyeS1idXktYnV0dG9uLW1hcmdpbik7XHJcbiAgICBvcmRlcjogNDtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgbWFyZ2luOiBtZWRpdW0tdmFsdWUoJHByb2R1Y3QtZW5xdWlyeS1idXktYnV0dG9uLW1hcmdpbik7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5oYXphcmQtc3RhdGVtZW50LWNvbnRhaW5lciB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG91cjI7XHJcbiAgICBAaWYgc21vb3RoLWVkZ2VzKCkge1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgfVxyXG4gICAgLmhhemFyZC1pY29ucy1jb250YWluZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgZ2FwOiAxMHB4O1xyXG4gICAgICAgIG1hcmdpbjogMTVweCAwIDEwcHg7XHJcbiAgICAgICAgJiArIC5oYXphcmQtaW5mby1jb250YWluZXIge1xyXG4gICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGNvbG91cjMtMTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuaGF6YXJkLWljb24ge1xyXG4gICAgICAgIHdpZHRoOiA3NXB4O1xyXG4gICAgICAgIGhlaWdodDogNzVweDtcclxuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XHJcbiAgICAgICAgJi5oYXotY2F0LXRveGljIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRzaGFyZWQtaWNvbnMtaGF6YXJkLXN0YXRlbWVudHMtZGlyZWN0b3J5ICsgJ2hhemFyZC1hY3V0ZS10b3hpY2l0eS1pY29uLnN2ZycpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmhhei1jYXQtZ2FzIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRzaGFyZWQtaWNvbnMtaGF6YXJkLXN0YXRlbWVudHMtZGlyZWN0b3J5ICsgJ2hhemFyZC1jb21wcmVzc2VkLWdhcy1pY29uLnN2ZycpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmhhei1jYXQtY29ycm9zaXZlIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRzaGFyZWQtaWNvbnMtaGF6YXJkLXN0YXRlbWVudHMtZGlyZWN0b3J5ICsgJ2hhemFyZC1jb3Jyb3NpdmUtaWNvbi5zdmcnKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5oYXotY2F0LWVudmlyb25tZW50IHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRzaGFyZWQtaWNvbnMtaGF6YXJkLXN0YXRlbWVudHMtZGlyZWN0b3J5ICsgJ2hhemFyZC1lbnZpcm9ubWVudGFsLWljb24uc3ZnJyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuaGF6LWNhdC1leHBsb3NpdmUge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJHNoYXJlZC1pY29ucy1oYXphcmQtc3RhdGVtZW50cy1kaXJlY3RvcnkgKyAnaGF6YXJkLWV4cGxvc2l2ZS1pY29uLnN2ZycpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmhhei1jYXQtZmxhbW1hYmxlIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRzaGFyZWQtaWNvbnMtaGF6YXJkLXN0YXRlbWVudHMtZGlyZWN0b3J5ICsgJ2hhemFyZC1mbGFtbWFibGUtaWNvbi5zdmcnKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5oYXotY2F0LW96b25lIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRzaGFyZWQtaWNvbnMtaGF6YXJkLXN0YXRlbWVudHMtZGlyZWN0b3J5ICsgJ2hhemFyZC1oYXJtZnVsLWljb24uc3ZnJyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuaGF6LWNhdC1veGlkaXNpbmcge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJHNoYXJlZC1pY29ucy1oYXphcmQtc3RhdGVtZW50cy1kaXJlY3RvcnkgKyAnaGF6YXJkLW94aWRpc2luZy1pY29uLnN2ZycpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmhhei1jYXQtaGVhbHRoIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRzaGFyZWQtaWNvbnMtaGF6YXJkLXN0YXRlbWVudHMtZGlyZWN0b3J5ICsgJ2hhemFyZC1zZXJpb3VzLWhlYWx0aC1pY29uLnN2ZycpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5oYXphcmQtaW5mby1jb250YWluZXIge1xyXG4gICAgICAgIHBhZGRpbmc6IDEwcHggMCAyMHB4O1xyXG4gICAgICAgIGg0IHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMTVweDtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkcHJvZHVjdC1lbnF1aXJ5LWhhemFyZC1zdGF0ZW1lbnQtaGVhZGluZy1mb250LXNpemUpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogJHByb2R1Y3QtZW5xdWlyeS1oYXphcmQtc3RhdGVtZW50LWhlYWRpbmctZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgIEBpZiAoJHByb2R1Y3QtZW5xdWlyeS1oYXphcmQtc3RhdGVtZW50LWhhYWRpbmctdGV4dC10cmFuc2Zvcm0pIHtcclxuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiAkcHJvZHVjdC1lbnF1aXJ5LWhhemFyZC1zdGF0ZW1lbnQtaGFhZGluZy10ZXh0LXRyYW5zZm9ybTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBjbXMtcGFyYWdyYXBoKG51bGwsIG51bGwsICRwYXJhZ3JhcGgtZm9udC1zaXplKTtcclxuICAgIH1cclxuICAgIC5oYXphcmQtaWNvbnMtY29udGFpbmVyLCAuaGF6YXJkLWluZm8tY29udGFpbmVyIHtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLS0tIEdlbmVyaWMgbXVsdGktbGluZSBjb250YWluZXIgLS0tLS1cclxuLy8gVXNlZCBmb3IgaW5mb3JtYXRpb24gc3VjaCBhcyBub3RlcyAmIHNwZWNpZmljYXRpb25zLlxyXG4ucHJvZHVjdC1lbnF1aXJ5LW11bHRpLWxpbmUtY29udGFpbmVyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgLm11bHRpLWxpbmUtaGVhZGluZyB7XHJcbiAgICAgICAgbWFyZ2luOiAkcHJvZHVjdC1lbnF1aXJ5LW11bHRpLWxpbmUtaGVhZGluZy1tYXJnaW47XHJcbiAgICAgICAgaDIsIGgzLCBoNCB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHByb2R1Y3QtZW5xdWlyeS1tdWx0aS1saW5lLWhlYWRpbmctZm9udC1zaXplKTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRwcm9kdWN0LWVucXVpcnktbXVsdGktbGluZS1oZWFkaW5nLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJHByb2R1Y3QtZW5xdWlyeS1tdWx0aS1saW5lLWhlYWRpbmctZm9udC1mYW1pbHk7XHJcbiAgICAgICAgICAgIEBpZiAoJHByb2R1Y3QtZW5xdWlyeS1tdWx0aS1saW5lLWhlYWRpbmctbGV0dGVyLXNwYWNpbmcpIHtcclxuICAgICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAkcHJvZHVjdC1lbnF1aXJ5LW11bHRpLWxpbmUtaGVhZGluZy1sZXR0ZXItc3BhY2luZztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaWYgKCRwcm9kdWN0LWVucXVpcnktbXVsdGktbGluZS1oZWFkaW5nLXRleHQtdHJhbnNmb3JtICE9IG5vbmUpIHtcclxuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiAkcHJvZHVjdC1lbnF1aXJ5LW11bHRpLWxpbmUtaGVhZGluZy10ZXh0LXRyYW5zZm9ybTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBjb2xvcjogJHByb2R1Y3QtZW5xdWlyeS1tdWx0aS1saW5lLWhlYWRpbmctY29sb3VyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5tdWx0aS1saW5lLWNvbnRlbnQge1xyXG4gICAgICAgIEBpbmNsdWRlIGNtcy1saXN0cygpO1xyXG4gICAgICAgIHVsLCBvbCB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgdWwge1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHAsIGxpIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwcm9kdWN0LWVucXVpcnktbXVsdGktbGluZS1wYXJhZ3JhcGgtZm9udC1zaXplKTtcclxuICAgICAgICAgICAgY29sb3I6ICRwcm9kdWN0LWVucXVpcnktbXVsdGktbGluZS1wYXJhZ3JhcGgtY29sb3VyO1xyXG4gICAgICAgICAgICAvL2xpbmUtaGVpZ2h0OiAyNXB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYucHJvZHVjdC1ub3RlcyB7XHJcbiAgICAgICAgQGlmICgkcHJvZHVjdC1lbnF1aXJ5LW11bHRpLWxpbmUtbm90ZXMtbWFyZ2luKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogJHByb2R1Y3QtZW5xdWlyeS1tdWx0aS1saW5lLW5vdGVzLW1hcmdpbjtcclxuICAgICAgICB9XHJcbiAgICAgICAgcGFkZGluZzogMCAwICN7JHByb2R1Y3QtZW5xdWlyeS1kZXRhaWxzLXNlcGVyYXRvci1ydWxlLXNwYWNpbmd9O1xyXG4gICAgICAgIEBpZiAoJHByb2R1Y3QtZW5xdWlyeS1kZXRhaWxzLXNlcGVyYXRvci1ydWxlcy1lbmFibGVkKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICN7JHByb2R1Y3QtZW5xdWlyeS1kZXRhaWxzLXNlcGVyYXRvci1ydWxlLXNwYWNpbmd9O1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAkcHJvZHVjdC1lbnF1aXJ5LWRldGFpbHMtc2VwZXJhdG9yLXJ1bGUtYm9yZGVyO1xyXG4gICAgICAgIH1cclxuICAgICAgICAucmVhZC1tb3JlIHtcclxuICAgICAgICAgICAgJjpub3QoOmhhcygucmVhZC1tb3JlLWNvbnRlbnQpKSB7XHJcbiAgICAgICAgICAgICAgICAgLy8gVGhpcyBnZXRzIG92ZXJyaWRkZW4gYnkgdGhlIEphdmFTY3JpcHQgb25jZSBpbml0aWFsaXNlZC5cclxuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDEwMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0gU3BlY2lmaWNhdGlvbiAgKCBidWxsZXQgbGlzdCApIC0tLVxyXG4jc3BsaXQtc3BlY2lmaWNhdGlvbiB7XHJcbiAgICB1bCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnVsbGV0cG9pbnQoKTtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICB9XHJcbiAgICBsaSB7XHJcbiAgICAgICAgbWFyZ2luOiA1cHggMDtcclxuICAgIH1cclxuICAgIGxpLCBwLCBhLCBzcGFuIHtcclxuICAgICAgICBjb2xvcjogJHNwZWNpZmljYXRpb24tY29sb3VyO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHNwZWNpZmljYXRpb24tZm9udC1zaXplKTtcclxuICAgICAgICBmb250LXdlaWdodDogJHNwZWNpZmljYXRpb24tZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRzcGVjaWZpY2F0aW9uLWxpbmUtaGVpZ2h0O1xyXG4gICAgfVxyXG59XHJcbi5zcGxpdC1zcGVjaWZpY2F0aW9uIHtcclxuICAgIHBhZGRpbmc6IDIwcHggMDsgIFxyXG59XHJcblxyXG4jcHJvZHVjdC1wcmljZS1jb250YWluZXIge1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgIG9yZGVyOiAyO1xyXG4gICAgfVxyXG4gICAgLy8gQGluY2x1ZGUgcHJpY2UoKTtcclxuICAgIC5wcmljZXMge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgLnByaWNlLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAvLyAqKiBEbyBub3Qgc2V0IHdpZHRoIG90aGVyd2lzZSB0aGlzIHdpbGwgY2F1c2Ugc3RvY2tsaW5lIHByaWNlIHRvIHByZS1tYXR1cmVseSB3cmFwLCByZXZlcnNpbmcgdGhpcyBjaGFuZ2UgZm9yIHdob2xlc2FsZSBhcyB0aGVpciBvdmVyYWwgcHJpY2Ugc3R5bGluZyBpcyBjb21wbGV0ZWx5IGRpZmZlcmVudCB0byBvdGhlciBleHByZXNzIHNpdGVzLlxyXG4gICAgICAgICAgICAgICAgQGlmICgkcHJvZHVjdC1wcmljZS1jb2x1bW4td2lkdGgpIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogJHByb2R1Y3QtcHJpY2UtY29sdW1uLXdpZHRoO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIFByaWNlcyBvcmRlcmluZy5cclxuICAgIC5ycnAge1xyXG4gICAgICAgIEBpZiAoJHByb2R1Y3QtcHJpY2Utc2l6ZS1vdmVycmlkZSAhPSAkcHJpY2UtZm9udC1zaXplKSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHByb2R1Y3QtcHJpY2Utc2l6ZS1vdmVycmlkZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgb3JkZXI6IDE7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnBhY2stcHJpY2Uge1xyXG4gICAgICAgIEBpZiAoJHByb2R1Y3QtcHJpY2Utc2l6ZS1vdmVycmlkZSAhPSAkcHJpY2UtZm9udC1zaXplKSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHByb2R1Y3QtcHJpY2Utc2l6ZS1vdmVycmlkZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgb3JkZXI6IDI7XHJcbiAgICAgICAgfSBcclxuICAgIH1cclxuICAgIC5wYWNrLXNpemUge1xyXG4gICAgICAgIEBpZiAoJHByb2R1Y3QtcHJpY2Utc2l6ZS1vdmVycmlkZSAhPSAkcHJpY2UtZm9udC1zaXplKSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHByb2R1Y3QtcHJpY2Utc2l6ZS1vdmVycmlkZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgb3JkZXI6IDQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnBhY2staXRlbS1wcmljZSB7XHJcbiAgICAgICAgQGlmICgkcHJvZHVjdC1wcmljZS1zaXplLW92ZXJyaWRlICE9ICRwcmljZS1mb250LXNpemUpIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkcHJvZHVjdC1wcmljZS1zaXplLW92ZXJyaWRlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBvcmRlcjogNjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuc2F2aW5nIHtcclxuICAgICAgICBAaWYgKCRwcm9kdWN0LXByaWNlLXNpemUtb3ZlcnJpZGUgIT0gJHByaWNlLWZvbnQtc2l6ZSkge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwcm9kdWN0LXByaWNlLXNpemUtb3ZlcnJpZGUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG9yZGVyOiAzO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5wcmljZSB7XHJcbiAgICAgICAgLmxhYmVsIHtcclxuICAgICAgICAgICAgJjplbXB0eSB7XHJcbiAgICAgICAgICAgICAgICAmICsgLnZhbHVlIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBvcmRlcjogNTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmICgkcHJvZHVjdC1wcmljZS1zaXplLW92ZXJyaWRlICE9ICRwcmljZS1mb250LXNpemUpIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkcHJvZHVjdC1wcmljZS1zaXplLW92ZXJyaWRlKTtcclxuICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgLnZhbHVlIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHByb2R1Y3QtaW5kaXZpZHVhbC1wcmljZS1mb250LXNpemUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgfVxyXG59XHJcblxyXG4ub3B0aW9uYWwtZXh0cmFzLWNvbnRhaW5lciB7XHJcbiAgICBwYWRkaW5nOiAxMHB4IDAgJHByb2R1Y3QtZW5xdWlyeS1kZXRhaWxzLXNlcGVyYXRvci1ydWxlLXNwYWNpbmc7XHJcbiAgICBAaWYgKCRwcm9kdWN0LWVucXVpcnktZGV0YWlscy1zZXBlcmF0b3ItcnVsZXMtZW5hYmxlZCkge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRwcm9kdWN0LWVucXVpcnktZGV0YWlscy1zZXBlcmF0b3ItcnVsZS1zcGFjaW5nO1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206ICRwcm9kdWN0LWVucXVpcnktZGV0YWlscy1zZXBlcmF0b3ItcnVsZS1ib3JkZXI7XHJcbiAgICB9XHJcbiAgICB0YWJsZSB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICAvLyBVc2UgdGhlIG9sZCBzdHlsaW5nIHByZS1wcm9kdWN0IHBhZ2UgcmVmYWN0b3IuXHJcbiAgICAgICAgdHI6bm90KDpoYXMoLmltYWdlLWNvbCkpIHtcclxuICAgICAgICAgICAgLmRlc2NyaXB0aW9uLWNvbCB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDQwMHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5jb2RlLWNvbCB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEyNXB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5wcmljZS1jb2wge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA4MHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRkLmRlc2NyaXB0aW9uLWNvbCB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICAgICAgICAgIC5pbWFnZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5kZXNjcmlwdGlvbi1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGZsZXg6IDE7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAxMHB4IDAgMDtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgdGQuZGVzY3JpcHRpb24tY29sIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDI4MHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jb2RlLWNvbCB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAucHJpY2UtY29sIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDgwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmFkZC1jb2wge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogODBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvLyB0ZC5kZXNjcmlwdGlvbi1jb2wge1xyXG4gICAgICAgIC8vICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIC8vICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgIC8vIH1cclxuICAgICAgICB0aC5kZXNjcmlwdGlvbi1jb2wge1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmRlc2NyaXB0aW9uLWNvbnRhaW5lciB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgZ2FwOiAkcHJvZHVjdC1saXN0LWxpc3QtaXRlbS1kZXNjcmlwdGlvbi1nYXA7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5kZXNjcmlwdGlvbiB7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkY29sbGVjdGlvbi1kZXNjcmlwdGlvbi1saW5lLWhlaWdodDtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRwcm9kdWN0LWVucXVpcnktb3B0aW9uYWwtZXh0cmFzLWRlc2NyaXB0aW9uLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sbGVjdGlvbi1hbmNob3ItY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkY29sbGVjdGlvbi1kZXNjcmlwdGlvbi1mb250LXNpemUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHRkLmNvZGUtY29sIHtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRjb2xsZWN0aW9uLWNvZGUtZm9udC1zaXplKTtcclxuICAgIH1cclxuICAgIC5pbWFnZS1jb2wge1xyXG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogMTEwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmltYWdlIHtcclxuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG4gICAgLmludHJvLWNvbnRhaW5lciB7XHJcbiAgICAgICAgcGFkZGluZzogMjBweCA1cHg7XHJcbiAgICAgICAgQGluY2x1ZGUgY21zLXBhcmFncmFwaChudWxsLCBudWxsLCAkcHJvZHVjdC1lbnF1aXJ5LW11bHRpLWxpbmUtcGFyYWdyYXBoLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgQGluY2x1ZGUgY21zLWxpc3RzKCk7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5jbXMtY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbiNwcm9kdWN0LWNhc2UtcHJpY2luZywgI3Byb2R1Y3QtcHJpY2UtY29udGFpbmVyIHtcclxuICAgIG1hcmdpbjogMCAwIDVweDtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBtYXJnaW46IDAgMCA0MHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0tLSBGYXZvdXJpdGVzIC0tLS0tXHJcbi5wcm9kdWN0LWVucXVpcnktZmF2b3VyaXRlcy1jb250YWluZXIge1xyXG4gICAgLmZhdm91cml0ZXMge1xyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0tLS0gUXVhbnRpdHkgUHJpY2UgQnJlYWsgTW9kdWxlIC0tLS0tLVxyXG4jcHJvZHVjdC1xdWFudGl0eS1icmVhay1wcmljaW5nLCAucHJvZHVjdC1lbnF1aXJ5LXByaWNlLWJyZWFrLWNvbnRhaW5lciB7XHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAvL3dpZHRoOiAkcHJvZHVjdC1xdWFudGl0eS1wcmljZS1icmVhay10YWJsZS13aWR0aDtcclxuICAgIG1hcmdpbjogYXV0bztcclxuICAgIHBhZGRpbmc6IDAgMCA0MHB4O1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIC8vIHdpZHRoOiAkcHJvZHVjdC1xdWFudGl0eS1wcmljZS1icmVhay10YWJsZS13aWR0aDtcclxuICAgICAgICBtYXJnaW46IDAgMCAwIGF1dG87XHJcbiAgICB9XHJcbiAgICAucXVhbnRpdHktYnJlYWstbW9kdWxlLWRlc2NyaXB0aW9uIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBwYWRkaW5nOiA1cHggMDtcclxuICAgICAgICBjb2xvcjogJHByb2R1Y3QtcXVhbnRpdHktcHJpY2UtYnJlYWstaGVhZGluZy1jb2xvdXI7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRwcm9kdWN0LXF1YW50aXR5LXByY2llLWJyZWFrLWhlYWRpbmctZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkcHJvZHVjdC1xdWFudGl0eS1wcmNpZS1icmVhay1oZWFkaW5nLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIEBpZiAoJHByb2R1Y3QtcXVhbnRpdHktcHJpY2UtYnJlYWstaGVhZGluZy1ib3JkZXIpIHtcclxuICAgICAgICAgICAgYm9yZGVyOiAkcHJvZHVjdC1xdWFudGl0eS1wcmljZS1icmVhay1oZWFkaW5nLWJvcmRlcjtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmICgkcHJvZHVjdC1xdWFudGl0eS1wcmljZS1icmVhay1oZWFkaW5nLWJhY2tncm91bmQtY29sb3VyKSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcm9kdWN0LXF1YW50aXR5LXByaWNlLWJyZWFrLWhlYWRpbmctYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiAoc21vb3RoLWVkZ2VzKCkpIHtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICBjb2xvcjogJHByb2R1Y3QtcXVhbnRpdHktcHJpY2UtYnJlYWstaGVhZGluZy1zYXZlLWFtb3VudC1jb2xvdXI7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRwcm9kdWN0LXF1YW50aXR5LXByY2llLWJyZWFrLWhlYWRpbmctZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGFibGUge1xyXG4gICAgICAgIG1hcmdpbjogJHByb2R1Y3QtcXVhbnRpdHktcHJpY2UtYnJlYWstdGFibGUtbWFyZ2luO1xyXG4gICAgICAgIHRoIHtcclxuICAgICAgICAgICAgLy8gT3ZlcnJpZGluZyBkZWZhdWx0IHBhZGRpbmcgdG8gYnJpbmcgaGVhZGluZyB0ZXh0IGluIGNsb3NlciBhcyBpdCB3YXMgbG9va2luZyBhIGJpdCBkaXMtam9pbnRlZCB3aXRoIHRoZSB0YWJsZSBjb250ZW50ICggdGhpcyBpcyBzdHlsZWQgY29tcGxldGVseSBkaWZmZXJlbnQgZm9yIGVncGwgKS5cclxuICAgICAgICAgICAgcGFkZGluZzogJHByb2R1Y3QtcXVhbnRpdHktcHJpY2UtYnJlYWstdGFibGUtdGgtcGFkZGluZztcclxuICAgICAgICAgICAgQGlmICgkcHJvZHVjdC1xdWFudGl0eS1wcmljZS1icmVhay10YWJsZS10aC1jb2xvdXIpIHtcclxuICAgICAgICAgICAgICAgIC8vIE92ZXJyaWRlIHRhYmxlIHByZXNldC0xIGNvbG91ci5cclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJvZHVjdC1xdWFudGl0eS1wcmljZS1icmVhay10YWJsZS10aC1jb2xvdXI7XHJcbiAgICAgICAgICAgIH0gXHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRib2R5IHtcclxuICAgICAgICAgICAgQGlmICgkcHJvZHVjdC1xdWFudGl0eS1wcmljZS1icmVhay10YWJsZS1zdXBwcmVzcy1oZWFkZXItZ2FwKSB7XHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRkIHtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgICAgICAgICAgICAmLnNhdmluZ3MtY29sIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHByaWNlLWNvbG91cjtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJHByb2R1Y3QtcXVhbnRpdHktcHJpY2UtYnJlYWstc2F2aW5nLWNvbC1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAucXVhbnRpdHktY29sIHtcclxuICAgICAgICAgICAgd2lkdGg6IDMwJTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnByaWNlLXBlci1pdGVtLWNvbCB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA0MCU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5zYXZpbmdzLWNvbCB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAzMCU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4jcHJvZHVjdC1xdWFudGl0eS1icmVhay1wcmljaW5nLCAuZ3JvdXBlZC1wcm9kdWN0LW1vZHVsZXMge1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4ucHJvZHVjdC1lbnF1aXJ5LXByaWNlLWJyZWFrLWNvbnRhaW5lciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1hcmdpbjogMTBweCAwIDIwcHg7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIG1hcmdpbjogMTVweCAwIDIwcHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLSBQcm9kdWN0IGVucXVpcnkgcHJpY2luZyAtLS0gXHJcbi8vIFNpbmdsZSBpdGVtXHJcbi5wcm9kdWN0LWVucXVpcnktc2luZ2xlLXByaWNpbmcge1xyXG4gICAgLS1wcmljZS1tYXgtd2lkdGg6ICN7c21hbGwtdmFsdWUoJHByb2R1Y3QtZW5xdWlyeS1wcmljZS1jb2x1bW4tbWF4LXdpZHRoKX07XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgIC0tcHJpY2UtbWF4LXdpZHRoOiAje21lZGl1bS12YWx1ZSgkcHJvZHVjdC1lbnF1aXJ5LXByaWNlLWNvbHVtbi1tYXgtd2lkdGgpfTtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAtLXByaWNlLW1heC13aWR0aDogI3tsYXJnZS12YWx1ZSgkcHJvZHVjdC1lbnF1aXJ5LXByaWNlLWNvbHVtbi1tYXgtd2lkdGgpfTtcclxuICAgIH1cclxufVxyXG5cclxuLy8gU3RvY2tsaW5lcyAvIEdyb3VwXHJcbi5wcm9kdWN0LWVucXVpcnktZ3JvdXAtcHJpY2luZyB7XHJcbiAgICAvLyBCZWNhdXNlIHRoZXJlIGlzIHN1Y2ggdmFyaWF0aW9uIGluIHByaWNpbmcgZ29pbmcgd2l0aCBhIG1vcmUgZnJlZS1mb3JtIGFwcHJvYWNoLlxyXG4gICAgLS1wcmljZS1tYXgtd2lkdGg6IDFmcjtcclxufVxyXG5cclxuLnByb2R1Y3QtZW5xdWlyeS1zaW5nbGUtcHJpY2luZyB7XHJcbiAgICAucHJpY2VzIC5wcmljZSB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgICAgICAudmFsdWUge1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnByb2R1Y3QtZW5xdWlyeS1zaW5nbGUtcHJpY2luZywgLnByb2R1Y3QtZW5xdWlyeS1ncm91cC1wcmljaW5nIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgcGFkZGluZzogMTBweCAwO1xyXG4gICAgLnByaWNlcyB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcclxuICAgICAgICBnYXA6IHNtYWxsLXZhbHVlKCRwcm9kdWN0LWVucXVpcnktcHJpY2UtZ3JpZC1nYXApO1xyXG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoI3tzbWFsbC12YWx1ZSgkcHJvZHVjdC1lbnF1aXJ5LXByaWNlLWNvbHVtbi1taW4td2lkdGgpfSwgdmFyKC0tcHJpY2UtbWF4LXdpZHRoKSkpO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgICRndXR0ZXJzOiAoc3BhY2luZy12YWx1ZSgkcHJvZHVjdC1lbnF1aXJ5LXByaWNlLWdyaWQtZ2FwLCAyKSAvIDIpO1xyXG4gICAgICAgICAgICAvLyBTZXQgMTkwcHggYXMgbWluIHNpemUgdG8gYWxsb3cgZm9yIDIgY29sdW1uIHRhYmxldCB2aWV3LlxyXG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KCN7bWVkaXVtLXZhbHVlKCRwcm9kdWN0LWVucXVpcnktcHJpY2UtY29sdW1uLW1pbi13aWR0aCl9LCBjYWxjKHZhcigtLXByaWNlLW1heC13aWR0aCkgLSAjeyRndXR0ZXJzfSkpKTtcclxuICAgICAgICAgICAgZ2FwOiBtZWRpdW0tdmFsdWUoJHByb2R1Y3QtZW5xdWlyeS1wcmljZS1ncmlkLWdhcCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgJGd1dHRlcnM6IChzcGFjaW5nLXZhbHVlKCRwcm9kdWN0LWVucXVpcnktcHJpY2UtZ3JpZC1nYXAsIDIsIGxhcmdlKSAvIDIpO1xyXG4gICAgICAgICAgICAvLyBTZXQgMTkwcHggYXMgbWluIHNpemUgdG8gYWxsb3cgZm9yIDIgY29sdW1uIHRhYmxldCB2aWV3LlxyXG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KCN7bGFyZ2UtdmFsdWUoJHByb2R1Y3QtZW5xdWlyeS1wcmljZS1jb2x1bW4tbWluLXdpZHRoKX0sIGNhbGModmFyKC0tcHJpY2UtbWF4LXdpZHRoKSAtICN7JGd1dHRlcnN9KSkpO1xyXG4gICAgICAgICAgICBnYXA6IGxhcmdlLXZhbHVlKCRwcm9kdWN0LWVucXVpcnktcHJpY2UtZ3JpZC1nYXApO1xyXG4gICAgICAgIH1cclxuICAgICAgICAucHJpY2UtZ3JvdXAtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgICAgICAvLyBJZiB0aGlzIG1vZHVsZSBkb2VzIG5vdCBjb250YWluZXIgYW55IGNoaWxkcmVuIHRoZW4gZGlzcGxheTogbm9uZTsgb3RoZXJ3aXNlIHRoZSBnYXAgKyBzZXBlcmF0b3IgaXMgc3RpbGwgc2hvd24sIDplbXB0eSBkb2Vzbid0IHdvcmsgaGVyZSBhcyB0aGF0IGRvZXNuJ3QgaW5jbHVkZSB3aGl0ZXNwYWNlLlxyXG4gICAgICAgICAgICAmOm5vdCg6aGFzKCopKSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6aGFzKCArIC5wcmljZS1ncm91cC1jb250YWluZXIgPiAqKSB7XHJcbiAgICAgICAgICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCk6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMXB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgICAgICAgICBib3R0b206IGNhbGMoI3tzcGFjaW5nLXZhbHVlKCRwcm9kdWN0LWVucXVpcnktcHJpY2UtZ3JpZC1nYXAsIDEpfSAvIDIgKiAtMSk7XHJcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjMtMjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAkbGFyZ2VyLW1vYmlsZS1icmVha3BvaW50OiAoc21hbGwtdmFsdWUoJHByb2R1Y3QtZW5xdWlyeS1wcmljZS1jb2x1bW4tbWluLXdpZHRoKSAqIDIpICsgc3BhY2luZy12YWx1ZSgkcHJvZHVjdC1lbnF1aXJ5LXByaWNlLWdyaWQtZ2FwLCAyKSArICRncmlkLWNvbnRhaW5lci1wYWRkaW5nO1xyXG4gICAgICAgICAgICAvLyBCZXNwb2tlIGJyZWFrcG9pbnQgYXMgdGhpcyBydWxlIGNoYW5nZXMgbWlkIG1vYmlsZSBicmVha3BvaW50IFxyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRsYXJnZXItbW9iaWxlLWJyZWFrcG9pbnQpIHtcclxuICAgICAgICAgICAgICAgICY6aGFzKCArIC5wcmljZS1ncm91cC1jb250YWluZXIgPiAqKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDFweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA5MCU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByaWdodDogY2FsYygje3NwYWNpbmctdmFsdWUoJHByb2R1Y3QtZW5xdWlyeS1wcmljZS1ncmlkLWdhcCwgMiwgbWVkaXVtKX0gLyAyICogLTEpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IHVuc2V0O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAucHJpY2UtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgICYucnJwLCAmLnNhdmluZyB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJi5ycnAgKyAuc2F2aW5nIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICYucHJpY2UsICYuZ3JvdXAtcHJpY2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIC5sYWJlbCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6bm90KDplbXB0eSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIC52YWx1ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIEJlIGluY29uc2lzdGVudCB3aXRoIG90aGVyIHByaWNpbmcgYW5kIGFsbG93IHRoZSB2YWx1ZSB0byBhbGlnbiB0byB0aGUgbGVmdCBkdWUgdG8gdGhlIGZvbnQtc2l6ZS5cclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHByb2R1Y3QtaW5kaXZpZHVhbC1wcmljZS1mb250LXNpemUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJHByb2R1Y3QtZW5xdWlyeS1wcmljZS1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgLnZhdCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbiNwcm9kdWN0LWNhc2UtcHJpY2luZyB7XHJcbiAgICAuY2FzZS1wcmljZSB7XHJcbiAgICAgICAgcCB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRwcm9kdWN0LWNhc2UtcHJpY2UtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHBhcmFncmFwaC1mb250LXNpemUgKyAxKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBAaW5jbHVkZSBwcmljZSgpO1xyXG4gICAgLnByaWNlIHtcclxuICAgICAgICBtYXJnaW46IDVweCAwO1xyXG4gICAgfVxyXG59XHJcblxyXG4uZGVsaXZlcnktY291bnRkb3duLWNvbnRhaW5lciBbZGF0YS1jb3VudGRvd24tdGltZV0ge1xyXG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbiAgICBmb250LXdlaWdodDogNDAwO1xyXG59XHJcblxyXG4jYWRkaXRpb25hbC1pbWFnZXMsIC5wcm9kdWN0LWVucXVpcnktYWRkaXRpb25hbC1pbWFnZXMgeyBcclxuICAgIC5jb2xsZWN0aW9uLWl0ZW0ge1xyXG4gICAgICAgICYuYWN0aXZlICB7XHJcbiAgICAgICAgICAgIC50aHVtYm5haWwgYSB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXI6IG1hcC1nZXQoJHByb2R1Y3QtYWRkaXRpb25hbC1pbWFnZXMtdGh1bWJuYWlsLWJvcmRlciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6ICRwcm9kdWN0LWFkZGl0aW9uYWwtaW1hZ2VzLWFjdGl2ZS1vcGFjaXR5O1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAudGh1bWJuYWlsIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICB6LWluZGV4OiAxMDA7XHJcbiAgICAgICAgICAgIGJvcmRlcjogbWFwLWdldCgkcHJvZHVjdC1hZGRpdGlvbmFsLWltYWdlcy10aHVtYm5haWwtYm9yZGVyLCBkZWZhdWx0KTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyICR0cmFuc2l0aW9uSW50cm87XHJcblxyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlcjogbWFwLWdldCgkcHJvZHVjdC1hZGRpdGlvbmFsLWltYWdlcy10aHVtYm5haWwtYm9yZGVyLCBob3Zlcik7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXIgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXI6IG1hcC1nZXQoJHByb2R1Y3QtYWRkaXRpb25hbC1pbWFnZXMtdGh1bWJuYWlsLWJvcmRlciwgYWN0aXZlLWNsaWNrKTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJvcmRlciAkdHJhbnNpdGlvbkludHJvOyBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgJi5pbWFnZS0zNjAge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgaW1hZ2UzNjBPdmVybGF5KDgwJSwgNTVweCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi52aWRlby10aHVtYm5haWwgaW1nIHtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTUwcHg7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IGF1dG87XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgfVxyXG4gICAgXHJcbn1cclxuXHJcbi5ncm91cGVkLXByb2R1Y3QtbW9kdWxlcyB7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBtYXJnaW46IDAgMCAwIDIwcHg7XHJcbiAgICB9XHJcbiAgICA+IGxpIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICAgIGJvcmRlci10b3A6ICRwcm9kdWN0LWdyb3VwZWQtc2Vjb25kLWl0ZW0tYm9yZGVyLXRvcDtcclxuICAgICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAkcHJvZHVjdC1ncm91cGVkLWJvcmRlci13aWR0aCBzb2xpZCAkY29sb3VyMy0xO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIC8vIHdpZHRoOiAkcHJvZHVjdC1xdWFudGl0eS1wcmljZS1icmVhay10YWJsZS13aWR0aDtcclxuICAgICAgICAgICAgLy8gZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgLy8ganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgID4gYSwgPiBzcGFuLCA+IHAsID4gZGl2IHsgXHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDE1cHggMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgYSwgc3BhbiB7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAkcHJvZHVjdC1ncm91cGVkLWJvcmRlci13aWR0aCBzb2xpZCAkY29sb3VyMy0xO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnJhdGluZy1zdW1tYXJ5LWRpc3BsYXkge1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4jYWRkaXRpb25hbC1pbWFnZS1ncmlkLCAuYWRkaXRpb25hbC1pbWFnZS1ncmlkIHtcclxuICAgIC5hZGRpdGlvbmFsLWltYWdlLXgge1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoLSBtYXAtZ2V0KCRtb2R1bGVzLWdyaWQtZ3V0dGVyLCBzbWFsbCkgLyAyKTtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKC0gbWFwLWdldCgkcHJvZHVjdC1hZGRpdGlvbmFsLWltYWdlcy1ncmlkLWd1dHRlciwgc21hbGwpICAvIDIpO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoLSBtYXAtZ2V0KCRwcm9kdWN0LWFkZGl0aW9uYWwtaW1hZ2VzLWdyaWQtZ3V0dGVyLCBtZWRpdW0pIC8gMik7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygtIG1hcC1nZXQoJHByb2R1Y3QtYWRkaXRpb25hbC1pbWFnZXMtZ3JpZC1ndXR0ZXIsIG1lZGl1bSkgIC8gMik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYygtIG1hcC1nZXQoJHByb2R1Y3QtYWRkaXRpb25hbC1pbWFnZXMtZ3JpZC1ndXR0ZXIsIGxhcmdlKSAvIDIpO1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoLSBtYXAtZ2V0KCRwcm9kdWN0LWFkZGl0aW9uYWwtaW1hZ2VzLWdyaWQtZ3V0dGVyLCBsYXJnZSkgIC8gMik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnRodW1ibmFpbCB7XHJcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IG1hcC1nZXQoJHByb2R1Y3QtYWRkaXRpb25hbC1pbWFnZXMtZ3JpZC1ndXR0ZXIsIHNtYWxsKTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBtYXAtZ2V0KCRwcm9kdWN0LWFkZGl0aW9uYWwtaW1hZ2VzLWdyaWQtZ3V0dGVyLCBtZWRpdW0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IG1hcC1nZXQoJHByb2R1Y3QtYWRkaXRpb25hbC1pbWFnZXMtZ3JpZC1ndXR0ZXIsIGxhcmdlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBNb2JpbGUgbGF5b3V0LlxyXG4gICAgLnNtYWxsLXVwLTEge1xyXG4gICAgICAgID4udGh1bWJuYWlsIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgxIG9mIDEsIG51bGwsICRwcm9kdWN0LWFkZGl0aW9uYWwtaW1hZ2VzLWdyaWQtZ3V0dGVyLCAnbWFyZ2luJyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuc21hbGwtdXAtMiB7XHJcbiAgICAgICAgPi50aHVtYm5haWwge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKDEgb2YgMiwgbnVsbCwgJHByb2R1Y3QtYWRkaXRpb25hbC1pbWFnZXMtZ3JpZC1ndXR0ZXIsICdtYXJnaW4nKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5zbWFsbC11cC0zIHtcclxuICAgICAgICA+LnRodW1ibmFpbCB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoMSBvZiAzLCBudWxsLCAkcHJvZHVjdC1hZGRpdGlvbmFsLWltYWdlcy1ncmlkLWd1dHRlciwgJ21hcmdpbicpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnNtYWxsLXVwLTQge1xyXG4gICAgICAgID4udGh1bWJuYWlsIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgxIG9mIDQsIG51bGwsICRwcm9kdWN0LWFkZGl0aW9uYWwtaW1hZ2VzLWdyaWQtZ3V0dGVyLCAnbWFyZ2luJyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuc21hbGwtdXAtNSB7XHJcbiAgICAgICAgPi50aHVtYm5haWwge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKDEgb2YgNSwgbnVsbCwgJHByb2R1Y3QtYWRkaXRpb25hbC1pbWFnZXMtZ3JpZC1ndXR0ZXIsICdtYXJnaW4nKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIFRhYmxldCBsYXlvdXQuXHJcbiAgICAubWVkaXVtLXVwLTEge1xyXG4gICAgICAgID4udGh1bWJuYWlsIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoMSBvZiAxLCBudWxsLCAkcHJvZHVjdC1hZGRpdGlvbmFsLWltYWdlcy1ncmlkLWd1dHRlciwgJ21hcmdpbicpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLm1lZGl1bS11cC0yIHtcclxuICAgICAgICA+LnRodW1ibmFpbCB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKDEgb2YgMiwgbnVsbCwgJHByb2R1Y3QtYWRkaXRpb25hbC1pbWFnZXMtZ3JpZC1ndXR0ZXIsICdtYXJnaW4nKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5tZWRpdW0tdXAtMyB7XHJcbiAgICAgICAgPi50aHVtYm5haWwge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgxIG9mIDMsIG51bGwsICRwcm9kdWN0LWFkZGl0aW9uYWwtaW1hZ2VzLWdyaWQtZ3V0dGVyLCAnbWFyZ2luJyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAubWVkaXVtLXVwLTQge1xyXG4gICAgICAgID4udGh1bWJuYWlsIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoMSBvZiA0LCBudWxsLCAkcHJvZHVjdC1hZGRpdGlvbmFsLWltYWdlcy1ncmlkLWd1dHRlciwgJ21hcmdpbicpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLm1lZGl1bS11cC01IHtcclxuICAgICAgICA+LnRodW1ibmFpbCB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKDEgb2YgNSwgbnVsbCwgJHByb2R1Y3QtYWRkaXRpb25hbC1pbWFnZXMtZ3JpZC1ndXR0ZXIsICdtYXJnaW4nKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIERlc2t0b3AgbGF5b3V0LlxyXG4gICAgLmxhcmdlLXVwLTEge1xyXG4gICAgICAgID4udGh1bWJuYWlsIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgxIG9mIDEsIG51bGwsICRwcm9kdWN0LWFkZGl0aW9uYWwtaW1hZ2VzLWdyaWQtZ3V0dGVyLCAnbWFyZ2luJyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAubGFyZ2UtdXAtMiB7XHJcbiAgICAgICAgPi50aHVtYm5haWwge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKDEgb2YgMiwgbnVsbCwgJHByb2R1Y3QtYWRkaXRpb25hbC1pbWFnZXMtZ3JpZC1ndXR0ZXIsICdtYXJnaW4nKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5sYXJnZS11cC0zIHtcclxuICAgICAgICA+LnRodW1ibmFpbCB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoMSBvZiAzLCBudWxsLCAkcHJvZHVjdC1hZGRpdGlvbmFsLWltYWdlcy1ncmlkLWd1dHRlciwgJ21hcmdpbicpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmxhcmdlLXVwLTQge1xyXG4gICAgICAgID4udGh1bWJuYWlsIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgxIG9mIDQsIG51bGwsICRwcm9kdWN0LWFkZGl0aW9uYWwtaW1hZ2VzLWdyaWQtZ3V0dGVyLCAnbWFyZ2luJyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAubGFyZ2UtdXAtNSB7XHJcbiAgICAgICAgPi50aHVtYm5haWwge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKDEgb2YgNSwgbnVsbCwgJHByb2R1Y3QtYWRkaXRpb25hbC1pbWFnZXMtZ3JpZC1ndXR0ZXIsICdtYXJnaW4nKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcbi8vIC0tLS0tIFN0b2NrIGxpbmVzIC0tLS0tIFxyXG4uc3RvY2tsaW5lLWF0dHJpYnV0ZS1jb250YWluZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGdhcDogc21hbGwtdmFsdWUoJHN0b2NrbGluZS1hdHRyaWJ1dGUtZ2FwKTtcclxuICAgIG1hcmdpbjogc21hbGwtdmFsdWUoJHN0b2NrbGluZS1hdHRyaWJ1dGUtY29udGFpbmVyLW1hcmdpbik7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgZ2FwOiBsYXJnZS12YWx1ZSgkc3RvY2tsaW5lLWF0dHJpYnV0ZS1nYXApO1xyXG4gICAgICAgIG1hcmdpbjogbGFyZ2UtdmFsdWUoJHN0b2NrbGluZS1hdHRyaWJ1dGUtY29udGFpbmVyLW1hcmdpbik7XHJcbiAgICB9XHJcbiAgICAuY29udHJvbCB7XHJcbiAgICAgICAgLmNvbnRyb2wtc2VsZWN0LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAkc3RvY2tsaW5lLWF0dHJpYnV0ZS1tYXgtd2lkdGg7XHJcbiAgICAgICAgICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmNvbnRyb2wtc2VsZWN0LW9wdGlvbi51bmF2YWlsYWJsZS1vcHRpb24ge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRzdG9ja2xpbmUtb3B0aW9uLWJhY2tncm91bmQtY29sb3VyLCB1bmF2YWlsYWJsZSk7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRzdG9ja2xpbmUtb3B0aW9uLWNvbG91ciwgdW5hdmFpbGFibGUpO1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAuNTtcclxuICAgICAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcclxuICAgICAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogLjg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAubGFiZWwsIC5kZXNjcmlwdGlvbiB7XHJcbiAgICAgICAgd2lkdGg6IHNtYWxsLXZhbHVlKCRzdG9ja2xpbmUtbGFiZWwtd2lkdGgpO1xyXG4gICAgICAgIGNvbG9yOiAkc3RvY2tsaW5lLWxhYmVsLWNvbG91cjtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRzdG9ja2xpbmUtbGFiZWwtZm9udC1zaXplKTtcclxuICAgICAgICBmb250LXdlaWdodDogJHN0b2NrbGluZS1sYWJlbC1mb250LXdlaWdodDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBsYXJnZS12YWx1ZSgkc3RvY2tsaW5lLWxhYmVsLXdpZHRoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuYXR0cmlidXRlLWRpc3BsYXkge1xyXG4gICAgICAgIC5sYWJlbCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAudmFsdWUge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5hdHRyaWJ1dGUtY29udGFpbmVyIHtcclxuICAgICAgICBtYXgtd2lkdGg6IHNtYWxsLXZhbHVlKCRzdG9ja2xpbmUtYXR0cmlidXRlLWNvbnRhaW5lci13aWR0aCk7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IGxhcmdlLXZhbHVlKCRzdG9ja2xpbmUtYXR0cmlidXRlLWNvbnRhaW5lci13aWR0aCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyBTdXBwcmVzc2luZyBhcyB0aGlzIGdldHMgY2FsbGVkIGluIEBjbXMtbGlzdHMgd2hpY2ggZ2V0cyBjYWxsZWQgaW4gdGhlIGFjY29yZGlvbi10YWJzIHN0eWxlcy5cclxuLy8gLnRhYmJlZC1ub3Rlcy1jb250YWluZXIsIC50YWJiZWQtY21zLWVudHJ5IHtcclxuLy8gICAgIHVsIHtcclxuLy8gICAgICAgICBAaW5jbHVkZSBidWxsZXRwb2ludCgpO1xyXG4vLyAgICAgfVxyXG4vLyB9XHJcblxyXG4jcHJvZHVjdC1pbmZvLWxlZnQge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xyXG4gICAgfVxyXG4gICAgJi5wcmVzZXQtMSB7XHJcbiAgICAgICAgI3Byb2R1Y3Qtc3BlY2lmaWNhdGlvbi1kZXNjcmlwdGlvbiB7XHJcbiAgICAgICAgICAgIG9yZGVyOiAxO1xyXG4gICAgICAgIH1cclxuICAgICAgICAucGFydC1jb2RlLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIG9yZGVyOiAyO1xyXG4gICAgICAgIH1cclxuICAgICAgICAjcHJvZHVjdEltYWdlLCAucHJvZHVjdC1lbnF1aXJ5LW1haW4tbXVsdGltZWRpYS1jb250YWluZXIge1xyXG4gICAgICAgICAgICBvcmRlcjogMztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLnByZXNldC0yIHtcclxuICAgICAgICAjcHJvZHVjdC1zcGVjaWZpY2F0aW9uLWRlc2NyaXB0aW9uIHtcclxuICAgICAgICAgICAgb3JkZXI6IDI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5wYXJ0LWNvZGUtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgb3JkZXI6IDM7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICNwcm9kdWN0SW1hZ2UsIC5wcm9kdWN0LWVucXVpcnktbWFpbi1tdWx0aW1lZGlhLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIG9yZGVyOiAxO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tIFRhYnMgLyBBY2NvcmRpb24gYXJlYSAtLS1cclxuLnByb2R1Y3QtZW5xdWlyeS10YWJzLWNvbnRhaW5lciB7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgIHBhZGRpbmc6IDIwcHggMCAzNXB4O1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIHBhZGRpbmc6IDI1cHggMCA0NXB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4kcHJvZHVjdC1wcmV2aW91c2x5LXB1cmNoYXNlZC1qdXN0aWZ5LWNvbnRlbnQ6IChcclxuICAgIHNtYWxsOiBjZW50ZXJcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLSBQcmV2aW91c2x5IHB1cmNoYXNlZCAtLS0gXHJcbi5wcm9kdWN0LnByZXZpb3VzbHktcHVyY2hhc2VkLWNvbnRhaW5lciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGp1c3RpZnktY29udGVudDogc21hbGwtdmFsdWUoJHByb2R1Y3QtcHJldmlvdXNseS1wdXJjaGFzZWQtanVzdGlmeS1jb250ZW50KTtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBnYXA6IHNtYWxsLXZhbHVlKCRwcm9kdWN0LXByZXZpb3VzbHktcHVyY2hhc2VkLWd1dHRlcik7XHJcbiAgICBtYXJnaW46IHNtYWxsLXZhbHVlKCRwcm9kdWN0LXByZXZpb3VzbHktcHVyY2hhc2VkLW1hcmdpbik7XHJcbiAgICBwYWRkaW5nOiBzbWFsbC12YWx1ZSgkcHJvZHVjdC1wcmV2aW91c2x5LXB1cmNoYXNlZC1wYWRkaW5nKTtcclxuICAgIGJvcmRlcjogJHByb2R1Y3QtcHJldmlvdXNseS1wdXJjaGFzZWQtYm9yZGVyLXdpZHRoIHNvbGlkICRwcm9kdWN0LXByZXZpb3VzbHktcHVyY2hhc2VkLWJvcmRlci1jb2xvdXI7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZHVjdC1wcmV2aW91c2x5LXB1cmNoYXNlZC1iYWNrZ3JvdW5kO1xyXG4gICAgQGlmIHNtb290aC1lZGdlcygpIHtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICBnYXA6IG1lZGl1bS12YWx1ZSgkcHJvZHVjdC1wcmV2aW91c2x5LXB1cmNoYXNlZC1ndXR0ZXIpO1xyXG4gICAgICAgIG1hcmdpbjogbWVkaXVtLXZhbHVlKCRwcm9kdWN0LXByZXZpb3VzbHktcHVyY2hhc2VkLW1hcmdpbik7XHJcbiAgICAgICAgcGFkZGluZzogbWVkaXVtLXZhbHVlKCRwcm9kdWN0LXByZXZpb3VzbHktcHVyY2hhc2VkLXBhZGRpbmcpO1xyXG4gICAgfVxyXG4gICAgaDMge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoc21hbGwtdmFsdWUoJHByb2R1Y3QtcHJldmlvdXNseS1wdXJjaGFzZWQtaGVhZGluZy1mb250LXNpemUpKTtcclxuICAgICAgICBmb250LXdlaWdodDogJHByb2R1Y3QtcHJldmlvdXNseS1wdXJjaGFzZWQtaGVhZGluZy1mb250LXdlaWdodDtcclxuICAgICAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvdXI7XHJcbiAgICAgICAgQGlmIChzbWFsbC12YWx1ZSgkcHJvZHVjdC1wcmV2aW91c2x5LXB1cmNoYXNlZC1qdXN0aWZ5LWNvbnRlbnQpID09IFwiY2VudGVyXCIpIHtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyhtZWRpdW0tdmFsdWUoJHByb2R1Y3QtcHJldmlvdXNseS1wdXJjaGFzZWQtaGVhZGluZy1mb250LXNpemUpKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBwIHtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgICAgICBnYXA6IHNtYWxsLXZhbHVlKCRwcm9kdWN0LWVucXVpcnktbGFiZWwtdmFsdWUtcGFpci1nYXApO1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIGNvbG9yOiAkYm9keS1mb250LWNvbG91cjtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwcm9kdWN0LXByZXZpb3VzbHktcHVyY2hhc2VkLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRwcm9kdWN0LXByZXZpb3VzbHktcHVyY2hhc2VkLWxhYmVsLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgIGdhcDogbWVkaXVtLXZhbHVlKCRwcm9kdWN0LWVucXVpcnktbGFiZWwtdmFsdWUtcGFpci1nYXApO1xyXG4gICAgICAgIH1cclxuICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRwcm9kdWN0LWVucXVpcnktbGFiZWwtdmFsdWUtcGFpci12YWx1ZS1mb250LXdlaWdodDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAudmlldy1vcmRlci1saW5rIHtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhY2NlbnQtY29sb3VyLTQsIDApO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHByb2R1Y3QtcHJldmlvdXNseS1wdXJjaGFzZWQtdmlldy1vcmRlci1idXR0b24tZm9udC1zaXplKTtcclxuICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgLy9tYXJnaW46IDAgMCAwICgkcHJvZHVjdC1wcmV2aW91c2x5LXB1cmNoYXNlZC1pdGVtLXNwYWNpbmcgKiAyLjEpO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiA1cHg7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNjtcclxuICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91cjY7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzbWFsbC12YWx1ZSgkcHJvZHVjdC1wcmV2aW91c2x5LXB1cmNoYXNlZC1qdXN0aWZ5LWNvbnRlbnQpO1xyXG4gICAgICAgIGdhcDogc21hbGwtdmFsdWUoJHByb2R1Y3QtcHJldmlvdXNseS1wdXJjaGFzZWQtZ3V0dGVyKTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgZ2FwOiBtZWRpdW0tdmFsdWUoJHByb2R1Y3QtcHJldmlvdXNseS1wdXJjaGFzZWQtZ3V0dGVyKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBnYXA6IGxhcmdlLXZhbHVlKCRwcm9kdWN0LXByZXZpb3VzbHktcHVyY2hhc2VkLWd1dHRlcik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG50YWJsZS5jdXN0b20tc3RvY2stdGFibGUge1xyXG4gICAgdGJvZHkge1xyXG4gICAgICAgIHRkIHtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICB9XHJcbiAgICAgICAgdHIge1xyXG4gICAgICAgICAgICAvLyBCYXNpY2FsbHkgdGhpcyBpcyBhIGhlYWRpbmcgcm93LlxyXG4gICAgICAgICAgICAmW2NvbHNwYW49XCIyXCJdIHtcclxuICAgICAgICAgICAgICAgIHRkIHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG91cjM7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGQ6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAzMDBweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBSZXR1cm5zIHRoZSBhcHByb3ByaWF0ZSBDU1MgZmxleCB2YWx1ZSBmb3IgYSBjZWxsIGJhc2UuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQWNjZXB0cyBgZnVsbGAsIGBhdXRvYCwgYHNocmlua2AsIGBncm93YCwgb3IgYW55IG90aGVyIHZhbHVlIHJlcHJlc2VudGluZyBhIGNlbGwgc2l6ZSAoaXQgd2lsbCBiZSB0cmVhdGVkIGFzIGBzaHJpbmtgKS5cbi8vL1xuLy8vIEByZXR1cm5zIHtMaXN0fSBUaGUgY2VsbCBmbGV4IHByb3BlcnR5IHZhbHVlLlxuQGZ1bmN0aW9uIHh5LWNlbGwtYmFzZSgkc2l6ZTogZnVsbCkge1xuICBAaWYgKCRzaXplID09ICdhdXRvJykge1xuICAgIEByZXR1cm4gMSAxIDA7XG4gIH1cbiAgQGVsc2UgaWYgKCRzaXplID09ICdncm93Jykge1xuICAgIEByZXR1cm4gMSAwIGF1dG87XG4gIH1cbiAgQGVsc2UgaWYgKCRzaXplID09ICdzaHJpbmsnIG9yICRzaXplID09ICdmdWxsJyBvciB6Zi1pcy1mcmFjdGlvbigkc2l6ZSwgJGFsbG93LW5vLWRlbm9taW5hdG9yOiB0cnVlKSkge1xuICAgIEByZXR1cm4gMCAwIGF1dG87XG4gIH1cbiAgQHJldHVybiBudWxsO1xufVxuXG4vLy8gQ2FsY3VsYXRlIHRoZSBzaXplIG9mIGEgY2VsbCBndXR0ZXJzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLiBJZiBgYXV0b2AsIHJldHVybnMgdGhlIHJlc3BvbnNpdmUgZ3V0dGVycyBtYXAgYCRndXR0ZXJzYC4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcnxNYXB9IFRoZSBjZWxsIGd1dHRlciBzaXplIG9yIHRoZSByZXNwb25zaXZlIGd1dHRlcnMgbWFwLlxuQGZ1bmN0aW9uIHh5LWNlbGwtZ3V0dGVycyhcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkYnJlYWtwb2ludDogbnVsbFxuKSB7XG4gIC8vIEZvciBgYXV0b2AsIHJldHVybnMgdGhlIHJlc3BvbnNpdmUgbWFwIGAkZ3V0dGVyc2AuXG4gIEBpZiAoJGJyZWFrcG9pbnQgPT0gJ2F1dG8nKSB7XG4gICAgQHJldHVybiAkZ3V0dGVycztcbiAgfVxuXG4gIC8vIFVzZSB0aGUgY29udGV4dHVhbCBicmVha3BvaW50IGJ5IGRlZmF1bHQuXG4gICRicmVha3BvaW50OiAtemYtY3VycmVudC1icmVha3BvaW50KCRicmVha3BvaW50KTtcblxuICBAaWYgKCRicmVha3BvaW50KSB7XG4gICAgQHJldHVybiAtemYtZ2V0LWJwLXZhbCgkZ3V0dGVycywgJGJyZWFrcG9pbnQpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIC16Zi1nZXQtYnAtdmFsKCRndXR0ZXJzLCAkLXpmLXplcm8tYnJlYWtwb2ludCkgb3IgMDtcbiAgfVxufVxuXG4vLy8gUmV0dXJucyB0aGUgcGVyY2VudGFnZSBzaXplIG9mIGEgY2VsbC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRzaXplIFskZ3JpZC1jb2x1bW5zXSAtIFNpemUgdG8gbWFrZSB0aGUgY2VsbC4gWW91IGNhbiBwYXNzIGEgdmFsdWUgaW4gbXVsdGlwbGUgZm9ybWF0cywgc3VjaCBhcyBgNmAsIGA1MCVgLCBgMSBvZiAyYCBvciBgMS8zYC5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFNpemUgb2YgdGhlIGNlbGwgKGluIHBlcmNlbnQpLlxuQGZ1bmN0aW9uIHh5LWNlbGwtc2l6ZShcbiAgJHNpemU6ICRncmlkLWNvbHVtbnNcbikge1xuICBAcmV0dXJuIGZyYWN0aW9uLXRvLXBlcmNlbnRhZ2UoJHNpemUsICRkZW5vbWluYXRvcjogJGdyaWQtY29sdW1ucyk7XG59XG5cbi8vLyBSZXR1cm5zIHRoZSBhcHByb3ByaWF0ZSBDU1MgdmFsdWUgZm9yIGEgY2VsbCBzaXplLlxuLy8vXG4vLy8gR3V0dGVycy1yZWxhdGVkIGFyZ3VtZW50cyBhcmUgcmVxdWlyZWQgZm9yIGNlbGxzIHdpdGggbWFyZ2luIGd1dHRlcnMgKGJ5IGRlZmF1bHQpIGFzIHRoZSBndXR0ZXIgaXMgaW5jbHVkZWQgaW4gdGhlIHdpZHRoLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgW2Z1bGxdIC0gVGhlIHNpemUgb2YgeW91ciBjZWxsLiBDYW4gYmUgYGZ1bGxgLCBgYXV0b2AsIGBzaHJpbmtgIG9yIGFueSBmcmFjdGlvbiBsaWtlIGA2YCwgYDUwJWAsIGAxIG9mIDJgIG9yIGAxLzJgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBUeXBlIG9mIGd1dHRlciB0byBvdXRwdXQuIEFjY2VwdHMgYG1hcmdpbmAsIGBwYWRkaW5nYCBvciBgbm9uZWAuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS4gSWYgYGF1dG9gLCByZXR1cm5zIGEgbWFwIG9mIHNpemVzIGFkYXB0ZWQgdG8gcmVzcG9uc2l2ZSBndXR0ZXJzLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfFN0cmluZ3xNYXB9IFRoZSBjZWxsIHNpemluZyBwcm9wZXJ0eSB2YWx1ZSwgb3IgYSByZXNwb25zaXZlIG1hcCBvZiB0aGVtLlxuQGZ1bmN0aW9uIHh5LWNlbGwtc2l6ZS1jc3MoXG4gICRzaXplOiBmdWxsLFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkYnJlYWtwb2ludDogbnVsbFxuKSB7XG4gICRtYXJnaW4tZ3V0dGVyOiAwO1xuXG4gIEBpZiAoJHNpemUgPT0gJ2F1dG8nIG9yICRzaXplID09ICdzaHJpbmsnKSB7XG4gICAgQHJldHVybiBhdXRvO1xuICB9XG5cbiAgLy8gRm9yIGNlbGxzIHdpdGggbWFyZ2luIGd1dHRlcnMsIHRoZSBndXR0ZXIgaXMgaW5jbHVkZWQgaW4gdGhlIHdpZHRoLlxuICBAaWYgKCRndXR0ZXItdHlwZSA9PSAnbWFyZ2luJykge1xuICAgICRtYXJnaW4tZ3V0dGVyOiB4eS1jZWxsLWd1dHRlcnMoJGd1dHRlcnMsICRicmVha3BvaW50KTtcbiAgICBAaWYgKCRtYXJnaW4tZ3V0dGVyID09IG51bGwpIHtcbiAgICAgIEBlcnJvciAneHktY2VsbC1zaXplOiBubyBndXR0ZXJzIHdlcmUgZm91bmQgaW4gYCRndXR0ZXJzYCBmb3IgXCIkYnJlYWtwb2ludDogI3skYnJlYWtwb2ludH1cIic7XG4gICAgfVxuICB9XG5cbiAgLy8gQ2FsY3VsYXRlIHRoZSBjZWxsIHNpemUgKG51bWJlcilcbiAgJHNpemUtcmF3OiBpZigkc2l6ZSA9PSAnZnVsbCcsIDEwMCUsIHh5LWNlbGwtc2l6ZSgkc2l6ZSkpO1xuXG4gIC8vIENhbGN1bGF0ZSB0aGUgY2VsbCBDU1Mgc2l6ZSBpbmNsdWRpbmcgZ3V0dGVycyAoc3RyaW5nKVxuICAvLyBJZiB0aGUgY2VsbCBoYXMgcmVzcG9uc2l2ZSBtYXJnaW4gZ3V0dGVycywgcmV0dXJuIGEgcmVzcG9uc2l2ZSBtYXAgb2Ygc2l6ZXMuXG4gIEBpZiB0eXBlLW9mKCRtYXJnaW4tZ3V0dGVyKSA9PSAnbWFwJyB7XG4gICAgJHJlc3BvbnNpdmUtY3NzLXNpemVzOiAoKTtcblxuICAgIEBlYWNoICRicCwgJG1nIGluICRtYXJnaW4tZ3V0dGVyIHtcbiAgICAgICRtZ2M6IHJlbS1jYWxjKCRtZyk7XG4gICAgICBAaWYgJG1nYyA9PSAwIHtcbiAgICAgICAgJG1nYzogMHJlbTtcbiAgICAgIH1cbiAgICAgICRzaXplLWNzczogaWYoJG1nID09IDAsICRzaXplLXJhdywgY2FsYygjeyRzaXplLXJhd30gLSAjeyRtZ30pKTtcbiAgICAgICRyZXNwb25zaXZlLWNzcy1zaXplczogbWFwLW1lcmdlKCRyZXNwb25zaXZlLWNzcy1zaXplcywgKCRicDogJHNpemUtY3NzKSk7XG4gICAgfVxuXG4gICAgQHJldHVybiAkcmVzcG9uc2l2ZS1jc3Mtc2l6ZXM7XG4gIH1cbiAgLy8gT3RoZXJ3aXNlLCByZXR1cm4gYSBzaW5nbGUgQ1NTIHNpemUuXG4gIEBlbHNlIHtcbiAgICAvLyBNYWtlIHN1cmUgdGhhdCAwIGlzIHRyYW5zbGF0ZWQgaW4gMHJlbSBmb3IgY2FsYygpXG4gICAgJG1nYzogcmVtLWNhbGMoJG1hcmdpbi1ndXR0ZXIpO1xuICAgIEBpZiAkbWdjID09IDAge1xuICAgICAgJG1nYzogMHJlbTtcbiAgICB9XG4gICAgJGNzcy1zaXplOiBpZigkbWFyZ2luLWd1dHRlciA9PSAwLCAkc2l6ZS1yYXcsIGNhbGMoI3skc2l6ZS1yYXd9IC0gI3skbWdjfSkpO1xuICAgIEByZXR1cm4gJGNzcy1zaXplO1xuICB9XG59XG5cbi8vLyBTZXRzIGJhc2UgZmxleCBwcm9wZXJ0aWVzIGZvciBjZWxscy5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgW2Z1bGxdIC0gVGhlIHNpemUgb2YgeW91ciBjZWxsLiBBY2NlcHRzIGBmdWxsYCwgYGF1dG9gLCBgc2hyaW5rYCwgYGdyb3dgLCBvciBhbnkgb3RoZXIgdmFsdWUgcmVwcmVzZW50aW5nIGEgY2VsbCBzaXplIChpdCB3aWxsIGJlIHRyZWF0ZWQgYXMgYHNocmlua2ApLlxuQG1peGluIHh5LWNlbGwtYmFzZSgkc2l6ZTogZnVsbCkge1xuICAkYmFzZTogeHktY2VsbC1iYXNlKCRzaXplKTtcblxuICBmbGV4OiAjeyRiYXNlfTtcblxuICAvLyBTZXQgYmFzZSBzdHlsZXMgZm9yIFwiZnVsbFwiIG9ubHlcbiAgQGlmKCRzaXplID09ICdmdWxsJykge1xuICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgbWluLXdpZHRoOiAwO1xuICB9XG59XG5cbi8vLyBSZXNldHMgYSBjZWxscyB3aWR0aCAob3IgaGVpZ2h0IGlmIHZlcnRpY2FsIGlzIHRydWUpIGFzIHdlbGwgYXMgc3RyaXBzIGl0cyBndXR0ZXJzLlxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIFNldCB0byB0cnVlIHRvIG91dHB1dCB2ZXJ0aWNhbCAoaGVpZ2h0KSBzdHlsZXMgcmF0aGVyIHRoYW4gd2lkdGhzLlxuQG1peGluIHh5LWNlbGwtcmVzZXQoJHZlcnRpY2FsOiB0cnVlKSB7XG4gICRkaXJlY3Rpb246IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCBoZWlnaHQsIHdpZHRoKTtcbiAgI3skZGlyZWN0aW9ufTogYXV0bztcbiAgbWF4LSN7JGRpcmVjdGlvbn06IG5vbmU7XG59XG5cbi8vLyBTZXRzIHNpemluZyBwcm9wZXJ0aWVzIGZvciBjZWxscy5cbi8vL1xuLy8vIEd1dHRlcnMtcmVsYXRlZCBhcmd1bWVudHMgYXJlIHJlcXVpcmVkIGZvciBjZWxscyB3aXRoIG1hcmdpbiBndXR0ZXJzIChieSBkZWZhdWx0KSBhcyB0aGUgZ3V0dGVyIGlzIGluY2x1ZGVkIGluIHRoZSB3aWR0aC5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQ2FuIGJlIGBmdWxsYCAoMTAwJSB3aWR0aCksIGBhdXRvYCAodXNlIGFsbCBhdmFpbGFibGUgc3BhY2UpLCBgc2hyaW5rYCAodXNlIG9ubHkgdGhlIHJlcXVpcmVkIHNwYWNlKSBvciBhbnkgZnJhY3Rpb24gKGA2YCwgYDUwJWAsIGAxIG9mIDJgIG9yIGAxLzJgLi4uKS5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVHlwZSBvZiBndXR0ZXIgdG8gb3V0cHV0LiBBY2NlcHRzIGBtYXJnaW5gLCBgcGFkZGluZ2Agb3IgYG5vbmVgLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uIElmIGBhdXRvYCwgZ2VuZXJhdGVzIHNpemVzIGFkYXB0ZWQgZm9yIHJlc3BvbnNpdmUgZ3V0dGVycy4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbkBtaXhpbiB4eS1jZWxsLXNpemUoXG4gICRzaXplOiBmdWxsLFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkYnJlYWtwb2ludDogbnVsbCxcbiAgJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG4gICRzaXplczogeHktY2VsbC1zaXplLWNzcygkc2l6ZSwgJGd1dHRlcnMsICRndXR0ZXItdHlwZSwgJGJyZWFrcG9pbnQpO1xuICAkZGlyZWN0aW9uOiBpZigkdmVydGljYWwgPT0gdHJ1ZSwgaGVpZ2h0LCB3aWR0aCk7XG5cbiAgQGlmICh0eXBlLW9mKCRzaXplcykgPT0gJ21hcCcpIHtcbiAgICBAaW5jbHVkZSAtemYtYnJlYWtwb2ludC12YWx1ZShhdXRvLCAkc2l6ZXMpIHtcbiAgICAgICN7JGRpcmVjdGlvbn06ICQtemYtYnAtdmFsdWU7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAjeyRkaXJlY3Rpb259OiAkc2l6ZXM7XG4gIH1cbn1cblxuLy8vIFNldHMgZ3V0dGVycyBwcm9wZXJ0aWVzIGZvciBjZWxscy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBUeXBlIG9mIGd1dHRlciB0byBvdXRwdXQuIEFjY2VwdHMgYG1hcmdpbmAsIGBwYWRkaW5nYCBvciBgbm9uZWAuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtudWxsXSAtIFRoZSBwb3NpdGlvbiB0byBhcHBseSBndXR0ZXJzIHRvLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi4gQnkgZGVmYXVsdCBgcmlnaHQgbGVmdGAgZm9yIGhvcml6b250YWwgY2VsbHMgYW5kIGB0b3AgYm90dG9tYCBmb3IgdmVydGljYWwgY2VsbHMuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS4gSWYgYGF1dG9gLCBnZW5lcmF0ZXMgcmVzcG9uc2l2ZSBndXR0ZXJzLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIERpcmVjdGlvbiBvZiB0aGUgZ3V0dGVycyB0byBvdXRwdXQuIFNlZSBgJGd1dHRlci1wb3NpdGlvbmAuXG5AbWl4aW4geHktY2VsbC1ndXR0ZXJzKFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkZ3V0dGVyLXBvc2l0aW9uOiBudWxsLFxuICAkYnJlYWtwb2ludDogbnVsbCxcbiAgJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG4gIC8vIEdldCB0aGUgZGVmYXVsdCBndXR0ZXIgcG9zaXRpb24gYWNjb3JkaW5nIHRvIGNlbGwgZGlyZWN0aW9uXG4gIEBpZigkZ3V0dGVyLXBvc2l0aW9uID09IG51bGwpIHtcbiAgICAkZ3V0dGVyLXBvc2l0aW9uOiBpZigkdmVydGljYWwgPT0gdHJ1ZSwgdG9wIGJvdHRvbSwgbGVmdCByaWdodCk7XG4gIH1cblxuICAvLyBHZXQgdGhlIGd1dHRlciB3aWR0aCBmb3IgdGhpcyBicmVha3BvaW50XG4gICRndXR0ZXItd2lkdGg6IHh5LWNlbGwtZ3V0dGVycygkZ3V0dGVycywgJGJyZWFrcG9pbnQpO1xuICBAaWYgKCRndXR0ZXItd2lkdGggPT0gbnVsbCkge1xuICAgIEBlcnJvciAneHktY2VsbC1ndXR0ZXJzOiBubyBndXR0ZXJzIHdlcmUgZm91bmQgaW4gYCRndXR0ZXJzYCBmb3IgXCIkYnJlYWtwb2ludDogI3skYnJlYWtwb2ludH1cIic7XG4gIH1cblxuICBAaWYgKCRndXR0ZXItdHlwZSBhbmQgJGd1dHRlci10eXBlICE9IG5vbmUpIHtcbiAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXItd2lkdGgsICRndXR0ZXItdHlwZSwgJGd1dHRlci1wb3NpdGlvbik7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBjZWxsIGZvciB5b3VyIGdyaWQuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkc2l6ZSBbZnVsbF0gLSBUaGUgc2l6ZSBvZiB5b3VyIGNlbGwuIENhbiBiZSBgZnVsbGAgKDEwMCUgd2lkdGgpLCBgYXV0b2AgKHVzZSBhbGwgYXZhaWxhYmxlIHNwYWNlKSwgYHNocmlua2AgKHVzZSBvbmx5IHRoZSByZXF1aXJlZCBzcGFjZSkgb3IgYW55IGZyYWN0aW9uIChgNmAsIGA1MCVgLCBgMSBvZiAyYCBvciBgMS8yYC4uLikuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZ3V0dGVyLW91dHB1dCBbbnVsbF0gLSBbREVQUkVDQVRFRF0gV2hldGhlciBvciBub3QgdG8gb3V0cHV0IGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFR5cGUgb2YgZ3V0dGVyIHRvIG91dHB1dC4gQWNjZXB0cyBgbWFyZ2luYCwgYHBhZGRpbmdgIG9yIGBub25lYC5cbi8vLyBAcGFyYW0ge0xpc3R9ICRndXR0ZXItcG9zaXRpb24gW251bGxdIC0gVGhlIHBvc2l0aW9uIHRvIGFwcGx5IGd1dHRlcnMgdG8uIEFjY2VwdHMgYHRvcGAsIGBib3R0b21gLCBgbGVmdGAsIGByaWdodGAgaW4gYW55IGNvbWJpbmF0aW9uLiBCeSBkZWZhdWx0IGByaWdodCBsZWZ0YCBmb3IgaG9yaXpvbnRhbCBjZWxscyBhbmQgYHRvcCBib3R0b21gIGZvciB2ZXJ0aWNhbCBjZWxscy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLiBJZiBgYXV0b2AsIGdlbmVyYXRlcyByZXNwb25zaXZlIGd1dHRlcnMuIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gU2V0IHRvIHRydWUgdG8gb3V0cHV0IHZlcnRpY2FsIChoZWlnaHQpIHN0eWxlcyByYXRoZXIgdGhhbiB3aWR0aHMuXG4vLy8gQHBhcmFtIHtMaXN0fSAkb3V0cHV0IFsoYmFzZSBzaXplIGd1dHRlcnMpXSAtIENlbGwgcGFydHMgdG8gb3V0cHV0LiBZb3Ugd2lsbCBuZWVkIHRvIGdlbmVyYXRlIG90aGVycyBwYXJ0cyBvZiB0aGUgY2VsbCBzZXBlcmF0ZWx5LCBpdCBtYXkgbm90IHdvcmsgcHJvcGVybHkgb3RoZXJ3aXNlLlxuQG1peGluIHh5LWNlbGwoXG4gICRzaXplOiBmdWxsLFxuICAkZ3V0dGVyLW91dHB1dDogbnVsbCxcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGd1dHRlci1wb3NpdGlvbjogbnVsbCxcbiAgJGJyZWFrcG9pbnQ6IG51bGwsXG4gICR2ZXJ0aWNhbDogZmFsc2UsXG4gICRvdXRwdXQ6IChiYXNlIHNpemUgZ3V0dGVycylcbikge1xuICAvLyBEZWZhdWx0IGZvciAkZ3V0dGVyLW91dHB1dFxuICBAaWYgKCRndXR0ZXItb3V0cHV0ICE9IG51bGwpIHtcbiAgICBAd2FybiAneHktY2VsbDogJGd1dHRlci1vdXRwdXQgaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkLiBTZWUgbWlncmF0aW9uIG5vdGVzIGF0IGh0dHBzOi8vZ2l0LmlvL2ZvdW5kYXRpb24tNi02LTAnO1xuICAgIEBpZiAoJGd1dHRlci1vdXRwdXQgPT0gZmFsc2UpIHtcbiAgICAgICRvdXRwdXQ6IHNsLXJlbW92ZSgkb3V0cHV0LCBndXR0ZXJzKTtcbiAgICB9XG4gIH1cblxuICBAaWYgKGluZGV4KCRvdXRwdXQsIGJhc2UpKSB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKCRzaXplKTtcbiAgfVxuICBAaWYgKGluZGV4KCRvdXRwdXQsIHNpemUpKSB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKCRzaXplLCAkZ3V0dGVycywgJGd1dHRlci10eXBlLCAkYnJlYWtwb2ludCwgJHZlcnRpY2FsKTtcbiAgfVxuICBAaWYgKGluZGV4KCRvdXRwdXQsIGd1dHRlcnMpKSB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1ndXR0ZXJzKCRndXR0ZXJzLCAkZ3V0dGVyLXR5cGUsICRndXR0ZXItcG9zaXRpb24sICRicmVha3BvaW50LCAkdmVydGljYWwpO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgc2luZ2xlIGJyZWFrcG9pbnQgc2l6ZWQgZ3JpZC4gVXNlZCB0byBnZW5lcmF0ZSBvdXIgZ3JpZCBjbGFzc2VzLlxuLy8vXG4vLy8gYHh5LWNlbGwtc3RhdGljKClgIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZC5cbi8vLyBVc2UgYHh5LWNlbGwoKWAgaW5zdGVhZCB3aXRoIGAkb3V0cHV0OiAoc2l6ZSBndXR0ZXJzKWAgdG8gbm90IGdlbmVyYXRlIHRoZSBjZWxsIGJhc2UuXG4vLy8gU2VlIG1pZ3JhdGlvbiBub3RlcyBhdCBodHRwczovL2dpdC5pby9mb3VuZGF0aW9uLTYtNi0wXG4vLy9cbi8vLyBAZGVwcmVjYXRlZCB2Ni42LjBcbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQ2FuIGJlIGBmdWxsYCAoMTAwJSB3aWR0aCksIGBhdXRvYCAodXNlIGFsbCBhdmFpbGFibGUgc3BhY2UpLCBgc2hyaW5rYCAodXNlIG9ubHkgdGhlIHJlcXVpcmVkIHNwYWNlKSBvciBhbnkgZnJhY3Rpb24gKGA2YCwgYDUwJWAsIGAxIG9mIDJgIG9yIGAxLzJgLi4uKS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRndXR0ZXItb3V0cHV0IFt0cnVlXSAtIFdoZXRoZXIgb3Igbm90IHRvIG91dHB1dCBndXR0ZXJzLiBBbHdheXMgYHRydWVgIGZvciBtYXJnaW4gZ3V0dGVycy5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIFNldCB0byB0cnVlIHRvIG91dHB1dCB2ZXJ0aWNhbCAoaGVpZ2h0KSBzdHlsZXMgcmF0aGVyIHRoYW4gd2lkdGhzLlxuQG1peGluIHh5LWNlbGwtc3RhdGljKFxuICAkc2l6ZTogZnVsbCxcbiAgJGd1dHRlci1vdXRwdXQ6IHRydWUsXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRicmVha3BvaW50OiAkLXpmLXplcm8tYnJlYWtwb2ludCxcbiAgJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG4gIEB3YXJuICd4eS1jZWxsLXN0YXRpYygpIG1peGluIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZC4gVXNlIFwieHktY2VsbCgpXCIgaW5zdGVhZC4gU2VlIG1pZ3JhdGlvbiBub3RlcyBhdCBodHRwczovL2dpdC5pby9mb3VuZGF0aW9uLTYtNi0wJztcblxuICAkZ3V0dGVyOiAtemYtZ2V0LWJwLXZhbCgkZ3V0dGVycywgJGJyZWFrcG9pbnQpO1xuICAkZ3V0dGVyLXBvc2l0aW9uOiBpZigkdmVydGljYWwgPT0gdHJ1ZSwgdG9wIGJvdHRvbSwgbGVmdCByaWdodCk7XG5cbiAgJC1ndXR0ZXItb3V0cHV0OiBpZigkZ3V0dGVyLXR5cGUgPT0gJ21hcmdpbicsIHRydWUsICRndXR0ZXItb3V0cHV0KTtcbiAgJC1ndXR0ZXItbWFyZ2luOiBpZigkZ3V0dGVyLXR5cGUgPT0gJ21hcmdpbicsICRndXR0ZXIsIDApO1xuXG4gIEBpbmNsdWRlIC14eS1jZWxsLXByb3BlcnRpZXMoJHNpemUsICQtZ3V0dGVyLW1hcmdpbiwgJHZlcnRpY2FsKTtcbiAgQGlmICgkLWd1dHRlci1vdXRwdXQpIHtcbiAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXIsICRndXR0ZXItdHlwZSwgJGd1dHRlci1wb3NpdGlvbik7XG4gIH1cbn1cbiIsIi8vLS0tLS0gQmFza2V0IC0tLS0tIFxyXG4vLyBUT0RPOiBUaGlzIGNvdWxkIGRvIHdpdGggYmVpbmcgcmVtb3ZlZCBhdCBzb21lIHBvaW50LlxyXG4kYmFza2V0SGVhZEJvcmRlckNvbG91cjogJGNvbG91cjMtMztcclxuJGJhc2tldEJvZHlGb250U2l6ZTogMTRweDtcclxuJGJhc2tldEJvZHlEZXNjcmlwdGlvbkZvbnRTaXplOiAkYmFza2V0Qm9keUZvbnRTaXplO1xyXG4kYmFza2V0Qm9keVF1YW50aXR5Rm9udFNpemU6ICRiYXNrZXRCb2R5Rm9udFNpemU7XHJcbiRiYXNrZXRCb2R5U3ViVG90YWxGb250U2l6ZTogJGJhc2tldEJvZHlGb250U2l6ZTtcclxuJGJhc2tldEJvZHlDb2xvdXI6ICRjb2xvdXIzLTM7XHJcbiRiYXNrZXRCb2R5Q29kZUNvbG91cjogJGJhc2tldEJvZHlDb2xvdXI7XHJcbiRiYXNrZXRCb2R5UXVhbnRpeUNvbG91cjogJGJhc2tldEJvZHlDb2xvdXI7XHJcbiRiYXNrZXRCb2R5UmVtb3ZlQ29sb3VyOiAkY29sb3VyMy0zO1xyXG5cclxuI2Jhc2tldC1mb3JtIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNzBweDtcclxuICAgIH1cclxufVxyXG5cclxuI2Jhc2tldC1jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgbWFyZ2luOiAzMHB4IDAgMDtcclxuICAgIH1cclxufVxyXG5cclxuI2Jhc2tldC10YWJsZSB7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBAaW5jbHVkZSBvcmRlci10YWJsZSgpO1xyXG4gICAgLy8gU3VwcHJlc3MgbW9iaWxlIGxhYmVscyBhcyB0aGV5J3JlIG5vdCByZWFsbHkgcmVxdWlyZWQuXHJcbiAgICAuYmFza2V0LWRlc2NyaXB0aW9uLWNvbCwgLmJhc2tldC1jb2RlLWNvbCwgLmJhc2tldC1zdWItdG90YWwtY29sIHtcclxuICAgICAgICAuY29sLWxhYmVsIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbnRhYmxlLnF1aWNrLW9yZGVyLWZvcm0tdGFibGUge1xyXG4gICAgdGJvZHkge1xyXG4gICAgICAgIHRyIHtcclxuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxMDBweCAxZnIgMzBweDtcclxuICAgICAgICAgICAgICAgIGdhcDogMTBweCAyMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRkIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOm5vdCguaW1hZ2UtY29sKSB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGQge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5pbWFnZS1jb2wge1xyXG4gICAgICAgIGdyaWQtY29sdW1uOiAxO1xyXG4gICAgICAgIGdyaWQtcm93OiBzcGFuIDQ7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogMTIuMiU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmRlc2NyaXB0aW9uLWNvbCB7XHJcbiAgICAgICAgZ3JpZC1jb2x1bW46IDIgLyBzcGFuIDM7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAvL3dpZHRoOiAzMyU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5zdG9jay1kZXNjcmlwdGlvbi1sZXZlbCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgIGdhcDogJGJhc2tldC1zdG9jay1kZXNjcmlwdGlvbi1nYXA7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDAgMTBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuZGVzY3JpcHRpb24ge1xyXG4gICAgICAgICAgICBjb2xvcjogZGVmYXVsdC1jb2xvdXIoJHRib2R5LWFuY2hvci1jb2xvdXIpO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCR0Ym9keS1hbmNob3ItZm9udC1zaXplKTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICR0Ym9keS1hbmNob3ItZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGQuZGVzY3JpcHRpb24tY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAzMCU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmNvZGUtY29sIHtcclxuICAgICAgICBncmlkLWNvbHVtbjogMjtcclxuICAgICAgICBncmlkLXJvdzogMjtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAyNSU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnByaWNlLWNvbCB7XHJcbiAgICAgICAgZ3JpZC1jb2x1bW46IDIgLyBzcGFuIDM7XHJcbiAgICAgICAgZ3JpZC1yb3c6IDM7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogMjAlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5xdWFudGl0eS1jb2wge1xyXG4gICAgICAgIGdyaWQtcm93OiA0O1xyXG4gICAgfVxyXG4gICAgLmFkZC1jb2wge1xyXG4gICAgICAgIGdyaWQtY29sdW1uOiAyO1xyXG4gICAgICAgIGdyaWQtcm93OiA1O1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDE4LjklO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5hZGRUb0Jhc2tldC5pY29uLCAuYmFza2V0LWFkZC1idXR0b24ge1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIEJhc2tldCB0YWJsZSBzdHlsZXMuXHJcbi8vIHRhYmxlI2Jhc2tldC10YWJsZS5iYXNrZXQtdGFibGUgY2FuIGJlIHJlbW92ZWQgYWZ0ZXIgODIxMjI5IHJlZmFjdG9yLlxyXG50YWJsZS5iYXNrZXQtdGFibGUsIHRhYmxlI2Jhc2tldC10YWJsZS5iYXNrZXQtdGFibGUge1xyXG4gICAgdGJvZHkge1xyXG4gICAgICAgIHRyIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcclxuICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMTAwcHggMWZyO1xyXG4gICAgICAgICAgICAgICAgZ2FwOiAxMHB4IDIwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgdGQge1xyXG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgICAgICAgICAuY29sLWxhYmVsIHtcclxuICAgICAgICAgICAgICAgIC8vIE92ZXJyaWRpbmcgcnVsZSBzZXQgYnkgI2Jhc2tldC10YWJsZSBhcyBuZXcgZGVzaWduIDgyMTIyOSBjYWxsJ3MgZm9yIGxhYmVscy5cclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIEltcGxlbWVudGluZyBhIG5lc3RlZCBncmlkLCB0aGlzIGNhbiBiZSByZW1vdmVkIGFmdGVyIDgyMTIyOSByZWZhY3RvciBhcyB0aGUgaW1hZ2Ugc2hvdWxkIGhhdmUgaXRzIG93biBjb2x1bW4uXHJcbiAgICB0ZC5iYXNrZXQtZGVzY3JpcHRpb24tY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMTAwcHggMWZyO1xyXG4gICAgICAgICAgICBnYXA6IDEwcHggMjBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gVGhpcyBjYW4gYmUgcmVtb3ZlZCBhZnRlciA4MjEyMjkgcmVmYWN0b3IgYXMgdGhlIGdyaWQgd2lsbCBkaWN0YXRlIHRoZSBzaXplIG9mIHRoZSB0aW1lIGltYWdlLlxyXG4gICAgICAgIC5pbWFnZSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC8vIFN1cHByZXNzaW5nIGFzIG5lZWQgdG8gZml0IHRoZSBpbWFnZSBleGFjdGx5IGR1ZSB0byBhcHBseWluZyBhIHdoaXRlIGJhY2tncm91bmQgZm9yIHBuZyBpbWFnZXMuXHJcbiAgICAgICAgICAgIC8vIEhhY2t5IGJ1dCBjYW4gYmUgcmVtb3ZlZCBhZnRlciA4MjEyMjkgcmVmYWN0b3IuXHJcbiAgICAgICAgICAgIC8vIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgLy8gICAgIHdpZHRoOiAxNzVweDtcclxuICAgICAgICAgICAgLy8gfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuc3RvY2stZGVzY3JpcHRpb24tbGV2ZWwge1xyXG4gICAgICAgICAgICBnYXA6ICRiYXNrZXQtc3RvY2stZGVzY3JpcHRpb24tZ2FwO1xyXG4gICAgICAgICAgICAuc3RvY2staW5kaWNhdG9yIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5iYXNrZXQtY29kZS1jb2wsIC5iYXNrZXQtcHJpY2UtY29sLCAuYmFza2V0LXF1YW50aXR5LCAuYmFza2V0LXN1Yi10b3RhbC1jb2wsIC5iYXNrZXQtcmVtb3ZlLWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcclxuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiA1MCUgNTAlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5iYXNrZXQtY29kZS1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDI7XHJcbiAgICAgICAgICAgIGdyaWQtcm93OiAyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5iYXNrZXQtcHJpY2UtY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiAyO1xyXG4gICAgICAgICAgICBncmlkLXJvdzogMztcclxuICAgICAgICB9XHJcbiAgICAgICAgLmJhc2tldC1wcmljZS1jb250YWluZXIge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICAmLmFsaWduLXJpZ2h0IHtcclxuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBzcGFuIHsgXHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLnZhdC1yYXRlLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmJhc2tldC1xdWFudGl0eSB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICBncmlkLWNvbHVtbjogMjtcclxuICAgICAgICAgICAgZ3JpZC1yb3c6IDQ7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuYmFza2V0LXN1Yi10b3RhbC1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDI7XHJcbiAgICAgICAgICAgIGdyaWQtcm93OiA1O1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMCU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmJhc2tldC1yZW1vdmUtY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiAyO1xyXG4gICAgICAgICAgICBncmlkLXJvdzogNjtcclxuICAgICAgICB9IFxyXG4gICAgICAgIC5yZW1vdmUtYnV0dG9uIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBmaXQtY29udGVudDtcclxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuI2Jhc2tldC1zdGlja3ktc3VtbWFyeS1jb250YWluZXIge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcblxyXG4jYmFza2V0IHtcclxuICAgIC5iYXNrZXQtaXRlbS1yb3cge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIERlbGl2ZXJ5IEFyZWEgU2VsZWN0b3JcclxuICAgICNiYXNrZXQtZGVsaXZlcnkge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBtYXJnaW46IG1hcC1nZXQoJGJhc2tldC1kZWxpdmVyeS1tYXJnaW4sIHNtYWxsKTtcclxuICAgICAgICBwYWRkaW5nOiBtYXAtZ2V0KCRiYXNrZXQtZGVsaXZlcnktcGFkZGluZywgc21hbGwpO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYXNrZXQtZGVsaXZlcnktYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICAgICAgYm9yZGVyOiAkYmFza2V0LWRlbGl2ZXJ5LWJvcmRlcjtcclxuICAgICAgICBAaWYgc21vb3RoLWVkZ2VzKCkge1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgICAgICBtYXJnaW46IG1hcC1nZXQoJGJhc2tldC1kZWxpdmVyeS1tYXJnaW4sIGxhcmdlKTtcclxuICAgICAgICAgICAgcGFkZGluZzogbWFwLWdldCgkYmFza2V0LWRlbGl2ZXJ5LXBhZGRpbmcsIGxhcmdlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaDIge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDM1cHg7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRiYXNrZXQtZGVsaXZlcnktaGVhZGluZy1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgYmFza2V0LWRlbGl2ZXJ5KTtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjZweDtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkYmFza2V0LWRlbGl2ZXJ5LWljb24tY29sb3VyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jbXMtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDUwJTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHAge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMjBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5jaGVja291dC1idXR0b25zLWNvbnRhaW5lciB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIGdhcDogMTBweDtcclxuICAgICAgICAmOmhhcyguc2VwZXJhdG9yOm5vdCg6ZW1wdHkpKSB7XHJcbiAgICAgICAgICAgIGdhcDogMjBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gbWFyZ2luOiAyMHB4IDAgMDtcclxuICAgICAgICAmLmludmFsaWQge1xyXG4gICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgIGN1cnNvcjogbm8tZHJvcDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAjc2FnZXBheS1jaGVja291dC1idXR0b24ge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBjb21tb24tYnV0dG9uLTEoJGNoZWNrb3V0LXNhZ2VwYXktYnV0dG9uLXBhZGRpbmcsICRjaGVja291dC1zYWdlcGF5LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgJGNoZWNrb3V0LXNhZ2VwYXktYnV0dG9uLWNvbG91ciwgJGNoZWNrb3V0LXNhZ2VwYWdlLWJ1dHRvbi1ib3JkZXItY29sb3VyLCAkY2hlY2tvdXQtc2FnZXBheS1idXR0b24tZm9udC1zaXplLCAkY2hlY2tvdXQtc2FnZXBheS1idXR0b24tZm9udC13ZWlnaHQsICh3aWR0aDogMTAwJSksIChzbWFsbDogMCwgbGFyZ2U6IDApKVxyXG4gICAgICAgIH1cclxuICAgICAgICBwIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkY2hlY2tvdXQtYnV0dG9ucy1jb250YWluZXItZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGNoZWNrb3V0LWJ1dHRvbnMtY29udGFpbmVyLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiAkY2hlY2tvdXQtYnV0dG9ucy1jb250YWluZXItdGV4dC10cmFuc2Zvcm07XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gI2NvbnRpbnVlLXNob3BwaW5nLWJ1dHR0b24ge1xyXG4gICAgLy8gICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgIC8vICAgICAgICAgbWF4LXdpZHRoOiAyMzBweDtcclxuICAgIC8vICAgICB9XHJcbiAgICAvLyB9XHJcbn1cclxuXHJcbi5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyLCAuc3VtbWFyeS1pdGVtIHtcclxuICAgICYgKyAuY2hlY2tvdXQtYnV0dG9ucy1jb250YWluZXIge1xyXG4gICAgICAgIG1hcmdpbjogMjBweCAwIDA7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIHtcclxuICAgICYudm91Y2hlciB7XHJcbiAgICAgICAgbGFiZWw6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgYmFza2V0LXZvdWNoZXIpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYudmF0IHtcclxuICAgICAgICBsYWJlbDpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBiYXNrZXQtdmF0KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbWFyZ2luOiAkYmFza2V0LXN1bW1hcnktaW5wdXQtY29udGFpbmVyLW1hcmdpbjtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBsYWJlbCB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgICAgIGNvbG9yOiAkYmFza2V0LXN1bW1hcnktaW5wdXQtbGFiZWwtY29sb3VyO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGJhc2tldC1zdW1tYXJ5LWlucHV0LWxhYmVsLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRiYXNrZXQtc3VtbWFyeS1pbnB1dC1sYWJlbC1mb250LXdlaWdodDtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJGJhc2tldC1zdW1tYXJ0LWlucHV0LXRleHQtdHJhbnNmb3JtO1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcclxuICAgICAgICAgICAgY29sb3I6ICRiYXNrZXQtc3VtbWFyeS1pbnB1dC1pY29uLWNvbG91cjtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRiYXNrZXQtc3VtbWFyeS1pbnB1dC1sYWJlbC1mb250LXNpemUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5zdW1tYXJ5LWlucHV0LWNvbnRhaW5lciB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LXdyYXA6IG5vLXdyYXA7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBwYWRkaW5nOiA1cHg7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjE7XHJcbiAgICAgICAgQGlmIHNtb290aC1lZGdlcygpIHtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuaXMtaW52YWxpZC1jb250YWluZXIgKyAuZm9ybS1lcnJvciB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBtYXJnaW46IDE1cHggMCAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5zdW1tYXJ5LWlucHV0IHtcclxuICAgICAgICBoZWlnaHQ6ICRiYXNrZXQtc3VtbWFyeS1pbnB1dC1oZWlnaHQ7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDAgMCAwIDVweDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMDtcclxuICAgICAgICBib3JkZXI6IDA7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkYmFza2V0LXN1bW1hcnktaW5wdXQtZm9udC1zaXplKTtcclxuICAgICAgICBjb2xvcjogJGNvbG91cjI7XHJcbiAgICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6OnBsYWNlaG9sZGVyIHtcclxuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRiYXNrZXQtc3VtbWFydC1pbnB1dC10ZXh0LXRyYW5zZm9ybTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkYmFza2V0LXN1bW1hcnktaW5wdXQtZm9udC1zaXplKTtcclxuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjJweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5pcy12YWxpZC1pbnB1dCArIGJ1dHRvbiB7XHJcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYmFza2V0LXN1bW1hcnktc3VibWl0LWFwcGx5LWJhY2tncm91bmQtY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIFxyXG4gICAgLnN1bW1hcnktaW5wdXQtc3VibWl0IHtcclxuICAgICAgICAmLmFwcGx5IHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgY29tbW9uLWJ1dHRvbi0xKDEycHgsICRiYXNrZXQtc3VtbWFyeS1zdWJtaXQtYXBwbHktYmFja2dyb3VuZC1jb2xvdXIsICRiYXNrZXQtc3VtbWFyeS1zdWJtaXQtY29sb3VyLCAoKSwgJGJhc2tldC1zdW1tYXJ5LXN1Ym1pdC1mb250LXNpemUsIFwiXCIsICh3aWR0aDogYXV0byksIDApO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLnJlbW92ZSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGNvbW1vbi1idXR0b24tMSgxMnB4LCAkYmFza2V0LXN1bW1hcnktc3VibWl0LXJlbW92ZS1iYWNrZ3JvdW5kLWNvbG91ciwgJGJhc2tldC1zdW1tYXJ5LXN1Ym1pdC1jb2xvdXIsICgpLCAkYmFza2V0LXN1bW1hcnktc3VibWl0LWZvbnQtc2l6ZSwgXCJcIiwgKHdpZHRoOiBhdXRvKSwgMCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmNhbGxvdXQge1xyXG4gICAgICAgIEBpbmNsdWRlIG9uLXBhZ2Utbm90aWZpY2F0aW9ucygpO1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0gU3VtbWFyeSB3YXJuaW5nIGNvbnRhaW5lciAtLS0gXHJcbi5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyICsgLndhcm5pbmctY29udGFpbmVyIHtcclxuICAgIG1hcmdpbi10b3A6IDA7XHJcbn1cclxuLndhcm5pbmctY29udGFpbmVyIHtcclxuICAgIG1hcmdpbjogMjBweCAwIDA7XHJcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICBjb2xvcjogbWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKTtcclxuICAgIHAge1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgIH1cclxufVxyXG5cclxuXHJcbiRiYXNrZXQtY29udHJvbHMtZ2FwOiAoXHJcbiAgICBzbWFsbDogMTVweCxcclxuICAgIGxhcmdlOiAxNXB4XHJcbik7XHJcblxyXG4jYmFza2V0LWNvbnRyb2xzIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgbWFyZ2luOiAyMHB4IDAgMzVweDtcclxuICAgIGdhcDogc3BhY2luZy12YWx1ZSgkYmFza2V0LWNvbnRyb2xzLWdhcCwgMSkgMDtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgbWFyZ2luOiAyNXB4IDAgNTBweDtcclxuICAgICAgICBnYXA6IHNwYWNpbmctdmFsdWUoJGJhc2tldC1jb250cm9scy1nYXAsIDEsIGxhcmdlKSAwO1xyXG4gICAgfVxyXG4gICAgLmJ1dHRvbnMtY29udGFpbmVyIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICBnYXA6IHNtYWxsLXZhbHVlKCRiYXNrZXQtY29udHJvbHMtZ2FwKTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgICAgICAgICAgZ2FwOiBsYXJnZS12YWx1ZSgkYmFza2V0LWNvbnRyb2xzLWdhcCk7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnVwZGF0ZS1iYXNrZXQge1xyXG4gICAgICAgICRiYXNrZXQtdXBkYXRlLWJ1dHRvbi1pY29uLWNvbmZpZzogKFxyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCB1cGRhdGUpLFxyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWZ0ZXIsXHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDAgMTBweCxcclxuICAgICAgICAgICAgY29sb3VyOiAoXHJcbiAgICAgICAgICAgICAgICBkZWZhdWx0OiAkY29sb3VyMy0yLFxyXG4gICAgICAgICAgICAgICAgaG92ZXI6IGhvdmVyLWNvbG91cigkYmFza2V0LXVwZGF0ZS1idXR0b24tY29sb3VyKSxcclxuICAgICAgICAgICAgICAgIGFjdGl2ZTogYWN0aXZlLWNvbG91cigkYmFza2V0LXVwZGF0ZS1idXR0b24tY29sb3VyKVxyXG4gICAgICAgICAgICApLFxyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQsXHJcbiAgICAgICAgICAgIHNpemU6ICRiYXNrZXQtdXBkYXRlLWljb24tc2l6ZSwgIFxyXG4gICAgICAgICk7XHJcbiAgICAgICAgQGluY2x1ZGUgY29tbW9uLWJ1dHRvbi0xKCRiYXNrZXQtdXBkYXRlLWJ1dHRvbi1wYWRkaW5nLCAkYmFza2V0LXVwZGF0ZS1idXR0b24tYmFja2dyb3VuZCwgJGJhc2tldC11cGRhdGUtYnV0dG9uLWNvbG91ciwgKCksICRiYXNrZXQtdXBkYXRlLWJ1dHRvbi1mb250LXNpemUsICRiYXNrZXQtY29udHJvbHMtZm9udC13ZWlnaHQsIChtb2JpbGUtd2lkdGg6IDEwMCUsIHdpZHRoOiBmaXQtY29udGVudCwgaGVpZ2h0OiBhdXRvLCBtYXgtaGVpZ2h0OiAxMDAlKSwgKHNtYWxsOiAwLCBsYXJnZTogMCksIGZsZXgsICRiYXNrZXQtdXBkYXRlLWJ1dHRvbi1pY29uLWNvbmZpZyk7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIH1cclxuICAgIC5lbXB0eS1iYXNrZXQge1xyXG4gICAgICAgICRiYXNrZXQtZW1wdHktYnV0dG9uLWljb24tY29uZmlnOiAoXHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGJhc2tldC1yZW1vdmUpLFxyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWZ0ZXIsXHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDAgMTBweCxcclxuICAgICAgICAgICAgY29sb3VyOiAoXHJcbiAgICAgICAgICAgICAgICBkZWZhdWx0OiAkY29sb3VyMy0yLFxyXG4gICAgICAgICAgICAgICAgaG92ZXI6IGhvdmVyLWNvbG91cigkYmFza2V0LXJtLWFsbC1jb2xvdXIpLFxyXG4gICAgICAgICAgICAgICAgYWN0aXZlOiBhY3RpdmUtY29sb3VyKCRiYXNrZXQtcm0tYWxsLWNvbG91cilcclxuICAgICAgICAgICAgKSxcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkLFxyXG4gICAgICAgICAgICBzaXplOiAkYmFza2V0LXJlbW92ZS1idXR0b24taWNvbi1zaXplLCAgXHJcbiAgICAgICAgKTtcclxuICAgICAgICBAaW5jbHVkZSBjb21tb24tYnV0dG9uLTEoMTBweCAzMHB4LCAkYmFza2V0LXJtLWFsbC1iYWNrZ3JvdW5kLCAkYmFza2V0LXJtLWFsbC1jb2xvdXIsICgpLCAkYmFza2V0LXJlbW92ZS1hbGwtZm9udC1zaXplLCAkYmFza2V0LWNvbnRyb2xzLWZvbnQtd2VpZ2h0LCAobW9iaWxlLXdpZHRoOiAxMDAlLCB3aWR0aDogZml0LWNvbnRlbnQsIGhlaWdodDogYXV0bywgbWF4LWhlaWdodDogMTAwJSksIChzbWFsbDogMCwgbGFyZ2U6IDApLCBmbGV4LCAkYmFza2V0LWVtcHR5LWJ1dHRvbi1pY29uLWNvbmZpZyk7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIH1cclxufVxyXG5cclxuLnF1aWNrLW9yZGVyLWZvcm0tY29udGFpbmVyIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgZmxleC1ncm93OiAxO1xyXG4gICAgZ2FwOiBzbWFsbC12YWx1ZSgkYmFza2V0LWNvbnRyb2xzLWdhcCk7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgZmxleC1ncm93OiAwO1xyXG4gICAgICAgIGdhcDogbGFyZ2UtdmFsdWUoJGJhc2tldC1jb250cm9scy1nYXApO1xyXG4gICAgfVxyXG4gICAgLnNlYXJjaC1jb250YWluZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICAgIC5jb250cm9sLnNlYXJjaCB7XHJcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDQxNXB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlucHV0IHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMzA1cHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmlucHV0LXByZWZpeC1pY29uIHtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBxdWljay1vcmRlci1mb3JtLXByZWZpeC1pY29uKTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjJweDtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuZm9ybS1lcnJvciB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5iYXNrZXQtdG90YWwtY29udGFpbmVyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIHBhZGRpbmc6IDEwcHggNXB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhc2tldC10b3RhbC1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgIGZvbnQtd2VpZ2h0OiAkYmFza2V0LXRvdGFsLWZvbnQtd2VpZ2h0O1xyXG4gICAgZm9udC1zaXplOiByZW0tY2FsYygkYmFza2V0LXRvdGFsLWZvbnQtc2l6ZSk7XHJcbiAgICBAaWYgKCRiYXNrZXQtdG90YWwtbGV0dGVyLXNwYWNpbmcpIHtcclxuICAgICAgICBsZXR0ZXItc3BhY2luZzogJGJhc2tldC10b3RhbC1sZXR0ZXItc3BhY2luZztcclxuICAgIH1cclxuICAgIGNvbG9yOiAkY29sb3VyMTtcclxuICAgIC5sYWJlbCB7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4uYmFza2V0LXRvdGFsLXN0aWNreS1jb250YWluZXIge1xyXG4gICAgLy8gT3ZlcnJpZGluZyBmb3VuZGF0aW9uIHN0aWNreSBzdHlsZXMuXHJcbiAgICBoZWlnaHQ6IDAgIWltcG9ydGFudDtcclxuICAgIHotaW5kZXg6IDEwO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5zdW1tYXJ5LXN0aWNreS1jb250YWluZXIge1xyXG4gICAgLy9kaXNwbGF5OiBmbGV4O1xyXG4gICAgLy9qdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgIHdpZHRoOiBtYXAtZ2V0KCRiYXNrZXQtc3VtbWFyeS13aWR0aCwgc21hbGwpO1xyXG4gICAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIHdpZHRoOiBtYXAtZ2V0KCRiYXNrZXQtc3VtbWFyeS13aWR0aCwgbGFyZ2UpO1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuI2Jhc2tldC1zdW1tYXJ5LCAuc3VtbWFyeS1jb250YWluZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBtYXJnaW46IDAgMCAyMHB4O1xyXG4gICAgcGFkZGluZzogJGJhc2tldC1zdW1tYXJ5LXBhZGRpbmc7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoJGJhc2tldC1zdW1tYXJ5LWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgIEBpZiBzbW9vdGgtZWRnZXMoKSB7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgLy8gT3ZlcnJpZGluZyBmb3VuZGF0aW9ucyBzdGlja3kuXHJcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgd2lkdGg6IG1hcC1nZXQoJGJhc2tldC1zdW1tYXJ5LXdpZHRoLCBzbWFsbCk7XHJcbiAgICAgICAgcG9zaXRpb246IHVuc2V0O1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIHdpZHRoOiBtYXAtZ2V0KCRiYXNrZXQtc3VtbWFyeS13aWR0aCwgbGFyZ2UpO1xyXG4gICAgICAgIG1hcmdpbjogMCAwIDAgYXV0bztcclxuICAgIH1cclxuICAgICYuaXMtc3R1Y2sge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgICAgIH0gXHJcbiAgICB9XHJcbiAgICAmLmlzLXN0dWNrOm5vdCgubm8tYW5pbWF0ZSkge1xyXG4gICAgICAgIHRyYW5zaXRpb246IHRvcCAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgfVxyXG5cclxuICAgICYuaXMtYW5jaG9yZWQge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIH0gIFxyXG4gICAgICAgICYuaXMtYXQtdG9wIHtcclxuICAgICAgICAgICAgLy8gSW4gc29tZSBpbnN0YW5jZXMgd2hlbiByZXR1cm5pbmcgdG8gdGhlIGJhc2tldCBmcm9tIGFub3RoZXIgcGFnZSB3aGVuIG9ubHkgb25lIGl0ZW0gaXMgaW4gdGhlIGJhc2tldCB0aGUgc3RpY2t5IHBsdWdpbiB3b3VsZCBhc3NpZ24gdGhlIG1hcmdpbi10b3AgdmFsdWUgZXZlbiB3aGVuIGl0IHNob3VsZCBiZSBhbmNob3JlZCB0byB0aGUgdG9wIG9mIHRoZSBjb250YWluZXIuXHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmlzLWFuY2hvcmVkOm5vdCgubm8tYW5pbWF0ZSkge1xyXG4gICAgICAgIHRyYW5zaXRpb246IHRvcCAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgfVxyXG4gICAgJi5wcmVzZXQtMSB7XHJcbiAgICAgICAgI3ZvdWNoZXItY29udGFpbmVyIHtcclxuICAgICAgICAgICAgb3JkZXI6IDI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICNnb29kcy1zdW1tYXJ5LXZhbHVlIHtcclxuICAgICAgICAgICAgb3JkZXI6IDM7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICN2b3VjaGVyLXN1bW1hcnktdmFsdWUge1xyXG4gICAgICAgICAgICBvcmRlcjogNDtcclxuICAgICAgICB9XHJcbiAgICAgICAgI2RlbGl2ZXJ5LXN1bW1hcnktdmFsdWUge1xyXG4gICAgICAgICAgICBvcmRlcjogNTtcclxuICAgICAgICB9XHJcbiAgICAgICAgI3RvdGFsLXZhbHVlIHtcclxuICAgICAgICAgICAgb3JkZXI6IDY7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYmFza2V0LXN1bW1hcnktc2VwZXJhdG9yKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBiYXNrZXQtc3VtbWFyeS1zZXBlcmF0b3IoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcclxuICAgICAgICB9XHJcbiAgICAgICAgI25ldC1zdW1tYXJ5LXZhbHVlIHtcclxuICAgICAgICAgICAgb3JkZXI6IDc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICN2YXQtc3VtbWFyeS12YWx1ZSB7XHJcbiAgICAgICAgICAgIG9yZGVyOiA4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAjdmF0LWlucHV0LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIG9yZGVyOiA5O1xyXG4gICAgICAgIH1cclxuICAgICAgICAjZWRpdC1iYXNrZXQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgb3JkZXI6IDEwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAjc3VtbWFyeS13YXJuaW5nLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIG9yZGVyOiAxMTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmNoZWNrb3V0LWJ1dHRvbnMtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgb3JkZXI6IDEyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYucHJlc2V0LTIge1xyXG4gICAgICAgICN2b3VjaGVyLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIG9yZGVyOiAyO1xyXG4gICAgICAgIH1cclxuICAgICAgICAjZ29vZHMtc3VtbWFyeS12YWx1ZSB7XHJcbiAgICAgICAgICAgIG9yZGVyOiAzO1xyXG4gICAgICAgIH1cclxuICAgICAgICAjdm91Y2hlci1zdW1tYXJ5LXZhbHVlIHtcclxuICAgICAgICAgICAgb3JkZXI6IDQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICNkZWxpdmVyeS1zdW1tYXJ5LXZhbHVlIHtcclxuICAgICAgICAgICAgb3JkZXI6IDU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICN0b3RhbC12YWx1ZSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIG9yZGVyOiA4O1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBiYXNrZXQtc3VtbWFyeS1zZXBlcmF0b3IoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAjbmV0LXN1bW1hcnktdmFsdWUge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICBvcmRlcjogNjtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBiYXNrZXQtc3VtbWFyeS1zZXBlcmF0b3IoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAjdmF0LXN1bW1hcnktdmFsdWUge1xyXG4gICAgICAgICAgICBvcmRlcjogNztcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAvLyAmOmFmdGVyIHtcclxuICAgICAgICAgICAgLy8gICAgIEBpbmNsdWRlIGJhc2tldC1zdW1tYXJ5LXNlcGVyYXRvcigpO1xyXG4gICAgICAgICAgICAvLyB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICN2YXQtaW5wdXQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgb3JkZXI6IDk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICNlZGl0LWJhc2tldC1jb250YWluZXIge1xyXG4gICAgICAgICAgICBvcmRlcjogMTA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICNzdW1tYXJ5LXdhcm5pbmctY29udGFpbmVyIHtcclxuICAgICAgICAgICAgb3JkZXI6IDExO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuY2hlY2tvdXQtYnV0dG9ucy1jb250YWluZXIge1xyXG4gICAgICAgICAgICBvcmRlcjogMTI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmJhc2tldC1zdW1tYXJ5LWhlYWRpbmcsIC5zdW1tYXJ5LWhlYWRpbmcge1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkYmFza2V0LXN1bW1hcnktaGVhZGluZy1mb250LXNpemUpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkYmFza2V0LXN1bW1hcnktaGVhZGluZy1mb250LXdlaWdodDtcclxuICAgICAgICBjb2xvcjogJGJhc2tldC1zdW1tYXJ5LWhlYWRpbmctY29sb3VyO1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiAkYmFza2V0LXN1bW1hcnktaGVhZGluZy10ZXh0LXRyYW5zZm9ybTtcclxuICAgICAgICBAaWYgKCRiYXNrZXQtc3VtbWFyeS1oZWFkaW5nLWxldHRlci1zcGFjaW5nKSB7XHJcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAkYmFza2V0LXN1bW1hcnktaGVhZGluZy1sZXR0ZXItc3BhY2luZztcclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmICgkYmFza2V0LXN1bW1hcnktaGVhZGluZy10ZXh0LXRyYW5zZm9ybSA9PSBcInVwcGVyY2FzZVwiKSB7XHJcbiAgICAgICAgICAgIHdvcmQtc3BhY2luZzogJGNvbW1vbi1idXR0b24td29yZC1zcGFjaW5nO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5zdW1tYXJ5LWludHJvLWNvbnRhaW5lciB7XHJcbiAgICAgICAgbWFyZ2luOiAwIDAgMjBweDtcclxuICAgICAgICBwIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuc3VtbWFyeS1pdGVtIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICBwYWRkaW5nOiA1cHggMCAwO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGJhc2tldC1zdW1tYXJ5LWl0ZW0tZm9udC1zaXplKTtcclxuICAgICAgICBjb2xvcjogJGJhc2tldC1zdW1tYXJ5LWl0ZW0tY29sb3VyO1xyXG4gICAgICAgICYuaGlnaGxpZ2h0ZWQge1xyXG4gICAgICAgICAgICBjb2xvcjogJGJhc2tldC1zdW1tYXJ5LWhpZ2hsaWdodGVkLWl0ZW0tY29sb3VyO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICAmLnZhbHVlLCAmLmxhYmVsIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYubGFiZWwge1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA2MCU7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJGJhc2tldC1zdW1tYXJ5LWl0ZW0tbGFiZWwtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi52YWx1ZSB7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDQwJTtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRiYXNrZXQtc3VtbWFyeS1pdGVtLXZhbHVlLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICAgICAgO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5pbmNWYXQge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGJhc2tldC1zdW1tYXJ5LWl0ZW0tZm9udC1zaXplKTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAjdG90YWwtdmFsdWUge1xyXG4gICAgICAgIC5sYWJlbCwgLnZhbHVlIHtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRiYXNrZXQtc3VtbWFyeS10b3RhbC1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRiYXNrZXQtc3VtbWFyeS10b3RhbC10ZXh0LXRyYW5zZm9ybTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAjZWRpdC1iYXNrZXQtY29udGFpbmVyIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgbWFyZ2luOiAzMHB4IDdweCAwIDA7XHJcbiAgICAgICAgY29sb3I6IGRlZmF1bHQtY29sb3VyKCRiYXNrZXQtc3VtbWFyeS1lZGl0LWJ1dHRvbi1jb2xvdXIpO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGJhc2tldC1zdW1tYXJ5LWVkaXQtYnV0dG9uLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGJhc2tldC1pY29uKTtcclxuICAgICAgICAgICAgd2lkdGg6IDEwcHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTBweDtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogNXB4O1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6IGN1c3RvbS1pY29uLWZhbWlseSgkZm9udEF3ZXNvbWVTb2xpZCwgJHNpdGUtaWNvbnMtY3VzdG9tLWJhc2tldC1pY29uKTtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBjb2xvcjogaG92ZXItY29sb3VyKCRiYXNrZXQtc3VtbWFyeS1lZGl0LWJ1dHRvbi1jb2xvdXIpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiBhY3RpdmUtY29sb3VyKCRiYXNrZXQtc3VtbWFyeS1lZGl0LWJ1dHRvbi1jb2xvdXIpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuI2RlbGl2ZXJ5LXNlbGVjdG9yIHtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICB3aWR0aDogNTAlO1xyXG4gICAgfVxyXG4gICAgc2VsZWN0LCBsYWJlbCB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcbiAgICAuZGVsaXZlcnktbGFiZWwge1xyXG4gICAgICAgIG1hcmdpbjogMTBweCAwO1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgfVxyXG5cclxuICAgIC5kZWxpdmVyeS1zZXJ2aWNlLCAuZGVsaXZlcnktYXJlYSB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogNDA1cHg7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDAgYXV0bztcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmRlbGl2ZXJ5LXNlcnZpY2Uge1xyXG4gICAgICAgICYuZGlzYWJsZWQge1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAwLjU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiXHJcblxyXG4vLyAtLS0tLSBZb3VyIEFjY291bnQgcGFnZSAtLS0tLVxyXG5cclxuLmxpbmstZmFpbGVkLWNvbnRhaW5lciB7XHJcbiAgICBtYXJnaW46IDAgMCA1MHB4O1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgLmxpbmstZmFpbGVkLWhlYWRpbmcge1xyXG4gICAgICAgIG1hcmdpbjogJHJlcXVlc3QtbmV3LWxpbmstaGVhZGluZy1tYXJnaW47XHJcbiAgICAgICAgY29sb3I6ICRyZXF1ZXN0LW5ldy1saW5rLWhlYWRpbmctY29sb3VyO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHJlcXVlc3QtbmV3LWxpbmstaGVhZGluZy1mb250LXNpemUpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkcmVxdWVzdC1uZXctbGluay1oZWFkaW5nLWZvbnQtd2VpZ2h0O1xyXG4gICAgfVxyXG4gICAgLnByaW1hcnktYnV0dG9uIHtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICB9XHJcbn1cclxuXHJcbi5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIHtcclxuICAgIC5hY2NvdW50LXBhZ2UgW2NsYXNzKj1cIi1pY29uXCJdIHtcclxuICAgICAgICAvLyBEZWZhdWx0IGljb24uXHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRhY2NvdW50LWljb25zLCBkZWZhdWx0LWljb24pO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmN1c3RvbWVyLWFzc2V0cywgJi5mdW5jdGlvbi0xIHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkYWNjb3VudC1pY29ucywgY3VzdG9tZXItYXNzZXRzKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLmJyYW5jaC1zd2l0Y2hlciwgJi5hY2NvdW50LXN3aXRjaGVyLCAmLmZ1bmN0aW9uLTIge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRhY2NvdW50LWljb25zLCBicmFuY2gtc3dpdGNoZXIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYubWFuYWdlLWNhbGxzLCAmLmZ1bmN0aW9uLTMge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRhY2NvdW50LWljb25zLCBtYW5hZ2UtY2FsbHMpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuY2hhbmdlLWRldGFpbHMsICYuZnVuY3Rpb24tNCB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJGFjY291bnQtaWNvbnMsIGNoYW5nZS1kZXRhaWxzKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNvbnRhY3QtcHJlZmVyZW5jZXMsICYuZnVuY3Rpb24tNSB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJGFjY291bnQtaWNvbnMsIGNvbnRhY3QtcHJlZmVyZW5jZXMpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuY29udHJhY3QtaXRlbXMsICYuZnVuY3Rpb24tNiB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJGFjY291bnQtaWNvbnMsIGNvbnRyYWN0LWl0ZW1zKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLnNlcnZpY2UtY29udHJhY3RzLCAmLmZ1bmN0aW9uLTcge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRhY2NvdW50LWljb25zLCBzZXJ2aWNlLWNvbnRyYWN0cyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5zb2Z0d2FyZS1kZXZlbG9wbWVudC1sb2dzLCAmLmZ1bmN0aW9uLTgge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRhY2NvdW50LWljb25zLCBzb2Z0d2FyZS1kZXZlbG9wbWVudC1sb2dzKTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkZGVwYXJ0bWVudC1zb2Z0d2FyZS1iYXNlLWNvbG91cjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLmRpcGxvbWF0LXVwZGF0ZS1kb3dubG9hZCwgJi5mdW5jdGlvbi05IHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkYWNjb3VudC1pY29ucywgZGlwbG9tYXQtdXBkYXRlLWRvd25sb2FkKTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkZGVwYXJ0bWVudC1zb2Z0d2FyZS1iYXNlLWNvbG91cjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAvLyBBbHNvIHN1cHBvcnQgZm9yIHZlcnNpb24gaWYgbmVlZGVkLCB0aGlzIHdpbGwgYmUgYWRkZWQgdXNpbmcgYW4gYWRkaXRpb25hbCBjbGFzcyAudmVyc2lvbi14LlxyXG4gICAgICAgIH1cclxuICAgICAgICAmLm9ubGluZS1kb2N1bWVudGF0aW9uLCAmLmZ1bmN0aW9uLTEwLCAmLmZ1bmN0aW9uLTM0IHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkYWNjb3VudC1pY29ucywgb25saW5lLWRvY3VtZW50YXRpb24pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuICAgICAgICAmLmZhdm91cml0ZXMsICYuZnVuY3Rpb24tMTEge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRhY2NvdW50LWljb25zLCBmYXZvdXJpdGVzKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVSZWd1bGFyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuam9icywgJi5mdW5jdGlvbi0xMiB7XHJcbiAgICAgICAgICAgIC8vIERlZmF1bHQgaWNvbiBiZWluZyB1c2VkLlxyXG4gICAgICAgIH1cclxuICAgICAgICAmLmxvZ291dCwgJi5mdW5jdGlvbi0xMyB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJGFjY291bnQtaWNvbnMsIGxvZ291dCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IFxyXG4gICAgICAgICYubmV3cywgJi5mdW5jdGlvbi0xNCB7XHJcbiAgICAgICAgICAgIC8vIERlZmF1bHQgaWNvbiBiZWluZyB1c2VkLlxyXG4gICAgICAgIH1cclxuICAgICAgICAmLnZpZXctb3JkZXJzLCAmLmZ1bmN0aW9uLTE1IHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkYWNjb3VudC1pY29ucywgdmlldy1vcmRlcnMpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNoYW5nZS1wYXNzd29yZCwgJi5mdW5jdGlvbi0xNiB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJGFjY291bnQtaWNvbnMsIGNoYW5nZS1wYXNzd29yZCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5tYW5hZ2UtY2FyZHMsICYuZnVuY3Rpb24tMTcge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRhY2NvdW50LWljb25zLCBtYW5hZ2UtY2FyZHMpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYucGF5bWVudC1yZXF1ZXN0cywgJi5mdW5jdGlvbi0xOCB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJGFjY291bnQtaWNvbnMsIHBheW1lbnQtcmVxdWVzdHMpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuZG93bmxvYWQtcHJpY2UtbGlzdHMsICYuZnVuY3Rpb24tMTkge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRhY2NvdW50LWljb25zLCBkb3dubG9hZC1wcmljZS1saXN0cyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5xdWVzdGlvbm5haXJlcywgJi5mdW5jdGlvbi0yMCB7XHJcbiAgICAgICAgICAgIC8vIERlZmF1bHQgaWNvbiBiZWluZyB1c2VkLlxyXG4gICAgICAgIH1cclxuICAgICAgICAmLnJlY2VudGx5LXB1cmNoYXNlZCwgJi5mdW5jdGlvbi0yMSB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJGFjY291bnQtaWNvbnMsIHJlY2VudGx5LXB1cmNoYXNlZCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5zaXRlLWxpc3QsICYuZnVuY3Rpb24tMjIge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRhY2NvdW50LWljb25zLCBzaXRlLWxpc3QpO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRkZXBhcnRtZW50LXdlYi1iYXNlLWNvbG91cjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLnNvZnR3YXJlLWRldmVsb3BtZW50LWxvZ3MsICYuZnVuY3Rpb24tMjMge1xyXG4gICAgICAgICAgICAvLyBEZWZhdWx0IGljb24gYmVpbmcgdXNlZC5cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5zdGF0ZW1lbnQsICYuZnVuY3Rpb24tMjQge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRhY2NvdW50LWljb25zLCBzdGF0ZW1lbnQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuaGlzdG9yaWNhbC10cmFuc2FjdGlvbnMsICYuZnVuY3Rpb24tMjUge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRhY2NvdW50LWljb25zLCBoaXN0b3JpY2FsLXRyYW5zYWN0aW9ucyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi51cGxvYWQtYmFza2V0LCAmLmZ1bmN0aW9uLTI2IHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkYWNjb3VudC1pY29ucywgYmFza2V0LXVwbG9hZCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi51cGxvYWQtb3JkZXJzLCAmLmZ1bmN0aW9uLTI3IHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkYWNjb3VudC1pY29ucywgb3JkZXItdXBsb2FkKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLm1hbmFnZS11c2VycywgJi5mdW5jdGlvbi0yOCB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJGFjY291bnQtaWNvbnMsIG1hbmFnZS11c2Vycyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5lbXBsb3llZS1zdGF0dXMsICYuZnVuY3Rpb24tMjkge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRhY2NvdW50LWljb25zLCBlbXBsb3llZS1zdGF0dXMpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuZGlwbG9tYXQtdXBkYXRlLWRhdGFiYXNlLCAmLmZ1bmN0aW9uLTMwIHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkYWNjb3VudC1pY29ucywgZGlwbG9tYXQtdXBkYXRlLWRhdGFiYXNlKTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkZGVwYXJ0bWVudC1zb2Z0d2FyZS1iYXNlLWNvbG91cjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBNaWNyb3NvZnQgU3Vic2NyaXB0aW9ucy5cclxuICAgICAgICAmLmZ1bmN0aW9uLTMxIHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkYWNjb3VudC1pY29ucywgbWljcm9zb2Z0LXN1YnNjcmlwdGlvbnMpO1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZUJyYW5kcztcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkZGVwYXJ0bWVudC10ZWNoLWJhc2UtY29sb3VyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIENhbGwgU3RhdGlzdGljcy5cclxuICAgICAgICAmLmZ1bmN0aW9uLTMyIHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkYWNjb3VudC1pY29ucywgY2FsbC1zdGF0aXN0aWNzKTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkZGVwYXJ0bWVudC10ZWNoLWJhc2UtY29sb3VyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIEFnZ3JlZ2F0ZWQgQXNzZXRzLlxyXG4gICAgICAgICYuZnVuY3Rpb24tMzMge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRhY2NvdW50LWljb25zLCBjdXN0b21lci1hc3NldHMpO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRkZXBhcnRtZW50LXRlY2gtYmFzZS1jb2xvdXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gVmlkZW9zLlxyXG4gICAgICAgICYuZnVuY3Rpb24tMzQge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCB2aWRlby1wbGF5ZXItdGh1bWJuYWlsLWljb24pO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDMwcHg7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDMwcHg7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxN3B4O1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNDBweDtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRlZmF1bHQtY29sb3VyKCRhY2NvdW50LWZ1bmN0aW9uLXZpZGVvcy1pY29uLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBkZWZhdWx0LWNvbG91cigkYWNjb3VudC1mdW5jdGlvbi12aWRlb3MtaWNvbi1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbkludHJvLCBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIFJlY2VudCBzb2Z0d2FyZSB1cGRhdGVzLlxyXG4gICAgICAgICYuZnVuY3Rpb24tMzUge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRhY2NvdW50LWljb25zLCBkaXBsb21hdC11cGRhdGUtZG93bmxvYWQpO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRkZXBhcnRtZW50LXNvZnR3YXJlLWJhc2UtY29sb3VyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbi8vIEhvdyBtdWNoIHNob3VsZCB3ZSBzY2FsZSB0aGUgaWNvbnMgd2hlbiBuZXN0ZWQgaW4gYSBtZW51LlxyXG4kYWNjb3VudC1zZWN0aW9ucy1uZXN0LWljb24tc2l6ZS1zY2FsZTogMS41O1xyXG5cclxuLm1lbnUge1xyXG4gICAgLy8gSWYgaW5zaWRlIG9mIGEgbWVudSB0aGVuIHNjYWxlIGljb25zIGRvd24uXHJcbiAgICAuYWNjb3VudC1tZW51LXNlY3Rpb25zIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmFjY291bnQtcGFnZSB7XHJcbiAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgZ2FwOiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogNXB4O1xyXG4gICAgICAgICAgICAgICAgLnBhZ2UtaWNvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAobWFwLWdldCgkYWNjb3VudC1zZWN0aW9ucy1pY29uLXNpemUsIGRlZmF1bHQpIC8gJGFjY291bnQtc2VjdGlvbnMtbmVzdC1pY29uLXNpemUtc2NhbGUpO1xyXG4gICAgICAgICAgICAgICAgICAgICYuY2hhbmdlLXBhc3N3b3JkLCAmLmZ1bmN0aW9uLTE2IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAobWFwLWdldCgkYWNjb3VudC1zZWN0aW9ucy1pY29uLXNpemUsIGNoYW5nZS1wYXNzd29yZCkgLyAkYWNjb3VudC1zZWN0aW9ucy1uZXN0LWljb24tc2l6ZS1zY2FsZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5hY2NvdW50LW1lbnUtaGVhZGluZy1jb250YWluZXIge1xyXG4gICAgICAgICAgICBtYXJnaW46IDVweCAwIDEwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uYWNjb3VudC1tZW51LWhlYWRpbmctY29udGFpbmVyIHtcclxuICAgIG1hcmdpbjogMzVweCAwIDIwcHg7XHJcbn1cclxuXHJcbi5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIHtcclxuICAgIC5jZWxsIHtcclxuICAgICAgICAvLyBDYW50IHVzZSBmb3VuZGF0aW9uJ3MgZ3JpZCBhcyB4ICYgeSBndXR0ZXJzIGFyZSBub3QgZXF1YWwgaW4gdGhlIGRlc2lnbi5cclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgfVxyXG4gICAgLmFjY291bnQtcGFnZSB7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICAmLnNpdGUtc3R5bGUge1xyXG4gICAgICAgICAgICAvLyBFbmZvcmNlIEJyYW5kaW5nIGZyb20gc2l0ZSBzdHlsZS5cclxuICAgICAgICAgICAgc3BhbltjbGFzcyo9XCItaWNvblwiXTpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBhe1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGdhcDogMzBweDtcclxuICAgICAgICAgICAgcGFkZGluZzogI3soJGFjY291bnQtc2VjdGlvbi1pdGVtLXBhZGRpbmcgLSAkYWNjb3VudC1zZWN0aW9uLWl0ZW0tYm9yZGVyLXdpZHRoKX07XHJcbiAgICAgICAgICAgIGNvbG9yOiBkZWZhdWx0LWNvbG91cigkYWNjb3VudC1zZWN0aW9uLWl0ZW0tY29sb3VyKTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGVmYXVsdC1jb2xvdXIoJGFjY291bnQtc2VjdGlvbi1pdGVtLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgICAgICAgICAgYm9yZGVyOiAkYWNjb3VudC1zZWN0aW9uLWl0ZW0tYm9yZGVyLXdpZHRoIHNvbGlkIGRlZmF1bHQtY29sb3VyKCRhY2NvdW50LXNlY3Rpb24taXRlbS1ib3JkZXItY29sb3VyKTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGhvdmVyLWNvbG91cigkYWNjb3VudC1zZWN0aW9uLWl0ZW0tYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBob3Zlci1jb2xvdXIoJGFjY291bnQtc2VjdGlvbi1pdGVtLWJvcmRlci1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgc3BhbltjbGFzcyo9XCItZGVzY3JpcHRpb25cIl0ge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBob3Zlci1jb2xvdXIoJGFjY291bnQtc2VjdGlvbi1pdGVtLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHNwYW5bY2xhc3MqPVwiLWljb25cIl06YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogI3tob3Zlci1jb2xvdXIoJGFjY291bnQtc2VjdGlvbi1pdGVtLWljb24tY29sb3VyKX07XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBzcGFuW2NsYXNzKj1cIi1kZXNjcmlwdGlvblwiXSB7XHJcbiAgICAgICAgICAgIC8vIFNocmluayB0aGUgZGVzY3JpcHRpb24gdG8gZml0IGluIGF2YWlsYWJsZSBzcGFjZS5cclxuICAgICAgICAgICAgZmxleDogMTtcclxuICAgICAgICAgICAgY29sb3I6IGRlZmF1bHQtY29sb3VyKCRhY2NvdW50LXNlY3Rpb24taXRlbS1jb2xvdXIpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogbWFwLWdldCgkYWNjb3VudC1wYWdlLWl0ZW0tZm9udC13ZWlnaHQsIGFjY291bnQtcGFnZSk7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHNwYW5bY2xhc3MqPVwiLWljb25cIl0ge1xyXG4gICAgICAgICAgICB3aWR0aDogNTBweDtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZXhwcmVzcy1kZWZhdWx0LWljb25zO1xyXG4gICAgICAgICAgICAgICAgLy8gRW5mb3JjZSBmb250LXdlaWdodCA0MDAgYXMgb3VyIGZvbnRlbGxvIGxpYnJhcnkgb25seSBoYXMgb25lIHdlaWdodC5cclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogI3tkZWZhdWx0LWNvbG91cigkYWNjb3VudC1zZWN0aW9uLWl0ZW0taWNvbi1jb2xvdXIpfTtcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gRnVuY3Rpb24gc3BlY2lmaWMgcnVsZXMuXHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIHNwYW5bY2xhc3MqPVwiLWljb25cIl0uZnVuY3Rpb24tMzQ6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGhvdmVyLWNvbG91cigkYWNjb3VudC1mdW5jdGlvbi12aWRlb3MtaWNvbi1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogaG92ZXItY29sb3VyKCRhY2NvdW50LWZ1bmN0aW9uLXZpZGVvcy1pY29uLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uSW50cm8sIGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuYWNjb3VudC1wYWdlIC5wYWdlLWljb24ge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkYWNjb3VudC1zZWN0aW9ucy1pY29uLXNpemUsIGRlZmF1bHQpO1xyXG4gICAgICAgICYuY2hhbmdlLXBhc3N3b3JkLCAmLmZ1bmN0aW9uLTE2IHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiBtYXAtZ2V0KCRhY2NvdW50LXNlY3Rpb25zLWljb24tc2l6ZSwgY2hhbmdlLXBhc3N3b3JkKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5jaGFuZ2UtZGV0YWlscywgJi5mdW5jdGlvbi00IHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiBtYXAtZ2V0KCRhY2NvdW50LXNlY3Rpb25zLWljb24tc2l6ZSwgY2hhbmdlLWRldGFpbHMpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLm1hbmFnZS1jYXJkcywgJi5mdW5jdGlvbi0xNyB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkYWNjb3VudC1zZWN0aW9ucy1pY29uLXNpemUsIG1hbmFnZS1jYXJkcyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuZGlwbG9tYXQtdXBkYXRlLWRvd25sb2FkLCAmLmZ1bmN0aW9uLTkge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IG1hcC1nZXQoJGFjY291bnQtc2VjdGlvbnMtaWNvbi1zaXplLCBkaXBsb21hdC11cGRhdGUtZG93bmxvYWQpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmRpcGxvbWF0LXVwZGF0ZS1kb3dubG9hZCwgJi5mdW5jdGlvbi0zNSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkYWNjb3VudC1zZWN0aW9ucy1pY29uLXNpemUsIGRpcGxvbWF0LXVwZGF0ZS1kb3dubG9hZCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYubG9nb3V0LCAmLmZ1bmN0aW9uLTI5IHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiBtYXAtZ2V0KCRhY2NvdW50LXNlY3Rpb25zLWljb24tc2l6ZSwgbG9nb3V0KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5hY2NvdW50LW1lbnUge1xyXG4gICAgLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIge1xyXG4gICAgICAgIC5hY2NvdW50LXBhZ2UgLnBhZ2UtaWNvbiB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBoMiB7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyhzbWFsbC12YWx1ZSgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1zaXplKSk7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKGxhcmdlLXZhbHVlKCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LXNpemUpKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbiNhY2NvdW50LXBhZ2UtZ3JpZCB7XHJcbiAgICAuYWNjb3VudC1wYWdlIHtcclxuICAgICAgICBwYWRkaW5nOiAkYWNjb3VudC1wYWdlLWl0ZW0tcGFkZGluZztcclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6ICRhY2NvdW50LXBhZ2UtaXRlbS1hbmNob3ItcGFkZGluZztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAucGFnZS1pY29uIHtcclxuICAgICAgICAmLmNoYW5nZS1kZXRhaWxzOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkYWNjb3VudC1wYWdlLWl0ZW0taWNvbi1zaXplLCBjaGFuZ2UtZGV0YWlscyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuY2hhbmdlLXBhc3N3b3JkOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkYWNjb3VudC1wYWdlLWl0ZW0taWNvbi1zaXplLCBjaGFuZ2UtcGFzc3dvcmQpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNvbnRyYWN0LWl0ZW1zOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkYWNjb3VudC1wYWdlLWl0ZW0taWNvbi1zaXplLCBjb250cmFjdC1pdGVtcyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuZmF2b3VyaXRlczpiZWZvcmUge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IG1hcC1nZXQoJGFjY291bnQtcGFnZS1pdGVtLWljb24tc2l6ZSwgZmF2b3VyaXRlcyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYudmlldy1vcmRlcnM6YmVmb3JlIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiBtYXAtZ2V0KCRhY2NvdW50LXBhZ2UtaXRlbS1pY29uLXNpemUsIHZpZXctb3JkZXJzKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5yZWNlbnRseS1wdXJjaGFzZWQ6YmVmb3JlIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiBtYXAtZ2V0KCRhY2NvdW50LXBhZ2UtaXRlbS1pY29uLXNpemUsIHJlY2VudGx5LXB1cmNoYXNlZCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYubWFuYWdlLWNhcmRzOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkYWNjb3VudC1wYWdlLWl0ZW0taWNvbi1zaXplLCBtYW5hZ2UtY2FyZHMpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLnN0YXRlbWVudDpiZWZvcmUge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IG1hcC1nZXQoJGFjY291bnQtcGFnZS1pdGVtLWljb24tc2l6ZSwgc3RhdGVtZW50KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5tYW5hZ2UtdXNlcnM6YmVmb3JlIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiBtYXAtZ2V0KCRhY2NvdW50LXBhZ2UtaXRlbS1pY29uLXNpemUsIG1hbmFnZS11c2Vycyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuYnJhbmNoLXN3aXRjaGVyOmJlZm9yZSwgJi5hY2NvdW50LXN3aXRjaGVyOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkYWNjb3VudC1wYWdlLWl0ZW0taWNvbi1zaXplLCBicmFuY2gtc3dpdGNoZXIpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNvbnRhY3QtcHJlZmVyZW5jZXM6YmVmb3JlIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiBtYXAtZ2V0KCRhY2NvdW50LXBhZ2UtaXRlbS1pY29uLXNpemUsIGNvbnRhY3QtcHJlZmVyZW5jZXMpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmhpc3RvcmljYWwtdHJhbnNhY3Rpb25zOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkYWNjb3VudC1wYWdlLWl0ZW0taWNvbi1zaXplLCBoaXN0b3JpY2FsLXRyYW5zYWN0aW9ucyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYudXBsb2FkLWJhc2tldDpiZWZvcmUge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IG1hcC1nZXQoJGFjY291bnQtcGFnZS1pdGVtLWljb24tc2l6ZSwgdXBsb2FkLWJhc2tldCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYudXBsb2FkLW9yZGVyczpiZWZvcmUge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IG1hcC1nZXQoJGFjY291bnQtcGFnZS1pdGVtLWljb24tc2l6ZSwgdXBsb2FkLW9yZGVyKVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLmxvZ291dDpiZWZvcmUge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IG1hcC1nZXQoJGFjY291bnQtcGFnZS1pdGVtLWljb24tc2l6ZSwgbG9nb3V0KTtcclxuICAgICAgICB9ICBcclxuICAgICAgICAmLm1hbmFnZS1jYWxsczpiZWZvcmUge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IG1hcC1nZXQoJGFjY291bnQtcGFnZS1pdGVtLWljb24tc2l6ZSwgbWFuYWdlLWNhbGxzKTtcclxuICAgICAgICB9ICBcclxuICAgICAgICAmLnNlcnZpY2UtY29udHJhY3RzOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkYWNjb3VudC1wYWdlLWl0ZW0taWNvbi1zaXplLCBzZXJ2aWNlLWNvbnRyYWN0cyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuY3VzdG9tZXItYXNzZXRzOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkYWNjb3VudC1wYWdlLWl0ZW0taWNvbi1zaXplLCBjdXN0b21lci1hc3NldHMpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLnBheW1lbnQtcmVxdWVzdHMge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IG1hcC1nZXQoJGFjY291bnQtcGFnZS1pdGVtLWljb24tc2l6ZSwgcGF5bWVudC1yZXF1ZXN0cyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuZG93bmxvYWQtcHJpY2UtbGlzdHMge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IG1hcC1nZXQoJGFjY291bnQtcGFnZS1pdGVtLWljb24tc2l6ZSwgZG93bmxvYWQtcHJpY2UtbGlzdHMpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLnNpdGUtbGlzdCB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkYWNjb3VudC1wYWdlLWl0ZW0taWNvbi1zaXplLCBkb3dubG9hZC1wcmljZS1saXN0cyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuZGlwbG9tYXQtdXBkYXRlLWRvd25sb2FkIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiBtYXAtZ2V0KCRhY2NvdW50LXBhZ2UtaXRlbS1pY29uLXNpemUsIGRpcGxvbWF0LXVwZGF0ZS1kb3dubG9hZCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuZGlwbG9tYXQtdXBkYXRlLWRhdGFiYXNlIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiBtYXAtZ2V0KCRhY2NvdW50LXBhZ2UtaXRlbS1pY29uLXNpemUsIGRpcGxvbWF0LXVwZGF0ZS1kYXRhYmFzZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYub25saW5lLWRvY3VtZW50YXRpb257XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkYWNjb3VudC1wYWdlLWl0ZW0taWNvbi1zaXplLCBvbmxpbmUtZG9jdW1lbnRhdGlvbik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uYWNjb3VudC1zb3J0aW5nLW9wdGlvbnMge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBtYXJnaW46ICRhY2NvdW50LXNvcnRpbmctbWFyZ2luO1xyXG4gICAgfVxyXG4gICAgLnNvcnQtb3B0aW9uIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBtYXJnaW46IDE1cHggMDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOlxyXG4gICAgICAgICAgICBhdXRvO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5icmFuY2gtZmlsdGVyIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA0OTBweDtcclxuICAgICAgICAgICAgICAgIC8vIG1hcmdpbi1sZWZ0OiA2MHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHNlbGVjdCwgLmNvbnRyb2wtc2VsZWN0LWRyb3Bkb3duIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMzAwcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gXHJcbiAgICAgICAgICAgIC50b29sdGlwLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogNXB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYucGFnaW5hdGlvbiB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIC5BWElTUmVzdWx0RGlzcGxheUNvbnRhaW5lciwgLml0ZW0tY291bnQtY29udGFpbmVyIHtcclxuICAgICAgICAvLyAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIC8vICAgICAgICAgd2lkdGg6IDE2MHB4O1xyXG4gICAgICAgIC8vICAgICB9XHJcbiAgICAgICAgLy8gfVxyXG4gICAgICAgIC5sYWJlbCwgLnBhZ2luYXRpb25MYWJlbCB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcblxyXG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gLnNvcnQtYnktZGF5cy1zZWxlY3QgeyBcclxuLy8gICAgIG1pbi13aWR0aDogMTcwcHg7XHJcbi8vIH1cclxuXHJcbi5hY2NvdW50LWJ1dHRvbnMtY29udGFpbmVyIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgd2lkdGg6IDIzNXB4O1xyXG4gICAgfVxyXG4gICAgJi5jZW50ZXItYnV0dG9ucyB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tLS0gVmlldyBPcmRlciAtLS0tLSBcclxuLm9yZGVyLWNvbnRhaW5lciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICB9IFxyXG4gICAgJiArIC5yZXNwb25zaXZlLXRhYnMge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA0MHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIFBheXBhbCBjaGVja291dCBjb25maXJtYXRpb24uXHJcbiAgICAmLnBheW1lbnQtY29uZmlybWF0aW9uIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLm9yZGVyLWRldGFpbHMtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgLm9yZGVyLWRldGFpbHMsIC5vcmRlci1kZWxpdmVyeSB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gI3soc21hbGwtdmFsdWUoJHZpZXctb3JkZXItZGV0YWlscy1ndXR0ZXIpIC8gMil9KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH0gXHJcbiAgICAmLnByZXNldC0xIHtcclxuICAgICAgICAjb3JkZXItdGFibGUge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogOTcwcHg7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuYmFza2V0LXByaWNlLWNvbCB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDE1JTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0ZC5iYXNrZXQtZGVzY3JpcHRpb24tY29sIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogNTE1cHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9IFxyXG4gICAgI29yZGVyLXRhYmxlIHtcclxuICAgICAgICBAaW5jbHVkZSBvcmRlci10YWJsZSgpO1xyXG4gICAgICAgIG1hcmdpbjogMjBweCBhdXRvIDI1cHg7XHJcbiAgICB9XHJcbiAgICAjYmFza2V0LXN1bW1hcnkge1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgIH1cclxuICAgIC8vIFN1cHJlc3NpbmcgYXMgdGhpcyBjYW4gYmUgZG9uZSB1c2luZyBnYXAgc3BhY2luZyBpbiBmbGV4Ym94LlxyXG4gICAgLy8gLm9yZGVyLWRldGFpbHMgKyAub3JkZXItZGVsaXZlcnkge1xyXG4gICAgLy8gICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgIC8vICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAvLyAgICAgfVxyXG4gICAgLy8gfVxyXG4gICAgLy8gLnN1bW1hcnktc3RpY2t5LWNvbnRhaW5lciB7XHJcbiAgICAvLyAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgLy8gICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgIC8vICAgICB9XHJcbiAgICAvLyB9XHJcbiAgICAjYmFza2V0LXN1bW1hcnkge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OyBcclxuICAgIH1cclxufVxyXG5cclxuXHJcblxyXG4ub3JkZXItZGV0YWlscywgLm9yZGVyLWRlbGl2ZXJ5LCAuZW5xdWlyeS1kZXRhaWxzLWNvbnRhaW5lciB7XHJcbiAgICB3aWR0aDogc21hbGwtdmFsdWUoJHZpZXctb3JkZXItZGV0YWlscy13aWR0aCk7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGdhcDogNXB4IDA7XHJcbiAgICAvLyBtYXJnaW46IDAgMCAyMHB4O1xyXG4gICAgcGFkZGluZzogbWFwLWdldCgkdmlldy1vcmRlci1kZXRhaWxzLXBhZGRpbmcsIHNtYWxsKTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICR2aWV3LW9yZGVyLWRldGFpbHMtYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICBAaWYgc21vb3RoLWVkZ2VzKCkge1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIHdpZHRoOiBsYXJnZS12YWx1ZSgkdmlldy1vcmRlci1kZXRhaWxzLXdpZHRoKTtcclxuICAgICAgICAvLyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIHBhZGRpbmc6IG1hcC1nZXQoJHZpZXctb3JkZXItZGV0YWlscy1wYWRkaW5nLCBsYXJnZSk7XHJcbiAgICB9XHJcbiAgICAmLmlubGluZSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICBnYXA6IDEwcHggMjBweDtcclxuICAgICAgICAub3JkZXItZGV0YWlsLWhlYWRpbmcge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5kZXRhaWwtaXRlbS1jb250YWluZXIge1xyXG4gICAgICAgICAgICA+IHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICA+IGFkZHJlc3Mge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAgICAgICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcclxuICAgICAgICAgICAgICAgIGdhcDogNXB4O1xyXG4gICAgICAgICAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICAgICAgICAgICAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJywnO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfSBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYucGF5ZXItZGV0YWlscyB7XHJcbiAgICAgICAgcGFkZGluZzogc21hbGwtdmFsdWUoJHBheW1lbnQtbWV0aG9kLXRpdGxlLXBhZGRpbmcpXHJcbiAgICB9XHJcbn1cclxuXHJcbi5vcmRlci1kZXRhaWwtaGVhZGluZywgLm9yZGVyLWRlbGl2ZXJ5LWhlYWRpbmcsIC5lbnF1aXJ5LWRldGFpbHMtaGVhZGluZyB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgcGFkZGluZzogMCAwIDVweDtcclxuICAgIG1hcmdpbjogMCAwIDI1cHg7XHJcbiAgICBib3JkZXItYm90dG9tOiAjeyRjb21tb24taGVhZGluZy1ydWxlLXdlaWdodH0gc29saWQgI3skaGVhZGluZy1ydWxlLWNvbG91cn07XHJcbiAgICBoMyB7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkdmlldy1vcmRlci1kZXRhaWxzLWhlYWRpbmctZm9udC1zaXplKTtcclxuICAgICAgICBmb250LXdlaWdodDogJHZpZXctb3JkZXItZGV0YWlscy1oZWFkaW5nLWZvbnQtd2VpZ2h0O1xyXG4gICAgfVxyXG4gICAgYS5lZGl0IHtcclxuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgIH1cclxufVxyXG5cclxuLmRldGFpbC1pdGVtLWNvbnRhaW5lciwgLmRlbGl2ZXJ5LWl0ZW0tY29udGFpbmVyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgLy8gU3VwcHJlc3NpbmcgaW5mYXZvdXIgb2YgdGhlIGdhcCBwcm9wZXJ0eS5cclxuICAgIC8vIG1hcmdpbjogNXB4IDA7XHJcbiAgICAvLyBJZiBubyB2YWx1ZSB0aGVuIHN1cHByZXNzIGFsdG9nZXRoZXIuXHJcbiAgICAmOmhhcyg+IHA6ZW1wdHkpIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG4gICAgPiBzcGFuIHtcclxuICAgICAgICB3aWR0aDogc21hbGwtdmFsdWUoJHZpZXctb3JkZXItZGV0YWlscy1sYWJlbCk7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIGNvbG9yOiAkdmlldy1vcmRlci1kZXRhaWxzLWNvbG91cjtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCR2aWV3LW9yZGVyLWRldGFpbHMtZm9udC1zaXplKTtcclxuICAgICAgICBmb250LXdlaWdodDogJHZpZXctb3JkZXItZGV0YWlscy1sYWJlbC1mb250LXdlaWdodDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBsYXJnZS12YWx1ZSgkdmlldy1vcmRlci1kZXRhaWxzLWxhYmVsKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICA+IHAge1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3VyMjtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCR2aWV3LW9yZGVyLWRldGFpbHMtZm9udC1zaXplKTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIGZsZXg6IDE7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgYSB7XHJcbiAgICAgICAgLy8gQWxsIGFuY2hvcidzIHNob3VsZCBhcHBlYXIgb24gYSBuZXcgbGluZSBmb3IgY29uc2lzdGVuY3kuXHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICR2aWV3LW9yZGVyLWRldGFpbHMtbGFiZWwtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkdmlldy1vcmRlci1kZXRhaWxzLWZvbnQtc2l6ZSk7XHJcbiAgICB9XHJcbiAgICBhZGRyZXNzIHtcclxuICAgICAgICBmbGV4OiAxO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHZpZXctb3JkZXItZGV0YWlscy1mb250LXNpemUpO1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuXHJcbi5iYXNrZXQtY3VycmVudC1wcmljZS1jb2wge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgY29sb3I6IG1hcC1nZXQoJGFjY2VudC1jb2xvdXItMSwgMik7XHJcbiAgICAuY3VycmVudC1wcmljZS1zYXZpbmcge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBjb2xvcjogJHByaWNlLWRyb3AtY29sb3VyO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHByaWNlLWRyb3AtZm9udC1zaXplKTtcclxuICAgICAgICBmb250LXdlaWdodDogJHByaWNlLWRyb3AtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRwcmljZS1kcm9wLXRleHQtdHJhbnNmb3JtO1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogNzBweDtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB0b3A6IDM1cHg7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICBjb250ZW50OiAnXFxmMGRkJztcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDA7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkcHJpY2UtZHJvcC1hcnJvdy1jb2xvdXI7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4O1xyXG4gICAgICAgICAgICBcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5vcmRlci1kZXRhaWxzLWNvbnRhaW5lciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICBnYXA6IHNtYWxsLXZhbHVlKCR2aWV3LW9yZGVyLWRldGFpbHMtZ3V0dGVyKTtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgIH1cclxuICAgIC8vIFN1cHByZXNzaW5nIHdpZHRoIG9uIHRoZSBjb250YWluZXIgaXMgbm90IGFuIG9wdGlvbiBkdWUgdG8gZm91bmRhdGlvbidzIGdyaWQgdXNpbmcgcmVsYXRpdmUgdmFsdWVzIHdoZW4gY2FsY3VsYXRpbmcgY2VsbHMgd2hpY2ggY2F1c2VzIHRoZSBjZWxscyB0byBzaHJpbmsgaWYgdGhlcmUgaXMgbm90IGVub3VnaCBjb250ZW50IHRvIGZpdCBhIHJvdy5cclxuICAgIC5ncmlkLXgge1xyXG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAje3NtYWxsLXZhbHVlKCRncmlkLW1hcmdpbi1ndXR0ZXJzKX0pO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAje21lZGl1bS12YWx1ZSgkZ3JpZC1tYXJnaW4tZ3V0dGVycyl9KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIFN1cHByZXNzaW5nIGR1ZSB0byBzdG9wcGluZyB0aGUgaGVpZ2h0IGZyb20gbWF0Y2hpbmcgZ2VuZXJhbCAvIGRlbGl2ZXJ5IGRldGFpbHMgb24gdGhlIHZpZXcgb3JkZXIgLyBjb250cmFjdCBlbnF1aXJ5IHBhZ2VzLlxyXG4vLyAjYmFza2V0LXN1bW1hcnkucmVhZC1vbmx5IHtcclxuLy8gICAgIGFsaWduLXNlbGY6IGJhc2VsaW5lO1xyXG4vLyB9XHJcblxyXG4vLyBSZXF1aXNpdGlvbiBidXR0b25zXHJcbi5yZXF1aXNpdGlvbi1idXR0b25zLWNvbnRhaW5lciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgbWFyZ2luOiAwIGF1dG8gNTBweDtcclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tLS0gRGVsaXZlcnkgRW5xdWlyeSAtLS0tLSBcclxuLnBhY2thZ2UtcmVmZXJlbmNlLWNvbnRhaW5lciB7XHJcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcclxuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAubGFiZWwge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIH1cclxuICAgIC5jb250YWluZXItcmVmZXJlbmNlIHtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDMwcHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxNXB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNjBweDtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDMwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0tLSBNYW5hZ2UgVXNlcnMgLS0tLS0gXHJcbi51c2Vycy1mb3VuZC1jb3VudCB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG4gICAgZm9udC1zaXplOiByZW0tY2FsYygkdXNlcnMtZm91bmQtZm9udC1zaXplKTtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xyXG4gICAgfVxyXG4gICAgc3BhbiB7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XHJcbiAgICAgICAgY29sb3I6ICR1c2Vycy1mb3VuZC1jb3VudC1jb2xvdXI7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgIH1cclxuICAgIHAge1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgfVxyXG59XHJcblxyXG4jdXNlcnMtdGFibGUge1xyXG4gICAgdGQge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHVzZXJzLXRib2R5LWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgLmxhYmVsIHtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICB0ZC51c2Vycy1jb250YWN0LWNvbCB7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICR1c2Vycy10Ym9keS1jb250YWN0LWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgIGNvbG9yOiAkdXNlcnMtdGJvZHktY29udGFjdC1jb2xvdXI7XHJcbiAgICB9XHJcbiAgICAudXNlcnMtYWNjb3VudC1jb2wge1xyXG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogMjUlO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnVzZXJzLWNvbnRhY3QtY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAzMyU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnVzZXJzLWVtYWlsLWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogMzMlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC51c2Vycy1kZWxldGUtY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAzMyU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gLnVzZXJzLWVtYWlsLWNvbCwgLnVzZXJzLWNvbnRhY3QtY29sIHtcclxuICAgIC8vICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgLy8gfVxyXG4gICAgLnVzZXJzLWRlbGV0ZS1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIH1cclxuICAgICAgICAucmVtb3ZlLXVzZXItYnV0dG9uIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ucmVtb3ZlLXVzZXItYnV0dG9uIHtcclxuICAgIHdpZHRoOiAkcmVtb3ZlLXVzZXJzLWxpc3QtYnV0dG9uLWRpbWVudGlvbnM7XHJcbiAgICBoZWlnaHQ6ICRyZW1vdmUtdXNlcnMtbGlzdC1idXR0b24tZGltZW50aW9ucztcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIH1cclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBiYXNrZXQtcmVtb3ZlKTtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkcmVtb3ZlLXVzZXJzLWxpc3QtYnV0dG9uLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVJlZ3VsYXI7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygoJHJlbW92ZS11c2Vycy1saXN0LWJ1dHRvbi1kaW1lbnRpb25zIC8gMS4xKSk7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgIH1cclxuICAgICY6aG92ZXI6YmVmb3JlIHtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkcmVtb3ZlLXVzZXJzLWxpc3QtYnV0dG9uLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICB9XHJcbiAgICAmOmFjdGl2ZTpiZWZvcmUge1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRyZW1vdmUtdXNlcnMtbGlzdC1idXR0b24tY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0gVmlldyAvIEVkaXQgdXNlciAtLS0gXHJcbi5tYW5hZ2UtdXNlci1idXR0b24tY29udGFpbmVyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICBtYXJnaW46IDIwcHggYXV0byAwO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgfVxyXG4gICAgLnByaW1hcnktYnV0dG9uIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAyMHB4IDAgYXV0bztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuc2Vjb25kYXJ5LWJ1dHRvbiB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnRlcnRpYXJ5LWJ1dHRvbiB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiNzZWxlY3QtYnJhbmNoZXMtdGFibGUge1xyXG4gICAgbWF4LXdpZHRoOiAkdXNlcnMtcG9wdXAtdGFibGUtbWF4LXdpZHRoO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBtYXJnaW46IGF1dG87XHJcbiAgICBvdmVyZmxvdy15OiBzY3JvbGw7XHJcbiAgICAubGFiZWwge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuYnJhbmNoLWNvbCB7XHJcbiAgICAgICAgXHJcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogODBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICB0ZC5icmFuY2gtY29sIHtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCR1c2Vycy1wb3B1cC10YWJsZS1icmFuY2gtY29sLWZvbnQtc2l6ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgLmFsbG93LWxvZ2luLWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNjBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLS0tIE1hbmFnZSBQYXltZW50IENhcmRzIC0tLS0tIFxyXG4jdG9rZW5zLXRhYmxlLnBheW1lbnQge1xyXG4gICAgLy8gLmNhcmQtc2VsZWN0LWNvbCB7XHJcbiAgICAgICAgLy8gQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIC8vICAgICB3aWR0aDogOTBweDtcclxuICAgICAgICAvLyB9XHJcbiAgICAvLyB9XHJcbiAgICAuY2FyZC10eXBlLWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogMjUwcHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNTBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICB9XHJcbiAgICAuY2FyZC1udW1iZXItY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxODBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuY2FyZC1leHBpcmUtZGF0ZS1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDI0MHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5jYXJkLXJlbW92ZS1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcclxuICAgICAgICB9IFxyXG4gICAgfVxyXG4gICAgXHJcbiAgICBcclxuXHJcbn1cclxuXHJcbiN0b2tlbnMtdGFibGUsIC50b2tlbnMtdGFibGUge1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgLy8gQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgLy8gICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgICAvLyB9XHJcbiAgICB0ciB7XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIC5jYXJkLXR5cGUge1xyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjYXJkcy1jYXJkLXR5cGUtY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNhcmQtZXhwaXJlZCB7XHJcbiAgICAgICAgICAgLmNhcmQtdHlwZS1jb2wsIC5jYXJkLW51bWJlci1jb2wsIC5leHBpcmUtZGF0ZSB7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuNTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkdHJhbnNpdGlvbk91dHJvOyBcclxuICAgICAgICAgICB9XHJcbiAgICAgICAgICAgLmV4cGlyZS1kYXRlIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgIH1cclxuICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgLmNhcmQtdHlwZS1jb2wsIC5jYXJkLW51bWJlci1jb2wsIC5leHBpcmUtZGF0ZSB7XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxOyAgICBcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJHRyYW5zaXRpb25JbnRybzsgXHJcbiAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGQge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHBhcmFncmFwaC1mb250LXNpemUpO1xyXG4gICAgfVxyXG4gICAgLmNhcmQtc2VsZWN0LWNvbCB7XHJcbiAgICAgICAgLnJhZGlvIHtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmNhcmQtdHlwZS1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDMwJTtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkdG9rZW5zLXRhYmxlLXBhZGRpbmc7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmNhcmQtZXhwaXJlLWRhdGUtY29sIHtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDIwJTtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHVuc2V0O1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmV4cGlyZS1kYXRlIHtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuY2FyZC1yZW1vdmUtY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogJHRva2Vucy10YWJsZS1wYWRkaW5nO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5zZWxlY3RlZC1jYXJkIHtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgIH1cclxufVxyXG4ubm8tdG9rZW5zLWZvdW5kIHtcclxuICAgIG1hcmdpbjogNTBweCAwO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgZm9udC1zaXplOiByZW0tY2FsYygkcGFyYWdyYXBoLWZvbnQtc2l6ZSk7XHJcbiAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIG1hcmdpbjogMTAwcHggMDtcclxuICAgIH1cclxuICAgIC5uby10b2tlbnMtaWNvbiB7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBwYXltZW50LWNhcmQpO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lUmVndWxhcjtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyg2NSk7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyMy0xO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnBheW1lbnQtZGV0YWlscy1jb250YWluZXIge1xyXG4gICAgbWF4LWhlaWdodDogNjB2aDtcclxuICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcclxufVxyXG4ubW9kYWwtY29udGFpbmVyW3R5cGU9c2VsZWN0LXBheW1lbnRdIHtcclxuICAgICNwYXltZW50LWFkZC1uZXctY2FyZC1mb3JtIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG59XHJcblxyXG4jcGF5bWVudC1hZGQtbmV3LWNhcmQtZm9ybSB7XHJcbiAgICBtYXgtd2lkdGg6IDY0MHB4O1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBtYXJnaW46IGF1dG87XHJcbiAgICBmaWVsZHNldCB7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICB9XHJcbiAgICAuY21zLWNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgfVxyXG59XHJcblxyXG4uc2F2ZS1jYXJkLWNvbnRhaW5lciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIC5jb250cm9sLmNoZWNrYm94IHtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIH1cclxuICAgIC5sYWJlbCB7XHJcbiAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICB9XHJcbn1cclxuXHJcbiNwYXltZW50LWZyYW1lIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgYm9yZGVyOiAwO1xyXG59XHJcblxyXG4vLyAtLS0tLSBTdGF0ZW1lbnQgUGFnZSAtLS0tLSBcclxuLnN0YXRlbWVudC1saXN0LWNvbnRhaW5lciwgLnN0YXRlbWVudC1wYXktY29udGFpbmVyLCAuYWNjb3VudC1wYXktY29udGFpbmVyIHtcclxuICAgICYuaW4tYWN0aXZlIHtcclxuICAgICAgICBtYXgtaGVpZ2h0OiAwO1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgdHJhbnNpdGlvbjogaGVpZ2h0ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICB9XHJcbn1cclxuLnN0YXRlbWVudC1iYWxhbmNlLWNvbnRhaW5lciB7XHJcbiAgICBtYXJnaW46IDAgMCAyMHB4O1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIG1hcmdpbjogMCAyJSAyMHB4IDA7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICB9XHJcbiAgICBwIHtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRzdGF0ZW1lbnQtYmFsYW5jZS1mb250LXNpemUpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkc3RhdGVtZW50LWJhbGFuY2UtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgY29sb3I6ICRzdGF0ZW1lbnQtYmFsYW5jZS1jb2xvdXI7XHJcbiAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNjBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuLnN0YXRlbWVudC1wYXktY29udGFpbmVyLCAuYWNjb3VudC1wYXktY29udGFpbmVyIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBtYXJnaW46IDMwcHggMCAwO1xyXG4gICAgfVxyXG59XHJcbi5zdW1tYXJ5LWNvbnRhaW5lci5zdGF0ZW1lbnQsIC5zdW1tYXJ5LWNvbnRhaW5lci5hY2NvdW50LXBheW1lbnQtc3VtbWFyeSB7XHJcbiAgICAuc3VtbWFyeS1oZWFkaW5nIHtcclxuICAgICAgICBtYXJnaW46IDAgMCA0MHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4udHJhbnNhY3Rpb24tdHlwZSB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgfVxyXG4gICAgLy8gLmRpcmVjdC1kZWJpdC1pY29uIHtcclxuICAgIC8vICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAvLyAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIC8vICAgICAgICAgcmlnaHQ6IDYlO1xyXG4gICAgLy8gICAgIH1cclxuICAgIC8vIH1cclxufVxyXG5cclxuLy8gUHJpbWFyeSB1c2VkIG9uIHRoZSBzdGF0ZW1lbnQgcGFnZS5cclxuLmRpcmVjdC1kZWJpdC1pY29uIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGRpcmVjdC1kZWJpdCk7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcclxuICAgICAgICBmb250LWZhbWlseTogJGV4cHJlc3MtZGVmYXVsdC1pY29ucztcclxuICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvdXIyO1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0tLSBTZXJ2aWNlIENvbnRyYWN0cyAtLS0tLSBcclxudGFibGUuc2VydmljZS1jb250cmFjdHMge1xyXG4gICAgdGFibGUtbGF5b3V0OiBmaXhlZDtcclxuICAgIC5icmFuY2gtY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA2LjIlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5uZXh0LWR1ZS1kYXRlLWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogOCU7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMTJweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuZG9jdW1lbnQtcmVmZXJlbmNlLWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogOSU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnlvdXItcmVmZXJlbmNlLWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5za3UtcmVmZXJlbmNlLWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogMTIlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5jb250cmFjdC12YWx1ZS1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDglO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5jb250cmFjdC10eXBlLWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogMTIlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHRkLmNvbnRyYWN0LXR5cGUtY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMTBweDtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuY29udHJhY3QtZ3JvdXAtY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA5LjglO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5mcmVxdWVuY3ktY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA4LjUlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5wYXltZW50LW1ldGhvZC1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDklO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC50ZXJtaW5hdGlvbi1kYXRlLWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogOCU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmJhbGFuY2UtY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA3JTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAucmVuZXdhbC1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDUuNSU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnR1YnMtcmVuZXctYnV0dG9uIHtcclxuICAgICAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAkcHJpbWFyeS1idXR0b24tcGFkZGluZztcclxuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgbWFwLWdldCgkcHJpbWFyeS1idXR0b24tYm9yZGVyLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgICAgIEBpZiAoJGNvbW1vbi1idXR0b24tdGV4dC10cmFuc2Zvcm0pIHtcclxuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiAkY29tbW9uLWJ1dHRvbi10ZXh0LXRyYW5zZm9ybTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0gT3JkZXIgc3RhdHVzIHRhYmxlIC0tLSBcclxudGFibGUub3JkZXItc3RhdHVzLXRhYmxlLCB0YWJsZS5vcmRlci1pbnZvaWNlLWVucXVpcnktdGFibGUge1xyXG4gICAgLml0ZW0tY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA1JTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAucmVmZXJlbmNlLWNvbCB7XHJcbiAgICAgICAgLy8gUHV0dGluZyB0aGlzIGluIHRvIGhhbmRsZSBsb25nIHJlZmVyZW5jZXMgaW4gdGhlIGFjY291bnQgYXJlYS5cclxuICAgICAgICBvdmVyZmxvdy13cmFwOiBhbnl3aGVyZTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxNCU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmRlc2NyaXB0aW9uLWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogMjMlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHRoLmRlc2NyaXB0aW9uLWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmludm9pY2VzLWNvbCwgLmRlbGl2ZXJpZXMtY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMiVcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICB1bCB7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0gRGVsaWJlcnkgRW5xdWlyeSBUYWJsZSAtLS0gXHJcbnRhYmxlLmRlbGl2ZXJ5LWVucXVpcnktdGFibGUge1xyXG4gICAgLml0ZW0tY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA2Ljk1JTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAucmVmZXJlbmNlLWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogMTMlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5xdWFudGl0eS1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDE1JTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICB0aC5kZXNjcmlwdGlvbi1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgLy8gT3ZlcnJpZGUgZXhwcmVzcyBkZWZhdWx0IHN0eWxpbmcgYXMgaXQgXCIgYXNzdW1lcyBcIiB0aGF0IHRoZSBkZXNjcmlwdGlvbiBpcyBhbHdheXMgdGhlIGZpcnN0IGNvbHVtbiwgdGhpcyBjYW4gYmUgcmVtb3ZlZCBvbmNlICM4MTU0NjggaXMgZG9uZS5cclxuICAgICAgICAgICAgLy8gdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5kZXNjcmlwdGlvbi1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDI3JTtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAub3VyLXJlZmVyZW5jZS1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDE1JTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAueW91ci1yZWZlcmVuY2UtY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxNSU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0gQ29udHJhY3RzIHRhYmxlIC0tLSBcclxudGFibGUuY29udHJhY3RzLXRhYmxlIHtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiA0MHB4O1xyXG4gICAgfVxyXG4gICAgLmRlc2NyaXB0aW9uLWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogMzMlO1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGQuZGVzY3JpcHRpb24tY29sIHtcclxuICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3VyMy02O1xyXG4gICAgfVxyXG5cclxufVxyXG5cclxuLy8gLS0tIFRyYW5zYWN0aW9ucyB0YWJsZSAtLS0gXHJcbnRhYmxlLnRyYW5zYWN0aW9ucy10YWJsZSB7XHJcbiAgICAudHlwZS1jb2wsIC5kb2N1bWVudC1yZWZlcmVuY2UtY29sLCAudmFsdWUtY29sLCAuc3RhdHVzLWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmRhdGUtY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLS0tIEJhY2sgdG8gbXkgYWNjb3VudCBidXR0b24gLS0tLS1cclxuLmFjY291bnQtcmV0dXJuLWJ1dHRvbiB7XHJcbiAgICBAaW5jbHVkZSBjb21tb24tYnV0dG9uLTEoJHNlY29uZGFyeS1idXR0b24tcGFkZGluZywgJHNlY29uZGFyeS1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsICRzZWNvbmRhcnktYnV0dG9uLWNvbG91ciwgJHNlY29uZGFyeS1idXR0b24tYm9yZGVyLWNvbG91ciwgZ2V0LWJ1dHRvbi1mb250LXNpemUoKSwgZ2V0LWJ1dHRvbi1mb250LXdlaWdodHMoKSwgKG1vYmlsZS13aWR0aDogMTAwJSwgd2lkdGg6IGZpdC1jb250ZW50KSwgMCk7XHJcbn1cclxuXHJcbi8vIC0tLS0tIFBheW1lbnQgUmVxdWVzdHMgLS0tLS0gXHJcbnRhYmxlLnBheW1lbnQtcmVxdWVzdHMtdGFibGUge1xyXG4gICAgLnBheS1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDYuMiU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmRhdGUtY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAyMCU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnRpbWUtY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA4LjUlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5yZWZlcmVuY2UtY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxOC4xJTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuYW1vdW50LWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAuOCU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmNvbnRhY3QtY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAyNSU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0tLSBTaXRlIExpc3QgLS0tLS0gXHJcblxyXG4vLyAtLS0gQ29tbW9uIC0tLVxyXG4uc2l0ZS1saXN0LWNvbnRhaW5lciB7XHJcbiAgICBtYXJnaW46IDAgMCAyMHB4O1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIG1hcmdpbjogMCAwIDQwcHg7XHJcbiAgICB9XHJcbiAgICAvLyBEZWZhdWx0IGljb24gaWYgdGhpcyBpcyBub3QgYW4gZXhwcmVzcyBzaXRlLlxyXG4gICAgLmJlc3Bva2Utc2l0ZS1pY29uIHtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHNpdGUtbGlzdC1iZXNwb2tlLXNpdGUtaWNvbik7XHJcbiAgICAgICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRleHByZXNzLWRlZmF1bHQtaWNvbnM7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjZweDtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI2O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuc2l0ZS1sb2dvIHtcclxuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IC41O1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5pbWFnZSB7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgYXNwZWN0LXJhdGlvOiAxIC8gMTtcclxuICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuc2l0ZS1kZXNjcmlwdGlvbiB7XHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IGhvdmVyLWNvbG91cigkc2l0ZS1saXN0LWRlc2NyaXB0aW9uLWNvbG91cik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IGFjdGl2ZS1jb2xvdXIoJHNpdGUtbGlzdC1kZXNjcmlwdGlvbi1jb2xvdXIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbi5zaXRlLWxpc3QtcHVibGlzaC1zdGF0dXMge1xyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICB9XHJcbiAgICAmLnN1Y2Nlc3M6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBzdWNjZXNzKTtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkc3VjY2Vzcy1jb2xvdXIsIDApO1xyXG4gICAgfVxyXG4gICAgJi5mYWlsZWQ6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBhbGVydCk7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMCk7XHJcbiAgICB9XHJcbiAgICAmLnVua25vd246YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCB1bmtub3duKTtcclxuICAgICAgICBjb2xvcjogJGNvbG91cjMtNjtcclxuICAgIH1cclxuICAgICYuY2FuY2VsbGVkOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgY2FuY2VsbGVkKTtcclxuICAgICAgICBjb2xvcjogJGNvbG91cjMtNjtcclxuICAgIH1cclxuICAgICYuaW4tcHJvZ3Jlc3M6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBpbi1wcm9ncmVzcyk7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgIGFuaW1hdGlvbjogc3Bpbm5lciAxLjVzIGxpbmVhciBpbmZpbml0ZTsgXHJcbiAgICAgICAgQGtleWZyYW1lcyBzcGlubmVyIHtcclxuICAgICAgICAgICAgdG8geyB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuXHJcbi5kYXRhLXRpbWUtY29udGFpbmVyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgLnRpbWUge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICBtYXJnaW4tbGVmdDogc21hbGwtdmFsdWUoJHNpdGUtbGlzdC1zaXRlLW9wdGlvbi10aW1lLW1hcmdpbi1sZWZ0KTtcclxuICAgICAgICBmb250LXN0eWxlOiAkc2l0ZS1saXN0LXRpbWUtZm9udC1zdHlsZTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogbGFyZ2UtdmFsdWUoJHNpdGUtbGlzdC1zaXRlLW9wdGlvbi10aW1lLW1hcmdpbi1sZWZ0KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbnRhYmxlLnB1Ymxpc2gtaGlzdG9yeSB7XHJcbiAgICAuZGF0YS10aW1lLWNvbnRhaW5lciB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLSBJbnRlcm5hbCAtLS1cclxuXHJcbnRhYmxlLnNpdGUtbGlzdC10YWJsZSB7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyAgICAgICBcclxuICAgIH1cclxuICAgIHRib2R5IHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgIGdhcDogc21hbGwtdmFsdWUoJGdsb2JhbC14eS1ncmlkLW1hcmdpbi1ndXR0ZXJzKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGQge1xyXG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBPdmVycmlkZSByZXNwb25zaXZlIHRhYmxlIHJ1bGVzLi4uXHJcbiAgICAmLnJlc3BvbnNpdmUtdGFibGUge1xyXG4gICAgICAgIHRkIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkc2l0ZS1saXN0LXNpdGUtb3B0aW9uLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5zaXRlLWxvZ28tY29sIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5jb2wtbGFiZWwge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6ICRzaXRlLWxpc3Qtc2l0ZS1vcHRpb24tbGFiZWwtd2lkdGg7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJHNpdGUtbGlzdC1zaXRlLW9wdGlvbi1sYWJlbC13ZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHNpdGUtbGlzdC1zaXRlLW9wdGlvbi1sYWJlbC1jb2xvdXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBPdmVycmlkZSBwcmVzZXQtMSBzdHlsZXMuLi5cclxuICAgICYucHJlc2V0LTEge1xyXG4gICAgICAgIHRib2R5IHtcclxuICAgICAgICAgICAgdHIge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogJHNpdGUtbGlzdC1pdGVtLXBhZGRpbmc7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGVmYXVsdC1jb2xvdXIoJHNpdGUtbGlzdC1pdGVtLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGQge1xyXG4gICAgICAgIHAge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGguc2l0ZS1sb2dvLWNvbCB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuICAgIHRyIHtcclxuICAgICAgICAmLnN0YWdpbmctc2l0ZSB7XHJcbiAgICAgICAgICAgIC5zaXRlLWxvZ28tY29sIHtcclxuICAgICAgICAgICAgICAgIC5zaXRlLWxvZ28ge1xyXG4gICAgICAgICAgICAgICAgICAgIGZpbHRlcjogZ3JheXNjYWxlKDEpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnNpdGUtbG9nby1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6ICN7KGxhcmdlLXZhbHVlKCRzaXRlLWxpc3QtdGFibGUtbG9nby13aWR0aCkgKyAkc2l0ZS1saXN0LWxvZ28tYm9yZGVyLXdpZHRoKX07XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuc2l0ZS1sb2dvIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMjBweDtcclxuICAgICAgICAgICAgd2lkdGg6IHNtYWxsLXZhbHVlKCRzaXRlLWxpc3QtdGFibGUtbG9nby13aWR0aCk7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBtYXJnaW46IHNtYWxsLXZhbHVlKCRzaXRlLWxpc3QtdGFibGUtbG9nby1tYXJnaW4pO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBzbWFsbC12YWx1ZSgkc2l0ZS1saXN0LXRhYmxlLWxvZ28tcGFkZGluZyk7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzaXRlLWxpc3QtbG9nby1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgICAgICAgICAgYm9yZGVyOiAkc2l0ZS1saXN0LWxvZ28tYm9yZGVyO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogbGFyZ2UtdmFsdWUoJHNpdGUtbGlzdC10YWJsZS1sb2dvLXdpZHRoKTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogbGFyZ2UtdmFsdWUoJHNpdGUtbGlzdC10YWJsZS1sb2dvLW1hcmdpbik7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiBsYXJnZS12YWx1ZSgkc2l0ZS1saXN0LXRhYmxlLWxvZ28tcGFkZGluZyk7XHJcbiAgICAgICAgICAgICAgICBib3JkZXI6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmltYWdlLCBhIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnNpdGUtZGVzY3JpcHRpb24tY29sIHtcclxuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgIHAge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGhyIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIG1hcmdpbjogJHNpdGUtbGlzdC1pdGVtLWhlYWRlci1zZXBlcmF0b3ItcnVsZS1tYXJnaW47XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLnNpdGUtZGVzY3JpcHRpb24ge1xyXG4gICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBkZWZhdWx0LWNvbG91cigkc2l0ZS1saXN0LWRlc2NyaXB0aW9uLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRzaXRlLWxpc3QtZGVzY3JpcHRpb24tZm9udC1zaXplKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkc2l0ZS1saXN0LWRlc2NyaXB0aW9uLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5zaXRlLWVudmlyb25tZW50IHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkc2l0ZS1saXN0LWRlc2NyaXB0aW9uLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgIGZvbnQtc3R5bGU6ICRzaXRlLWxpc3QtZW52aXJvbm1lbnQtZm9udC1zdHlsZTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICB0aC5zaXRlLWRlc2NyaXB0aW9uLWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGQuc2l0ZS1kZXNjcmlwdGlvbi1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDI1MHB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGQuc2l0ZS1kZXNjcmlwdGlvbi1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5zaXRlLWRlc2NyaXB0aW9uLCAuc2l0ZS1lbnZpcm9ubWVudCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAubGljZW5zZS1jb2wsIC5wdWJsaXNoaW5nLWNvbCAge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDExMHB4XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnN0YXJ0ZWQtY29sLCAuZW5kZWQtY29sLCAubGFzdC10b3VjaC1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDE0NXB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5zaXRlLWJ1dHRvbnMtY29sIHtcclxuICAgICAgICAuc2l0ZS1idXR0b25zLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICAgICAgICAgIGdhcDogc21hbGwtdmFsdWUoJHNpdGUtbGlzdC10YWJsZS1idXR0b25zLWdhcCk7XHJcbiAgICAgICAgICAgIG1hcmdpbjogc21hbGwtdmFsdWUoJHNpdGUtbGlzdC1idXR0b24tbWFyZ2luKTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgICAgICAgICAgICAgICBnYXA6IGxhcmdlLXZhbHVlKCRzaXRlLWxpc3QtdGFibGUtYnV0dG9ucy1nYXApO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiBsYXJnZS12YWx1ZSgkc2l0ZS1saXN0LWJ1dHRvbi1tYXJnaW4pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGJ1dHRvbiwgYSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkc2l0ZS1saXN0LWJ1dHRvbnMtZm9udC1zaXplKTtcclxuICAgICAgICAgICAgcGFkZGluZzogJHNpdGUtbGlzdC1idXR0b25zLXBhZGRpbmc7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmRhdGEtdGltZS1jb250YWluZXIge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnRpbWUge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7IFxyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuYmVzcG9rZS1zaXRlLWljb246YmVmb3JlIHsgXHJcbiAgICAgICAgZm9udC1zaXplOiA0NHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0gRXh0ZXJuYWwgKCB3aGF0IHRoZSBjbGllbnQgc2VlcyApIC0tLSBcclxuLnNpdGUtbGlzdC1jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICBwYWRkaW5nOiAkc2l0ZS1saXN0LWl0ZW0tcGFkZGluZztcclxuICAgIGJhY2tncm91bmQtY29sb3I6IGRlZmF1bHQtY29sb3VyKCRzaXRlLWxpc3QtaXRlbS1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICBAaWYgKCRzbW9vdGgtZWRnZXMtZW5hYmxlZCkge1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgfVxyXG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbk91dHJvLCBib3gtc2hhZG93ICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBob3Zlci1jb2xvdXIoJHNpdGUtbGlzdC1pdGVtLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgICAgICBib3gtc2hhZG93OiAkYm94U2hhZG93MjtcclxuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uSW50cm8sIGJveC1zaGFkb3cgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICBAaWYgKCRjb2xsZWN0aW9uLWhvdmVyLWltYWdlLXNjYWxlICE9IDApIHtcclxuICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoJGNvbGxlY3Rpb24taG92ZXItaW1hZ2Utc2NhbGUpO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLnN0YWdpbmctc2l0ZSB7XHJcbiAgICAgICAgLnNpdGUtbG9nbyB7XHJcbiAgICAgICAgICAgIGZpbHRlcjogZ3JheXNjYWxlKDEpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5zaXRlLWxvZ28ge1xyXG4gICAgICAgIGhlaWdodDogMTIwcHg7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIG1hcmdpbjogJHNpdGUtbGlzdC1sb2dvLW1hcmdpbjtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2l0ZS1saXN0LWxvZ28tYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICAgICAgYm9yZGVyOiAkc2l0ZS1saXN0LWxvZ28tYm9yZGVyO1xyXG4gICAgICAgIC5pbWFnZSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6ICRzaXRlLWxpc3QtbG9nby1wYWRkaW5nO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuaW1hZ2UsIGltZyB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICBAaWYgKCRjb2xsZWN0aW9uLWhvdmVyLWltYWdlLXNjYWxlICE9IDApIHtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnNpdGUtZGVzY3JpcHRpb24ge1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBjb2xvcjogZGVmYXVsdC1jb2xvdXIoJHNpdGUtbGlzdC1kZXNjcmlwdGlvbi1jb2xvdXIpO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRzaXRlLWxpc3QtZGVzY3JpcHRpb24tZm9udC1zaXplKTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRzaXRlLWxpc3QtZGVzY3JpcHRpb24tZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gLnNpdGUtZW52aXJvbm1lbnQge1xyXG4gICAgICAgIC8vIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAvLyBmb250LXNpemU6IHJlbS1jYWxjKCRzaXRlLWxpc3QtZGVzY3JpcHRpb24tZm9udC1zaXplKTtcclxuICAgICAgICAvLyBmb250LXN0eWxlOiAkc2l0ZS1saXN0LWVudmlyb25tZW50LWZvbnQtc3R5bGU7XHJcbiAgICAgICAgLy8gcCB7XHJcbiAgICAgICAgLy8gICAgIG1hcmdpbjogMDtcclxuICAgICAgICAvLyB9XHJcbiAgICAvLyB9XHJcbiAgICBociB7XHJcbiAgICAgICAgbWFyZ2luOiAkc2l0ZS1saXN0LWl0ZW0taGVhZGVyLXNlcGVyYXRvci1ydWxlLW1hcmdpbjtcclxuICAgIH1cclxuICAgIC5zaXRlLW9wdGlvbiB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBwYWRkaW5nOiA1cHggMDtcclxuICAgICAgICAvLyBBc3N1bWUgdGhlIGZpcnN0IHNwYW4gd2lsbCBhbHdheXMgYmUgYSBsYWJlbC5cclxuICAgICAgICAmID4gc3BhbiB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAkc2l0ZS1saXN0LXNpdGUtb3B0aW9uLWxhYmVsLXdpZHRoO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHNpdGUtbGlzdC1zaXRlLW9wdGlvbi1mb250LXNpemUpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogJHNpdGUtbGlzdC1zaXRlLW9wdGlvbi1sYWJlbC13ZWlnaHQ7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkc2l0ZS1saXN0LXNpdGUtb3B0aW9uLWxhYmVsLWNvbG91cjtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gVmFsdWUgXHJcbiAgICAgICAgcCB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkc2l0ZS1saXN0LXNpdGUtb3B0aW9uLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYgKyAuc2l0ZS1idXR0b25zLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDMwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5kYXRhLXRpbWUtY29udGFpbmVyIHsgXHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkc2l0ZS1saXN0LXNpdGUtb3B0aW9uLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgLnRpbWUge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5zaXRlLWJ1dHRvbnMtY29udGFpbmVyIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgZ2FwOiBzbWFsbC12YWx1ZSgkc2l0ZS1saXN0LWJ1dHRvbnMtZ2FwKTtcclxuICAgICAgICBtYXJnaW46IHNtYWxsLXZhbHVlKCRzaXRlLWxpc3QtYnV0dG9uLW1hcmdpbik7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICAgICAgICAgIGdhcDogbGFyZ2UtdmFsdWUoJHNpdGUtbGlzdC1idXR0b25zLWdhcCk7XHJcbiAgICAgICAgICAgIG1hcmdpbjogbGFyZ2UtdmFsdWUoJHNpdGUtbGlzdC1idXR0b24tbWFyZ2luKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgYnV0dG9uLCBhIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRzaXRlLWxpc3QtYnV0dG9ucy1mb250LXNpemUpO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAkc2l0ZS1saXN0LWJ1dHRvbnMtcGFkZGluZztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuYmVzcG9rZS1zaXRlLWljb246YmVmb3JlIHsgXHJcbiAgICAgICAgZm9udC1zaXplOiA3NHB4O1xyXG4gICAgfVxyXG59IiwiLypcclxuLS0tLS0gQ01TIFN0eWxpbmcgLS0tLS0tIFxyXG4tIFN0eWxlIGZvciB0aGUgYWN0dWFsIGNtcyBwYWdlcyB0aGVtc2VsdmVzOlxyXG4gIC0gQ01TIEVudHJ5XHJcbiAgLSBCbG9nXHJcbiAgLSBOZXdzXHJcbiAgLSBFdmVudHNcclxuICAtIENNUyBTZXJpZXNcclxuLSBDTVMgZW50cnkgY29udHJvbHNcclxuLSBDTVMgbW9kdWxlXHJcbi0gQ01TIGNvbnRlbnQgY29udGFpbmVyLCB0aGlzIGdldCB1c2VkIHRocm91Z2hvdXQgZXhwcmVzcyBmb3IgdmFyaW91cyBwaWVjZXMgb2YgY29udGVudCB0aGF0IGlzIGRlZmluZWQgaW4gdGhlIHZtYWRtaW4ncyBjbXMgc3lzdGVtIHRoZXNlIGJsb2NrIG9mIGNvbnRlbnQgY2FuIGxpdGVyYWxseSBiZSBhbnl3aGVyZSAoIGhlYWRpbmdzIGZvciBwYWdlcywgaW4gdGhlIGZvb3RlciwgYWpheCByZXNwb25zZXMgKS5cclxuKi9cclxuXHJcbi5kaXNwbGF5LWNtcy1zZXJpZXMtaW50cm8sIC5zZXJpZXMtZXhwbGFuYXRvcnktdGV4dCB7XHJcbiAgICBtYXgtd2lkdGg6ICRkaXNwbGF5LWNtcy1zZXJpZXMtZXhwbGFuYXRvcnktdGV4dC1tYXgtd2lkdGg7XHJcbiAgICBtYXJnaW46ICN7JGRpc3BsYXktY21zLXNlcmllcy1leHBsYW5hdG9yeS1tYXJnaW4tdG9wLWJvdHRvbSAtIGxhcmdlLXZhbHVlKCRtb2R1bGVzLW1vZHVsZS1tYXJnaW4pfSAje2lmKCRkaXNwbGF5LWNtcy1zZXJpZXMtZXhwbGFuYXRvcnktdGV4dC1hbGlnbm1lbnQgPT0gY2VudGVyLCBhdXRvLCAwKX0gJGRpc3BsYXktY21zLXNlcmllcy1leHBsYW5hdG9yeS1tYXJnaW4tdG9wLWJvdHRvbTtcclxuICAgIEBpZiAoJGRpc3BsYXktY21zLXNlcmllcy1leHBsYW5hdG9yeS10ZXh0LWFsaWdubWVudCA9PSBjZW50ZXIpIHtcclxuICAgICAgICB0ZXh0LWFsaWduOiAkZGlzcGxheS1jbXMtc2VyaWVzLWV4cGxhbmF0b3J5LXRleHQtYWxpZ25tZW50O1xyXG4gICAgfVxyXG4gICAgJi5jbXMtY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgIHAge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGRpc3BsYXktY21zLXNlcmllcy1leHBsYWluYXRvcnktdGV4dC1mb250LXNpemUpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogJGRpc3BsYXktY21zLXNlcmllcy1leHBsYWluYXRvcnktdGV4dC1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgY29sb3I6ICRkaXNwbGF5LWNtcy1zZXJpZXMtZXhwbGFpbmF0b3J5LXRleHQtY29sb3VyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIEZhbGxiYWNrLlxyXG4gICAgcCB7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGRpc3BsYXktY21zLXNlcmllcy1leHBsYWluYXRvcnktdGV4dC1mb250LXNpemUpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZGlzcGxheS1jbXMtc2VyaWVzLWV4cGxhaW5hdG9yeS10ZXh0LWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgIGNvbG9yOiAkZGlzcGxheS1jbXMtc2VyaWVzLWV4cGxhaW5hdG9yeS10ZXh0LWNvbG91cjtcclxuICAgIH1cclxufVxyXG5cclxuLmRpc3BsYXktY21zLXNlcmllcyB7XHJcbiAgICBtYXJnaW46IDI1cHggMCAwO1xyXG4gICAgYSB7XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGgzLCAudmlkZW8tcGxheWVyLWluZGljYXRvci10ZXh0IHtcclxuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigje2hvdmVyLWNvbG91cigkYW5jaG9ycy1jb2xvdXIpfSwgJGNvbG91cjYpO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGgzIHtcclxuICAgICAgICBtYXJnaW46IDAgMCAxMHB4O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGRpc3BsYXktY21zLWVudHJpZXMtaGVhZGluZy1mb250LXNpemUpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZGlzcGxheS1jbXMtZW50cmllcy1oZWFkaW5nLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgIEBpZiAoJGRpc3BsYXktY21zLWVudHJpZXMtaGVhZGluZy1sZXR0ZXItc3BhY2luZykge1xyXG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogJGRpc3BsYXktY21zLWVudHJpZXMtaGVhZGluZy1sZXR0ZXItc3BhY2luZztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgfVxyXG4gICAgLmVudHJ5LWNvbnRlbnQge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGRpc3BsYXktY21zLWVudHJpZXMtY29udGVudC1mb250LXNpemUpO1xyXG4gICAgICAgIHAge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gQXNzaWduIGNvbG91ciBzY2hlbWVzXHJcbiAgICAmLm5ld3MgLmNlbGwge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJG5ld3MtYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgIEBpZiAobWFwLWdldCgkY21zLW1vZHVsZS1zaG93LWJvcmRlciwgbmV3cykpIHtcclxuICAgICAgICAgICAgYm9yZGVyOiBtYXAtZ2V0KCRjbXMtbW9kdWxlLXNob3ctYm9yZGVyLCBuZXdzKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJG5ld3MtYmFja2dyb3VuZC1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmJsb2cgLmNlbGwge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGJsb2ctYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgIEBpZiAobWFwLWdldCgkY21zLW1vZHVsZS1zaG93LWJvcmRlciwgYmxvZykpIHtcclxuICAgICAgICAgICAgYm9yZGVyOiBtYXAtZ2V0KCRjbXMtbW9kdWxlLXNob3ctYm9yZGVyLCBibG9nKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGJsb2ctYmFja2dyb3VuZC1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmV2ZW50cyAuY2VsbCB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZXZlbnRzLWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICBAaWYgKG1hcC1nZXQoJGNtcy1tb2R1bGUtc2hvdy1ib3JkZXIsIGV2ZW50cykpIHtcclxuICAgICAgICAgICAgYm9yZGVyOiBtYXAtZ2V0KCRjbXMtbW9kdWxlLXNob3ctYm9yZGVyLCBldmVudHMpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZXZlbnRzLWJhY2tncm91bmQtY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi52aWRlby1wbGF5bGlzdCAuY2VsbCA+IGEge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIzLTU7XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXdoaXRlLWNvbG91cik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmNlbGwge1xyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiAkYm94U2hhZG93MztcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi50YWJsZSB7XHJcbiAgICAgICAgLmNlbGwge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcclxuICAgICAgICB9XHJcbiAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyNzBweDtcclxuICAgICAgICAgICAgICAgIGZsZXg6IDE7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogbWFwLWdldCgkY21zLXRhYmxlLXJvdy1wYWRkaW5nLCB0b3AtYm90dG9tKTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogbWFwLWdldCgkY21zLXRhYmxlLXJvdy1wYWRkaW5nLCByaWdodC1sZWZ0KTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IG1hcC1nZXQoJGNtcy10YWJsZS1yb3ctcGFkZGluZywgcmlnaHQtbGVmdCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmNvbnRlbnQtYmFubmVyIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDQwMHB4O1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyNjBweDtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmltYWdlIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAzMTBweDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMjAwcHg7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiBtYXAtZ2V0KCRjbXMtdGFibGUtcm93LXBhZGRpbmcsIHRvcC1ib3R0b20pIDAgMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuZW50cnktY29udGVudCAge1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgMCAyMHB4O1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmVudHJ5LWNvbnRlbnQucmVhZC1tb3JlIHtcclxuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICAgJjpub3QoLmZhZGUtZGlzYWJsZWQtbG93LWNvbnRlbnQpIHtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMjAwcHg7XHJcbiAgICAgICAgICAgICAgICAvLyBAaW5jbHVkZSBzaW1wbGUtZmFkZSgkY21zLXJtLWZhZGUtb3BhY2l0eSk7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAzMCU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAzMCU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmdyaWQge1xyXG4gICAgICAgICYudmlkZW8tcGxheWxpc3Qge1xyXG4gICAgICAgICAgICAkY2VsbC1jb250ZW50LXNwYWNpbmc6IDEwcHg7XHJcbiAgICAgICAgICAgIC5jZWxsIGEge1xyXG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogNTIwcHg7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XHJcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMjBweDtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiA0NXB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9IFxyXG4gICAgICAgICAgICAuY29udGVudC1iYW5uZXIge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBoMyB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAkY2VsbC1jb250ZW50LXNwYWNpbmc7XHJcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5kdXJhdGlvbi1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgJGNlbGwtY29udGVudC1zcGFjaW5nO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5lbnRyeS1jb250ZW50LnJlYWQtbW9yZSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAgMzBweDtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHBhcmFncmFwaC1mb250LXNpemUpO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWJsYWNrLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMCA1MHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAudmlkZW8tcGxheWVyLWluZGljYXRvci10ZXh0IHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuYmxvZyAuY2VsbCB7XHJcbiAgICAgICAgICAgIGhlaWdodDogNTMwcHg7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICAgICAgICAgICAgcGFkZGluZzogMjVweDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogNTBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuY29udGVudC1iYW5uZXIge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzVweDtcclxuICAgICAgICAgICAgICAgIC5pbWFnZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxNzBweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuZW50cnktY29udGVudC5yZWFkLW1vcmUge1xyXG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLmV2ZW50cyAuY2VsbCB7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMjYwcHg7XHJcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMzVweCA0NXB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDIwMHB4O1xyXG4gICAgICAgICAgICAgICAgZmxleDogMTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuY29udGVudC1iYW5uZXIge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyMDBweDtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogNDBweDtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmVudHJ5LWNvbnRlbnQucmVhZC1tb3JlIHtcclxuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgICAgICAmOm5vdCguZmFkZS1kaXNhYmxlZC1sb3ctY29udGVudCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMjAwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gQGluY2x1ZGUgc2ltcGxlLWZhZGUoJGNtcy1ybS1mYWRlLW9wYWNpdHkpO1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA3NXB4O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDc1cHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmNlbGwge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAuY29udGVudC1iYW5uZXIge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAuaW1hZ2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAkcHJvZHVjdC1saXN0LWl0ZW0taW1hZ2UtYm9yZGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5wdWJsaXNoLWRhdGUge1xyXG4gICAgICAgIG1hcmdpbjogMCAwIDE3cHg7XHJcbiAgICB9XHJcbn1cclxuLnB1Ymxpc2gtZGF0ZSB7XHJcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwYXJhZ3JhcGgtZm9udC1zaXplIC0gMSk7XHJcbiAgICBjb2xvcjogJGNvbG91cjMtNjtcclxufVxyXG4ucmVhZC1tb3JlLWFuY2hvciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIG1hcmdpbjogMCAwIDIwcHg7XHJcbiAgICBjb2xvcjogZGVmYXVsdC1jb2xvdXIoJHJlYWQtbW9yZS1jb2xvdXIpO1xyXG4gICAgZm9udC1zaXplOiByZW0tY2FsYygkcmVhZC1tb3JlLWZvbnQtc2l6ZSk7XHJcbiAgICBmb250LXdlaWdodDogJHJlYWQtbW9yZS1mb250LXdlaWdodDtcclxuICAgIHRleHQtdHJhbnNmb3JtOiAkcmVhZC1tb3JlLXRleHQtdHJhbnNmb3JtO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIG1hcmdpbjogMTBweCAwIDA7XHJcbiAgICB9XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIHJlYWRNb3JlU3VmZml4KCk7XHJcbn1cclxuXHJcbi8vIC0tLS0tIENNUyBBcnRpY2xlcywgUG9zdHMgJiBHZW5lcmFsIEVudHJpZXMgLS0tLS0gXHJcbi5jbXMtZW50cnktY29udGFpbmVyIHtcclxuICAgIC8vIEFkZGVkIGZsZXhib3ggdG8gYWxsb3cgZm9yIG5ld3MgYXJ0aWNsZSBiYW5uZXIgdG8gc2l0IGFsb25nIHNpZGUgdGhlIGNtcyBlbnRyeSB0ZXh0LlxyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIHBhZGRpbmc6IDI1cHggMzBweCA0MHB4O1xyXG4gICAgQGlmICgkc21vb3RoLWVkZ2VzLWVuYWJsZWQpIHtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBwYWRkaW5nOiA1MHB4IDExMHB4IDcwcHhcclxuICAgIH1cclxuICAgICYubmV3cy1hcnRpY2xlIHtcclxuICAgICAgICBAaWYgbWFwLWdldCgkc2hvdy1jbXMtYmFja2dyb3VuZCwgbmV3cykge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRuZXdzLWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmIG5vdCBtYXAtZ2V0KCRjbXMtbW9kdWxlLXN1cHByZXNzLWxpc3QtYnV0dG9uLCBuZXdzKSB7XHJcbiAgICAgICAgICAgIC5jbXMtaGVhZGluZyB7XHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgbmV3cyk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmV2ZW50IHtcclxuICAgICAgICBAaWYgbWFwLWdldCgkc2hvdy1jbXMtYmFja2dyb3VuZCwgZXZlbnQpIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZXZlbnRzLWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmIG5vdCBtYXAtZ2V0KCRjbXMtbW9kdWxlLXN1cHByZXNzLWxpc3QtYnV0dG9uLCBldmVudCkge1xyXG4gICAgICAgICAgICAuY21zLWhlYWRpbmcge1xyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGV2ZW50cyk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmJsb2ctcG9zdCB7XHJcbiAgICAgICAgQGlmIG1hcC1nZXQoJHNob3ctY21zLWJhY2tncm91bmQsIGJsb2cpIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYmxvZy1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiBub3QgbWFwLWdldCgkY21zLW1vZHVsZS1zdXBwcmVzcy1saXN0LWJ1dHRvbiwgYmxvZykge1xyXG4gICAgICAgICAgICAuY21zLWhlYWRpbmcge1xyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGJsb2cpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5pbmZvcm1hdGlvbiB7XHJcbiAgICAgICAgQGlmIG1hcC1nZXQoJHNob3ctY21zLWJhY2tncm91bmQsIGluZm9ybWF0aW9uKSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbmZvcm1hdGlvbi1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gLnN0eWxlLTEgPSBTaW1wbGUgbGF5b3V0LlxyXG4gICAgICAgICYuc3R5bGUtMSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIwO1xyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgIH1cclxuICAgIC5jbXMtaGVhZGluZyB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVSZWd1bGFyO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDQ2KTtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMC44O1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAwLjM7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGgxICB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDQwcHg7XHJcbiAgICAgICAgICAgIC8vIE92ZXJyaWRpbmcgZGVmYXVsdCBydWxlcyAoIGltcGxlbWVudGVkIHNwZWNpZmljYWxseSBmb3Igd2lsZCB0aGluZ3MgKS5cclxuICAgICAgICAgICAgQGlmICgkY21zLXBhZ2UtaGVhZGluZy1mb250LXNpemUpIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGNtcy1wYWdlLWhlYWRpbmctZm9udC1zaXplKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaWYgKCRjbXMtcGFnZS1oZWFkaW5nLXRleHQtdHJhbnNmb3JtKSB7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJGNtcy1wYWdlLWhlYWRpbmctdGV4dC10cmFuc2Zvcm07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGlmICgkY21zLXBhZ2UtaGVhZGluZy1sZXR0aW5nLXNwYWNpbmcpIHtcclxuICAgICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAkY21zLXBhZ2UtaGVhZGluZy1sZXR0aW5nLXNwYWNpbmc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIC8vIEFkZGVkIDFweCBkdWUgSUUgbm90IGZsZXgtZ3JvdydpbmcgdGhlIGNvbnRhaW5lciBjb3JyZWN0bHkuXHJcbiAgICAgICAgZmxleDogMSAxcHg7XHJcbiAgICAgICAgQGluY2x1ZGUgY21zLWhlYWRpbmdzKCk7XHJcbiAgICAgICAgQGluY2x1ZGUgY21zLXBhcmFncmFwaCgpO1xyXG4gICAgICAgIC8vQGluY2x1ZGUgY21zLWFuY2hvcigpO1xyXG4gICAgICAgIEBpbmNsdWRlIGNtcy1saXN0cygpO1xyXG4gICAgICAgIEBpbmNsdWRlIGNtcy10YWJsZSgpO1xyXG4gICAgICAgIEBpbmNsdWRlIGNtcy1ibG9ja3F1b3RlKCk7XHJcbiAgICAgICAgQGluY2x1ZGUgY21zLWltYWdlLWdhbGxhcnkoKTtcclxuICAgICAgICBAaW5jbHVkZSBjbXMtZ29vZ2xlLW1hcHMtZW1iZWRkZWQoKTtcclxuICAgICAgICB0YWJsZSB7XHJcbiAgICAgICAgICAgIEBhdC1yb290IHtcclxuICAgICAgICAgICAgICAgIHRoLCB0ZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogJGNtcy10YWJsZS10ZXh0LWFsaWduO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGZvcm0ge1xyXG4gICAgICAgICAgICBmaWVsZHNldCB7XHJcbiAgICAgICAgICAgICAgICBoMiB7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gQ29sb3VyIHByb2Nlc3NpbmcuXHJcbiAgICAgICAgICAgICAgICAgICAgJGhlYWRpbmctY29sb3VyOiBjb250cmFzdC1jaGVja2VyKCRmaWVsZHNldC1oZWFkaW5nLWNvbG91ciwgJGZpZWxkc2V0LWhlYWRpbmctYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkaGVhZGluZy1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgQGlmICgkc21vb3RoLWVkZ2VzLWVuYWJsZWQpIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5iYWNrZ3JvdW5kLXNlY3Rpb24ge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxNXB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmNvbnRlbnQtYmFubmVyIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA1MCU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5pbWFnZSB7XHJcbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpLCAmOm5vdCg6bGFzdC1jaGlsZCkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDc4JTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnB1Ymxpc2gtZGF0ZSB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgbWFyZ2luOiAyMHB4IDAgMDtcclxuICAgIH1cclxuICAgIC50YWdnaW5nLWNvbnRhaW5lciB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgbWFyZ2luOiAyMHB4IDAgMDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogNDBweCAwIDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyBPbmx5IGFmZmVjdCBlbnRyeSBtb2R1bGVzIGFzIHRoaXMgd2FzIGdldHRpbmcgaW4gdGhlIHdheSBvZiAuY21zLWJ1dHRvbi1saW5rLi4uIHByb3BlcnRpZXMuXHJcbi5jbXMtZW50cnktY29udGFpbmVyLCAuY21zLWNvbnRlbnQtY29udGFpbmVyLCAuY21zLW1vZHVsLmVudHJ5LW1vZHVsZSB7XHJcbiAgICBAaW5jbHVkZSBjbXMtYW5jaG9yKCk7XHJcbn1cclxuXHJcblxyXG4uY21zLWVudHJ5LW5hdmlnYXRpb24ge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBtYXJnaW46IDQwcHggMCAzMHB4O1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgfVxyXG4gICAgLmJ1dHRvbnMtY29udGFpbmVyIHtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICB3aWR0aDogNTAlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmNtcy1lbnRyaWVzLWNvbnRyb2xzLCAuZW50cmllcy1pY29uLWNvbnRyb2xzIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBtYXJnaW4tdG9wOiAzMHB4O1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICB3aWR0aDogNTAlO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgIH1cclxuICAgIC5sYWJlbCB7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAzMHB4O1xyXG4gICAgICAgIGNvbG9yOiAkY21zLXBhZ2luYXRpb24tbGFiZWwtY29sb3VyO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHBhcmFncmFwaC1mb250LXNpemUgKyAyKTtcclxuICAgICAgICBmb250LXdlaWdodDogJGNtcy1wYWdpbmF0aW9uLWxhYmVsLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiAkY21zLXBhZ2luYXRpb24tbGFiZWwtdGV4dC10cmFuc2Zvcm07XHJcbiAgICB9XHJcbiAgICAvLyBUT0RPOiB0aGlzIGNvdWxkIGJlIHJlZmFjdG9ycyB0byB1c2UgY29tbW9uLWJ1dHRvbi0xIG1peGluIG5vdyB0aGF0IHdlIHN1cHBvcnQgaWNvbnMgaW4gYnV0dG9ucy5cclxuICAgIC5jb250cm9sLWJ1dHRvbiB7XHJcbiAgICAgICAgd2lkdGg6IDU1cHg7XHJcbiAgICAgICAgaGVpZ2h0OiA1NXB4O1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGVmYXVsdC1jb2xvdXIoJGNtcy1wYWdpbmF0aW9uLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAgICAgY29sb3I6IGRlZmF1bHQtY29sb3VyKCRjbXMtcGFnaW5hdGlvbi1idXR0b24tY29sb3VyKTtcclxuICAgICAgICBib3gtc2hhZG93OiAkYm94U2hhZG93MztcclxuICAgICAgICBAaWYgJHNtb290aC1lZGdlcy1lbmFibGVkIHtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMzBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGhvdmVyLWNvbG91cigkY21zLXBhZ2luYXRpb24tYnV0dG9uLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgICAgICAgICAgY29sb3I6IGhvdmVyLWNvbG91cigkY21zLXBhZ2luYXRpb24tYnV0dG9uLWNvbG91cik7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDA7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGFjdGl2ZS1jb2xvdXIoJGNtcy1wYWdpbmF0aW9uLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAgICAgICAgIGNvbG9yOiBhY3RpdmUtY29sb3VyKCRjbXMtcGFnaW5hdGlvbi1idXR0b24tY29sb3VyKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogY3VzdG9tLWljb24tZmFtaWx5KCRmb250QXdlc29tZVNvbGlkLCAkc2l0ZS1pY29ucy1jdXN0b20tY2hldnJvbnMpO1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICRjbXMtcGFnaW5hdGlvbi1idXR0b24taWNvbi1zaXplO1xyXG4gICAgICAgIH1cclxuXHJcblxyXG4gICAgfVxyXG4gICAgLnByZXZpb3VzLWNtcy1lbnRyeSB7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBjbXMtcGFnaW5hdGlvbi1wcmV2aW91cyk7XHJcbiAgICAgICAgICAgIEBpZiAoJGNtcy1wYWdpbmF0aW9uLWJ1dHRvbi1pY29uLXNoaW0gPiAwKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRjbXMtcGFnaW5hdGlvbi1idXR0b24taWNvbi1zaGltO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLm5leHQtY21zLWVudHJ5IHtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNtcy1wYWdpbmF0aW9uLW5leHQpO1xyXG4gICAgICAgICAgICBAaWYgKCRjbXMtcGFnaW5hdGlvbi1idXR0b24taWNvbi1zaGltID4gMCkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6ICRjbXMtcGFnaW5hdGlvbi1idXR0b24taWNvbi1zaGltO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uZW50cmllcy10ZXh0LWNvbnRyb2xzLWNvbnRhaW5lciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGdhcDogMTBweCAwO1xyXG4gICAgbWFyZ2luOiAxNXB4IDAgMjBweDtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgIGdhcDogMTBweCAzMHB4O1xyXG4gICAgICAgIG1hcmdpbjogMCAwIDIwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLmxhYmVsIHtcclxuICAgICAgICBjb2xvcjogJGNtcy1wYWdpbmF0aW9uLWxhYmVsLWNvbG91cjtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwYXJhZ3JhcGgtZm9udC1zaXplICsgMik7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRjbXMtcGFnaW5hdGlvbi1sYWJlbC1mb250LXdlaWdodDtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJGNtcy1wYWdpbmF0aW9uLWxhYmVsLXRleHQtdHJhbnNmb3JtO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICAuY29udHJvbC1idXR0b24ge1xyXG4gICAgICAgICRlbnRyaWVzLWNvbnRyb2xzLXByZXZpb3VzLWJ1dHRvbi1pY29uLWNvbmZpZzogKFxyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBjbXMtcGFnaW5hdGlvbi1wcmV2aW91cyksXHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBiZWZvcmUsXHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAxMHB4IDAgMCxcclxuICAgICAgICAgICAgY29sb3VyOiAkY21zLXBhZ2luYXRpb24tYnV0dG9uLWNvbG91cixcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6IGN1c3RvbS1pY29uLWZhbWlseSgkZm9udEF3ZXNvbWVTb2xpZCwgJHNpdGUtaWNvbnMtY3VzdG9tLWNoZXZyb25zKSxcclxuICAgICAgICAgICAgc2l6ZTogJGNtcy1wYWdpbmF0aW9uLWJ1dHRvbi1pY29uLXNpemVcclxuICAgICAgICApO1xyXG5cclxuICAgICAgICAkZW50cmllcy1jb250cm9scy1uZXh0LWJ1dHRvbi1pY29uLWNvbmZpZzogKFxyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBjbXMtcGFnaW5hdGlvbi1uZXh0KSxcclxuICAgICAgICAgICAgcG9zaXRpb246IGFmdGVyLFxyXG4gICAgICAgICAgICBtYXJnaW46IDAgMCAwIDEwcHgsXHJcbiAgICAgICAgICAgIGNvbG91cjogJGNtcy1wYWdpbmF0aW9uLWJ1dHRvbi1jb2xvdXIsXHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBjdXN0b20taWNvbi1mYW1pbHkoJGZvbnRBd2Vzb21lU29saWQsICRzaXRlLWljb25zLWN1c3RvbS1jaGV2cm9ucyksXHJcbiAgICAgICAgICAgIHNpemU6ICRjbXMtcGFnaW5hdGlvbi1idXR0b24taWNvbi1zaXplXHJcbiAgICAgICAgKTtcclxuICAgICAgIFxyXG5cclxuICAgICAgICAmLnByZXZpb3VzLWVudHJ5IHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgY29tbW9uLWJ1dHRvbi0xKCRjbXMtcGFnaW5hdGlvbi1idXR0b24tcGFkZGluZywgJGNtcy1wYWdpbmF0aW9uLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgJGNtcy1wYWdpbmF0aW9uLWJ1dHRvbi1jb2xvdXIsICRzZWNvbmRhcnktYnV0dG9uLWJvcmRlci1jb2xvdXIsIGdldC1idXR0b24tZm9udC1zaXplKCkgLCBnZXQtYnV0dG9uLWZvbnQtd2VpZ2h0cygpLCAod2lkdGg6IGZpdC1jb250ZW50LCBtb2JpbGUtd2lkdGg6IDEwMCUpLCAoc21hbGw6IDAsIGxhcmdlOiAwKSwgZmxleCwgJGVudHJpZXMtY29udHJvbHMtcHJldmlvdXMtYnV0dG9uLWljb24tY29uZmlnKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICAgICAgJi5uZXh0LWVudHJ5IHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgY29tbW9uLWJ1dHRvbi0xKCRjbXMtcGFnaW5hdGlvbi1idXR0b24tcGFkZGluZywgJGNtcy1wYWdpbmF0aW9uLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgJGNtcy1wYWdpbmF0aW9uLWJ1dHRvbi1jb2xvdXIsICRzZWNvbmRhcnktYnV0dG9uLWJvcmRlci1jb2xvdXIsIGdldC1idXR0b24tZm9udC1zaXplKCkgLCBnZXQtYnV0dG9uLWZvbnQtd2VpZ2h0cygpLCAod2lkdGg6IGZpdC1jb250ZW50LCBtb2JpbGUtd2lkdGg6IDEwMCUpLCAoc21hbGw6IDAsIGxhcmdlOiAwKSwgZmxleCwgJGVudHJpZXMtY29udHJvbHMtbmV4dC1idXR0b24taWNvbi1jb25maWcpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmNtcy1lbnRyeS1iYWNrLWJ1dHRvbiB7XHJcbiAgICBAaW5jbHVkZSBjb21tb24tYnV0dG9uLTEoJHNlY29uZGFyeS1idXR0b24tcGFkZGluZywgJHNlY29uZGFyeS1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsICRzZWNvbmRhcnktYnV0dG9uLWNvbG91ciwgJHNlY29uZGFyeS1idXR0b24tYm9yZGVyLWNvbG91ciwgZ2V0LWJ1dHRvbi1mb250LXNpemUoKSAsIGdldC1idXR0b24tZm9udC13ZWlnaHRzKCksICh3aWR0aDogMjMwcHgpKTtcclxufVxyXG5cclxuLy8gLS0tLS0gSW5mb3JtYXRpb24gUGFnZXMgLS0tLS0gXHJcbi5zaXRlLW1hcCB7XHJcbiAgICBtYXJnaW46IDAgMCAyNXB4O1xyXG4gICAgPiB1bCB7IFxyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgID4gbGkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAyMHB4IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJjpub3QoLnN1cHByZXNzLWJvcmRlcikge1xyXG4gICAgICAgID4gdWwgeyBcclxuICAgICAgICAgICAgPiBsaSB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6IDAgMCAxcHggMDtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRzaXRlLW1hcC1ydWxlLXBhcmVudC1zZXBlcmF0b3I7IFxyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uT3V0cm8sIGJveC1zaGFkb3cgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgICAgIC8vIElmIG9ubHkgaXRlbSB0aGVuIHN1cHByZXNzIG1lY2hhbmlzbSBhbGwgdG9nZXRoZXIuXHJcbiAgICAgICAgICAgICAgICAmOm9ubHktY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC8vIERvIG5vdCBzaG93IHNlcGVyYXRvciBvbiB0aGUgbGFzdCBpdGVtLlxyXG4gICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvdXIwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogJGJveFNoYWRvdzM7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgICAgIGE6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgdWwge1xyXG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgIC5wYXJlbnQge1xyXG4gICAgICAgICAgICA+IGEsID4gc3BhbiB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRzaXRlLW1hcC1wYXJlbnQtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogZGVmYXVsdC1jb2xvdXIoJHNpdGUtbWFwLXBhcmVudC1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHNpdGUtbWFwLXBhcmVudC1pY29uKTtcclxuICAgICAgICAgICAgICAgICAgICAvL0BpbmNsdWRlIGNoZXZyb24xKCRjb2xvdXIzLTIsICRwb2ludFJpZ2h0LCAxNXB4KTtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIDM1cHggMCAyNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBjdXN0b20taWNvbi1mYW1pbHkoJGZvbnRBd2Vzb21lU29saWQsICRzaXRlLWljb25zLWN1c3RvbS1jaGV2cm9ucyk7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRzaXRlLW1hcC1ydWxlLXBhcmVudC1zZXBlcmF0b3I7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgID4gdWwge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDMwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmNoaWxkIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDdweCAwO1xyXG4gICAgICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYm9keS1mb250LWNvbG91cjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnBhcmVudCBhLCB1bCAuY2hpbGQgPiBhIHtcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgY29sb3I6IGhvdmVyLWNvbG91cigkc2l0ZS1tYXAtcGFyZW50LWNvbG91cik7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgY29sb3I6IGFjdGl2ZS1jb2xvdXIoJHNpdGUtbWFwLXBhcmVudC1jb2xvdXIpO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmNtcy1tb2R1bGUgeyBcclxuICAgIC5yZWFkLW1vcmUtYnV0dG9uIHtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIG1hcmdpbjogJGNtcy1ybS1tYXJnaW47XHJcbiAgICAgICAgcGFkZGluZzogJGNtcy1ybS1wYWRkaW5nO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHJlYWQtbW9yZS1mb250LXNpemUpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkcmVhZC1tb3JlLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgIGZvbnQtc3R5bGU6ICRyZWFkLW1vcmUtZm9udC1zdHlsZTtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkY21zLXJtLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBtYXAtZ2V0KCRjbS1ybS10ZXh0LWRlY29yYXRpb24sIGRlZmF1bHQpO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGNtcy1ybS1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgbWFwLWdldCgkY21zLXJtLWJvcmRlci1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiAkcmVhZC1tb3JlLXRleHQtdHJhbnNmb3JtO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yLCBib3JkZXIsIGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNtcy1ybS1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBtYXAtZ2V0KCRjbS1ybS10ZXh0LWRlY29yYXRpb24sIGhvdmVyKTtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRjbXMtcm0tYm9yZGVyLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjbXMtcm0tYmFja2dyb3VuZC1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IsIGJvcmRlci1jb2xvciwgYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjbXMtcm0tY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjbXMtcm0tYmFja2dyb3VuZC1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIHJlYWRNb3JlU3VmZml4KCk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5iYWNrLXRvLWluZm9ybWF0aW9uIHtcclxuICAgIEBpbmNsdWRlIGNvbW1vbi1idXR0b24tMSgkc2Vjb25kYXJ5LWJ1dHRvbi1wYWRkaW5nLCAkc2Vjb25kYXJ5LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgJHNlY29uZGFyeS1idXR0b24tY29sb3VyLCAkc2Vjb25kYXJ5LWJ1dHRvbi1ib3JkZXItY29sb3VyLCBnZXQtYnV0dG9uLWZvbnQtc2l6ZSgpICwgZ2V0LWJ1dHRvbi1mb250LXdlaWdodHMoKSwgKHdpZHRoOiAyMzBweCkpO1xyXG59XHJcblxyXG4vLyAtLS0tIENNUyBDb250ZW50IENvbnRhaW5lcnMgLS0tLS1cclxuLy8gREVQUkVDQVRFRCwgeW91IHNob3VsZCB1c2UgLmNtcy1jb250ZW50LWNvbnRhaW5lciBpbnN0ZWFkLCB0aGlzIHByaW1hcnkgZ2V0cyB1c2VkIGluIHRoZSBhY2NvdW50IGFyZWEgYW5kIHNob3VsZCBiZSByZXRyby1maXR0ZWQuXHJcbi5jbXMtY29udGFpbmVyIHtcclxuICAgIG1hcmdpbjogMTJweCAwIDQxcHg7XHJcbiAgICBwIHtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwYXJhZ3JhcGgtZm9udC1zaXplKTtcclxuICAgIH1cclxufVxyXG5cclxuLy8gSWYgdGhlIGNtcy1jb250ZW50LWNvbnRhaW5lciBpcyB3aXRoaW4gYSBkaXYgdGhhdCBoYXMgYmFja2dyb3VuZCBjb2xvdXIgc2V0LlxyXG5kaXZbc3R5bGUqPVwiYmFja2dyb3VuZC1jb2xvclwiXSB7XHJcbiAgICAuY21zLWNvbnRlbnQtY29udGFpbmVyIHsgXHJcbiAgICAgICAgcGFkZGluZzogc21hbGwtdmFsdWUoJGNtcy1jb250ZW50LWNvbnRhaW5lci1wYWRkaW5nKTsgXHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBsYXJnZS12YWx1ZSgkY21zLWNvbnRlbnQtY29udGFpbmVyLXBhZGRpbmcpOyAgXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyBUaGlzIGlzIHRoZSBjbGFzcyB0aGF0IHNob3VsZCBiZSB1c2VkIHdoZW4gZGVmaW5pbmcgYSBjbXMgY29udGVudCBhcmVhLlxyXG4uY21zLWNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgIEBpbmNsdWRlIGNtcy1oZWFkaW5ncygpO1xyXG4gICAgQGluY2x1ZGUgY21zLXBhcmFncmFwaCgpOyBcclxuICAgIC8vQGluY2x1ZGUgY21zLWFuY2hvcigpO1xyXG4gICAgQGluY2x1ZGUgY21zLWJsb2NrcXVvdGUoKTtcclxuICAgIEBpbmNsdWRlIGNtcy10YWJsZSgpO1xyXG4gICAgQGluY2x1ZGUgY21zLWxpc3RzKCk7ICAgXHJcbiAgICAvLyBUaGlzIHdhcyBpbnRlcmZlcmluZyB3aXRoIGhvdyBmb3JtIGNtcy1jb250ZW50LWNvbnRhaW5lcnMgd2VyZSBiZSBhcnJhbmdlZCBmb3Igd2ludGVyc3Rva2UuXHJcbiAgICAvLyAmOm5vdCgubGVmdC1hbGlnbikge1xyXG4gICAgLy8gICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIC8vIH1cclxuICAgICYuc3VjY2VzcyB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNzBweDtcclxuICAgICAgICBoMiB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyMy02O1xyXG4gICAgICAgIH1cclxuICAgICAgICAuYW1vdW50LXBhaWQge1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgICAgICAvLyBLZWVwIGNvbnNpc3RlbnQgd2l0aCB0aGUgaWNvbiBhYm92ZS5cclxuICAgICAgICAgICAgY29sb3I6ICRzYS1zdWNjZXNzLWNvbG91cjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmFsZXJ0IHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAzNXB4O1xyXG4gICAgICAgIGgyIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIDAgNXB4O1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG91cjMtNjtcclxuICAgICAgICB9XHJcbiAgICAgICAgcCB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyMy02O1xyXG4gICAgICAgIH1cclxuICAgICAgICAuYW1vdW50LXBhaWQge1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgICAgICAvLyBLZWVwIGNvbnNpc3RlbnQgd2l0aCB0aGUgaWNvbiBhYm92ZS5cclxuICAgICAgICAgICAgY29sb3I6ICRzYS1hbGVydC1jb2xvdXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5jZW50ZXItY29udGVudCB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAvLyBBZGp1c3RpbmcgYWxpbmdtZW50IGZvciBxYyBmb3IgODE5NjA2IHJlZ2FyZGluZyB0ZXh0ZGIgYWxpZ25tZW50IGZvciBlbnF1aXJ5IGZvcm0gb24gc2VhcmNoIHBhZ2UuXHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgfVxyXG4gICAgJi5lcnJvciB7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMCk7XHJcbiAgICAgICAgaDIsIGgzLCBoNCwgaDUge1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmd1dHRlci15IHtcclxuICAgICAgICBtYXJnaW46IDEycHggMCA0MXB4OyBcclxuICAgIH1cclxuICAgICYucGFnZS1oZWFkaW5nLWNvbnRlbnQge1xyXG4gICAgICAgIHBhZGRpbmc6IDAgMCAxNXB4O1xyXG4gICAgfVxyXG4gICAgJi5uby1zaWRlLXBhZGRpbmcge1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgfVxyXG4gICAgJi5vdXRsaW5lIHtcclxuICAgICAgICBwYWRkaW5nOiAxNXB4IDEwcHg7XHJcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgJGNvbG91cjM7XHJcbiAgICAgICAgQGlmIHNtb290aC1lZGdlcygpIHtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMzBweCAyMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3VyMy0zO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBwIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuICAgIC8vIE1vdmluZyBiYXNlIHN0eWxlcyBvdXQgb2YgY21zLW1peGluIGR1ZSB0byBjb25mbGljdGluZyBydWxlcyB3aXRoICotYnV0dG9uIGNsYXNzZXMuXHJcbiAgICBAYXQtcm9vdCB7XHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGNtcy1hbmNob3Itc2l6ZSk7XHJcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMCwgZGVmYXVsdC1jb2xvdXIoJGNtcy1hbmNob3ItY29sb3VyKSk7XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IGhvdmVyLWNvbG91cigkY21zLWFuY2hvci1jb2xvdXIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBhY3RpdmUtY29sb3VyKCRjbXMtYW5jaG9yLWNvbG91cik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBhIHtcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZbY2xhc3MqPVwiLWJ1dHRvblwiXSB7XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gYXQtcm9vdCB3YXMgb3ZlcnJpZGluZyBmb290ZXIgcGFyYWdyYXBoIHN0eWxlcy5cclxuICAgIC8vIEBhdC1yb290IHsgIFxyXG4gICAgICAgIHA6Zmlyc3Qtb2YtdHlwZSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICBwOmxhc3Qtb2YtdHlwZSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xyXG4gICAgICAgIH1cclxuICAgIC8vIH1cclxuICAgICYgKyB0YWJsZSB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcclxuICAgIH1cclxuICAgIC8vIFNwZWNpZmljYWxseSBmb3IgdGhlIGxvZ2luIHBhZ2UuXHJcbiAgICAmICsgLnBhZ2UtYnV0dG9ucy1jb250YWluZXIge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgICB9XHJcbn0iLCIvLyAtLS0tLSBUSEUgTUFKT1JJVFkgT0YgVEhJUyBDT0RFIFNIT1VMRCBCRSBSRS1XUklURU4gV0hFTiBXRSBSRS1CVUlMRCBUSEUgQ0hFQ0tPVVQgQVMgSVRTIEZST00gVEVNUExBVEUgMSAtLS0tLSBcclxuXHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogUG9wdXBzICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbiNwb3B1cE92ZXJsYXkge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGNvbG91cjMtNiwgMC41KTtcclxuXHRkaXNwbGF5OiBub25lO1xyXG5cdGhlaWdodDogMTAwJTtcclxuXHRsZWZ0OiAwO1xyXG5cdG92ZXJmbG93OiBhdXRvO1xyXG5cdHBvc2l0aW9uOiBmaXhlZDtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0dG9wOiAwO1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdHotaW5kZXg6IDUwMDAwO1xyXG5cdCY6YWZ0ZXIge1xyXG5cdFx0Y29udGVudDogXCIgXCI7XHJcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHRoZWlnaHQ6IDEwMCU7XHJcblx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG5cdFx0d2lkdGg6IDA7XHJcblx0fVxyXG59XHJcbiNwb3B1cENvbnRhaW5lciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMTtcclxuXHRib3JkZXItcmFkaXVzOiAwLjNlbTtcclxuXHRib3gtc2hhZG93OiAkYm94U2hhZG93MztcclxuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0bWFyZ2luOiAwIDIlO1xyXG5cdG1heC13aWR0aDogODAwcHg7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0dGV4dC1hbGlnbjogbGVmdDtcclxuXHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIHdpZHRoOiAobWFwLWdldCgkZmllbGQtd2lkdGgsIGRlc2t0b3ApICsgMjAwKTtcclxuICAgIH1cclxuXHQmLnN0YW5kYXJkIHtcclxuXHRcdG1heC1oZWlnaHQ6IDkwJTtcclxuXHRcdCNwb3B1cENvbnRlbnQge1xyXG5cdFx0XHRwYWRkaW5nOiAyMHB4O1xyXG5cdFx0XHQuY29udGVudENvbnRhaW5lciB7XHJcblx0XHRcdFx0bWF4LWhlaWdodDogNTB2aDtcclxuXHRcdFx0XHRvdmVyZmxvdy15OiBhdXRvO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cdCYuc2Nyb2xsIHtcclxuXHRcdCNwb3B1cENvbnRlbnQge1xyXG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiA5MHZoO1xyXG5cdFx0XHRwYWRkaW5nOiAyMHB4O1xyXG4gICAgICAgICAgICBvdmVyZmxvdy15OiBzY3JvbGw7XHJcblx0XHRcdC5jb250ZW50Q29udGFpbmVyIHtcclxuXHRcdFx0XHRtYXgtaGVpZ2h0OiA1MHZoO1xyXG5cdFx0XHRcdG92ZXJmbG93LXk6IGF1dG87XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblx0bGVnZW5kIHtcclxuXHRcdHBhZGRpbmc6IDEwcHggNXB4O1xyXG5cdFx0d2lkdGg6IGNhbGMoMTAwJSAtIDEwcHgpO1xyXG5cdH1cclxuICAgIGZvcm0ge1xyXG4gICAgICAgIHdpZHRoOiBtYXAtZ2V0KCRmaWVsZC13aWR0aCwgbW9iaWxlKTtcclxuICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogKG1hcC1nZXQoJGZpZWxkLXdpZHRoLCBkZXNrdG9wKSArIDEwMCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmNvbmZpcm1hdGlvbkNvbnRhaW5lciB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjE7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJHN1Y2Nlc3MtY29sb3VyLCAwKTtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDFlbTtcclxuICAgICAgICBtYXJnaW46IDAgMWVtIDAgMDtcclxuICAgICAgICBwYWRkaW5nOiAxM3B4IDEwcHg7XHJcbiAgICB9XHJcblx0LnBvcHVwQnV0dG9uQ29udGFpbmVyIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xyXG5cdFx0XHJcblx0XHQucG9wdXBDbG9zZUJ1dHRvbiB7XHJcblx0XHRcdGxpbmUtaGVpZ2h0OiAxZW07XHJcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi5jbG9zZUJ1dHRvbi5wb3B1cENsb3NlQnV0dG9uIHtcclxuICAgIHdpZHRoOiA3MHB4O1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRyaWdodDogMDtcclxuXHR0b3A6IDA7XHJcblx0QGluY2x1ZGUgY2xvc2VCdXR0b24oKTtcclxufVxyXG4uc2Vjb25kYXJ5LWJ1dHRvbi5wb3B1cENsb3NlQnV0dG9uIHtcclxuXHQmOmJlZm9yZSB7XHJcblx0XHRjb250ZW50OiBcIlwiO1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcblx0fVxyXG59XHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcbiNjaGVja291dC1jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuLnNlY3Rpb24tYnV0dG9ucy1jb250YWluZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBtYXJnaW4tdG9wOiAzMHB4O1xyXG4gICAgYSB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgIH1cclxufVxyXG5cclxuLmZvcm1GaWVsZENvbnRhaW5lciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuI2NoZWNrb3V0Rm9ybSB7XHJcbiAgICBzZWxlY3Qge1xyXG4gICAgICAgIHBhZGRpbmc6IDAgMCAwIDI1cHg7XHJcbiAgICB9XHJcbiAgICAuY2hhbmdlRGV0YWlscyB7XHJcbiAgICAgICAgbWFyZ2luOiA1cHggMCAxNXB4O1xyXG4gICAgfVxyXG4gICAgI2NoZWNrb3V0Rm9ybURldGFpbHMge1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoJGNvbG91cjQtMywgMC4yKTtcclxuICAgIH1cclxuICAgIC5jaGVja291dC1kZXRhaWxzIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbiAgICB9XHJcbiAgICAjZGVsaXZlcnlEZXRhaWxzQ29udGFpbmVyIHtcclxuICAgICAgICBtYXJnaW46IDIwcHggMCAzNXB4O1xyXG4gICAgICAgIGgzIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRpbmctMy1mb250LXNpemUsIHByZXNldC0xKSk7XHJcbiAgICAgICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxcHg7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjMtMTtcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAjY2hlY2tvdXRCdXR0b25Db250YWluZXIge1xyXG4gICAgICAgIG1hcmdpbjogNzVweCAwIDA7XHJcbiAgICAgICAgI2NoZWNrb3V0U3VibWl0QnV0dG9uIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uMSgkY29sb3VyNCwgMTUsIDYwMCwgMTVweCAyNXB4KTtcclxuICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuJGVkaXRBY2NvdW50RGV0YWlsc1BvcHVwSWNvblNpemU6IDQ0cHg7XHJcblxyXG4jZWRpdERldGFpbHNGb3JtQ29udGFpbmVyIHtcclxuICAgIG1heC13aWR0aDogNjAwcHg7XHJcbiAgICBtYXgtaGVpZ2h0OiA4MDBweDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIG1hcmdpbjogYXV0bztcclxuICAgIHBhZGRpbmc6IDEwcHggMTBweCAyMHB4O1xyXG4gICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjE7XHJcbiAgICBib3gtc2hhZG93OiAkYm94U2hhZG93MjtcclxuICAgIGgxIHsgXHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIHBhZGRpbmc6ICgkZWRpdEFjY291bnREZXRhaWxzUG9wdXBJY29uU2l6ZSAqIDEuNikgMCAwO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRpbmctMS1mb250LXNpemUsIHByZXNldC0xKSk7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvdXIzLTM7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiAnXFxmNGZmJztcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGVkaXRBY2NvdW50RGV0YWlsc1BvcHVwSWNvblNpemU7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5idXR0b25Db250YWluZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGJ1dHRvbiB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMTBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICNjaGFuZ2VEZXRhaWxzQ2FuY2VsQnV0dG9uIHtcclxuICAgICAgICBAaW5jbHVkZSBidXR0b24xKCRjb2xvdXIzLTIpO1xyXG4gICAgfVxyXG4gICAgI2NoYW5nZURldGFpbHNTdWJtaXRCdXR0b24ge1xyXG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbjEoJGNvbG91cjQpO1xyXG4gICAgfVxyXG4gICAgI2NoYW5nZURldGFpbHNDbG9zZSB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uMSgkY29sb3VyNCk7XHJcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgfVxyXG59XHJcbiNjaGFuZ2VEZXRhaWxzIHtcclxuICAgICYuc3VjY2VzcyB7XHJcbiAgICAgICAgaDIge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDE1cHggMDtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyNC02O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuI2FjY291bnRQb3N0Y29kZUxvb2t1cEFkZHJlc3NDb250YWluZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbiN0ZXJtcyB7XHJcbiAgICBtYXJnaW46IDUwcHggMCAwO1xyXG59XHJcblxyXG4vLyAtLS0gRGVsaXZlcnkgRGV0YWlscyAtLS0gXHJcbiNkZWxpdmVyeURldGFpbHNDb250YWluZXIge1xyXG4gICAgbWF4LWhlaWdodDogMDtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0ICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgbWF4LWhlaWdodDogNTAwMHB4O1xyXG4gICAgICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgJHRyYW5zaXRpb25JbnRybztcclxuICAgIH1cclxufVxyXG5cclxuI2RlbGl2ZXJ5Q29udGFpbmVyIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbiNkZWxpdmVyeVVwZ3JhZGVDb250YWluZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi52YWxpZGF0aW9uRXJyb3Ige1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciFpbXBvcnRhbnQ7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIGZvbnQtc2l6ZTogMC43NXJlbSFpbXBvcnRhbnQ7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBjb2xvcjogbWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKTtcclxufVxyXG5cclxuLmRlbGl2ZXJ5LW9wdGlvbiB7XHJcbiAgICB3aWR0aDogMjYwcHghaW1wb3J0YW50O1xyXG59XHJcblxyXG4uY2hlY2tvdXQtY29tcGxldGUtYnV0dG9ucy1jb250YWluZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxufVxyXG5cclxuI2JpbGxQb3N0Y29kZUxvb2t1cEFkZHJlc3NDb250YWluZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5lZGl0LmNoZWNrb3V0UG9wdXBMaW5rIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XHJcbn1cclxuXHJcbi5jaGVja291dC1yZXR1cm5pbmctY3VzdG9tZXItY29udGFpbmVyIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3VyMy00O1xyXG4gICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2hlY2tvdXQtcmV0dXJuaW5nLWN1c3RvbWVyLWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgcCwgaDIge1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcblxyXG4gICAgfVxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IGhvdmVyLWNvbG91cigkY2hlY2tvdXQtcmV0dXJuaW5nLWN1c3RvbWVyLWljb24tY29sb3VyKTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLnF1YXRlcm5hcnktYnV0dG9uOm5vdCg6aG92ZXIpIHtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3VyMy00O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBwYWRkaW5nOiAyMHB4IDI1cHg7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgIH1cclxuICAgICAgICBoMiB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygzMCk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTVweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBwIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAxMHB4IDA7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0byAyNXB4IDAgMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAucXVhdGVybmFyeS1idXR0b24ge1xyXG4gICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHByb2NlZWQpO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBjdXN0b20taWNvbi1mYW1pbHkoJGZvbnRBd2Vzb21lU29saWQsICRzaXRlLWljb25zLWN1c3RvbS1jaGV2cm9ucyk7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRtZWdhLW1lbnUtbGluay1pY29uLXNpemU7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogZGVmYXVsdC1jb2xvdXIoJHF1YXRlcm5hcnktYnV0dG9uLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IGhvdmVyLWNvbG91cigkcXVhdGVybmFyeS1idXR0b24tY29sb3VyKTtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBhY3RpdmUtY29sb3VyKCRxdWF0ZXJuYXJ5LWJ1dHRvbi1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgfSBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJGFjY291bnQtaWNvbnMsIGFjY291bnQpO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMTBweDtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDMycHg7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgICAgICAgICBjb2xvcjogZGVmYXVsdC1jb2xvdXIoJGNoZWNrb3V0LXJldHVybmluZy1jdXN0b21lci1pY29uLWNvbG91cik7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDIwcHggMCAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgXHJcbn1cclxuXHJcbi5lcnJvckNvbnRhaW5lci5wb3N0Y29kZUxvb2t1cFNlbGVjdENvbnRhaW5lciB7XHJcbiAgICBtYXJnaW46IDAgYXV0bztcclxuICAgIHBhZGRpbmc6IDEwcHggMDsgXHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5kZWxpdmVyeS1yZWFkLW9ubHkge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG59IiwiLypcclxuLS0tLS0gNDA0IC0tLS0tLSBcclxuLSBBcmUgeW91IGxvc3Q/IFxyXG4qL1xyXG5cclxuLmVycm9yLW5vdC1mb3VuZC1sb2dvIHtcclxuICAgIHdpZHRoOiBtYXAtZ2V0KCRub3QtZm91bmQtbG9nby1zaXplLCB3aWR0aCk7XHJcbiAgICBoZWlnaHQ6IG1hcC1nZXQoJG5vdC1mb3VuZC1sb2dvLXNpemUsIGhlaWdodCk7XHJcbiAgICBtYXJnaW4tYm90dG9tOiA1Mi41cHg7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTA1cHg7XHJcbiAgICB9XHJcbn1cclxuLmVycm9yLW5vdC1mb3VuZC1jb250YWluZXIge1xyXG4gICAgaGVpZ2h0OiAxMDB2aDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgQGlmICRub3QtZm91bmQtYmFja2dyb3VuZCB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5vdC1mb3VuZC1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgICAgICBAaWYgJG5vdC1mb3VuZC1iYWNrZ3JvdW5kLWltYWdlIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRub3QtZm91bmQtYmFja2dyb3VuZC1pbWFnZSk7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCBsZWZ0O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6ICRub3QtZm91bmQtYmFja2dyb3VuZC1zaXplO1xyXG4gICAgICAgICAgICBAaWYgbm90ICRub3QtZm91bmQtYmFja2dyb3VuZC1yZXBlYXQge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgICAgICAgICAgfSBcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuLmVycm9yLW5vdC1mb3VuZC1jb250ZW50LWNvbnRhaW5lciB7IFxyXG4gICAgd2lkdGg6IG1hcC1nZXQoJG5vdC1mb3VuZC1jb250ZW50LWNvbnRhaW5lci13aWR0aCwgc21hbGwpO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBtYXJnaW46IGF1dG87XHJcbiAgICBwYWRkaW5nOiAkbm90LWZvdW5kLWNvbnRlbnQtY29udGFpbmVyLXBhZGRpbmc7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbm90LWZvdW5kLWNvbnRlbnQtY29udGFpbmVyLWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgYm94LXNoYWRvdzogJGJveFNoYWRvdzE7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgd2lkdGg6IG1hcC1nZXQoJG5vdC1mb3VuZC1jb250ZW50LWNvbnRhaW5lci13aWR0aCwgbGFyZ2UpO1xyXG4gICAgfVxyXG4gICAgLmNtcy1jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgaDEge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJG5vdC1mb3VuZC1oZWFkaW5nLTEtZm9udC1zaXplKTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRub3QtZm91bmQtaGVhZGluZy0xLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICBjb2xvcjogJG5vdC1mb3VuZC1oZWFkaW5nLTEtY29sb3VyO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaDIge1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgMCAzMHB4O1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRub3QtZm91bmQtaGVhZGluZy0yLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkbm90LWZvdW5kLWhlYWRpbmctMi1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgY29sb3I6ICRub3QtZm91bmQtaGVhZGluZy0yLWNvbG91cjtcclxuICAgICAgICB9XHJcbiAgICAgICAgcCB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkbm90LWZvdW5kLWhlYWRpbmctcGFyYWdyYXBoLXNpemUpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogJG5vdC1mb3VuZC1oZWFkaW5nLXBhcmFncmFwaC1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgY29sb3I6ICRub3QtZm91bmQtcGFyYWdyYXBoLWNvbG91cjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuYnV0dG9uLWNvbnRhaW5lciB7XHJcbiAgICAgICAgbWFyZ2luOiA2Mi41cHggMCAwO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAxMjVweCAwIDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiLypcclxuLS0tLS0gTGlnaHQgYm94ICAtLS0tLVxyXG4tIFRoaXMgZ2V0IGRpc3BsYXllZCBvbiBwcm9kdWN0IHBhZ2VzIHRvIGRpc3BsYXkgdGhlIGZ1bGwgcmVzb2x1dGlvbiBwcm9kdWN0IGltYWdlcy5cclxuRnVudGlvbmFsaXR5IHRoaXMgaG9sZHM6XHJcbi0gTGlnaHQgYm94IGFjdGl2ZSAvIGluYWN0aXZlIHN0YXRlcy5cclxuLSBUaGUgb3ZlcmxheSBzdHlsZXMuXHJcbi0gQWRkaXRpb25hbCBJbWFnZXMuXHJcbi0gMzYwIGltYWdlIHN1cHBvcnQuXHJcbi0gVGhlIGhlYWRlciB0aGF0IGdldHMgZ2VuZXJhdGVkLlxyXG4tIFZpZGVvIHBsYXllci5cclxuKi9cclxuXHJcbi8vT3ZlcmxheVxyXG4jbGlnaHRib3gtb3ZlcmxheS5hY3RpdmUge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMjtcclxuICAgIG9wYWNpdHk6IDAuNztcclxuICAgIHotaW5kZXg6IDEwMDAwO1xyXG59XHJcblxyXG4vL0xpZ2h0Ym94XHJcbi5saWdodGJveCB7XHJcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgdHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiA1MCU7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbiNsaWdodGJveC1oZWFkZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodGJveC1oZWFkZXItYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICB6LWluZGV4OiA1MDAwO1xyXG4gICAgdWwge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICB9XHJcbiAgICAjbGlnaHRib3gtY291bnQge1xyXG4gICAgICAgIG9yZGVyOiAxO1xyXG4gICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyhzbWFsbC12YWx1ZSgkbGlnaHRib3gtaXRlbS1jb3VudC1mb250LXNpemUpKTtcclxuICAgICAgICBjb2xvcjogJGxpZ2h0Ym94LWl0ZW0tY291bnQtY29sb3VyO1xyXG4gICAgICAgIGxldHRlci1zcGFjaW5nOiA3cHg7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyhtZWRpdW0tdmFsdWUoJGxpZ2h0Ym94LWl0ZW0tY291bnQtZm9udC1zaXplKSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgI2xpZ2h0Ym94LWNsb3NlLWJ1dHRvbi1jb250YWluZXIge1xyXG4gICAgICAgIG9yZGVyOiA0O1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuI2xpZ2h0Ym94LWNvbnRlbnQtb3V0ZXItY29udGFpbmVyIHtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIHRvcDogMDtcclxuICAgIGJvdHRvbTogMDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICByaWdodDogMDtcclxuICAgIHotaW5kZXg6IDEwMDAwO1xyXG59XHJcblxyXG4jbGlnaHRib3gtY29udGVudC1pbm5lci1jb250YWluZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG59XHJcblxyXG4ucmVlbC1vdmVybGF5IHtcclxuICAgIC8vIE92ZXJyaWRpbmcgdGhlIGRpbWVuc2lvbnMgY2FsY3VsYXRlZCBieSB0aGUgcmVlbCBwbHVnaW4sIHRoZSBpbmJ1aWx0IGpzIHJlc3BvbnNpdmUgc3VwcG9ydCBjb25mbGljdHMgd2l0aCBmb3VuZGF0aW9uJ3MgbWVkaWEgcXVlcnkgc3VwcG9ydC5cclxuICAgIHdpZHRoOiBhdXRvIWltcG9ydGFudDtcclxuICAgIGhlaWdodDogYXV0byFpbXBvcnRhbnQ7XHJcbiAgICBtYXJnaW46IDAgYXV0bztcclxufVxyXG5cclxuLy8gVHJpZ2dlciBvdmVybGF5LlxyXG4uaW1hZ2Uge1xyXG4gICAgJi5saWdodGJveC1lbmFibGVkIHtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGVubGFyZ2UpO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IG1hcC1nZXQoJGxpZ2h0Ym94LXRyaWdnZXItcGFkZGluZywgZGVmYXVsdCk7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodGJveC10cmlnZ2VyLWljb24tYmFja2dyb3VuZDtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICRsaWdodGJveC10cmlnZ2VyLWljb24tc2l6ZTtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGxpZ2h0Ym94LXRyaWdnZXItaWNvbi1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDFweCAxcHggMCAwO1xyXG4gICAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6IGRlZmF1bHQtY29sb3VyKCRwcm9kdWN0LWVucXVpcnktbWFpbi1pbWFnZS1ib3JkZXItY29sb3VyKTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgIHotaW5kZXg6IDEwMDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6aG92ZXI6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGxpZ2h0Ym94LXRyaWdnZXItaWNvbi1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBob3Zlci1jb2xvdXIoJHByb2R1Y3QtZW5xdWlyeS1tYWluLWltYWdlLWJvcmRlci1jb2xvdXIpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcbi5saWdodGJveCB7XHJcbiAgICAjbGlnaHRib3gtY2xvc2UtYnV0dG9uLWNvbnRhaW5lciB7XHJcbiAgICAgICAgLy8gRG9uZSBuZWVkIHRvIHNldCBhYnNvbHV0ZSB3aWR0aCArIGhlaWdodCBhbnltb3JlLlxyXG4gICAgICAgIC8vIHdpZHRoOiAkbGlnaHRib3gtY2xvc2UtYnV0dG9uLWRpbWVudGlvbnM7XHJcbiAgICAgICAgLy8gaGVpZ2h0OiAkbGlnaHRib3gtY2xvc2UtYnV0dG9uLWRpbWVudGlvbnM7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIG1hcmdpbjogYXV0byAxNXB4O1xyXG4gICAgfVxyXG4gICAgLmNsb3NlLWJ1dHRvbiB7XHJcbiAgICAgICAgLy8gQ2hlY2sgY29udHJhc3QgYmV0d2VlbiBjb2xvdXJzLlxyXG4gICAgICAgICRiYWNrZ3JvdW5kLWNvbG91cjogJGxpZ2h0Ym94LWhlYWRlci1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgICAgICAvLyBEZWZhdWx0LlxyXG4gICAgICAgICRidXR0b24tZGVmYXVsdDogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRsaWdodGJveC1jbG9zZS1idXR0b24tY29sb3VyLCBkZWZhdWx0KSwgJGxpZ2h0Ym94LWhlYWRlci1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAgICAgLy8gSG92ZXIuXHJcbiAgICAgICAgJGJ1dHRvbi1ob3ZlcjogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRsaWdodGJveC1jbG9zZS1idXR0b24tY29sb3VyLCBob3ZlciksICRsaWdodGJveC1oZWFkZXItYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgICAgIC8vIEFjdGl2ZVxyXG4gICAgICAgICRidXR0b24tYWN0aXZlOiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJGxpZ2h0Ym94LWNsb3NlLWJ1dHRvbi1jb2xvdXIsIGFjdGl2ZSksICRsaWdodGJveC1oZWFkZXItYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgICAgIEBpbmNsdWRlIGNsb3NlQnV0dG9uKCRpY29uLXNpemUsICRidXR0b24tZGVmYXVsdCwgJGJ1dHRvbi1ob3ZlciwgJGJ1dHRvbi1hY3RpdmUpO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICB6LWluZGV4OiAxMDA7XHJcbiAgICB9XHJcblxyXG4gICAgLnJlZWwtb3ZlcmxheSB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBkb3duKSB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmxpZ2h0Ym94LWNvbnRlbnQge1xyXG4gICAgICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwJSAtIHZhcigtLWxpZ2h0Ym94LWhlYWRlci1oZWlnaHQpIC0gI3tzcGFjaW5nLXZhbHVlKCRsaWdodGJveC1jb250ZW50LW1hcmdpbiwgMSwgc21hbGwpfSk7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgIG1hcmdpbjogc21hbGwtdmFsdWUoJGxpZ2h0Ym94LWNvbnRlbnQtbWFyZ2luKTtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IG5vbmU7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiB1bnNldDtcclxuICAgICAgICAgICAgLy8gQWNjb3VudCBmb3IgcGFnZXIgd2lkdGguXHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBtZWRpdW0tdmFsdWUoJGxpZ2h0Ym94LXBhZ2VyLWl0ZW0td2lkdGgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogbGFyZ2UtdmFsdWUoJGxpZ2h0Ym94LWNvbnRlbnQtbWFyZ2luKTtcclxuICAgICAgICAgICAgQGlmIHNtb290aC1lZGdlcygpIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAgc21vb3RoLWVkZ2VzKCkgc21vb3RoLWVkZ2VzKCkgMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xyXG4gICAgICAgICAgICBhbGlnbi1zZWxmOiBhdXRvO1xyXG4gICAgICAgICAgICBtYXJnaW46IHhsYXJnZS12YWx1ZSgkbGlnaHRib3gtY29udGVudC1tYXJnaW4pO1xyXG4gICAgICAgIH1cclxuICAgICAgICAubGlnaHRCb3hTbGlkZSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgICYuYWN0aXZlIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICAvLyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIC8vIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogI3tzbWFsbC12YWx1ZSgkbGlnaHRib3gtc2xpZGUtZGltZW50aW9ucyl9dnc7XHJcbiAgICAgICAgICAgICAgICAvL2hlaWdodDogI3tzbWFsbC12YWx1ZSgkbGlnaHRib3gtc2xpZGUtZGltZW50aW9ucyl9dmg7XHJcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiA3MHZoO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwdncgLSAje21lZGl1bS12YWx1ZSgkbGlnaHRib3gtcGFnZXItaXRlbS13aWR0aCl9KTtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gRG9uJ3QgZW5mb3JjZSBhIG1pbiBoZWlnaHQgYnV0IHJhdGhlciBhZGp1c3QgdG8gY29udGVudCwganVzdCBtYWtlIHN1cmUgeW91IGRvbid0IGdldCBpbnRvIGEgc2l0dWF0aW9uIHdoZXJlIHlvdSBvdmVyZmxvdyBhbm90aGVyIGVsZW1lbnQgLyB2aWV3cG9ydC5cclxuICAgICAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAje21lZGl1bS12YWx1ZSgkbGlnaHRib3gtc2xpZGUtZGltZW50aW9ucyl9dmg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6ICN7bGFyZ2UtdmFsdWUoJGxpZ2h0Ym94LXNsaWRlLWRpbWVudGlvbnMpfXZoO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJi5pcy12aWRlbyB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMHZ3O1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiA2MHZ3O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpbWcsICNsaWdodGJveC12aWRlby1wbGF5ZXIge1xyXG4gICAgICAgICAgICAgICAgLy9tYXgtd2lkdGg6IG1hcC1nZXQoJGxpZ2h0Ym94LXNsaWRlLWRpbWVudGlvbnMsIHNtYWxsKTtcclxuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IHNtYWxsLXZhbHVlKCRsaWdodGJveC1zbGlkZS1pbWFnZS1tYXJnaW4pO1xyXG4gICAgICAgICAgICAgICAgLy8gUHJldmVudCBicm93c2VycyBmcm9tIGhpZ2hsaWdodGluZyB0aGUgaW1hZ2UuXHJcbiAgICAgICAgICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcclxuICAgICAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5wcmV2LFxyXG4gICAgICAgIC5uZXh0IHtcclxuICAgICAgICAgICAgd2lkdGg6IHNtYWxsLXZhbHVlKCRsaWdodGJveC1jb250cm9scy13aWR0aCk7XHJcbiAgICAgICAgICAgIGhlaWdodDogc21hbGwtdmFsdWUoJGxpZ2h0Ym94LWNvbnRyb2xzLWhlaWdodCk7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIG1hcC1nZXQoJGxpZ2h0Ym94LWNvbnRyb2xzLWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRsaWdodGJveC1jb250cm9scy1pY29uLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICAgICAgb3BhY2l0eTogMC44O1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICR0cmFuc2l0aW9uT3V0cm8sIGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25PdXRybywgYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiBsYXJnZS12YWx1ZSgkbGlnaHRib3gtY29udHJvbHMtd2lkdGgpO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBsYXJnZS12YWx1ZSgkbGlnaHRib3gtY29udHJvbHMtaGVpZ2h0KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogIG1hcC1nZXQoJGxpZ2h0Ym94LWNvbnRyb2xzLWljb24tY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBjdXN0b20taWNvbi1mYW1pbHkoJGZvbnRBd2Vzb21lU29saWQsICRzaXRlLWljb25zLWN1c3RvbS1jaGV2cm9ucyk7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHNtYWxsLXZhbHVlKCRsaWdodGJveC1jb250cm9scy1pY29uLXNpemUpO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IGxhcmdlLXZhbHVlKCRsaWdodGJveC1jb250cm9scy1pY29uLXNpemUpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6bm90KC5kaXNhYmxlZCkge1xyXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkbGlnaHRib3gtY29udHJvbHMtYmFja2dyb3VuZC1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGxpZ2h0Ym94LWNvbnRyb2xzLWljb24tY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uSW50cm8sIGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICBtYXAtZ2V0KCRsaWdodGJveC1jb250cm9scy1pY29uLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRsaWdodGJveC1jb250cm9scy1iYWNrZ3JvdW5kLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGxpZ2h0Ym94LWNvbnRyb2xzLWljb24tY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICBtYXAtZ2V0KCRsaWdodGJveC1jb250cm9scy1pY29uLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5kaXNhYmxlZCB7XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjQ7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3VyMDtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkaW5wdXQtYm9yZGVyLWNvbG91ciwgZGlzYWJsZWQpO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgY3Vyc29yOiBuby1kcm9wO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAucHJldiB7XHJcbiAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAgJGJvcmRlclJhZGl1czEgJGJvcmRlclJhZGl1czEgMDtcclxuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAkbGlnaHRib3gtY29udHJvbHMtYm9yZGVyLXdpZHRoICRsaWdodGJveC1jb250cm9scy1ib3JkZXItd2lkdGggJGxpZ2h0Ym94LWNvbnRyb2xzLWJvcmRlci13aWR0aCAwO1xyXG5cclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgbGlnaHRib3gtcHJldik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLm5leHQge1xyXG4gICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJGJvcmRlclJhZGl1czEgMCAwICRib3JkZXJSYWRpdXMxO1xyXG4gICAgICAgICAgICBib3JkZXItd2lkdGg6ICRsaWdodGJveC1jb250cm9scy1ib3JkZXItd2lkdGggMCAkbGlnaHRib3gtY29udHJvbHMtYm9yZGVyLXdpZHRoICRsaWdodGJveC1jb250cm9scy1ib3JkZXItd2lkdGg7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGxpZ2h0Ym94LW5leHQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnNsaWRlc0NvbnRhaW5lciB7XHJcbiAgICAgICAgYm94LXNoYWRvdzogLTIwcHggNnB4IDYwcHggLTEzcHggJGNvbG91cjI7XHJcbiAgICB9XHJcbiAgICAjbGlnaHRib3hQYWdlckNvbnRhaW5lciB7XHJcbiAgICAgICAgaGVpZ2h0OiBzbWFsbC12YWx1ZSgkbGlnaHRib3gtcGFnZXItaGVpZ2h0KTtcclxuICAgICAgICAvLyBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgb3ZlcmZsb3cteTogaGlkZGVuO1xyXG4gICAgICAgIC8vIGJveC1zaGFkb3c6IC0yOXB4IDI4cHggNThweCAtMjlweCAkY29sb3VyMjtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBsYXJnZS12YWx1ZSgkbGlnaHRib3gtcGFnZXItaGVpZ2h0KTtcclxuICAgICAgICAgICAgQGlmIHNtb290aC1lZGdlcygpIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpIDAgMCBzbW9vdGgtZWRnZXMoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLmRpc2FibGVkIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi52ZXJ0aWNhbCB7XHJcbiAgICAgICAgICAgIC8vIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICByaWdodDogMTAwJTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjE7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA1cHg7XHJcbiAgICAgICAgICAgICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMC40O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAucHNfX3JhaWwteSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTBweDtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKCRjb2xvdXIxLCAwLjUpO1xyXG4gICAgICAgICAgICAgICAgei1pbmRleDogMTA7XHJcbiAgICAgICAgICAgICAgICAucHNfX3RodW1iLXkge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRjb2xvdXI0LCAwLjcpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5wc19fcmFpbC14IHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuaG9yaXpvbnRhbCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIC8vIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgICAgIC8vIGp1c3RpZnktY29udGVudDogZW5kO1xyXG4gICAgICAgICAgICAvLyBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICAvLyBmbGV4OiAwIDAgYXV0bztcclxuICAgICAgICAgICAgICAgIC8vIGJvcmRlci10b3A6IDNweCBzb2xpZCAkY29sb3VyMy0zO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGZsZXg6IGluaGVyaXQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjE7XHJcbiAgICAgICAgICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMC40O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAucHNfX3JhaWwteSB7IFxyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAucHNfX3JhaWwteCB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMTBweDtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIHRvcDogYXV0byFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKCRjb2xvdXIxLCAwLjUpO1xyXG4gICAgICAgICAgICAgICAgei1pbmRleDogMTA7XHJcbiAgICAgICAgICAgICAgICAucHNfX3RodW1iLXgge1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTBweDtcclxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkY29sb3VyNCwgMC43KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLnBzLS1hY3RpdmUteCB7XHJcbiAgICAgICAgICAgICAgICAucHNfX3JhaWwteCB7XHJcbiAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgIH1cclxufVxyXG5cclxuLmxpZ2h0Ym94LXBhZ2VyLWl0ZW0ge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXg6IDE7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMTtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgd2lkdGg6IG1lZGl1bS12YWx1ZSgkbGlnaHRib3gtcGFnZXItaXRlbS13aWR0aCk7ICAgIFxyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIHdpZHRoOiBsYXJnZS12YWx1ZSgkbGlnaHRib3gtcGFnZXItaXRlbS13aWR0aCk7XHJcbiAgICB9XHJcbiAgICBpbWcge1xyXG4gICAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDI1dnc7XHJcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDIwdmg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5hY3RpdmUge1xyXG4gICAgICAgIGN1cnNvcjogZGVmYXVsdDtcclxuICAgIH1cclxuICAgICYuaXMtdmlkZW8ge1xyXG4gICAgLy8gICAgd2lkdGg6IDI1dnc7XHJcbiAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG5cclxuICAgICAgIH1cclxuICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDUwcHg7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMTBweDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAyMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5pbWFnZS0zNjAge1xyXG4gICAgICAgIEBpbmNsdWRlIGltYWdlMzYwT3ZlcmxheSg4MCUsIDU1cHgpO1xyXG4gICAgfVxyXG59XHJcblxyXG4ubGlnaHRib3gtYmFja2dyb3VuZCB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodGJveC1iYWNrZ3JvdW5kLWNvbG91cjtcclxufVxyXG5cclxuI2xpZ2h0Ym94LXZpZGVvLXBsYXllciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIC8vIEFzIHdlIGN1cnJlbnRseSBvbmx5IHN1cHBvcnQgdmlkZW9zIHN1cHBsaWVkIGJ5IHlvdXR1YmUgc2V0IHRoZSBhc3BlY3QgcmF0aW8gdG8gMTY6OSBiYXNlZCBvbiB0aGUgYmVzdCBkaW1lbnNpb25zIHRhYmxlIGhlcmUgaHR0cHM6Ly9zdXBwb3J0Lmdvb2dsZS5jb20veW91dHViZS9hbnN3ZXIvNjM3NTExMiwgdGhlIG1ham9yaXR5IG9mIHZpZGVvcyB3aWxsIGJlIGluIDE5MjB4MTA4MC4gSWYgdGhpcyBuZWVkcyB0byBiZSByZW1vdmVkIGEgYWJzb2x1dGUgaGVpZ2h0IHdpbGwgbmVlZCB0byBiZSBhcHBsaWVkIHRoZSBpZnJhbWUuXHJcbiAgICBhc3BlY3QtcmF0aW86IDE2Lzk7XHJcbn0iLCIvKlxyXG4tLS0tLSBNYWduaWZpZXIgLS0tLS0gXHJcblRoaXMgaXMgcHJpbWFyaWx5IHVzZWQgb24gdGhlIHByb2R1Y3QgcGFnZSB3aGVuIHlvdSBob3ZlciBvdmVyIHRoZSBtYWluIGltYWdlLlxyXG4qL1xyXG5cclxuLmltZy1tYWduaWZpZXItY29udGFpbmVyIHtcclxuICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xyXG59XHJcbi5pbWctbWFnbmlmaWVyLWdsYXNzIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICBib3R0b206IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgY3Vyc29yOiBjcm9zc2hhaXI7XHJcbn1cclxuXHJcbi8vIElmIG1hZ25pZmljYXRpb24gaXMgYWN0aXZlIG9uIGEgbGlnaHRib3ggZW5hYmxlZCBpbWFnZSB0aGVuIHJlZHVjZSB0aGUgbGlnaHRib3ggaWNvbiBkb3duIGFzIHRoaXMgY2FuIGdldCBpbiB0aGUgd2F5IG9mIHRoZSBtYWduaWZpY2lhdGlvbiBnbGFzcy5cclxuLnByb2R1Y3QtZW5xdWlyeS1tYWluLWltYWdlLm1hZ25pZmljYXRpb24tY29udGFpbmVyLmltYWdlIHtcclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgcGFkZGluZzogbWFwLWdldCgkbGlnaHRib3gtdHJpZ2dlci1wYWRkaW5nLCBtYWduaWZpY2F0aW9uLWhvdmVyKTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAjeygkbGlnaHRib3gtdHJpZ2dlci1pY29uLXNpemUgLyAyKX07XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLmltYWdlLW1hZ25pZmljYXRpb24ge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMTtcclxuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgICYuYWN0aXZlIHtcclxuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG4gICAgfVxyXG4gICAgLm1hZ25pZnlpbmctZ2xhc3Mge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgICAgICB6LWluZGV4OiAxO1xyXG4gICAgICAgIGN1cnNvcjogY3Jvc3NoYWlyO1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuXHJcblxyXG4vLyBUT0RPOiBUaGlzIGlzIGEgd29yayBpbiBwcm9ncmVzcy5cclxuLm1hZ25pZmllci1jb250cm9scy1jb250YWluZXIge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICAubWFnbmlmaWVyLWNvbnRyb2wge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG91cjQ7XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMzBweDtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5kZS1pbmNyZW1lbnQge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCB6b29tLW91dCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuaW5jcmVtZW50IHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgem9vbS1pbik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCIvKlxyXG4tLS0tLSBieFNsaWRlciAoIENhcm91c2VscyApIC0tLS0tLSBcclxuLSBodHRwczovL2J4c2xpZGVyLmNvbS9cclxuLSBUaGlzIGhhbmRsZXMgYWxsIHRoZSBkaXNwbGF5IHN0eWxlcyBmb3IgY2Fyb3VzZWxzIC8gc2xpZGVzaG93cyBhcm91bmQgZXhwcmVzcyB0aGlzIGNhbiBiZSBpbiBhIG1vZHVsZSBvciBhZGRpdGlvbmFsIGltYWdlcyBvbiB0aGUgcHJvZHVjdCBwYWdlLCB0aGUgY29udGVudCBpcyBub3QgcmVzdHJpY3RlZCB0byBqdXN0IGltYWdlcyBidXQgY2FuIGV4dGVuZCB0byBkaXNwbGF5IHByb2R1Y3QgLyBlYmcncy4gXHJcbiovXHJcblxyXG5cclxuLmNhcm91c2VsIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgJi5ieC11bmRlcmxpbmUge1xyXG4gICAgICAgIC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgY2Fyb3VzZWwtY29sbGVjdGlvbi11bmRlcmxpbmUoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmJ4LXNoYWRvdyB7XHJcbiAgICAgICAgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBjYXJvdXNlbC1jb2xsZWN0aW9uLXNoYWRvdygpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYudHJhbnNpdGlvbi1tb2RlLWhvcml6b250YWwge1xyXG4gICAgICAgIC5jb2xsZWN0aW9uLWl0ZW0ge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi50cmFuc2l0aW9uLW1vZGUtaG9yaXpvbmFsLCAmLnRyYW5zaXRpb24tbW9kZS1mYWRlIHtcclxuICAgICAgICAuYngtdmlld3BvcnQge1xyXG4gICAgICAgICAgICAvLyBvdmVyZmxvdy15OiBoaWRkZW4gIWltcG9ydGFudDtcclxuICAgICAgICAgICAgb3ZlcmZsb3cteTogdmlzaWJsZSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBvdmVyZmxvdy14OiBjbGlwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gVGhpcyBpcyBhIGR1cGxpY2F0aW9uIG9mIGNvZGUgYXMgdGhpcyBpcyBkZWZpbmVkIGluIHRoZSAuY29sbGVjdGlvbiBjbGFzcywgdGhpcyBkZXBlbmRhbmN5IHNob3VsZCBiZSB3b3JrZWQgb3V0IHRoZSBzeXN0ZW0gb25jZSA4MTcxMzggaXMgZG9uZSBidXQgY3VycmVudGx5IHRoZXJlIGlzIGEgZGlzY29ubmVjdCBiZXR3ZWVuIGNhcm91c2VsIHNwYWNpbmcgYW5kIGdyaWQgc3BhY2luZy5cclxuICAgIC0tbW9kdWxlLWd1dHRlcjogI3tzbWFsbC12YWx1ZSgkbW9kdWxlcy1ncmlkLWd1dHRlci1mYWxsYmFjayl9O1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAtLW1vZHVsZS1ndXR0ZXI6ICN7bWVkaXVtLXZhbHVlKCRtb2R1bGVzLWdyaWQtZ3V0dGVyLWZhbGxiYWNrKX07XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgLS1tb2R1bGUtZ3V0dGVyOiAje2xhcmdlLXZhbHVlKCRtb2R1bGVzLWdyaWQtZ3V0dGVyLWZhbGxiYWNrKX07XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vL1NsaWRlIHN0eWxlcywgdGhpcyBoYW5kbGVzIGJhc2ljIGJhbm5lciBjYXJvdXNlbCBzdHlpbmcgdG8gbXVsdGlwbGUgc2xpZGUgcHJvZHVjdCBjYXJvdXNlbHMuXHJcbi8vIC5jb2xsZWN0aW9uLWl0ZW0ge1xyXG4gICAgLy8gVE9ETzogdGhpcyBpcyBub3QgYSBmaXggYW5kIG5lZWQgYWRkaXRpb25hbCB3b3JrLi4uIDgxNjUwMFxyXG4gICAgLy8gWW91IG11c3QgYWRkIHBhZGRpbmcgaWYgc2hhZG93IGlzIGVuYWJsZWQuXHJcbiAgICAvLyAmLm11bHRpLWNvbC1wYWRkaW5nIHtcclxuICAgIC8vICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcclxuICAgIC8vIH0gICBcclxuLy8gfVxyXG5cclxuW2RhdGEtYnhTbGlkZXJdLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIHtcclxuICAgIEBpbmNsdWRlIHByb2R1Y3QtY29sbGVjdGlvbi1jZWxsKCk7XHJcbn1cclxuXHJcbi5ieC1zZXBlcmF0b3Ige1xyXG4gICAgLmNvbGxlY3Rpb24taXRlbSB7XHJcbiAgICAgICAgJlthcmlhLWhpZGRlbj1mYWxzZV0ge1xyXG4gICAgICAgICAgICAmICsgLmNvbGxlY3Rpb24taXRlbSB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IG1hcC1nZXQoJGNvbGxlY3Rpb24tc2VwZXJhdG9ycy1kZWZhdWx0LWRpbWVudGlvbnMsIHdpZHRoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBtYXAtZ2V0KCRjb2xsZWN0aW9uLXNlcGVyYXRvcnMtZGVmYXVsdC1kaW1lbnRpb25zLCBoZWlnaHQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sbGVjdGlvbi1zZXBlcmF0b3JzLWNvbG91cjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5ieC12aWV3cG9ydCB7XHJcbiAgICB6LWluZGV4OiAxO1xyXG4gICAgPiBkaXYge1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgIH1cclxufVxyXG5cclxuW2lkJD1cIi1jYXJvdXNlbC1jb250YWluZXJcIl0ge1xyXG4gICAgZmxleDogMTtcclxufVxyXG5cclxuLy8gLS0tLS0gQ29udHJvbHMgLS0tLS1cclxuLy9Ob3JtYWwgLyBmYWxsYmFjaywgbWVkaXVtIHNpemVkIGJ1dHRvbnMuXHJcbi5jYXJvdXNlbDpub3QoLmxhcmdlQ29udHJvbHMpOm5vdCguc21hbGxDb250cm9scykgLmJ4LWNvbnRyb2xzIHtcclxuICAgIGhlaWdodDogbWFwLWdldCgkYngtY29udHJvbHMtZGltZW50aW9ucywgbm9ybWFsKTtcclxuICAgIC5ieC1wcmV2Om5vdCguZGlzYWJsZWQpLFxyXG4gICAgLmJ4LW5leHQ6bm90KC5kaXNhYmxlZCkge1xyXG4gICAgICAgIHdpZHRoOiBtYXAtZ2V0KCRieC1jb250cm9scy1kaW1lbnRpb25zLCBub3JtYWwpO1xyXG4gICAgICAgIGhlaWdodDogIG1hcC1nZXQoJGJ4LWNvbnRyb2xzLWRpbWVudGlvbnMsIG5vcm1hbCk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIERpY3RhdGVzIHdoZXRoZXIgdGhlIGNvbnRyb2xzIHNob3VsZCBiZSB3aXRoaW4gY2Fyb3VzZWwgY29udGFpbmVyIG9yIG92ZXJmbG93LlxyXG4uY2Fyb3VzZWw6bm90KC5jb250cm9scy1jb250YWluZWQpIC5ieC1jb250cm9scyB7XHJcbiAgICBAaWYgbm90ICRjb2xsZWN0aW9uLWNvbnRyb2xzLWNvbXBhY3Qge1xyXG4gICAgICAgICY6bm90KC5sYXJnZUNvbnRyb2xzKTpub3QoLnNtYWxsQ29udHJvbHMpIHtcclxuICAgICAgICAgICAgLmJ4LXByZXYge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAobWFwLWdldCgkYngtY29udHJvbHMtZGltZW50aW9ucywgbm9ybWFsKSAqIDEuMik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmJ4LW5leHQge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IChtYXAtZ2V0KCRieC1jb250cm9scy1kaW1lbnRpb25zLCBub3JtYWwpICogMS4yKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgICAgICAmLnNtYWxsQ29udHJvbHMge1xyXG4gICAgICAgICAgICAvLyBUT0RPOiBpbXBsZW1lbnQgc21hbGwgY29udHJvbHMgcG9zaXRpb25pbmcuXHJcbiAgICAgICAgfVxyXG4gICAgICAgICYubGFyZ2VDb250cm9scyB7XHJcbiAgICAgICAgICAgIC5ieC1wcmV2IHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAobWFwLWdldCgkYngtY29udHJvbHMtZGltZW50aW9ucywgbGFyZ2UpIC8gMik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmJ4LW5leHQge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogKG1hcC1nZXQoJGJ4LWNvbnRyb2xzLWRpbWVudGlvbnMsIGxhcmdlKSAvIDIpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSAgXHJcblxyXG4gICAgfVxyXG4gICAgICBcclxufVxyXG5cclxuLy9MYXJnZSBjb250cm9scywgcGlubmVkIHRvIHRoZSBsZWZ0L3JpZ2h0IG9mIHRoZSBzbGlkZXIgd2l0aCBlbmxhcmdlZCBidXR0b24gYXJlYS5cclxuLmNhcm91c2VsLmxhcmdlQ29udHJvbHMgLmJ4LWNvbnRyb2xzIHtcclxuICAgIC8vVGhpcyBjbGFzcyBpcyBvbmx5IHVzZWQgaWYgYSBwYWdlciBpcyBhY3RpdmUuXHJcbiAgICAuYngtY29udHJvbHMtZGlyZWN0aW9uIHtcclxuICAgICAgICBAaWYgbm90ICRjb2xsZWN0aW9uLWNvbnRyb2xzLWNvbXBhY3Qge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICAvLyBUb28gYWxsb3cgZm9yIGEgZ3V0dGVyIGJldHdlZW4gdGhlIGJ1dHRvbnMuXHJcbiAgICAgICAgICAgICRidXR0b24tZ3V0dGVyOiAkY29sbGVjdGlvbi1jb250cm9scy1jb21wYWN0LWd1dHRlcjtcclxuICAgICAgICAgICAgd2lkdGg6ICgoc21hbGwtdmFsdWUoJGJ4LWNvbnRyb2xzLWRpbWVudGlvbnMpICogMikgKyAoJGJ1dHRvbi1ndXR0ZXIgKiAyKSk7XHJcbiAgICAgICAgICAgIG1hcmdpbjogJGJ1dHRvbi1ndXR0ZXI7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAoKGxhcmdlLXZhbHVlKCRieC1jb250cm9scy1kaW1lbnRpb25zKSAqIDIpICsgJGJ1dHRvbi1ndXR0ZXIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpZiAkY29sbGVjdGlvbi1jb250cm9scy1jb21wYWN0LXBvc2l0aW9uID09ICdib3R0b20tcmlnaHQnIHtcclxuICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgICAgICB9IEBlbHNlIGlmICRjb2xsZWN0aW9uLWNvbnRyb2xzLWNvbXBhY3QtcG9zaXRpb24gPT0gJ2JvdHRvbS1sZWZ0JyB7XHJcbiAgICAgICAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICB9IEBlbHNlIGlmICRjb2xsZWN0aW9uLWNvbnRyb2xzLWNvbXBhY3QtcG9zaXRpb24gPT0gJ3RvcC1yaWdodCcge1xyXG4gICAgICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgIH0gQGVsc2UgaWYgJGNvbGxlY3Rpb24tY29udHJvbHMtY29tcGFjdC1wb3NpdGlvbiA9PSAndG9wLWxlZnQnIHtcclxuICAgICAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgaGVpZ2h0OiBzbWFsbC12YWx1ZSgkYngtY29udHJvbHMtZGltZW50aW9ucyk7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IGxhcmdlLXZhbHVlKCRieC1jb250cm9scy1kaW1lbnRpb25zKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuYngtcHJldjpub3QoLmRpc2FibGVkKSxcclxuICAgIC5ieC1uZXh0Om5vdCguZGlzYWJsZWQpIHtcclxuICAgICAgICB3aWR0aDogc21hbGwtdmFsdWUoJGJ4LWNvbnRyb2xzLWRpbWVudGlvbnMpO1xyXG4gICAgICAgIGhlaWdodDogc21hbGwtdmFsdWUoJGJ4LWNvbnRyb2xzLWRpbWVudGlvbnMpO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IGxhcmdlLXZhbHVlKCRieC1jb250cm9scy1kaW1lbnRpb25zKTtcclxuICAgICAgICAgICAgaGVpZ2h0OiBsYXJnZS12YWx1ZSgkYngtY29udHJvbHMtZGltZW50aW9ucyk7ICBcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5jYXJvdXNlbC5zbWFsbENvbnRyb2xzIC5ieC1jb250cm9scyB7XHJcbiAgICBoZWlnaHQ6IG1hcC1nZXQoJGJ4LWNvbnRyb2xzLWRpbWVudGlvbnMsIHNtYWxsKTtcclxuICAgIHdpZHRoOiAxMDBweDtcclxuICAgIC5ieC1wcmV2Om5vdCguZGlzYWJsZWQpLFxyXG4gICAgLmJ4LW5leHQ6bm90KC5kaXNhYmxlZCkge1xyXG4gICAgICAgIHdpZHRoOiBtYXAtZ2V0KCRieC1jb250cm9scy1kaW1lbnRpb25zLCBzbWFsbCk7XHJcbiAgICAgICAgaGVpZ2h0OiBtYXAtZ2V0KCRieC1jb250cm9scy1kaW1lbnRpb25zLCBzbWFsbCk7XHJcbiAgICAgICAgQGlmIChtYXAtZ2V0KCRjb2xsZWN0aW9uLWNvbnRyb2xzLWJ1dHRvbi1ib3gtc2hhZG93LCBkZWZhdWx0KSkge1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiBtYXAtZ2V0KCRjb2xsZWN0aW9uLWNvbnRyb2xzLWJ1dHRvbi1ib3gtc2hhZG93LCBob3Zlcik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjE7XHJcbiAgICAgICAgICAgIEBpZiAobWFwLWdldCgkY29sbGVjdGlvbi1jb250cm9scy1idXR0b24tYm94LXNoYWRvdywgaG92ZXIpKSB7XHJcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBtYXAtZ2V0KCRjb2xsZWN0aW9uLWNvbnRyb2xzLWJ1dHRvbi1ib3gtc2hhZG93LCBob3Zlcik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAobWFwLWdldCgkYngtY29udHJvbHMtZGltZW50aW9ucywgbm9ybWFsKSAvIDIuNSk7XHJcbiAgICAgICAgICAgIGhlaWdodDogKG1hcC1nZXQoJGJ4LWNvbnRyb2xzLWRpbWVudGlvbnMsIG5vcm1hbCkgLyAyLjUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5ieC1wcmV2Om5vdCguZGlzYWJsZWQpIHtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNoZXZyb24xKCRjb2xvdXI0LCAkcG9pbnRMZWZ0LCBtYXAtZ2V0KCRieC1jb250cm9scy1kaW1lbnRpb25zLCBzbWFsbCkgLyAyLjUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmJ4LW5leHQ6bm90KC5kaXNhYmxlZCkge1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgY2hldnJvbjEoJGNvbG91cjQsICRwb2ludFJpZ2h0LCBtYXAtZ2V0KCRieC1jb250cm9scy1kaW1lbnRpb25zLCBzbWFsbCkgLyAyLjUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uY2Fyb3VzZWw6bm90KC5zbWFsbENvbnRyb2xzKSAuYngtY29udHJvbHMge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICAuYngtcHJldjpub3QoLmRpc2FibGVkKSxcclxuICAgIC5ieC1uZXh0Om5vdCguZGlzYWJsZWQpIHtcclxuICAgICAgICBAaWYgKCRjb2xsZWN0aW9uLWNvbnRyb2xzLWJvcmRlci13aWR0aCA+IDApIHtcclxuICAgICAgICAgICAgYm9yZGVyOiAkY29sbGVjdGlvbi1jb250cm9scy1ib3JkZXItd2lkdGggc29saWQgZGVmYXVsdC1jb2xvdXIoJGNvbGxlY3Rpb24tY29udHJvbHMtYm9yZGVyLWNvbG91cik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGJ4LWNvbnRyb2xzLWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICBvcGFjaXR5OiBtYXAtZ2V0KCRjb2xsZWN0aW9uLWNvbnRyb2xzLW9wYWNpdHksIGhvdmVyKTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uT3V0cm8sIG9wYWNpdHkgJHRyYW5zaXRpb25PdXRybywgYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICBAaWYgKG1hcC1nZXQoJGNvbGxlY3Rpb24tY29udHJvbHMtYnV0dG9uLWJveC1zaGFkb3csIGhvdmVyKSkge1xyXG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogbWFwLWdldCgkY29sbGVjdGlvbi1jb250cm9scy1idXR0b24tYm94LXNoYWRvdywgaG92ZXIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgb3BhY2l0eTogbWFwLWdldCgkY29sbGVjdGlvbi1jb250cm9scy1vcGFjaXR5LCBkZWZhdWx0KTsgXHJcbiAgICAgICAgICAgIEBpZiAobWFwLWdldCgkY29sbGVjdGlvbi1jb250cm9scy1idXR0b24tYm94LXNoYWRvdywgZGVmYXVsdCkpIHtcclxuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IG1hcC1nZXQoJGNvbGxlY3Rpb24tY29udHJvbHMtYnV0dG9uLWJveC1zaGFkb3csIGRlZmF1bHQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgICAgIEBpZiAoJGNvbGxlY3Rpb24tY29udHJvbHMtYm9yZGVyLXdpZHRoID4gMCkge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBob3Zlci1jb2xvdXIoJGNvbGxlY3Rpb24tY29udHJvbHMtYm9yZGVyLWNvbG91cik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYngtY29udHJvbHMtYmFja2dyb3VuZC1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgQGlmIChtYXAtZ2V0KCRjb2xsZWN0aW9uLWNvbnRyb2xzLWJ1dHRvbi1ib3gtc2hhZG93LCBob3ZlcikpIHtcclxuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IG1hcC1nZXQoJGNvbGxlY3Rpb24tY29udHJvbHMtYnV0dG9uLWJveC1zaGFkb3csIGhvdmVyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBvcGFjaXR5OiBtYXAtZ2V0KCRjb2xsZWN0aW9uLWNvbnRyb2xzLW9wYWNpdHksIGhvdmVyKTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbkludHJvLCBvcGFjaXR5ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICBAaWYgKCRjb2xsZWN0aW9uLWNvbnRyb2xzLWJvcmRlci13aWR0aCA+IDApIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogYWN0aXZlLWNvbG91cigkY29sbGVjdGlvbi1jb250cm9scy1ib3JkZXItY29sb3VyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRieC1jb250cm9scy1iYWNrZ3JvdW5kLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgb3BhY2l0eTogbWFwLWdldCgkY29sbGVjdGlvbi1jb250cm9scy1vcGFjaXR5LCBhY3RpdmUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gLmNhcm91c2VsLnNtYWxsLXdpZGUtY29udHJvbHMgLmJ4LWNvbnRyb2xzIHtcclxuLy8gICAgIC5ieC1wcmV2LCAuYngtbmV4dCB7XHJcbi8vICAgICAgICAgJjpub3QoLmRpc2FibGVkKSB7XHJcbi8vICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIC8vIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNhcm91c2VsLWNvbnRyb2xzLXNtYWxsLWljb24pO1xyXG4gICAgICAgICAgICAgICAgLy8gcGFkZGluZy10b3A6IDhweDtcclxuLy8gICAgICAgICAgICAgfVxyXG4vLyAgICAgICAgIH1cclxuLy8gICAgIH1cclxuLy8gfVxyXG5cclxuQGlmICRjb2xsZWN0aW9uLWNvbnRyb2xzLWNvbXBhY3Qge1xyXG4gICAgLmltYWdlLXNsaWRlc2hvdy1tb2R1bGUge1xyXG4gICAgICAgIC5ieC1jb250cm9scy1kaXJlY3Rpb24ge1xyXG4gICAgICAgICAgICBtYXJnaW46ICRjb2xsZWN0aW9uLWNvbnRyb2xzLWNvbXBhY3QtZ3V0dGVyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gQ29udHJvbHMgY29udGFpbmVyIHBvc2l0aW9uaW5nLlxyXG5AaWYgJGNvbGxlY3Rpb24tY29udHJvbHMtY29tcGFjdCB7XHJcbiAgICAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUge1xyXG4gICAgICAgIEBpZiAkY29sbGVjdGlvbi1jb250cm9scy1jb21wYWN0LXBvc2l0aW9uID09IFwidG9wLXJpZ2h0XCIgb3IgJGNvbGxlY3Rpb24tY29udHJvbHMtY29tcGFjdC1wb3NpdGlvbiA9PSBcInRvcC1sZWZ0XCIge1xyXG4gICAgICAgICAgICAuY2Fyb3VzZWwge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcclxuICAgICAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICAgICAgICAgIC5ieC12aWV3cG9ydCB7XHJcbiAgICAgICAgICAgICAgICAgICAgb3JkZXI6IDE7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAuYngtY29udHJvbHMge1xyXG4gICAgICAgICAgICAgICAgICAgIG9yZGVyOiAyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5ieC1jb250cm9scyB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIEBpZiAkY29sbGVjdGlvbi1jb250cm9scy1jb21wYWN0LXBvc2l0aW9uID09IFwiYm90dG9tLXJpZ2h0XCIgb3IgJGNvbGxlY3Rpb24tY29udHJvbHMtY29tcGFjdC1wb3NpdGlvbiA9PSBcInRvcC1yaWdodFwiIHsgIFxyXG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICAgICAgICAgICAgfSBAZWxzZSBpZiAgJGNvbGxlY3Rpb24tY29udHJvbHMtY29tcGFjdC1wb3NpdGlvbiA9PSBcImJvdHRvbS1sZWZ0XCIgb3IgJGNvbGxlY3Rpb24tY29udHJvbHMtY29tcGFjdC1wb3NpdGlvbiA9PSBcInRvcC1sZWZ0XCIge1xyXG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBcclxuICAgIH1cclxuICAgIC5pbWFnZS1zbGlkZXNob3ctbW9kdWxlIHtcclxuICAgICAgICAuYngtY29udHJvbHMsIC5ieC1jb250cm9scy1kaXJlY3Rpb24ge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIEBpZiAkY29sbGVjdGlvbi1jb250cm9scy1jb21wYWN0LXBvc2l0aW9uID09ICd0b3AtcmlnaHQnIHtcclxuICAgICAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICB9IEBlbHNlIGlmICRjb2xsZWN0aW9uLWNvbnRyb2xzLWNvbXBhY3QtcG9zaXRpb24gPT0gJ3RvcC1sZWZ0JyB7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxufSBAZWxzZSB7XHJcbiAgICAuYngtY29udHJvbHMge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgfVxyXG59XHJcblxyXG4uc21hbGwtd2lkZS1jb250cm9scyB7XHJcbiAgICAuYngtY29udHJvbHMge1xyXG4gICAgICAgIC5ieC1wcmV2Om5vdCguZGlzYWJsZWQpIHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgY2Fyb3VzZWwtY29udHJvbHMtcHJldmlvdXMpO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiBtYXAtZ2V0KCRieC1jb250cm9scy1pY29uLXNpemUsIHNtYWxsKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuYngtbmV4dDpub3QoLmRpc2FibGVkKSB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNhcm91c2VsLWNvbnRyb2xzLW5leHQpO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiBtYXAtZ2V0KCRieC1jb250cm9scy1pY29uLXNpemUsIHNtYWxsKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmJ4LWNvbnRyb2xzIHtcclxuICAgICYuZGlzYWJsZWQge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbiAgICAuYngtcHJldjpub3QoLmRpc2FibGVkKSxcclxuICAgIC5ieC1uZXh0Om5vdCguZGlzYWJsZWQpIHtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogY3VzdG9tLWljb24tZmFtaWx5KCRmb250QXdlc29tZVNvbGlkLCAkc2l0ZS1pY29ucy1jdXN0b20tY2hldnJvbnMpO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IG1hcC1nZXQoJGJ4LWNvbnRyb2xzLWljb24tc2l6ZSwgc21hbGwpO1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYngtY29udHJvbHMtaWNvbi1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICBAaWYgJGJ4LWNvbnRyb2xzLWljb24tc2hhZG93IHtcclxuICAgICAgICAgICAgICAgIGZpbHRlcjogZHJvcC1zaGFkb3coJGJ4LWNvbnRyb2xzLWljb24tc2hhZG93KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IG1hcC1nZXQoJGJ4LWNvbnRyb2xzLWljb24tc2l6ZSwgbGFyZ2UpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYngtY29udHJvbHMtaWNvbi1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYngtY29udHJvbHMtaWNvbi1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuYngtcHJldiB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgfVxyXG4gICAgLmJ4LXByZXY6bm90KC5kaXNhYmxlZCkge1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgY2Fyb3VzZWwtY29udHJvbHMtcHJldmlvdXMpO1xyXG4gICAgICAgICAgICBAaWYgKHNtYWxsLXZhbHVlKCRjb2xsZWN0aW9uLWNvbnRyb2xzLWljb24tc2hpbSkpIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtI3tzbWFsbC12YWx1ZSgkY29sbGVjdGlvbi1jb250cm9scy1pY29uLXNoaW0pfTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBAaWYgKGxhcmdlLXZhbHVlKCRjb2xsZWN0aW9uLWNvbnRyb2xzLWljb24tc2hpbSkpIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogLSN7bGFyZ2UtdmFsdWUoJGNvbGxlY3Rpb24tY29udHJvbHMtaWNvbi1zaGltKX07XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5ieC1uZXh0IHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgfVxyXG5cclxuICAgIC5ieC1uZXh0Om5vdCguZGlzYWJsZWQpIHtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNhcm91c2VsLWNvbnRyb2xzLW5leHQpO1xyXG4gICAgICAgICAgICBAaWYgKHNtYWxsLXZhbHVlKCRjb2xsZWN0aW9uLWNvbnRyb2xzLWljb24tc2hpbSkpIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBzbWFsbC12YWx1ZSgkY29sbGVjdGlvbi1jb250cm9scy1pY29uLXNoaW0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIEBpZiAobGFyZ2UtdmFsdWUoJGNvbGxlY3Rpb24tY29udHJvbHMtaWNvbi1zaGltKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBsYXJnZS12YWx1ZSgkY29sbGVjdGlvbi1jb250cm9scy1pY29uLXNoaW0pO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbi5ieC1wcmV2LCAuYngtbmV4dCB7XHJcbiAgICAvLyBNYWtlIGp1c3QgdGhlIGJ1dHRvbnMgb3ZlcmxhcCB0aGUgdGhlIGNhcm91c2VsIGNvbnRlbnRzLlxyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgei1pbmRleDogMTtcclxuICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygkY29sbGVjdGlvbi1jb250cm9scy1ib3JkZXItcmFkaXVzKTtcclxufVxyXG5cclxuLmJ4LXByZXYge1xyXG4gICAgQGlmIHNtYWxsLXZhbHVlKCRjb2xsZWN0aW9uLWNvbnRyb2xzLXByZXYtcGFkZGluZykge1xyXG4gICAgICAgIHBhZGRpbmc6IHNtYWxsLXZhbHVlKCRjb2xsZWN0aW9uLWNvbnRyb2xzLXByZXYtcGFkZGluZyk7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgQGlmIGxhcmdlLXZhbHVlKCRjb2xsZWN0aW9uLWNvbnRyb2xzLXByZXYtcGFkZGluZykge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBsYXJnZS12YWx1ZSgkY29sbGVjdGlvbi1jb250cm9scy1wcmV2LXBhZGRpbmcpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4uYngtbmV4dCB7XHJcbiAgICBAaWYgc21hbGwtdmFsdWUoJGNvbGxlY3Rpb24tY29udHJvbHMtbmV4dC1wYWRkaW5nKSB7XHJcbiAgICAgICAgcGFkZGluZzogc21hbGwtdmFsdWUoJGNvbGxlY3Rpb24tY29udHJvbHMtbmV4dC1wYWRkaW5nKTtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBAaWYgbGFyZ2UtdmFsdWUoJGNvbGxlY3Rpb24tY29udHJvbHMtbmV4dC1wYWRkaW5nKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IGxhcmdlLXZhbHVlKCRjb2xsZWN0aW9uLWNvbnRyb2xzLW5leHQtcGFkZGluZyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyBQcmV2ZW50cyBmbGFzaGluZyBjb250ZW50IG9uIHBhZ2UgbG9hZC5cclxuZGl2W2RhdGEtYnhTbGlkZXJdIHtcclxuICAgIC8vIEdldCBjb2x1bW4gY291bnQuXHJcbiAgICAvLyBBdCB0aGUgdGltZSBvZiB3cml0aW5nIHRoaXMgdGhlIENTUyBmdW5jdGlvbiBhdHRyKCkgaXMgaW4gbWFpbnN0cmVhbSBzdXBwb3J0IGJ1dCB0eXBlKCkgaXMgbm90IHdoaWNoIHdlIG5lZWQgdG8gY29udmVydCB0aGUgdmFsdWUgZnJvbSBzdHJpbmcgdG8gaW50ZWdlciB0byBiZSB1c2VkIGluIGNhbGMoKSBmdW5jdGlvbi4gXHJcbiAgICBAZm9yICRjb2x1bW5zIGZyb20gMSB0aHJvdWdoIDEyIHtcclxuICAgICAgICAmW2J4LWNvbHVtbi1jb3VudD1cIiN7JGNvbHVtbnN9XCJdIHtcclxuICAgICAgICAgICAgLS1jb2x1bW5zOiAjeyRjb2x1bW5zfTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyAmOm5vdChbYngtc2xpZGVyLWlkXSkge1xyXG4gICAgLy8gICAgIG1heC1oZWlnaHQ6IDQwMHB4O1xyXG4gICAgLy8gfVxyXG4gICAgJjpub3QoW2RhdGEtaW5pdGlhbGlzZWQ9XCJ0cnVlXCJdKSB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIC8vIFByZS1pbml0aWFsaXNlZCBjb2x1bW4gYXJyYW5nZW1lbnQsIHRoaXMgaXMgZm9sbG93aW5nIHRoZSBzYW1lIHJ1bGVzIGFzIGdyaWQgbW9kdWxlcyBpbiBfbW9kdWxlcy12Mi5zY3NzIC5jb2xsZWN0aW9uICYgLmdyaWQtY29sbGVjdGlvbi14XHJcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcclxuICAgICAgICAvLyBBcHBseSByZXNwb25zaXZlIGNvbHVtbiBjb3VudCwgdGhpcyBtaXJyb3cgaGFuZGxlYmFycyBoZWxwZXJzIHNtYWxsLWNvbHVtbi1jb3VudC5qcyAmIG1lZGl1bS1jb2x1bW4tY291bnQuanMuXHJcbiAgICAgICAgLS1zbWFsbC1jb2x1bW5zOiBtYXgocm91bmQoZG93biwgY2FsYyh2YXIoLS1jb2x1bW5zKSAvIDIpLCAxKSwgMSk7XHJcbiAgICAgICAgLS1tZWRpdW0tY29sdW1uczogY2FsYyh2YXIoLS1zbWFsbC1jb2x1bW5zKSArIDEpO1xyXG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KHZhcigtLXNtYWxsLWNvbHVtbnMpLCBtaW5tYXgoMCwgMWZyKSk7XHJcbiAgICAgICAgLy8gQXBwbHkgZ2FwLlxyXG4gICAgICAgIGdhcDogdmFyKC0tbW9kdWxlLWd1dHRlciwgI3tzbWFsbC12YWx1ZSgkbW9kdWxlcy1ncmlkLWd1dHRlci1mYWxsYmFjayl9KTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCh2YXIoLS1tZWRpdW0tY29sdW1ucyksIG1pbm1heCgwLCAxZnIpKTtcclxuICAgICAgICAgICAgZ2FwOiB2YXIoLS1tb2R1bGUtZ3V0dGVyLCAje21lZGl1bS12YWx1ZSgkbW9kdWxlcy1ncmlkLWd1dHRlci1mYWxsYmFjayl9KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQodmFyKC0tY29sdW1ucyksIG1pbm1heCgwLCAxZnIpKTtcclxuICAgICAgICAgICAgZ2FwOiB2YXIoLS1tb2R1bGUtZ3V0dGVyLCAje2xhcmdlLXZhbHVlKCRtb2R1bGVzLWdyaWQtZ3V0dGVyLWZhbGxiYWNrKX0pO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJiA+ICoge1xyXG4gICAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb250ZW50LWluaXRpYWxpc2luZy1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGNvbnRlbnQtbG9hZGluZy1zcGlubmVyKCRjb250ZW50LWluaXRpYWxpc2luZy1zcGlubmVyLWNvbG91cik7XHJcbiAgICAgICAgLmNvbGxlY3Rpb24taXRlbSB7XHJcbiAgICAgICAgICAgICY6bm90KDpmaXJzdC1jaGlsZCkge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmJ4LXZpZXdwb3J0IHtcclxuICAgIG92ZXJmbG93LXk6IHZpc2libGU7XHJcbn1cclxuLy8gTWFrZXMgZXZlcnkgc2xpZGUgZGlzcGxheTogYmxvY2sgb3RoZXJ3aXNlIHlvdSBsb3NlIHRoZSBhbmltYXRpb24gZWZmZWN0IGZvciB0cmFuc2l0aW9uaW5nLlxyXG4uY2Fyb3VzZWwgLmJ4LXZpZXdwb3J0IHtcclxuICAgIC5jb2xsZWN0aW9uLWl0ZW0ge1xyXG4gICAgICAgIC8vIFN1cHByZXNzaW5nIGFzIHRoaXMgbm93IGdldHMgaGFuZGxlZCBieSB0aGUgLnRyYW5zaXRpb24tbW9kZS0gY2xhc3NlcywgaGVpZ2h0OiAxMDAlIGFsc28gY2F1c2UgYnhzbGlkZXIgdG8gaW5jb3JyZWN0bHkgY2FsY3VsYXRlIHRoZSBzbGlkZSBoZWlnaHQgd2hlbiBpbiBmYWRlIG1vZGUuXHJcbiAgICAgICAgLy8gTmVlZCB0byBzZXQgMTAwJSBpbiBtb2JpbGUgdG8ga2VlcCBhbGwgY2VsbHMgdGhlIHNhbWUgaGVpZ2h0LlxyXG4gICAgICAgIC8vIGhlaWdodDogMTAwJTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcclxuICAgICAgICAvLyBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgLy8gICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICAvLyB9XHJcbiAgICB9XHJcbn1cclxuLy8gLS0tIFBhZ2VyIC0tLSBcclxuLmJ4LXBhZ2VyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgIC5ieC1wYWdlci1pdGVtIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgd2lkdGg6ICgkYngtcGFnZXItYnV0dG9uLWRpbWVudGlvbnMgKiAxLjUpO1xyXG4gICAgICAgIGhlaWdodDogKCRieC1wYWdlci1idXR0b24tZGltZW50aW9ucyAqIDEuNSk7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgbWFyZ2luOiAwIDcuNXB4O1xyXG4gICAgICAgIHotaW5kZXg6IDE7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogJGJ4LXBhZ2VyLWJ1dHRvbi1kaW1lbnRpb25zO1xyXG4gICAgICAgICAgICBoZWlnaHQ6ICRieC1wYWdlci1idXR0b24tZGltZW50aW9ucztcclxuICAgICAgICB9XHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRieC1wYWdlci1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoJGJ4LXBhZ2VyLWJ1dHRvbi1yYWRpdXMpO1xyXG4gICAgICAgICAgICBib3JkZXI6ICRjb2xsZWN0aW9uLXBhZ2VyLWJ1dHRvbi1ib3JkZXItd2lkdGggc29saWQgbWFwLWdldCgkYngtcGFnZXItYnV0dG9uLWJvcmRlci1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgICAgICBvcGFjaXR5OiBtYXAtZ2V0KCRjb2xsZWN0aW9uLXBhZ2VyLWJ1dHRvbi1vcGFjaXR5LCBkZWZhdWx0KTtcclxuICAgICAgICAgICAgQGlmICgkYngtcGFnZXItYnV0dG9uLXRyYW5zZm9ybSkge1xyXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiAkYngtcGFnZXItYnV0dG9uLXRyYW5zZm9ybTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5LCBib3JkZXItY29sb3IsIGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25PdXRybzsgICBcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRieC1wYWdlci1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkYngtcGFnZXItYnV0dG9uLWJvcmRlci1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciwgYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGJ4LXBhZ2VyLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkYngtcGFnZXItYnV0dG9uLWJvcmRlci1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy8gVGhpcyBjbGFzcyBnZXQgYXNzaWduZWQgd2hlbiB0aGUgc2xpZGUgaXMgYWN0aXZlIE5PVCB3aGVuIHRoZSBidXR0b24gaXMgYWN0aXZlLlxyXG4gICAgICAgICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRieC1wYWdlci1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGJ4LXBhZ2VyLWJ1dHRvbi1ib3JkZXItY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogbWFwLWdldCgkY29sbGVjdGlvbi1wYWdlci1idXR0b24tb3BhY2l0eSwgYWN0aXZlKTtcclxuICAgICAgICAgICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuLS0tLS0gU2xpZGVycyAtLS0tLVxyXG5IYW5kbGVzIHRoZSBmb2xsb3dpbmc6IFxyXG4tIFRoaXMgaXMgKk5PVCogY2Fyb3VzZWwgZnVuY3Rpb25hbGl0eSBwbGVhc2UgcmVmZXIgdG8gYnhzbGlkZXIuc2NzcyBmb3IgdGhhdC5cclxuLSBUaGlzIGlzIGZvcm0gZm9ybSBjb250cm9scyB3aGVyZSB5b3UgcmVxdWlyZSBhbiBpbnB1dCB0eXBlID0gc2xpZGVyLlxyXG4tIFRoZSBzdGx5ZXMgaGVyZSB3aWxsIGFsc28gaGF2ZSBhIGhlYXZ5IGluZmx1ZW5jZSBvbiB0aGUgcHJpY2Ugc2xpZGVyIGZvciBmaWx0ZXJzLlxyXG4qL1xyXG5cclxuLnNsaWRlciB7XHJcbiAgICBoZWlnaHQ6ICRzbGlkZXItcmFpbC1oZWlnaHQ7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRzbGlkZXItcmFpbC1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCBtYXAtZ2V0KCRzbGlkZXItcmFpbC1ib3JkZXItY29sb3VyLCBkZWZhdWx0KTtcclxuICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygkc2xpZGVyLXJhaWwtYm9yZGVyLXJhZGl1cyk7XHJcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uT3V0cm8sIGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkc2xpZGVyLXJhaWwtYmFja2dyb3VuZC1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJHNsaWRlci1yYWlsLWJvcmRlci1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uSW50cm8sIGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgIC51aS1zbGlkZXItcmFuZ2U6YmVmb3JlIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkc2xpZGVyLXJhbmdlLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJjphY3RpdmUge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHNsaWRlci1yYWlsLWJhY2tncm91bmQtY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkc2xpZGVyLXJhaWwtYm9yZGVyLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAudWktc2xpZGVyLXJhbmdlOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHNsaWRlci1yYW5nZS1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gQWRkIGVycm9yIHN0eWxlcy5cclxuICAgICYuc2xpZGVyLWludmFsaWQge1xyXG4gICAgICAgIC51aS1zbGlkZXItcmFuZ2Uge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC51aS1zbGlkZXItaGFuZGxlIHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcbi8vIC0tLS0tIFNsaWRlciBIYW5kbGUgLS0tLSBcclxuLy8gVGhlIHRoaW5ncyB0aGF0IHlvdSBwdWxsIG9uLlxyXG4udWktc2xpZGVyLWhhbmRsZSB7XHJcbiAgICB3aWR0aDogJHNsaWRlci1oYW5kbGUtZGltZW50aW9ucztcclxuICAgIGhlaWdodDogJHNsaWRlci1oYW5kbGUtZGltZW50aW9ucztcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IC0uNWVtO1xyXG4gICAgLy8gSWYgdGhlIGhhbmRsZSBpcyBpbiB0aGUgbWluIHBvc2l0aW9uIHRoZSByYWlsIGJlbG93IGlzIHN0aWxsIGV4cG9zZWQuXHJcbiAgICBtYXJnaW4tbGVmdDogLTVweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgJHNsaWRlci1oYW5kbGUtYm9yZGVyLWNvbG91cjtcclxuICAgIGJvcmRlci1yYWRpdXM6ICRzbGlkZXItaGFuZGxlLWJvcmRlci1yYWRpdXM7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB6LWluZGV4OiAyO1xyXG4gICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2xpZGVyLWhhbmRsZS1pY29uLWNvbG91cjtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAkc2xpZGVyLWhhbmRsZS1ib3JkZXItcmFkaXVzO1xyXG4gICAgICAgIGJvcmRlcjogM3B4IHNvbGlkICRjb2xvdXIxO1xyXG5cclxuICAgIH1cclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIGJveC1zaGFkb3c6ICRib3hTaGFkb3czO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgJHRyYW5zaXRpb25JbnRybztcclxuICAgIH1cclxufVxyXG5cclxuLnVpLXN0YXRlLWFjdGl2ZSB7XHJcbiAgICBvdXRsaW5lOiAwO1xyXG59XHJcblxyXG4vLyAtLS0tLSBTbGlkZXIgUmFuZ2UgLS0tLS0gXHJcbi8vIFRoZSBjb2xvdXJlZCBhcmVhICggdGhlIHNlbGVjdGVkIHNlY3Rpb24gKVxyXG4udWktc2xpZGVyLXJhbmdlIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMDtcclxuICAgIGJvdHRvbTogMDtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgei1pbmRleDogMTtcclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAvLyBBZGRpbmcgYWRkdGlvbmFsIHdpZHRoICsgaGVpZ2h0IHNvIHRoZSByYW5nZSBvdmVyZmxvd3MgdGhlIHJhaWwncyBib3JkZXIuXHJcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSArIDRweCk7XHJcbiAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgKyAycHgpO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRzbGlkZXItcmFuZ2UtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyUmFkaXVzMTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICB9XHJcbiAgICAvLyBUbyBvdmVybGFwIHRoZSByYW5nZSBjb2xvdXJpbmcgb3ZlciB0aGUgcmFpbCdzIGJvcmRlci5cclxuICAgICYudWktc2xpZGVyLXJhbmdlLW1pbiB7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBsZWZ0OiAtMXB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYudWktc2xpZGVyLXJhbmdlLW1heCB7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICByaWdodDogLTFweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLnVpLXNsaWRlci1ob3Jpem9udGFsIHtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgfVxyXG59XHJcbi8vIC0tLS0tIEVycm9yIGNvbnRhaW5lciAtLS0tLSBcclxuLnNsaWRlci1lcnJvcnMge1xyXG4gICAgbWF4LWhlaWdodDogMDtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBtYXJnaW46IDI1cHggM3B4IDVweDtcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDExKTtcclxuICAgIGNvbG9yOiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDApO1xyXG4gICAgdHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgbWF4LWhlaWdodDogMzAwcHg7XHJcbiAgICAgICAgcGFkZGluZzogNXB4O1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMCk7XHJcbiAgICAgICAgXHJcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICB9ICAgIFxyXG59IiwiXHJcbltkYXRhLXRvb2x0aXBdIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxufVxyXG5cclxuc3Bhbi50b29sdGlwLXRyaWdnZXIge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgY3Vyc29yOiBoZWxwO1xyXG4gICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lOyAgLy8gZGlzYWJsZXMgdGhlIGlPUyBjYWxsb3V0IG1lbnVcclxuICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7ICAgIC8vIGRpc2FibGVzIHRleHQgc2VsZWN0aW9uXHJcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcclxuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7ICAvLyBib251czoga2lsbHMgdGhlIHRhcCBmbGFzaC5cclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgaW5mbyk7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgIHBhZGRpbmc6ICgkdG9vbHRpcC1pbmZvLWljb24tc2l6ZSAtIDUpICgkdG9vbHRpcC1pbmZvLWljb24tc2l6ZSAtIDIpO1xyXG4gICAgICBmb250LXNpemU6ICR0b29sdGlwLWluZm8taWNvbi1zaXplO1xyXG4gICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCR0b29sdGlwLWljb24tY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHRvb2x0aXAtaWNvbi1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXJSYWRpdXMyO1xyXG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uT3V0cm8sIGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICB9XHJcbiAgICAmOmhvdmVyOmJlZm9yZSB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHRvb2x0aXAtaWNvbi1iYWNrZ3JvdW5kLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICBjb2xvcjogbWFwLWdldCgkdG9vbHRpcC1pY29uLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uSW50cm8sIGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICB9XHJcbiAgICAmOmFjdGl2ZTpiZWZvcmUge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHRvb2x0aXAtaWNvbi1iYWNrZ3JvdW5kLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkdG9vbHRpcC1pY29uLWNvbG91ciwgYWN0aXZlKTtcclxuICAgIH1cclxufVxyXG5cclxuLnRvb2x0aXAtY29udGFpbmVyIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIC8vIE5lZWQgdG8gc2V0IGJhc2VsaW5lIGlmIG11bHRpcGxlIHRleHQgc3RyaW5ncyB3cmFwcGVkIGluIGh0bWwgZWxlbWVudHMgdG8gZW5zdXJlIHRoZXkgYWxsIGZvbGxvdyB0aGUgc2FtZSB2ZXJ0aWNhbCBhbGlnbm1lbnQgKCBpLmUgU09IIG5vdGlmaWNhdGlvbnMgKS5cclxuICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcclxuICAgIC8vIFN1cHByZXNzaW5nIGR1ZSB0byBoYXZlIGEgdG9vbHRpcCBkaXJlY3RseSB1bmRlciBhbmQgaW5zdGFuY2UgY2F1c2UgdGhlIGJ1dHRvbnMgdG8gb3ZlcmxhcCB0aGUgY29udGVudCBhcmVhLlxyXG4gICAgLy8gei1pbmRleDogNTAwO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgJi53YXJuaW5nLCAmLmFsZXJ0IHtcclxuICAgICAgICAudG9vbHRpcC1jb250ZW50IC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHN1Y2Nlc3MpO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcCB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHBhcmFncmFwaC1mb250LXNpemUgLSAxKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkdG9vbHRpcC1jb250ZW50LW5vdGlmaWNhdGlvbi1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYud2FybmluZyB7XHJcbiAgICAgICAgLnRvb2x0aXAtdHJpZ2dlciB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHdhcm5pbmcpO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIwO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJHdhcm5pbmctY29sb3VyLCAwKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLnRvb2x0aXAtY29udGVudCB7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkd2FybmluZy1jb2xvdXIsIDApO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCR3YXJuaW5nLWNvbG91ciwgOSk7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHNwZWVjaC1idWJibGUoXCJ0b3BcIiwgJHRvb2x0aXAtY29udGVudC10aXAtc2l6ZSwgbWFwLWdldCgkd2FybmluZy1jb2xvdXIsIDApLCBtYXAtZ2V0KCR3YXJuaW5nLWNvbG91ciwgOSkpO1xyXG4gICAgICAgICAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHdhcm5pbmcpO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCR3YXJuaW5nLWNvbG91ciwgMCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcCB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkd2FybmluZy1jb2xvdXIsIDApO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJHRvb2x0aXAtY29udGVudC1ub3RpZmljYXRpb24tZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5hbGVydCB7XHJcbiAgICAgICAgLnRvb2x0aXAtdHJpZ2dlciB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGFsZXJ0KTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDApO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xyXG5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAudG9vbHRpcC1jb250ZW50IHtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDApO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDkpO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBzcGVlY2gtYnViYmxlKFwidG9wXCIsICR0b29sdGlwLWNvbnRlbnQtdGlwLXNpemUsICBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDApLCBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDkpKTtcclxuICAgICAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBhbGVydCk7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcCB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICR0b29sdGlwLWNvbnRlbnQtbm90aWZpY2F0aW9uLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgIFxyXG4gICAgfVxyXG5cclxuICAgICYuc3RhdGUtaW5kaWNhdG9yIHtcclxuICAgICAgICAudG9vbHRpcC10cmlnZ2VyIHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgdW5yZWFkLXN0YXRlLW9uKTtcclxuICAgICAgICAgICAgICAgIC8vIGZvbnQtc2l6ZTogMTNweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAkYnViYmxlLWFycm93LXBvc2l0aW9uLW9mZnNldDogOHB4O1xyXG5cclxuICAgICYuYWxpZ24tcmlnaHQge1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgICAgICAgLnRvb2x0aXAtY29udGVudCB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlLCAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IGNhbGMoMTAwJSAtICN7JGJ1YmJsZS1hcnJvdy1wb3NpdGlvbi1vZmZzZXR9KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBJZiBvdmVyZmxvd2luZyBsZWZ0IHRoZW4gb3ZlcnJpZGUuXHJcbiAgICAmLnJlc3BvbnNpdmUtb3ZlcnJpZGUtYWxpZ24tcmlnaHQge1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgICAgICAudG9vbHRpcC1jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC50b29sdGlwLWNvbnRlbnQge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSwgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiAjeyRidWJibGUtYXJyb3ctcG9zaXRpb24tb2Zmc2V0fTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuYWxpZ24tbGVmdCB7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgIC50b29sdGlwLWNvbnRlbnQge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSwgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiAjeyRidWJibGUtYXJyb3ctcG9zaXRpb24tb2Zmc2V0fTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIElmIG92ZXJmbG93aW5nIHJpZ2h0IHRoZW4gb3ZlcnJpZGUuXHJcbiAgICAmLnJlc3BvbnNpdmUtb3ZlcnJpZGUtYWxpZ24tbGVmdCB7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgIC50b29sdGlwLWNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgIGxlZnQ6IHVuc2V0O1xyXG4gICAgICAgIH1cclxuICAgICAgICAudG9vbHRpcC1jb250ZW50IHtcclxuICAgICAgICAgICAgJjpiZWZvcmUsICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgbGVmdDogY2FsYygxMDAlIC0gI3skYnViYmxlLWFycm93LXBvc2l0aW9uLW9mZnNldH0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnRvb2x0aXAtY29udGVudCB7XHJcbiAgICAgICAgLy8gQWRkaW5nIHRoZSB0aXAgdG8gdGhlIHRvb2x0aXAuXHJcbiAgICAgICAgQGluY2x1ZGUgc3BlZWNoLWJ1YmJsZShcInRvcFwiLCAkdG9vbHRpcC1jb250ZW50LXRpcC1zaXplLCAkdG9vbHRpcC1jb250ZW50LWJvcmRlciwgJHRvb2x0aXAtY29udGVudC1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIH1cclxuICAgIFxyXG59XHJcblxyXG4vLyBUbyBzdG9wIHRoZSBjb250ZW50IGZyb20gZmxhc2hpbmcgb24gcGFnZSBsb2FkLlxyXG4udG9vbHRpcC1jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAudG9vbHRpcC1jb250ZW50IHtcclxuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xyXG4gICAgfVxyXG59XHJcbi50b29sdGlwLWNvbnRlbnQge1xyXG4gICAgd2lkdGg6IDA7XHJcbiAgICBoZWlnaHQ6IDA7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG59XHJcblxyXG4udG9vbHRpcC1jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICBAaW5jbHVkZSB0b29sdGlwLWNvbnRlbnQtcG9zaXRpb25pbmcoKTtcclxuICAgIG1heC1oZWlnaHQ6IDA7XHJcbiAgICAvL3RvcDogKCR0b29sdGlwLWluZm8taWNvbi1zaXplICogMyk7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0ICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgbWF4LWhlaWdodDogMzAwcHg7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgfVxyXG4gICAgLnRvb2x0aXAtY29udGVudCB7XHJcbiAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBwYWRkaW5nOiAyMHB4O1xyXG4gICAgICAgIG1hcmdpbi10b3A6ICN7JHRvb2x0aXAtY29udGVudC10aXAtc2l6ZX1weDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9vbHRpcC1jb250ZW50LWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgICAgIGJvcmRlcjogI3skdG9vbHRpcC1jb250ZW50LWJvcmRlci13aWR0aH1weCBzb2xpZCAkdG9vbHRpcC1jb250ZW50LWJvcmRlcjtcclxuICAgICAgICBAaWYgc21vb3RoLWVkZ2VzKCkge1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgei1pbmRleDogMTtcclxuICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTsgXHJcbiAgICAgICAgfVxyXG4gICAgICAgIGxpLCBhLCBwIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkdG9vbHRpcC1jb250ZW50LWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkdG9vbHRpcC1jb250ZW50LWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogJGRlZmF1bHQtbGluZS1oZWlnaHQ7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkdG9vbHRpcC1jb250ZW50LWNvbG91cjtcclxuICAgICAgICB9XHJcbiAgICAgICAgbGkge1xyXG4gICAgICAgICAgICBwIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMTBweCAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHAge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiLypcclxuLS0tLS0gUmVhZCBtb3JlIC0tLS0tXHJcbkhhbmRsZXMgdGhlIGZvbGxvd2luZzogXHJcbi0gUmV2ZWFsaW5nIGFkZGl0aW9uYWwgbWFya3VwLCB0aGlzIGNhbiBpbmNsdWRlIHRleHQgb3IgaW1hZ2VzLlxyXG4tIEhvdyB0aGUgZmFkZSAvIGdyYWRpYW50IGdldHMgdXNlZCB3aGVuIGN1dHRpbmcgb2YgdGhlIG92ZXJmbG93aW5nIGNvbnRlbnQuXHJcbiovXHJcblxyXG4ucmVhZC1tb3JlIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICYuY29udGFpbmVyLWNhbGN1bGF0aW9uLXdhaXRpbmcge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbiAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgLnJlYWQtbW9yZS1jb250ZW50IHtcclxuICAgICAgICAgICAgLy8gb3ZlcnJpZGUgY2xvc2VkIGhlaWdodC5cclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7IFxyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBoZWlnaHQgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICB9XHJcbiAgICAgICAgLnJlYWRNb3JlQnV0dG9uIHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgcmVhZC1tb3JlLW9wZW4pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5tb2JpbGUtb25seSB7XHJcbiAgICAgICAgLnJlYWQtbW9yZS1jb250ZW50IHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLm1vYmlsZS1vbmx5IHtcclxuICAgICAgICAucmVhZE1vcmVCdXR0b24ge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gJltybS1yZXZlYWw9dHJ1ZV0ge1xyXG4gICAgLy8gICAgIHBhZGRpbmc6IDAgMCA1MHB4O1xyXG4gICAgLy8gfVxyXG4gICAgLnJlYWQtbW9yZS1jb250ZW50IHtcclxuICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGhlaWdodCAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgfVxyXG4gICAgLnJlYWRNb3JlQnV0dG9uIHtcclxuICAgICAgICAvLyBMZXR0aW5nIHRoaXMgZmFsbCBuYXR1cmFsbHkgb24gdGhlIHBhZ2UuXHJcbiAgICAgICAgLy8gcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIC8vIHJpZ2h0OiAwO1xyXG4gICAgICAgIC8vIGJvdHRvbTogMDtcclxuICAgICAgICAvLyBsZWZ0OiAwO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICAgIHBhZGRpbmc6IDEwcHggMTVweCAyNHB4O1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91cjMtMztcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCByZWFkLW1vcmUtY2xvc2VkKTtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgYm90dG9tOiA1cHg7XHJcbiAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBjdXN0b20taWNvbi1mYW1pbHkoJGZvbnRBd2Vzb21lU29saWQsICRzaXRlLWljb25zLWN1c3RvbS1jaGV2cm9ucyk7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG59XHJcblxyXG4ucmVhZC1tb3JlIHtcclxuICAgIC8vIFJ1bGVzIHRvIHNob3cgZmFkZS5cclxuICAgIC8vIElmIHRoZSBmYWRlIGlzIG5vdCBkaXNhYmxlZCBieSB0aGUgSlMgZHVlIHRvIGxvdyBjb250ZW50LlxyXG4gICAgJjpub3QoLmZhZGUtZGlzYWJsZWQtbG93LWNvbnRlbnQpIHtcclxuICAgICAgICAvLyBJZiB0aGlzIGlzIGEgcmVhZCBtb3JlIGVsZW1lbnQgdGhhdCBhbGxvd3MgdGhlIGZhZGUgZWZmZWN0IGFuZCBub3QganVzdCB1c2luZyB0aCByZXZlYWwgZnVuY3Rpb25hbGl0eS5cclxuICAgICAgICAucmVhZC1tb3JlLWNvbnRlbnQ6bm90KC5uby1mYWRlKSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHNpbXBsZS1mYWRlKCRkZWZhdWx0LXJtLWZhZGUtb3BhY2l0eSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIElmIHRoaXMgaXMganVzdCBhIG1vYmlsZSBvbmx5IHJlYWQgbW9yZSBkdWUgdG8gbGFyZ2UgYW1vdW50cyBvZiBjb250ZW50IGJ1dCBsb29rcyBvayBvbiBkZXNrdG9wLlxyXG4gICAgICAgICYubW9iaWxlLW9ubHkgLnJlYWQtbW9yZS1jb250ZW50Om5vdCgubm8tZmFkZSkge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiB1bnNldDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBJZiBhY3RpdmUgdGhlbiBkaXNhYmxlIGZhZGUuXHJcbiAgICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgICAucmVhZC1tb3JlLWNvbnRlbnQge1xyXG4gICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdW5zZXQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLnJlYWQtbW9yZS1jb250ZW50LmNvbnRlbnQtdHJ1bmNhdGUtZW5hYmxlZCB7XHJcbiAgICAgICAgICAgICYgPiBwIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xyXG4gICAgICAgICAgICAgICAgLy8gQXMgMTcuMTAuMjAyNSB0aGVyZSBpcyBubyBvZmZpY2lhbCBzdXBwb3J0IGxpbmUtY2xhbXAgaW4gQ1NTJ3Mgc3BlYyBidXQgaGFzIGdvb2QgZ2VuZXJhbCBicm93c2VyIHN1cHBvcnQgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQ1NTL2xpbmUtY2xhbXAuXHJcbiAgICAgICAgICAgICAgICAtd2Via2l0LWxpbmUtY2xhbXA6IHZhcigtLXJlYWQtbW9yZS1saW5lLWNsYW1wKTtcclxuICAgICAgICAgICAgICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XHJcbiAgICAgICAgICAgICAgICAmICsgcCB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBJZiBub3QgbW9iaWxlIG9ubHkuXHJcbiAgICAvLyAmOm5vdCguYWN0aXZlKTpub3QoLm1vYmlsZS1vbmx5KTpub3QoLmZhZGUtZGlzYWJsZWQtbG93LWNvbnRlbnQpIHtcclxuICAgIC8vICAgICAvLyBJZiBmYWRlIGlzIG5vdCBkaXNhYmxlZC5cclxuICAgIC8vICAgICAucmVhZC1tb3JlLWNvbnRlbnQ6bm90KC5uby1mYWRlKSB7XHJcbiAgICAvLyAgICAgICAgIEBpbmNsdWRlIHNpbXBsZS1mYWRlKCRkZWZhdWx0LXJtLWZhZGUtb3BhY2l0eSk7XHJcbiAgICAvLyAgICAgfVxyXG4gICAgLy8gfVxyXG4gICAgLy8gSWYgbW9iaWxlIG9ubHkuXHJcbiAgICAvLyAmOm5vdCguYWN0aXZlKS5tb2JpbGUtb25seSB7XHJcbiAgICAvLyAgICAgLy8gSWYgZmFkZSBpcyBub3QgZGlzYWJsZWQuXHJcbiAgICAvLyAgICAgLnJlYWQtbW9yZS1jb250ZW50Om5vdCgubm8tZmFkZSkge1xyXG4gICAgLy8gICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAvLyAgICAgICAgICAgICBAaW5jbHVkZSBzaW1wbGUtZmFkZSgkZGVmYXVsdC1ybS1mYWRlLW9wYWNpdHkpO1xyXG4gICAgLy8gICAgICAgICB9XHJcbiAgICAvLyAgICAgfVxyXG4gICAgLy8gfSAgIFxyXG4gICAgLy8gQmVmb3JlIGluaXRpYWxpc2F0aW9uIGhpZGUgY29udGVudCB0byBwcmV2ZW50IGNvbnRlbnQgZnJvbSBmbGFzaGluZyB1cC5cclxuICAgICY6bm90KFtybS1pZF0pIHtcclxuICAgICAgICAvLyBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgIH0gXHJcbn1cclxuXHJcbiIsIi8qXHJcbi0tLS0tIEF1dG8gQ29tcGxldGUgKCBQcmVkaWN0aXZlIFNlYXJjaCApIC0tLS0tLSBcclxuVGhlIGRyb3Bkb3duIHlvdSBzZWUgd2hlbiB5b3Ugc3RhcnQgdHlwaW5nIGluIGEgcXVlcnkgd2l0aGluIHRoZSBzZWFyY2ggYmFyIGluIHRoZSBoZWFkZXIuXHJcbiovXHJcblxyXG5cclxuI2hlYWRlclNlYXJjaEZvcm0gLmFjLXJlc3VsdHMge1xyXG4gICAgQGlmIHNtb290aC1lZGdlcygpIHtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgc21vb3RoLWVkZ2VzKCkgc21vb3RoLWVkZ2VzKCk7XHJcbiAgICB9XHJcbiAgICBwYWRkaW5nOiBtYXAtZ2V0KCRhYy1yZXN1bHRzLXBhZGRpbmcsIHRvcCkgbWFwLWdldCgkYWMtcmVzdWx0cy1wYWRkaW5nLCBzaWRlKSBtYXAtZ2V0KCRhYy1yZXN1bHRzLXBhZGRpbmcsIGJvdHRvbSk7XHJcbiAgICA+IHVsIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAkYWMtcmVzdWx0cy13aWR0aCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwIDYlO1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiAkYWMtcmVzdWx0cy1ib3gtc2hhZG93O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMTtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogNXB4IHNvbGlkICRjb2xvdXI0O1xyXG4gICAgICAgICAgICB6LWluZGV4OiA1MDAwMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5hYy1yZXN1bHRzIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbWF4LWhlaWdodDogMTAwdmg7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgLy8gSW5jcmVhc2VkIHotaW5kZXggdG8gYmUgb250b3Agb2YgYmFza2V0IHN1bW1hcnkuXHJcbiAgICAgICAgei1pbmRleDogMjAwMDAxO1xyXG4gICAgfVxyXG4gICAgLy8gT3BlbmluZyBhbmQgY2xvc2luZy5cclxuICAgICYuc2Nyb2xsZXIge1xyXG4gICAgICAgID4gdWwge1xyXG4gICAgICAgICAgICBvdmVyZmxvdy15OiBzY3JvbGw7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgPiB1bCwgLnJlc3VsdHMtY29udGVudC1jb250YWluZXIgPiB1bCB7XHJcbiAgICAgICAgbWF4LWhlaWdodDogNzB2aDtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICAgIG92ZXJmbG93LXk6IGF1dG87XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAvLyBtYXgtd2lkdGg6ICRoZWFkZXItc2VhcmNoLXdpZHRoO1xyXG4gICAgICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uYWMtY29sbGVjdGlvbi10aXRsZS1jb250YWluZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xyXG4gICAgcGFkZGluZzogJGFjLXRpdGxlLWNvbGxlY3Rpb24tcGFkZGluZztcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRhYy10aXRsZS1jb2xsZWN0aW9uLWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgQGlmIChzbW9vdGgtZWRnZXMoJGFjLXRpdGxlLWNvbGxlY2l0b24tYm9yZGVyLXJhZGl1cykpIHtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoJGFjLXRpdGxlLWNvbGxlY2l0b24tYm9yZGVyLXJhZGl1cyk7XHJcbiAgICB9XHJcbiAgICBAaWYgKCRhYy10aXRsZS1jb2xsZWN0aW9uLWJvcmRlcikge1xyXG4gICAgICAgIGJvcmRlci13aWR0aDogJGFjLXRpdGxlLWNvbGxlY3Rpb24tYm9yZGVyLXdpZHRoO1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogJGFjLXRpdGxlLWNvbGxlY3Rpb24tYm9yZGVyLWNvbG91cjtcclxuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgfVxyXG4gICAgLmFjLXRpdGxlIHtcclxuICAgICAgICBjb2xvcjogJGFjLXRpdGxlLWNvbGxlY3Rpb24tY29sb3VyO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGFjLXRpdGxlLWNvbGxlY3Rpb24tZm9udC1zaXplKTtcclxuICAgICAgICBmb250LXdlaWdodDogJGFjLXRpdGxlLWNvbGxlY3Rpb24tZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRhYy10aXRsZS10ZXh0LXRyYW5zZm9ybTtcclxuICAgICAgICBAaWYgKCRhYy10aXRsZS1sZXR0ZXItc3BhY2luZykge1xyXG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogJGFjLXRpdGxlLWxldHRlci1zcGFjaW5nO1xyXG4gICAgICAgIH1cclxuICAgICAgICBmb250LWZhbWlseTogJGFjLXRpdGxlLWNvbGxlY3Rpb24tZm9udC1mYW1pbHk7XHJcbiAgICB9XHJcbiAgICAudmlldy1hbGwge1xyXG4gICAgICAgIGZsb2F0OiByaWdodDtcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgYTphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYWMtdmlldy1hbGwtaWNvbi1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkYWMtdmlldy1hbGwtY29sb3VyO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRhYy12aWV3LWFsbC1mb250LXNpemUpO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGF1dG8tY29tcGxldGUtdmlldy1hbGwpO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMCA1cHg7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogY3VzdG9tLWljb24tZmFtaWx5KCRmb250QXdlc29tZVNvbGlkLCAkc2l0ZS1pY29ucy1jdXN0b20tY2hldnJvbnMpO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyg5KTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhYy12aWV3LWFsbC1pY29uLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgfVxyXG59XHJcbi5hYy10aXRsZS1jb250YWluZXIge1xyXG4gICAgbWFyZ2luOiAkYWMtdGl0bGUtbWFyZ2luO1xyXG4gICAgZm9udC1zdHlsZTogJGFjLXRpdGxlLWZvbnQtc3R5bGU7XHJcbiAgICBmb250LXdlaWdodDogJGFjLXRpdGxlLWZvbnQtd2VpZ2h0O1xyXG4gICAgZm9udC1mYW1pbHk6IGdldC10eXBvZ3JhcGh5LWZvbnQtZmFtaWx5KCk7XHJcbiAgICBAaWYgKCRhYy10aXRsZS1mb250LXNpemUpIHtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRhYy10aXRsZS1mb250LXNpemUpO1xyXG4gICAgfVxyXG4gICAgQGlmICgkYWMtdGl0bGUtbGV0dGVyLXNwYWNpbmcpIHtcclxuICAgICAgICBsZXR0ZXItc3BhY2luZzogJGFjLXRpdGxlLWxldHRlci1zcGFjaW5nO1xyXG4gICAgfVxyXG59XHJcbi5hYy1pdGVtLWxpc3Qge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIHBhZGRpbmc6ICRhYy1pdGVtLWxpc3QtcGFkZGluZztcclxuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICAmLmNvbHVtbiB7XHJcbiAgICAgICAgLmFjLWl0ZW0ge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgICAgIGZsZXg6IDEgMCA1MCU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJjpub3QoLmNvbHVtbikge1xyXG4gICAgICAgIC5hYy1pdGVtIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgfVxyXG4gICAgJi5yb3cge1xyXG4gICAgICAgIC5hYy1pdGVtIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMTBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuLmFjLWl0ZW0ge1xyXG4gICAgbWFyZ2luOiAkYWMtaXRlbS1tYXJnaW47XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICBhIHNwYW4ge1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYWMtaXRlbS1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmltYWdlLCAuYWMtaXRlbS1tdWx0aW1lZGlhLWNvbnRlbnQge1xyXG4gICAgICAgIHdpZHRoOiBtYXAtZ2V0KCRhYy1pdGVtLWltYWdlLWRpbWVudGlvbnMsIHdpZHRoKTtcclxuICAgICAgICBoZWlnaHQ6IG1hcC1nZXQoJGFjLWl0ZW0taW1hZ2UtZGltZW50aW9ucywgaGVpZ2h0KTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgLy8gbWFyZ2luOiAkYWMtaXRlbS1pbWFnZS1tYXJnaW47XHJcbiAgICAgICAgYm9yZGVyOiAkYWMtaXRlbS1ib3JkZXI7XHJcbiAgICB9XHJcbiAgICAvLyBUb28gYWJpZ3VvdXMgbm93IHRoYXQgd2UgbmVlZCB0byBhbHNvIGRpc3BsYXkgcmVmZXJlbmNlIGFzIHdlbGwgYXMgZGVzY3JpcHRpb24uXHJcbiAgICAvLyBzcGFuIHtcclxuICAgIC8vICAgICBmbGV4LWJhc2lzOiAxMzBweDtcclxuICAgIC8vICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAvLyB9XHJcbiAgICBpbWcge1xyXG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgIH1cclxuICAgIGEge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBnYXA6IDAgMTBweDtcclxuICAgICAgICBwYWRkaW5nOiAkYWMtaXRlbS1wYWRkaW5nO1xyXG4gICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgICAgICAgICBAaWYgKCRhYy1pdGVtLWZvbnQtc2l6ZSkge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkYWMtaXRlbS1mb250LXNpemUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpZiAoJGFjLWl0ZW0tZm9udC13ZWlnaHQpIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkYWMtaXRlbS1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYWMtaXRlbS1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuaXRlbS1kZXNjcmlwdGlvbiB7XHJcbiAgICAgICAgQGlmICgkYWMtaXRlbS1kZXNjcmlwdGlvbi1saW5lLWhlaWdodCkge1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogJGFjLWl0ZW0tZGVzY3JpcHRpb24tbGluZS1oZWlnaHQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5hYy1pdGVtLWNvbnRlbnQge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBmbGV4OiAxO1xyXG4gICAgICAgIEBpZiAoc21hbGwtdmFsdWUoJGFjLWl0ZW0tY29udGVudC1nYXApKSB7XHJcbiAgICAgICAgICAgIGdhcDogc21hbGwtdmFsdWUoJGFjLWl0ZW0tY29udGVudC1nYXApO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuaXRlbS1yZWZlcmVuY2Uge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgY29sb3I6IGRlZmF1bHQtY29sb3VyKCRhYy1pdGVtLXJlZmVyZW5jZS1jb2xvdXIpO1xyXG4gICAgfVxyXG5cclxuICAgIC5pdGVtLXNuaXBwZXQge1xyXG4gICAgICAgIG1hcmdpbjogNXB4IDAgMDtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcclxuICAgICAgICBjb2xvcjogZGVmYXVsdC1jb2xvdXIoJGFjLWl0ZW0tc25pcHBldC1jb2xvdXIpO1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyBTZWFyY2ggY29udGFpbmVyIHdoZW4gcmVzdWx0IGhhdmUgYmVlbiBmb3VuZC5cclxuLmF1dG9jb21wbGV0ZS1yZXN1bHRzLXNlYXJjaC1jb250YWluZXIge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgfVxyXG4gICAgLmFqYXgtc2VhcmNoIHtcclxuICAgICAgICBoZWlnaHQ6ICRoZWFkZXItc2VhcmNoLWhlaWdodDtcclxuICAgICAgICArIGJ1dHRvbiB7XHJcbiAgICAgICAgICAgIGhlaWdodDogJGhlYWRlci1zZWFyY2gtaGVpZ2h0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4vLyBUaGUgY29udGFpbmVyIGZvciBlbnRpcmUgYXV0byBjb21wbGV0ZSBjb21wb25lbnRzLlxyXG4uYXV0b2NvbXBsZXRlLWNvbnRhaW5lciB7XHJcbiAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgLmFjLXJlc3VsdHMge1xyXG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiA5MDBweDtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIC8vdHJhbnNpdGlvbjogbWF4LWhlaWdodCAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAkYm94U2hhZG93MTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5hYy1yZXN1bHRzIHtcclxuICAgICAgICBtYXgtaGVpZ2h0OiAwcHg7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAvLyBEb24ndCBoaWRlIG92ZXJmbG93IGR1ZSB0byB1c2luZyBib3gtc2hhZG93cy5cclxuICAgICAgICAvLyBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgIC8vdHJhbnNpdGlvbjogbWF4LWhlaWdodCAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgfVxyXG4gICAgLnJlc3VsdHMtY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvdXIxO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgQGlmIChzbW9vdGgtZWRnZXMoKSkge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIHNtb290aC1lZGdlcygpIHNtb290aC1lZGdlcygpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGRyb3Bkb3duLWZvb3RlcjtcclxuICAgICAgICB9XHJcbiAgICAgICAgdWwge1xyXG4gICAgICAgICAgICBsaTpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgIC5hYy1pdGVtLWxpc3Qge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiXHJcbi8vIE9yaWdpbmFsIFNvdXJjZTpcclxuLy8gaHR0cHM6Ly9jb2RlcGVuLmlvL2lhbW51eHQvcGVuL2RSeEJYeFxyXG4vLyBodHRwczovL2NvZGVwZW4uaW8vaWFtbnV4dC9wZW4vdlpvSlBhXHJcblxyXG4uc2Ege1xyXG4gICAgd2lkdGg6ICgkc2EtZGltZW50aW9ucyArIDEwKTtcclxuICAgIGhlaWdodDogKCRzYS1kaW1lbnRpb25zICsgMTApO1xyXG4gICAgbWFyZ2luOiAkc2EtbWFyZ2luO1xyXG4gICAgJi13YXJuaW5nIHtcclxuICAgICAgICB3aWR0aDogbWFwLWdldCgkc2Etd2FybmluZy1kaW1lbnRpb25zLCB3aWR0aCk7XHJcbiAgICAgICAgaGVpZ2h0OiBtYXAtZ2V0KCRzYS13YXJuaW5nLWRpbWVudGlvbnMsIGhlaWdodCk7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgICAgIGJvcmRlcjogNHB4IHNvbGlkICRzYS13YXJuaW5nLWNvbG91cjtcclxuICAgICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBhbmltYXRpb246IHNjYWxlV2FybmluZyAwLjc1cyBpbmZpbml0ZSBhbHRlcm5hdGU7XHJcbiAgICAgICAgJjphZnRlcixcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgICAgIC8vIGFuaW1hdGlvbjogcHVsc2VXYXJuaW5nIDJzIGxpbmVhciBpbmZpbml0ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICB6LWluZGV4OiAxO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLWJvZHkge1xyXG4gICAgICAgICAgICB3aWR0aDogNXB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDQ3cHg7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgdG9wOiAxMHB4O1xyXG4gICAgICAgICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMnB4O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Etd2FybmluZy1jb2xvdXI7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDJweDtcclxuICAgICAgICAgICAgei1pbmRleDogMjtcclxuICAgICAgICAgICAgYW5pbWF0aW9uOiBwdWxzZVdhcm5pbmdJbnMgMC43NXMgaW5maW5pdGUgYWx0ZXJuYXRlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLWRvdCB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzYS13YXJuaW5nLWNvbG91cjtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgICAgICAgICBib3R0b206IDEwcHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogN3B4O1xyXG4gICAgICAgICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtM3B4O1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHdpZHRoOiA3cHg7XHJcbiAgICAgICAgICAgIHotaW5kZXg6IDI7XHJcbiAgICAgICAgICAgIGFuaW1hdGlvbjogcHVsc2VXYXJuaW5nSW5zIDAuNzVzIGluZmluaXRlIGFsdGVybmF0ZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLWVycm9yIHtcclxuICAgICAgICB3aWR0aDogbWFwLWdldCgkc2EtYWxlcnQtZGltZW50aW9ucywgd2lkdGgpO1xyXG4gICAgICAgIGhlaWdodDogbWFwLWdldCgkc2EtYWxlcnQtZGltZW50aW9ucywgaGVpZ2h0KTtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICAgICAgYm9yZGVyOiA0cHggc29saWQgJHNhLWFsZXJ0LWNvbG91cjtcclxuICAgICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBhbmltYXRpb246IGFuaW1hdGVFcnJvckljb24gLjVzO1xyXG4gICAgICAgICY6YWZ0ZXIsXHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMjBweDtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XHJcbiAgICAgICAgICAgIHdpZHRoOiA2MHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA0MHB4IDAgMCA0MHB4O1xyXG4gICAgICAgICAgICB3aWR0aDogMjZweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiA4MHB4O1xyXG4gICAgICAgICAgICB0b3A6IC0xN3B4O1xyXG4gICAgICAgICAgICBsZWZ0OiA1cHg7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDYwcHggNjBweDtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwIDEyMHB4IDEyMHB4IDA7XHJcbiAgICAgICAgICAgIGxlZnQ6IDMwcHg7XHJcbiAgICAgICAgICAgIHRvcDogLTExcHg7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDAgNjBweDtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcclxuICAgICAgICAgICAgYW5pbWF0aW9uOiByb3RhdGVQbGFjZWhvbGRlciA0LjI1cyBlYXNlLWluO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi14IHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgei1pbmRleDogMjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYtcGxhY2Vob2xkZXIge1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICAgICAgICAgIC8vIGJvcmRlcjogNHB4IHNvbGlkICRzYS1hbGVydC1jb2xvdXI7XHJcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDgwcHg7XHJcbiAgICAgICAgICAgIGxlZnQ6IC00cHg7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgdG9wOiAtNHB4O1xyXG4gICAgICAgICAgICB3aWR0aDogODBweDtcclxuICAgICAgICAgICAgei1pbmRleDogMjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYtZml4IHtcclxuICAgICAgICAgICAgd2lkdGg6IDVweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiA5MHB4O1xyXG4gICAgICAgICAgICBsZWZ0OiAyOHB4O1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHRvcDogOHB4O1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xyXG4gICAgICAgICAgICB6LWluZGV4OiAxO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi1sZWZ0LFxyXG4gICAgICAgICYtcmlnaHQge1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDVweDtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB6LWluZGV4OiAyO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2EtYWxlcnQtY29sb3VyO1xyXG4gICAgICAgICAgICB0b3A6IDM3cHg7XHJcbiAgICAgICAgICAgIHdpZHRoOiA0N3B4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi1sZWZ0IHtcclxuICAgICAgICAgICAgbGVmdDogMTdweDtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xyXG4gICAgICAgICAgICBhbmltYXRpb246IGFuaW1hdGVYTGVmdCAuNzVzO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi1yaWdodCB7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAxNnB4O1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xyXG4gICAgICAgICAgICBhbmltYXRpb246IGFuaW1hdGVYUmlnaHQgLjc1cztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLS0tIEVycm9yIEFuaW1hdGlvbiAtLS0tLVxyXG5cclxuQGtleWZyYW1lcyByb3RhdGVQbGFjZWhvbGRlciB7XHJcblxyXG4gICAgMCUsXHJcbiAgICA1JSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcclxuICAgIH1cclxuXHJcbiAgICAxMDAlLFxyXG4gICAgMTIlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDA1ZGVnKTtcclxuICAgIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBhbmltYXRlRXJyb3JJY29uIHtcclxuICAgIDAlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZVgoMTAwZGVnKTtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgfVxyXG5cclxuICAgIDEwMCUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlWCgwZGVnKTtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGFuaW1hdGVYTGVmdCB7XHJcblxyXG4gICAgMCUsXHJcbiAgICA2NSUge1xyXG4gICAgICAgIGxlZnQ6IDgycHg7XHJcbiAgICAgICAgdG9wOiA5NXB4O1xyXG4gICAgICAgIHdpZHRoOiAwO1xyXG4gICAgfVxyXG5cclxuICAgIDg0JSB7XHJcbiAgICAgICAgbGVmdDogMTRweDtcclxuICAgICAgICB0b3A6IDMzcHg7XHJcbiAgICAgICAgd2lkdGg6IDQ3cHg7XHJcbiAgICB9XHJcblxyXG4gICAgMTAwJSB7XHJcbiAgICAgICAgbGVmdDogMTdweDtcclxuICAgICAgICB0b3A6IDM3cHg7XHJcbiAgICAgICAgd2lkdGg6IDQ3cHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgYW5pbWF0ZVhSaWdodCB7XHJcblxyXG4gICAgMCUsXHJcbiAgICA2NSUge1xyXG4gICAgICAgIHJpZ2h0OiA4MnB4O1xyXG4gICAgICAgIHRvcDogOTVweDtcclxuICAgICAgICB3aWR0aDogMDtcclxuICAgIH1cclxuXHJcbiAgICA4NCUge1xyXG4gICAgICAgIHJpZ2h0OiAxNHB4O1xyXG4gICAgICAgIHRvcDogMzNweDtcclxuICAgICAgICB3aWR0aDogNDdweDtcclxuICAgIH1cclxuXHJcbiAgICAxMDAlIHtcclxuICAgICAgICByaWdodDogMTZweDtcclxuICAgICAgICB0b3A6IDM3cHg7XHJcbiAgICAgICAgd2lkdGg6IDQ3cHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLS0tIFdhcm5pbmcgQW5pbWF0aW9uICAtLS0tLVxyXG5cclxuQGtleWZyYW1lcyBzY2FsZVdhcm5pbmcge1xyXG4gICAgMCUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XHJcbiAgICB9XHJcblxyXG4gICAgMzAlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDIpO1xyXG4gICAgfVxyXG5cclxuICAgIDEwMCUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgcHVsc2VXYXJuaW5nIHtcclxuICAgIDAlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMDtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xyXG4gICAgICAgIG9wYWNpdHk6IDAuNTtcclxuICAgIH1cclxuXHJcbiAgICAzMCUge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIwO1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XHJcbiAgICAgICAgb3BhY2l0eTogMC41O1xyXG4gICAgfVxyXG5cclxuICAgIDEwMCUge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzYS13YXJuaW5nLWNvbG91cjtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDIpO1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgcHVsc2VXYXJuaW5nSW5zIHtcclxuICAgIDAlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Etd2FybmluZy1jb2xvdXI7XHJcbiAgICB9XHJcblxyXG4gICAgMTAwJSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNhLXdhcm5pbmctY29sb3VyXHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG5cclxuXHJcbi8vIFN1Y2Nlc3MgdGlja1xyXG4uY2hlY2tfbWFyayB7XHJcbiAgICB3aWR0aDogKG1hcC1nZXQoJHNhLXN1Y2Nlc3MtZGltZW50aW9ucywgd2lkdGgpICsgMTApO1xyXG4gICAgaGVpZ2h0OiAobWFwLWdldCgkc2Etc3VjY2Vzcy1kaW1lbnRpb25zLCBoZWlnaHQpICsgMTApO1xyXG4gICAgbWFyZ2luOiAkc2EtbWFyZ2luO1xyXG59XHJcblxyXG4uc2EtaWNvbiB7XHJcbiAgICB3aWR0aDogbWFwLWdldCgkc2Etc3VjY2Vzcy1kaW1lbnRpb25zLCB3aWR0aCk7XHJcbiAgICBoZWlnaHQ6IG1hcC1nZXQoJHNhLXN1Y2Nlc3MtZGltZW50aW9ucywgaGVpZ2h0KTtcclxuICAgIGJvcmRlcjogNHB4IHNvbGlkICRzYS1zdWNjZXNzLWNvbG91cjtcclxuICAgIGJvcmRlci1yYWRpdXM6IDQwcHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7XHJcbn1cclxuXHJcbi5zYS1pY29uLnNhLXN1Y2Nlc3Mge1xyXG4gICAgYm9yZGVyLWNvbG9yOiAkc2Etc3VjY2Vzcy1jb2xvdXI7XHJcbn1cclxuXHJcbi5zYS1pY29uLnNhLXN1Y2Nlc3M6OmJlZm9yZSxcclxuLnNhLWljb24uc2Etc3VjY2Vzczo6YWZ0ZXIge1xyXG4gICAgY29udGVudDogJyc7XHJcbiAgICBib3JkZXItcmFkaXVzOiA0MHB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgd2lkdGg6IDYwcHg7XHJcbiAgICBoZWlnaHQ6IDEyMHB4O1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xyXG59XHJcblxyXG4uc2EtaWNvbi5zYS1zdWNjZXNzOjpiZWZvcmUge1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTIwcHggMCAwIDEyMHB4O1xyXG4gICAgdG9wOiAtN3B4O1xyXG4gICAgbGVmdDogLTMzcHg7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xyXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogNjBweCA2MHB4O1xyXG59XHJcblxyXG4uc2EtaWNvbi5zYS1zdWNjZXNzOjphZnRlciB7XHJcbiAgICBib3JkZXItcmFkaXVzOiAwIDEyMHB4IDEyMHB4IDA7XHJcbiAgICB0b3A6IC0xMXB4O1xyXG4gICAgbGVmdDogMzBweDtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XHJcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiAwcHggNjBweDtcclxufVxyXG5cclxuLnNhLWljb24uc2Etc3VjY2VzcyAuc2EtcGxhY2Vob2xkZXIge1xyXG4gICAgd2lkdGg6IDgwcHg7XHJcbiAgICBoZWlnaHQ6IDgwcHg7XHJcbiAgICAvLyBib3JkZXI6IDRweCBzb2xpZCAkc2Etc3VjY2Vzcy1jb2xvdXI7XHJcbiAgICBib3JkZXItcmFkaXVzOiA0MHB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBsZWZ0OiAtNHB4O1xyXG4gICAgdG9wOiAtNHB4O1xyXG4gICAgei1pbmRleDogMjtcclxufVxyXG5cclxuLnNhLWljb24uc2Etc3VjY2VzcyAuc2EtZml4IHtcclxuICAgIHdpZHRoOiA1cHg7XHJcbiAgICBoZWlnaHQ6IDkwcHg7XHJcbiAgICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGxlZnQ6IDI4cHg7XHJcbiAgICB0b3A6IDhweDtcclxuICAgIHotaW5kZXg6IDE7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xyXG59XHJcblxyXG4uc2EtaWNvbi5zYS1zdWNjZXNzLmFuaW1hdGU6OmFmdGVyIHtcclxuICAgIGFuaW1hdGlvbjogcm90YXRlUGxhY2Vob2xkZXIgNC4yNXMgZWFzZS1pbjtcclxufVxyXG5cclxuLnNhLWljb24uc2Etc3VjY2VzcyB7XHJcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50XFw5O1xyXG59XHJcblxyXG4uc2EtaWNvbi5zYS1zdWNjZXNzIC5zYS1saW5lLnNhLXRpcCB7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZykgXFw5O1xyXG59XHJcblxyXG4uc2EtaWNvbi5zYS1zdWNjZXNzIC5zYS1saW5lLnNhLWxvbmcge1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKSBcXDk7XHJcbn1cclxuXHJcbi5hbmltYXRlU3VjY2Vzc1RpcCB7XHJcbiAgICBhbmltYXRpb246IGFuaW1hdGVTdWNjZXNzVGlwIDAuNzVzO1xyXG59XHJcblxyXG4uYW5pbWF0ZVN1Y2Nlc3NMb25nIHtcclxuICAgIGFuaW1hdGlvbjogYW5pbWF0ZVN1Y2Nlc3NMb25nIDAuNzVzO1xyXG59XHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgYW5pbWF0ZVN1Y2Nlc3NMb25nIHtcclxuICAgIDAlIHtcclxuICAgICAgICB3aWR0aDogMDtcclxuICAgICAgICByaWdodDogNDZweDtcclxuICAgICAgICB0b3A6IDU0cHg7XHJcbiAgICB9XHJcblxyXG4gICAgNjUlIHtcclxuICAgICAgICB3aWR0aDogMDtcclxuICAgICAgICByaWdodDogNDZweDtcclxuICAgICAgICB0b3A6IDU0cHg7XHJcbiAgICB9XHJcblxyXG4gICAgODQlIHtcclxuICAgICAgICB3aWR0aDogNTVweDtcclxuICAgICAgICByaWdodDogMHB4O1xyXG4gICAgICAgIHRvcDogMzVweDtcclxuICAgIH1cclxuXHJcbiAgICAxMDAlIHtcclxuICAgICAgICB3aWR0aDogNDdweDtcclxuICAgICAgICByaWdodDogOHB4O1xyXG4gICAgICAgIHRvcDogMzhweDtcclxuICAgIH1cclxufVxyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIGFuaW1hdGVTdWNjZXNzVGlwIHtcclxuICAgIDAlIHtcclxuICAgICAgICB3aWR0aDogMDtcclxuICAgICAgICBsZWZ0OiAxcHg7XHJcbiAgICAgICAgdG9wOiAxOXB4O1xyXG4gICAgfVxyXG5cclxuICAgIDU0JSB7XHJcbiAgICAgICAgd2lkdGg6IDA7XHJcbiAgICAgICAgbGVmdDogMXB4O1xyXG4gICAgICAgIHRvcDogMTlweDtcclxuICAgIH1cclxuXHJcbiAgICA3MCUge1xyXG4gICAgICAgIHdpZHRoOiA1MHB4O1xyXG4gICAgICAgIGxlZnQ6IC04cHg7XHJcbiAgICAgICAgdG9wOiAzN3B4O1xyXG4gICAgfVxyXG5cclxuICAgIDg0JSB7XHJcbiAgICAgICAgd2lkdGg6IDE3cHg7XHJcbiAgICAgICAgbGVmdDogMjFweDtcclxuICAgICAgICB0b3A6IDQ4cHg7XHJcbiAgICB9XHJcblxyXG4gICAgMTAwJSB7XHJcbiAgICAgICAgd2lkdGg6IDI1cHg7XHJcbiAgICAgICAgbGVmdDogMTRweDtcclxuICAgICAgICB0b3A6IDQ1cHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgYW5pbWF0ZVN1Y2Nlc3NUaXAge1xyXG4gICAgMCUge1xyXG4gICAgICAgIHdpZHRoOiAwO1xyXG4gICAgICAgIGxlZnQ6IDFweDtcclxuICAgICAgICB0b3A6IDE5cHg7XHJcbiAgICB9XHJcblxyXG4gICAgNTQlIHtcclxuICAgICAgICB3aWR0aDogMDtcclxuICAgICAgICBsZWZ0OiAxcHg7XHJcbiAgICAgICAgdG9wOiAxOXB4O1xyXG4gICAgfVxyXG5cclxuICAgIDcwJSB7XHJcbiAgICAgICAgd2lkdGg6IDUwcHg7XHJcbiAgICAgICAgbGVmdDogLThweDtcclxuICAgICAgICB0b3A6IDM3cHg7XHJcbiAgICB9XHJcblxyXG4gICAgODQlIHtcclxuICAgICAgICB3aWR0aDogMTdweDtcclxuICAgICAgICBsZWZ0OiAyMXB4O1xyXG4gICAgICAgIHRvcDogNDhweDtcclxuICAgIH1cclxuXHJcbiAgICAxMDAlIHtcclxuICAgICAgICB3aWR0aDogMjVweDtcclxuICAgICAgICBsZWZ0OiAxNHB4O1xyXG4gICAgICAgIHRvcDogNDVweDtcclxuICAgIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBhbmltYXRlU3VjY2Vzc0xvbmcge1xyXG4gICAgMCUge1xyXG4gICAgICAgIHdpZHRoOiAwO1xyXG4gICAgICAgIHJpZ2h0OiA0NnB4O1xyXG4gICAgICAgIHRvcDogNTRweDtcclxuICAgIH1cclxuXHJcbiAgICA2NSUge1xyXG4gICAgICAgIHdpZHRoOiAwO1xyXG4gICAgICAgIHJpZ2h0OiA0NnB4O1xyXG4gICAgICAgIHRvcDogNTRweDtcclxuICAgIH1cclxuXHJcbiAgICA4NCUge1xyXG4gICAgICAgIHdpZHRoOiA1NXB4O1xyXG4gICAgICAgIHJpZ2h0OiAwcHg7XHJcbiAgICAgICAgdG9wOiAzNXB4O1xyXG4gICAgfVxyXG5cclxuICAgIDEwMCUge1xyXG4gICAgICAgIHdpZHRoOiA0N3B4O1xyXG4gICAgICAgIHJpZ2h0OiA4cHg7XHJcbiAgICAgICAgdG9wOiAzOHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4uc2EtaWNvbi5zYS1zdWNjZXNzIC5zYS1saW5lIHtcclxuICAgIGhlaWdodDogNXB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHNhLXN1Y2Nlc3MtY29sb3VyO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB6LWluZGV4OiAyO1xyXG59XHJcblxyXG4uc2EtaWNvbi5zYS1zdWNjZXNzIC5zYS1saW5lLnNhLXRpcCB7XHJcbiAgICB3aWR0aDogMjVweDtcclxuICAgIGxlZnQ6IDE0cHg7XHJcbiAgICB0b3A6IDQ2cHg7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcclxufVxyXG5cclxuLnNhLWljb24uc2Etc3VjY2VzcyAuc2EtbGluZS5zYS1sb25nIHtcclxuICAgIHdpZHRoOiA0N3B4O1xyXG4gICAgcmlnaHQ6IDhweDtcclxuICAgIHRvcDogMzhweDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVQbGFjZWhvbGRlciB7XHJcbiAgICAwJSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcclxuICAgIH1cclxuXHJcbiAgICA1JSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcclxuICAgIH1cclxuXHJcbiAgICAxMiUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00MDVkZWcpO1xyXG4gICAgfVxyXG5cclxuICAgIDEwMCUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00MDVkZWcpO1xyXG4gICAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHJvdGF0ZVBsYWNlaG9sZGVyIHtcclxuICAgIDAlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xyXG4gICAgfVxyXG5cclxuICAgIDUlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xyXG4gICAgfVxyXG5cclxuICAgIDEyJSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQwNWRlZyk7XHJcbiAgICB9XHJcblxyXG4gICAgMTAwJSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQwNWRlZyk7XHJcbiAgICB9XHJcbn0iLCIvKlxyXG4tLS0tLSBOb3RpZmljYXRpb25zICggQ2FsbG91dHMgKSAtLS0tLVxyXG5IYW5kbGVzIHRoZSBmb2xsb3dpbmc6IFxyXG4tIE9uIHBhZ2Ugbm90aWNhdGlvbnMgKCBubyBpdGVtcyBmb3VuZCApIFxyXG4tIEhlYWRlciBub3RpZmljYXRpb25zLlxyXG4tIENvb2tpZSBub3RpZmljYXRpb24uXHJcbi0gQ2FsbG91dHMgKCB0aGluZ3MgdGhhdCBzbGlkZSBvdXQgZnJvbSB0aGUgZWRnZWQgb2YgYSB3aW5kb3cgKSBcclxuLSBObyBKYXZhc2NyaXB0IG5vdGlmaWNhdGlvblxyXG4tIEJyb3dzZXIgY29tcGF0aWJsaXR5IG5vdGlmaWNhdGlvbiBcclxuXHJcbiovXHJcblxyXG4uaGVhZGVyLW5vdGlmaWNhdGlvbi1jb250YWluZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICAuY2FsbG91dCB7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDAgMTBweDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOm5vdCg6Zmlyc3Qtb2YtdHlwZSkge1xyXG4gICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkaGVhZGVyLXN0YXR1cy1tZXNzYWdlcy1jb2xvdXI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGg1IHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwIDAgMCAzNXB4O1xyXG4gICAgICAgICAgICBtYXJnaW46IDEwcHggMDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkaGVhZGVyLXN0YXR1cy1tZXNzYWdlcy1jb2xvdXI7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgNXB4IDAgMDtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjJweDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkaGVhZGVyLXN0YXR1cy1tZXNzYWdlcy1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgY29sb3I6ICRoZWFkZXItc3RhdHVzLW1lc3NhZ2VzLWNvbG91cjtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGhlYWRlci1zdGF0dXMtbWVzc2FnZXMtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMC42O1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkaGVhZGVyLXN0YXR1cy1tZXNzYWdlcy1jb2xvdXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgYnV0dG9uIHtcclxuICAgICAgICAgICAgJjpub3QoLmNsb3NlLWJ1dHRvbikge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYuY2xvc2UtYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuYWxlcnQge1xyXG4gICAgICAgIGg1IHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgYWxlcnQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLndhcm5pbmcge1xyXG4gICAgICAgIGg1IHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgd2FybmluZyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IFxyXG4gICAgfVxyXG4gICAgLnN1Y2Nlc3Mge1xyXG4gICAgICAgIGg1IHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgc3VjY2Vzcyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IFxyXG4gICAgfVxyXG4gICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICBtYXgtd2lkdGg6ICRnbG9iYWwtd2lkdGg7XHJcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIH1cclxuICAgIC5jbG9zZS1idXR0b24ge1xyXG4gICAgICAgIHdpZHRoOiAxN3B4O1xyXG4gICAgICAgIGhlaWdodDogMTdweDtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBtYXJnaW46IDVweCAwIDA7XHJcbiAgICAgICAgQGluY2x1ZGUgY2xvc2VCdXR0b24oMjBweCwgJGNvbG91cjEpO1xyXG4gICAgfVxyXG59XHJcblxyXG4ubm90aWZpY2F0aW9uLWNvbnRhaW5lci5jYWxsb3V0IHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbi8vIFRoZXNlIG5vcm1hbGx5IHNsaWRlIG91dCBmcm9tIHRoZSB0b3Agb3Igc2l6ZS5cclxuXHJcbi5jYWxsb3V0LWNvbnRhaW5lciB7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICByaWdodDogMDtcclxuICAgIGJvdHRvbTogMzBweDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICB6LWluZGV4OiA5OTk5OTk5OTk5OTk7XHJcbiAgICAmLnNpZGUge1xyXG4gICAgICAgIC5jYWxsb3V0IHtcclxuICAgICAgICAgICAgQGlmIHNtb290aC1lZGdlcygpIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpIDAgMCBzbW9vdGgtZWRnZXMoKTsgXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuY2FsbG91dCB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIG1hcmdpbjogMXJlbSAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDI1cHg7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRub3RpZmljYXRpb24tY2FsbG91dC1mb250LXdlaWdodDtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwYXJhZ3JhcGgtZm9udC1zaXplICsgMSk7XHJcbiAgICAgICAgQGlmICgkbm90aWZpY2F0aW9uLWNhbGxvdXQtdGV4dC10cmFuc2Zvcm0pIHtcclxuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRub3RpZmljYXRpb24tY2FsbG91dC10ZXh0LXRyYW5zZm9ybTtcclxuICAgICAgICB9ICAgXHJcbiAgICAgICAgLy8gRmFrZSBiYWNrZ3JvdW5kIHRvIHByZXZlbnQgd2hhdGV2ZXIgaXMgYmVoaW5kIHRoZSBub3RpZmljYXRpb24gc2hvd2luZyB0aHJvdWdoLlxyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjE7XHJcbiAgICAgICAgICAgIHotaW5kZXg6IC0xO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLnN1Y2Nlc3Mge1xyXG4gICAgICAgICAgICBib3JkZXItbGVmdDogNXB4IHNvbGlkIG1hcC1nZXQoJG5vdGlmaWNhdGlvbnMtY29sb3VyLCBzdWNjZXNzKTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkbm90aWZpY2F0aW9ucy1iYWNrZ3JvdW5kLWNvbG91ciwgc3VjY2Vzcyk7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRub3RpZmljYXRpb25zLWNvbG91ciwgc3VjY2Vzcyk7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICBzdHJvbmcge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJG5vdGlmaWNhdGlvbnMtY29sb3VyLCBzdWNjZXNzKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLndhcm5pbmcge1xyXG4gICAgICAgICAgICBib3JkZXItbGVmdDogNXB4IHNvbGlkIG1hcC1nZXQoJG5vdGlmaWNhdGlvbnMtY29sb3VyLCB3YXJuaW5nKTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkbm90aWZpY2F0aW9ucy1iYWNrZ3JvdW5kLWNvbG91ciwgd2FybmluZyk7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRub3RpZmljYXRpb25zLWNvbG91ciwgd2FybmluZyk7XHJcbiAgICAgICAgICAgIHN0cm9uZyB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkbm90aWZpY2F0aW9ucy1jb2xvdXIsIHdhcm5pbmcpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuYWxlcnQge1xyXG4gICAgICAgICAgICBib3JkZXItbGVmdDogNXB4IHNvbGlkIG1hcC1nZXQoJG5vdGlmaWNhdGlvbnMtY29sb3VyLCBhbGVydCk7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJG5vdGlmaWNhdGlvbnMtYmFja2dyb3VuZC1jb2xvdXIsIGFsZXJ0KTtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJG5vdGlmaWNhdGlvbnMtY29sb3VyLCBhbGVydCk7XHJcbiAgICAgICAgICAgIHN0cm9uZyB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkbm90aWZpY2F0aW9ucy1jb2xvdXIsIGFsZXJ0KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBoNSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAyNXB4IDAgMDtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkcGFyYWdyYXBoLWZvbnQtc2l6ZSArIDEpO1xyXG4gICAgICAgICAgICBzdHJvbmcge1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuY2xvc2UtYnV0dG9uIHtcclxuICAgICAgICAgICAgdG9wOiA1MCU7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuXHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgIGJvdHRvbTogNHB4O1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgY2xvc2VCdXR0b24oMjBweCwgJGNvbG91cjMtMik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIFRoZXNlIGFyZSB0eXBpY2FsbHkgZW1iZWRkZWQgaW4gdGhlIG1haW4gY29udGVudC5cclxuLm9uLXBhZ2Utbm90aWZpY2F0aW9ucy1jb250YWluZXIge1xyXG4gICAgbWFyZ2luOiAwIDAgMjBweDtcclxufVxyXG4ub24tcGFnZS1ub3RpZmljYXRpb24ge1xyXG4gICAgQGluY2x1ZGUgb24tcGFnZS1ub3RpZmljYXRpb25zKCRuby1pdGVtcy1mb3VuZC1wYWRkaW5nLCAkbm8taXRlbXMtZm91bmQtbWFyZ2luLCAkbm8taXRlbXMtZm91bmQtZm9udC1zaXplLCAkbm8taXRlbXMtZm91bmQtaWNvbi1zaXplKTtcclxufVxyXG5cclxuXHJcbi5uby1pdGVtcy1mb3VuZC1jb250YWluZXIge1xyXG4gICBAaW5jbHVkZSBvbi1wYWdlLW5vdGlmaWNhdGlvbnMoJG5vLWl0ZW1zLWZvdW5kLXBhZGRpbmcsICRuby1pdGVtcy1mb3VuZC1tYXJnaW4sICRuby1pdGVtcy1mb3VuZC1mb250LXNpemUsICRuby1pdGVtcy1mb3VuZC1pY29uLXNpemUpO1xyXG59XHJcblxyXG4uaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIHtcclxuICAgIEBpbmNsdWRlIG9uLXBhZ2Utbm90aWZpY2F0aW9ucygkaW50ZXJuYWwtZXJyb3ItcGFkZGluZywgJGludGVybmFsLWVycm9yLW1hcmdpbiwgJGludGVybmFsLWVycm9yLWZvbnQtc2l6ZSwgJGludGVybmFsLWVycm9yLWljcm9uLXNpemUpO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkb24tcGFnZS1ub3RpZmljYXRpb24tYmFja2dyb3VuZCwgYWxlcnQpO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgbWFwLWdldCgkb24tcGFnZS1ub3RpZmljYXRpb24tY29sb3VyLCBhbGVydCk7XHJcbiAgICBwIHtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkb24tcGFnZS1ub3RpZmljYXRpb24tY29sb3VyLCBhbGVydCk7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBhbGVydCk7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJG9uLXBhZ2Utbm90aWZpY2F0aW9uLWNvbG91ciwgYWxlcnQpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcbiNub0pzQmFza2V0Tm90aWZpY2F0aW9uIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMTAwJTtcclxuICAgIHBhZGRpbmc6IDEwcHggMzBweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICB6LWluZGV4OiAxO1xyXG4gICAgcCB7XHJcbiAgICAgICAgbWFyZ2luOiAwIDAgMTBweDtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkYWNjZW50LWNvbG91ci0xLCAyKTtcclxuICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgICY6bGFzdC1vZi10eXBlIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMzBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBhIHsgXHJcbiAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgICAgIHBhZGRpbmc6IDE1cHggMjBweDtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwYXJhZ3JhcGgtZm9udC1zaXplKTtcclxuICAgIH1cclxufVxyXG4ubm90aWZpY2F0aW9uLWNvbnRhaW5lci5jb21wYXRpYmlsaXR5IHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgLy8gT3ZlcnJpZGUgYWN0aXZlIGNsYXNzIGFzIHlvdSBhbHdheXMgd2FudCB0aGlzIHRvIGJlIGFjdGl2ZS5cclxuICAgIG1heC1oZWlnaHQ6IDUwMHB4O1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgcGFkZGluZzogMjBweCAwO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYShtYXAtZ2V0KCRhY2NlbnQtY29sb3VyLTEsIDIpLCAwLjkpO1xyXG4gICAgY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgei1pbmRleDogMTtcclxuICAgIGJvcmRlci1jb2xvcjogJGNvbG91cjE7XHJcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgYm9yZGVyLXdpZHRoOiAxcHggMCAwO1xyXG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYWNjZW50LWNvbG91ci0xLCAyKTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICB9XHJcbiAgICBoMyB7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpO1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3VyMTtcclxuICAgIH1cclxuICAgIHAge1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwYXJhZ3JhcGgtZm9udC1zaXplKTtcclxuICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgfVxyXG4gICAgYSB7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG91cjI7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICRpbnB1dC10cmFuc2l0aW9uO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcblxyXG4vLyAtLS0tLSBOb3RpZmljYXRpb25zIC0tLS0tIFxyXG4ubm90aWZpY2F0aW9ucy1jb250YWluZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICBib3R0b206IDA7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIHotaW5kZXg6IDIwMDA7XHJcbn1cclxuXHJcbi5ub3RpZmljYXRpb24tY29udGFpbmVyIHtcclxuICAgIG1heC1oZWlnaHQ6IDA7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICB6LWluZGV4OiAkbm90aWZpY2F0aW9ucy16LWluZGV4O1xyXG4gICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgJi5hY3RpdmUge1xyXG4gICAgICAgIG1heC1oZWlnaHQ6IDUwMHB4O1xyXG4gICAgICAgIHBhZGRpbmc6IG1hcC1nZXQoJG5vdGlmaWNhdGlvbnMtcGFkZGluZywgc21hbGwpO1xyXG4gICAgICAgIGJveC1zaGFkb3c6ICRib3hTaGFkb3cxO1xyXG4gICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDQ1MG1zO1xyXG4gICAgICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgM3M7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBtYXAtZ2V0KCRub3RpZmljYXRpb25zLXBhZGRpbmcsIGxhcmdlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAubm90aWZpY2F0aW9uIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIH1cclxuICAgIC5ub3RpZmljYXRpb24taWNvbiB7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAgICAgbWFyZ2luOiBhdXRvIHNtYWxsLXZhbHVlKCRub3RpZmljYXRpb25zLWJ1dHRvbnMtZ3V0dGVyKSBhdXRvIDA7XHJcbiAgICAgICAgcGFkZGluZzogJG5vdGlmaWNhdGlvbnMtaWNvbi1wYWRkaW5nO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRub3RpZmljYXRpb25zLWljb24tYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCRub3RpZmljYXRpb25zLWljb24tYm9yZGVyLXJhZGl1cyk7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG8gbGFyZ2UtdmFsdWUoJG5vdGlmaWNhdGlvbnMtYnV0dG9ucy1ndXR0ZXIpIGF1dG8gMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgd2lkdGg6ICRub3RpZmljYXRpb25zLWljb24td2lkdGg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgZmxleC1iYXNpczogMTgwcHg7XHJcbiAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICAgIGNvbG9yOiAkY29va2llLW5vdGlmaWNhdGlvbi1jb2xvdXI7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogNzAlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBwIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5idXR0b24tY29udGFpbmVyIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIG1hcmdpbi10b3A6IChzbWFsbC12YWx1ZSgkbm90aWZpY2F0aW9ucy1idXR0b25zLWd1dHRlcikgKyA1KTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gICAgICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFtjbGFzcyQ9XCItYnV0dG9uXCJdIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IHNtYWxsLXZhbHVlKCRub3RpZmljYXRpb25zLWJ1dHRvbnMtZ3V0dGVyKTtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBsYXJnZS12YWx1ZSgkbm90aWZpY2F0aW9ucy1idXR0b25zLWd1dHRlcik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAucmVhZC1tb3JlIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBtYXgtaGVpZ2h0OiAwO1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgdHJhbnNpdGlvbjogcGFkZGluZy10b3AgMnMsIG1heC1oZWlnaHQgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDMwMHB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMjVweDtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogcGFkZGluZy10b3AgJHRyYW5zaXRpb25JbnRybywgbWF4LWhlaWdodCAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAucmVhZC1tb3JlLWNvbnRlbnQge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHg7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRjb29raWUtbm90aWZpY2F0aW9uLWNvbG91cjtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbkludHJvLFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5yZWFkLW1vcmUtY29udGVudCB7XHJcbiAgICAgICAgICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcclxuICAgICAgICAgICAgcGFkZGluZzogMTBweDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjE7XHJcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMDtcclxuICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3VyMDtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCRub3RpZmljYXRpb25zLWJvcmRlci1yYWRpdXMpO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgQGluY2x1ZGUgY21zLWhlYWRpbmdzKCk7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGNtcy1wYXJhZ3JhcGgoKTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgY21zLWxpc3RzKCk7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGNtcy10YWJsZSgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5yZWFkLW1vcmUtdHJpZ2dlciB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogc21hbGwtdmFsdWUoJG5vdGlmaWNhdGlvbnMtYnV0dG9ucy1ndXR0ZXIpO1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRub3RpZmljYXRpb25zLXJlYWQtbW9yZS10cmlnZ2VyLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRub3RpZmljYXRpb25zLXJlYWQtbW9yZS10cmlnZ2VyLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJG5vdGlmaWNhdGlvbnMtcmVhZC1tb3JlLXRyaWdnZXItY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmFjdGl2ZSwgJi5hY3RpdmUge1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkbm90aWZpY2F0aW9ucy1yZWFkLW1vcmUtdHJpZ2dlci1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYucHdhIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbm90aWZpY2F0aW9ucy1hcHAtYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICB9XHJcbiAgICAmLmNvb2tpZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvb2tpZS1ub3RpZmljYXRpb24tYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICB9XHJcbn0iLCIvKlxyXG5cclxuLS0tLSBJbWFnZSBPdmVybGF5cyAtLS0tIFxyXG5cclxuSW1hZ2Ugb3ZlcmxheXMgZm9yIGVzc2VudGlhbGx5IGhpZ2hsaWdodGVkIGl0ZW1zOlxyXG4tIFNwZWNpYWwgT2ZmZXJzXHJcbi0gRmVhdHVyZWQgSXRlbXNcclxuLSBCZXN0IFNlbGxlcnNcclxuLSBQcmV2aW91c2x5IFB1cmNoYXNlZFxyXG5cclxuVGhlc2Ugbm9ybWFsbHkgYXJlIHRoZSBzaXplIG9mIHRoZSBwcm9kdWN0IGltYWdlIHdoZXRoZXIgaXRzIG9uIGEgbGlzdGluZyBvciBwcm9kdWN0IHBhZ2Ugd2l0aCBhIHRyYW5zcGFyZW50IGJhY2tncm91bmQuXHJcblxyXG5XZSBhbGxvdyBmb3IgZGlmZmVyZW50IGltYWdlcyB0byBiZSBkaXNwbGF5ZWQgaWYgYSBncm91cCBpcyBtYXJrZWQgYXMgYSBoaWdobGlnaHRlZCBpdGVtIG9yIHdoZXRoZXIgaXRzIGFuIGluZGl2aWR1YWwgcHJvZHVjdC5cclxuXHJcbiovXHJcblxyXG4vLyBTdXBwcmVzcyBvdmVybGF5cyBpZiB5b3UncmUgb24gdGhlIGRlZGljYXRlZCBwYWdlLlxyXG4jc3BlY2lhbC1vZmZlcnMge1xyXG4gICAgLm92ZXJsYXkuc3RvY2suc3BlY2lhbE9mZmVyIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG59XHJcbiNmZWF0dXJlZC1pdGVtcyB7XHJcbiAgICAub3ZlcmxheS5zdG9jay5mZWF0dXJlZHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG59XHJcbiNiZXN0LXNlbGxlcnMge1xyXG4gICAgLm92ZXJsYXkuc3RvY2suYmVzdFNlbGxlcntcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLy8gU3BlY2lmaWNhbGx5IG5vdCBmb3IgY29tcGFjdCBjYXJvdXNlbHMgb3ZlcmxheSBwb3NpdGlvbmluZy5cclxuLmNvbnRlbnQtY29udGFpbmVyOm5vdCguY29tcGFjdCkge1xyXG4gICAgLm92ZXJsYXkge1xyXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246ICRpbWFnZS1vdmVybGF5LXBvc2l0aW9uO1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyBDZW50ZXJhbGlzZSB0aGUgcHJvZHVjdCBvdmVybGF5IG92ZXIgdGhlIG1haW4gcHJvZHVjdCBpbWFnZS5cclxuI21haW5JbWFnZUNvbnRhaW5lciB7XHJcbiAgICAub3ZlcmxheSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogJGltYWdlLW92ZXJsYXktcG9zaXRpb247XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4uaW1hZ2Uge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgZGlzcGxheTogZ3JpZDtcclxuICAgIHBsYWNlLWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGFzcGVjdC1yYXRpbzogdmFyKC0tbWVkaWEtYXNwZWN0LXJhdGlvLCBhdXRvKTtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAmOmhhcyhpbWdbc3JjJD1cIi5wbmdcIl0pIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW1hZ2UtYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICB9XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICAub3ZlcmxheSB7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBpbWcge1xyXG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIC8vIEFsd2F5cyBzY2FsZSBkb3duIHRoZSBpbWFnZSB0byBmaXQgd2l0aGluIHRoZSBjb250YWluZXIuXHJcbiAgICAgICAgb2JqZWN0LWZpdDogY29udGFpbjtcclxuICAgICAgICAvLyBTVkcncyBtYXkgbm90IGhhdmUgYSB3aWR0aCAgYXR0cmlidXRlIHNldCwgc28gd2UgbmVlZCB0byBhc3N1bWUgdG8gc2NhbGUgdG8gdGhlIG1heCBhdmFpbGFibGUgd2lkdGguXHJcbiAgICAgICAgJltzcmMkPVwiLnN2Z1wiXSwgJltzcmMkPVwiLlNWR1wiXSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGEge1xyXG4gICAgICAgIC8vIEV4cGFuZCB0byAxMDAlIG9mIHRoZSBhdmFpbGFibGUgd2lkdGguXHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgLy8gTWFrZSBzdXJlIGNvbnRlbnQgaXMgYWxpZ25lZCBjZW50ZXIsIHlvdSBjYW5ub3QgcmVseSBvbiB0aGUgaW1hZ2UgYmVpbmcgcHJvdmlkZWQgYXQgdGhlIGNvcnJlY3Qgc2l6ZS5cclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB9XHJcbiAgICAub3ZlcmxheSB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAvLyBTZXR0aW5nIHNpemUgdG8gY29udGFpbiBvdGhlcndpc2UgaW1hZ2Ugd2lsbCBvdmVyZmxvdyB0aGUgcHJvZHVjdCBpbWFnZSBpbiBjYXJvdXNlbHMuXHJcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xyXG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICYuZ3JvdXAuc3BlY2lhbE9mZmVyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRpbWFnZS1vdmVybGF5LXVybCArICAnZ3JvdXAvc2FzaC1zcGVjaWFsLWViZy5wbmcnKTtcclxuICAgICAgICAgICAgLy8gei1pbmRleDogbWFwLWdldCgkZ3JvdXAtaW1hZ2Utb3ZlcmxheXMtb3JkZXIsIHNwZWNpYWwtb2ZmZXIpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmdyb3VwLmZlYXR1cmVkIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRpbWFnZS1vdmVybGF5LXVybCArICAnZ3JvdXAvc2FzaC1mZWF0dXJlZC1lYmcucG5nJyk7XHJcbiAgICAgICAgICAgIC8vIHotaW5kZXg6IG1hcC1nZXQoJGdyb3VwLWltYWdlLW92ZXJsYXlzLW9yZGVyLCBmZWF0dXJlZC1pdGVtKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5ncm91cC5iZXN0U2VsbGVyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRpbWFnZS1vdmVybGF5LXVybCArICAnZ3JvdXAvc2FzaC1iZXN0c2VsbGVyLWViZy5wbmcnKTtcclxuICAgICAgICAgICAgLy8gei1pbmRleDogbWFwLWdldCgkZ3JvdXAtaW1hZ2Utb3ZlcmxheXMtb3JkZXIsIGJlc3Qtc2VsbGVyKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5zdG9jay5zcGVjaWFsT2ZmZXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJGltYWdlLW92ZXJsYXktdXJsICsgJ3Byb2R1Y3Qvc2FzaC1zcGVjaWFsLWViZy5wbmcnKTtcclxuICAgICAgICAgICAgLy8gei1pbmRleDogbWFwLWdldCgkcHJvZHVjdC1pbWFnZS1vdmVybGF5cy1vcmRlciwgc3BlY2lhbC1vZmZlcik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuc3RvY2suZmVhdHVyZWQge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJGltYWdlLW92ZXJsYXktdXJsICsgICdwcm9kdWN0L3Nhc2gtZmVhdHVyZWQtZWJnLnBuZycpO1xyXG4gICAgICAgICAgICAvLyB6LWluZGV4OiBtYXAtZ2V0KCRwcm9kdWN0LWltYWdlLW92ZXJsYXlzLW9yZGVyLCBmZWF0dXJlZC1pdGVtKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5zdG9jay5iZXN0U2VsbGVyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRpbWFnZS1vdmVybGF5LXVybCArICAncHJvZHVjdC9zYXNoLWJlc3RzZWxsZXItZWJnLnBuZycpO1xyXG4gICAgICAgICAgICAvLyB6LWluZGV4OiBtYXAtZ2V0KCRwcm9kdWN0LWltYWdlLW92ZXJsYXlzLW9yZGVyLCBiZXN0LXNlbGxlcik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuc3RvY2sucHJldmlvdXNseS1wdXJjaGFzZWQge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJGltYWdlLW92ZXJsYXktdXJsICsgJ3Byb2R1Y3Qvc2FzaC1wcmV2aW91c2x5LXB1cmNoYXNlZC5wbmcnKTtcclxuICAgICAgICAgICAgLy8gei1pbmRleDogbWFwLWdldCgkcHJvZHVjdC1pbWFnZS1vdmVybGF5cy1vcmRlciwgcHJldmlvdXNseS1wdXJjaGFzZWQpO1xyXG4gICAgICAgIH0gXHJcbiAgICAgICAgJi5zdG9jay5jb250cmFjdC1pdGVtIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRpbWFnZS1vdmVybGF5LXVybCArICdwcm9kdWN0L3Nhc2gtY29udHJhY3QtaXRlbS5wbmcnKTtcclxuICAgICAgICAgICAgLy8gei1pbmRleDogbWFwLWdldCgkcHJvZHVjdC1pbWFnZS1vdmVybGF5cy1vcmRlciwgY29udHJhY3QtaXRlbSk7XHJcbiAgICAgICAgfSBcclxuICAgIH1cclxufSIsIlxyXG5cclxuXHJcbltkYXRhLWNvdW50ZG93bi10aW1lXSB7XHJcbiAgICBtYXgtaGVpZ2h0OiAwO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG5cclxuXHJcbi5jb3VudGRvd24tY29udGFpbmVyIHtcclxuICAgIHAge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHByb2R1Y3QtZW5xdWlyeS1kZWxpdmVyeS1jb3VudGRvd24pO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgN3B4IDAgMDtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBtYXgtaGVpZ2h0OiAxMDAwcHg7XHJcbiAgICAuY291bnRkb3duLWRpc3BsYXksIC5kaXNwbGF5LWxhYmVsIHtcclxuICAgICAgICBtYXJnaW46IDAgNXB4IDA7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRjb3VudGRvd24tZGlzcGxheS1mb250LXdlaWdodDtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkY291bnRkb3duLWRpc3BsYXktY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICYgKyAuZGlzcGxheS1sYWJlbCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICZbY291bnRkb3duLXN0YXR1cz1hbGVydF0ge1xyXG4gICAgICAgIC5jb3VudGRvd24tZGlzcGxheSwgLmRpc3BsYXktbGFiZWwge1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkY291bnRkb3duLWRpc3BsYXktY29sb3VyLCBhbGVydCk7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJltjb3VudGRvd24tc3RhdHVzPXdhcm5pbmddIHtcclxuICAgICAgICAuY291bnRkb3duLWRpc3BsYXksIC5kaXNwbGF5LWxhYmVsIHtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvdW50ZG93bi1kaXNwbGF5LWNvbG91ciwgd2FybmluZyk7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIC0tLSBUcmFuc2l0aW9ucyAtLS1cclxuICAgICYuY291bnRkb3duLWluYWN0aXZlIHtcclxuICAgICAgICBtYXgtaGVpZ2h0OiAwO1xyXG4gICAgICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgJHRyYW5zaXRpb25JbnRybztcclxuICAgIH1cclxuICAgICYuY291bnRkb3duLWFjdGl2ZSB7XHJcbiAgICAgICAgbWF4LWhlaWdodDogMTAwMHB4O1xyXG4gICAgICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgNXM7XHJcbiAgICB9XHJcbiAgICBcclxufSIsIlxyXG4vKlxyXG5cclxuLS0tLS0gUFdBICggUHJvZ3Jlc3NpdmUgV2ViIEFwcGxpY2F0aW9uICkgLS0tLS0gXHJcbi0gSW5zdGFsbGF0aW9uIHByb21wdC5cclxuXHJcbiovXHJcbiIsIi8qXHJcbi0tLS0tIFBheW1lbnQgTWV0aG9kcyAtLS0tLVxyXG5IYW5kbGVzIHRoZSBmb2xsb3dpbmc6IFxyXG4tIEhvdyBwYXltZW50IG1ldGhvZHMgc3VjaCBvZiBvcGF5byBpZnJhbWUgbG9va3MgaW4gdGhlIGNoZWNrb3V0LlxyXG4qL1xyXG5cclxuLy8gQXQgdGhlIHRpbWUgb2Ygd3JpdGluZyB0aGUgc3BhY2luZyB3YXMgZmFpcmx5IGNvbnNpc3RlbnQgZHVlIHRvIGEgXCIgc2ltcGxpc2ggXCIgVUkgdGhpcyBtaWdodCBjaGFuZ2UgaW4gdGhlIGZ1dHVyZS5cclxuJHBheW1lbnQtY29udGFpbmVyLWVsZW1lbnQtc3BhY2luZzogMjBweDtcclxuXHJcbi5wYXltZW50LWNvbnRhaW5lciB7XHJcbiAgICBtYXJnaW46IDAgMCAyMHB4O1xyXG4gICAgLy8gVGhlIDpub3QgY2hlY2sgd2FzIHB1dCBpbiBwbGFjZSBhcyB0aGVzZSBzdHlsZXMgY29uZmxpY3Qgd2l0aCBvbGQgQ1NTIHJ1bGVzLCBvbmNlIHdlIG1vdmUgYXdheSBmcm9tIG9sZCBvcGF5byBzZXJ2ZXIgZnJhbWVzIHRoaXMgY2hlY2sgY2FuIGdvIGFzIHdlbGwgYXMgdGhlIC5wYXltZW50LW1ldGhvZCBjbGFzcy4gXHJcbiAgICAmOm5vdCg6aGFzKD4gLnBheW1lbnQtbWV0aG9kKSkge1xyXG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAvLyB3aWR0aDogc21hbGwtdmFsdWUoJHBheW1lbnQtY29udGFpbmVyLXdpZHRoKTtcclxuICAgICAgICAvLyB3aWR0aDogNjAwcHg7XHJcbiAgICAgICAgbWFyZ2luOiAwIGF1dG8gI3skcGF5bWVudC1jb250YWluZXItZWxlbWVudC1zcGFjaW5nfTtcclxuICAgICAgICBwYWRkaW5nOiAyMHB4O1xyXG4gICAgICAgIGJvcmRlcjogJHBheW1lbnQtY29udGFpbmVyLWJvcmRlcjtcclxuICAgICAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93ICR0cmFuc2l0aW9uT3V0cm8sIGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiAkYm94U2hhZG93MztcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1ib3JkZXItY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93ICR0cmFuc2l0aW9uSW50cm8sICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgICAgICAgICAvLyB3aWR0aDogbGFyZ2UtdmFsdWUoJHBheW1lbnQtY29udGFpbmVyLXdpZHRoKTtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMzBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWZyYW1lIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMDtcclxuICAgICAgICB9XHJcblxyXG5cclxuICAgICAgICAmOmhhcyguY29udGFpbmVyLXJlc2l6ZWQpIHtcclxuICAgICAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIE9sZCBPcGF5byBTZXJ2ZXIgUGF5bWVudCBtZXRob2QuXHJcbiAgICAucGF5bWVudC1tZXRob2Qge1xyXG4gICAgICAgIC8vIEFkZGluZyBvdmVyZmxvdy15IHByb3BlcnR5IHRvIHRoZSBwYXltZW50IG1ldGhvZCBjb250YWluZXIgYXMgYmVsdCBhbmQgYnJhY2VzIGlmIHRoZSBzY2FsaW5nIGZvciB0aGUgaGVpZ2h0IG9uIHRoZSBpZnJhbWUgZmFpbHMgdG8gc2NhbGUgdXAgZHVlIHRvIHBhcmVudCBjb250YWluZXIgaGVpZ2h0IHJlc3RyaWN0aW9ucy5cclxuICAgICAgICAkYm9yZGVyLXdpZHRoOiAycHg7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAkcGF5bWVudC1jb250YWluZXItbWF4LXdpZHRoO1xyXG4gICAgICAgIG1pbi1oZWlnaHQ6ICg1MDBweCArICgkYm9yZGVyLXdpZHRoICogMikpO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICBib3JkZXI6ICN7JGJvcmRlci13aWR0aH0gc29saWQgJGNvbG91cjMtMTtcclxuICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgJHRyYW5zaXRpb25PdXRybywgYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG91cjM7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6ICRib3hTaGFkb3cxO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93ICR0cmFuc2l0aW9uSW50cm8sIGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZnJhbWUge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgaGVpZ2h0OiBtYXAtZ2V0KCRwYXltZW50LW1ldGhvZC1pZnJhbWUtaGVpZ2h0LCBkZWZhdWx0KTtcclxuICAgICAgICAgICAgLy8gU2V0dGluZyBkaXNwbGF5IHRvIHJlbW92ZSB3aGl0ZXNwYWNlIGF0IHRoZSBib3R0b20gb2YgdGhlIGZyYW1lLlxyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgJiNvcGF5by1pZnJhbWUge1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBtYXAtZ2V0KCRwYXltZW50LW1ldGhvZC1pZnJhbWUtaGVpZ2h0LCBvcGF5byk7XHJcbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiA1MDBweDsgLy8gU2V0dGluZyBtaW4taGVpZ2h0IGR1ZSB0byBmb250LXNjYWxpbmcuXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBDbGFzc2VzIGZvciBPcGF5byBQSVxyXG4gICAgLnBpLWNhcmQtcGF5bWVudCB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICAgICYuc21hbGwge1xyXG4gICAgICAgICAgICB3aWR0aDogMjUwcHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogNDAwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYubWVkaXVtIHtcclxuICAgICAgICAgICAgd2lkdGg6IDM5MHB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDQwMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmxhcmdlIHtcclxuICAgICAgICAgICAgd2lkdGg6IDUwMHB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDYwMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmV4dHJhLWxhcmdlIHtcclxuICAgICAgICAgICAgd2lkdGg6IDYwMHB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDQwMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBFeG1hcGxlIHRoZSBpZnJhbWUgdG8gYXZhaWxhYmxlIHNwYWNlLCB0aGlzIG1heSBnZXQgb3ZlcndyaXR0ZW4gYnkgT3BheW8ncyBKYXZhc2NyaXB0LlxyXG4gICAgICAgIGlmcmFtZSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLy8gLS0tLS0gUGF5bWVudCBNZXRob2QgU2VsZWN0b3IgLS0tLS1cclxuZm9ybSArIC5wYXltZW50LW1ldGhvZC1zZWxlY3RvciB7XHJcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG59XHJcblxyXG4ucGF5bWVudC1tZXRob2Qtc2VsZWN0b3Ige1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogNTBweDtcclxuICAgIC5wYXltZW50LW1ldGhvZC1jb250YWluZXIge1xyXG4gICAgICAgIC8vIElmIG9ubHkgb25lIG9wdGlvbiB0aGVuIGhpZGUgdGl0bGUuXHJcbiAgICAgICAgJjpvbmx5LWNoaWxkIHtcclxuICAgICAgICAgICAgLmFjY29yZGlvbi10aXRsZTphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuY2FyZC1wYXltZW50IC50aXRsZS1pY29uIHtcclxuICAgICAgICAgICAgd2lkdGg6IDMwcHg7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChtYXAtZ2V0KCRzaXRlLWljb25zLCBjYXJkLXBheW1lbnQpKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5wYXlwYWwgLnRpdGxlLWljb24ge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwcHg7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChtYXAtZ2V0KCRzaXRlLWljb25zLCBwYXlwYWwpKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5nb29nbGUtcGF5IHtcclxuICAgICAgICAgICAgLy8gV2UgaGF2ZSB0byBhYmlkZSBieSBHb29nbGUgQnJhbmQgZ3VpZGUgbGluZXMuLi5cclxuICAgICAgICAgICAgLy8gaHR0cHM6Ly9kZXZlbG9wZXJzLmdvb2dsZS5jb20vcGF5L2FwaS9hbmRyb2lkL2d1aWRlcy9icmFuZC1ndWlkZWxpbmVzI2dvb2dsZS1wYXktbG9nby1tYXJrXHJcbiAgICAgICAgICAgIC5hY2NvcmRpb24tdGl0bGUge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogIDAgI3tzcGFjaW5nLXZhbHVlKCRwYXltZW50LW1ldGhvZC10aXRsZS1wYWRkaW5nLCAyLCBzbWFsbCl9IDAgMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAudGl0bGUtaWNvbiB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTE1cHg7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDcycHg7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwobWFwLWdldCgkc2l0ZS1pY29ucywgZ29vZ2xlLXBheSkpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuYXBwbGUtcGF5IC50aXRsZS1pY29uIHtcclxuICAgICAgICAgICAgd2lkdGg6IDYwcHg7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChtYXAtZ2V0KCRzaXRlLWljb25zLCBhcHBseS1wYXkpKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmFjY29yZGlvbi10aXRsZSB7XHJcbiAgICAgICAgICAgIGdhcDogMTBweDtcclxuICAgICAgICAgICAgcGFkZGluZzogc21hbGwtdmFsdWUoJHBheW1lbnQtbWV0aG9kLXRpdGxlLXBhZGRpbmcpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNhcmQtcGF5bWVudCB7XHJcbiAgICAgICAgICAgICYub3BheW8ge1xyXG4gICAgICAgICAgICAgICAgLS1jb250YWluZXItZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XHJcbiAgICAgICAgICAgICAgICAtLWNvbnRhaW5lci1mb250LXNpemU6ICN7cmVtLWNhbGMoMTYpfTtcclxuICAgICAgICAgICAgICAgIC0tY29udGFpbmVyLWxpbmUtaGVpZ2h0OiA0MHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5wYWdlLWJ1dHRvbnMtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmJ1dHRvbi1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIGdhcDogI3skcGF5bWVudC1jb250YWluZXItZWxlbWVudC1zcGFjaW5nfTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAvLyBBdHRlbXB0aW5nIHRvIG1hdGNoIE9wYXlvJ3Mgc3R5bGVzIGZvciBzYXZlIGNhcmQgcHJvbXB0LlxyXG4gICAgICAgICAgICAuY29udHJvbC5jaGVja2JveCB7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDYwMHB4O1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2RkZDtcclxuICAgICAgICAgICAgICAgICYuY2hlY2tib3gge1xyXG4gICAgICAgICAgICAgICAgICAgIC5jaGVja2JveCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5sYWJlbCB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWNvbnRhaW5lci1mb250LWZhbWlseSk7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiB2YXIoLS1jb250YWluZXItZm9udC1zaXplKTtcclxuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogdmFyKC0tY29udGFpbmVyLWxpbmUtaGVpZ2h0KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuZGV0YWlscy1jb250YWluZXIge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgcGFkZGluZzogMCAkcGF5bWVudC1jb250YWluZXItZWxlbWVudC1zcGFjaW5nO1xyXG4gICAgICAgICAgICAvLyBib3JkZXI6ICRwYXltZW50LWNvbnRhaW5lci1ib3JkZXI7XHJcbiAgICAgICAgICAgICYgKyAucGF5bWVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogJHBheW1lbnQtY29udGFpbmVyLWVsZW1lbnQtc3BhY2luZztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygje2xhcmdlLXZhbHVlKCRmaWVsZC1sYWJlbC13aWR0aCl9ICsgI3skY2hlY2tib3gtZGltZW50aW9uc30pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmcmFtZSB7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAucGF5cGFsLWJ1dHRvbiB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAzNDBweDtcclxuICAgIH1cclxufVxyXG5cclxuLmNhcmQtZnJhbWUtY29udGFpbmVyIHtcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG59IiwiXHJcbi8qKlxyXG5cclxuLS0tLSBTb2NpYWwgTWVkaWEgSWNvbnMgLS0tLSBcclxuXHJcbldoZXJlIHRoZXNlIGdldCB1c2VkOlxyXG4tIE9uIHRoZSBwcm9kdWN0IHBhZ2UgdG8gc2hhcmUgYSBza3Ugb24gZWl0aGVyIG9mIHRoZSBmb2xsb3dpbmc6XHJcbiAgICAtIEZhY2Vib29rXHJcbiAgICAtIFR3aXR0ZXJcclxuICAgIC0gTGlua2VkSW4gXHJcbiAgICAtIEVtYWlsXHJcbi0gSW4gdGhlIGZvb3RlciB0byB0YWtlIHRoZSB1c2VyIHRvIHRoZSBvcmdhbmlzYXRpb24ncyBzb2NpYWwgbWVkaWEgcGFnZXNcclxuLSBUaGVyZSBhcmUgdHdvIGNvbG91ciBtb2RlczpcclxuICAgIC0gc2l0ZS1zcGVjaWZpYzogbWF0Y2hlcyB0aGUgY3VzdG9tZXIncyBzaXRlIGJyYW5kaW5nLlxyXG4gICAgLSBzb2NpYWwtYnJhbmRpbmc6IGZvbGxvd3MgdGhlIGJyYW5kIGd1aWRlbGluZXMgb2YgZWFjaCBzb2NpYWwgcGxhdGZvcm0uXHJcblxyXG4qKi9cclxuXHJcblxyXG4uc29jaWFsLWljb25zLWhlYWRpbmcge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGNvbG9yOiAkY29sb3VyNDtcclxufVxyXG5cclxuLnNvY2lhbC1pY29ucyB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICYucHJvZHVjdCwgJi5tb2R1bGUge1xyXG4gICAgICAgIC8vIGJlY2F1c2UgcHJvZHVjdCBwYWdlIG1vZHVsZXMgZG9udCBoYXZlIGEgaWNvbnMtY29udGFpbmVyLlxyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgZ2FwOiA4cHg7XHJcbiAgICAgICAgbWFyZ2luOiAkcHJvZHVjdC1zb2NpYWwtaWNvbnMtbWFyZ2luO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgZmxvYXQ6ICRwcm9kdWN0LXNvY2lhbC1pY29ucy1mbG9hdDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLnJldmlldyB7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICBnYXA6IDhweDtcclxuICAgIH1cclxuICAgICYuZm9vdGVyIHtcclxuICAgICAgICBAaWYgKHNtYWxsLXZhbHVlKCRmb290ZXItc29jaWFsLWljb25zLW1heC13aWR0aCkpIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiBzbWFsbC12YWx1ZSgkZm9vdGVyLXNvY2lhbC1pY29ucy1tYXgtd2lkdGgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBtYXJnaW46IHNtYWxsLXZhbHVlKCRmb290ZXItc29jaWFsLWljb25zLW1hcmdpbik7XHJcbiAgICAgICAgcGFkZGluZzogc21hbGwtdmFsdWUoJGZvb3Rlci1zb2NpYWwtaWNvbnMtcGFkZGluZyk7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiAkZm9vdGVyLXNvY2lhbC1pY29ucy1qdXN0aWZ5O1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgQGlmIChsYXJnZS12YWx1ZSgkZm9vdGVyLXNvY2lhbC1pY29ucy1tYXgtd2lkdGgpKSB7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IGxhcmdlLXZhbHVlKCRmb290ZXItc29jaWFsLWljb25zLW1heC13aWR0aCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgbWFyZ2luOiBsYXJnZS12YWx1ZSgkZm9vdGVyLXNvY2lhbC1pY29ucy1tYXJnaW4pO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBsYXJnZS12YWx1ZSgkZm9vdGVyLXNvY2lhbC1pY29ucy1wYWRkaW5nKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnNvY2lhbC1pY29ucy1oZWFkaW5nIHtcclxuICAgICAgICAgICAgLy8gQ29udHJhc3QgY2hlY2tlci5cclxuICAgICAgICAgICAgJGhlYWRpbmctY29sb3VyOiBjb250cmFzdC1jaGVja2VyKCRmb290ZXItc29jaWFsLWljb25zLWhlYWRpbmctY29sb3VyLCAkZm9vdGVyLW91dGVyLWNvbnRhaW5lci1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAgICAgICAgIGgzIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogc21hbGwtdmFsdWUoJGZvb3Rlci1zb2NpYWwtaWNvbnMtaGVhZGVyLW1hcmdpbik7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGhlYWRpbmctY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkZm9vdGVyLXNvY2lhbC1pY29ucy1oZWFkaW5nLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJGZvb3Rlci1zb2NpYWwtaWNvbnMtaGVhZGluZy1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiAkZm9vdGVyLXBhcmVudC10ZXh0LXRyYW5zZm9ybTtcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogbGFyZ2UtdmFsdWUoJGZvb3Rlci1zb2NpYWwtaWNvbnMtaGVhZGVyLW1hcmdpbik7XHJcbiAgICAgICAgICAgICAgICAgICAgQGlmICRmb290ZXItc29jaWFsLWljb25zLWp1c3RpZnkgPT0gXCJmbGV4LWVuZFwiIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9ICBcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIENvbG91ciBwcm9jZXNzaW5nLCBtYWtlIHN1cmUgaWNvbiBjb2xvdXJzIGRvIG5vdCBjb25mbGljdCB3aXRoIGZvb3RlciBiYWNrZ3JvdW5kLlxyXG4gICAgICAgIEBpZiAkZm9vdGVyLXNvY2lhbC1pY29ucy1zdXBwcmVzcy1iYWNrZ3JvdW5kIGFuZCAkc29jaWFsLWljb24tY29sb3VyLW1vZGUgPT0gXCJzaXRlLXNwZWNpZmljXCIge1xyXG4gICAgICAgICAgICAvLyBEZWZhdWx0XHJcbiAgICAgICAgICAgICRmb290ZXItc29jaWFsLWljb24tZGVmYXVsdDogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRmb290ZXItc29jaWFsLWljb25zLWNvbG91ciwgZGVmYXVsdCksICRmb290ZXItb3V0ZXItY29udGFpbmVyLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgICAgICAgICAgLy8gSG92ZXJcclxuICAgICAgICAgICAgJGZvb3Rlci1zb2NpYWwtaWNvbi1ob3ZlcjogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRmb290ZXItc29jaWFsLWljb25zLWNvbG91ciwgaG92ZXIpLCAkZm9vdGVyLXNvY2lhbC1pY29uLWRlZmF1bHQpO1xyXG4gICAgICAgICAgICAvLyBBY3RpdmUuXHJcbiAgICAgICAgICAgICRmb290ZXItc29jaWFsLWljb24tYWN0aXZlOiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJGZvb3Rlci1zb2NpYWwtaWNvbnMtY29sb3VyLCBhY3RpdmUpLCAkZm9vdGVyLXNvY2lhbC1pY29uLWhvdmVyKTtcclxuXHJcbiAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgLy8gT3ZlcnJpZGUgYmFja2dyb3VuZCBzdHlsZXMgZHVlIHRvIHN1cHByZXNzaW5nIHRoZSBiYWNrZ3JvdW5kIGZsYWcgYmVpbmcgc2V0LlxyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjA7XHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRmb290ZXItc29jaWFsLWljb24tZGVmYXVsdDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIwO1xyXG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRmb290ZXItc29jaWFsLWljb24taG92ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIwO1xyXG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRmb290ZXItc29jaWFsLWljb24tYWN0aXZlO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIEBpZiAkZm9vdGVyLXNvY2lhbC1pY29ucy1zdXBwcmVzcy1iYWNrZ3JvdW5kIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAoJHNvY2lhbC1pY29ucy1kaW1lbnRpb25zICsgMjApO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAoJHNvY2lhbC1pY29ucy1kaW1lbnRpb25zICsgMjApO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcclxuICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogMDtcclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6ICgkc29jaWFsLWljb25zLXNpemUgKyAyMCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6ICgkc29jaWFsLWljb25zLWRpbWVudGlvbnMgKyAxMCk7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6ICgkc29jaWFsLWljb25zLWRpbWVudGlvbnMgKyAxMCk7XHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAoJHNvY2lhbC1pY29ucy1zaXplICsgNSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmljb25zLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6ICRmb290ZXItc29jaWFsLWljb25zLWp1c3RpZnk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgYSB7XHJcblxyXG4gICAgICAgIC8vIENvbG91ciBwcm9jZXNzaW5nLlxyXG4gICAgICAgIC8vIERlZmF1bHRcclxuICAgICAgICAkZGVmYXVsdC1jb2xvdXI6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkc29jaWFsLWljb25zLWNvbG91ciwgZGVmYXVsdCksIG1hcC1nZXQoJHNvY2lhbC1pY29ucy1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCkpO1xyXG4gICAgICAgIC8vIEhvdmVyXHJcbiAgICAgICAgJGhvdmVyLWNvbG91cjogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRzb2NpYWwtaWNvbnMtY29sb3VyLCBob3ZlciksIG1hcC1nZXQoJHNvY2lhbC1pY29ucy1iYWNrZ3JvdW5kLWNvbG91ciwgaG92ZXIpKTtcclxuICAgICAgICAvLyBBY3RpdmVcclxuICAgICAgICAkYWN0aXZlLWNvbG91cjogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRzb2NpYWwtaWNvbnMtY29sb3VyLCBhY3RpdmUpLCBtYXAtZ2V0KCRzb2NpYWwtaWNvbnMtYmFja2dyb3VuZC1jb2xvdXIsIGFjdGl2ZSkpO1xyXG5cclxuICAgICAgICB3aWR0aDogJHNvY2lhbC1pY29ucy1kaW1lbnRpb25zO1xyXG4gICAgICAgIGhlaWdodDogJHNvY2lhbC1pY29ucy1kaW1lbnRpb25zO1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHNvY2lhbC1pY29ucy1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAkc29jaWFsLWljb25zLWJvcmRlci13aWR0aDtcclxuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkc29jaWFsLWljb25zLWJvcmRlci1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygkc29jaWFsLWljb25zLWJvcmRlci1yYWRpdXMpO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbk91dHJvIGlmKCRzb2NpYWwtaWNvbnMtaG92ZXItb3BhY2l0eSwgI3tcIixcIn0gb3BhY2l0eSAkdHJhbnNpdGlvbk91dHJvLCBcIlwiKTtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJHNvY2lhbC1pY29ucy1zaXplO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lQnJhbmRzO1xyXG4gICAgICAgICAgICBjb2xvcjogJGRlZmF1bHQtY29sb3VyO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkc29jaWFsLWljb25zLWJhY2tncm91bmQtY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkc29jaWFsLWljb25zLWJvcmRlci1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgQGlmICgkc29jaWFsLWljb25zLWhvdmVyLW9wYWNpdHkpIHtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6ICRzb2NpYWwtaWNvbnMtaG92ZXItb3BhY2l0eTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uSW50cm8sIGNvbG9yICR0cmFuc2l0aW9uSW50cm8gaWYoJHNvY2lhbC1pY29ucy1ob3Zlci1vcGFjaXR5LCAje1wiLFwifSBvcGFjaXR5ICR0cmFuc2l0aW9uSW50cm8sIFwiXCIpO1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGhvdmVyLWNvbG91cjtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRzb2NpYWwtaWNvbnMtYmFja2dyb3VuZC1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkc29jaWFsLWljb25zLWJvcmRlci1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkYWN0aXZlLWNvbG91cjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5mYWNlYm9vayB7XHJcbiAgICAgICAgICAgIEBpZiAkc29jaWFsLWljb24tY29sb3VyLW1vZGUgPT0gJ3NvY2lhbC1icmFuZGluZycge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAjMTg3N2YyO1xyXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzE4NzdmMjtcclxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyMTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgjMTg3N2YyLCAwLjYpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IHNvY2lhbC1pY29uKCdmYWNlYm9vaycpO1xyXG4gICAgICAgICAgICAgICAgQGlmICRzb2NpYWwtaWNvbi1jb2xvdXItbW9kZSA9PSAnc29jaWFsLWJyYW5kaW5nJyB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICMxODc3ZjI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi50d2l0dGVyIHtcclxuICAgICAgICAgICAgQGlmICRzb2NpYWwtaWNvbi1jb2xvdXItbW9kZSA9PSAnc29jaWFsLWJyYW5kaW5nJyB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICMxREExRjI7XHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMURBMUYyO1xyXG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCMxREExRjIsIDAuNik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogc29jaWFsLWljb24oJ3R3aXR0ZXInKTtcclxuICAgICAgICAgICAgICAgIEBpZiAkc29jaWFsLWljb24tY29sb3VyLW1vZGUgPT0gJ3NvY2lhbC1icmFuZGluZycge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjMURBMUYyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYubGlua2VkSW4ge1xyXG4gICAgICAgICAgICBAaWYgJHNvY2lhbC1pY29uLWNvbG91ci1tb2RlID09ICdzb2NpYWwtYnJhbmRpbmcnIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogIzBBNjZDMjtcclxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwQTY2QzI7XHJcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91cjE7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoIzBBNjZDMiwgMC42KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBzb2NpYWwtaWNvbignbGlua2VkSW4nKTtcclxuICAgICAgICAgICAgICAgIEBpZiAkc29jaWFsLWljb24tY29sb3VyLW1vZGUgPT0gJ3NvY2lhbC1icmFuZGluZycge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjMEE2NkMyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuaW5zdGFncmFtIHtcclxuICAgICAgICAgICAgQGlmICRzb2NpYWwtaWNvbi1jb2xvdXItbW9kZSA9PSAnc29jaWFsLWJyYW5kaW5nJyB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6IDJweDtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogI2Q2MjQ5ZjtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvdXIxO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogI2Q2MjQ5ZjtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQoY2lyY2xlIGF0IDMwJSAxMDclLCAjZmRmNDk3IDAlLCAjZmRmNDk3IDUlLCAjZmQ1OTQ5IDQ1JSwjZDYyNDlmIDYwJSwjMjg1QUVCIDkwJSk7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmZmZmO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogaW5oZXJpdDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZDYyNDlmO1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudChjaXJjbGUgYXQgMzAlIDEwNyUsICNmZGY0OTcgMCUsICNmZGY0OTcgNSUsICNmZDU5NDkgNDUlLCNkNjI0OWYgNjAlLCMyODVBRUIgOTAlKTtcclxuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjY7XHJcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91cjE7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiBpbmhlcml0O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBzb2NpYWwtaWNvbignaW5zdGFncmFtJyk7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA1cHg7XHJcbiAgICAgICAgICAgICAgICBAaWYgJHNvY2lhbC1pY29uLWNvbG91ci1tb2RlID09ICdzb2NpYWwtYnJhbmRpbmcnIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZDYyNDlmO1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudChjaXJjbGUgYXQgMzAlIDEwNyUsICNmZGY0OTcgMCUsICNmZGY0OTcgNSUsICNmZDU5NDkgNDUlLCNkNjI0OWYgNjAlLCMyODVBRUIgOTAlKTtcclxuICAgICAgICAgICAgICAgICAgICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dDtcclxuICAgICAgICAgICAgICAgICAgICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi55b3V0dWJlIHtcclxuICAgICAgICAgICAgQGlmICRzb2NpYWwtaWNvbi1jb2xvdXItbW9kZSA9PSAnc29jaWFsLWJyYW5kaW5nJyB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICNGRjAwMDA7XHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkYwMDAwO1xyXG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCNGRjAwMDAsIDAuNik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogc29jaWFsLWljb24oJ3lvdXR1YmUnKTtcclxuICAgICAgICAgICAgICAgIEBpZiAkc29jaWFsLWljb24tY29sb3VyLW1vZGUgPT0gJ3NvY2lhbC1icmFuZGluZycge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjRkYwMDAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuZ29vZ2xlLXBsdXMsICYuZ29vZ2xlX3BsdXMge1xyXG4gICAgICAgICAgICBAaWYgJHNvY2lhbC1pY29uLWNvbG91ci1tb2RlID09ICdzb2NpYWwtYnJhbmRpbmcnIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogI0ZGMDAwMDtcclxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGRjAwMDA7XHJcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91cjE7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoI0ZGMDAwMCwgMC42KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBzb2NpYWwtaWNvbignZ29vZ2xlLXBsdXMnKTtcclxuICAgICAgICAgICAgICAgIEBpZiAkc29jaWFsLWljb24tY29sb3VyLW1vZGUgPT0gJ3NvY2lhbC1icmFuZGluZycge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjRkYwMDAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuZW1haWwge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBzb2NpYWwtaWNvbignZW1haWwnKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5pY29ucy1jb250YWluZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZ2FwOiA4cHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5yZXZlYWwtc29jaWFsLWljb25zLWNvbnRhaW5lciB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAuc29jaWFsLWljb25zIHtcclxuICAgICAgICBtYXgtd2lkdGg6IDA7XHJcbiAgICAgICAgaGVpZ2h0OiAwO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICB0cmFuc2l0aW9uOiBtYXgtd2lkdGggJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAmLnJldmVhbC1uZXh0LXRvLXRvZ2dsZSB7XHJcbiAgICAgICAgICAgICYuYWN0aXZlIHtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMzAwcHg7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBtYXgtd2lkdGggJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgICYgKyAuc29jaWFsLWljb25zLXNoYXJlLXRvZ2dsZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5yZXZlYWwtb3Zlci10b2dnbGUge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICAgICAgZ2FwOiA4cHg7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMTtcclxuICAgICAgICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAzMDBweDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IG1heC13aWR0aCAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogOHB4O1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG91cjQ7XHJcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAxMDAwO1xyXG4gICAgICAgICAgICAgICAgJiArIC5zb2NpYWwtaWNvbnMtc2hhcmUtdG9nZ2xlIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAucmV2ZWFsLWNsb3NlLWJ1dHRvbi1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDFweDtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDgwJTtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3VyMy0xO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5yZXZlYWwtY2xvc2UtYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNsb3NlQnV0dG9uKDIwcHgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgfVxyXG59XHJcblxyXG4uc29jaWFsLWljb25zLXNoYXJlLXRvZ2dsZSB7XHJcbiAgICAuc2hhcmUtYnV0dG9uIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcclxuICAgICAgICBnYXA6IDEwcHg7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvdXIzLTM7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgY29udGVudDogc29jaWFsLWljb24oJ3NoYXJlJyk7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpob3ZlciwgJjpob3ZlcjphZnRlciB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNjtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICB9XHJcbiAgICAgICAgJjphY3RpdmUsICY6YWN0aXZlOmFmdGVyIHtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIi8qXHJcbi0tLS0tIEVxdWlwbWVudCBzZWxlY3RvciAoIFByaW50ZXIgd2l6YXJkICkgLS0tLS0tIFxyXG4tIFRoZSBlcXVpcG1lbnQgc2VsZWN0b3IgZHJvcCBkb3duIHNlbGVjdGlvbi5cclxuLSBFcXVpcG1lbnQgc2VsZWN0b3IgbGlzdCB3aGljaCBpcyBlc3NlbnRpYWxseSBhIGxpc3Qgb2YgYW5jaG9ycy5cclxuKi9cclxuXHJcbi5lcXVpcG1lbnQtc2VsZWN0b3ItY29udGFpbmVyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgQGlmICRlcXVpcG1lbnQtc2VsZWN0b3ItYmFja2dyb3VuZC1lbmFibGUtZ3JhZGllbnQge1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoJGNvbG91cjQsIDEpO1xyXG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgwZGVnLCByZ2JhKG1hcC1nZXQoJGVxdWlwbWVudC1zZWxlY3Rvci1iYWNrZ3JvdW5kLWdyYWRpYW50LCBjb2xvdXItMSksIDEpIDUlLCByZ2JhKG1hcC1nZXQoJGVxdWlwbWVudC1zZWxlY3Rvci1iYWNrZ3JvdW5kLWdyYWRpYW50LCBjb2xvdXItMiksIDEpIDY1JSk7XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRlcXVpcG1lbnQtc2VsZWN0b3ItYmFja2dyb3VuZC1ncmFkaWFudCwgY29sb3VyLTEpO1xyXG4gICAgfVxyXG4gICAgQGlmICRlcXVpcG1lbnQtc2VsZWN0b3ItYm94LXNoYWRvdyB7XHJcbiAgICAgICAgYm94LXNoYWRvdzogJGVxdWlwbWVudC1zZWxlY3Rvci1ib3gtc2hhZG93O1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgcGFkZGluZzogMjBweCAzMHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4uZXF1aXBtZW50LXNlbGVjdG9yLWhlYWRpbmcge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgcGFkZGluZzogMTBweCAwIDA7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKCRlcXVpcG1lbnQtc2VsZWN0b3ItaGVhZGluZy1zaXplKTtcclxuICAgIGZvbnQtc3R5bGU6ICRlcXVpcG1lbnQtc2VsZWN0b3ItaGVhZGluZy1mb250LXN0eWxlO1xyXG4gICAgZm9udC13ZWlnaHQ6ICRlcXVpcG1lbnQtc2VsZWN0b3ItaGVhZGluZy1mb250LXdlaWdodDtcclxuICAgIGNvbG9yOiAkZXF1aXBtZW50LXNlbGVjdG9yLWhlYWRpbmctY29sb3VyO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgIH1cclxuICAgIHNwYW4ge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMjVweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5lcXVpcG1lbnQtc2VsZWN0b3JzIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGZsZXg6IDE7XHJcbiAgICBwYWRkaW5nOiAxMHB4IDEwcHggMjBweDtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICB9XHJcbiAgICBmb3JtIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIGxhYmVsLmNvbnRyb2wge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIG1hcmdpbjogNXB4IDA7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDMwMHB4O1xyXG4gICAgICAgICAgICB3aWR0aDogYXV0bzsgIFxyXG4gICAgICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAxNXB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGEge1xyXG4gICAgICAgIG1heC1oZWlnaHQ6ICRmaWVsZHNldC1pbnB1dC1oZWlnaHQ7XHJcbiAgICAgICAgbWFyZ2luOiA1cHggYXV0bztcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDAgYXV0bztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLS0tIEVxdWlwbWVudCBzZWxlY3RvciBsaXN0ICggdGhpcyBzaXRzIHVuZGVyIHRoZSBkcm9wZG93biBzZWxlY3RvcnMgKSAtLS0tLSBcclxuLmVxdWlwbWVudC1zZWxlY3Rvci1saXN0IHtcclxuICAgIG1hcmdpbi10b3AgOiAyMHB4O1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDQwcHg7XHJcbiAgICB9XHJcbiAgICBoMiB7XHJcbiAgICAgICAgLy8gRGVkdWN0IHRoZSBsaXN0IGl0ZW0gcGFkZGluZyBmcm9tIHRoZSBtYXJnaW4gb3RoZXJ3aXNlIHRoZXJlIHdpbGwgYmUgYSBsYXJnZSBhbW91bnQgb2Ygd2hpdGVzcGFjZSBiZWVuIHRoZSBoZWFkaW5nIGFuZCBsaXN0IGl0ZW1zLlxyXG4gICAgICAgIG1hcmdpbjogMCAwIChzcGFjaW5nLXZhbHVlKG1hcC1nZXQoJGhlYWRpbmctMi1tYXJnaW4sIHByZXNldC0xKSwgMykgLSAkZXF1aXBtZW50LXNlbGVjdG9yLWxpc3QtaXRlbS1wYWRkaW5nKTtcclxuICAgIH1cclxuICAgIHVsIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICAgICAgbGkge1xyXG4gICAgICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6ICRlcXVpcG1lbnQtc2VsZWN0b3ItbGlzdC1pdGVtLXBhZGRpbmcgMDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDUwJTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiAzMyU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuLS0tLS0gUGljayAmIE1peCAtLS0tLS0gXHJcbi0gQSBzZWxlY3Rpb24gb2YgbXVsdGlwbGUgaXRlbXMgdG8gY3JlYXRlIGEgcGFjay5cclxuKi9cclxuXHJcbi5waWNrLW4tbWl4LWNvbnRhaW5lciB7XHJcbiAgICAvLyBTdXBwcmVzc2luZyBhcyB0aGlzIGlzIGNhdXNpbmcgdW5ldmVuIHNwYWNpbmcgZm9yIG1vZHVsZXMuXHJcbiAgICAvLyBtYXJnaW46IDAgMCAyMHB4O1xyXG4gICAgbWFyZ2luOiAxNXB4IDA7XHJcbiAgICBwYWRkaW5nOiBzbWFsbC12YWx1ZSgkcGljay1uLW1peC1wYWRkaW5nKTtcclxuICAgIEBpZiAkcGljay1uLW1peC1iYWNrZ3JvdW5kLWVuYWJsZS1ncmFkaWVudCB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgkY29sb3VyNCwgMSk7XHJcbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDBkZWcsIHJnYmEobWFwLWdldCgkZXF1aXBtZW50LXNlbGVjdG9yLWJhY2tncm91bmQtZ3JhZGlhbnQsIGNvbG91ci0xKSwgMSkgNSUsIHJnYmEobWFwLWdldCgkZXF1aXBtZW50LXNlbGVjdG9yLWJhY2tncm91bmQtZ3JhZGlhbnQsIGNvbG91ci0yKSwgMSkgNjUlKTtcclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgfVxyXG4gICAgQGlmIHNtb290aC1lZGdlcygpIHtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBwYWRkaW5nOiBsYXJnZS12YWx1ZSgkcGljay1uLW1peC1wYWRkaW5nKTtcclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tLS0gUGljayAmIE1peCBIZWFkZXIgLS0tLS1cclxuLnBpY2stbi1taXgtaGVhZGVyIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBjb2xvcjogJHBpY2stbi1taXgtaGVhZGVyLWNvbnRlbnQtY29sb3VyO1xyXG4gICAgaDIge1xyXG4gICAgICAgIG1hcmdpbjogMCAwIDI1cHg7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkcGljay1uLW1peC1oZWFkaW5nLXNpemUpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkcGljay1uLW1peC1oZWFkaW5nLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgIGZvbnQtc3R5bGU6ICRwaWNrLW4tbWl4LWhlYWRpbmctZm9udC1zdHlsZTtcclxuICAgICAgICBjb2xvcjogJHBpY2stbi1taXgtaGVhZGluZy1jb2xvdXI7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGljay1uLW1peC1oZWFkaW5nLWNvbG91cjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBoMyB7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNik7XHJcbiAgICAgICAgY29sb3I6ICRwaWNrLW4tbWl4LWhlYWRpbmctY29sb3VyO1xyXG4gICAgfVxyXG4gICAgaDQge1xyXG4gICAgICAgIHBhZGRpbmc6IDAgMTBweDtcclxuICAgICAgICBtYXJnaW46IDAgMCAyMHB4O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjcpO1xyXG4gICAgICAgIGNvbG9yOiAkcGljay1uLW1peC1oZWFkZXItY29udGVudC1jb2xvdXI7XHJcbiAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkcGljay1uLW1peC1oZWFkZXItY29udGVudC1oaWdobGlnaHRlZC1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBwIHtcclxuICAgICAgICBwYWRkaW5nOiAwIDEwcHg7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xyXG4gICAgfVxyXG4gICAgLmhlYWRlci1iYWNrZ3JvdW5kIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgICAgIHBhZGRpbmc6IHNtYWxsLXZhbHVlKCRwaWNrLW4tbWl4LWhlYWRlci1iYWNrZ3JvdW5kLXBhZGRpbmcpO1xyXG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogbGFyZ2UtdmFsdWUoJHBpY2stbi1taXgtaGVhZGVyLWJhY2tncm91bmQtcGFkZGluZyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiAoJHBpY2stbi1taXgtaGVhZGVyLWNvbnRlbnQtc2VwZXJhdG9yKSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3VyMTsgICBcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLS0tIFBpY2sgJiBNaXggc2VsZWN0b3JzICggbWFpbiBjb250ZW50ICkgLS0tLS1cclxuLnBpY2stbi1taXgtc2VsZWN0b3ItY29udGFpbmVyIHtcclxuICAgIHBhZGRpbmc6IDAgMTBweDtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBtYXgtd2lkdGg6ICRwaWNrLW4tbWl4LXNlbGVjdG9yLWNvbnRhaW5lci13aWR0aDtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICB9XHJcbiAgICAucGljay1uLW1peC1pdGVtIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgIG1hcmdpbjogNy41cHggMDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmltYWdlLWNvbnRhaW5lciB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5pbWFnZSB7XHJcbiAgICAgICAgICAgIC0tbWVkaWEtYXNwZWN0LXJhdGlvOiAjeyRwcm9kdWN0LWltYWdlLWFzcGVjdC1yYXRpb307XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgICAgICAgICBhc3BlY3QtcmF0aW86IHZhcigtLW1lZGlhLWFzcGVjdC1yYXRpbywgYXV0byk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnBpY2stbi1taXgtaXRlbS1kZXNjcmlwdGlvbiB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgY29sb3I6ICRwaWNrLW4tbWl4LXNlbGVjdG9yLWRlc2NyaXB0aW9uLWNvbG91cjtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwaWNrLW4tbWl4LXNlbGVjdG9yLWRlc2NyaXB0aW9uLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRwaWNrLW4tbWl4LXNlbGVjdG9yLWRlc2NyaXB0aW9uLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgICAgIGZsZXg6IDE7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnNsaWRlciB7XHJcbiAgICAgICAgZmxleDogMTtcclxuICAgICAgICBtYXJnaW46IHNtYWxsLXZhbHVlKCRwaWNrLW4tbWl4LXNsaWRlci1tYXJnaW4pO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAyNDBweDtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGZsZXg6IGF1dG87XHJcbiAgICAgICAgICAgIG1hcmdpbjogbGFyZ2UtdmFsdWUoJHBpY2stbi1taXgtc2xpZGVyLW1hcmdpbik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmlucHV0LWdyb3VwIHtcclxuICAgICAgICAubGFiZWwge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnBpY2stbi1taXgtdG90YWwtcm93IHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMi41cHg7XHJcbiAgICAgICAgY29sb3I6ICRwaWNrLW4tbWl4LXNlbGVjdG9yLWRlc2NyaXB0aW9uLWNvbG91cjtcclxuICAgICAgICBmb250LXdlaWdodDogJHBpY2stbi1taXgtc2VsZWN0b3ItZGVzY3JpcHRpb24tZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0NXB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAudG90YWwtc2VsZWN0ZWQtY29udGFpbmVyLCAucmVtYWluaW5nLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgfSBcclxuICAgICAgICAudG90YWwtc2VsZWN0ZWQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAxNy41cHggMDtcclxuICAgICAgICAgICAgLmxhYmVsIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkcGljay1uLW1peC1oZWFkZXItY29udGVudC1oaWdobGlnaHRlZC1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCBzcGFjaW5nLXZhbHVlKCRwaWNrLW4tbWl4LXNsaWRlci1tYXJnaW4sIDIpO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCBzcGFjaW5nLXZhbHVlKCRwaWNrLW4tbWl4LXNsaWRlci1tYXJnaW4sIDIsICdsYXJnZScpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5zZWxlY3RlZC1jb3VudCB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogJHF1YW50aXR5LWZyZWUtdGV4dC1pbnB1dC13aWR0aDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogJHF1YW50aXR5LWZyZWUtdGV4dC1pbnB1dC1oZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIC8vIFRvIGJyaW5nIHRoZSBjb3VudCBpbmxpbmUgd2l0aCB0aGUgcXVhbnRpdHkgc2VsZWN0b3JzXHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgJHF1YW50aXR5LWZyZWUtdGV4dC1idXR0b24td2lkdGg7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwYXJhZ3JhcGgtZm9udC1zaXplKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA4MDA7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHBpY2stbi1taXgtaGVhZGVyLWNvbnRlbnQtaGlnaGxpZ2h0ZWQtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1ib3JkZXItY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwaWNrLW4tbWl4LWhlYWRlci1jb250ZW50LWhpZ2hsaWdodGVkLWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5yZW1haW5pbmctY29udGFpbmVyIHtcclxuICAgICAgICAgICAgLnJlbWFpbmluZy1jb3VudC1tZXNzYWdlIHtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAucmVtYWluaW5nLWNvdW50IHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHBpY2stbi1taXgtaGVhZGVyLWNvbnRlbnQtaGlnaGxpZ2h0ZWQtYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmZvcm0tZXJyb3Ige1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4ucGljay1uLW1peC1idXR0b25zLWNvbnRhaW5lciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgfVxyXG4gICAgLmFkZC10by1iYXNrZXQtY29udGFpbmVyIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBidXR0b25bdHlwZT1zdWJtaXRdIHtcclxuICAgICAgICAgICAgLy8gT3ZlcnJpZGUgbWFyZ2luIGZvciBtb2JpbGUgZGV2aWNlcy5cclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ3RoOiAwO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuLy8gV2hlbiB0aGUgc2xpZGVyIGlzIGFjdGl2ZSBhIGNsYXNzIGdldHMgYWRkZWQgdG8gdGhlIHJlbGV2YW50IGlucHV0LlxyXG5pbnB1dC51aS1zdGF0ZS1hY3RpdmUsIC5pbnB1dC1udW1iZXIudWktc3RhdGUtYWN0aXZlIHtcclxuICAgIGJveC1zaGFkb3c6ICRib3hTaGFkb3cxO1xyXG4gICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRhY2NlbnQtY29sb3VyLTMsIDApO1xyXG4gICAgYm9yZGVyLXdpZHRoOiAycHg7XHJcbiAgICB0cmFuc2l0aW9uOiBib3gtc2hvZGF3ICR0cmFuc2l0aW9uSW50cm87XHJcbn1cclxuXHJcbi8vIElmIHlvdSBoYXZlIHNvbWUgbGVhZCBpbiB0ZXh0LlxyXG4uY21zLWNvbnRlbnQtY29udGFpbmVyICsgLnBpY2stbi1taXgtY29udGFpbmVyIHtcclxuICAgIG1hcmdpbi10b3A6IHNwYWNpbmctdmFsdWUoJG1vZHVsZXMtY29udGVudC1iYWNrZ3JvdW5kLWNvbG91ci1wYWRkaW5nLCAxKTtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogc3BhY2luZy12YWx1ZSgkbW9kdWxlcy1jb250ZW50LWJhY2tncm91bmQtY29sb3VyLXBhZGRpbmcsIDEsIG1lZGl1bSk7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogc3BhY2luZy12YWx1ZSgkbW9kdWxlcy1jb250ZW50LWJhY2tncm91bmQtY29sb3VyLXBhZGRpbmcsIDEsIGxhcmdlKTtcclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tLS0gUHJvZHVjdCBsaXN0IGVkaXQgYnV0dG9uIC0tLS0gXHJcbiNwcm9kdWN0TGlzdEl0ZW1zIHtcclxuICAgICYubGlzdCB7XHJcbiAgICAgICAgLnBpY2stbi1taXgtYnV0dG9uIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6ICR0YWJsZS1pdGVtLWNvbnRyb2xzLWNvbnRhaW5lci13aWR0aDtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tLS0gQmFza2V0IHN0eWxlcyAtLS0tLSBcclxuLy8gLS0tIERpc3BsYXkgc2VsZWN0aW9uIC0tLSBcclxuLnBpY2stbi1taXgtc2VsZWN0aW9uIHtcclxuICAgIG1hcmdpbjogNXB4IDA7XHJcbiAgICBwYWRkaW5nOiAwIDAgMCAyMHB4O1xyXG4gICAgbGkge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4gICAgfVxyXG59IiwiLyogXHJcblxyXG4tLS0tLSBBbmltYXRpb25zIC0tLS0tIFxyXG5UT0RPOiBUaGlzIGlzIHRoZSB2ZXJ5IGZpcnN0IGRldiBjeWNsZSBvZiBqdXN0IHRyaW5nIHRvIGdldCBIVE1MNSBDYW52YXMncyBleHBvcnRlZCBmcm9tIGFkb2JlIGFuaW1hdGUgdG8gd29yayBpbnNpZGUgb2YgZXhwcmVzcyBhbmQgdG8gaGF2ZSBtdWx0aXBsZSBhbmltYXRpb25zIG9uIHRoZSBwYWdlIGF0IG9uY2UsIHNvIHRoZXJlIGlzIHN0aWxsIG11Y2ggd29yayB0byBiZSBkb25lIGhlcmUgaXRzIG1vcmUgb2YgYSBwcm9vZiBvZiBjb25jZXB0IGF0IHRoaXMgcG9pbnQuXHJcbi0gQW5pbWF0ZWQgSFRNTDUgQ2FudmFzJ3NcclxuLSBJbnRlcmFjdGl2ZSBBbmltYXRpb25zLlxyXG4qL1xyXG5cclxuXHJcbmNhbnZhcyB7XHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbn0iLCJcclxuXHJcbi5jbGllbnQtc2VhcmNoLW5vLXJlc3VsdHMge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICAgICYuYWN0aXZlIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIH1cclxuICAgIGgzIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgfVxyXG59IiwiLypcclxuLS0tLS0gVG9wIGJhciAtLS0tLVxyXG5UaGlzIGhhcyBoYWQgdG8gYmUgd3JpdHRlbiBkdWUgdG8gZm91bmRhdGlvbidzIHRvcC1iYXIgY3VycmVudGx5IGRvZXNuJ3Qgc3VwcG9ydCBjZW50ZXJlZCBpdGVtcywgeW91IG9ubHkgZ2V0IHRoZSBvcHRpb24gdG9wLWJhci1sZWZ0ICYgdG9wLWJhci1yaWdodCwgdGhlIGRlc2lnbiBjYWxscyBmb3IgdGhlIGN1cnJlbmN5IHNlbGVjdG9yIHRvIGJlIGluIHRoZSBtaWRkbGUuXHJcbiovXHJcblxyXG4udG9wLWJhciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgfVxyXG4gICAgJi51cHBlciB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xyXG4gICAgICAgIC8vIGhlaWdodDogNDBweDtcclxuICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICB9XHJcbiAgICAudG9wLWJhci1sZWZ0LCAudG9wLWJhci1yaWdodCB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICA+dWwge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgICAgICBtYXJnaW46IGF1dG8gMDtcclxuICAgICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogc3BhY2luZy12YWx1ZSgkaGVhZGVyLXVwcGVyLXBhZGRpbmcsIDEpIDE1cHg7XHJcbiAgICAgICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4IWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAudG9wLWJhci1jZW50ZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgfVxyXG4gICAgLnRvcC1iYXItcmlnaHQge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIC0tLS0tIEhlYWRlciBVcHBlciBjb2xvdXIgY29udHJhc3QgcHJvY2Vzc2luZyAtLS0tLSBcclxuICAgIC8vIERlZmF1bHQuXHJcbiAgICAkbWVudS1jb2xvdXItZGVmYXVsdDogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRoZWFkZXItdXBwZXItY29sb3VyLCBkZWZhdWx0KSwgJGhlYWRlci11cHBlci1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAvLyBIb3Zlci5cclxuICAgICRtZW51LWNvbG91ci1ob3ZlcjogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRoZWFkZXItdXBwZXItY29sb3VyLCBob3ZlciksICRoZWFkZXItdXBwZXItYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgLy8gQWN0aXZlLlxyXG4gICAgJG1lbnUtY29sb3VyLWFjdGl2ZTogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRoZWFkZXItdXBwZXItY29sb3VyLCBhY3RpdmUpLCAkaGVhZGVyLXVwcGVyLWJhY2tncm91bmQtY29sb3VyKTtcclxuXHJcbiAgICAubWVudSwgLmRyb3Bkb3duLm1lbnUge1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIC8vIFNvIGl0IGFwcGVhcnMgYWJvdmUgdGhlIHNlYXJjaCBiYXIgaW4gdGhlIGhlYWRlci5cclxuICAgICAgICAvLyB6LWluZGV4OiAxMDAwMDA7XHJcbiAgICAgICAgPiBsaSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIEBpZiBzbW9vdGgtZWRnZXMoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtYm9yZGVyLXJhZGl1cykge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1ib3JkZXItcmFkaXVzKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICAgICAgICAgIC8vIHBhZGRpbmc6ICRoZWFkZXItdXBwZXItcGFkZGluZztcclxuICAgICAgICAgICAgQGlmICgkaGVhZGVyLXVwcGVyLXBhcmVudC1zdXBwcmVzcy1vdXRlci1wYWRkaW5nKSB7XHJcbiAgICAgICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMDtcclxuICAgICAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRtZW51LWNvbG91ci1ob3ZlcjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMDtcclxuICAgICAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRtZW51LWNvbG91ci1hY3RpdmU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAvLyBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgLy8ganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAvLyBhbGlnbi1pdGVtczogYmFzZWxpbmU7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJG1lbnUtY29sb3VyLWRlZmF1bHQ7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogZ2V0LXR5cG9ncmFwaHktZm9udC1mYW1pbHkoXCJzZWNvbmRhcnktZm9udFwiKTtcclxuICAgICAgICAgICAgICAgIEBpZiAkaGVhZGVyLXVwcGVyLWZvbnQtc3R5bGUge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc3R5bGU6ICRoZWFkZXItdXBwZXItZm9udC1zdHlsZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGhlYWRlci11cHBlci1mb250LXNpemUpO1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRoZWFkZXItdXBwZXItZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJGhlYWRlci11cHBlci10ZXh0LXRyYW5zZm9ybTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRoZWFkZXItdXBwZXItcGFkZGluZztcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYuc2l0ZS1zZXR0aW5nLW1lbnUge1xyXG4gICAgICAgICAgICAgICAgLy8gVGhpcyBpcyBhIGJpdCBoZWF2eSBoYW5kZWQgYW5kIG1heSBuZWVkIHRvIGJlIG1hZGUgbW9yZSBmbGV4aWJsZSBpbiB0aGUgZnV0dXJlIGJ1dCBqdXN0IG1ha2luZyBzdXJlIHRoYXQgYnV0dG9uIC8gdGV4dCBjb2xvdXIgaXMgbGVnaWJsZSAmIGNvbnNpc3RlbmN5LlxyXG4gICAgICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkbWVudS1jb2xvdXItZGVmYXVsdDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgLmN1cnJlbmN5LWljb24ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJG1lbnUtY29sb3VyLWRlZmF1bHQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkbWVudS1jb2xvdXItaG92ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbiN0b3BCYXJVcHBlck91dGVyQ291bnRhaW5lciwgLmhlYWRlci10b3AtYmFyLWNvbnRhaW5lciB7XHJcbiAgICBAaWYgJGhlYWRlci11cHBlci1ncmFkaWFudCB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJGhlYWRlci11cHBlci1ncmFkaWFudDtcclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRoZWFkZXItdXBwZXItYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIEBpZiAkaGVhZGVyLXVwcGVyLWJvcmRlciB7XHJcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAkaGVhZGVyLXVwcGVyLWJvcmRlci13aWR0aDtcclxuICAgICAgICBib3JkZXItY29sb3I6ICRoZWFkZXItdXBwZXItYm9yZGVyLWNvbG91cjtcclxuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgfVxyXG4gICAgcGFkZGluZzogMDtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBwYWRkaW5nOiAwIDEwcHg7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgfVxyXG59XHJcbiIsIlxyXG5cclxuQG1peGluIHNldC1zdHlsZS1ndWlkZS1jb2xvdXIoJGNvbG91ci1uYW1lLCAkY29sb3Vycykge1xyXG4gICAgLy8gQ2hlY2sgaWYgdmFyaWFibGUgZXhpc3QuXHJcbiAgICBAaWYgbm90ICh2YXJpYWJsZS1leGlzdHMoJGNvbG91ci1uYW1lKSkge1xyXG4gICAgICAgIEBkZWJ1ZyBcIkNvbG91ciBtYXAgXCIgI3skY29sb3VyLW5hbWV9IFwiIGRvZXNuJ3QgZXhpc3QgZm9yIHNpdGUgI3skc2l0ZX1cIjtcclxuICAgIH1cclxuICAgIEBlYWNoICRsaWdodG5lc3MsICRjb2xvdXIgaW4gJGNvbG91cnMge1xyXG4gICAgICAgIC4jeyRjb2xvdXItbmFtZX0tbGlnaHRuZXNzLSN7JGxpZ2h0bmVzc30ge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnNnLXBhZ2UtaGVhZGVyIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDM1cHg7XHJcbiAgICBwYWRkaW5nOiAyMHB4IDEwcHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMztcclxuXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgbWFyZ2luOiAwIDE1cHggMzVweCAwO1xyXG4gICAgfVxyXG59XHJcblxyXG4uc2ctc2VjdGlvbi1jb250YWluZXIge1xyXG4gICAgbWFyZ2luOiAwIDE1cHggMTVweCAwO1xyXG5cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBtYXJnaW46IDAgMTVweCAyNXB4IDA7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5zZy1oZWFkaW5nIHtcclxuICAgIHBhZGRpbmc6IDE1cHggMTBweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNkZWYzYjM7XHJcblxyXG4gICAgaDIge1xyXG4gICAgICAgIGNvbG9yOiAjNWY3YjI3O1xyXG4gICAgfVxyXG59XHJcblxyXG4uc2ctaW50cm8ge1xyXG4gICAgcGFkZGluZzogMCA1cHg7XHJcbn1cclxuXHJcbi5zZy1zdWItaGVhZGluZyB7XHJcbiAgICBwYWRkaW5nOiAxMHB4IDVweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNkZWYzYjM7XHJcblxyXG4gICAgaDMge1xyXG4gICAgICAgIGNvbG9yOiAjNWY3YjI3O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNCk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5zZy1zdWItZGVzY3JpcHRpb24ge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxufVxyXG5cclxuLnNnLWNvbnRlbnQge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgcGFkZGluZzogMTBweDtcclxuICAgIGJvcmRlcjogMnB4IHNvbGlkICRjb2xvdXIzLTU7XHJcbn1cclxuXHJcbi5zZy1kZW1vLWxpc3Qge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgbGkge1xyXG4gICAgICAgIHBhZGRpbmc6IDAgMTBweDtcclxuICAgIH1cclxufVxyXG5cclxuLnNnLWl0ZW0taW5mb3JtYXRpb24tY29udGFpbmVyLFxyXG4uY3NzLXByb3BlcnR5LXZpZXcge1xyXG4gICAgbWFyZ2luOiAwIDAgMjBweDtcclxuICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMztcclxuICAgIGNvbG9yOiAkY29sb3VyMy02O1xyXG5cclxuICAgIHAge1xyXG4gICAgICAgIG1hcmdpbjogM3B4IDA7XHJcbiAgICB9XHJcblxyXG4gICAgcCxcclxuICAgIGxpIHtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuICAgIH1cclxuXHJcbiAgICB1bCB7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDAgMCAwIDIwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLml0ZW0taW5mby1sYWJlbCB7XHJcbiAgICAgICAgd2lkdGg6IDIwMHB4O1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDVweDtcclxuICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgfVxyXG59XHJcblxyXG4uc2ctaXRlbS1zZXBlcmF0b3Ige1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG91cjM7XHJcbn1cclxuXHJcbi5zZy1jZWxsLWNvbnRhaW5lciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIG1hcmdpbjogMTBweCAyMHB4O1xyXG4gICAgcGFkZGluZzogMTVweDtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvdXIzO1xyXG59XHJcblxyXG4uc2ctY29sb3VyLXBhbGV0dGUge1xyXG4gICAgLmdyaWQtY29sbGVjdGlvbi14IHtcclxuICAgICAgICBwYWRkaW5nOiAxNXB4IDA7XHJcblxyXG4gICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkY29sb3VyMztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5jb2xvdXItYmxvY2sge1xyXG4gICAgJGNvbG91ci1ibG9jay1tYXJnaW46IDVweDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICBtYXJnaW46ICRjb2xvdXItYmxvY2stbWFyZ2luIDA7XHJcbiAgICBwYWRkaW5nOiA4cHggOHB4IDZweDtcclxuICAgIGNvbG9yOiAkY29sb3VyMy02O1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvdXIzLTE7XHJcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XHJcbiAgICBib3gtc2hhZG93OiAkYm94U2hhZG93MjtcclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIC5saWdodGVuZWQtcGVyY2VudGFnZSB7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAubGlnaHRlbmVkLXBlcmNlbnRhZ2Uge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6ICRjb2xvdXItYmxvY2stbWFyZ2luO1xyXG4gICAgICAgIGxlZnQ6ICRjb2xvdXItYmxvY2stbWFyZ2luO1xyXG4gICAgICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjE7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICBvcGFjaXR5OiAuNztcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJHRyYW5zaXRpb25PdXRybztcclxuICAgIH1cclxuXHJcbiAgICBbZGF0YS1jb2xvdXItcHJldmlld10ge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGhlaWdodDogMTAwcHg7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC40Mjg1N3JlbTtcclxuICAgIH1cclxuXHJcbiAgICAuY29sb3VyLWhleC1sYWJlbCB7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgIH1cclxuXHJcbiAgICAuY29sb3VyMCB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjA7XHJcbiAgICB9XHJcblxyXG4gICAgLmNvbG91cjEge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgfVxyXG5cclxuICAgIC5jb2xvdXIyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMlxyXG4gICAgfVxyXG5cclxuICAgIC5jb2xvdXIzIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMztcclxuICAgIH1cclxuXHJcbiAgICAuY29sb3VyMy0xIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMy0xO1xyXG4gICAgfVxyXG5cclxuICAgIC5jb2xvdXIzLTIge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIzLTI7XHJcbiAgICB9XHJcblxyXG4gICAgLmNvbG91cjMtMyB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjMtMztcclxuICAgIH1cclxuXHJcbiAgICAuY29sb3VyMy00IHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMy00O1xyXG4gICAgfVxyXG5cclxuICAgIC5jb2xvdXIzLTUge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIzLTU7XHJcbiAgICB9XHJcblxyXG4gICAgLmNvbG91cjMtNiB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjMtNjtcclxuICAgIH1cclxuXHJcbiAgICAuY29sb3VyMy03IHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMy03O1xyXG4gICAgfVxyXG5cclxuICAgIC5jb2xvdXI0IHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyNDtcclxuICAgIH1cclxuXHJcbiAgICAuY29sb3VyNC0xIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyNC0xO1xyXG4gICAgfVxyXG5cclxuICAgIC5jb2xvdXI0LTIge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXI0LTI7XHJcbiAgICB9XHJcblxyXG4gICAgLmNvbG91cjQtMyB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjQtMztcclxuICAgIH1cclxuXHJcbiAgICAuY29sb3VyNC00IHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyNC00O1xyXG4gICAgfVxyXG5cclxuICAgIC5jb2xvdXI0LTUge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXI0LTU7XHJcbiAgICB9XHJcblxyXG4gICAgLmNvbG91cjQtNiB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjQtNjtcclxuICAgIH1cclxuXHJcbiAgICAuY29sb3VyNC03IHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyNC03O1xyXG4gICAgfVxyXG5cclxuICAgIC5jb2xvdXI2IHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyNjtcclxuICAgIH1cclxuXHJcbiAgICAuY29sb3VyNi0xIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyNi0xO1xyXG4gICAgfVxyXG5cclxuICAgIC5jb2xvdXI2LTIge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXI2LTI7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgc2V0LXN0eWxlLWd1aWRlLWNvbG91cihcImFjY2VudC1jb2xvdXItMVwiLCAkYWNjZW50LWNvbG91ci0xKTtcclxuICAgIEBpbmNsdWRlIHNldC1zdHlsZS1ndWlkZS1jb2xvdXIoXCJhY2NlbnQtY29sb3VyLTJcIiwgJGFjY2VudC1jb2xvdXItMik7XHJcbiAgICBAaW5jbHVkZSBzZXQtc3R5bGUtZ3VpZGUtY29sb3VyKFwiYWNjZW50LWNvbG91ci0zXCIsICRhY2NlbnQtY29sb3VyLTMpO1xyXG4gICAgQGluY2x1ZGUgc2V0LXN0eWxlLWd1aWRlLWNvbG91cihcImFjY2VudC1jb2xvdXItNFwiLCAkYWNjZW50LWNvbG91ci00KTtcclxuXHJcbiAgICAuc3VjY2Vzcy1jb2xvdXIge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHN1Y2Nlc3MtY29sb3VyLCAwKTtcclxuICAgIH1cclxuXHJcbiAgICAud2FybmluZy1jb2xvdXIge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHdhcm5pbmctY29sb3VyLCAwKTtcclxuICAgIH1cclxuXHJcbiAgICAuYWxlcnQtY29sb3VyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDApO1xyXG4gICAgfVxyXG5cclxuICAgIC5wcmljZS1jb2xvdXIge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmljZS1jb2xvdXI7XHJcbiAgICB9XHJcblxyXG4gICAgLnNhdmluZy1jb2xvdXIge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzYXZpbmdzLWNvbG91cjtcclxuICAgIH1cclxuXHJcbiAgICAucnJwLWNvbG91ciB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHJycC1jb2xvdXI7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5zZy1idXR0b25zIHtcclxuICAgIC5zZy1jb21wYXJpc29uLXRhYmxlIC5hY3Rpb24tYnV0dG9uIHtcclxuICAgICAgICAvLyBGb3JjZSB0aGUgYWxpZ25tZW50IGluIHRoZSBjb250ZXh0IG9mIHRoZSBzdHlsZVxyXG4gICAgICAgIG1hcmdpbjogMCBhdXRvICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5zZy1vbi1wYWdlLW5vdGlmaWNhdGlvbnN7XHJcbiAgICB0ZCB7XHJcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgIH1cclxuICAgIC5ub3RpZmljYXRpb24tdHlwZSB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgJiArIC5ub3RpZmljYXRpb24tc3R5bGUge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDA7XHJcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkY29sb3VyMztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAubm90aWZpY2F0aW9uLXN0eWxlIHtcclxuICAgICAgICBjb2xvcjogJGNvbG91cjMtNjtcclxuICAgIH1cclxuICAgIFxyXG59XHJcblxyXG4uc2ctcXVhbnRpdHktc2VsZWN0b3JzIHtcclxuICAgIC5wcm9kdWN0LWdyaWQtbW9kdWxlIHtcclxuICAgICAgICBtYXJnaW46IGF1dG8gMCAwO1xyXG4gICAgfVxyXG59XHJcblxyXG4uc2ctY2FsbG91dHMge1xyXG4gICAgLmNhbGxvdXQtY29udGFpbmVyIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5zZy1jb21wYXJpc29uLXRhYmxlIHtcclxuICAgIHRoIHtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblxyXG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHRkIHtcclxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjpub3QoOmZpcnN0LWNoaWxkKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIFtjbGFzcyo9XCItYnV0dG9uXCJdIHtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbiN0YWJsZS1vZi1jb250ZW50cy1zdGlja3ktY29udGFpbmVyIC5zdGlja3kge1xyXG4gICAgei1pbmRleDogMjtcclxufVxyXG5cclxuLnRhYmxlLW9mLWNvbnRlbnRzIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbiAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG91cjM7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMTtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBib3gtc2hhZG93OiAkYm94U2hhZG93MztcclxuICAgIH1cclxuICAgIC5oZWFkaW5nIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICAgICAgcGFkZGluZzogMTVweCAxMHB4O1xyXG4gICAgICAgIGNvbG9yOiAjNWY3YjI3O1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkZWYzYjM7XHJcbiAgICAgICAgaDIge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjIpO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnNlY3Rpb25zIHtcclxuICAgICAgICAvLyBRdWljayBhbmQgZGlyZWN0eSBzb2x1dGlvbiBhcyBmb3VuZGF0aW9uJ3Mgc3RpY2sgaXMgY2FsY3VsYXRpbmcgdGhlIGhlaWdodCBvZiB0aGUgc3RpY2t5IGNvbnRhaW5lciBiYXNlZCBvbiB0aGUgY29udGVudCB3aGljaCBnb2VzIG9mZiB0aGUgdmlld3BvcnQgZHVlIHRvIHRoZSBzdGlja3kgaGVhZGVyLCB0aGlzIHdpbGwgbmVlZCBxdWl0ZSBhIGJpdCBvZiB3b3JrIHRvIHRha2UgdGhlIHN0aWNreSBoZWFkZXIgaW50byBhY2NvdW50IHdoaWNoIGN1cnJlbnRseSB3ZSBkb250IGhhdmUgdGltZSBmb3IuXHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiA2MHZoO1xyXG4gICAgICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICAgICAgICAgIGxpIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMTBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMTBweDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDVweDtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIzLTY7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAuNnMgZWFzZS1pbjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIzO1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICYuYWN0aXZlIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGVmM2IzNjU7XHJcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAuNHMgZWFzZS1vdXQ7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBmb250LXdlaWdodCAuNnMgZWFzZS1pbjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91cjMtNjtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBmb250LXdlaWdodCAuNHMgZWFzZS1vdXQ7XHJcbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcbi8qIFRoaXMgc3R5bGVzIHRoZSBleGFtcGxlIHJvd3MgdXNlZCBpbiB0aGUgZ3JpZCBkb2N1bWVudGF0aW9uLiAqL1xyXG4uZ3JpZC14LmRpc3BsYXkge1xyXG4gICAgYmFja2dyb3VuZDogI2VlZTtcclxuICAgIGZvbnQtc2l6ZTogMTFweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICBsaW5lLWhlaWdodDogMnJlbTtcclxuICAgIGJvcmRlcjogc29saWQgMXB4ICNjNmM2YzY7XHJcbiAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5ncmlkLXguZGlzcGxheSAuY2VsbDpudGgtY2hpbGQoMiksXHJcbi5ncmlkLXguZGlzcGxheSAuY2VsbC5zbWFsbC1jZW50ZXJlZCxcclxuLmdyaWQteC5kaXNwbGF5IC5jZWxsLmxhcmdlLWNlbnRlcmVkIHtcclxuICAgIGJhY2tncm91bmQ6ICNlMWUxZTE7XHJcbn1cclxuXHJcbi5ncmlkLXguZGlzcGxheSAuY2VsbC5jb2xvci1lbmQge1xyXG4gICAgYmFja2dyb3VuZDogI2Q0ZDRkNDtcclxufVxyXG5cclxuLnNnLWhlYWRlciB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZWVlO1xyXG4gICAgcGFkZGluZzogMnJlbTtcclxufVxyXG5cclxuLmdyaWQtY29udGFpbmVyIHtcclxuICAgIG1heC13aWR0aDogMTQwMHB4O1xyXG59XHJcblxyXG4uc2ctc2lkZS1tZW51IHtcclxuICAgIG1hcmdpbi1sZWZ0OiAxcmVtO1xyXG59XHJcblxyXG4uZ3JpZC1jb250YWluZXIucGFkZGVkIHtcclxuICAgIHBhZGRpbmctdG9wOiAycmVtO1xyXG59XHJcblxyXG4uc2ctc2lkZS1tZW51IGEge1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2UtaW47XHJcbn1cclxuXHJcbi5zZy1zaWRlLW1lbnUgYTpob3ZlciB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZWVlO1xyXG59XHJcblxyXG4uc2ctc2lkZS1tZW51IGE6Zm9jdXMge1xyXG4gICAgYmFja2dyb3VuZDogIzE0NjhhMDtcclxuICAgIGNvbG9yOiAjZmZmO1xyXG59XHJcblxyXG4uc2ctc2lkZS1tZW51Lm1lbnUge1xyXG4gICAgb3ZlcmZsb3c6IGF1dG87XHJcbiAgICBoZWlnaHQ6IDEwMHZoO1xyXG4gICAgcGFkZGluZy1ib3R0b206IDVyZW07XHJcbn0iLCIvKlxyXG4tLS0tLSBBZG1pbiAtLS0tLVxyXG5UaGlzIHdpbGwgcG90ZW50aWFsIGhhbmQgdm1BZG1pbiB2Mi5cclxuKi9cclxuXHJcblxyXG5cclxuLnZtYWRtaW4tZWRpdG9yIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgYm9yZGVyOiAycHggc29saWQgJGNvbG91cjA7XHJcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICYuYWN0aXZlIHtcclxuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvdXIzLTI7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICB9XHJcbiAgICAmLmlubGluZS1lZGl0b3Ige1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAuZWRpdG9yLXRyaWdnZXItY29udHJvbHMge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAwO1xyXG4gICAgICAgICAgICB0b3A6IGF1dG87XHJcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICBib3R0b206IC0zMHB4O1xyXG4gICAgICAgICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAyMDBweDtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5jay1jb250ZW50IHtcclxuICAgICAgICAmLmNrLWVkaXRvcl9fZWRpdGFibGVfaW5saW5lIHtcclxuICAgICAgICAgICAgPiBwIHtcclxuICAgICAgICAgICAgICAgIC8vIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgICAgIC8vIE92ZXJyaWRpbmcgY2tlZGl0b3IncyBzdHlsZXMuXHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBUZW1wIGZpeCBmb3Igb3ZlcnJpZGluZyBja2VkaXRvciBzdHlsZXMuXHJcbiAgICAgICAgJi5jay5jay1lZGl0b3JfX2VkaXRhYmxlIHtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3VyMCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gRWRpdG9yIGluaXRpYWwgY29udHJvbHMuXHJcbiAgICAuZWRpdG9yLXRyaWdnZXItY29udHJvbHMge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgLy8gVE9ETzoganVzdCB0ZW1wIHVzaW5nIHRoaXMgdmFyLlxyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb29raWUtbm90aWZpY2F0aW9uLWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgIHotaW5kZXg6IDEwMDAwMDtcclxuICAgICAgICAvLyBDb21tb24gYnV0dG9uIHN0eWxpbmcuXHJcbiAgICAgICAgLmFkbWluLWJ1dHRvbiB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgbWFyZ2luOiA1cHg7XHJcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogNXB4IDEwcHg7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6aG92ZXI6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNjtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICArIGRpdiB7XHJcbiAgICAgICAgei1pbmRleDogMTtcclxuICAgIH1cclxuICAgIC5wcm9wZXJ0eS1lZGl0b3Ige1xyXG4gICAgICAgXHJcbiAgICB9XHJcbn1cclxuLy8gUHJvcGVydHkgZWRpdG9yIHRyaWdnZXIgYnV0dG9uLlxyXG4ucHJvcGVydHktZWRpdG9yLXRyaWdnZXIge1xyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6ICdcXGYwMTMnO1xyXG4gICAgfVxyXG59XHJcbi8vIENvbnRlbnQgZWRpdG9yIHRyaWdnZXIgYnV0dG9uLlxyXG4uY29udGVudC1lZGl0b3ItdHJpZ2dlciB7XHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogJ1xcZjA0NCc7XHJcbiAgICB9XHJcbn1cclxuLy8gRWRpdG9yIHNhdmUgYnV0dG9uLlxyXG4uZWRpdG9yLXNhdmUtYnV0dG9uIHtcclxuICAgICYuaW5saW5lIHtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6ICdcXGYwYzcnO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4vLyBFZGl0b3IgY2FuY2VsIGJ1dHRvbi5cclxuLmVkaXRvci1jYW5jZWwtYnV0dG9uIHtcclxuICAgICYuaW5saW5lIHtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6ICdcXGYwMGQnO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIlxyXG5cclxuXHJcblxyXG5cclxuXHJcbi5vZmYtY2FudmFzLWhlYWRlciB7XHJcbiAgICAuY2xvc2UtYnV0dG9uIHtcclxuICAgICAgICBAaW5jbHVkZSBjbG9zZUJ1dHRvbigpO1xyXG4gICAgfVxyXG4gICAgLm9mZi1jYW52YXMtaGVhZGluZyB7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDE2cHggMDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDM1cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgaDIge1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3VyMTtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNSk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgIH1cclxuICAgIHAge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHBhcmFncmFwaC1mb250LXNpemUgKyAxKTtcclxuICAgIH1cclxufSIsIi8qXHJcbi0tLS0tIEFjY29yZGlvbiBUYWJzIC0tLS0tLSBcclxuLSBUT0RPOiBUaGUgbmFtaW5nIGNvbnZlbnRpb25zIG5lZWQgdG8gYmUgcmUtd3JpdGVuIGF0IHNvbWUgcG9pbnQgYXMgdGhpcyB3YXMgb3JpZ2luYWxseSBidWlsZCBmb3Igb24gYmVpbmcgdXNlZCBvbiB0aGUgcHJvZHVjdCBwYWdlIGhlbnNlIHRoZSB2ZXJ5IHNwZWNpZmljIG5hbWluZyBvZiBpZCdzIGFuZCBjbGFzc2VzLlxyXG4tIFRoaXMgZnVuY3Rpb25hbGl0eSBpcyBiYXNlZCBvbiBGb3VuZGF0aW9uJ3MgUmVzcG9uc2l2ZSBBY2NvcmRpb24gVGFicyBodHRwczovL2dldC5mb3VuZGF0aW9uL3NpdGVzL2RvY3MvcmVzcG9uc2l2ZS1hY2NvcmRpb24tdGFicy5odG1sXHJcbi0gVGhlIHN0eWxpbmcgZm9yIHByb2R1Y3QgdGFiYmVkIG5vdGVzIGlzIGRlZmluZWQgaGVyZVxyXG4gIC0gQXR0YWNobWVudHNcclxuICAtIFNwZWNpZmljYXRpb24nc1xyXG4gIC0gUmV2aWV3c1xyXG4gIC0gQ29tcG9uYW50cy5cclxuXHJcbiovXHJcblxyXG4vLyAtLS0tLSBSZXNwb25zaXZlIFRhYnMgaGVhZGVyIC0tLS0tIFxyXG4ucmVzcG9uc2l2ZS10YWJzLWhlYWRlciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBwYWRkaW5nOiAyMHB4IDA7XHJcbiAgICAucmVzcG9uc2l2ZS10YWJzLWNvbnRyb2xzIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5hY2NvcmRpb24tdG9nZ2xlLWFsbC1idXR0b24ge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCB0cmVlLW1lbnUtb3Blbik7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxOHB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDE4cHg7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJGJvcmRlclJhZGl1czI7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRjb2xvdXI0O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMTtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogY3VzdG9tLWljb24tZmFtaWx5KCRmb250QXdlc29tZVNvbGlkLCAkc2l0ZS1pY29ucy1jdXN0b20tY2hldnJvbnMpO1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICR0cmVlLW1lbnUtZXhwYW5kLWFsbC1pY29uLWZvbnQtc2l6ZTtcdFx0XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuYWN0aXZlIHtcclxuICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCB0cmVlLW1lbnUtY2xvc2UpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0tIEdlbmVyYWwgc3R5bGluZ3MgLS0tLVxyXG4vLyBJRCByZWZlcmVuY2UgY2FuIGdvIGFmdGVyIDgyMzk0MyBpcyBjb21wbGV0ZS5cclxuI3RhYmJlZC1ub3Rlcy1jb250YWluZXIge1xyXG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgJi5jb21wb25lbnQtcmVhZHkge1xyXG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5yZXNwb25zaXZlLXRhYnMge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgJi5jb21wb25lbnQtcmVhZHkge1xyXG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgICB9XHJcbiAgICAmOmhhcygudGFicy52ZXJ0aWNhbCkge1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICB9XHJcbiAgICAmLmFjY291bnQtYXJlYSB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXJnaW46IDVweCAwIDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC50YWJzLXBhbmVsIHtcclxuICAgICAgICAgICAgcGFkZGluZzogc21hbGwtdmFsdWUoJGFjY291bnQtdGFicy1wYW5lbC1wYWRkaW5nKTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogbGFyZ2UtdmFsdWUoJGFjY291bnQtdGFicy1wYW5lbC1wYWRkaW5nKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0YWJsZSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmFjY29yZGlvbi10aXRsZS1jb250YWluZXIge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICAgICAgICAgICAgICBnYXA6IDEwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnBhY2thZ2UtcmVmZXJlbmNlLWNvbnRhaW5lciwgLnRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcclxuICAgICAgICAgICAgICAgICAgICBncmlkLWNvbHVtbjogMTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAucGFja2FnZS1yZWZlcmVuY2UtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGdyaWQtcm93OiAxO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDI7XHJcbiAgICAgICAgICAgICAgICAgICAgZ3JpZC1yb3c6IDE7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnRoaXJkLXBhcnR5LXRyYWNraW5nLXJlZmVyZW5jZSB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcclxuICAgICAgICAgICAgICAgICAgICAvL2dyaWQtY29sdW1uOiAyO1xyXG4gICAgICAgICAgICAgICAgICAgIGdyaWQtcm93OiAzO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5hY2NvcmRpb24tdGl0bGUge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAyMHB4O1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogOHB4IDIwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmFjY29yZGlvbi1jb250ZW50ICB7XHJcbiAgICAgICAgICAgICZbYXJpYS1oaWRkZW49XCJmYWxzZVwiXSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDVweDtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDIwcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLnNlYXJjaC1yZXN1bHRzIHtcclxuICAgICAgICAudGFicy10aXRsZSBhIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMThweCAzNXB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC50YWJzLXBhbmVsIHtcclxuICAgICAgICAgICAgcGFkZGluZzogNDVweCAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuYWNjb3JkaW9uLWNvbnRlbnRbYXJpYS1oaWRkZW49XCJmYWxzZVwiXSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHggNXB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC50YWJzIHtcclxuICAgICAgICAmLnZlcnRpY2FsIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICBib3JkZXI6IDA7XHJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMXB4O1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAudGFicy10aXRsZSB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDFweCAwIDA7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3VyMztcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJvcmRlci13aWR0aCAkdHJhbnNpdGlvbk91dHJvLCBib3JkZXItY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgICAgICYuaXMtYWN0aXZlIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyNC02O1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDNweCAwIDA7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLXdpZHRoICR0cmFuc2l0aW9uSW50cm8sIGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOm5vdCguaXMtYWN0aXZlKTpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3VyNjtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6IDAgM3B4IDAgMDtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItd2lkdGggLjJzLCBib3JkZXItY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDIwcHggMTBweCAyMHB4IDE1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAuZm91bmQtY291bnQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy8gUHV0IHRhYnMgY29udGVudCBpbnRvIGNvbnRleHQuXHJcbiAgICAgICAgICAgICYgKyAudGFicy1jb250ZW50IHtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAudGFicy1wYW5lbCB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTBweCAxNXB4IDEwcHggMzBweDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAudGFicy10aXRsZSB7XHJcbiAgICAgICAgd2lkdGg6ICRwcm9kdWN0LXRhYnMtdGl0bGUtZGVza3RvcC13aWR0aDtcclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgcGFkZGluZzogJHByb2R1Y3QtdGFicy10aXRsZS1wYWRkaW5nO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiAkcHJvZHVjdC10YWJzLXRpdGxlLXRleHQtYWxpZ247XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5mb3VuZC1jb3VudCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcoJztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcpJztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmJlZm9yZSwgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAudGFicy1wYW5lbCwgLmFjY29yZGlvbi1jb250ZW50IHtcclxuICAgICAgICB0YWJsZSB7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMDtcclxuICAgICAgICAgICAgdHIge1xyXG4gICAgICAgICAgICAgICAgdGQge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC50YWJzLXBhbmVsIHtcclxuICAgICAgICBwYWRkaW5nOiBzbWFsbC12YWx1ZSgkdGFicy1jb250ZW50LXBhZGRpbmcpO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogbGFyZ2UtdmFsdWUoJHRhYnMtY29udGVudC1wYWRkaW5nKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuYWNjb3JkaW9uLWl0ZW0uaXMtYWN0aXZlIC5hY2NvcmRpb24tY29udGVudCB7XHJcbiAgICAgICAgcGFkZGluZzogc21hbGwtdmFsdWUoJGFjY29yZGlvbi1wYW5lLWNvbnRlbnQtcGFkZGluZyk7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBsYXJnZS12YWx1ZSgkYWNjb3JkaW9uLXBhbmUtY29udGVudC1wYWRkaW5nKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAudGFicy1jb250ZW50IHtcclxuICAgICAgICBmbGV4OiAxO1xyXG4gICAgfVxyXG5cclxuICAgIC5hY2NvcmRpb24taXRlbSB7XHJcbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgLmFjY29yZGlvbi1jb250ZW50IHtcclxuICAgICAgICAgICAgICAgICZbYXJpYS1oaWRkZW49dHJ1ZV0ge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIEFkZGVkIHRoaXMgcnVsZSBhcyB3aGVuIGluIGFjY29yZGlvbiB2aWV3IG9uIHRoZSBwcm9kdWN0IGVucXVpcnkgcGFnZSB0aGVyZSB3YXMgdHdvIHJ1bGVzIGJlaW5nIGFkZGVkLCB0aGlzIG9uZSBhbmQgdGhlIGFjY29yZGlvbiB0aXRsZSBhcyB3ZWxsLCB0aGlzIGlzIG92ZXJyaWRpbmcgZm91bmRhdGlvbidzIGNzcy5cclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICB9IFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC50YWJzLWNvbnRlbnQsXHJcbiAgICAuYWNjb3JkaW9uLWNvbnRlbnQge1xyXG4gICAgICAgIHRhYmxlIHtcclxuICAgICAgICAgICAgJjpub3QoW2NsYXNzKj1cInByZXNldFwiXSkge1xyXG4gICAgICAgICAgICAgICAgdHIge1xyXG4gICAgICAgICAgICAgICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3VyMy0xO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHRkIHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwcm9kdWN0LXRhYi1zcGVjaWZpY2lhdGlvbi1mb250LXNpemUpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHVsIHtcclxuICAgICAgICAgICAgLy8gU3VwcHJlc3NpbmcgcGFkZGluZyBkdWUgdG8gY29uZmxpY3Rpbmcgd2l0aCB0aGUgcGFkZGluZyBmb3Igc3RhciByYXRpbmcuXHJcbiAgICAgICAgICAgIC8vIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgLy8gcGFkZGluZzogMDtcclxuICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgICAgICAgLy8gc3BhbiB7XHJcbiAgICAgICAgICAgICAgICAvLyBTdXBwcmVzc2luZyBwYWRkaW5nIGR1ZSB0byBjb25mbGljdGluZyB3aXRoIHRoZSBwYWRkaW5nIGZvciBzdGFyIHJhdGluZy5cclxuICAgICAgICAgICAgICAgIC8vIHBhZGRpbmctbGVmdDogMjBweDtcclxuICAgICAgICAgICAgICAgIC8vIFN1cHJlc3NpbmcgdG8gbWFrZSBtb3JlIGdlbmVyYWwgcHVycG9zZSwgdXNlIGNvbnRhaW5lciBjbGFzc2VzIGlmIG5lZWRlZC5cclxuICAgICAgICAgICAgICAgIC8vZm9udC1zaXplOiByZW0tY2FsYygkcGFyYWdyYXBoLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgIC8vIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgfVxyXG59XHJcblxyXG4vLyBPbmx5IGVmZmVjdCB0aGUgcHJvZHVjdCBwYWdlLCB0aGlzIHNob3VsZCBiZSByZWZhY3RvcmVkIHRvIHVzZSBkZWZhdWx0IHRhYmxlIGNsYXNzaW5nICggcHJlc2V0LTEgKSBhbmQgdGV4dC1lcXVhbGlzZXIgKCBjb2x1bW4gYWxpZ25tZW50ICkuXHJcbiN0YWJiZWQtbm90ZXMtY29udGFpbmVyIHtcclxuICAgIC50YWJzLXBhbmVsLCAuYWNjb3JkaW9uLWNvbnRlbnQge1xyXG4gICAgICAgIC50YWJiZWQtY21zLWVudHJ5LCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyLCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIC8vIE9ubHkgZG8gdGhpcyBmb3IgdGFiYmVkIG5vdGVzLCBvdGhlcndpc2UgdGhlIHJ1bGVzIGdldCBpbiB0aGUgd2F5IG9mIG90aGVyIGNsYXNzZXMgKCBpLmUgcHJpY2luZyApXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGNtcy1oZWFkaW5ncygpO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBjbXMtcGFyYWdyYXBoKG51bGwsIG51bGwsICRwYXJhZ3JhcGgtZm9udC1zaXplKTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgY21zLWxpc3RzKG51bGwsIG51bGwsICRwYXJhZ3JhcGgtZm9udC1zaXplKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgY21zLXRhYmxlKCk7XHJcbiAgICB9XHJcbiAgICAvLyBIYW5kbGUgdGhlIGZpcnN0IGNvbHVtbiBsaWtlIGl0IGlzIHRoZSBoZWFkZXIgaW4gdGVybXMgb2YgdHlwb2dyYXBoeSAoIHdpdGggdGhlIGV4Y2VwdGlvbiBvZiB0aGUgY29sb3VyLi4uLiApLlxyXG4gICAgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciB7XHJcbiAgICAgICAgdGFibGUge1xyXG4gICAgICAgICAgICB0Ym9keSB7XHJcbiAgICAgICAgICAgICAgICB0ZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtMCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMobWFwLWdldCgkdGhlYWQtcHJlc2V0LTEsIGZvbnQtc2l6ZSkpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogbWFwLWdldCgkdGhlYWQtcHJlc2V0LTEsIGZvbnQtd2VpZ2h0KTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi50YWJzLXBhbmVsLCAuYWNjb3JkaW9uLWNvbnRlbnQge1xyXG4gICAgLmNvbXBvbmVudHMtaW50cm8tY29udGFpbmVyIHtcclxuICAgICAgICBtYXJnaW46IDAgMCAzMHB4O1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgIH1cclxuICAgICY6aGFzKC5jb21wb25lbnRzLWludHJvLWNvbnRhaW5lcikge1xyXG4gICAgICAgIEBpbmNsdWRlIGNtcy10YWJsZSgpO1xyXG4gICAgICAgIC5kZXNjcmlwdGlvbi1jb2wsIC5yZWZlcmVuY2UtY29sIHtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLS0gVGFicyBzdHlsaW5nIC0tLS1cclxuLnRhYnMge1xyXG4gICAgJHRhYnNCb3JkZXJCb3R0b206IDFweDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgbWFyZ2luLXRvcDogODBweDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBib3JkZXItYm90dG9tOiAkdGFic0JvcmRlckJvdHRvbSBzb2xpZCAkY29sb3VyMy0xICFpbXBvcnRhbnQ7IC8vIE92ZXJyaWRpbmcgRm91bmRhdGlvblxyXG4gICAgJi52ZXJ0aWNhbCB7XHJcbiAgICAgICAgd2lkdGg6IDIwJTtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206IDAgIWltcG9ydGFudDsgLy8gT3ZlcnJpZGluZyBGb3VuZGF0aW9uICYgdGhlIEpTIGRvZXNuJ3QgYXBwbHkgXCIgaG9yaXpvbnRhbCBcIiBjbGFzcyBzbyB3ZSBoYXZlIHRvIG92ZXJyaWRlIG91ciAgZGVmYXVsdC5cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMzAwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnRhYnMtdGl0bGUge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG91cjA7XHJcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHggMXB4IDAgMXB4O1xyXG4gICAgICAgIEBpZiBzbW9vdGgtZWRnZXMoKSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpIHNtb290aC1lZGdlcygpIDAgMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5pcy1hY3RpdmUge1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvdXIzLTE7XHJcbiAgICAgICAgICAgIC8vIE92ZXJyaWRlIHRoZSBydWxlIHRoYXQgZ29lcyBhY3Jvc3MgYWxsIG9mIHRoZSB0YWJzLlxyXG4gICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6ICR0YWJzQm9yZGVyQm90dG9tO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICBib3R0b206IC0jeyR0YWJzQm9yZGVyQm90dG9tfTtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIG1lbnUtb3Blbik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgbWVudS1jbG9zZSk7ICAgIFxyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDEwcHg7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICR0YWJzLXRpdGxlLWljb24tc2l6ZTsgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogY3VzdG9tLWljb24tZmFtaWx5KCRmb250QXdlc29tZVNvbGlkLCAkc2l0ZS1pY29ucy1jdXN0b20tY2hldnJvbnMpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkdGFicy10aXRsZS1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJHRhYnMtdGl0bGUtdGV4dC10cmFuc2Zvcm07XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJHRhYnMtdGl0bGUtY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJHRhYnMtdGl0bGUtY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0tIEFjY29yZGlvbnMgLS0tLS1cclxuLmFjY29yZGlvbiB7XHJcbiAgICAkYWNjb3JkaW9uLXNwYWNpbmc6IDEwcHg7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICAvLyBBZGQgc21hbGwgYW1vdW50IG9mIHBhZGRpbmcgd2hlbiBpbiBtb2JpbGUgZm9yIHRoZSBwcm9kdWN0IHBhZ2UuXHJcbiAgICBwYWRkaW5nOiAxMHB4IDA7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgIH1cclxuICAgIC8vIEZvciB0aGlzIHRvIHdvcmsgeW91IGhhdmUgdG8gd3JhcCB0aGUgdGl0bGUgdGV4dCBpbiBhIHNwYW4udGl0bGUuXHJcbiAgICAmLnBhbmVsLXN0YXRlLWluZGljYXRvci1maXJzdCB7XHJcbiAgICAgICAgLmFjY29yZGlvbi10aXRsZSB7XHJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICBvcmRlcjogMTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAudGl0bGUge1xyXG4gICAgICAgICAgICAgICAgb3JkZXI6IDI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLnJhZGlvLWluZGljYXRvcnMge1xyXG4gICAgICAgIC5hY2NvcmRpb24taXRlbSB7XHJcbiAgICAgICAgICAgICYuaXMtYWN0aXZlIHtcclxuICAgICAgICAgICAgICAgICAuYWNjb3JkaW9uLXRpdGxlOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBhY2NvcmRpb24tcmFkaW8taW5kaWNhdG9yLWRlZmF1bHQpO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICAgICAgICAgIH0gXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmFjY29yZGlvbi10aXRsZTphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBhY2NvcmRpb24tcmFkaW8taW5kaWNhdG9yLWRlZmF1bHQpO1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVJlZ3VsYXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcblxyXG4gICAgfVxyXG4gICAgLy8gSWYgb25seSBvbmUgY2hpbGQgdGhlbiBzdXBwcmVzcyB0aXRsZSAoIGUuZy4gcGF5bWVudCBtZXRob2RzICkuXHJcbiAgICAmLnN1cHByZXNzLXRpdGxlLXNpbmdsZS1jaGlsZCB7XHJcbiAgICAgICAgLmFjY29yZGlvbi1pdGVtIHtcclxuICAgICAgICAgICAgJjpvbmx5LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgIC5hY2NvcmRpb24tdGl0bGUge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAuYWNjb3JkaW9uLWNvbnRlbnQge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogI3skYWNjb3JkaW9uLXBhbmUtY29udGVudC1ib3JkZXItd2lkdGh9O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5hY2NvcmRpb24tdGl0bGUtaW52ZXJ0ZWQtY29sb3VycyB7XHJcbiAgICAgICAgLy8gQ29sb3VyIHByb2Nlc3NpbmcuXHJcbiAgICAgICAgJGRlZmF1bHQtY29sb3VyOiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJGFjY29yZGlvbi10aXRsZS1pbnZlcnRlZC1jb2xvdXIsIGRlZmF1bHQpLCBtYXAtZ2V0KCRhY2NvcmRpb24tdGl0bGUtaW52ZXJ0ZWQtYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpKTtcclxuICAgICAgICAkaG92ZXItY29sb3VyOiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJGFjY29yZGlvbi10aXRsZS1pbnZlcnRlZC1jb2xvdXIsIGhvdmVyKSwgbWFwLWdldCgkYWNjb3JkaW9uLXRpdGxlLWludmVydGVkLWJhY2tncm91bmQtY29sb3VyLCBob3ZlcikpO1xyXG4gICAgICAgICRhY3RpdmUtY29sb3VyOiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJGFjY29yZGlvbi10aXRsZS1pbnZlcnRlZC1jb2xvdXIsIGFjdGl2ZSksIG1hcC1nZXQoJGFjY29yZGlvbi10aXRsZS1pbnZlcnRlZC1iYWNrZ3JvdW5kLWNvbG91ciwgYWN0aXZlKSk7XHJcblxyXG4gICAgICAgIC5hY2NvcmRpb24tdGl0bGUge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRhY2NvcmRpb24tdGl0bGUtaW52ZXJ0ZWQtYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRkZWZhdWx0LWNvbG91cjtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgYS5hY2NvcmRpb24tdGl0bGUtY29udGVudCB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGRlZmF1bHQtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybywgYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uT3V0cm8sIGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRhY2NvcmRpb24tdGl0bGUtaW52ZXJ0ZWQtYmFja2dyb3VuZC1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25JbnRybywgY29sb3IgJHRyYW5zaXRpb25JbnRybywgYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGhvdmVyLWNvbG91cjtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgYS5hY2NvcmRpb24tdGl0bGUtY29udGVudCB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRob3Zlci1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkaG92ZXItY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYWNjb3JkaW9uLXRpdGxlLWludmVydGVkLWJhY2tncm91bmQtY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRhY3RpdmUtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgYS5hY2NvcmRpb24tdGl0bGUtY29udGVudCB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRhY3RpdmUtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGFjdGl2ZS1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5hY2NvcmRpb24taXRlbSB7XHJcbiAgICAgICAgICAgICYuaXMtYWN0aXZlIHtcclxuICAgICAgICAgICAgICAgIC5hY2NvcmRpb24tdGl0bGUge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGFjY29yZGlvbi10aXRsZS1pbnZlcnRlZC1iYWNrZ3JvdW5kLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRhY3RpdmUtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBhOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRhY3RpdmUtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYWN0aXZlLWNvbG91cjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5hY2NvcmRpb24tdGl0bGUtY29udGFpbmVyIHtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgXHJcbiAgICB9XHJcbiAgICAuYWNjb3JkaW9uLXRpdGxlIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRhY2NvcmRpb25zLXRpdGxlLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJGFjY29yZGlvbnMtdGl0bGUtdGV4dC10cmFuc2Zvcm07XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcclxuICAgICAgICBAaWYgKG1hcC1nZXQoJGFjY29yZGlvbnMtdGl0bGUtYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpKSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGFjY29yZGlvbnMtdGl0bGUtYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmhpZ2hsaWdodGVkIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYWNjb3JkaW9ucy10aXRsZS1iYWNrZ3JvdW5kLWNvbG91ciwgaGlnaGxpZ2h0ZWQpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmRpc2FibGVkIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGlzYWJsZWQtY29sb3VyKCRhY2NvcmRpb25zLXRpdGxlLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgICAgICAgICAgY29sb3I6IGRpc2FibGVkLWNvbG91cigkYWNjb3JkaW9ucy10aXRsZS1jb2xvdXIpO1xyXG4gICAgICAgICAgICBjdXJzb3I6IG5vLWRyb3A7XHJcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgICAgICAgICAudGl0bGUtaWNvbiB7XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAuNDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgdGFibGUtcmV2ZWFsLWNsb3NlZCk7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICRhY2NvcmRpb25zLWFycm93LWZvbnQtc2l6ZTtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6IGN1c3RvbS1pY29uLWZhbWlseSgkZm9udEF3ZXNvbWVTb2xpZCwgJHNpdGUtaWNvbnMtY3VzdG9tLWNoZXZyb25zKTtcclxuICAgICAgICAgICAgY29sb3I6IGRlZmF1bHQtY29sb3VyKCRhY2NvcmRpb25zLWFycm93LWNvbG91cik7XHJcblxyXG4gICAgICAgIH1cclxuICAgICAgICAudGl0bGUtaWNvbiB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxNzVweDsgLy8gZGVmYXVsdC5cclxuICAgICAgICAgICAgaGVpZ2h0OiAzMHB4O1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuZm91bmQtY291bnQge1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbiAgICAgICAgICAgIG9yZGVyOiAtMTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBhLmFjY29yZGlvbi10aXRsZSB7XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuaXMtYWN0aXZlIHtcclxuICAgICAgICAuYWNjb3JkaW9uLXRpdGxlIHtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogYWN0aXZlLWNvbG91cigkYWNjb3JkaW9ucy10aXRsZS1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgdGFibGUtcmV2ZWFsLW9wZW4pO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IGFjdGl2ZS1jb2xvdXIoJGFjY29yZGlvbnMtdGl0bGUtY29sb3VyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5hY2NvcmRpb24taXRlbSB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGFjY29yZGlvbi1zcGFjaW5nO1xyXG4gICAgICAgICY6bm90KC5pcy1hY3RpdmUpIHtcclxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIC5hY2NvcmRpb24tY29udGVudCB7XHJcbiAgICAgICAgICAgICAgICBAaWYgKHNtb290aC1lZGdlcygpICE9IDApIHtcclxuICAgICAgICAgICAgICAgICAgICAvLyBTdXBwcmVzc2luZyB3ZWlyZCBib3JkZXIgdGhhdCBpcyBmb3VuZCBlbWl0dGluZyB3aGVuIHdlIHJvdW5kIG92ZXIgdGhlIGNvcm5lcnMgb2YgdGhlIGxhc3QgaXRlbS5cclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmFjY29yZGlvbi1jb250ZW50IHtcclxuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG91cjMtMTtcclxuICAgICAgICBib3JkZXItd2lkdGg6IDAgI3skYWNjb3JkaW9uLXBhbmUtY29udGVudC1ib3JkZXItd2lkdGh9ICN7JGFjY29yZGlvbi1wYW5lLWNvbnRlbnQtYm9yZGVyLXdpZHRofSAjeyRhY2NvcmRpb24tcGFuZS1jb250ZW50LWJvcmRlci13aWR0aH07XHJcbiAgICB9XHJcbn1cclxuXHJcbi5hY2NvcmRpb24tY29udGVudCB7XHJcbiAgICBoZWlnaHQ6IDA7XHJcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICZbYXJpYS1oaWRkZW49XCJmYWxzZVwiXSB7XHJcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgIHBhZGRpbmc6IHNwYWNpbmctdmFsdWUoJHRhYnMtY29udGVudC1wYWRkaW5nLCAwLCBzbWFsbCk7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBzcGFjaW5nLXZhbHVlKCR0YWJzLWNvbnRlbnQtcGFkZGluZywgMCwgbGFyZ2UpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmFjY29yZGlvbi10aXRsZS1jb250YWluZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxufVxyXG5cclxuLy8gRGlzcGxheXMgdGhlIHZhcmlvdXMgZmlsZSBhdHRhY2htZW50cyB0aGF0IGNhbiBiZSBhc3NpZ25lZCB0byBhIHN0b2NrIGl0ZW0uXHJcbi5hdHRhY2htZW50cy1jb250YWluZXIge1xyXG4gICAgdWwge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICAgICAgbGkge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICAgICAgZmxleDogMSAwIDUwJTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBmbGV4OiAxIDAgMzMlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmF0dGFjaG1lbnQge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgcGFkZGluZzogJGZpbGUtYXR0YWNobWVudC1wYWRkaW5nO1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmaWxlLWFuY2hvci1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZmlsZS1hbmNob3ItZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgZm9udC1zaXplOiAkZmlsZS1hbmNob3ItZm9udC1zaXplO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmaWxlLWFuY2hvci1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICB9XHJcbiAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZmlsZS1hbmNob3ItY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZmlsZS1hbmNob3ItY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybzsgXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRmaWxlLXR5cGUtaWNvbnMsIHVua25vd24pO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lUmVndWxhcjtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZpbGUtaWNvbnMtY29sb3VycywgdW5rbm93bik7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAxNXB4IDAgMDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAkZmlsZS1pY29ucy1zaXplO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5icm9jaHVyZSB7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRmaWxlLXR5cGUtaWNvbnMsIGJyb2NodXJlKTtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVJlZ3VsYXI7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmaWxlLWljb25zLWNvbG91cnMsIGJyb2NodXJlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAudXNlci1ndWlkZSB7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRmaWxlLXR5cGUtaWNvbnMsIHVzZXItZ3VpZGUpO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmaWxlLWljb25zLWNvbG91cnMsIHVzZXItZ3VpZGUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5wYXJ0cy1kaWFncmFtIHtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJGZpbGUtdHlwZS1pY29ucywgcGFydHMtZGlhZ3JhbSk7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZpbGUtaWNvbnMtY29sb3VycywgcGFydHMtZGlhZ3JhbSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLndvcmQsIFtocmVmJD0nLmRvYyddLCBbaHJlZiQ9Jy5kb2N4J10ge1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkZmlsZS10eXBlLWljb25zLCB3b3JkKTtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZmlsZS1pY29ucy1jb2xvdXJzLCB3b3JkKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAucG93ZXJwb2ludCwgW2hyZWYkPScucHB0J10ge1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkZmlsZS10eXBlLWljb25zLCBwb3dlcnBvaW50KTtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZmlsZS1pY29ucy1jb2xvdXJzLCBwb3dlcnBvaW50KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuZXhjZWwsIFtocmVmJD0nLnhscyddLCBbaHJlZiQ9Jy54bHN4J10ge1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkZmlsZS10eXBlLWljb25zLCBleGNlbCk7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZpbGUtaWNvbnMtY29sb3VycywgZXhjZWwpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5wZGYsIFtocmVmJD0nLnBkZiddIHtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJGZpbGUtdHlwZS1pY29ucywgcGRmKTtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVJlZ3VsYXI7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmaWxlLWljb25zLWNvbG91cnMsIHBkZik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmNzdiwgW2hyZWYkPScuY3N2J10ge1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkZmlsZS10eXBlLWljb25zLCBjc3YpO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmaWxlLWljb25zLWNvbG91cnMsIGNzdik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmltYWdlLWF0dGFjaG1lbnQsIFtocmVmJD0nLmpwZyddLCBbaHJlZiQ9Jy5wbmcnXSwgW2hyZWYkPScuZ2lmJ10sIFtocmVmJD0nLndlYm0nXSB7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRmaWxlLXR5cGUtaWNvbnMsIGltYWdlKTtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZmlsZS1pY29ucy1jb2xvdXJzLCBpbWFnZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnZpZGVvLWF0dGFjaG1lbnQsIFtocmVmJD0nLm1vdiddLCBbaHJlZiQ9Jy5tcDQnXSB7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRmaWxlLXR5cGUtaWNvbnMsIHZpZGVvKTtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZmlsZS1pY29ucy1jb2xvdXJzLCB2aWRlbyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnppcCwgW2hyZWYkPScuemlwJ10ge1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkZmlsZS10eXBlLWljb25zLCB6aXApO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmaWxlLWljb25zLWNvbG91cnMsIHppcCk7XHJcbiAgICAgICAgfSBcclxuICAgIH1cclxufSIsIi8qXHJcbi0tLS0tIFN0aWNreSAtLS0tLS0gXHJcblN0aWNreSBmdW5jdGlvbmFsaXR5IHRoYXQgaXMgYnVpbGQgb250b3Agb2YgaHR0cHM6Ly9nZXQuZm91bmRhdGlvbi9zaXRlcy9kb2NzL3N0aWNreS5odG1sLlxyXG5cclxuW0lNUE9SVEFOVF0gLSBUaGlzIENTUyBpcyBub3QgZm9yIHRoZSBiYXNrZXQgc3VtbW1hcnkgb3IgdGhlIGhlYWRlciBwbGVhc2UgdmlldyBoZWFkZXIuc2NzcyBhbmQgYmFza2V0LnNjc3MgZm9yIHRoYXQuXHJcbiovXHJcblxyXG5cclxuXHJcbi5zdGlja3kge1xyXG4gICAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgICYuaXMtc3R1Y2sge1xyXG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIH1cclxuICAgICYuaXMtYW5jaG9yZWQge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIH1cclxuICAgICYuaXMtc3R1Y2s6bm90KC5uby1hbmltYXRlKSB7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogbWFyZ2luLXRvcCAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgfVxyXG4gICAgJi5pcy1hbmNob3JlZDpub3QoLm5vLWFuaW1hdGUpIHtcclxuICAgICAgICB0cmFuc2l0aW9uOiBtYXJnaW4tdG9wICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICB9XHJcbiAgICAmLmVsZW1lbnQtbm90LWluLXZpZXdwb3J0IHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcclxuICAgICAgICB0b3A6IDAgIWltcG9ydGFudDtcclxuICAgICAgICBsZWZ0OiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogdW5zZXQgIWltcG9ydGFudFxyXG4gICAgfVxyXG59XHJcblxyXG5bZGF0YS1heGlzLXN0aWNreS1jb250YWluZXJdIHtcclxuICAgIC8vIFNjYWxlIGZ1bGwgd2lkdGggb2YgY29udGFpbmVyIHRvIGFsbG93IGZvciBzdGlja3kgYnV0dG9ucyBhbHdheXMgYmUgcGlubmVkIHRvIHRoZSByaWdodC5cclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgLmNhbGxiYWNrQ29udGFpbmVyIHtcclxuICAgICAgICBwb3NpdGlvbjogaW5pdGlhbDtcclxuICAgIH1cclxufVxyXG5cclxuW2RhdGEtYXhpcy1zdGlja3ldIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG5bZGF0YS1zdGlja3ktY29udGFpbmVyXSB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuXHJcbiRzdGlja3ktc2lkZS1idXR0b25zLXdpZHRoOiAoXHJcbiAgICBsYXJnZTogMTI4cHhcclxuKSAhZGVmYXVsdDtcclxuXHJcbiRzdGlja3ktc2lkZS1idXR0b25zLWJyZWFrcG9pbnRzOiAoXHJcbiAgICBsYXJnZTogKG1hcC1nZXQoJGJyZWFrcG9pbnRzLCBsYXJnZSkgKyAobGFyZ2UtdmFsdWUoJHN0aWNreS1zaWRlLWJ1dHRvbnMtd2lkdGgpICogMikpXHJcbik7XHJcblxyXG4uc3RpY2t5LXNpZGUtYnV0dG9ucy1jb250YWluZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICB0b3A6IGF1dG87XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICBib3R0b206IDA7XHJcbiAgICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMTtcclxuICAgIC8vIGJveC1zaGFkb3c6IDBweCAycHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjUpO1xyXG4gICAgei1pbmRleDogMjtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiA5NSU7XHJcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjA7XHJcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBtYXgtd2lkdGg6IDgwJTtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UtdmFsdWUoJHN0aWNreS1zaWRlLWJ1dHRvbnMtYnJlYWtwb2ludHMpKSB7XHJcbiAgICAgICAgLy8gU3BlY2lmaWNhbGx5IGZvciBtYW5hZ2UgY2FsbHMgdG8gcHJldmVudCBsYXJnZSBicmVha3MgaW4gdGhlIG1haW4gY29udGVudC5cclxuICAgICAgICBtYXgtaGVpZ2h0OiAwO1xyXG4gICAgICAgIHdpZHRoOiBsYXJnZS12YWx1ZSgkc3RpY2t5LXNpZGUtYnV0dG9ucy13aWR0aCk7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICBsZWZ0OiB1bnNldDtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICB9XHJcbiAgICAuc3RpY2t5IHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAvLyBGaXggaW50byBwbGFjZSBzdG9wIGRlZmF1bHQgYmVoYXZvdXIgZnJvbSB0YWtpbmcgb3ZlciBvbiBtb2JpbGUuXHJcbiAgICAgICAgLy8gQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgIC8vICAgICB0b3A6IGF1dG8gIWltcG9ydGFudDsgXHJcbiAgICAgICAgLy8gICAgIGJvdHRvbTogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgIC8vICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgLy8gfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UtdmFsdWUoJHN0aWNreS1zaWRlLWJ1dHRvbnMtYnJlYWtwb2ludHMpIGRvd24pIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIHRvcDogYXV0byAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBib3R0b206IDAgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmlzLXN0dWNrIHtcclxuICAgICAgICAgICAgLy8gQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAvLyAgICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIC8vICAgICB0b3A6IDAgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgLy8gICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgLy8gfVxyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAyMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uc3RpY2t5LXNpZGUtYnV0dG9ucy1jb250YWluZXIge1xyXG4gICAgLnN0aWNreS1zaWRlLWJ1dHRvbnMge1xyXG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5zdGlja3ktc2lkZS1idXR0b25zIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgYm94LXNoYWRvdzogJGJveFNoYWRvdzI7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICB9XHJcbiAgICB1bCB7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgIGdhcDogMTBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZS12YWx1ZSgkc3RpY2t5LXNpZGUtYnV0dG9ucy1icmVha3BvaW50cykpIHtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBsaSB7XHJcbiAgICAgICAgZmxleDogMSAxIDA7XHJcblxyXG4gICAgICAgIEBpZiBzbW9vdGgtZWRnZXMoKSB7XHJcbiAgICAgICAgICAgICRyYWRpdXM6IHNtb290aC1lZGdlcygkaW5wdXQtYm9yZGVyLXJhZGl1cyk7XHJcbiAgICAgICAgICAgIC8vIFJlc2V0IHJhZGl1cyBpZiBub3QgZmlyc3Qgb3IgbGFzdCBpdGVtLlxyXG4gICAgICAgICAgICBidXR0b24sYSB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICBidXR0b24sIGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzIDAgMDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgICAgIGJ1dHRvbiwgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAgJHJhZGl1cyAwIDA7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjpvbmx5LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICBidXR0b24sIGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzICRyYWRpdXMgMCAwOyAgXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UtdmFsdWUoJHN0aWNreS1zaWRlLWJ1dHRvbnMtYnJlYWtwb2ludHMpKSB7XHJcbiAgICAgICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICBidXR0b24sIGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzIDAgMDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgICAgIGJ1dHRvbiwgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwICRyYWRpdXM7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjpvbmx5LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICBidXR0b24sIGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzIDAgMCAkcmFkaXVzOyAgXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5zdGlja3ktc2lkZS1idXR0b24ge1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlLXZhbHVlKCRzdGlja3ktc2lkZS1idXR0b25zLWJyZWFrcG9pbnRzKSkge1xyXG4gICAgICAgICAgICB3aWR0aDogbGFyZ2UtdmFsdWUoJHN0aWNreS1zaWRlLWJ1dHRvbnMtd2lkdGgpO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IGxhcmdlLXZhbHVlKCRzdGlja3ktc2lkZS1idXR0b25zLXdpZHRoKTtcclxuICAgICAgICAgICAgYSwgYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gQGlmIHNtb290aC1lZGdlcygpIHtcclxuICAgICAgICAvLyAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICAgICAgLy8gfVxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBhLCBidXR0b24ge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaG92ZXItY29sb3VyKHNtYWxsLXZhbHVlKCRzdGlja3ktYnV0dG9ucy1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIpKTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UtdmFsdWUoJHN0aWNreS1zaWRlLWJ1dHRvbnMtYnJlYWtwb2ludHMpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaG92ZXItY29sb3VyKGxhcmdlLXZhbHVlKCRzdGlja3ktYnV0dG9ucy1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIpKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBzcGFuW2NsYXNzKj1cIi1kZXNjcmlwdGlvblwiXSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogaG92ZXItY29sb3VyKHNtYWxsLXZhbHVlKCRzdGlja3ktYnV0dG9ucy1idXR0b24tY29sb3VyKSk7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlLXZhbHVlKCRzdGlja3ktc2lkZS1idXR0b25zLWJyZWFrcG9pbnRzKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBob3Zlci1jb2xvdXIobGFyZ2UtdmFsdWUoJHN0aWNreS1idXR0b25zLWJ1dHRvbi1jb2xvdXIpKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBzcGFuW2NsYXNzKj1cIi1pY29uXCJdIHtcclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogaG92ZXItY29sb3VyKHNtYWxsLXZhbHVlKCRzdGlja3ktYnV0dG9ucy1idXR0b24taWNvbi1jb2xvdXIpKTtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UtdmFsdWUoJHN0aWNreS1zaWRlLWJ1dHRvbnMtYnJlYWtwb2ludHMpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBob3Zlci1jb2xvdXIobGFyZ2UtdmFsdWUoJHN0aWNreS1idXR0b25zLWJ1dHRvbi1pY29uLWNvbG91cikpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICBhLCBidXR0b24ge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogYWN0aXZlLWNvbG91cihzbWFsbC12YWx1ZSgkc3RpY2t5LWJ1dHRvbnMtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyKSk7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlLXZhbHVlKCRzdGlja3ktc2lkZS1idXR0b25zLWJyZWFrcG9pbnRzKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGFjdGl2ZS1jb2xvdXIobGFyZ2UtdmFsdWUoJHN0aWNreS1idXR0b25zLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cikpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHNwYW5bY2xhc3MqPVwiLWRlc2NyaXB0aW9uXCJdIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBhY3RpdmUtY29sb3VyKHNtYWxsLXZhbHVlKCRzdGlja3ktYnV0dG9ucy1idXR0b24tY29sb3VyKSk7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UtdmFsdWUoJHN0aWNreS1zaWRlLWJ1dHRvbnMtYnJlYWtwb2ludHMpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IGFjdGl2ZS1jb2xvdXIobGFyZ2UtdmFsdWUoJHN0aWNreS1idXR0b25zLWJ1dHRvbi1jb2xvdXIpKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBzcGFuW2NsYXNzKj1cIi1pY29uXCJdIHtcclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogYWN0aXZlLWNvbG91cihzbWFsbC12YWx1ZSgkc3RpY2t5LWJ1dHRvbnMtYnV0dG9uLWljb24tY29sb3VyKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZS12YWx1ZSgkc3RpY2t5LXNpZGUtYnV0dG9ucy1icmVha3BvaW50cykpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IGFjdGl2ZS1jb2xvdXIobGFyZ2UtdmFsdWUoJHN0aWNreS1idXR0b25zLWJ1dHRvbi1pY29uLWNvbG91cikpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgc3BhbltjbGFzcyo9XCItZGVzY3JpcHRpb25cIl0ge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBjb2xvcjogZGVmYXVsdC1jb2xvdXIoc21hbGwtdmFsdWUoJHN0aWNreS1idXR0b25zLWJ1dHRvbi1jb2xvdXIpKTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxN3B4O1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UtdmFsdWUoJHN0aWNreS1zaWRlLWJ1dHRvbnMtYnJlYWtwb2ludHMpKSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogZGVmYXVsdC1jb2xvdXIobGFyZ2UtdmFsdWUoJHN0aWNreS1idXR0b25zLWJ1dHRvbi1jb2xvdXIpKTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBzcGFuW2NsYXNzKj1cIi1pY29uXCJdIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiAyNXB4O1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhbmRzY2FwZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZS12YWx1ZSgkc3RpY2t5LXNpZGUtYnV0dG9ucy1icmVha3BvaW50cykpIHtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGV4cHJlc3MtZGVmYXVsdC1pY29ucztcclxuICAgICAgICAgICAgICAgIC8vIEVuZm9yY2UgZm9udC13ZWlnaHQgNDAwIGFzIG91ciBmb250ZWxsbyBsaWJyYXJ5IG9ubHkgaGFzIG9uZSB3ZWlnaHQuXHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IGRlZmF1bHQtY29sb3VyKHNtYWxsLXZhbHVlKCRzdGlja3ktYnV0dG9ucy1idXR0b24taWNvbi1jb2xvdXIpKTtcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UtdmFsdWUoJHN0aWNreS1zaWRlLWJ1dHRvbnMtYnJlYWtwb2ludHMpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IGRlZmF1bHQtY29sb3VyKGxhcmdlLXZhbHVlKCRzdGlja3ktYnV0dG9ucy1idXR0b24taWNvbi1jb2xvdXIpKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgYSwgYnV0dG9uIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgcGFkZGluZzogMTBweCAxNXB4O1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgZ2FwOiAxMHB4O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkZWZhdWx0LWNvbG91cihzbWFsbC12YWx1ZSgkc3RpY2t5LWJ1dHRvbnMtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyKSk7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRjb2xvdXIxO1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAkYm94U2hhZG93MztcclxuICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvdXIzO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UtdmFsdWUoJHN0aWNreS1zaWRlLWJ1dHRvbnMtYnJlYWtwb2ludHMpKSB7XHJcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGVmYXVsdC1jb2xvdXIobGFyZ2UtdmFsdWUoJHN0aWNreS1idXR0b25zLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cikpO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogNHB4IDE0cHg7XHJcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAkYm94U2hhZG93MjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLmRpc2FibGVkLCAmW2Rpc2FibGVkXSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkaXNhYmxlZC1jb2xvdXIoc21hbGwtdmFsdWUoJHN0aWNreS1idXR0b25zLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cikpO1xyXG4gICAgICAgICAgICAgICAgY3Vyc29yOiBuby1kcm9wO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBkaXNhYmxlZC1jb2xvdXIoc21hbGwtdmFsdWUoJHN0aWNreS1idXR0b25zLWJ1dHRvbi1jb2xvdXIpKTtcclxuICAgICAgICAgICAgICAgIHNwYW5bY2xhc3MqPVwiLWRlc2NyaXB0aW9uXCJdIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogZGlzYWJsZWQtY29sb3VyKHNtYWxsLXZhbHVlKCRzdGlja3ktYnV0dG9ucy1idXR0b24tY29sb3VyKSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBzcGFuW2NsYXNzKj1cIi1pY29uXCJdOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IGRpc2FibGVkLWNvbG91cihzbWFsbC12YWx1ZSgkc3RpY2t5LWJ1dHRvbnMtYnV0dG9uLWljb24tY29sb3VyKSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCIvKlxyXG4tLS0tLSBMaXN0IFNvcnRpbmcgT3B0aW9ucyAgLS0tLS1cclxuLSBIb2xkcyB0aGUgc3R5bGVzIGZvciB0aGUgZm9sbG93aW5nOiBcclxuICAtIFByb2R1Y3QgbGlzdChzKVxyXG4gIC0gQWNjb3VudCBhcmVhIHNvcnRpbmcgKCBoaXN0b3JpY2FsIHRyYW5zYWN0aW9ucywgY2FsbCBzeXN0ZW0sIG9yZGVycyApXHJcbi0gVGhlIGZvbGxvd2luZyBjb21wb25lbnRzIHdpbGwgYmUgZm91bmQgaGVyZTogXHJcbiAgLSBMaXN0IGl0ZW0gY291bnRcclxuICAtIFNvcnQgYnkgXHJcbiAgLSBGaWx0ZXJzIHRvZ2dsZSAoIElmIG9wZW5pbmcgYSBwb3B1cCApXHJcbiAgLSBWaWV3IHN3aXRjaGVyICggR3JpZCBvciBUYWJsZSApXHJcbiAgLSBQYWdpbmF0aW9uIFxyXG4gIC0gSXRlbXMgcGVyIHBhZ2UuXHJcbiovXHJcblxyXG5cclxuLkFYSVNSZXN1bHRzQ29udGFpbmVyLCAubGlzdC1zb3J0LWNvbnRhaW5lciB7XHJcbiAgICAvLyAuY29udHJvbC5zZWxlY3QgLmNvbnRyb2wtc2VsZWN0LWRyb3Bkb3duIHtcclxuICAgIC8vICAgICBoZWlnaHQ6ICgkc2VsZWN0LWRyb3Bkb3duLWRlZmF1bHQtaGVpZ2h0IC0gMTApO1xyXG4gICAgLy8gfVxyXG4gICAgLmNvbnRyb2wgLmxhYmVsIHtcclxuICAgICAgICB3aWR0aDogMTYwcHg7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAkc29ydGluZy1vcHRpb25zLWxhYmVsLW1hcmdpbi1yaWdodDtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRzb3J0aW5nLW9wdGlvbnMtZm9udC1zaXplKTtcclxuICAgICAgICBmb250LXdlaWdodDogJHNvcnRpbmctb3B0aW9ucy1mb250LXdlaWdodDtcclxuICAgICAgICBjb2xvcjogJHNvcnRpbmctb3B0aW9ucy1jb2xvdXI7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxufVxyXG5cclxuLkFYSVNSZXN1bHRzQ29udGFpbmVyLCAubGlzdC1zb3J0LWNvbnRhaW5lciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICBnYXA6IHNtYWxsLXZhbHVlKCRzb3J0aW5nLW9wdGlvbnMtY29udGFpbmVyLWdhcCk7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBtYXJnaW46IDAgMCAxMHB4O1xyXG4gICAgcGFkZGluZzogNXB4IDAgMjBweDtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBnYXA6IG1lZGl1bS12YWx1ZSgkc29ydGluZy1vcHRpb25zLWNvbnRhaW5lci1nYXApO1xyXG4gICAgICAgIC8vIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDAgMCAyMHB4O1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcclxuICAgICAgICBtaW4taGVpZ2h0OiA0MHB4O1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgfVxyXG4gICAgPiBkaXYge1xyXG4gICAgICAgIEBpZiAkZmllbGRzZXQtaW5wdXQtaGVpZ2h0IDw9IDQwcHgge1xyXG4gICAgICAgICAgICBoZWlnaHQ6ICRmaWVsZHNldC1pbnB1dC1oZWlnaHQ7XHJcbiAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICB9XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAvLyBtYXJnaW46IDAgMCAxMHB4O1xyXG4gICAgICAgIC8vIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAvLyAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIC8vIH1cclxuICAgIH1cclxuXHJcbiAgICAuc29ydC1vcHRpb24ge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuZG93bmxvYWQtb3B0aW9uIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgZmlsZS1kb3dubG9hZCk7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgICAgICBjb2xvcjogJHNvcnRpbmctb3B0aW9ucy1pY29uLWNvbG91cjtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwIDVweDtcclxuICAgICAgICAgICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3VyO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRzb3J0aW5nLW9wdGlvbnMtZm9udC1zaXplKTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnktY29sb3VyLWxpZ2h0bmVzcy0wKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOm5vdCg6b25seS1jaGlsZCk6bm90KDpmaXJzdC1jaGlsZCk6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6ICRzb3J0aW5nLWRvd25sb2FkLW9wdGlvbi1zZXBlcmF0b3Itd2lkdGg7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDYwJTtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IC0jeygoJHNvcnRpbmctZG93bmxvYWQtb3B0aW9uLWdhcCArICRzb3J0aW5nLWRvd25sb2FkLW9wdGlvbi1zZXBlcmF0b3Itd2lkdGgpIC8gMil9O1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbW1vbi1ydWxlLWNvbG91cjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuYnV0dG9ucy1jb250YWluZXIge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBnYXA6ICN7KCRzb3J0aW5nLWRvd25sb2FkLW9wdGlvbi1nYXAgKyAkc29ydGluZy1kb3dubG9hZC1vcHRpb24tc2VwZXJhdG9yLXdpZHRoKX07XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vLS0tIFJlc3VsdHMgZGlzcGxheSAtLS1cclxuICAgIC5BWElTUmVzdWx0RGlzcGxheUNvbnRhaW5lciwgLml0ZW0tY291bnQtY29udGFpbmVyIHtcclxuICAgICAgICAvLyB3aWR0aDogNTAlO1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICAgIC8vIG9yZGVyOiBtYXAtZ2V0KCRzb3J0aW5nLW9wdGlvbnMtb3JkZXItbW9iaWxlLCBjb3VudCk7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgLy8gU3VwcHJlc3NpbmcsIHVzaW5nIGdhcCBwcm9wZXJ0eSBvbiBwYXJlbnQgaW5zdGVhZC5cclxuICAgICAgICAgICAgLy8gbWFyZ2luLXJpZ2h0OiAzMHB4O1xyXG4gICAgICAgICAgICAvLyBvcmRlcjogbWFwLWdldCgkc29ydGluZy1vcHRpb25zLW9yZGVyLWRlc2t0b3AsIGNvdW50KTtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLkFYSVNSZXN1bHREaXNwbGF5LCAuaXRlbS1jb3VudCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIC8vIHBhZGRpbmc6IDAgMTBweCAwIDA7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHNvcnRpbmctb3B0aW9ucy1mb250LXNpemUpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogJHNvcnRpbmctb3B0aW9ucy1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgY29sb3I6ICRzb3J0aW5nLW9wdGlvbnMtY29sb3VyO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc29ydGluZy1pdGVtcy1mb3VuZC1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIC0tLSBGaWx0ZXIgdG9nZ2xlIC0tLVxyXG4gICAgLmZpbHRlci10b2dnbGUtY29udGFpbmVyIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgICAgICAvLyBvcmRlcjogbWFwLWdldCgkc29ydGluZy1vcHRpb25zLW9yZGVyLW1vYmlsZSwgZmlsdGVyLXRvZ2dsZSk7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7IFxyXG4gICAgICAgICAgICAvLyBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgICAgIC8vIFN1cHByZXNzaW5nLCB1c2luZyBnYXAgcHJvcGVydHkgb24gcGFyZW50IGluc3RlYWQuXHJcbiAgICAgICAgICAgIC8vIG1hcmdpbi1yaWdodDogNDBweDtcclxuICAgICAgICAgICAgLy8gb3JkZXI6IG1hcC1nZXQoJHNvcnRpbmctb3B0aW9ucy1vcmRlci1kZXNrdG9wLCBmaWx0ZXItdG9nZ2xlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmZpbHRlci10b2dnbGUge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkc29ydGluZy1vcHRpb25zLWljb24tY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5hY3RpdmUtZmlsdGVyLWNvdW50IHtcclxuICAgICAgICAgICAgdG9wOiAtNnB4O1xyXG4gICAgICAgICAgICBsZWZ0OiAxMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyAtLS0gQ2FsbCBzZWFyY2ggLS0tIFxyXG4gICAgLmNhbGwtc2VhcmNoLWNvbnRhaW5lciB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgLy8gb3JkZXI6IG1hcC1nZXQoJHNvcnRpbmctb3B0aW9ucy1vcmRlci1tb2JpbGUsIGNhbGwtc2VhcmNoKTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgICAgICAvLyBvcmRlcjogbWFwLWdldCgkc29ydGluZy1vcHRpb25zLW9yZGVyLWRlc2t0b3AsIGNhbGwtc2VhcmNoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmNvbnRyb2wuc2VhcmNoIHtcclxuICAgICAgICAgICAgZmxleDogMTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gaW5wdXQsIGlucHV0ICsgYnV0dG9uLCAuY29udHJvbC5zZWFyY2gge1xyXG4gICAgICAgIC8vICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgLy8gfVxyXG4gICAgICAgIGlucHV0IHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiAzNDBweDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogNDBweCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgKyBidXR0b24ge1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogNDBweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAubGFiZWwge1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRzb3J0aW5nLW9wdGlvbnMtbGFiZWwtbWFyZ2luLXJpZ2h0O1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRzb3J0aW5nLW9wdGlvbnMtZm9udC1zaXplKTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRzb3J0aW5nLW9wdGlvbnMtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkc29ydGluZy1vcHRpb25zLWNvbG91cjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gLS0tIEJyYW5jaCBTZWxlY3RvciAtLS0gXHJcbiAgICAuYnJhbmNoLWZpbHRlciB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDQ5MHB4O1xyXG4gICAgICAgICAgICAvLyBtYXJnaW4tbGVmdDogNjBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgc2VsZWN0LCAuY29udHJvbC1zZWxlY3QtZHJvcGRvd24ge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMzAwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IFxyXG4gICAgICAgIC50b29sdGlwLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8tLS0gU29ydCBkcm9wIGRvd24gLS0tXHJcbiAgICAuQVhJU1NvcnRGb3JtLCAubGlzdC1zb3J0LWJ5LWNvbnRhaW5lciB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAgICAgLy8gb3JkZXI6IG1hcC1nZXQoJHNvcnRpbmctb3B0aW9ucy1vcmRlci1tb2JpbGUsIHNvcnQtYnkpO1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3VyMjtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgICAgICAgICAgLy8gbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgICAgIC8vIG9yZGVyOiBtYXAtZ2V0KCRzb3J0aW5nLW9wdGlvbnMtb3JkZXItZGVza3RvcCwgc29ydC1ieSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGxhYmVsIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkcGFyYWdyYXBoLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuY29udHJvbC5zZWxlY3Qge1xyXG4gICAgICAgICAgICAvLyBTdXBwcmVzc2luZyB6LWluZGV4IGR1ZSB0byBvdmVybGFwcGluZyBwcmludGVyIHdpemFyZCBkcm9wZG93bnMgODEzNjA4XHJcbiAgICAgICAgICAgIC8vIHotaW5kZXg6IDEwO1xyXG4gICAgICAgICAgICAvLyBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAvLyB3aWR0aDogJHNvcnRpbmctc29ydC1zZWxlY3QtZGVza3RvcC13aWR0aDtcclxuICAgICAgICAgICAgLy8gfVxyXG4gICAgICAgICAgICBzZWxlY3Qge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6ICRzb3J0aW5nLXNvcnQtc2VsZWN0LWRlc2t0b3Atd2lkdGg7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA0MHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5jb250cm9sLXNlbGVjdC1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6ICRzb3J0aW5nLXNvcnQtc2VsZWN0LWRlc2t0b3Atd2lkdGg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy8gVG8gYnJpbmcgaGVpZ2h0IGlubGluZSB3aXRoIG90aGVyIHNvcnRpbmcgYnV0dG9ucy5cclxuICAgICAgICAgICAgLmNvbnRyb2wtc2VsZWN0LWRyb3Bkb3duIHtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogNDBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLy0tLSBQYWdlIHZpZXcgLS0tXHJcbiAgICAuQVhJU1ZpZXdDb250YWluZXIsIC5saXN0LXZpZXctY29udGFpbmVyIHtcclxuICAgICAgICB3aWR0aDogMjUlO1xyXG4gICAgICAgIC8vIG9yZGVyOiBtYXAtZ2V0KCRzb3J0aW5nLW9wdGlvbnMtb3JkZXItbW9iaWxlLCB2aWV3KTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMCU7XHJcbiAgICAgICAgICAgIC8vIG9yZGVyOiBtYXAtZ2V0KCRzb3J0aW5nLW9wdGlvbnMtb3JkZXItZGVza3RvcCwgdmlldyk7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgdWwge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgICAgICBnYXA6IHNtYWxsLXZhbHVlKCRzb3J0aW5nLW9wdGlvbi1idXR0b24tZ2FwKTtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBnYXA6IGxhcmdlLXZhbHVlKCRzb3J0aW5nLW9wdGlvbi1idXR0b24tZ2FwKTtcclxuICAgICAgICAgICAgfSBcclxuICAgICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDUwJTtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGEsIC52aWV3LWNvbnRyb2wge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEycHggOHB4O1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkc29ydGluZy1vcHRpb25zLWJ1dHRvbi1iYWNrZ3JvdW5kLCBkZWZhdWx0KTtcclxuICAgICAgICAgICAgICAgIEBpZiBzbW9vdGgtZWRnZXMoKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTJweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgICAgIC8vIFZhcmlvdXMgc3RhdGVzLiBcclxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHNvcnRpbmctb3B0aW9ucy1idXR0b24tYmFja2dyb3VuZCwgaG92ZXIpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgICAgICAuaWNvbjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogaG92ZXItY29sb3VyKCRzb3J0aW5nLW9wdGlvbnMtYnV0dG9uLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHNvcnRpbmctb3B0aW9ucy1idXR0b24tYmFja2dyb3VuZCwgYWN0aXZlKTtcclxuICAgICAgICAgICAgICAgICAgICAuaWNvbjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogYWN0aXZlLWNvbG91cigkc29ydGluZy1vcHRpb25zLWJ1dHRvbi1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICYuYWN0aXZlIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRzb3J0aW5nLW9wdGlvbnMtYnV0dG9uLWJhY2tncm91bmQsIGRpc2FibGVkKTtcclxuICAgICAgICAgICAgICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xyXG4gICAgICAgICAgICAgICAgICAgIC5pY29uOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBkaXNhYmxlZC1jb2xvdXIoJHNvcnRpbmctb3B0aW9ucy1idXR0b24tY29sb3VyKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgLy8gRmFsbGJhY2sgY2FuIGJlIHJlbW92ZWQgYWZ0ZXIgODQwMTk5IGhhcyBiZWVuIGNvbXBsZXRlZCAoIGVzc2VudGlhbGx5IHJldmVyc2luZyBsb2dpYyB3aGljaCBpcyBpbmNvbnNpc3Rhbnkgd2l0aCBJdGVtcyBQZXIgTGlzdCBhbmQgUGFnaW5hdGlvbiApLlxyXG4gICAgICAgICAgICAgICAgJi5BWElTVmlld0dyaWQsICYuQVhJU1ZpZXdMaXN0IHtcclxuICAgICAgICAgICAgICAgICAgICAmLmRpc2FibGVkIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkc29ydGluZy1vcHRpb25zLWJ1dHRvbi1iYWNrZ3JvdW5kLCBkaXNhYmxlZCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5pY29uOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogZGlzYWJsZWQtY29sb3VyKCRzb3J0aW5nLW9wdGlvbnMtYnV0dG9uLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICYuYWN0aXZlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRzb3J0aW5nLW9wdGlvbnMtYnV0dG9uLWJhY2tncm91bmQsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5pY29uOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogYWN0aXZlLWNvbG91cigkc29ydGluZy1vcHRpb25zLWJ1dHRvbi1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAvLyBHZW5lcmFsaXNlZCBpY29uIHN0eWxlcy5cclxuICAgICAgICAgICAgICAgIC5pY29uIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6ICRsaXN0LXZpZXctdHlwZS1pY29ucy1kaW1lbnRpb25zO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6ICRsaXN0LXZpZXctdHlwZS1pY29ucy1kaW1lbnRpb25zO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGxpc3Qtdmlldy10eXBlLWljb25zLWRpbWVudGlvbnM7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IGRlZmF1bHQtY29sb3VyKCRzb3J0aW5nLW9wdGlvbnMtYnV0dG9uLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC8vIEljb24gc3BlY2lmaWMgc3R5bGVzLlxyXG4gICAgICAgICAgICAgICAgJi5BWElTVmlld0dyaWQsICYuZ3JpZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgLmljb246YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgbGlzdC1ncmlkLXZpZXcpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICYuQVhJU1ZpZXdMaXN0LCAmLmxpc3Qge1xyXG4gICAgICAgICAgICAgICAgICAgIC5pY29uOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGxpc3QtdGFibGUtdmlldyk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8tLS0gUGVyIFBhZ2UgLS0tXHJcbiAgICAuQVhJU1BlclBhZ2VDb250YWluZXIge1xyXG4gICAgICAgIHdpZHRoOiA1MCU7XHJcbiAgICAgICAgLy8gb3JkZXI6IG1hcC1nZXQoJHNvcnRpbmctb3B0aW9ucy1vcmRlci1tb2JpbGUsIHBlci1wYWdlKTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgICAgICAgICAgLy8gbWFyZ2luOiAwIDI1cHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICAgICAgICAvLyBvcmRlcjogbWFwLWdldCgkc29ydGluZy1vcHRpb25zLW9yZGVyLWRlc2t0b3AsIHBlci1wYWdlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJiArIC5BWElTUGVyUGFnZUNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHVsIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHNvcnRpbmctb3B0aW9ucy1idXR0b24tYmFja2dyb3VuZCwgYWN0aXZlKTtcclxuICAgICAgICAgICAgICAgIEBpZiBzbW9vdGgtZWRnZXMoKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCgyKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIDVweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHNvcnRpbmctb3B0aW9ucy1idXR0b24tYmFja2dyb3VuZCwgaG92ZXIpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJHNvcnRpbmctb3B0aW9ucy1idXR0b24tY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHNvcnRpbmctb3B0aW9ucy1idXR0b24tYmFja2dyb3VuZCwgYWN0aXZlKTtcclxuICAgICAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJHNvcnRpbmctb3B0aW9ucy1idXR0b24tY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICYuYWN0aXZlIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRzb3J0aW5nLW9wdGlvbnMtYnV0dG9uLWJhY2tncm91bmQsIGRpc2FibGVkKTtcclxuICAgICAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJHNvcnRpbmctb3B0aW9ucy1idXR0b24tY29sb3VyLCBkaXNhYmxlZCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiA0MHB4O1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IGxhcmdlLXZhbHVlKCRzb3J0LW9wdGlvbnMtYnV0dG9uLXBhZGRpbmctdG9wLWJvdHRvbSkgMTZweDtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHBhcmFncmFwaC1mb250LXNpemUpO1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRzb3J0aW9uLW9wdGlvbnMtYnV0dG9uLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IGRlZmF1bHQtY29sb3VyKCRzb3J0aW5nLW9wdGlvbnMtYnV0dG9uLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICBAaWYgc21vb3RoLWVkZ2VzKCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBORVcgVkVSU0lPTiBPRiBBWElTUGVyUGFnZUNvbnRhaW5lciAoIGZvbGxvd2luZyBleHByZXNzIG5hbWluZyBjb252ZW5zaW9ucyArIHJlZHVjZWQgbWFya3VwICkuXHJcbiAgICAvLyBJZiBpdGVtIHBlciBsaXN0IGlzIHRoZSBmaXJzdCBpdGVtIGluIHNvcnRpbmcgYmFyIHRoZW4gcHVzaCB0byB0aGUgcmlnaHQuXHJcbiAgICBkaXY6Zmlyc3QtY2hpbGQuaXRlbXMtcGVyLWxpc3QtY29udGFpbmVyIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5pdGVtcy1wZXItbGlzdC1jb250YWluZXIge1xyXG4gICAgICAgIHdpZHRoOiBzbWFsbC12YWx1ZSgkaXRlbXMtcGVyLWxpc3Qtd2lkdGgpO1xyXG4gICAgICAgIGdhcDogc21hbGwtdmFsdWUoJHNvcnRpbmctb3B0aW9uLWJ1dHRvbi1nYXApO1xyXG4gICAgICAgIC8vIG9yZGVyOiBtYXAtZ2V0KCRzb3J0aW5nLW9wdGlvbnMtb3JkZXItbW9iaWxlLCBwZXItcGFnZSk7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IGxhcmdlLXZhbHVlKCRpdGVtcy1wZXItbGlzdC13aWR0aCk7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBnYXA6IGxhcmdlLXZhbHVlKCRzb3J0aW5nLW9wdGlvbi1idXR0b24tZ2FwKTtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgICAgIC8vIFN1cHByZXNzaW5nLCB1c2luZyBnYXAgcHJvcGVydHkgb24gcGFyZW50IGluc3RlYWQuXHJcbiAgICAgICAgICAgIC8vIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgLy8gb3JkZXI6IG1hcC1nZXQoJHNvcnRpbmctb3B0aW9ucy1vcmRlci1kZXNrdG9wLCBwZXItcGFnZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiA0MHB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBmbGV4OiAxIDEgMDtcclxuICAgICAgICAgICAgcGFkZGluZzogbGFyZ2UtdmFsdWUoJHNvcnQtb3B0aW9ucy1idXR0b24tcGFkZGluZy10b3AtYm90dG9tKSA4cHg7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHNvcnRpbmctb3B0aW9ucy1idXR0b24tYmFja2dyb3VuZCwgZGVmYXVsdCk7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRzb3J0aW5nLW9wdGlvbnMtYnV0dG9uLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHBhcmFncmFwaC1mb250LXNpemUpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogJHNvcnRpb24tb3B0aW9ucy1idXR0b24tZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgIEBpZiBzbW9vdGgtZWRnZXMoKSB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uT3V0cm8sIGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJHNvcnRpbmctb3B0aW9ucy1idXR0b24tY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRzb3J0aW5nLW9wdGlvbnMtYnV0dG9uLWJhY2tncm91bmQsIGhvdmVyKTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25JbnRybywgY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRzb3J0aW5nLW9wdGlvbnMtYnV0dG9uLWJhY2tncm91bmQsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkc29ydGluZy1vcHRpb25zLWJ1dHRvbi1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkc29ydGluZy1vcHRpb25zLWJ1dHRvbi1iYWNrZ3JvdW5kLCBkaXNhYmxlZCk7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkc29ydGluZy1vcHRpb25zLWJ1dHRvbi1jb2xvdXIsIGRpc2FibGVkKTtcclxuICAgICAgICAgICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJiArIC5wYWdpbmF0aW9uLWNvbnRhaW5lciwgJiArIC5BWElTUGFnZU51bWJlcmluZyB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5zb3J0LWJ5LWRheXMtY29udGFpbmVyIHtcclxuICAgICAgICB3aWR0aDogNTAlO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIG1hcmdpbjogMTBweCAwO1xyXG4gICAgICAgIG9yZGVyOiA2O1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDIzJTtcclxuICAgICAgICB9XHJcbiAgICAgICAgbGFiZWwge1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jb250cm9sLnNlbGVjdCB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8tLS0gUGFnaW5hdGlvbiAtLS1cclxuLkFYSVNQYWdlTnVtYmVyaW5nLCAucGFnaW5hdGlvbi1jb250YWluZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDUwcHg7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgIC8vanVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgZ2FwOiAwIHNwYWNpbmctdmFsdWUoJHNvcnRpbmctb3B0aW9uLWJ1dHRvbi1nYXAsIDIpO1xyXG4gICAgLy8gb3JkZXI6IG1hcC1nZXQoJHNvcnRpbmctb3B0aW9ucy1vcmRlci1tb2JpbGUsIHBhZ2luYXRpb24pO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIC8vIG1heC13aWR0aDogMjUlO1xyXG4gICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgLy8gRG9uJ3Qgc2V0IGZsZXg6IDE7IGFzIHRoYXQgcHVzaGVzIGFsbCB0aGUgcHJlY2VlZGluZyBjb250ZW50IHRvIGxlZnQgbm8gaWRlYSBmb3IgdGhlIHNvcnRpbmcgYmFyIGF0IHRoZSBib3R0b20gb2YgYSBsaXN0IGFzIGl0IGNhdXNlcyBhbGlnbm1lbnQgaXNzdWVzLlxyXG4gICAgICAgIC8vIGZsZXg6IDE7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICAgICAgICBnYXA6IDAgI3tzcGFjaW5nLXZhbHVlKCRzb3J0aW5nLW9wdGlvbi1idXR0b24tZ2FwLCAyLCBsYXJnZSl9O1xyXG4gICAgICAgIC8vIG1hcmdpbjogMCAwIDAgMjVweDtcclxuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgICAvLyBvcmRlcjogbWFwLWdldCgkc29ydGluZy1vcHRpb25zLW9yZGVyLWRlc2t0b3AsIHBhZ2luYXRpb24pO1xyXG4gICAgfVxyXG4gICAgYSB7XHJcbiAgICAgICAgbWF4LWhlaWdodDogNDBweDtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIHBhZGRpbmc6IGxhcmdlLXZhbHVlKCRzb3J0LW9wdGlvbnMtYnV0dG9uLXBhZGRpbmctdG9wLWJvdHRvbSkgMTBweDtcclxuICAgICAgICAvL21hcmdpbjogMCAyLjVweDtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRzb3J0aW5nLW9wdGlvbnMtZm9udC1zaXplKTtcclxuICAgICAgICBmb250LXdlaWdodDogJHNvcnRpb24tb3B0aW9ucy1idXR0b24tZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJHNvcnRpbmctb3B0aW9ucy1idXR0b24tY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRzb3J0aW5nLW9wdGlvbnMtYnV0dG9uLWJhY2tncm91bmQsIGRlZmF1bHQpO1xyXG4gICAgICAgIEBpZiBzbW9vdGgtZWRnZXMoKSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAvLyBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgIC8vICAgICAvLyBwYWRkaW5nOiAwIDE1cHg7XHJcbiAgICAgICAgLy8gICAgIG1hcmdpbjogMCA1cHg7XHJcbiAgICAgICAgLy8gfVxyXG4gICAgICAgIC8vIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgLy8gbWFyZ2luOiAwIDJweDtcclxuICAgICAgICAgICAgLy8gcGFkZGluZzogMCAxMHB4O1xyXG4gICAgICAgIC8vIH1cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkc29ydGluZy1vcHRpb25zLWJ1dHRvbi1iYWNrZ3JvdW5kLCBob3Zlcik7XHJcbiAgICAgICAgICAgIGNvbG9yOiBob3Zlci1jb2xvdXIoJHNvcnRpbmctb3B0aW9ucy1idXR0b24tY29sb3VyKTtcclxuICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbkludHJvLCBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHNvcnRpbmctb3B0aW9ucy1idXR0b24tYmFja2dyb3VuZCwgYWN0aXZlKTtcclxuICAgICAgICAgICAgY29sb3I6IGFjdGl2ZS1jb2xvdXIoJHNvcnRpbmctb3B0aW9ucy1idXR0b24tY29sb3VyKVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLnNlbGVjdGVkLCAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHNvcnRpbmctb3B0aW9ucy1idXR0b24tYmFja2dyb3VuZCwgZGlzYWJsZWQpO1xyXG4gICAgICAgICAgICBjb2xvcjogZGlzYWJsZWQtY29sb3VyKCRzb3J0aW5nLW9wdGlvbnMtYnV0dG9uLWNvbG91cik7XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcclxuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5BWElTUGFnZU51bWJlckpvaW5lciwgLnBhZ2luYXRpb24tb3B0aW9uLWpvaW5lciB7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkcGFyYWdyYXBoLWZvbnQtc2l6ZSk7XHJcbiAgICB9XHJcbn1cclxuLnBhZ2luYXRpb25MYWJlbCwgLnBhZ2luYXRpb24tbGFiZWwge1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAkc29ydGluZy1vcHRpb25zLWxhYmVsLW1hcmdpbi1yaWdodDtcclxuICAgIGRpc3BsYXk6ICRwYWdpbmF0aW9uLWxhYmVsLWRpc3BsYXk7XHJcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKCRzb3J0aW5nLW9wdGlvbnMtZm9udC1zaXplKTtcclxuICAgIGZvbnQtd2VpZ2h0OiAkc29ydGluZy1vcHRpb25zLWZvbnQtd2VpZ2h0O1xyXG4gICAgY29sb3I6ICRzb3J0aW5nLW9wdGlvbnMtY29sb3VyO1xyXG59IiwiXHJcbi8qKlxyXG5cclxuLS0tLSBNYW5hZ2UgQ2FsbHMgLS0tLSBcclxuXHJcbi0gRm9ybWFsbHkga25vdyBhcyB0aGUgY2FsbCBwb3J0YWwgYmVmb3JlIGl0IGdvdCBlbWJlZGRlZCBpbiBleHByZXNzLCBtYW5hZ2UgY2FsbHMgaXMgYWNjb3VudCBmdW5jdGlvbmFsaXR5IHRoYXQgZGlzcGxheXMgY2FsbHMgaW4gYSBsaXN0IGluIGV4cHJlc3MuXHJcbi0gU3R5bGVzIGluY2x1ZGVkIGhlcmU6IFxyXG4gIC0gTGlzdCBmb3IgY2FsbCBsaXN0ICsgZXZlbnRzIGxpc3QuXHJcbiAgLSBFbnF1aXJ5IHN1bW1hcnkuXHJcbiAgLSBDYWxsIHJhdGluZyBmb250cy5cclxuICAtIFN0aWNreSBidXR0b25zIGljb25zLlxyXG4qKi9cclxuXHJcbi5lbnF1aXJ5LWhlYWRlci1zZWN0aW9uIHtcclxuICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2FsbC1lbnF1aXJ5LWhlYWRlci1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgIC8vIEVuc3VyZSBiYWNrZ3JvdW5kLWNvbG9yIGdldHMgcmVuZGVyZWQgaW4gcHJpbnQgbW9kZS5cclxuICAgIC8vIHByaW50LWNvbG9yLWFkanVzdDogZXhhY3Q7IFxyXG4gICAgLy8gLXdlYmtpdC1wcmludC1jb2xvci1hZGp1c3Q6IGV4YWN0OyBcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgQGlmIHNtb290aC1lZGdlcygpIHtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgaDIge1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBmb250LXdlaWdodDogJGNhbGwtZW5xdWlyeS1oZWFkaW5nLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGNhbGwtZW5xdWlyeS1oZWFkaW5nLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiAkY2FsbC1lbnF1aXJ5LWhlYWRpbmctdGV4dC10cmFuc2Zvcm07XHJcbiAgICB9XHJcbiAgICB1bCB7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgICAvLyBTdXBwcmVzc2luZyBhbGxvd2luZyB0aGUgY29udGFpbmVyIHRvIGRpY3RhdGUgdGhlIHBhZGRpbmcuXHJcbiAgICAgICAgLy8gQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIC8vICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgICAgIC8vIH1cclxuICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmxhYmVsIHtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY2FsbC1lbnF1aXJ5LWNvbnRlbnQtbGFiZWwtY29sb3VyO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTEwcHg7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLnZhbHVlIHtcclxuICAgICAgICAgICAgZmxleDogMTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmVucXVpcnktaGVhZGVyLWhlYWRpbmcge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBPdmVycmlkaW5nIGRlZmF1bHQgc3R5bGVzIGR1ZSB0byBpbnB1dCBiZWluZyBvbiBhIGJhY2tncm91bmQuXHJcbiAgICAuY29udHJvbC5jaGVja2JveDpub3QoLnNtYWxsKSBpbnB1dCArIHNwYW57XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjE7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3VyMy0yO1xyXG4gICAgfVxyXG4gICAgLmNvbnRyb2wucmFkaW86bm90KC5jaGVja2JveCkgc3Bhbi5yYWRpbyB7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3VyMy0yO1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0tLSBDYWxsIFJhdGluZyAtLS0tLVxyXG4uY2FsbC1yYXRpbmctY29udGFpbmVyIHtcclxuICAgIHVsIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgZ2FwOiAxMHB4O1xyXG4gICAgICAgIG1hcmdpbjogMCAwIDEwcHg7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBnYXA6IDVweDtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYucGFnZS12aWV3IHtcclxuICAgICAgICB3aWR0aDogMTAwcHg7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDBweDtcclxuICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICB9XHJcbiAgICAmLmxpc3QtdmlldyB7XHJcbiAgICAgICAgd2lkdGg6ICRjYWxsLXJhdGluZy1saXN0LWljb24tc2l6ZTtcclxuICAgICAgICBoZWlnaHQ6ICRjYWxsLXJhdGluZy1saXN0LWljb24tc2l6ZTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAucmF0aW5nLWxhYmVsIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvdXIzLTY7XHJcbiAgICB9XHJcbiAgICAucmF0aW5nLWluZm9ybWF0aW9uIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcclxuICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICB9XHJcbiAgICAuY2FsbC1yYXRpbmctdmFsdWUge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICAgICAgaW5wdXQge1xyXG4gICAgICAgICAgICB3aWR0aDogMDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAwO1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgICAgICB9XHJcbiAgICAgICAgaW5wdXRbdHlwZT1yYWRpb106Y2hlY2tlZCArIHNwYW4ucmFkaW8ge1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYucmF0aW5nLWljb24tMCB7XHJcbiAgICAgICAgICAgIC5pY29uIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChtYXAtZ2V0KCRzaXRlLWljb25zLCBjYWxsLXJhdGluZy1jYW5ub3QtcmF0ZSkpO1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogLjE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi51bnJhdGVkIC5pY29uIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChtYXAtZ2V0KCRzaXRlLWljb25zLCBjYWxsLXJhdGluZy11bnJhdGVkKSk7XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAuNTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLnJhdGluZy1pY29uLTEgLmljb24ge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwobWFwLWdldCgkc2l0ZS1pY29ucywgY2FsbC1yYXRpbmctdmVyeS1iYWQpKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5yYXRpbmctaWNvbi0yIC5pY29uIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNhbGwtcmF0aW5nLWJhZCkpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLnJhdGluZy1pY29uLTMgLmljb24ge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwobWFwLWdldCgkc2l0ZS1pY29ucywgY2FsbC1yYXRpbmctYXZlcmFnZSkpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLnJhdGluZy1pY29uLTQgLmljb24ge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwobWFwLWdldCgkc2l0ZS1pY29ucywgY2FsbC1yYXRpbmctZ29vZCkpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLnJhdGluZy1pY29uLTUgLmljb24ge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwobWFwLWdldCgkc2l0ZS1pY29ucywgY2FsbC1yYXRpbmctdmVyeS1nb29kKSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIEFzIGRlZmF1bHQgc2NhbGUgdG8gdGhlIGRpbWVuc2lvbnMgb2YgdGhlIGNvbnRhaW5lci5cclxuICAgICAgICAuaWNvbiB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIElmIHRoZSBpY29uIGlzIGEgcmFkaW8gYnV0dG9uIHRoZW4gbGltaXQgdGhlIHdpZHRoLlxyXG4gICAgICAgIC5yYWRpbyB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAyNXB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDI1cHg7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAuMjtcclxuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAuNztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gQ2FsbCB1cmdlbmN5IGljb25zLlxyXG4uY2FsbC11cmdlbmN5LWljb24ge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICB9XHJcbiAgICAmLmxvdyB7XHJcbiAgICAgICAgLS11cmdlbmN5LWltYWdlLXVybDogdXJsKCN7bWFwLWdldCgkc2l0ZS1pY29ucywgY2FsbC11cmdlbmN5LWxvdyl9KTtcclxuICAgIH1cclxuICAgICYubWVkaXVtIHtcclxuICAgICAgICAtLXVyZ2VuY3ktaW1hZ2UtdXJsOiB1cmwoI3ttYXAtZ2V0KCRzaXRlLWljb25zLCBjYWxsLXVyZ2VuY3ktbWVkaXVtKX0pO1xyXG4gICAgfVxyXG4gICAgJi5oaWdoIHtcclxuICAgICAgICAtLXVyZ2VuY3ktaW1hZ2UtdXJsOiB1cmwoI3ttYXAtZ2V0KCRzaXRlLWljb25zLCBjYWxsLXVyZ2VuY3ktaGlnaCl9KTtcclxuICAgIH1cclxuICAgICYuY3JpdGljYWwge1xyXG4gICAgICAgIC0tdXJnZW5jeS1pbWFnZS11cmw6IHVybCgje21hcC1nZXQoJHNpdGUtaWNvbnMsIGNhbGwtdXJnZW5jeS1jcml0aWNhbCl9KTtcclxuICAgIH1cclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICB3aWR0aDogJGNhbGwtcmF0aW5nLWxpc3QtaWNvbi1zaXplO1xyXG4gICAgICAgIGhlaWdodDogJGNhbGwtcmF0aW5nLWxpc3QtaWNvbi1zaXplO1xyXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLXVyZ2VuY3ktaW1hZ2UtdXJsKTtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIH1cclxufVxyXG5cclxuLnN0aWNreS1zaWRlLWJ1dHRvbnMgLnN0aWNreS1zaWRlLWJ1dHRvbiB7XHJcbiAgICAuYnV0dG9uLWljb24ge1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAyNnB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAzMnB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuY2FsbC1iYWNrLXRvLWxpc3Q6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgY2FsbC1saXN0KTtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6IGN1c3RvbS1pY29uLWZhbWlseSgkZXhwcmVzcy1kZWZhdWx0LWljb25zLCAkc2l0ZS1pY29ucy1jdXN0b20tY2FsbC1saXN0LWljb24pO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNhbGwtcmVxdWVzdC1hcmNoaXZlOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNhbGwtcmVxdWVzdC1hcmNoaXZlKTtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6IGN1c3RvbS1pY29uLWZhbWlseSgkZXhwcmVzcy1kZWZhdWx0LWljb25zLCAkc2l0ZS1pY29ucy1jdXN0b20tY2FsbC1yZXF1ZXN0LWFyY2hpdmUtaWNvbik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuY2FsbC1hZGQtaW5mb3JtYXRpb246YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgY2FsbC1hZGQtaW5mbyk7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBjdXN0b20taWNvbi1mYW1pbHkoJGV4cHJlc3MtZGVmYXVsdC1pY29ucywgJHNpdGUtaWNvbnMtY3VzdG9tLWNhbGwtYWRkLWluZm8taWNvbik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuY2FsbC1jcmVhdGU6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgbmV3LWNhbGwpO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogY3VzdG9tLWljb24tZmFtaWx5KCRleHByZXNzLWRlZmF1bHQtaWNvbnMsICRzaXRlLWljb25zLWN1c3RvbS1uZXctY2FsbC1pY29uKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbnRhYmxlLmNhbGwtdGFibGUsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSB7XHJcbiAgICB0YWJsZS1sYXlvdXQ6IGZpeGVkO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIG1hcmdpbjogMTBweCAwO1xyXG4gICAgfVxyXG4gICAgJGNhbGxzLXRhYmxlLXJvdy1wYWRkaW5nOiAxMHB4O1xyXG4gICAgdGQge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAkY2FsbHMtdGFibGUtcm93LXBhZGRpbmc7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206ICRjYWxscy10YWJsZS1yb3ctcGFkZGluZztcclxuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xyXG4gICAgfVxyXG4gICAgJi5lbnF1aXJ5LXRhYmxlIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMjBweCAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5ub3RpZmljYXRpb24tY29sIHtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IChtYXAtZ2V0KCR0YWJsZS1yb3ctbm90aWZpY2F0aW9uLXdpZHRoLCBkZWZhdWx0KSArIDEwKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLm5vdGlmaWNhdGlvbi1jb250ZW50IHtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAkY2FsbHMtdGFibGUtcm93LXBhZGRpbmc7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGQudW5yZWFkLWNvbCB7XHJcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgIH1cclxuICAgIHRkLmNhbGwtbnVtYmVyLWNvbCwgdGguY2FsbC1udW1iZXItY29sLCAuY2FsbC1udW1iZXItY29sIHtcclxuICAgICAgICAvLyBtYXgtd2lkdGg6IDEwMHB4O1xyXG4gICAgICAgIHdpZHRoOiA5MHB4O1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91cjMtNjtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA4JTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICB0ZC5jdXN0b21lci1uYW1lLWNvbCwgdGguY3VzdG9tZXItbmFtZS1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEyJTtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmOmhhcygucmF0aW5nLWNvbCkge1xyXG4gICAgICAgIHRkLnN1YmplY3QtY29sLCB0aC5zdWJqZWN0LWNvbCwgLnN1YmplY3QtY29sIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDE1JTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHRkLnN1YmplY3QtY29sLCB0aC5zdWJqZWN0LWNvbCwgLnN1YmplY3QtY29sIHtcclxuICAgICAgICB3aWR0aDogNTUlO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA3MCU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyMy02O1xyXG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDIzLjclO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHRkLnNlcnZpY2UtY29udHJhY3QtY29sLCB0aC5zZXJ2aWNlLWNvbnRyYWN0LWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogMTEuNSU7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGQuY2FsbC1jb250YWN0LWNvbCwgdGguY2FsbC1jb250YWN0LWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAlO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHRkLnVzZXItY29udGFjdC1jb2wsIHRoLnVzZXItY29udGFjdC1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwJTtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICB0ZC5jcmVhdGVkLWNvbCwgdGguY3JlYXRlZC1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDcuNyU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGQubGFzdC11cGRhdGVkLCB0aC5sYXN0LXVwZGF0ZWQge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDcuNyU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGQucmF0aW5nLWNvbCwgdGgucmF0aW5nLWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogNiU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGQudXJnZW5jeS1jb2wsIHRoLnVyZ2VuY3ktY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA3JTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICB0ZC50eXBlLWNvbCwgdGgudHlwZS1jb2wge1xyXG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogNyU7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICB0ZC5zb3VyY2UtY29sLCB0aC5zb3VyY2UtY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA3JTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICB0ZC5kYXRhLXRpbWUtY29sLCB0aC5kYXRlLXRpbWUtY29sIHtcclxuICAgICAgICBwIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxNiU7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGQubm90ZXMtY29sLCB0aC5ub3Rlcy1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICB0ZC50aW1lc3RhbXAtY29sLCB0aC50aW1lc3RhbXAtY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICB0ZC5jaGFuZ2VzLWNvbCwgdGguY2hhbmdlcy1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMjBweDtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHRkLnBlbmRpbmctY2hhbmdlcy1pbmZvLWNvbCB7XHJcbiAgICAgICAgcGFkZGluZzogMTBweCAwO1xyXG4gICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMjBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBBcyB3ZSBhZGQgYSBwYWRkaW5nIFIgKyBMIHRvIHRoZSB0ZCB3ZSBuZWVkIHRvIGNvbXBlbnNhdGUgZm9yIHRoYXQuXHJcbiAgICAuZWxsaXBzaXMtdGV4dDpob3ZlciB7XHJcbiAgICAgICAgbGVmdDogLTVweDtcclxuICAgIH1cclxuICAgIC8vIFByZXZlbnQgbG9uZyBzdHJpbmdzIG9mIHRleHQgZnJvbSBvdmVyZmxvd2luZyB0aGUgY29udGFpbmVyLlxyXG4gICAgLmNhbGwtbm90ZXMtY29udGFpbmVyIHtcclxuICAgICAgICBvdmVyZmxvdy13cmFwOiBhbnl3aGVyZTtcclxuICAgIH1cclxuICAgIHRyLmNhbGwtY2xvc2VkIHtcclxuICAgICAgICB0ZCB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIG5vdChcIi5yYXRpbmctY29sXCIsIFwiLnVucmVhZC1jb2xcIikge1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogLjU7XHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uZW5xdWlyeS1maWx0ZXJzIHtcclxuICAgIGxhYmVsIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBzcGFuLmNoZWNrYm94LCBzcGFuLnJhZGlvIHtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAubGFiZWwge1xyXG4gICAgICAgIHdpZHRoOiA4MCU7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLmNhbGwtdHlwZS1pY29uIHtcclxuICAgIHdpZHRoOiAxNnB4O1xyXG4gICAgaGVpZ2h0OiAxNnB4O1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgbWFyZ2luOiA1cHggMDtcclxuICAgIC8vIEZpeCBmb3IgaWNvbnMgbm93IHNob3dpbmcgaW4gcHJpbnRlciBtb2RlIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzY2NzAxNTEvaG93LWNhbi1pLWZvcmNlLWJyb3dzZXJzLXRvLXByaW50LWJhY2tncm91bmQtaW1hZ2VzLWluLWNzcy4gXHJcbiAgICBwcmludC1jb2xvci1hZGp1c3Q6IGV4YWN0O1xyXG4gICAgLXdlYmtpdC1wcmludC1jb2xvci1hZGp1c3Q6IGV4YWN0OyBcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgIH1cclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgICBmb250LWZhbWlseTogJGV4cHJlc3MtZGVmYXVsdC1pY29ucztcclxuICAgICAgICBmb250LXNpemU6ICRjYWxsLWVucXVpcnktaWNvbi1zaXplO1xyXG4gICAgICAgIGNvbG9yOiAkY2FsbC1lbnF1aXJ5LWljb24tY29sb3VyO1xyXG4gICAgfVxyXG4gICAgLy8gU3BlY2lmaWNhbGx5IGZvciB0aGUgc3RhdGljIGJ1aWxkLlxyXG4gICAgJi5kZW1vIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgcGFkZGluZzogMzBweDtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjZweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gJi5hdHRhY2htZW50IHtcclxuICAgIC8vICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoI3skY2FsbC10eXBlLWljb24tbG9jYXRpb259QXR0YWNobWVudC5wbmcpO1xyXG4gICAgLy8gfVxyXG4gICAgJi5hdHRhY2htZW50OmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgY2FsbC10eXBlLWF0dGFjaG1lbnQpO1xyXG4gICAgfVxyXG4gICAgLy8gJi5jYWxsLXByaXZhY3kge1xyXG4gICAgLy8gICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgjeyRjYWxsLXR5cGUtaWNvbi1sb2NhdGlvbn1DYWxsUHJpdmFjeS5wbmcpO1xyXG4gICAgLy8gfVxyXG4gICAgJi5jYWxsLXByaXZhY3k6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBjYWxsLXR5cGUtcHJpdmFjeSk7XHJcbiAgICB9XHJcbiAgICAvLyAmLmNhbGwtdHlwZSB7XHJcbiAgICAvLyAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCN7JGNhbGwtdHlwZS1pY29uLWxvY2F0aW9ufUNhbGxUeXBlLnBuZyk7XHJcbiAgICAvLyB9XHJcbiAgICAmLmNhbGwtdHlwZTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNhbGwtdHlwZS10eXBlKTtcclxuICAgIH1cclxuICAgIC8vICYuY2xhc3NpZmljYXRpb24ge1xyXG4gICAgLy8gICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgjeyRjYWxsLXR5cGUtaWNvbi1sb2NhdGlvbn1DbGFzc2lmaWNhdGlvbi5wbmcpO1xyXG4gICAgLy8gfVxyXG4gICAgJi5jbGFzc2lmaWNhdGlvbjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNhbGwtdHlwZS1jbGFzc2lmaWNhaXRvbik7XHJcbiAgICB9XHJcbiAgICAvLyAmLmNvbXBsZXRlZCB7XHJcbiAgICAvLyAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCN7JGNhbGwtdHlwZS1pY29uLWxvY2F0aW9ufUNvbXBsZXRlZC5wbmcpO1xyXG4gICAgLy8gfVxyXG4gICAgJi5jb21wbGV0ZWQ6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBjYWxsLXR5cGUtY29tcGxldGUpO1xyXG4gICAgfVxyXG4gICAgLy8gJi5jb250YWN0IHtcclxuICAgIC8vICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoI3skY2FsbC10eXBlLWljb24tbG9jYXRpb259Q29udGFjdC5wbmcpO1xyXG4gICAgLy8gfVxyXG4gICAgJi5jb250YWN0OmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgY2FsbC10eXBlLWNvbnRhY3QpO1xyXG4gICAgfVxyXG4gICAgLy8gJi5jb250cmFjdCB7XHJcbiAgICAvLyAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCN7JGNhbGwtdHlwZS1pY29uLWxvY2F0aW9ufUNvbnRyYWN0LnBuZyk7XHJcbiAgICAvLyB9XHJcbiAgICAmLmNvbnRyYWN0OmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgY2FsbC10eXBlLWNvbnRyYWN0KTtcclxuICAgIH1cclxuICAgIC8vICYuY29udHJhY3QtdHlwZSB7XHJcbiAgICAvLyAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCN7JGNhbGwtdHlwZS1pY29uLWxvY2F0aW9ufUNvbnRyYWN0VHlwZS5wbmcpO1xyXG4gICAgLy8gfVxyXG4gICAgJi5jb250cmFjdC10eXBlOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgY2FsbC10eXBlLWNvbnRyYWN0LXR5cGUpO1xyXG4gICAgfVxyXG4gICAgLy8gJi5jcmVhdGVkIHtcclxuICAgIC8vICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoI3skY2FsbC10eXBlLWljb24tbG9jYXRpb259Q3JlYXRlZC5wbmcpO1xyXG4gICAgLy8gfVxyXG4gICAgJi5jcmVhdGVkOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgY2FsbC10eXBlLWNyZWF0ZWQpO1xyXG4gICAgfVxyXG4gICAgLy8gJi5kZWZlcnJlZCB7XHJcbiAgICAvLyAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCN7JGNhbGwtdHlwZS1pY29uLWxvY2F0aW9ufURlZmVycmVkLnBuZyk7XHJcbiAgICAvLyB9XHJcbiAgICAmLmRlZmVycmVkOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgY2FsbC10eXBlLWRlZmVycmVkKTtcclxuICAgIH1cclxuICAgIC8vICYuZXNjYWxhdGlvbiB7XHJcbiAgICAvLyAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCN7JGNhbGwtdHlwZS1pY29uLWxvY2F0aW9ufUVzY2FsYXRpb24ucG5nKTtcclxuICAgIC8vIH1cclxuICAgICYuZXNjYWxhdGlvbjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNhbGwtdHlwZS1lc2NhbGF0aW9uKTtcclxuICAgIH1cclxuICAgIC8vICYuaW1wYWN0IHtcclxuICAgIC8vICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoI3skY2FsbC10eXBlLWljb24tbG9jYXRpb259SW1wYWN0LnBuZyk7XHJcbiAgICAvLyB9XHJcbiAgICAmLmltcGFjdDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNhbGwtdHlwZS1pbXBhY3QpO1xyXG4gICAgfVxyXG4gICAgLy8gJi5pbmJvdW5kLXBob25lLWNhbGwge1xyXG4gICAgLy8gICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgjeyRjYWxsLXR5cGUtaWNvbi1sb2NhdGlvbn1JbmJvdW5kUGhvbmVDYWxsLnBuZyk7XHJcbiAgICAvLyB9XHJcbiAgICAmLmluYm91bmQtcGhvbmUtY2FsbDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNhbGwtdHlwZS1pbmJvdW5kLXBob25lLWNhbGwpO1xyXG4gICAgfVxyXG4gICAgLy8gJi5pbmZvcm1hdGlvbiB7XHJcbiAgICAvLyAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCN7JGNhbGwtdHlwZS1pY29uLWxvY2F0aW9ufUluZm9ybWF0aW9uLnBuZyk7XHJcbiAgICAvLyB9XHJcbiAgICAmLmluZm9ybWF0aW9uOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgY2FsbC10eXBlLWluZm9ybWF0aW9uKTtcclxuICAgIH1cclxuICAgIC8vICYubGluayB7XHJcbiAgICAvLyAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCN7JGNhbGwtdHlwZS1pY29uLWxvY2F0aW9ufUxpbmsucG5nKTtcclxuICAgIC8vIH1cclxuICAgICYubGluazpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNhbGwtdHlwZS1saW5rKTtcclxuICAgIH1cclxuICAgIC8vICYub3V0Ym91bmQtcGhvbmUtY2FsbCB7XHJcbiAgICAvLyAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCN7JGNhbGwtdHlwZS1pY29uLWxvY2F0aW9ufU91dGJvdW5kUGhvbmVDYWxsLnBuZyk7XHJcbiAgICAvLyB9XHJcbiAgICAmLm91dGJvdW5kLXBob25lLWNhbGw6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBjYWxsLXR5cGUtb3V0Ym91bmQtcGhvbmUtY2FsbCk7XHJcbiAgICB9XHJcbiAgICAvLyAmLnByaW9yaXR5IHtcclxuICAgIC8vICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoI3skY2FsbC10eXBlLWljb24tbG9jYXRpb259UHJpb3JpdHkucG5nKTtcclxuICAgIC8vIH1cclxuICAgICYucHJpb3JpdHk6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBjYWxsLXR5cGUtcHJpb3JpdHkpO1xyXG4gICAgfVxyXG4gICAgLy8gJi5yZXNwb25zaWJpbGl0eSB7XHJcbiAgICAvLyAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCN7JGNhbGwtdHlwZS1pY29uLWxvY2F0aW9ufVJlc3BvbnNpYmlsaXR5LnBuZyk7XHJcbiAgICAvLyB9XHJcbiAgICAmLnJlc3BvbnNpYmxpdHk6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBjYWxsLXR5cGUtcmVzcG9uc2liaWxpdHkpO1xyXG4gICAgfVxyXG4gICAgLy8gJi5zaG9ydGN1dC1zZW50IHtcclxuICAgIC8vICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoI3skY2FsbC10eXBlLWljb24tbG9jYXRpb259U2hvcnRjdXRTZW50LnBuZyk7XHJcbiAgICAvLyB9XHJcbiAgICAmLnNob3J0Y3V0LXNlbnQ6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBjYWxsLXR5cGUtc2hvcnRjdXQtc2VudCk7XHJcbiAgICB9XHJcbiAgICAvLyAmLnNsYS1pbmNsdXNpb24ge1xyXG4gICAgLy8gICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgjeyRjYWxsLXR5cGUtaWNvbi1sb2NhdGlvbn1TTEFJbmNsdXNpb24ucG5nKTtcclxuICAgIC8vIH1cclxuICAgICYuc2xhLWluY2x1c2lvbjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNhbGwtdHlwZS1zbGEtaW5jbHVzaW9uKTtcclxuICAgIH1cclxuICAgIC8vICYuc3RhdHVzIHtcclxuICAgIC8vICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoI3skY2FsbC10eXBlLWljb24tbG9jYXRpb259U3RhdHVzLnBuZyk7XHJcbiAgICAvLyB9XHJcbiAgICAmLnN0YXR1czpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNhbGwtdHlwZS1zdGF0dXMpO1xyXG4gICAgfVxyXG4gICAgLy8gJi51bmRlZmVycmVkIHtcclxuICAgIC8vICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoI3skY2FsbC10eXBlLWljb24tbG9jYXRpb259VW5kZWZlcnJlZC5wbmcpO1xyXG4gICAgLy8gfVxyXG4gICAgJi51bmRlZmVycmVkOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgY2FsbC10eXBlLXVuZGVmZXJyZWQpO1xyXG4gICAgfVxyXG4gICAgJi51cmdlbmN5OmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgY2FsbC10eXBlLXVyZ2VudCk7XHJcbiAgICB9XHJcbiAgICAvLyAmLndvcmtmbG93IHtcclxuICAgIC8vICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoI3skY2FsbC10eXBlLWljb24tbG9jYXRpb259V29ya2Zsb3cucG5nKTtcclxuICAgIC8vIH1cclxuICAgICYud29ya2Zsb3c6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBjYWxsLXR5cGUtd29ya2Zsb3cpO1xyXG4gICAgfVxyXG59XHJcblxyXG4uY2FsbC1zb3VyY2UtaWNvbiB7XHJcbiAgICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgIH1cclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgZm9udC1zaXplOiAkY2FsbC1lbnF1aXJ5LWljb24tc2l6ZTtcclxuICAgICAgICBjb2xvcjogJGNhbGwtZW5xdWlyeS1pY29uLWNvbG91cjtcclxuICAgIH1cclxuICAgIC8vIFNwZWNpZmljYWxseSBmb3IgdGhlIHN0YXRpYyBidWlsZC5cclxuICAgICYuZGVtbyB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIHBhZGRpbmc6IDMwcHg7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDI2cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi51c2VyOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgY2FsbC1zb3VyY2UtdXNlcik7XHJcbiAgICB9XHJcbiAgICAmLnBvcnRhbDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNhbGwtc291cmNlLXBvcnRhbCk7XHJcbiAgICB9XHJcbiAgICAmLmVtYWlsOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgY2FsbC1zb3VyY2UtZW1haWwpO1xyXG4gICAgfVxyXG59XHJcblxyXG4udGFibGUtaGVhZGluZyB7XHJcbiAgICBtYXJnaW46ICRtYW5hZ2UtY2FsbHMtdGFibGUtaGVhZGluZy1tYXJnaW47XHJcbn0iLCIvKlxyXG4tLS0tLSBCYWNrIHRvIHRvcCAtLS0tLS0gXHJcblRoaXMgaXMgdGhlIGJ1dHRvbiB0aGF0IGFwcGVhciBhdCB0aGUgYm90dG9tIG9mIHRoZSBwYWdlIHRoYXQgdGFrZXMgeW91IGJhY2sgdG8gdGhlIHRvcCBvZiB0aGUgdmlld3BvcnQuXHJcbiovXHJcblxyXG4uYmFjay10b3AtY29udGFpbmVyIHtcclxuICAgIHdpZHRoOiBzbWFsbC12YWx1ZSgkYmFjay10by10b3AtYnV0dG9uLXdpZHRoKTtcclxuICAgIGhlaWdodDogc21hbGwtdmFsdWUoJGJhY2stdG8tdG9wLWJ1dHRvbi1oZWlnaHQpO1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgQGlmICRiYWNrLXRvLXRvcC1wb3NpdGlvbi1yaWdodCB7XHJcbiAgICAgICAgcmlnaHQ6IG1hcC1nZXQoJGJhY2stdG8tdG9wLWRpc3RhbmNlLWZyb20tZWRnZSwgc21hbGwpO1xyXG4gICAgICAgIGJvdHRvbTogKG1hcC1nZXQoJGJhY2stdG8tdG9wLWRpc3RhbmNlLWZyb20tZWRnZSwgc21hbGwpICsgNjApOyAvLyBBZGRpbmcgYWRkaXRpb25hbCBzcGFjZSBmb3Igc3RpY2sgYnV0dG9ucyBmb3IgbWFuYWdlIGNhbGxzLlxyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgICAgLy8gQWRkaW5nIGFkZGl0aW9uYWwgc3BhY2UgdG8gYWNjb3VudCBmb3IgdGhlIHJlY2FwdGNoYSBiYWRnZS5cclxuICAgICAgICBib3R0b206IChtYXAtZ2V0KCRiYWNrLXRvLXRvcC1kaXN0YW5jZS1mcm9tLWVkZ2UsIHNtYWxsKSArIDYwKTsgLy8gQWRkaW5nIGFkZGl0aW9uYWwgc3BhY2UgZm9yIHN0aWNrIGJ1dHRvbnMgZm9yIG1hbmFnZSBjYWxscy5cclxuICAgICAgICBsZWZ0OiBtYXAtZ2V0KCRiYWNrLXRvLXRvcC1kaXN0YW5jZS1mcm9tLWVkZ2UsIHNtYWxsKTtcclxuICAgIH1cclxuICAgIHotaW5kZXg6IDE1MDA7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgd2lkdGg6IGxhcmdlLXZhbHVlKCRiYWNrLXRvLXRvcC1idXR0b24td2lkdGgpO1xyXG4gICAgICAgIGhlaWdodDogbGFyZ2UtdmFsdWUoJGJhY2stdG8tdG9wLWJ1dHRvbi1oZWlnaHQpO1xyXG4gICAgICAgIEBpZiAkYmFjay10by10b3AtcG9zaXRpb24tcmlnaHQge1xyXG4gICAgICAgICAgICByaWdodDogbWFwLWdldCgkYmFjay10by10b3AtZGlzdGFuY2UtZnJvbS1lZGdlLCBsYXJnZSk7XHJcbiAgICAgICAgICAgIGJvdHRvbTogKG1hcC1nZXQoJGJhY2stdG8tdG9wLWRpc3RhbmNlLWZyb20tZWRnZSwgbGFyZ2UpICsgNjApOyAvLyBBZGRpbmcgYWRkaXRpb25hbCBzcGFjZSBmb3Igc3RpY2sgYnV0dG9ucyBmb3IgbWFuYWdlIGNhbGxzLlxyXG4gICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICAvLyBBZGRpbmcgYWRkaXRpb25hbCBzcGFjZSB0byBhY2NvdW50IGZvciB0aGUgcmVjYXB0Y2hhIGJhZGdlLlxyXG4gICAgICAgICAgICBib3R0b206IChtYXAtZ2V0KCRiYWNrLXRvLXRvcC1kaXN0YW5jZS1mcm9tLWVkZ2UsIGxhcmdlKSArIDYwKTsgLy8gQWRkaW5nIGFkZGl0aW9uYWwgc3BhY2UgZm9yIHN0aWNrIGJ1dHRvbnMgZm9yIG1hbmFnZSBjYWxscy5cclxuICAgICAgICAgICAgbGVmdDogbWFwLWdldCgkYmFjay10by10b3AtZGlzdGFuY2UtZnJvbS1lZGdlLCBsYXJnZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uYmFjay10b3AtYnV0dG9uIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsICdiYWNrLXRvLXRvcCcpO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCRiYWNrLXRvLXRvcC1ib3JkZXItcmFkaXVzKTtcclxuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCBtYXAtZ2V0KCRiYWNrLXRvLXRvcC1ib3JkZXItY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICBmb250LXNpemU6IHNtYWxsLXZhbHVlKCRiYWNrLXRvLXRvcC1pY29uLXNpemUpOyBcclxuICAgICAgICBmb250LWZhbWlseTogY3VzdG9tLWljb24tZmFtaWx5KCRmb250QXdlc29tZVNvbGlkLCAkc2l0ZS1pY29ucy1jdXN0b20tY2hldnJvbnMpO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRiYWNrLXRvLXRvcC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRiYWNrLXRvLXRvcC1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiBsYXJnZS12YWx1ZSgkYmFjay10by10b3AtaWNvbi1zaXplKTsgXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJjpob3ZlciwgJjpob3Zlci5hY3RpdmUge1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgQGlmICRiYWNrLXRvLXRvcC1idXR0b24tZ3JhZGlhbnQge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGJhY2stdG8tdG9wLWJ1dHRvbi1ncmFkaWFudDtcclxuICAgICAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRiYWNrLXRvLXRvcC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYmFjay10by10b3AtY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6ICRib3hTaGFkb3cyO1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGJhY2stdG8tdG9wLWJvcmRlci1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uSW50cm87IFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICY6YWN0aXZlLCAmOmFjdGl2ZTphY3RpdmV7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRiYWNrLXRvLXRvcC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRiYWNrLXRvLXRvcC1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkYmFjay10by10b3AtYm9yZGVyLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5hY3RpdmUge1xyXG4gICAgICAgIG9wYWNpdHk6IC43O1xyXG4gICAgfVxyXG59IiwiLypcclxuLS0tLS0gU2VjdGlvbnMgLS0tLS0gXHJcbkF4aXMgdG9nZ2xlciBpcyBidWlsZCBvbiB0b3Agb2YgRm91bmRhdGlvbidzIFRvZ2dsZXIgaHR0cHM6Ly9nZXQuZm91bmRhdGlvbi9zaXRlcy9kb2NzL3RvZ2dsZXIuaHRtbCBhbmQgaXMgc2ltaWxhciB0byBodHRwczovL2dldC5mb3VuZGF0aW9uL3NpdGVzL2RvY3MvYWNjb3JkaW9uLmh0bWwgYnV0IHNvbWV0aW1lcyBpdCBpcyBub3QgcG9zc2libGUgY29udmVuaWVudCB0byBidWlsZCB0aGUgc2VjdGlvbihzKSBpbiA8dWw+IG9yIGluIGRlc2t0b3AgeW91IHJlcXVpcmUgdGhlIGxheW91dCB0byBiZSBjb21wbGV0ZWx5IGRpZmZlcmVudCB0byBtb2JpbGUuXHJcbiovXHJcblxyXG4uYXhpcy1zZWN0aW9uIHtcclxuICAgIC8vIEFsbG93IGdyaWQtbWFyZ2luLXkgaGFuZGxlIHRoaXMuXHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgLmF4aXMtc2VjdGlvbi1oZWFkZXIge1xyXG4gICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHJlYWQtbW9yZS1vcGVuKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuYXhpcy1zZWN0aW9uLWNvbnRlbnQge1xyXG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiA4MHZoO1xyXG4gICAgICAgICAgICBtYXJnaW46IDIwcHggMCAwO1xyXG4gICAgICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5heGlzLXNlY3Rpb24tYnV0dG9ucyB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLnJldmVhbC1lbmFibGVkIHtcclxuICAgICAgICAmOm5vdCguYWN0aXZlKSB7XHJcbiAgICAgICAgICAgIGhlaWdodDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgIC5heGlzLXNlY3Rpb24taGVhZGVyIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IG1hcmdpbi1ib3R0b20gJHRyYW5zaXRpb25JbnRybywgcGFkZGluZy1ib3R0b20gJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLmRpc2FibGVkIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtNyk7XHJcbiAgICAgICAgb3BhY2l0eTogLjY7XHJcbiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcclxuICAgICAgICAuYXhpcy1zZWN0aW9uLWhlYWRlciB7XHJcbiAgICAgICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XHJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IGRpc2FibGVkLWNvbG91cigkaW5wdXQtY29sb3VyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmF4aXMtc2VjdGlvbi1oZWFkZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgJjphZnRlciB7XHJcbiAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgcmVhZC1tb3JlLWNsb3NlZCk7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgZm9udC1mYW1pbHk6IGN1c3RvbS1pY29uLWZhbWlseSgkZm9udEF3ZXNvbWVTb2xpZCwgJHNpdGUtaWNvbnMtY3VzdG9tLWNoZXZyb25zKTsgXHJcbiAgICAgICAgZm9udC1zaXplOiAkYXhpcy1zZWN0aW9ucy1oZWFkZXItc3RhdHVzLWljb24tc2l6ZTtcclxuICAgICAgICBjb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRheGlzLXNlY3Rpb25zLWhlYWRlci1mb250LXNpemU7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5heGlzLXNlY3Rpb24tY29udGVudCB7XHJcbiAgICBtYXgtaGVpZ2h0OiAwO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgJHRyYW5zaXRpb25PdXRybztcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICB9XHJcbiAgICBwIHtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygoJHBhcmFncmFwaC1mb250LXNpemUgLSAxKSk7XHJcbiAgICB9XHJcbiAgICAuY21zLWNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4uYXhpcy1zZWN0aW9uLWJ1dHRvbnMge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxufSIsIi8qXHJcblxyXG4tLS0tLSBFbGxpcHNpcyAtLS0tLSBcclxuV2hlbiB0aGUgY29udGVudCBpcyB0b28gbG9uZ2VyIHRvIGZpeCB3aXRoaW4gYSB0YWJsZSBjZWxsICggZm9yIGV4YW1wbGUgKSBhbGxvdyB0aGUgdXNlciB0byBzaG93IG92ZXJmbG93aW5nIHRleHQgYnkgaG92ZXJpbmcuXHJcblxyXG5JTVBPUlRBTlQ6IFRoaXMgb25seSB3b3JrcyB3aXRoIHNpbmdsZSBsaW5lcyBvZiB0ZXh0LCBtdWx0aS1saW5lIHlvdSB3aWxsIG5lZWQgdG8gbG9vayBpbnRvIC0td2Via2l0LWxpbmUtY2xhbXAuXHJcbiovXHJcblxyXG4uZWxsaXBzaXMtdGV4dC1jb250YWluZXIge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcblxyXG4uZWxsaXBzaXMtdGV4dCB7XHJcbiAgICBkaXNwbGF5OiBibG9jazsgIFxyXG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgIFxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgIH1cclxuICAgICYuZWxsaXBzaXMtYWN0aXZlIHtcclxuICAgICAgICBtYXNrLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIGJsYWNrIDUwJSwgdHJhbnNwYXJlbnQgMTAwJSk7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiBub25lO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogaW5oZXJpdDtcclxuICAgICAgICAgICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xyXG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogJGJveFNoYWRvdzM7XHJcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAxO1xyXG4gICAgICAgICAgICAgICAgbWFzay1pbWFnZTogbm9uZTtcclxuICAgICAgICAgICAgICAgIC8vIE92ZXJyaWRlIGFueSBhbmNob3Igb3BhY2l0eS5cclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuLS0tLS0gQmx1ciAtLS0tLS0gXHJcblRoZSBlZmZlY3QgdGhhdCBnZXRzIGFwcGxpZWQgdGhlIGhlYWRlciwgbWFpbiAmIGZvb3RlciB3aGVuIGEgbW9kYWwgb3IgbWVudSBpcyBvcGVuLCBlc3NlbnRpYWxseSBibHVyJ3Mgb3V0IHRoZSBjb250ZW50IGluIHRoZSBiYWNrZ3JvdW5kIHdoZW4gc29tZXRoaW5nIGlzIG92ZXJsYXlpbmcgdGhlIHBhZ2UncyBtYWluIGNvbnRlbnQuXHJcbiovXHJcblxyXG5cclxuLy8tLS0gQmx1ciBFZmZlY3QgLS0tXHJcbkBpZiBub3QgJGVtYWlsVGVtcGxhdGUge1xyXG4gICAgLy9ET0VTTidUIFdPUksgSU4gSUUgT1IgRURHRVxyXG4gICAgLmJsdXIge1xyXG4gICAgICAgIC0tZGVmdXNlLWFuaW1hdGlvbjogZGVmdXNlQmx1ciAuM3MgZm9yd2FyZHM7XHJcbiAgICAgICAgZmlsdGVyOiBibHVyKDEwcHgpO1xyXG4gICAgICAgIGFuaW1hdGlvbjogYmx1ciAwLjZzO1xyXG4gICAgICAgICYuZGVmdXNlIHtcclxuICAgICAgICAgICAgZmlsdGVyOiBibHVyKDApO1xyXG4gICAgICAgICAgICBhbmltYXRpb246IGRlZnVzZUJsdXIgMC4zcztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAa2V5ZnJhbWVzIGRlZnVzZUJsdXIge1xyXG4gICAgICAgIDAlIHtcclxuICAgICAgICAgICAgZmlsdGVyOiBibHVyKDEwcHgpO1xyXG4gICAgICAgIH1cclxuICAgIFxyXG4gICAgICAgIDIwJSB7XHJcbiAgICAgICAgICAgIGZpbHRlcjogYmx1cig4cHgpO1xyXG4gICAgICAgIH1cclxuICAgIFxyXG4gICAgICAgIDQwJSB7XHJcbiAgICAgICAgICAgIGZpbHRlcjogYmx1cig2cHgpO1xyXG4gICAgICAgIH1cclxuICAgIFxyXG4gICAgICAgIDYwJSB7XHJcbiAgICAgICAgICAgIGZpbHRlcjogYmx1cig0cHgpO1xyXG4gICAgICAgIH1cclxuICAgIFxyXG4gICAgICAgIDgwJSB7XHJcbiAgICAgICAgICAgIGZpbHRlcjogYmx1cigycHgpO1xyXG4gICAgICAgIH1cclxuICAgIFxyXG4gICAgICAgIDEwMCUge1xyXG4gICAgICAgICAgICBmaWx0ZXI6IGJsdXIoMHB4KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIFRoaXMgZ2V0cyBjbGljayB0byBkaXNhYmxlIHRoZSBibHVyIGVmZmVjdCBvbiBjb250ZW50LlxyXG4jcGFnZU92ZXJsYXksIC5ibHVyLW92ZXJsYXkge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMDtcclxuICAgIG9wYWNpdHk6IDAuMTtcclxufSIsIi8qXHJcblxyXG4tLS0tIFN0YXRpYyAtLS0tIFxyXG5EZWRpY2F0ZWQgc3BlY2lmaWNhbGx5IHRvd2FyZHMgdGhlIGxhbmRpbmcgcGFnZSBmb3IgdGhlIHN0YXRpYyBsYW5kaW5nIHBhZ2UgZm9yIGV4cHJlc3MuXHJcblxyXG4qL1xyXG5cclxuQGlmICgkc2l0ZSA9PSBcInN0YXRpY1wiKSB7XHJcbiAgICBoZWFkZXIge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiAyMDBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBDdXN0b20gc3R5bGVzaGVldHMgbGluay5cclxuICAgIC5kZW1vLWxpbmsge1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBwYWRkaW5nOiAxMHB4IDVweDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMy0xO1xyXG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgb3BhY2l0eTogLjY7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJHRyYW5zaXRpb25JbnRybywgYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIzO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuc2l0ZS1sb2dvIHtcclxuICAgICAgICAgICAgLy8gRHVlIHRvIHRoZSB2YXJpYXRpb24gaW4gaGVpZ2h0cyBiZXR3ZWVuIHNpdGUgbG9nbydzIHdlIG5lZWQgdG8gc2V0IGEgaGVpZ2h0O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDE4MHB4O1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgfVxyXG4gICAgLnNpdGUtY29udGFpbmVyIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICB9XHJcbiAgICAuc2l0ZS1hcmVhLXBhZ2VzIHtcclxuICAgICAgICBwYWRkaW5nOiAyMHB4IDAgMDtcclxuICAgICAgICA+IHVsIHtcclxuICAgICAgICAgICAgPiBsaSB7XHJcbiAgICAgICAgICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvdXIzO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIEVmZmVjdCBhbGwgdWwncy5cclxuICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5wYWdlLXZhcmlhbnRzLWNvbnRhaW5lciB7XHJcbiAgICAgICAgPiB1bCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5wYWdlLXZhcmlhbnQge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICBtYXJnaW46IDVweCAyLjVweDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMy0xO1xyXG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgIGkge1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgIGkge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNjtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgICAgICAgICAgaSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuc2l0ZS1hcmVhLWNlbGwtY29udGFpbmVyIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgXHJcbiAgICAuc2l0ZS1hcmVhLWNvbnRhaW5lciB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgcGFkZGluZzogNXB4O1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvdXIzO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMTJweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgI3RlbXBsYXRlLWV4cHJlc3MtcGFnZS1saXN0IHtcclxuICAgICAgICA+IHVsIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgPiBsaSB7XHJcbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG91cjM7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWluLXdpZHRoOiAzMyU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIE5lZWQgdGhpcyBzcGVjaWZpY2FsbHkgZm9yIHRoZSBtb2R1bGVzIHRlc3QgcGFnZXMuXHJcblxyXG4kbW9kdWxlcy1jb250cm9sLWJ1dHRvbnMtZ3V0dGVyOiAxMHB4O1xyXG4kbW9kdWxlcy1idXR0b24taWNvbi1zaXplOiAxNnB4O1xyXG4kbW9kdWxlcy1idXR0b24tcGFkZGluZzogNXB4IDEwcHg7XHJcblxyXG5cclxuLm1vZHVsZXMtdGVzdC1wYWdlLWhlYWRlciB7XHJcbiAgICBtYXJnaW46IDAgMCAxMHB4O1xyXG4gICAgcGFkZGluZzogMzBweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIzO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG91cjMtNjtcclxufVxyXG5cclxuLnJvdy1iYWNrZ3JvdW5kLmdyaWQtY29udGFpbmVyIHtcclxuICAgIC5tb2R1bGVzLWNvbnRyb2wtcGFuZWwubW9kdWxlLWNvbnRyb2xzIHtcclxuICAgICAgICAvLyBNYWtpbmcgc3VyZSB0aGF0IHJvdyBhbmQgbW9kdWxlIGNvbnRyb2wgcGFuZWxzIGNhbiBuZXZlciBvdmVybGFwICggaS5lIGluIGNvbnRhaW5lZCB2aWV3ICkuXHJcbiAgICAgICAgdG9wOiAjeygkbW9kdWxlcy1jb250cm9sLWJ1dHRvbnMtZ3V0dGVyICsgc3BhY2luZy12YWx1ZSgkbW9kdWxlcy1idXR0b24tcGFkZGluZywgMSkgKyAkbW9kdWxlcy1idXR0b24taWNvbi1zaXplICsgNSl9O1xyXG4gICAgfVxyXG59XHJcblxyXG4uZ3JpZC1jb250YWluZXIge1xyXG4gICAgLm1vZHVsZXMtY29udHJvbC1wYW5lbCB7XHJcbiAgICAgICAgJi5tb2R1bGUtY29udHJvbHMge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5tb2R1bGVzLWNvbnRyb2wtcGFuZWwge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgbGVmdDogMDtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgJi5yb3ctY29udHJvbHMge1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgIH1cclxuICAgIC8vIFNvIHRoZSBjb250cm9scyBkb24ndCBvdmVybGFwIHdoZW4gdGhlcmUgaXMgbm8gZ3JpZC1jb250YWluZXIuXHJcbiAgICAmLm1vZHVsZS1jb250cm9scyB7XHJcbiAgICAgICAgdG9wOiA1MHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4ubW9kdWxlcy1jb250cm9sLWJ1dHRvbnMge1xyXG4gICAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICBnYXA6ICRtb2R1bGVzLWNvbnRyb2wtYnV0dG9ucy1ndXR0ZXI7XHJcbiAgICBwYWRkaW5nOiAkbW9kdWxlcy1jb250cm9sLWJ1dHRvbnMtZ3V0dGVyO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjM7XHJcbiAgICBvcGFjaXR5OiAwLjU7XHJcbiAgICB6LWluZGV4OiAyO1xyXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICB9XHJcbiAgICAvLyBCdXR0b24gc3R5bGVzLlxyXG4gICAgLm1vZHVsZXMtY29udHJvbC1idXR0b24ge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAmW2FyaWEtZXhwYW5kZWQ9dHJ1ZV0ge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91cjE7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybywgYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgcGFkZGluZzogNXB4IDEwcHg7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvdXI0O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLm1vZHVsZS1pbmZvIHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogJ1xcZjEyOSc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5tb2R1bGVzLWluZm8tY29udGFpbmVyIHtcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgIHdpZHRoOiAzMjBweDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHotaW5kZXg6IDEwMDA7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgIHdpZHRoOiA1MDBweDtcclxuICAgIH1cclxuICAgIC5tb2R1bGVzLWluZm8taGVhZGluZy1jb250YWluZXIge1xyXG4gICAgICAgIG1hcmdpbjogMCAwIDEwcHg7XHJcbiAgICAgICAgcGFkZGluZzogMCAwIDEwcHg7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRjb2xvdXIzO1xyXG4gICAgfVxyXG4gICAgLmdlbmVyYWwtaW5mb3JtYXRpb24tcGFuZWwge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIzO1xyXG4gICAgfVxyXG4gICAgLmNvbnRlbnQge1xyXG4gICAgICAgIG1hcmdpbjogMjBweCAwIDA7XHJcbiAgICAgICAgcGFkZGluZzogMjBweDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMTtcclxuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAkY29sb3VyNDtcclxuICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICAgICAgICAgIGxpIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgID4gdWwgPiBsaSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogNXB4IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDVweDtcclxuICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgJGNvbG91cjM7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHVsIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgaDQsIGg1LCBoNiB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoKCRwYXJhZ3JhcGgtZm9udC1zaXplKSk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGg0LCBoNSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMTBweCAwO1xyXG4gICAgICAgICAgICBcclxuICAgICAgICB9XHJcbiAgICAgICAgaDQsIGg1IHtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvdXIzLTY7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGg2IHtcclxuICAgICAgICAgICAgbWFyZ2luOiA1cHggMDtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgIH1cclxuICAgICAgICBzdHJvbmcge1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XHJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogXCI6XCI7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCIvKlxyXG5cclxuLS0tLSBTdG9ja2lzdCAtLS0tIFxyXG5TcGVjaWZpY2FsbHkgZm9yIHRoZSBzdG9ja2lzaCBjb21wb25lbnQ6IFxyXG4tIFNvcnRpbmcgYXJlYVxyXG4tIFNlYXJjaCByZXN1bHRzIFxyXG4tIEludGVyYWN0aXZlIG1hcFxyXG5cclxuKi9cclxuXHJcblxyXG4vLyAtLS0tLSBTb3J0aW5nIEFyZWEgLS0tLS0tXHJcbi5pbnRlcmFjdGl2ZS1tYXAtc29ydGluZy1vcHRpb25zIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMjVweDtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcclxuICAgIH1cclxuICAgIC5zb3J0aW5nLW9wdGlvbiB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgcGFkZGluZzogMTBweCAwO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5sYWJlbCB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHNvcnRpbmctb3B0aW9ucy1mb250LXNpemUpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogJHNvcnRpbmctb3B0aW9ucy1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgY29sb3I6ICRzb3J0aW5nLW9wdGlvbnMtY29sb3VyO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5jb250cm9sLnNlYXJjaCB7XHJcbiAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgfVxyXG4gICAgLmFkZHJlc3Mtc2VhcmNoLWNvbnRhaW5lciB7XHJcbiAgICAgICAgaW5wdXQge1xyXG4gICAgICAgICAgICAmOjpwbGFjZWhvbGRlciB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMjkwcHghaW1wb3J0YW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnByb2R1Y3QtZmlsdGVyLWNvbnRhaW5lciB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgICB9XHJcbiAgICAgICAgLmxhYmVsIHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgZmlsdGVyKTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBjdXN0b20taWNvbi1mYW1pbHkoJGZvbnRBd2Vzb21lU29saWQsICRzaXRlLWljb25zLWN1c3RvbS1maWx0ZXItaWNvbik7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGludGVyYWN0aXZlLW1hcC1maWx0ZXItaWNvbi1jb2xvdXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuc2VwYXJhdG9yIHtcclxuICAgICAgICBtYXJnaW46IDdweCAwIDJweDtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAyNXB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG59XHJcblxyXG4vLyAtLS0tLSBDb21tb24gc3R5bGVzIGZvciBzZWFyY2ggcmVzdWx0cyArIGludGVyYWN0aXZlIG1hcCAtLS0tLSBcclxuLnN0b2NraXN0LWNvbnRhaW5lciB7XHJcbiAgICBtYXgtaGVpZ2h0OiAwO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBnYXA6IDIwcHg7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICB9XHJcbiAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgbWF4LWhlaWdodDogbm9uZTtcclxuICAgICAgICBoZWlnaHQ6IGZpdC1jb250ZW50O1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiA4MHZoO1xyXG4gICAgICAgICAgICBtaW4taGVpZ2h0OiA1MHZoO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0tLSBTZWFyY2ggUmVzdWx0cyAtLS0tLVxyXG4uaW50ZXJhY3RpdmUtbWFwLXNlYXJjaC1yZXN1bHRzLWNvbnRhaW5lciB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBwYWRkaW5nOiAxNXB4IDIwcHggMTVweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIzLTU7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiA0MjBweDtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBwYWRkaW5nOiAzMHB4IDQwcHg7XHJcbiAgICB9XHJcbiAgICB1bCB7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgIH1cclxuICAgIGxpIHtcclxuICAgICAgICBwYWRkaW5nOiAxMHB4IDAgMTVweDtcclxuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG91cjMtMjtcclxuICAgIH1cclxuICAgIC5oZWFkZXItY29udGFpbmVyIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgICAgIGgyIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMS41KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAucmVzdWx0LWJ1dHRvbi1jb250YWluZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XHJcbiAgICB9XHJcbiAgICAucmVzdWx0cy1jb250YWluZXIge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcclxuICAgICAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcclxuICAgICAgICB9XHJcbiAgICAgICAgLmRlc2NyaXB0aW9uIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyMy02O1xyXG4gICAgICAgIH1cclxuICAgICAgICAuYWRkcmVzcyB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4gICAgICAgICAgICArIC50ZWxlcGhvbmUge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICArIC5yZXN1bHQtYnV0dG9uLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC50ZWxlcGhvbmUge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDVweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLndlYnNpdGUtYnV0dG9uIHtcclxuICAgIEBpbmNsdWRlIGNvbW1vbi1idXR0b24tMSg1cHggMzBweCwgJHByaW1hcnktYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCAkcHJpbWFyeS1idXR0b24tY29sb3VyLCAkcHJpbWFyeS1idXR0b24tYm9yZGVyLWNvbG91ciwgMTIsJGNvbW1vbi1idXR0b24tZm9udC13ZWlnaHQsIChtb2JpbGUtd2lkdGg6IDEwMCUsIHdpZHRoOiBmaXQtY29udGVudCksICgwIDQwcHggMCAwLCAwKSk7XHJcbn1cclxuXHJcbi8vIC0tLS0tIEludGVyYWN0aXZlIE1hcCAtLS0tLVxyXG4uaW50ZXJhY3RpdmUtbWFwLWxvY2F0aW9uLWJ1dHRvbiB7XHJcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgIHBhZGRpbmc6IDAgNXB4O1xyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGxvY2F0aW9uKTtcclxuICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgZm9udC1zaXplOiAyMnB4O1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3VyNC0zO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICB9XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNjtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbi5pbnRlcmFjdGl2ZS1tYXAtY29udGFpbmVyIHtcclxuICAgIG1pbi1oZWlnaHQ6IDYwdmg7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1ncm93OiAxO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIG1pbi1oZWlnaHQ6IDIwMHB4O1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgfVxyXG59XHJcbi5pbnRlcmFjdGl2ZS1tYXAge1xyXG4gICAgZmxleC1ncm93OiAxO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG91cjMtMTtcclxuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgJHRyYW5zaXRpb25PdXRybztcclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIGJveC1zaGFkb3c6ICRib3hTaGFkb3cyO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgJHRyYW5zaXRpb25JbnRybztcclxuICAgIH1cclxufVxyXG4ub3JnYW5pc2F0aW9uLWNvbnRhaW5lciB7XHJcbiAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbiAgICBjb2xvcjogJGNvbG91cjMtNjtcclxufVxyXG4uaW50ZXJhY3RpdmUtbWFwLW5vLXJlc3VsdHMge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5pbmZvLXdpbmRvdy1hZGRyZXNzLXRpdGxlIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbiAgICBmb250LXdlaWdodDogNjAwO1xyXG59XHJcblxyXG4uaW5mby13aW5kb3ctY29udGVudC1jb250YWluZXIge1xyXG4gICAgLmluZm8td2luZG93LWFkZHJlc3MsIC50ZWxlcGhvbmUge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDVweDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmluZm8td2luZG93LWJ1dHRvbi1jb250YWluZXIge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgICB9XHJcbn0iLCIvKlxyXG4tLS0tLSBUcmVlIE1lbnUgLS0tLS1cclxuXHJcbiovXHJcblxyXG5cclxuLnRyZWUtbWVudSB7XHJcblx0aW5wdXRbdHlwZT1jaGVja2JveF0ge1xyXG5cdFx0dmlzaWJpbGl0eTogaGlkZGVuO1xyXG5cdH1cclxuICAgIC8vIENvbW1vbiBTdHlsZXMuXHJcbiAgICB1bCB7XHJcblx0XHRwYWRkaW5nOiAwO1xyXG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcblx0XHRsaSB7XHJcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdH1cclxuXHRcdGxpID4gLm5vZGUtY29udGVudC1jb250YWluZXIge1xyXG5cdFx0XHRtYXgtaGVpZ2h0OiAwO1xyXG5cdFx0XHRwYWRkaW5nOiAwO1xyXG5cdFx0XHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdFx0XHR0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0ICR0cmFuc2l0aW9uT3V0cm87XHJcblx0XHR9XHJcblx0XHRsYWJlbCB7XHJcblx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRcdFx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdFx0XHQmOmJlZm9yZSB7XHJcblx0XHRcdFx0Y29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgdHJlZS1tZW51LW9wZW4pO1xyXG5cdFx0XHRcdHdpZHRoOiAkdHJlZS1tZW51LW5vZGUtc3RhdHVzLWljb24tc2l6ZTtcclxuXHRcdFx0XHRoZWlnaHQ6ICR0cmVlLW1lbnUtbm9kZS1zdGF0dXMtaWNvbi1zaXplO1xyXG5cdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdFx0XHRmbG9hdDogbGVmdDtcclxuXHRcdFx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0XHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdFx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjE7XHJcblx0XHRcdFx0Ym9yZGVyOiAycHggc29saWQgJGNvbG91cjE7XHJcblx0XHRcdFx0Y29sb3I6ICRjb2xvdXI0O1xyXG5cdFx0XHRcdGZvbnQtZmFtaWx5OiBjdXN0b20taWNvbi1mYW1pbHkoJGZvbnRBd2Vzb21lU29saWQsICRzaXRlLWljb25zLWN1c3RvbS1jaGV2cm9ucyk7XHJcblx0XHRcdFx0Zm9udC1zaXplOiAkdHJlZS1tZW51LW5vZGUtc3RhdHVzLWljb24tZm9udC1zaXplO1xyXG5cdFx0XHRcdGJvcmRlci1yYWRpdXM6ICRib3JkZXJSYWRpdXMyO1xyXG5cdFx0XHRcdHotaW5kZXg6IDE7XHJcblx0XHRcdH1cclxuXHRcdFx0LmxhYmVsIHtcclxuXHRcdFx0XHRtYXJnaW4tbGVmdDogJHRyZWUtbWVudS1sZXZlbC1sYWJlbC10ZXh0LW1hcmdpbjtcclxuXHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcclxuXHRcdFx0XHRmb250LXdlaWdodDogNzAwO1xyXG5cdFx0XHRcdGNvbG9yOiAkY29sb3VyNDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0bGFiZWwuYWN0aXZlIHtcclxuXHRcdFx0JjpiZWZvcmUge1xyXG5cdFx0XHRcdGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHRyZWUtbWVudS1jbG9zZSk7XHJcblx0XHRcdH1cclxuXHRcdFx0Ly8gQ2hpbGQgbm9kZXMuXHJcblx0XHRcdCYgfiAubm9kZS1jb250ZW50LWNvbnRhaW5lciB7XHJcblx0XHRcdFx0Ly8gVE9ETzogdGhpcyBuZWVkcyB0byBiZSBtYWRlIGR5bmFtaWNhbGx5LlxyXG5cdFx0XHRcdC8vIG1heC1oZWlnaHQ6IGZpdC1jb250ZW50O1xyXG5cdFx0XHRcdGhlaWdodDogMTAwJTtcclxuXHRcdFx0XHR0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0ICR0cmFuc2l0aW9uSW50cm8sIGhlaWdodCAkdHJhbnNpdGlvbkludHJvO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcbiAgICB9XHJcblx0Ly8gTGV2ZWwgMVxyXG4gICAgPiB1bCB7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcblx0XHQ+IGxpIHtcclxuXHRcdFx0PiBsYWJlbCB7XHJcblx0XHRcdFx0cGFkZGluZzogc21hbGwtdmFsdWUoJHRyZWUtbWVudS1sZXZlbC0xLWxhYmVsLXBhZGRpbmcpO1xyXG5cdFx0XHRcdGJvcmRlci1ib3R0b206ICR0cmVlLW1lbnUtbm9kZS1zZXBlcmF0b3ItYm9yZGVyO1xyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuXHRcdFx0XHRcdHBhZGRpbmc6IGxhcmdlLXZhbHVlKCR0cmVlLW1lbnUtbGV2ZWwtMS1sYWJlbC1wYWRkaW5nKTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0LmxhYmVsIHtcclxuXHRcdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xyXG5cdFx0XHRcdFx0Y29sb3I6ICRjb2xvdXIxO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0XHQmOm5vdCgudHJlZS1tZW51LXBhcmVudCkge1xyXG5cdFx0XHRcdC5ub2RlLWNvbnRlbnQtY29udGFpbmVyIC50cmVlLWFkZGl0aW9uYWwtaW5mb3JtYXRpb24tY29udGFpbmVyIHtcclxuXHRcdFx0XHRcdHBhZGRpbmctcmlnaHQ6IDEwcHg7XHJcblx0XHRcdFx0XHRwYWRkaW5nLWxlZnQ6IDE1cHg7XHJcblx0XHRcdFx0XHRib3JkZXItYm90dG9tOiAyMHB4IHNvbGlkICRjb2xvdXIxO1xyXG5cdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG5cdFx0XHRcdFx0XHRwYWRkaW5nLWxlZnQ6IDMwcHg7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHRcdC8vIExldmVsIDJcclxuXHRcdFx0PiAubm9kZS1jb250ZW50LWNvbnRhaW5lciA+IHVsIHtcclxuXHRcdFx0XHQmOm5vdCg6bGFzdC1jaGlsZCkge1xyXG5cdFx0XHRcdFx0Ly8gVXNlZCB0byBzaG93IHRoZSBsZXZlbCAyIG5vZGVzIGluIGdyb3Vwcy5cclxuXHRcdFx0XHRcdGJvcmRlci1ib3R0b206ICR0cmVlLW1lbnUtbm9kZS1zZXBlcmF0b3ItYm9yZGVyO1xyXG5cdFx0XHRcdH1cdFxyXG5cdFx0XHRcdCY6bGFzdC1jaGlsZCB7XHJcblx0XHRcdFx0XHRib3JkZXItYm90dG9tOiAyMHB4IHNvbGlkICRjb2xvdXIxO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHQ+IGxpIHtcclxuXHRcdFx0XHRcdCY6bm90KDpsYXN0LWNoaWxkKSB7XHJcblx0XHRcdFx0XHRcdGJvcmRlci1ib3R0b206ICR0cmVlLW1lbnUtbm9kZS1zZXBlcmF0b3ItYm9yZGVyO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0bGFiZWwge1xyXG5cdFx0XHRcdFx0XHQubGFiZWwge1xyXG5cdFx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRwYWRkaW5nOiAwIDVweDtcclxuXHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuXHRcdFx0XHRcdFx0cGFkZGluZzogbGFyZ2UtdmFsdWUoJHRyZWUtbWVudS1sZXZlbC0yLWxhYmVsLXBhZGRpbmcpO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0Ji5hY3RpdmUge1xyXG5cdFx0XHRcdFx0XHQmOmFmdGVyIHtcclxuXHRcdFx0XHRcdFx0XHR0b3A6ICN7KCgkdHJlZS1tZW51LW5vZGUtc3RhdHVzLWljb24tc2l6ZSAvIDIpICsgMTApfTtcclxuXHRcdFx0XHRcdFx0XHRsZWZ0OiAjeyg1ICsgc3BhY2luZy12YWx1ZSgkdHJlZS1tZW51LW5vZGUtc3RhdHVzLWljb24tc2l6ZSAvIDIpIC0gMSl9O1xyXG5cdFx0XHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuXHRcdFx0XHRcdFx0XHRcdHRvcDogI3soc3BhY2luZy12YWx1ZSgkdHJlZS1tZW51LWxldmVsLTItbGFiZWwtcGFkZGluZywgMSwgbGFyZ2UpICsgKCR0cmVlLW1lbnUtbm9kZS1zdGF0dXMtaWNvbi1zaXplIC8gMikgKyAxMCl9O1xyXG5cdFx0XHRcdFx0XHRcdFx0bGVmdDogI3soc3BhY2luZy12YWx1ZSgkdHJlZS1tZW51LWxldmVsLTItbGFiZWwtcGFkZGluZywgNCwgbGFyZ2UpICsgKCR0cmVlLW1lbnUtbm9kZS1zdGF0dXMtaWNvbi1zaXplIC8gMikgLSAxKX07XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHQ+IC5ub2RlLWNvbnRlbnQtY29udGFpbmVyIC50cmVlLWFkZGl0aW9uYWwtaW5mb3JtYXRpb24tY29udGFpbmVyIHtcclxuXHRcdFx0XHRcdFx0JjpiZWZvcmUge1xyXG5cdFx0XHRcdFx0XHRcdGxlZnQ6ICN7KCgkdHJlZS1tZW51LW5vZGUtc3RhdHVzLWljb24tc2l6ZSAvIDIpIC0gMSl9O1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHQvLyBMZXZlbCAzKyAoIDNyZCBsZXZlbCBhbmQgYW55IGxvd2VyIClcclxuXHRcdFx0XHRcdCAubm9kZS1jb250ZW50LWNvbnRhaW5lciA+IHVsIHtcclxuXHRcdFx0XHRcdFx0JjpsYXN0LWNoaWxkIHtcclxuXHRcdFx0XHRcdFx0XHQ+IGxpIHtcclxuXHRcdFx0XHRcdFx0XHRcdCY6bm90KDpsYXN0LWNoaWxkKSB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdCY6YmVmb3JlIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRoZWlnaHQ6IDMwcHg7XHJcblx0XHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRcdCY6YmVmb3JlIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0aGVpZ2h0OiAxN3B4O1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0aGVpZ2h0OiAxOHB4O1xyXG5cdFx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdD4gbGkge1xyXG5cdFx0XHRcdFx0XHRcdHBhZGRpbmc6IDAgMCAwICR0cmVlLW1lbnUtbm9kZS1zdGF0dXMtaWNvbi1zaXplO1xyXG5cdFx0XHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuXHRcdFx0XHRcdFx0XHRcdHBhZGRpbmc6IDAgMCAwICN7KCR0cmVlLW1lbnUtbGV2ZWwtbGFiZWwtdGV4dC1tYXJnaW4gKyAkdHJlZS1tZW51LW5vZGUtc3RhdHVzLWljb24tc2l6ZSl9O1xyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHQmOmJlZm9yZSB7XHJcblx0XHRcdFx0XHRcdFx0XHRjb250ZW50OiBcIlwiO1xyXG5cdFx0XHRcdFx0XHRcdFx0d2lkdGg6IDJweDtcclxuXHRcdFx0XHRcdFx0XHRcdGhlaWdodDogMTAwJTtcclxuXHRcdFx0XHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0XHRcdFx0XHRcdHRvcDogMDtcclxuXHRcdFx0XHRcdFx0XHRcdGJvdHRvbTogMDtcclxuXHRcdFx0XHRcdFx0XHRcdGxlZnQ6ICN7KCR0cmVlLW1lbnUtbm9kZS1zdGF0dXMtaWNvbi1zaXplIC8gMikgLSAxfTtcclxuXHRcdFx0XHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHRcdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHRyZWUtbWVudS1icmFuY2gtY29sb3VyO1xyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHQmOmFmdGVyIHtcclxuXHRcdFx0XHRcdFx0XHRcdHRvcDogI3soKCR0cmVlLW1lbnUtbm9kZS1zdGF0dXMtaWNvbi1zaXplIC8gMikgKyAxMCl9O1xyXG5cdFx0XHRcdFx0XHRcdFx0bGVmdDogI3s1ICsgKCR0cmVlLW1lbnUtbGV2ZWwtbGFiZWwtdGV4dC1tYXJnaW4gKyAoJHRyZWUtbWVudS1ub2RlLXN0YXR1cy1pY29uLXNpemUgLyAyKSAtIDEpfTtcclxuXHRcdFx0XHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0dG9wOiAjeyhzcGFjaW5nLXZhbHVlKCR0cmVlLW1lbnUtbGV2ZWwtMi1sYWJlbC1wYWRkaW5nLCAxLCBsYXJnZSkgKyAoJHRyZWUtbWVudS1ub2RlLXN0YXR1cy1pY29uLXNpemUgLyAyKSArIDEwKX07XHJcblx0XHRcdFx0XHRcdFx0XHRcdGxlZnQ6ICN7KCgkdHJlZS1tZW51LWxldmVsLWxhYmVsLXRleHQtbWFyZ2luICsgJHRyZWUtbWVudS1ub2RlLXN0YXR1cy1pY29uLXNpemUpICsgKCR0cmVlLW1lbnUtbm9kZS1zdGF0dXMtaWNvbi1zaXplIC8gMikgLSAxKX07XHJcblx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdC8vIEV4dGVuZGluZyBsaW5lIG90aGVyd2lzZSBpZiB0aGlzIGlzIG5vdCB0aGUgbGFzdCBjaGlsZCB0aGVuIGEgZ2FwIHdpbGwgZm9ybSBpbiB0aGUgdGhlIHRyZWUncyBsaW5lcy5cclxuXHRcdFx0XHRcdFx0XHQmLmFjdGl2ZSB7XHJcblx0XHRcdFx0XHRcdFx0XHQmOm5vdCg6bGFzdC1jaGlsZCkge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHQmOmJlZm9yZSB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0aGVpZ2h0OiAxMDAlO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdGxhYmVsIHtcclxuXHRcdFx0XHRcdFx0XHRcdC5sYWJlbCB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdGZvbnQtc3R5bGU6IGl0YWxpYztcclxuXHRcdFx0XHRcdFx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygxNik7XHJcblx0XHRcdFx0XHRcdFx0XHR9XHRcclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0PiAudHJlZS1hZGRpdGlvbmFsLWluZm9ybWF0aW9uLWNvbnRhaW5lciB7XHJcblx0XHRcdFx0XHRcdFx0XHQmOmJlZm9yZSB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdGxlZnQ6IC0jeygkdHJlZS1tZW51LWxldmVsLWxhYmVsLXRleHQtbWFyZ2luICsgKCR0cmVlLW1lbnUtbm9kZS1zdGF0dXMtaWNvbi1zaXplIC8gMiApICsgMSl9O1xyXG5cdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHQudHJlZS1tZW51LXBhcmVudCB7XHJcblx0XHRcdFx0XHQmLmFjdGl2ZSB7XHJcblx0XHRcdFx0XHRcdCY6YWZ0ZXIge1xyXG5cdFx0XHRcdFx0XHRcdGNvbnRlbnQ6IFwiXCI7XHJcblx0XHRcdFx0XHRcdFx0d2lkdGg6IDJweDtcclxuXHRcdFx0XHRcdFx0XHRoZWlnaHQ6IDE4cHg7XHJcblx0XHRcdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICR0cmVlLW1lbnUtYnJhbmNoLWNvbG91cjtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdFxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHR1bCB7XHJcblx0XHRcdC50cmVlLW1lbnUtcGFyZW50IHtcclxuXHRcdFx0XHQ+IC5ub2RlLWNvbnRlbnQtY29udGFpbmVyID4gLnRyZWUtYWRkaXRpb25hbC1pbmZvcm1hdGlvbi1jb250YWluZXIge1xyXG5cdFx0XHRcdFx0JjpiZWZvcmUge1xyXG5cdFx0XHRcdFx0XHRjb250ZW50OiAnJztcclxuXHRcdFx0XHRcdFx0d2lkdGg6IDJweDtcclxuXHRcdFx0XHRcdFx0aGVpZ2h0OiBjYWxjKDEwMCUgKyAjeyR0cmVlLW1lbnUtbm9kZS1zdGF0dXMtaWNvbi1zaXplfSk7XHJcblx0XHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0XHRcdFx0dG9wOiAtI3skdHJlZS1tZW51LW5vZGUtc3RhdHVzLWljb24tc2l6ZX07XHJcblx0XHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICR0cmVlLW1lbnUtYnJhbmNoLWNvbG91cjtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdFx0LnRyZWUtYWRkaXRpb25hbC1pbmZvcm1hdGlvbi1jb250YWluZXIge1xyXG5cdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiAxMHB4O1xyXG5cdFx0XHRcdHBhZGRpbmctbGVmdDogJHRyZWUtbWVudS1ub2RlLXN0YXR1cy1pY29uLXNpemU7XHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG5cdFx0XHRcdFx0cGFkZGluZy1yaWdodDogMDtcclxuXHRcdFx0XHRcdHBhZGRpbmctbGVmdDogI3soJHRyZWUtbWVudS1sZXZlbC1sYWJlbC10ZXh0LW1hcmdpbiArICR0cmVlLW1lbnUtbm9kZS1zdGF0dXMtaWNvbi1zaXplKX07XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHRcdHVsIHtcclxuXHRcdFx0XHRsaSB7XHJcblx0XHRcdFx0XHRsYWJlbCB7XHJcblx0XHRcdFx0XHRcdC8vIEpvaW5zIG5vZGUgdG8gdHJlZS5cclxuXHRcdFx0XHRcdFx0JjphZnRlciB7XHJcblx0XHRcdFx0XHRcdFx0Y29udGVudDogJyc7XHJcblx0XHRcdFx0XHRcdFx0d2lkdGg6ICN7KCgkdHJlZS1tZW51LWxldmVsLWxhYmVsLXRleHQtbWFyZ2luICsgJHRyZWUtbWVudS1ub2RlLXN0YXR1cy1pY29uLXNpemUpIC0gKCR0cmVlLW1lbnUtbm9kZS1zdGF0dXMtaWNvbi1zaXplIC8gMikpfTtcclxuXHRcdFx0XHRcdFx0XHRoZWlnaHQ6IDJweDtcclxuXHRcdFx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdFx0XHRcdFx0dG9wOiAjeygoJHRyZWUtbWVudS1ub2RlLXN0YXR1cy1pY29uLXNpemUgLyAyKSArIDMpfTtcclxuXHRcdFx0XHRcdFx0XHRsZWZ0OiAjeygoJHRyZWUtbWVudS1ub2RlLXN0YXR1cy1pY29uLXNpemUgLyAyKSl9O1xyXG5cdFx0XHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICR0cmVlLW1lbnUtYnJhbmNoLWNvbG91cjtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG4gICAgfVxyXG4gICAgXHJcblxyXG4gICAgLy8gQXNzZXRzIHN0eWxlcy5cclxuICAgICYuYXNzZXRzIHtcclxuXHRcdG1hcmdpbi1ib3R0b206IDUwcHg7XHJcblx0XHQ+IHVsIHtcclxuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHRyZWUtbWVudS1hc3NldHMtYmFja2dyb3VuZC1jb2xvdXI7XHJcblx0XHRcdC8vIE9ubHkgYWRkIHRoZSBiYWNrZ3JvdW5kIGNvbG91ciB0byB0aGUgcGFyZW50IG5vZGUncyBsYWJlbC5cclxuXHRcdFx0PiBsaSB7XHJcblx0XHRcdFx0PiBsYWJlbCB7IFxyXG5cdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHRyZWUtbWVudS1hc3NldHMtcm9vdC1sYWJlbC1iYWNrZ3JvdW5kLWNvbG91cjtcclxuXHRcdFx0XHR9XHRcdFxyXG4gICAgICAgICAgICB9XHJcblx0XHR9XHJcbiAgICB9XHJcblxyXG5cdC5hdHRhY2htZW50cy1jb250YWluZXIge1xyXG5cdFx0dWwge1xyXG5cdFx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdFx0fVxyXG5cdFx0LmF0dGFjaG1lbnQge1xyXG5cdFx0XHRwYWRkaW5nOiAwO1xyXG5cdFx0XHQmOmJlZm9yZSB7XHJcblx0XHRcdFx0d2lkdGg6ICR0cmVlLW1lbnUtY29udGVudC1pY29uLXdpZHRoO1xyXG5cdFx0XHRcdG1hcmdpbjogMDtcclxuXHRcdFx0XHRmb250LXNpemU6ICR0cmVlLW1lbnUtY29udGVudC1pY29uLXNpemU7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC5hbGVydC1ub2RlIHtcclxuXHRcdD4gbGFiZWwge1xyXG5cdFx0XHQmOmJlZm9yZSB7XHJcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKTtcclxuXHRcdFx0XHRjb2xvcjogJGNvbG91cjE7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHQubm9kZS1jb250ZW50LWNvbnRhaW5lciA+IC5hbGVydC1jb250YWluZXIge1xyXG5cdFx0XHQudHJlZS1hZGRpdGlvbmFsLWluZm9ybWF0aW9uLWJhY2tncm91bmQge1xyXG5cdFx0XHRcdGJvcmRlci1jb2xvcjogbWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKTtcclxuXHRcdFx0fVxyXG5cdFx0XHQuYWxlcnQtdmFsdWUge1xyXG5cdFx0XHRcdC52YWx1ZSwgLmxhYmVsIHtcclxuXHRcdFx0XHRcdGNvbG9yOiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDApO1xyXG5cdFx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygxNik7XHJcblx0XHRcdFx0XHRmb250LXdlaWdodDogNzAwO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHQudmFsdWUge1xyXG5cdFx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0XHRcdFx0JjpiZWZvcmUge1xyXG5cdFx0XHRcdFx0XHRjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCB3YXJuaW5nKTtcclxuXHRcdFx0XHRcdFx0d2lkdGg6ICR0cmVlLW1lbnUtY29udGVudC1pY29uLXdpZHRoO1xyXG5cdFx0XHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHRcdFx0XHRcdGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuXHRcdFx0XHRcdFx0Y29sb3I6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMCk7XHJcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogJHRyZWUtbWVudS1jb250ZW50LWljb24tc2l6ZTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdFx0XHJcblx0fVxyXG59XHJcblxyXG4udHJlZS1hZGRpdGlvbmFsLWluZm9ybWF0aW9uLWNvbnRhaW5lciB7XHJcblx0bWF4LXdpZHRoOiA3MDBweDtcclxuXHRwYWRkaW5nOiAxMHB4IDA7XHJcblx0LmFkZGl0aW9uYWwtaW5mb3JtYXRpb24ge1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0XHQmOm5vdCg6Zmlyc3Qtb2YtdHlwZSk6bm90KDpsYXN0LW9mLXR5cGUpIHtcclxuXHRcdFx0bWFyZ2luOiAxMHB4IDA7XHJcblx0XHR9XHJcblx0XHQmOmZpcnN0LW9mLXR5cGUge1xyXG5cdFx0XHRtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG5cdFx0fVxyXG5cdFx0JjpsYXN0LW9mLXR5cGUge1xyXG5cdFx0XHRtYXJnaW4tdG9wOiAxMHB4O1xyXG5cdFx0fVxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG5cdFx0XHRmbGV4LWRpcmVjdGlvbjogcm93O1xyXG5cdFx0fVxyXG5cdFx0c3BhbiB7XHJcblx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHQubGFiZWwge1xyXG5cdFx0bWF4LXdpZHRoOiAyMjVweDtcclxuXHRcdGZsZXgtZ3JvdzogMTtcclxuXHR9XHJcbn1cclxuXHJcbi50cmVlLWFkZGl0aW9uYWwtaW5mb3JtYXRpb24tYmFja2dyb3VuZCB7XHJcblx0cGFkZGluZzogMTBweDtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuXHRAaWYgKHNtb290aC1lZGdlcygpKSB7XHJcblx0XHRib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuXHR9XHJcblx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjE7XHJcblx0Ym94LXNoYWRvdzogJGJveFNoYWRvdzI7XHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG5cdFx0cGFkZGluZzogMzBweCAyMnB4O1xyXG5cdH1cclxufVxyXG5cclxuLnRyZWUtbWVudS1oZWFkZXIge1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRwYWRkaW5nOiAxNXB4IDAgMjBweDtcclxuXHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblx0XHRmbGV4LWRpcmVjdGlvbjogcm93O1xyXG5cdH1cclxuXHQudHJlZS1tZW51LWNvbnRyb2xzIHtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuXHRcdFx0bWFyZ2luLXJpZ2h0OiAwO1xyXG5cdFx0XHRtYXJnaW4tbGVmdDogYXV0bztcclxuXHRcdH1cclxuXHR9XHJcblx0LnRyZWUtbWVudS1pbmZvcm1hdGlvbiB7XHJcblx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRcdHBhZGRpbmc6IDEwcHggMDtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuXHRcdFx0cGFkZGluZzogMDtcclxuXHRcdH1cclxuXHR9XHJcblx0LnRyZWUtaW5mb3JtYXRpb24ge1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYygxMyk7XHJcblx0XHRmb250LXdlaWdodDogNzAwO1xyXG5cdFx0Y29sb3I6ICRjb2xvdXI0O1xyXG5cdFx0Ji5hbGVydCB7XHJcblx0XHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0XHRcdGN1cnNvcjogcG9pbnRlcjtcclxuXHRcdFx0JjpiZWZvcmUge1xyXG5cdFx0XHRcdGNvbnRlbnQ6ICcnO1xyXG5cdFx0XHRcdHdpZHRoOiAxMHB4O1xyXG5cdFx0XHRcdGhlaWdodDogMTBweDtcclxuXHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHRcdFx0bWFyZ2luOiAwIDEwcHggMCA1cHg7XHJcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKTtcclxuXHRcdFx0XHRib3JkZXItcmFkaXVzOiAkYm9yZGVyUmFkaXVzMjtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLy8gLS0tLS0gVG9nZ2xlIGJ1dHRvbnMgZm9yIGNvbGxhcHNpbmcgb3IgZXhwYW5kaW5nIHRoZSBlbnRpcmUgdHJlZSAtLS0tLVxyXG4udHJlZS1tZW51LWV4cGFuZC10b2dnbGUge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRmb250LXNpemU6IC44MTI1cmVtO1xyXG5cdGZvbnQtd2VpZ2h0OiA3MDA7XHJcblx0Y29sb3I6ICRjb2xvdXI0O1xyXG5cdCY6YWZ0ZXIge1xyXG5cdFx0Y29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgdHJlZS1tZW51LW9wZW4pO1xyXG5cdFx0d2lkdGg6IDE4cHg7XHJcblx0XHRoZWlnaHQ6IDE4cHg7XHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuXHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRcdG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogJGJvcmRlclJhZGl1czI7XHJcblx0XHRib3JkZXI6IDJweCBzb2xpZCAkY29sb3VyNDtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIxO1xyXG5cdFx0Y29sb3I6ICRjb2xvdXI0O1xyXG5cdFx0Zm9udC1mYW1pbHk6IGN1c3RvbS1pY29uLWZhbWlseSgkZm9udEF3ZXNvbWVTb2xpZCwgJHNpdGUtaWNvbnMtY3VzdG9tLWNoZXZyb25zKTtcclxuXHRcdGZvbnQtc2l6ZTogJHRyZWUtbWVudS1leHBhbmQtYWxsLWljb24tZm9udC1zaXplO1x0XHRcdFx0XHJcblx0fVxyXG5cdCYuYWN0aXZlIHtcclxuXHRcdCY6YWZ0ZXIge1xyXG5cdFx0XHRjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCB0cmVlLW1lbnUtY2xvc2UpO1xyXG5cdFx0fVxyXG5cdH1cclxufSIsIi8qXHJcbi0tLS0tIFJldmlld3MgLS0tLS0gXHJcbi0gSGFuZGxlcyBpbnRlcmZhY2luZyB3aXRoIHRoaXJkLXBhcnR5IHJldmlldyBhcGkncyBsaWtlIGZlZWZvLlxyXG4qL1xyXG5cclxuXHJcbi5yYXRpbmctY29udGFpbmVyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgLnJldmlldy1zdGFycyB7XHJcbiAgICAgICAgbWFyZ2luOiAwIDEwcHggMDtcclxuICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICB9XHJcbiAgICAuc3Rhci1mdWxsLCBbY2xhc3MqPXJhdGluZy1pY29uXSB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHJhdGluZyk7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJHJhdGluZy1pY29uLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5wcm9kdWN0LXJldmlld3MtY29udGFpbmVyIHtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBwYWRkaW5nOiAwIDE1cHg7XHJcbiAgICB9XHJcbiAgICB1bCB7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICAgIGxpIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgcGFkZGluZzogMTVweCAwO1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG91cjMtMTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAucmV2aWV3LWRldGFpbHMtY29udGFpbmVyIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgfVxyXG4gICAgLmRpc3BsYXktbmFtZS1jb250YWluZXIge1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3VyMy02O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbiAgICAgICAgJiArIC5sYXN0LXVwZGF0ZWQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogJy0nO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDVweDtcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuZGlzcGxheS1sb2NhdGlvbi1jb250YWluZXIge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4gICAgfVxyXG4gICAgLmxhc3QtdXBkYXRlZC1jb250YWluZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvdXIzLTM7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbiAgICB9XHJcbiAgICAubGlzdC1jb3VudC1jb250YWluZXIge1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3VyMy0zO1xyXG4gICAgICAgIC5jdXJyZW50LXNob3dpbmctY291bnQge1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG91cjMtNjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAucmV2aWV3cy1jb250YWluZXIge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICB9XHJcbiAgICAucmV2aWV3cy1wYWdlci1jb250YWluZXIge1xyXG4gICAgICAgICYgKyAucmV2aWV3cy1wcm9kdWN0LWZvb3RlciB7XHJcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkY29sb3VyMy0xO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5yZXZpZXdzLXByb2R1Y3QtZm9vdGVyIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuICAgICAgICAuc2VydmljZS1wcm92aWRlci1sb2dvIHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMjBweCAwO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5mZWVmby1sb2dvIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMHB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDI1cHg7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnI3skc2hhcmVkLWljb25zLWRpcmVjdG9yeX1mZWVmby1sb2dvLnBuZycpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAucmV2aWV3cy1wcm9kdWN0LXJldmlldy1hbGwtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5yZXZpZXctc29jaWFsLWNvbnRhaW5lciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAuaGVscGZ1bC12b3Rlcy1jb250YWluZXIgKyAucmV2ZWFsLXNvY2lhbC1pY29ucy1jb250YWluZXIge1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4uaGVscGZ1bC12b3Rlcy1jb250YWluZXIge1xyXG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbiAgICBjb2xvcjogJGNvbG91cjMtMztcclxuICAgIC5oZWxwZnVsLXZvdGVzLWRpc3BsYXkge1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgdm90ZS11cCk7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxMXB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuIiwiLypcclxuLS0tLS0gUGFnZSBTZWN0aW9uIENvbG91cnMgLS0tLS1cclxuVGhlIHB1cnBvc2Ugb2YgdGhpcyBpcyBpcyB0byBhZGQgYmFja2dyb3VuZC1jb2xvdXJzIHRvIHNwZWNpZmljIHNlY3Rpb25zIG9uIHNwZWNpZmljIHBhZ2VzIGFjcm9zcyBleHByZXNzIHVzaW5nIHRoZSBib2R5IGlkLCBzbyBhIHBvdGVudGlhbCBjb25maWcgY291bGQgbG9vayBsaWtlIHRoaXM6XHJcblxyXG5oZWFkZXItdXNwLWJhcjogKFxyXG4gICAgYmFja2dyb3VuZC1jb2xvdXI6ICRjb2xvdXIzLTEsXHJcbiAgICBwYWdlczogKFwiaG9tZXBhZ2VcIilcclxuKVxyXG5cclxuVGhlIHRvcCBsZXZlbCBtYXAga2V5IGlzIHRoZSBjbGFzcyBvZiB0aGUgZWxlbWVudCB0aGF0IHlvdSB3YW50IHRvIGVmZmVjdCB0aGVuIGluc2lkZSBvZiB0aGF0IGlzIHRoZSBjb25maWd1cmF0aW9uIGkuZSBiYWNrZ3JvdW5kIGNvbG91ciArIHdoaWNoIHBhZ2VzIHRvIGFwcGx5IHRoaXMgdG8gd2hpY2ggaXMgYSBsaXN0IG9mIGJvZHkgaWQncy5cclxuKi9cclxuXHJcbi8vIExvb3AgdGhyb3VnaCAkc2VjdGlvbnMtYmFja2dyb3VuZC1jb2xvdXJzIGNvbmZpZy5cclxuQGVhY2ggJGVsZW1lbnQsICRjb25maWcgaW4gJHNlY3Rpb25zLWJhY2tncm91bmQtY29sb3VycyB7XHJcbiAgICAvLyBHZXQgc2VjdGlvbiBiYWNrZ3JvdW5kIGNvbG91ci5cclxuICAgICRiYWNrZ3JvdW5kLWNvbG91cjogbWFwLWdldCgkY29uZmlnLCBiYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAvLyBHZXQgcGFnZXMgdGhpcyBpcyBhcHBsaWNhYmxlIHRvby5cclxuICAgICRwYWdlczogbWFwLWdldCgkY29uZmlnLCBwYWdlcyk7XHJcbiAgICBAaWYgKCRwYWdlcykge1xyXG4gICAgICAgIEBlYWNoICRwYWdlIGluICRwYWdlcyB7XHJcbiAgICAgICAgICAgIGJvZHkjI3skcGFnZX0ge1xyXG4gICAgICAgICAgICAgICAgLiN7JGVsZW1lbnR9IHtcclxuICAgICAgICAgICAgICAgICAgICBAaWYgKCRiYWNrZ3JvdW5kLWNvbG91cikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEB3YXJuIFwiUGFnZSBzZWN0aW9uIGNvbG91cnM6IE5vIGJhY2tncm91bmQtY29sb3VyIHByb3ZpZGVkIGZvciAjeyRlbGVtZW50fSwgZm9yIHNpdGUgI3skc2l0ZX0uXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgICAgQHdhcm4gXCJQYWdlIHNlY3Rpb24gY29sb3VyczogTm8gcGFnZXMgcHJvdmlkZWQgZm9yICN7JGVsZW1lbnR9LCBmb3Igc2l0ZSAjeyRzaXRlfS5cIjtcclxuICAgIH1cclxufSIsIi8qXHJcblxyXG4tLS0tIFN0YXIgUmF0aW5ncyAtLS0tIFxyXG5IYW5kbGVzIHN0YXIgcmF0aW5ncyBmb3IgcHJvZHVjdHMsIHRoaXMgc3VwcG9ydHMgcGVyc2VudGFnZSBiYXNlZCByYXRpbmcsIGhlcmUgaXMgYW4gb3ZlcnZpZXcgb2Ygd2hhdCB0aGlzIHdvdWxkIGxvb2sgbGlrZSBodHRwczovL2NvZGVwZW4uaW8vZmlsY3AvcGVuL1F2WlZPZyAuXHJcblxyXG4qL1xyXG5cclxuLnN0YXItcmF0aW5ncy1jb250YWluZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XHJcbiAgICBbY2xhc3MqPXJhdGluZy1pY29uLV0ge1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgcmF0aW5nKTtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDE3cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmJhY2tncm91bmQtc3RhcnMge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBbY2xhc3MqPXJhdGluZy1pY29uLV0ge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkcmF0aW5nLWljb24tY29sb3VyLCBpbmFjdGl2ZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBPdmVybGFwIHRoZSBmb3JlZ3JvdW5kIHN0YXJzIHRvIG1ha2UgdGhlbSBhcHBlYXIgbGlrZSB0aGV5J3JlIGNvbG91cmluZyBpbiB0aGUgYmFja2dyb3VuZCBzdGFycy5cclxuICAgIC5mb3JlZ3JvdW5kLXN0YXJzIHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICBbY2xhc3MqPXJhdGluZy1pY29uLV0ge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkcmF0aW5nLWljb24tY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gT3V0cHV0IHJhdGluZyB0b3RhbHMgKCBpLmUgYXZlcmFnZSwgbWF4ICYgdG90YWwgY291bnQgKVxyXG4gICAgLnJhdGluZy1zdW1tYXJ5LWRpc3BsYXkge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZ2FwOiA1cHg7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHJhdGluZy1zdW1tYXJ5LWZvbnQtc2l6ZSk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5yYXRpbmctYnJlYWtkb3duLWxpc3QtY29udGFpbmVyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XHJcbiAgICAuYnJlYWtkb3duLWNvbnRhaW5lciB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgfVxyXG4gICAgLmJyZWFrZG93bi1zdGFycy1jb250YWluZXIge1xyXG4gICAgICAgIHdpZHRoOiA4MHB4O1xyXG4gICAgICAgIFtjbGFzcyo9cmF0aW5nLWljb24tXSB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRyYXRpbmctaWNvbi1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEzcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuYnJlYWtkb3duLXBlcmNlbnRhZ2UtYmFyLWNvbnRhaW5lciB7XHJcbiAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgfVxyXG59XHJcbi5icmVha2Rvd24tcGVyY2VudGFnZS1iYXItY29udGFpbmVyIHtcclxuICAgIG1hcmdpbjogMCAxMHB4O1xyXG4gICAgLnBlcmNlbnRhZ2UtYmFyIHsgXHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiAxMHB4O1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG4gICAgLmJhY2tncm91bmQtYmFyIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgLnBlcmNlbnRhZ2UtYmFyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkcmF0aW5nLWljb24tY29sb3VyLCBpbmFjdGl2ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmZvcmVncm91bmQtYmFyIHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgLnBlcmNlbnRhZ2UtYmFyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkcmF0aW5nLWljb24tY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4uYnJlYWtkb3duLWNvdW50LWNvbnRhaW5lciB7XHJcbiAgICB3aWR0aDogMzBweDtcclxufVxyXG4udG9vbHRpcC1jb250ZW50LWNvbnRhaW5lciAuYnJlYWtkb3duLWJ1dHRvbi1jb250YWluZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgbWFyZ2luOiAyMHB4IDAgMDtcclxuICAgIGEge1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRxdWF0ZXJuYXJ5LWJ1dHRvbi1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkcXVhdGVybmFyeS1idXR0b24tY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJHF1YXRlcm5hcnktYnV0dG9uLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCIvKlxyXG4tLS0tLSBCYXJjb2RlIFNjYW5uZXIgLS0tLS0tIFxyXG5cclxuKi9cclxuXHJcbi5iYXJjb2RlLXNjYW5uZXItdG9nZ2xlLWJ1dHRvbiB7XHJcbiAgICBAaW5jbHVkZSBjb21tb24tYnV0dG9uLTEoMTBweCAxNXB4LCAkYmFyY29kZS1zY2FubmVyLXRvZ2dsZS1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsICRiYXJjb2RlLXNjYW5uZXItdG9nZ2xlLWJ1dHRvbi1jb2xvdXIsICRiYXJjb2RlLXNjYW5uZXItdG9nZ2xlLWJ1dHRvbi1ib3JkZXItY29sb3VyLWRlc2t0b3AsIGdldC1idXR0b24tZm9udC1zaXplKFwiYXNzb2NpYXRlZFwiKSwgZ2V0LWJ1dHRvbi1mb250LXdlaWdodHMoJ2Fzc29jaWF0ZWQnKSwgKG1vYmlsZS13aWR0aDogMTAwJSwgd2lkdGg6IGZpdC1jb250ZW50KSwgMCwgZmxleCwgJGJhcmNvZGUtc2Nhbm5lci10b2dnbGUtYnV0dG9uLWljb24tY29uZmlnLCAxKTtcclxufVxyXG5cclxuLmJhcmNvZGUtc2Nhbm5lci10b2dnbGUtYnV0dG9uLWNvbnRhaW5lciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLmJhcmNvZGUtc2Nhbm5lcntcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHZpZGVvIHtcclxuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcbiAgICAvLyBWaWV3IGZpbmRlciBvdmVybGF5LlxyXG4gICAgY2FudmFzIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcblxyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgIH1cclxuICAgICYuaXMtaW5hY3RpdmUge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5zY2FubmVyLWNhbWVyYS1zZWxlY3Rvci1jb250YWluZXIge1xyXG4gICAgbWF4LXdpZHRoOiA0OTBweDtcclxuICAgIG1hcmdpbjogMCBhdXRvIDMwcHg7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgbWFyZ2luOiAwIGF1dG8gMjBweDtcclxuICAgIH1cclxuICAgIC5sYWJlbCB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgbWFyZ2luOiAwIDAgMTBweCAwO1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIDIwcHggMCAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5jb250cm9sLnNlbGVjdCAuY29udHJvbC1zZWxlY3QtY29udGFpbmVyIHtcclxuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gI3soMTVweCArICgoJHRvb2x0aXAtaW5mby1pY29uLXNpemUgLSAyKSAqIDIpICsgJHRvb2x0aXAtaW5mby1pY29uLXNpemUpfSk7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogMzMwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnRvb2x0aXAtY29udGFpbmVyIHtcclxuICAgICAgICBtYXJnaW4tbGVmdDogMTVweDtcclxuICAgIH1cclxufVxyXG5cclxuLmJhcmNvZGUtc2Nhbm5lci1yZXNwb25zZS1jb250YWluZXIge1xyXG4gICAgbWFyZ2luOiAwO1xyXG59IiwiLypcclxuLS0tLS0gUGFnZSBCYWNrZ3JvdW5kIEltYWdlIC0tLS0tXHJcblRoZSBwdXJwb3NlIG9mIHRoaXMgaXMgaXMgdG8gYWRkIGJhY2tncm91bmQgaW1hZ2UocykgdG8gc3BlY2lmaWMgcGFnZSB0eXBlcyB1c2luZyB0aGUgYm9keSBpZCwgcG9zc2libGUgY29uZmlndXJhdGlvbjpcclxuXHJcbmhvbWVwYWdlOiAoXHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlID0+IFsgUkVRVUlSRUQgXSBUaGUgdXJsIG9mIHRoZSBpbWFnZS5cclxuICAgIHJlcGVhdC1iYWNrZ3JvdW5kID0+IFsgT1BUSU9OQUwgXSBUaGlzIGRlZmF1bHRzIHRvIG5vLXJlcGVhdC5cclxuICAgIGJhY2tncm91bmQtc2NhbGUgPT4gWyBPUFRJT05BTCBdIFRoaXMgZGVmYXVsdHMgdG8gY292ZXIuXHJcbiAgICBiYWNrZ3JvdW5kLWF0dGFjaG1lbnRzID0+IFsgT1BUSU9OQUwgXVxyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbiA9PiBbIE9QVElPTkFMIF1cclxuKVxyXG5cclxuKi9cclxuXHJcbi8vIExvb3AgdGhyb3VnaCAkcGFnZS1iYWNrZ3JvdW5kLWltYWdlcyBjb25maWcuXHJcbkBlYWNoICRwYWdlLCAkY29uZmlnIGluICRwYWdlLWJhY2tncm91bmQtaW1hZ2VzIHtcclxuICAgIC8vIEdldCBzZWN0aW9uIGJhY2tncm91bmQgY29sb3VyLlxyXG4gICAgJGJhY2tncm91bmQtaW1hZ2U6IG1hcC1nZXQoJGNvbmZpZywgYmFja2dyb3VuZC1pbWFnZSk7XHJcbiAgICAvLyBTaG91bGQgd2UgcmVwZWF0IHRoZSBiYWNrZ3JvdW5kP1xyXG4gICAgJHJlcGVhdC1iYWNrZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIHJlcGVhdC1iYWNrZ3JvdW5kKTtcclxuICAgIC8vIEhvdyBzaG91bGQgd2Ugc2NhbGUgdGhlIGJhY2tncm91bmQ/XHJcbiAgICAkYmFja2dyb3VuZC1zY2FsZTogbWFwLWdldCgkY29uZmlnLCBiYWNrZ3JvdW5kLXNjYWxlKTtcclxuICAgIC8vIEJhY2tncm91bmQgYXR0YWNobWVudCAoIHBhcmFsbGF4IGVmZmVjdCApP1xyXG4gICAgJGJhY2tncm91bmQtYXR0YWNobWVudDogaWYoY29udGFpbnMoJGNvbmZpZywgXCJiYWNrZ3JvdW5kLWF0dGFjaG1lbnRcIiksIG1hcC1nZXQoJGNvbmZpZywgYmFja2dyb3VuZC1hdHRhY2htZW50KSwgZmFsc2UpO1xyXG4gICAgLy8gQmFja2dyb3VuZCBwb3NpdGlvblxyXG4gICAgJGJhY2tncm91bmQtcG9zaXRpb246IGlmKGNvbnRhaW5zKCRjb25maWcsIFwiYmFja2dyb3VuZC1wb3NpdGlvblwiKSwgbWFwLWdldCgkY29uZmlnLCBiYWNrZ3JvdW5kLXBvc2l0aW9uKSwgZmFsc2UpO1xyXG4gICAgQGlmICgkYmFja2dyb3VuZC1pbWFnZSkge1xyXG4gICAgICAgIGJvZHkjI3skcGFnZX0ge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIjeyRiYWNrZ3JvdW5kLWltYWdlfVwiKTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IGlmKCRyZXBlYXQtYmFja2dyb3VuZCwgI3skcmVwZWF0LWJhY2tncm91bmR9LCBuby1yZXBlYXQpO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGlmKCRiYWNrZ3JvdW5kLXNjYWxlLCAjeyRiYWNrZ3JvdW5kLXNjYWxlfSwgY292ZXIpO1xyXG4gICAgICAgICAgICBAaWYgJGJhY2tncm91bmQtYXR0YWNobWVudCB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6ICRiYWNrZ3JvdW5kLWF0dGFjaGVtZW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpZiAkYmFja2dyb3VuZC1wb3NpdGlvbiB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAkYmFja2dyb3VuZC1wb3NpdGlvbjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIEB3YXJuIFwiUGFnZSBCYWNrZ3JvdW5kczogTm8gYmFja2dyb3VuZCBpbWFnZSBwcm92aWRlZCBmb3IgcGFnZSAjeyRwYWdlfVwiO1xyXG4gICAgfVxyXG59IiwiLypcclxuLS0tLS0gVGFncyAtLS0tLVxyXG5Vc2VkIHRvIGRpc3BsYXkgYSBjYXRhZ29yaXNhdGlvbiBvZiBncm91cHMgLyBrZXl3b3JkcywgdGhpcyBpYSBwcmltYXJpbHkgdXNlZCBpbiB0aGUgY21zIHN5c3RlbSBjdXJyZW50bHkgZm9yIGRpcGxzYXkgbmV3cywgYmxvZ3MgJiBldmVudCdzIGFydGljbGVzLlxyXG4qL1xyXG5cclxuLnRhZ2dpbmctY29udGFpbmVyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgJi5hbGlnbi1jZW50ZXIge1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICB9XHJcbiAgICAvLyBJcyB0aGlzIGlzIGEgbGlzdGluZyBwYWdlP1xyXG4gICAgJi5saXN0aW5nIHtcclxuICAgICAgICAudGFnZ2luZy1oZWFkaW5nIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAudGFncy1jb250YWluZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgZ2FwOiAxMHB4O1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgZ2FwOiA1cHggMTBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAudGFnZ2luZy1oZWFkZXItY29udGFpbmVyIHtcclxuICAgICAgICBtYXJnaW46IDVweCAwIDEwcHg7XHJcbiAgICB9XHJcbiAgICAudGFnZ2luZy1oZWFkaW5nIHtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgfVxyXG4gICAgLy8gVGhlIGFjdHVhbCB0YWcuXHJcbiAgICAudGFnLWl0ZW0ge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xyXG4gICAgICAgIC8vbWFyZ2luOiA1cHggMDtcclxuICAgICAgICBwYWRkaW5nOiA4cHggMThweDtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3VyMy0yO1xyXG4gICAgICAgIEBpZiBzbW9vdGgtZWRnZXMoKSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm8sIGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbk91dHJvLCBib3gtc2hhZG93ICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNjtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3VyMDtcclxuICAgICAgICAgICAgYm94LXNoYWRvdzogJGJveFNoYWRvdzE7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm8sIGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbkludHJvLCBib3gtc2hhZG93ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvdXIzLTY7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLnJlbW92ZS1idXR0b24ge1xyXG4gICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHRhZy1yZW1vdmUpO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6aG92ZXI6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI2O1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmFjdGl2ZTphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91cjMtNjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIi8qXHJcbi0tLS0tIEF4aXMgVG9nZ2xlciAtLS0tLVxyXG5CdWlsZCBvbnRvcCBvZiBGb3VuZGF0aW9ucyB0b2dnbGVyIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb24vc2l0ZXMvZG9jcy90b2dnbGVyLmh0bWwsIHdlIG5lZWRlZCB0byBhZGQgaW4gc29tZSBhZGRpdGlvbmFsIGZ1bmN0aW9uYWxpdHkgdG8gYWxsb3cgZm9yIHJlLXRvZ2dsaW5nIGlmIHRoZSB1c2VyIGNsaWNrcyBvdXRzaWRlIG9mIHRoZSBjb250ZW50IGFyZWEuXHJcbiovXHJcblxyXG4udG9nZ2xlLWNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICYuYWN0aXZlIHtcclxuICAgICAgICAudG9nZ2xlLWJhY2tncm91bmQge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIC8vIE11c3QgYmUgc2V0IHNvIGNvbnRlbnQgb3ZlcmxhcHMgdGhlIGJhY2tncm91bmQuXHJcbiAgICAgICAgICAgIHotaW5kZXg6IC0xO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIi8qXHJcbi0tLS0tIFBhZ2UgQmFja2dyb3VuZCBDb2xvdXJzIC0tLS0tXHJcblNpbWlsYXIgdG8gYXhpcy1zZWN0aW9uLWNvbG91cnMgYSBjdXN0b20gY29uZmlnIGlzIHByb3ZpZGUgd2hpY2ggZ2V0cyBsb29wZWQgdGhyb3VnaCBhc3NpZ25pbmcgdGhlIGJhY2tncm91bmQtY29sb3IgcHJvcGVydHkgdG8gdGhlIHJlbGlldmVudCBwYWdlcy5cclxuXHJcbk5PVElDRTogSGFkIHRvIHNldCB0aGUgIWltcG9ydGFudCBmbGFnIG9uIHRoZSBiYWNrZ3JvdW5kLWNvbG9yIHByb3BlcnR5IGR1ZSB0byBmb3VuZGF0aW9uIGVuZm9yaW5nIHRoYXQgdGhlIGJvZHkgYmFja2dyb3VuZCBjb2xvdXIgbXVzdCBiZSBzZXQuXHJcbiovXHJcblxyXG4vLyBMb29wIHRocm91Z2ggJHNlY3Rpb25zLWJhY2tncm91bmQtY29sb3VycyBjb25maWcuXHJcbkBlYWNoICRwYWdlLCAkY29uZmlnIGluICRwYWdlLWJhY2tncm91bmQtY29sb3VycyB7XHJcbiAgICBAaWYgKCRwYWdlID09IGFsbCkge1xyXG4gICAgICAgIGJvZHkge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjb25maWcsIGJhY2tncm91bmQtY29sb3VyKSAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIGJvZHkjI3skcGFnZX0ge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjb25maWcsIGJhY2tncm91bmQtY29sb3VyKSAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIi8qXHJcbi0tLS0tIE11bHRpIEZpZWxkIExvb2t1cCAtLS0tLVxyXG5cclxuUHJvdmlkZXMgYW4gYXJlYSB0byBwbGFjZSBvcHRpb25zICggaS5lIGEgZm9ybSBpbiBhIGhvcml6b250YWwgbGF5b3V0ICkgd2hpY2ggdGhlbiBnZXRzIGZpbGxlZCBpbiB0byB1cGRhdGUgbXVsdGlwbGUgcG9pbnRzIG9uIHRoZSBwYWdlLlxyXG5cclxuKi9cclxuXHJcbi5tdWx0aS1maWVsZC1sb29rdXAge1xyXG4gICAgJi5xdWljay1vcmRlciB7XHJcbiAgICAgICAgLm11bHRpLWZpZWxkLW9wdGlvbnMtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGVmYXVsdC1jb2xvdXIoJG11bHRpLW9wdGlvbi1sb29rdXAtcXVpY2stb3JkZXItYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBzbWFsbC12YWx1ZSgkbXVsdGktb3B0aW9uLWxvb2t1cC1xdWljay1vcmRlci1wYWRkaW5nKTtcclxuICAgICAgICAgICAgQGlmIChzbW9vdGgtZWRnZXMoKSkge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IG1lZGl1bS12YWx1ZSgkbXVsdGktb3B0aW9uLWxvb2t1cC1xdWljay1vcmRlci1wYWRkaW5nKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiBsYXJnZS12YWx1ZSgkbXVsdGktb3B0aW9uLWxvb2t1cC1xdWljay1vcmRlci1wYWRkaW5nKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAubG9va3VwLXNlYXJjaC1jb250YWluZXIge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDUwMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5hZGQtdG8tYmFza2V0LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMjAwcHg7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuYmFyY29kZS1zY2FubmVyLXRyaWdnZXItY29udGFpbmVyIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMzMlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTkwcHg7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAubG9va3VwLXF1YW50aXR5LXNlbGVjdG9yLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuaW5wdXQtbnVtYmVyIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmlucHV0LW51bWJlci1kZWNyZW1lbnQsIC5pbnB1dC1udW1iZXItaW5jcmVtZW50IHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvdXIxO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBhdC1yb290IHtcclxuICAgICAgICAgICAgICAgIC5pbnB1dC1udW1iZXItZGVjcmVtZW50LCAuaW5wdXQtbnVtYmVyLWluY3JlbWVudCB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1ib3JkZXItY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuY29udHJvbCB7XHJcbiAgICAgICAgICAgICYuc2VhcmNoIHtcclxuICAgICAgICAgICAgICAgIC5pbnB1dC1wcmVmaXgtaWNvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBxdWljay1vcmRlci1mb3JtLXByZWZpeC1pY29uKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAyMnB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBhdC1yb290IHsgXHJcbiAgICAgICAgICAgIC5pbnB1dC1wcmVmaXgtaWNvbiB7XHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5tdWx0aS1maWVsZC1vcHRpb25zLWNvbnRhaW5lciB7XHJcbiAgICAgICAgbWFyZ2luOiAxMHB4IDA7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAvLyBSZWR1Y2luZyBtYXJnaW4gYm90dG9tIGFzIG9uLXBhZ2Utbm90aWZpY2F0aW9ucyBhbHJlYWR5IGhhdmUgMTBweCB0b3AgKyBib3R0b20gcGFkZGluZy5cclxuICAgICAgICAgICAgbWFyZ2luOiAyMHB4IDAgMTBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgZm9ybSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgICAgIGdhcDogc21hbGwtdmFsdWUoJG11bHRpLW9wdGlvbi1sb29rdXAtcXVpY2stb3JkZXItZ2FwKTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgICAgIGdhcDogbWVkaXVtLXZhbHVlKCRtdWx0aS1vcHRpb24tbG9va3VwLXF1aWNrLW9yZGVyLWdhcCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgZ2FwOiBsYXJnZS12YWx1ZSgkbXVsdGktb3B0aW9uLWxvb2t1cC1xdWljay1vcmRlci1nYXApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5sb29rdXAtb3B0aW9uIHtcclxuICAgICAgICAgICAgICAgICYubG9va3VwLXNlYXJjaC1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5sb29rdXAtb3B0aW9uIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICYuYWRkLXRvLWJhc2tldC1jb250YWluZXIge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gTWFrZSBzdXJlIGJ1dHRvbiBhcmUgY2FwcGVkIGF0IHRoZSBzYW1lIGhlaWdodCBhIHRoZSBpbnB1dHMuXHJcbiAgICAgICAgYnV0dG9uIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiAkZmllbGRzZXQtaW5wdXQtaGVpZ2h0O1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBMZXQgdGhlIGNvbnRhaW5lcnMgZGljdGF0ZSB0aGUgd2lkdGggYW5kIGp1c3Qgc29hayB1cCB0aGUgYXZpbGFibGUgc3BhY2UuXHJcbiAgICAgICAgLmNvbnRyb2wge1xyXG4gICAgICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICAgICAgLmNvbnRyb2wtc2VsZWN0LWRyb3Bkb3duIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5mb3JtLWVycm9yIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5jb250cm9sLXNlbGVjdC1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIG1pbi13aWR0aDogdW5zZXQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLnF1YW50aXR5LXNlbGVjdG9yLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAubXVsdGktZmllbGQtcmVzcG9uc2UtY29udGFpbmVyIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG5cclxuXHJcbiIsIkBjaGFyc2V0IFwiVVRGLThcIjsvKiFcbiAqIGFuaW1hdGUuY3NzIC0gaHR0cHM6Ly9hbmltYXRlLnN0eWxlL1xuICogVmVyc2lvbiAtIDQuMS4xXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgLSBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICogQ29weXJpZ2h0IChjKSAyMDIwIEFuaW1hdGUuY3NzXG4gKi9cbjpyb290IHtcbiAgLS1hbmltYXRlLWR1cmF0aW9uOiAxcztcbiAgLS1hbmltYXRlLWRlbGF5OiAxcztcbiAgLS1hbmltYXRlLXJlcGVhdDogMTtcbn1cbi5hbmltYXRlX19hbmltYXRlZCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAxcztcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxcztcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IHZhcigtLWFuaW1hdGUtZHVyYXRpb24pO1xuICBhbmltYXRpb24tZHVyYXRpb246IHZhcigtLWFuaW1hdGUtZHVyYXRpb24pO1xuICAtd2Via2l0LWFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG4gIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG59XG4uYW5pbWF0ZV9fYW5pbWF0ZWQuYW5pbWF0ZV9faW5maW5pdGUge1xuICAtd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xuICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcbn1cbi5hbmltYXRlX19hbmltYXRlZC5hbmltYXRlX19yZXBlYXQtMSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMTtcbiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMTtcbiAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiB2YXIoLS1hbmltYXRlLXJlcGVhdCk7XG4gIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IHZhcigtLWFuaW1hdGUtcmVwZWF0KTtcbn1cbi5hbmltYXRlX19hbmltYXRlZC5hbmltYXRlX19yZXBlYXQtMiB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogY2FsYygxICogMik7XG4gIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGNhbGMoMSAqIDIpO1xuICAtd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGNhbGModmFyKC0tYW5pbWF0ZS1yZXBlYXQpICogMik7XG4gIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGNhbGModmFyKC0tYW5pbWF0ZS1yZXBlYXQpICogMik7XG59XG4uYW5pbWF0ZV9fYW5pbWF0ZWQuYW5pbWF0ZV9fcmVwZWF0LTMge1xuICAtd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGNhbGMoMSAqIDMpO1xuICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBjYWxjKDEgKiAzKTtcbiAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBjYWxjKHZhcigtLWFuaW1hdGUtcmVwZWF0KSAqIDMpO1xuICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBjYWxjKHZhcigtLWFuaW1hdGUtcmVwZWF0KSAqIDMpO1xufVxuLmFuaW1hdGVfX2FuaW1hdGVkLmFuaW1hdGVfX2RlbGF5LTFzIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IDFzO1xuICBhbmltYXRpb24tZGVsYXk6IDFzO1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogdmFyKC0tYW5pbWF0ZS1kZWxheSk7XG4gIGFuaW1hdGlvbi1kZWxheTogdmFyKC0tYW5pbWF0ZS1kZWxheSk7XG59XG4uYW5pbWF0ZV9fYW5pbWF0ZWQuYW5pbWF0ZV9fZGVsYXktMnMge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogY2FsYygxcyAqIDIpO1xuICBhbmltYXRpb24tZGVsYXk6IGNhbGMoMXMgKiAyKTtcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IGNhbGModmFyKC0tYW5pbWF0ZS1kZWxheSkgKiAyKTtcbiAgYW5pbWF0aW9uLWRlbGF5OiBjYWxjKHZhcigtLWFuaW1hdGUtZGVsYXkpICogMik7XG59XG4uYW5pbWF0ZV9fYW5pbWF0ZWQuYW5pbWF0ZV9fZGVsYXktM3Mge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogY2FsYygxcyAqIDMpO1xuICBhbmltYXRpb24tZGVsYXk6IGNhbGMoMXMgKiAzKTtcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IGNhbGModmFyKC0tYW5pbWF0ZS1kZWxheSkgKiAzKTtcbiAgYW5pbWF0aW9uLWRlbGF5OiBjYWxjKHZhcigtLWFuaW1hdGUtZGVsYXkpICogMyk7XG59XG4uYW5pbWF0ZV9fYW5pbWF0ZWQuYW5pbWF0ZV9fZGVsYXktNHMge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogY2FsYygxcyAqIDQpO1xuICBhbmltYXRpb24tZGVsYXk6IGNhbGMoMXMgKiA0KTtcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IGNhbGModmFyKC0tYW5pbWF0ZS1kZWxheSkgKiA0KTtcbiAgYW5pbWF0aW9uLWRlbGF5OiBjYWxjKHZhcigtLWFuaW1hdGUtZGVsYXkpICogNCk7XG59XG4uYW5pbWF0ZV9fYW5pbWF0ZWQuYW5pbWF0ZV9fZGVsYXktNXMge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogY2FsYygxcyAqIDUpO1xuICBhbmltYXRpb24tZGVsYXk6IGNhbGMoMXMgKiA1KTtcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IGNhbGModmFyKC0tYW5pbWF0ZS1kZWxheSkgKiA1KTtcbiAgYW5pbWF0aW9uLWRlbGF5OiBjYWxjKHZhcigtLWFuaW1hdGUtZGVsYXkpICogNSk7XG59XG4uYW5pbWF0ZV9fYW5pbWF0ZWQuYW5pbWF0ZV9fZmFzdGVyIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IGNhbGMoMXMgLyAyKTtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKDFzIC8gMik7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKHZhcigtLWFuaW1hdGUtZHVyYXRpb24pIC8gMik7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYyh2YXIoLS1hbmltYXRlLWR1cmF0aW9uKSAvIDIpO1xufVxuLmFuaW1hdGVfX2FuaW1hdGVkLmFuaW1hdGVfX2Zhc3Qge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYygxcyAqIDAuOCk7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYygxcyAqIDAuOCk7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKHZhcigtLWFuaW1hdGUtZHVyYXRpb24pICogMC44KTtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKHZhcigtLWFuaW1hdGUtZHVyYXRpb24pICogMC44KTtcbn1cbi5hbmltYXRlX19hbmltYXRlZC5hbmltYXRlX19zbG93IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IGNhbGMoMXMgKiAyKTtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKDFzICogMik7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKHZhcigtLWFuaW1hdGUtZHVyYXRpb24pICogMik7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYyh2YXIoLS1hbmltYXRlLWR1cmF0aW9uKSAqIDIpO1xufVxuLmFuaW1hdGVfX2FuaW1hdGVkLmFuaW1hdGVfX3Nsb3dlciB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKDFzICogMyk7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYygxcyAqIDMpO1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYyh2YXIoLS1hbmltYXRlLWR1cmF0aW9uKSAqIDMpO1xuICBhbmltYXRpb24tZHVyYXRpb246IGNhbGModmFyKC0tYW5pbWF0ZS1kdXJhdGlvbikgKiAzKTtcbn1cbkBtZWRpYSBwcmludCwgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAuYW5pbWF0ZV9fYW5pbWF0ZWQge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAxbXMgIWltcG9ydGFudDtcbiAgICBhbmltYXRpb24tZHVyYXRpb246IDFtcyAhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMW1zICFpbXBvcnRhbnQ7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMW1zICFpbXBvcnRhbnQ7XG4gICAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxICFpbXBvcnRhbnQ7XG4gICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmFuaW1hdGVfX2FuaW1hdGVkW2NsYXNzKj0nT3V0J10ge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbi8qIEF0dGVudGlvbiBzZWVrZXJzICAqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZSB7XG4gIGZyb20sXG4gIDIwJSxcbiAgNTMlLFxuICB0byB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIDQwJSxcbiAgNDMlIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc1NSwgMC4wNSwgMC44NTUsIDAuMDYpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc1NSwgMC4wNSwgMC44NTUsIDAuMDYpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMzBweCwgMCkgc2NhbGVZKDEuMSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMzBweCwgMCkgc2NhbGVZKDEuMSk7XG4gIH1cblxuICA3MCUge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1LCAwLjg1NSwgMC4wNik7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1LCAwLjg1NSwgMC4wNik7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xNXB4LCAwKSBzY2FsZVkoMS4wNSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTVweCwgMCkgc2NhbGVZKDEuMDUpO1xuICB9XG5cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApIHNjYWxlWSgwLjk1KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApIHNjYWxlWSgwLjk1KTtcbiAgfVxuXG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC00cHgsIDApIHNjYWxlWSgxLjAyKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC00cHgsIDApIHNjYWxlWSgxLjAyKTtcbiAgfVxufVxuQGtleWZyYW1lcyBib3VuY2Uge1xuICBmcm9tLFxuICAyMCUsXG4gIDUzJSxcbiAgdG8ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICA0MCUsXG4gIDQzJSB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUsIDAuODU1LCAwLjA2KTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUsIDAuODU1LCAwLjA2KTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwcHgsIDApIHNjYWxlWSgxLjEpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwcHgsIDApIHNjYWxlWSgxLjEpO1xuICB9XG5cbiAgNzAlIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc1NSwgMC4wNSwgMC44NTUsIDAuMDYpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc1NSwgMC4wNSwgMC44NTUsIDAuMDYpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTVweCwgMCkgc2NhbGVZKDEuMDUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTE1cHgsIDApIHNjYWxlWSgxLjA1KTtcbiAgfVxuXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKSBzY2FsZVkoMC45NSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKSBzY2FsZVkoMC45NSk7XG4gIH1cblxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNHB4LCAwKSBzY2FsZVkoMS4wMik7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNHB4LCAwKSBzY2FsZVkoMS4wMik7XG4gIH1cbn1cbi5hbmltYXRlX19ib3VuY2Uge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2U7XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2U7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBmbGFzaCB7XG4gIGZyb20sXG4gIDUwJSxcbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAyNSUsXG4gIDc1JSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuQGtleWZyYW1lcyBmbGFzaCB7XG4gIGZyb20sXG4gIDUwJSxcbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAyNSUsXG4gIDc1JSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuLmFuaW1hdGVfX2ZsYXNoIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmxhc2g7XG4gIGFuaW1hdGlvbi1uYW1lOiBmbGFzaDtcbn1cbi8qIG9yaWdpbmFsbHkgYXV0aG9yZWQgYnkgTmljayBQZXR0aXQgLSBodHRwczovL2dpdGh1Yi5jb20vbmlja3BldHRpdC9nbGlkZSAqL1xuQC13ZWJraXQta2V5ZnJhbWVzIHB1bHNlIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICB9XG5cbiAgNTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAxLjA1LCAxLjA1KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4wNSwgMS4wNSwgMS4wNSk7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHB1bHNlIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICB9XG5cbiAgNTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAxLjA1LCAxLjA1KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4wNSwgMS4wNSwgMS4wNSk7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICB9XG59XG4uYW5pbWF0ZV9fcHVsc2Uge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBwdWxzZTtcbiAgYW5pbWF0aW9uLW5hbWU6IHB1bHNlO1xuICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBydWJiZXJCYW5kIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICB9XG5cbiAgMzAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjI1LCAwLjc1LCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4yNSwgMC43NSwgMSk7XG4gIH1cblxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNzUsIDEuMjUsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjc1LCAxLjI1LCAxKTtcbiAgfVxuXG4gIDUwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xNSwgMC44NSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMTUsIDAuODUsIDEpO1xuICB9XG5cbiAgNjUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjk1LCAxLjA1LCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC45NSwgMS4wNSwgMSk7XG4gIH1cblxuICA3NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIDAuOTUsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAwLjk1LCAxKTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgcnViYmVyQmFuZCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxuXG4gIDMwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4yNSwgMC43NSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMjUsIDAuNzUsIDEpO1xuICB9XG5cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjc1LCAxLjI1LCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC43NSwgMS4yNSwgMSk7XG4gIH1cblxuICA1MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMTUsIDAuODUsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjE1LCAwLjg1LCAxKTtcbiAgfVxuXG4gIDY1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC45NSwgMS4wNSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuOTUsIDEuMDUsIDEpO1xuICB9XG5cbiAgNzUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAwLjk1LCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4wNSwgMC45NSwgMSk7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICB9XG59XG4uYW5pbWF0ZV9fcnViYmVyQmFuZCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJ1YmJlckJhbmQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBydWJiZXJCYW5kO1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIHNoYWtlWCB7XG4gIGZyb20sXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIDEwJSxcbiAgMzAlLFxuICA1MCUsXG4gIDcwJSxcbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApO1xuICB9XG5cbiAgMjAlLFxuICA0MCUsXG4gIDYwJSxcbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcbiAgfVxufVxuQGtleWZyYW1lcyBzaGFrZVgge1xuICBmcm9tLFxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICAxMCUsXG4gIDMwJSxcbiAgNTAlLFxuICA3MCUsXG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgfVxuXG4gIDIwJSxcbiAgNDAlLFxuICA2MCUsXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XG4gIH1cbn1cbi5hbmltYXRlX19zaGFrZVgge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzaGFrZVg7XG4gIGFuaW1hdGlvbi1uYW1lOiBzaGFrZVg7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgc2hha2VZIHtcbiAgZnJvbSxcbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG5cbiAgMTAlLFxuICAzMCUsXG4gIDUwJSxcbiAgNzAlLFxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCk7XG4gIH1cblxuICAyMCUsXG4gIDQwJSxcbiAgNjAlLFxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHNoYWtlWSB7XG4gIGZyb20sXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIDEwJSxcbiAgMzAlLFxuICA1MCUsXG4gIDcwJSxcbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApO1xuICB9XG5cbiAgMjAlLFxuICA0MCUsXG4gIDYwJSxcbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKTtcbiAgfVxufVxuLmFuaW1hdGVfX3NoYWtlWSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNoYWtlWTtcbiAgYW5pbWF0aW9uLW5hbWU6IHNoYWtlWTtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBoZWFkU2hha2Uge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB9XG5cbiAgNi41JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTZweCkgcm90YXRlWSgtOWRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC02cHgpIHJvdGF0ZVkoLTlkZWcpO1xuICB9XG5cbiAgMTguNSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDVweCkgcm90YXRlWSg3ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNXB4KSByb3RhdGVZKDdkZWcpO1xuICB9XG5cbiAgMzEuNSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zcHgpIHJvdGF0ZVkoLTVkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtM3B4KSByb3RhdGVZKC01ZGVnKTtcbiAgfVxuXG4gIDQzLjUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgycHgpIHJvdGF0ZVkoM2RlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDJweCkgcm90YXRlWSgzZGVnKTtcbiAgfVxuXG4gIDUwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGhlYWRTaGFrZSB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cblxuICA2LjUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNnB4KSByb3RhdGVZKC05ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTZweCkgcm90YXRlWSgtOWRlZyk7XG4gIH1cblxuICAxOC41JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNXB4KSByb3RhdGVZKDdkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg1cHgpIHJvdGF0ZVkoN2RlZyk7XG4gIH1cblxuICAzMS41JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTNweCkgcm90YXRlWSgtNWRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zcHgpIHJvdGF0ZVkoLTVkZWcpO1xuICB9XG5cbiAgNDMuNSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDJweCkgcm90YXRlWSgzZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMnB4KSByb3RhdGVZKDNkZWcpO1xuICB9XG5cbiAgNTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cbn1cbi5hbmltYXRlX19oZWFkU2hha2Uge1xuICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogaGVhZFNoYWtlO1xuICBhbmltYXRpb24tbmFtZTogaGVhZFNoYWtlO1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIHN3aW5nIHtcbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMTVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMTVkZWcpO1xuICB9XG5cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTEwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC0xMGRlZyk7XG4gIH1cblxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDVkZWcpO1xuICB9XG5cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTVkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDBkZWcpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHN3aW5nIHtcbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMTVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMTVkZWcpO1xuICB9XG5cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTEwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC0xMGRlZyk7XG4gIH1cblxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDVkZWcpO1xuICB9XG5cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTVkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDBkZWcpO1xuICB9XG59XG4uYW5pbWF0ZV9fc3dpbmcge1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHRvcCBjZW50ZXI7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBjZW50ZXI7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHN3aW5nO1xuICBhbmltYXRpb24tbmFtZTogc3dpbmc7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgdGFkYSB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxuXG4gIDEwJSxcbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjksIDAuOSwgMC45KSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuOSwgMC45LCAwLjkpIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcbiAgfVxuXG4gIDMwJSxcbiAgNTAlLFxuICA3MCUsXG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgM2RlZyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIDNkZWcpO1xuICB9XG5cbiAgNDAlLFxuICA2MCUsXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHRhZGEge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cblxuICAxMCUsXG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC45LCAwLjksIDAuOSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjksIDAuOSwgMC45KSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XG4gIH1cblxuICAzMCUsXG4gIDUwJSxcbiAgNzAlLFxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIDNkZWcpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKSByb3RhdGUzZCgwLCAwLCAxLCAzZGVnKTtcbiAgfVxuXG4gIDQwJSxcbiAgNjAlLFxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxufVxuLmFuaW1hdGVfX3RhZGEge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB0YWRhO1xuICBhbmltYXRpb24tbmFtZTogdGFkYTtcbn1cbi8qIG9yaWdpbmFsbHkgYXV0aG9yZWQgYnkgTmljayBQZXR0aXQgLSBodHRwczovL2dpdGh1Yi5jb20vbmlja3BldHRpdC9nbGlkZSAqL1xuQC13ZWJraXQta2V5ZnJhbWVzIHdvYmJsZSB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG5cbiAgMTUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTI1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTVkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTI1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTVkZWcpO1xuICB9XG5cbiAgMzAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAzZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgM2RlZyk7XG4gIH1cblxuICA0NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XG4gIH1cblxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDJkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAyZGVnKTtcbiAgfVxuXG4gIDc1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTFkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtMWRlZyk7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgd29iYmxlIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICAxNSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtNWRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtNWRlZyk7XG4gIH1cblxuICAzMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDNkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAzZGVnKTtcbiAgfVxuXG4gIDQ1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMmRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDJkZWcpO1xuICB9XG5cbiAgNzUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtMWRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xZGVnKTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuLmFuaW1hdGVfX3dvYmJsZSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHdvYmJsZTtcbiAgYW5pbWF0aW9uLW5hbWU6IHdvYmJsZTtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBqZWxsbyB7XG4gIGZyb20sXG4gIDExLjElLFxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICAyMi4yJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0xMi41ZGVnKSBza2V3WSgtMTIuNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtMTIuNWRlZykgc2tld1koLTEyLjVkZWcpO1xuICB9XG5cbiAgMzMuMyUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCg2LjI1ZGVnKSBza2V3WSg2LjI1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKDYuMjVkZWcpIHNrZXdZKDYuMjVkZWcpO1xuICB9XG5cbiAgNDQuNCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtMy4xMjVkZWcpIHNrZXdZKC0zLjEyNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtMy4xMjVkZWcpIHNrZXdZKC0zLjEyNWRlZyk7XG4gIH1cblxuICA1NS41JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDEuNTYyNWRlZykgc2tld1koMS41NjI1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKDEuNTYyNWRlZykgc2tld1koMS41NjI1ZGVnKTtcbiAgfVxuXG4gIDY2LjYlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTAuNzgxMjVkZWcpIHNrZXdZKC0wLjc4MTI1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC0wLjc4MTI1ZGVnKSBza2V3WSgtMC43ODEyNWRlZyk7XG4gIH1cblxuICA3Ny43JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDAuMzkwNjI1ZGVnKSBza2V3WSgwLjM5MDYyNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgwLjM5MDYyNWRlZykgc2tld1koMC4zOTA2MjVkZWcpO1xuICB9XG5cbiAgODguOCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtMC4xOTUzMTI1ZGVnKSBza2V3WSgtMC4xOTUzMTI1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC0wLjE5NTMxMjVkZWcpIHNrZXdZKC0wLjE5NTMxMjVkZWcpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGplbGxvIHtcbiAgZnJvbSxcbiAgMTEuMSUsXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIDIyLjIlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTEyLjVkZWcpIHNrZXdZKC0xMi41ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC0xMi41ZGVnKSBza2V3WSgtMTIuNWRlZyk7XG4gIH1cblxuICAzMy4zJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDYuMjVkZWcpIHNrZXdZKDYuMjVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goNi4yNWRlZykgc2tld1koNi4yNWRlZyk7XG4gIH1cblxuICA0NC40JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0zLjEyNWRlZykgc2tld1koLTMuMTI1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC0zLjEyNWRlZykgc2tld1koLTMuMTI1ZGVnKTtcbiAgfVxuXG4gIDU1LjUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goMS41NjI1ZGVnKSBza2V3WSgxLjU2MjVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goMS41NjI1ZGVnKSBza2V3WSgxLjU2MjVkZWcpO1xuICB9XG5cbiAgNjYuNiUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtMC43ODEyNWRlZykgc2tld1koLTAuNzgxMjVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goLTAuNzgxMjVkZWcpIHNrZXdZKC0wLjc4MTI1ZGVnKTtcbiAgfVxuXG4gIDc3LjclIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goMC4zOTA2MjVkZWcpIHNrZXdZKDAuMzkwNjI1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKDAuMzkwNjI1ZGVnKSBza2V3WSgwLjM5MDYyNWRlZyk7XG4gIH1cblxuICA4OC44JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0wLjE5NTMxMjVkZWcpIHNrZXdZKC0wLjE5NTMxMjVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goLTAuMTk1MzEyNWRlZykgc2tld1koLTAuMTk1MzEyNWRlZyk7XG4gIH1cbn1cbi5hbmltYXRlX19qZWxsbyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGplbGxvO1xuICBhbmltYXRpb24tbmFtZTogamVsbG87XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgaGVhcnRCZWF0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG5cbiAgMTQlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4zKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMyk7XG4gIH1cblxuICAyOCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG5cbiAgNDIlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4zKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMyk7XG4gIH1cblxuICA3MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGhlYXJ0QmVhdCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgfVxuXG4gIDE0JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjMpO1xuICB9XG5cbiAgMjglIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgfVxuXG4gIDQyJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjMpO1xuICB9XG5cbiAgNzAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgfVxufVxuLmFuaW1hdGVfX2hlYXJ0QmVhdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGhlYXJ0QmVhdDtcbiAgYW5pbWF0aW9uLW5hbWU6IGhlYXJ0QmVhdDtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IGNhbGMoMXMgKiAxLjMpO1xuICBhbmltYXRpb24tZHVyYXRpb246IGNhbGMoMXMgKiAxLjMpO1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYyh2YXIoLS1hbmltYXRlLWR1cmF0aW9uKSAqIDEuMyk7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYyh2YXIoLS1hbmltYXRlLWR1cmF0aW9uKSAqIDEuMyk7XG4gIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xufVxuLyogQmFjayBlbnRyYW5jZXMgKi9cbkAtd2Via2l0LWtleWZyYW1lcyBiYWNrSW5Eb3duIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMjAwcHgpIHNjYWxlKDAuNyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMjAwcHgpIHNjYWxlKDAuNyk7XG4gICAgb3BhY2l0eTogMC43O1xuICB9XG5cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpIHNjYWxlKDAuNyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCkgc2NhbGUoMC43KTtcbiAgICBvcGFjaXR5OiAwLjc7XG4gIH1cblxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGJhY2tJbkRvd24ge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEyMDBweCkgc2NhbGUoMC43KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEyMDBweCkgc2NhbGUoMC43KTtcbiAgICBvcGFjaXR5OiAwLjc7XG4gIH1cblxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCkgc2NhbGUoMC43KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KSBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuNztcbiAgfVxuXG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cbi5hbmltYXRlX19iYWNrSW5Eb3duIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYmFja0luRG93bjtcbiAgYW5pbWF0aW9uLW5hbWU6IGJhY2tJbkRvd247XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgYmFja0luTGVmdCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwMHB4KSBzY2FsZSgwLjcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwMHB4KSBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuNztcbiAgfVxuXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KSBzY2FsZSgwLjcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpIHNjYWxlKDAuNyk7XG4gICAgb3BhY2l0eTogMC43O1xuICB9XG5cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuQGtleWZyYW1lcyBiYWNrSW5MZWZ0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpIHNjYWxlKDAuNyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpIHNjYWxlKDAuNyk7XG4gICAgb3BhY2l0eTogMC43O1xuICB9XG5cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpIHNjYWxlKDAuNyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCkgc2NhbGUoMC43KTtcbiAgICBvcGFjaXR5OiAwLjc7XG4gIH1cblxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG4uYW5pbWF0ZV9fYmFja0luTGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJhY2tJbkxlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBiYWNrSW5MZWZ0O1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGJhY2tJblJpZ2h0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCkgc2NhbGUoMC43KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAwMHB4KSBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuNztcbiAgfVxuXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KSBzY2FsZSgwLjcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpIHNjYWxlKDAuNyk7XG4gICAgb3BhY2l0eTogMC43O1xuICB9XG5cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuQGtleWZyYW1lcyBiYWNrSW5SaWdodCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpIHNjYWxlKDAuNyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCkgc2NhbGUoMC43KTtcbiAgICBvcGFjaXR5OiAwLjc7XG4gIH1cblxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCkgc2NhbGUoMC43KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KSBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuNztcbiAgfVxuXG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cbi5hbmltYXRlX19iYWNrSW5SaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJhY2tJblJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogYmFja0luUmlnaHQ7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgYmFja0luVXAge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTIwMHB4KSBzY2FsZSgwLjcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMjAwcHgpIHNjYWxlKDAuNyk7XG4gICAgb3BhY2l0eTogMC43O1xuICB9XG5cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpIHNjYWxlKDAuNyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCkgc2NhbGUoMC43KTtcbiAgICBvcGFjaXR5OiAwLjc7XG4gIH1cblxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGJhY2tJblVwIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEyMDBweCkgc2NhbGUoMC43KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTIwMHB4KSBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuNztcbiAgfVxuXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KSBzY2FsZSgwLjcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpIHNjYWxlKDAuNyk7XG4gICAgb3BhY2l0eTogMC43O1xuICB9XG5cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuLmFuaW1hdGVfX2JhY2tJblVwIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYmFja0luVXA7XG4gIGFuaW1hdGlvbi1uYW1lOiBiYWNrSW5VcDtcbn1cbi8qIEJhY2sgZXhpdHMgKi9cbkAtd2Via2l0LWtleWZyYW1lcyBiYWNrT3V0RG93biB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpIHNjYWxlKDAuNyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCkgc2NhbGUoMC43KTtcbiAgICBvcGFjaXR5OiAwLjc7XG4gIH1cblxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg3MDBweCkgc2NhbGUoMC43KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNzAwcHgpIHNjYWxlKDAuNyk7XG4gICAgb3BhY2l0eTogMC43O1xuICB9XG59XG5Aa2V5ZnJhbWVzIGJhY2tPdXREb3duIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCkgc2NhbGUoMC43KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KSBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuNztcbiAgfVxuXG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDcwMHB4KSBzY2FsZSgwLjcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg3MDBweCkgc2NhbGUoMC43KTtcbiAgICBvcGFjaXR5OiAwLjc7XG4gIH1cbn1cbi5hbmltYXRlX19iYWNrT3V0RG93biB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJhY2tPdXREb3duO1xuICBhbmltYXRpb24tbmFtZTogYmFja091dERvd247XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgYmFja091dExlZnQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KSBzY2FsZSgwLjcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpIHNjYWxlKDAuNyk7XG4gICAgb3BhY2l0eTogMC43O1xuICB9XG5cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMDBweCkgc2NhbGUoMC43KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMDBweCkgc2NhbGUoMC43KTtcbiAgICBvcGFjaXR5OiAwLjc7XG4gIH1cbn1cbkBrZXlmcmFtZXMgYmFja091dExlZnQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KSBzY2FsZSgwLjcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpIHNjYWxlKDAuNyk7XG4gICAgb3BhY2l0eTogMC43O1xuICB9XG5cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMDBweCkgc2NhbGUoMC43KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMDBweCkgc2NhbGUoMC43KTtcbiAgICBvcGFjaXR5OiAwLjc7XG4gIH1cbn1cbi5hbmltYXRlX19iYWNrT3V0TGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJhY2tPdXRMZWZ0O1xuICBhbmltYXRpb24tbmFtZTogYmFja091dExlZnQ7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgYmFja091dFJpZ2h0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCkgc2NhbGUoMC43KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KSBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuNztcbiAgfVxuXG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCkgc2NhbGUoMC43KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAwMHB4KSBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuNztcbiAgfVxufVxuQGtleWZyYW1lcyBiYWNrT3V0UmlnaHQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KSBzY2FsZSgwLjcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpIHNjYWxlKDAuNyk7XG4gICAgb3BhY2l0eTogMC43O1xuICB9XG5cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAwMHB4KSBzY2FsZSgwLjcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpIHNjYWxlKDAuNyk7XG4gICAgb3BhY2l0eTogMC43O1xuICB9XG59XG4uYW5pbWF0ZV9fYmFja091dFJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYmFja091dFJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogYmFja091dFJpZ2h0O1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGJhY2tPdXRVcCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpIHNjYWxlKDAuNyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCkgc2NhbGUoMC43KTtcbiAgICBvcGFjaXR5OiAwLjc7XG4gIH1cblxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNzAwcHgpIHNjYWxlKDAuNyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC03MDBweCkgc2NhbGUoMC43KTtcbiAgICBvcGFjaXR5OiAwLjc7XG4gIH1cbn1cbkBrZXlmcmFtZXMgYmFja091dFVwIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCkgc2NhbGUoMC43KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KSBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuNztcbiAgfVxuXG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC03MDBweCkgc2NhbGUoMC43KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTcwMHB4KSBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuNztcbiAgfVxufVxuLmFuaW1hdGVfX2JhY2tPdXRVcCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJhY2tPdXRVcDtcbiAgYW5pbWF0aW9uLW5hbWU6IGJhY2tPdXRVcDtcbn1cbi8qIEJvdW5jaW5nIGVudHJhbmNlcyAgKi9cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VJbiB7XG4gIGZyb20sXG4gIDIwJSxcbiAgNDAlLFxuICA2MCUsXG4gIDgwJSxcbiAgdG8ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gIH1cblxuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjMsIDAuMywgMC4zKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4zLCAwLjMsIDAuMyk7XG4gIH1cblxuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKTtcbiAgfVxuXG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC45LCAwLjksIDAuOSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuOSwgMC45LCAwLjkpO1xuICB9XG5cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDMsIDEuMDMsIDEuMDMpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjAzLCAxLjAzLCAxLjAzKTtcbiAgfVxuXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC45NywgMC45NywgMC45Nyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuOTcsIDAuOTcsIDAuOTcpO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGJvdW5jZUluIHtcbiAgZnJvbSxcbiAgMjAlLFxuICA0MCUsXG4gIDYwJSxcbiAgODAlLFxuICB0byB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgfVxuXG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMywgMC4zLCAwLjMpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjMsIDAuMywgMC4zKTtcbiAgfVxuXG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpO1xuICB9XG5cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjksIDAuOSwgMC45KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC45LCAwLjksIDAuOSk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4wMywgMS4wMywgMS4wMyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDMsIDEuMDMsIDEuMDMpO1xuICB9XG5cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjk3LCAwLjk3LCAwLjk3KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC45NywgMC45NywgMC45Nyk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cbn1cbi5hbmltYXRlX19ib3VuY2VJbiB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKDFzICogMC43NSk7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYygxcyAqIDAuNzUpO1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYyh2YXIoLS1hbmltYXRlLWR1cmF0aW9uKSAqIDAuNzUpO1xuICBhbmltYXRpb24tZHVyYXRpb246IGNhbGModmFyKC0tYW5pbWF0ZS1kdXJhdGlvbikgKiAwLjc1KTtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlSW47XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbjtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VJbkRvd24ge1xuICBmcm9tLFxuICA2MCUsXG4gIDc1JSxcbiAgOTAlLFxuICB0byB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgfVxuXG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMzAwMHB4LCAwKSBzY2FsZVkoMyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMzAwMHB4LCAwKSBzY2FsZVkoMyk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDI1cHgsIDApIHNjYWxlWSgwLjkpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjVweCwgMCkgc2NhbGVZKDAuOSk7XG4gIH1cblxuICA3NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCkgc2NhbGVZKDAuOTUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApIHNjYWxlWSgwLjk1KTtcbiAgfVxuXG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDVweCwgMCkgc2NhbGVZKDAuOTg1KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDVweCwgMCkgc2NhbGVZKDAuOTg1KTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuQGtleWZyYW1lcyBib3VuY2VJbkRvd24ge1xuICBmcm9tLFxuICA2MCUsXG4gIDc1JSxcbiAgOTAlLFxuICB0byB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgfVxuXG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMzAwMHB4LCAwKSBzY2FsZVkoMyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMzAwMHB4LCAwKSBzY2FsZVkoMyk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDI1cHgsIDApIHNjYWxlWSgwLjkpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjVweCwgMCkgc2NhbGVZKDAuOSk7XG4gIH1cblxuICA3NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCkgc2NhbGVZKDAuOTUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApIHNjYWxlWSgwLjk1KTtcbiAgfVxuXG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDVweCwgMCkgc2NhbGVZKDAuOTg1KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDVweCwgMCkgc2NhbGVZKDAuOTg1KTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuLmFuaW1hdGVfX2JvdW5jZUluRG93biB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluRG93bjtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluRG93bjtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VJbkxlZnQge1xuICBmcm9tLFxuICA2MCUsXG4gIDc1JSxcbiAgOTAlLFxuICB0byB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgfVxuXG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMzAwMHB4LCAwLCAwKSBzY2FsZVgoMyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMzAwMHB4LCAwLCAwKSBzY2FsZVgoMyk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDI1cHgsIDAsIDApIHNjYWxlWCgxKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDI1cHgsIDAsIDApIHNjYWxlWCgxKTtcbiAgfVxuXG4gIDc1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKSBzY2FsZVgoMC45OCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCkgc2NhbGVYKDAuOTgpO1xuICB9XG5cbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoNXB4LCAwLCAwKSBzY2FsZVgoMC45OTUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoNXB4LCAwLCAwKSBzY2FsZVgoMC45OTUpO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGJvdW5jZUluTGVmdCB7XG4gIGZyb20sXG4gIDYwJSxcbiAgNzUlLFxuICA5MCUsXG4gIHRvIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICB9XG5cbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0zMDAwcHgsIDAsIDApIHNjYWxlWCgzKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0zMDAwcHgsIDAsIDApIHNjYWxlWCgzKTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjVweCwgMCwgMCkgc2NhbGVYKDEpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjVweCwgMCwgMCkgc2NhbGVYKDEpO1xuICB9XG5cbiAgNzUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApIHNjYWxlWCgwLjk4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKSBzY2FsZVgoMC45OCk7XG4gIH1cblxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg1cHgsIDAsIDApIHNjYWxlWCgwLjk5NSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg1cHgsIDAsIDApIHNjYWxlWCgwLjk5NSk7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cbi5hbmltYXRlX19ib3VuY2VJbkxlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbkxlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbkxlZnQ7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlSW5SaWdodCB7XG4gIGZyb20sXG4gIDYwJSxcbiAgNzUlLFxuICA5MCUsXG4gIHRvIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICB9XG5cbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMzAwMHB4LCAwLCAwKSBzY2FsZVgoMyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgzMDAwcHgsIDAsIDApIHNjYWxlWCgzKTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTI1cHgsIDAsIDApIHNjYWxlWCgxKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNXB4LCAwLCAwKSBzY2FsZVgoMSk7XG4gIH1cblxuICA3NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKSBzY2FsZVgoMC45OCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKSBzY2FsZVgoMC45OCk7XG4gIH1cblxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNXB4LCAwLCAwKSBzY2FsZVgoMC45OTUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTVweCwgMCwgMCkgc2NhbGVYKDAuOTk1KTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuQGtleWZyYW1lcyBib3VuY2VJblJpZ2h0IHtcbiAgZnJvbSxcbiAgNjAlLFxuICA3NSUsXG4gIDkwJSxcbiAgdG8ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gIH1cblxuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgzMDAwcHgsIDAsIDApIHNjYWxlWCgzKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDMwMDBweCwgMCwgMCkgc2NhbGVYKDMpO1xuICB9XG5cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjVweCwgMCwgMCkgc2NhbGVYKDEpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTI1cHgsIDAsIDApIHNjYWxlWCgxKTtcbiAgfVxuXG4gIDc1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApIHNjYWxlWCgwLjk4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApIHNjYWxlWCgwLjk4KTtcbiAgfVxuXG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01cHgsIDAsIDApIHNjYWxlWCgwLjk5NSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNXB4LCAwLCAwKSBzY2FsZVgoMC45OTUpO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG4uYW5pbWF0ZV9fYm91bmNlSW5SaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluUmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VJblJpZ2h0O1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZUluVXAge1xuICBmcm9tLFxuICA2MCUsXG4gIDc1JSxcbiAgOTAlLFxuICB0byB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgfVxuXG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDMwMDBweCwgMCkgc2NhbGVZKDUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMzAwMHB4LCAwKSBzY2FsZVkoNSk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKSBzY2FsZVkoMC45KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKSBzY2FsZVkoMC45KTtcbiAgfVxuXG4gIDc1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApIHNjYWxlWSgwLjk1KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApIHNjYWxlWSgwLjk1KTtcbiAgfVxuXG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01cHgsIDApIHNjYWxlWSgwLjk4NSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNXB4LCAwKSBzY2FsZVkoMC45ODUpO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGJvdW5jZUluVXAge1xuICBmcm9tLFxuICA2MCUsXG4gIDc1JSxcbiAgOTAlLFxuICB0byB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgfVxuXG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDMwMDBweCwgMCkgc2NhbGVZKDUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMzAwMHB4LCAwKSBzY2FsZVkoNSk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKSBzY2FsZVkoMC45KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKSBzY2FsZVkoMC45KTtcbiAgfVxuXG4gIDc1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApIHNjYWxlWSgwLjk1KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApIHNjYWxlWSgwLjk1KTtcbiAgfVxuXG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01cHgsIDApIHNjYWxlWSgwLjk4NSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNXB4LCAwKSBzY2FsZVkoMC45ODUpO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG4uYW5pbWF0ZV9fYm91bmNlSW5VcCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluVXA7XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VJblVwO1xufVxuLyogQm91bmNpbmcgZXhpdHMgICovXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlT3V0IHtcbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjksIDAuOSwgMC45KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC45LCAwLjksIDAuOSk7XG4gIH1cblxuICA1MCUsXG4gIDU1JSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjMsIDAuMywgMC4zKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4zLCAwLjMsIDAuMyk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgYm91bmNlT3V0IHtcbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjksIDAuOSwgMC45KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC45LCAwLjksIDAuOSk7XG4gIH1cblxuICA1MCUsXG4gIDU1JSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjMsIDAuMywgMC4zKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4zLCAwLjMsIDAuMyk7XG4gIH1cbn1cbi5hbmltYXRlX19ib3VuY2VPdXQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYygxcyAqIDAuNzUpO1xuICBhbmltYXRpb24tZHVyYXRpb246IGNhbGMoMXMgKiAwLjc1KTtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IGNhbGModmFyKC0tYW5pbWF0ZS1kdXJhdGlvbikgKiAwLjc1KTtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKHZhcigtLWFuaW1hdGUtZHVyYXRpb24pICogMC43NSk7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dDtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dDtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VPdXREb3duIHtcbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCkgc2NhbGVZKDAuOTg1KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApIHNjYWxlWSgwLjk4NSk7XG4gIH1cblxuICA0MCUsXG4gIDQ1JSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApIHNjYWxlWSgwLjkpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApIHNjYWxlWSgwLjkpO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCkgc2NhbGVZKDMpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKSBzY2FsZVkoMyk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgYm91bmNlT3V0RG93biB7XG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApIHNjYWxlWSgwLjk4NSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKSBzY2FsZVkoMC45ODUpO1xuICB9XG5cbiAgNDAlLFxuICA0NSUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKSBzY2FsZVkoMC45KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKSBzY2FsZVkoMC45KTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApIHNjYWxlWSgzKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCkgc2NhbGVZKDMpO1xuICB9XG59XG4uYW5pbWF0ZV9fYm91bmNlT3V0RG93biB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dERvd247XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXREb3duO1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZU91dExlZnQge1xuICAyMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwcHgsIDAsIDApIHNjYWxlWCgwLjkpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjBweCwgMCwgMCkgc2NhbGVYKDAuOSk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCkgc2NhbGVYKDIpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCkgc2NhbGVYKDIpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGJvdW5jZU91dExlZnQge1xuICAyMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwcHgsIDAsIDApIHNjYWxlWCgwLjkpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjBweCwgMCwgMCkgc2NhbGVYKDAuOSk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCkgc2NhbGVYKDIpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCkgc2NhbGVYKDIpO1xuICB9XG59XG4uYW5pbWF0ZV9fYm91bmNlT3V0TGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dExlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXRMZWZ0O1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZU91dFJpZ2h0IHtcbiAgMjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjBweCwgMCwgMCkgc2NhbGVYKDAuOSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjBweCwgMCwgMCkgc2NhbGVYKDAuOSk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKSBzY2FsZVgoMik7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApIHNjYWxlWCgyKTtcbiAgfVxufVxuQGtleWZyYW1lcyBib3VuY2VPdXRSaWdodCB7XG4gIDIwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwcHgsIDAsIDApIHNjYWxlWCgwLjkpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwcHgsIDAsIDApIHNjYWxlWCgwLjkpO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCkgc2NhbGVYKDIpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKSBzY2FsZVgoMik7XG4gIH1cbn1cbi5hbmltYXRlX19ib3VuY2VPdXRSaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dFJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlT3V0UmlnaHQ7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlT3V0VXAge1xuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCkgc2NhbGVZKDAuOTg1KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKSBzY2FsZVkoMC45ODUpO1xuICB9XG5cbiAgNDAlLFxuICA0NSUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwcHgsIDApIHNjYWxlWSgwLjkpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjBweCwgMCkgc2NhbGVZKDAuOSk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCkgc2NhbGVZKDMpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCkgc2NhbGVZKDMpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGJvdW5jZU91dFVwIHtcbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApIHNjYWxlWSgwLjk4NSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCkgc2NhbGVZKDAuOTg1KTtcbiAgfVxuXG4gIDQwJSxcbiAgNDUlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMHB4LCAwKSBzY2FsZVkoMC45KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwcHgsIDApIHNjYWxlWSgwLjkpO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApIHNjYWxlWSgzKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApIHNjYWxlWSgzKTtcbiAgfVxufVxuLmFuaW1hdGVfX2JvdW5jZU91dFVwIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlT3V0VXA7XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXRVcDtcbn1cbi8qIEZhZGluZyBlbnRyYW5jZXMgICovXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGZhZGVJbiB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuLmFuaW1hdGVfX2ZhZGVJbiB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJbjtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbjtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5Eb3duIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmFkZUluRG93biB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG4uYW5pbWF0ZV9fZmFkZUluRG93biB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkRvd247XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Eb3duO1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbkRvd25CaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmFkZUluRG93bkJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuLmFuaW1hdGVfX2ZhZGVJbkRvd25CaWcge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Eb3duQmlnO1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluRG93bkJpZztcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5MZWZ0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmFkZUluTGVmdCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG4uYW5pbWF0ZV9fZmFkZUluTGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkxlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5MZWZ0O1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbkxlZnRCaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmFkZUluTGVmdEJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuLmFuaW1hdGVfX2ZhZGVJbkxlZnRCaWcge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5MZWZ0QmlnO1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluTGVmdEJpZztcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5SaWdodCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuQGtleWZyYW1lcyBmYWRlSW5SaWdodCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuLmFuaW1hdGVfX2ZhZGVJblJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluUmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5SaWdodDtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5SaWdodEJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmFkZUluUmlnaHRCaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG4uYW5pbWF0ZV9fZmFkZUluUmlnaHRCaWcge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5SaWdodEJpZztcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJblJpZ2h0QmlnO1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJblVwIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGZhZGVJblVwIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG4uYW5pbWF0ZV9fZmFkZUluVXAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5VcDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJblVwO1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJblVwQmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuQGtleWZyYW1lcyBmYWRlSW5VcEJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cbi5hbmltYXRlX19mYWRlSW5VcEJpZyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJblVwQmlnO1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluVXBCaWc7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluVG9wTGVmdCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAtMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgLTEwMCUsIDApO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGZhZGVJblRvcExlZnQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgLTEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIC0xMDAlLCAwKTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuLmFuaW1hdGVfX2ZhZGVJblRvcExlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Ub3BMZWZ0O1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluVG9wTGVmdDtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5Ub3BSaWdodCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIC0xMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIC0xMDAlLCAwKTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuQGtleWZyYW1lcyBmYWRlSW5Ub3BSaWdodCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIC0xMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIC0xMDAlLCAwKTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuLmFuaW1hdGVfX2ZhZGVJblRvcFJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluVG9wUmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Ub3BSaWdodDtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5Cb3R0b21MZWZ0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDEwMCUsIDApO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGZhZGVJbkJvdHRvbUxlZnQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMTAwJSwgMCk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cbi5hbmltYXRlX19mYWRlSW5Cb3R0b21MZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluQm90dG9tTGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkJvdHRvbUxlZnQ7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluQm90dG9tUmlnaHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAxMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDEwMCUsIDApO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGZhZGVJbkJvdHRvbVJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAxMDAlLCAwKTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuLmFuaW1hdGVfX2ZhZGVJbkJvdHRvbVJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluQm90dG9tUmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Cb3R0b21SaWdodDtcbn1cbi8qIEZhZGluZyBleGl0cyAqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmFkZU91dCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuLmFuaW1hdGVfX2ZhZGVPdXQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0O1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dDtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0RG93biB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgfVxufVxuQGtleWZyYW1lcyBmYWRlT3V0RG93biB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgfVxufVxuLmFuaW1hdGVfX2ZhZGVPdXREb3duIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dERvd247XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0RG93bjtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0RG93bkJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmFkZU91dERvd25CaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICB9XG59XG4uYW5pbWF0ZV9fZmFkZU91dERvd25CaWcge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0RG93bkJpZztcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXREb3duQmlnO1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRMZWZ0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmFkZU91dExlZnQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgfVxufVxuLmFuaW1hdGVfX2ZhZGVPdXRMZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dExlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0TGVmdDtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0TGVmdEJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgfVxufVxuQGtleWZyYW1lcyBmYWRlT3V0TGVmdEJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgfVxufVxuLmFuaW1hdGVfX2ZhZGVPdXRMZWZ0QmlnIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dExlZnRCaWc7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0TGVmdEJpZztcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0UmlnaHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmFkZU91dFJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICB9XG59XG4uYW5pbWF0ZV9fZmFkZU91dFJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dFJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dFJpZ2h0O1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRSaWdodEJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmFkZU91dFJpZ2h0QmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgfVxufVxuLmFuaW1hdGVfX2ZhZGVPdXRSaWdodEJpZyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRSaWdodEJpZztcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRSaWdodEJpZztcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0VXAge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgfVxufVxuQGtleWZyYW1lcyBmYWRlT3V0VXAge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgfVxufVxuLmFuaW1hdGVfX2ZhZGVPdXRVcCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRVcDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRVcDtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0VXBCaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmFkZU91dFVwQmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICB9XG59XG4uYW5pbWF0ZV9fZmFkZU91dFVwQmlnIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dFVwQmlnO1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dFVwQmlnO1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRUb3BMZWZ0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIC0xMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAtMTAwJSwgMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmFkZU91dFRvcExlZnQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgLTEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIC0xMDAlLCAwKTtcbiAgfVxufVxuLmFuaW1hdGVfX2ZhZGVPdXRUb3BMZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dFRvcExlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0VG9wTGVmdDtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0VG9wUmlnaHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAtMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAtMTAwJSwgMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmFkZU91dFRvcFJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgLTEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgLTEwMCUsIDApO1xuICB9XG59XG4uYW5pbWF0ZV9fZmFkZU91dFRvcFJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dFRvcFJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dFRvcFJpZ2h0O1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRCb3R0b21SaWdodCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMTAwJSwgMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmFkZU91dEJvdHRvbVJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAxMDAlLCAwKTtcbiAgfVxufVxuLmFuaW1hdGVfX2ZhZGVPdXRCb3R0b21SaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRCb3R0b21SaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRCb3R0b21SaWdodDtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0Qm90dG9tTGVmdCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAxMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAxMDAlLCAwKTtcbiAgfVxufVxuQGtleWZyYW1lcyBmYWRlT3V0Qm90dG9tTGVmdCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAxMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAxMDAlLCAwKTtcbiAgfVxufVxuLmFuaW1hdGVfX2ZhZGVPdXRCb3R0b21MZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dEJvdHRvbUxlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0Qm90dG9tTGVmdDtcbn1cbi8qIEZsaXBwZXJzICovXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmxpcCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgxLCAxLCAxKSB0cmFuc2xhdGUzZCgwLCAwLCAwKSByb3RhdGUzZCgwLCAxLCAwLCAtMzYwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKDEsIDEsIDEpIHRyYW5zbGF0ZTNkKDAsIDAsIDApIHJvdGF0ZTNkKDAsIDEsIDAsIC0zNjBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIH1cblxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgxLCAxLCAxKSB0cmFuc2xhdGUzZCgwLCAwLCAxNTBweClcbiAgICAgIHJvdGF0ZTNkKDAsIDEsIDAsIC0xOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoMSwgMSwgMSkgdHJhbnNsYXRlM2QoMCwgMCwgMTUwcHgpXG4gICAgICByb3RhdGUzZCgwLCAxLCAwLCAtMTkwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICB9XG5cbiAgNTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoMSwgMSwgMSkgdHJhbnNsYXRlM2QoMCwgMCwgMTUwcHgpXG4gICAgICByb3RhdGUzZCgwLCAxLCAwLCAtMTcwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKDEsIDEsIDEpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KVxuICAgICAgcm90YXRlM2QoMCwgMSwgMCwgLTE3MGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gIH1cblxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgwLjk1LCAwLjk1LCAwLjk1KSB0cmFuc2xhdGUzZCgwLCAwLCAwKVxuICAgICAgcm90YXRlM2QoMCwgMSwgMCwgMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgwLjk1LCAwLjk1LCAwLjk1KSB0cmFuc2xhdGUzZCgwLCAwLCAwKVxuICAgICAgcm90YXRlM2QoMCwgMSwgMCwgMGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKDEsIDEsIDEpIHRyYW5zbGF0ZTNkKDAsIDAsIDApIHJvdGF0ZTNkKDAsIDEsIDAsIDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoMSwgMSwgMSkgdHJhbnNsYXRlM2QoMCwgMCwgMCkgcm90YXRlM2QoMCwgMSwgMCwgMGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmxpcCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgxLCAxLCAxKSB0cmFuc2xhdGUzZCgwLCAwLCAwKSByb3RhdGUzZCgwLCAxLCAwLCAtMzYwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKDEsIDEsIDEpIHRyYW5zbGF0ZTNkKDAsIDAsIDApIHJvdGF0ZTNkKDAsIDEsIDAsIC0zNjBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIH1cblxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgxLCAxLCAxKSB0cmFuc2xhdGUzZCgwLCAwLCAxNTBweClcbiAgICAgIHJvdGF0ZTNkKDAsIDEsIDAsIC0xOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoMSwgMSwgMSkgdHJhbnNsYXRlM2QoMCwgMCwgMTUwcHgpXG4gICAgICByb3RhdGUzZCgwLCAxLCAwLCAtMTkwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICB9XG5cbiAgNTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoMSwgMSwgMSkgdHJhbnNsYXRlM2QoMCwgMCwgMTUwcHgpXG4gICAgICByb3RhdGUzZCgwLCAxLCAwLCAtMTcwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKDEsIDEsIDEpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KVxuICAgICAgcm90YXRlM2QoMCwgMSwgMCwgLTE3MGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gIH1cblxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgwLjk1LCAwLjk1LCAwLjk1KSB0cmFuc2xhdGUzZCgwLCAwLCAwKVxuICAgICAgcm90YXRlM2QoMCwgMSwgMCwgMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgwLjk1LCAwLjk1LCAwLjk1KSB0cmFuc2xhdGUzZCgwLCAwLCAwKVxuICAgICAgcm90YXRlM2QoMCwgMSwgMCwgMGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKDEsIDEsIDEpIHRyYW5zbGF0ZTNkKDAsIDAsIDApIHJvdGF0ZTNkKDAsIDEsIDAsIDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoMSwgMSwgMSkgdHJhbnNsYXRlM2QoMCwgMCwgMCkgcm90YXRlM2QoMCwgMSwgMCwgMGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gIH1cbn1cbi5hbmltYXRlX19hbmltYXRlZC5hbmltYXRlX19mbGlwIHtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmbGlwO1xuICBhbmltYXRpb24tbmFtZTogZmxpcDtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBmbGlwSW5YIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCA5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgOTBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtMjBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICB9XG5cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDEwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAxMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTVkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmxpcEluWCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDkwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC0yMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTIwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgfVxuXG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAxMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgMTBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTVkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC01ZGVnKTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICB9XG59XG4uYW5pbWF0ZV9fZmxpcEluWCB7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZsaXBJblg7XG4gIGFuaW1hdGlvbi1uYW1lOiBmbGlwSW5YO1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGZsaXBJblkge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCA5MGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0yMGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gIH1cblxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgMTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDEwZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC01ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtNWRlZyk7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgfVxufVxuQGtleWZyYW1lcyBmbGlwSW5ZIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCA5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgOTBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMjBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICB9XG5cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDEwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAxMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTVkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gIH1cbn1cbi5hbmltYXRlX19mbGlwSW5ZIHtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmxpcEluWTtcbiAgYW5pbWF0aW9uLW5hbWU6IGZsaXBJblk7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgZmxpcE91dFgge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICB9XG5cbiAgMzAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC0yMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTIwZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGZsaXBPdXRYIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgfVxuXG4gIDMwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtMjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC0yMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCA5MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuLmFuaW1hdGVfX2ZsaXBPdXRYIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IGNhbGMoMXMgKiAwLjc1KTtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKDFzICogMC43NSk7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKHZhcigtLWFuaW1hdGUtZHVyYXRpb24pICogMC43NSk7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYyh2YXIoLS1hbmltYXRlLWR1cmF0aW9uKSAqIDAuNzUpO1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmbGlwT3V0WDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZsaXBPdXRYO1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGZsaXBPdXRZIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgfVxuXG4gIDMwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTVkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xNWRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCA5MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuQGtleWZyYW1lcyBmbGlwT3V0WSB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gIH1cblxuICAzMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTVkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCA5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbi5hbmltYXRlX19mbGlwT3V0WSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKDFzICogMC43NSk7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYygxcyAqIDAuNzUpO1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYyh2YXIoLS1hbmltYXRlLWR1cmF0aW9uKSAqIDAuNzUpO1xuICBhbmltYXRpb24tZHVyYXRpb246IGNhbGModmFyKC0tYW5pbWF0ZS1kdXJhdGlvbikgKiAwLjc1KTtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmxpcE91dFk7XG4gIGFuaW1hdGlvbi1uYW1lOiBmbGlwT3V0WTtcbn1cbi8qIExpZ2h0c3BlZWQgKi9cbkAtd2Via2l0LWtleWZyYW1lcyBsaWdodFNwZWVkSW5SaWdodCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSBza2V3WCgtMzBkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goLTMwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goMjBkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goMjBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtNWRlZyk7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgbGlnaHRTcGVlZEluUmlnaHQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goLTMwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHNrZXdYKC0zMGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKDIwZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goLTVkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG4uYW5pbWF0ZV9fbGlnaHRTcGVlZEluUmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBsaWdodFNwZWVkSW5SaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRJblJpZ2h0O1xuICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBsaWdodFNwZWVkSW5MZWZ0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKSBza2V3WCgzMGRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCkgc2tld1goMzBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtMjBkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goLTIwZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCg1ZGVnKTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuQGtleWZyYW1lcyBsaWdodFNwZWVkSW5MZWZ0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKSBza2V3WCgzMGRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCkgc2tld1goMzBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtMjBkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goLTIwZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCg1ZGVnKTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuLmFuaW1hdGVfX2xpZ2h0U3BlZWRJbkxlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBsaWdodFNwZWVkSW5MZWZ0O1xuICBhbmltYXRpb24tbmFtZTogbGlnaHRTcGVlZEluTGVmdDtcbiAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgbGlnaHRTcGVlZE91dFJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goMzBkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goMzBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbkBrZXlmcmFtZXMgbGlnaHRTcGVlZE91dFJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goMzBkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goMzBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbi5hbmltYXRlX19saWdodFNwZWVkT3V0UmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBsaWdodFNwZWVkT3V0UmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBsaWdodFNwZWVkT3V0UmlnaHQ7XG4gIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBsaWdodFNwZWVkT3V0TGVmdCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKSBza2V3WCgtMzBkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApIHNrZXdYKC0zMGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuQGtleWZyYW1lcyBsaWdodFNwZWVkT3V0TGVmdCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKSBza2V3WCgtMzBkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApIHNrZXdYKC0zMGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuLmFuaW1hdGVfX2xpZ2h0U3BlZWRPdXRMZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogbGlnaHRTcGVlZE91dExlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBsaWdodFNwZWVkT3V0TGVmdDtcbiAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xufVxuLyogUm90YXRpbmcgZW50cmFuY2VzICovXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlSW4ge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTIwMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtMjAwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cbkBrZXlmcmFtZXMgcm90YXRlSW4ge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTIwMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtMjAwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cbi5hbmltYXRlX19yb3RhdGVJbiB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluO1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlSW47XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlSW5Eb3duTGVmdCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cbkBrZXlmcmFtZXMgcm90YXRlSW5Eb3duTGVmdCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cbi5hbmltYXRlX19yb3RhdGVJbkRvd25MZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlSW5Eb3duTGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluRG93bkxlZnQ7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZUluRG93blJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cbkBrZXlmcmFtZXMgcm90YXRlSW5Eb3duUmlnaHQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuLmFuaW1hdGVfX3JvdGF0ZUluRG93blJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlSW5Eb3duUmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbkRvd25SaWdodDtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVJblVwTGVmdCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHJvdGF0ZUluVXBMZWZ0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cbi5hbmltYXRlX19yb3RhdGVJblVwTGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluVXBMZWZ0O1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlSW5VcExlZnQ7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZUluVXBSaWdodCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTkwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cbkBrZXlmcmFtZXMgcm90YXRlSW5VcFJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC05MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuLmFuaW1hdGVfX3JvdGF0ZUluVXBSaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluVXBSaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluVXBSaWdodDtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbn1cbi8qIFJvdGF0aW5nIGV4aXRzICovXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlT3V0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMjAwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDIwMGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuQGtleWZyYW1lcyByb3RhdGVPdXQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAyMDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMjAwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG4uYW5pbWF0ZV9fcm90YXRlT3V0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlT3V0O1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlT3V0O1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZU91dERvd25MZWZ0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbkBrZXlmcmFtZXMgcm90YXRlT3V0RG93bkxlZnQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuLmFuaW1hdGVfX3JvdGF0ZU91dERvd25MZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlT3V0RG93bkxlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXREb3duTGVmdDtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlT3V0RG93blJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuQGtleWZyYW1lcyByb3RhdGVPdXREb3duUmlnaHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG4uYW5pbWF0ZV9fcm90YXRlT3V0RG93blJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlT3V0RG93blJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlT3V0RG93blJpZ2h0O1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZU91dFVwTGVmdCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbkBrZXlmcmFtZXMgcm90YXRlT3V0VXBMZWZ0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuLmFuaW1hdGVfX3JvdGF0ZU91dFVwTGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dFVwTGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dFVwTGVmdDtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlT3V0VXBSaWdodCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHJvdGF0ZU91dFVwUmlnaHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA5MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuLmFuaW1hdGVfX3JvdGF0ZU91dFVwUmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXRVcFJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlT3V0VXBSaWdodDtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbn1cbi8qIFNwZWNpYWxzICovXG5ALXdlYmtpdC1rZXlmcmFtZXMgaGluZ2Uge1xuICAwJSB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgfVxuXG4gIDIwJSxcbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgODBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgODBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gIH1cblxuICA0MCUsXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDYwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDYwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDcwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDcwMHB4LCAwKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGhpbmdlIHtcbiAgMCUge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gIH1cblxuICAyMCUsXG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDgwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDgwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICB9XG5cbiAgNDAlLFxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA2MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA2MGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA3MDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA3MDBweCwgMCk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuLmFuaW1hdGVfX2hpbmdlIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IGNhbGMoMXMgKiAyKTtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKDFzICogMik7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKHZhcigtLWFuaW1hdGUtZHVyYXRpb24pICogMik7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYyh2YXIoLS1hbmltYXRlLWR1cmF0aW9uKSAqIDIpO1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBoaW5nZTtcbiAgYW5pbWF0aW9uLW5hbWU6IGhpbmdlO1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xuICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBqYWNrSW5UaGVCb3gge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjEpIHJvdGF0ZSgzMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjEpIHJvdGF0ZSgzMGRlZyk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XG4gIH1cblxuICA1MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTEwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTBkZWcpO1xuICB9XG5cbiAgNzAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDNkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDNkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgamFja0luVGhlQm94IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC4xKSByb3RhdGUoMzBkZWcpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC4xKSByb3RhdGUoMzBkZWcpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xuICB9XG5cbiAgNTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC0xMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTEwZGVnKTtcbiAgfVxuXG4gIDcwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzZGVnKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG59XG4uYW5pbWF0ZV9famFja0luVGhlQm94IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogamFja0luVGhlQm94O1xuICBhbmltYXRpb24tbmFtZTogamFja0luVGhlQm94O1xufVxuLyogb3JpZ2luYWxseSBhdXRob3JlZCBieSBOaWNrIFBldHRpdCAtIGh0dHBzOi8vZ2l0aHViLmNvbS9uaWNrcGV0dGl0L2dsaWRlICovXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm9sbEluIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xMjBkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xMjBkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgcm9sbEluIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xMjBkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xMjBkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cbi5hbmltYXRlX19yb2xsSW4ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb2xsSW47XG4gIGFuaW1hdGlvbi1uYW1lOiByb2xsSW47XG59XG4vKiBvcmlnaW5hbGx5IGF1dGhvcmVkIGJ5IE5pY2sgUGV0dGl0IC0gaHR0cHM6Ly9naXRodWIuY29tL25pY2twZXR0aXQvZ2xpZGUgKi9cbkAtd2Via2l0LWtleWZyYW1lcyByb2xsT3V0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAxMjBkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMTIwZGVnKTtcbiAgfVxufVxuQGtleWZyYW1lcyByb2xsT3V0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAxMjBkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMTIwZGVnKTtcbiAgfVxufVxuLmFuaW1hdGVfX3JvbGxPdXQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb2xsT3V0O1xuICBhbmltYXRpb24tbmFtZTogcm9sbE91dDtcbn1cbi8qIFpvb21pbmcgZW50cmFuY2VzICovXG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbUluIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjMsIDAuMywgMC4zKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4zLCAwLjMsIDAuMyk7XG4gIH1cblxuICA1MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cbkBrZXlmcmFtZXMgem9vbUluIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjMsIDAuMywgMC4zKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4zLCAwLjMsIDAuMyk7XG4gIH1cblxuICA1MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cbi5hbmltYXRlX196b29tSW4ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tSW47XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tSW47XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbUluRG93biB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMCwgLTEwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDAsIC0xMDAwcHgsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoMCwgNjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgem9vbUluRG93biB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMCwgLTEwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDAsIC0xMDAwcHgsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoMCwgNjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG4gIH1cbn1cbi5hbmltYXRlX196b29tSW5Eb3duIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbUluRG93bjtcbiAgYW5pbWF0aW9uLW5hbWU6IHpvb21JbkRvd247XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbUluTGVmdCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoLTEwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKC0xMDAwcHgsIDAsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgem9vbUluTGVmdCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoLTEwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKC0xMDAwcHgsIDAsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG4gIH1cbn1cbi5hbmltYXRlX196b29tSW5MZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbUluTGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IHpvb21JbkxlZnQ7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbUluUmlnaHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDEwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDEwMDBweCwgMCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHpvb21JblJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgxMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgxMDAwcHgsIDAsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcbiAgfVxufVxuLmFuaW1hdGVfX3pvb21JblJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbUluUmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tSW5SaWdodDtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyB6b29tSW5VcCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMCwgMTAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMCwgMTAwMHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICB9XG5cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDAsIC02MHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoMCwgLTYwcHgsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgem9vbUluVXAge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDAsIDEwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDAsIDEwMDBweCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDAsIC02MHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICB9XG59XG4uYW5pbWF0ZV9fem9vbUluVXAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tSW5VcDtcbiAgYW5pbWF0aW9uLW5hbWU6IHpvb21JblVwO1xufVxuLyogWm9vbWluZyBleGl0cyAqL1xuQC13ZWJraXQta2V5ZnJhbWVzIHpvb21PdXQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMywgMC4zLCAwLjMpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjMsIDAuMywgMC4zKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHpvb21PdXQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMywgMC4zLCAwLjMpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjMsIDAuMywgMC4zKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG4uYW5pbWF0ZV9fem9vbU91dCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21PdXQ7XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tT3V0O1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIHpvb21PdXREb3duIHtcbiAgNDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDAsIC02MHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoMCwgLTYwcHgsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgem9vbU91dERvd24ge1xuICA0MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoMCwgLTYwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcbiAgfVxufVxuLmFuaW1hdGVfX3pvb21PdXREb3duIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbU91dERvd247XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tT3V0RG93bjtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIHpvb21PdXRMZWZ0IHtcbiAgNDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDQycHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCg0MnB4LCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjEpIHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC4xKSB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgfVxufVxuQGtleWZyYW1lcyB6b29tT3V0TGVmdCB7XG4gIDQwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCg0MnB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoNDJweCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC4xKSB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuMSkgdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gIH1cbn1cbi5hbmltYXRlX196b29tT3V0TGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21PdXRMZWZ0O1xuICBhbmltYXRpb24tbmFtZTogem9vbU91dExlZnQ7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBjZW50ZXI7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgY2VudGVyO1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIHpvb21PdXRSaWdodCB7XG4gIDQwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgtNDJweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKC00MnB4LCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjEpIHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjEpIHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgem9vbU91dFJpZ2h0IHtcbiAgNDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKC00MnB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoLTQycHgsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuMSkgdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuMSkgdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgfVxufVxuLmFuaW1hdGVfX3pvb21PdXRSaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21PdXRSaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IHpvb21PdXRSaWdodDtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBjZW50ZXI7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGNlbnRlcjtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyB6b29tT3V0VXAge1xuICA0MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoMCwgNjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcbiAgfVxufVxuQGtleWZyYW1lcyB6b29tT3V0VXAge1xuICA0MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoMCwgNjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcbiAgfVxufVxuLmFuaW1hdGVfX3pvb21PdXRVcCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21PdXRVcDtcbiAgYW5pbWF0aW9uLW5hbWU6IHpvb21PdXRVcDtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xufVxuLyogU2xpZGluZyBlbnRyYW5jZXMgKi9cbkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZUluRG93biB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuQGtleWZyYW1lcyBzbGlkZUluRG93biB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuLmFuaW1hdGVfX3NsaWRlSW5Eb3duIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2xpZGVJbkRvd247XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZUluRG93bjtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZUluTGVmdCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuQGtleWZyYW1lcyBzbGlkZUluTGVmdCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuLmFuaW1hdGVfX3NsaWRlSW5MZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2xpZGVJbkxlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZUluTGVmdDtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZUluUmlnaHQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHNsaWRlSW5SaWdodCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cbi5hbmltYXRlX19zbGlkZUluUmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZUluUmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZUluUmlnaHQ7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVJblVwIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuQGtleWZyYW1lcyBzbGlkZUluVXAge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG4uYW5pbWF0ZV9fc2xpZGVJblVwIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2xpZGVJblVwO1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVJblVwO1xufVxuLyogU2xpZGluZyBleGl0cyAqL1xuQC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlT3V0RG93biB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgfVxufVxuQGtleWZyYW1lcyBzbGlkZU91dERvd24ge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gIH1cbn1cbi5hbmltYXRlX19zbGlkZU91dERvd24ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZU91dERvd247XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZU91dERvd247XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVPdXRMZWZ0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgc2xpZGVPdXRMZWZ0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gIH1cbn1cbi5hbmltYXRlX19zbGlkZU91dExlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZU91dExlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZU91dExlZnQ7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVPdXRSaWdodCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgfVxufVxuQGtleWZyYW1lcyBzbGlkZU91dFJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICB9XG59XG4uYW5pbWF0ZV9fc2xpZGVPdXRSaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0UmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZU91dFJpZ2h0O1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlT3V0VXAge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgfVxufVxuQGtleWZyYW1lcyBzbGlkZU91dFVwIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gIH1cbn1cbi5hbmltYXRlX19zbGlkZU91dFVwIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2xpZGVPdXRVcDtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0VXA7XG59XG4iLCJcclxuLypcclxuXHJcbi0tLS0tIEF4aXMgRWxlbWVudCBQcmludCAtLS0tLSBcclxuQWxsb3dzIHlvdSB0byBzZWxlY3QgYW4gZWxlbWVudCB0byBiZSBwcmludGVkIGluc2lkZSBvZiB0aGUgRE9NLlxyXG5cclxuVGhpcyBkZWFscyB3aXRoIGdlbmVyYWwgZm9ybWF0dGluZyBvZiB0ZXh0IHdoZW4gaW4gcHJpbnQgdmlldyBhbmQgd2hpY2ggZWxlbWVudCBzaG91bGQgYmUgZXhjbHVkZWQgYXMgaXQgZG9lc24ndCBtYWtlIHNlbnNlIGZvciB0aGVtIHRvIGJlIHRoZXJlLlxyXG5cclxuKi9cclxuXHJcbkBtZWRpYSBwcmludCB7XHJcbiAgICAucGUtbm8tcHJpbnQge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICAucGUtcHJlc2VydmUtYW5jZXN0b3Ige1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICAvLyBSZW1vdmUgYW55IHN0aWNrIGVsZW1lbnRzIGFzIHRoaXMgcmVhbGx5IGRvZXNuJ3Qgd29yayB2ZXJ5IHdlbGwgaW4gcHJpbnRlciB2aWV3LlxyXG4gICAgW2RhdGEtYXhpcy1zdGlja3ldLCBbZGF0YS1zdGlja3ktY29udGVudC1jb250YWluZXJdIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIFRoaXMgaXMgbm90IG5lZWRlZCBpbiBwcmludCB2aWV3LlxyXG4gICAgLmVucXVpcnktZmlsdGVycyB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICAuY2FsbC10eXBlLWljb24sIC5jYWxsLXNvdXJjZS1pY29uIHtcclxuICAgICAgICBmaWx0ZXI6IGdyYXlzY2FsZSgxKTtcclxuICAgIH1cclxuXHJcbiAgICAuZW5xdWlyeS1oZWFkZXItc2VjdGlvbiBoMiB7XHJcbiAgICAgICAgLy8gRm9yY2UgbnV0dXJhbCBjb2xvdXJzLlxyXG4gICAgICAgIGNvbG9yOiAkY29sb3VyMiAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgIC5heGlzLXNlY3Rpb24taGVhZGVyOmFmdGVyIHtcclxuICAgICAgICAvLyBGb3JjZSBudXR1cmFsIGNvbG91cnMuXHJcbiAgICAgICAgY29sb3I6ICRjb2xvdXIyICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgdGFibGUgLmNvbC1sYWJlbCB7XHJcbiAgICAgICAgLy8gRm9yY2UgbnV0dXJhbCBjb2xvdXJzLlxyXG4gICAgICAgIGNvbG9yOiAkY29sb3VyMiAhaW1wb3J0YW50O1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgIHRhYmxlIHtcclxuICAgICAgICB0ciB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogNXB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA1cHggIWltcG9ydGFudDtcclxuICAgICAgICAgICAgLy8gQWRkaW5nIHJ1bGUgZHVlIHRvIGJhY2tncm91bmQgY29sb3JzIGJlaW5nIHN1cHByZXNzZWQsIGFsc28gaW5jcmVhc2luZyB3ZWlnaHQgZm9yIHBvb3IgcXVhbGl0eSBwcmludGVycy5cclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRjb2xvdXIzLTIgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGQge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBEb24ndCBzaG93IHBhZ2UgYnV0dG9ucy5cclxuICAgIC5wYWdlLWJ1dHRvbnMtY29udGFpbmVyLCAuYWNjb3VudC1idXR0b25zLWNvbnRhaW5lciB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHtcclxuICAgICAgICBjb2xvcjogJGNvbG91cjIgIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgIFxyXG4gICAgLy8gTWFrZSBhbGwgdGV4dCBpcyB2aXNpYmxlLlxyXG4gICAgLmNtcy1jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgbWF4LWhlaWdodDogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICAgIG92ZXJmbG93LXk6IHZpc2libGUgIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICAubW9kYWwtY29udGFpbmVyIC5jb250ZW50LCAubW9kYWwtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgb3ZlcmZsb3cteTogdmlzaWJsZSAhaW1wb3J0YW50O1xyXG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgLm1vZGFsLWNvbnRhaW5lciB7XHJcbiAgICAgICAgLy8gU2V0dGluZyBwb3NpdGlvbiBhYnNvbHV0ZSBvdGhlcndpc2UgaWYgdGhlIG1vZGFsIGNvbnRlbnQgaXMgYmlnZ2VyIHRoYW4gYSBBNCBwYWdlIHRoZSBjb250ZW50IGdldHMgY3V0IG9mZiBkdWUgdG8gb2J2aW91c2x5IG5vdCBiZWluZyBhYmxlIHRvIHNjcm9sbC5cclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcclxuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZSAhaW1wb3J0YW50O1xyXG4gICAgICAgICYuYWN0aXZlIHtcclxuICAgICAgICAgICAgb3ZlcmZsb3cteTogdW5zZXQgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCIvKlxyXG4tLS0tLSBEb2N1bWVudGF0aW9uIC0tLS0tLSBcclxuU3BlY2lmaWNhbGx5IGhhbmRsZXMgdGhlIHN0eWxpbmcgZm9yIEFYSVMgRG9jdW1lbnRhdGlvbiwgdGhlcmUgd2lsbCBiZSBzaW1pbGFyaXRpZXMgYmV0d2VlbiB0aGlzIGNvZGUgYW5kIGNtcyBjb250YWluZXJzLlxyXG5cclxuVGhpcyBkZWFscyB3aXRoIHRoZSBmb2xsb3dpbmcgcGFnZSB0eXBlczpcclxuLS0gUHJvZHVjdHNcclxuLS0tLSBCb29rc1xyXG4tLS0tLS0gQ2hhcHRlcnNcclxuLS0tLS0tLS0gQXJ0aWNsZXNcclxuLS0tLS0tLS0gRnVuY3Rpb25zXHJcbi0tLS0tLS0tLS0gQXJ0aWNsZVxyXG4qL1xyXG5cclxuXHJcbi8vIEhvbGRzIHRoaW5ncyBsaWtlIGRvY3VtZW50YXRpb24gc2VhcmNoLCBhY2Nlc3MgbGV2ZWwuXHJcbi5kb2N1bWVudGF0aW9uLWNvbnRyb2xzLWNvbnRhaW5lciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGdhcDogMjBweDtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcclxuICAgICAgICBnYXA6IDA7XHJcbiAgICB9XHJcbiAgICAuZG9jdW1lbnRhdGlvbi1zZWFyY2gtY29udGFpbmVyIHtcclxuICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgcGFkZGluZzogMTBweDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMy0xO1xyXG4gICAgICAgIEBpZiBzbW9vdGgtZWRnZXMoKSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDVweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGZvcm0ge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICBnYXA6IDVweDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAubGFiZWwge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAgMTBweDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyMy02O1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDIwcHggMCAxMHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuc2VhcmNoLXpvbmUge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAvLyBPdmVycmlkZSBkZWZhdWx0IGNvbnZlbnRpb24gb2Ygc3Bhbm5pbmcgdGhlIGVudGlyZSB3aWR0aCB1c2VkIHdoZW4gZGlzcGxheWluZyBhIGNvbnZlbnRpb25hbCBmb3JtLlxyXG4gICAgICAgICAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5jb250cm9sLXNlbGVjdC1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogNDAwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgbWluLXdpZHRoOiAyMDVweDtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuc2VsZWN0ZWQtZGVzY3JpcHRpb24ge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvdXIyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuZG9jdW1lbnRhdGlvbi1zZWFyY2gge1xyXG4gICAgICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiA0MjBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuZm9ybS1lcnJvciB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlucHV0IHtcclxuICAgICAgICAgICAgICAgICY6OnBsYWNlaG9sZGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91cjMtNjtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuZG9jdW1lbnRhdGlvbi1hY2Nlc3MtbGV2ZWwtY29udGFpbmVyIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogNTc1cHg7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gICAgICAgIH1cclxuICAgICAgICBmb3JtIHtcclxuICAgICAgICAgICAgbGFiZWwge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA1NzVweDtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5sYWJlbCB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAgMTBweDtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDEwcHggMCAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5jb250cm9sLXNlbGVjdC1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA0MjBweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbn1cclxuXHJcbi8vIERvY3VtZW50YXRpb24gbGlzdFxyXG4uZG9jdW1lbnRhdGlvbi1saXN0LWl0ZW0tY29udGFpbmVyLmRlcGFydG1lbnQtY29sb3VyLXBhbGV0dGUsIC5kb2N1bWVudGF0aW9uLWxpc3QtaXRlbS1jb250YWluZXIuc2l0ZS1zdHlsZSB7XHJcbiAgICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWhlYWRlci1jb250YWluZXIge1xyXG4gICAgICAgIGgyIHtcclxuICAgICAgICAgICAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wLCAkY29sb3VyNCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uZG9jdW1lbnRhdGlvbi1saXN0LWNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICYgKyAuZG9jdW1lbnRhdGlvbi1saXN0LWNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gICAgfVxyXG4gICAgdWwge1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICAgICAgJi5zdHJpcGVzIHtcclxuICAgICAgICAgICAgPiBsaSB7XHJcbiAgICAgICAgICAgICAgICAmOm50aC1jaGlsZChvZGQpIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGJvZHktc3RyaXBlZC1yb3ctYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOm50aC1jaGlsZChldmVuKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjE7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gSWYgdGhpcyBpcyBhIHN1Ym1lbnUgdGhlbiByZXZlcnQgdGhlIG9yZGVyLlxyXG4gICAgICAgICAgICAgICAgICAgIGxpLmlzLXN1Ym1lbnUtaXRlbSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKGV2ZW4pIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0Ym9keS1zdHJpcGVkLXJvdy1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOm50aC1jaGlsZChvZGQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGxpIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XHJcbiAgICAgICAgICAgIGdhcDogMCA1cHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6ICRkb2N1bWVudGF0aW9uLWxpc3QtaXRlbS1wYWRkaW5nO1xyXG4gICAgICAgICAgICAuY29udGV4dC1tZW51LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIEtlZXAgY29udGV4dCBtZW51IGlubGluZSB3aXRoIGFuY2hvci5cclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiBzcGFjaW5nLXZhbHVlKCRmdW5jdGlvbnMtbWVudS1pdGVtLXBhZGRpbmcsIDEpIDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnRvb2x0aXAtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIC8vIEZvciBzb21lIHJlYXNvbiB0aGUgdG9vbHRpcCBpY29uIGlzIGlnbm9yaW5nIHRoZSBhbGlnbi1pdGVtOiBiYXNlbGluZTsgc2V0IG9uIHRoZSBwYXJlbnQgbGkgdGhpcyB2YXJpZXMgZGVwZW5kYW50IG9uIHRoZSBmb250IGJlaW5nIHVzZWQsIHNvIHRoaXMgd2FzIHRoZSBvbmx5IHdhcyB0byBnZXQgY29uc2lzdGFudCBiZWhhdm91ci5cclxuICAgICAgICAgICAgICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG91cjMtNjtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNyk7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wLCAkY29sb3VyNik7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmluZGV4IHtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgbWFyZ2luOiAwIDEwcHggMCAwO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIFR5cGljYWxseSB1c2VkIGZvciBwYWdlIGludHJvJ3MuXHJcbi5kb2N1bWVudGF0aW9uLWFydGljbGUtaW50cm8tY29udGFpbmVyLCAuZG9jdW1lbnRhdGlvbi1pbnRyby1jb250YWluZXIge1xyXG4gICAgLS1jb21wb25lbnQtc3BlY2lmYy1zdGVwLWhlaWdodDogNTZweDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAmLmxheW91dC0xIHtcclxuICAgICAgICBtYXJnaW46IDM1cHggMCA0NXB4O1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWFyZ2luOiA0NXB4IDAgNTVweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgaDIge1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgMCAzMHB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwIDAgMjBweDtcclxuICAgICAgICAgICAgY29sb3I6ICRkb2N1bWVudGF0aW9uLWludHJvLXN1Yi1oZWFkaW5nLWNvbG91cjtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDJweDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgdW5kZXJsaW5lKDEsIChkZWZhdWx0OiAkY29sb3VyMy0zKSwgNTBweCwgMXB4LCAocmlnaHQ6IDAsIGJvdHRvbTogMCxcclxuICAgICAgICAgICAgbGVmdDogMCkpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBoMSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgY29sb3I6ICRkb2N1bWVudGF0aW9uLWludHJvLWhlYWRpbmctY29sb3VyO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDM2KTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYubGF5b3V0LTIge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBnYXA6IDMwcHg7XHJcbiAgICAgICAgbWFyZ2luOiAyMHB4IDAgMzBweDtcclxuICAgICAgICBwYWRkaW5nOiAyNXB4IDIwcHg7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTkpO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICAgICAgZ2FwOiA4MHB4O1xyXG4gICAgICAgICAgICBtYXJnaW46IDMwcHggMCA0MHB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAyMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICBoMSwgaDIge1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgIH1cclxuICAgICAgICBoMSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgY29sb3I6ICRkb2N1bWVudGF0aW9uLWludHJvLWhlYWRpbmctY29sb3VyO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDMwKTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgaDIge1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgMCA1cHg7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkZG9jdW1lbnRhdGlvbi1pbnRyby1zdWItaGVhZGluZy1jb2xvdXI7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xyXG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogM3B4O1xyXG4gICAgICAgICAgICBcclxuICAgICAgICB9XHJcbiAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGZsZXg6IDE7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDAgMjBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuYmFubmVyLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIC5pbWFnZSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgICAgICBib3JkZXI6ICRkb2N1bWVudGF0aW9uLWludHJvLWJhbm5lci1ib3JkZXItd2lkdGggc29saWQgJGNvbG91cjE7XHJcbiAgICAgICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDI0NXB4O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmRvY3VtZW50YXRpb24tYWRkaXRpb25hbC1saW5rcyB7XHJcbiAgICB1bCB7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgIGdhcDogNXB4IDI1cHg7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgIC8vIEp1c3QgbGV0IHRoZSBjb250ZW50IGZhbGwgb24gdGhlIHBhZ2UuXHJcbiAgICAgICAgICAgIGZsZXg6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gT3ZlcnJpZGUgZGVmYXVsdCBhdHRhY2htZW50IHN0eWxlcy5cclxuICAgIC5hdHRhY2htZW50IHtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIGNvbG9yOiBkZWZhdWx0LWNvbG91cigkZG9jdW1lbnRhdGlvbi1hZGRpdGlvbmFsLWxpbmtzLWNvbG91cik7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XHJcbiAgICAgICAgICAgIGNvbG9yOiBkZWZhdWx0LWNvbG91cigkZG9jdW1lbnRhdGlvbi1hZGRpdGlvbmFsLWxpbmtzLWljb24tY29sb3VyKTsgICBcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGNvbG9yOiBob3Zlci1jb2xvdXIoJGRvY3VtZW50YXRpb24tYWRkaXRpb25hbC1saW5rcy1jb2xvdXIpO1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogaG92ZXItY29sb3VyKCRkb2N1bWVudGF0aW9uLWFkZGl0aW9uYWwtbGlua3MtaWNvbi1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiBhY3RpdmUtY29sb3VyKCRkb2N1bWVudGF0aW9uLWFkZGl0aW9uYWwtbGlua3MtY29sb3VyKTtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IGFjdGl2ZS1jb2xvdXIoJGRvY3VtZW50YXRpb24tYWRkaXRpb25hbC1saW5rcy1pY29uLWNvbG91cik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIEJlc3Bva2UgaWNvbnMgZm9yIHRoaXMgYXJlYS5cclxuICAgICAgICAmLnByaW50ZXItbGluayB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBwcmludGVyKTtcclxuICAgICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5kb2N1bWVudGF0aW9uLXB1YmxpYy1saW5rIHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgZG9jdW1lbnRhdGlvbi1wdWJsaWMtdXJsKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICAgICAgfSAgIFxyXG4gICAgICAgIH1cclxuICAgICAgICAmLmRvY3VtZW50YXRpb24tc3RhdGlzdGljcyB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGRvY3VtZW50YXRpb24tc3RhdGlzdGljcyk7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIFRoZSBkb2N1bWVudGF0aW9uIGhlYWRpbmcgc3R5bGVzIGFyZSB1c2luZyB0aGVzZSBydWxlcyBpbnN0ZWFkIG9mIHRoZSBub3JtYWwgY21zLWhlYWRpbmcgbWl4aW4sIHRoZSBtb3N0IG9idmlvdXMgcnVsZSBjb25mbGljdGlvbiBpcyBub3QgdXNpbmcgdGhlIHByaW1hcnktY29sb3VyIGZvciB0aGUgdGV4dCBjb2xvdXIsIHRoZXJlIGlzIGFsc28gbW9yZSBvZiBhIHVzZSBvZiBydWxlcyB3aXRoIGgxICYgaDIuXHJcbi5kb2N1bWVudGF0aW9uLWNoYXB0ZXItaGVhZGVyLWNvbnRhaW5lciwgLmRvY3VtZW50YXRpb24tYWN0aWNsZS1oZWFkZXItY29udGFpbmVyLCAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciwgLmRvY3VtZW50YXRpb24tY29udGVudC1oZWFkZXItY29udGFpbmVyIHtcclxuICAgIGgxIHtcclxuICAgICAgICAvLyBBZGp1c3RpbmcgYWdhaW4gYXMgdGhlIHJ1bGUgaXMgcHV0IHRoZSBhYm92ZSBjb250ZW50IGF3YXkgYW5kIG1ha2UgdGhlIGNvbnRlbnQgYmVsb3cgc2VlbSBjbG9zZSB0byBmb3JtIG1vcmUgb2YgYSBncm91cGVkIGFmZmVjdC5cclxuICAgICAgICBtYXJnaW46IG1hcC1nZXQoJGNtcy1oZWFkaW5nLW1hcmdpbiwgaDEpOyBcclxuICAgICAgICBwYWRkaW5nOiAwIDAgMTVweDtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkaGVhZGluZy0xLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNik7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICBAaW5jbHVkZSB1bmRlcmxpbmUoMSwgKGRlZmF1bHQ6ICRjb2xvdXIzLTIpKTtcclxuICAgICAgICAmICsgLmRvY3VtZW50YXRpb24tYWRkaXRpb25hbC1saW5rcyB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaDIge1xyXG4gICAgICAgIG1hcmdpbjogIG1hcC1nZXQoJGNtcy1oZWFkaW5nLW1hcmdpbiwgaDIpO1xyXG4gICAgICAgIHBhZGRpbmc6IDAgMCAxNXB4O1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRoZWFkaW5nLTItY29sb3VyLCBwcmVzZXQtMyk7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNik7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICBAaW5jbHVkZSB1bmRlcmxpbmUoMSwgKGRlZmF1bHQ6ICRjb2xvdXIzLTIpKTtcclxuICAgIH1cclxuXHJcbiAgICBoMyB7XHJcbiAgICAgICAgbWFyZ2luOiBtYXAtZ2V0KCRjbXMtaGVhZGluZy1tYXJnaW4sIGgzKTtcclxuICAgICAgICBwYWRkaW5nOiAxMHB4IDA7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGhlYWRpbmctMy1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIHVuZGVybGluZSgxLCAoZGVmYXVsdDogJGNvbG91cjMtMikpO1xyXG4gICAgfVxyXG5cclxuICAgIGg0IHtcclxuICAgICAgIG1hcmdpbjogbWFwLWdldCgkY21zLWhlYWRpbmctbWFyZ2luLCBoNCk7IFxyXG4gICAgICAgcGFkZGluZzogMDtcclxuICAgICAgIGNvbG9yOiAkaGVhZGluZy00LWNvbG91cjtcclxuICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xyXG4gICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgIH1cclxuXHJcbiAgICBoNSB7XHJcbiAgICAgICAgbWFyZ2luOiBtYXAtZ2V0KCRjbXMtaGVhZGluZy1tYXJnaW4sIGg1KTsgXHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICBjb2xvcjogJGhlYWRpbmctNS1jb2xvdXI7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgIH1cclxuXHJcbiAgICBoNiB7XHJcbiAgICAgICAgbWFyZ2luOiBtYXAtZ2V0KCRjbXMtaGVhZGluZy1tYXJnaW4sIGg2KTsgXHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICBjb2xvcjogJGhlYWRpbmctNi1jb2xvdXI7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5kb2N1bWVudGF0aW9uLWFydGljbGUtY29udGFpbmVyLCAuZG9jdW1lbnRhdGlvbi1saXN0LWl0ZW0tY29udGFpbmVyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogJGRvY3VtZW50YXRpb24taGVhZGVyLWNvbnRhaW5lci1tYXJnaW47XHJcbiAgICAmLmluZGVudGVkIHtcclxuICAgICAgICBtYXJnaW4tbGVmdDogMjVweDtcclxuICAgIH1cclxuICAgICYuaW5kZW50ZWQtcnVsZSB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxcHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3VyMy0yO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIFxyXG59XHJcblxyXG4uZG9jdW1lbnRhdGlvbi1jaGFwdGVyLWhlYWRlci1jb250YWluZXIsIC5kb2N1bWVudGF0aW9uLWhlYWRlci1jb250YWluZXIge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogJGRvY3VtZW50YXRpb24taGVhZGVyLWNvbnRhaW5lci1tYXJnaW47XHJcbiAgICAuZG9jdW1lbnRhdGlvbi1hZGRpdGlvbmFsLWxpbmtzIHtcclxuICAgICAgICBwYWRkaW5nLXRvcDogJGRvY3VtZW50YXRpb24tYWRkaXRpb25hbC1saW5rcy1wYWRkaW5nO1xyXG4gICAgICAgIGJvcmRlci10b3A6ICRkb2N1bWVudGF0aW9uLWFkZGl0aW9uYWwtbGluay1ydWxlO1xyXG4gICAgfVxyXG59XHJcblxyXG4uZG9jdW1lbnRhdGlvbi1jaGFwdGVyLWZvb3Rlci1jb250YWluZXIsIC5kb2N1bWVudGF0aW9uLWZvb3Rlci1jb250YWluZXIge1xyXG4gICAgcGFkZGluZy1ib3R0b206ICRkb2N1bWVudGF0aW9uLWFkZGl0aW9uYWwtbGlua3MtcGFkZGluZztcclxuICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XHJcbiAgICBib3JkZXItYm90dG9tOiAkZG9jdW1lbnRhdGlvbi1hZGRpdGlvbmFsLWxpbmstcnVsZTtcclxufVxyXG5cclxuLmRvY3VtZW50YXRpb24tYWN0aWNsZS1oZWFkZXItY29udGFpbmVyLCAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWhlYWRlci1jb250YWluZXIge1xyXG4gICAgLy8gUG9zaXRpb24gcmVsYXRpdmUgcmVxdWlyZSB0byBrZWVwIGNvbnRleHQgbWVudSBpbiBwbGFjZS5cclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuXHJcbi5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgIEBpbmNsdWRlIGNtcy1hbmNob3IoKTtcclxuICAgIEBpbmNsdWRlIGNtcy1wYXJhZ3JhcGg7XHJcbiAgICBAaW5jbHVkZSBjbXMtdGFibGUoKTtcclxuICAgIEBpbmNsdWRlIGNtcy1ibG9ja3F1b3RlKCk7XHJcbiAgICBAaW5jbHVkZSBjbXMteW91dHViZS12aWRlbygpO1xyXG4gICAgQGluY2x1ZGUgY21zLWNvZGUoKTtcclxuICAgIEBpbmNsdWRlIGNtcy1saXN0cygpO1xyXG4gICAgQGluY2x1ZGUgY21zLWltYWdlKCk7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAkZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lci13aWR0aDtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxufVxyXG5cclxuLmRvY3VtZW50YXRpb24tcmVzdHJpY3RlZC1hY2Nlc3MtY29udGFpbmVyLCAuZG9jdW1lbnRhdGlvbi1pbnRlcm5hbC11c2Utb25seSB7XHJcbiAgICBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2LCBwLCBsaSwgJi5kb2N1bWVudGF0aW9uLWludGVybmFsLXVzZS1vbmx5LCBhLCB0YWJsZSB0aGVhZCB0aCwgdGFibGUgdGJvZHkgdGQge1xyXG4gICAgICAgIGNvbG9yOiAkZG9jdW1lbnRhdGlvbi1yZXN0cmljdGVkLWNvbnRlbnQtY29sb3VyO1xyXG4gICAgfVxyXG59XHJcblxyXG4uZG9jdW1lbnRhdGlvbi1ub3QtcHVibGlzaGVkIHtcclxuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcclxufVxyXG5cclxuLy8gTWFrZSBzdXJlIGlmIGFuIGl0ZW0gaGFzIGEgdG9nZ2xlIGJ1dHRvbiB0aGF0IGNoaWxkIGl0ZW0ocykga2VlcCBpdGVtIGRlc2NyaXB0aW9ucyBpbmxpbmUuIFxyXG51bC5mdW5jdGlvbnMtbGlzdDpoYXMoPiBsaS5oYXMtc3VibWVudS10b2dnbGUpIHtcclxuICAgID4gbGk6bm90KC5oYXMtc3VibWVudS10b2dnbGUpIHtcclxuICAgICAgICAvLyBLZWVwaW5nIGNvbnNpc3RhbnQgYWNyb3NzIGFsbCBkZXZpY2VzIC5cclxuICAgICAgICAvLyBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNDVweDtcclxuICAgICAgICAvLyB9XHJcbiAgICB9XHJcbiAgICAvLyBEbyB0aGUgc2FtZSBmb3IgbG93ZXIgbGV2ZWwgbWVudXMuXHJcbiAgICB1bC5tZW51Omhhcyg+IGxpLmhhcy1zdWJtZW51LXRvZ2dsZSkge1xyXG4gICAgICAgID4gbGk6bm90KC5oYXMtc3VibWVudS10b2dnbGUpIHtcclxuICAgICAgICAgICAgLy8gQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA0NXB4O1xyXG4gICAgICAgICAgICAvLyB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ubWVudS5mdW5jdGlvbnMtbGlzdCB7XHJcbiAgICAtLW1lbnUtZnVuY3Rpb24tbGlzdC1ob3Zlci1jb2xvdXI6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wKTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG5cclxuICAgID4gbGkge1xyXG4gICAgICAgID4gdWwuc3VibWVudSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDVweDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogNXB4IDAgNXB4IDEwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gT25seSBhZmZlY3QgdGhlIHJvb3QgbGV2ZWwuXHJcbiAgICA+IGxpOmhhcyh1bC5zdWJtZW51LmlzLWFjdGl2ZSkge1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206IDVweCBzb2xpZCAkY29sb3VyMTtcclxuICAgIH1cclxuICAgIC8vIENhc2NhZGUuXHJcbiAgICBsaTpoYXModWwuc3VibWVudS5pcy1hY3RpdmUpIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMy01O1xyXG4gICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1tZW51LWZ1bmN0aW9uLWxpc3QtaG92ZXItY29sb3VyLCAkY29sb3VyNik7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgbGkge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgLy8gQWxpZ25pbmcgdG8gdGhlIGNlbnRlciBkdWUgdG8gaW5jb25zaXN0YW5jaWVzIGluIGljb24gbGlicmFyaWVzIGFuZCBmb250IGxpYnJhcnlzLlxyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgZ2FwOiAwO1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206IDA7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAvLyBTbyB0aGUgY29udGV4dCBtZW51IHJlbWFpbnMgaW4gdGhlIHNhbWUgcGxhY2Ugd2hlbiBjYXNjYWRpbmcgZG93biB0aGUgbGV2ZWxzIGluIGEgbGlzdC5cclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIwO1xyXG4gICAgICAgICAgICA+IGEsID4gYnV0dG9uOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1tZW51LWZ1bmN0aW9uLWxpc3QtaG92ZXItY29sb3VyLCAkY29sb3VyNik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgICAgIC8vIElmIHRoZXJlIGlzIGEgdG9nZ2xlIGJ1dHRvbiBhbGxvdyB0aGF0IHRvIHN0cmluayB0aGlzIGNvbnRlbnQgdG8gZml0IG5leHQgdG8gaXQuXHJcbiAgICAgICAgICAgIGZsZXg6IDE7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcclxuICAgICAgICAgICAgcGFkZGluZzogc21hbGwtdmFsdWUoJGZ1bmN0aW9ucy1tZW51LWl0ZW0tcGFkZGluZyk7XHJcbiAgICAgICAgICAgIG9yZGVyOiAyO1xyXG4gICAgICAgICAgICAmICsgYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgIG9yZGVyOiAxO1xyXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvdXIzLTY7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAkZnVuY3Rpb25zLW1lbnUtYXJyb3ctc2l6ZTtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJlthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXTphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLW1lbnUtZnVuY3Rpb24tbGlzdC1ob3Zlci1jb2xvdXIsICRjb2xvdXI2KTtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIExldmVsIDIuXHJcbiAgICAgICAgPiB1bCB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBvcmRlcjogMztcclxuICAgICAgICAgICAgYm9yZGVyLXRvcDogMDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjA7XHJcbiAgICAgICAgICAgIGxpIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91cjMtNjtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5pbmRleCB7XHJcbiAgICAgICAgICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLm5lc3RlZC5pcy1hY2NvcmRpb24tc3VibWVudSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogNDBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBBbGxvdyBpbmRleCB0byBkaWN0YXRlIGhvdyBtdWNoIHNwYWNlIHRvIHNwYW4gYWNyb3NzLlxyXG4gICAgICAgIC5saW5rLWRlc2NyaXB0aW9uIHtcclxuICAgICAgICAgICAgZmxleDogMTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyAuaGFzLXN1Ym1lbnUtdG9nZ2xlIHtcclxuICAgIC8vICAgICBhIHtcclxuICAgIC8vICAgICAgICAgLy8gQWRkaW5nIHBhZGRpbmcgYWxpZ24gY29udGVudCB2ZXJ0aWNhbGx5IGNlbnRlcmFsIHRvIHRoZSBjaGV2cm9uIGluIHRoZSB0b2dnbGUtYnV0dG9uLlxyXG4gICAgLy8gICAgICAgICBwYWRkaW5nLXRvcDogMTBweDtcclxuICAgIC8vICAgICB9XHJcbiAgICAvLyB9XHJcbn1cclxuXHJcbi5kb2N1bWVudGF0aW9uLXJlc3VsdHMtZm91bmQtbGlzdCB1bCB7XHJcbiAgICA+IGxpIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgfVxyXG4gICAgbGkge1xyXG4gICAgICAgcGFkZGluZzogMTBweCA1cHg7IFxyXG4gICAgfVxyXG4gICAgLnJlc3VsdHMtaXRlbXMtY29udGFpbmVyIHtcclxuICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGxpIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgZ2FwOiAwO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgICAgICY6bm90KDpsYXN0LWNoaWxkKTphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgYnJlYWRjcnVtYnMtc2VwZXJhdG9yKTtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgN3B4O1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYnJlYWRjcnVtYnMtc2VwZXJhdG9yLWNvbG91cjtcclxuICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogY3VzdG9tLWljb24tZmFtaWx5KCRmb250QXdlc29tZVNvbGlkLCAkc2l0ZS1pY29ucy1jdXN0b20tY2hldnJvbnMpO1xyXG4gICAgICAgICAgICAgICAgICAgIC8vZm9udC1zaXplOiAkYnJlYWRjcnVtYnMtc2VwZXJhdG9yLXNpemU7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAucmVzdWx0cy1zbmlwcGV0LWNvbnRhaW5lciB7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbiAgICAgICAgcCB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogNXB4IDAgMTBweDtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5kb2N1bWVudGF0aW9uLWJhY2stYnV0dG9uLWNvbnRhaW5lciB7XHJcbiAgICAuZG9jdW1lbnRhdGlvbi1iYWNrLWJ1dHRvbiB7XHJcbiAgICAgICAgLy8gT3ZlcnJpZGUgc2Vjb25kYXJ5LWJ1dHRvbiBzdHlsZXMgc2xpZ2h0bHkgdG8gY29uZm9ybSB3aXRoIG90aGVyIGRvY3VtZW50YXRpb24gYnV0dG9ucy5cclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIFN0YXRpc3RpY3MgcGFnZS5cclxuLnN0YXRpc3RpY3MtY29udGVudC1jb250YWluZXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjMtNTtcclxuICAgIHVsIHtcclxuICAgICAgICBwYWRkaW5nOiAxMHB4IDIwcHg7XHJcbiAgICAgICAgbGkge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5sYWJlbCB7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogNXB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyBBdWRpdCB0cmFpbCAvIHJldmlzaW9uIHJlbGF0ZWQgZWxlbWVudHMuXHJcbi5yZXZpc2lvbi1jb3VudC1jb250YWluZXIge1xyXG4gICAgJi5zZXBlcmF0b3Ige1xyXG4gICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgMCAxMHB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwIDAgNXB4OyAvLyByZWR1Y2luZyBkdWUgdG8gYWNjb3VudCBmb3IgbGluZS1oZWlnaHQuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHVuZGVybGluZSgxKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBzcGFuIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgIFxyXG4gICAgfVxyXG59XHJcblxyXG4vLyBUaGlzIGlzIGRpc3BsYXllZCBvbiB0aGUgcHJldmlldyBwYWdlLlxyXG4ucmV2aXNpb24taW5mb3JtYXRpb24tY29udGFpbmVyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy04KTtcclxuICAgIHRhYmxlLmF1ZGl0LXRyYWlsLWVudHJ5IHtcclxuICAgICAgICB0aGVhZCB7XHJcbiAgICAgICAgICAgIHRoIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0td2hpdGUtY29sb3VyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcbi8vIFRoaXMgd2FzIG9yaWdpbmFsbHkgaW1wbGVtZW50ZWQgZm9yIHRoZSBzdGF0aWMgYnVpbGQgZ29vZ2xlLXRhZy1tYW5hZ2VyLWV2ZW50cy5cclxuLnRlY2huaWNhbC1kb2N1bWVudGF0aW9uLWxpc3QtY29udGFpbmVyIHtcclxuICAgICY6bm90KDpsYXN0LWNoaWxkKTphZnRlciB7XHJcbiAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgbWFyZ2luOiA0MHB4IDA7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy04KTtcclxuICAgIH1cclxufVxyXG5cclxuLmRvY3VtZW50YXRpb24tZGVtby1saW5rLWNvbnRhaW5lciB7XHJcbiAgICBtYXJnaW46IDEwcHggMDtcclxuICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtMTApO1xyXG59XHJcblxyXG4uaW5zcGVjdC1wcm9tcHQge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBtYXJnaW46IDMwcHggMDtcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbn1cclxuXHJcbi5leHByZXNzLWNvbmZpZ3VyYXRpb24ge1xyXG4gICAgcGFkZGluZy10b3A6IDI1cHg7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMjVweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy05KTtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBwYWRkaW5nLXRvcDogMTAwcHg7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEwMHB4O1xyXG4gICAgfVxyXG4gICAgLmNvbmZpZ3VyYXRpb24tc2VjdGlvbiB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgcGFkZGluZzogMTBweCAyMHB4O1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXdoaXRlLWNvbG91cik7XHJcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTgpO1xyXG4gICAgICAgICY6bm90KDpsYXN0LW9mLXR5cGUpIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmF4aXMtc2VjdGlvbi1oZWFkZXIge1xyXG4gICAgICAgICAgICBoMiB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5jb25maWd1cmF0aW9uLWludHJvZHVjdGlvbi1jb250YWluZXIge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgIC5jbXMtY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgIHAge1xyXG4gICAgICAgICAgICBtYXJnaW46IDVweCAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnRlY2huaWNhbC1saXN0IHtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBsaSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtOCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmhlYWRlci1jb250YWluZXIge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICB9XHJcblxyXG4gICAgLnN0YXRlIHtcclxuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgICBwYWRkaW5nOiAycHggMTBweDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zdGF0ZS1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tc3RhdGUtY29sb3VyKTtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcclxuICAgICAgICBjb2xvcjogdmFyKC0tc3RhdGUtY29sb3VyKTtcclxuICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgICYuYWN0aXZlIHtcclxuICAgICAgICAgICAgLS1zdGF0ZS1iYWNrZ3JvdW5kLWNvbG91cjogdmFyKC0tc3VjY2Vzcy1jb2xvdXItbGlnaHRuZXNzLTkpO1xyXG4gICAgICAgICAgICAtLXN0YXRlLWNvbG91cjogdmFyKC0tc3VjY2Vzcy1jb2xvdXItbGlnaHRuZXNzLTApO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmRpc2FibGVkIHtcclxuICAgICAgICAgICAgLS1zdGF0ZS1iYWNrZ3JvdW5kLWNvbG91cjogdmFyKC0td2FybmluZy1jb2xvdXItbGlnaHRuZXNzLTkpO1xyXG4gICAgICAgICAgICAtLXN0YXRlLWNvbG91cjogdmFyKC0td2FybmluZy1jb2xvdXItbGlnaHRuZXNzLTApO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAua2V5LXZhbHVlLXBhaXIge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZ2FwOiA1cHg7XHJcbiAgICAgICAgLm5hbWUge1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLm5ldXRyYWxpc2VkLWl0ZW1zIHtcclxuICAgIG1hcmdpbjogMTBweCAwIDIwcHg7XHJcbiAgICAucGxhY2Vob2xkZXItdmFsdWUtZGlzcGxheSB7XHJcbiAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5wbGFjZWhvbGRlci12YWx1ZS1kaXNwbGF5IHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAubmFtZSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4gICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgY29udGVudDogXCI9PlwiO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTVweDtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDE1cHg7XHJcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtNik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnZhbHVlIHtcclxuICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4gICAgICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMCk7XHJcbiAgICB9XHJcbn0iLCIvKlxyXG4tLS0tLSBDb250ZXh0IE1lbnUgLS0tLS0tIFxyXG5Fc3NlbnRpYWxseSBhIHRvb2xiYXIgLyB0b29sYm94IG1lbnVcclxuKi9cclxuXHJcbi5jb250ZXh0LW1lbnUtY29udGFpbmVyIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMDtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgIHotaW5kZXg6ICRjb250ZXh0LW1lbnUtY29udGFpbmVyLXotaW5kZXg7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgIH1cclxuICAgICYuYWN0aXZlLCAmLmlzLWNsb3Npbmcge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgICAgIHotaW5kZXg6ICN7KCRjb250ZXh0LW1lbnUtY29udGFpbmVyLXotaW5kZXggKyAxKX07XHJcbiAgICB9XHJcblxyXG4gICAgb2wsIHVsIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgIH1cclxuICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgb2wsIHVsIHtcclxuICAgICAgICAgICAgICAgICAgICAvLyBXaWxsIGJlIG9rIGF0IHRoZSB0aW1lIG9mIGJ1aWxkaW5nIGJ1dCBtYXkgaGF2ZSB0byBleHRlbmQgaW4gdGhlIGZ1dHVyZSB0byB1c2UgSlMgdG8gZ2l2ZSBhbiBleGFjdCBtZWFzdXJlLlxyXG4gICAgICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDcwMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvdXIzLTI7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAkdHJhbnNpdGlvbkludHJvLCBib3JkZXItY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6ICRnbG9iYWwtd2lkdGg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IG1heC13aWR0aCAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgID4gYnV0dG9uLm1lbnUtb3B0aW9uLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjY7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3VyNjtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICAgICAgLm1lbnUtb3B0aW9uLWljb24ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91cjE7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyB0cmFuc2Zvcm06IHJvdGF0ZSgyNWRlZyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIG9sLCB1bCB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAvL2JvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgIC8vYm9yZGVyOiAxcHggc29saWQgJGNvbG91cjA7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMTtcclxuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAxO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgbWF4LWhlaWdodDogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICAvLyBIZWlnaHQgdXNlZCB0byBzdG9wIGJvcmRlcnMgZnJvbSBvdmVybGFwcGluZyB0cmlnZ2VyIGJ1dHRvbiBoZWlnaHQuXHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgICAgICAgICByaWdodDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBtYXgtd2lkdGggJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubWVudS1jb250YWluZXIge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnN0YXRlLW1lbnUtY29udGFpbmVyIHtcclxuICAgICAgICAubWVudS1vcHRpb24tY29udGFpbmVyIHtcclxuICAgICAgICAgICAgb3BhY2l0eTogLjU7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgJjpob3ZlciwgJjphY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gXHJcbiAgICB9XHJcblxyXG4gICAgLmVkaXQtbWVudS1jb250YWluZXIge1xyXG4gICAgICAgIC5tZW51LW9wdGlvbi1jb250YWluZXIge1xyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy0wKTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgIC5tZW51LW9wdGlvbi1pY29uOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLXdoaXRlLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zZWNvbmRhcnktY29sb3VyLWxpZ2h0bmVzcy0wKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubWVudS1vcHRpb24tY29udGFpbmVyIHtcclxuICAgICAgICAtLWljb24tY29sb3VyOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtMCk7XHJcbiAgICAgICAgd2lkdGg6IDQ1cHg7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgLy8gRHVlIHRvIHVzaW5nIGEgbWl4dHVyZSBvZiBmb250IGZhbWlsaWVzIGhhdmluZyB0byBzZXQgdG8gY2VudGVyIGluc3RlYWQgb2YgYmFzZWxpbmUuXHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBnYXA6IDEwcHg7XHJcbiAgICAgICAgcGFkZGluZzogNy41cHggMTBweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMTtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3VyMDtcclxuICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICAgICAgICAgIG1pbi13aWR0aDogNDVweDtcclxuICAgICAgICAgICAgICAgIC5tZW51LW9wdGlvbi1sYWJlbCB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubWVudS1vcHRpb24tbGFiZWwge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIENvbW1vbiBzdHlsZXMgYmV0d2VlbiBhbGwgYnV0dG9ucy5cclxuICAgICAgICAubWVudS1vcHRpb24taWNvbi1jb250YWluZXIge1xyXG4gICAgICAgICAgICAubWVudS1vcHRpb24taWNvbiB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0taWNvbi1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE5cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIFxyXG4gICAgICAgIC8vIFN0YXR1cyBPcHRpb25zLlxyXG4gICAgICAgICYuYWNjZXNzLWxldmVsIHtcclxuICAgICAgICAgICAgLm1lbnUtb3B0aW9uLWljb24tY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICAubWVudS1vcHRpb24taWNvbjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNvbnRleHQtYWNjZXNzLWxldmVsKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5tZW51LW9wdGlvbi1pY29uLXRleHQge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTFweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLnN0YXRlLXZhbHVlLTAge1xyXG4gICAgICAgICAgICAgICAgLS1pY29uLWNvbG91cjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTQpO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy00KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLnN0YXRlLXZhbHVlLTEge1xyXG4gICAgICAgICAgICAgICAgLS1pY29uLWNvbG91cjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTApO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy0wKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLnN0YXRlLXZhbHVlLTIge1xyXG4gICAgICAgICAgICAgICAgLS1pY29uLWNvbG91cjogdmFyKC0tYmxhY2stY29sb3VyKTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1ibGFjay1jb2xvdXIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYuc3RhdGUtdmFsdWUtMywgJi5zdGF0ZS12YWx1ZS00IHtcclxuICAgICAgICAgICAgICAgIC0taWNvbi1jb2xvdXI6IHZhcigtLWFjY2VudC1jb2xvdXItMS1saWdodG5lc3MtMCk7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tYWNjZW50LWNvbG91ci0xLWxpZ2h0bmVzcy0wKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLnB1Ymxpc2hlZCB7XHJcbiAgICAgICAgICAgIC5tZW51LW9wdGlvbi1pY29uOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBjb250ZXh0LXB1Ymxpc2hlZCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5zdGF0ZS12YWx1ZS10cnVlIHtcclxuICAgICAgICAgICAgICAgIC0taWNvbi1jb2xvdXI6IHZhcigtLXN1Y2Nlc3MtY29sb3VyLWxpZ2h0bmVzcy0wKTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1zdWNjZXNzLWNvbG91ci1saWdodG5lc3MtMCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5zdGF0ZS12YWx1ZS1mYWxzZSB7XHJcbiAgICAgICAgICAgICAgICAtLWljb24tY29sb3VyOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtNCk7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBFZGl0IE9wdGlvbnMuXHJcbiAgICAgICAgJi5lZGl0LW1lbnUgLm1lbnUtb3B0aW9uLWljb246YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgY29udGV4dC1tZW51LWVkaXQpO1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG91cjY7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuZWRpdC10ZXh0IC5tZW51LW9wdGlvbi1pY29uOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNvbnRleHQtZWRpdC10ZXh0KTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmVkaXQtcHJvcGVydGllcyAubWVudS1vcHRpb24taWNvbjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBjb250ZXh0LWVkaXQtcHJvcGVydGllcyk7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBjdXN0b20taWNvbi1mYW1pbHkoJGV4cHJlc3MtZGVmYXVsdC1pY29ucywgJHNpdGUtaWNvbnMtY3VzdG9tLWNvbnRleHQtbWVudS1lZGl0LXByb3BlcnRpZXMtaWNvbik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYubW92ZS11cCAubWVudS1vcHRpb24taWNvbjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBjb250ZXh0LW1vdmUtdXApO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLm1vdmUtZG93biAubWVudS1vcHRpb24taWNvbjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBjb250ZXh0LW1vdmUtZG93bik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuaW5zZXJ0LWJlZm9yZSAubWVudS1vcHRpb24taWNvbjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBjb250ZXh0LWluc2VydC1iZWZvcmUpO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBjdXN0b20taWNvbi1mYW1pbHkoJGV4cHJlc3MtZGVmYXVsdC1pY29ucywgJHNpdGUtaWNvbnMtY3VzdG9tLWNvbnRleHQtbWVudS1pbnNlcnQtYmVmb3JlLWljb24pO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmluc2VydC1hZnRlciAubWVudS1vcHRpb24taWNvbjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBjb250ZXh0LWluc2VydC1hZnRlcik7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6IGN1c3RvbS1pY29uLWZhbWlseSgkZXhwcmVzcy1kZWZhdWx0LWljb25zLCAkc2l0ZS1pY29ucy1jdXN0b20tY29udGV4dC1tZW51LWluc2VydC1hZnRlci1pY29uKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5wcm9tb3RlIC5tZW51LW9wdGlvbi1pY29uOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNvbnRleHQtcHJvbW90ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuZGVtb3RlIC5tZW51LW9wdGlvbi1pY29uOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNvbnRleHQtZGVtb3RlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5kZWxldGUgLm1lbnUtb3B0aW9uLWljb246YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgY29udGV4dC1kZWxldGUpO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDE3cHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYubW92ZS1hcnRpY2xlIC5tZW51LW9wdGlvbi1pY29uOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNvbnRleHQtbW92ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuYXVkaXQtdHJhaWwgLm1lbnUtb3B0aW9uLWljb246YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgY29udGV4dC1hdWRpdCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbi0tLS0tIEdyYWR1YXRlZCBDb2xvdXIgRWRnZSAtLS0tLS0gXHJcbkVkZ2UgZWZmZWN0IHdoZXJlIHRoZSBpcyB0eXBpY2FsbHkgMyB0b25lcyBvZiBhIHNwZWNpZmljIGNvbG91ciBpbiB0aGUgY29ybmVyIG9mIGEgZWxlbWVudCAvIGNvbXBvbmVudC5cclxuUG9zc2libGUgY2xhc3MgY29uZmlndXJhdGlvbiBvcHRpb25zOlxyXG4tIE9wYWNpdHkgZW51bWVyYXRpb24gKCBIaWdoLCBNZWRpdW0sIExvdyApXHJcbi0gUG9zaXRpb24gVG9wICsgQm90dG9tIEwgJiBSIGNvcm5lcnNcclxuXHJcbkZvciBhIGRlbW9uc3RyYXRpb24gZ28gdG8gL3N0YXRpYy9ncmFkdWF0ZWQtY29sb3VyLWVkZ2UtdGVzdC5odG1sXHJcbiovXHJcblxyXG5cclxuXHJcbi5ncmFkdWF0ZWQtY29sb3VyLWVkZ2Uge1xyXG4gICAgLS1ncmFkdWF0ZWQtc3RlcC1oZWlnaHQ6IHZhcigtLWNvbXBvbmVudC1zcGVjaWZjLXN0ZXAtaGVpZ2h0LCAjeyRncmFkdWF0ZWQtY29sb3VyLWVkZ2Utc3RlcC1oZWlnaHR9KTtcclxuICAgICRncmFkdWF0ZWQtc3RlcC13aWR0aDogNjAwcHg7XHJcbiAgICB3aWR0aDogJGdyYWR1YXRlZC1zdGVwLXdpZHRoO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAvLyBUb3AgTGVmdC5cclxuICAgICYucG9zaXRpb24tMSB7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIHJpZ2h0OiBjYWxjKDEwMCUgLSAoI3soJGdyYWR1YXRlZC1zdGVwLXdpZHRoIC8gMil9ICsgKHZhcigtLWdyYWR1YXRlZC1zdGVwLWhlaWdodCkgKiAje1wiLlwiICsgJGdyYWR1YXRlZC1jb2xvdXItZWRnZS1yb3RhdGV9KSkpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0jeyRncmFkdWF0ZWQtY29sb3VyLWVkZ2Utcm90YXRlfWRlZyk7XHJcbiAgICB9XHJcbiAgICAvLyBUb3AgUmlnaHQuXHJcbiAgICAmLnBvc2l0aW9uLTIge1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICBsZWZ0OiBjYWxjKDEwMCUgLSAoI3soJGdyYWR1YXRlZC1zdGVwLXdpZHRoIC8gMil9ICsgKHZhcigtLWdyYWR1YXRlZC1zdGVwLWhlaWdodCkgKiAje1wiLlwiICsgJGdyYWR1YXRlZC1jb2xvdXItZWRnZS1yb3RhdGV9KSkpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKCN7JGdyYWR1YXRlZC1jb2xvdXItZWRnZS1yb3RhdGV9ZGVnKTtcclxuICAgIH1cclxuICAgIC8vIEJvdHRvbSBMZWZ0LlxyXG4gICAgJi5wb3NpdGlvbi0zIHtcclxuICAgICAgICByaWdodDogY2FsYygxMDAlIC0gKCN7KCRncmFkdWF0ZWQtc3RlcC13aWR0aCAvIDIpfSArICh2YXIoLS1ncmFkdWF0ZWQtc3RlcC1oZWlnaHQpICogI3tcIi5cIiArICRncmFkdWF0ZWQtY29sb3VyLWVkZ2Utcm90YXRlfSkpKTtcclxuICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xyXG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKCN7JGdyYWR1YXRlZC1jb2xvdXItZWRnZS1yb3RhdGV9ZGVnKTtcclxuICAgIH1cclxuICAgIC8vIEJvdHRvbSBSaWdodC5cclxuICAgICYucG9zaXRpb24tNCB7XHJcbiAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgIGxlZnQ6IGNhbGMoMTAwJSAtICgjeygkZ3JhZHVhdGVkLXN0ZXAtd2lkdGggLyAyKX0gKyAodmFyKC0tZ3JhZHVhdGVkLXN0ZXAtaGVpZ2h0KSAqICN7XCIuXCIgKyAkZ3JhZHVhdGVkLWNvbG91ci1lZGdlLXJvdGF0ZX0pKSk7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xyXG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0jeyRncmFkdWF0ZWQtY29sb3VyLWVkZ2Utcm90YXRlfWRlZyk7XHJcbiAgICB9XHJcbiAgICAmLm9wYWNpdHktMSB7XHJcbiAgICAgICAgLnN0ZXAge1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAuOTtcclxuICAgICAgICAgICAgJiArIC5zdGVwIHtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IC42O1xyXG4gICAgICAgICAgICAgICAgJiArIC5zdGVwIHtcclxuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAuMztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYub3BhY2l0eS0yIHtcclxuICAgICAgICAuc3RlcCB7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IC42O1xyXG4gICAgICAgICAgICAmICsgLnN0ZXAge1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogLjM7XHJcbiAgICAgICAgICAgICAgICAmICsgLnN0ZXAge1xyXG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IC4xO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5vcGFjaXR5LTMge1xyXG4gICAgICAgIC5zdGVwIHtcclxuICAgICAgICAgICAgb3BhY2l0eTogLjM7XHJcbiAgICAgICAgICAgICYgKyAuc3RlcCB7XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAuMjtcclxuICAgICAgICAgICAgICAgICYgKyAuc3RlcCB7XHJcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogLjE7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuc3RlcCB7XHJcbiAgICAgICAgd2lkdGg6ICRncmFkdWF0ZWQtc3RlcC13aWR0aDtcclxuICAgICAgICBoZWlnaHQ6IHZhcigtLWdyYWR1YXRlZC1zdGVwLWhlaWdodCk7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTApO1xyXG4gICAgfVxyXG59IiwiLypcclxuLS0tLS0gQXhpcyBSaWNoIFRleHQgRWRpdG9ycyAtLS0tLSBcclxuQmVzcG9rZSBydWxlcyB0aGF0IGdldCBhcHBsaWVkIHdoZW4gaW50ZXJncmF0aW5nIHdpdGggdGhpcmQtcGFydHkgZWRpdG9ycy5cclxuXHJcbkdlbmVyYWwgcnVsZXMgdGhhdCBnZXQgYXBwbGllZCB0byAucmljaC10ZXh0LWVkaXRvci1jb250YWluZXIgd2hpY2ggaXMgdGhlIGNvbW1vbiBjb250YWluZXIgdGhhdCBnZXRzIHVzZWQgYWNyb3NzIGFsbCBlZGl0b3JzLlxyXG4qL1xyXG5cclxuLy8gTWFrZSBzdXJlIGNrZWRpdG9yJ3MgY29udGVudCBvdmVybGFwcyBtb2RhbHMgYXMgaXQgZG9lcyBET00gbWFuaXBsYXRpb24gb3V0c2lkZSBvZiBtb2RhbHMuXHJcbi5jay1ib2R5LXdyYXBwZXIge1xyXG4gICAgLy8gTWFrZSBzdXJlIGNvbnRlbnQgb3ZlcmxhcHMgbW9kYWxzLlxyXG4gICAgei1pbmRleDogI3soJG1vZGFsLWNvbnRlbnQtei1pbmRleCArIDIwKX07XHJcbiAgICAmLmRpc2FibGVkIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG59XHJcblxyXG4uY2stZWRpdG9yIHtcclxuICAgIC5jay1jb250ZW50IHtcclxuICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5yaWNoLXRleHQtZWRpdG9yLWNvbnRhaW5lciB7XHJcbiAgICAvLyBFZGl0b3Igc3BlY2lmaWMgQ1NTIHZhcmlhYmxlcy5cclxuICAgIC0tY2stY29sb3ItYmFzZS1ib3JkZXI6ICN7JGNvbG91cjMtMX07XHJcbiAgICAtLWNrLWNvbG9yLWJhc2UtZXJyb3I6ICN7bWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKX07XHJcbiAgICAtLWNrLWltYWdlLXN0eWxlLXNwYWNpbmc6ICN7c3BhY2luZy12YWx1ZSgkY21zLWltYWdlLXNwYWNpbmcsIDEpfTtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIC0tY2stY29sb3ItaW1hZ2UtY2FwdGlvbi10ZXh0OiAjeyRib2R5LWZvbnQtY29sb3VyfTtcclxufVxyXG4vLyBNYWtlIHN1cmUgdGV4dCBhcmVhIGlzIG5vdCBzaG93biB3aGVuIGluaXRpYWxpc2luZy5cclxuW2RhdGEtYXhpcy1yaWNoLXRleHQtZWRpdG9yXSB7XHJcbiAgICAvLyBCZWZvcmUgaW5pdGlhbGlzYXRpb24gbWFrZSBzdXJlIGNvbnRlbnQgaXMgbWluLWhlaWdodDogMTAwcHggZm9yIHNwaW5uZXIuXHJcbiAgICBtaW4taGVpZ2h0OiAxMDBweDtcclxuICAgICY6bm90KC5yaWNoLXRleHQtZWRpdG9yLWNvbnRhaW5lcikge1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvdXIzLTE7XHJcbiAgICB9XHJcbiAgICA+IHRleHRhcmVhIHtcclxuICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH0gICBcclxufVxyXG4vLyBTdXBwcmVzc2luZyB0aGlzIGFzIGZvcm1hbCBwYWdlIGJ1dHRvbnMgaGFzIG5vdyBiZWVuIGltcGxlbWVudGVkIGZvciBtb2RhbHMgODYyNTY2LlxyXG4vLyAuc3VibWlzc2lvbi1jb250cm9scy1jb250YWluZXIge1xyXG4vLyAgICAgd2lkdGg6IDEwMCU7XHJcbi8vICAgICBkaXNwbGF5OiBmbGV4O1xyXG4vLyAgICAgbWFyZ2luOiAyMHB4IDAgMDtcclxuLy8gfVxyXG5cclxuLmNrLXNvdXJjZS1lZGl0aW5nLWFyZWEgdGV4dGFyZWEge1xyXG4gICAgb3ZlcmZsb3c6IGF1dG8gIWltcG9ydGFudDtcclxuICAgIFxyXG59XHJcblxyXG4vLyBJbmRlbnRhdGlvbi5cclxuQGZvciAkaW5kZW50YXRpb24tbGV2ZWwgZnJvbSAxIHRocm91Z2ggJHJpY2gtdGV4dC1lZGl0b3ItaW5kZW50YXRpb24tbWF4LWxldmVscyB7XHJcbiAgICAuYXhpcy1lZGl0b3ItaW5kZW50LWxldmVsLSN7JGluZGVudGF0aW9uLWxldmVsfSB7XHJcbiAgICAgICAgLS1pbmRlbnQtbWFyZ2luOiAwIDAgMCBjYWxjKCN7JGluZGVudGF0aW9uLWxldmVsfSAqICN7JHJpY2gtdGV4dC1lZGl0b3ItaW5kZW50YXRpb24tb2Zmc2V0fSk7XHJcbiAgICAgICAgJiArIHVsLCAmICsgb2wge1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogY2FsYygjeyRpbmRlbnRhdGlvbi1sZXZlbH0gKiAjeyRyaWNoLXRleHQtZWRpdG9yLWluZGVudGF0aW9uLW9mZnNldH0pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG5cclxuLS0tLS0gVmlkZW8gUGxheWVyIC0tLS1cclxuXHJcbklNUE9SVEFOVDogVGhpcyBpcyBzcGVjaWZpY2FsbHkgZm9yIGVtYmVkZGluZyBZb3V0dWJlIHZpZGVvcyAvIEJhbm5lciBzZXJpZXMuIC9zdGF0aWMvdmlkZW8tc2VyaWVzLmh0bWxcclxuXHJcbkhhbmRsZXM6XHJcbi0gVGh1bWJuYWlsIHBsYXkgaWNvbi5cclxuLSBEdXJhdGlvbiBmb3JtYXR0aW5nLlxyXG4tIFZpZGVvIGluZGljYXRvciB0ZXh0ICggY2xpY2sgaGVyZSB0byB3YXRjaCB2aWRlbyApXHJcblxyXG4qL1xyXG5cclxuXHJcblxyXG4udmlkZW8tcGxheWVyLWNvbnRhaW5lciB7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICAuaW1hZ2Uge1xyXG4gICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoI3tob3Zlci1jb2xvdXIoJHZpZGVvLXBsYXllci10aHVtYm5haWwtaWNvbi1jb2xvdXIpfSk7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoI3tob3Zlci1jb2xvdXIoJHZpZGVvLXBsYXllci10aHVtYm5haWwtaWNvbi1iYWNrZ3JvdW5kKX0pO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoI3tob3Zlci1jb2xvdXIoJHZpZGVvLXBsYXllci10aHVtYm5haWwtaWNvbi1jb2xvdXIpfSk7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvLCBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uSW50cm8sIGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmltYWdlIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgQGluY2x1ZGUgdmlkZW8tcGxheS1pY29uLW92ZXJsYXkoKTtcclxuICAgIH1cclxuICAgIC5kdXJhdGlvbi1jb250YWluZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZ2FwOiA1cHg7XHJcbiAgICAgICAgY29sb3I6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy0wKTtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHZpZGVvLXBsYXllci1kdXJhdGlvbi1pY29ucyk7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmxhYmVsLCAudmFsdWUge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwYXJhZ3JhcGgtZm9udC1zaXplKTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAudmlkZW8tcGxheWVyLWluZGljYXRvci10ZXh0IHtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcclxuICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgfVxyXG4gICAgLy8gRm9yY2UgcmVhZCBtb3JlIGNvbnRhaW5lcnMgdG8gc2hyaW5rIHRvIGZpdCBhdmFpbGFibGUgYXJlYS5cclxuICAgIC5yZWFkLW1vcmUge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgZmxleDogMTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCIvKlxyXG4gIE11bHRpbWVkaWEgRWxlbWVudFxyXG4gIFxyXG4gIEhhbmRsZXMgc3R5bGluZyBmb3IgdmlkZW8gcGxheWJhY2tcclxuXHJcbiovXHJcblxyXG4vLyBHZW5lcmFsIHZpZGVvIHJ1bGVzLlxyXG52aWRlbyB7XHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi52aWRlbyB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAvLyBTdXBwcmVzc2luZyBiZXNwb2tlIG92ZXJsYXkgZm9yIFNhZmFyaSBkdWUgdG8gbm8gXHJcbiAgICBAc3VwcG9ydHMgbm90ICgtYXBwbGUtcGF5LWJ1dHRvbi1zdHlsZTogaW5oZXJpdCkge1xyXG4gICAgICAgICYuaXMtcmVhZHktdG8tcGxheSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHZpZGVvLXBsYXktaWNvbi1vdmVybGF5KCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYucmVwbGF5LXZpZGVvIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgdmlkZW8tcmVwbGF5LWljb24tb3ZlcmxheSgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gVW5zdXBwb3J0ZWQgbWVkaWEgdHlwZS5cclxuLnNvdXJjZS11bnN1cHBvcnRlZCB7XHJcbiAgICAmID4gdmlkZW8ge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbiAgICAmID4gaW1nIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyBGYWxsYmFjayBlbGVtZW50LlxyXG5bZGF0YS1mYWxsYmFja10ge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxufVxyXG4uZmFsbGJhY2stZWxlbWVudCB7XHJcbiAgICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgJi5hY3RpdmUge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICB9XHJcbiAgICBpbWcge1xyXG4gICAgICAgIHotaW5kZXg6IDE7XHJcbiAgICB9XHJcbiAgICAuZmFsbGJhY2stdGV4dCB7XHJcbiAgICAgICAgJGJhY2tncm91bmQtY29sb3VyOiBtYXAtZ2V0KCRuZXV0cmFsLWNvbG91ciwgMTApO1xyXG4gICAgICAgICRlcnJvci1pY29uLXNpemU6IDMycHg7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAjeygkZXJyb3ItaWNvbi1zaXplICsgMjApfSAxZnI7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBwYWRkaW5nOiAyMHB4O1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGJhY2tncm91bmQtY29sb3VyLCAuOCk7XHJcbiAgICAgICAgY29sb3I6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy0wKTtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcclxuICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgIHotaW5kZXg6IDI7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBhbGVydCk7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICRlcnJvci1pY29uLXNpemU7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDE7XHJcbiAgICAgICAgICAgIGdyaWQtcm93OiAxIC8gc3BhbiAyO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuZXJyb3ItZGV0YWlscyB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIH1cclxuICAgICAgICBzcGFuLCBkaXYge1xyXG4gICAgICAgICAgICBncmlkLWNvbHVtbjogMjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiLy8gc2Fzcy1saW50OmRpc2FibGUgbm8tdmVuZG9yLXByZWZpeGVzXG5cbkBtaXhpbiBmb3VuZGF0aW9uLW5vcm1hbGl6ZSgpIHtcbiAgLyohIG5vcm1hbGl6ZS5jc3MgdjguMC4wIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xuXG4gIC8vIERvY3VtZW50XG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gMS4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICAvLyAyLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIGlPUy5cblxuICBodG1sIHtcbiAgICBsaW5lLWhlaWdodDogMS4xNTsgLy8gMVxuICAgIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLy8gMlxuICB9XG5cbiAgLy8gU2VjdGlvbnNcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMuXG5cbiAgYm9keSB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLy8gQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICAvLyBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLlxuXG4gIGgxIHtcbiAgICBmb250LXNpemU6IDJlbTtcbiAgICBtYXJnaW46IDAuNjdlbSAwO1xuICB9XG5cbiAgLy8gR3JvdXBpbmcgY29udGVudFxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gIC8vIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuXG4gIGhyIHtcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLy8gMVxuICAgIGhlaWdodDogMDsgLy8gMVxuICAgIG92ZXJmbG93OiB2aXNpYmxlOyAvLyAyXG4gIH1cblxuICAvLyAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAvLyAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG5cbiAgcHJlIHtcbiAgICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8vIDFcbiAgICBmb250LXNpemU6IDFlbTsgLy8gMlxuICB9XG5cbiAgLy8gVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG5cbiAgYSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAvLyAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gQ2hyb21lIDU3LVxuICAvLyAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuXG4gIGFiYnJbdGl0bGVdIHtcbiAgICBib3JkZXItYm90dG9tOiAwOyAvLyAxXG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvLyAyXG4gIH1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuXG4gIGIsXG4gIHN0cm9uZyB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbiAgfVxuXG4gIC8vIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gIC8vIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cblxuICBjb2RlLFxuICBrYmQsXG4gIHNhbXAge1xuICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLy8gMVxuICAgIGZvbnQtc2l6ZTogMWVtOyAvLyAyXG4gIH1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cblxuICBzbWFsbCB7XG4gICAgZm9udC1zaXplOiA4MCU7XG4gIH1cblxuICAvLyBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbiAgLy8gYWxsIGJyb3dzZXJzLlxuXG4gIHN1YixcbiAgc3VwIHtcbiAgICBmb250LXNpemU6IDc1JTtcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICB9XG5cbiAgc3ViIHtcbiAgICBib3R0b206IC0wLjI1ZW07XG4gIH1cblxuICBzdXAge1xuICAgIHRvcDogLTAuNWVtO1xuICB9XG5cbiAgLy8gRW1iZWRkZWQgY29udGVudFxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAuXG5cbiAgaW1nIHtcbiAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIH1cblxuICAvLyBGb3Jtc1xuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzLlxuICAvLyAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG5cbiAgYnV0dG9uLFxuICBpbnB1dCxcbiAgb3B0Z3JvdXAsXG4gIHNlbGVjdCxcbiAgdGV4dGFyZWEge1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0OyAvLyAxXG4gICAgZm9udC1zaXplOiAxMDAlOyAvLyAxXG4gICAgbGluZS1oZWlnaHQ6IDEuMTU7IC8vIDFcbiAgICBtYXJnaW46IDA7IC8vIDJcbiAgfVxuXG4gIC8vIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICAvLyAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuXG4gIGJ1dHRvbixcbiAgaW5wdXQgeyAvLyAxXG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAgLy8gMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuXG4gIGJ1dHRvbixcbiAgc2VsZWN0IHsgLy8gMVxuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICB9XG5cbiAgLy8gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cblxuICBidXR0b24sXG4gIFt0eXBlPVwiYnV0dG9uXCJdLFxuICBbdHlwZT1cInJlc2V0XCJdLFxuICBbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuXG4gIGJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbiAgW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG4gIFt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG4gIFt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIC8vIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cblxuICBidXR0b246LW1vei1mb2N1c3JpbmcsXG4gIFt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxuICBbdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuICBbdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG4gICAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xuICB9XG5cbiAgLy8gQ29ycmVjdCB0aGUgcGFkZGluZyBpbiBGaXJlZm94LlxuXG4gIGZpZWxkc2V0IHtcbiAgICBwYWRkaW5nOiAwLjM1ZW0gMC43NWVtIDAuNjI1ZW07XG4gIH1cblxuICAvLyAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICAvLyAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gIC8vIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAgLy8gICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG5cbiAgbGVnZW5kIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvLyAxXG4gICAgY29sb3I6IGluaGVyaXQ7IC8vIDJcbiAgICBkaXNwbGF5OiB0YWJsZTsgLy8gMVxuICAgIG1heC13aWR0aDogMTAwJTsgLy8gMVxuICAgIHBhZGRpbmc6IDA7IC8vIDNcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvLyAxXG4gIH1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuXG4gIHByb2dyZXNzIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDEwKy5cblxuICB0ZXh0YXJlYSB7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gIH1cblxuICAvLyAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC5cbiAgLy8gMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLlxuXG4gIFt0eXBlPVwiY2hlY2tib3hcIl0sXG4gIFt0eXBlPVwicmFkaW9cIl0ge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8vIDFcbiAgICBwYWRkaW5nOiAwOyAvLyAyXG4gIH1cblxuICAvLyBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG5cbiAgW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG4gIFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cblxuICAvLyAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAgLy8gMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG5cbiAgW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvLyAxXG4gICAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8vIDJcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cblxuICBbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB9XG5cbiAgLy8gMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAgLy8gMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuXG4gIDo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvLyAxXG4gICAgZm9udDogaW5oZXJpdDsgLy8gMlxuICB9XG5cbiAgLy8gSW50ZXJhY3RpdmVcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSAxMCssIGFuZCBGaXJlZm94LlxuXG4gIGRldGFpbHMge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgLy8gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuXG4gIHN1bW1hcnkge1xuICAgIGRpc3BsYXk6IGxpc3QtaXRlbTtcbiAgfVxuXG4gIC8vIE1pc2NcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMCsuXG5cbiAgdGVtcGxhdGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC5cblxuICBbaGlkZGVuXSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC8vIERpc2FibGUgb3V0bGluZSB3aGVuIGludGVudCBpcyBjbGVhcmx5IG1vdXNlIGFuZCB0b3VjaFxuICBbZGF0YS13aGF0aW50ZW50PVwibW91c2VcIl0sXG4gIFtkYXRhLXdoYXRpbnRlbnQ9XCJ0b3VjaFwiXSxcbiAgW2RhdGEtd2hhdGlucHV0PVwibW91c2VcIl0sXG4gIFtkYXRhLXdoYXRpbnB1dD1cInRvdWNoXCJdIHtcbiAgICAqLCAqOmZvY3VzIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLy8gRGlzYWJsZSBpT1MgY2FsbG91dHMgd2hlbiBkcmFnZ2FibGUgaXMgZmFsc2VcbiAgW2RyYWdnYWJsZT1mYWxzZV0ge1xuICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vIHNhc3MtbGludDpkaXNhYmxlIG5vLWNvbG9yLWxpdGVyYWxzLCBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ2xvYmFsXG4vLy8vXG5cbkBpbXBvcnQgJ3V0aWwvdXRpbCc7XG5cbi8vLyBGb250IHNpemUgYXR0cmlidXRlIGFwcGxpZWQgdG8gYDxodG1sPmAgYW5kIGA8Ym9keT5gLiBXZSB1c2UgMTAwJSBieSBkZWZhdWx0IHNvIHRoZSB2YWx1ZSBpcyBpbmhlcml0ZWQgZnJvbSB0aGUgdXNlcidzIGJyb3dzZXIgc2V0dGluZ3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB3aWR0aCBvZiB5b3VyIHNpdGUuIFVzZWQgYnkgdGhlIGdyaWQgdG8gZGV0ZXJtaW5lIHJvdyB3aWR0aC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtd2lkdGg6IHJlbS1jYWxjKDEyMDApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3IgYWxsIHR5cGUuIGAkZ2xvYmFsLWxpbmVoZWlnaHRgIGlzIDI0cHggd2hpbGUgYCRnbG9iYWwtZm9udC1zaXplYCBpcyAxNnB4XG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLWxpbmVoZWlnaHQ6IDEuNSAhZGVmYXVsdDtcblxuLy8vIENvbG9ycyB1c2VkIGZvciBidXR0b25zLCBjYWxsb3V0cywgbGlua3MsIGV0Yy4gVGhlcmUgbXVzdCBhbHdheXMgYmUgYSBjb2xvciBjYWxsZWQgYHByaW1hcnlgLlxuLy8vIEB0eXBlIE1hcFxuJGZvdW5kYXRpb24tcGFsZXR0ZTogKFxuICBcInByaW1hcnlcIjogIzE3NzliYSxcbiAgXCJzZWNvbmRhcnlcIjogIzc2NzY3NixcbiAgXCJzdWNjZXNzXCI6ICMzYWRiNzYsXG4gIFwid2FybmluZ1wiOiAjZmZhZTAwLFxuICBcImFsZXJ0XCI6ICNjYzRiMzcsXG4pICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgbGlnaHQgZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGxpZ2h0LWdyYXk6ICNlNmU2ZTYgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBtZWRpdW0gZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJG1lZGl1bS1ncmF5OiAjY2FjYWNhICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgZGFyayBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kZGFyay1ncmF5OiAjOGE4YThhICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgYmxhY2sgdWkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRibGFjazogIzBhMGEwYSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIHdoaXRlIHVpIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kd2hpdGU6ICNmZWZlZmUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIENvbG9yXG4kYm9keS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIENvbG9yXG4kYm9keS1mb250LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHN0YWNrIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIExpc3RcbiRib2R5LWZvbnQtZmFtaWx5OiAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG5cbi8vLyBTZXQgdG8gYHRydWVgIHRvIGVuYWJsZSBzYWZlIHBhZGRpbmcgb24gdGhlIGJvZHkgZm9yIG5vbi1yZWN0YW5ndWxhciBkZXZpY2VzIChpLmUuIHBob25lcyB3aXRoIG5vdGNoZXMpXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJvZHktc2FmZS1wYWRkaW5nOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIFNldCB0byBgdHJ1ZWAgdG8gZW5hYmxlIGFudGlhbGlhc2VkIHR5cGUsIHVzaW5nIHRoZSBgLXdlYmtpdC1mb250LXNtb290aGluZ2AgYW5kIGAtbW96LW9zeC1mb250LXNtb290aGluZ2AgQ1NTIHByb3BlcnRpZXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJvZHktYW50aWFsaWFzZWQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgbWFyZ2luIG9uIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBwYWRkaW5nIG9uIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgcG9zaXRpb25pbmcgb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcG9zaXRpb246IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgZm9udCB3ZWlnaHQgdXNlZCBmb3Igbm9ybWFsIHR5cGUuXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxuJGdsb2JhbC13ZWlnaHQtbm9ybWFsOiBub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgZm9udCB3ZWlnaHQgdXNlZCBmb3IgYm9sZCB0eXBlLlxuLy8vIEB0eXBlIEtleXdvcmQgfCBOdW1iZXJcbiRnbG9iYWwtd2VpZ2h0LWJvbGQ6IGJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgYWxsIGVsZW1lbnRzIHRoYXQgaGF2ZSBhIGJvcmRlciByYWRpdXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXJhZGl1czogMCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBhbGwgbWVudSBzdHlsZXMuIENhbiBiZSBvdmVyd3JpdHRlbiBhdCBpbmRpdmlkdWFsIG1lbnUgY29tcG9uZW50IGxldmVsLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1tZW51LXBhZGRpbmc6IDAuN3JlbSAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIGFsbCBtZW51IHN0eWxlcy4gTmVzdGVkIG1hcmdpbiBmb3Igc3VibWVudS5cbiRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gU2V0cyB0aGUgdGV4dCBkaXJlY3Rpb24gb2YgdGhlIENTUy4gQ2FuIGJlIGVpdGhlciBgbHRyYCBvciBgcnRsYC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kZ2xvYmFsLXRleHQtZGlyZWN0aW9uOiBsdHIgIWRlZmF1bHQ7XG5cbi8vLyBFbmFibGVzIGZsZXhib3ggZm9yIGNvbXBvbmVudHMgdGhhdCBzdXBwb3J0IGl0LlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRnbG9iYWwtZmxleGJveDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEVuYWJsZWQgcmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgcHJvdG90eXBlcyBpZiBhcHBsaWNhYmxlXG4vLy8gQHR5cGUgQm9vbGVhblxuJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM6IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gQnV0dG9uIGN1cnNvcidzIHZhbHVlLCBgYXV0b2AgYnkgZGVmYXVsdFxuLy8vIEB0eXBlIEtleXdvcmRcbiRnbG9iYWwtYnV0dG9uLWN1cnNvcjogYXV0byAhZGVmYXVsdDtcblxuQGlmIG5vdCBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSB7XG4gIEBlcnJvciAnSW4gJGZvdW5kYXRpb24tcGFsZXR0ZSwgeW91IG11c3QgaGF2ZSBhIGNvbG9yIG5hbWVkIFwicHJpbWFyeVwiLic7XG59XG5cbi8vIEludGVybmFsIHZhcmlhYmxlcyB1c2VkIGZvciB0ZXh0IGRpcmVjdGlvblxuJGdsb2JhbC1sZWZ0OiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgcmlnaHQsIGxlZnQpO1xuJGdsb2JhbC1yaWdodDogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIGxlZnQsIHJpZ2h0KTtcblxuLy8gSW50ZXJuYWwgdmFyaWFibGUgdGhhdCBjb250YWlucyB0aGUgZmxleCBqdXN0aWZ5aW5nIG9wdGlvbnNcbiQtemYtZmxleC1qdXN0aWZ5OiAtemYtZmxleC1qdXN0aWZ5KCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24pO1xuXG4vLy8gR2xvYmFsIHRvbGVyYW5jZSBmb3IgY29sb3IgcGljayBjb250cmFzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2U6IDAgIWRlZmF1bHQ7XG5cbi8vIEludGVybmFsIHZhcmlhYmxlcyB1c2VkIGZvciBjb2xvcnNcbkBpbmNsdWRlIGFkZC1mb3VuZGF0aW9uLWNvbG9ycztcblxuQG1peGluIGZvdW5kYXRpb24tZ2xvYmFsLXN0eWxlcyB7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbm9ybWFsaXplO1xuXG4gIC8vIFRoZXNlIHN0eWxlcyBhcmUgYXBwbGllZCB0byBhIDxtZXRhPiB0YWcsIHdoaWNoIGlzIHJlYWQgYnkgdGhlIEZvdW5kYXRpb24gSmF2YVNjcmlwdFxuICAuZm91bmRhdGlvbi1tcSB7XG4gICAgZm9udC1mYW1pbHk6ICcjey16Zi1icC1zZXJpYWxpemUoJGJyZWFrcG9pbnRzKX0nO1xuICB9XG5cbiAgaHRtbCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBmb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gU2V0IGJveC1zaXppbmcgZ2xvYmFsbHkgdG8gaGFuZGxlIHBhZGRpbmcgYW5kIGJvcmRlciB3aWR0aHNcbiAgKixcbiAgKjo6YmVmb3JlLFxuICAqOjphZnRlciB7XG4gICAgYm94LXNpemluZzogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIERlZmF1bHQgYm9keSBzdHlsZXNcbiAgYm9keSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICBAaWYgKCRib2R5LXNhZmUtcGFkZGluZykge1xuICAgICAgLy8gdXNpbmcgZW52aXJvbm1lbnQgdmFyaWFibGVzIHRvIGFjY291bnQgZm9yIG5vbi1yZWN0YW5ndWxhciBkaXNwbGF5cyBlLmcuIHBob25lcyB3aXRoIG5vdGNoZXNcbiAgICAgIHBhZGRpbmctdG9wOiBlbnYoc2FmZS1hcmVhLWluc2V0LXRvcCk7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiBlbnYoc2FmZS1hcmVhLWluc2V0LXJpZ2h0KTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiBlbnYoc2FmZS1hcmVhLWluc2V0LWJvdHRvbSk7XG4gICAgICBwYWRkaW5nLWxlZnQ6IGVudihzYWZlLWFyZWEtaW5zZXQtbGVmdCk7XG4gICAgfVxuXG4gICAgYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZDtcblxuICAgIGZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuICAgIGxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmVoZWlnaHQ7XG4gICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG5cbiAgICBAaWYgKCRib2R5LWFudGlhbGlhc2VkKSB7XG4gICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4ZXNcbiAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tdmVuZG9yLXByZWZpeGVzXG4gICAgfVxuICB9XG5cbiAgaW1nIHtcbiAgICAvLyBHZXQgcmlkIG9mIGdhcCB1bmRlciBpbWFnZXMgYnkgbWFraW5nIHRoZW0gZGlzcGxheTogaW5saW5lLWJsb2NrOyBieSBkZWZhdWx0XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAvLyBHcmlkIGRlZmF1bHRzIHRvIGdldCBpbWFnZXMgYW5kIGVtYmVkcyB0byB3b3JrIHByb3Blcmx5XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBiaWN1YmljO1xuICB9XG5cbiAgLy8gTWFrZSBzdXJlIHRleHRhcmVhIHRha2VzIG9uIGhlaWdodCBhdXRvbWF0aWNhbGx5XG4gIHRleHRhcmVhIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWluLWhlaWdodDogNTBweDtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgfVxuXG4gIC8vIE1ha2Ugc2VsZWN0IGVsZW1lbnRzIGFyZSAxMDAlIHdpZHRoIGJ5IGRlZmF1bHRcbiAgc2VsZWN0IHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG5cbiAgLy8gU3R5bGVzIEdvb2dsZSBNYXBzIGFuZCBNYXBRdWVzdCBlbWJlZHMgcHJvcGVybHlcbiAgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1pZHNcbiAgLm1hcF9jYW52YXMsXG4gIC5tcWEtZGlzcGxheSB7XG4gICAgaW1nLFxuICAgIGVtYmVkLFxuICAgIG9iamVjdCB7XG4gICAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAvLyBSZXNldCA8YnV0dG9uPiBzdHlsZXMgY3JlYXRlZCBieSBtb3N0IGJyb3dzZXJzXG4gIGJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY3Vyc29yOiAkZ2xvYmFsLWJ1dHRvbi1jdXJzb3I7XG4gIH1cblxuICAvLyBQcmV2ZW50IHRleHQgb3ZlcmZsb3cgb24gcHJlXG4gIHByZSB7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICB9XG5cbiAgLy8gTWFrZSByZXNldCBpbmhlcml0IGZvbnQtZmFtaWx5IGluc3RlYWQgb2Ygc2V0dGluZ3Mgc2Fucy1zZXJpZlxuICBidXR0b24sXG4gIGlucHV0LFxuICBvcHRncm91cCxcbiAgc2VsZWN0LFxuICB0ZXh0YXJlYSB7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBJbnRlcm5hbCBjbGFzc2VzIHRvIHNob3cvaGlkZSBlbGVtZW50cyBpbiBKYXZhU2NyaXB0XG4gIC5pcy12aXNpYmxlIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmlzLWhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vIFBhdGNoIHRvIGZpeCBpc3N1ZSAjMTIwODBcbiQtemYtYnAtdmFsdWU6IG51bGw7XG5cbi8vLyBDcmVhdGVzIGFuIGlubmVyIGJveC1zaGFkb3cgZm9yIG9ubHkgb25lIHNpZGVcbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpZGUgLSBTaWRlIHRoZSBzaGFkb3cgaXMgc3VwcG9zZWQgdG8gYXBwZWFyLiBDYW4gYmUgYHRvcGAsIGBsZWZ0YCwgYHJpZ2h0YCBvciBgYm90dG9tYC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNpemUgLSBXaWR0aCBmb3IgdGhlIHRhcmdldCBzaWRlLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIENvbG9yIG9mIHRoZSBzaGFkb3cuXG5AbWl4aW4gaW5uZXItc2lkZS1zaGFkb3coXG4gICRzaWRlOiBib3R0b20sXG4gICRzaXplOiAyMHB4LFxuICAkY29sb3I6IHJnYmEoJGJsYWNrLCAwLjI1KVxuKSB7XG5cbiAgJGhlbHBlcjogcm91bmQoJHNpemUgKiAwLjY1KTtcblxuICBAaWYgKCRzaWRlID09IHRvcCkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgJGhlbHBlciAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9IEBlbHNlIGlmICgkc2lkZSA9PSBsZWZ0KSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgJGhlbHBlciAwICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH0gQGVsc2UgaWYgKCRzaWRlID09IHJpZ2h0KSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgKC0xKSokaGVscGVyIDAgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfSBAZWxzZSBpZiAoJHNpZGUgPT0gYm90dG9tKSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAoLTEpKiRoZWxwZXIgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIENTUyB0cmlhbmdsZSwgd2hpY2ggY2FuIGJlIHVzZWQgZm9yIGRyb3Bkb3duIGFycm93cywgZHJvcGRvd24gcGlwcywgYW5kIG1vcmUuIFVzZSB0aGlzIG1peGluIGluc2lkZSBhIGAmOjpiZWZvcmVgIG9yIGAmOjphZnRlcmAgc2VsZWN0b3IsIHRvIGF0dGFjaCB0aGUgdHJpYW5nbGUgdG8gYW4gZXhpc3RpbmcgZWxlbWVudC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdHJpYW5nbGUtc2l6ZSAtIFdpZHRoIG9mIHRoZSB0cmlhbmdsZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkdHJpYW5nbGUtY29sb3IgLSBDb2xvciBvZiB0aGUgdHJpYW5nbGUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdHJpYW5nbGUtZGlyZWN0aW9uIC0gRGlyZWN0aW9uIHRoZSB0cmlhbmdsZSBwb2ludHMuIENhbiBiZSBgdXBgLCBgcmlnaHRgLCBgZG93bmAsIG9yIGBsZWZ0YC5cbkBtaXhpbiBjc3MtdHJpYW5nbGUoXG4gICR0cmlhbmdsZS1zaXplLFxuICAkdHJpYW5nbGUtY29sb3IsXG4gICR0cmlhbmdsZS1kaXJlY3Rpb25cbikge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcblxuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6ICR0cmlhbmdsZS1zaXplO1xuXG4gIGNvbnRlbnQ6ICcnO1xuXG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSBkb3duKSB7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItY29sb3I6ICR0cmlhbmdsZS1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gdXApIHtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yO1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSByaWdodCkge1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvcjtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gbGVmdCkge1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgbWVudSBpY29uIHdpdGggYSBzZXQgd2lkdGgsIGhlaWdodCwgbnVtYmVyIG9mIGJhcnMsIGFuZCBjb2xvcnMuIFRoZSBtaXhpbiB1c2VzIHRoZSBoZWlnaHQgb2YgdGhlIGljb24gYW5kIHRoZSB3ZWlnaHQgb2YgdGhlIGJhcnMgdG8gZGV0ZXJtaW5lIHNwYWNpbmcuIDxkaXYgY2xhc3M9XCJkb2NzLWV4YW1wbGUtYnVyZ2VyXCI+PC9kaXY+XG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRibGFja10gLSBDb2xvciB0byB1c2UgZm9yIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvci1ob3ZlciBbJGRhcmstZ3JheV0gLSBDb2xvciB0byB1c2Ugd2hlbiB0aGUgaWNvbiBpcyBob3ZlcmVkIG92ZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbMjBweF0gLSBXaWR0aCBvZiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGhlaWdodCBbMTZweF0gLSBIZWlnaHQgb2YgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3ZWlnaHQgWzJweF0gLSBIZWlnaHQgb2YgaW5kaXZpZHVhbCBiYXJzIGluIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFycyBbM10gLSBOdW1iZXIgb2YgYmFycyBpbiB0aGUgaWNvbi5cbkBtaXhpbiBoYW1idXJnZXIoXG4gICRjb2xvcjogJGJsYWNrLFxuICAkY29sb3ItaG92ZXI6ICRkYXJrLWdyYXksXG4gICR3aWR0aDogMjBweCxcbiAgJGhlaWdodDogMTZweCxcbiAgJHdlaWdodDogMnB4LFxuICAkYmFyczogM1xuKSB7XG4gIC8vIGJveC1zaGFkb3cgQ1NTIG91dHB1dFxuICAkc2hhZG93OiAoKTtcbiAgJGhvdmVyLXNoYWRvdzogKCk7XG5cbiAgLy8gU3BhY2luZyBiZXR3ZWVuIGJhcnMgaXMgY2FsY3VsYXRlZCBiYXNlZCBvbiB0aGUgdG90YWwgaGVpZ2h0IG9mIHRoZSBpY29uIGFuZCB0aGUgd2VpZ2h0IG9mIGVhY2ggYmFyXG4gICRzcGFjaW5nOiBkaXZpZGUoJGhlaWdodCAtICgkd2VpZ2h0ICogJGJhcnMpLCAkYmFycyAtIDEpO1xuXG4gIEBpZiB1bml0KCRzcGFjaW5nKSA9PSAncHgnIHtcbiAgICAkc3BhY2luZzogZmxvb3IoJHNwYWNpbmcpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkYmFycyB7XG4gICAgJG9mZnNldDogKCR3ZWlnaHQgKyAkc3BhY2luZykgKiAoJGkgLSAxKTtcbiAgICAkc2hhZG93OiBhcHBlbmQoJHNoYWRvdywgMCAkb2Zmc2V0IDAgJGNvbG9yLCBjb21tYSk7XG4gIH1cblxuICAvLyBJY29uIGNvbnRhaW5lclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2lkdGg6ICR3aWR0aDtcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgLy8gSWNvbiBiYXJzXG4gICY6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6ICR3ZWlnaHQ7XG5cbiAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgYm94LXNoYWRvdzogJHNoYWRvdztcblxuICAgIGNvbnRlbnQ6ICcnO1xuICB9XG5cbiAgLy8gSG92ZXIgc3RhdGVcbiAgQGlmICRjb2xvci1ob3ZlciB7XG4gICAgLy8gR2VuZXJhdGUgQ1NTXG4gICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkYmFycyB7XG4gICAgICAkb2Zmc2V0OiAoJHdlaWdodCArICRzcGFjaW5nKSAqICgkaSAtIDEpO1xuICAgICAgJGhvdmVyLXNoYWRvdzogYXBwZW5kKCRob3Zlci1zaGFkb3csIDAgJG9mZnNldCAwICRjb2xvci1ob3ZlciwgY29tbWEpO1xuICAgIH1cblxuICAgICY6aG92ZXI6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1ob3ZlcjtcbiAgICAgIGJveC1zaGFkb3c6ICRob3Zlci1zaGFkb3c7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIGEgZG93bndhcmQtZmFjaW5nIHRyaWFuZ2xlIGFzIGEgYmFja2dyb3VuZCBpbWFnZSB0byBhbiBlbGVtZW50LiBUaGUgaW1hZ2UgaXMgZm9ybWF0dGVkIGFzIGFuIFNWRywgbWFraW5nIGl0IGVhc3kgdG8gY2hhbmdlIHRoZSBjb2xvci4gQmVjYXVzZSBJbnRlcm5ldCBFeHBsb3JlciBkb2Vzbid0IHN1cHBvcnQgZW5jb2RlZCBTVkdzIGFzIGJhY2tncm91bmQgaW1hZ2VzLCBhIFBORyBmYWxsYmFjayBpcyBhbHNvIGluY2x1ZGVkLlxuLy8vIFRoZXJlIGFyZSB0d28gUE5HIGZhbGxiYWNrczogYSBibGFjayB0cmlhbmdsZSBhbmQgYSB3aGl0ZSB0cmlhbmdsZS4gVGhlIG9uZSB1c2VkIGRlcGVuZHMgb24gdGhlIGxpZ2h0bmVzcyBvZiB0aGUgaW5wdXQgY29sb3IuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRibGFja10gLSBDb2xvciB0byB1c2UgZm9yIHRoZSB0cmlhbmdsZS5cbkBtaXhpbiBiYWNrZ3JvdW5kLXRyaWFuZ2xlKCRjb2xvcjogJGJsYWNrKSB7XG4gICRyZ2I6ICdyZ2IlMjgje3JvdW5kKHJlZCgkY29sb3IpKX0sICN7cm91bmQoZ3JlZW4oJGNvbG9yKSl9LCAje3JvdW5kKGJsdWUoJGNvbG9yKSl9JTI5JztcblxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZlcnNpb249XCIxLjFcIiB3aWR0aD1cIjMyXCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDMyIDI0XCI+PHBvbHlnb24gcG9pbnRzPVwiMCwwIDMyLDAgMTYsMjRcIiBzdHlsZT1cImZpbGw6ICN7JHJnYn1cIj48L3BvbHlnb24+PC9zdmc+Jyk7XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMFxcMCkge1xuICAgIEBpZiBsaWdodG5lc3MoJGNvbG9yKSA8IDYwJSB7XG4gICAgICAvLyBXaGl0ZSB0cmlhbmdsZVxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQUlwSlJFRlVlTnJFa2NrTmdEQU1CQmZSa0V0ME9iUkJCZHNHWFVEZ21RZks0WGhIMm04Y3pRQUF5MjdSM3RzdzRRZmUyeDh1T082b1lMYjZHbE9vcjNHRitzd1VSQU9tVUorUnd0RUpzOVd2VEdFWXhCWHFJMU1RQVpoQ2ZVUUtSekRNVmorVHdyQUlWNmp2U1VFa1lBcjFMU2tjeVRCYi9WK0tZZlg3eEFldXNxM3NMRHRHSDNrRUdBQ1BXSWZsTlpmaFJRQUFBQUJKUlU1RXJrSmdnZz09Jyk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIC8vIEJsYWNrIHRyaWFuZ2xlXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBTUJKUkVGVWVOckVsbHNPaENBTVJWc3pDOUlselU3S0NtVkhUSnNvTVdZTVV0cHl2OUJnYnVYUUI1WlNkZ0JZWVk0eWNnQml2azhLWUZzUU1mTWlUVEJQNG8zblV6Q0t6T2FiTEpiTHkyL2czMWV2R2tBZ2luUjQvWmVnS0g1cVgzYkpDc2NBM3QweDNrZ081dFFGeWhoRmY1MHhScUZMYnlNVU5KUXpneWpHUy93Z0Nwdktxa1JCcHVXckU0VjlkKzFFNGRQVVhxSWcxMDdTUU9FLzJEUlF4TXdURHlnSUluVkRFVDlUM2xDb2ovNmovVkNtR2paT2wybEtwWjhBQXdEUVA3eklpbURHRlFBQUFBQkpSVTVFcmtKZ2dnPT0nKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFwcGxpZXMgdGhlIG1pY3JvIGNsZWFyZml4IGhhY2sgcG9wdWxhcml6ZWQgYnkgTmljb2xhcyBHYWxsYWdoZXIuIEluY2x1ZGUgdGhpcyBtaXhpbiBvbiBhIGNvbnRhaW5lciBpZiBpdHMgY2hpbGRyZW4gYXJlIGFsbCBmbG9hdGVkLCB0byBnaXZlIHRoZSBjb250YWluZXIgYSBwcm9wZXIgaGVpZ2h0LlxuLy8vIFRoZSBjbGVhcmZpeCBpcyBhdWdtZW50ZWQgd2l0aCBzcGVjaWZpYyBzdHlsZXMgdG8gcHJldmVudCBib3JkZXJzIGluIGZsZXhib3ggZW52aXJvbm1lbnRzXG4vLy8gQGxpbmsgaHR0cDovL25pY29sYXNnYWxsYWdoZXIuY29tL21pY3JvLWNsZWFyZml4LWhhY2svIE1pY3JvIENsZWFyZml4IEhhY2tcbi8vLyBAbGluayBodHRwOi8vZGFuaXNhZGVzaWduZXIuY29tL2Jsb2cvZmxleGJveC1jbGVhci1maXgtcHNldWRvLWVsZW1lbnRzLyBGbGV4Ym94IGZpeFxuQG1peGluIGNsZWFyZml4IHtcbiAgJjo6YmVmb3JlLFxuICAmOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4LWJhc2lzOiAwO1xuICAgICAgb3JkZXI6IDE7XG4gICAgfVxuICB9XG5cbiAgJjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG59XG5cbi8vLyBBZGRzIENTUyBmb3IgYSBcInF1YW50aXR5IHF1ZXJ5XCIgc2VsZWN0b3IgdGhhdCBhdXRvbWF0aWNhbGx5IHNpemVzIGVsZW1lbnRzIGJhc2VkIG9uIGhvdyBtYW55IHRoZXJlIGFyZSBpbnNpZGUgYSBjb250YWluZXIuXG4vLy8gQGxpbmsgaHR0cDovL2FsaXN0YXBhcnQuY29tL2FydGljbGUvcXVhbnRpdHktcXVlcmllcy1mb3ItY3NzIFF1YW50aXR5IFF1ZXJpZXMgZm9yIENTU1xuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXggLSBNYXhpbXVtIG51bWJlciBvZiBpdGVtcyB0byBkZXRlY3QuIFRoZSBoaWdoZXIgdGhpcyBudW1iZXIgaXMsIHRoZSBtb3JlIENTUyB0aGF0J3MgcmVxdWlyZWQgdG8gY292ZXIgZWFjaCBudW1iZXIgb2YgaXRlbXMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZWxlbSBbbGldIC0gVGFnIHRvIHVzZSBmb3Igc2libGluZyBzZWxlY3RvcnMuXG5AbWl4aW4gYXV0by13aWR0aCgkbWF4LCAkZWxlbTogbGkpIHtcbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkbWF4IHtcbiAgICAmOm50aC1sYXN0LWNoaWxkKCN7JGl9KTpmaXJzdC1jaGlsZCxcbiAgICAmOm50aC1sYXN0LWNoaWxkKCN7JGl9KTpmaXJzdC1jaGlsZCB+ICN7JGVsZW19IHtcbiAgICAgIHdpZHRoOiBwZXJjZW50YWdlKGRpdmlkZSgxLCAkaSkpO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gUmVtb3ZlcyB0aGUgZm9jdXMgcmluZyBhcm91bmQgYW4gZWxlbWVudCB3aGVuIGEgbW91c2UgaW5wdXQgaXMgZGV0ZWN0ZWQuXG5AbWl4aW4gZGlzYWJsZS1tb3VzZS1vdXRsaW5lIHtcbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddICYge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cbn1cblxuLy8vIE1ha2VzIGFuIGVsZW1lbnQgdmlzdWFsbHkgaGlkZGVuLCBidXQgc3RpbGwgYWNjZXNzaWJsZSB0byBrZXlib2FyZHMgYW5kIGFzc2lzdGl2ZSBkZXZpY2VzLlxuLy8vIEBsaW5rIGh0dHA6Ly9zbm9vay5jYS9hcmNoaXZlcy9odG1sX2FuZF9jc3MvaGlkaW5nLWNvbnRlbnQtZm9yLWFjY2Vzc2liaWxpdHkgSGlkaW5nIENvbnRlbnQgZm9yIEFjY2Vzc2liaWxpdHlcbi8vLyBAbGluayBodHRwOi8vaHVnb2dpcmF1ZGVsLmNvbS8yMDE2LzEwLzEzL2Nzcy1oaWRlLWFuZC1zZWVrL1xuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZW5mb3JjZSAtIElmIGB0cnVlYCwgdXNlIGAhaW1wb3J0YW50YCBvbiBhcHBsaWVkIHByb3BlcnRpZXNcbkBtaXhpbiBlbGVtZW50LWludmlzaWJsZShcbiAgJGVuZm9yY2U6IHRydWVcbikge1xuICAkaW1wb3J0YW50OiBpZigkZW5mb3JjZSwgJyFpbXBvcnRhbnQnLCBudWxsKTtcblxuICBwb3NpdGlvbjogYWJzb2x1dGUgI3skaW1wb3J0YW50fTtcbiAgd2lkdGg6IDFweCAjeyRpbXBvcnRhbnR9O1xuICBoZWlnaHQ6IDFweCAjeyRpbXBvcnRhbnR9O1xuICBwYWRkaW5nOiAwICN7JGltcG9ydGFudH07XG4gIG92ZXJmbG93OiBoaWRkZW4gI3skaW1wb3J0YW50fTtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKSAjeyRpbXBvcnRhbnR9O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwICN7JGltcG9ydGFudH07XG4gIGJvcmRlcjogMCAjeyRpbXBvcnRhbnR9O1xufVxuXG4vLy8gUmV2ZXJzZXMgdGhlIENTUyBvdXRwdXQgY3JlYXRlZCBieSB0aGUgYGVsZW1lbnQtaW52aXNpYmxlKClgIG1peGluLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGVuZm9yY2UgLSBJZiBgdHJ1ZWAsIHVzZSBgIWltcG9ydGFudGAgb24gYXBwbGllZCBwcm9wZXJ0aWVzXG5AbWl4aW4gZWxlbWVudC1pbnZpc2libGUtb2ZmKFxuICAkZW5mb3JjZTogdHJ1ZVxuKSB7XG4gICRpbXBvcnRhbnQ6IGlmKCRlbmZvcmNlLCAnIWltcG9ydGFudCcsIG51bGwpO1xuXG4gIHBvc2l0aW9uOiBzdGF0aWMgI3skaW1wb3J0YW50fTtcbiAgd2lkdGg6IGF1dG8gI3skaW1wb3J0YW50fTtcbiAgaGVpZ2h0OiBhdXRvICN7JGltcG9ydGFudH07XG4gIG92ZXJmbG93OiB2aXNpYmxlICN7JGltcG9ydGFudH07XG4gIGNsaXA6IGF1dG8gI3skaW1wb3J0YW50fTtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbCAjeyRpbXBvcnRhbnR9O1xufVxuXG4vLy8gVmVydGljYWxseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiB2ZXJ0aWNhbC1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5cbi8vLyBIb3Jpem9udGFsbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gaG9yaXpvbnRhbC1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xufVxuXG4vLy8gQWJzb2x1dGVseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiBhYnNvbHV0ZS1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xufVxuXG4vLy8gSXRlcmF0ZXMgdGhyb3VnaCBicmVha3BvaW50cyBkZWZpbmVkIGluIGAkYnJlYWtwb2ludC1jbGFzc2VzYCBhbmQgcHJpbnRzIHRoZSBDU1MgaW5zaWRlIHRoZSBtaXhpbiBhdCBlYWNoIGJyZWFrcG9pbnQncyBtZWRpYSBxdWVyeS4gVXNlIHRoaXMgd2l0aCB0aGUgZ3JpZCwgb3IgYW55IG90aGVyIGNvbXBvbmVudCB0aGF0IGhhcyByZXNwb25zaXZlIGNsYXNzZXMuXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRzbWFsbCBbdHJ1ZV0gLSBJZiBgZmFsc2VgLCB0aGUgbWl4aW4gd2lsbCBza2lwIHRoZSBgc21hbGxgIGJyZWFrcG9pbnQuIFVzZSB0aGlzIHdpdGggY29tcG9uZW50cyB0aGF0IGRvbid0IHByZWZpeCBjbGFzc2VzIHdpdGggYHNtYWxsLWAsIG9ubHkgYG1lZGl1bS1gIGFuZCB1cC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRhdXRvLWluc2VydC1icmVha3BvaW50cyBbdHJ1ZV0gLSBJZiBgZmFsc2VgLCB0aGUgbWl4aW4gd2lsbCBpdGVyYXRlIG92ZXIgYnJlYWtwb2ludHMgd2l0aG91dCBkb2luZyB0aGUgbWVkaWEgcXVlcnkgaXRzZWxmLiBVc2VmdWwgZm9yIG1vcmUgY29tcGxleCBtZWRpYSBxdWVyeSBnZW5lcmF0aW9uIGFzIGluIHRoZSBtYXJnaW4gZ3JpZC5cbkBtaXhpbiAtemYtZWFjaC1icmVha3BvaW50KFxuICAkc21hbGw6IHRydWUsXG4gICRhdXRvLWluc2VydC1icmVha3BvaW50czogdHJ1ZVxuKSB7XG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQtaW4oYXV0bywgLXpmLWJvb2woJHNtYWxsKSwgLXpmLWJvb2woJGF1dG8taW5zZXJ0LWJyZWFrcG9pbnRzKSkge1xuICAgIEBjb250ZW50XG4gIH07XG59XG5cbi8vLyBJdGVyYXRlcyB3aXRoIGBAY29udGVudGAgdGhyb3VnaCB0aGUgZ2l2ZW4gbGlzdCBvZiBicmVha3BvaW50cyBgJGJyZWFrcG9pbnRzYC5cbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfExpc3R9ICRicmVha3BvaW50cyBbYXV0b10gLSBCcmVha3BvaW50cyB0byBpdGVyYXRlcyBvbi4gSXQgY2FuIGJlIGEgYnJlYWtwb2ludCBuYW1lLCBsaXN0IG9mIGJyZWFrcG9pbnRzIG9yIGBhdXRvYCBmb3IgYWxsIGJyZWFrcG9pbnRzLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbnxOdWxsfSAkemVyby1icmVha3BvaW50IFtudWxsXSAtIFdoZXRoZXIgdGhlIHplcm8tYnJlYWtwb2ludCAob2Z0ZW4gYHNtYWxsYCkgbXVzdCBiZSBpbmNsdWRlZC4gSWYgYHRydWVgLCBpdCB3aWxsIGFsd2F5cyBiZSBhZGRlZCB0byB0aGUgbGlzdCBpZiBub3QgYWxyZWFkeSB0aGVyZS4gSWYgYGZhbHNlYCwgaXQgd2lsbCBhbHdheXMgYmUgcmVtb3ZlZC4gRG9lcyBub3RoaW5nIGJ5IGRlZmF1bHQuXG4vLy8gQHBhcmFtIHtCb29sZWFufEtleXdvcmR9ICRtZWRpYS1xdWVyaWVzIFt0cnVlXSAtIFdoZXRoZXIgbWVkaWEtcXVlcmllcyBtdXN0IGJlIGdlbmVyYXRlZC4gSWYgYGZvci1saXN0c2AsIG9ubHkgZ2VuZXJhdGUgbWVkaWEtcXVlcmllcyB3aGVuIGAkYnJlYWtwb2ludHNgIGlzIGEgbGlzdC5cbkBtaXhpbiAtemYtZWFjaC1icmVha3BvaW50LWluKFxuICAkYnJlYWtwb2ludHM6IGF1dG8sXG4gICR6ZXJvLWJyZWFrcG9pbnQ6IG51bGwsXG4gICRtZWRpYS1xdWVyaWVzOiB0cnVlXG4pIHtcbiAgJC1saXN0OiAoKTtcbiAgJC1icmVha3BvaW50cy1pcy1hLWxpc3Q6IHRydWU7XG5cbiAgLy8gUmV0cmlldmUgdGhlIGxpc3Qgb2YgYnJlYWtwb2ludChzKSB0byBpdGVyYXRlIG9uLlxuICBAaWYgJGJyZWFrcG9pbnRzID09IGF1dG8ge1xuICAgICQtbGlzdDogJGJyZWFrcG9pbnQtY2xhc3NlcztcbiAgfVxuICBAZWxzZSBpZiB0eXBlLW9mKCRicmVha3BvaW50cykgPT0gJ2xpc3QnIHtcbiAgICAkLWxpc3Q6ICRicmVha3BvaW50cztcbiAgfVxuICBAZWxzZSBpZiB0eXBlLW9mKCRicmVha3BvaW50cykgPT0gJ3N0cmluZycge1xuICAgICQtbGlzdDogKCRicmVha3BvaW50cyk7XG4gICAgJC1icmVha3BvaW50cy1pcy1hLWxpc3Q6IGZhbHNlO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAZXJyb3IgJ1dyb25nIHN5bnRheCBmb3IgXCIkYnJlYWtwb2ludHNcIiBpbiBcIi16Zi1lYWNoLWJyZWFrcG9pbnQtaW4oKVwiLiBHb3QgXCIjeyRicmVha3BvaW50c31cIiAoI3t0eXBlLW9mKCRicmVha3BvaW50cyl9KS4gRXhwZWN0ZWQgYSBicmVha3BvaW50IG5hbWUsIGEgbGlzdCBvZiBicmVha3BvaW50cyBvciBcImF1dG9cIic7XG4gIH1cblxuICAvLyBBZGQgb3IgcmVtb3ZlIHRoZSB6ZXJvIGJyZWFrcG9pbnQgYWNjb3JkaW5nIHRvIGAkemVyby1icmVha3BvaW50YFxuICBAaWYgJHplcm8tYnJlYWtwb2ludCA9PSB0cnVlIHtcbiAgICAkLWxpc3Q6IGpvaW4oKCQtemYtemVyby1icmVha3BvaW50KSwgc2wtcmVtb3ZlKCQtbGlzdCwgJC16Zi16ZXJvLWJyZWFrcG9pbnQpKTtcbiAgfVxuICBAZWxzZSBpZiAkemVyby1icmVha3BvaW50ID09IGZhbHNlIHtcbiAgICAkLWxpc3Q6IHNsLXJlbW92ZSgkLWxpc3QsICQtemYtemVyby1icmVha3BvaW50KTtcbiAgfVxuXG4gIC8vIEl0ZXJhdGUgb24gYnJlYWtwb2ludChzKVxuICBAZWFjaCAkYnAgaW4gJC1saXN0IHtcbiAgICAkb2xkLXpmLXNpemU6IG51bGw7XG4gICAgQGlmIGdsb2JhbC12YXJpYWJsZS1leGlzdHMoLXpmLXNpemUpIHtcbiAgICAgICRvbGQtemYtc2l6ZTogJC16Zi1zaXplO1xuICAgIH1cbiAgICAkLXpmLXNpemU6ICRicCAhZ2xvYmFsO1xuXG4gICAgQGlmICgkbWVkaWEtcXVlcmllcyA9PSB0cnVlIG9yICgkbWVkaWEtcXVlcmllcyA9PSAnZm9yLWxpc3RzJyBhbmQgJC1icmVha3BvaW50cy1pcy1hLWxpc3QpKSB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicCkge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuXG4gICAgJC16Zi1zaXplOiAkb2xkLXpmLXNpemUgIWdsb2JhbDtcbiAgfVxufVxuXG4vLy8gR2VuZXJhdGUgdGhlIGBAY29udGVudGAgcGFzc2VkIHRvIHRoZSBtaXhpbiB3aXRoIGEgdmFsdWUgYCQtemYtYnAtdmFsdWVgIHJlbGF0ZWQgdG8gYSBicmVha3BvaW50LCBkZXBlbmRpbmcgb24gdGhlIGAkbmFtZWAgcGFyYW1ldGVyOlxuLy8vIC0gRm9yIGEgc2luZ2xlIHZhbHVlLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhpcyB2YWx1ZS5cbi8vLyAtIEZvciBhIGJyZWFrcG9pbnQgbmFtZSwgYCQtemYtYnAtdmFsdWVgIGlzIHRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9pbnQgdmFsdWUgaW4gYCRtYXBgLlxuLy8vIC0gRm9yIFwiYXV0b1wiLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZSBpbiBgJG1hcGAgYW5kIGlzIHBhc3NlZCB0byBgQGNvbnRlbnRgLCB3aGljaCBpcyBtYWRlIHJlc3BvbnNpdmUgZm9yIGVhY2ggYnJlYWtwb2ludCBvZiBgJG1hcGAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8QXJyYXl8S2V5d29yZH0gJG5hbWUgW2F1dG9dIC0gU2luZ2xlIHZhbHVlLCBicmVha3BvaW50IG5hbWUsIG9yIGxpc3Qgb2YgYnJlYWtwb2ludCBuYW1lcyB0byB1c2UuIFwiYXV0b1wiIGJ5IGRlZmF1bHQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkbWFwIC0gTWFwIG9mIGJyZWFrcG9pbnRzIGFuZCB2YWx1ZXMgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZS5cbkBtaXhpbiAtemYtYnJlYWtwb2ludC12YWx1ZShcbiAgJG5hbWU6IGF1dG8sXG4gICRtYXA6IG51bGxcbikge1xuICBAaWYgJG5hbWUgPT0gYXV0byBhbmQgdHlwZS1vZigkbWFwKSA9PSAnbWFwJyB7XG4gICAgLy8gXCJhdXRvXCJcbiAgICBAZWFjaCAkaywgJHYgaW4gJG1hcCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRrKSB7XG4gICAgICAgIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKCR2LCAkbWFwKSB7XG4gICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC8vIGJyZWFrcG9pbnQgbmFtZVxuICAgIEBpZiB0eXBlLW9mKCRuYW1lKSA9PSAnc3RyaW5nJyB7XG4gICAgICAkYnAtdmFsdWU6IC16Zi1nZXQtYnAtdmFsKCRtYXAsICRuYW1lKTtcbiAgICAgIEBpZiAkYnAtdmFsdWUgIT0gbnVsbCB7XG4gICAgICAgICRuYW1lOiAkYnAtdmFsdWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gYnJlYWtwb2ludCB2YWx1ZVxuICAgICQtemYtYnAtdmFsdWU6ICRuYW1lICFnbG9iYWw7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gRm9udCBjb2xvciBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGNvbG9yIG9mIHBsYWNlaG9sZGVyIHRleHQgd2l0aGluIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcGxhY2Vob2xkZXItY29sb3I6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgZmFtaWx5IG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEZvbnRcbiRpbnB1dC1mb250LWZhbWlseTogaW5oZXJpdCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRpbnB1dC1mb250LXNpemU6IHJlbS1jYWxjKDE2KSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRpbnB1dC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGlucHV0LWxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmVoZWlnaHQgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBmb2N1c2VkIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZC1mb2N1czogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBkaXNhYmxlZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBCb3JkZXJcbiRpbnB1dC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIGZvY3VzZWQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1ib3JkZXItZm9jdXM6IDFweCBzb2xpZCAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXBhZGRpbmc6ICRmb3JtLXNwYWNpbmcgKiAwLjUgIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IGluc2lkZSB0ZXh0IGlucHV0cyB3aGVuIG5vdCBmb2N1c2VkLlxuLy8vIEB0eXBlIFNoYWRvd1xuJGlucHV0LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoJGJsYWNrLCAwLjEpICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyBvdXRzaWRlIHRleHQgaW5wdXRzIHdoZW4gZm9jdXNlZC5cbi8vLyBAdHlwZSBTaGFkb3dcbiRpbnB1dC1zaGFkb3ctZm9jdXM6IDAgMCA1cHggJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQ3Vyc29yIHRvIHVzZSB3aGVuIGhvdmVyaW5nIG92ZXIgYSBkaXNhYmxlZCB0ZXh0IGlucHV0LlxuLy8vIEB0eXBlIEN1cnNvclxuJGlucHV0LWN1cnNvci1kaXNhYmxlZDogbm90LWFsbG93ZWQgIWRlZmF1bHQ7XG5cbi8vLyBQcm9wZXJ0aWVzIHRvIHRyYW5zaXRpb24gb24gdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgVHJhbnNpdGlvblxuJGlucHV0LXRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4vLy8gRW5hYmxlcyB0aGUgdXAvZG93biBidXR0b25zIHRoYXQgQ2hyb21lIGFuZCBGaXJlZm94IGFkZCB0byBgPGlucHV0IHR5cGU9J251bWJlcic+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kaW5wdXQtbnVtYmVyLXNwaW5uZXJzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gUmFkaXVzIGZvciB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBCb3JkZXJcbiRpbnB1dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBmb3IgZm9ybSBidXR0b25zLCBkZWZhdWx0ZWQgdG8gZ2xvYmFsLXJhZGl1cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmb3JtLWJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG5AbWl4aW4gZm9ybS1lbGVtZW50IHtcbiAgJGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKiB1bml0bGVzcy1jYWxjKCRpbnB1dC1saW5lLWhlaWdodCkpICsgKGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAndG9wJykgKyBnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ2JvdHRvbScpKSAtIHJlbS1jYWxjKDEpO1xuXG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZztcblxuICBib3JkZXI6ICRpbnB1dC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRpbnB1dC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kO1xuICBib3gtc2hhZG93OiAkaW5wdXQtc2hhZG93O1xuXG4gIGZvbnQtZmFtaWx5OiAkaW5wdXQtZm9udC1mYW1pbHk7XG4gIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRpbnB1dC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1jb2xvcjtcblxuICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gIH1cblxuICAvLyBGb2N1cyBzdGF0ZVxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlcjogJGlucHV0LWJvcmRlci1mb2N1cztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1mb2N1cztcbiAgICBib3gtc2hhZG93OiAkaW5wdXQtc2hhZG93LWZvY3VzO1xuXG4gICAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tdGV4dCB7XG4gIC8vIFRleHQgaW5wdXRzXG4gICN7dGV4dC1pbnB1dHMoKX0sXG4gIHRleHRhcmVhIHtcbiAgICBAaW5jbHVkZSBmb3JtLWVsZW1lbnQ7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgfVxuXG4gIC8vIFRleHQgYXJlYXNcbiAgdGV4dGFyZWEge1xuICAgIG1heC13aWR0aDogMTAwJTtcblxuICAgICZbcm93c10ge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIGlucHV0LFxuICB0ZXh0YXJlYSB7XG4gICAgLy8gRGlzYWJsZWQvcmVhZG9ubHkgc3RhdGVcbiAgICAmOmRpc2FibGVkLFxuICAgICZbcmVhZG9ubHldIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkO1xuICAgICAgY3Vyc29yOiAkaW5wdXQtY3Vyc29yLWRpc2FibGVkO1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlc2V0IHN0eWxlcyBvbiBidXR0b24tbGlrZSBpbnB1dHNcbiAgW3R5cGU9J3N1Ym1pdCddLFxuICBbdHlwZT0nYnV0dG9uJ10ge1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogJGZvcm0tYnV0dG9uLXJhZGl1cztcbiAgfVxuXG4gIC8vIFJlc2V0IE5vcm1hbGl6ZSBzZXR0aW5nIGNvbnRlbnQtYm94IHRvIHNlYXJjaCBlbGVtZW50c1xuICBpbnB1dFt0eXBlPSdzZWFyY2gnXSB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIH1cblxuICAvLyBOdW1iZXIgaW5wdXQgc3R5bGVzXG4gIFt0eXBlPSdudW1iZXInXSB7XG4gICAgQGlmIG5vdCAkaW5wdXQtbnVtYmVyLXNwaW5uZXJzIHtcbiAgICAgIC1tb3otYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhlc1xuXG4gICAgICAmOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuICAgICAgJjo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4ZXNcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFBsYWNlaG9sZGVyIHRleHRcbiAgOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tY2hlY2tib3gge1xuICBbdHlwZT0nZmlsZSddLFxuICBbdHlwZT0nY2hlY2tib3gnXSxcbiAgW3R5cGU9J3JhZGlvJ10ge1xuICAgIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIH1cblxuICAvLyBTdHlsZXMgZm9yIGlucHV0L2xhYmVsIHNpYmxpbmdzXG4gIFt0eXBlPSdjaGVja2JveCddICsgbGFiZWwsXG4gIFt0eXBlPSdyYWRpbyddICsgbGFiZWwge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG5cbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkZm9ybS1zcGFjaW5nICogMC41O1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkZm9ybS1zcGFjaW5nO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAmW2Zvcl0ge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgfVxuXG4gIC8vIFN0eWxlcyBmb3IgaW5wdXRzIGluc2lkZSBsYWJlbHNcbiAgbGFiZWwgPiBbdHlwZT0nY2hlY2tib3gnXSxcbiAgbGFiZWwgPiBbdHlwZT0ncmFkaW8nXSB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRmb3JtLXNwYWNpbmcgKiAwLjU7XG4gIH1cblxuICAvLyBOb3JtYWxpemUgZmlsZSBpbnB1dCB3aWR0aFxuICBbdHlwZT0nZmlsZSddIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBDb2xvciBmb3IgZm9ybSBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRmb3JtLWxhYmVsLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgZm9yIGZvcm0gbGFiZWxzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tbGFiZWwtZm9udC1zaXplOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBmb3IgZm9ybSBsYWJlbHMuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IGZvciBmb3JtIGxhYmVscy4gVGhlIGhpZ2hlciB0aGUgbnVtYmVyLCB0aGUgbW9yZSBzcGFjZSBiZXR3ZWVuIHRoZSBsYWJlbCBhbmQgaXRzIGlucHV0IGZpZWxkLlxuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ6IDEuOCAhZGVmYXVsdDtcblxuQG1peGluIGZvcm0tbGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwO1xuXG4gIGZvbnQtc2l6ZTogJGZvcm0tbGFiZWwtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkZm9ybS1sYWJlbC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRmb3JtLWxhYmVsLWNvbG9yO1xufVxuXG5AbWl4aW4gZm9ybS1sYWJlbC1taWRkbGUge1xuICAkaW5wdXQtYm9yZGVyLXdpZHRoOiBnZXQtYm9yZGVyLXZhbHVlKCRpbnB1dC1ib3JkZXIsIHdpZHRoKTtcblxuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICBsaW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0O1xuICBwYWRkaW5nOiAoJGZvcm0tc3BhY2luZyAqIDAuNSArIHJlbS1jYWxjKCRpbnB1dC1ib3JkZXItd2lkdGgpKSAwO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWxhYmVsIHtcbiAgbGFiZWwge1xuICAgIEBpbmNsdWRlIGZvcm0tbGFiZWw7XG5cbiAgICAmLm1pZGRsZSB7XG4gICAgICBAaW5jbHVkZSBmb3JtLWxhYmVsLW1pZGRsZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgaGVscCB0ZXh0LlxuLy8vIEB0eXBlIENvbG9yXG4kaGVscHRleHQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBoZWxwIHRleHQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaGVscHRleHQtZm9udC1zaXplOiByZW0tY2FsYygxMykgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc3R5bGUgZm9yIGhlbHAgdGV4dC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaGVscHRleHQtZm9udC1zdHlsZTogaXRhbGljICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWhlbHB0ZXh0IHtcbiAgLmhlbHAtdGV4dCB7XG4gICAgJG1hcmdpbi10b3A6ICgkZm9ybS1zcGFjaW5nICogMC41KSAqIC0xO1xuXG4gICAgbWFyZ2luLXRvcDogJG1hcmdpbi10b3A7XG4gICAgZm9udC1zaXplOiAkaGVscHRleHQtZm9udC1zaXplO1xuICAgIGZvbnQtc3R5bGU6ICRoZWxwdGV4dC1mb250LXN0eWxlO1xuICAgIGNvbG9yOiAkaGVscHRleHQtY29sb3I7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gQ29sb3Igb2YgbGFiZWxzIHByZWZpeGVkIHRvIGFuIGlucHV0LlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcHJlZml4LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGxhYmVscyBwcmVmaXhlZCB0byBhbiBpbnB1dC5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXByZWZpeC1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgbGFiZWxzIHByZWZpeGVkIHRvIGFuIGlucHV0LlxuLy8vIEB0eXBlIEJvcmRlclxuJGlucHV0LXByZWZpeC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0L3JpZ2h0IHBhZGRpbmcgb2YgYW4gcHJlL3Bvc3RmaXhlZCBpbnB1dCBsYWJlbFxuJGlucHV0LXByZWZpeC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLXByZXBvc3RmaXgge1xuICAkaGVpZ2h0OiAoJGlucHV0LWZvbnQtc2l6ZSAqICRpbnB1dC1saW5lLWhlaWdodCkgKyAoZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICd0b3AnKSArIGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAnYm90dG9tJykpIC0gcmVtLWNhbGMoMSk7XG5cbiAgLmlucHV0LWdyb3VwIHtcbiAgICBkaXNwbGF5OiBpZigkZ2xvYmFsLWZsZXhib3gsIGZsZXgsIHRhYmxlKTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zcGFjaW5nO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICB9XG5cbiAgICA+IDpmaXJzdC1jaGlsZCB7XG4gICAgICAmLCAmLmlucHV0LWdyb3VwLWJ1dHRvbiA+ICoge1xuICAgICAgICBib3JkZXItcmFkaXVzOiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgMCAkaW5wdXQtcmFkaXVzICRpbnB1dC1yYWRpdXMgMCwgJGlucHV0LXJhZGl1cyAwIDAgJGlucHV0LXJhZGl1cyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgPiA6bGFzdC1jaGlsZCB7XG4gICAgICAmLCAmLmlucHV0LWdyb3VwLWJ1dHRvbiA+ICoge1xuICAgICAgICBib3JkZXItcmFkaXVzOiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgJGlucHV0LXJhZGl1cyAwIDAgJGlucHV0LXJhZGl1cywgMCAkaW5wdXQtcmFkaXVzICRpbnB1dC1yYWRpdXMgMCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJWlucHV0LWdyb3VwLWNoaWxkIHtcbiAgICBtYXJnaW46IDA7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC1ncm91cC1sYWJlbCB7XG4gICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG4gICAgcGFkZGluZzogMCAkaW5wdXQtcHJlZml4LXBhZGRpbmc7XG4gICAgYm9yZGVyOiAkaW5wdXQtcHJlZml4LWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kOiAkaW5wdXQtcHJlZml4LWJhY2tncm91bmQ7XG5cbiAgICBjb2xvcjogJGlucHV0LXByZWZpeC1jb2xvcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgd2lkdGg6IDElO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIEBpZiBoYXMtdmFsdWUoJGlucHV0LXByZWZpeC1ib3JkZXIpIHtcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtZmllbGQge1xuICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgICBtaW4td2lkdGg6IDA7XG4gICAgfVxuICB9XG5cbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiB7XG4gICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHdpZHRoOiAxJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICBhLFxuICAgIGlucHV0LFxuICAgIGJ1dHRvbixcbiAgICBsYWJlbCB7XG4gICAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcblxuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgaGVpZ2h0OiAkaGVpZ2h0O1xuICAgICAgfVxuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcbiAgICB9XG4gIH1cblxuICAvLyBTcGVjaWZpY2l0eSBidW1wIG5lZWRlZCB0byBwcmV2ZW50IG92ZXJyaWRlIGJ5IGJ1dHRvbnNcbiAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgIC5pbnB1dC1ncm91cCB7XG4gICAgICAuaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgYXJvdW5kIGN1c3RvbSBmaWVsZHNldHMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kZmllbGRzZXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGluc2lkZSBjdXN0b20gZmllbGRzZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZpZWxkc2V0LXBhZGRpbmc6IHJlbS1jYWxjKDIwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWFyZ2luIGFyb3VuZCBjdXN0b20gZmllbGRzZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZpZWxkc2V0LW1hcmdpbjogcmVtLWNhbGMoMTggMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgYmV0d2VlbiB0aGUgbGVnZW5kIHRleHQgYW5kIGZpZWxkc2V0IGJvcmRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsZWdlbmQtcGFkZGluZzogcmVtLWNhbGMoMCAzKSAhZGVmYXVsdDtcblxuQG1peGluIGZpZWxkc2V0IHtcbiAgbWFyZ2luOiAkZmllbGRzZXQtbWFyZ2luO1xuICBwYWRkaW5nOiAkZmllbGRzZXQtcGFkZGluZztcbiAgYm9yZGVyOiAkZmllbGRzZXQtYm9yZGVyO1xuXG4gIGxlZ2VuZCB7XG4gICAgLy8gQ292ZXJzIHVwIHRoZSBmaWVsZHNldCdzIGJvcmRlciB0byBjcmVhdGUgYXJ0aWZpY2lhbCBwYWRkaW5nXG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IHJlbS1jYWxjKC0zKTtcbiAgICBwYWRkaW5nOiAkbGVnZW5kLXBhZGRpbmc7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1maWVsZHNldCB7XG4gIGZpZWxkc2V0IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IDA7XG4gIH1cblxuICBsZWdlbmQge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zcGFjaW5nICogMC41O1xuICB9XG5cbiAgLmZpZWxkc2V0IHtcbiAgICBAaW5jbHVkZSBmaWVsZHNldDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBzZWxlY3QgbWVudXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRzZWxlY3QtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgdGhlIGRyb3Bkb3duIHRyaWFuZ2xlIGluc2lkZSBzZWxlY3QgbWVudXMuIFNldCB0byBgdHJhbnNwYXJlbnRgIHRvIHJlbW92ZSBpdCBlbnRpcmVseS5cbi8vLyBAdHlwZSBDb2xvclxuJHNlbGVjdC10cmlhbmdsZS1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciBzZWxlY3QgbWVudXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRzZWxlY3QtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuQG1peGluIGZvcm0tc2VsZWN0IHtcbiAgJGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKiB1bml0bGVzcy1jYWxjKCRpbnB1dC1saW5lLWhlaWdodCkpICsgKGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAndG9wJykgKyBnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ2JvdHRvbScpKSAtIHJlbS1jYWxjKDEpO1xuXG4gIGhlaWdodDogJGhlaWdodDtcbiAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmc7XG5cbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkc2VsZWN0LXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNlbGVjdC1iYWNrZ3JvdW5kO1xuXG4gIGZvbnQtZmFtaWx5OiAkaW5wdXQtZm9udC1mYW1pbHk7XG4gIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRpbnB1dC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1jb2xvcjtcblxuICBAaWYgJHNlbGVjdC10cmlhbmdsZS1jb2xvciAhPSB0cmFuc3BhcmVudCB7XG4gICAgQGluY2x1ZGUgYmFja2dyb3VuZC10cmlhbmdsZSgkc2VsZWN0LXRyaWFuZ2xlLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLW9yaWdpbjogY29udGVudC1ib3g7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogJGdsb2JhbC1yaWdodCAoLSRmb3JtLXNwYWNpbmcpIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogOXB4IDZweDtcblxuICAgIHBhZGRpbmctI3skZ2xvYmFsLXJpZ2h0fTogKCRmb3JtLXNwYWNpbmcgKiAxLjUpO1xuICB9XG5cbiAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgIHRyYW5zaXRpb246ICRpbnB1dC10cmFuc2l0aW9uO1xuICB9XG5cbiAgLy8gRm9jdXMgc3RhdGVcbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXI6ICRpbnB1dC1ib3JkZXItZm9jdXM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZm9jdXM7XG4gICAgYm94LXNoYWRvdzogJGlucHV0LXNoYWRvdy1mb2N1cztcblxuICAgIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICAgIHRyYW5zaXRpb246ICRpbnB1dC10cmFuc2l0aW9uO1xuICAgIH1cbiAgfVxuXG4gIC8vIERpc2FibGVkIHN0YXRlXG4gICY6ZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkO1xuICAgIGN1cnNvcjogJGlucHV0LWN1cnNvci1kaXNhYmxlZDtcbiAgfVxuXG4gIC8vIEhpZGUgdGhlIGRyb3Bkb3duIGFycm93IHNob3duIGluIG5ld2VyIElFIHZlcnNpb25zXG4gICY6Oi1tcy1leHBhbmQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAmW211bHRpcGxlXSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIH1cbiAgJjpub3QoW211bHRpcGxlXSkge1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tc2VsZWN0IHtcbiAgc2VsZWN0IHtcbiAgICBAaW5jbHVkZSBmb3JtLXNlbGVjdDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGFiaWRlXG4vLy8vXG5cbi8vLyBTZXRzIGlmIGVycm9yIHN0eWxlcyBzaG91bGQgYmUgYWRkZWQgdG8gaW5wdXRzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhYmlkZS1pbnB1dHM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGlmIGVycm9yIHN0eWxlcyBzaG91bGQgYmUgYWRkZWQgdG8gbGFiZWxzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhYmlkZS1sYWJlbHM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIHRvIHVzZSBmb3IgaW52YWxpZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQtaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHRvIHVzZSBmb3IgbGFiZWxzIG9mIGludmFsaWQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kZm9ybS1sYWJlbC1jb2xvci1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBmb3JtIGVycm9yIHRleHQuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1lcnJvci1jb2xvcjogZ2V0LWNvbG9yKGFsZXJ0KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBmb3JtIGVycm9yIHRleHQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaW5wdXQtZXJyb3ItZm9udC1zaXplOiByZW0tY2FsYygxMikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgd2VpZ2h0IGZvciBmb3JtIGVycm9yIHRleHQuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4vLy8gU3R5bGVzIHRoZSBiYWNrZ3JvdW5kIGFuZCBib3JkZXIgb2YgYW4gaW5wdXQgZmllbGQgdG8gaGF2ZSBhbiBlcnJvciBzdGF0ZS5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYWxlcnQtY29sb3JdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgYmFja2dyb3VuZCBhbmQgYm9yZGVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFja2dyb3VuZC1saWdodGVuIFsxMCVdIC0gTGlnaHRuZXNzIGxldmVsIG9mIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuQG1peGluIGZvcm0taW5wdXQtZXJyb3IoXG4gICRiYWNrZ3JvdW5kOiAkaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkLFxuICAkYmFja2dyb3VuZC1saWdodGVuOiAxMCVcbikge1xuICAmOm5vdCg6Zm9jdXMpIHtcbiAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1peCgkYmFja2dyb3VuZCwgJHdoaXRlLCAkYmFja2dyb3VuZC1saWdodGVuKTtcblxuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgZXJyb3Igc3R5bGVzIHRvIGEgZm9ybSBlbGVtZW50LCB1c2luZyB0aGUgdmFsdWVzIGluIHRoZSBzZXR0aW5ncyBmaWxlLlxuQG1peGluIGZvcm0tZXJyb3Ige1xuICBkaXNwbGF5OiBub25lO1xuICBtYXJnaW4tdG9wOiAkZm9ybS1zcGFjaW5nICogLTAuNTtcbiAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZztcblxuICBmb250LXNpemU6ICRpbnB1dC1lcnJvci1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtZXJyb3ItY29sb3I7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tZXJyb3Ige1xuICBAaWYgJGFiaWRlLWlucHV0cyB7XG4gICAgLy8gRXJyb3IgY2xhc3MgZm9yIGludmFsaWQgaW5wdXRzXG4gICAgLmlzLWludmFsaWQtaW5wdXQge1xuICAgICAgQGluY2x1ZGUgZm9ybS1pbnB1dC1lcnJvcjtcbiAgICB9XG4gIH1cblxuICBAaWYgJGFiaWRlLWxhYmVscyB7XG4gICAgLy8gRXJyb3IgY2xhc3MgZm9yIGxhYmVscyBvZiBpbnZhbGlkIG91dHB1dHNcbiAgICAuaXMtaW52YWxpZC1sYWJlbCB7XG4gICAgICBjb2xvcjogJGZvcm0tbGFiZWwtY29sb3ItaW52YWxpZDtcbiAgICB9XG4gIH1cblxuICAvLyBGb3JtIGVycm9yIGVsZW1lbnRcbiAgLmZvcm0tZXJyb3Ige1xuICAgIEBpbmNsdWRlIGZvcm0tZXJyb3I7XG5cbiAgICAmLmlzLXZpc2libGUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gQ3JlYXRlcyBhIG1heCB3aWR0aCBjb250YWluZXIsIGRlc2lnbmVkIHRvIGhvdXNlIHlvdXIgZ3JpZCBjb250ZW50LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbJGdyaWQtY29udGFpbmVyXSAtIGEgd2lkdGggdG8gbGltaXQgdGhlIGNvbnRhaW5lciB0by5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHBhZGRpbmcgWyRncmlkLWNvbnRhaW5lci1wYWRkaW5nXSAtIHBhZGRpbmdzIG9mIHRoZSBjb250YWluZXIuXG5AbWl4aW4geHktZ3JpZC1jb250YWluZXIoXG4gICR3aWR0aDogJGdyaWQtY29udGFpbmVyLFxuICAkcGFkZGluZzogJGdyaWQtY29udGFpbmVyLXBhZGRpbmdcbikge1xuICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXJzOiAkcGFkZGluZywgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcblxuICBtYXgtd2lkdGg6ICR3aWR0aDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cblxuLy8vIENyZWF0ZXMgYSBjb250YWluZXIgZm9yIHlvdXIgZmxleCBjZWxscy5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpcmVjdGlvbiBbaG9yaXpvbnRhbF0gLSBFaXRoZXIgaG9yaXpvbnRhbCBvciB2ZXJ0aWNhbCBkaXJlY3Rpb24gb2YgY2VsbHMgd2l0aGluLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHdyYXAgW3RydWVdIC0gSWYgdGhlIGNlbGxzIHdpdGhpbiBzaG91bGQgd3JhcCBvciBub3QuXG5AbWl4aW4geHktZ3JpZChcbiAgJGRpcmVjdGlvbjogaG9yaXpvbnRhbCxcbiAgJHdyYXA6IHRydWVcbikge1xuICAkZGlyZWN0aW9uOiBpZigkZGlyZWN0aW9uID09ICdob3Jpem9udGFsJywgcm93LCBjb2x1bW4pO1xuICAkd3JhcDogaWYoJHdyYXAsIHdyYXAsIG5vd3JhcCk7XG5cbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiAkZGlyZWN0aW9uICR3cmFwO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8gTWFyZ2luIEdyaWQgY2xhc3Nlc1xuQG1peGluIHh5LWJhc2UtZ3JpZC1jbGFzc2VzIHtcblxuICAvLyBHcmlkIENvbnRhaW5lclxuICAuZ3JpZC1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIHh5LWdyaWQtY29udGFpbmVyO1xuXG4gICAgJi5mbHVpZCB7XG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbnRhaW5lcigxMDAlKTtcbiAgICB9XG5cbiAgICAmLmZ1bGwge1xuICAgICAgQGluY2x1ZGUgeHktZ3JpZC1jb250YWluZXIoMTAwJSwgMCk7XG4gICAgfVxuICB9XG5cbiAgLy8gQmFzZSBncmlkIHN0eWxlc1xuICAuZ3JpZC14IHtcbiAgICBAaW5jbHVkZSB4eS1ncmlkO1xuICB9XG5cbiAgLmNlbGwge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwoZnVsbCwgJGd1dHRlci10eXBlOiBub25lKTtcblxuICAgICYuYXV0byB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2UoYXV0byk7XG4gICAgfVxuXG4gICAgJi5zaHJpbmsge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKHNocmluayk7XG4gICAgfVxuXG4gIH1cbiAgLmdyaWQteCB7XG4gICAgPiAuYXV0byB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoYXV0bywgJGd1dHRlci10eXBlOiBub25lKTtcbiAgICB9XG5cbiAgICA+IC5zaHJpbmsge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKHNocmluaywgJGd1dHRlci10eXBlOiBub25lKTtcbiAgICB9XG4gIH1cblxuICAvLyBBdXRvIHdpZHRoXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgLy8gVGhpcyBpcyBhIGJpdCBvZiBhIGhhY2svd29ya2Fyb3VuZCwgc2VlIHRoZXNlIGlzc3VlcyAmIFBScyBmb3IgdGhlIGJhY2tzdG9yeTpcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vZm91bmRhdGlvbi9mb3VuZGF0aW9uLXNpdGVzL2lzc3Vlcy8xMDI0NFxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mb3VuZGF0aW9uL2ZvdW5kYXRpb24tc2l0ZXMvcHVsbC8xMDIyMiBhbmRcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vZm91bmRhdGlvbi9mb3VuZGF0aW9uLXNpdGVzL3B1bGwvMTAxNjRcbiAgICAuZ3JpZC14IHtcbiAgICAgICRzdHI6IFwiPiAuI3skLXpmLXNpemV9LXNocmluaywgPiAuI3skLXpmLXNpemV9LWZ1bGxcIjtcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAgICRzdHI6ICRzdHIgKyBcIiwgPiAuI3skLXpmLXNpemV9LSN7JGl9XCI7XG4gICAgICB9XG4gICAgICAjeyRzdHJ9IHtcbiAgICAgICAgZmxleC1iYXNpczogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgIC8vIFJlc3BvbnNpdmUgXCJhdXRvXCIgbW9kaWZpZXJcbiAgICBAaWYgbm90KCQtemYtc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAgICAgLmdyaWQteCA+IC4jeyQtemYtc2l6ZX0tYXV0byB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoYXV0bywgJGd1dHRlci10eXBlOiBub25lKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAlLXh5LWNlbGwtYmFzZS1zaHJpbmstaG9yaXpvbnRhbC0jeyQtemYtc2l6ZX0ge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKHNocmluayk7XG4gICAgfVxuXG4gICAgLy8gUmVzcG9uc2l2ZSBcInNocmlua1wiIG1vZGlmaWVyXG4gICAgQGlmIG5vdCgkLXpmLXNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgICAgIC5ncmlkLXggPiAuI3skLXpmLXNpemV9LXNocmluayB7XG4gICAgICAgIEBleHRlbmQgJS14eS1jZWxsLWJhc2Utc2hyaW5rLWhvcml6b250YWwtI3skLXpmLXNpemV9O1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoc2hyaW5rLCAkZ3V0dGVyLXR5cGU6IG5vbmUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFJlc3BvbnNpdmUgd2lkdGggbW9kaWZpZXJzXG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAgIC5ncmlkLXggPiAuI3skLXpmLXNpemV9LSN7JGl9IHtcbiAgICAgICAgQGV4dGVuZCAlLXh5LWNlbGwtYmFzZS1zaHJpbmstaG9yaXpvbnRhbC0jeyQtemYtc2l6ZX07XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZSgkaSwgJGd1dHRlci10eXBlOiBub25lKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBSZXNldCB3aWR0aCB3aGVuIHVzaW5nIGAuZ3JpZC1tYXJnaW4teGAgbm90IG9uIGAuZ3JpZC14YFxuICAuZ3JpZC1tYXJnaW4teDpub3QoLmdyaWQteCkgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cblxuICAvLyBSZXNldCBoZWlnaHQgd2hlbiB1c2luZyBgLmdyaWQtbWFyZ2luLXlgIG5vdCBvbiBgLmdyaWQteWBcbiAgLmdyaWQtbWFyZ2luLXk6bm90KC5ncmlkLXkpID4gLmNlbGwge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxufVxuXG5AbWl4aW4gLXh5LWJyZWFrcG9pbnQtY2VsbC1jbGFzc2VzKCRjbGFzcy1icmVha3BvaW50LCAkZ3V0dGVyLWJyZWFrcG9pbnQsICR2ZXJ0aWNhbCkge1xuICAkcHJlZml4OiBpZigkY2xhc3MtYnJlYWtwb2ludCA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCwgJycsICcjeyRjbGFzcy1icmVha3BvaW50fS0nKTtcbiAgPiAuI3skcHJlZml4fWF1dG8ge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZShhdXRvLCAkdmVydGljYWw6ICR2ZXJ0aWNhbCk7XG4gIH1cblxuICA+IC4jeyRwcmVmaXh9c2hyaW5rIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoc2hyaW5rLCAkdmVydGljYWw6ICR2ZXJ0aWNhbCk7XG4gIH1cblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAkY2xhc3NuYW1lOiBpZigkdmVydGljYWwsICcuI3skY2xhc3MtYnJlYWtwb2ludH0tI3skaX0nLCAnLiN7JGNsYXNzLWJyZWFrcG9pbnR9LSN7JGl9Jyk7XG5cbiAgICA+ICN7JGNsYXNzbmFtZX0ge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKCRpLCAkdmVydGljYWw6ICR2ZXJ0aWNhbCk7XG4gICAgfVxuICB9XG59XG5cbi8vIE1hcmdpbiBHcmlkIGNsYXNzZXNcbkBtaXhpbiB4eS1tYXJnaW4tZ3JpZC1jbGFzc2VzKFxuICAkZ3V0dGVyLXBvc2l0aW9uOiBsZWZ0IHJpZ2h0LFxuICAkdmVydGljYWw6IGZhbHNlLFxuICAkd3JhcHBpbmctc2VsZWN0b3I6ICcuZ3JpZC1tYXJnaW4teCdcbil7XG4gICN7JHdyYXBwaW5nLXNlbGVjdG9yfSB7XG4gICAgQGluY2x1ZGUgeHktZ3V0dGVycygkbmVnYXRpdmU6IHRydWUsICRndXR0ZXItcG9zaXRpb246ICRndXR0ZXItcG9zaXRpb24pO1xuXG4gICAgLy8gQmFzZSBjZWxsIHN0eWxlc1xuICAgID4gLmNlbGwge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbCgkdmVydGljYWw6ICR2ZXJ0aWNhbCwgJG91dHB1dDogKHNpemUgZ3V0dGVycykpO1xuICAgIH1cblxuICAgIC8vIGJhc2Ugc3R5bGVzIG5lZWQgdG8gYWxsIGJlIGJlZm9yZSB0aGUgYXV0byBhbmQgc2hyaW5rIHN0eWxlc1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgICBAaWYodHlwZS1vZigkZ3JpZC1tYXJnaW4tZ3V0dGVycykgPT0gJ21hcCcgYW5kIG1hcC1oYXMta2V5KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkLXpmLXNpemUpIGFuZCAkLXpmLXNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgPiAuY2VsbCB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgkdmVydGljYWw6ICR2ZXJ0aWNhbCwgJG91dHB1dDogKHNpemUgZ3V0dGVycykpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcblxuICAgICAgLy8gVGhpcyBpcyBwdXJlbHkgZm9yIHJlc3BvbnNpdmUgZ3V0dGVycyAtIHRoZSBtYXJnaW4gZ3JpZCBoYXMgdG8gZ28gYmFjayBhbmQgYWRqdXN0IHdpZHRocyAob3IgaGVpZ2h0cylcbiAgICAgIC8vIGZvciBhbGwgcHJpb3IgYnJlYWtwb2ludHMuXG4gICAgICAvLyBBcyB0aGVpciBndXR0ZXIgaXMgZGVmaW5lZCB3aXRoIHRoZWlyIHdpZHRoL2hlaWdodCwgZXZlbiBicmVha3BvaW50IHdpdGhvdXQgYSBuZXcgbWFyZ2luIG11c3QgYmVcbiAgICAgIC8vIGdlbmVyYXRlZCB0byBub3QgaGF2aW5nIHRoZWlyIHdpZHRoL2hlaWdodCBvdmVycmlkZWQgYnkgcmUtYWRqdXN0ZWQgc21hbGxlciBicmVha3BvaW50cy5cbiAgICAgIEBpZih0eXBlLW9mKCRncmlkLW1hcmdpbi1ndXR0ZXJzKSA9PSAnbWFwJyBhbmQgbWFwLWhhcy1rZXkoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICQtemYtc2l6ZSkpIHtcbiAgICAgICAgQGVhY2ggJGJwIGluIC16Zi1icmVha3BvaW50cy1sZXNzLXRoYW4oJC16Zi1zaXplKSB7XG4gICAgICAgICAgQGluY2x1ZGUgLXh5LWJyZWFrcG9pbnQtY2VsbC1jbGFzc2VzKCRicCwgJC16Zi1zaXplLCAkdmVydGljYWwpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIC14eS1icmVha3BvaW50LWNlbGwtY2xhc3NlcygkLXpmLXNpemUsICQtemYtc2l6ZSwgJHZlcnRpY2FsKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gUGFkZGluZyBHcmlkIGNsYXNzZXNcbkBtaXhpbiB4eS1wYWRkaW5nLWdyaWQtY2xhc3NlcyB7XG4gIC5ncmlkLXBhZGRpbmcteCB7XG5cbiAgICAvLyBOZWdhdGl2ZSBtYXJnaW4gZm9yIG5lc3RlZCBncmlkc1xuICAgIC5ncmlkLXBhZGRpbmcteCB7XG4gICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRuZWdhdGl2ZTogdHJ1ZSk7XG4gICAgfVxuXG4gICAgLy8gTmVnYXRpdmUgbWFyZ2luIGZvciBncmlkcyB3aXRoaW4gYGdyaWQtY29udGFpbmVyL2dyaWQtY29udGFpbmVyLmZsdWlkYFxuICAgIC8vIFRoaXMgYWxsb3dzIG1hcmdpbiBhbmQgcGFkZGluZyBncmlkcyB0byBsaW5lIHVwIHdpdGggZWFjaG90aGVyXG4gICAgLmdyaWQtY29udGFpbmVyOm5vdCguZnVsbCkgPiAmIHtcbiAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJG5lZ2F0aXZlOiB0cnVlKTtcbiAgICB9XG5cbiAgICAvLyBCYXNlIGNlbGwgc3R5bGVzXG4gICAgPiAuY2VsbCB7XG4gICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXJzOiAkZ3JpZC1wYWRkaW5nLWd1dHRlcnMsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG4gICAgfVxuICB9XG59XG5cbi8vIEJsb2NrIEdyaWQgY2xhc3Nlc1xuQG1peGluIHh5LWJsb2NrLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQ6IHRydWUsICRwYWRkaW5nLWdyaWQ6IHRydWUpIHtcbiAgQGlmICRwYWRkaW5nLWdyaWQge1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkeHktYmxvY2stZ3JpZC1tYXgge1xuICAgICAgICAuI3skLXpmLXNpemV9LXVwLSN7JGl9IHtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWxheW91dCgkbjogJGksICRzZWxlY3RvcjogJy5jZWxsJywgJGd1dHRlci10eXBlOiBwYWRkaW5nLCAkb3V0cHV0OiAoc2l6ZSkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICRtYXJnaW4tZ3JpZCB7XG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICR4eS1ibG9jay1ncmlkLW1heCB7XG4gICAgICAgIC8vIFRoaXMgaXMgcHVyZWx5IGZvciByZXNwb25zaXZlIGd1dHRlcnMgLSB0aGUgbWFyZ2luIGdyaWQgaGFzIHRvIGdvIGJhY2sgYW5kIGFkanVzdCB3aWR0aHMgKG9yIGhlaWdodHMpXG4gICAgICAgIC8vIGZvciBwcmlvciBicmVha3BvaW50cyBiYXNlZCBvbiB0aGUgcmVzcG9uc2l2ZSBndXR0ZXIuXG4gICAgICAgIEBpZih0eXBlLW9mKCRncmlkLW1hcmdpbi1ndXR0ZXJzKSA9PSAnbWFwJyBhbmQgbWFwLWhhcy1rZXkoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICQtemYtc2l6ZSkpIHtcbiAgICAgICAgICBAZWFjaCAkYnAgaW4gLXpmLWJyZWFrcG9pbnRzLWxlc3MtdGhhbigkLXpmLXNpemUpIHtcbiAgICAgICAgICAgIEBpZihtYXAtaGFzLWtleSgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJGJwKSkge1xuICAgICAgICAgICAgICAuZ3JpZC1tYXJnaW4teC4jeyRicH0tdXAtI3skaX0ge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtbGF5b3V0KCRuOiAkaSwgJHNlbGVjdG9yOiAnLmNlbGwnLCAkZ3V0dGVyLXR5cGU6IG1hcmdpbiwgJG91dHB1dDogKHNpemUpKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkeHktYmxvY2stZ3JpZC1tYXgge1xuICAgICAgICAuZ3JpZC1tYXJnaW4teC4jeyQtemYtc2l6ZX0tdXAtI3skaX0ge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtbGF5b3V0KCRuOiAkaSwgJHNlbGVjdG9yOiAnLmNlbGwnLCAkZ3V0dGVyLXR5cGU6IG1hcmdpbiwgJG91dHB1dDogKHNpemUpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBDb2xsYXBzZSBjbGFzc2VzXG5AbWl4aW4geHktY29sbGFwc2UtZ3JpZC1jbGFzc2VzKCRtYXJnaW4tZ3JpZDogdHJ1ZSwgJHBhZGRpbmctZ3JpZDogdHJ1ZSkge1xuICBAZWFjaCAkYnAgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGlmICRtYXJnaW4tZ3JpZCB7XG4gICAgICAuI3skYnB9LW1hcmdpbi1jb2xsYXBzZSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtY29sbGFwc2UoJGd1dHRlci10eXBlOiBtYXJnaW4sICRtaW4tYnJlYWtwb2ludDogJGJwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJHBhZGRpbmctZ3JpZCB7XG4gICAgICAuI3skYnB9LXBhZGRpbmctY29sbGFwc2Uge1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbGxhcHNlKCRndXR0ZXItdHlwZTogcGFkZGluZywgJG1pbi1icmVha3BvaW50OiAkYnApO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBPZmZzZXQgY2xhc3Nlc1xuQG1peGluIHh5LW9mZnNldC1jZWxsLWNsYXNzZXMge1xuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgLy8gT2Zmc2V0c1xuICAgICAgJG86ICRpIC0gMTtcblxuICAgICAgLiN7JC16Zi1zaXplfS1vZmZzZXQtI3skb30ge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLW9mZnNldCgkbywgJGd1dHRlcnM6ICRncmlkLXBhZGRpbmctZ3V0dGVycywgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcbiAgICAgIH1cblxuICAgICAgLmdyaWQtbWFyZ2luLXggPiAuI3skLXpmLXNpemV9LW9mZnNldC0jeyRvfSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtb2Zmc2V0KCRvKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gVmVydGljYWwgR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktdmVydGljYWwtZ3JpZC1jbGFzc2VzKFxuICAkbWFyZ2luLWdyaWQ6IHRydWUsXG4gICRwYWRkaW5nLWdyaWQ6IHRydWVcbikge1xuXG4gIC8vIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gIC8vICAgQGlmIG5vdCgkLXpmLXNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgLy8gICB9XG4gIC8vIH1cblxuICAuZ3JpZC15IHtcbiAgICBAaW5jbHVkZSB4eS1ncmlkKHZlcnRpY2FsLCBmYWxzZSk7XG5cblxuICAgID4gLmNlbGwge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1yZXNldCgpO1xuICAgIH1cblxuICAgID4gLmF1dG8ge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKGF1dG8sICRndXR0ZXItdHlwZTogbm9uZSwgJHZlcnRpY2FsOiB0cnVlKTtcbiAgICB9XG5cbiAgICA+IC5zaHJpbmsge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKHNocmluaywgJGd1dHRlci10eXBlOiBub25lLCAkdmVydGljYWw6IHRydWUpO1xuICAgIH1cblxuXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAgIC8vIFRoaXMgaXMgYSBiaXQgb2YgYSBoYWNrL3dvcmthcm91bmQsIHNlZSB0aGVzZSBpc3N1ZXMgYW5kIFBScyBmb3IgdGhlIGJhY2tzdG9yeTpcbiAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mb3VuZGF0aW9uL2ZvdW5kYXRpb24tc2l0ZXMvaXNzdWVzLzEwMjQ0XG4gICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vZm91bmRhdGlvbi9mb3VuZGF0aW9uLXNpdGVzL3B1bGwvMTAyMjIgYW5kXG4gICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vZm91bmRhdGlvbi9mb3VuZGF0aW9uLXNpdGVzL3B1bGwvMTAxNjRcbiAgICAgICRzdHI6IFwiPiAuI3skLXpmLXNpemV9LXNocmluaywgPiAuI3skLXpmLXNpemV9LWZ1bGxcIjtcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAgICRzdHI6ICRzdHIgKyBcIiwgPiAuI3skLXpmLXNpemV9LSN7JGl9XCI7XG4gICAgICB9XG4gICAgICAjeyRzdHJ9IHtcbiAgICAgICAgZmxleC1iYXNpczogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgICAgLy8gUmVzcG9uc2l2ZSBcImF1dG9cIiBtb2RpZmllclxuICAgICAgQGlmIG5vdCgkLXpmLXNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgPiAuI3skLXpmLXNpemV9LWF1dG8ge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoYXV0bywgJGd1dHRlci10eXBlOiBub25lLCAkdmVydGljYWw6IHRydWUpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICUteHktY2VsbC1iYXNlLXNocmluay12ZXJ0aWNhbC0jeyQtemYtc2l6ZX0ge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2Uoc2hyaW5rKTtcbiAgICAgIH1cblxuICAgICAgLy8gUmVzcG9uc2l2ZSBcInNocmlua1wiIG1vZGlmaWVyXG4gICAgICBAaWYgbm90KCQtemYtc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAgICAgICA+IC4jeyQtemYtc2l6ZX0tc2hyaW5rIHtcbiAgICAgICAgICBAZXh0ZW5kICUteHktY2VsbC1iYXNlLXNocmluay12ZXJ0aWNhbC0jeyQtemYtc2l6ZX07XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKHNocmluaywgJGd1dHRlci10eXBlOiBub25lLCAkdmVydGljYWw6IHRydWUpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIFJlc3BvbnNpdmUgd2lkdGggbW9kaWZpZXJzXG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgICAgID4gLiN7JC16Zi1zaXplfS0jeyRpfSB7XG4gICAgICAgICAgQGV4dGVuZCAlLXh5LWNlbGwtYmFzZS1zaHJpbmstdmVydGljYWwtI3skLXpmLXNpemV9O1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZSgkaSwgJGd1dHRlci10eXBlOiBub25lLCAkdmVydGljYWw6IHRydWUpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICB9XG4gIH1cblxuICBAaWYgJHBhZGRpbmctZ3JpZCB7XG4gICAgLmdyaWQtcGFkZGluZy15IHtcbiAgICAgIC8vIE5lZ2F0aXZlIG1hcmdpbiBmb3IgbmVzdGVkIGdyaWRzXG4gICAgICAuZ3JpZC1wYWRkaW5nLXkge1xuICAgICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRuZWdhdGl2ZTogdHJ1ZSwgJGd1dHRlci1wb3NpdGlvbjogdG9wIGJvdHRvbSk7XG4gICAgICB9XG5cbiAgICAgIC8vIEJhc2UgY2VsbCBzdHlsZXNcbiAgICAgID4gLmNlbGwge1xuICAgICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXJzOiAkZ3JpZC1wYWRkaW5nLWd1dHRlcnMsICRndXR0ZXItdHlwZTogcGFkZGluZywgJGd1dHRlci1wb3NpdGlvbjogdG9wIGJvdHRvbSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICRtYXJnaW4tZ3JpZCB7XG4gICAgQGluY2x1ZGUgeHktbWFyZ2luLWdyaWQtY2xhc3Nlcyh0b3AgYm90dG9tLCB0cnVlLCAnLmdyaWQtbWFyZ2luLXknKTtcbiAgfVxuXG59XG5cbkBtaXhpbiB4eS1mcmFtZS1ncmlkLWNsYXNzZXMoJHZlcnRpY2FsLWdyaWQ6IHRydWUsICRtYXJnaW4tZ3JpZDogdHJ1ZSkge1xuICAvLyBGcmFtZWQgZ3JpZCBzdHlsZXNcbiAgLmdyaWQtZnJhbWUge1xuICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWU7XG4gIH1cblxuICAuY2VsbCAuZ3JpZC1mcmFtZSB7XG4gICAgd2lkdGg6IDEwMCU7IC8vIFNhbWUgYXMgaW5jbHVkZSB3aXRoICRuZXN0ZWQsIGJ1dCB3aXRoIGxlc3MgY3NzXG4gIH1cblxuICAuY2VsbC1ibG9jayB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jaygpO1xuICB9XG5cbiAgLmNlbGwtYmxvY2steSB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jayh0cnVlKTtcbiAgfVxuXG5cbiAgLmNlbGwtYmxvY2stY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrLWNvbnRhaW5lcigpO1xuICB9XG5cblxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KGZhbHNlKSB7XG5cbiAgICAuI3skLXpmLXNpemV9LWdyaWQtZnJhbWUge1xuICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZTtcbiAgICB9XG5cbiAgICAuY2VsbCAuI3skLXpmLXNpemV9LWdyaWQtZnJhbWUge1xuICAgICAgd2lkdGg6IDEwMCU7IC8vIFNhbWUgYXMgaW5jbHVkZSB3aXRoICRuZXN0ZWQsIGJ1dCB3aXRoIGxlc3MgY3NzXG4gICAgfVxuXG4gICAgLiN7JC16Zi1zaXplfS1jZWxsLWJsb2NrIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2soKTtcbiAgICB9XG5cbiAgICAuI3skLXpmLXNpemV9LWNlbGwtYmxvY2stY29udGFpbmVyIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2stY29udGFpbmVyKCk7XG4gICAgfVxuXG4gICAgLiN7JC16Zi1zaXplfS1jZWxsLWJsb2NrLXkge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jayh0cnVlKTtcbiAgICB9XG4gIH1cblxuICBAaWYgJHZlcnRpY2FsLWdyaWQge1xuICAgIC5ncmlkLXkge1xuICAgICAgJi5ncmlkLWZyYW1lIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZSh0cnVlKTtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoZmFsc2UpIHtcbiAgICAgICAgJi4jeyQtemYtc2l6ZX0tZ3JpZC1mcmFtZSB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZSh0cnVlKTtcbiAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgfVxuXG4gICAgICB9XG4gICAgfVxuICAgIC5jZWxsIHtcbiAgICAgIC5ncmlkLXkuZ3JpZC1mcmFtZSB7XG4gICAgICAgIGhlaWdodDogMTAwJTsgLy8gU2FtZSBhcyBpbmNsdWRlIHdpdGggJG5lc3RlZCwgYnV0IHdpdGggbGVzcyBjc3NcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoZmFsc2UpIHtcbiAgICAgICAgLmdyaWQteS4jeyQtemYtc2l6ZX0tZ3JpZC1mcmFtZSB7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlOyAvLyBTYW1lIGFzIGluY2x1ZGUgd2l0aCAkbmVzdGVkLCBidXQgd2l0aCBsZXNzIGNzc1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBpZiAkbWFyZ2luLWdyaWQge1xuICAgIEBpbmNsdWRlIHh5LW1hcmdpbi1ncmlkLWNsYXNzZXModG9wIGJvdHRvbSwgdHJ1ZSwgJy5ncmlkLW1hcmdpbi15Jyk7XG4gICAgLmdyaWQtZnJhbWUuZ3JpZC1tYXJnaW4teSB7XG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lKHRydWUsIGZhbHNlLCAkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJGluY2x1ZGUtYmFzZTogZmFsc2UpO1xuICAgIH1cbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KGZhbHNlKSB7XG4gICAgICAuZ3JpZC1tYXJnaW4teS4jeyQtemYtc2l6ZX0tZ3JpZC1mcmFtZSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWUodHJ1ZSwgZmFsc2UsICRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkLXpmLXNpemUsIGZhbHNlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gRmluYWwgY2xhc3Nlc1xuQG1peGluIGZvdW5kYXRpb24teHktZ3JpZC1jbGFzc2VzKFxuICAkYmFzZS1ncmlkOiB0cnVlLFxuICAkbWFyZ2luLWdyaWQ6IHRydWUsXG4gICRwYWRkaW5nLWdyaWQ6IHRydWUsXG4gICRibG9jay1ncmlkOiB0cnVlLFxuICAkY29sbGFwc2U6IHRydWUsXG4gICRvZmZzZXQ6IHRydWUsXG4gICR2ZXJ0aWNhbC1ncmlkOiB0cnVlLFxuICAkZnJhbWUtZ3JpZDogdHJ1ZVxuKSB7XG5cbiAgLy8gQmFzZSBncmlkIHN0eWxlc1xuICBAaWYoJGJhc2UtZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LWJhc2UtZ3JpZC1jbGFzc2VzKCk7XG4gIH1cblxuICAvLyBNYXJnaW4gZ3JpZFxuICBAaWYoJG1hcmdpbi1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktbWFyZ2luLWdyaWQtY2xhc3NlcygpO1xuICB9XG5cbiAgLy8gUGFkZGluZyBncmlkXG4gIEBpZigkcGFkZGluZy1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktcGFkZGluZy1ncmlkLWNsYXNzZXMoKTtcbiAgfVxuXG4gIC8vIEJsb2NrIGdyaWRcbiAgQGlmKCRibG9jay1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktYmxvY2stZ3JpZC1jbGFzc2VzKCRtYXJnaW4tZ3JpZCwgJHBhZGRpbmctZ3JpZCk7XG4gIH1cblxuICAvLyBDb2xsYXBzZSBndXR0ZXJzXG4gIEBpZigkY29sbGFwc2UpIHtcbiAgICBAaW5jbHVkZSB4eS1jb2xsYXBzZS1ncmlkLWNsYXNzZXMoJG1hcmdpbi1ncmlkLCAkcGFkZGluZy1ncmlkKTtcbiAgfVxuXG4gIC8vIE9mZnNldCBndXR0ZXJzXG4gIEBpZigkb2Zmc2V0KSB7XG4gICAgQGluY2x1ZGUgeHktb2Zmc2V0LWNlbGwtY2xhc3NlcygpO1xuICB9XG5cbiAgLy8gVmVydGljYWwgZ3JpZFxuICBAaWYoJHZlcnRpY2FsLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS12ZXJ0aWNhbC1ncmlkLWNsYXNzZXMoJG1hcmdpbi1ncmlkLCAkcGFkZGluZy1ncmlkKTtcbiAgfVxuXG4gIEBpZiAoJGZyYW1lLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1mcmFtZS1ncmlkLWNsYXNzZXMoJHZlcnRpY2FsLWdyaWQsICRtYXJnaW4tZ3JpZClcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gRmluZHMgdGhlIGdyZWF0ZXN0IGNvbW1vbiBkaXZpc29yIG9mIHR3byBpbnRlZ2Vycy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYSAtIEZpcnN0IG51bWJlciB0byBjb21wYXJlLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYiAtIFNlY29uZCBudW1iZXIgdG8gY29tcGFyZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBncmVhdGVzdCBjb21tb24gZGl2aXNvci5cbkBmdW5jdGlvbiBnY2QoJGEsICRiKSB7XG4gIC8vIEZyb206IGh0dHA6Ly9yb3NldHRhY29kZS5vcmcvd2lraS9HcmVhdGVzdF9jb21tb25fZGl2aXNvciNKYXZhU2NyaXB0XG4gIEBpZiAoJGIgIT0gMCkge1xuICAgIEByZXR1cm4gZ2NkKCRiLCAkYSAlICRiKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiBhYnMoJGEpO1xuICB9XG59XG5cbi8vLyBIYW5kbGVzIGRlY2ltYWwgZXhwb25lbnRzIGJ5IHRyeWluZyB0byBjb252ZXJ0IHRoZW0gaW50byBhIGZyYWN0aW9uIGFuZCB0aGVuIHVzZSBhIG50aC1yb290LWFsZ29yaXRobSBmb3IgcGFydHMgb2YgdGhlIGNhbGN1bGF0aW9uXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgLSBUaGUgYmFzZSBudW1iZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRleHBvbmVudCAtIFRoZSBleHBvbmVudC5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBwcm9kdWN0IG9mIHRoZSBleHBvbmVudGlhdGlvbi5cbkBmdW5jdGlvbiBwb3coJGJhc2UsICRleHBvbmVudCwgJHByZWM6IDE2KSB7XG4gIEBpZiAoZmxvb3IoJGV4cG9uZW50KSAhPSAkZXhwb25lbnQpIHtcbiAgICAkcHJlYzI6IHBvdygxMCwgJHByZWMpO1xuICAgICRleHBvbmVudDogcm91bmQoJGV4cG9uZW50ICogJHByZWMyKTtcbiAgICAkZGVub21pbmF0b3I6IGdjZCgkZXhwb25lbnQsICRwcmVjMik7XG4gICAgQHJldHVybiBudGgtcm9vdChwb3coJGJhc2UsIGRpdmlkZSgkZXhwb25lbnQsICRkZW5vbWluYXRvcikpLCBkaXZpZGUoJHByZWMyLCAkZGVub21pbmF0b3IpLCAkcHJlYyk7XG4gIH1cblxuICAkdmFsdWU6ICRiYXNlO1xuICBAaWYgJGV4cG9uZW50ID4gMSB7XG4gICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkZXhwb25lbnQge1xuICAgICAgJHZhbHVlOiAkdmFsdWUgKiAkYmFzZTtcbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGV4cG9uZW50IDwgMSB7XG4gICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAtJGV4cG9uZW50IHtcbiAgICAgICR2YWx1ZTogZGl2aWRlKCR2YWx1ZSwgJGJhc2UpO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuXG5AZnVuY3Rpb24gbnRoLXJvb3QoJG51bSwgJG46IDIsICRwcmVjOiAxMikge1xuICAvLyBGcm9tOiBodHRwOi8vcm9zZXR0YWNvZGUub3JnL3dpa2kvTnRoX3Jvb3QjSmF2YVNjcmlwdFxuICAkeDogMTtcblxuICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICRwcmVjIHtcbiAgICAkeDogZGl2aWRlKDEsICRuKSAqICgoJG4gLSAxKSAqICR4ICsgZGl2aWRlKCRudW0sIHBvdygkeCwgJG4gLSAxKSkpO1xuICB9XG5cbiAgQHJldHVybiAkeDtcbn1cblxuLy8vIENhbGN1bGF0ZXMgdGhlIGhlaWdodCBhcyBhIHBlcmNlbnRhZ2Ugb2YgdGhlIHdpZHRoIGZvciBhIGdpdmVuIHJhdGlvLlxuLy8vIEBwYXJhbSB7TGlzdH0gJHJhdGlvIC0gUmF0aW8gdG8gdXNlIHRvIGNhbGN1bGF0ZSB0aGUgaGVpZ2h0LCBmb3JtYXR0ZWQgYXMgYHggYnkgeWAuXG4vLy8gQHJldHVybiB7TnVtYmVyfSBBIHBlcmNlbnRhZ2UgdmFsdWUgZm9yIHRoZSBoZWlnaHQgcmVsYXRpdmUgdG8gdGhlIHdpZHRoIG9mIGEgcmVzcG9uc2l2ZSBjb250YWluZXIuXG5AZnVuY3Rpb24gcmF0aW8tdG8tcGVyY2VudGFnZSgkcmF0aW8pIHtcbiAgJHc6IG50aCgkcmF0aW8sIDEpO1xuICAkaDogbnRoKCRyYXRpbywgMyk7XG4gIEByZXR1cm4gZGl2aWRlKCRoLCAkdykgKiAxMDAlO1xufVxuXG4vLy8gUGFyc2UgdGhlIGdpdmVuIGAkZnJhY3Rpb25gIHRvIG51bWVyYXRvcnMgYW5kIGRlbnVtZXJhdG9ycy5cbi8vL1xuLy8vIEBwYXJhbSB7Kn0gJGZyYWN0aW9uIC0gVmFsdWUgcmVwcmVzZW50aW5nIGEgZnJhY3Rpb24gdG8gcGFyc2UuIEl0IGNhbiBiZSBmb3JtYXR0ZWQgYXMgYDUwJWAsIGAxIG9mIDJgLCBgMS8yYCBvciBgNTBgIChubyBkZW5vbWluYXRvciB3b3VsZCBiZSByZXR1cm5lZCkuXG4vLy9cbi8vLyBAcmV0dXJuIHtMaXN0fSBMaXN0IG9mIHBhcnNlZCB2YWx1ZXMgd2l0aCBudW1lcmF0b3IgYXQgZmlyc3QgcG9zaXRpb24gYW5kIGRlbnVtZXJhdG9yIGFzIHNlY29uZC4gVGhlc2UgdmFsdWVzIG1heSBiZSBudWxsLlxuQGZ1bmN0aW9uIHpmLXBhcnNlLWZyYWN0aW9uKCRmcmFjdGlvbikge1xuXG4gIEBpZiB0eXBlLW9mKCRmcmFjdGlvbikgPT0gJ251bWJlcicge1xuICAgIC8vIFwiNTAlXCJcbiAgICBAaWYgdW5pdCgkZnJhY3Rpb24pID09ICclJyB7XG4gICAgICBAcmV0dXJuIChzdHJpcC11bml0KCRmcmFjdGlvbiksIDEwMCk7XG4gICAgfVxuICAgIEBlbHNlIGlmICh1bml0KCRmcmFjdGlvbikgPT0gJycpIHtcbiAgICAgIC8vIFwiMC41XCJcbiAgICAgIEBpZiAkZnJhY3Rpb24gPCAxIHtcbiAgICAgICAgQHJldHVybiAoJGZyYWN0aW9uICogMTAwLCAxMDApO1xuICAgICAgfVxuICAgICAgLy8gXCI1MFwiXG4gICAgICBAZWxzZSB7XG4gICAgICAgIEByZXR1cm4gKCRmcmFjdGlvbiwgbnVsbCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGVsc2UgaWYgdHlwZS1vZigkZnJhY3Rpb24pID09ICdsaXN0JyB7XG4gICAgLy8gXCI1MCBvZiAxMDBcIiwgXCI1MC8xMDBcIi4uLlxuICAgIEBpZiBsZW5ndGgoJGZyYWN0aW9uKSA9PSAzXG4gICAgYW5kIHR5cGUtb2YobnRoKCRmcmFjdGlvbiwgMSkgPT0gJ251bWJlcicpXG4gICAgYW5kIHR5cGUtb2YobnRoKCRmcmFjdGlvbiwgMykgPT0gJ251bWJlcicpIHtcbiAgICAgIEByZXR1cm4gKG50aCgkZnJhY3Rpb24sIDEpLCBudGgoJGZyYWN0aW9uLCAzKSk7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAobnVsbCwgbnVsbCk7XG59XG5cbi8vLyBSZXR1cm5zIHdoZXRoZXIgdGhlIGdpdmVuIGAkdmFsdWVgIHJlcHJlc2VudHMgYSBmcmFjdGlvbi4gU3VwcG9ydHMgZm9ybWF0cyBsaWtlIGA1MCVgLCBgMSBvZiAyYCwgYDEgcGVyIDJgIG9yIGAxLzJgLlxuLy8vXG4vLy8gQHBhcmFtIHsqfSAkdmFsdWUgLSBWYWx1ZSB0byB0ZXN0LlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGFsbG93LW5vLWRlbm9taW5hdG9yIFtmYWxzZV0gLSBJZiBgdHJ1ZWAsIHNpbXBsZSBudW1iZXJzIHdpdGhvdXQgZGVub21pbmF0b3JzIGxpa2UgYDUwYCBhcmUgc3VwcG9ydGVkLlxuLy8vXG4vLy8gQHJldHVybiB7Qm9vbGVhbn0gYHRydWVgIGlmIGAkdmFsdWVgIHJlcHJlc2VudHMgYSBmcmFjdGlvbiwgYGZhbHNlYCBvdGhlcndpc2UuXG5AZnVuY3Rpb24gemYtaXMtZnJhY3Rpb24oJHZhbHVlLCAkYWxsb3ctbm8tZGVub21pbmF0b3I6IGZhbHNlKSB7XG4gICRwYXJzZWQ6IHpmLXBhcnNlLWZyYWN0aW9uKCR2YWx1ZSk7XG4gIEByZXR1cm4gbm90KG50aCgkcGFyc2VkLCAxKSA9PSBudWxsXG4gICAgb3IgKG50aCgkcGFyc2VkLCAyKSA9PSBudWxsIGFuZCAkYWxsb3ctbm8tZGVub21pbmF0b3IgPT0gZmFsc2UpKTtcbn1cblxuLy8vIENhbGN1bGF0ZSBhIHBlcmNlbnRhZ2UgZnJvbSBhIGdpdmVuIGZyYWN0aW9uLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJGZyYWN0aW9uIC0gVmFsdWUgcmVwcmVzZW50aW5nIGEgZnJhY3Rpb24gdG8gdXNlIHRvIGNhbGN1bGF0ZSB0aGUgcGVyY2VudGFnZSwgZm9ybWF0dGVkIGFzIGA1MGAgKHJlbGF0aXZlIHRvIGAkZGVub21pbmF0b3JgKSwgYDUwJWAsIGAxIG9mIDJgIG9yIGAxLzJgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRkZW5vbWluYXRvciAtIERlZmF1bHQgdmFsdWUgdG8gdXNlIGFzIGRlbm9taW5hdG9yIHdoZW4gYCRmcmFjdGlvbmAgcmVwcmVzZW50cyBhbiBhYnNvbHV0ZSB2YWx1ZS5cbkBmdW5jdGlvbiBmcmFjdGlvbi10by1wZXJjZW50YWdlKFxuICAkZnJhY3Rpb24sXG4gICRkZW5vbWluYXRvcjogbnVsbFxuKSB7XG4gICRwYXJzZWQ6IHpmLXBhcnNlLWZyYWN0aW9uKCRmcmFjdGlvbik7XG4gICRwYXJzZWQtbm9taW5hdG9yOiBudGgoJHBhcnNlZCwgMSk7XG4gICRwYXJzZWQtZGVub21pbmF0b3I6IG50aCgkcGFyc2VkLCAyKTtcblxuICBAaWYgJHBhcnNlZC1ub21pbmF0b3IgPT0gbnVsbCB7XG4gICAgQGVycm9yICdXcm9uZyBzeW50YXggZm9yIFwiZnJhY3Rpb24tdG8tcGVyY2VudGFnZSgpXCIuIFVzZSBhIG51bWJlciwgZGVjaW1hbCwgcGVyY2VudGFnZSwgb3IgXCJuIG9mIG5cIiAvIFwibi9uXCIuJztcbiAgfVxuICBAaWYgJHBhcnNlZC1kZW5vbWluYXRvciA9PSBudWxsIHtcbiAgICBAaWYgdHlwZS1vZigkZGVub21pbmF0b3IpID09ICdudW1iZXInIHtcbiAgICAgICRwYXJzZWQtZGVub21pbmF0b3I6ICRkZW5vbWluYXRvcjtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGVycm9yICdFcnJvciB3aXRoIFwiZnJhY3Rpb24tdG8tcGVyY2VudGFnZSgpXCIuIEEgZGVmYXVsdCBcIiRkZW5vbWluYXRvclwiIGlzIHJlcXVpcmVkIHRvIHN1cHBvcnQgYWJzb2x1dGUgdmFsdWVzJztcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuIHBlcmNlbnRhZ2UoZGl2aWRlKCRwYXJzZWQtbm9taW5hdG9yLCAkcGFyc2VkLWRlbm9taW5hdG9yKSk7XG59XG5cbi8vLyBEaXZpZGUgdGhlIGdpdmVuIGAkZGl2aWRlbnRgIGJ5IHRoZSBnaXZlbiBgJGRpdmlzb3JgLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRkaXZpZGVudCAtIFRoZSBkaXZpZGVudC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGRpdmlzb3IgLSBUaGUgZGl2aXNvci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHByZWNpc2lvbiAtIFRoZSBwcmVjaXNpb24gZGVjaW1hbHMgZm9yIHRoZSBkaXZpc2lvbi5cbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn0gVGhlIHByb2R1Y3Qgb2YgdGhlIGRpdmlzaW9uLlxuQGZ1bmN0aW9uIGRpdmlkZSgkZGl2aWRlbmQsICRkaXZpc29yLCAkcHJlY2lzaW9uOiAxMikge1xuICAkc2lnbjogaWYoJGRpdmlkZW5kID4gMCBhbmQgJGRpdmlzb3IgPiAwIG9yICRkaXZpZGVuZCA8IDAgYW5kICRkaXZpc29yIDwgMCwgMSwgLTEpO1xuICAkZGl2aWRlbmQ6IGFicygkZGl2aWRlbmQpO1xuICAkZGl2aXNvcjogYWJzKCRkaXZpc29yKTtcbiAgQGlmICRkaXZpZGVuZCA9PSAwIHtcbiAgICBAcmV0dXJuIDA7XG4gIH1cbiAgQGlmICRkaXZpc29yID09IDAge1xuICAgIEBlcnJvciAnQ2Fubm90IGRpdmlkZSBieSAwJztcbiAgfVxuICAkcmVtYWluZGVyOiAkZGl2aWRlbmQ7XG4gICRyZXN1bHQ6IDA7XG4gICRmYWN0b3I6IDEwO1xuICBAd2hpbGUgKCRyZW1haW5kZXIgPiAwIGFuZCAkcHJlY2lzaW9uID49IDApIHtcbiAgICAkcXVvdGllbnQ6IDA7XG4gICAgQHdoaWxlICgkcmVtYWluZGVyID49ICRkaXZpc29yKSB7XG4gICAgICAkcmVtYWluZGVyOiAkcmVtYWluZGVyIC0gJGRpdmlzb3I7XG4gICAgICAkcXVvdGllbnQ6ICRxdW90aWVudCArIDE7XG4gICAgfVxuICAgICRyZXN1bHQ6ICRyZXN1bHQgKiAxMCArICRxdW90aWVudDtcbiAgICAkZmFjdG9yOiAkZmFjdG9yICogMC4xO1xuICAgICRyZW1haW5kZXI6ICRyZW1haW5kZXIgKiAxMDtcbiAgICAkcHJlY2lzaW9uOiAkcHJlY2lzaW9uIC0gMTtcbiAgICBAaWYgKCRwcmVjaXNpb24gPCAwIGFuZCAkcmVtYWluZGVyID49ICRkaXZpc29yICogNSkge1xuICAgICAgJHJlc3VsdDogJHJlc3VsdCArIDE7XG4gICAgfVxuICB9XG4gICRyZXN1bHQ6ICRyZXN1bHQgKiAkZmFjdG9yICogJHNpZ247XG4gICRkaXZpZGVuZC11bml0OiB1bml0KCRkaXZpZGVuZCk7XG4gICRkaXZpc29yLXVuaXQ6IHVuaXQoJGRpdmlzb3IpO1xuICAkdW5pdC1tYXA6IChcbiAgICAncHgnOiAxcHgsXG4gICAgJ3JlbSc6IDFyZW0sXG4gICAgJ2VtJzogMWVtLFxuICAgICclJzogMSVcbiAgKTtcbiAgQGlmICgkZGl2aWRlbmQtdW5pdCAhPSAkZGl2aXNvci11bml0IGFuZCBtYXAtaGFzLWtleSgkdW5pdC1tYXAsICRkaXZpZGVuZC11bml0KSkge1xuICAgICRyZXN1bHQ6ICRyZXN1bHQgKiBtYXAtZ2V0KCR1bml0LW1hcCwgJGRpdmlkZW5kLXVuaXQpO1xuICB9XG5cbiAgQHJldHVybiAkcmVzdWx0O1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIFNpemVzIGNoaWxkIGVsZW1lbnRzIHNvIHRoYXQgYCRuYCBudW1iZXIgb2YgaXRlbXMgYXBwZWFyIG9uIGVhY2ggcm93LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRuIC0gTnVtYmVyIG9mIGVsZW1lbnRzIHRvIGRpc3BsYXkgcGVyIHJvdy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFsnLmNlbGwnXSAtIFNlbGVjdG9yKHMpIHRvIHVzZSBmb3IgY2hpbGQgZWxlbWVudHMuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZ3V0dGVyLW91dHB1dCBbbnVsbF0gLSBbREVQUkVDQVRFRF0gV2hldGhlciBvciBub3QgdG8gb3V0cHV0IGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFR5cGUgb2YgZ3V0dGVyIHRvIG91dHB1dC4gQWNjZXB0cyBgbWFyZ2luYCwgYHBhZGRpbmdgIG9yIGBub25lYC5cbi8vLyBAcGFyYW0ge0xpc3R9ICRndXR0ZXItcG9zaXRpb24gW251bGxdIC0gVGhlIHBvc2l0aW9uIHRvIGFwcGx5IGd1dHRlcnMgdG8uIEFjY2VwdHMgYHRvcGAsIGBib3R0b21gLCBgbGVmdGAsIGByaWdodGAgaW4gYW55IGNvbWJpbmF0aW9uLiBCeSBkZWZhdWx0IGByaWdodCBsZWZ0YCBmb3IgaG9yaXpvbnRhbCBjZWxscyBhbmQgYHRvcCBib3R0b21gIGZvciB2ZXJ0aWNhbCBjZWxscy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIGJyZWFrcG9pbnQgdG8gdXNlIGZvciB0aGUgY2VsbCBnZW5lcmF0aW9uLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIFNldCB0byB0cnVlIHRvIG91dHB1dCB2ZXJ0aWNhbCAoaGVpZ2h0KSBzdHlsZXMgcmF0aGVyIHRoYW4gd2lkdGhzLlxuLy8vIEBwYXJhbSB7TGlzdH0gJG91dHB1dCBbKGJhc2Ugc2l6ZSBndXR0ZXJzKV0gLSBDZWxsIHBhcnRzIHRvIG91dHB1dC4gWW91IHdpbGwgbmVlZCB0byBnZW5lcmF0ZSBvdGhlcnMgcGFydHMgb2YgdGhlIGNlbGwgc2VwZXJhdGVseSwgaXQgbWF5IG5vdCB3b3JrIGNvcnJlY3RseSBvdGhlcndpc2UuXG5AbWl4aW4geHktZ3JpZC1sYXlvdXQoXG4gICRuLFxuICAkc2VsZWN0b3I6ICcuY2VsbCcsXG4gICRndXR0ZXItb3V0cHV0OiBudWxsLFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkZ3V0dGVyLXBvc2l0aW9uOiBudWxsLFxuICAkYnJlYWtwb2ludDogbnVsbCxcbiAgJHZlcnRpY2FsOiBmYWxzZSxcbiAgJG91dHB1dDogKGJhc2Ugc2l6ZSBndXR0ZXJzKVxuKSB7XG4gICRzaXplOiBwZXJjZW50YWdlKGRpdmlkZSgxLCAkbikpO1xuXG4gICYgPiAjeyRzZWxlY3Rvcn0ge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwoJHNpemUsICRndXR0ZXItb3V0cHV0LCAkZ3V0dGVycywgJGd1dHRlci10eXBlLCAkZ3V0dGVyLXBvc2l0aW9uLCAkYnJlYWtwb2ludCwgJHZlcnRpY2FsLCAkb3V0cHV0KTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIENvbGxhcHNlcyB0aGUgZ3JpZCBhIGNlbGxzIHdpdGhpbiBpdC5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWy5jZWxsXSAtIFRoZSBjaGlsZCBlbGVtZW50IHRvIHJlbW92ZSB0aGUgZ3V0dGVyIGZyb20uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBUaGUgdHlwZSBvZiBndXR0ZXIgdG8gcmVtb3ZlLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGd1dHRlci1wb3NpdGlvbiBbcmlnaHQgbGVmdF0gLSBUaGUgcG9zaXRpb25zIHRvIHJlbW92ZSBndXR0ZXJzIGZyb20uIEFjY2VwdHMgYHRvcGAsIGBib3R0b21gLCBgbGVmdGAsIGByaWdodGAgaW4gYW55IGNvbWJpbmF0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJG1pbi1icmVha3BvaW50IFskLXpmLXplcm8tYnJlYWtwb2ludF0gLSBNaW5pbXVtIGJyZWFrcG9pbnQgaW4gYCRicmVha3BvaW50LWNsYXNzZXNgIGZvciB3aGljaCB0byBjb2xsYXBzZSB0aGUgZ3V0dGVyLlxuQG1peGluIHh5LWdyaWQtY29sbGFwc2UoXG4gICRzZWxlY3RvcjogJy5jZWxsJyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRndXR0ZXItcG9zaXRpb246IHJpZ2h0IGxlZnQsXG4gICRtaW4tYnJlYWtwb2ludDogJC16Zi16ZXJvLWJyZWFrcG9pbnRcbikge1xuICAvLyBGaXJzdCwgbGV0cyBuZWdhdGUgYW55IG1hcmdpbnMgb24gdGhlIHRvcCBsZXZlbFxuICBAaWYgKCRndXR0ZXItdHlwZSA9PSAnbWFyZ2luJykge1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbWluLWJyZWFrcG9pbnQpIHtcbiAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgbWFyZ2luLSN7JHZhbHVlfTogMDtcbiAgICAgIH1cblxuICAgICAgPiAjeyRzZWxlY3Rvcn0ge1xuICAgICAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAgICAgbWFyZ2luLSN7JHZhbHVlfTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICRleGNsdWRlZC1icHM6IC16Zi1icmVha3BvaW50cy1sZXNzLXRoYW4oJG1pbi1icmVha3BvaW50KTtcblxuICAgIC8vIE91dHB1dCBuZXcgd2lkdGhzIHRvIG5vdCBpbmNsdWRlIGd1dHRlcnNcbiAgICBAZWFjaCAkYnAgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaWYoc2wtY29udGFpbigkZXhjbHVkZWQtYnBzLCAkYnApKSB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1pbi1icmVha3BvaW50KSB7XG4gICAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgICAgICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAgICAgICAgID4gLiN7JGJwfS0jeyRpfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZSgkaSwgJGd1dHRlci10eXBlOiBub25lKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicCkge1xuICAgICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAgICAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgICAgICAgICA+IC4jeyRicH0tI3skaX0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoJGksICRndXR0ZXItdHlwZTogbm9uZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1pbi1icmVha3BvaW50KSB7XG4gICAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAgIG1hcmdpbi0jeyR2YWx1ZX06IDA7XG4gICAgICB9XG5cbiAgICAgID4gI3skc2VsZWN0b3J9IHtcbiAgICAgICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgICAgIHBhZGRpbmctI3skdmFsdWV9OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gUmV0dXJucyB0aGUgYXBwcm9wcmlhdGUgQ1NTIHZhbHVlIHRvIG9mZnNldCBhIGNlbGwuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkbiAtIFNpemUgdG8gb2Zmc2V0IGJ5LiBZb3UgY2FuIHBhc3MgaW4gYW55IHZhbHVlIGFjY2VwdGVkIGJ5IHRoZSBgeHktY2VsbCgpYCBtaXhpbiwgc3VjaCBhcyBgNmAsIGA1MCVgLCBvciBgMSBvZiAyYC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gTWFwIG9mIGd1dHRlcnMgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZSBmb3IgcmVzcG9uc2l2ZSBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIFRoZSB0eXBlIG9mIGd1dHRlciB0byB1c2UuIENhbiBiZSBgbWFyZ2luYCBvciBgcGFkZGluZ2Bcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfFN0cmluZ30gVGhlIGNlbGwgb2Zmc2V0IHByb3BlcnR5IHZhbHVlLlxuQGZ1bmN0aW9uIHh5LWNlbGwtb2Zmc2V0KFxuICAkbixcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGJyZWFrcG9pbnQ6IG51bGxcbikge1xuICAkYnJlYWtwb2ludDogLXpmLWN1cnJlbnQtYnJlYWtwb2ludCgkYnJlYWtwb2ludCwgJGRlZmF1bHQ6ICQtemYtemVyby1icmVha3BvaW50KTtcbiAgJHNpemU6IHh5LWNlbGwtc2l6ZSgkbik7XG5cbiAgJG9mZnNldDogJHNpemU7XG4gIEBpZiAoJGd1dHRlci10eXBlID09ICdtYXJnaW4nKSB7XG4gICAgLy8gTWFrZSBzdXJlIHRoYXQgMCBpcyB0cmFuc2xhdGVkIGluIDByZW0gZm9yIGNhbGMoKVxuICAgICRndXR0ZXI6IHJlbS1jYWxjKHh5LWNlbGwtZ3V0dGVycygkZ3V0dGVycywgJGJyZWFrcG9pbnQpKTtcbiAgICBAaWYgJGd1dHRlciA9PSAwIHtcbiAgICAgICRndXR0ZXI6IDByZW07XG4gICAgfVxuICAgICRvZmZzZXQ6IGlmKCRndXR0ZXIgPT0gMCwgJHNpemUsIGNhbGMoI3skc2l6ZX0gKyAjeyRndXR0ZXJ9IC8gMikpO1xuICB9XG4gIEByZXR1cm4gJG9mZnNldDtcbn1cblxuLy8vIE9mZnNldHMgYSBjb2x1bW4gdG8gdGhlIHJpZ2h0L2JvdHRvbSBieSBgJG5gIGNvbHVtbnMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkbiAtIFNpemUgdG8gb2Zmc2V0IGJ5LiBZb3UgY2FuIHBhc3MgaW4gYW55IHZhbHVlIGFjY2VwdGVkIGJ5IHRoZSBgeHktY2VsbCgpYCBtaXhpbiwgc3VjaCBhcyBgNmAsIGA1MCVgLCBvciBgMSBvZiAyYC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gTWFwIG9mIGd1dHRlcnMgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZSBmb3IgcmVzcG9uc2l2ZSBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIFRoZSB0eXBlIG9mIGd1dHRlciB0byB1c2UuIENhbiBiZSBgbWFyZ2luYCBvciBgcGFkZGluZ2Bcbi8vLyBAcGFyYW0ge051bWJlcnxBcnJheXxLZXl3b3JkfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBCcmVha3BvaW50IHRvIHVzZSBmb3IgYCRndXR0ZXJzYC4gSXQgY2FuIGJlIGEgYnJlYWtwb2ludCBuYW1lLCBsaXN0IG9mIGJyZWFrcG9pbnRzIG9yIGBhdXRvYCBmb3IgYWxsIGJyZWFrcG9pbnRzLiBJZiBhIGxpc3QgaXMgZ2l2ZW4sIG1lZGlhLXF1ZXJpZXMgd2lsbCBiZSBnZW5lcmF0ZWQuIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIFNldHMgdGhlIGRpcmVjdGlvbiBvZiB0aGUgb2Zmc2V0LiBJZiBzZXQgdG8gdHJ1ZSB3aWxsIGFwcGx5IG1hcmdpbi10b3AgaW5zdGVhZC5cbkBtaXhpbiB4eS1jZWxsLW9mZnNldChcbiAgJG4sXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRicmVha3BvaW50OiBudWxsLFxuICAkdmVydGljYWw6IGZhbHNlXG4pIHtcbiAgJGJyZWFrcG9pbnQ6IC16Zi1jdXJyZW50LWJyZWFrcG9pbnQoJGJyZWFrcG9pbnQsICRkZWZhdWx0OiAkLXpmLXplcm8tYnJlYWtwb2ludCk7XG4gICRkaXJlY3Rpb246IGlmKCR2ZXJ0aWNhbCwgJ3RvcCcsICRnbG9iYWwtbGVmdCk7XG5cbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludC1pbigkYnJlYWtwb2ludCwgJG1lZGlhLXF1ZXJpZXM6ICdmb3ItbGlzdHMnKSB7XG4gICAgJG9mZnNldDogeHktY2VsbC1vZmZzZXQoJG4sICRndXR0ZXJzLCAkZ3V0dGVyLXR5cGUpO1xuICAgIG1hcmdpbi0jeyRkaXJlY3Rpb259OiAjeyRvZmZzZXR9O1xuICB9XG59XG4iLCIvLyBzYXNzLWxpbnQ6ZGlzYWJsZSBuby12ZW5kb3ItcHJlZml4ZXNcblxuLy8vIE1vZGlmaWVzIGEgZ3JpZCB0byBnaXZlIGl0IFwiZnJhbWVcIiBiZWhhdmlvciAobm8gb3ZlcmZsb3csIG5vIHdyYXAsIHN0cmV0Y2ggYmVoYXZpb3IpXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gSXMgZ3JpZCB2ZXJ0aWNhbCBvciBob3Jpem9udGFsLiBTaG91bGQgbWF0Y2ggZ3JpZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRuZXN0ZWQgW2ZhbHNlXSAtIElzIGdyaWQgbmVzdGVkIG9yIG5vdC4gSWYgbmVzdGVkIGlzIHRydWUgdGhpcyBzZXRzIHRoZSBmcmFtZSB0byAxMDAlIGhlaWdodCwgb3RoZXJ3aXNlIHdpbGwgYmUgMTAwdmguXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbbnVsbF0gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkaW5jbHVkZS1iYXNlIFt0cnVlXSAtIEluY2x1ZGUgdGhlIGJhc2Ugc3R5bGVzIHRoYXQgZG9uJ3QgdmFyeSBwZXIgYnJlYWtwb2ludC5cbkBtaXhpbiB4eS1ncmlkLWZyYW1lKFxuICAkdmVydGljYWw6IGZhbHNlLFxuICAkbmVzdGVkOiBmYWxzZSxcbiAgJGd1dHRlcnM6IG51bGwsXG4gICRicmVha3BvaW50OiBudWxsLFxuICAkaW5jbHVkZS1iYXNlOiB0cnVlXG4pIHtcblxuICBAaWYgJGluY2x1ZGUtYmFzZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIH1cblxuICBAaWYgJGJyZWFrcG9pbnQgPT0gbnVsbCBhbmQgdHlwZS1vZigkZ3V0dGVycykgPT0gJ21hcCcge1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lKCR2ZXJ0aWNhbCwgJG5lc3RlZCwgJGd1dHRlcnMsICQtemYtc2l6ZSwgZmFsc2UpO1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgLy8gR2V0IG91ciBndXR0ZXJzIGlmIGFwcGxpY2FibGVcbiAgICAkZ3V0dGVyOiAtemYtZ2V0LWJwLXZhbCgkZ3V0dGVycywgJGJyZWFrcG9pbnQpO1xuXG4gICAgLy8gSWYgd2UgaGF2ZSBhIGd1dHRlciwgYWRkIGl0IHRvIHRoZSB3aWR0aC9oZWlnaHRcbiAgICBAaWYgJGd1dHRlciB7XG4gICAgICBAaWYgJHZlcnRpY2FsID09IHRydWUge1xuICAgICAgICAkdW5pdDogaWYoJG5lc3RlZCA9PSB0cnVlLCAxMDAlLCAxMDB2aCk7XG4gICAgICAgICRndXR0ZXI6IHJlbS1jYWxjKCRndXR0ZXIpO1xuICAgICAgICAvLyBNYWtlIHN1cmUgdGhhdCAwIGlzIHRyYW5zbGF0ZWQgaW4gMHJlbSBmb3IgY2FsYygpXG4gICAgICAgIEBpZiAkZ3V0dGVyID09IDAge1xuICAgICAgICAgICRndXR0ZXI6IDByZW07XG4gICAgICAgIH1cbiAgICAgICAgaGVpZ2h0OiBjYWxjKCN7JHVuaXR9ICsgI3skZ3V0dGVyfSk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJHVuaXQ6IGlmKCRuZXN0ZWQgPT0gdHJ1ZSwgMTAwJSwgMTAwdncpO1xuICAgICAgICAkZ3V0dGVyOiByZW0tY2FsYygkZ3V0dGVyKTtcbiAgICAgICAgLy8gTWFrZSBzdXJlIHRoYXQgMCBpcyB0cmFuc2xhdGVkIGluIDByZW0gZm9yIGNhbGMoKVxuICAgICAgICBAaWYgJGd1dHRlciA9PSAwIHtcbiAgICAgICAgICAkZ3V0dGVyOiAwcmVtO1xuICAgICAgICB9XG4gICAgICAgIHdpZHRoOiBjYWxjKCN7JHVuaXR9ICsgI3skZ3V0dGVyfSk7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBpZiAkdmVydGljYWwgPT0gdHJ1ZSB7XG4gICAgICAgIGhlaWdodDogaWYoJG5lc3RlZCA9PSB0cnVlLCAxMDAlLCAxMDB2aCk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgd2lkdGg6IGlmKCRuZXN0ZWQgPT0gdHJ1ZSwgMTAwJSwgMTAwdncpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gTW9kaWZpZXMgYSBjZWxsIHRvIGdpdmUgaXQgXCJibG9ja1wiIGJlaGF2aW9yIChvdmVyZmxvdyBhdXRvLCBpbmVydGlhbCBzY3JvbGxpbmcpXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gSXMgZ3JpZCB2ZXJ0aWNhbCBvciBob3Jpem9udGFsLiBTaG91bGQgbWF0Y2ggZ3JpZC5cbkBtaXhpbiB4eS1jZWxsLWJsb2NrKFxuICAkdmVydGljYWw6IGZhbHNlXG4pIHtcbiAgJHByb3BlcnR5OiBpZigkdmVydGljYWwgPT0gdHJ1ZSwgJ292ZXJmbG93LXknLCAnb3ZlcmZsb3cteCcpO1xuXG4gIEBpZiAkdmVydGljYWwgPT0gdHJ1ZSB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gIH0gQGVsc2Uge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjtcbn1cblxuLy8vIENvbnRhaW5lciBmb3IgaW5zaWRlIGEgZ3JpZCBmcmFtZSBjb250YWluaW5nIG11bHRpcGxlIGJsb2Nrcy4gVHlwaWNhbGx5IHVzZWRcbi8vLyBhcyBhIG1vZGlmaWVyIGZvciBhIGAuY2VsbGAgdG8gYWxsb3cgdGhlIGNlbGwgdG8gcGFzcyBhbG9uZyBmbGV4IHNpemluZ1xuLy8vIGNvbnN0cmFpbnRzIC8gZnJvbSBwYXJlbnRzIHRvIGNoaWxkcmVuLlxuQG1peGluIHh5LWNlbGwtYmxvY2stY29udGFpbmVyKCkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xuXG4gID4gLmdyaWQteCB7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGNsb3NlLWJ1dHRvblxuLy8vL1xuXG4vLy8gRGVmYXVsdCBwb3NpdGlvbiBvZiB0aGUgY2xvc2UgYnV0dG9uLiBUaGUgZmlyc3QgdmFsdWUgc2hvdWxkIGJlIGByaWdodGAgb3IgYGxlZnRgLCBhbmQgdGhlIHNlY29uZCB2YWx1ZSBzaG91bGQgYmUgYHRvcGAgb3IgYGJvdHRvbWAuXG4vLy8gQHR5cGUgTGlzdFxuJGNsb3NlYnV0dG9uLXBvc2l0aW9uOiByaWdodCB0b3AgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHotaW5kZXggZm9yIGEgY2xvc2UgYnV0dG9uLlxuLy8vIEB0eXBlIE51bWJlclxuJGNsb3NlYnV0dG9uLXotaW5kZXg6IDEwICFkZWZhdWx0O1xuXG4vLy8gQnV0dG9uIHNpemUgdG8gdXNlIGFzIGRlZmF1bHRcbi8vLyBAdHlwZSBTdHJpbmdcbi8vLyBAc2VlICRjbG9zZWJ1dHRvbi1zaXplXG4vLy8gQHNlZSAkY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWxcbi8vLyBAc2VlICRjbG9zZWJ1dHRvbi1vZmZzZXQtdmVydGljYWxcbiRjbG9zZWJ1dHRvbi1kZWZhdWx0LXNpemU6IG1lZGl1bSAhZGVmYXVsdDtcblxuLy8vIFJpZ2h0IChvciBsZWZ0KSBvZmZzZXQocykgZm9yIGEgY2xvc2UgYnV0dG9uLlxuLy8vIEB0eXBlIE51bWJlcnxNYXBcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtaG9yaXpvbnRhbDogKFxuICBzbWFsbDogMC42NnJlbSxcbiAgbWVkaXVtOiAxcmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIFRvcCAob3IgYm90dG9tKSBvZmZzZXQocykgZm9yIGEgY2xvc2UgYnV0dG9uLlxuLy8vIEB0eXBlIE51bWJlcnxNYXBcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtdmVydGljYWw6IChcbiAgc21hbGw6IDAuMzNlbSxcbiAgbWVkaXVtOiAwLjVyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gU2l6ZShzKSBvZiB0aGUgY2xvc2UgYnV0dG9uLiBVc2VkIHRvIGdlbmVyYXRlIHNpemluZyBtb2RpZmllcnMuXG4vLy8gQHR5cGUgTnVtYmVyfE1hcFxuJGNsb3NlYnV0dG9uLXNpemU6IChcbiAgc21hbGw6IDEuNWVtLFxuICBtZWRpdW06IDJlbSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgbGluZS1oZWlnaHQgb2YgdGhlIGNsb3NlIGJ1dHRvbi4gSXQgYWZmZWN0cyB0aGUgc3BhY2luZyBvZiB0aGUgZWxlbWVudC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjbG9zZWJ1dHRvbi1saW5laGVpZ2h0OiAxICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgY2xvc2UgYnV0dG9uLlxuLy8vIEB0eXBlIENvbG9yXG4kY2xvc2VidXR0b24tY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSBjbG9zZSBidXR0b24gd2hlbiBiZWluZyBob3ZlcmVkIG9uLlxuLy8vIEB0eXBlIENvbG9yXG4kY2xvc2VidXR0b24tY29sb3ItaG92ZXI6ICRibGFjayAhZGVmYXVsdDtcblxuXG4vLy8gR2V0IHRoZSBzaXplIGFuZCBwb3NpdGlvbiBmb3IgYSBjbG9zZSBidXR0b24uIElmIHRoZSBpbnB1dCB2YWx1ZSBpcyBhIG51bWJlciwgdGhlIG51bWJlciBpcyByZXR1cm5lZC4gSWYgdGhlIGlucHV0IHZhbHVlIGlzIGEgY29uZmlnIG1hcCBhbmQgdGhlIG1hcCBoYXMgdGhlIGtleSBgJHNpemVgLCB0aGUgdmFsdWUgaXMgcmV0dXJuZWQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICR2YWx1ZSAtIEEgbnVtYmVyIG9yIG1hcCB0aGF0IHJlcHJlc2VudHMgdGhlIHNpemUgb3IgcG9zaXRpb24gdmFsdWUocykgb2YgdGhlIGNsb3NlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gVGhlIHNpemUgb2YgdGhlIGNsb3NlIGJ1dHRvbiB0byB1c2UuXG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IFRoZSBnaXZlbiBudW1iZXIgb3IgdGhlIHZhbHVlIGZvdW5kIGluIHRoZSBtYXAuXG5AZnVuY3Rpb24gLXpmLWdldC1zaXplLXZhbCgkdmFsdWUsICRzaXplKSB7XG4gIC8vIENoZWNrIGlmIHRoZSB2YWx1ZSBpcyBhIG51bWJlclxuICBAaWYgdHlwZS1vZigkdmFsdWUpID09ICdudW1iZXInIHtcbiAgICAvLyBJZiBpdCBpcywganVzdCByZXR1cm4gdGhlIG51bWJlclxuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9XG5cbiAgLy8gQ2hlY2sgaWYgdGhlIHNpemUgbmFtZSBleGlzdHMgaW4gdGhlIHZhbHVlIG1hcFxuICBAZWxzZSBpZiBtYXAtaGFzLWtleSgkdmFsdWUsICRzaXplKSB7XG4gICAgLy8gSWYgaXQgZG9lcywgcmV0dXJuIHRoZSB2YWx1ZVxuICAgIEByZXR1cm4gbWFwLWdldCgkdmFsdWUsICRzaXplKTtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgc2l6ZSBhbmQgcG9zaXRpb24gb2YgYSBjbG9zZSBidXR0b24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSBbbWVkaXVtXSAtIFRoZSBzaXplIHRvIHVzZS4gU2V0IHRvIGBzbWFsbGAgdG8gY3JlYXRlIGEgc21hbGwgY2xvc2UgYnV0dG9uLiBUaGUgJ21lZGl1bScgdmFsdWVzIGRlZmluZWQgaW4gYCRjbG9zZWJ1dHRvbi0qYCB2YXJpYWJsZXMgd2lsbCBiZSB1c2VkIGFzIHRoZSBkZWZhdWx0IHNpemUgYW5kIHBvc2l0aW9uIG9mIHRoZSBjbG9zZSBidXR0b24uXG5AbWl4aW4gY2xvc2UtYnV0dG9uLXNpemUoJHNpemUpIHtcbiAgJHg6IG50aCgkY2xvc2VidXR0b24tcG9zaXRpb24sIDEpO1xuICAkeTogbnRoKCRjbG9zZWJ1dHRvbi1wb3NpdGlvbiwgMik7XG5cbiAgI3skeH06IC16Zi1nZXQtc2l6ZS12YWwoJGNsb3NlYnV0dG9uLW9mZnNldC1ob3Jpem9udGFsLCAkc2l6ZSk7XG4gICN7JHl9OiAtemYtZ2V0LXNpemUtdmFsKCRjbG9zZWJ1dHRvbi1vZmZzZXQtdmVydGljYWwsICRzaXplKTtcbiAgZm9udC1zaXplOiAtemYtZ2V0LXNpemUtdmFsKCRjbG9zZWJ1dHRvbi1zaXplLCAkc2l6ZSk7XG4gIGxpbmUtaGVpZ2h0OiAtemYtZ2V0LXNpemUtdmFsKCRjbG9zZWJ1dHRvbi1saW5laGVpZ2h0LCAkc2l6ZSk7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjbG9zZSBidXR0b24sIHVzaW5nIHRoZSBzdHlsZXMgaW4gdGhlIHNldHRpbmdzIHZhcmlhYmxlcy5cbkBtaXhpbiBjbG9zZS1idXR0b24ge1xuICAkeDogbnRoKCRjbG9zZWJ1dHRvbi1wb3NpdGlvbiwgMSk7XG4gICR5OiBudGgoJGNsb3NlYnV0dG9uLXBvc2l0aW9uLCAyKTtcblxuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogJGNsb3NlYnV0dG9uLXotaW5kZXg7XG4gIGNvbG9yOiAkY2xvc2VidXR0b24tY29sb3I7XG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogJGNsb3NlYnV0dG9uLWNvbG9yLWhvdmVyO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWNsb3NlLWJ1dHRvbiB7XG4gIC5jbG9zZS1idXR0b24ge1xuICAgIC8vIFVzZSBieSBkZWZhdWx0IHRoZSBwbGFjZWhvbGRlciBvZiB0aGUgZGVmYXVsdCBzaXplXG4gICAgQGV4dGVuZCAlemYtY2xvc2UtYnV0dG9uLS0jeyRjbG9zZWJ1dHRvbi1kZWZhdWx0LXNpemV9O1xuXG4gICAgQGluY2x1ZGUgY2xvc2UtYnV0dG9uO1xuXG4gICAgLy8gR2VuZXJhdGUgYSBwbGFjZWhvbGRlciBhbmQgYSBjbGFzcyBmb3IgZWFjaCBzaXplXG4gICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRjbG9zZWJ1dHRvbi1zaXplIHtcbiAgICAgIEBhdC1yb290IHtcbiAgICAgICAgJXpmLWNsb3NlLWJ1dHRvbi0tI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGNsb3NlLWJ1dHRvbi1zaXplKCRuYW1lKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgQGV4dGVuZCAlemYtY2xvc2UtYnV0dG9uLS0jeyRuYW1lfTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBzd2l0Y2hcbi8vLy9cblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYSBzd2l0Y2guXG4vLy8gQHR5cGUgQ29sb3JcbiRzd2l0Y2gtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBhY3RpdmUgY29sb3Igb2YgYSBzd2l0Y2guXG4vLy8gQHR5cGUgQ29sb3JcbiRzd2l0Y2gtYmFja2dyb3VuZC1hY3RpdmU6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG9mIGEgc3dpdGNoLCB3aXRoIG5vIGNsYXNzIGFwcGxpZWQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLWhlaWdodDogMnJlbSAhZGVmYXVsdDtcblxuLy8vIEhlaWdodCBvZiBhIHN3aXRjaCB3aXRoIC50aW55IGNsYXNzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1oZWlnaHQtdGlueTogMS41cmVtICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG9mIGEgc3dpdGNoIHdpdGggLnNtYWxsIGNsYXNzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1oZWlnaHQtc21hbGw6IDEuNzVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBIZWlnaHQgb2YgYSBzd2l0Y2ggd2l0aCAubGFyZ2UgY2xhc3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLWhlaWdodC1sYXJnZTogMi41cmVtICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBvZiB0aGUgc3dpdGNoXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBib3JkZXIgYXJvdW5kIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLW1hcmdpbjogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgc3dpdGNoIGNvbnRhaW5lciBhbmQgcGFkZGxlLlxuLy8vIEB0eXBlIENvbG9yXG4kc3dpdGNoLXBhZGRsZS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gYSBzd2l0Y2ggcGFkZGxlIGFuZCB0aGUgZWRnZSBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtcGFkZGxlLW9mZnNldDogMC4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIGJvcmRlciByYWRpdXMgb2YgdGhlIHN3aXRjaCBwYWRkbGVcbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtcGFkZGxlLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBzd2l0Y2ggdHJhbnNpdGlvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dCAhZGVmYXVsdDtcblxuLy8vIE9wYWNpdHkgb2YgYSBkaXNhYmxlZCBzd2l0Y2guXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLW9wYWNpdHktZGlzYWJsZWQ6IDAuNSAhZGVmYXVsdDtcblxuLy8vIEN1cnNvciBmb3IgYSBkaXNhYmxlZCBzd2l0Y2guXG4vLy8gQHR5cGUgQ3Vyc29yXG4kc3dpdGNoLWN1cnNvci1kaXNhYmxlZDogbm90LWFsbG93ZWQgIWRlZmF1bHQ7XG5cbi8vIG1ha2UgdGhlbSB2YXJpYWJsZXNcbi8vIGFzayBhYm91dCBhY2Nlc3NpYmlsaXR5IG9uIGxhYmVsXG4vLyBjaGFuZ2UgY2xhc3MgbmFtZSBmb3IgdGV4dFxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgc3dpdGNoIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byBhIGNvbnRhaW5lciBjbGFzcy5cbkBtaXhpbiBzd2l0Y2gtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiAkc3dpdGNoLW1hcmdpbjtcbiAgb3V0bGluZTogMDtcblxuICAvLyBUaGVzZSBwcm9wZXJ0aWVzIGNhc2NhZGUgZG93biB0byB0aGUgc3dpdGNoIHRleHRcbiAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogJHdoaXRlO1xuXG4gIHVzZXItc2VsZWN0OiBub25lO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgc3dpdGNoIGlucHV0LiBBcHBseSB0aGlzIHRvIGFuIGA8aW5wdXQ+YCB3aXRoaW4gYSBzd2l0Y2guXG5AbWl4aW4gc3dpdGNoLWlucHV0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBvcGFjaXR5OiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBiYWNrZ3JvdW5kIGFuZCBwYWRkbGUgb2YgYSBzd2l0Y2guIEFwcGx5IHRoaXMgdG8gYSBgPGxhYmVsPmAgd2l0aGluIGEgc3dpdGNoLlxuQG1peGluIHN3aXRjaC1wYWRkbGUge1xuICAkc3dpdGNoLXdpZHRoOiAkc3dpdGNoLWhlaWdodCAqIDI7XG4gICRwYWRkbGUtaGVpZ2h0OiAkc3dpdGNoLWhlaWdodCAtICgkc3dpdGNoLXBhZGRsZS1vZmZzZXQgKiAyKTtcbiAgJHBhZGRsZS13aWR0aDogJHN3aXRjaC1oZWlnaHQgLSAoJHN3aXRjaC1wYWRkbGUtb2Zmc2V0ICogMik7XG4gICRwYWRkbGUtYWN0aXZlLW9mZmVzdDogJHN3aXRjaC13aWR0aCAtICRwYWRkbGUtd2lkdGggLSAkc3dpdGNoLXBhZGRsZS1vZmZzZXQ7XG5cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6ICRzd2l0Y2gtd2lkdGg7XG4gIGhlaWdodDogJHN3aXRjaC1oZWlnaHQ7XG5cbiAgYm9yZGVyLXJhZGl1czogJHN3aXRjaC1yYWRpdXM7XG4gIGJhY2tncm91bmQ6ICRzd2l0Y2gtYmFja2dyb3VuZDtcbiAgdHJhbnNpdGlvbjogJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbjtcblxuICAvLyBSZXNldHRpbmcgdGhlc2UgPGxhYmVsPiBwcmVzZXRzIHNvIHR5cGUgc3R5bGVzIGNhc2NhZGUgZG93blxuICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgY29sb3I6IGluaGVyaXQ7XG5cbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gIC8vIE5lZWRlZCB0byBvdmVycmlkZSBzcGVjaWZpY2l0eVxuICBpbnB1dCArICYge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIC8vIFRoZSBwYWRkbGUgaXRzZWxmXG4gICY6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAkc3dpdGNoLXBhZGRsZS1vZmZzZXQ7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAkc3dpdGNoLXBhZGRsZS1vZmZzZXQ7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogJHBhZGRsZS13aWR0aDtcbiAgICBoZWlnaHQ6ICRwYWRkbGUtaGVpZ2h0O1xuXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICBib3JkZXItcmFkaXVzOiAkc3dpdGNoLXBhZGRsZS1yYWRpdXM7XG4gICAgYmFja2dyb3VuZDogJHN3aXRjaC1wYWRkbGUtYmFja2dyb3VuZDtcbiAgICB0cmFuc2l0aW9uOiAkc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uO1xuICAgIGNvbnRlbnQ6ICcnO1xuICB9XG5cbiAgLy8gQ2hhbmdlIHRoZSB2aXN1YWwgc3R5bGUgd2hlbiB0aGUgc3dpdGNoIGlzIGFjdGl2ZVxuICBpbnB1dDpjaGVja2VkIH4gJiB7XG4gICAgYmFja2dyb3VuZDogJHN3aXRjaC1iYWNrZ3JvdW5kLWFjdGl2ZTtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgICN7JGdsb2JhbC1sZWZ0fTogJHBhZGRsZS1hY3RpdmUtb2ZmZXN0O1xuICAgIH1cbiAgfVxuXG4gIC8vIGluZGljYXRlIGEgZGlzYWJsZWQgc3dpdGNoXG4gIGlucHV0OmRpc2FibGVkIH4gJiB7XG4gICAgY3Vyc29yOiAkc3dpdGNoLWN1cnNvci1kaXNhYmxlZDtcbiAgICBvcGFjaXR5OiAkc3dpdGNoLW9wYWNpdHktZGlzYWJsZWQ7XG4gIH1cblxuICBpbnB1dDpmb2N1cyB+ICYge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgfVxufVxuXG4vLy8gQWRkcyBiYXNlIHN0eWxlcyBmb3IgYWN0aXZlL2luYWN0aXZlIHRleHQgaW5zaWRlIGEgc3dpdGNoLiBBcHBseSB0aGlzIHRvIHRleHQgZWxlbWVudHMgaW5zaWRlIHRoZSBzd2l0Y2ggYDxsYWJlbD5gLlxuQG1peGluIHN3aXRjaC10ZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBhY3RpdmUgc3RhdGUgdGV4dCB3aXRoaW4gYSBzd2l0Y2guXG5AbWl4aW4gc3dpdGNoLXRleHQtYWN0aXZlIHtcbiAgI3skZ2xvYmFsLWxlZnR9OiA4JTtcbiAgZGlzcGxheTogbm9uZTtcblxuICBpbnB1dDpjaGVja2VkICsgbGFiZWwgPiAmIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBpbmFjdGl2ZSBzdGF0ZSB0ZXh0IHdpdGhpbiBhIHN3aXRjaC5cbkBtaXhpbiBzd2l0Y2gtdGV4dC1pbmFjdGl2ZSB7XG4gICN7JGdsb2JhbC1yaWdodH06IDE1JTtcblxuICBpbnB1dDpjaGVja2VkICsgbGFiZWwgPiAmIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi8vLyBDaGFuZ2VzIHRoZSBzaXplIG9mIGEgc3dpdGNoIGJ5IG1vZGlmeWluZyB0aGUgc2l6ZSBvZiB0aGUgYm9keSBhbmQgcGFkZGxlLiBBcHBseSB0aGlzIHRvIGEgc3dpdGNoIGNvbnRhaW5lci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGZvbnQtc2l6ZSBbMXJlbV0gLSBGb250IHNpemUgb2YgbGFiZWwgdGV4dCB3aXRoaW4gdGhlIHN3aXRjaC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHN3aXRjaC1oZWlnaHQgWzJyZW1dIC0gSGVpZ2h0IG9mIHRoZSBzd2l0Y2ggYm9keS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHBhZGRsZS1vZmZzZXQgWzAuMjVyZW1dIC0gU3BhY2luZyBiZXR3ZWVuIHRoZSBzd2l0Y2ggcGFkZGxlIGFuZCB0aGUgZWRnZSBvZiB0aGUgc3dpdGNoIGJvZHkuXG5AbWl4aW4gc3dpdGNoLXNpemUoXG4gICRmb250LXNpemU6IDFyZW0sXG4gICRzd2l0Y2gtaGVpZ2h0OiAycmVtLFxuICAkcGFkZGxlLW9mZnNldDogMC4yNXJlbVxuKSB7XG5cbiAgJHN3aXRjaC13aWR0aDogJHN3aXRjaC1oZWlnaHQgKiAyO1xuICAkcGFkZGxlLXdpZHRoOiAkc3dpdGNoLWhlaWdodCAtICgkcGFkZGxlLW9mZnNldCAqIDIpO1xuICAkcGFkZGxlLWhlaWdodDogJHN3aXRjaC1oZWlnaHQgLSAoJHBhZGRsZS1vZmZzZXQgKiAyKTtcbiAgJHBhZGRsZS1hY3RpdmUtb2ZmZXN0OiAkc3dpdGNoLXdpZHRoIC0gJHBhZGRsZS13aWR0aCAtICRwYWRkbGUtb2Zmc2V0O1xuXG4gIGhlaWdodDogJHN3aXRjaC1oZWlnaHQ7XG5cbiAgLnN3aXRjaC1wYWRkbGUge1xuICAgIHdpZHRoOiAkc3dpdGNoLXdpZHRoO1xuICAgIGhlaWdodDogJHN3aXRjaC1oZWlnaHQ7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICB9XG5cbiAgLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICB0b3A6ICRwYWRkbGUtb2Zmc2V0O1xuICAgICN7JGdsb2JhbC1sZWZ0fTogJHBhZGRsZS1vZmZzZXQ7XG4gICAgd2lkdGg6ICRwYWRkbGUtd2lkdGg7XG4gICAgaGVpZ2h0OiAkcGFkZGxlLWhlaWdodDtcbiAgfVxuXG4gIGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgICN7JGdsb2JhbC1sZWZ0fTogJHBhZGRsZS1hY3RpdmUtb2ZmZXN0O1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXN3aXRjaCB7XG4gIC8vIENvbnRhaW5lciBjbGFzc1xuICAuc3dpdGNoIHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtY29udGFpbmVyO1xuICAgIGhlaWdodDogJHN3aXRjaC1oZWlnaHQ7XG4gIH1cblxuICAvLyA8aW5wdXQ+IGVsZW1lbnRcbiAgLnN3aXRjaC1pbnB1dCB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLWlucHV0O1xuICB9XG5cbiAgLy8gPGxhYmVsPiBlbGVtZW50XG4gIC5zd2l0Y2gtcGFkZGxlIHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtcGFkZGxlO1xuICB9XG5cbiAgLy8gQmFzZSBsYWJlbCB0ZXh0IHN0eWxlc1xuICAlc3dpdGNoLXRleHQge1xuICAgIEBpbmNsdWRlIHN3aXRjaC10ZXh0O1xuICB9XG5cbiAgLy8gQWN0aXZlIGxhYmVsIHRleHQgc3R5bGVzXG4gIC5zd2l0Y2gtYWN0aXZlIHtcbiAgICBAZXh0ZW5kICVzd2l0Y2gtdGV4dDtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtdGV4dC1hY3RpdmU7XG4gIH1cblxuICAvLyBJbmFjdGl2ZSBsYWJlbCB0ZXh0IHN0eWxlc1xuICAuc3dpdGNoLWluYWN0aXZlIHtcbiAgICBAZXh0ZW5kICVzd2l0Y2gtdGV4dDtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtdGV4dC1pbmFjdGl2ZTtcbiAgfVxuXG4gIC8vIFN3aXRjaCBzaXplc1xuICAuc3dpdGNoLnRpbnkge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1zaXplKHJlbS1jYWxjKDEwKSwgJHN3aXRjaC1oZWlnaHQtdGlueSwgJHN3aXRjaC1wYWRkbGUtb2Zmc2V0KTtcbiAgfVxuXG4gIC5zd2l0Y2guc21hbGwge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1zaXplKHJlbS1jYWxjKDEyKSwgJHN3aXRjaC1oZWlnaHQtc21hbGwsICRzd2l0Y2gtcGFkZGxlLW9mZnNldCk7XG4gIH1cblxuICAuc3dpdGNoLmxhcmdlIHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtc2l6ZShyZW0tY2FsYygxNiksICRzd2l0Y2gtaGVpZ2h0LWxhcmdlLCAkc3dpdGNoLXBhZGRsZS1vZmZzZXQpO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vIHNhc3MtbGludDpkaXNhYmxlIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcblxuLy8vL1xuLy8vIEBncm91cCB0YWJsZVxuLy8vL1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgdGFibGUgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWJhY2tncm91bmQ6ICR3aGl0ZSAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHNjYWxlIGZvciBkYXJrZW5pbmcgdGhlIHN0cmlwZWQgdGFibGUgcm93cyBhbmQgdGhlIHRhYmxlIGJvcmRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWJsZS1jb2xvci1zY2FsZTogNSUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHN0eWxlIGZvciB0YWJsZSBib3JkZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLWJvcmRlcjogMXB4IHNvbGlkIHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciB0YWJsZS5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWJsZS1wYWRkaW5nOiByZW0tY2FsYyg4IDEwIDEwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgc2NhbGUgZm9yIGRhcmtlbmluZyB0aGUgdGFibGUgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWJsZS1ob3Zlci1zY2FsZTogMiUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHN0YW5kYXJkIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBzdHJpcGVkIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlICsgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgdGFibGVzIGFyZSBzdHJpcGVkIGJ5IGRlZmF1bHQgYW5kIGFuIC51bnN0cmlwZWQgY2xhc3MgaXMgY3JlYXRlZC4gSWYgYGZhbHNlYCwgYSAuc3RyaXBlZCBjbGFzcyBpcyBjcmVhdGVkLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiR0YWJsZS1pcy1zdHJpcGVkOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBzdHJpcGVkIHJvd3MuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB2YWx1ZSBmb3Igc2hvd2luZyB0aGUgc3RyaXBlIG9uIHJvd3Mgb2YgdGhlIHRhYmxlcywgZXhjbHVkaW5nIHRoZSBoZWFkZXIgYW5kIGZvb3Rlci4gSWYgZXZlbiwgdGhlIGV2ZW4gcm93cyB3aWxsIGhhdmUgYSBiYWNrZ3JvdW5kIGNvbG9yLiBJZiBvZGQsIHRoZSBvZGQgcm93cyB3aWxsIGhhdmUgYSBiYWNrZ3JvdW5kIGNvbG9yLiBJZiBlbXB0eSwgb3IgYW55IG90aGVyIHZhbHVlLCB0aGUgdGFibGUgcm93cyB3aWxsIGhhdmUgbm8gc3RyaXBpbmcuXG4vLy8gQHR5cGUgS2V5d29yZFxuJHRhYmxlLXN0cmlwZTogZXZlbiAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGhlYWRlciBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtaGVhZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlICogMC41KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgaGVhZGVyIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLWhlYWQtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWhlYWQtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGZvb3RlciBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtZm9vdC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgZm9vdGVyIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLWZvb3Qtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWZvb3QtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgaGVhZGVyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtaGVhZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBmb290ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1mb290LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciBzaG93aW5nIHRoZSBoZWFkZXIgd2hlbiB1c2luZyBzdGFja2VkIHRhYmxlcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQ6IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gQnJlYWtwb2ludCBhdCB3aGljaCBzdGFja2VkIHRhYmxlIHN3aXRjaGVzIGZyb20gbW9iaWxlIHRvIGRlc2t0b3Agdmlldy5cbi8vLyBAdHlwZSBCcmVha3BvaW50XG4kdGFibGUtc3RhY2stYnJlYWtwb2ludDogbWVkaXVtICFkZWZhdWx0O1xuXG5AbWl4aW4gLXpmLXRhYmxlLXN0cmlwZSgkc3RyaXBlOiAkdGFibGUtc3RyaXBlKSB7XG4gIHRyIHtcbiAgICAvLyBJZiBzdHJpcGUgaXMgc2V0IHRvIGV2ZW4sIGRhcmtlbiB0aGUgZXZlbiByb3dzLlxuICAgIEBpZiAkc3RyaXBlID09IGV2ZW4ge1xuICAgICAgJjpudGgtY2hpbGQoZXZlbikge1xuICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIElmIHN0cmlwZSBpcyBzZXQgdG8gb2RkLCBkYXJrZW4gdGhlIG9kZCByb3dzLlxuICAgIEBlbHNlIGlmICRzdHJpcGUgPT0gb2RkIHtcbiAgICAgICY6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gLXpmLXRhYmxlLXVuc3RyaXBlKCkge1xuICB0ciB7XG4gICAgYm9yZGVyLWJvdHRvbTogJHRhYmxlLWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYmFja2dyb3VuZDtcbiAgfVxufVxuXG5AbWl4aW4gLXpmLXRhYmxlLWNoaWxkcmVuLXN0eWxlcygkc3RyaXBlOiAkdGFibGUtc3RyaXBlLCAkaXMtc3RyaXBlZDogJHRhYmxlLWlzLXN0cmlwZWQpIHtcbiAgdGhlYWQsXG4gIHRib2R5LFxuICB0Zm9vdCB7XG4gICAgYm9yZGVyOiAkdGFibGUtYm9yZGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1iYWNrZ3JvdW5kO1xuICB9XG5cbiAgLy8gQ2FwdGlvblxuICBjYXB0aW9uIHtcbiAgICBwYWRkaW5nOiAkdGFibGUtcGFkZGluZztcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgfVxuXG4gIC8vIFRhYmxlIGhlYWRcbiAgdGhlYWQge1xuICAgIGJhY2tncm91bmQ6ICR0YWJsZS1oZWFkLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICR0YWJsZS1oZWFkLWZvbnQtY29sb3I7XG4gIH1cblxuICAvLyBUYWJsZSBmb290XG4gIHRmb290IHtcbiAgICBiYWNrZ3JvdW5kOiAkdGFibGUtZm9vdC1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkdGFibGUtZm9vdC1mb250LWNvbG9yO1xuICB9XG5cbiAgLy8gVGFibGUgaGVhZCBhbmQgZm9vdFxuICB0aGVhZCxcbiAgdGZvb3Qge1xuICAgIC8vIFJvd3Mgd2l0aGluIGhlYWQgYW5kIGZvb3RcbiAgICB0ciB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgICAvLyBDZWxscyB3aXRoaW4gaGVhZCBhbmQgZm9vdFxuICAgIHRoLFxuICAgIHRkIHtcbiAgICAgIHBhZGRpbmc6ICR0YWJsZS1wYWRkaW5nO1xuICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgICB0ZXh0LWFsaWduOiAjeyRnbG9iYWwtbGVmdH07XG4gICAgfVxuICB9XG5cbiAgLy8gVGFibGUgcm93c1xuICB0Ym9keSB7XG4gICAgdGgsXG4gICAgdGQge1xuICAgICAgcGFkZGluZzogJHRhYmxlLXBhZGRpbmc7XG4gICAgfVxuICB9XG5cbiAgLy8gSWYgdGFibGVzIGFyZSBzdHJpcGVkXG4gIEBpZiAkaXMtc3RyaXBlZCA9PSB0cnVlIHtcbiAgICB0Ym9keSB7XG4gICAgICBAaW5jbHVkZSAtemYtdGFibGUtc3RyaXBlKCRzdHJpcGUpO1xuICAgIH1cblxuICAgICYudW5zdHJpcGVkIHtcbiAgICAgIHRib2R5IHtcbiAgICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLXVuc3RyaXBlKCk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1iYWNrZ3JvdW5kO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIElmIHRhYmxlcyBhcmUgbm90IHN0cmlwZWRcbiAgQGVsc2UgaWYgJGlzLXN0cmlwZWQgPT0gZmFsc2Uge1xuICAgIHRib2R5IHtcbiAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS11bnN0cmlwZSgpO1xuICAgIH1cblxuICAgICYuc3RyaXBlZCB7XG4gICAgICB0Ym9keSB7XG4gICAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS1zdHJpcGUoJHN0cmlwZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHRoZSBnZW5lcmFsIHN0eWxlcyBmb3IgdGFibGVzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0cmlwZSBbJHRhYmxlLXN0cmlwZV0gLSBVc2VzIGtleXdvcmRzIGV2ZW4sIG9kZCwgb3Igbm9uZSB0byBkYXJrZW4gcm93cyBvZiB0aGUgdGFibGUuIFRoZSBkZWZhdWx0IHZhbHVlIGlzIGV2ZW4uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkbmVzdCBbZmFsc2VdIC0gTmVlZGVkIGlmIHlvdSBvbmx5IHdhbnQgdG8gYXBwbHkgdGhpcyB0byBhIHNwZWNpZmljIHRhYmxlLlxuQG1peGluIHRhYmxlKFxuICAkc3RyaXBlOiAkdGFibGUtc3RyaXBlLFxuICAkbmVzdDogZmFsc2Vcbikge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4gIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4gIEBpZiAkbmVzdCB7XG4gICAgQGluY2x1ZGUgLXpmLXRhYmxlLWNoaWxkcmVuLXN0eWxlcygkc3RyaXBlKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGF0LXJvb3Qge1xuICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLWNoaWxkcmVuLXN0eWxlcygkc3RyaXBlKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgdGhlIGFiaWxpdHkgdG8gaG9yaXpvbnRhbGx5IHNjcm9sbCB0aGUgdGFibGUgd2hlbiB0aGUgY29udGVudCBvdmVyZmxvd3MgaG9yaXpvbnRhbGx5LlxuQG1peGluIHRhYmxlLXNjcm9sbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3cteDogYXV0bztcbn1cblxuLy8vIFNsaWdodGx5IGRhcmtlbnMgdGhlIHRhYmxlIHJvd3Mgb24gaG92ZXIuXG5AbWl4aW4gdGFibGUtaG92ZXIge1xuICB0aGVhZCB0ciB7XG4gICAgLy9EYXJrZW5zIHRoZSB0YWJsZSBoZWFkZXIgcm93cyBvbiBob3Zlci5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1oZWFkLXJvdy1ob3ZlcjtcbiAgICB9XG4gIH1cblxuICB0Zm9vdCB0ciB7XG4gICAgLy9EYXJrZW5zIHRoZSB0YWJsZSBmb290ZXIgcm93cyBvbiBob3Zlci5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1mb290LXJvdy1ob3ZlcjtcbiAgICB9XG4gIH1cblxuICB0Ym9keSB0ciB7XG4gICAgLy9EYXJrZW5zIHRoZSBub24tc3RyaXBlZCB0YWJsZSByb3dzIG9uIGhvdmVyLlxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1ob3ZlcjtcbiAgICB9XG4gIH1cblxuICBAaWYgJHRhYmxlLWlzLXN0cmlwZWQgPT0gdHJ1ZSB7XG4gICAgLy8gRGFya2VucyB0aGUgZXZlbiBzdHJpcGVkIHRhYmxlIHJvd3MuXG4gICAgQGlmKCR0YWJsZS1zdHJpcGUgPT0gZXZlbikge1xuICAgICAgJjpub3QoLnVuc3RyaXBlZCkgdHI6bnRoLW9mLXR5cGUoZXZlbik6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEYXJrZW5zIHRoZSBvZGQgc3RyaXBlZCB0YWJsZSByb3dzLlxuICAgIEBlbHNlIGlmKCR0YWJsZS1zdHJpcGUgPT0gb2RkKSB7XG4gICAgICAmOm5vdCgudW5zdHJpcGVkKSB0cjpudGgtb2YtdHlwZShvZGQpOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGVsc2UgaWYgJHRhYmxlLWlzLXN0cmlwZWQgPT0gZmFsc2Uge1xuICAgIC8vIERhcmtlbnMgdGhlIGV2ZW4gc3RyaXBlZCB0YWJsZSByb3dzLlxuICAgIEBpZigkdGFibGUtc3RyaXBlID09IGV2ZW4pIHtcbiAgICAgICYuc3RyaXBlZCB0cjpudGgtb2YtdHlwZShldmVuKTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIERhcmtlbnMgdGhlIG9kZCBzdHJpcGVkIHRhYmxlIHJvd3MuXG4gICAgQGVsc2UgaWYoJHRhYmxlLXN0cmlwZSA9PSBvZGQpIHtcbiAgICAgICYuc3RyaXBlZCB0cjpudGgtb2YtdHlwZShvZGQpOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzdGFja2VkIHRhYmxlLiBVc2VmdWwgZm9yIHNtYWxsLXNjcmVlbiBsYXlvdXRzLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGhlYWRlciBbJHNob3ctaGVhZGVyLWZvci1zdGFja2VkXSAtIFNob3cgdGhlIGZpcnN0IHRoIG9mIGhlYWRlciB3aGVuIHN0YWNrZWQuXG5AbWl4aW4gdGFibGUtc3RhY2soJGhlYWRlcjogJHNob3ctaGVhZGVyLWZvci1zdGFja2VkKSB7XG4gIEBpZiAkaGVhZGVyIHtcbiAgICB0aGVhZCB7XG4gICAgICB0aCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgdGhlYWQge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICB0Zm9vdCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIHRyLFxuICB0aCxcbiAgdGQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgdGQge1xuICAgIGJvcmRlci10b3A6IDA7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdGFibGUoJG5lc3Q6IGZhbHNlKSB7XG4gIHRhYmxlIHtcbiAgICBAaW5jbHVkZSB0YWJsZSgkbmVzdDogJG5lc3QpO1xuICB9XG5cbiAgdGFibGUuc3RhY2sge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxlLXN0YWNrLWJyZWFrcG9pbnQgZG93bikge1xuICAgICAgQGluY2x1ZGUgdGFibGUtc3RhY2s7XG4gICAgfVxuICB9XG5cbiAgdGFibGUuc2Nyb2xsIHtcbiAgICBAaW5jbHVkZSB0YWJsZS1zY3JvbGw7XG4gIH1cblxuICB0YWJsZS5ob3ZlciB7XG4gICAgQGluY2x1ZGUgdGFibGUtaG92ZXI7XG4gIH1cblxuICAudGFibGUtc2Nyb2xsIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuXG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnbWF0aCc7XG5cbiRjb250cmFzdC13YXJuaW5nczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFBhdGNoIHRvIGZpeCBpc3N1ZSAjMTIwODBcbiRwcmltYXJ5LWNvbG9yOiBudWxsICFkZWZhdWx0O1xuJHNlY29uZGFyeS1jb2xvcjogbnVsbCAhZGVmYXVsdDtcbiR3YXJuaW5nLWNvbG9yOiBudWxsICFkZWZhdWx0O1xuJGFsZXJ0LWNvbG9yOiBudWxsICFkZWZhdWx0O1xuJHN1Y2Nlc3MtY29sb3I6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBDaGVja3MgdGhlIGx1bWluYW5jZSBvZiBgJGNvbG9yYC5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIENvbG9yIHRvIGNoZWNrIHRoZSBsdW1pbmFuY2Ugb2YuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgbHVtaW5hbmNlIG9mIGAkY29sb3JgLlxuQGZ1bmN0aW9uIGNvbG9yLWx1bWluYW5jZSgkY29sb3IpIHtcbiAgLy8gQWRhcHRlZCBmcm9tOiBodHRwczovL2dpdGh1Yi5jb20vTGVhVmVyb3UvY29udHJhc3QtcmF0aW8vYmxvYi9naC1wYWdlcy9jb2xvci5qc1xuICAvLyBGb3JtdWxhOiBodHRwOi8vd3d3LnczLm9yZy9UUi8yMDA4L1JFQy1XQ0FHMjAtMjAwODEyMTEvI3JlbGF0aXZlbHVtaW5hbmNlZGVmXG4gICRyZ2JhOiByZWQoJGNvbG9yKSwgZ3JlZW4oJGNvbG9yKSwgYmx1ZSgkY29sb3IpO1xuICAkcmdiYTI6ICgpO1xuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggMyB7XG4gICAgJHJnYjogbnRoKCRyZ2JhLCAkaSk7XG4gICAgJHJnYjogZGl2aWRlKCRyZ2IsIDI1NSk7XG5cbiAgICAkcmdiOiBpZigkcmdiIDwgMC4wMzkyOCwgZGl2aWRlKCRyZ2IsIDEyLjkyKSwgcG93KGRpdmlkZSgkcmdiICsgMC4wNTUsIDEuMDU1KSwgMi40KSk7XG5cbiAgICAkcmdiYTI6IGFwcGVuZCgkcmdiYTIsICRyZ2IpO1xuICB9XG5cbiAgQHJldHVybiAwLjIxMjYgKiBudGgoJHJnYmEyLCAxKSArIDAuNzE1MiAqIG50aCgkcmdiYTIsIDIpICsgMC4wNzIyICogbnRoKCRyZ2JhMiwgMyk7XG59XG5cbi8vLyBDaGVja3MgdGhlIGNvbnRyYXN0IHJhdGlvIG9mIHR3byBjb2xvcnMuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IxIC0gRmlyc3QgY29sb3IgdG8gY29tcGFyZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IyIC0gU2Vjb25kIGNvbG9yIHRvIGNvbXBhcmUuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgY29udHJhc3QgcmF0aW8gb2YgdGhlIGNvbXBhcmVkIGNvbG9ycy5cbkBmdW5jdGlvbiBjb2xvci1jb250cmFzdCgkY29sb3IxLCAkY29sb3IyKSB7XG4gIC8vIEFkYXB0ZWQgZnJvbTogaHR0cHM6Ly9naXRodWIuY29tL0xlYVZlcm91L2NvbnRyYXN0LXJhdGlvL2Jsb2IvZ2gtcGFnZXMvY29sb3IuanNcbiAgLy8gRm9ybXVsYTogaHR0cDovL3d3dy53My5vcmcvVFIvMjAwOC9SRUMtV0NBRzIwLTIwMDgxMjExLyNjb250cmFzdC1yYXRpb2RlZlxuICAkbHVtaW5hbmNlMTogY29sb3ItbHVtaW5hbmNlKCRjb2xvcjEpICsgMC4wNTtcbiAgJGx1bWluYW5jZTI6IGNvbG9yLWx1bWluYW5jZSgkY29sb3IyKSArIDAuMDU7XG4gICRyYXRpbzogZGl2aWRlKCRsdW1pbmFuY2UxLCAkbHVtaW5hbmNlMik7XG5cbiAgQGlmICRsdW1pbmFuY2UyID4gJGx1bWluYW5jZTEge1xuICAgICRyYXRpbzogZGl2aWRlKDEsICRyYXRpbyk7XG4gIH1cblxuICAkcmF0aW86IHJvdW5kKCRyYXRpbyAqIDEwKSAqIDAuMTtcblxuICBAcmV0dXJuICRyYXRpbztcbn1cblxuLy8vIENoZWNrcyB0aGUgbHVtaW5hbmNlIG9mIGAkYmFzZWAsIGFuZCByZXR1cm5zIHRoZSBjb2xvciBmcm9tIGAkY29sb3JzYCAobGlzdCBvZiBjb2xvcnMpIHRoYXQgaGFzIHRoZSBtb3N0IGNvbnRyYXN0LlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhc2UgLSBDb2xvciB0byBjaGVjayBsdW1pbmFuY2UuXG4vLy8gQHBhcmFtIHtMaXN0fSAkY29sb3JzIFsoJHdoaXRlLCAkYmxhY2spXSAtIENvbG9ycyB0byBjb21wYXJlLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdG9sZXJhbmNlIFskZ2xvYmFsLWNvbG9yLXBpY2stY29udHJhc3QtdG9sZXJhbmNlXSAtIENvbnRyYXN0IHRvbGVyYW5jZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtDb2xvcn0gdGhlIGNvbG9yIGZyb20gYCRjb2xvcnNgIChsaXN0IG9mIGNvbG9ycykgdGhhdCBoYXMgdGhlIG1vc3QgY29udHJhc3QuXG5AZnVuY3Rpb24gY29sb3ItcGljay1jb250cmFzdCgkYmFzZSwgJGNvbG9yczogKCR3aGl0ZSwgJGJsYWNrKSwgJHRvbGVyYW5jZTogJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZSkge1xuICAkY29udHJhc3Q6IGNvbG9yLWNvbnRyYXN0KCRiYXNlLCBudGgoJGNvbG9ycywgMSkpO1xuICAkYmVzdDogbnRoKCRjb2xvcnMsIDEpO1xuXG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggbGVuZ3RoKCRjb2xvcnMpIHtcbiAgICAkY3VycmVudC1jb250cmFzdDogY29sb3ItY29udHJhc3QoJGJhc2UsIG50aCgkY29sb3JzLCAkaSkpO1xuICAgIEBpZiAoJGN1cnJlbnQtY29udHJhc3QgLSAkY29udHJhc3QgPiAkdG9sZXJhbmNlKSB7XG4gICAgICAkY29udHJhc3Q6IGNvbG9yLWNvbnRyYXN0KCRiYXNlLCBudGgoJGNvbG9ycywgJGkpKTtcbiAgICAgICRiZXN0OiBudGgoJGNvbG9ycywgJGkpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJGNvbnRyYXN0LXdhcm5pbmdzIGFuZCAkY29udHJhc3QgPCAzKSB7XG4gICAgQHdhcm4gJ0NvbnRyYXN0IHJhdGlvIG9mICN7JGJlc3R9IG9uICN7JGJhc2V9IGlzIHByZXR0eSBiYWQsIGp1c3QgI3skY29udHJhc3R9JztcbiAgfVxuXG4gIEByZXR1cm4gJGJlc3Q7XG59XG5cbi8vLyBTY2FsZXMgYSBjb2xvciB0byBiZSBkYXJrZXIgaWYgaXQncyBsaWdodCwgb3IgbGlnaHRlciBpZiBpdCdzIGRhcmsuIFVzZSB0aGlzIGZ1bmN0aW9uIHRvIHRpbnQgYSBjb2xvciBhcHByb3ByaWF0ZSB0byBpdHMgbGlnaHRuZXNzLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gQ29sb3IgdG8gc2NhbGUuXG4vLy8gQHBhcmFtIHtQZXJjZW50YWdlfSAkc2NhbGUgWzUlXSAtIEFtb3VudCB0byBzY2FsZSB1cCBvciBkb3duLlxuLy8vIEBwYXJhbSB7UGVyY2VudGFnZX0gJHRocmVzaG9sZCBbNDAlXSAtIFRocmVzaG9sZCBvZiBsaWdodG5lc3MgdG8gY2hlY2sgYWdhaW5zdC5cbi8vL1xuLy8vIEByZXR1cm5zIHtDb2xvcn0gQSBzY2FsZWQgY29sb3IuXG5AZnVuY3Rpb24gc21hcnQtc2NhbGUoJGNvbG9yLCAkc2NhbGU6IDUlLCAkdGhyZXNob2xkOiA0MCUpIHtcbiAgQGlmIGxpZ2h0bmVzcygkY29sb3IpID4gJHRocmVzaG9sZCB7XG4gICAgJHNjYWxlOiAtJHNjYWxlO1xuICB9XG4gIEByZXR1cm4gc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkc2NhbGUpO1xufVxuXG4vLy8gR2V0IGNvbG9yIGZyb20gZm91bmRhdGlvbi1wYWxldHRlXG4vLy9cbi8vLyBAcGFyYW0ge2tleX0gY29sb3Iga2V5IGZyb20gZm91bmRhdGlvbi1wYWxldHRlXG4vLy9cbi8vLyBAcmV0dXJucyB7Q29sb3J9IGNvbG9yIGZyb20gZm91bmRhdGlvbi1wYWxldHRlXG5AZnVuY3Rpb24gZ2V0LWNvbG9yKCRrZXkpIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsICRrZXkpIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgJGtleSk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBlcnJvciAnZ2l2ZW4gJGtleSBpcyBub3QgYXZhaWxhYmxlIGluICRmb3VuZGF0aW9uLXBhbGV0dGUnO1xuICB9XG59XG5cbi8vLyBUcmFuc2ZlcnMgdGhlIGNvbG9ycyBpbiB0aGUgYCRmb3VuZGF0aW9uLXBhbGV0dGVgIG1hcCBpbnRvIHZhcmlhYmxlcywgc3VjaCBhcyBgJHByaW1hcnktY29sb3JgIGFuZCBgJHNlY29uZGFyeS1jb2xvcmAuIENhbGwgdGhpcyBtaXhpbiBiZWxvdyB0aGUgR2xvYmFsIHNlY3Rpb24gb2YgeW91ciBzZXR0aW5ncyBmaWxlIHRvIHByb3Blcmx5IG1pZ3JhdGUgeW91ciBjb2RlYmFzZS5cbkBtaXhpbiBhZGQtZm91bmRhdGlvbi1jb2xvcnMoKSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSB7XG4gICAgJHByaW1hcnktY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJHByaW1hcnktY29sb3I6ICMxNzc5YmEgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KSB7XG4gICAgJHNlY29uZGFyeS1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpICFnbG9iYWw7XG4gIH0gQGVsc2Uge1xuICAgICRzZWNvbmRhcnktY29sb3I6ICM3Njc2NzYgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc3VjY2Vzcykge1xuICAgICRzdWNjZXNzLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHN1Y2Nlc3MpICFnbG9iYWw7XG4gIH0gQGVsc2Uge1xuICAgICRzdWNjZXNzLWNvbG9yOiAjM2FkYjc2ICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdhcm5pbmcpIHtcbiAgICAkd2FybmluZy1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3YXJuaW5nKSAhZ2xvYmFsO1xuICB9IEBlbHNlIHtcbiAgICAkd2FybmluZy1jb2xvcjogI2ZmYWUwMCAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCkge1xuICAgICRhbGVydC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCkgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJGFsZXJ0LWNvbG9yOiAjY2M0YjM3ICFnbG9iYWw7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBicmVhZGNydW1ic1xuLy8vL1xuXG4vLy8gTWFyZ2luIGFyb3VuZCBhIGJyZWFkY3J1bWJzIGNvbnRhaW5lci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRicmVhZGNydW1icy1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIGJyZWFkY3J1bWIgbGlua3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnJlYWRjcnVtYnMtaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDExKSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIGJyZWFkY3J1bWIgbGlua3MuXG4vLy8gQHR5cGUgQ29sb3JcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRoZSBhY3RpdmUgYnJlYWRjcnVtYiBsaW5rLlxuLy8vIEB0eXBlIENvbG9yXG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1jdXJyZW50OiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBPcGFjaXR5IG9mIGRpc2FibGVkIGJyZWFkY3J1bWIgbGlua3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gTWFyZ2luIGJldHdlZW4gYnJlYWRjcnVtYiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRicmVhZGNydW1icy1pdGVtLW1hcmdpbjogMC43NXJlbSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgbWFrZXMgYnJlYWRjcnVtYiBsaW5rcyB1cHBlcmNhc2UuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJyZWFkY3J1bWJzLWl0ZW0tdXBwZXJjYXNlOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBhZGRzIGEgc2VwZXJhdG9yIGJldHdlZW4gYnJlYWRjcnVtYiBsaW5rcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3I6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIElmIGl0IGV4aXN0cyAkYnJlYWRjcnVtYnMtaXRlbS1zbGFzaCBpcyB1c2VkIHRvIGJ1aWxkICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci4gU2VlIHRoZSBkb2N1bWVudGF0aW9uLlxuQGlmIHZhcmlhYmxlLWV4aXN0cyhicmVhZGNydW1icy1pdGVtLXNsYXNoKSB7XG4gICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvcjogJGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2g7XG59XG5cbi8vLyBVc2VkIGNoYXJhY3RlciBmb3IgdGhlIGJyZWFkY3J1bWIgc2VwYXJhdG9yLlxuLy8vIEB0eXBlIENvbnRlbnRcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtOiAnLycgIWRlZmF1bHQ7XG5cbi8vLyBVc2VkIGNoYXJhY3RlciBmb3IgdGhlIGJyZWFkY3J1bWIgc2VwYXJhdG9yIGluIHJ0bCBtb2RlLlxuLy8vIEB0eXBlIENvbnRlbnRcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtLXJ0bDogJ1xcXFwnICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgYnJlYWRjcnVtYiBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItY29sb3I6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8gSWYgaXQgZXhpc3RzICRicmVhZGNydW1icy1pdGVtLXNsYXNoLWNvbG9yIGlzIHVzZWQgdG8gYnVpbGQgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWNvbG9yLiBTZWUgdGhlIGRvY3VtZW50YXRpb24uXG5AaWYgdmFyaWFibGUtZXhpc3RzKGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2gtY29sb3IpIHtcbiAgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1zbGFzaC1jb2xvcjtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGJyZWFkY3J1bWJzIGNvbnRhaW5lciwgYWxvbmcgd2l0aCB0aGUgc3R5bGVzIGZvciB0aGUgYDxsaT5gIGFuZCBgPGE+YCBlbGVtZW50cyBpbnNpZGUgb2YgaXQuXG5AbWl4aW4gYnJlYWRjcnVtYnMtY29udGFpbmVyIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1hcmdpbjogJGJyZWFkY3J1bWJzLW1hcmdpbjtcbiAgbGlzdC1zdHlsZTogbm9uZTtcblxuICAvLyBJdGVtIHdyYXBwZXJcbiAgbGkge1xuICAgIGZsb2F0OiAjeyRnbG9iYWwtbGVmdH07XG5cbiAgICBmb250LXNpemU6ICRicmVhZGNydW1icy1pdGVtLWZvbnQtc2l6ZTtcbiAgICBjb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItY3VycmVudDtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG5cbiAgICBAaWYgJGJyZWFkY3J1bWJzLWl0ZW0tdXBwZXJjYXNlIHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuXG4gICAgQGlmICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvciB7XG4gICAgICAvLyBOZWVkIHRvIGVzY2FwZSB0aGUgYmFja3NsYXNoXG4gICAgICAkc2VwYXJhdG9yOiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09ICdsdHInLCAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbSwgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW0tcnRsKTtcblxuICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBtYXJnaW46IDAgJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luO1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgY29udGVudDogJHNlcGFyYXRvcjtcbiAgICAgICAgICBjb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW47XG4gICAgfVxuICB9XG5cbiAgLy8gUGFnZSBsaW5rc1xuICBhIHtcbiAgICBjb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3I7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1icmVhZGNydW1icyB7XG4gIC5icmVhZGNydW1icyB7XG4gICAgQGluY2x1ZGUgYnJlYWRjcnVtYnMtY29udGFpbmVyO1xuXG4gICAgLmRpc2FibGVkIHtcbiAgICAgIGNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1kaXNhYmxlZDtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgY2FsbG91dFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FsbG91dC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZhZGUgdmFsdWUgZm9yIGNhbGxvdXQgYmFja2dyb3VuZHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2FsbG91dC1iYWNrZ3JvdW5kLWZhZGU6IDg1JSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIHN0eWxlIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBMaXN0XG4kY2FsbG91dC1ib3JkZXI6IDFweCBzb2xpZCByZ2JhKCRibGFjaywgMC4yNSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGNhbGxvdXQtbWFyZ2luOiAwIDAgMXJlbSAwICFkZWZhdWx0O1xuXG4vLy8gU2l6ZXMgZm9yIENhbGxvdXQgcGFkZGluZ3MuXG4vLy8gQHR5cGUgTWFwXG4kY2FsbG91dC1zaXplczogKFxuICBzbWFsbDogMC41cmVtLFxuICBkZWZhdWx0OiAxcmVtLFxuICBsYXJnZTogM3JlbSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FsbG91dC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBjYWxsb3V0cywgaWYgdGhlIGNhbGxvdXQgaGFzIGEgZGFyayBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FsbG91dC1mb250LWNvbG9yLWFsdDogJGJvZHktYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIHJhZGl1cyBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxsb3V0LXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBBbW91bnQgdG8gdGludCBsaW5rcyB1c2VkIHdpdGhpbiBjb2xvcmVkIHBhbmVscy4gU2V0IHRvIGBmYWxzZWAgdG8gZGlzYWJsZSB0aGlzIGZlYXR1cmUuXG4vLy8gQHR5cGUgTnVtYmVyIHwgQm9vbGVhblxuJGNhbGxvdXQtbGluay10aW50OiAzMCUgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIGJhc2ljIHN0eWxlcyBmb3IgYSBjYWxsb3V0LCBpbmNsdWRpbmcgcGFkZGluZyBhbmQgbWFyZ2luLlxuQG1peGluIGNhbGxvdXQtYmFzZSgpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46ICRjYWxsb3V0LW1hcmdpbjtcbiAgcGFkZGluZzogbWFwLWdldCgkY2FsbG91dC1zaXplcywgZGVmYXVsdCk7XG5cbiAgYm9yZGVyOiAkY2FsbG91dC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRjYWxsb3V0LXJhZGl1cztcblxuICAvLyBSZXNwZWN0IHRoZSBwYWRkaW5nLCBmb29sLlxuICA+IDpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxuXG4gID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEdlbmVyYXRlIHF1aWNrIHN0eWxlcyBmb3IgYSBjYWxsb3V0IHVzaW5nIGEgc2luZ2xlIGNvbG9yIGFzIGEgYmFzZWxpbmUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskY2FsbG91dC1iYWNrZ3JvdW5kXSAtIENvbG9yIHRvIHVzZS5cbkBtaXhpbiBjYWxsb3V0LXN0eWxlKCRjb2xvcjogJGNhbGxvdXQtYmFja2dyb3VuZCkge1xuICAkYmFja2dyb3VuZDogc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkY2FsbG91dC1iYWNrZ3JvdW5kLWZhZGUpO1xuXG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkYmFja2dyb3VuZCwgKCRjYWxsb3V0LWZvbnQtY29sb3IsICRjYWxsb3V0LWZvbnQtY29sb3ItYWx0KSk7XG59XG5cbkBtaXhpbiBjYWxsb3V0LXNpemUoJHBhZGRpbmcpIHtcbiAgcGFkZGluZy10b3A6ICRwYWRkaW5nO1xuICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZztcbiAgcGFkZGluZy1ib3R0b206ICRwYWRkaW5nO1xuICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nO1xufVxuXG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjYWxsb3V0LlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGNhbGxvdXQtYmFja2dyb3VuZF0gLSBDb2xvciB0byB1c2UuXG5AbWl4aW4gY2FsbG91dCgkY29sb3I6ICRjYWxsb3V0LWJhY2tncm91bmQpIHtcbiAgQGluY2x1ZGUgY2FsbG91dC1iYXNlO1xuICBAaW5jbHVkZSBjYWxsb3V0LXN0eWxlKCRjb2xvcik7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWNhbGxvdXQge1xuICAuY2FsbG91dCB7XG4gICAgQGluY2x1ZGUgY2FsbG91dDtcblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgQGluY2x1ZGUgY2FsbG91dC1zdHlsZSgkY29sb3IpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBlYWNoICRzaXplLCAkcGFkZGluZyBpbiBtYXAtcmVtb3ZlKCRjYWxsb3V0LXNpemVzLCBkZWZhdWx0KSB7XG4gICAgICAmLiN7JHNpemV9IHtcbiAgICAgICAgQGluY2x1ZGUgY2FsbG91dC1zaXplKCRwYWRkaW5nKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBkcm9wZG93blxuLy8vL1xuXG4vLy8gUGFkZGluZyBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTGlzdFxuJGRyb3Bkb3duLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3duLWJhY2tncm91bmQ6ICRib2R5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bi1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bi1mb250LXNpemU6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBXaWR0aCBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcGRvd24td2lkdGg6IDMwMHB4ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcm9wZG93bi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gU2l6ZXMgZm9yIGRyb3Bkb3duIHBhbmVzLiBFYWNoIHNpemUgaXMgYSBDU1MgY2xhc3MgeW91IGNhbiBhcHBseS5cbi8vLyBAdHlwZSBNYXBcbiRkcm9wZG93bi1zaXplczogKFxuICB0aW55OiAxMDBweCxcbiAgc21hbGw6IDIwMHB4LFxuICBsYXJnZTogNDAwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gQXBwbGllcyBzdHlsZXMgZm9yIGEgYmFzaWMgZHJvcGRvd24uXG5AbWl4aW4gZHJvcGRvd24tY29udGFpbmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMDtcblxuICBkaXNwbGF5OiBub25lO1xuXG4gIHdpZHRoOiAkZHJvcGRvd24td2lkdGg7XG4gIHBhZGRpbmc6ICRkcm9wZG93bi1wYWRkaW5nO1xuXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYm9yZGVyOiAkZHJvcGRvd24tYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkZHJvcGRvd24tcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZHJvcGRvd24tYmFja2dyb3VuZDtcblxuICBmb250LXNpemU6ICRkcm9wZG93bi1mb250LXNpemU7XG5cblxuICAvLyBBbGxvdyBhbiBpbnRlcm1pdHRlbnQgc3RhdGUgdG8gZG8gcG9zaXRpb25pbmcgYmVmb3JlIG1ha2luZyB2aXNpYmxlLlxuICAmLmlzLW9wZW5pbmcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgJi5pcy1vcGVuIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWRyb3Bkb3duIHtcbiAgLmRyb3Bkb3duLXBhbmUge1xuICAgIEBpbmNsdWRlIGRyb3Bkb3duLWNvbnRhaW5lcjtcbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkZHJvcGRvd24tc2l6ZXMge1xuICAgIC5kcm9wZG93bi1wYW5lIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICB3aWR0aDogJHNpemU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYWNjb3JkaW9uXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgYW4gYWNjb3JkaW9uIGdyb3VwLlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgYWRkcyBwbHVzIGFuZCBtaW51cyBpY29ucyB0byB0aGUgc2lkZSBvZiBlYWNoIGFjY29yZGlvbiB0aXRsZS5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYWNjb3JkaW9uLXBsdXNtaW51czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIENvbnRlbnQgZm9yIHRoZSBwbHVzIGljb24gd2hlbiBgJGFjY29yZGlvbi1wbHVzbWludXNgIGlzIGB0cnVlYFxuLy8vIEB0eXBlIFN0cmluZ1xuJGFjY29yZGlvbi1wbHVzLWNvbnRlbnQ6ICdcXDAwMkInICFkZWZhdWx0O1xuXG4vLy8gQ29udGVudCBmb3IgdGhlIG1pbnVzIGljb24gd2hlbiBgJGFjY29yZGlvbi1wbHVzbWludXNgIGlzIGB0cnVlYFxuLy8vIEB0eXBlIFN0cmluZ1xuJGFjY29yZGlvbi1taW51cy1jb250ZW50OiAnXFwyMDEzJyAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiBhY2NvcmRpb24gdGl0bGVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbi10aXRsZS1mb250LXNpemU6IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBmb3IgaXRlbXMgaW4gYSBNZW51LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWl0ZW0tY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9uIGhvdmVyIGZvciBpdGVtcyBpbiBhIE1lbnUuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBvZiBhbiBhY2NvcmRpb24gaXRlbS5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kYWNjb3JkaW9uLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tY29udGVudC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhbiBhY2NvcmRpb24gY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIHRoZSBzYW1lIGVsZW1lbnQgdGhhdCBnZXRzIGBkYXRhLWFjY29yZGlvbmAuXG5AbWl4aW4gYWNjb3JkaW9uLWNvbnRhaW5lciAoXG4gICRiYWNrZ3JvdW5kOiAkYWNjb3JkaW9uLWJhY2tncm91bmRcbikge1xuICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuXG4gICZbZGlzYWJsZWRdIHtcbiAgICAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGFjY29yZGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIHRoZSBsaXN0IGl0ZW0gd2l0aGluIGFuIGFjY29yZGlvbiB1bC5cbkBtaXhpbiBhY2NvcmRpb24taXRlbSB7XG4gICY6Zmlyc3QtY2hpbGQgPiA6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICRnbG9iYWwtcmFkaXVzIDAgMDtcbiAgfVxuXG4gICY6bGFzdC1jaGlsZCA+IDpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgJGdsb2JhbC1yYWRpdXMgJGdsb2JhbC1yYWRpdXM7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgdGl0bGUgb2YgYW4gYWNjb3JkaW9uIGl0ZW0uIEFwcGx5IHRoaXMgdG8gdGhlIGxpbmsgd2l0aGluIGFuIGFjY29yZGlvbiBpdGVtLlxuQG1peGluIGFjY29yZGlvbi10aXRsZSAoXG4gICRwYWRkaW5nOiAkYWNjb3JkaW9uLWl0ZW0tcGFkZGluZyxcbiAgJGZvbnQtc2l6ZTogJGFjY29yZGlvbi10aXRsZS1mb250LXNpemUsXG4gICRjb2xvcjogJGFjY29yZGlvbi1pdGVtLWNvbG9yLFxuICAkYm9yZGVyOiAkYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJGFjY29yZGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXJcbikge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAkcGFkZGluZztcblxuICBib3JkZXI6ICRib3JkZXI7XG4gIGJvcmRlci1ib3R0b206IDA7XG5cbiAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6ICRjb2xvcjtcblxuICA6bGFzdC1jaGlsZDpub3QoLmlzLWFjdGl2ZSkgPiAmIHtcbiAgICBib3JkZXItYm90dG9tOiAkYm9yZGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAkZ2xvYmFsLXJhZGl1cyAkZ2xvYmFsLXJhZGl1cztcbiAgfVxuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICB9XG5cbiAgQGlmICRhY2NvcmRpb24tcGx1c21pbnVzIHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICAjeyRnbG9iYWwtcmlnaHR9OiAxcmVtO1xuICAgICAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgICAgIGNvbnRlbnQ6ICRhY2NvcmRpb24tcGx1cy1jb250ZW50O1xuICAgIH1cblxuICAgIC5pcy1hY3RpdmUgPiAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogJGFjY29yZGlvbi1taW51cy1jb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFjY29yZGlvbiBjb250ZW50LiBBcHBseSB0aGlzIHRvIHRoZSBjb250ZW50IHBhbmUgYmVsb3cgYW4gYWNjb3JkaW9uIGl0ZW0ncyB0aXRsZS5cbkBtaXhpbiBhY2NvcmRpb24tY29udGVudCAoXG4gICRwYWRkaW5nOiAkYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZyxcbiAgJGJvcmRlcjogJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcixcbiAgJGJhY2tncm91bmQ6ICRhY2NvcmRpb24tY29udGVudC1iYWNrZ3JvdW5kLFxuICAkY29sb3I6ICRhY2NvcmRpb24tY29udGVudC1jb2xvclxuKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuXG4gIGJvcmRlcjogJGJvcmRlcjtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG5cbiAgY29sb3I6ICRjb2xvcjtcblxuICA6bGFzdC1jaGlsZCA+ICY6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGJvcmRlcjtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1hY2NvcmRpb24ge1xuICAuYWNjb3JkaW9uIHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24tY29udGFpbmVyO1xuICB9XG5cbiAgLmFjY29yZGlvbi1pdGVtIHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24taXRlbTtcbiAgfVxuXG4gIC5hY2NvcmRpb24tdGl0bGUge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi10aXRsZTtcbiAgfVxuXG4gIC5hY2NvcmRpb24tY29udGVudCB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLWNvbnRlbnQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBtZWRpYS1vYmplY3Rcbi8vLy9cblxuLy8vIEJvdHRvbSBtYXJnaW4gb2YgYSBtZWRpYSBvYmplY3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVkaWFvYmplY3QtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0IGFuZCByaWdodCBwYWRkaW5nIG9uIHNlY3Rpb25zIHdpdGhpbiBhIG1lZGlhIG9iamVjdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFdpZHRoIG9mIGltYWdlcyB3aXRoaW4gYSBtZWRpYSBvYmplY3QsIHdoZW4gdGhlIG9iamVjdCBpcyBzdGFja2VkIHZlcnRpY2FsbHkuIFNldCB0byAnYXV0bycgdG8gdXNlIHRoZSBpbWFnZSdzIG5hdHVyYWwgd2lkdGguXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVkaWFvYmplY3QtaW1hZ2Utd2lkdGgtc3RhY2tlZDogMTAwJSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIG1lZGlhIG9iamVjdCBjb250YWluZXIuXG5AbWl4aW4gbWVkaWEtb2JqZWN0LWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGlmKCRnbG9iYWwtZmxleGJveCwgZmxleCwgYmxvY2spO1xuICBtYXJnaW4tYm90dG9tOiAkbWVkaWFvYmplY3QtbWFyZ2luLWJvdHRvbTtcblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgfVxuXG4gIGltZyB7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICB9XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgJi5zdGFjay1mb3ItI3skLXpmLXplcm8tYnJlYWtwb2ludH0ge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXplcm8tYnJlYWtwb2ludCBvbmx5KSB7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBzZWN0aW9ucyB3aXRoaW4gYSBtZWRpYSBvYmplY3QuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRwYWRkaW5nIFskbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nXSAtIFBhZGRpbmcgYmV0d2VlbiBzZWN0aW9ucy5cbkBtaXhpbiBtZWRpYS1vYmplY3Qtc2VjdGlvbigkcGFkZGluZzogJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZykge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgfVxuICBAZWxzZSB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICB9XG5cbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgcGFkZGluZy0jeyRnbG9iYWwtcmlnaHR9OiAkcGFkZGluZztcbiAgfVxuXG4gICY6bGFzdC1jaGlsZDpub3QoOm50aC1jaGlsZCgyKSkge1xuICAgIHBhZGRpbmctI3skZ2xvYmFsLWxlZnR9OiAkcGFkZGluZztcbiAgfVxuXG4gID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICAuc3RhY2stZm9yLSN7JC16Zi16ZXJvLWJyZWFrcG9pbnR9ICYge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJC16Zi16ZXJvLWJyZWFrcG9pbnQgb25seSkge1xuICAgICAgQGluY2x1ZGUgbWVkaWEtb2JqZWN0LXN0YWNrO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICYubWFpbi1zZWN0aW9uIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAmLm1pZGRsZSB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cblxuICAgICYuYm90dG9tIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyB0byBzdGFjayBzZWN0aW9ucyBvZiBhIG1lZGlhIG9iamVjdC4gQXBwbHkgdGhpcyB0byB0aGUgc2VjdGlvbiBlbGVtZW50cywgbm90IHRoZSBjb250YWluZXIuXG5AbWl4aW4gbWVkaWEtb2JqZWN0LXN0YWNrIHtcbiAgcGFkZGluZzogMDtcbiAgcGFkZGluZy1ib3R0b206ICRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmc7XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC1iYXNpczogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cbiAgQGVsc2Uge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgaW1nIHtcbiAgICB3aWR0aDogJG1lZGlhb2JqZWN0LWltYWdlLXdpZHRoLXN0YWNrZWQ7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tbWVkaWEtb2JqZWN0IHtcbiAgLm1lZGlhLW9iamVjdCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtb2JqZWN0LWNvbnRhaW5lcjtcbiAgfVxuXG4gIC5tZWRpYS1vYmplY3Qtc2VjdGlvbiB7XG4gICAgQGluY2x1ZGUgbWVkaWEtb2JqZWN0LXNlY3Rpb247XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCByZXNwb25zaXZlLWVtYmVkXG4vLy8vXG5cbi8vLyBNYXJnaW4gYmVsb3cgYSByZXNwb25zaXZlIGVtYmVkIGNvbnRhaW5lci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXNwb25zaXZlLWVtYmVkLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE2KSAhZGVmYXVsdDtcblxuLy8vIEFzcGVjdCByYXRpb3MgdXNlZCB0byBkZXRlcm1pbmUgcGFkZGluZy1ib3R0b20gb2YgcmVzcG9uc2l2ZSBlbWJlZCBjb250YWluZXJzLlxuLy8vIEB0eXBlIE1hcFxuJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zOiAoXG4gIGRlZmF1bHQ6IDQgYnkgMyxcbiAgd2lkZXNjcmVlbjogMTYgYnkgOSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBDcmVhdGVzIGEgcmVzcG9uc2l2ZSBlbWJlZCBjb250YWluZXIuXG4vLy8gQHBhcmFtIHtTdHJpbmd8TGlzdH0gJHJhdGlvIFtkZWZhdWx0XSAtIFJhdGlvIG9mIHRoZSBjb250YWluZXIuIENhbiBiZSBhIGtleSBmcm9tIHRoZSBgJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zYCBtYXAgb3IgYSBsaXN0IGZvcm1hdHRlZCBhcyBgeCBieSB5YC5cbkBtaXhpbiByZXNwb25zaXZlLWVtYmVkKCRyYXRpbzogZGVmYXVsdCkge1xuICBAaWYgdHlwZS1vZigkcmF0aW8pID09ICdzdHJpbmcnIHtcbiAgICAkcmF0aW86IG1hcC1nZXQoJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zLCAkcmF0aW8pO1xuICB9XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAkcmVzcG9uc2l2ZS1lbWJlZC1tYXJnaW4tYm90dG9tO1xuICBwYWRkaW5nLWJvdHRvbTogcmF0aW8tdG8tcGVyY2VudGFnZSgkcmF0aW8pO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIGlmcmFtZSxcbiAgb2JqZWN0LFxuICBlbWJlZCxcbiAgdmlkZW8ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkIHtcbiAgLnJlc3BvbnNpdmUtZW1iZWQsXG4gIC5mbGV4LXZpZGVvIHtcbiAgICBAaW5jbHVkZSByZXNwb25zaXZlLWVtYmVkKCRyYXRpbzogZGVmYXVsdCk7XG5cbiAgICAkcmF0aW9zOiBtYXAtcmVtb3ZlKCRyZXNwb25zaXZlLWVtYmVkLXJhdGlvcywgZGVmYXVsdCk7XG5cbiAgICBAZWFjaCAkbmFtZSwgJHJhdGlvIGluICRyYXRpb3Mge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiByYXRpby10by1wZXJjZW50YWdlKCRyYXRpbyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdGFic1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gb2YgdGhlIHRhYiBiYXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFiLW1hcmdpbjogMCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiBhIHRhYiBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRm9udCBjb2xvciBvZiB0YWIgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBBY3RpdmUgYmFja2dyb3VuZCBjb2xvciBvZiBhIHRhYiBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItYmFja2dyb3VuZC1hY3RpdmU6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQWN0aXZlIGZvbnQgY29sb3Igb2YgdGFiIGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItYWN0aXZlLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiB0YWIgaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFiLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb24gaG92ZXIgZm9yIGl0ZW1zIGluIGEgTWVudS5cbiR0YWItaXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgb2YgYSB0YWIgaXRlbS5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWItaXRlbS1wYWRkaW5nOiAxLjI1cmVtIDEuNXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWNvbnRlbnQtYm9yZGVyOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kdGFiLWNvbnRlbnQtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHRhYiBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gYSBgPHVsPmAuXG5AbWl4aW4gdGFicy1jb250YWluZXIgKFxuICAkbWFyZ2luOiAkdGFiLW1hcmdpbixcbiAgJGJhY2tncm91bmQ6ICR0YWItYmFja2dyb3VuZCxcbiAgJGJvcmRlci1jb2xvcjogJHRhYi1jb250ZW50LWJvcmRlclxuKSB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBtYXJnaW46ICRtYXJnaW47XG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG59XG5cbi8vLyBBdWdtZW50cyBhIHRhYiBjb250YWluZXIgdG8gaGF2ZSB2ZXJ0aWNhbCB0YWJzLiBVc2UgdGhpcyBpbiBjb25qdW5jdGlvbiB3aXRoIGB0YWJzLWNvbnRhaW5lcigpYC5cbkBtaXhpbiB0YWJzLWNvbnRhaW5lci12ZXJ0aWNhbCB7XG4gID4gbGkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZsb2F0OiBub25lO1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGxpbmtzIHdpdGhpbiBhIHRhYiBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gdGhlIGA8bGk+YCBlbGVtZW50cyBpbnNpZGUgYSB0YWIgY29udGFpbmVyLlxuQG1peGluIHRhYnMtdGl0bGUgKFxuICAkcGFkZGluZzogJHRhYi1pdGVtLXBhZGRpbmcsXG4gICRmb250LXNpemU6ICR0YWItaXRlbS1mb250LXNpemUsXG4gICRjb2xvcjogJHRhYi1jb2xvcixcbiAgJGNvbG9yLWFjdGl2ZTogJHRhYi1hY3RpdmUtY29sb3IsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkdGFiLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcixcbiAgJGJhY2tncm91bmQtYWN0aXZlOiAkdGFiLWJhY2tncm91bmQtYWN0aXZlXG4pIHtcbiAgZmxvYXQ6ICN7JGdsb2JhbC1sZWZ0fTtcblxuICA+IGEge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAkcGFkZGluZztcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY29sb3I6ICRjb2xvcjtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQtaG92ZXI7XG4gICAgICBjb2xvcjogc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKTtcbiAgICB9XG5cbiAgICAmOmZvY3VzLFxuICAgICZbYXJpYS1zZWxlY3RlZD0ndHJ1ZSddIHtcbiAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgICAgIGNvbG9yOiAkY29sb3ItYWN0aXZlO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSB3cmFwcGVyIHRoYXQgc3Vycm91bmRzIGEgdGFiIGdyb3VwJ3MgY29udGVudCBwYW5lcy5cbkBtaXhpbiB0YWJzLWNvbnRlbnQgKFxuICAkYmFja2dyb3VuZDogJHRhYi1jb250ZW50LWJhY2tncm91bmQsXG4gICRjb2xvcjogJHRhYi1jb250ZW50LWNvbG9yLFxuICAkYm9yZGVyLWNvbG9yOiAkdGFiLWNvbnRlbnQtYm9yZGVyXG4pIHtcbiAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgYm9yZGVyLXRvcDogMDtcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gIGNvbG9yOiAkY29sb3I7XG4gIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2U7XG59XG5cbi8vLyBBdWdtZW50cyBhIHRhYiBjb250ZW50IGNvbnRhaW5lciB0byBoYXZlIGEgdmVydGljYWwgc3R5bGUsIGJ5IHNoaWZ0aW5nIHRoZSBib3JkZXIgYXJvdW5kLiBVc2UgdGhpcyBpbiBjb25qdW5jdGlvbiB3aXRoIGB0YWJzLWNvbnRlbnQoKWAuXG5AbWl4aW4gdGFicy1jb250ZW50LXZlcnRpY2FsIChcbiAgJGJvcmRlci1jb2xvcjogJHRhYi1jb250ZW50LWJvcmRlclxuKSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYW4gaW5kaXZpZHVhbCB0YWIgY29udGVudCBwYW5lbCB3aXRoaW4gdGhlIHRhYiBjb250ZW50IGNvbnRhaW5lci5cbkBtaXhpbiB0YWJzLXBhbmVsIChcbiAgJHBhZGRpbmc6ICR0YWItY29udGVudC1wYWRkaW5nXG4pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG5cbiAgJi5pcy1hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRhYnMge1xuICAudGFicyB7XG4gICAgQGluY2x1ZGUgdGFicy1jb250YWluZXI7XG4gIH1cblxuICAvLyBWZXJ0aWNhbFxuICAudGFicy52ZXJ0aWNhbCB7XG4gICAgQGluY2x1ZGUgdGFicy1jb250YWluZXItdmVydGljYWw7XG4gIH1cblxuICAvLyBTaW1wbGVcbiAgLnRhYnMuc2ltcGxlIHtcbiAgICA+IGxpID4gYSB7XG4gICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUHJpbWFyeSBjb2xvclxuICAudGFicy5wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcblxuICAgID4gbGkgPiBhIHtcbiAgICAgIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRwcmltYXJ5LWNvbG9yKTtcblxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkcHJpbWFyeS1jb2xvcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnRhYnMtdGl0bGUge1xuICAgIEBpbmNsdWRlIHRhYnMtdGl0bGU7XG4gIH1cblxuICAudGFicy1jb250ZW50IHtcbiAgICBAaW5jbHVkZSB0YWJzLWNvbnRlbnQ7XG4gIH1cblxuICAudGFicy1jb250ZW50LnZlcnRpY2FsIHtcbiAgICBAaW5jbHVkZSB0YWJzLWNvbnRlbnQtdmVydGljYWw7XG4gIH1cblxuICAudGFicy1wYW5lbCB7XG4gICAgQGluY2x1ZGUgdGFicy1wYW5lbDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIG1lbnVcbi8vLy9cblxuLy8vIE1hcmdpbiBvZiBhIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1tYXJnaW46IDAgIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0LWhhbmQgbWFyZ2luIG9mIGEgbmVzdGVkIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1uZXN0ZWQtbWFyZ2luOiAkZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZm9yIGl0ZW1zIGluIGEgcGlsbCBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtaXRlbXMtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBtYXJnaW4gZm9yIGl0ZW1zIGluIGEgc2ltcGxlIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1zaW1wbGUtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBhbiBhY3RpdmUgbWVudSBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQWx0ZXJuYXRpdmUgdGV4dCBjb2xvciBvZiBhbiBhY3RpdmUgbWVudSBpdGVtLi5cbi8vLyBAdHlwZSBDb2xvclxuJG1lbnUtaXRlbS1jb2xvci1hbHQtYWN0aXZlOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGFuIGFjdGl2ZSBtZW51IGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IGdldC1jb2xvcihwcmltYXJ5KSAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiBhbiBpY29uIGFuZCB0ZXh0IGluIGEgbWVudSBpdGVtLlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtaWNvbi1zcGFjaW5nOiAwLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gQmFja3dhcmQgY29tcGF0aWJpbGl0eSBmb3IgbWVudSBzdGF0ZS4gSWYgdHJ1ZSwgdGhpcyBkdXBsaWNhdGUgYGFjdGl2ZWAgd2l0aCBgaXMtYWN0aXZlYC5cbi8vLyBCdXQgcGxlYXNlIG5vdGUgdGhhdCBgYWN0aXZlYCB3aWxsIGJlIHJlbW92ZWQgaW4gdXBjb21pbmcgdmVyc2lvbnMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJG1lbnUtc3RhdGUtYmFjay1jb21wYXQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrd2FyZCBjb21wYXRpYmlsaXR5IGZvciBtZW51IGNlbnRlcmVkLiBJZiB0cnVlLCB0aGlzIGR1cGxpY2F0ZSBgLm1lbnUtY2VudGVyZWQgPiAubWVudWAgd2l0aCBgLm1lbnUuYWxpZ24tY2VudGVyYC5cbi8vLyBCdXQgcGxlYXNlIG5vdGUgdGhhdCBgbWVudS1jZW50ZXJlZGAgd2lsbCBiZSByZW1vdmVkIGluIHVwY29taW5nIHZlcnNpb25zLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRtZW51LWNlbnRlcmVkLWJhY2stY29tcGF0OiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQmFja3dhcmQgY29tcGF0aWJpbGl0eSBmb3IgdXNpbmcgYGljb24tKmAgY2xhc3NlcyB3aXRob3V0IGAuaWNvbnNgIGNsYXNzZXNcbi8vLyBCdXQgcGxlYXNlIG5vdGUgdGhhdCB0aGlzIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgd2lsbCBiZSByZW1vdmVkIGluIHVwY29taW5nIHZlcnNpb25zLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRtZW51LWljb25zLWJhY2stY29tcGF0OiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQ3JlYXRlcyB0aGUgYmFzZSBzdHlsZXMgZm9yIGEgTWVudS5cbkBtaXhpbiBtZW51LWJhc2Uge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuXG4gIGxpIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIH1cblxuICBhLFxuICAuYnV0dG9uIHtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogJG1lbnUtaXRlbXMtcGFkZGluZztcbiAgfVxuXG4gIC8vIFJlc2V0IHN0eWxlcyBvZiBpbm5lciBlbGVtZW50c1xuICBpbnB1dCxcbiAgc2VsZWN0LFxuICBhLFxuICBidXR0b24ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICBpbnB1dCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG59XG5cbi8vLyBFeHBhbmRzIHRoZSBpdGVtcyBvZiBhIE1lbnUsIHNvIGVhY2ggaXRlbSBpcyB0aGUgc2FtZSB3aWR0aC5cbkBtaXhpbiBtZW51LWV4cGFuZCB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGxpIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgID4gbGkge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBbGlnbiBtZW51IGl0ZW1zLlxuQG1peGluIG1lbnUtYWxpZ24oJGFsaWdubWVudCkge1xuICBAaWYgJGFsaWdubWVudCA9PSBsZWZ0IHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1sZWZ0O1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkYWxpZ25tZW50ID09IHJpZ2h0IHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblxuICAgICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYudmVydGljYWwgbGkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1yaWdodDtcblxuICAgICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1yaWdodDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLXJpZ2h0O1xuXG4gICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtbGVmdDtcbiAgICAgIH1cblxuICAgICAgJi52ZXJ0aWNhbCB7XG4gICAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLXJpZ2h0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRhbGlnbm1lbnQgPT0gY2VudGVyIHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1sZWZ0O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgZGlyZWN0aW9uIG9mIGEgTWVudS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXIgW2hvcml6b250YWxdIC0gRGlyZWN0aW9uIG9mIHRoZSBNZW51LiBDYW4gYmUgYGhvcml6b250YWxgIG9yIGB2ZXJ0aWNhbGAuXG5AbWl4aW4gbWVudS1kaXJlY3Rpb24oJGRpcjogaG9yaXpvbnRhbCkge1xuICBAaWYgJGRpciA9PSBob3Jpem9udGFsIHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkZGlyID09IHZlcnRpY2FsIHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEB3YXJuICdUaGUgZGlyZWN0aW9uIHVzZWQgZm9yIG1lbnUtZGlyZWN0aW9uKCkgbXVzdCBiZSBob3Jpem9udGFsIG9yIHZlcnRpY2FsLic7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBzaW1wbGUgTWVudSwgd2hpY2ggaGFzIG5vIHBhZGRpbmcgb3IgaG92ZXIgc3RhdGUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyIFskZ2xvYmFsLWxlZnRdIC0gRGlyZWN0aW9uIG9mIHRoZSBtZW51LiBUaGlzIGVmZmVjdHMgdGhlIHNpZGUgb2YgdGhlIGA8bGk+YCB0aGF0IHJlY2VpdmVzIHRoZSBtYXJnaW4uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXJnaW4gWyRtZW51LXNpbXBsZS1tYXJnaW5dIC0gVGhlIG1hcmdpbiB0byBhcHBseSB0byBlYWNoIGA8bGk+YC5cbkBtaXhpbiBtZW51LXNpbXBsZSgkZGlyOiAkZ2xvYmFsLWxlZnQsICRtYXJnaW46ICRtZW51LXNpbXBsZS1tYXJnaW4pIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuXG4gIGxpICsgbGkge1xuICAgIG1hcmdpbi0jeyRkaXJ9OiAkbWFyZ2luO1xuICB9XG5cbiAgYSB7XG4gICAgcGFkZGluZzogMDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgbmVzdGVkIE1lbnUsIGJ5IGFkZGluZyBgbWFyZ2luLWxlZnRgIHRvIHRoZSBtZW51LlxuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRtYXJnaW4gWyRtZW51LW5lc3RlZC1tYXJnaW5dIC0gTGVuZ3RoIG9mIHRoZSBtYXJnaW4uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkbmVzdGVkLWFsaWdubWVudCBbbGVmdF0gLSBBbGlnbm1lbnQgb2YgdGhlIG5lc3RlZCBjbGFzc1xuQG1peGluIG1lbnUtbmVzdGVkKFxuICAkbWFyZ2luOiAkbWVudS1uZXN0ZWQtbWFyZ2luLFxuICAkbmVzdGVkLWFsaWdubWVudDogbGVmdFxuKSB7XG4gIEBpZiAkbmVzdGVkLWFsaWdubWVudCA9PSByaWdodCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRtYXJnaW47XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgfVxuICBAZWxzZSB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJG1hcmdpbjtcbiAgfVxuXG59XG5cbi8vLyBBZGRzIGJhc2ljIHN0eWxlcyBmb3IgaWNvbnMgaW4gbWVudXMuXG5AbWl4aW4gbWVudS1pY29ucygpIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgYSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgaW1nLFxuICAgIGksXG4gICAgc3ZnIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAgICsgc3BhbiB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBBbGlnbiB0b3AvYm90dG9tIGljb25zIHdpdGhpbiBhIG1lbnUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkYWxpZ25tZW50IFtjZW50ZXJdIC0gQWxpZ25tZW50IG9mIHRoZSBpY29uXG5AbWl4aW4gbWVudS1pY29uLWFsaWdubWVudCgkYWxpZ25tZW50OiBjZW50ZXIpIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgJi5pY29uLXRvcCxcbiAgICAmLmljb24tYm90dG9tIHtcbiAgICAgIGxpIGEge1xuICAgICAgICBpbWcsXG4gICAgICAgIGksXG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgQGlmICRhbGlnbm1lbnQgPT0gbGVmdCB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBlbHNlIGlmICRhbGlnbm1lbnQgPT0gcmlnaHQge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGVsc2Uge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBwb3NpdGlvbiBjbGFzc2VzIGZvciBpY29ucyB3aXRoaW4gYSBtZW51LlxuQG1peGluIG1lbnUtaWNvbi1wb3NpdGlvbigkcG9zaXRpb246IGxlZnQsICRzcGFjaW5nOiAkbWVudS1pY29uLXNwYWNpbmcpIHtcbiAgQGlmICRwb3NpdGlvbiA9PSBsZWZ0IHtcbiAgICBsaSBhIHtcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICB9XG5cbiAgICAgIGltZyxcbiAgICAgIGksXG4gICAgICBzdmcge1xuICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHNwYWNpbmc7XG5cbiAgICAgICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gcmlnaHQge1xuICAgIGxpIGEge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgIH1cblxuICAgICAgaW1nLFxuICAgICAgaSxcbiAgICAgIHN2ZyB7XG4gICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRzcGFjaW5nO1xuXG4gICAgICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHRvcCB7XG4gICAgbGkgYSB7XG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG5cbiAgICAgIGltZyxcbiAgICAgIGksXG4gICAgICBzdmcge1xuICAgICAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luOiAwIGF1dG8gJHNwYWNpbmc7XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmc7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSBib3R0b20ge1xuICAgIGxpIGEge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuXG4gICAgICBpbWcsXG4gICAgICBpLFxuICAgICAgc3ZnIHtcbiAgICAgICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbjogJHNwYWNpbmcgYXV0byAwO1xuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWVudS10ZXh0IHtcbiAgcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XG5cbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogaW5oZXJpdDtcbn1cblxuQG1peGluIG1lbnUtc3RhdGUtYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZSwgKCRtZW51LWl0ZW0tY29sb3ItYWN0aXZlLCAkbWVudS1pdGVtLWNvbG9yLWFsdC1hY3RpdmUpKTtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tbWVudSB7XG4gIC5tZW51IHtcbiAgICBAaW5jbHVkZSBtZW51LWJhc2U7XG5cbiAgICAvLyBEZWZhdWx0IG9yaWVudGF0aW9uOiBob3Jpem9udGFsXG4gICAgJiwgJi5ob3Jpem9udGFsIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuICAgIH1cblxuICAgIC8vIFZlcnRpY2FsIG9yaWVudGF0aW9uIG1vZGlmaWVyXG4gICAgJi52ZXJ0aWNhbCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgICBAaW5jbHVkZSBtZW51LWljb24tYWxpZ25tZW50KGxlZnQpO1xuICAgIH1cblxuICAgIC8vIEV2ZW4td2lkdGggbW9kaWZpZXIgZm9yIGhvcml6b250YWwgb3JpZW50YXRpb25cbiAgICAmLmV4cGFuZGVkIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtZXhwYW5kO1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29uLWFsaWdubWVudChsZWZ0KTtcbiAgICB9XG5cbiAgICAvLyBTaW1wbGVcbiAgICAmLnNpbXBsZSB7XG4gICAgICBAaW5jbHVkZSBtZW51LXNpbXBsZTtcbiAgICB9XG5cbiAgICAvLyBCcmVha3BvaW50IHNwZWNpZmljIHZlcnNpb25zXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgkc21hbGw6IGZhbHNlKSB7XG4gICAgICAmLiN7JC16Zi1zaXplfS1ob3Jpem9udGFsIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG4gICAgICB9XG5cbiAgICAgICYuI3skLXpmLXNpemV9LXZlcnRpY2FsIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgICAgfVxuXG4gICAgICAmLiN7JC16Zi1zaXplfS1leHBhbmRlZCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtZXhwYW5kO1xuICAgICAgfVxuXG4gICAgICAmLiN7JC16Zi1zaXplfS1zaW1wbGUge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWV4cGFuZDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBOZXN0aW5nXG4gICAgJi5uZXN0ZWQge1xuICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQ7XG4gICAgfVxuXG4gICAgLy8gSWNvbiBCYXNlIFN0eWxlc1xuICAgICYuaWNvbnMge1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29ucztcbiAgICB9XG5cbiAgICAvLyBCYWNrd2FyZCBDb21wYXRpYmlsaXR5IGZvciBhY3RpdmUgc3RhdGVcbiAgICBAaWYgJG1lbnUtaWNvbnMtYmFjay1jb21wYXQge1xuICAgICAgJi5pY29uLXRvcCxcbiAgICAgICYuaWNvbi1yaWdodCxcbiAgICAgICYuaWNvbi1ib3R0b20sXG4gICAgICAmLmljb24tbGVmdCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbnM7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gTWVudSBpY29uIHBvc2l0aW9uXG4gICAgLy8gSW5jbHVkZXMgc3BlY2lmaWNpdHkgdG8gbmVzdGVkIGljb25zIHdpdGggYSBkaWZmZXJlbnQgcG9zaXRpb25cbiAgICAmLFxuICAgICYubmVzdGVkIHtcbiAgICAgIC8vIEljb24gTGVmdFxuICAgICAgJi5pY29uLWxlZnQge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWljb24tcG9zaXRpb24obGVmdCk7XG4gICAgICB9XG5cbiAgICAgIC8vIEljb24gUmlnaHRcbiAgICAgICYuaWNvbi1yaWdodCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbi1wb3NpdGlvbihyaWdodCk7XG4gICAgICB9XG5cbiAgICAgIC8vIEljb24gVG9wXG4gICAgICAmLmljb24tdG9wIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1pY29uLXBvc2l0aW9uKHRvcCk7XG4gICAgICB9XG5cbiAgICAgIC8vIEljb24gQm90dG9tXG4gICAgICAmLmljb24tYm90dG9tIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1pY29uLXBvc2l0aW9uKGJvdHRvbSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQWN0aXZlIHN0YXRlXG4gICAgLmlzLWFjdGl2ZSA+IGEge1xuICAgICAgQGluY2x1ZGUgbWVudS1zdGF0ZS1hY3RpdmU7XG4gICAgfVxuXG4gICAgLy8gQmFja3dhcmQgQ29tcGF0aWJpbGl0eSBmb3IgYWN0aXZlIHN0YXRlXG4gICAgQGlmICRtZW51LXN0YXRlLWJhY2stY29tcGF0IHtcbiAgICAgIC5hY3RpdmUgPiBhIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1zdGF0ZS1hY3RpdmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQWxpZ24gbGVmdFxuICAgICYuYWxpZ24tI3skZ2xvYmFsLWxlZnR9IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtYWxpZ24obGVmdCk7XG4gICAgfVxuXG4gICAgLy8gQWxpZ24gcmlnaHRcbiAgICAmLmFsaWduLSN7JGdsb2JhbC1yaWdodH0ge1xuICAgICAgQGluY2x1ZGUgbWVudS1hbGlnbihyaWdodCk7XG4gICAgICBAaW5jbHVkZSBtZW51LWljb24tYWxpZ25tZW50KHJpZ2h0KTtcblxuICAgICAgLm5lc3RlZCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkKCRuZXN0ZWQtYWxpZ25tZW50OiByaWdodCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQWxpZ24gY2VudGVyXG4gICAgJi5hbGlnbi1jZW50ZXIge1xuICAgICAgQGluY2x1ZGUgbWVudS1hbGlnbihjZW50ZXIpO1xuICAgIH1cblxuICAgIC5tZW51LXRleHQge1xuICAgICAgQGluY2x1ZGUgbWVudS10ZXh0O1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkbWVudS1jZW50ZXJlZC1iYWNrLWNvbXBhdCB7XG4gICAgLm1lbnUtY2VudGVyZWQge1xuICAgICAgPiAubWVudSB7XG4gICAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVudS1hbGlnbihjZW50ZXIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFByZXZlbnQgRk9VQyB3aGVuIHVzaW5nIHRoZSBSZXNwb25zaXZlIE1lbnUgcGx1Z2luXG4gIC5uby1qcyBbZGF0YS1yZXNwb25zaXZlLW1lbnVdIHVsIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4iLCJAbWl4aW4gZm91bmRhdGlvbi1tZW51LWljb24ge1xuICAubWVudS1pY29uIHtcbiAgICBAaW5jbHVkZSBoYW1idXJnZXIoJGNvbG9yOiAkdGl0bGViYXItaWNvbi1jb2xvciwgJGNvbG9yLWhvdmVyOiAkdGl0bGViYXItaWNvbi1jb2xvci1ob3Zlcik7XG4gIH1cblxuICAubWVudS1pY29uLmRhcmsge1xuICAgIEBpbmNsdWRlIGhhbWJ1cmdlcjtcbiAgfVxufVxuIiwiLy8vL1xuLy8vIEBncm91cCBhY2NvcmRpb24tbWVudVxuLy8vL1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBwYWRkaW5nLlxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbm1lbnUtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IG5lc3RlZCBtYXJnaW5cbi8vLyBAdHlwZSBOdW1iZXJcbiRhY2NvcmRpb25tZW51LW5lc3RlZC1tYXJnaW46ICRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBzdWJtZW51IHBhZGRpbmcuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXBhZGRpbmc6ICRhY2NvcmRpb25tZW51LXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGlmIGFjY29yZGlvbiBtZW51cyBoYXZlIHRoZSBkZWZhdWx0IGFycm93IHN0eWxlcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYWNjb3JkaW9ubWVudS1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGFycm93IGNvbG9yIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb25tZW51LWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgaXRlbSBwYWRkaW5nLlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9ubWVudS1pdGVtLWJhY2tncm91bmQ6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGl0ZW0gYm9yZGVyLlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9ubWVudS1ib3JkZXI6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGl0ZW0gcGFkZGluZy5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtYmFja2dyb3VuZDogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgaXRlbSBwYWRkaW5nLlxuLy8vIEB0eXBlIExpc3RcbiRhY2NvcmRpb24tc3VibWVudS10b2dnbGUtYm9yZGVyOiAkYWNjb3JkaW9ubWVudS1ib3JkZXIgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IHN1Ym1lbnUgdG9nZ2xlIGJhY2tncm91bmQgd2lkdGguXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aDogNDBweCAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgc3VibWVudSB0b2dnbGUgYmFja2dyb3VuZCBoZWlnaHQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1oZWlnaHQ6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBhcnJvdyBzaXplIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kYWNjb3JkaW9ubWVudS1hcnJvdy1zaXplOiA2cHggIWRlZmF1bHQ7XG5cbkBtaXhpbiB6Zi1hY2NvcmRpb24tbWVudS1sZWZ0LXJpZ2h0LWFycm93cyB7XG4gIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQ6bm90KC5oYXMtc3VibWVudS10b2dnbGUpID4gYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRhY2NvcmRpb25tZW51LWFycm93LXNpemUsICRhY2NvcmRpb25tZW51LWFycm93LWNvbG9yLCBkb3duKTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbWFyZ2luLXRvcDogLTEgKiAoJGFjY29yZGlvbm1lbnUtYXJyb3ctc2l6ZSAqIDAuNSk7XG4gICAgICAjeyRnbG9iYWwtcmlnaHR9OiAxcmVtO1xuICAgIH1cbiAgfVxuXG4gICYuYWxpZ24tbGVmdCAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiAxcmVtO1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cblxuICAmLmFsaWduLXJpZ2h0IC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMXJlbTtcbiAgfVxufVxuQG1peGluIGZvdW5kYXRpb24tYWNjb3JkaW9uLW1lbnUge1xuXG4gIC5hY2NvcmRpb24tbWVudSB7XG4gICAgQGlmICRhY2NvcmRpb25tZW51LWJvcmRlciB7XG4gICAgICBib3JkZXItYm90dG9tOiAkYWNjb3JkaW9ubWVudS1ib3JkZXI7XG4gICAgfVxuXG4gICAgbGkge1xuICAgICAgQGlmICRhY2NvcmRpb25tZW51LWJvcmRlciB7XG4gICAgICAgIGJvcmRlci10b3A6ICRhY2NvcmRpb25tZW51LWJvcmRlcjtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAkYWNjb3JkaW9ubWVudS1ib3JkZXI7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAkYWNjb3JkaW9ubWVudS1ib3JkZXI7XG4gICAgICB9XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIEBpZiAkYWNjb3JkaW9ubWVudS1pdGVtLWJhY2tncm91bmQge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkYWNjb3JkaW9ubWVudS1pdGVtLWJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgICBwYWRkaW5nOiAkYWNjb3JkaW9ubWVudS1wYWRkaW5nO1xuICAgIH1cblxuICAgIC5pcy1hY2NvcmRpb24tc3VibWVudSBhIHtcbiAgICAgIHBhZGRpbmc6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtcGFkZGluZztcbiAgICB9XG5cbiAgICAubmVzdGVkLmlzLWFjY29yZGlvbi1zdWJtZW51IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkKCRhY2NvcmRpb25tZW51LW5lc3RlZC1tYXJnaW4pO1xuICAgIH1cblxuICAgICYuYWxpZ24tI3skZ2xvYmFsLXJpZ2h0fSB7XG4gICAgICAubmVzdGVkLmlzLWFjY29yZGlvbi1zdWJtZW51IHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQoJGFjY29yZGlvbm1lbnUtbmVzdGVkLW1hcmdpbiwgcmlnaHQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkYWNjb3JkaW9ubWVudS1hcnJvd3Mge1xuICAgICAgQGluY2x1ZGUgemYtYWNjb3JkaW9uLW1lbnUtbGVmdC1yaWdodC1hcnJvd3M7XG5cbiAgICAgIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnRbYXJpYS1leHBhbmRlZD0ndHJ1ZSddID4gYTo6YWZ0ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5pcy1hY2NvcmRpb24tc3VibWVudSBsaSB7XG4gICAgQGlmICRhY2NvcmRpb25tZW51LWJvcmRlciB7XG4gICAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgICBib3JkZXItbGVmdDogMDtcbiAgICB9XG4gIH1cblxuICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAuaGFzLXN1Ym1lbnUtdG9nZ2xlID4gYSB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoO1xuICB9XG5cbiAgLy8gU3VibWVudSB0b2dnbGVcbiAgLnN1Ym1lbnUtdG9nZ2xlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgICN7JGdsb2JhbC1yaWdodH06IDA7XG5cbiAgICB3aWR0aDogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGg7XG4gICAgaGVpZ2h0OiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1oZWlnaHQ7XG5cbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9OiAkYWNjb3JkaW9uLXN1Ym1lbnUtdG9nZ2xlLWJvcmRlcjtcblxuICAgIEBpZiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1iYWNrZ3JvdW5kIHtcbiAgICAgIGJhY2tncm91bmQ6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgLy8gQWRkIHRoZSBhcnJvdyB0byB0aGUgdG9nZ2xlXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRhY2NvcmRpb25tZW51LWFycm93LXNpemUsICRhY2NvcmRpb25tZW51LWFycm93LWNvbG9yLCBkb3duKTtcblxuICAgICAgdG9wOiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIC8vIFJvdGF0ZSB0aGUgYXJyb3cgd2hlbiBtZW51IGlzIG9wZW5cbiAgLnN1Ym1lbnUtdG9nZ2xlW2FyaWEtZXhwYW5kZWQ9J3RydWUnXTo6YWZ0ZXIge1xuICAgIHRyYW5zZm9ybTogc2NhbGVZKC0xKTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlO1xuICB9XG5cbiAgLnN1Ym1lbnUtdG9nZ2xlLXRleHQge1xuICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZHJpbGxkb3duXG4vLy8vXG5cbi8vLyBUcmFuc2l0aW9uIHByb3BlcnR5IHRvIHVzZSBmb3IgYW5pbWF0aW5nIG1lbnVzLlxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiRkcmlsbGRvd24tdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGxpbmVhciAhZGVmYXVsdDtcblxuLy8vIEFkZHMgYXJyb3dzIHRvIGRyaWxsZG93biBpdGVtcyB3aXRoIHN1Ym1lbnVzLCBhcyB3ZWxsIGFzIHRoZSBiYWNrIGJ1dHRvbi5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZHJpbGxkb3duLWFycm93czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJpbGxkb3duIG1lbnUgaXRlbSBwYWRkaW5nLlxuLy8vIEB0eXBlIE51bWJlclxuJGRyaWxsZG93bi1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJpbGxkb3duIG1lbnUgbmVzdGVkIG1hcmdpblxuLy8vIEB0eXBlIE51bWJlclxuJGRyaWxsZG93bi1uZXN0ZWQtbWFyZ2luOiAwICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgZHJpbGxkb3duIHRvcCBsZXZlbCBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRyaWxsZG93bi1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyaWxsZG93biBtZW51IGl0ZW0gcGFkZGluZyBpbiB0aGUgc3VibWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcmlsbGRvd24tc3VibWVudS1wYWRkaW5nOiAkZHJpbGxkb3duLXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBkcmlsbGRvd24gc3VibWVudXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcmlsbGRvd24tc3VibWVudS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyaWxsZG93biBhcnJvdyBjb2xvciBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJpbGxkb3duLWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJpbGxkb3duIGFycm93IHNpemUgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBMZW5ndGhcbiRkcmlsbGRvd24tYXJyb3ctc2l6ZTogNnB4ICFkZWZhdWx0O1xuXG5AbWl4aW4gemYtZHJpbGxkb3duLWxlZnQtcmlnaHQtYXJyb3dzIHtcbiAgLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJpbGxkb3duLWFycm93LXNpemUsICRkcmlsbGRvd24tYXJyb3ctY29sb3IsICRnbG9iYWwtcmlnaHQpO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBtYXJnaW4tdG9wOiAtMSAqICRkcmlsbGRvd24tYXJyb3ctc2l6ZTtcbiAgICAgICN7JGdsb2JhbC1yaWdodH06IDFyZW07XG4gICAgfVxuICB9XG5cbiAgJi5hbGlnbi1sZWZ0IC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgcmlnaHQpO1xuICAgIHJpZ2h0OiAxcmVtO1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cblxuICAmLmFsaWduLXJpZ2h0IC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgbGVmdCk7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMXJlbTtcbiAgfVxuXG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWRyaWxsZG93bi1tZW51IHtcbiAgLy8gQXBwbGllZCB0byB0aGUgTWVudSBjb250YWluZXJcbiAgLmlzLWRyaWxsZG93biB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICBsaSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAmLmFuaW1hdGUtaGVpZ2h0IHtcbiAgICAgIHRyYW5zaXRpb246IGhlaWdodCAwLjVzO1xuICAgIH1cbiAgfVxuXG4gIC8vIFRoZSB0b3AgbGV2ZWwgPHVsPlxuICAuZHJpbGxkb3duIHtcbiAgICBhIHtcbiAgICAgIHBhZGRpbmc6ICRkcmlsbGRvd24tcGFkZGluZztcbiAgICAgIGJhY2tncm91bmQ6ICRkcmlsbGRvd24tYmFja2dyb3VuZDtcbiAgICB9XG5cbiAgICAvLyBBcHBsaWVkIHRvIHN1Ym1lbnUgPHVsPnNcbiAgICAuaXMtZHJpbGxkb3duLXN1Ym1lbnUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgI3skZ2xvYmFsLWxlZnR9OiAxMDAlO1xuICAgICAgei1pbmRleDogLTE7XG5cbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgYmFja2dyb3VuZDogJGRyaWxsZG93bi1zdWJtZW51LWJhY2tncm91bmQ7XG4gICAgICB0cmFuc2l0aW9uOiAkZHJpbGxkb3duLXRyYW5zaXRpb247XG5cbiAgICAgICYuaXMtYWN0aXZlIHtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IGx0ciwgLTEwMCUsIDEwMCUpKTtcbiAgICAgIH1cblxuICAgICAgJi5pcy1jbG9zaW5nIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gbHRyLCAxMDAlLCAtMTAwJSkpO1xuICAgICAgfVxuXG4gICAgICAvLyBTdWJtZW51IGl0ZW0gcGFkZGluZ1xuICAgICAgYSB7XG4gICAgICAgIHBhZGRpbmc6ICRkcmlsbGRvd24tc3VibWVudS1wYWRkaW5nO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5uZXN0ZWQuaXMtZHJpbGxkb3duLXN1Ym1lbnUge1xuICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQoJGRyaWxsZG93bi1uZXN0ZWQtbWFyZ2luKTtcbiAgICB9XG5cbiAgICAuZHJpbGxkb3duLXN1Ym1lbnUtY292ZXItcHJldmlvdXMge1xuICAgICAgbWluLWhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICBAaWYgJGRyaWxsZG93bi1hcnJvd3Mge1xuICAgICAgQGluY2x1ZGUgemYtZHJpbGxkb3duLWxlZnQtcmlnaHQtYXJyb3dzO1xuXG4gICAgICAuanMtZHJpbGxkb3duLWJhY2sgPiBhOjpiZWZvcmUge1xuICAgICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyaWxsZG93bi1hcnJvdy1zaXplLCAkZHJpbGxkb3duLWFycm93LWNvbG9yLCAkZ2xvYmFsLWxlZnQpO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwLjc1cmVtOyAvLyBDcmVhdGVzIHNwYWNlIGJldHdlZW4gdGhlIGFycm93IGFuZCB0aGUgdGV4dFxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGRyb3Bkb3duLW1lbnVcbi8vLy9cblxuLy8vIEVuYWJsZXMgYXJyb3dzIGZvciBpdGVtcyB3aXRoIGRyb3Bkb3duIG1lbnVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRkcm9wZG93bm1lbnUtYXJyb3dzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcm9wZG93biBtZW51IGFycm93IGNvbG9yIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3I6ICRhbmNob3ItY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyb3Bkb3duIG1lbnUgYXJyb3cgc2l6ZSBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIExlbmd0aFxuJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplOiA2cHggIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyb3Bkb3duIG1lbnUgYXJyb3cgcGFkZGluZyBmb3IgYWxpZ25pbmcgdGhlIGFycm93IGNvcnJlY3RseS5cbi8vLyBAdHlwZSBMZW5ndGhcbiRkcm9wZG93bm1lbnUtYXJyb3ctcGFkZGluZzogMS41cmVtICFkZWZhdWx0O1xuXG4vLy8gTWluaW11bSB3aWR0aCBvZiBkcm9wZG93biBzdWItbWVudXMuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kZHJvcGRvd25tZW51LW1pbi13aWR0aDogMjAwcHggIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciB0b3AgbGV2ZWwgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bm1lbnUtYmFja2dyb3VuZDogbnVsbCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIGRyb3Bkb3ducy5cbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3dubWVudS1zdWJtZW51LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZm9yIHRvcCBsZXZlbCBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcm9wZG93bm1lbnUtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyb3Bkb3duIG1lbnUgbmVzdGVkIG1hcmdpblxuLy8vIEB0eXBlIE51bWJlclxuJGRyb3Bkb3dubWVudS1uZXN0ZWQtbWFyZ2luOiAwICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBmb3Igc3ViLW1lbnUgaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcGRvd25tZW51LXN1Ym1lbnUtcGFkZGluZzogJGRyb3Bkb3dubWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGZvciBkcm9wZG93biBzdWItbWVudXMuXG4vLy8gQHR5cGUgTGlzdFxuJGRyb3Bkb3dubWVudS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vIEJvcmRlciB3aWR0aCBmb3IgZHJvcGRvd24gc3ViLW1lbnVzLlxuLy8gVXNlZCB0byBhZGp1c3QgdG9wIG1hcmdpbiBvZiBhIHN1Yi1tZW51IGlmIGEgYm9yZGVyIGlzIHVzZWQuXG4vLyBAdHlwZSBMZW5ndGhcbiRkcm9wZG93bm1lbnUtYm9yZGVyLXdpZHRoOiBudGgoJGRyb3Bkb3dubWVudS1ib3JkZXIsIDEpO1xuXG4vLy8gVGV4dCBjb2xvciBvZiBhbiBhY3RpdmUgZHJvcGRvd24gbWVudSBpdGVtLiBFeHBsaWNpdCBvdmVycmlkZSBmb3IgbWVudSBkZWZhdWx0c1xuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd24tbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTogZ2V0LWNvbG9yKHByaW1hcnkpICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhbiBhY3RpdmUgZHJvcGRvd24gbWVudSBpdGVtLiBFeHBsaWNpdCBvdmVycmlkZSBmb3IgbWVudSBkZWZhdWx0c1xuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd24tbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuQG1peGluIHpmLWRyb3Bkb3duLWxlZnQtcmlnaHQtYXJyb3dzIHtcbiAgPiBhOjphZnRlciB7XG4gICAgI3skZ2xvYmFsLXJpZ2h0fTogMTRweDtcbiAgfVxuXG4gICYub3BlbnMtbGVmdCA+IGE6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplLCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCBsZWZ0KTtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiA1cHg7XG4gIH1cblxuICAmLm9wZW5zLXJpZ2h0ID4gYTo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJvcGRvd25tZW51LWFycm93LXNpemUsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIHJpZ2h0KTtcbiAgfVxufVxuXG5AbWl4aW4gZHJvcGRvd24tbWVudS1kaXJlY3Rpb24oJGRpcjogaG9yaXpvbnRhbCkge1xuICBAaWYgJGRpciA9PSBob3Jpem9udGFsIHtcbiAgICA+IGxpLm9wZW5zLWxlZnQgeyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICAgID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgID4gbGkub3BlbnMtcmlnaHQgeyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICAgID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkZHJvcGRvd25tZW51LWFycm93cyB7XG4gICAgICA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHBhZGRpbmctI3skZ2xvYmFsLXJpZ2h0fTogJGRyb3Bkb3dubWVudS1hcnJvdy1wYWRkaW5nO1xuICAgICAgfVxuXG4gICAgICA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIgeyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgZG93bik7XG4gICAgICAgICN7JGdsb2JhbC1yaWdodH06IDVweDtcbiAgICAgICAgI3skZ2xvYmFsLWxlZnR9OiBhdXRvO1xuICAgICAgICBtYXJnaW4tdG9wOiAtMSAqICgkZHJvcGRvd25tZW51LWFycm93LXNpemUgKiAwLjUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkZGlyID09IHZlcnRpY2FsIHtcbiAgICA+IGxpIHtcbiAgICAgIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgfVxuXG4gICAgICAmLm9wZW5zLWxlZnQge1xuICAgICAgICA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLm9wZW5zLXJpZ2h0IHtcbiAgICAgICAgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgICAgbGVmdDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaWYgJGRyb3Bkb3dubWVudS1hcnJvd3Mge1xuICAgICAgICBAaW5jbHVkZSB6Zi1kcm9wZG93bi1sZWZ0LXJpZ2h0LWFycm93cztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEB3YXJuICdUaGUgZGlyZWN0aW9uIHVzZWQgZm9yIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKCkgbXVzdCBiZSBob3Jpem9udGFsIG9yIHZlcnRpY2FsLic7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZHJvcGRvd24tbWVudSB7XG4gIC5kcm9wZG93bi5tZW51IHtcbiAgICBAaW5jbHVkZSBkcm9wZG93bi1tZW51LWRpcmVjdGlvbihob3Jpem9udGFsKTtcblxuICAgIGEge1xuICAgICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICAgIH1cblxuICAgIC8vIFRvcC1sZXZlbCBpdGVtXG4gICAgPiBsaSA+IGEge1xuICAgICAgYmFja2dyb3VuZDogJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kO1xuICAgICAgcGFkZGluZzogJGRyb3Bkb3dubWVudS1wYWRkaW5nO1xuICAgIH1cblxuICAgIC8vIFRvcC1sZXZlbCBpdGVtIGFjdGl2ZSBzdGF0ZVxuICAgID4gbGkuaXMtYWN0aXZlID4gYSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkZHJvcGRvd24tbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlO1xuICAgICAgY29sb3I6ICRkcm9wZG93bi1tZW51LWl0ZW0tY29sb3ItYWN0aXZlO1xuICAgIH1cblxuICAgIC5uby1qcyAmIHVsIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLm5lc3RlZC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkKCRkcm9wZG93bm1lbnUtbmVzdGVkLW1hcmdpbik7XG4gICAgfVxuXG4gICAgJi52ZXJ0aWNhbCB7XG4gICAgICBAaW5jbHVkZSBkcm9wZG93bi1tZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgfVxuXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgICAgJi4jeyRzaXplfS1ob3Jpem9udGFsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICYuI3skc2l6ZX0tdmVydGljYWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYuYWxpZ24tcmlnaHQge1xuICAgICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUuZmlyc3Qtc3ViIHtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaXMtZHJvcGRvd24tbWVudS52ZXJ0aWNhbCB7XG4gICAgd2lkdGg6IDEwMHB4O1xuXG4gICAgJi5hbGlnbi1yaWdodCB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBhOjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgICN7JGdsb2JhbC1yaWdodH06IDVweDtcbiAgICAgICN7JGdsb2JhbC1sZWZ0fTogYXV0bztcbiAgICAgIG1hcmdpbi10b3A6IC0xICogJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplO1xuICAgIH1cblxuICAgICYub3BlbnMtaW5uZXIgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG5cbiAgICAgIHRvcDogMTAwJTtcbiAgICAgIEBpZiAkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09ICdydGwnIHtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgIH1cblxuICAgICYub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICByaWdodDogYXV0bztcbiAgICAgIGxlZnQ6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAxMDAlO1xuICAgIHotaW5kZXg6IDE7XG5cbiAgICBkaXNwbGF5OiBub25lO1xuICAgIG1pbi13aWR0aDogJGRyb3Bkb3dubWVudS1taW4td2lkdGg7XG5cbiAgICBib3JkZXI6ICRkcm9wZG93bm1lbnUtYm9yZGVyO1xuICAgIGJhY2tncm91bmQ6ICRkcm9wZG93bm1lbnUtc3VibWVudS1iYWNrZ3JvdW5kO1xuXG4gICAgLmRyb3Bkb3duICYgYSB7XG4gICAgICBwYWRkaW5nOiAkZHJvcGRvd25tZW51LXN1Ym1lbnUtcGFkZGluZztcbiAgICB9XG5cbiAgICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xuICAgICAgQGlmICRkcm9wZG93bm1lbnUtYXJyb3dzIHtcbiAgICAgICAgQGluY2x1ZGUgemYtZHJvcGRvd24tbGVmdC1yaWdodC1hcnJvd3M7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICh0eXBlLW9mKCRkcm9wZG93bm1lbnUtYm9yZGVyLXdpZHRoKSA9PSAnbnVtYmVyJykge1xuICAgICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICBtYXJnaW4tdG9wOiAoLSRkcm9wZG93bm1lbnUtYm9yZGVyLXdpZHRoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IGxpIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC8vIFtUT0RPXSBDdXQgYmFjayBzcGVjaWZpY2l0eVxuICAgIC8vJjpub3QoLmpzLWRyb3Bkb3duLW5vaG92ZXIpID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50OmhvdmVyID4gJiwgLy8gd2h5IGlzIHRoaXMgbGluZSBuZWVkZWQ/IE9wZW5pbmcgaXMgaGFuZGxlZCBieSBKUyBhbmQgdGhpcyBjYXVzZXMgc29tZSB1Z2x5IGZsaWNrZXJpbmcgd2hlbiB0aGUgc3ViIGlzIHJlLXBvc2l0aW9uZWQgYXV0b21hdGljYWxseS4uLlxuICAgICYuanMtZHJvcGRvd24tYWN0aXZlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIG9mZi1jYW52YXNcbi8vLy9cblxuLy8vIFdpZHRoIG1hcCBvZiBhIGxlZnQvcmlnaHQgb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBNYXBcbiRvZmZjYW52YXMtc2l6ZXM6IChcbiAgc21hbGw6IDI1MHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vIEhlaWdodCBtYXAgb2YgYSB0b3AvYm90dG9tIG9mZi1jYW52YXMgcGFuZWwuXG4vLy8gQHR5cGUgTWFwXG4kb2ZmY2FudmFzLXZlcnRpY2FsLXNpemVzOiAoXG4gIHNtYWxsOiAyNTBweCxcbikgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGFuIG9mZi1jYW52YXMgcGFuZWwuXG4vLy8gQHR5cGUgQ29sb3JcbiRvZmZjYW52YXMtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IGZvciB0aGUgb2ZmLWNhbnZhcyBvdmVybGFwIHBhbmVsLlxuLy8vIEB0eXBlIFNoYWRvd1xuJG9mZmNhbnZhcy1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoJGJsYWNrLCAwLjcpICFkZWZhdWx0O1xuXG4vLy8gSW5uZXIgYm94IHNoYWRvdyBzaXplIGZvciB0aGUgb2ZmLWNhbnZhcyBwdXNoIHBhbmVsLlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZTogMjBweCAhZGVmYXVsdDtcblxuLy8vIElubmVyIGJveCBzaGFkb3cgY29sb3IgZm9yIHRoZSBvZmYtY2FudmFzIHB1c2ggcGFuZWwuXG4vLy8gQHR5cGUgQ29sb3JcbiRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yOiByZ2JhKCRibGFjaywgMC4yNSkgIWRlZmF1bHQ7XG5cbi8vLyBaLWluZGV4IG9mIGFuIG9mZi1jYW52YXMgY29udGVudCBvdmVybGF5LlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleDogMTEgIWRlZmF1bHQ7XG5cbi8vLyBaLWluZGV4IG9mIGFuIG9mZi1jYW52YXMgcGFuZWwgd2l0aCB0aGUgYHB1c2hgIHRyYW5zaXRpb24uXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLXB1c2gtemluZGV4OiAxMiAhZGVmYXVsdDtcblxuLy8vIFotaW5kZXggb2YgYW4gb2ZmLWNhbnZhcyBwYW5lbCB3aXRoIHRoZSBgb3ZlcmxhcGAgdHJhbnNpdGlvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtb3ZlcmxhcC16aW5kZXg6IDEzICFkZWZhdWx0O1xuXG4vLy8gWi1pbmRleCBvZiBhbiBvZmYtY2FudmFzIHBhbmVsIHVzaW5nIHRoZSBgcmV2ZWFsLWZvci0qYCBjbGFzc2VzIG9yIG1peGluLlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4OiAxMiAhZGVmYXVsdDtcblxuLy8vIExlbmd0aCBvZiB0aGUgYW5pbWF0aW9uIG9uIGFuIG9mZi1jYW52YXMgcGFuZWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoOiAwLjVzICFkZWZhdWx0O1xuXG4vLy8gVGltaW5nIGZ1bmN0aW9uIG9mIHRoZSBhbmltYXRpb24gb24gYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nOiBlYXNlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBhIHJldmVhbGVkIG9mZi1jYW52YXMgd2lsbCBiZSBmaXhlZC1wb3NpdGlvbiwgYW5kIHNjcm9sbCB3aXRoIHRoZSBzY3JlZW4uXG4vLy8gQHR5cGUgQm9vbFxuJG9mZmNhbnZhcy1maXhlZC1yZXZlYWw6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgb3ZlcmxheSB0aGF0IGFwcGVhcnMgd2hlbiBhbiBvZmYtY2FudmFzIHBhbmVsIGlzIG9wZW4uXG4vLy8gQHR5cGUgQ29sb3JcbiRvZmZjYW52YXMtZXhpdC1iYWNrZ3JvdW5kOiByZ2JhKCR3aGl0ZSwgMC4yNSkgIWRlZmF1bHQ7XG5cbi8vLyBDU1MgY2xhc3MgdXNlZCBmb3IgdGhlIG1haW4gY29udGVudCBhcmVhLiBUaGUgb2ZmLWNhbnZhcyBtaXhpbnMgdXNlIHRoaXMgdG8gdGFyZ2V0IHRoZSBwYWdlIGNvbnRlbnQuXG4kbWFpbmNvbnRlbnQtY2xhc3M6ICdvZmYtY2FudmFzLWNvbnRlbnQnICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBiYXNlbGluZSBzdHlsZXMgZm9yIG9mZi1jYW52YXMuIFRoaXMgQ1NTIGlzIHJlcXVpcmVkIHRvIG1ha2UgdGhlIG90aGVyIHBpZWNlcyB3b3JrLlxuQG1peGluIG9mZi1jYW52YXMtYmFzaWNzIHtcblxuICAvLy8gVHJhbnNmb3JtIGRlcHJlY2F0ZWQgc2l6ZSBzZXR0aW5ncyBpbnRvIG1hcCAmIHNob3cgd2FybmluZ1xuICBAaWYgdmFyaWFibGUtZXhpc3RzKG9mZmNhbnZhcy1zaXplKSB7XG4gICAgJG9mZmNhbnZhcy1zaXplczogKHNtYWxsOiAkb2ZmY2FudmFzLXNpemUsIG1lZGl1bTogJG9mZmNhbnZhcy1zaXplKSAhZ2xvYmFsO1xuICAgIEB3YXJuICckb2ZmY2FudmFzLXNpemUgaXMgZGVwcmVjYXRlZCBhbmQgbm90IHVzZWQgYW55bW9yZSEgUGxlYXNlIHVwZGF0ZSB5b3VyIHNldHRpbmdzIGFuZCB1c2UgdGhlIG1hcCAkb2ZmY2FudmFzLXNpemVzIGluc3RlYWQnO1xuICB9XG4gIEBpZiB2YXJpYWJsZS1leGlzdHMob2ZmY2FudmFzLXZlcnRpY2FsLXNpemUpIHtcbiAgICAkb2ZmY2FudmFzLXZlcnRpY2FsLXNpemVzOiAoc21hbGw6ICRvZmZjYW52YXMtdmVydGljYWwtc2l6ZSwgbWVkaXVtOiAkb2ZmY2FudmFzLXZlcnRpY2FsLXNpemUpICFnbG9iYWw7XG4gICAgQHdhcm4gJyRvZmZjYW52YXMtdmVydGljYWwtc2l6ZSBpcyBkZXByZWNhdGVkIGFuZCBub3QgdXNlZCBhbnltb3JlISBQbGVhc2UgdXBkYXRlIHlvdXIgc2V0dGluZ3MgYW5kIHVzZSB0aGUgbWFwICRvZmZjYW52YXMtdmVydGljYWwtc2l6ZXMgaW5zdGVhZCc7XG4gIH1cblxuICAvLyBDaGVja3MgdGhlIHotaW5kZXhlcyBhbmQgaW5jcmVhc2UgdGhlbSBkdWUgdG8gYmFja3dhcmRzIGNvbXBhdGliaWxpdHkuXG4gIC8vIFRoaXMgaXMgbmVjZXNzYXJ5IGJlY2F1c2UgdGhlIG92ZXJsYXkncyB6LWluZGV4IGlzIG5ldyBzaW5jZSB2Ni40IGFuZCBtYXkgYmUgaWRlbnRpY2FsIHRvIHRoZSB1c2VyIGN1c3RvbSBzZXR0aW5ncyBvZiB0aGUgcHVzaCB6LWluZGV4LlxuICBAaWYgJG9mZmNhbnZhcy1wdXNoLXppbmRleCA8PSAkb2ZmY2FudmFzLW92ZXJsYXktemluZGV4IHsgJG9mZmNhbnZhcy1wdXNoLXppbmRleDogJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleCArIDEgIWdsb2JhbDsgfVxuICBAaWYgJG9mZmNhbnZhcy1vdmVybGFwLXppbmRleCA8PSAkb2ZmY2FudmFzLXB1c2gtemluZGV4IHsgJG9mZmNhbnZhcy1vdmVybGFwLXppbmRleDogJG9mZmNhbnZhcy1wdXNoLXppbmRleCArIDEgIWdsb2JhbDsgfVxuICBAaWYgJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4IDw9ICRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXggeyAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXg6ICRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXggKyAxICFnbG9iYWw7IH1cblxuICAvLyBIaWRlcyBvdmVyZmxvdyBvbiBib2R5IHdoZW4gYW4gb2ZmLWNhbnZhcyBwYW5lbCBpcyBvcGVuLlxuICAuaXMtb2ZmLWNhbnZhcy1vcGVuIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG5cbiAgLy8gT2ZmLWNhbnZhcyBvdmVybGF5IChnZW5lcmF0ZWQgYnkgSmF2YVNjcmlwdClcbiAgLmpzLW9mZi1jYW52YXMtb3ZlcmxheSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6ICRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXg7XG5cbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGggJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZywgdmlzaWJpbGl0eSAkb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoICRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc7XG5cbiAgICBiYWNrZ3JvdW5kOiAkb2ZmY2FudmFzLWV4aXQtYmFja2dyb3VuZDtcblxuICAgIG9wYWNpdHk6IDA7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICYuaXMtdmlzaWJsZSB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICB9XG5cbiAgICAmLmlzLWNsb3NhYmxlIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG5cbiAgICAmLmlzLW92ZXJsYXktYWJzb2x1dGUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIH1cblxuICAgICYuaXMtb3ZlcmxheS1maXhlZCB7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgfVxuICB9XG59XG5cbi8vIEFkZHMgYmFzaWMgc3R5bGVzIGZvciBhbiBvZmYtY2FudmFzIHdyYXBwZXIuXG5AbWl4aW4gb2ZmLWNhbnZhcy13cmFwcGVyKCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8vLyBBZGRzIGJhc2ljIHN0eWxlcyBmb3IgYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbkBtaXhpbiBvZmYtY2FudmFzLWJhc2UoXG4gICRiYWNrZ3JvdW5kOiAkb2ZmY2FudmFzLWJhY2tncm91bmQsXG4gICR0cmFuc2l0aW9uOiAkb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoICRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmcsXG4gICRmaXhlZDogdHJ1ZVxuKSB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcblxuICBAaWYgJGZpeGVkID09IHRydWUge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgfVxuICBAZWxzZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICB9XG5cbiAgLy8gU2V0IHRoZSBvZmYtY2FudmFzIHotaW5kZXguXG4gIHotaW5kZXg6ICRvZmZjYW52YXMtcHVzaC16aW5kZXg7XG5cbiAgLy8gSW5jcmVhc2UgQ1NTIHNwZWNpZmljaXR5XG4gICYuaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB6LWluZGV4OiAkb2ZmY2FudmFzLXB1c2gtemluZGV4O1xuICB9XG5cbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICR0cmFuc2l0aW9uO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG5cbiAgLy8gSGlkZSBpbmFjdGl2ZSBvZmYtY2FudmFzIHdpdGhpbiB0aGUgY29udGVudCB0aGF0IGhhdmUgdGhlIHNhbWUgcG9zaXRpb25cbiAgJi5pcy1jbG9zZWQge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gIC8vIE92ZXJsYXAgb25seSBzdHlsZXMuXG4gICYuaXMtdHJhbnNpdGlvbi1vdmVybGFwIHtcbiAgICB6LWluZGV4OiAkb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4O1xuXG4gICAgJi5pcy1vcGVuIHtcbiAgICAgIGJveC1zaGFkb3c6ICRvZmZjYW52YXMtc2hhZG93O1xuICAgIH1cbiAgfVxuXG4gIC8vIFNldHMgdHJhbnNmb3JtIHRvIDAgdG8gc2hvdyBhbiBvZmYtY2FudmFzIHBhbmVsLlxuICAmLmlzLW9wZW4ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyB0byBwb3NpdGlvbiBhbiBvZmYtY2FudmFzIHBhbmVsIHRvIHRoZSBsZWZ0L3JpZ2h0L3RvcC9ib3R0b20uXG5AbWl4aW4gb2ZmLWNhbnZhcy1wb3NpdGlvbihcbiAgJHBvc2l0aW9uOiBsZWZ0LFxuICAkb3JpZW50YXRpb246IGhvcml6b250YWwsXG4gICRzaXplczogaWYoJG9yaWVudGF0aW9uID09IGhvcml6b250YWwsICRvZmZjYW52YXMtc2l6ZXMsICRvZmZjYW52YXMtdmVydGljYWwtc2l6ZXMpXG4pIHtcbiAgQGlmICRwb3NpdGlvbiA9PSBsZWZ0IHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG5cbiAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgd2lkdGg6ICRzaXplO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLSRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBwb3NpdGlvbiBmb3IgbmVzdGVkIG9mZi1jYW52YXMgZWxlbWVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30gLm9mZi1jYW52YXMucG9zaXRpb24tI3skcG9zaXRpb259IHtcblxuICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLSRzaXplKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIG9wZW4gcG9zaXRpb24gZm9yIHRoZSBjb250ZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfS5pcy1vcGVuLSN7JHBvc2l0aW9ufSB7XG4gICAgICAmLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJHNpemUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gcmlnaHQge1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG5cbiAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgd2lkdGg6ICRzaXplO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJHNpemUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIHBvc2l0aW9uIGZvciBuZXN0ZWQgb2ZmLWNhbnZhcyBlbGVtZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfSAub2ZmLWNhbnZhcy5wb3NpdGlvbi0jeyRwb3NpdGlvbn0ge1xuXG4gICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgkc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBvcGVuIHBvc2l0aW9uIGZvciB0aGUgY29udGVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30uaXMtb3Blbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgJi5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kc2l6ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSB0b3Age1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuXG4gICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIGhlaWdodDogJHNpemU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtJHNpemUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIHBvc2l0aW9uIGZvciBuZXN0ZWQgb2ZmLWNhbnZhcyBlbGVtZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfSAub2ZmLWNhbnZhcy5wb3NpdGlvbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSRzaXplKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIG9wZW4gcG9zaXRpb24gZm9yIHRoZSBjb250ZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfS5pcy1vcGVuLSN7JHBvc2l0aW9ufSB7XG4gICAgICAmLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJHNpemUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gYm90dG9tIHtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcblxuICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICBoZWlnaHQ6ICRzaXplO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJHNpemUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIHBvc2l0aW9uIGZvciBuZXN0ZWQgb2ZmLWNhbnZhcyBlbGVtZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfSAub2ZmLWNhbnZhcy5wb3NpdGlvbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJHNpemUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgb3BlbiBwb3NpdGlvbiBmb3IgdGhlIGNvbnRlbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9LmlzLW9wZW4tI3skcG9zaXRpb259IHtcbiAgICAgICYuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtJHNpemUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIElmICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUgaXMgc2V0LCBhZGQgaW5uZXIgYm94LXNoYWRvdy5cbiAgLy8gVGhpcyBtaW1pY3MgdGhlIG9mZi1jYW52YXMgcGFuZWwgaGF2aW5nIGEgbG93ZXIgei1pbmRleCwgd2l0aG91dCBoYXZpbmcgdG8gaGF2ZSBvbmUuXG4gIEBpZiAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplIHtcbiAgICAmLmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgICBAaWYgJHBvc2l0aW9uID09IGxlZnQge1xuICAgICAgICBAaW5jbHVkZSBpbm5lci1zaWRlLXNoYWRvdyhyaWdodCwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZSwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3IpO1xuICAgICAgfVxuICAgICAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHJpZ2h0IHtcbiAgICAgICAgQGluY2x1ZGUgaW5uZXItc2lkZS1zaGFkb3cobGVmdCwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZSwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3IpO1xuICAgICAgfVxuICAgICAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHRvcCB7XG4gICAgICAgIEBpbmNsdWRlIGlubmVyLXNpZGUtc2hhZG93KGJvdHRvbSwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZSwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3IpO1xuICAgICAgfVxuICAgICAgQGVsc2UgaWYgJHBvc2l0aW9uID09IGJvdHRvbSB7XG4gICAgICAgIEBpbmNsdWRlIGlubmVyLXNpZGUtc2hhZG93KHRvcCwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZSwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3IpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG59XG5cbi8vLyBTZXRzIHRoZSBzdHlsZXMgZm9yIHRoZSBjb250ZW50IGNvbnRhaW5lci5cbkBtaXhpbiBvZmYtY2FudmFzLWNvbnRlbnQoKSB7XG4gIHRyYW5zZm9ybTogbm9uZTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gIC8vIEJpbmQgdG8gaGFzLXRyYW5zaXRpb24tWCBjbGFzcyB0byBwcmV2ZW50IHRyYW5zaXRpb24gZm9yIHRyYW5zZm9ybTpub25lXG4gICYuaGFzLXRyYW5zaXRpb24tb3ZlcmxhcCxcbiAgJi5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aCAkb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nO1xuICB9XG5cbiAgLy8gVHJhbnNmb3JtIHNjb3BlIHVudGlsIHRoZSBlbGVtZW50IGlzIGNsb3NlZCAobWFrZXMgc3VyZSB0cmFuc2l0aW9uZW5kIGdldHMgdHJpZ2dlcmVkKVxuICAmLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICB9XG5cbiAgLy8gQ29uc2lkZXIgZWxlbWVudCAmIGNvbnRlbnQsIG5lc3RlZCBpbiBhbm90aGVyIGNvbnRlbnRcbiAgLm9mZi1jYW52YXMuaXMtb3BlbiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIHRoYXQgcmV2ZWFsIGFuIG9mZi1jYW52YXMgcGFuZWwuXG5AbWl4aW4gb2ZmLWNhbnZhcy1yZXZlYWwoXG4gICRwb3NpdGlvbjogbGVmdCxcbiAgJHppbmRleDogJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4LFxuICAkY29udGVudDogJG1haW5jb250ZW50LWNsYXNzLFxuICAkYnJlYWtwb2ludDogc21hbGxcbikge1xuICB0cmFuc2Zvcm06IG5vbmU7XG4gIHotaW5kZXg6ICR6aW5kZXg7XG4gIHRyYW5zaXRpb246IG5vbmU7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG5cbiAgQGlmIG5vdCAkb2ZmY2FudmFzLWZpeGVkLXJldmVhbCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICB9XG5cbiAgLmNsb3NlLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC8vIENvbnNpZGVyIHJldmVhbGVkIGVsZW1lbnQgaXMgbmVzdGVkIGluIGNvbnRlbnRcbiAgLiN7JG1haW5jb250ZW50LWNsYXNzfSAmIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cblxuICBAYXQtcm9vdCAuI3skY29udGVudH0uaGFzLXJldmVhbC0jeyRwb3NpdGlvbn0ge1xuICAgIG1hcmdpbi0jeyRwb3NpdGlvbn06IC16Zi1nZXQtYnAtdmFsKCRvZmZjYW52YXMtc2l6ZXMsICRicmVha3BvaW50KTtcbiAgfVxuXG4gIC8vIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5IChwcmlvciB0byB2Ni40KVxuICAmIH4gLiN7JGNvbnRlbnR9IHtcbiAgICBtYXJnaW4tI3skcG9zaXRpb259OiAtemYtZ2V0LWJwLXZhbCgkb2ZmY2FudmFzLXNpemVzLCAkYnJlYWtwb2ludCk7XG4gIH1cbn1cblxuLy8vIE92ZXJyaWRlcyB0aGUgb2ZmLWNhbnZhcyBzdHlsZXNcbkBtaXhpbiBpbi1jYW52YXMoKSB7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIGhlaWdodDogYXV0bztcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgd2lkdGg6IGF1dG87XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICB0cmFuc2l0aW9uOiBub25lO1xuXG4gIC8vIEluY3JlYXNlIENTUyBzcGVjaWZpY2l0eVxuICAmLnBvc2l0aW9uLWxlZnQsXG4gICYucG9zaXRpb24tcmlnaHQsXG4gICYucG9zaXRpb24tdG9wLFxuICAmLnBvc2l0aW9uLWJvdHRvbSB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cblxuICAuY2xvc2UtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLW9mZi1jYW52YXMge1xuICBAaW5jbHVkZSBvZmYtY2FudmFzLWJhc2ljcztcblxuICAvLyBPZmYtY2FudmFzIHdyYXBwZXJcbiAgLm9mZi1jYW52YXMtd3JhcHBlciB7XG4gICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy13cmFwcGVyO1xuICB9XG5cbiAgLy8gT2ZmLWNhbnZhcyBjb250YWluZXJcbiAgLm9mZi1jYW52YXMge1xuICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtYmFzZTtcblxuICAgIC8vIEZvcmNlIHBvc2l0aW9uIGFic29sdXRlIGZvciBuZXN0ZWQgb2ZmLWNhbnZhcyBiZWNhdXNlIGZpeGVkIGRvZXNuJ3Qgd29yayBmb3IgcHVzaCB0cmFuc2l0aW9uIHdpdGhpbiB0aGUgdHJhbnNmb3JtIHNjb3BlLlxuICAgIC8vIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30gJiB7XG4gICAgLy8gICAvLyBOT1RFOiBzaW5jZSBvdmVybGFwIHRyYW5zaXRpb24gaXMgY3VycmVudGx5IGZvcmNlZCBpZiBuZXN0ZWQsIHRoZXJlJ3Mgbm8gbmVlZCB0byBmb3JjZSBwb3NpdGlvbiBhYnNvbHV0ZSB1bnRpbCBuZXN0ZWQgcHVzaCB0cmFuc2l0aW9uIGlzIHN1cHBvcnRlZC5cbiAgICAvLyAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAvLyB9XG4gIH1cblxuICAvLyBPZmYtY2FudmFzIGNvbnRhaW5lciB3aXRoIGFic29sdXRlIHBvc2l0aW9uXG4gIC5vZmYtY2FudmFzLWFic29sdXRlIHtcbiAgICBAaW5jbHVkZSBvZmYtY2FudmFzLWJhc2UoJGZpeGVkOiBmYWxzZSk7XG4gIH1cblxuICAvLyBPZmYtY2FudmFzIHBvc2l0aW9uIGNsYXNzZXNcbiAgLnBvc2l0aW9uLWxlZnQgICAgeyBAaW5jbHVkZSBvZmYtY2FudmFzLXBvc2l0aW9uKGxlZnQsICAgaG9yaXpvbnRhbCk7IH1cbiAgLnBvc2l0aW9uLXJpZ2h0ICAgeyBAaW5jbHVkZSBvZmYtY2FudmFzLXBvc2l0aW9uKHJpZ2h0LCAgaG9yaXpvbnRhbCk7IH1cbiAgLnBvc2l0aW9uLXRvcCAgICAgeyBAaW5jbHVkZSBvZmYtY2FudmFzLXBvc2l0aW9uKHRvcCwgICAgdmVydGljYWwpOyB9XG4gIC5wb3NpdGlvbi1ib3R0b20gIHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy1wb3NpdGlvbihib3R0b20sIHZlcnRpY2FsKTsgfVxuXG4gIC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtY29udGVudDtcbiAgfVxuXG4gIC8vIFJldmVhbCBvZmYtY2FudmFzIHBhbmVsIG9uIGxhcmdlciBzY3JlZW5zXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGlmICRuYW1lICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci0jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1yZXZlYWwobGVmdCwgJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4LCAkbWFpbmNvbnRlbnQtY2xhc3MsICRuYW1lKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXJldmVhbChyaWdodCwgJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4LCAkbWFpbmNvbnRlbnQtY2xhc3MsICRuYW1lKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci0jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1yZXZlYWwodG9wLCAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXgsICRtYWluY29udGVudC1jbGFzcywgJG5hbWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXJldmVhbChib3R0b20sICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleCwgJG1haW5jb250ZW50LWNsYXNzLCAkbmFtZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBNb3ZlIGluLWNhbnZhcyBmb3IgbGFyZ2VyIHNjcmVlbnNcbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaWYgJG5hbWUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBpbi1jYW52YXM7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRpdGxlLWJhclxuLy8vL1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRpdGxlYmFyLWJhY2tncm91bmQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRleHQgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGl0bGViYXItY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIExlbmd0aFxuJHRpdGxlYmFyLXBhZGRpbmc6IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIHRleHQgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIFdlaWdodFxuJHRpdGxlYmFyLXRleHQtZm9udC13ZWlnaHQ6IGJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBtZW51IGljb25zIGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRpdGxlYmFyLWljb24tY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIG1lbnUgaWNvbnMgaW5zaWRlIGEgdGl0bGUgYmFyIG9uIGhvdmVyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGl0bGViYXItaWNvbi1jb2xvci1ob3ZlcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBiZXR3ZWVuIHRoZSBtZW51IGljb24gYW5kIHRleHQgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIExlbmd0aFxuJHRpdGxlYmFyLWljb24tc3BhY2luZzogMC4yNXJlbSAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tdGl0bGUtYmFyIHtcbiAgLnRpdGxlLWJhciB7XG4gICAgcGFkZGluZzogJHRpdGxlYmFyLXBhZGRpbmc7XG4gICAgYmFja2dyb3VuZDogJHRpdGxlYmFyLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICR0aXRsZWJhci1jb2xvcjtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIH1cblxuICAgIC5tZW51LWljb24ge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJHRpdGxlYmFyLWljb24tc3BhY2luZztcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkdGl0bGViYXItaWNvbi1zcGFjaW5nO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIC50aXRsZS1iYXItbGVmdCxcbiAgICAudGl0bGUtYmFyLXJpZ2h0IHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgfVxuXG4gICAgLnRpdGxlLWJhci1yaWdodCB7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC50aXRsZS1iYXItbGVmdCB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG5cbiAgICAudGl0bGUtYmFyLXJpZ2h0IHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC50aXRsZS1iYXItdGl0bGUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIGZvbnQtd2VpZ2h0OiAkdGl0bGViYXItdGV4dC1mb250LXdlaWdodDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIEZsZXhib3ggVXRpbGl0aWVzXG4vLy8vXG4vL1xuLy8vIERlZmF1bHQgdmFsdWUgZm9yIHRoZSBjb3VudCBvZiBzb3VyY2Ugb3JkZXJpbmdgXG4vLy8gQHR5cGUgTnVtYmVyXG4kZmxleC1zb3VyY2Utb3JkZXJpbmctY291bnQ6IDYgIWRlZmF1bHQ7XG5cbi8vLyBRdWlja2x5IGRpc2FibGUvZW5hYmxlIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIFZhbmlsbGEgRmxleCBIZWxwZXJzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRmbGV4Ym94LXJlc3BvbnNpdmUtYnJlYWtwb2ludHM6IHRydWUgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmbGV4LWhlbHBlcnMge1xuICAuZmxleC1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIGZsZXg7XG4gIH1cblxuICAuZmxleC1jaGlsZC1hdXRvIHtcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgfVxuXG4gIC5mbGV4LWNoaWxkLWdyb3cge1xuICAgIGZsZXg6IDEgMCBhdXRvO1xuICB9XG5cbiAgLmZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgfVxuXG4gIEBlYWNoICRkaXIsICRwcm9wIGluICQtemYtZmxleC1kaXJlY3Rpb24ge1xuICAgIC5mbGV4LWRpci0jeyRkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKCRwcm9wKTtcbiAgICB9XG4gIH1cblxuICBAaWYgKCRmbGV4Ym94LXJlc3BvbnNpdmUtYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWNvbnRhaW5lciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmbGV4O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWNoaWxkLWF1dG8ge1xuICAgICAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLiN7JHNpemV9LWZsZXgtY2hpbGQtZ3JvdyB7XG4gICAgICAgICAgICBmbGV4OiAxIDAgYXV0bztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tZmxleC1jaGlsZC1zaHJpbmsge1xuICAgICAgICAgICAgZmxleDogMCAxIGF1dG87XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGVhY2ggJGRpciwgJHByb3AgaW4gJC16Zi1mbGV4LWRpcmVjdGlvbiB7XG4gICAgICAgICAgICAuI3skc2l6ZX0tZmxleC1kaXItI3skZGlyfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKCRwcm9wKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZmxleC1jbGFzc2VzIHtcbiAgLy8gSG9yaXpvbnRhbCBhbGlnbm1lbnQgdXNpbmcganVzdGlmeS1jb250ZW50XG4gIEBlYWNoICRoZGlyLCAkcHJvcCBpbiAkLXpmLWZsZXgtanVzdGlmeSB7XG4gICAgLmFsaWduLSN7JGhkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oJHg6ICRoZGlyKTtcbiAgICB9XG4gIH1cbiAgXG4gIC8vIEhvcml6b250YWwgYWxpZ25tZW50IFNwZWNpZmljYWxseSBmb3IgVmVydGljYWwgTWVudVxuICBAZWFjaCAkaGRpciwgJHByb3AgaW4gbWFwLXJlbW92ZSgkLXpmLWZsZXgtanVzdGlmeSwgJ2p1c3RpZnknLCAnc3BhY2VkJykge1xuICAgIC5hbGlnbi0jeyRoZGlyfSB7XG4gICAgICAmLnZlcnRpY2FsIHtcbiAgICAgICAgJi5tZW51ID4gbGkgPiBhIHtcbiAgICAgICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR4OiAkaGRpcik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBWZXJ0aWNhbCBhbGlnbm1lbnQgdXNpbmcgYWxpZ24taXRlbXMgYW5kIGFsaWduLXNlbGZcbiAgQGVhY2ggJHZkaXIsICRwcm9wIGluICQtemYtZmxleC1hbGlnbiB7XG4gICAgLmFsaWduLSN7JHZkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oJHk6ICR2ZGlyKTtcbiAgICB9XG5cbiAgICAuYWxpZ24tc2VsZi0jeyR2ZGlyfSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduLXNlbGYoJHk6ICR2ZGlyKTtcbiAgICB9XG4gIH1cblxuICAvLyBDZW50cmFsIGFsaWdubWVudCBvZiBjb250ZW50XG4gIC5hbGlnbi1jZW50ZXItbWlkZGxlIHtcbiAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR4OiBjZW50ZXIsICR5OiBtaWRkbGUpO1xuICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxuXG4gIC8vIFNvdXJjZSBvcmRlcmluZ1xuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRmbGV4LXNvdXJjZS1vcmRlcmluZy1jb3VudCB7XG4gICAgICAuI3skLXpmLXNpemV9LW9yZGVyLSN7JGl9IHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1vcmRlcigkaSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gVmFuaWxsYSBGbGV4Ym94IEhlbHBlcnNcbiAgQGluY2x1ZGUgZmxleC1oZWxwZXJzO1xufVxuIiwiQGZ1bmN0aW9uIC16Zi1mbGV4LWp1c3RpZnkoJHRleHQtZGlyZWN0aW9uKSB7XG4gICQtemYtZmxleC1qdXN0aWZ5OiAoXG4gICAgJ2xlZnQnOiBpZigkdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCBmbGV4LWVuZCwgZmxleC1zdGFydCksXG4gICAgJ3JpZ2h0JzogaWYoJHRleHQtZGlyZWN0aW9uID09IHJ0bCwgZmxleC1zdGFydCwgZmxleC1lbmQpLFxuICAgICdjZW50ZXInOiBjZW50ZXIsXG4gICAgJ2p1c3RpZnknOiBzcGFjZS1iZXR3ZWVuLFxuICAgICdzcGFjZWQnOiBzcGFjZS1hcm91bmQsXG4gICk7XG5cbiAgQHJldHVybiAkLXpmLWZsZXgtanVzdGlmeTtcbn1cblxuXG4kLXpmLWZsZXgtYWxpZ246IChcbiAgJ3RvcCc6IGZsZXgtc3RhcnQsXG4gICdib3R0b20nOiBmbGV4LWVuZCxcbiAgJ21pZGRsZSc6IGNlbnRlcixcbiAgJ3N0cmV0Y2gnOiBzdHJldGNoLFxuKTtcblxuJC16Zi1mbGV4LWRpcmVjdGlvbjogKFxuICAncm93Jzogcm93LFxuICAncm93LXJldmVyc2UnOiByb3ctcmV2ZXJzZSxcbiAgJ2NvbHVtbic6IGNvbHVtbixcbiAgJ2NvbHVtbi1yZXZlcnNlJzogY29sdW1uLXJldmVyc2UsXG4pO1xuXG4vLy8gRW5hYmxlcyBmbGV4Ym94IGJ5IGFkZGluZyBgZGlzcGxheTogZmxleGAgdG8gdGhlIGVsZW1lbnQuXG5AbWl4aW4gZmxleCB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi8vLyBIb3Jpem9udGFsbHkgb3IgdmVydGljYWxseSBhbGlnbnMgdGhlIGl0ZW1zIHdpdGhpbiBhIGZsZXggY29udGFpbmVyLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeCBbbnVsbF0gLSBIb3Jpem9udGFsIGFsaWdubWVudCB0byB1c2UuIENhbiBiZSBgbGVmdGAsIGByaWdodGAsIGBjZW50ZXJgLCBganVzdGlmeWAsIG9yIGBzcGFjZWRgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgaG9yaXpvbnRhbCBhbGlnbm1lbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeSBbbnVsbF0gLSBWZXJ0aWNhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYHRvcGAsIGBib3R0b21gLCBgbWlkZGxlYCwgb3IgYHN0cmV0Y2hgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgdmVydGljYWwgYWxpZ25tZW50LlxuQG1peGluIGZsZXgtYWxpZ24oJHg6IG51bGwsICR5OiBudWxsKSB7XG4gIEBpZiAkeCB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCQtemYtZmxleC1qdXN0aWZ5LCAkeCkge1xuICAgICAgJHg6IG1hcC1nZXQoJC16Zi1mbGV4LWp1c3RpZnksICR4KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gJ2ZsZXgtZ3JpZC1yb3ctYWxpZ24oKTogI3skeH0gaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIGhvcml6b250YWwgYWxpZ25tZW50LiBVc2UgbGVmdCwgcmlnaHQsIGNlbnRlciwganVzdGlmeSwgb3Igc3BhY2VkLic7XG4gICAgfVxuICB9XG5cbiAgQGlmICR5IHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJC16Zi1mbGV4LWFsaWduLCAkeSkge1xuICAgICAgJHk6IG1hcC1nZXQoJC16Zi1mbGV4LWFsaWduLCAkeSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEB3YXJuICdmbGV4LWdyaWQtcm93LWFsaWduKCk6ICN7JHl9IGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciB2ZXJ0aWNhbCBhbGlnbm1lbnQuIFVzZSB0b3AsIGJvdHRvbSwgbWlkZGxlLCBvciBzdHJldGNoLic7XG4gICAgfVxuICB9XG5cbiAganVzdGlmeS1jb250ZW50OiAkeDtcbiAgYWxpZ24taXRlbXM6ICR5O1xufVxuXG4vLy8gVmVydGljYWxseSBhbGlnbiBhIHNpbmdsZSBjb2x1bW4gd2l0aGluIGEgZmxleCByb3cuIEFwcGx5IHRoaXMgbWl4aW4gdG8gYSBmbGV4IGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHkgW251bGxdIC0gVmVydGljYWwgYWxpZ25tZW50IHRvIHVzZS4gQ2FuIGJlIGB0b3BgLCBgYm90dG9tYCwgYG1pZGRsZWAsIG9yIGBzdHJldGNoYC4gT3IsIHNldCBpdCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSB0byBub3Qgc2V0IHZlcnRpY2FsIGFsaWdubWVudC5cbkBtaXhpbiBmbGV4LWFsaWduLXNlbGYoJHk6IG51bGwpIHtcbiAgQGlmICR5IHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJC16Zi1mbGV4LWFsaWduLCAkeSkge1xuICAgICAgJHk6IG1hcC1nZXQoJC16Zi1mbGV4LWFsaWduLCAkeSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEB3YXJuICdmbGV4LWdyaWQtY29sdW1uLWFsaWduKCk6ICN7JHl9IGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciBhbGlnbm1lbnQuIFVzZSB0b3AsIGJvdHRvbSwgbWlkZGxlLCBvciBzdHJldGNoLic7XG4gICAgfVxuICB9XG5cbiAgYWxpZ24tc2VsZjogJHk7XG59XG5cbi8vLyBDaGFuZ2VzIHRoZSBzb3VyY2Ugb3JkZXIgb2YgYSBmbGV4IGNoaWxkLiBDaGlsZHJlbiB3aXRoIGxvd2VyIG51bWJlcnMgYXBwZWFyIGZpcnN0IGluIHRoZSBsYXlvdXQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRvcmRlciBbMF0gLSBPcmRlciBudW1iZXIgdG8gYXBwbHkuXG5AbWl4aW4gZmxleC1vcmRlcigkb3JkZXI6IDApIHtcbiAgb3JkZXI6ICRvcmRlcjtcbn1cblxuLy8vIENoYW5nZSBmbGV4LWRpcmVjdGlvblxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpcmVjdGlvbiBbcm93XSAtIEZsZXggZGlyZWN0aW9uIHRvIHVzZS4gQ2FuIGJlXG4vLy8gICAtIHJvdyAoZGVmYXVsdCk6IHNhbWUgYXMgdGV4dCBkaXJlY3Rpb25cbi8vLyAgIC0gcm93LXJldmVyc2U6IG9wcG9zaXRlIHRvIHRleHQgZGlyZWN0aW9uXG4vLy8gICAtIGNvbHVtbjogc2FtZSBhcyByb3cgYnV0IHRvcCB0byBib3R0b21cbi8vLyAgIC0gY29sdW1uLXJldmVyc2U6IHNhbWUgYXMgcm93LXJldmVyc2UgdG9wIHRvIGJvdHRvbVxuQG1peGluIGZsZXgtZGlyZWN0aW9uKCRkaXJlY3Rpb246IHJvdykge1xuICBmbGV4LWRpcmVjdGlvbjogJGRpcmVjdGlvbjtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vIEhpZGUgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBvbmx5IGRpc3BsYXlpbmcgaXQgYWJvdmUgYSBjZXJ0YWluIHNjcmVlbiBzaXplLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gc2hvdy1mb3IoJHNpemUpIHtcbiAgJHNpemU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkc2l6ZSk7XG4gIC8vIE1heCB2YWx1ZSBpcyAwLjJweCB1bmRlciB0aGUgbmV4dCBicmVha3BvaW50ICgwLjAyIC8gMTYgPSAwLjAwMTI1KS5cbiAgLy8gVXNlIGEgcHJlY2lzaW9uIHVuZGVyIDFweCB0byBzdXBwb3J0IGJyb3dzZXIgem9vbSwgYnV0IG5vdCB0byBsb3cgdG8gYXZvaWQgcm91bmRpbmcuXG4gIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vZm91bmRhdGlvbi9mb3VuZGF0aW9uLXNpdGVzL2lzc3Vlcy8xMTMxM1xuICAkc2l6ZTogLXpmLWJwLXRvLWVtKCRzaXplKSAtIDAuMDAxMjU7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSBkb3duKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBIaWRlIGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgb25seSBkaXNwbGF5aW5nIGl0IHdpdGhpbiBhIGNlcnRhaW4gYnJlYWtwb2ludC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIHNob3ctZm9yLW9ubHkoJHNpemUpIHtcbiAgJGxvd2VyLWJvdW5kLXNpemU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkc2l6ZSk7XG4gICR1cHBlci1ib3VuZC1zaXplOiAtemYtbWFwLW5leHQoJGJyZWFrcG9pbnRzLCAkc2l6ZSk7XG5cbiAgLy8gbW9yZSBvZnRlbiB0aGFuIG5vdCB0aGlzIHdpbGwgYmUgY29ycmVjdCwganVzdCBvbmUgdGltZSByb3VuZCB0aGUgbG9vcCBpdCB3b24ndCBzbyBzZXQgaW4gc2NvcGUgaGVyZVxuICAkbG93ZXItYm91bmQ6IC16Zi1icC10by1lbSgkbG93ZXItYm91bmQtc2l6ZSkgLSAwLjAwMTI1O1xuICAvLyB0ZXN0IGFjdHVhbCBsb3dlci1ib3VuZC1zaXplLCBpZiAwIHNldCBpdCB0byAwZW1cbiAgQGlmIHN0cmlwLXVuaXQoJGxvd2VyLWJvdW5kLXNpemUpID09IDAge1xuICAgICRsb3dlci1ib3VuZDogLXpmLWJwLXRvLWVtKCRsb3dlci1ib3VuZC1zaXplKTtcbiAgfVxuXG4gIEBpZiAkdXBwZXItYm91bmQtc2l6ZSA9PSBudWxsIHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbG93ZXItYm91bmQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgICR1cHBlci1ib3VuZDogLXpmLWJwLXRvLWVtKCR1cHBlci1ib3VuZC1zaXplKTtcblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsb3dlci1ib3VuZCksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHVwcGVyLWJvdW5kKSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cblxuLy8vIFNob3cgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBhbmQgaGlkZSBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBoaWRlLWZvcigkc2l6ZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBTaG93IGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgYW5kIGhpZGUgaXQgYWJvdmUgYSBjZXJ0YWluIHNjcmVlbiBzaXplLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gaGlkZS1mb3Itb25seSgkc2l6ZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplIG9ubHkpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdmlzaWJpbGl0eS1jbGFzc2VzIHtcbiAgLy8gQmFzaWMgaGlkaW5nIGNsYXNzZXNcbiAgLmhpZGUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5pbnZpc2libGUge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuICAudmlzaWJsZSB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuXG4gIC8vIFJlc3BvbnNpdmUgdmlzaWJpbGl0eSBjbGFzc2VzXG4gIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAuaGlkZS1mb3ItI3skc2l6ZX0ge1xuICAgICAgICBAaW5jbHVkZSBoaWRlLWZvcigkc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIC5zaG93LWZvci0jeyRzaXplfSB7XG4gICAgICAgIEBpbmNsdWRlIHNob3ctZm9yKCRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaGlkZS1mb3ItI3skc2l6ZX0tb25seSB7XG4gICAgICBAaW5jbHVkZSBoaWRlLWZvci1vbmx5KCRzaXplKTtcbiAgICB9XG5cbiAgICAuc2hvdy1mb3ItI3skc2l6ZX0tb25seSB7XG4gICAgICBAaW5jbHVkZSBzaG93LWZvci1vbmx5KCRzaXplKTtcbiAgICB9XG4gIH1cblxuICAvLyBTY3JlZW4gcmVhZGVyIHZpc2liaWxpdHkgY2xhc3Nlc1xuICAvLyBOZWVkIGEgXCJoaWRlLWZvci1zclwiIGNsYXNzPyBBZGQgYXJpYS1oaWRkZW49J3RydWUnIHRvIHRoZSBlbGVtZW50XG4gIC5zaG93LWZvci1zcixcbiAgLnNob3ctb24tZm9jdXMge1xuICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlO1xuICB9XG5cbiAgLy8gT25seSBkaXNwbGF5IHRoZSBlbGVtZW50IHdoZW4gaXQncyBmb2N1c2VkXG4gIC5zaG93LW9uLWZvY3VzIHtcbiAgICAmOmFjdGl2ZSxcbiAgICAmOmZvY3VzIHtcbiAgICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlLW9mZjtcbiAgICB9XG4gIH1cblxuICAvLyBMYW5kc2NhcGUgYW5kIHBvcnRyYWl0IHZpc2liaWxpdHlcbiAgLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYW5kc2NhcGUpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChwb3J0cmFpdCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gIC5zaG93LWZvci1wb3J0cmFpdCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYW5kc2NhcGUpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHBvcnRyYWl0KSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC8vIERhcmsgTW9kZSBWaXNpYmlsaXR5XG4gIC5zaG93LWZvci1kYXJrLW1vZGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLmhpZGUtZm9yLWRhcmstbW9kZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSB7XG4gICAgLnNob3ctZm9yLWRhcmstbW9kZSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAuaGlkZS1mb3ItZGFyay1tb2RlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAvLyBJRTEwKyBWaXNpYmlsaXR5XG4gIC5zaG93LWZvci1pZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICBAbWVkaWEgYWxsIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpLCAoLW1zLWhpZ2gtY29udHJhc3Q6IGFjdGl2ZSkge1xuICAgIC5zaG93LWZvci1pZSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAuaGlkZS1mb3ItaWUge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC8vIFN0aWNreSBWaXNpYmlsaXR5XG4gIC5zaG93LWZvci1zdGlja3kge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLmlzLXN0dWNrIC5zaG93LWZvci1zdGlja3kge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gIC5pcy1zdHVjayAuaGlkZS1mb3Itc3RpY2t5IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4iLCIvKlxyXG4tLS0tLSBNZW51cyAtLS0tLVxyXG5UT0RPOiBUaGlzIGlzIGEgd29yayBpbiBwcm9ncmVzcyBJIGFtIHN0aWxsIG1pZ3JhdGluZyBmcm9tIGEgbWFzc2l2ZSBibG9iIG9mIGNvZGUgZW1iZWRkZWQgaW4gaGVhZGVyLnNjc3MuXHJcbkhhbmRsZXMgdGhlIGZvbGxvd2luZzogXHJcbi0gRHJvcGRvd25zXHJcbi0gRHJpbGwgZG93bnNcclxuLSBBY2NvcmRpb25zXHJcbi0gTWVnYSBtZW51XHJcbiAgLSBNZWdhIG1lbnUgc2VlIG1vcmUgbGluay5cclxuICAtIEVCRyBpbWFnZS5cclxuKi9cclxuXHJcbi5tZW51LWhlYWRlciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgbWFyZ2luOiAwIDAgMjBweDtcclxuICAgIGJvcmRlci1ib3R0b206IDA7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgfVxyXG4gICAgJjphY3RpdmUge1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgfVxyXG4gICAgLmNsb3NlLWJ1dHRvbiB7XHJcbiAgICAgICAgQGluY2x1ZGUgY2xvc2VCdXR0b24oJGljb24tc2l6ZSwgJG1lbnVzLWhlYWRlci1jb2xvdXIpO1xyXG4gICAgfVxyXG4gICAgLm1lbnUtaGVhZGluZyB7XHJcbiAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBwYWRkaW5nOiAwIDAgMTVweDtcclxuICAgICAgICBjb2xvcjogJG1lbnVzLWhlYWRlci1jb2xvdXI7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkbWVudXMtaGVhZGVyLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRtZW51cy1oZWFkZXItZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvdXIzLTI7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIEdldHMgd3JhcHBlZCBhcm91bmQgYWxsIG1lbnVzLlxyXG4ubWVudS1jb250YWluZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgIH1cclxufVxyXG5cclxuLm1lbnUsIC5kcm9wZG93bi5tZW51IHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAvLyBTdXByZXNzaW5nIGR1ZSB0byBtZWdhIG1lbnUgb3ZlcmxhcHBpbmcgZHJvcGRvd24gbWVudXMuXHJcbiAgICAvLyB6LWluZGV4OiA1O1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIEBpZiBub3QgJGhlYWRlci1sb3dlci1pdGVtLWdyb3cge1xyXG4gICAgICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gVXNlZCBmb3IgYmFza2V0IHByZXZpZXcsIHNlYXJjaCAmIG1vYmlsZSBtZWdhIG1lbnUuXHJcbiAgICAubmF2aWdhdGlvbi1jbXMtY29udGFpbmVyLCAubWVudS1oZWFkZXIge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBtYXJnaW46ICRtZW51LW5hdi10ZXh0LW1hcmdpbjtcclxuICAgICAgICBib3JkZXItYm90dG9tOiAwO1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcCB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKG1hcC1nZXQoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtc2l6ZSwgc21hbGwpKTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtd2VpZ2h0LCBzbWFsbCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5jbG9zZS1idXR0b24ge1xyXG4gICAgICAgIEBpbmNsdWRlIGNsb3NlQnV0dG9uKCk7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIGJvdHRvbTogMDtcclxuICAgIH1cclxuICAgIC8vIE1vYmlsZSBleHBpZXJhbmNlLlxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgIC8vIExldmVsIDFcclxuICAgICAgICA+IGxpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbWFwLWdldCgkbWVudXMtbGV2ZWwtMS1ib3JkZXItYm90dG9tLCBzbWFsbCk7XHJcbiAgICAgICAgICAgIC8vIExldmVsIDJcclxuICAgICAgICAgICAgPiB1bCB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiBtYXAtZ2V0KCRtZW51cy1sZXZlbC0yLXBhZGRpbmcsIHNtYWxsKTtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJG1lbnVzLWJhY2tncm91bmQtY29sb3VyLCBzbWFsbCk7XHJcbiAgICAgICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogbWFwLWdldCgkbWVudXMtbGV2ZWwtMi1ib3JkZXItdG9wLCBzbWFsbCk7XHJcbiAgICAgICAgICAgICAgICA+IGxpIHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IG1hcC1nZXQoJG1lbnVzLWxldmVsLTItbGktYm9yZGVyLCBzbWFsbCk7XHJcbiAgICAgICAgICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyhtYXAtZ2V0KCRtZWdhLW1lbnUtcGFyZW50LXNpemUsIHNtYWxsKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCRtZWdhLW1lbnUtcGFyZW50LWZvbnQtd2VpZ2h0LCBzbWFsbCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLy8gTGV2ZWwgM1xyXG4gICAgICAgICAgICAgICAgdWwge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIG1hcmdpbjogbWFwLWdldCgkbWVnYS1tZW51LWNoaWxkLWNvbnRhaW5lci1tYXJnaW4sIHNtYWxsKTtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRtZWdhLW1lbnUtY2hpbGQtY29sb3VyLCBzbWFsbCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCRtZWdhLW1lbnUtY2hpbGQtZm9udC13ZWlnaHQsIHNtYWxsKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyhtYXAtZ2V0KCRtZWdhLW1lbnUtY2hpbGQtc2l6ZSwgc21hbGwpKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmFjY291bnQtbWVudSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICNtZWdhLW1lbnUtaW1hZ2UtY29udGFpbmVyLCAubWVudS1lZ2ItaW1hZ2UtY29udGFpbmVyIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIC0tLSBBY2NvcmRpb24gTWVudSAtLS1cclxuICAgICYuYWNjb3JkaW9uLW1lbnUge1xyXG4gICAgICAgID4gbGkge1xyXG4gICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJG1lbnVzLWxldmVsLTEtaWNvbi1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJG1lbnVzLWxldmVsLTEtaWNvbi1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjphY3RpdmV7XHJcbiAgICAgICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkbWVudXMtbGV2ZWwtMS1pY29uLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmFjY29yZGlvbi1tZW51Om5vdChbZGF0YS1zdWJtZW51LXRvZ2dsZT1cInRydWVcIl0pIHtcclxuICAgICAgICAvLyBMZXZlbCAxLlxyXG4gICAgICAgID4gbGkuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50IHtcclxuICAgICAgICAgICAgJlthcmlhLWV4cGFuZGVkPXRydWVdIHtcclxuICAgICAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIG1lbnUtb3Blbik7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfSAgXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgbWVudS1jbG9zZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAkbWVudS1kcm9wZG93bi1hcnJvd3Mtc2l6ZTtcclxuICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogY3VzdG9tLWljb24tZmFtaWx5KCRmb250QXdlc29tZVNvbGlkLCAkc2l0ZS1pY29ucy1jdXN0b20tY2hldnJvbnMpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG5cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAvLyBMZXZlbCAyXHJcbiAgICAgICAgICAgID4gdWwge1xyXG4gICAgICAgICAgICAgICAgPiBsaS5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQge1xyXG4gICAgICAgICAgICAgICAgICAgICZbYXJpYS1leHBhbmRlZD10cnVlXSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgbWVudS1vcGVuKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZW51LWl0ZW0tcHJlZml4LWljb24oKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAvLyBMZXZlbCAzXHJcbiAgICAgICAgICAgICAgICAgICAgdWwge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAgMCAyMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgXHJcbiAgICB9XHJcbiAgICAvLyBJZiB0aGUgYW5jaG9yIGlzIGxpbmtpbmcgdG8gcGFnZSBidXQgd2Ugd2FudCBtZW51IHRvZ2dsZSBidXR0b24uXHJcbiAgICAmLmFjY29yZGlvbi1tZW51W2RhdGEtc3VibWVudS10b2dnbGU9XCJ0cnVlXCJdIHtcclxuICAgICAgICAmW2FyaWEtZXhwYW5kZWQ9dHJ1ZV0ge1xyXG4gICAgICAgICAgICA+IGJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBtZW51LW9wZW4pO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9ICBcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gT3ZlcnJpZGluZyBmb3VuZGF0aW9uIGFuZCB1c2luZyBFeHByZXNzJ3Mgc2l0ZS1pY29ucyBmb3IgY29uc2lzdGVuY3kuXHJcbiAgICAgICAgQGF0LXJvb3Qge1xyXG4gICAgICAgICAgICAuc3VibWVudS10b2dnbGUge1xyXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgbWVudS1jbG9zZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJG1lbnUtZHJvcGRvd24tYXJyb3dzLXNpemU7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IGN1c3RvbS1pY29uLWZhbWlseSgkZm9udEF3ZXNvbWVTb2xpZCwgJHNpdGUtaWNvbnMtY3VzdG9tLWNoZXZyb25zKTtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLnN1Ym1lbnUge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIGxpIHtcclxuICAgICAgICAvLyAgICAgLy8gTWFrZSBzdXJlIGlmIGFuIGl0ZW0gaGFzIGEgdG9nZ2xlIGJ1dHRvbiB0aGF0IGNoaWxkIGl0ZW0ocykga2VlcCBpdGVtIGRlc2NyaXB0aW9ucyBpbmxpbmUuIFxyXG4gICAgICAgIC8vICAgICAmLmhhcy1zdWJtZW51LXRvZ2dsZSB7XHJcbiAgICAgICAgLy8gICAgICAgICAmIH4gbGkge1xyXG4gICAgICAgIC8vICAgICAgICAgICAgICY6bm90KC5oYXMtc3VibWVudS10b2dnbGUpOm5vdCg6bGFzdC1jaGlsZCkge1xyXG4gICAgICAgIC8vICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDQ1cHg7XHJcbiAgICAgICAgLy8gICAgICAgICAgICAgfVxyXG4gICAgICAgIC8vICAgICAgICAgfVxyXG4gICAgICAgIC8vICAgICB9XHJcbiAgICAgICAgLy8gfVxyXG4gICAgICAgIGxpLmlzLWFjY29yZGlvbi1zdWJtZW51LWl0ZW0ge1xyXG4gICAgICAgICAgICAmOm5vdCguaGFzLXN1Ym1lbnUtdG9nZ2xlKSB7XHJcbiAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNDVweDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gLS0tLS0gQmFja2dyb3VuZCBjb2xvdXIsIHRleHQgY29sb3VyLCBob3cgd2UgaGFuZGxlIEVHQiBncm91cCBjb2xvdXJzLiAtLS0tLVxyXG4gICAgLy8gQ2Fycnkgb3V0IHNvbWUgcHJlLXByb2Nlc3Npbmcgb2YgdGhlIGNvbG91cnMgdG8gdGVzdCB0aGUgbGVnaWJpbGl0eSBvZiB0aGUgY29udGVudCBhZ2FpbnN0IHRoZWlyIGJhY2tncm91bmRzLlxyXG4gICAgLy8gLS0tIEdyYW5kIHBhcmVudCBjb2xvdXJzLiAtLS1cclxuICAgIC8vIE1vYmlsZVxyXG4gICAgJG1vYmlsZS1ncmFuZC1wYXJlbnQtYmFja2dyb3VuZC1jb2xvdXI6IG1hcC1nZXQoJG1lbnVzLWJhY2tncm91bmQtY29sb3VyLCBzbWFsbCk7XHJcbiAgICAkbW9iaWxlLWdyYW5kLXBhcmVudC1jb2xvdXI6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1jb2xvdXIsIGRlZmF1bHQtc21hbGwpLCAkbW9iaWxlLWdyYW5kLXBhcmVudC1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAvLyBEZXNrdG9wXHJcbiAgICAvLyBEZWZhdWx0LlxyXG4gICAgJGdyYW5kLXBhcmVudC1iYWNrZ3JvdW5kLWNvbG91cjogbWFwLWdldCgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAkZ3JhbmQtcGFyZW50LWNvbG91cjogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWNvbG91ciwgZGVmYXVsdC1sYXJnZSksICRncmFuZC1wYXJlbnQtYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgLy8gSG92ZXIuXHJcbiAgICAkZ3JhbmQtcGFyZW50LWhvdmVyLWJhY2tncm91bmQtY29sb3VyOiBtYXAtZ2V0KCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWJhY2tncm91bmQtY29sb3VyLCBob3Zlcik7XHJcbiAgICAkZ3JhbmQtcGFyZW50LWhvdmVyLWNvbG91cjogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWNvbG91ciwgaG92ZXIpLCAkZ3JhbmQtcGFyZW50LWhvdmVyLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgIC8vIEFjdGl2ZS5cclxuICAgICRncmFuZC1wYXJlbnQtYWN0aXZlLWJhY2tncm91bmQtY29sb3VyOiBtYXAtZ2V0KCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWJhY2tncm91bmQtY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgJGdyYW5kLXBhcmVudC1hY3RpdmUtY29sb3VyOiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtY29sb3VyLCBhY3RpdmUpLCAkZ3JhbmQtcGFyZW50LWFjdGl2ZS1iYWNrZ3JvdW5kLWNvbG91cik7XHJcblxyXG4gICAgLy8gLS0tIFBhcmVudCBjb2xvdXJzIC0tLSBcclxuICAgICRwYXJlbnQtYmFja2dyb3VuZC1jb2xvdXI6ICRjb2xvdXIxO1xyXG4gICAgLy8gRGVmYXVsdC5cclxuICAgICRwYXJlbnQtY29sb3VyOiAgY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRtZWdhLW1lbnUtcGFyZW50LWNvbG91ciwgZGVmYXVsdCksICRwYXJlbnQtYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgLy8gSG92ZXIuXHJcbiAgICAkcGFyZW50LWNvbG91ci1ob3ZlcjogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRtZWdhLW1lbnUtcGFyZW50LWNvbG91ciwgaG92ZXIpLCAkcGFyZW50LWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgIC8vIEFjdGl2ZS5cclxuICAgICRwYXJlbnQtY29sb3VyLWFjdGl2ZTogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRtZWdhLW1lbnUtcGFyZW50LWNvbG91ciwgYWN0aXZlKSwgJHBhcmVudC1iYWNrZ3JvdW5kLWNvbG91cik7XHJcblxyXG4gICAgLy8gLS0tIENoaWxkIGNvbG91cnMgLS0tIFxyXG4gICAgLy8gVE9ETzpcclxuICAgIC8vIERlZmF1bHQuXHJcbiAgICAkY2hpbGQtY29sb3VyOiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJG1lZ2EtbWVudS1jaGlsZC1jb2xvdXIsIGxhcmdlLWRlZmF1bHQpLCAkcGFyZW50LWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgIC8vIEhvdmVyLiBcclxuICAgICRjaGlsZC1jb2xvdXItaG92ZXI6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkbWVnYS1tZW51LWNoaWxkLWNvbG91ciwgbGFyZ2UtaG92ZXIpLCAkcGFyZW50LWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgIC8vIEFjdGl2ZS5cclxuICAgICRjaGlsZC1jb2xvdXItYWN0aXZlOiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJG1lZ2EtbWVudS1jaGlsZC1jb2xvdXIsIGxhcmdlLWFjdGl2ZSksICRwYXJlbnQtYmFja2dyb3VuZC1jb2xvdXIpO1xyXG5cclxuICAgIEBtaXhpbiBncmFuZC1wYXJlbnQtYWN0aXZlLXN0eWxlcygpIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JhbmQtcGFyZW50LWFjdGl2ZS1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAvLyBPdmVycmlkaW5nIGZvdW5kYXRpb24uXHJcbiAgICAgICAgICAgIGNvbG9yOiAkZ3JhbmQtcGFyZW50LWFjdGl2ZS1jb2xvdXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcbiAgICAgLy8gSWYgZUJ1c2luZXNzIGdyb3VwIGJhY2tncm91bmQgaXMgY29uZmlndXJlZC5cclxuICAgICAmLmViZy1jb2xvdXItYmFja2dyb3VuZCAge1xyXG4gICAgICAgIGxpW3N0eWxlKj1cIi0tZWJnXCJdLmlzLXN1Ym1lbnUtaXRlbSB7XHJcbiAgICAgICAgICAgIEBpZiBub3QgKCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWJhY2tncm91bmQtY29sb3VyLXNob3ctb24tYW5jaG9yKSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1lYmctYmFja2dyb3VuZC1jb2xvdXIsICRncmFuZC1wYXJlbnQtYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICBAaWYgKCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWJhY2tncm91bmQtY29sb3VyLXNob3ctb24tYW5jaG9yKSB7XHJcbiAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1lYmctYmFja2dyb3VuZC1jb2xvdXIsICRncmFuZC1wYXJlbnQtYmFja2dyb3VuZC1jb2xvdXIpOyBcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1lYmctZm9yZWdyb3VuZC1jb2xvdXIsICRtb2JpbGUtZ3JhbmQtcGFyZW50LWNvbG91cik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgPiBhOmhvdmVyLCBsaTpob3ZlciBhIHtcclxuICAgICAgICAgICAgICAgICY6YmVmb3JlLCAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tZWJnLWZvcmVncm91bmQtY29sb3VyLCAkbW9iaWxlLWdyYW5kLXBhcmVudC1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHVsIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWViZy1iYWNrZ3JvdW5kLWNvbG91ciwgJGdyYW5kLXBhcmVudC1iYWNrZ3JvdW5kLWNvbG91cik7IFxyXG4gICAgICAgICAgICAgICAgbGkgeyBcclxuICAgICAgICAgICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tZWJnLWZvcmVncm91bmQtY29sb3VyLCAkbW9iaWxlLWdyYW5kLXBhcmVudC1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgbGlbc3R5bGUqPVwiLS1lYmdcIl06bm90KC5pcy1zdWJtZW51LWl0ZW0pIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZWJnLWJhY2tncm91bmQtY29sb3VyLCAkZ3JhbmQtcGFyZW50LWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1lYmctZm9yZWdyb3VuZC1jb2xvdXIsICRtb2JpbGUtZ3JhbmQtcGFyZW50LWNvbG91cik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBJZiBlQnVzaW5lc3MgZ3JvdXAgY29sb3VyIG9uIGhvdmVyIGlzIGNvbmZpZ3VyZWQuXHJcbiAgICAmLmViZy1jb2xvdXItaG92ZXIge1xyXG4gICAgICAgIGxpW3N0eWxlKj1cIi0tZWJnXCJdIHtcclxuICAgICAgICAgICAgJjpob3ZlciwgJlthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXSB7XHJcbiAgICAgICAgICAgICAgICBAaWYgbm90ICgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1iYWNrZ3JvdW5kLWNvbG91ci1zaG93LW9uLWFuY2hvcikge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWViZy1iYWNrZ3JvdW5kLWNvbG91ciwgJGdyYW5kLXBhcmVudC1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICA+IGE6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgICAgIEBpZiAoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtYmFja2dyb3VuZC1jb2xvdXItc2hvdy1vbi1hbmNob3IpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZWJnLWJhY2tncm91bmQtY29sb3VyLCAkZ3JhbmQtcGFyZW50LWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWViZy1mb3JlZ3JvdW5kLWNvbG91ciwgJG1vYmlsZS1ncmFuZC1wYXJlbnQtY29sb3VyKTtcclxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSwgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1lYmctZm9yZWdyb3VuZC1jb2xvdXIsICRtb2JpbGUtZ3JhbmQtcGFyZW50LWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGxpOm5vdChbc3R5bGUqPVwiLS1lYmdcIl0pIHtcclxuICAgICAgICAgICAgICAgICY6aG92ZXIsICZbYXJpYS1leHBhbmRlZD1cInRydWVcIl0ge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWViZy1iYWNrZ3JvdW5kLWNvbG91ciwgJGdyYW5kLXBhcmVudC1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICAgICAgPiBhOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWViZy1mb3JlZ3JvdW5kLWNvbG91ciwgJG1vYmlsZS1ncmFuZC1wYXJlbnQtY29sb3VyKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUsICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWViZy1mb3JlZ3JvdW5kLWNvbG91ciwgJG1vYmlsZS1ncmFuZC1wYXJlbnQtY29sb3VyKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIGxpW3N0eWxlKj1cIi0tZWJnXCJdOm5vdCguaXMtc3VibWVudS1pdGVtKTpob3ZlciB7XHJcbiAgICAgICAgLy8gICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWViZy1iYWNrZ3JvdW5kLWNvbG91ciwgJGdyYW5kLXBhcmVudC1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAgICAgLy8gICAgID4gYSB7XHJcbiAgICAgICAgLy8gICAgICAgICBjb2xvcjogdmFyKC0tZWJnLWZvcmVncm91bmQtY29sb3VyLCAkbW9iaWxlLWdyYW5kLXBhcmVudC1jb2xvdXIpO1xyXG4gICAgICAgIC8vICAgICB9XHJcbiAgICAgICAgLy8gfVxyXG4gICAgfVxyXG4gICAgLy8gRGVmYXVsdCBzdHlsZXMuXHJcbiAgICBsaSB7XHJcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgLy8gTGV2ZWwgMSAoIEdyYW5kcGFyZW50IClcclxuICAgID4gbGkge1xyXG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIC8vIFNldHRpbmcgY29sdW1uIGxheW91dCBmb3IgZmlsdGVycyBhbmQgaXQgbWFkZSBzZW5zZSBmb3IgZ2VuZXJhbCBtZW51IGxvZ2ljIGFzIHdlbGwuXHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IFxyXG4gICAgICAgIH1cclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogJG1lbnVzLWxpc3QtaXRlbS1saW5lLWhlaWdodDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJG1lbnVzLWxpc3QtaXRlbS1iYWNrZ3JvdW5kLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJG1lbnVzLWxpc3QtaXRlbS1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICA+IGEsID4gcCB7XHJcbiAgICAgICAgICAgICYuaGFzLWxpbmstaW1hZ2Uge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtaW1hZ2UtZmxleC1kaXJlY3Rpb247XHJcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IChzcGFjaW5nLXZhbHVlKCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LXBhZGRpbmcsIDEsIGxhcmdlKSAvIDIpO1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAoc3BhY2luZy12YWx1ZSgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1wYWRkaW5nLCAzLCBsYXJnZSkgLyAyKTtcclxuICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5saW5rLWltYWdlIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogc21hbGwtdmFsdWUoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtaW1hZ2Utc2l6ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBzbWFsbC12YWx1ZSgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1pbWFnZS1zaXplKTtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICBAaWYgc21hbGwtdmFsdWUoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtaW1hZ2UtcGFkZGluZykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiBzbWFsbC12YWx1ZSgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1pbWFnZS1wYWRkaW5nKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogbGFyZ2UtdmFsdWUoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtaW1hZ2Utc2l6ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogbGFyZ2UtdmFsdWUoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtaW1hZ2Utc2l6ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpZiBsYXJnZS12YWx1ZSgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1pbWFnZS1wYWRkaW5nKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiBsYXJnZS12YWx1ZSgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1pbWFnZS1wYWRkaW5nKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyB0cmFuc2l0aW9uOiB3aWR0aCAkdHJhbnNpdGlvbk91dHJvLCBoZWlnaHQgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgJiArIC5saW5rLWRlc2NyaXB0aW9uIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtZGVzY3JpcHRpb24tcGFkZGluZztcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgLy8gQWRkaW5nIGZsZXggZ3JvdyB0byBhbGxvdyBmb3IgdGhlIGFuY2hvciB0byB0YWtlIHVwIGVudGlyZSB3aWR0aCBvZiB0aGUgY29udGFpbmVyICggdGhpbmsgcHJvZHVjdCBsaXN0IGZpbHRlcnMgKS5cclxuICAgICAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAvLyBPdmVycmlkaW5nIGZvdW5kYXRpb24ncyBsaW5lLWhlaWdodCB3aXRoIHRoZSBnbG9iYWwgbGluZSBoZWlnaHQuXHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkbWVudXMtbGlzdC1pdGVtLWxpbmUtaGVpZ2h0O1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGlmKCRoZWFkZXItbG93ZXItdGV4dC1hbGlnbiA9PSBcImxlZnRcIixmbGV4LXN0YXJ0LGNlbnRlcik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gTGV2ZWwgMiAoIFBhcmVudCApXHJcbiAgICAgICAgPiB1bCB7XHJcbiAgICAgICAgICAgIC8vIFNwZWNpZmljIGhpZGluZyB0aGlzIG9uIHBhZ2UgbG9hZCAvIGludGl0aWFsaXNhdGlvbiB0byBwcmV2ZW50IGNvbnRlbnQgZnJvbSBiZWluZyBzaG93biB0aGVuIGhpZGRlbi5cclxuICAgICAgICAgICAgJjpub3QoLnN1Ym1lbnUpIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcGFkZGluZzogbWFwLWdldCgkbWVudXMtbGV2ZWwtMi1wYWRkaW5nLCBzbWFsbCk7XHJcbiAgICAgICAgICAgIEBpZiAoJG1lbnUtZW5hYmxlLWRyb3Bkb3duLWZvb3Rlcikge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1lYmctYmFja2dyb3VuZC1jb2xvdXIsICRkZWZhdWx0LW1lbnUtZHJvcGRvd24tYm9yZGVyLWNvbG91cik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogbWFwLWdldCgkbWVudXMtbGV2ZWwtMi1wYWRkaW5nLCBsYXJnZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAgICAgLy8gTGV2ZWwgMywgQWRkaW5nIGNsYXNzIHRvIG5vdCBicmVhayBsb3dlciBkb3duIGxpc3RzICggaS5lIGNvbnRleHQgbWVudSApXHJcbiAgICAgICAgICAgICAgICB1bCBsaS5pcy1zdWJtZW51LWl0ZW0ge1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICA+IGxpLCAuaXMtYWN0aXZlIHtcclxuICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIG1lZ2EtbWVudS1saW5rLWljb24pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBPdmVycmlkaW5nIGZvdW5kYXRpb24ncyBwb3NpdGlvbmluZy5cclxuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMCBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogY3VzdG9tLWljb24tZmFtaWx5KCRmb250QXdlc29tZVNvbGlkLCAkc2l0ZS1pY29ucy1jdXN0b20tY2hldnJvbnMpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6ICRtZWdhLW1lbnUtbGluay1pY29uLXNpemU7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLy8gR3JvdXAgaW5kaWNhdG9yIGluIG1vYmlsZS5cclxuICAgICAgICAgICAgICAgIC8vICYuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50IHtcclxuICAgICAgICAgICAgICAgIC8vICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgLy8gICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICBAaW5jbHVkZSBtZW51LWl0ZW0tcHJlZml4LWljb24oKTtcclxuICAgICAgICAgICAgICAgIC8vICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLy8gICAgIH1cclxuICAgICAgICAgICAgICAgIC8vIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLmRyb3Bkb3duIHtcclxuICAgICAgICBsaSA+IGEge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgID4gbGkge1xyXG4gICAgICAgICAgICAmLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IHtcclxuICAgICAgICAgICAgICAgIEBpZiBzbW9vdGgtZWRnZXMoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtYm9yZGVyLXJhZGl1cykge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIElGIHdlIHNwZWNpZmljYWxseSB3YW50IHRvIGFkZCBhIHJhZGl1cyB0byB0aGUgYm90dG9tIG9mIHN1Ym1lbnUgYW5jaG9ycyAoIGJld2FyZSB0aGlzIG1heSBsb29rIG9kZCB3aXRoIGRyb3Bkb3duIG1lbnVzICkuXHJcbiAgICAgICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMtYm90dG9tOiBpZihzcGFjaW5nLXZhbHVlKCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWJvcmRlci1yYWRpdXMsIDMpLCAkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1ib3JkZXItcmFkaXVzLCAwKTtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtYm9yZGVyLXJhZGl1cykgc21vb3RoLWVkZ2VzKCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWJvcmRlci1yYWRpdXMpICRib3JkZXItcmFkaXVzLWJvdHRvbSAkYm9yZGVyLXJhZGl1cy1ib3R0b207XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpub3QoLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50KSB7XHJcbiAgICAgICAgICAgICAgICBAaWYgc21vb3RoLWVkZ2VzKCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWJvcmRlci1yYWRpdXMpIHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtYm9yZGVyLXJhZGl1cyk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmICgkbWVudS1kcm9wZG93bi1hcnJvd3MpIHtcclxuICAgICAgICAgICAgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCB7XHJcbiAgICAgICAgICAgICAgICAvLyBOb3QgYSBzaXRlLXNldHRpbmcgZHVlIHRvIGRlc2lnbiBjYWxsZWQgZm9yIGNoZXZyb24gdG8gYmUgb24gYmVmb3JlIHRoZSB0ZXh0IGluc3RlYWQgb2YgYWZ0ZXIuXHJcbiAgICAgICAgICAgICAgICAmOm5vdCguc2l0ZS1zZXR0aW5nLW1lbnUpIHtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWdlLW1lbnUtcm9vdC1kcm9wZG93bi1hcnJvdygkZ3JhbmQtcGFyZW50LWNvbG91ciwgJGdyYW5kLXBhcmVudC1ob3Zlci1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5vbi1wYWdlLW1lbnUge1xyXG4gICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvdXIzO1xyXG4gICAgICAgIEBpZiBzbW9vdGgtZWRnZXMoKSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgICAgIH1cclxuICAgICAgICA+IGxpIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IGluaXRpYWw7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMDtcclxuICAgICAgICAgICAgQGlmIHNtb290aC1lZGdlcygpIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjM7XHJcbiAgICAgICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBwIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAzNXB4O1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA2MHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgaSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gLS0tLS0gSG9tZSBidXR0b24gLS0tLS0gXHJcbiAgICAvLyBMZWdpYmlsaXR5IGNoZWNrZXIuXHJcbiAgICAvLyBEZWZhdWx0XHJcbiAgICAkaG9tZS1iYWNrZ3JvdW5kLWNvbG91cjogbWFwLWdldCgkaG9tZS1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgJGhvbWUtY29sb3VyOiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJGhvbWUtYnV0dG9uLWNvbG91ciwgZGVmYXVsdCksICRob21lLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgIC8vIEhvdmVyXHJcbiAgICAkaG9tZS1ob3Zlci1iYWNrZ3JvdW5kLWNvbG91cjogbWFwLWdldCgkaG9tZS1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGhvdmVyKTtcclxuICAgICRob21lLWhvdmVyLWNvbG91cjogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRob21lLWJ1dHRvbi1jb2xvdXIsIGhvdmVyKSwkaG9tZS1ob3Zlci1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAvLyBBY3RpdmVcclxuICAgICRob21lLWFjdGl2ZS1iYWNrZ3JvdW5kLWNvbG91cjogbWFwLWdldCgkaG9tZS1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAkaG9tZS1hY3RpdmUtY29sb3VyOiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJGhvbWUtYnV0dG9uLWNvbG91ciwgYWN0aXZlKSwkaG9tZS1hY3RpdmUtYmFja2dyb3VuZC1jb2xvdXIpO1xyXG5cclxuICAgIC5ob21lLWJ1dHRvbiB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6ICRob21lLWJ1dHRvbi13aWR0aDtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGhvbWUtaG92ZXItYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkaG9tZS1idXR0b24taWNvbi1iYWNrZ3JvdW5kLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkaG9tZS1ob3Zlci1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybywgYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGhvbWUtYWN0aXZlLWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRob21lLWJ1dHRvbi1pY29uLWJhY2tncm91bmQtY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkaG9tZS1hY3RpdmUtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBob21lKTtcclxuICAgICAgICAgICAgICAgIEBpZiAkaG9tZS1idXR0b24taWNvbi1wYWRkaW5nIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAkaG9tZS1idXR0b24taWNvbi1wYWRkaW5nO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkaG9tZS1idXR0b24taWNvbi1zaXplO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRob21lLWNvbG91cjtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGhvbWUtYnV0dG9uLWljb24tYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgICAgICAgICAgQGlmIHNtb290aC1lZGdlcygkaG9tZS1idXR0b24tYm9yZGVyLXJhZGl1cykge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRob21lLWJ1dHRvbi1ib3JkZXItcmFkaXVzO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybywgcGFkZGluZyAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpZiAkaG9tZS1zZXBlcmF0b3Ige1xyXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IG1hcC1nZXQoJGhvbWUtc2VwZXJhdG9yLWRpbWVuc2lvbnMsIHdpZHRoKTtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IG1hcC1nZXQoJGhvbWUtc2VwZXJhdG9yLWRpbWVuc2lvbnMsIGhlaWdodCk7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGhvbWUtc2VwZXJhdG9yLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogaGVpZ2h0ICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAobWFwLWdldCgkaG9tZS1zZXBlcmF0b3ItZGltZW5zaW9ucywgaGVpZ2h0KSAvIDEuNik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGhlaWdodCAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA5NSU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRob21lLWFjdGl2ZS1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIC0tLS0tIEFjY291bnQgTWVudSAtLS0tLSBcclxuICAgIC5hY2NvdW50LW1lbnUge1xyXG4gICAgICAgIHdpZHRoOiBtYXAtZ2V0KCRhY2NvdW50LW1lbnUtd2lkdGgsIHNtYWxsKTtcclxuICAgICAgICAvLyBPdmVycmlkaW5nIGZvdW5kYXRpb24uXHJcbiAgICAgICAgcmlnaHQ6IDAgIWltcG9ydGFudDtcclxuICAgICAgICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgcGFkZGluZzogbWFwLWdldCgkYWNjb3VudC1tZW51LXBhZGRpbmcsIHNtYWxsKTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6ICRtZWdhLW1lbnUtbGV2ZWwtMi1kZXNrdG9wLW1heC1oZWlnaHQ7XHJcbiAgICAgICAgICAgIHdpZHRoOiBtYXAtZ2V0KCRhY2NvdW50LW1lbnUtd2lkdGgsIGxhcmdlKTtcclxuICAgICAgICAgICAgcGFkZGluZzogIG1hcC1nZXQoJGFjY291bnQtbWVudS1wYWRkaW5nLCBsYXJnZSk7XHJcbiAgICAgICAgICAgIG92ZXJmbG93LXk6IGF1dG87XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGxpIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgLy8gRGVjbGFpcmluZyBwYWRkaW5nIGhlcmUgYXMgd2VsbCB0byBvdmVycmlkZSBkZWZhdWx0IG1lbnUgYW5jaG9yIHN0eWxpbmcuXHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAkYWNjb3VudC1tZW51LWl0ZW0tcGFkZGluZztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuYWNjb3VudC1wYWdlIHtcclxuICAgICAgICAgICAgJiA+IGEge1xyXG4gICAgICAgICAgICAgICAgLy8gU3VwcHJlc3MgcHJlZml4IGNoZXZyb24uXHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogdW5zZXQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5qcy1kcm9wZG93bi1hY3RpdmUge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBib3JkZXI6IDA7XHJcbiAgICAgICAgICAgIHRvcDogMTAwJSFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICBsZWZ0OiBhdXRvO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBkcm9wZG93bi1mb290ZXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICBcclxuICAgICAgICB9XHJcbiAgICB9ICBcclxuICAgIC8vIC0tLS0tIE1vYmlsZSBzaXRlIHNldHRpbmcgbWVudXMgLS0tLSBcclxuICAgIC5zaXRlLXNldHRpbmctbWVudSB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMztcclxuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvdXIwO1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTNweDtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogNDVweDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMztcclxuICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyMjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICA+IHVsIHtcclxuICAgICAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAyMHB4IDIwcHg7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG91cjE7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIG1pbi13aWR0aDogMTYwcHg7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDQ1cHggMTBweCAyMnB4O1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3VyMDtcclxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA5MCU7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAycHg7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgICAgIHRvcDogMnB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIzO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZHJvcGRvd24tZm9vdGVyLWJvcmRlcigpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLmN1cnJlbmN5LWljb24ge1xyXG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jdXJyZW5jeS1jb250YWluZXIge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XHJcbiAgICAgICAgICAgIG1hcmdpbjogYXV0byAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuc2VsZWN0ZWQtb3B0aW9uIHtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgbWVudS1jbG9zZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIE92ZXJyaWRpbmcgZm91bmRhdGlvbiBzdHlsZXMuXHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgICAgIHRvcDogYXV0bztcclxuICAgICAgICAgICAgICAgICAgICByaWdodDogYXV0bztcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG8gMTVweCBhdXRvIDA7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IGN1c3RvbS1pY29uLWZhbWlseSgkZm9udEF3ZXNvbWVTb2xpZCwgJHNpdGUtaWNvbnMtY3VzdG9tLWNoZXZyb25zKTtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6ICRtZW51LWRyb3Bkb3duLWFycm93cy1zaXplO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyMy0yO1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyMy0zO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuY3VycmVuY3ktaWNvbiAge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgdG9wOiAtMXB4O1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIC8vIGFsaWduLXNlbGY6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBjb250cmFzdC1jaGVja2VyKCRjb2xvdXI0LCAkaGVhZGVyLXVwcGVyLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9IFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5sYWJlbCB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgLy8gYWxpZ24tc2VsZjogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMCA2cHg7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvdXIyO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jdXJyZW5jeSB7XHJcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICAgICAgICAgICYuZGlzYWJsZWQge1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogLjU7XHJcbiAgICAgICAgICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5jdXJyZW5jeS1pY29uIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAubGFiZWwge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91cjI7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91cjY7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCB7XHJcbiAgICAgICAgICAgIC8vIE92ZXJyaWRpbmcgZm91bmRhdGlvbiB0byBmb3JjZSBzaXRlIHNldHRpbmcgZHJvcGRvd24gdG8gcGluIHRvIHRoZSB0b3Agb2YgdGhlIHZpZXdwb3J0LlxyXG4gICAgICAgICAgICB0b3A6IGNhbGMoMTAwJSArICN7c3BhY2luZy12YWx1ZSgkaGVhZGVyLXVwcGVyLXBhZGRpbmcsIDEpfSkgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gVG8gb3ZlcnJpZGUgZGVmYXVsdCBtZW51IHN0eWxlcy5cclxuICAgICAgICAmLmlzLWFjdGl2ZSA+IGE6aG92ZXIgLmxhYmVsIHtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmlzLWFjdGl2ZSwgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgICAgICAgICAgICAgYSB7IFxyXG4gICAgICAgICAgICAgICAgICAgIC8vIGNvbG9yOiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJGhlYWRlci11cHBlci1jb2xvdXIsIGhvdmVyKSwgJGhlYWRlci11cHBlci1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICAgICAgLmN1cnJlbmN5LWljb24ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBtZW51LW9wZW4pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91cjMtMztcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIEV4cGxpY2l0bHkgaGFuZGxpbmcgY29udGFjdCBpY29ucyBvbiBhbmNob3JzLlxyXG51bC5tZW51IHtcclxuICAgIGxpIHtcclxuICAgICAgICBhW2hyZWZePVwidGVsOlwiXSwgYVtocmVmXj1cIm1haWx0bzpcIl0ge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAvLyBUT0RPOiBDb25maWcgbmFtZXMgbmVlZCB0byBiZSByZWZhY3RvciB0byBiZSBtb3JlIGdlbmVyaWMgYXMgdGhpcyBjb2RlIGNhbiBub3cgYmUgdXNlZCBhbnl3aGVyZS5cclxuICAgICAgICAgICAgICAgIG1hcmdpbjogJGhlYWRlci11cHBlci1pY29uLW1hcmdpbjtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRoZWFkZXItdXBwZXItaWNvbi1wYWRkaW5nO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGhlYWRlci11cHBlci1pY29ucy1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkaGVhZGVyLXVwcGVyLWljb25zLWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygkaGVhZGVyLXVwcGVyLWljb25zLWJvcmRlci1yYWRpdXMpO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbk91dHJvLCBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRoZWFkZXItdXBwZXItaWNvbnMtY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkaGVhZGVyLXVwcGVyLWljb25zLWJhY2tncm91bmQtY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbkludHJvLCBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkaGVhZGVyLXVwcGVyLWljb25zLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRoZWFkZXItdXBwZXItaWNvbnMtYmFja2dyb3VuZC1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgYVtocmVmXj1cIm1haWx0bzpcIl0ge1xyXG4gICAgICAgICAgICBAaWYgJG1lbnVzLWVtYWlsLWZvbnQtc2l6ZSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRtZW51cy1lbWFpbC1mb250LXNpemUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGVtYWlsKTtcclxuICAgICAgICAgICAgICAgIEBpZiAoJHNpdGUtaWNvbnMtY3VzdG9tLWVtYWlsLWljb24pIHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogY3VzdG9tLWljb24tZmFtaWx5KCRmb250QXdlc29tZVNvbGlkLCAkc2l0ZS1pY29ucy1jdXN0b20tZW1haWwtaWNvbik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRtZW51cy1lbWFpbC1pY29uLXNpemU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgYVtocmVmXj1cInRlbDpcIl0ge1xyXG4gICAgICAgICAgICBAaWYgJG1lbnVzLXRlbGVwaG9uZS1mb250LXNpemUge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkbWVudXMtdGVsZXBob25lLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGlmICRtZW51cy10ZWxlcGhvbmUtZm9udC13ZWlnaHQgIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkbWVudXMtdGVsZXBob25lLWZvbnQtd2VpZ2h0IDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCB0ZWxlcGhvbmUpO1xyXG4gICAgICAgICAgICAgICAgQGlmICgkc2l0ZS1pY29ucy1jdXN0b20tZW1haWwtaWNvbikge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBjdXN0b20taWNvbi1mYW1pbHkoJGZvbnRBd2Vzb21lU29saWQsICRzaXRlLWljb25zLWN1c3RvbS10ZWxlcGhvbmUtaWNvbik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgkbWVudXMtdGVsZXBob25lLWljb24tcm90YXRlKTtcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkbWVudXMtdGVsZXBob25lLWljb24tbGluZS1oZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRtZW51cy10ZWxlcGhvbmUtaWNvbi1zaXplO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuQGlmICRtZWdhLW1lbnUtc2hvdy1pY29ucyB7XHJcbiAgICBbY2xhc3NePVwibWVudS1pY29uLVwiXSB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgQGlmIG5vdCAkbWVnYS1tZW51LXNob3ctaWNvbnMtbW9iaWxlIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgbWFyZ2luOiBtYXAtZ2V0KCRtZWdhLW1lbnUtaWNvbnMtbWFyZ2luLCBzbWFsbCk7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJG1lZ2EtbWVudS1pY29ucy1zaXplO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogY3VzdG9tLWljb24tZmFtaWx5KCRtZWdhLW1lbnUtaWNvbnMtZm9udC1mYW1pbHksICRzaXRlLWljb25zLWN1c3RvbS1jaGV2cm9ucyk7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogbWFwLWdldCgkbWVnYS1tZW51LWljb25zLW1hcmdpbiwgbGFyZ2UpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLm1lbnUtaWNvbi1hY2NvdW50OmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogbWFwLWdldCgkYWNjb3VudC1pY29ucywgYWNjb3VudCk7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4ubWVudS1zY3JvbGwtY29udGFpbmVyIHtcclxuICAgIG92ZXJmbG93LXk6IGF1dG87XHJcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XHJcbn1cclxuXHJcbi8vIC0tLS0tIFN1Ym1lbnUncyAtLS0tLS0gXHJcbi5zdWJtZW51IHtcclxuICAgIGhlaWdodDogYXV0bztcclxuICAgIHotaW5kZXg6IDQwMDtcclxuICAgIEBpZiBzbW9vdGgtZWRnZXMoKSB7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIHNtb290aC1lZGdlcygpIHNtb290aC1lZGdlcygpO1xyXG4gICAgfVxyXG4gICAgLy8gT25seSBhcHBseSB0aGUgZm9vdGVyIGJvcmRlciB0byB0aGUgc2Vjb25kIGxldmVsIG9mIGEgbWVudS5cclxuICAgIC8vIFRPRE86IG5lZWQgdG8gd29yayBvdXQgdGhlIHVzZSBvZiAubGV2ZWwgY2xhc3NlcyBhbmQgaW5zdGVhZCB1c2UgcGFyZW50IGNoaWxkIHJlbGF0aW9uc2hpcCdzIGJldHdlZW4gdWwgbGkgYXMgd2UgcmVjdXJzaXZpbHkgdHJhdmVyc2UgZG93bi5cclxuICAgICYubGV2ZWwyIHtcclxuICAgICAgICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiAkbWVudXMtc3VibWVudS1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIEBpZiAoJG1lbnUtZW5hYmxlLWRyb3Bkb3duLWZvb3Rlcikge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZHJvcGRvd24tZm9vdGVyKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmpzLWRyb3Bkb3duLWFjdGl2ZSB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB9XHJcbiAgICA+IGxpIHtcclxuICAgICAgICAmLmlzLWFjdGl2ZSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJG1lbnVzLWxpc3QtaXRlbS1iYWNrZ3JvdW5kLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRtZW51cy1saXN0LWl0ZW0tY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbi8vIE92ZXJyaWRpbmcgZm91bmRhdGlvbiBhcyB0aGlzIGlzIGNhdXNpbmcgYSBzdGVwLlxyXG4uaXMtZHJvcGRvd24tc3VibWVudSAuaXMtZHJvcGRvd24tc3VibWVudSB7XHJcbiAgICBtYXJnaW4tdG9wOiAwO1xyXG59XHJcbi5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCB7XHJcbiAgICAmLm9wZW5zLXJpZ2h0IHtcclxuICAgICAgICA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgJHN1Ym1lbnUtcGFkZGluZzogc3BhY2luZy12YWx1ZSgkbWVudXMtbGV2ZWwtMi1wYWRkaW5nLCAyLCBsYXJnZSk7XHJcbiAgICAgICAgICAgICAgICBAaWYgKCRzdWJtZW51LXBhZGRpbmcgPiAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogY2FsYygxMDAlICsgI3skc3VibWVudS1wYWRkaW5nfSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIE1lbnUgRUJHIGltYWdlLlxyXG4ubWVudS1lZ2ItaW1hZ2UtY29udGFpbmVyIHtcclxuICAgIGZsb2F0OiByaWdodDtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAvLyBTdXBwcmVzc2luZyB0byBzcGFuIHRoZSBlbnRpcmUgd2lkdGggb2YgYXZhaWxhYmxlIHNwYWNlLlxyXG4gICAgICAgIC8vIHdpZHRoOiAkbWVnYS1tZW51LWltYWdlLWRpbWVuc2lvbnM7XHJcbiAgICAgICAgLy9oZWlnaHQ6ICRtZWdhLW1lbnUtaW1hZ2UtZGltZW5zaW9ucztcclxuICAgICAgICBoZWlnaHQ6IGZpdC1jb250ZW50O1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBtYXJnaW46ICRtZWdhLW1lbnUtaW1hZ2UtZGVza3RvcC1tYXJnaW47XHJcbiAgICAgICAgZ3JpZC1yb3c6IDEgLyBzcGFuIGxhc3QtbGluZTtcclxuICAgIH1cclxuICAgIC5pbWFnZSB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgICAgICBAaWYgKCRtZWdhLW1lbnUtaW1hZ2UtYm94LXNoYWRvdykge1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiAkbWVnYS1tZW51LWltYWdlLWJveC1zaGFkb3c7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgIGJvcmRlcjogJG1lZ2EtbWVudS1pbWFnZS1ib3JkZXI7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tLS0gTWVnYSBtZW51IC0tLS0tLSBcclxuLy8gTWVnYSBtZW51IGdlbmVyYWwgc3R5bGVzXHJcbi8vIFNwZWNpZmljYWxseSBtZWdhIG1lbnUgc3R5bGVzICggaS5lIGNvbHVtbiBsYXlvdXRzIClcclxuLm1lZ2EtbWVudS1jb250YWluZXIge1xyXG4gICAgLS1tZWdhLW1lbnUtZHJvcGRvd24tZ3V0dGVyOiAje3NwYWNpbmctdmFsdWUoJG1lZ2EtbWVudS1kcm9wZG93bi1ndXR0ZXIsIDIpfTtcclxuICAgIC8vIERvbid0IHdyYXAgYXMgdGhpcyB3aWxsIGNhdXNlIGlzc3VlcyB3aGVuIHVzaW5nIHRoZSBkcm9wZG93bi5cclxuICAgID4gdWwubWVudSB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBAaWYgJG1lZ2EtbWVudS1kcm9wZG93bi1mdWxsLXdpZHRoIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBpbmhlcml0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xyXG4gICAgICAgICAgICAvLyBNZWdhIG1lbnUgY29sdW1uIGxheW91dCBpbiBkZXNrdG9wLlxyXG4gICAgICAgICAgICBAZm9yICRjb3VudCBmcm9tIDEgdGhyb3VnaCAkbWVnYS1tZW51LW1heC1jb2x1bW5zIHtcclxuICAgICAgICAgICAgICAgICZbZGF0YS1tZWdhLW1lbnUtY29sdW1uLWNvdW50PVwiI3skY291bnR9XCJdID4gbGkgPiB1bC5zdWJtZW51IHtcclxuICAgICAgICAgICAgICAgICAgICAvLyBXb3JrIG91dCBndXR0ZXJzLlxyXG4gICAgICAgICAgICAgICAgICAgICRndXR0ZXJzOiAoKCRjb3VudCAtIDEpICogc3BhY2luZy12YWx1ZSgkbWVnYS1tZW51LWRyb3Bkb3duLWd1dHRlciwgMikpO1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIEFwcGx5IGNvbHVtbiBjb3VudCwgdGFrZSBhdmFpbGFibGUgc3BhY2UgaW50byBhY2NvdW50ICggaS5lIGRyb3Bkb3duIHBhZGRpbmcgLyBndXR0ZXJzIClcclxuICAgICAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgjeyRjb3VudH0sIGNhbGMoKCN7JG1lZ2EtbWVudS1kcm9wZG93bi1jb250ZW50LWNvbnRhaW5lcn0gLSAjeygkZ3V0dGVycyl9KSAvICN7JGNvdW50fSkpO1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIE1lZ2EgbWVudSBpbWFnZSBwb3NpdGlvbiwgdGhpcyB3aWxsIG9idmlvdXNseSBjaGFuZ2UgZGVwZW5kaW5nIG9uIHRoZSBjb2x1bW4gY291bnQuXHJcbiAgICAgICAgICAgICAgICAgICAgLm1lbnUtZWdiLWltYWdlLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiAjeyRjb3VudH07XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9ICBcclxuICAgICAgICB9XHJcbiAgICAgICAgPiBsaSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XHJcbiAgICAgICAgICAgIC8vIExldmVsIDIgXHJcbiAgICAgICAgICAgICY6aG92ZXIgPiAuc3VibWVudSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgICAgICAgICAgICAgLy8gZ3JpZC1hdXRvLWZsb3c6IGRlbnNlO1xyXG4gICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgZ2FwOiAkbWVnYS1tZW51LWRyb3Bkb3duLWd1dHRlcjtcclxuICAgICAgICAgICAgICAgIEBpZiAkbWVnYS1tZW51LWRyb3Bkb3duLWZ1bGwtd2lkdGgge1xyXG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgID4gdWwge1xyXG4gICAgICAgICAgICAgICAgQGlmICgkbWVnYS1tZW51LWxldmVsLTItYm9yZGVyLXJhZGl1cykge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRtZWdhLW1lbnUtbGV2ZWwtMi1ib3JkZXItcmFkaXVzO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJi5vdmVyZmxvdy1zY3JvbGwge1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWF4LWhlaWdodDogJG1lZ2EtbWVudS1sZXZlbC0yLWRlc2t0b3AtbWF4LWhlaWdodDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gRHVlIHRvIHRoZSBzY3JvbGxiYXIgcHVzaCB0aGUgY29udGVudCBsZWZ0LlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAjeyhzcGFjaW5nLXZhbHVlKCRtZWdhLW1lbnUtbGV2ZWwtMi1wYWRkaW5nLCAyLCBsYXJnZSkgLSAxN3B4KX07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmLnN1Ym1lbnUge1xyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICB0b3A6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgICAgICAgICAgICAgICAgID4gbGkuaGFzLWNsb25lZC1ncm91cHMtcGFyZW50IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIE1ha2Ugc3VyZSB0aGF0IHRoZSBmaXJzdCBncm91cCBkb2Vzbid0IGdldCBzaG93biBhcyBpdHMgYmVlbiBkdXBsaWNhdGVkIGludG8gdGhlIHN1Ym1lbnUuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJi5zdWJtZW51LmpzLWRyb3Bkb3duLWFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBncmlkLWF1dG8tZmxvdzogZGVuc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogYXV0bztcclxuICAgICAgICAgICAgICAgICAgICAgICAgZ2FwOiAkbWVnYS1tZW51LWRyb3Bkb3duLWd1dHRlcjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgQGlmICRtZWdhLW1lbnUtZHJvcGRvd24tZnVsbC13aWR0aCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgID4gbGkge1xyXG4gICAgICAgICAgICAgICAgICAgIEBpZiBzbW9vdGgtZWRnZXMoJG1lZ2EtbWVudS1wYXJlbnQtYm9yZGVyLXJhZGl1cykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoJG1lZ2EtbWVudS1wYXJlbnQtYm9yZGVyLXJhZGl1cyk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgPiBsaSwgLmlzLWFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gUmV2ZXJzaW5nIHRoaXMgY2hhbmdlIGFzIGl0IHdhcyBjYXVzaW5nIGFsaWdubWVudCBpc3N1ZXMgd2hlbiBzb21lIGdyb3VwIGRpZG4ndCBoYXZlIGFueSBjb2xvdXIncyBjb25maWd1cmVkLlxyXG4gICAgICAgICAgICAgICAgICAgIC8vICY6bm90KFtzdHlsZSo9XCItLWViZy1cIl0pIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmICgkbWVudS1ncm91cC1kcm9wZG93bi1hcnJvd3MpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gR3JvdXAgaG92ZXIgaWNvbnMsIG5vcm1hbGx5IHRoaXMgaXMgcG9zaXRpb25lZCB0byB0aGUgbGVmdCBvZiB0aGUgZ3JvdXAuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lbnUtaXRlbS1wcmVmaXgtaWNvbigpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBTdXBwcmVzcyBpY29uIGZvciBsYXJnZSB3aGVuIGFuY2hvciBpcyBpbiBpdHMgZGVmYXVsdCBzdGF0ZS5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvdXIwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgbGkubWVudS1lZ2ItaW1hZ2UtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuaXMtZHJvcGRvd24tc3VibWVudSB7XHJcbiAgICAgICAgLy8gT3ZlcnJpZGluZyBmb3VuZGF0aW9uJ3Mgc3R5bGVzLlxyXG4gICAgICAgIEBpZiBub3QgKCRtZW51LWVuYWJsZS1kcm9wZG93bi1mb290ZXIpIHtcclxuICAgICAgICAgICAgYm9yZGVyOiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBTdXJwcmVzc2luZyB0aGlzIGluIGZhdm91ciBpZiB1c2luZyBmbGV4Ym94IGFzIHdlIGN1cnJlbnRseSBkb250IG5lZWQgdGhpcyBjb21wbGV4aXR5LCB0aGlzIG9ubHkgY29uZnVzZXMgdGhpbmdzIHdoZW4gaGF2ZSB0byBoYW5kbGUgdGhlIHZpZXcgbW9yZSBpdGVtIGF0IHRoZW4gZW5kIG9mIGFcclxuICAgIC8vIC5tZWdhLW1lbnUtY29sdW1uLXNwYW4ge1xyXG4gICAgLy8gICAgID4gLnN1Ym1lbnUge1xyXG4gICAgLy8gICAgICAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgLy8gICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IHJlcGVhdCh2YXIoLS1tZWdhLW1lbnUtY29sdW1uLXdyYXApLCAxZnIpO1xyXG4gICAgLy8gICAgICAgICBncmlkLWF1dG8tZmxvdzogY29sdW1uO1xyXG4gICAgLy8gICAgICAgICBnYXA6IDAgc3BhY2luZy12YWx1ZSgkbWVnYS1tZW51LWRyb3Bkb3duLWd1dHRlciwgMik7XHJcbiAgICAvLyAgICAgfVxyXG4gICAgLy8gfVxyXG5cclxuICAgIC5tZW51IC5oYXMtY2xvbmVkLWdyb3VwcyB7XHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiA1cHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA1cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5tZWdhbWVudS1jb2x1bW4tY2xvbmVkLXNwYW4ge1xyXG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiByZXBlYXQodmFyKC0tbWVnYS1tZW51LWNvbHVtbi1jbG9uZWQtd3JhcCksIDFmcik7XHJcbiAgICAgICAgZ3JpZC1hdXRvLWZsb3c6IGNvbHVtbjtcclxuICAgICAgICBnYXA6IDAgc3BhY2luZy12YWx1ZSgkbWVnYS1tZW51LWRyb3Bkb3duLWd1dHRlciwgMik7XHJcbiAgICB9XHJcblxyXG4gICAgLmNoaWxkZnJlZS1wYXJlbnQge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIC5jb2x1bW4tc3Bhbm5lZCB7XHJcbiAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuY2xvbmVkLXRvLXNlcGVyYXRlLXJvdyB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICBsaS5pcy1zdWJtZW51LXBhcmVudC5hY2NvdW50LW1lbnUtY29udGFpbmVyIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgdWwuYWNjb3VudC1tZW51IHtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB0b3A6IDEwMCU7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgLy8gT3ZlcnJpZGUgZGVmYXVsdC5cclxuICAgICAgICAgICAgICAgIHdpZHRoOiBtYXAtZ2V0KCRhY2NvdW50LW1lbnUtd2lkdGgsIGxhcmdlKTtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIHVsLmFjY291bnQtbWVudSB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAgbWFwLWdldCgkYWNjb3VudC1tZW51LXBhZGRpbmcsIGxhcmdlKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAucGVyc2lzdGVudC1lYmctaW1hZ2VzIHtcclxuICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgIHVsLnN1Ym1lbnUge1xyXG4gICAgICAgICAgICAgICAgJiA+IGxpIHtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICYgPiBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIFN1cHByZXNzIGFueSBhcnJvd3MuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIC8vIExvd2VyIGxldmVsIGdyb3VwIGl0ZW1zIHRvIGJlIHN1cHByZXNzZWQuXHJcbiAgICAgICAgICAgICAgICAgICAgJiA+IHVsLnN1Ym1lbnUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAuaW1hZ2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogLjY7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgLmltYWdlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAucGVyc2lzdGVudC1lYmctaW1hZ2Uge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG8gI3tzcGFjaW5nLXZhbHVlKCRtZWdhLW1lbnUtcGFyZW50LXBhZGRpbmcsIDEsIGxhcmdlKX07XHJcbiAgICAgICAgICAgIEBpZiAoJHNtb290aC1lZGdlcy1lbmFibGVkKSB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDE1MHB4O1xyXG4gICAgICAgICAgICAgICAgQGlmICgkc21vb3RoLWVkZ2VzLWVuYWJsZWQpIHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLm1lZ2EtbWVudS1jb250YWluZXIsIC5oZWFkZXItbWVudS1yaWdodC1jb250YWluZXIge1xyXG4gICAgLy8gLS0tLS0gQmFja2dyb3VuZCBjb2xvdXIsIHRleHQgY29sb3VyLCBob3cgd2UgaGFuZGxlIEVHQiBncm91cCBjb2xvdXJzLiAtLS0tLVxyXG4gICAgLy8gQ2Fycnkgb3V0IHNvbWUgcHJlLXByb2Nlc3Npbmcgb2YgdGhlIGNvbG91cnMgdG8gdGVzdCB0aGUgbGVnaWJpbGl0eSBvZiB0aGUgY29udGVudCBhZ2FpbnN0IHRoZWlyIGJhY2tncm91bmRzLlxyXG4gICAgLy8gLS0tIEdyYW5kIHBhcmVudCBjb2xvdXJzLiAtLS1cclxuICAgIC8vIE1vYmlsZVxyXG4gICAgJG1vYmlsZS1ncmFuZC1wYXJlbnQtYmFja2dyb3VuZC1jb2xvdXI6IG1hcC1nZXQoJG1lbnVzLWJhY2tncm91bmQtY29sb3VyLCBzbWFsbCk7XHJcbiAgICAkbW9iaWxlLWdyYW5kLXBhcmVudC1jb2xvdXI6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1jb2xvdXIsIGRlZmF1bHQtc21hbGwpLCAkbW9iaWxlLWdyYW5kLXBhcmVudC1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAvLyBEZXNrdG9wXHJcbiAgICAvLyBEZWZhdWx0LlxyXG4gICAgJGdyYW5kLXBhcmVudC1iYWNrZ3JvdW5kLWNvbG91cjogbWFwLWdldCgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAkZ3JhbmQtcGFyZW50LWNvbG91cjogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWNvbG91ciwgZGVmYXVsdC1sYXJnZSksICRncmFuZC1wYXJlbnQtYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgLy8gSG92ZXIuXHJcbiAgICAkZ3JhbmQtcGFyZW50LWhvdmVyLWJhY2tncm91bmQtY29sb3VyOiBtYXAtZ2V0KCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWJhY2tncm91bmQtY29sb3VyLCBob3Zlcik7XHJcbiAgICAkZ3JhbmQtcGFyZW50LWhvdmVyLWNvbG91cjogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWNvbG91ciwgaG92ZXIpLCAkZ3JhbmQtcGFyZW50LWhvdmVyLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgIC8vIEFjdGl2ZS5cclxuICAgICRncmFuZC1wYXJlbnQtYWN0aXZlLWJhY2tncm91bmQtY29sb3VyOiBtYXAtZ2V0KCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWJhY2tncm91bmQtY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgJGdyYW5kLXBhcmVudC1hY3RpdmUtY29sb3VyOiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtY29sb3VyLCBhY3RpdmUpLCAkZ3JhbmQtcGFyZW50LWFjdGl2ZS1iYWNrZ3JvdW5kLWNvbG91cik7XHJcblxyXG4gICAgLy8gLS0tIFBhcmVudCBjb2xvdXJzIC0tLSBcclxuICAgICRwYXJlbnQtYmFja2dyb3VuZC1jb2xvdXI6ICRjb2xvdXIxO1xyXG4gICAgLy8gRGVmYXVsdC5cclxuICAgICRwYXJlbnQtY29sb3VyOiAgY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRtZWdhLW1lbnUtcGFyZW50LWNvbG91ciwgZGVmYXVsdCksICRwYXJlbnQtYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgLy8gSG92ZXIuXHJcbiAgICAkcGFyZW50LWNvbG91ci1ob3ZlcjogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRtZWdhLW1lbnUtcGFyZW50LWNvbG91ciwgaG92ZXIpLCAkcGFyZW50LWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgIC8vIEFjdGl2ZS5cclxuICAgICRwYXJlbnQtY29sb3VyLWFjdGl2ZTogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRtZWdhLW1lbnUtcGFyZW50LWNvbG91ciwgYWN0aXZlKSwgJHBhcmVudC1iYWNrZ3JvdW5kLWNvbG91cik7XHJcblxyXG4gICAgLy8gLS0tIENoaWxkIGNvbG91cnMgLS0tIFxyXG4gICAgLy8gVE9ETzpcclxuICAgIC8vIERlZmF1bHQuXHJcbiAgICAkY2hpbGQtY29sb3VyOiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJG1lZ2EtbWVudS1jaGlsZC1jb2xvdXIsIGxhcmdlLWRlZmF1bHQpLCAkcGFyZW50LWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgIC8vIEhvdmVyLiBcclxuICAgICRjaGlsZC1jb2xvdXItaG92ZXI6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkbWVnYS1tZW51LWNoaWxkLWNvbG91ciwgbGFyZ2UtaG92ZXIpLCAkcGFyZW50LWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgIC8vIEFjdGl2ZS5cclxuICAgICRjaGlsZC1jb2xvdXItYWN0aXZlOiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJG1lZ2EtbWVudS1jaGlsZC1jb2xvdXIsIGxhcmdlLWFjdGl2ZSksICRwYXJlbnQtYmFja2dyb3VuZC1jb2xvdXIpO1xyXG5cclxuICAgIEBtaXhpbiBncmFuZC1wYXJlbnQtYWN0aXZlLXN0eWxlcygpIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JhbmQtcGFyZW50LWFjdGl2ZS1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAvLyBPdmVycmlkaW5nIGZvdW5kYXRpb24uXHJcbiAgICAgICAgICAgIGNvbG9yOiAkZ3JhbmQtcGFyZW50LWFjdGl2ZS1jb2xvdXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgIC8vIEZvciB3aGVuIHdlIGRvbid0IGhhdmUgcmlnaHQgbWVudSBpbiB0aGUgaGVhZGVyLW1lbnUtaW5uZXItY29udGFpbmVyLlxyXG4gICAgICAgIEBpZiAkaGVhZGVyLWxvd2VyLWl0ZW0tZ3JvdyB7XHJcbiAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyAtLS0gTGV2ZWwgMiAtLS0gXHJcbiAgICAubGV2ZWwyIHtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIGxpIHtcclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICA+IGxpIHtcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjA7XHJcbiAgICAgICAgICAgICAgICAgICAgPiBhIHsgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIwOyAgXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuanMtZHJvcGRvd24tYWN0aXZlIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgdG9wOiAxMDAlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xyXG4gICAgICAgIG1pbi13aWR0aDogYXV0bztcclxuICAgIH1cclxuICAgIC8vIFByZXZlbnQgc3VibWVudSBmcm9tIGNoYW5naW5nIGNvbG91ciB3aGVuIGFjdGl2ZS5cclxuICAgIC5zdWJtZW51IHtcclxuICAgICAgICBsaS5pcy1hY3RpdmUge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBMZXZlbCAxICggR3JhbmRwYXJlbnQgKVxyXG4gICAgdWwubWVudSB7XHJcbiAgICAgICAgPiBsaSB7XHJcbiAgICAgICAgICAgIC8vIEVuZm9yY2UgYSBtYXhpbXVtIHdpZHRoIGZvciBlYWNoIG1lbnUgaXRlbSwgZXNzZW50aWFsbHkgZm9yY2luZyBhIGxpbmUgYnJlYWsuXHJcbiAgICAgICAgICAgIEBpZiAkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1tYXgtd2lkdGgge1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1tYXgtd2lkdGg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgQGlmICgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1ib3JkZXItcmFkaXVzKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtYm9yZGVyLXJhZGl1cztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIEBpZiAoJGhlYWRlci1sb3dlci1pdGVtLWdyb3cpIHtcclxuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogaWYoJGhlYWRlci1sb3dlci10ZXh0LWFsaWduID09IFwibGVmdFwiLGZsZXgtc3RhcnQsY2VudGVyKTtcclxuICAgICAgICAgICAgICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBAaWYgKGxhcmdlLXZhbHVlKCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LW1hcmdpbikpIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IGxhcmdlLXZhbHVlKCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LW1hcmdpbik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIEBpZiBub3QgKCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWJhY2tncm91bmQtY29sb3VyLXNob3ctb24tYW5jaG9yKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyYW5kLXBhcmVudC1ob3Zlci1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGlmICgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1iYWNrZ3JvdW5kLWNvbG91ci1zaG93LW9uLWFuY2hvcikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JhbmQtcGFyZW50LWhvdmVyLWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGdyYW5kLXBhcmVudC1ob3Zlci1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybyAje2lmKCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWJhY2tncm91bmQtY29sb3VyLXNob3ctb24tYW5jaG9yLCBcIixiYWNrZ3JvdW5kLWNvbG9yXCIgJHRyYW5zaXRpb25JbnRybywgJycpfTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBncmFuZC1wYXJlbnQtYWN0aXZlLXN0eWxlcygpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpZiAoJG1lbnUtZHJvcGRvd24tYXJyb3dzKSB7XHJcbiAgICAgICAgICAgICAgICAmLmlzLXN1Ym1lbnUtcGFyZW50IHtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWdlLW1lbnUtcm9vdC1kcm9wZG93bi1hcnJvdygkZ3JhbmQtcGFyZW50LWNvbG91ciwgJGdyYW5kLXBhcmVudC1ob3Zlci1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICBAaWYgKHNtYWxsLXZhbHVlKCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWFuY2hvci1tYXJnaW4pKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiBzbWFsbC12YWx1ZSgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1hbmNob3ItbWFyZ2luKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIEBpZiAoc21hbGwtdmFsdWUoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtcGFkZGluZykgIT0gJGdsb2JhbC1tZW51LWl0ZW0tcGFkZGluZykge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IHNtYWxsLXZhbHVlKCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LXBhZGRpbmcpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LXRleHQtdHJhbnNmb3JtO1xyXG4gICAgICAgICAgICAgICAgLy8gTGVhdmluZyBoZXJlIGZvciBiYWNrd2FyZHMgY29tcGF0aWJsaXR5LlxyXG4gICAgICAgICAgICAgICAgQGlmICgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1ib3JkZXItcmFkaXVzKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtYm9yZGVyLXJhZGl1cztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGlmIChsYXJnZS12YWx1ZSgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1hbmNob3ItbWFyZ2luKSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IGxhcmdlLXZhbHVlKCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWFuY2hvci1tYXJnaW4pO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiBtYXAtZ2V0KCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LXBhZGRpbmcsIGxhcmdlKTtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKG1hcC1nZXQoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtc2l6ZSwgbGFyZ2UpKTtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogbWFwLWdldCgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC13ZWlnaHQsIGxhcmdlKTtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogICRncmFuZC1wYXJlbnQtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246ICRoZWFkZXItbG93ZXItdGV4dC1hbGlnbjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAvLyBPdmVycmlkZSBnZW5lcmljIG9wYWNpdHkgaG92ZXIgZWZmZWN0IGFwcGxpZWQgdG8gYWxsIGFuY2hvcnMuXHJcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAvLyBMZXZlbCAyICggUGFyZW50IClcclxuICAgICAgICAgICAgPiB1bCB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gVXNlIHRoZSAkbWVnYS1tZW51LWRyb3Bkb3duLWZ1bGwtd2lkdGggZmxhZyB0byBvdmVycmlkZSB0aGUgd2lkdGggaWYgc2V0LlxyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAje2lmKCRtZWdhLW1lbnUtZHJvcGRvd24tZnVsbC13aWR0aCwgMTAwJSwgJG1lZ2EtbWVudS1kcm9wZG93bi13aWR0aCl9O1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IGxhcmdlLXZhbHVlKCRtZWdhLW1lbnUtbGV2ZWwtMi1wYWRkaW5nKTtcclxuICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiA1MDAwO1xyXG4gICAgICAgICAgICAgICAgICAgIEBpZiAoJG1lZ2EtbWVudS1sZXZlbC0yLWJvcmRlci13aWR0aCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6ICRtZWdhLW1lbnUtbGV2ZWwtMi1ib3JkZXItd2lkdGg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJG1lZ2EtbWVudS1sZXZlbC0yLWJvcmRlci1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICBAaWYgKCRtZWdhLW1lbnUtbGV2ZWwtMi1ib3gtc2hhZG93KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6ICRtZWdhLW1lbnUtbGV2ZWwtMi1ib3gtc2hhZG93O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICA+IGxpIHtcclxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICAgICAgQGlmIChtYXAtZ2V0KCRtZWdhLW1lbnUtcGFyZW50LWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRtZWdhLW1lbnUtcGFyZW50LWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgQGlmIChzbWFsbC12YWx1ZSgkbWVnYS1tZW51LXBhcmVudC1tYXJnaW4pKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogc21hbGwtdmFsdWUoJG1lZ2EtbWVudS1wYXJlbnQtbWFyZ2luKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBAaWYgKGxhcmdlLXZhbHVlKCRtZWdhLW1lbnUtcGFyZW50LW1hcmdpbikgb3Igc21hbGwtdmFsdWUoJG1lZ2EtbWVudS1wYXJlbnQtbWFyZ2luKSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiBsYXJnZS12YWx1ZSgkbWVnYS1tZW51LXBhcmVudC1tYXJnaW4pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfSAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAobWFwLWdldCgkbWVnYS1tZW51LXBhcmVudC1iYWNrZ3JvdW5kLWNvbG91ciwgaG92ZXIpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRtZWdhLW1lbnUtcGFyZW50LWJhY2tncm91bmQtY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gPiBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gICAgIGNvbG9yOiAkcGFyZW50LWNvbG91ci1ob3ZlcjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAvLyBDaGFuZ2luZyB0aGUgbG9naWMgaGVyZSB0byBvbmx5IHB1dCBob3ZlciB0ZXh0IGNvbG91ciB3aGVuIHBhcmVudCBncm91cCBpcyBob3ZlcmVkIGFzIHJlcXVlc3QgZnJvbSB0aGUgUUMgb24gODE5NjA2LlxyXG4gICAgICAgICAgICAgICAgICAgICYgPiBhOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRwYXJlbnQtY29sb3VyLWhvdmVyO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAobWFwLWdldCgkbWVnYS1tZW51LXBhcmVudC1iYWNrZ3JvdW5kLWNvbG91ciwgYWN0aXZlKSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkbWVnYS1tZW51LXBhcmVudC1iYWNrZ3JvdW5kLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAmID4gYTphY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHBhcmVudC1jb2xvdXItYWN0aXZlO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWdhLW1lbnUtbGV2ZWwtMi1hbmNob3IoJHBhcmVudC1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLy8gbGV2ZWwgM1xyXG4gICAgICAgICAgICAgICAgdWwge1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAvL092ZXJyaWRpbmcgZm91bmRhdGlvbi5cclxuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogYXV0byFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICYuY2hpbGRmcmVlLXBhcmVudHMtbWVudSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgID4gbGkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVnYS1tZW51LWxldmVsLTItYW5jaG9yKCRwYXJlbnQtY29sb3VyKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBsaSwgbGkuaXMtZHJvcGRvd24tc3VibWVudS1pdGVtIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBUbyBrZWVwIHRvcCBhbmQgYm90dG9tIGNvbnNpc3RlbnQuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogc3BhY2luZy12YWx1ZSgkbWVnYS1tZW51LXBhcmVudC1wYWRkaW5nLCAxLCBsYXJnZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjaGlsZC1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogbGFyZ2UtdmFsdWUoJG1lZ2EtbWVudS1jaGlsZC1wYWRkaW5nKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKGxhcmdlLXZhbHVlKCRtZWdhLW1lbnUtY2hpbGQtc2l6ZSkpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBsYXJnZS12YWx1ZSgkbWVnYS1tZW51LWNoaWxkLWZvbnQtd2VpZ2h0KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMThweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIsICY6aG92ZXI6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNoaWxkLWNvbG91ci1ob3ZlcjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6YWN0aXZlLCAmOmFjdGl2ZTpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY2hpbGQtY29sb3VyLWFjdGl2ZTsgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gVmlldyBtb3JlIGJ1dHRvbi5cclxuICAgICAgICAgICAgICAgICAgICAgICAgLm1lZ2EtbWVudS12aWV3LW1vcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChzbWFsbC12YWx1ZSgkbWVnYS1tZW51LXZpZXctbW9yZS1tYXJnaW4pKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiBzbWFsbC12YWx1ZSgkbWVnYS1tZW51LXZpZXctbW9yZS1tYXJnaW4pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRtZWdhLW1lbnUtdmlldy1tb3JlLWZvbnQtd2VpZ2h0OyBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc3R5bGU6ICRtZWdhLW1lbnUtdmlldy1tb3JlLWZvbnQtc3R5bGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYgKCRtZWdhLW1lbnUtdmlldy1tb3JlLWZvbnQtc2l6ZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJG1lZ2EtbWVudS12aWV3LW1vcmUtZm9udC1zaXplKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBkZWZhdWx0LWNvbG91cigkbWVnYS1tZW51LXZpZXctbW9yZS1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAobGFyZ2UtdmFsdWUoJG1lZ2EtbWVudS12aWV3LW1vcmUtbWFyZ2luKSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IGxhcmdlLXZhbHVlKCRtZWdhLW1lbnUtdmlldy1tb3JlLW1hcmdpbik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IGhvdmVyLWNvbG91cigkbWVnYS1tZW51LXZpZXctbW9yZS1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbi0tLS0tIFByb2R1Y3QgTGlzdCAtLS0tLVxyXG5IYW5kbGVzIHRoZSBmb2xsb3dpbmc6IFxyXG4tIFZhcmlvdXMgbGlzdCB2aWV3czpcclxuICAtIFRhYmxlXHJcbiAgLSBHcmlkXHJcbi0gQW55d2hlcmUgYSBwcm9kdWN0IGxpc3QgaXMgc2hvdyAoIHNlYXJjaCByZXN1bHRzLCBwcm9kdWN0IGJ5IGdyb3VwLCBhY2NvdW50IGFyZWEgcGFnZXMgKSB0aGlzIGNvZGUgd2lsbCBiZSB1c2VkLlxyXG4tIFRoaXMgZmlsZSBpcyBOT1QgZGVkaWNhdGVkIHRvIGZpbHRlcnMgY29uc3VsdCBmaWx0ZXIuc2NzcyBmb3IgdGhhdC5cclxuLSBBbGwgc29ydGluZyBvcHRpb25zICggaXRlbXMgcGVyIHBhZ2VzLCB2aWV3IHNlbGVjdGlvbiwgcGFnaW5hdGlvbiwgaXRlbXMgZm91bmQgJiBzb3J0IGJ5IClcclxuLSBObyByZXN1bHRzIGZvdW5kLlxyXG4qL1xyXG5cclxuI2Jlc3Bva2Utc2VhcmNoLXJlc3VsdHMtY29udGFpbmVyIHtcclxuICAgIC8vIEZvciBTaXRlIFNlYXJjaCAzNjAgdGhleSB1c2UgYSBoMiBpbnN0ZWFkIG9mIGEgaDEgZm9yIHNob3dpbmcgdGhlIHF1ZXJ5IHlvdSBzZWFyY2hlZCBmb3IuXHJcbiAgICBoMiB7XHJcbiAgICAgICAgbWFyZ2luOiAkaGVhZGluZy0xLW1hcmdpbjtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRpbmctMS1mb250LXNpemUsIHByZXNldC0xKSk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJGhlYWRpbmctMS1mb250LXdlaWdodCwgcHJlc2V0LTEpO1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBtYXAtZ2V0KCRoZWFkaW5nLTEtdGV4dC10cmFuc2Zvcm0sIHByZXNldC0xKTtcclxuICAgICAgICBAaWYgbWFwLWdldCgkaGVhZGluZy0xLXVuZGVybGluZSwgcHJlc2V0LTEpIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgaGVhZGluZ1VuZGVyTGluZSgxLCBtYXAtZ2V0KCRoZWFkaW5nLTEtY29sb3VyLCBkZWZhdWx0KSwgJGhlYWRpbmctMS1ydWxlLWNvbG91cik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uc2VhcmNoLXJlc3VsdHMtc3VnZ2VzdGlvbnMge1xyXG4gICAgbWFyZ2luOiAwIDAgMzBweDtcclxuICAgIHVsIHtcclxuICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICAgIHVsIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICAgICAgbWFyZ2luOiBsYXJnZS12YWx1ZSgkcmVjb21tZW5kZWQtcmVzdWx0cy1tYXJnaW4pO1xyXG4gICAgICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgICAgICBmbGV4OiAwIDAgMTAwJTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMDtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG4gICAgICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDJuKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRyZWNvbW1lbmRlZC1yZXN1bHRzLWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZmxleDogMCAwIDMzLjMlO1xyXG4gICAgICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDZuKzMpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHJlY29tbWVuZGVkLXJlc3VsdHMtYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDZuKzIpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHJlY29tbWVuZGVkLXJlc3VsdHMtYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDZuKzEpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHJlY29tbWVuZGVkLXJlc3VsdHMtYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICAgICAgfSBcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgYS5zdWdnZXN0aW9uIHtcclxuICAgICAgICBwYWRkaW5nOiBsYXJnZS12YWx1ZSgkcmVjb21tZW5kZWQtcmVzdWx0cy1pdGVtLXBhZGRpbmcpO1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRyZWNvbW1lbmRlZC1yZXN1bHRzLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkcmVjb21tZW5kZWQtcmVzdWx0cy1iYWNrZ3JvdW5kLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRyZWNvbW1lbmRlZC1yZXN1bHRzLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnRoaXJkLXBhcnR5LXJlc3VsdHMtY29udGFpbmVyIHtcclxuICAgICAgICBnYXA6IDA7XHJcbiAgICAgICAgbWFyZ2luOiBsYXJnZS12YWx1ZSgkcmVjb21tZW5kZWQtcmVzdWx0cy1tYXJnaW4pO1xyXG5cclxuICAgICAgICAuZGVzY3JpcHRpb24tY29udGFpbmVyIHAge1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgMCA1cHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5kZXNjcmlwdGlvbi1jb250YWluZXIsIC5zbmlwcGV0LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIHAge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIFxyXG4gICAgLnJlc3VsdC1jb250YWluZXIge1xyXG4gICAgICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICAgICAgJjpudGgtY2hpbGQob2RkKSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRyZWNvbW1lbmRlZC1yZXN1bHRzLWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnNlY3Rpb24tZGVzY3JpcHRpb24ge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcclxufVxyXG5cclxuLnNlY3Rpb24taGVhZGluZyB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgbWFyZ2luOiAwIDAgMjBweDtcclxuICAgIHBhZGRpbmc6IDEwcHggMTVweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWN0aW9uLWhlYWRpbmctYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICBjb2xvcjogJHNlY3Rpb24taGVhZGluZy1jb2xvdXI7XHJcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKCRzZWN0aW9uLWhlYWRpbmctZm9udC1zaXplKTtcclxuICAgIGZvbnQtc3R5bGU6ICRzZWN0aW9uLWhlYWRpbmctZm9udC1zdHlsZTtcclxuICAgIGZvbnQtd2VpZ2h0OiAkc2VjdGlvbi1oZWFkaW5nLWZvbnQtd2VpZ2h0O1xyXG4gICAgQGlmICgkc2VjdGlvbi1oZWFkaW5nLXRleHQtYWxpZ24pIHtcclxuICAgICAgICB0ZXh0LWFsaWduOiAkc2VjdGlvbi1oZWFkaW5nLXRleHQtYWxpZ247XHJcbiAgICB9XHJcbiAgICBAaWYgKCRzZWN0aW9uLWhlYWRpbmctbGV0dGVyLXNwYWNpbmcpIHtcclxuICAgICAgICBsZXR0ZXItc3BhY2luZzogJHNlY3Rpb24taGVhZGluZy1sZXR0ZXItc3BhY2luZztcclxuICAgIH1cclxuICAgIEBpZiAoJHNlY3Rpb24taGVhZGluZy10ZXh0LXRyYW5zZm9ybSkge1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiAkc2VjdGlvbi1oZWFkaW5nLXRleHQtdHJhbnNmb3JtO1xyXG4gICAgfVxyXG4gICAgQGlmIHNtb290aC1lZGdlcygpIHtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgIH1cclxuICAgIEBpZiAoJHNlY3Rpb24taGVhZGluZy1ib3JkZXItd2lkdGgpIHtcclxuICAgICAgICBib3JkZXItd2lkdGg6ICRzZWN0aW9uLWhlYWRpbmctYm9yZGVyLXdpZHRoO1xyXG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkc2VjdGlvbi1oZWFkaW5nLWJvcmRlci1jb2xvdXI7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgcGFkZGluZzogMTVweCAyMHB4O1xyXG4gICAgfVxyXG4gICAgcCB7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4jcHJvZHVjdC1saXN0IHtcclxuICAgICNncm91cERhdGEge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbiNwcm9kdWN0TGlzdEl0ZW0ge1xyXG4gICAgLmdyaWQteCAuY2VsbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgxMiwgJGd1dHRlcnM6IChzbWFsbDogMTBweCxsYXJnZTogMzBweCkpO1xyXG4gICAgfVxyXG59XHJcblxyXG4ubGlzdGluZy1jb250YWluZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IGZpdC1jb250ZW50O1xyXG4gICAgLy8gTWFyZ2luIGlzIGFscmVhZHkgYmVpbmcgc2V0IG15IC5ncmlkLXg6bm90KC5ncmlkLW1hcmdpbi14KSwgdGhpcyBoYXMgbXVjaCBncmVhdGVyIGFmZmVjdHMgaWYgdGhpcyBpcyBjaGFuZ2VkLlxyXG4gICAgLy8gS2VlcHMgY29uc2lzdGVudCBzcGFjaW5nIHdpdGggbW9kdWxlcy5cclxuICAgIHBhZGRpbmc6IHNtYWxsLXZhbHVlKCRtb2R1bGVzLW1vZHVsZS1tYXJnaW4pIDA7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgcGFkZGluZzogbGFyZ2UtdmFsdWUoJG1vZHVsZXMtbW9kdWxlLW1hcmdpbikgMDtcclxuICAgIH1cclxufVxyXG5cclxuLmNvbnRlbnRDb250YWluZXIge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgLy8gVG8gcHJldmVudCB0aGUgbmV3ICYgb2xkIGNvbnRlbnQgZnJvbSBiZWluZyBkaXNwbGF5ZWQgYXQgdGhlIHNhbWUgdGltZS5cclxuICAgICZbZGF0YS1jb250ZW50LXVwZGF0aW5nPXRydWVdIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xyXG4gICAgfVxyXG4gICAgI2F0dHJpYnV0ZS1maWx0ZXJzLWZvcm0ge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAkZmlsdGVycy1kZXNrdG9wLWNvbnRhaW5lci1tYXgtd2lkdGg7XHJcbiAgICAgICAgICAgIC8vIFVzaW5nIHBlcnNlbnRhZ2UgdG8gdHJ5IGFuZCBnZXQgYmFjayBzb21lIG1vcmUgc3BhY2UgYmV0d2VlbiBsYXJnZSBhbmQgeHhsYXJnZVxyXG4gICAgICAgICAgICBwYWRkaW5nOiAwIDElIDAgMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuYXR0cmlidXRlTGlzdHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAoJGZpbHRlcnMtZGVza3RvcC1hdHRyaWJ1dGUtbGlzdC13aWR0aCAtIDYwKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6ICRmaWx0ZXJzLWRlc2t0b3AtYXR0cmlidXRlLWxpc3Qtd2lkdGg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgI3Byb2R1Y3RMaXN0SXRlbXMge1xyXG4gICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcclxuICAgICAgICAuc3ViLWhlYWRpbmctY29udGFpbmVyIHtcclxuICAgICAgICAgICAgaDIge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gVXNlIHRoZSAucHJvZHVjdC1ncmlkLW1vZHVsZSBpbnN0ZWFkLlxyXG4gICAgLy8gI3Byb2R1Y3RMaXN0SXRlbXMuZ3JpZCB7XHJcbiAgICAvLyAgICAgLy8gVE9ETzogdjIgY2FuIGdvIGFmdGVyIG1vZHVsZXMgcmVmYWN0b3IgY29tcGxldGUuLi4uXHJcbiAgICAvLyAgICAgQGluY2x1ZGUgcHJvZHVjdC1jb2xsZWN0aW9uLWNlbGwoaWYoJGNvbGxlY3Rpb24tZWJnLWdyaWQtc3VwcHJlc3MtYmFja2dyb3VuZCwgdHJ1ZSwgZmFsc2UpLCB0cnVlKTtcclxuICAgIC8vIH1cclxuICAgIC8vIFN0eWxlcyBzcGVjaWZpYyB0byB0aGUgcHJvZHVjdCBsaXN0LlxyXG4gICAgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcclxuICAgICAgICAmLnNlcGVyYXRvciAucm93Q29udGFpbmVyIHtcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7XHJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMXB4O1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjMtMTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLm9kZEV2ZW4gPiBkaXZbY2xhc3MqPVwibGFyZ2UtXCJdIHtcclxuICAgICAgICAgICAgJjpudGgtY2hpbGQoZXZlbikge1xyXG4gICAgICAgICAgICAgICAgLnJvd0NvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByb2R1Y3QtbGlzdC1saXN0LWl0ZW0tZXZlbi1iYWNrZ3JvdW5kLWNvbG9yO1xyXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZHVjdC1saXN0LWxpc3QtaXRlbS1ob3Zlci1iYWNrZ3JvdW5kLWNvbG9yO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLm9kZEV2ZW4ge1xyXG4gICAgICAgICAgICAubGlzdC1jYXRlZ29yeS1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgJiA+IGRpdltjbGFzcyo9XCJsYXJnZS1cIl0ge1xyXG4gICAgICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKGV2ZW4pIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLnJvd0NvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZHVjdC1saXN0LWxpc3QtaXRlbS1ldmVuLWJhY2tncm91bmQtY29sb3I7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZHVjdC1saXN0LWxpc3QtaXRlbS1ob3Zlci1iYWNrZ3JvdW5kLWNvbG9yO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6bm90KC5zZXBlcmF0b3IpLCAmOm5vdCgub2RkRXZlbikge1xyXG4gICAgICAgICAgICAucm93Q29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgICAgICAgICAuZGVzY3JpcHRpb24gYSBoMyB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5zdWItaGVhZGluZy1jb250YWluZXIge1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgMCAxMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBJZ25vcmUgdGhlIGZpcnN0IHJvdyBmb3IgYXNzaWduaW5nIHRoZSBtYXJnaW4gYWJvdmUgdGhlIHN1Yi1oZWFkaW5nIGFzIHRoZSBkZXNpZ24gZG9lc24ndCByZXF1aXJlIGl0IDgzMTc1Ni5cclxuICAgICAgICA+IGRpdjpub3QoOm50aC1jaGlsZCgxKSkgfiBkaXYge1xyXG4gICAgICAgICAgICAuc3ViLWhlYWRpbmctY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMzBweCAwIDEwcHg7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAzMHB4IDAgMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgICAgICAuaGVhZENvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwYXJhZ3JhcGgtZm9udC1zaXplKTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6IGdldC10eXBvZ3JhcGh5LWZvbnQtZmFtaWx5KCk7XHJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMXB4O1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIzLTI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcCB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiBtYXAtZ2V0KCR0aGVhZC1wcmVzZXQtMSwgcGFkZGluZyk7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKG1hcC1nZXQoJHRoZWFkLXByZXNldC0xLCBmb250LXNpemUpKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCR0aGVhZC1wcmVzZXQtMSwgZm9udC13ZWlnaHQpO1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICR0aGVhZC10aC1jb21tb24tZm9udC1mYW1pbHk7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkdGhlYWQtcHJlc2V0LTEsIGNvbG9yKTtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IG1hcC1nZXQoJHRoZWFkLXByZXNldC0xLCB0ZXh0LWFsaWduKTsgXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmRlc2NyaXB0aW9uLWNvbCB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogNTUlO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICAgICAgICAgICAgICAvLyBmbGV4OiAxO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLy8gUmVtb3ZpbmcgYWJzb2x1dGUgd2lkdGhzIGR1ZSB0byB0b28gbWFueSB3YXlzIG9mIGRpc3BsYXlpbmcgdGhpcyB0YWJsZS5cclxuICAgICAgICAgICAgICAgIC8vIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIC8vICAgICBtYXgtd2lkdGg6IDM1NnB4O1xyXG4gICAgICAgICAgICAgICAgLy8gfVxyXG4gICAgICAgICAgICAgICAgLy8gQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIC8vICAgICBtYXgtd2lkdGg6IDQ0MHB4O1xyXG4gICAgICAgICAgICAgICAgLy8gfVxyXG4gICAgICAgICAgICAgICAgcCB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuY29kZS1jb2wge1xyXG4gICAgICAgICAgICAgICAgLy8gdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgLy8gZmxleC1ncm93OiAxO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBsYXJnZS12YWx1ZSgkcHJvZHVjdC1saXN0LWxpc3QtaXRlbS1jb2RlLXdpZHRoKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHAge1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogbGFyZ2UtdmFsdWUoJHByb2R1Y3QtbGlzdC1saXN0LWl0ZW0tY29kZS1wYWRkaW5nKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAucHJpY2UtY29sIHtcclxuICAgICAgICAgICAgICAgIC8vIHdpZHRoOiAxNSU7XHJcbiAgICAgICAgICAgICAgICAvLyB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAvLyBTdXBwcmVzc2luZyBpbiBmYXZvdXIgb2YgbGV0dGluZyB0aGUgZGVzY3JpcHRpb24gY29sdW1uIGZsb3cuXHJcbiAgICAgICAgICAgICAgICAvLyAmICsgLnF1YW50aXR5LWNvbnRhaW5lci1jb2wge1xyXG4gICAgICAgICAgICAgICAgLy8gICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICAgICAgICAgIC8vIH1cclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogbGFyZ2UtdmFsdWUoJHByb2R1Y3QtbGlzdC1saXN0LWl0ZW0tcHJpY2UtY29sLXdpZHRoKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHAge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IGxhcmdlLXZhbHVlKCRwcm9kdWN0LWxpc3QtbGlzdC1pdGVtLXByaWNlLWNvbC1wYWRkaW5nKTtcclxuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgLnF1YW50aXR5LWNvbnRhaW5lci1jb2wge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogJHRhYmxlLWl0ZW0tY29udHJvbHMtY29udGFpbmVyLXdpZHRoO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5xdWFudGl0eS1jb2wge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgICAgICAgICAgICAgLy8gZmxleC1ncm93OiAxO1xyXG4gICAgICAgICAgICAgICAgLy8gd2lkdGg6IDE0LjUlO1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBsYXJnZS12YWx1ZSgkcHJvZHVjdC1saXN0LWxpc3QtaXRlbS1xdWFudGl0eS1jb2wtd2lkdGgpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5iYXNrZXQtY29sIHtcclxuICAgICAgICAgICAgICAgIC8vIHdpZHRoOiA5LjUlO1xyXG4gICAgICAgICAgICAgICAgLy8gbWluLXdpZHRoOiAyNSU7XHJcbiAgICAgICAgICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmZhdm91cml0ZS1jb2wge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6ICRmYXZvdXJpdGVzLWNvbC1kZXNrdG9wLXdpZHRoO1xyXG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiA5MHB4O1xyXG4gICAgICAgICAgICAgICAgLy8gd2lkdGg6IDkuNSU7XHJcbiAgICAgICAgICAgICAgICAvLyBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAubG9naW4tY29sLCAuZW5xdWlyeS1jb2wge1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAkbG9naW4tc3RvY2tsaW5lLXdpZHRoO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAvLyB3aWR0aDogMzQlO1xyXG4gICAgICAgICAgICAgICAgLy8gZmxleC1ncm93OiAxO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMCBhdXRvO1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5xdWFudGl0eSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTIlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5iYXNrZXQsIC5mYXZvdXJpdGUge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDklO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5yb3dDb250YWluZXIge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAvL2ZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICAgICAgcGFkZGluZzogMTBweDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgZ3JpZC10YWJsZS1sYXlvdXQtbW9iaWxlKCk7XHJcbiAgICAgICAgICAgIEBpZiAoc21vb3RoLWVkZ2VzKCkpIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25PdXRybywgYm94LXNoYWRvdyAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcclxuICAgICAgICAgICAgICAgIGdhcDogMDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogJHByb2R1Y3QtbGlzdC1saXN0LXZpZXctcm93LW1hcmdpbjtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRwcm9kdWN0LWxpc3QtbGlzdC12aWV3LXJvdy1wYWRkaW5nO1xyXG4gICAgICAgICAgICB9IFxyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcm9kdWN0LWxpc3QtbGlzdC1pdGVtLWhvdmVyLWJhY2tncm91bmQtY29sb3I7XHJcbiAgICAgICAgICAgICAgICBAaWYgJHByb2R1Y3QtbGlzdC1pdGVtLWhvdmVyLWJveC1zaGFkb3cge1xyXG4gICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6ICRwcm9kdWN0LWxpc3QtbGlzdC1pdGVtLWhvdmVyLWJveC1zaGFkb3c7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICBAaWYgKCRjb2xsZWN0aW9uLWhvdmVyLWltYWdlLXNjYWxlICE9IDApIHtcclxuICAgICAgICAgICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKCRjb2xsZWN0aW9uLWhvdmVyLWltYWdlLXNjYWxlKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgID4gYTpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAkdGFibGUtaW1hZ2Utc2l6ZTtcclxuICAgICAgICAgICAgICAgICAgICAvLyBDYW5ub3QgcHJldmVudCBoZWlnaHQgZHVlIHRvIG5lZWRpbmcgdG8gc3VwcG9ydCByZWN0YW5nbGUgaW1hZ2VzLlxyXG4gICAgICAgICAgICAgICAgICAgIC8vIGhlaWdodDogJHRhYmxlLWltYWdlLXNpemU7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiBzcGFjaW5nLXZhbHVlKCRwcm9kdWN0LWxpc3QtbGlzdC1pdGVtLWRlc2NyaXB0aW9uLW1hcmdpbiwgMSwgbGFyZ2UpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuaW1hZ2Uge1xyXG4gICAgICAgICAgICAgICAgLS1tZWRpYS1hc3BlY3QtcmF0aW86ICN7JHByb2R1Y3QtaW1hZ2UtYXNwZWN0LXJhdGlvfTtcclxuICAgICAgICAgICAgICAgIC8vIERvbid0IGZpdC1jb250ZW50IGR1ZSB0byBleHRlcm5hbCBkYXRhIHN1cHBseWluZyB2YXJpb3VzIHNpemVzLlxyXG4gICAgICAgICAgICAgICAgLy8gd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgICAgICAgICAgICAgLy8gQWRkaW5nIDJweCB0byBhbGxvdyBmb3IgdGhlIGJvcmRlciB0byBwcmV2ZW50IHRoZSBicm93c2VyIGZyb20gc2NhbGluZyB0aGUgaW1hZ2UuXHJcbiAgICAgICAgICAgICAgICAvLyB3aWR0aDogKCRwcm9kdWN0LWxpc3QtbGlzdC1pdGVtLWltYWdlLXdpZHRoICsgMik7XHJcbiAgICAgICAgICAgICAgICAvLyB3aWR0aDogJHRhYmxlLWltYWdlLXNpemU7XHJcbiAgICAgICAgICAgICAgICAvLyBoZWlnaHQ6ICR0YWJsZS1pbWFnZS1zaXplO1xyXG4gICAgICAgICAgICAgICAgLy8gbWFyZ2luOiAwIDQwcHggMCAwO1xyXG4gICAgICAgICAgICAgICAgQGlmICgkY29sbGVjdGlvbi1ob3Zlci1pbWFnZS1zY2FsZSAhPSAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogJGNvbGxlY3Rpb24taG92ZXItaW1hZ2UtcGFkZGluZztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGJvcmRlcjogJHByb2R1Y3QtbGlzdC1pdGVtLWltYWdlLWJvcmRlcjtcclxuICAgICAgICAgICAgICAgIEBpZiAoc21vb3RoLWVkZ2VzKCkpIHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgb3JkZXI6ICRwcm9kdWN0LWxpc3QtaW1hZ2Utb3JkZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gbWFyZ2luOiAwIDEwcHggMCAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC8vIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAvLyAgICAgbWFyZ2luOiAwIDQwcHggMCAwO1xyXG4gICAgICAgICAgICAgICAgLy8gfVxyXG4gICAgICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgQGlmIChzbW9vdGgtZWRnZXMoKSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5kZXNjcmlwdGlvbi1jb2wge1xyXG4gICAgICAgICAgICAgICAgLy93aWR0aDogNjAlO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgICAgICBnYXA6ICRwcm9kdWN0LWxpc3QtbGlzdC1pdGVtLWRlc2NyaXB0aW9uLWdhcDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogc21hbGwtdmFsdWUoJHByb2R1Y3QtbGlzdC1saXN0LWl0ZW0tZGVzY3JpcHRpb24tbWFyZ2luKTtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgICAgICAgICBvcmRlcjogJHByb2R1Y3QtbGlzdC1kZXNjcmlwdGlvbi1vcmRlcjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAvLyB3aWR0aDogMzE1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gZmxleC1ncm93OiAxO1xyXG4gICAgICAgICAgICAgICAgICAgIGZsZXg6IDE7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiBsYXJnZS12YWx1ZSgkcHJvZHVjdC1saXN0LWxpc3QtaXRlbS1kZXNjcmlwdGlvbi1tYXJnaW4pO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgaDMge1xyXG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogMjQ1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkcGFyYWdyYXBoLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBwcm9kdWN0LWNvbGxlY3Rpb24tZ3JvdXAtZGVzY3JpcHRpb24tdHlwb2dyYXBoeSgpO1xyXG4gICAgICAgICAgICAgICAgLnNwZWNpZmljYXRpb24ge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHByb2R1Y3QtbGlzdC1pdGVtLXNwZWNpZmljYXRpb24tZm9udC1zaXplKTtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJHByb2R1Y3QtbGlzdC1pdGVtLXNwZWNpZmljYXRpb24tZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRwcm9kdWN0LWxpc3QtaXRlbS1zcGVjaWZpY2F0aW9uLWNvbG91cjtcclxuICAgICAgICAgICAgICAgICAgICBwIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuY29kZS1jb2wge1xyXG4gICAgICAgICAgICAgICAgLy8gd2lkdGg6IDQwJTtcclxuICAgICAgICAgICAgICAgIC8vIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICAgICAgICAgIC8vIG1hcmdpbjogMCAwIDIwcHg7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwYXJhZ3JhcGgtZm9udC1zaXplKTtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgICAgICAgICBvcmRlcjogJHByb2R1Y3QtbGlzdC1jb2RlLW9yZGVyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkgIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogbGFyZ2UtdmFsdWUoJHByb2R1Y3QtbGlzdC1saXN0LWl0ZW0tY29kZS13aWR0aCk7XHJcbiAgICAgICAgICAgICAgICAgICAgZmxleC1ncm93OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiBsYXJnZS12YWx1ZSgkcHJvZHVjdC1saXN0LWxpc3QtaXRlbS1jb2RlLXBhZGRpbmcpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnByaWNlLWNvbCB7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDMyMHB4O1xyXG4gICAgICAgICAgICAgICAgLy8gd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAvLyBtYXJnaW46IDIwcHggMDtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHBhcmFncmFwaC1mb250LXNpemUpO1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgICAgICAgICBvcmRlcjogJHByb2R1Y3QtbGlzdC1wcmljZS1vcmRlcjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpICB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBsYXJnZS12YWx1ZSgkcHJvZHVjdC1saXN0LWxpc3QtaXRlbS1wcmljZS1jb2wtd2lkdGgpO1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IGxhcmdlLXZhbHVlKCRwcm9kdWN0LWxpc3QtbGlzdC1pdGVtLXByaWNlLWNvbC1wYWRkaW5nKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC8vIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICAvLyAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICAgICAgICAgIC8vIH1cclxuICAgICAgICAgICAgICAgIC8vICYgKyAucXVhbnRpdHktY29udGFpbmVyLWNvbCwgJiArIC5xdWFudGl0eS1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgLy8gICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICAgICAgICAgIC8vIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAubG9naW4tY29sLCAuZW5xdWlyeS1jb2wge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAvLyBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgICAgICAgICAvLyBtYXJnaW46IDAgMCAwIDEwcHg7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgb3JkZXI6ICRwcm9kdWN0LWxpc3Qtbm90LWxvZ2dlZC1pbi1vcmRlcjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6ICRsb2dpbi1zdG9ja2xpbmUtd2lkdGg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAvLyAubm90LWxvZ2dlZC1pbi1jb250YWluZXIsIC5lbnF1aXJ5LWJ1dHRvbi1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgLy8gICAgIG1heC13aWR0aDogJHByb2R1Y3QtbGlzdC1saXN0LWl0ZW0tbG9nZ2luLWJ1dHRvbi13aWR0aDtcclxuICAgICAgICAgICAgICAgIC8vIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuaW50ZXJhY3RpdmUtY29udGVudCwgLnF1YW50aXR5LWNvbnRhaW5lciwgLmxvZ2luLWNvbCwgLmVucXVpcnktY29sLCAuc3RvY2tsaW5lLWNvbCB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmxvZ2luLWNvbCwgLmVucXVpcnktY29sLCAuc3RvY2tsaW5lLWNvbCB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuc3RvY2tsaW5lLWNvbCB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6ICRsb2dpbi1zdG9ja2xpbmUtd2lkdGg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAvLyBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgICAgICAgICAvLyBtYXJnaW46IDAgMCAwIDEwcHg7XHJcbiAgICAgICAgICAgICAgICAvLyAuc3RvY2tsaW5lLXZpZXctYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgIC8vICAgICBtYXgtd2lkdGg6ICRwcm9kdWN0LWxpc3QtbGlzdC1pdGVtLXN0b2NrbGluZS1idXR0b24td2lkdGg7XHJcbiAgICAgICAgICAgICAgICAvLyB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnF1YW50aXR5LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgZ2FwOiAwIDIwcHg7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgb3JkZXI6ICRwcm9kdWN0LWxpc3QtcXVhbnRpdHktcHJpY2UtZmF2b3VyaXRlcy1vcmRlcjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpICB7XHJcbiAgICAgICAgICAgICAgICAgICAgLy9tYXgtd2lkdGg6ICRwcm9kdWN0LWxpc3QtbGlzdC1xdWFudGl0eS1kZXNrdG9wLW1heC13aWR0aDtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogJHRhYmxlLWl0ZW0tY29udHJvbHMtY29udGFpbmVyLXdpZHRoO1xyXG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgICAgICAgICAgICAgICAgICBnYXA6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAubGFiZWwge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAucXVhbnRpdHktc2VsZWN0b3ItY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBsYXJnZS12YWx1ZSgkcHJvZHVjdC1saXN0LWxpc3QtaXRlbS1xdWFudGl0eS1jb2wtd2lkdGgpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAvLyBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgICAgICAgICAgICAgLmNvbnRyb2wuc2VsZWN0IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDkwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0byBhdXRvIGF1dG8gMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9IFxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5pbnB1dC1udW1iZXItZ3JvdXAge1xyXG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5xdWFudGl0eS1mcmVlLXRleHQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBsYXJnZS12YWx1ZSgkcHJvZHVjdC1saXN0LWxpc3QtaXRlbS1xdWFudGl0eS1jb2wtd2lkdGgpOztcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAuYWRkLWJ1dHRvbi1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIHdpZHRoOiAzMyU7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgLmFkZFRvQmFza2V0IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gU3VwcmVzc2luZyBpbmZhdm91ciBvZiB1c2luZyBmbGV4Ym94IGZvciBhbGlnbm1lbnQuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBsZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG87IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLmZhdm91cml0ZXNDb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIHdpZHRoOiAzMyU7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogJGZhdm91cml0ZXMtY29sLWRlc2t0b3Atd2lkdGg7ICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWluLXdpZHRoOiA5MHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAvLyBTdXByZXNzaW5nIGFzIHRoaXMgd2FzIGNhdXNpbmcgYWxpZ25tZW50IGlzc3VlcyB3aXRoIHRoZSBoZWFkZXIuXHJcbiAgICAgICAgICAgICAgICAgICAgLy8gLmZhdm91cml0ZXMge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAvLyB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmxhYmVsLXZhbHVlLXBhaXItY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIC5sYWJlbCB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkY29sbGVjdGlvbi1sYWJlbC12YWx1ZS1wYWlyLWxhYmVsLXdlaWdodDtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRjb2xsZWN0aW9uLWxhYmVsLXZhbHVlLXBhaXItbGFiZWwtZm9udC1zaXplKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC52YWx1ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGNvbGxlY3Rpb24tbGFiZWwtdmFsdWUtcGFpci12YWx1ZS1mb250LXNpemUpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5kZXNjcmlwdGlvbiB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJvZHVjdC1saXN0LWl0ZW0tZGVzY3JpcHRpb24tY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRwcm9kdWN0LWxpc3QtaXRlbS1kZXNjcmlwdGlvbi13ZWlnaHQ7IFxyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkbGlzdC1pdGVtLWRlc2NyaXB0aW9uLWRlZmF1bHQtZm9udC1zaXplKTtcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkbGlzdC1pdGVtLWRlc2NyaXB0aW9uLWRlZmF1bHQtbGluZS1oZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHByb2R1Y3QtbGlzdC1pdGVtLWRlc2NyaXB0aW9uLWhvdmVyLWNvbG91cjtcclxuICAgICAgICAgICAgICAgICAgICBAaWYgJGxpc3QtaXRlbS1kZXNjcmlwdGlvbi1kZWZhdWx0LWhvdmVyLXVuZGVybGluZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuY29kZSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29kZS1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwYXJhZ3JhcGgtZm9udC1zaXplKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaW5jbHVkZSBwcmljZSh0cnVlKTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgcnJwKCk7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHNhdmluZygpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuZW5xdWlyeS1jb2wge1xyXG4gICAgICAgICAgICBmbGV4OiAxO1xyXG4gICAgICAgICAgICBvcmRlcjogNDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4ubGlzdC1jYXRlZ29yeS1jb250YWluZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbiAgICB9XHJcbiAgICBoMiB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgIH1cclxufVxyXG5cclxuLnRoaXJkLXBhcnR5LXJlc3VsdHMtY29udGFpbmVyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgZ2FwOiAxMHB4IDA7XHJcbiAgICAucmVzdWx0LWNvbnRhaW5lciB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIGdhcDogMjBweCAwO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICAgICAgZ2FwOiAyMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuaW1hZ2UtY29udGFpbmVyIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxNTBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmRlc2NyaXB0aW9uLWNvbnRhaW5lciB7XHJcbiAgICAgICAgcCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNyk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnNuaXBwZXQtY29udGFpbmVyIHtcclxuICAgICAgICBwIHtcclxuICAgICAgICAgICAgbWFyZ2luOiA1cHggMCAxMHB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG91cjMtNjtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxufSIsIi8qXHJcblxyXG4tLS0tIEFYSVMgRGVidWdnZXIgLS0tLSBcclxuXHJcblRoaXMgaXMgYSBzaWRlIHByb2plY3Qgb2YgbWluZSBwdXJseSB0byBtYWtlIGRldiBsaWZlIGEgbGl0dGxlIGVhc2llciAvIGZhc3RlciBlc3NlbnRpYWxseSB0aGlzIGlzIGp1c3QgYSBkcmF3ZXIgd2l0aCBhIGJ1bmNoIG9mIG9wdGlvbnMgdG8gZmx1c2ggY2FjaGUsIHNldCBkZWJ1ZyBsZXZlbHMgJiBjbGVhciB0aGUgY29uc29sZS5cclxuXHJcbiovXHJcblxyXG4kZGV2ZWxvcG1lbnQtZHJhd2VyLWljb25zOiAoXHJcbiAgICAnY2xlYXItY2FjaGUnOiAnXFxmMWI4JyxcclxuICAgICdjbGVhci1jb25zb2xlJzogJ1xcZjEyMCcsXHJcbiAgICAnc2V0LWRlYnVnZ2luZy1sZXZlbCc6ICdcXGYxODgnLFxyXG4gICAgXCJ0ZXN0LW1vZGVcIjogJ1xcZjQ5MicsXHJcbiAgICBcInNpdGUtc3R5bGVcIjogJ1xcZjUzZidcclxuKSAhZGVmYXVsdDtcclxuXHJcblxyXG4uZGV2ZWxvcG1lbnQtZHJhd2VyLWNvbnRhaW5lciB7XHJcbiAgICB3aWR0aDogMDtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRjb2xvdXIzLTE7XHJcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XHJcbiAgICB6LWluZGV4OiA4MDAwMDAwMDAwO1xyXG4gICAgdHJhbnNpdGlvbjogd2lkdGggJHRyYW5zaXRpb25PdXRybztcclxuICAgICYuYWN0aXZlIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICB0cmFuc2l0aW9uOiB3aWR0aCAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDIyNXB4O1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiAkYm94U2hhZG93MztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbiRvcHRpb24taWNvbi1zaXplOiAzOHB4O1xyXG5cclxuLmRldmVsb3BtZW50LWRyYXdlciB7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIG92ZXJmbG93LXk6IGF1dG87XHJcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRuZXV0cmFsLWNvbG91ciwgOSk7XHJcbiAgICB1bCB7XHJcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5zZXJ2aWNlLXdvcmtlci1jb250YWluZXIge1xyXG5cclxuICAgICAgICAuaGVhZGluZyB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkbmV1dHJhbC1jb2xvdXIsIDApO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5oZWFkaW5nLWNvbnRhaW5lciB7XHJcbiAgICAgICAgaDIge1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkbmV1dHJhbC1jb2xvdXIsIDApO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuZHJhd2VyLWhlYWRlciB7XHJcbiAgICAgICAgLmNsb3NlLWJ1dHRvbiB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGNsb3NlQnV0dG9uKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLm9wdGlvbiB7XHJcbiAgICAgICAgd2lkdGg6IDgwcHg7XHJcbiAgICAgICAgaGVpZ2h0OiA4MHB4O1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBtYXJnaW46IDEwcHggMDtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyUmFkaXVzMTtcclxuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCBtYXAtZ2V0KCRuZXV0cmFsLWNvbG91ciwgMCk7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAkb3B0aW9uLWljb24tc2l6ZTtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJG5ldXRyYWwtY29sb3VyLCAwKTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IsIGZvbnQtc2l6ZSAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBMZXZlbCBzdHlsZXNcclxuICAgICAgICAkZGVidWctaWNvbi1sZXZlbC1iYXNlLWNvbG91cjogbWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKTtcclxuICAgICAgICAmW2RlYnVnLWxldmVsPVwiMVwiXSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogYWRqdXN0LWh1ZSgkZGVidWctaWNvbi1sZXZlbC1iYXNlLWNvbG91ciwgLTEwJSk7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogKCRvcHRpb24taWNvbi1zaXplICogMS4xKTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBhZGp1c3QtaHVlKCRkZWJ1Zy1pY29uLWxldmVsLWJhc2UtY29sb3VyLCAtMTAlKTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yLCBmb250LXNpemUgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmW2RlYnVnLWxldmVsPVwiMlwiXSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogYWRqdXN0LWh1ZSgkZGVidWctaWNvbi1sZXZlbC1iYXNlLWNvbG91ciwgLTIwJSk7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogKCRvcHRpb24taWNvbi1zaXplICogMS4yKTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBhZGp1c3QtaHVlKCRkZWJ1Zy1pY29uLWxldmVsLWJhc2UtY29sb3VyLCAtMjAlKTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yLCBmb250LXNpemUgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmW2RlYnVnLWxldmVsPVwiM1wiXSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogYWRqdXN0LWh1ZSgkZGVidWctaWNvbi1sZXZlbC1iYXNlLWNvbG91ciwgLTMwJSk7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogKCRvcHRpb24taWNvbi1zaXplICogMS4zKTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBhZGp1c3QtaHVlKCRkZWJ1Zy1pY29uLWxldmVsLWJhc2UtY29sb3VyLCAtMzAlKTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yLCBmb250LXNpemUgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmW2RlYnVnLWxldmVsPVwiNFwiXSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogYWRqdXN0LWh1ZSgkZGVidWctaWNvbi1sZXZlbC1iYXNlLWNvbG91ciwgLTQwJSk7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogKCRvcHRpb24taWNvbi1zaXplICogMS40KTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBhZGp1c3QtaHVlKCRkZWJ1Zy1pY29uLWxldmVsLWJhc2UtY29sb3VyLCAtNDAlKTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yLCBmb250LXNpemUgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5jbGVhci1jYWNoZTpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRkZXZlbG9wbWVudC1kcmF3ZXItaWNvbnMsIGNsZWFyLWNhY2hlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5jbGVhci1jb25zb2xlOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJGRldmVsb3BtZW50LWRyYXdlci1pY29ucywgY2xlYXItY29uc29sZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuc2V0LWRlYnVnZ2luZy1sZXZlbDpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRkZXZlbG9wbWVudC1kcmF3ZXItaWNvbnMsIHNldC1kZWJ1Z2dpbmctbGV2ZWwpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmF4aXMtdGVzdC1tb2RlOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJGRldmVsb3BtZW50LWRyYXdlci1pY29ucywgdGVzdC1tb2RlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5zaXRlLXN0eWxlOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJGRldmVsb3BtZW50LWRyYXdlci1pY29ucywgc2l0ZS1zdHlsZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyNjtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3VyMy0yO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvdXIzLTI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuc2xpZGVyIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICBjb2xvcjogJGNvbG91cjE7XHJcbiAgICAgICAgXHJcbiAgICAgICAgLmxhYmVsIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgICAgIFtkYXRhLXNsaWRlci12YWx1ZV0ge1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBpbnB1dCB7XHJcbiAgICAgICAgICAgIGZsZXg6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnN3aXRjaCB7XHJcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgfVxyXG59XHJcblxyXG4ub3B0aW9uLWNvbnRyb2xzLWNvbnRhaW5lciwgLmNoaWxkLWNvbnRyb2xzLWNvbnRhaW5lciB7XHJcbiAgICBtYXgtaGVpZ2h0OiAwO1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgJHRyYW5zaXRpb25PdXRybztcclxuICAgICYuYWN0aXZlIHtcclxuICAgICAgICBtYXgtaGVpZ2h0OiA1MDBweDtcclxuICAgICAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICB9XHJcbn1cclxuXHJcbiIsIkBjaGFyc2V0ICd1dGYtOCc7XHJcbi8vIEZvdW5kYXRpb24gc2V0dGluZy5cclxuQGltcG9ydCAnc2V0dGluZ3MnO1xyXG4vLyBGb3VuZGF0aW9uIGxpYnJhcmllcy5cclxuQGltcG9ydCAnZm91bmRhdGlvbic7XHJcbi8vIFRhYmxlcy5cclxuQGltcG9ydCAndGFibGVzLnNjc3MnO1xyXG4vL0lucHV0IHN0eWxpbmcuXHJcbkBpbXBvcnQgJ2lucHV0cy5zY3NzJztcclxuLy9Gb250YXdlc29tZSBsaWJyYXJ5LlxyXG4vLyBTdXBwcmVzc2luZyBhcyB0aGlzIGdldHMgaGFuZGxlZCBieSBicmFuZGluZy5zY3NzXHJcbi8vQGltcG9ydCBcIi4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZm9ydGF3ZXNvbWUvZm9udGF3ZXNvbWUtZnJlZS9zY3NzL2ZvbnRhd2Vzb21lLnNjc3NcIjtcclxuLy8gQGltcG9ydCBcIi4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZm9ydGF3ZXNvbWUvZm9udGF3ZXNvbWUtZnJlZS9zY3NzL3NvbGlkLnNjc3NcIjtcclxuLy8gQGltcG9ydCBcIi4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZm9ydGF3ZXNvbWUvZm9udGF3ZXNvbWUtZnJlZS9zY3NzL2JyYW5kcy5zY3NzXCI7XHJcblxyXG4vLyAtLS0tLSBFeHByZXNzIENvbXBvbmVudHMgLS0tLS0tIFxyXG4vL1RPRE86TmVlZCB0byBtYWtlIHNvbWUgc29ydCBvZiBmdW5jdGlvbmFsaXR5IHRoYXQgY2FuIHRvZ2dsZSBiZXR3ZWVuIDMgZGlmZmVyZW50IHR5cGVzIG9mIHN0eWxlc2hlZXRzLlxyXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9heGlzLXNpdGUtc3R5bGVzXCI7XHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2Jyb256ZS9mb3Jtc1wiO1xyXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9icm9uemUvaGVhZGVyLnNjc3NcIjtcclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvYnJvbnplL2Zvb3RlclwiO1xyXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9heGlzLWFqYXhcIjtcclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvYnJvbnplL2ZpbHRlcnMuc2Nzc1wiO1xyXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9icm9uemUvbW9kYWxzLnNjc3NcIjtcclxuLy8gVE9ETzogdjIgY2FuIGdvIGFmdGVyIG1vZHVsZXMgcmVmYWN0b3IgY29tcGxldGUuLi4uXHJcbi8vQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvYnJvbnplL21vZHVsZXMuc2Nzc1wiO1xyXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9icm9uemUvbW9kdWxlcy12Mi5zY3NzXCI7XHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2Jyb256ZS9zdG9jay1pbmRpY2F0b3JzXCI7XHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2Jyb256ZS9wcm9kdWN0LnNjc3NcIjtcclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvYnJvbnplL2Jhc2tldC5zY3NzXCI7XHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2Jyb256ZS9hY2NvdW50LnNjc3NcIjtcclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvYnJvbnplL2Ntcy1wYWdlcy5zY3NzXCI7XHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2Jyb256ZS9jaGVja291dC5zY3NzXCI7XHJcbi8vQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvYnJvbnplL2VtYWlsLXRlbXBsYXRlc1wiO1xyXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9icm9uemUvNDA0XCI7XHJcblxyXG4vL0NvbXBvbmVudCBJbXBvcnRcclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvYXhpcy1saWdodGJveFwiO1xyXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9heGlzLW1hZ25pZmllclwiO1xyXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9ieFNsaWRlclwiO1xyXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9heGlzLXNsaWRlclwiO1xyXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9heGlzLXRvb2x0aXBcIjtcclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvYXhpcy1yZWFkLW1vcmVcIjtcclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvYXhpcy1hdXRvY29tcGxldGVcIjtcclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvc3dlZXQtYWxlcnQtaWNvbnNcIjtcclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvYXhpcy1ub3RpZmljYXRpb25zXCI7XHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2F4aXMtaW1hZ2Utb3ZlcmxheXNcIjtcclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvYXhpcy1jb3VudGRvd25cIjtcclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvYXhpcy1wd2FcIjtcclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvYXhpcy1wYXltZW50LW1ldGhvZHNcIjtcclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvYXhpcy1zb2NpYWwtbWVkaWEtaWNvbnNcIjtcclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvYXhpcy1lcXVpcG1lbnQtc2VsZWN0b3JcIjtcclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvYXhpcy1waWNrLW4tbWl4XCI7XHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2F4aXMtYW5pbWF0aW9uc1wiO1xyXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9heGlzLWNsaWVudC1zZWFyY2hcIjtcclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvYXhpcy10b3AtYmFyXCI7XHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2F4aXMtc3R5bGUtZ3VpZGVcIjtcclxuLy8gQWRtaW4gY29tcG9uZW50IGlzIGluIGl0cyBcIiBwcm90b3R5cGUgXCIgcGhhc2UuXHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2F4aXMtYWRtaW5cIjtcclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvb2ZmX2NhbnZhc1wiO1xyXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9heGlzLWFjY29yZGlvbi10YWJzXCI7XHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2F4aXMtc3RpY2t5XCI7XHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2F4aXMtbGlzdC1zb3J0aW5nLW9wdGlvbnNcIjtcclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvYXhpcy1tYW5hZ2UtY2FsbHNcIjtcclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvYXhpcy1iYWNrLXRvLXRvcFwiO1xyXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9heGlzLXNlY3Rpb25zXCI7XHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2F4aXMtZWxsaXBzaXNcIjtcclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvYXhpcy1ibHVyXCI7XHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2F4aXMtc3RhdGljXCI7XHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2F4aXMtc3RvY2tpc3RcIjtcclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvYXhpcy10cmVlLW1lbnVcIjtcclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvYXhpcy1yZXZpZXdzXCI7XHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2F4aXMtcGFnZS1zZWN0aW9uLWNvbG91cnNcIjtcclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvYXhpcy1zdGFyLXJhdGluZ3NcIjtcclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvYXhpcy1iYXJjb2RlLXNjYW5uZXJcIjtcclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvYXhpcy1wYWdlLWJhY2tncm91bmQtaW1hZ2VzXCI7XHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2F4aXMtdGFnc1wiO1xyXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9heGlzLXRvZ2dsZXJcIjtcclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvYXhpcy1wYWdlLWJhY2tncm91bmQtY29sb3Vyc1wiO1xyXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9heGlzLW11bHRpLWZpZWxkLWxvb2t1cFwiO1xyXG5cclxuLy9AaW1wb3J0ICdtb3Rpb24tdWknO1xyXG4vL0FuaW1hdGUuY3NzIChjdXN0b20gYW5pbWF0aW9uIGxpYnJhcnkpXHJcbkBpbXBvcnQgJy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9hbmltYXRlLmNzcy9hbmltYXRlJztcclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvYXhpcy1lbGVtZW50LXByaW50XCI7XHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2F4aXMtZG9jdW1lbnRhdGlvblwiO1xyXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9heGlzLWNvbnRleHQtbWVudVwiO1xyXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9heGlzLWdyYWR1YXRlZC1jb2xvdXItZWRnZVwiO1xyXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9heGlzLXJpY2gtdGV4dC1lZGl0b3JcIjtcclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvYXhpcy12aWRlby1wbGF5ZXJcIjtcclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvYXhpcy1tdWx0aW1lZGlhLWVsZW1lbnRcIjtcclxuXHJcbi8vIEdsb2JhbCBzdHlsZXNcclxuQGluY2x1ZGUgZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzO1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLWZvcm1zO1xyXG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tdHlwb2dyYXBoeTtcclxuXHJcbi8vIEdyaWRzIChjaG9vc2Ugb25lKVxyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLXh5LWdyaWQtY2xhc3NlcztcclxuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1ncmlkO1xyXG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtZ3JpZDtcclxuXHJcbi8vIEdlbmVyaWMgY29tcG9uZW50c1xyXG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uO1xyXG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uLWdyb3VwO1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLWNsb3NlLWJ1dHRvbjtcclxuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLWxhYmVsO1xyXG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tcHJvZ3Jlc3MtYmFyO1xyXG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tc2xpZGVyO1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLXN3aXRjaDtcclxuQGluY2x1ZGUgZm91bmRhdGlvbi10YWJsZTtcclxuLy8gQmFzaWMgY29tcG9uZW50c1xyXG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLWJhZGdlO1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLWJyZWFkY3J1bWJzO1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLWNhbGxvdXQ7XHJcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1jYXJkO1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duO1xyXG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tcGFnaW5hdGlvbjtcclxuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi10b29sdGlwO1xyXG5cclxuLy8gQ29udGFpbmVyc1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLWFjY29yZGlvbjtcclxuQGluY2x1ZGUgZm91bmRhdGlvbi1tZWRpYS1vYmplY3Q7XHJcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1vcmJpdDtcclxuQGluY2x1ZGUgZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkO1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLXRhYnM7XHJcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tdGh1bWJuYWlsO1xyXG4vLyBNZW51LWJhc2VkIGNvbnRhaW5lcnNcclxuQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51O1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnUtaWNvbjtcclxuQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb24tbWVudTtcclxuQGluY2x1ZGUgZm91bmRhdGlvbi1kcmlsbGRvd24tbWVudTtcclxuQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bi1tZW51O1xyXG5cclxuLy8gTGF5b3V0IGNvbXBvbmVudHNcclxuQGluY2x1ZGUgZm91bmRhdGlvbi1vZmYtY2FudmFzO1xyXG4vLyBXZSB1c2Ugb3VyIG93biBtb2RhbCBzeXN0ZW0uXHJcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1yZXZlYWw7XHJcbi8vIFVzaW5nIGN1c3RvbSBzdHlsZXMgZm9yIHRoaXMgZHVlIHRvIHRoZSBoZWFkZXIgYmVpbmcgc28gY29tcGxleC5cclxuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLXN0aWNreTtcclxuQGluY2x1ZGUgZm91bmRhdGlvbi10aXRsZS1iYXI7XHJcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi10b3AtYmFyO1xyXG5cclxuLy8gSGVscGVyc1xyXG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsb2F0LWNsYXNzZXM7XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1jbGFzc2VzO1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLXZpc2liaWxpdHktY2xhc3NlcztcclxuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1wcm90b3R5cGUtY2xhc3NlcztcclxuXHJcbi8vIE1vdGlvbiBVSVxyXG4vL0BpbmNsdWRlIG1vdGlvbi11aS10cmFuc2l0aW9ucztcclxuLy9AaW5jbHVkZSBtb3Rpb24tdWktYW5pbWF0aW9ucztcclxuXHJcbi8vIENvbXBvbmVudHMgdGhhdCBuZWVkIHRvIGJlIGxvYWRlZCBhZnRlciBmb3VuZGF0aW9uLlxyXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9heGlzLW1lbnVzXCI7XHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2Jyb256ZS9wcm9kdWN0LWxpc3Quc2Nzc1wiO1xyXG5cclxuQGltcG9ydCAnLi4vZ2xvYmFsL2RlYnVnZ2VyJztcclxuXHJcbi8vLS0tLS0gR2xvYmFsIC0tLS0tIFxyXG46cm9vdCB7XHJcbiAgICAvLyBTZXQgQ1NTIHZhcmlhYmxlcy5cclxuXHJcbiAgICAvLyAtLS0gQ29sb3VyIFBhbGxldGUgLS0tLVxyXG4gICAgLy8gUHJpbWFyeVxyXG4gICAgQGluY2x1ZGUgc2V0LWNvbG91ci1wYWxsZXRlLXRvbmVzKFwicHJpbWFyeS1jb2xvdXJcIiwgJHByaW1hcnktY29sb3VyKTtcclxuICAgIC8vIFNlY29uZGFyeVxyXG4gICAgQGluY2x1ZGUgc2V0LWNvbG91ci1wYWxsZXRlLXRvbmVzKFwic2Vjb25kYXJ5LWNvbG91clwiLCAkc2Vjb25kYXJ5LWNvbG91cik7XHJcbiAgICAvLyBBY2NlbnQgMVxyXG4gICAgQGluY2x1ZGUgc2V0LWNvbG91ci1wYWxsZXRlLXRvbmVzKFwiYWNjZW50LWNvbG91ci0xXCIsICRhY2NlbnQtY29sb3VyLTEpO1xyXG4gICAgLy8gQWNjZW50IDJcclxuICAgIEBpbmNsdWRlIHNldC1jb2xvdXItcGFsbGV0ZS10b25lcyhcImFjY2VudC1jb2xvdXItMlwiLCAkYWNjZW50LWNvbG91ci0yKTtcclxuICAgIC8vIEFjY2VudCAzXHJcbiAgICBAaW5jbHVkZSBzZXQtY29sb3VyLXBhbGxldGUtdG9uZXMoXCJhY2NlbnQtY29sb3VyLTNcIiwgJGFjY2VudC1jb2xvdXItMyk7XHJcbiAgICAvLyBBY2NlbnQgNFxyXG4gICAgQGluY2x1ZGUgc2V0LWNvbG91ci1wYWxsZXRlLXRvbmVzKFwiYWNjZW50LWNvbG91ci00XCIsICRhY2NlbnQtY29sb3VyLTQpO1xyXG4gICAgLy8gTmV1dHJhbCBDb2xvdXJcclxuICAgIEBpbmNsdWRlIHNldC1jb2xvdXItcGFsbGV0ZS10b25lcyhcIm5ldXRyYWwtY29sb3VyXCIsICRuZXV0cmFsLWNvbG91cik7XHJcbiAgICAvLyBCbGFja1xyXG4gICAgLS1ibGFjay1jb2xvdXI6ICN7JGNvbG91cjJ9O1xyXG4gICAgLy8gV2hpdGVcclxuICAgIC0td2hpdGUtY29sb3VyOiAjeyRjb2xvdXIxfTtcclxuXHJcbiAgICAvLyBOb3RpZmljYXRpb24gQ29sb3Vycy5cclxuICAgIC8vLS1zdWNjZXNzLWNvbG91ci0wOiAjeyRzdWNjZXNzLWNvbG91cn07XHJcbiAgICBAaW5jbHVkZSBzZXQtY29sb3VyLXBhbGxldGUtdG9uZXMoXCJzdWNjZXNzLWNvbG91clwiLCAkc3VjY2Vzcy1jb2xvdXIpO1xyXG4gICAgQGluY2x1ZGUgc2V0LWNvbG91ci1wYWxsZXRlLXRvbmVzKFwid2FybmluZy1jb2xvdXJcIiwgJHdhcm5pbmctY29sb3VyKTtcclxuICAgIEBpbmNsdWRlIHNldC1jb2xvdXItcGFsbGV0ZS10b25lcyhcImFsZXJ0LWNvbG91clwiLCAkYWxlcnQtY29sb3VyKTtcclxuXHJcbiAgICBcclxuXHJcbiAgICAvLyAtLS0gQ29udGVudCBXaWR0aCAtLS1cclxuICAgIC8vIENvbnRhaW5lciBNYXggV2lkdGhzLlxyXG4gICAgLS1jb250YWluZWQtY29udGVudC1tYXgtd2lkdGg6ICN7JGdsb2JhbC13aWR0aH07XHJcbiAgICAtLXVuY29udGFpbmVkLWNvbnRlbnQtbWF4LXdpZHRoOiAjeyRnbG9iYWwtdW5jb250YWluZWQtY29udGVudC1tYXgtd2lkdGh9O1xyXG5cclxuICAgIC8vIC0tLSBGb250cyAtLS0tXHJcbiAgICBAZWFjaCAkZm9udC10eXBlLCAkZm9udC1uYW1lIGluICR0eXBvZ3JhZ2h5LWZvbnQtZmFtaWxpZXMge1xyXG4gICAgICAgIC0tI3skZm9udC10eXBlfTogI3skZm9udC1uYW1lfTtcclxuICAgIH1cclxuXHJcbiAgICAvLyAtLS0gQm9yZGVyIFJhZGl1cyAtLS1cclxuICAgIC0tc21vb3RoLWVkZ2VzLWVuYWJsZWQ6ICN7JHNtb290aC1lZGdlcy1lbmFibGVkfTtcclxuICAgIC0tc21vb3RoLWVkZ2VzLWxldmVsOiAjeyRzbW9vdGgtZWRnZXMtbGV2ZWx9O1xyXG4gICAgLS1ib3JkZXItcmFkaXVzLTE6ICN7JGJvcmRlclJhZGl1czF9O1xyXG4gICAgLS1ib3JkZXItcmFkaXVzLTI6ICN7JGJvcmRlclJhZGl1czJ9O1xyXG5cclxuICAgIC8vIC0tLSBUeXBvZ3JhcGd5IC0tLVxyXG4gICAgLy8gTGluZSBoZWlnaHQuXHJcbiAgICAtLWdsb2JhbC1saW5lLWhlaWdodDogI3skZGVmYXVsdC1saW5lLWhlaWdodH07XHJcbiAgICAvLyBDb2xvdXIuXHJcbiAgICAtLXR5cG9ncmFwaHktYm9keS1mb250LWNvbG91cjogI3skYm9keS1mb250LWNvbG91cn07XHJcblxyXG4gICAgLy8gLS0tIEJ1dHRvbnMgLS0tXHJcbiAgICAtLWJ1dHRvbnMtYm9yZGVyLXJhZGl1czogI3skY29tbW9uLWJ1dHRvbi1ib3JkZXItcmFkaXVzfTtcclxuICAgIFxyXG59XHJcblxyXG4vLyBMb29wIHRocm91Z2ggZm9udCBzdGFja3MuXHJcbkBlYWNoICRrZXksICRtZXRyaWNzIGluICRmb250LWZhbGxiYWNrLW1ldHJpY3Mge1xyXG4gICAgJGZvbnQtZmFtaWx5OiBtYXAtZ2V0KCR0eXBvZ3JhZ2h5LWZvbnQtZmFtaWxpZXMsICN7JGtleX0tZm9udCk7XHJcbiAgICAkbmFtZTogbnRoKCRmb250LWZhbWlseSwgMSk7XHJcbiAgICAkZmFsbGJhY2s6IG1hcC1nZXQoJG1ldHJpY3MsIGZhbGxiYWNrKTtcclxuICAgIEBpbmNsdWRlIGZvbnQtZmFsbGJhY2soJG5hbWUsICRmYWxsYmFjaywgJG1ldHJpY3MpO1xyXG59XHJcblxyXG5ib2R5IHtcclxuICAgIC8vIEFsbG93aW5nIGNvbnRlbnQgLyBmb290ZXIgdG8gdXNlIGZsZXgtZ3JvdyB3aGVuIHRoZXJlIGlzIG5vdCBlbm91Z2ggY29udGVudCB0byBmaWxsIHRoZSB2aWV3cG9ydC5cclxuICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAvLyBEdWUgdG8gYSBidWcgd2l0aCBmb3VuYXRpb24ncyBndXR0ZXJzIHdoZW4geW91IHVzZSB0aGVtIGluIGEgbmVzdCBncmlkIGZvcm1hdCB0aGV5IGNhdXNlIGEgaG9yaXpvbnRhbCBzY3JvbGwgYmFyIHRvIGFwcGVhci5cclxuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcclxufVxyXG5ib2R5LnNjcm9sbExvY2sge1xyXG4gICAgb3ZlcmZsb3cteTogaGlkZGVuO1xyXG59XHJcbi8vIFN1cHByZXNzaW5nIHRoaXMgdG8gYWxsb3cgZm9yIG1vcmUgc3BhY2UgZm9yIHRyZWUgbWVudSdzIGluIG1vYmlsZS5cclxuLy8gbWFpbiwgZm9vdGVyIC5yb3ctYmFja2dyb3VuZCB7XHJcbi8vICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIGRvd24pIHtcclxuLy8gICAgICAgICBwYWRkaW5nOiBzbWFsbC12YWx1ZSgkcGFnZS1ndXR0ZXIpO1xyXG4vLyAgICAgfVxyXG4vLyB9XHJcbm1haW4ge1xyXG4gICAgLy8gQ2FwcGluZyBtYWluIGNvbnRlbnQgYXQgMTkyMHB4IGFzIHRoZXJlIHN0aWxsIGlzIGVub3VnaCBvZiBhIGRlbWFpbiBvbiAyayBvciA0ayBzdXBwb3J0ICggaHR0cHM6Ly93d3cucmVkZGl0LmNvbS9yL3dlYmRldi9jb21tZW50cy9tZ3U4NnUvcmVzcG9uc2l2ZV9kZXNpZ25fZm9yXzRrX3NjcmVlbnMvICkgYXMgb2YgMjAyNC5cclxuICAgIC8vIG1heC13aWR0aDogMTkyMHB4O1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIC8vIEFsd2F5cyBhbGlnbiB0byB0aGUgbGVmdCB0aGVuIGFsbG93IGNoaWxkIGNvbnRhaW5zIHRvIHByb3ZpZGUgY2VudGVyIGFsaWdubWVudC5cclxuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG4gICAgLy8gV2hlbiB0aGVyZSBpcyBub3QgZW5vdWdoIGNvbnRlbnQgdG8gZmlsbCB0aGUgdmlld3BvcnQgbWFrZSB0aGUgbWFpbiBjb250YWluZXIgZ3JvdyB0byBwdXNoIHRoZSBmb290ZXIgdG8gdGhlIGJvdHRvbSBvZiB0aGUgd2luZG93LlxyXG4gICAgZmxleC1ncm93OiAxO1xyXG4gICAgJiA+IGRpdiB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcbiAgICBcclxufVxyXG4vLyBNYWtlIHN1cmUgaW1hZ2VzIHN0YXkgd2l0aGluIHRoZWlyIGNvbnRhaW5lcnMuXHJcbi5pbWFnZSBpbWcge1xyXG4gICAgbWF4LWhlaWdodDogMTAwJTtcclxufVxyXG5cclxuLmdyaWQteCB7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAkZ2xvYmFsLXVuY29udGFpbmVkLWNvbnRlbnQtbWF4LXdpZHRoO1xyXG4gICAgfVxyXG4gICAgLy8gVGhpcyBtYXJnaW4gcnVsZSB3YXMgcHV0IGluIHBsYWNlIGZvciA+IDE5MjAgc2NyZWVucyBhcyB3ZSBkb24ndCB3YW50IGNvbnRlbnQgc3Bhbm5pbmcgYWNyb3NzIHRoZSBlbnRpcmUgdmlld3BvcnQgYnV0IHdhbnQgaXQgdG8gc3RpbGwgcmVtYWluIGNlbnRlcmFsaXNlZC4gQ3VycmVudGx5IGluIHRoZSBwcm9jZXNzIG9mIHJlLXdyaXRpbmcgdGhlIGdyaWQgc3lzdGVtIHRvIHVzZSBHcmlkIGluc3RlYWQgb2YgRmxleGJveCwgZHVlIHRvIGhvdyBGb3VuZGF0aW9uIHVzZXMgbWFyZ2luIHRvIGNhbGN1bGF0ZSBpdHMgZ3V0dGVycyB0aGlzIGNhbm5vdCBiZSB1c2VkIHRvIGNlbnRlcmFsaXNlIHRoZSBjb250ZW50LCBsdWNraWx5IHRoZSBvbmx5IHBsYWNlIGF0IHRoZSB0aW1lIG9mIHdyaXRpbmcgdGhpcyB0aGF0IG5lZWRzIHRoaXMgaXMgbW9kdWxlcyB3aGljaCBubyBsb25nZXIgdXNlcyBmb3VuZGF0aW9uJ3MgZ3JpZCAoIGludGVybXMgb2YgY29udGVudCBidXQgc2l0cyB3aXRoaW4gaXQgKVxyXG4gICAgJjpub3QoLmdyaWQtbWFyZ2luLXgpIHtcclxuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgLy8gQWRkaW5nIDAgdG9wICsgYm90dG9tIG90aGVyd2lzZSBsaXN0aW5nIHBhZ2Ugd291bGQgdmVydGljYWxseSBhbGlnbiBpbiB0aGUgY2VudGVyIG9mIHRoZSBjb250YWluZXIuXHJcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICB9XHJcbn1cclxuXHJcbi5ncmlkLWNvbnRhaW5lciB7XHJcbiAgICAvLyBTZXR0aW5nIHdpZHRoOiAxMDAlOyBkdWUgdGhlIG1haW4gdXNpbmcgZmxleGJveCBsYXlvdXQgb3RoZXJ3aXNlIGNvbnRhaW5lcnMgd2VyZSBmaXR0aW5nIHRoZWlyIGNvbnRlbnQgaW5zdGVhZCBvZiBmaXR0aW5nIHRoZSBhdmFpbGFibGUgd2lkdGguXHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgfVxyXG4gICAgLy8gTWFrZSB0aGUgY29udGFpbmVyIHRha2UgYXMgbXVjaCB2ZXJ0aWNhbCBzcGFjZSBhcyBhdmFpbGFibGUuXHJcbiAgICAmLmNvbnRhaW5lci1ncm93IHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICAgIC5hbGlnbi1jZW50ZXIge1xyXG4gICAgICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgXHJcbn1cclxuXHJcbi8vIEdlbmVyYWwgaHIgZm9ybWF0dGluZy5cclxuaHIge1xyXG4gICAgJi5tb2JpbGUtc2VwZXJhdG9yIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMzBweCAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuI2Zvb3Rlci1ndG0td2lkZ2V0IHtcclxuICAgIG1hcmdpbi10b3A6IHNtYWxsLXZhbHVlKCRtb2R1bGVzLXJvdy1iYWNrZ3JvdW5kLWNvbG91ci1wYWRkaW5nKTtcclxuICAgIG1hcmdpbi1ib3R0b206IHNtYWxsLXZhbHVlKCRtb2R1bGVzLXJvdy1iYWNrZ3JvdW5kLWNvbG91ci1wYWRkaW5nKTtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiBsYXJnZS12YWx1ZSgkbW9kdWxlcy1yb3ctYmFja2dyb3VuZC1jb2xvdXItcGFkZGluZyk7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogbGFyZ2UtdmFsdWUoJG1vZHVsZXMtcm93LWJhY2tncm91bmQtY29sb3VyLXBhZGRpbmcpO1xyXG4gICAgfVxyXG59XHJcblxyXG4jZ3JvdXAtYmFubmVyLWNhcm91c2VsLWNvbnRhaW5lciwgLmdyb3VwLWJhbm5lciB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG59XHJcblxyXG4jY2F0ZWdvcnlHcmlkT3ZlcnJpZGUge1xyXG4gICAgLy9PdmVycmlkaW5nIHRoZSBmb3VuZGF0aW9uJ3MgZGVmYXVsdCBncmlkIGFzIHRoZSBkZXNpZ24gY2FsbGVkIGZvciBhIDUgY29sdW1uIGxheW91dC5cclxuICAgIC5sYXJnZS0yIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDIuMik7XHJcblxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuI2NhdGVnb3J5SGVhZGluZywgI3Byb2R1Y3RMaXN0SGVhZGluZyB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG59XHJcblxyXG4ucG9wdXAtY29udGFpbmVyIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuI2Jhc2tldFN1bW1hcnlDb250YWluZXI6aG92ZXIge1xyXG4gICAgI25vSnNCYXNrZXROb3RpZmljYXRpb24ge1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuICAgICAgICBib3gtc2hhZG93OiAkYm94U2hhZG93MTtcclxuICAgICAgICBib3JkZXItYm90dG9tOiA1cHggc29saWQgJGNvbG91cjQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbiNyZWdpc3Rlci1zdWJtaXQge1xyXG4gICAgbWFyZ2luLXRvcDogMTBweDtcclxufVxyXG5cclxuLmZvcmdvdHRlbi1wYXNzd29yZC1saW5rIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3Jnb3R0ZW4tcGFzc3dvcmQtYW5jaG9yLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICBmb250LXdlaWdodDogJGZvcmdvdHRlbi1wYXNzd29yZC1hbmNob3ItZm9udC13ZWlnaHQ7XHJcbiAgICBmb250LXN0eWxlOiAkZm9yZ290dGVuLXBhc3Nvd3JkLWFuY2hvci1mb250LXN0eWxlO1xyXG4gICAgZm9udC1zaXplOiByZW0tY2FsYygkZm9yZ290dGVuLXBhc3N3b3JkLWFuY2hvci1mb250LXNpemUpO1xyXG4gICAgZm9udC1mYW1pbHk6IGdldC10eXBvZ3JhcGh5LWZvbnQtZmFtaWx5KCk7XHJcbiAgICBAaWYgKCRmb3Jnb3R0ZW4tcGFzc3dvcmQtYW5jaG9yLWxldHRlci1zcGFjaW5nKSB7XHJcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6ICRmb3Jnb3R0ZW4tcGFzc3dvcmQtYW5jaG9yLWxldHRlci1zcGFjaW5nO1xyXG4gICAgfVxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvcmdvdHRlbi1wYXNzd29yZC1hbmNob3ItY29sb3VyLCBob3Zlcik7XHJcbiAgICB9XHJcbiAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvcmdvdHRlbi1wYXNzd29yZC1hbmNob3ItY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyBBZGRlZCBzcGVjaWZpY2FsbHkgZm9yIHRoZSBoZWFkZXItY29tcG9uZW50cy5odG1sIC4uLiBpIGtub3cgaXQgZGVwcmVjYXRlZCBqdXN0IGEgcXVpY2sgYW5kIGRpcnR5IGdldCBvdXQuXHJcbnhtcCB7XHJcbiAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG91cjMtMTtcclxuICAgIHdoaXRlLXNwYWNlOiBpbmhlcml0O1xyXG59XHJcblxyXG4uYW5pbWF0ZV9fYW5pbWF0ZWQge1xyXG4gICAgJjpub3QoLmFuaW1hdGVkLWNvbnRlbnQtYWN0aXZlKSB7XHJcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgfVxyXG59XHJcblxyXG4uanNvbi1jb2RlLWJsb2NrIHtcclxuICAgIEBpbmNsdWRlIGNtcy1jb2RlKCk7XHJcbn0iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gU2V0IHRoZSBndXR0ZXJzIG9uIGEgY29sdW1uXG4vLy8gQHBhcmFtIHtOdW1iZXJ8S2V5d29yZH0gJGd1dHRlciBbYXV0b11cbi8vLyAgIFNwYWNpbmcgYmV0d2VlbiBjb2x1bW5zLCBhY2NlcHRzIG11bHRpcGxlIHZhbHVlczpcbi8vLyAgIC0gQSBzaW5nbGUgdmFsdWUgd2lsbCBtYWtlIHRoZSBndXR0ZXIgdGhhdCBleGFjdCBzaXplLlxuLy8vICAgLSBBIGJyZWFrcG9pbnQgbmFtZSB3aWxsIG1ha2UgdGhlIGd1dHRlciB0aGUgY29ycmVzcG9uZGluZyBzaXplIGluIHRoZSAkZ3V0dGVycyBtYXAuXG4vLy8gICAtIFwiYXV0b1wiIHdpbGwgbWFrZSB0aGUgZ3V0dGVyIHJlc3BvbnNpdmUsIHVzaW5nIHRoZSAkZ3V0dGVycyBtYXAgdmFsdWVzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gR3V0dGVyIG1hcCBvciBzaW5nbGUgdmFsdWUgdG8gdXNlLiBSZXNwb25zaXZlIGd1dHRlciBzZXR0aW5ncyBieSBkZWZhdWx0LlxuQG1peGluIGdyaWQtY29sdW1uLWd1dHRlcihcbiAgJGd1dHRlcjogYXV0byxcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSAtemYtYnJlYWtwb2ludC12YWx1ZSgkZ3V0dGVyLCAkZ3V0dGVycykge1xuICAgICRwYWRkaW5nOiByZW0tY2FsYygkLXpmLWJwLXZhbHVlKSAqIDAuNTtcblxuICAgIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nO1xuICAgIHBhZGRpbmctbGVmdDogJHBhZGRpbmc7XG4gIH1cbn1cblxuLy8vIENvbGxhcHNlIHRoZSBndXR0ZXJzIG9uIGEgY29sdW1uIGJ5IHJlbW92aW5nIHRoZSBwYWRkaW5nLiAqKk5vdGU6Kiogb25seSB1c2UgdGhpcyBtaXhpbiB3aXRoaW4gYSBicmVha3BvaW50LiBUbyBjb2xsYXBzZSBhIGNvbHVtbidzIGd1dHRlcnMgb24gYWxsIHNjcmVlbiBzaXplcywgdXNlIHRoZSBgJGd1dHRlcmAgcGFyYW1ldGVyIG9mIHRoZSBgZ3JpZC1jb2x1bW4oKWAgbWl4aW4gaW5zdGVhZC5cbkBtaXhpbiBncmlkLWNvbHVtbi1jb2xsYXBzZSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWd1dHRlcigwKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLWd1dHRlcigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tZ3V0dGVyXG5AbWl4aW4gZ3JpZC1jb2wtZ3V0dGVyKFxuICAkZ3V0dGVyOiBhdXRvLFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWd1dHRlcigkZ3V0dGVyLCAkZ3V0dGVycyk7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1jb2xsYXBzZSgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tY29sbGFwc2VcbkBtaXhpbiBncmlkLWNvbC1jb2xsYXBzZSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWNvbGxhcHNlO1xufVxuXG4vLy8gU2V0cyBib3R0b20gbWFyZ2luIG9uIGdyaWQgY29sdW1ucyB0byBtYXRjaCBndXR0ZXJzXG4vLy8gQHBhcmFtIHtOdW1iZXJ8S2V5d29yZH0gJG1hcmdpbiBbYXV0b11cbi8vLyAgIFRoZSBib3R0b20gbWFyZ2luIG9uIGdyaWQgY29sdW1ucywgYWNjZXB0cyBtdWx0aXBsZSB2YWx1ZXM6XG4vLy8gICAtIEEgc2luZ2xlIHZhbHVlIHdpbGwgbWFrZSB0aGUgbWFyZ2luIHRoYXQgZXhhY3Qgc2l6ZS5cbi8vLyAgIC0gQSBicmVha3BvaW50IG5hbWUgd2lsbCBtYWtlIHRoZSBtYXJnaW4gdGhlIGNvcnJlc3BvbmRpbmcgc2l6ZSBpbiB0aGUgJG1hcmdpbnMgbWFwLlxuLy8vICAgLSBcImF1dG9cIiB3aWxsIG1ha2UgdGhlIG1hcmdpbiByZXNwb25zaXZlLCB1c2luZyB0aGUgJG1hcmdpbnMgbWFwIHZhbHVlcy5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRtYXJnaW5zIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgdG8gdXNlLiBSZXNwb25zaXZlIGd1dHRlciBzZXR0aW5ncyBieSBkZWZhdWx0LlxuQG1peGluIGdyaWQtY29sdW1uLW1hcmdpbiAoXG4gICRtYXJnaW46IGF1dG8sXG4gICRtYXJnaW5zOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoJG1hcmdpbiwgJG1hcmdpbnMpIHtcbiAgICAkbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoJC16Zi1icC12YWx1ZSk7XG4gICAgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi1ib3R0b207XG5cbiAgICA+IDpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gU2V0IHRoZSB3aWR0aCBvZiBhIGdyaWQgY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJHdpZHRoIFskZ3JpZC1jb2x1bW4tY291bnRdIC0gV2lkdGggdG8gbWFrZSB0aGUgY29sdW1uLiBZb3UgY2FuIHBhc3MgaW4gYW55IHZhbHVlIGFjY2VwdGVkIGJ5IHRoZSBgZ3JpZC1jb2x1bW4oKWAgZnVuY3Rpb24sIHN1Y2ggYXMgYDZgLCBgNTAlYCwgb3IgYDEgb2YgMmAuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tc2l6ZShcbiAgJGNvbHVtbnM6ICRncmlkLWNvbHVtbi1jb3VudFxuKSB7XG4gIHdpZHRoOiBncmlkLWNvbHVtbigkY29sdW1ucyk7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1zaXplKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1zaXplXG5AbWl4aW4gZ3JpZC1jb2wtc2l6ZShcbiAgJGNvbHVtbnM6ICRncmlkLWNvbHVtbi1jb3VudFxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXNpemUoJGNvbHVtbnMpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIENhbGN1bGF0ZXMgdGhlIHdpZHRoIG9mIGEgY29sdW1uIGJhc2VkIG9uIGEgbnVtYmVyIG9mIGZhY3RvcnMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkY29sdW1uc1xuLy8vICAgV2lkdGggb2YgdGhlIGNvbHVtbi4gQWNjZXB0cyBtdWx0aXBsZSB2YWx1ZXM6XG4vLy8gICAtIEEgcGVyY2VudGFnZSB2YWx1ZSB3aWxsIG1ha2UgdGhlIGNvbHVtbiB0aGF0IGV4YWN0IHNpemUuXG4vLy8gICAtIEEgc2luZ2xlIGRpZ2l0IHdpbGwgbWFrZSB0aGUgY29sdW1uIHNwYW4gdGhhdCBudW1iZXIgb2YgY29sdW1ucyB3aWRlLCB0YWtpbmcgaW50byBhY2NvdW50IHRoZSBjb2x1bW4gY291bnQgb2YgdGhlIHBhcmVudCByb3cuXG4vLy8gICAtIEEgbGlzdCBvZiB0aGUgZm9ybWF0IFwieCBvZiB5XCIgKHdpdGhvdXQgcXVvdGVzKSB3aWxsIG1ha2UgYSBjb2x1bW4gdGhhdCBpcyAqeCogY29sdW1ucyB3aWRlLCBhc3N1bWluZyAqeSogdG90YWwgY29sdW1ucyBmb3IgdGhlIHBhcmVudC5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IEEgY2FsY3VsYXRlZCBwZXJjZW50YWdlIHZhbHVlLlxuQGZ1bmN0aW9uIGdyaWQtY29sdW1uKCRjb2x1bW5zKSB7XG4gIEByZXR1cm4gZnJhY3Rpb24tdG8tcGVyY2VudGFnZSgkY29sdW1ucywgJGRlbm9taW5hdG9yOiAkZ3JpZC1jb2x1bW4tY291bnQpO1xufVxuXG4vLy8gQ3JlYXRlcyBhIGdyaWQgY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGNvbHVtbnMgWyRncmlkLWNvbHVtbi1jb3VudF0gLSBXaWR0aCBvZiB0aGUgY29sdW1uLiBSZWZlciB0byB0aGUgYGdyaWQtY29sdW1uKClgIGZ1bmN0aW9uIHRvIHNlZSBwb3NzaWJsZSB2YWx1ZXMuXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGd1dHRlcnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gU3BhY2luZyBiZXR3ZWVuIGNvbHVtbnMuIFJlZmVyIHRvIHRoZSBgZ3JpZC1jb2x1bW4tZ3V0dGVyKClgIGZ1bmN0aW9uIHRvIHNlZSBwb3NzaWJsZSB2YWx1ZXMuXG5AbWl4aW4gZ3JpZC1jb2x1bW4oXG4gICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW4tY291bnQsXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgLy8gR3V0dGVyc1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1ndXR0ZXIoJGd1dHRlcnM6ICRndXR0ZXJzKTtcbiAgLy8gUG9zaXRpb25cbiAgQGluY2x1ZGUgZ3JpZC1jb2wtcG9zKGF1dG8pO1xuXG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXNpemUoJGNvbHVtbnMpO1xuICBmbG9hdDogJGdsb2JhbC1sZWZ0O1xufVxuXG4vLy8gQ3JlYXRlcyBhIGdyaWQgY29sdW1uIHJvdy4gVGhpcyBpcyB0aGUgZXF1aXZhbGVudCBvZiBhZGRpbmcgYC5yb3dgIGFuZCBgLmNvbHVtbmAgdG8gdGhlIHNhbWUgZWxlbWVudC5cbi8vL1xuLy8vIEBwYXJhbSB7TWl4ZWR9ICRndXR0ZXJzIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIFdpZHRoIG9mIHRoZSBndXR0ZXJzIG9uIGVpdGhlciBzaWRlIG9mIHRoZSBjb2x1bW4gcm93LiBSZWZlciB0byB0aGUgYGdyaWQtY29sdW1uLWd1dHRlcigpYCBmdW5jdGlvbiB0byBzZWUgcG9zc2libGUgdmFsdWVzLlxuQG1peGluIGdyaWQtY29sdW1uLXJvdyhcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSBncmlkLXJvdztcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oJGd1dHRlcnM6ICRndXR0ZXJzKTtcblxuICAmLFxuICAmOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBub25lO1xuICB9XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW5cbkBmdW5jdGlvbiBncmlkLWNvbChcbiAgJGNvbHVtbnM6ICRncmlkLWNvbHVtbi1jb3VudFxuKSB7XG4gIEByZXR1cm4gZ3JpZC1jb2x1bW4oJGNvbHVtbnMpO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4oKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uXG5AbWl4aW4gZ3JpZC1jb2woXG4gICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW4tY291bnQsXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oJGNvbHVtbnMsICRndXR0ZXJzKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLXJvdygpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tcm93XG5AbWl4aW4gZ3JpZC1jb2wtcm93KFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXJvdygkZ3V0dGVycyk7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gUmVwb3NpdGlvbiBhIGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfEtleXdvcmR9ICRwb3NpdGlvbiAtIEl0IGNhbiBiZTpcbi8vLyAgICogQSBudW1iZXI6IFRoZSBjb2x1bW4gd2lsbCBtb3ZlIGVxdWFsIHRvIHRoZSB3aWR0aCBvZiB0aGUgY29sdW1uIGNvdW50XG4vLy8gICAgIHNwZWNpZmllZC4gQSBwb3NpdGl2ZSBudW1iZXIgd2lsbCBwdXNoIHRoZSBjb2x1bW4gdG8gdGhlIHJpZ2h0LCB3aGlsZVxuLy8vICAgICBhIG5lZ2F0aXZlIG51bWJlciB3aWxsIHB1bGwgaXQgdG8gdGhlIGxlZnQuXG4vLy8gICAqIGBjZW50ZXJgOiBDb2x1bW4gd2lsbCBiZSBjZW50ZXJlZFxuLy8vICAgKiBgYXV0b2A6IENvbHVtbiB3aWxsIGJlIHB1c2hlZCB0byB0aGUgbGVmdCAob3IgdG8gdGhlIHJpZ2h0IGZvciB0aGUgbGFzdCBjb2x1bW4pLlxuQG1peGluIGdyaWQtY29sdW1uLXBvc2l0aW9uKCRwb3NpdGlvbikge1xuICAvLyBBdXRvIHBvc2l0aW9uaW5nXG4gIEBpZiAkcG9zaXRpb24gPT0gYXV0byB7XG4gICAgJiwgJjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiAkZ2xvYmFsLWxlZnQ7XG4gICAgICBjbGVhcjogbm9uZTtcbiAgICB9XG5cbiAgICAvLyBMYXN0IGNvbHVtbiBhbGlnbm1lbnRcbiAgICBAaWYgJGdyaWQtY29sdW1uLWFsaWduLWVkZ2Uge1xuICAgICAgJjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgZmxvYXQ6ICRnbG9iYWwtcmlnaHQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUHVzaC9wdWxsXG4gIEBlbHNlIGlmIHR5cGUtb2YoJHBvc2l0aW9uKSA9PSAnbnVtYmVyJyB7XG4gICAgJG9mZnNldDogcGVyY2VudGFnZShkaXZpZGUoJHBvc2l0aW9uLCAkZ3JpZC1jb2x1bW4tY291bnQpKTtcblxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAjeyRnbG9iYWwtbGVmdH06ICRvZmZzZXQ7XG4gIH1cblxuICAvLyBDZW50ZXIgcG9zaXRpb25pbmdcbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IGNlbnRlciB7XG4gICAgJiwgJjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgfVxuXG4gIEBlbHNlIHtcbiAgICBAd2FybiAnV3Jvbmcgc3ludGF4IGZvciBncmlkLWNvbHVtbi1wb3NpdGlvbigpLiBFbnRlciBhIHBvc2l0aXZlIG9yIG5lZ2F0aXZlIG51bWJlciwgXCJjZW50ZXJcIiBvciBcImF1dG9cIi4nO1xuICB9XG59XG5cbi8vLyBSZXNldCBhIHBvc2l0aW9uIGRlZmluaXRpb24uXG5AbWl4aW4gZ3JpZC1jb2x1bW4tdW5wb3NpdGlvbiB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXBvc2l0aW9uKGF1dG8pO1xuICBwb3NpdGlvbjogc3RhdGljO1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuXG4vLy8gT2Zmc2V0cyBhIGNvbHVtbiB0byB0aGUgcmlnaHQgYnkgYCRuYCBjb2x1bW5zLlxuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRuIC0gV2lkdGggdG8gb2Zmc2V0IGJ5LiBZb3UgY2FuIHBhc3MgaW4gYW55IHZhbHVlIGFjY2VwdGVkIGJ5IHRoZSBgZ3JpZC1jb2x1bW4oKWAgbWl4aW4sIHN1Y2ggYXMgYDZgLCBgNTAlYCwgb3IgYDEgb2YgMmAuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tb2Zmc2V0KCRuKSB7XG4gIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IGdyaWQtY29sdW1uKCRuKTtcbn1cblxuLy8vIERpc2FibGUgdGhlIGRlZmF1bHQgYmVoYXZpb3Igb2YgdGhlIGxhc3QgY29sdW1uIGluIGEgcm93IGFsaWduaW5nIHRvIHRoZSBvcHBvc2l0ZSBlZGdlLlxuQG1peGluIGdyaWQtY29sdW1uLWVuZCB7XG4gIC8vIFRoaXMgZXh0cmEgc3BlY2lmaWNpdHkgaXMgcmVxdWlyZWQgZm9yIHRoZSBwcm9wZXJ0eSB0byBiZSBhcHBsaWVkXG4gICY6bGFzdC1jaGlsZDpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogJGdsb2JhbC1sZWZ0O1xuICB9XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1wb3NpdGlvbigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tcG9zaXRpb25cbkBtaXhpbiBncmlkLWNvbC1wb3MoJHBvc2l0aW9uKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXBvc2l0aW9uKCRwb3NpdGlvbik7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi11bnBvc2l0aW9uKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi11bnBvc2l0aW9uXG5AbWl4aW4gZ3JpZC1jb2wtdW5wb3Mge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi11bnBvc2l0aW9uO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tb2Zmc2V0KClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1vZmZzZXRcbkBtaXhpbiBncmlkLWNvbC1vZmYoJG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tb2Zmc2V0KCRuKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLWVuZCgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tZW5kXG5AbWl4aW4gZ3JpZC1jb2wtZW5kIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tZW5kO1xufVxuIl19 */
