summaryrefslogtreecommitdiffstats
path: root/afb-client/dist.prod/global_styles/foundation-conf.min.css
diff options
context:
space:
mode:
authorFulup Ar Foll <fulup@iot.bzh>2016-05-28 12:28:19 +0200
committerFulup Ar Foll <fulup@iot.bzh>2016-05-28 12:28:19 +0200
commit95a5e12dca0e0e0eb93b3dad69e529d737840d38 (patch)
tree618f800406d41e6f23e5722671ed51ac0144bd8e /afb-client/dist.prod/global_styles/foundation-conf.min.css
parent6d06a2a9a02906ce4c848540d74c3c5798688664 (diff)
Clean up and documentation
Diffstat (limited to 'afb-client/dist.prod/global_styles/foundation-conf.min.css')
-rw-r--r--afb-client/dist.prod/global_styles/foundation-conf.min.css2
1 files changed, 0 insertions, 2 deletions
diff --git a/afb-client/dist.prod/global_styles/foundation-conf.min.css b/afb-client/dist.prod/global_styles/foundation-conf.min.css
deleted file mode 100644
index 076aa73..0000000
--- a/afb-client/dist.prod/global_styles/foundation-conf.min.css
+++ /dev/null
@@ -1,2 +0,0 @@
-.block-list li>span,button[disabled],html input[disabled]{cursor:default}body,sub,sup{position:relative}.block-list .with-dropdown select,select{-webkit-appearance:none;-moz-appearance:none}h1,h2,h3,h4,h5,h6,p{text-rendering:optimizeLegibility}.action-sheet ul,.action-sheet.dark ul,.action-sheet.primary ul,.block-list,.block-list ul,.button-group,.inline-list,.menu-bar,.small-up-1,.small-up-10,.small-up-11,.small-up-12,.small-up-2,.small-up-3,.small-up-4,.small-up-6,.small-up-7,.small-up-8,.small-up-9,ul.no-bullet,ul.no-bullet li ol,ul.no-bullet li ul{list-style-type:none}.notification-icon,.v-align .align-top{align-self:flex-start}.clearfix:after,hr{clear:both}@font-face{font-family:foundation-icons;src:url(/bower_components/foundation-icons.woff) format("woff");font-weight:400;font-style:normal}.fi-address-book:before,.fi-alert:before,.fi-align-center:before,.fi-align-justify:before,.fi-align-left:before,.fi-align-right:before,.fi-anchor:before,.fi-annotate:before,.fi-archive:before,.fi-arrow-down:before,.fi-arrow-left:before,.fi-arrow-right:before,.fi-arrow-up:before,.fi-arrows-compress:before,.fi-arrows-expand:before,.fi-arrows-in:before,.fi-arrows-out:before,.fi-asl:before,.fi-asterisk:before,.fi-at-sign:before,.fi-background-color:before,.fi-battery-empty:before,.fi-battery-full:before,.fi-battery-half:before,.fi-bitcoin-circle:before,.fi-bitcoin:before,.fi-blind:before,.fi-bluetooth:before,.fi-bold:before,.fi-book-bookmark:before,.fi-book:before,.fi-bookmark:before,.fi-braille:before,.fi-burst-new:before,.fi-burst-sale:before,.fi-burst:before,.fi-calendar:before,.fi-camera:before,.fi-check:before,.fi-checkbox:before,.fi-clipboard-notes:before,.fi-clipboard-pencil:before,.fi-clipboard:before,.fi-clock:before,.fi-closed-caption:before,.fi-cloud:before,.fi-comment-minus:before,.fi-comment-quotes:before,.fi-comment-video:before,.fi-comment:before,.fi-comments:before,.fi-compass:before,.fi-contrast:before,.fi-credit-card:before,.fi-crop:before,.fi-crown:before,.fi-css3:before,.fi-database:before,.fi-die-five:before,.fi-die-four:before,.fi-die-one:before,.fi-die-six:before,.fi-die-three:before,.fi-die-two:before,.fi-dislike:before,.fi-dollar-bill:before,.fi-dollar:before,.fi-download:before,.fi-eject:before,.fi-elevator:before,.fi-euro:before,.fi-eye:before,.fi-fast-forward:before,.fi-female-symbol:before,.fi-female:before,.fi-filter:before,.fi-first-aid:before,.fi-flag:before,.fi-folder-add:before,.fi-folder-lock:before,.fi-folder:before,.fi-foot:before,.fi-foundation:before,.fi-graph-bar:before,.fi-graph-horizontal:before,.fi-graph-pie:before,.fi-graph-trend:before,.fi-guide-dog:before,.fi-hearing-aid:before,.fi-heart:before,.fi-home:before,.fi-html5:before,.fi-indent-less:before,.fi-indent-more:before,.fi-info:before,.fi-italic:before,.fi-key:before,.fi-laptop:before,.fi-layout:before,.fi-lightbulb:before,.fi-like:before,.fi-link:before,.fi-list-bullet:before,.fi-list-number:before,.fi-list-thumbnails:before,.fi-list:before,.fi-lock:before,.fi-loop:before,.fi-magnifying-glass:before,.fi-mail:before,.fi-male-female:before,.fi-male-symbol:before,.fi-male:before,.fi-map:before,.fi-marker:before,.fi-megaphone:before,.fi-microphone:before,.fi-minus-circle:before,.fi-minus:before,.fi-mobile-signal:before,.fi-mobile:before,.fi-monitor:before,.fi-mountains:before,.fi-music:before,.fi-next:before,.fi-no-dogs:before,.fi-no-smoking:before,.fi-page-add:before,.fi-page-copy:before,.fi-page-csv:before,.fi-page-delete:before,.fi-page-doc:before,.fi-page-edit:before,.fi-page-export-csv:before,.fi-page-export-doc:before,.fi-page-export-pdf:before,.fi-page-export:before,.fi-page-filled:before,.fi-page-multiple:before,.fi-page-pdf:before,.fi-page-remove:before,.fi-page-search:before,.fi-page:before,.fi-paint-bucket:before,.fi-paperclip:before,.fi-pause:before,.fi-paw:before,.fi-paypal:before,.fi-pencil:before,.fi-photo:before,.fi-play-circle:before,.fi-play-video:before,.fi-play:before,.fi-plus:before,.fi-pound:before,.fi-power:before,.fi-previous:before,.fi-price-tag:before,.fi-pricetag-multiple:before,.fi-print:before,.fi-prohibited:before,.fi-projection-screen:before,.fi-puzzle:before,.fi-quote:before,.fi-record:before,.fi-refresh:before,.fi-results-demographics:before,.fi-results:before,.fi-rewind-ten:before,.fi-rewind:before,.fi-rss:before,.fi-safety-cone:before,.fi-save:before,.fi-share:before,.fi-sheriff-badge:before,.fi-shield:before,.fi-shopping-bag:before,.fi-shopping-cart:before,.fi-shuffle:before,.fi-skull:before,.fi-social-500px:before,.fi-social-adobe:before,.fi-social-amazon:before,.fi-social-android:before,.fi-social-apple:before,.fi-social-behance:before,.fi-social-bing:before,.fi-social-blogger:before,.fi-social-delicious:before,.fi-social-designer-news:before,.fi-social-deviant-art:before,.fi-social-digg:before,.fi-social-dribbble:before,.fi-social-drive:before,.fi-social-dropbox:before,.fi-social-evernote:before,.fi-social-facebook:before,.fi-social-flickr:before,.fi-social-forrst:before,.fi-social-foursquare:before,.fi-social-game-center:before,.fi-social-github:before,.fi-social-google-plus:before,.fi-social-hacker-news:before,.fi-social-hi5:before,.fi-social-instagram:before,.fi-social-joomla:before,.fi-social-lastfm:before,.fi-social-linkedin:before,.fi-social-medium:before,.fi-social-myspace:before,.fi-social-orkut:before,.fi-social-path:before,.fi-social-picasa:before,.fi-social-pinterest:before,.fi-social-rdio:before,.fi-social-reddit:before,.fi-social-skillshare:before,.fi-social-skype:before,.fi-social-smashing-mag:before,.fi-social-snapchat:before,.fi-social-spotify:before,.fi-social-squidoo:before,.fi-social-stack-overflow:before,.fi-social-steam:before,.fi-social-stumbleupon:before,.fi-social-treehouse:before,.fi-social-tumblr:before,.fi-social-twitter:before,.fi-social-vimeo:before,.fi-social-windows:before,.fi-social-xbox:before,.fi-social-yahoo:before,.fi-social-yelp:before,.fi-social-youtube:before,.fi-social-zerply:before,.fi-social-zurb:before,.fi-sound:before,.fi-star:before,.fi-stop:before,.fi-strikethrough:before,.fi-subscript:before,.fi-superscript:before,.fi-tablet-landscape:before,.fi-tablet-portrait:before,.fi-target-two:before,.fi-target:before,.fi-telephone-accessible:before,.fi-telephone:before,.fi-text-color:before,.fi-thumbnails:before,.fi-ticket:before,.fi-torso-business:before,.fi-torso-female:before,.fi-torso:before,.fi-torsos-all-female:before,.fi-torsos-all:before,.fi-torsos-female-male:before,.fi-torsos-male-female:before,.fi-torsos:before,.fi-trash:before,.fi-trees:before,.fi-trophy:before,.fi-underline:before,.fi-universal-access:before,.fi-unlink:before,.fi-unlock:before,.fi-upload-cloud:before,.fi-upload:before,.fi-usb:before,.fi-video:before,.fi-volume-none:before,.fi-volume-strike:before,.fi-volume:before,.fi-web:before,.fi-wheelchair:before,.fi-widget:before,.fi-wrench:before,.fi-x-circle:before,.fi-x:before,.fi-yen:before,.fi-zoom-in:before,.fi-zoom-out:before{font-family:foundation-icons;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;display:inline-block;text-decoration:inherit}.block-list header,.menu-bar>li.title,.title-bar .title,b,optgroup,strong{font-weight:700}.fi-address-book:before{content:"\f100"}.fi-alert:before{content:"\f101"}.fi-align-center:before{content:"\f102"}.fi-align-justify:before{content:"\f103"}.fi-align-left:before{content:"\f104"}.fi-align-right:before{content:"\f105"}.fi-anchor:before{content:"\f106"}.fi-annotate:before{content:"\f107"}.fi-archive:before{content:"\f108"}.fi-arrow-down:before{content:"\f109"}.fi-arrow-left:before{content:"\f10a"}.fi-arrow-right:before{content:"\f10b"}.fi-arrow-up:before{content:"\f10c"}.fi-arrows-compress:before{content:"\f10d"}.fi-arrows-expand:before{content:"\f10e"}.fi-arrows-in:before{content:"\f10f"}.fi-arrows-out:before{content:"\f110"}.fi-asl:before{content:"\f111"}.fi-asterisk:before{content:"\f112"}.fi-at-sign:before{content:"\f113"}.fi-background-color:before{content:"\f114"}.fi-battery-empty:before{content:"\f115"}.fi-battery-full:before{content:"\f116"}.fi-battery-half:before{content:"\f117"}.fi-bitcoin-circle:before{content:"\f118"}.fi-bitcoin:before{content:"\f119"}.fi-blind:before{content:"\f11a"}.fi-bluetooth:before{content:"\f11b"}.fi-bold:before{content:"\f11c"}.fi-book-bookmark:before{content:"\f11d"}.fi-book:before{content:"\f11e"}.fi-bookmark:before{content:"\f11f"}.fi-braille:before{content:"\f120"}.fi-burst-new:before{content:"\f121"}.fi-burst-sale:before{content:"\f122"}.fi-burst:before{content:"\f123"}.fi-calendar:before{content:"\f124"}.fi-camera:before{content:"\f125"}.fi-check:before{content:"\f126"}.fi-checkbox:before{content:"\f127"}.fi-clipboard-notes:before{content:"\f128"}.fi-clipboard-pencil:before{content:"\f129"}.fi-clipboard:before{content:"\f12a"}.fi-clock:before{content:"\f12b"}.fi-closed-caption:before{content:"\f12c"}.fi-cloud:before{content:"\f12d"}.fi-comment-minus:before{content:"\f12e"}.fi-comment-quotes:before{content:"\f12f"}.fi-comment-video:before{content:"\f130"}.fi-comment:before{content:"\f131"}.fi-comments:before{content:"\f132"}.fi-compass:before{content:"\f133"}.fi-contrast:before{content:"\f134"}.fi-credit-card:before{content:"\f135"}.fi-crop:before{content:"\f136"}.fi-crown:before{content:"\f137"}.fi-css3:before{content:"\f138"}.fi-database:before{content:"\f139"}.fi-die-five:before{content:"\f13a"}.fi-die-four:before{content:"\f13b"}.fi-die-one:before{content:"\f13c"}.fi-die-six:before{content:"\f13d"}.fi-die-three:before{content:"\f13e"}.fi-die-two:before{content:"\f13f"}.fi-dislike:before{content:"\f140"}.fi-dollar-bill:before{content:"\f141"}.fi-dollar:before{content:"\f142"}.fi-download:before{content:"\f143"}.fi-eject:before{content:"\f144"}.fi-elevator:before{content:"\f145"}.fi-euro:before{content:"\f146"}.fi-eye:before{content:"\f147"}.fi-fast-forward:before{content:"\f148"}.fi-female-symbol:before{content:"\f149"}.fi-female:before{content:"\f14a"}.fi-filter:before{content:"\f14b"}.fi-first-aid:before{content:"\f14c"}.fi-flag:before{content:"\f14d"}.fi-folder-add:before{content:"\f14e"}.fi-folder-lock:before{content:"\f14f"}.fi-folder:before{content:"\f150"}.fi-foot:before{content:"\f151"}.fi-foundation:before{content:"\f152"}.fi-graph-bar:before{content:"\f153"}.fi-graph-horizontal:before{content:"\f154"}.fi-graph-pie:before{content:"\f155"}.fi-graph-trend:before{content:"\f156"}.fi-guide-dog:before{content:"\f157"}.fi-hearing-aid:before{content:"\f158"}.fi-heart:before{content:"\f159"}.fi-home:before{content:"\f15a"}.fi-html5:before{content:"\f15b"}.fi-indent-less:before{content:"\f15c"}.fi-indent-more:before{content:"\f15d"}.fi-info:before{content:"\f15e"}.fi-italic:before{content:"\f15f"}.fi-key:before{content:"\f160"}.fi-laptop:before{content:"\f161"}.fi-layout:before{content:"\f162"}.fi-lightbulb:before{content:"\f163"}.fi-like:before{content:"\f164"}.fi-link:before{content:"\f165"}.fi-list-bullet:before{content:"\f166"}.fi-list-number:before{content:"\f167"}.fi-list-thumbnails:before{content:"\f168"}.fi-list:before{content:"\f169"}.fi-lock:before{content:"\f16a"}.fi-loop:before{content:"\f16b"}.fi-magnifying-glass:before{content:"\f16c"}.fi-mail:before{content:"\f16d"}.fi-male-female:before{content:"\f16e"}.fi-male-symbol:before{content:"\f16f"}.fi-male:before{content:"\f170"}.fi-map:before{content:"\f171"}.fi-marker:before{content:"\f172"}.fi-megaphone:before{content:"\f173"}.fi-microphone:before{content:"\f174"}.fi-minus-circle:before{content:"\f175"}.fi-minus:before{content:"\f176"}.fi-mobile-signal:before{content:"\f177"}.fi-mobile:before{content:"\f178"}.fi-monitor:before{content:"\f179"}.fi-mountains:before{content:"\f17a"}.fi-music:before{content:"\f17b"}.fi-next:before{content:"\f17c"}.fi-no-dogs:before{content:"\f17d"}.fi-no-smoking:before{content:"\f17e"}.fi-page-add:before{content:"\f17f"}.fi-page-copy:before{content:"\f180"}.fi-page-csv:before{content:"\f181"}.fi-page-delete:before{content:"\f182"}.fi-page-doc:before{content:"\f183"}.fi-page-edit:before{content:"\f184"}.fi-page-export-csv:before{content:"\f185"}.fi-page-export-doc:before{content:"\f186"}.fi-page-export-pdf:before{content:"\f187"}.fi-page-export:before{content:"\f188"}.fi-page-filled:before{content:"\f189"}.fi-page-multiple:before{content:"\f18a"}.fi-page-pdf:before{content:"\f18b"}.fi-page-remove:before{content:"\f18c"}.fi-page-search:before{content:"\f18d"}.fi-page:before{content:"\f18e"}.fi-paint-bucket:before{content:"\f18f"}.fi-paperclip:before{content:"\f190"}.fi-pause:before{content:"\f191"}.fi-paw:before{content:"\f192"}.fi-paypal:before{content:"\f193"}.fi-pencil:before{content:"\f194"}.fi-photo:before{content:"\f195"}.fi-play-circle:before{content:"\f196"}.fi-play-video:before{content:"\f197"}.fi-play:before{content:"\f198"}.fi-plus:before{content:"\f199"}.fi-pound:before{content:"\f19a"}.fi-power:before{content:"\f19b"}.fi-previous:before{content:"\f19c"}.fi-price-tag:before{content:"\f19d"}.fi-pricetag-multiple:before{content:"\f19e"}.fi-print:before{content:"\f19f"}.fi-prohibited:before{content:"\f1a0"}.fi-projection-screen:before{content:"\f1a1"}.fi-puzzle:before{content:"\f1a2"}.fi-quote:before{content:"\f1a3"}.fi-record:before{content:"\f1a4"}.fi-refresh:before{content:"\f1a5"}.fi-results-demographics:before{content:"\f1a6"}.fi-results:before{content:"\f1a7"}.fi-rewind-ten:before{content:"\f1a8"}.fi-rewind:before{content:"\f1a9"}.fi-rss:before{content:"\f1aa"}.fi-safety-cone:before{content:"\f1ab"}.fi-save:before{content:"\f1ac"}.fi-share:before{content:"\f1ad"}.fi-sheriff-badge:before{content:"\f1ae"}.fi-shield:before{content:"\f1af"}.fi-shopping-bag:before{content:"\f1b0"}.fi-shopping-cart:before{content:"\f1b1"}.fi-shuffle:before{content:"\f1b2"}.fi-skull:before{content:"\f1b3"}.fi-social-500px:before{content:"\f1b4"}.fi-social-adobe:before{content:"\f1b5"}.fi-social-amazon:before{content:"\f1b6"}.fi-social-android:before{content:"\f1b7"}.fi-social-apple:before{content:"\f1b8"}.fi-social-behance:before{content:"\f1b9"}.fi-social-bing:before{content:"\f1ba"}.fi-social-blogger:before{content:"\f1bb"}.fi-social-delicious:before{content:"\f1bc"}.fi-social-designer-news:before{content:"\f1bd"}.fi-social-deviant-art:before{content:"\f1be"}.fi-social-digg:before{content:"\f1bf"}.fi-social-dribbble:before{content:"\f1c0"}.fi-social-drive:before{content:"\f1c1"}.fi-social-dropbox:before{content:"\f1c2"}.fi-social-evernote:before{content:"\f1c3"}.fi-social-facebook:before{content:"\f1c4"}.fi-social-flickr:before{content:"\f1c5"}.fi-social-forrst:before{content:"\f1c6"}.fi-social-foursquare:before{content:"\f1c7"}.fi-social-game-center:before{content:"\f1c8"}.fi-social-github:before{content:"\f1c9"}.fi-social-google-plus:before{content:"\f1ca"}.fi-social-hacker-news:before{content:"\f1cb"}.fi-social-hi5:before{content:"\f1cc"}.fi-social-instagram:before{content:"\f1cd"}.fi-social-joomla:before{content:"\f1ce"}.fi-social-lastfm:before{content:"\f1cf"}.fi-social-linkedin:before{content:"\f1d0"}.fi-social-medium:before{content:"\f1d1"}.fi-social-myspace:before{content:"\f1d2"}.fi-social-orkut:before{content:"\f1d3"}.fi-social-path:before{content:"\f1d4"}.fi-social-picasa:before{content:"\f1d5"}.fi-social-pinterest:before{content:"\f1d6"}.fi-social-rdio:before{content:"\f1d7"}.fi-social-reddit:before{content:"\f1d8"}.fi-social-skillshare:before{content:"\f1d9"}.fi-social-skype:before{content:"\f1da"}.fi-social-smashing-mag:before{content:"\f1db"}.fi-social-snapchat:before{content:"\f1dc"}.fi-social-spotify:before{content:"\f1dd"}.fi-social-squidoo:before{content:"\f1de"}.fi-social-stack-overflow:before{content:"\f1df"}.fi-social-steam:before{content:"\f1e0"}.fi-social-stumbleupon:before{content:"\f1e1"}.fi-social-treehouse:before{content:"\f1e2"}.fi-social-tumblr:before{content:"\f1e3"}.fi-social-twitter:before{content:"\f1e4"}.fi-social-vimeo:before{content:"\f1e5"}.fi-social-windows:before{content:"\f1e6"}.fi-social-xbox:before{content:"\f1e7"}.fi-social-yahoo:before{content:"\f1e8"}.fi-social-yelp:before{content:"\f1e9"}.fi-social-youtube:before{content:"\f1ea"}.fi-social-zerply:before{content:"\f1eb"}.fi-social-zurb:before{content:"\f1ec"}.fi-sound:before{content:"\f1ed"}.fi-star:before{content:"\f1ee"}.fi-stop:before{content:"\f1ef"}.fi-strikethrough:before{content:"\f1f0"}.fi-subscript:before{content:"\f1f1"}.fi-superscript:before{content:"\f1f2"}.fi-tablet-landscape:before{content:"\f1f3"}.fi-tablet-portrait:before{content:"\f1f4"}.fi-target-two:before{content:"\f1f5"}.fi-target:before{content:"\f1f6"}.fi-telephone-accessible:before{content:"\f1f7"}.fi-telephone:before{content:"\f1f8"}.fi-text-color:before{content:"\f1f9"}.fi-thumbnails:before{content:"\f1fa"}.fi-ticket:before{content:"\f1fb"}.fi-torso-business:before{content:"\f1fc"}.fi-torso-female:before{content:"\f1fd"}.fi-torso:before{content:"\f1fe"}.fi-torsos-all-female:before{content:"\f1ff"}.fi-torsos-all:before{content:"\f200"}.fi-torsos-female-male:before{content:"\f201"}.fi-torsos-male-female:before{content:"\f202"}.fi-torsos:before{content:"\f203"}.fi-trash:before{content:"\f204"}.fi-trees:before{content:"\f205"}.fi-trophy:before{content:"\f206"}.fi-underline:before{content:"\f207"}.fi-universal-access:before{content:"\f208"}.fi-unlink:before{content:"\f209"}.fi-unlock:before{content:"\f20a"}.fi-upload-cloud:before{content:"\f20b"}.fi-upload:before{content:"\f20c"}.fi-usb:before{content:"\f20d"}.fi-video:before{content:"\f20e"}.fi-volume-none:before{content:"\f20f"}.fi-volume-strike:before{content:"\f210"}.fi-volume:before{content:"\f211"}.fi-web:before{content:"\f212"}.fi-wheelchair:before{content:"\f213"}.fi-widget:before{content:"\f214"}.fi-wrench:before{content:"\f215"}.fi-x-circle:before{content:"\f216"}.fi-x:before{content:"\f217"}.fi-yen:before{content:"\f218"}.fi-zoom-in:before{content:"\f219"}.fi-zoom-out:before{content:"\f21a"}/*! normalize.css v3.0.1 | MIT License | git.io/normalize */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background:0 0}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}dfn{font-style:italic}mark{background:#ff0;color:#000}sub,sup{font-size:75%;line-height:0;vertical-align:baseline}.iconic,img{vertical-align:middle}sup{top:-.5em}sub{bottom:-.25em}img{border:0;max-width:100%;height:auto;-ms-interpolation-mode:bicubic;display:inline-block}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-moz-box-sizing:content-box;box-sizing:content-box}pre,textarea{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}body,p{font-weight:400}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:border-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}table{border-collapse:collapse;border-spacing:0}meta.foundation-version{font-family:"1.1.0"}meta.foundation-mq{font-family:"small=0&medium=40rem&large=75rem&xlarge=90rem&xxlarge=120rem"}body,html{height:100%;font-size:100%}html{box-sizing:border-box}*,:after,:before{box-sizing:inherit}body{background:#fff;color:#222;padding:0;margin:0;font-family:"Helvetica Neue",Helvetica,Helvetica,Arial,sans-serif;font-style:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}[ui-sref],[zf-close],[zf-open],[zf-toggle],a{cursor:pointer}#map_canvas embed,#map_canvas img,#map_canvas object,.map_canvas embed,.map_canvas img,.map_canvas object{max-width:none!important}.padding{padding:1rem}.iconic{width:1rem;height:1rem}a>.iconic{margin-top:-2px;margin-right:.25rem}.iconic *,.iconic .iconic-property-accent,.iconic-color-primary *,.iconic-color-primary .iconic-property-accent,a>.iconic *,a>.iconic .iconic-property-accent{fill:#00558b;stroke:#00558b}.iconic-color-success *,.iconic-color-success .iconic-property-accent{fill:#43AC6A;stroke:#43AC6A}.iconic-color-warning *,.iconic-color-warning .iconic-property-accent{fill:#F08A24;stroke:#F08A24}.iconic-color-alert *,.iconic-color-alert .iconic-property-accent{fill:#F04124;stroke:#F04124}.iconic-color-dark *,.iconic-color-dark .iconic-property-accent{fill:#232323;stroke:#232323}.iconic-color-secondary *,.iconic-color-secondary .iconic-property-accent{fill:#f1f1f1;stroke:#f1f1f1}.action-sheet-container{position:relative;display:inline-block}.action-sheet-container .button{margin-left:0;margin-right:0}.action-sheet{position:fixed;left:0;z-index:1000;width:100%;padding:1rem;background:#fff;text-align:center;transition-property:transform opacity;transition-duration:.25s;transition-timing-function:ease-out;box-shadow:0 -3px 10px rgba(0,0,0,.25);bottom:0;transform:translateY(100%)}.action-sheet.is-active{transform:translateY(0)}.action-sheet ul{margin:0 -1rem -1rem;user-select:none}.action-sheet ul:first-child{margin-top:-1rem}.action-sheet ul:first-child li:first-child{border-top:0}.action-sheet ul a{display:block;padding:.8rem;line-height:1;color:#000;border-top:1px solid #ccc}.action-sheet ul a:hover{color:#000;background:#f2f2f2}.action-sheet ul .alert>a{color:#F04124}.action-sheet ul .disabled>a{pointer-events:none;color:#999}@media only screen and (min-width:40em){.action-sheet,.action-sheet.top{border-radius:4px;box-shadow:0 0 10px rgba(0,0,0,.25)}.action-sheet.top::after,.action-sheet.top::before,.action-sheet::after,.action-sheet::before{content:'';position:absolute;left:50%;display:block;height:0;border-left:10px solid transparent;border-right:10px solid transparent;margin-left:-10px}.action-sheet{position:absolute;left:50%;width:300px;opacity:0;pointer-events:none;top:auto;bottom:0;transform:translateX(-50%) translateY(110%)}.action-sheet.is-active{opacity:1;pointer-events:auto;transform:translateX(-50%) translateY(100%)}.action-sheet::after,.action-sheet::before{width:0;top:-10px;bottom:auto;border-top:0;border-bottom:10px solid #fff}.action-sheet::before{top:-12px;border-bottom-color:rgba(0,0,0,.15)}.action-sheet.top{position:absolute;left:50%;width:300px;opacity:0;pointer-events:none;top:0;bottom:auto;transform:translateX(-50%) translateY(-120%)}.action-sheet.top.is-active{opacity:1;pointer-events:auto;transform:translateX(-50%) translateY(-110%)}.action-sheet.top::after,.action-sheet.top::before{width:0;top:auto;bottom:-10px;border-top:10px solid #fff;border-bottom:0}.action-sheet.top::before{bottom:-12px;border-top-color:rgba(0,0,0,.15)}}.card,.card.primary{box-shadow:0 1px 2px rgba(0,0,0,.2);overflow:hidden}.action-sheet.primary{background:#00558b;color:#fff;border:0}.action-sheet.primary::before{display:none}.action-sheet.primary::after,.action-sheet.primary::before{border-top-color:#00558b}.action-sheet.primary.top::after,.action-sheet.primary.top::before{border-bottom-color:#00558b}.action-sheet.primary ul{margin:0 -1rem -1rem;user-select:none}.action-sheet.primary ul:first-child{margin-top:-1rem}.action-sheet.primary ul:first-child li:first-child{border-top:0}.action-sheet.primary ul a{display:block;padding:.8rem;line-height:1;color:#fff;border-top:1px solid #006cb0}.action-sheet.primary ul a:hover{color:#fff;background:#00609e}.action-sheet.primary ul .alert>a{color:#F04124}.action-sheet.primary ul .disabled>a{pointer-events:none;color:#999}.action-sheet.dark{background:#232323;color:#fff;border:0}.action-sheet.dark::before{display:none}.action-sheet.dark::after,.action-sheet.dark::before{border-top-color:#232323}.action-sheet.dark.top::after,.action-sheet.dark.top::before{border-bottom-color:#232323}.action-sheet.dark ul{margin:0 -1rem -1rem;user-select:none}.action-sheet.dark ul:first-child{margin-top:-1rem}.action-sheet.dark ul:first-child li:first-child{border-top:0}.action-sheet.dark ul a{display:block;padding:.8rem;line-height:1;color:#fff;border-top:1px solid #393939}.action-sheet.dark ul a:hover{color:#fff;background:#2e2e2e}.action-sheet.dark ul .alert>a{color:#F04124}.action-sheet.dark ul .disabled>a{pointer-events:none;color:#999}.block-list ul{margin-left:0}.block-list{margin-bottom:1rem;line-height:1;user-select:none;font-size:1rem;margin-left:-1rem;margin-right:-1rem}.block-list input[type=number],.block-list input[type=search],.block-list input[type=text],.block-list input[type=password],.block-list input[type=date],.block-list input[type=datetime],.block-list input[type=datetime-local],.block-list input[type=month],.block-list input[type=week],.block-list input[type=email],.block-list input[type=tel],.block-list input[type=time],.block-list input[type=url],.block-list input[type=color],.block-list textarea{margin:0;border:0;line-height:1;height:auto;padding:.8rem 1rem;color:inherit}.block-list input[type=number]:focus,.block-list input[type=number]:hover,.block-list input[type=search]:focus,.block-list input[type=search]:hover,.block-list input[type=text]:focus,.block-list input[type=text]:hover,.block-list input[type=password]:focus,.block-list input[type=password]:hover,.block-list input[type=date]:focus,.block-list input[type=date]:hover,.block-list input[type=datetime]:focus,.block-list input[type=datetime]:hover,.block-list input[type=datetime-local]:focus,.block-list input[type=datetime-local]:hover,.block-list input[type=month]:focus,.block-list input[type=month]:hover,.block-list input[type=week]:focus,.block-list input[type=week]:hover,.block-list input[type=email]:focus,.block-list input[type=email]:hover,.block-list input[type=tel]:focus,.block-list input[type=tel]:hover,.block-list input[type=time]:focus,.block-list input[type=time]:hover,.block-list input[type=url]:focus,.block-list input[type=url]:hover,.block-list input[type=color]:focus,.block-list input[type=color]:hover,.block-list textarea:focus,.block-list textarea:hover{border:0}.block-list li>input[type=checkbox],.block-list li>input[type=radio]{position:absolute;left:-9999px}.block-list li>input[type=checkbox]+label,.block-list li>input[type=radio]+label{display:block;font-size:1rem;margin:0}.block-list li>input[type=checkbox]:checked+label::before,.block-list li>input[type=radio]:checked+label::before{background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="32" height="32" viewBox="0 0 32 32"><path fill="black" d="M16 0c-8.837 0-16 7.163-16 16s7.163 16 16 16 16-7.163 16-16-7.163-16-16-16zm6.906 8.875l2.219 2.031-12.063 13.281-6.188-6.188 2.125-2.125 3.938 3.938 9.969-10.938z"/></svg>');content:'';background-size:100% 100%;width:1.5em;height:1.5em;color:#00558b;float:right;pointer-events:none;margin-top:-.25em}@media screen and (min-width:0\0){.block-list li>input[type=checkbox]:checked+label::before,.block-list li>input[type=radio]:checked+label::before{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAdlJREFUeNrMl0FugzAQRY3TRZeoFyhVL0BOkGTXJezaHZwguUnECaCrdFd6gqQnCN11Uyk5QekNOlONJWMVGMCgfGlkEIY3HnsG2xFM3d96PjQB2AJsWdPtAPYOln+dTwXnuw4DHEGzBvNFN6EDCTiS9XIAwB40acNoucKoxODIie0AwAOCu8KOSnIiNx/MakK+A7sW9oTferxx3fP3T1nURoBG/irGVahHwjHm/Ggx7E3TMVdrQmoP0gngghhpZQ3QvG/EdPLUelARWI8Aycjq9Md0qMIdbcNhjmOKLoY7quk3l1Rebeqg4AwFkmq7LWGOh1pmNY0etZAWSq0OX8HoS4JvWuCopbSY26EGR/CW86K0BF+pwkLwlPuyHJhOCl5oe4ZtF++vOqST+GdOYwO+71pN2VNAjmQGPCe42weuHDg0PI8olUwnYrXTGQJH9gxq8l1LKvrQx4O6/YY32Kp/ugb3ey7gZ4xAzuhYiYTxB/UHZFAuaREVXZ2g6yFlvEC2yoKEmbsRZYNgVLk2JeaOaG+xLHN+WCszDWMqLGOrJFa1DlApjSdwoHJGqGzLIb0+cas0wh5Bh780ngswx8GJD7h8sHg2wLA/mfDLPZpdxOF0quP5rwADAAFIzSRvu1m5AAAAAElFTkSuQmCC)}}.block-list .with-dropdown{color:inherit}.block-list .with-dropdown select{outline:0;background:0;border:0;height:auto;padding:.8rem 1rem;margin:0;font-size:1em;line-height:1;color:inherit}.block-list .switch{position:absolute;top:50%;right:1rem;transform:translateY(-50%)}.block-list.with-icons li>a,.block-list.with-icons li>label,.block-list.with-icons li>span{padding-left:2.8rem}.block-list.with-icons li .iconic,.block-list.with-icons li img{position:absolute;top:.26rem;left:.26rem;width:2.08rem;height:2.08rem;border-radius:8px;pointer-events:none}.block-list header{margin-top:1em;color:#666;margin-bottom:.5em;margin-left:1rem;font-size:.8em;cursor:default;text-transform:uppercase}.block-list li{position:relative;border-bottom:1px solid #d0d0d0}.block-list li:first-child{border-top:1px solid #d0d0d0}.block-list li>a,.block-list li>label,.block-list li>span{display:block;padding:.8rem 1rem;color:#000;line-height:1}.block-list li>a,.block-list li>label{cursor:pointer}.block-list li>a:hover,.block-list li>label:hover{color:#000}.block-list li select:hover,.block-list li>a:hover,.block-list li>label:hover{background:#f4f4f4}.block-list li.caution>a,.block-list li.caution>a:hover{color:#F04124}.block-list li.disabled>a{cursor:default}.block-list li.disabled>a,.block-list li.disabled>a:hover{color:#999}.block-list li.disabled>a:hover{background:0 0}.block-list li.with-chevron::after{content:'\203A';display:block;position:absolute;right:1rem;top:50%;transform:translateY(-50%);font-weight:700;color:#666;font-size:2em}.block-list li.with-chevron .block-list-label{padding-right:1.5rem}.block-list li .block-list-label{display:inline-block;float:right;padding:0;color:#999;pointer-events:none}.block-list li .block-list-label.left{margin-left:.8rem;float:none}.button,.button-group>li>a,.button-group>li>button,.button-group>li>label{border:0;text-align:center;line-height:1;cursor:pointer;-webkit-appearance:none;-webkit-font-smoothing:antialiased;transition:background .25s ease-out;vertical-align:middle;padding:.85em 1em;border-radius:0}.button-group li.disabled>a,.button-group li.disabled>button,.button-group li.disabled>label,.button.disabled{opacity:.5;cursor:default;pointer-events:none}.button{font-size:.9rem;display:inline-block;width:auto;margin:0 1rem 1rem 0;background:#00558b;color:#fff}.button .iconic,.button.large .iconic,.button.small .iconic,.button.tiny .iconic{width:1em;margin-right:.25em;margin-top:-2px;height:1em;vertical-align:middle}.button:focus,.button:hover{background:#004876;color:#fff}.button .iconic *,.button .iconic .iconic-property-accent{fill:#fff;stroke:#fff}.button.tiny{font-size:.63rem}.button.small{font-size:.72rem}.button.large{font-size:1.17rem}.button.expand{display:block;width:100%;margin-left:0;margin-right:0}.button.secondary{background:#f1f1f1;color:#000}.button.secondary:focus,.button.secondary:hover{background:#cdcdcd;color:#000}.button.secondary .iconic *,.button.secondary .iconic .iconic-property-accent{fill:#000;stroke:#000}.button.alert .iconic *,.button.alert .iconic .iconic-property-accent,.button.success .iconic *,.button.success .iconic .iconic-property-accent,.button.warning .iconic *,.button.warning .iconic .iconic-property-accent{fill:#fff;stroke:#fff}.button.success{background:#43AC6A;color:#fff}.button.success:focus,.button.success:hover{background:#39925a;color:#fff}.button.warning{background:#F08A24;color:#fff}.button.warning:focus,.button.warning:hover{background:#dc750f;color:#fff}.button.alert{background:#F04124;color:#fff}.button.alert:focus,.button.alert:hover{background:#dc2c0f;color:#fff}.button.info{background:#A0D3E8;color:#000}.button.info:focus,.button.info:hover{background:#71bddd;color:#000}.button.info .iconic *,.button.info .iconic .iconic-property-accent{fill:#000;stroke:#000}.button.dark{background:#232323;color:#fff}.button.dark:focus,.button.dark:hover{background:#1e1e1e;color:#fff}.button.dark .iconic *,.button.dark .iconic .iconic-property-accent{fill:#fff;stroke:#fff}.button.hollow{border:1px solid #00558b;background:0 0;color:#00558b}.button.hollow:focus,.button.hollow:hover{border-color:#008ee8;background:0 0;color:#008ee8}.button.hollow .iconic *,.button.hollow .iconic .iconic-property-accent{fill:#00558b;stroke:#00558b}.button.hollow:hover .iconic *,.button.hollow:hover .iconic .iconic-property-accent{fill:#008ee8;stroke:#008ee8}.button.hollow.secondary{border:1px solid #f1f1f1;background:0 0;color:#f1f1f1}.button.hollow.secondary:focus,.button.hollow.secondary:hover{border-color:#f5f5f5;background:0 0;color:#f5f5f5}.button.hollow.secondary .iconic *,.button.hollow.secondary .iconic .iconic-property-accent{fill:#f1f1f1;stroke:#f1f1f1}.button.hollow.secondary:hover .iconic *,.button.hollow.secondary:hover .iconic .iconic-property-accent{fill:#f5f5f5;stroke:#f5f5f5}.button.hollow.success{border:1px solid #43AC6A;background:0 0;color:#43AC6A}.button.hollow.success:focus,.button.hollow.success:hover{border-color:#6dc68e;background:0 0;color:#6dc68e}.button.hollow.success .iconic *,.button.hollow.success .iconic .iconic-property-accent{fill:#43AC6A;stroke:#43AC6A}.button.hollow.success:hover .iconic *,.button.hollow.success:hover .iconic .iconic-property-accent{fill:#6dc68e;stroke:#6dc68e}.button.hollow.warning{border:1px solid #F08A24;background:0 0;color:#F08A24}.button.hollow.warning:focus,.button.hollow.warning:hover{border-color:#f4a75b;background:0 0;color:#f4a75b}.button.hollow.warning .iconic *,.button.hollow.warning .iconic .iconic-property-accent{fill:#F08A24;stroke:#F08A24}.button.hollow.warning:hover .iconic *,.button.hollow.warning:hover .iconic .iconic-property-accent{fill:#f4a75b;stroke:#f4a75b}.button.hollow.alert{border:1px solid #F04124;background:0 0;color:#F04124}.button.hollow.alert:focus,.button.hollow.alert:hover{border-color:#f4715b;background:0 0;color:#f4715b}.button.hollow.alert .iconic *,.button.hollow.alert .iconic .iconic-property-accent{fill:#F04124;stroke:#F04124}.button.hollow.alert:hover .iconic *,.button.hollow.alert:hover .iconic .iconic-property-accent{fill:#f4715b;stroke:#f4715b}.button.hollow.info{border:1px solid #A0D3E8;background:0 0;color:#A0D3E8}.button.hollow.info:focus,.button.hollow.info:hover{border-color:#b8deee;background:0 0;color:#b8deee}.button.hollow.info .iconic *,.button.hollow.info .iconic .iconic-property-accent{fill:#A0D3E8;stroke:#A0D3E8}.button.hollow.info:hover .iconic *,.button.hollow.info:hover .iconic .iconic-property-accent{fill:#b8deee;stroke:#b8deee}.button.hollow.dark{border:1px solid #232323;background:0 0;color:#232323}.button.hollow.dark:focus,.button.hollow.dark:hover{border-color:#5a5a5a;background:0 0;color:#5a5a5a}.button.hollow.dark .iconic *,.button.hollow.dark .iconic .iconic-property-accent{fill:#232323;stroke:#232323}.button.hollow.dark:hover .iconic *,.button.hollow.dark:hover .iconic .iconic-property-accent{fill:#5a5a5a;stroke:#5a5a5a}.button-group{margin:0 0 1rem;overflow:hidden;font-size:.9rem}.button-group>li>a,.button-group>li>button,.button-group>li>label{border-radius:0;font-size:inherit;display:block;margin:0}.button-group>li>input+label{margin-left:0}.button-group>li:not(:last-child)>a,.button-group>li:not(:last-child)>button,.button-group>li:not(:last-child)>label{border-right:1px solid #004068}.button-group .iconic{width:1em;height:1em;vertical-align:middle;margin-right:.25em;margin-top:-2px}.button-group.segmented,.button-group.segmented.alert,.button-group.segmented.secondary,.button-group.segmented.success,.button-group.segmented.warning{border:1px solid #00558b;transition-property:background color}.slideInDown.ng-enter,.slideInDown.ng-hide-remove,.slideInLeft.ng-enter,.slideInLeft.ng-hide-remove,.slideInRight.ng-enter,.slideInRight.ng-hide-remove,.slideInUp.ng-enter,.slideInUp.ng-hide-remove,.slideOutBottom.ng-hide-add,.slideOutBottom.ng-leave,.slideOutLeft.ng-hide-add,.slideOutLeft.ng-leave,.slideOutRight.ng-hide-add,.slideOutRight.ng-leave,.slideOutUp.ng-hide-add,.slideOutUp.ng-leave{transition-duration:.5s;transition-timing-function:ease;transition-delay:0;transition-property:transform,opacity}.button-group.segmented>li>input[type=radio]{position:absolute;left:-9999px}.button-group.segmented.alert>li>a,.button-group.segmented.alert>li>button,.button-group.segmented.alert>li>label,.button-group.segmented.secondary>li>a,.button-group.segmented.secondary>li>button,.button-group.segmented.secondary>li>label,.button-group.segmented.success>li>a,.button-group.segmented.success>li>button,.button-group.segmented.success>li>label,.button-group.segmented.warning>li>a,.button-group.segmented.warning>li>button,.button-group.segmented.warning>li>label,.button-group.segmented>li>a,.button-group.segmented>li>button,.button-group.segmented>li>label{margin-right:0;background:0 0}.button-group{display:inline-flex;border-radius:0}.button-group>li{flex:0 0 auto}.button-group>li>a,.button-group>li>button,.button-group>li>label{background:#00558b;color:#fff;border-color:#004876}.button-group>li>a:focus,.button-group>li>a:hover,.button-group>li>button:focus,.button-group>li>button:hover,.button-group>li>label:focus,.button-group>li>label:hover{background:#004876;color:#fff}.button-group>li>a .iconic *,.button-group>li>a .iconic .iconic-property-accent,.button-group>li>button .iconic *,.button-group>li>button .iconic .iconic-property-accent,.button-group>li>label .iconic *,.button-group>li>label .iconic .iconic-property-accent{fill:#fff;stroke:#fff}.button-group>li.is-active>a,.button-group>li.is-active>button,.button-group>li.is-active>label{background:#004876}.button-group.secondary>li>a,.button-group.secondary>li>button,.button-group.secondary>li>label{background:#f1f1f1;color:#000;border-color:#cdcdcd}.button-group.secondary>li>a:focus,.button-group.secondary>li>a:hover,.button-group.secondary>li>button:focus,.button-group.secondary>li>button:hover,.button-group.secondary>li>label:focus,.button-group.secondary>li>label:hover{background:#cdcdcd;color:#000}.button-group.secondary>li>a .iconic *,.button-group.secondary>li>a .iconic .iconic-property-accent,.button-group.secondary>li>button .iconic *,.button-group.secondary>li>button .iconic .iconic-property-accent,.button-group.secondary>li>label .iconic *,.button-group.secondary>li>label .iconic .iconic-property-accent{fill:#000;stroke:#000}.button-group.alert>li>a .iconic *,.button-group.alert>li>a .iconic .iconic-property-accent,.button-group.alert>li>button .iconic *,.button-group.alert>li>button .iconic .iconic-property-accent,.button-group.alert>li>label .iconic *,.button-group.alert>li>label .iconic .iconic-property-accent,.button-group.success>li>a .iconic *,.button-group.success>li>a .iconic .iconic-property-accent,.button-group.success>li>button .iconic *,.button-group.success>li>button .iconic .iconic-property-accent,.button-group.success>li>label .iconic *,.button-group.success>li>label .iconic .iconic-property-accent,.button-group.warning>li>a .iconic *,.button-group.warning>li>a .iconic .iconic-property-accent,.button-group.warning>li>button .iconic *,.button-group.warning>li>button .iconic .iconic-property-accent,.button-group.warning>li>label .iconic *,.button-group.warning>li>label .iconic .iconic-property-accent{fill:#fff;stroke:#fff}.button-group.secondary>li.is-active>a,.button-group.secondary>li.is-active>button,.button-group.secondary>li.is-active>label{background:#cdcdcd}.button-group.success>li>a,.button-group.success>li>button,.button-group.success>li>label{background:#43AC6A;color:#fff;border-color:#39925a}.button-group.success>li>a:focus,.button-group.success>li>a:hover,.button-group.success>li>button:focus,.button-group.success>li>button:hover,.button-group.success>li>label:focus,.button-group.success>li>label:hover{background:#39925a;color:#fff}.button-group.success>li.is-active>a,.button-group.success>li.is-active>button,.button-group.success>li.is-active>label{background:#39925a}.button-group.warning>li>a,.button-group.warning>li>button,.button-group.warning>li>label{background:#F08A24;color:#fff;border-color:#dc750f}.button-group.warning>li>a:focus,.button-group.warning>li>a:hover,.button-group.warning>li>button:focus,.button-group.warning>li>button:hover,.button-group.warning>li>label:focus,.button-group.warning>li>label:hover{background:#dc750f;color:#fff}.button-group.warning>li.is-active>a,.button-group.warning>li.is-active>button,.button-group.warning>li.is-active>label{background:#dc750f}.button-group.alert>li>a,.button-group.alert>li>button,.button-group.alert>li>label{background:#F04124;color:#fff;border-color:#dc2c0f}.button-group.alert>li>a:focus,.button-group.alert>li>a:hover,.button-group.alert>li>button:focus,.button-group.alert>li>button:hover,.button-group.alert>li>label:focus,.button-group.alert>li>label:hover{background:#dc2c0f;color:#fff}.button-group.alert>li.is-active>a,.button-group.alert>li.is-active>button,.button-group.alert>li.is-active>label{background:#dc2c0f}.button-group>li.secondary>a,.button-group>li.secondary>button,.button-group>li.secondary>label{background:#f1f1f1;color:#000;border-color:#f1f1f1}.button-group>li.secondary>a:focus,.button-group>li.secondary>a:hover,.button-group>li.secondary>button:focus,.button-group>li.secondary>button:hover,.button-group>li.secondary>label:focus,.button-group>li.secondary>label:hover{background:#cdcdcd;color:#000;border-color:#b5b5b5}.button-group>li.secondary>a .iconic *,.button-group>li.secondary>a .iconic .iconic-property-accent,.button-group>li.secondary>button .iconic *,.button-group>li.secondary>button .iconic .iconic-property-accent,.button-group>li.secondary>label .iconic *,.button-group>li.secondary>label .iconic .iconic-property-accent{fill:#000;stroke:#000}.button-group>li.alert>a .iconic *,.button-group>li.alert>a .iconic .iconic-property-accent,.button-group>li.alert>button .iconic *,.button-group>li.alert>button .iconic .iconic-property-accent,.button-group>li.alert>label .iconic *,.button-group>li.alert>label .iconic .iconic-property-accent,.button-group>li.success>a .iconic *,.button-group>li.success>a .iconic .iconic-property-accent,.button-group>li.success>button .iconic *,.button-group>li.success>button .iconic .iconic-property-accent,.button-group>li.success>label .iconic *,.button-group>li.success>label .iconic .iconic-property-accent,.button-group>li.warning>a .iconic *,.button-group>li.warning>a .iconic .iconic-property-accent,.button-group>li.warning>button .iconic *,.button-group>li.warning>button .iconic .iconic-property-accent,.button-group>li.warning>label .iconic *,.button-group>li.warning>label .iconic .iconic-property-accent{fill:#fff;stroke:#fff}.button-group>li.success>a,.button-group>li.success>button,.button-group>li.success>label{background:#43AC6A;color:#fff;border-color:#43AC6A}.button-group>li.success>a:focus,.button-group>li.success>a:hover,.button-group>li.success>button:focus,.button-group>li.success>button:hover,.button-group>li.success>label:focus,.button-group>li.success>label:hover{background:#39925a;color:#fff;border-color:#328150}.button-group>li.warning>a,.button-group>li.warning>button,.button-group>li.warning>label{background:#F08A24;color:#fff;border-color:#F08A24}.button-group>li.warning>a:focus,.button-group>li.warning>a:hover,.button-group>li.warning>button:focus,.button-group>li.warning>button:hover,.button-group>li.warning>label:focus,.button-group>li.warning>label:hover{background:#dc750f;color:#fff;border-color:#c2680d}.button-group>li.alert>a,.button-group>li.alert>button,.button-group>li.alert>label{background:#F04124;color:#fff;border-color:#F04124}.button-group>li.alert>a:focus,.button-group>li.alert>a:hover,.button-group>li.alert>button:focus,.button-group>li.alert>button:hover,.button-group>li.alert>label:focus,.button-group>li.alert>label:hover{background:#dc2c0f;color:#fff;border-color:#c2270d}.button-group.segmented{border-color:#00558b}.button-group.segmented>li>a,.button-group.segmented>li>button,.button-group.segmented>li>label{border-color:#00558b;color:#00558b}.button-group.segmented>li>a:hover,.button-group.segmented>li>button:hover,.button-group.segmented>li>label:hover{background:rgba(0,85,139,.25);color:#00558b}.button-group.segmented>li>a .iconic *,.button-group.segmented>li>a .iconic .iconic-property-accent,.button-group.segmented>li>button .iconic *,.button-group.segmented>li>button .iconic .iconic-property-accent,.button-group.segmented>li>label .iconic *,.button-group.segmented>li>label .iconic .iconic-property-accent{fill:#00558b;stroke:#00558b}.button-group.segmented>li.is-active>a,.button-group.segmented>li.is-active>a:hover,.button-group.segmented>li>input:checked+label,.button-group.segmented>li>input:checked+label:hover{background:#00558b;color:#fff}.button-group.segmented>li.is-active>a .iconic *,.button-group.segmented>li.is-active>a .iconic .iconic-property-accent,.button-group.segmented>li>input:checked+label .iconic *,.button-group.segmented>li>input:checked+label .iconic .iconic-property-accent{fill:#fff;stroke:#fff}.button-group.segmented.secondary{border-color:#f1f1f1}.button-group.segmented.secondary>li>a,.button-group.segmented.secondary>li>button,.button-group.segmented.secondary>li>label{border-color:#f1f1f1;color:#f1f1f1}.button-group.segmented.secondary>li>a:hover,.button-group.segmented.secondary>li>button:hover,.button-group.segmented.secondary>li>label:hover{background:rgba(241,241,241,.25);color:#f1f1f1}.button-group.segmented.secondary>li>a .iconic *,.button-group.segmented.secondary>li>a .iconic .iconic-property-accent,.button-group.segmented.secondary>li>button .iconic *,.button-group.segmented.secondary>li>button .iconic .iconic-property-accent,.button-group.segmented.secondary>li>label .iconic *,.button-group.segmented.secondary>li>label .iconic .iconic-property-accent{fill:#f1f1f1;stroke:#f1f1f1}.button-group.segmented.secondary>li.is-active>a,.button-group.segmented.secondary>li.is-active>a:hover,.button-group.segmented.secondary>li>input:checked+label,.button-group.segmented.secondary>li>input:checked+label:hover{background:#f1f1f1;color:#000}.button-group.segmented.secondary>li.is-active>a .iconic *,.button-group.segmented.secondary>li.is-active>a .iconic .iconic-property-accent,.button-group.segmented.secondary>li>input:checked+label .iconic *,.button-group.segmented.secondary>li>input:checked+label .iconic .iconic-property-accent{fill:#000;stroke:#000}.button-group.segmented.success{border-color:#43AC6A}.button-group.segmented.success>li>a,.button-group.segmented.success>li>button,.button-group.segmented.success>li>label{border-color:#43AC6A;color:#43AC6A}.button-group.segmented.success>li>a:hover,.button-group.segmented.success>li>button:hover,.button-group.segmented.success>li>label:hover{background:rgba(67,172,106,.25);color:#43AC6A}.button-group.segmented.success>li>a .iconic *,.button-group.segmented.success>li>a .iconic .iconic-property-accent,.button-group.segmented.success>li>button .iconic *,.button-group.segmented.success>li>button .iconic .iconic-property-accent,.button-group.segmented.success>li>label .iconic *,.button-group.segmented.success>li>label .iconic .iconic-property-accent{fill:#43AC6A;stroke:#43AC6A}.button-group.segmented.success>li.is-active>a,.button-group.segmented.success>li.is-active>a:hover,.button-group.segmented.success>li>input:checked+label,.button-group.segmented.success>li>input:checked+label:hover{background:#43AC6A;color:#fff}.button-group.segmented.success>li.is-active>a .iconic *,.button-group.segmented.success>li.is-active>a .iconic .iconic-property-accent,.button-group.segmented.success>li>input:checked+label .iconic *,.button-group.segmented.success>li>input:checked+label .iconic .iconic-property-accent{fill:#fff;stroke:#fff}.button-group.segmented.warning{border-color:#F08A24}.button-group.segmented.warning>li>a,.button-group.segmented.warning>li>button,.button-group.segmented.warning>li>label{border-color:#F08A24;color:#F08A24}.button-group.segmented.warning>li>a:hover,.button-group.segmented.warning>li>button:hover,.button-group.segmented.warning>li>label:hover{background:rgba(240,138,36,.25);color:#F08A24}.button-group.segmented.warning>li>a .iconic *,.button-group.segmented.warning>li>a .iconic .iconic-property-accent,.button-group.segmented.warning>li>button .iconic *,.button-group.segmented.warning>li>button .iconic .iconic-property-accent,.button-group.segmented.warning>li>label .iconic *,.button-group.segmented.warning>li>label .iconic .iconic-property-accent{fill:#F08A24;stroke:#F08A24}.button-group.segmented.warning>li.is-active>a,.button-group.segmented.warning>li.is-active>a:hover,.button-group.segmented.warning>li>input:checked+label,.button-group.segmented.warning>li>input:checked+label:hover{background:#F08A24;color:#fff}.button-group.segmented.warning>li.is-active>a .iconic *,.button-group.segmented.warning>li.is-active>a .iconic .iconic-property-accent,.button-group.segmented.warning>li>input:checked+label .iconic *,.button-group.segmented.warning>li>input:checked+label .iconic .iconic-property-accent{fill:#fff;stroke:#fff}.button-group.segmented.alert{border-color:#F04124}.button-group.segmented.alert>li>a,.button-group.segmented.alert>li>button,.button-group.segmented.alert>li>label{border-color:#F04124;color:#F04124}.button-group.segmented.alert>li>a:hover,.button-group.segmented.alert>li>button:hover,.button-group.segmented.alert>li>label:hover{background:rgba(240,65,36,.25);color:#F04124}.button-group.segmented.alert>li>a .iconic *,.button-group.segmented.alert>li>a .iconic .iconic-property-accent,.button-group.segmented.alert>li>button .iconic *,.button-group.segmented.alert>li>button .iconic .iconic-property-accent,.button-group.segmented.alert>li>label .iconic *,.button-group.segmented.alert>li>label .iconic .iconic-property-accent{fill:#F04124;stroke:#F04124}.button-group.segmented.alert>li.is-active>a .iconic *,.button-group.segmented.alert>li.is-active>a .iconic .iconic-property-accent,.button-group.segmented.alert>li>input:checked+label .iconic *,.button-group.segmented.alert>li>input:checked+label .iconic .iconic-property-accent,.title-bar.dark .iconic *,.title-bar.dark .iconic .iconic-property-accent,.title-bar.primary .iconic *,.title-bar.primary .iconic .iconic-property-accent{stroke:#fff;fill:#fff}.button-group.segmented.alert>li.is-active>a,.button-group.segmented.alert>li.is-active>a:hover,.button-group.segmented.alert>li>input:checked+label,.button-group.segmented.alert>li>input:checked+label:hover{background:#F04124;color:#fff}.button-group.tiny{font-size:.63rem}.button-group.small{font-size:.72rem}.button-group.large{font-size:1.17rem}.button-group.expand{display:flex}.button-group.expand>li{flex:1}.button-group.expand>li>a,.button-group.expand>li>button,.button-group.expand>li>label{display:block;width:100%;margin-left:0;margin-right:0}.card{border:1px solid #ededed;margin-bottom:.5rem;background:#fff;color:#000;border-radius:4px}.card h1,.card h2,.card h3,.card h4,.card h5,.card h6{color:inherit}.card ul{margin-bottom:0}.card img{width:100%}.card.primary{border:0;margin-bottom:.5rem;background:#00558b;color:#fff;border-radius:4px}.card.primary h1,.card.primary h2,.card.primary h3,.card.primary h4,.card.primary h5,.card.primary h6{color:inherit}.card.primary ul{margin-bottom:0}.card.primary img{width:100%}.card.primary .card-divider{background:#0065a5;padding:1rem}.card.success{border:0;margin-bottom:.5rem;background:#43AC6A;color:#fff;border-radius:4px;box-shadow:0 1px 2px rgba(0,0,0,.2);overflow:hidden}.card.alert,.card.warning{border:0;box-shadow:0 1px 2px rgba(0,0,0,.2);overflow:hidden}.card.success h1,.card.success h2,.card.success h3,.card.success h4,.card.success h5,.card.success h6{color:inherit}.card.success ul{margin-bottom:0}.card.success img{width:100%}.card.success .card-divider{background:#4ab873;padding:1rem}.card.warning{margin-bottom:.5rem;background:#F08A24;color:#fff;border-radius:4px}.card.warning h1,.card.warning h2,.card.warning h3,.card.warning h4,.card.warning h5,.card.warning h6{color:inherit}.card.warning ul{margin-bottom:0}.card.warning img{width:100%}.card.warning .card-divider{background:#f19233;padding:1rem}.card.alert{margin-bottom:.5rem;background:#F04124;color:#fff;border-radius:4px}.card.alert h1,.card.alert h2,.card.alert h3,.card.alert h4,.card.alert h5,.card.alert h6{color:inherit}.card.alert ul{margin-bottom:0}.card.alert img{width:100%}.card.alert .card-divider{background:#f14e33;padding:1rem}.card.dark{border:0;margin-bottom:.5rem;background:#232323;color:#fff;border-radius:4px;box-shadow:0 1px 2px rgba(0,0,0,.2);overflow:hidden}.card.dark h1,.card.dark h2,.card.dark h3,.card.dark h4,.card.dark h5,.card.dark h6{color:inherit}.card.dark ul{margin-bottom:0}.card.dark img{width:100%}.card.dark .card-divider{background:#323232;padding:1rem}.card-divider{background:#ededed;padding:1rem}.card-section{padding:1rem}.close-button{position:absolute;color:#999;top:1rem;right:1rem;font-size:2em;line-height:.5;cursor:pointer}.close-button:hover{color:#333}.thumbnail,ul.thumbnails>li img{padding:.5rem;box-shadow:0 3px 15px rgba(0,0,0,.25)}ul.thumbnails>li{margin-bottom:1rem}ul.thumbnails>li a{display:block}input[type=number],input[type=search],input[type=text],input[type=password],input[type=date],input[type=datetime],input[type=datetime-local],input[type=month],input[type=week],input[type=email],input[type=tel],input[type=time],input[type=url],input[type=color],textarea{-webkit-appearance:none;-moz-appearance:none;display:block;width:100%;height:2.4rem;padding:.5rem;margin:0 0 1rem;border:1px solid #ccc;border-radius:0;background:#fff;color:#000;font-size:1rem;-webkit-font-smoothing:antialiased;vertical-align:middle}label>.inline-label,label>input,label>input[type=number],label>input[type=search],label>input[type=text],label>input[type=password],label>input[type=date],label>input[type=datetime],label>input[type=datetime-local],label>input[type=month],label>input[type=week],label>input[type=email],label>input[type=tel],label>input[type=time],label>input[type=url],label>input[type=color],label>textarea{margin-top:.5rem}input[type=number]:hover,input[type=search]:hover,input[type=text]:hover,input[type=password]:hover,input[type=date]:hover,input[type=datetime]:hover,input[type=datetime-local]:hover,input[type=month]:hover,input[type=week]:hover,input[type=email]:hover,input[type=tel]:hover,input[type=time]:hover,input[type=url]:hover,input[type=color]:hover,textarea:hover{border:1px solid #bbb;background:#fff;color:#000}input[type=number]:focus,input[type=search]:focus,input[type=text]:focus,input[type=password]:focus,input[type=date]:focus,input[type=datetime]:focus,input[type=datetime-local]:focus,input[type=month]:focus,input[type=week]:focus,input[type=email]:focus,input[type=tel]:focus,input[type=time]:focus,input[type=url]:focus,input[type=color]:focus,textarea:focus{outline:0;border:1px solid #999;background:#fff;color:#000}fieldset[disabled] input,input.disabled,input[disabled],input[readonly]{cursor:not-allowed}fieldset[disabled] input,fieldset[disabled] input:hover,input.disabled,input.disabled:hover,input[disabled],input[disabled]:hover,input[readonly],input[readonly]:hover{background-color:#f2f2f2}label{display:block;font-size:.9rem;margin-bottom:.5rem;color:#333}input[type=checkbox],input[type=radio]{width:1rem;height:1rem}label>input[type=checkbox],label>input[type=radio]{margin-right:.25rem}input[type=checkbox]+label,input[type=radio]+label{display:inline-block;margin-left:.5rem;margin-right:1rem;margin-bottom:0;vertical-align:baseline}.inline-label{display:flex;flex-flow:row nowrap;align-items:stretch;margin-bottom:1rem}.inline-label>input,.inline-label>select{flex:1;margin:0}.inline-label>.form-label{flex:0 0 auto;background:#eee;color:#333;border:1px solid #ccc;padding:0 .5rem;display:flex;align-items:center}.inline-label>.form-label:first-child{border-right:0}.inline-label>.form-label:last-child{border-left:0}.inline-label>a,.inline-label>button,.inline-label>input[type=button],.inline-label>input[type=submit]{flex:0 0 auto;display:flex;align-items:center;padding-top:0;padding-bottom:0;margin:0;border-radius:0}textarea{height:auto;width:100%;min-height:50px}select{display:block;width:100%;height:2.4rem;padding:.5rem 1.625rem .5rem .5rem;margin:0 0 1rem;font-size:1rem;color:#000;border-radius:0;border:1px solid #ccc;background: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: black"></polygon></svg>') right 10px center no-repeat #fafafa;background-size:8px 8px}input[type=range],meter,progress{-webkit-appearance:none;-moz-appearance:none;display:block;border:0}select:hover{background-color:#f0f0f0}input[type=range]:focus,select:focus{outline:0}select::-ms-expand{display:none}input[type=range]{width:100%;height:auto;cursor:pointer;margin-top:.25rem;margin-bottom:.25rem;line-height:1}input[type=range]::-webkit-slider-runnable-track{height:1rem;background:#ddd}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:#00558b;width:1.5rem;height:1.5rem;margin-top:-.25rem}input[type=range]::-moz-range-track{-moz-appearance:none;height:1rem;background:#ccc}input[type=range]::-moz-range-thumb{-moz-appearance:none;background:#00558b;width:1.5rem;height:1.5rem;margin-top:-.25rem}input[type=range]::-ms-track{height:1rem;background:#ddd;color:transparent;border:0;overflow:visible;border-top:.25rem solid #fff;border-bottom:.25rem solid #fff}input[type=range]::-ms-thumb{background:#00558b;width:1.5rem;height:1.5rem;border:0}input[type=range]::-ms-fill-lower,input[type=range]::-ms-fill-upper{background:#ddd}output{line-height:1.5rem;vertical-align:middle;margin-left:.5em}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;background:#00558b}meter,progress{width:100%;height:1.5rem;margin-bottom:1rem;background:#ccc}progress::-webkit-progress-bar{background:#ccc}progress::-webkit-progress-value{background:#00558b}progress::-moz-progress-bar{background:#00558b}progress.high::-webkit-progress-value{background:#43AC6A}progress.high::-moz-progress-bar{background:#43AC6A}progress.medium::-webkit-progress-value{background:#e7cf00}progress.medium::-moz-progress-bar{background:#e7cf00}progress.low::-webkit-progress-value{background:#F04124}progress.low::-moz-progress-bar{background:#F04124}meter{background:#ccc}meter::-webkit-meter-bar{background:#ccc}meter::-webkit-meter-optimum-value{background:#43AC6A}meter::-webkit-meter-suboptimum-value{background:#e7cf00}meter::-webkit-meter-even-less-good-value{background:#F04124}meter::-moz-meter-bar{background:#00558b}meter:-moz-meter-optimum::-moz-meter-bar{background:#43AC6A}meter:-moz-meter-sub-optimum::-moz-meter-bar{background:#e7cf00}meter:-moz-meter-sub-sub-optimum::-moz-meter-bar{background:#F04124}.panel{position:absolute;z-index:100;overflow-y:auto;display:none;padding:0;background:#fff}.is-active.panel{display:block}.panel-top{top:0;left:0;width:100%;height:300px}.panel-top.is-active{box-shadow:0 3px 10px rgba(0,0,0,.25)}.panel-right{top:0;right:0;height:100%;width:100%}@media only screen and (min-width:18.75em){.panel-right{width:300px}}.panel-right.is-active{box-shadow:-3px 0 10px rgba(0,0,0,.25)}.panel-bottom{bottom:0;left:0;width:100%;height:300px}.panel-bottom.is-active{box-shadow:2px -3px 10px rgba(0,0,0,.25)}.panel-left{top:0;left:0;height:100%;width:100%}@media only screen and (min-width:18.75em){.panel-left{width:300px}}.panel-left.is-active{box-shadow:3px 0 10px rgba(0,0,0,.25)}.small-grid-block.panel,.small-grid-content.panel{transform:none;width:auto;z-index:auto;box-shadow:none;background:0 0;top:auto;right:auto;bottom:auto;left:auto}.panel-fixed{position:fixed}.small-vertical.grid-block,.small-vertical.grid-frame,.small-vertical.large-grid-block,.small-vertical.medium-grid-block,.small-vertical.small-grid-block,.vertical.grid-block,.vertical.grid-frame,.vertical.large-grid-block,.vertical.medium-grid-block,.vertical.small-grid-block{flex-flow:column nowrap;align-items:stretch}.small-horizontal.grid-block,.small-horizontal.grid-frame,.small-horizontal.large-grid-block,.small-horizontal.medium-grid-block,.small-horizontal.small-grid-block{flex-flow:row wrap}@media only screen and (min-width:40em){.medium-vertical.grid-block,.medium-vertical.grid-frame,.medium-vertical.large-grid-block,.medium-vertical.medium-grid-block,.medium-vertical.small-grid-block{flex-flow:column nowrap;align-items:stretch}.medium-horizontal.grid-block,.medium-horizontal.grid-frame,.medium-horizontal.large-grid-block,.medium-horizontal.medium-grid-block,.medium-horizontal.small-grid-block{flex-flow:row wrap}}@media only screen and (min-width:75em){.large-vertical.grid-block,.large-vertical.grid-frame,.large-vertical.large-grid-block,.large-vertical.medium-grid-block,.large-vertical.small-grid-block{flex-flow:column nowrap;align-items:stretch}.large-horizontal.grid-block,.large-horizontal.grid-frame,.large-horizontal.large-grid-block,.large-horizontal.medium-grid-block,.large-horizontal.small-grid-block{flex-flow:row wrap}}.align-right.grid-block,.align-right.grid-frame,.align-right.large-grid-block,.align-right.medium-grid-block,.align-right.small-grid-block{justify-content:flex-end}.align-center.grid-block,.align-center.grid-frame,.align-center.large-grid-block,.align-center.medium-grid-block,.align-center.small-grid-block{justify-content:center}.align-justify.grid-block,.align-justify.grid-frame,.align-justify.large-grid-block,.align-justify.medium-grid-block,.align-justify.small-grid-block{justify-content:space-between}.align-spaced.grid-block,.align-spaced.grid-frame,.align-spaced.large-grid-block,.align-spaced.medium-grid-block,.align-spaced.small-grid-block{justify-content:space-around}.wrap.grid-block,.wrap.grid-frame,.wrap.large-grid-block,.wrap.medium-grid-block,.wrap.small-grid-block{flex-wrap:wrap;align-items:flex-start}.shrink.grid-block,.shrink.grid-content,.shrink.large-grid-block,.shrink.large-grid-content,.shrink.medium-grid-block,.shrink.medium-grid-content,.shrink.small-grid-block,.shrink.small-grid-content{flex:0 0 auto}.grid-block,.grid-frame{display:flex;overflow:hidden;flex:1 1 auto;order:0;backface-visibility:hidden}.noscroll.grid-block,.noscroll.grid-content,.noscroll.large-grid-block,.noscroll.large-grid-content,.noscroll.medium-grid-block,.noscroll.medium-grid-content,.noscroll.small-grid-block,.noscroll.small-grid-content{overflow:hidden}.grid-frame{height:100vh;position:relative;flex-flow:row wrap;flex-wrap:nowrap;align-items:stretch;justify-content:flex-start}.grid-block,.small-grid-block,.small-grid-block.panel,.small-grid-content.panel{height:auto;position:relative}.grid-block{flex-flow:row wrap;flex-wrap:nowrap;align-items:stretch;justify-content:flex-start;overflow-y:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.grid-content{display:block;padding:0 1rem;overflow-y:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar;flex:1 1 auto}.grid-content.collapse{padding:0}.grid-content .grid-block{margin-left:-1rem;margin-right:-1rem;flex-wrap:wrap;overflow:visible}.grid-content .grid-block.nowrap{flex-wrap:nowrap;align-items:stretch}.grid-content .grid-block .grid-content{overflow:visible}.grid-container{max-width:56.25rem;margin:0 auto}.grid-container.contain-left{max-width:56.25rem;margin:0 auto 0 0}.grid-container.contain-right{max-width:56.25rem;margin:0 0 0 auto}.small-grid-block{display:flex;overflow:hidden;backface-visibility:hidden;flex:1 1 auto;flex-flow:row wrap;flex-wrap:nowrap;align-items:stretch;justify-content:flex-start;order:0;overflow-y:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.small-grid-content{display:block;padding:0 1rem;overflow-y:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar;flex:1 1 auto}@media only screen and (min-width:40em){.medium-grid-block{display:flex;position:relative;overflow:hidden;backface-visibility:hidden;flex:1 1 auto;flex-flow:row wrap;flex-wrap:nowrap;align-items:stretch;justify-content:flex-start;order:0;height:auto;overflow-y:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.medium-grid-block.panel{transform:none;position:relative;width:auto;height:auto;z-index:auto;box-shadow:none;background:0 0;top:auto;right:auto;bottom:auto;left:auto}.medium-grid-content{display:block;padding:0 1rem;overflow-y:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar;flex:1 1 auto}.medium-grid-content.panel{transform:none;position:relative;width:auto;height:auto;z-index:auto;box-shadow:none;background:0 0;top:auto;right:auto;bottom:auto;left:auto}}@media only screen and (min-width:75em){.large-grid-block{display:flex;position:relative;overflow:hidden;backface-visibility:hidden;flex:1 1 auto;flex-flow:row wrap;flex-wrap:nowrap;align-items:stretch;justify-content:flex-start;order:0;height:auto;overflow-y:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.large-grid-block.panel{transform:none;position:relative;width:auto;height:auto;z-index:auto;box-shadow:none;background:0 0;top:auto;right:auto;bottom:auto;left:auto}.large-grid-content{display:block;padding:0 1rem;overflow-y:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar;flex:1 1 auto}.large-grid-content.panel{transform:none;position:relative;width:auto;height:auto;z-index:auto;box-shadow:none;background:0 0;top:auto;right:auto;bottom:auto;left:auto}}.small-up-1,.small-up-10,.small-up-11,.small-up-12,.small-up-2,.small-up-3,.small-up-4,.small-up-5,.small-up-6,.small-up-8,.small-up-9,.title-bar,.title-bar .center,.title-bar .left,.title-bar .right{overflow:visible}.order-1{order:1}.order-2{order:2}.order-3{order:3}.order-4{order:4}.order-5{order:5}.order-6{order:6}.order-7{order:7}.order-8{order:8}.order-9{order:9}.order-10{order:10}.order-11{order:11}.order-12{order:12}.small-1{flex:0 0 8.33333%;max-width:8.33333%}.small-order-1{order:1}.small-offset-1{margin-left:8.33333%}.small-up-1{flex-flow:row wrap}.small-up-1>div,.small-up-1>li,.small-up-1>section{padding:0 1rem 1rem;flex:0 0 100%}.small-2{flex:0 0 16.66667%;max-width:16.66667%}.small-order-2{order:2}.small-offset-2{margin-left:16.66667%}.small-up-2{flex-flow:row wrap}.small-up-2>div,.small-up-2>li,.small-up-2>section{padding:0 1rem 1rem;flex:0 0 50%}.small-3{flex:0 0 25%;max-width:25%}.small-order-3{order:3}.small-offset-3{margin-left:25%}.small-up-3{flex-flow:row wrap}.small-up-3>div,.small-up-3>li,.small-up-3>section{padding:0 1rem 1rem;flex:0 0 33.33333%}.small-4{flex:0 0 33.33333%;max-width:33.33333%}.small-order-4{order:4}.small-offset-4{margin-left:33.33333%}.small-up-4{flex-flow:row wrap}.small-up-4>div,.small-up-4>li,.small-up-4>section{padding:0 1rem 1rem;flex:0 0 25%}.small-5{flex:0 0 41.66667%;max-width:41.66667%}.small-order-5{order:5}.small-offset-5{margin-left:41.66667%}.small-up-5{flex-flow:row wrap;list-style-type:none}.small-up-5>div,.small-up-5>li,.small-up-5>section{padding:0 1rem 1rem;flex:0 0 20%}.small-6{flex:0 0 50%;max-width:50%}.small-order-6{order:6}.small-offset-6{margin-left:50%}.small-up-6{flex-flow:row wrap}.small-up-6>div,.small-up-6>li,.small-up-6>section{padding:0 1rem 1rem;flex:0 0 16.66667%}.small-7{flex:0 0 58.33333%;max-width:58.33333%}.small-order-7{order:7}.small-offset-7{margin-left:58.33333%}.small-up-7{flex-flow:row wrap;overflow:visible}.small-up-7>div,.small-up-7>li,.small-up-7>section{padding:0 1rem 1rem;flex:0 0 14.28571%}.small-8{flex:0 0 66.66667%;max-width:66.66667%}.small-order-8{order:8}.small-offset-8{margin-left:66.66667%}.small-up-8{flex-flow:row wrap}.small-up-8>div,.small-up-8>li,.small-up-8>section{padding:0 1rem 1rem;flex:0 0 12.5%}.small-9{flex:0 0 75%;max-width:75%}.small-order-9{order:9}.small-offset-9{margin-left:75%}.small-up-9{flex-flow:row wrap}.small-up-9>div,.small-up-9>li,.small-up-9>section{padding:0 1rem 1rem;flex:0 0 11.11111%}.small-10{flex:0 0 83.33333%;max-width:83.33333%}.small-order-10{order:10}.small-offset-10{margin-left:83.33333%}.small-up-10{flex-flow:row wrap}.small-up-10>div,.small-up-10>li,.small-up-10>section{padding:0 1rem 1rem;flex:0 0 10%}.small-11{flex:0 0 91.66667%;max-width:91.66667%}.small-order-11{order:11}.small-offset-11{margin-left:91.66667%}.small-up-11{flex-flow:row wrap}.small-up-11>div,.small-up-11>li,.small-up-11>section{padding:0 1rem 1rem;flex:0 0 9.09091%}.small-12{flex:0 0 100%;max-width:100%}.small-order-12{order:12}.small-offset-12{margin-left:100%}.small-up-12{flex-flow:row wrap}.small-up-12>div,.small-up-12>li,.small-up-12>section{padding:0 1rem 1rem;flex:0 0 8.33333%}@media only screen and (min-width:40em){.medium-1{flex:0 0 8.33333%;max-width:8.33333%}.medium-order-1{order:1}.medium-offset-1{margin-left:8.33333%}.medium-up-1{flex-flow:row wrap;overflow:visible;list-style-type:none}.medium-up-1>div,.medium-up-1>li,.medium-up-1>section{padding:0 1rem 1rem;flex:0 0 100%}.medium-2{flex:0 0 16.66667%;max-width:16.66667%}.medium-order-2{order:2}.medium-offset-2{margin-left:16.66667%}.medium-up-2{flex-flow:row wrap;overflow:visible;list-style-type:none}.medium-up-2>div,.medium-up-2>li,.medium-up-2>section{padding:0 1rem 1rem;flex:0 0 50%}.medium-3{flex:0 0 25%;max-width:25%}.medium-order-3{order:3}.medium-offset-3{margin-left:25%}.medium-up-3{flex-flow:row wrap;overflow:visible;list-style-type:none}.medium-up-3>div,.medium-up-3>li,.medium-up-3>section{padding:0 1rem 1rem;flex:0 0 33.33333%}.medium-4{flex:0 0 33.33333%;max-width:33.33333%}.medium-order-4{order:4}.medium-offset-4{margin-left:33.33333%}.medium-up-4{flex-flow:row wrap;overflow:visible;list-style-type:none}.medium-up-4>div,.medium-up-4>li,.medium-up-4>section{padding:0 1rem 1rem;flex:0 0 25%}.medium-5{flex:0 0 41.66667%;max-width:41.66667%}.medium-order-5{order:5}.medium-offset-5{margin-left:41.66667%}.medium-up-5{flex-flow:row wrap;overflow:visible;list-style-type:none}.medium-up-5>div,.medium-up-5>li,.medium-up-5>section{padding:0 1rem 1rem;flex:0 0 20%}.medium-6{flex:0 0 50%;max-width:50%}.medium-order-6{order:6}.medium-offset-6{margin-left:50%}.medium-up-6{flex-flow:row wrap;overflow:visible;list-style-type:none}.medium-up-6>div,.medium-up-6>li,.medium-up-6>section{padding:0 1rem 1rem;flex:0 0 16.66667%}.medium-7{flex:0 0 58.33333%;max-width:58.33333%}.medium-order-7{order:7}.medium-offset-7{margin-left:58.33333%}.medium-up-7{flex-flow:row wrap;overflow:visible;list-style-type:none}.medium-up-7>div,.medium-up-7>li,.medium-up-7>section{padding:0 1rem 1rem;flex:0 0 14.28571%}.medium-8{flex:0 0 66.66667%;max-width:66.66667%}.medium-order-8{order:8}.medium-offset-8{margin-left:66.66667%}.medium-up-8{flex-flow:row wrap;overflow:visible;list-style-type:none}.medium-up-8>div,.medium-up-8>li,.medium-up-8>section{padding:0 1rem 1rem;flex:0 0 12.5%}.medium-9{flex:0 0 75%;max-width:75%}.medium-order-9{order:9}.medium-offset-9{margin-left:75%}.medium-up-9{flex-flow:row wrap;overflow:visible;list-style-type:none}.medium-up-9>div,.medium-up-9>li,.medium-up-9>section{padding:0 1rem 1rem;flex:0 0 11.11111%}.medium-10{flex:0 0 83.33333%;max-width:83.33333%}.medium-order-10{order:10}.medium-offset-10{margin-left:83.33333%}.medium-up-10{flex-flow:row wrap;overflow:visible;list-style-type:none}.medium-up-10>div,.medium-up-10>li,.medium-up-10>section{padding:0 1rem 1rem;flex:0 0 10%}.medium-11{flex:0 0 91.66667%;max-width:91.66667%}.medium-order-11{order:11}.medium-offset-11{margin-left:91.66667%}.medium-up-11{flex-flow:row wrap;overflow:visible;list-style-type:none}.medium-up-11>div,.medium-up-11>li,.medium-up-11>section{padding:0 1rem 1rem;flex:0 0 9.09091%}.medium-12{flex:0 0 100%;max-width:100%}.medium-order-12{order:12}.medium-offset-12{margin-left:100%}.medium-up-12{flex-flow:row wrap;overflow:visible;list-style-type:none}.medium-up-12>div,.medium-up-12>li,.medium-up-12>section{padding:0 1rem 1rem;flex:0 0 8.33333%}}@media only screen and (min-width:75em){.large-1{flex:0 0 8.33333%;max-width:8.33333%}.large-order-1{order:1}.large-offset-1{margin-left:8.33333%}.large-up-1{flex-flow:row wrap;overflow:visible;list-style-type:none}.large-up-1>div,.large-up-1>li,.large-up-1>section{padding:0 1rem 1rem;flex:0 0 100%}.large-2{flex:0 0 16.66667%;max-width:16.66667%}.large-order-2{order:2}.large-offset-2{margin-left:16.66667%}.large-up-2{flex-flow:row wrap;overflow:visible;list-style-type:none}.large-up-2>div,.large-up-2>li,.large-up-2>section{padding:0 1rem 1rem;flex:0 0 50%}.large-3{flex:0 0 25%;max-width:25%}.large-order-3{order:3}.large-offset-3{margin-left:25%}.large-up-3{flex-flow:row wrap;overflow:visible;list-style-type:none}.large-up-3>div,.large-up-3>li,.large-up-3>section{padding:0 1rem 1rem;flex:0 0 33.33333%}.large-4{flex:0 0 33.33333%;max-width:33.33333%}.large-order-4{order:4}.large-offset-4{margin-left:33.33333%}.large-up-4{flex-flow:row wrap;overflow:visible;list-style-type:none}.large-up-4>div,.large-up-4>li,.large-up-4>section{padding:0 1rem 1rem;flex:0 0 25%}.large-5{flex:0 0 41.66667%;max-width:41.66667%}.large-order-5{order:5}.large-offset-5{margin-left:41.66667%}.large-up-5{flex-flow:row wrap;overflow:visible;list-style-type:none}.large-up-5>div,.large-up-5>li,.large-up-5>section{padding:0 1rem 1rem;flex:0 0 20%}.large-6{flex:0 0 50%;max-width:50%}.large-order-6{order:6}.large-offset-6{margin-left:50%}.large-up-6{flex-flow:row wrap;overflow:visible;list-style-type:none}.large-up-6>div,.large-up-6>li,.large-up-6>section{padding:0 1rem 1rem;flex:0 0 16.66667%}.large-7{flex:0 0 58.33333%;max-width:58.33333%}.large-order-7{order:7}.large-offset-7{margin-left:58.33333%}.large-up-7{flex-flow:row wrap;overflow:visible;list-style-type:none}.large-up-7>div,.large-up-7>li,.large-up-7>section{padding:0 1rem 1rem;flex:0 0 14.28571%}.large-8{flex:0 0 66.66667%;max-width:66.66667%}.large-order-8{order:8}.large-offset-8{margin-left:66.66667%}.large-up-8{flex-flow:row wrap;overflow:visible;list-style-type:none}.large-up-8>div,.large-up-8>li,.large-up-8>section{padding:0 1rem 1rem;flex:0 0 12.5%}.large-9{flex:0 0 75%;max-width:75%}.large-order-9{order:9}.large-offset-9{margin-left:75%}.large-up-9{flex-flow:row wrap;overflow:visible;list-style-type:none}.large-up-9>div,.large-up-9>li,.large-up-9>section{padding:0 1rem 1rem;flex:0 0 11.11111%}.large-10{flex:0 0 83.33333%;max-width:83.33333%}.large-order-10{order:10}.large-offset-10{margin-left:83.33333%}.large-up-10{flex-flow:row wrap;overflow:visible;list-style-type:none}.large-up-10>div,.large-up-10>li,.large-up-10>section{padding:0 1rem 1rem;flex:0 0 10%}.large-11{flex:0 0 91.66667%;max-width:91.66667%}.large-order-11{order:11}.large-offset-11{margin-left:91.66667%}.large-up-11{flex-flow:row wrap;overflow:visible;list-style-type:none}.large-up-11>div,.large-up-11>li,.large-up-11>section{padding:0 1rem 1rem;flex:0 0 9.09091%}.large-12{flex:0 0 100%;max-width:100%}.large-order-12{order:12}.large-offset-12{margin-left:100%}.large-up-12{flex-flow:row wrap;overflow:visible;list-style-type:none}.large-up-12>div,.large-up-12>li,.large-up-12>section{padding:0 1rem 1rem;flex:0 0 8.33333%}}.title-bar,.title-bar.dark,.title-bar.primary{padding:1rem;border-bottom:1px solid #ccc}.grid-content .modal .grid-block{flex-wrap:nowrap}.title-bar{display:flex;flex:0 0 auto;align-items:center;justify-content:flex-start;background:#eee;color:#000}.title-bar .center,.title-bar .left,.title-bar .right{display:block;white-space:nowrap}.title-bar .center:first-child:last-child,.title-bar .left:first-child:last-child,.title-bar .right:first-child:last-child{flex:1;margin:0}.title-bar .left{order:1;flex:0 0 25%}.title-bar .center{order:2;flex:0 0 50%;text-align:center}.title-bar .right{order:3;flex:0 0 25%;text-align:right}.title-bar .left:first-child,.title-bar .left:first-child+.right:last-child{flex:1 1 auto}.title-bar .center:first-child:not(:last-child){margin-left:25%}.title-bar .center+.left{margin-right:-25%}.title-bar.primary{background:#00558b;color:#fff}.title-bar.primary a,.title-bar.primary a:hover{color:#fff}.title-bar.dark{background:#232323;color:#fff}.label,.label.primary{background:#00558b;border-radius:0;color:#fff}.title-bar.dark a,.title-bar.dark a:hover{color:#fff}.title-bar-bottom{border-bottom:0;border-top:1px solid #ccc}.label{line-height:1;white-space:nowrap;display:inline-block;cursor:default;font-size:.8rem;padding:.33333rem .5rem}.label.success{background:#43AC6A;border-radius:0;color:#fff}.label.warning{background:#F08A24;border-radius:0;color:#fff}.label.alert{background:#F04124;border-radius:0;color:#fff}.label.dark{background:#232323;border-radius:0;color:#fff}.badge{align-items:center;justify-content:center;display:inline-flex;border-radius:1000px;font-size:.8em;width:1.5rem;height:1.5rem;background:#00558b;color:#fff}.badge.secondary{background:#f1f1f1;color:#000}.badge.primary{background:#00558b;color:#fff}.badge.success{background:#43AC6A;color:#fff}.badge.warning{background:#F08A24;color:#fff}.badge.alert{background:#F04124;color:#fff}.badge.dark{background:#232323;color:#fff}.inline-list{text-align:left}.inline-list dd,.inline-list dt,.inline-list li{display:inline-block;margin-left:-2px;margin-right:-2px}.inline-list li{margin-right:1rem;margin-left:0}.menu-bar{display:flex;align-items:stretch;margin:0;background:#fff}.menu-bar>li{flex:1 0 auto;align-items:center}.menu-bar>li>a{display:flex;align-items:center;padding:1rem;font-size:1rem;line-height:1;color:#000}.menu-bar.label-corner>li>a,.menu-bar.label-side>li>a{padding-right:3.2rem}.menu-bar .is-active>a,.menu-bar>li>a:hover{background:#ededed;color:#000}.menu-bar .iconic *,.menu-bar .iconic .iconic-property-accent{fill:#000;stroke:#000}.menu-bar,.menu-bar.horizontal{overflow-x:hidden;flex-flow:row nowrap}.menu-bar.horizontal>li>a,.menu-bar.small-horizontal>li>a,.menu-bar.vertical,.menu-bar>li>a{flex-flow:column nowrap}.menu-bar.vertical{}.menu-bar.vertical>li>a{flex-flow:row nowrap}.menu-bar.condense>li{flex:0 0 auto}.menu-bar.align-right{justify-content:flex-end}.menu-bar.align-center{justify-content:center}.menu-bar.align-justify{justify-content:space-between}.menu-bar.align-spaced{justify-content:space-around}.menu-bar.small-condense li,.menu-group .menu-bar>li{flex:0 0 auto}.menu-bar.small-expand li{flex:1 0 auto}.menu-bar.small-align-left{justify-content:flex-start}.menu-bar.small-align-right{justify-content:flex-end}.menu-bar.small-align-center{justify-content:center}.menu-bar.small-align-justify{justify-content:space-between}.menu-bar.small-align-spaced{justify-content:space-around}@media only screen and (min-width:40em){.menu-bar.medium-condense li{flex:0 0 auto}.menu-bar.medium-expand li{flex:1 0 auto}.menu-bar.medium-align-left{justify-content:flex-start}.menu-bar.medium-align-right{justify-content:flex-end}.menu-bar.medium-align-center{justify-content:center}.menu-bar.medium-align-justify{justify-content:space-between}.menu-bar.medium-align-spaced{justify-content:space-around}}@media only screen and (min-width:75em){.menu-bar.large-condense li{flex:0 0 auto}.menu-bar.large-expand li{flex:1 0 auto}.menu-bar.large-align-left{justify-content:flex-start}.menu-bar.large-align-right{justify-content:flex-end}.menu-bar.large-align-center{justify-content:center}.menu-bar.large-align-justify{justify-content:space-between}.menu-bar.large-align-spaced{justify-content:space-around}}.menu-bar.small-horizontal{overflow-x:hidden;flex-flow:row nowrap}.menu-bar.small-vertical{flex-flow:column nowrap}.menu-bar.small-vertical>li>a{flex-flow:row nowrap}@media only screen and (min-width:40em){.menu-bar.medium-horizontal{overflow-x:hidden;flex-flow:row nowrap}.menu-bar.medium-horizontal>li>a{flex-flow:column nowrap}.menu-bar.medium-vertical{flex-flow:column nowrap}.menu-bar.medium-vertical>li>a{flex-flow:row nowrap}}@media only screen and (min-width:75em){.menu-bar.large-horizontal{overflow-x:hidden;flex-flow:row nowrap}.menu-bar.large-horizontal>li>a{flex-flow:column nowrap}.menu-bar.large-vertical{flex-flow:column nowrap}.menu-bar.large-vertical>li>a{flex-flow:row nowrap}}.menu-bar.icon-top>li>.iconic,.menu-bar.icon-top>li>img,.menu-bar>li>.iconic,.menu-bar>li>img{margin:0;width:25px;height:25px}.menu-bar.icon-top>li>a,.menu-bar>li>a{flex-flow:column nowrap}.menu-bar.icon-top>li>a>.iconic,.menu-bar.icon-top>li>a>img,.menu-bar>li>a>.iconic,.menu-bar>li>a>img{margin:0 0 1rem}.menu-bar.icon-right>li>.iconic,.menu-bar.icon-right>li>img{margin:0;width:25px;height:25px}.menu-bar.icon-right>li>a{flex-flow:row-reverse nowrap}.menu-bar.icon-right>li>a>.iconic,.menu-bar.icon-right>li>a>img{margin:0 0 0 1rem}.menu-bar.icon-bottom>li>.iconic,.menu-bar.icon-bottom>li>img{margin:0;width:25px;height:25px}.menu-bar.icon-bottom>li>a{flex-flow:column-reverse nowrap}.menu-bar.icon-bottom>li>a>.iconic,.menu-bar.icon-bottom>li>a>img{margin:1rem 0 0}.menu-bar.icon-left>li>.iconic,.menu-bar.icon-left>li>img{margin:0;width:25px;height:25px}.menu-bar.icon-left>li>a{flex-flow:row nowrap;align-items:center}.menu-bar.icon-left>li>a>.iconic,.menu-bar.icon-left>li>a>img{margin:0 1rem 0 0}.menu-bar.small-icon-top>li>.iconic,.menu-bar.small-icon-top>li>img{margin:0;width:25px;height:25px}.menu-bar.small-icon-top>li>a{flex-flow:column nowrap}.menu-bar.small-icon-top>li>a>.iconic,.menu-bar.small-icon-top>li>a>img{margin:0 0 1rem}.menu-bar.small-icon-right>li>.iconic,.menu-bar.small-icon-right>li>img{margin:0;width:25px;height:25px}.menu-bar.small-icon-right>li>a{flex-flow:row-reverse nowrap}.menu-bar.small-icon-right>li>a>.iconic,.menu-bar.small-icon-right>li>a>img{margin:0 0 0 1rem}.menu-bar.small-icon-bottom>li>.iconic,.menu-bar.small-icon-bottom>li>img{margin:0;width:25px;height:25px}.menu-bar.small-icon-bottom>li>a{flex-flow:column-reverse nowrap}.menu-bar.small-icon-bottom>li>a>.iconic,.menu-bar.small-icon-bottom>li>a>img{margin:1rem 0 0}.menu-bar.small-icon-left>li>.iconic,.menu-bar.small-icon-left>li>img{margin:0;width:25px;height:25px}.menu-bar.small-icon-left>li>a{flex-flow:row nowrap;align-items:center}.menu-bar.small-icon-left>li>a>.iconic,.menu-bar.small-icon-left>li>a>img{margin:0 1rem 0 0}@media only screen and (min-width:40em){.menu-bar.medium-icon-top>li>.iconic,.menu-bar.medium-icon-top>li>img{margin:0;width:25px;height:25px}.menu-bar.medium-icon-top>li>a{flex-flow:column nowrap}.menu-bar.medium-icon-top>li>a>.iconic,.menu-bar.medium-icon-top>li>a>img{margin:0 0 1rem}.menu-bar.medium-icon-right>li>.iconic,.menu-bar.medium-icon-right>li>img{margin:0;width:25px;height:25px}.menu-bar.medium-icon-right>li>a{flex-flow:row-reverse nowrap}.menu-bar.medium-icon-right>li>a>.iconic,.menu-bar.medium-icon-right>li>a>img{margin:0 0 0 1rem}.menu-bar.medium-icon-bottom>li>.iconic,.menu-bar.medium-icon-bottom>li>img{margin:0;width:25px;height:25px}.menu-bar.medium-icon-bottom>li>a{flex-flow:column-reverse nowrap}.menu-bar.medium-icon-bottom>li>a>.iconic,.menu-bar.medium-icon-bottom>li>a>img{margin:1rem 0 0}.menu-bar.medium-icon-left>li>.iconic,.menu-bar.medium-icon-left>li>img{margin:0;width:25px;height:25px}.menu-bar.medium-icon-left>li>a{flex-flow:row nowrap;align-items:center}.menu-bar.medium-icon-left>li>a>.iconic,.menu-bar.medium-icon-left>li>a>img{margin:0 1rem 0 0}}@media only screen and (min-width:75em){.menu-bar.large-icon-top>li>.iconic,.menu-bar.large-icon-top>li>img{margin:0;width:25px;height:25px}.menu-bar.large-icon-top>li>a{flex-flow:column nowrap}.menu-bar.large-icon-top>li>a>.iconic,.menu-bar.large-icon-top>li>a>img{margin:0 0 1rem}.menu-bar.large-icon-right>li>.iconic,.menu-bar.large-icon-right>li>img{margin:0;width:25px;height:25px}.menu-bar.large-icon-right>li>a{flex-flow:row-reverse nowrap}.menu-bar.large-icon-right>li>a>.iconic,.menu-bar.large-icon-right>li>a>img{margin:0 0 0 1rem}.menu-bar.large-icon-bottom>li>.iconic,.menu-bar.large-icon-bottom>li>img{margin:0;width:25px;height:25px}.menu-bar.large-icon-bottom>li>a{flex-flow:column-reverse nowrap}.menu-bar.large-icon-bottom>li>a>.iconic,.menu-bar.large-icon-bottom>li>a>img{margin:1rem 0 0}.menu-bar.large-icon-left>li>.iconic,.menu-bar.large-icon-left>li>img{margin:0;width:25px;height:25px}.menu-bar.large-icon-left>li>a{flex-flow:row nowrap;align-items:center}.menu-bar.large-icon-left>li>a>.iconic,.menu-bar.large-icon-left>li>a>img{margin:0 1rem 0 0}}.menu-bar.label-corner .menu-bar-label,.menu-bar.label-side .menu-bar-label{display:block;font-size:.9rem;width:1.2rem;height:1.2rem;line-height:1.2rem;text-align:center;border-radius:1000px;background:red;right:1rem;color:#fff;pointer-events:none}.menu-group .menu-bar,.modal .grid-block,.modal .grid-content{margin:0}.menu-bar.label-side>li{position:relative}.menu-bar.label-side .menu-bar-label{position:absolute;top:50%;transform:translateY(-50%)}.menu-bar.label-corner>li{position:relative}.menu-bar.label-corner .menu-bar-label{position:absolute;top:1rem}.menu-bar.primary{background:#00558b}.menu-bar.primary>li>a{color:#fff}.menu-bar.primary .is-active>a,.menu-bar.primary>li>a:hover{background:#0065a5;color:#fff}.menu-bar.primary .iconic *,.menu-bar.primary .iconic .iconic-property-accent{fill:#fff;stroke:#fff}.menu-bar.dark{background:#232323}.menu-bar.dark>li>a{color:#fff}.menu-bar.dark .is-active>a,.menu-bar.dark>li>a:hover{background:#323232;color:#fff}.menu-bar.dark .iconic *,.menu-bar.dark .iconic .iconic-property-accent{fill:#fff;stroke:#fff}.menu-bar>li.title{padding:1rem;cursor:default}.switch>label,.tabs .tab-item,a[ui-sref]{cursor:pointer}.menu-group{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap}@media only screen and (min-width:40em){.menu-group{flex-wrap:nowrap}}.menu-group>.menu-group-left,.menu-group>.menu-group-right{flex:1 1 100%}@media only screen and (min-width:40em){.menu-group>.menu-group-left,.menu-group>.menu-group-right{flex:0 0 auto}}.menu-group.primary{background-color:#00558b}.menu-group.primary .menu-bar{background:#00558b}.menu-group.primary .menu-bar>li>a{color:#fff}.menu-group.primary .menu-bar .is-active>a,.menu-group.primary .menu-bar>li>a:hover{background:#0065a5;color:#fff}.menu-group.primary .menu-bar .iconic *,.menu-group.primary .menu-bar .iconic .iconic-property-accent{fill:#fff;stroke:#fff}.menu-group.dark{background-color:#232323}.menu-group.dark .menu-bar{background:#232323}.menu-group.dark .menu-bar>li>a{color:#fff}.menu-group.dark .menu-bar .is-active>a,.menu-group.dark .menu-bar>li>a:hover{background:#323232;color:#fff}.menu-group.dark .menu-bar .iconic *,.menu-group.dark .menu-bar .iconic .iconic-property-accent{fill:#fff;stroke:#fff}.modal{position:relative;z-index:1001;background:#fff;flex:0 0 auto;width:100%;height:100vh;max-height:100%;overflow:hidden;padding:1rem;max-width:600px;border-radius:0}@media only screen and (min-width:40em){.modal{height:auto;max-width:600px}}.modal .close-button,.modal [fa-close]{z-index:1001}.tiny>.modal{max-width:300px}.small>.modal{max-width:500px}.large>.modal{max-width:800px}.dialog>.modal{height:auto}.collapse>.modal{padding:0}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:none;background-color:rgba(51,51,51,.7);align-items:center;justify-content:center}.modal-overlay.is-active{display:flex}@keyframes shake{0%,10%,20%,30%,40%,50%,60%,70%,80%,90%{transform:translateX(7%)}15%,25%,35%,45%,5%,55%,65%,75%,85%,95%{transform:translateX(-7%)}100%{transform:translateX(0)}}@keyframes spin-cw{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}@keyframes spin-ccw{0%{transform:rotate(0)}100%{transform:rotate(-360deg)}}@keyframes wiggle{40%,50%,60%{transform:rotate(7deg)}35%,45%,55%,65%{transform:rotate(-7deg)}0%,100%,30%,70%{transform:rotate(0)}}.slideInDown.ng-enter,.slideInDown.ng-hide-remove{backface-visibility:hidden;transform:translateY(-100%)}.slideInDown.ng-enter.ng-enter-active,.slideInDown.ng-hide-remove.ng-hide-remove-active{transform:translateX(0) translateY(0)}.slideInLeft.ng-enter,.slideInLeft.ng-hide-remove{backface-visibility:hidden;transform:translateX(100%)}.slideInLeft.ng-enter.ng-enter-active,.slideInLeft.ng-hide-remove.ng-hide-remove-active{transform:translateX(0) translateY(0)}.slideInUp.ng-enter,.slideInUp.ng-hide-remove{backface-visibility:hidden;transform:translateY(100%)}.slideInUp.ng-enter.ng-enter-active,.slideInUp.ng-hide-remove.ng-hide-remove-active{transform:translateX(0) translateY(0)}.slideInRight.ng-enter,.slideInRight.ng-hide-remove{backface-visibility:hidden;transform:translateX(-100%)}.slideInRight.ng-enter.ng-enter-active,.slideInRight.ng-hide-remove.ng-hide-remove-active{transform:translateX(0) translateY(0)}.slideOutBottom.ng-hide-add,.slideOutBottom.ng-leave{backface-visibility:hidden;transform:translateX(0) translateY(0)}.slideOutBottom.ng-hide-add.ng-hide-add-active,.slideOutBottom.ng-leave.ng-leave-active{transform:translateY(100%)}.slideOutRight.ng-hide-add,.slideOutRight.ng-leave{backface-visibility:hidden;transform:translateX(0) translateY(0)}.slideOutRight.ng-hide-add.ng-hide-add-active,.slideOutRight.ng-leave.ng-leave-active{transform:translateX(100%)}.slideOutUp.ng-hide-add,.slideOutUp.ng-leave{backface-visibility:hidden;transform:translateX(0) translateY(0)}.slideOutUp.ng-hide-add.ng-hide-add-active,.slideOutUp.ng-leave.ng-leave-active{transform:translateY(-100%)}.slideOutLeft.ng-hide-add,.slideOutLeft.ng-leave{backface-visibility:hidden;transform:translateX(0) translateY(0)}.fadeIn.ng-enter,.fadeIn.ng-hide-remove,.fadeOut.ng-hide-add,.fadeOut.ng-leave{transition-duration:.5s;transition-timing-function:ease;transition-delay:0;transition-property:opacity}.slideOutLeft.ng-hide-add.ng-hide-add-active,.slideOutLeft.ng-leave.ng-leave-active{transform:translateX(-100%)}.fadeIn.ng-enter,.fadeIn.ng-hide-remove{opacity:0}.fadeIn.ng-enter.ng-enter-active,.fadeIn.ng-hide-remove.ng-hide-remove-active,.fadeOut.ng-hide-add,.fadeOut.ng-leave{opacity:1}.hingeInFromBottom.ng-enter,.hingeInFromBottom.ng-hide-remove,.hingeInFromLeft.ng-enter,.hingeInFromLeft.ng-hide-remove,.hingeInFromMiddleX.ng-enter,.hingeInFromMiddleX.ng-hide-remove,.hingeInFromRight.ng-enter,.hingeInFromRight.ng-hide-remove,.hingeInFromTop.ng-enter,.hingeInFromTop.ng-hide-remove,.hingeOutFromBottom.ng-hide-add,.hingeOutFromBottom.ng-leave,.hingeOutFromLeft.ng-hide-add,.hingeOutFromLeft.ng-leave,.hingeOutFromMiddleX.ng-hide-add,.hingeOutFromMiddleX.ng-leave,.hingeOutFromMiddleY.ng-hide-add,.hingeOutFromMiddleY.ng-leave,.hingeOutFromRight.ng-hide-add,.hingeOutFromRight.ng-leave,.hingeOutFromTop.ng-hide-add,.hingeOutFromTop.ng-leave{transition-duration:.5s;transition-timing-function:ease;transition-delay:0;transition-property:transform,opacity}.fadeOut.ng-hide-add.ng-hide-add-active,.fadeOut.ng-leave.ng-leave-active{opacity:0}.hingeInFromTop.ng-enter,.hingeInFromTop.ng-hide-remove{transform:perspective(2000px) rotateX(-90deg);transform-origin:top;opacity:0}.hingeInFromTop.ng-enter.ng-enter-active,.hingeInFromTop.ng-hide-remove.ng-hide-remove-active{transform:rotate(0);opacity:1}.hingeInFromRight.ng-enter,.hingeInFromRight.ng-hide-remove{transform:perspective(2000px) rotateY(-90deg);transform-origin:right;opacity:0}.hingeInFromRight.ng-enter.ng-enter-active,.hingeInFromRight.ng-hide-remove.ng-hide-remove-active{transform:rotate(0);opacity:1}.hingeInFromBottom.ng-enter,.hingeInFromBottom.ng-hide-remove{transform:perspective(2000px) rotateX(90deg);transform-origin:bottom;opacity:0}.hingeInFromBottom.ng-enter.ng-enter-active,.hingeInFromBottom.ng-hide-remove.ng-hide-remove-active{transform:rotate(0);opacity:1}.hingeInFromLeft.ng-enter,.hingeInFromLeft.ng-hide-remove{transform:perspective(2000px) rotateY(90deg);transform-origin:left;opacity:0}.hingeInFromLeft.ng-enter.ng-enter-active,.hingeInFromLeft.ng-hide-remove.ng-hide-remove-active{transform:rotate(0);opacity:1}.hingeInFromMiddleX.ng-enter,.hingeInFromMiddleX.ng-hide-remove{transform:perspective(2000px) rotateX(-90deg);transform-origin:center;opacity:0}.hingeInFromMiddleX.ng-enter.ng-enter-active,.hingeInFromMiddleX.ng-hide-remove.ng-hide-remove-active{transform:rotate(0);opacity:1}.hingeInFromMiddleY.ng-enter,.hingeInFromMiddleY.ng-hide-remove{transition-duration:.5s;transition-timing-function:ease;transition-delay:0;transition-property:transform,opacity;transform:perspective(2000px) rotateY(-90deg);transform-origin:center;opacity:0}.hingeInFromMiddleY.ng-enter.ng-enter-active,.hingeInFromMiddleY.ng-hide-remove.ng-hide-remove-active{transform:rotate(0);opacity:1}.hingeOutFromTop.ng-hide-add,.hingeOutFromTop.ng-leave{transform:rotate(0);transform-origin:top;opacity:1}.hingeOutFromTop.ng-hide-add.ng-hide-add-active,.hingeOutFromTop.ng-leave.ng-leave-active{transform:perspective(2000px) rotateX(-90deg);opacity:0}.hingeOutFromRight.ng-hide-add,.hingeOutFromRight.ng-leave{transform:rotate(0);transform-origin:right;opacity:1}.hingeOutFromRight.ng-hide-add.ng-hide-add-active,.hingeOutFromRight.ng-leave.ng-leave-active{transform:perspective(2000px) rotateY(-90deg);opacity:0}.hingeOutFromBottom.ng-hide-add,.hingeOutFromBottom.ng-leave{transform:rotate(0);transform-origin:bottom;opacity:1}.hingeOutFromBottom.ng-hide-add.ng-hide-add-active,.hingeOutFromBottom.ng-leave.ng-leave-active{transform:perspective(2000px) rotateX(90deg);opacity:0}.hingeOutFromLeft.ng-hide-add,.hingeOutFromLeft.ng-leave{transform:rotate(0);transform-origin:left;opacity:1}.hingeOutFromLeft.ng-hide-add.ng-hide-add-active,.hingeOutFromLeft.ng-leave.ng-leave-active{transform:perspective(2000px) rotateY(90deg);opacity:0}.hingeOutFromMiddleX.ng-hide-add,.hingeOutFromMiddleX.ng-leave{transform:rotate(0);transform-origin:center;opacity:1}.hingeOutFromMiddleX.ng-hide-add.ng-hide-add-active,.hingeOutFromMiddleX.ng-leave.ng-leave-active{transform:perspective(2000px) rotateX(-90deg);opacity:0}.hingeOutFromMiddleY.ng-hide-add,.hingeOutFromMiddleY.ng-leave{transform:rotate(0);transform-origin:center;opacity:1}.zoomIn.ng-enter,.zoomIn.ng-hide-remove,.zoomOut.ng-hide-add,.zoomOut.ng-leave{transition-duration:.5s;transition-timing-function:ease;transition-delay:0;transition-property:transform,property}.hingeOutFromMiddleY.ng-hide-add.ng-hide-add-active,.hingeOutFromMiddleY.ng-leave.ng-leave-active{transform:perspective(2000px) rotateY(-90deg);opacity:0}.zoomIn.ng-enter,.zoomIn.ng-hide-remove{transform:scale(1.5);opacity:0}.zoomIn.ng-enter.ng-enter-active,.zoomIn.ng-hide-remove.ng-hide-remove-active{transform:scale(1);opacity:1}.zoomOut.ng-hide-add,.zoomOut.ng-leave{transform:scale(.5);opacity:1}.zoomOut.ng-hide-add.ng-hide-add-active,.zoomOut.ng-leave.ng-leave-active{transform:scale(1);opacity:0}.spinIn.ng-enter,.spinIn.ng-hide-remove{transition-property:transform,opacity;transform:rotate(-270deg);opacity:0}.spinIn.ng-enter.ng-enter-active,.spinIn.ng-hide-remove.ng-hide-remove-active{transform:rotate(0);opacity:1}.spinOut.ng-hide-add,.spinOut.ng-leave{transition-property:transform,opacity;transform:rotate(0);opacity:1}.spinOut.ng-hide-add.ng-hide-add-active,.spinOut.ng-leave.ng-leave-active{transform:rotate(270deg);opacity:0}.spinInCCW.ng-enter,.spinInCCW.ng-hide-remove{transition-property:transform,opacity;transform:rotate(270deg);opacity:0}.spinInCCW.ng-enter.ng-enter-active,.spinInCCW.ng-hide-remove.ng-hide-remove-active{transform:rotate(0);opacity:1}.spinOutCCW.ng-hide-add,.spinOutCCW.ng-leave{transition-property:transform,opacity;transform:rotate(0);opacity:1}.spinOutCCW.ng-hide-add.ng-hide-add-active,.spinOutCCW.ng-leave.ng-leave-active{transform:rotate(-270deg);opacity:0}.shake,.spin-ccw,.spin-cw,.wiggle{animation-duration:.5s;animation-timing-function:ease;transform:translate3d(0,0,0);animation-delay:0;backface-visibility:hidden}.slow{transition-duration:750ms!important}.fast{transition-duration:250ms!important}.linear{transition-timing-function:linear!important}.ease{transition-timing-function:ease!important}.easeIn{transition-timing-function:ease-in!important}.easeOut{transition-timing-function:ease-out!important}.easeInOut{transition-timing-function:ease-in-out!important}.bounceIn{transition-timing-function:cubic-bezier(.485,.155,.24,1.245)!important}.bounceOut{transition-timing-function:cubic-bezier(.485,.155,.515,.845)!important}.bounceInOut{transition-timing-function:cubic-bezier(.76,-.245,.24,1.245)!important}.delay{transition-delay:.3s!important}.long-delay{transition-delay:.7s!important}.shake{animation-name:shake}.spin-cw{animation-name:spin-cw}.spin-ccw{animation-name:spin-ccw}.wiggle{animation-name:wiggle}.shake.infinite,.spin-ccw.infinite,.spin-cw.infinite,.wiggle.infinite{animation-iteration-count:infinite}.shake.linear,.spin-ccw.linear,.spin-cw.linear,.wiggle.linear{animation-timing-function:linear!important}.shake.ease,.spin-ccw.ease,.spin-cw.ease,.wiggle.ease{animation-timing-function:ease!important}.shake.easeIn,.spin-ccw.easeIn,.spin-cw.easeIn,.wiggle.easeIn{animation-timing-function:ease-in!important}.shake.easeOut,.spin-ccw.easeOut,.spin-cw.easeOut,.wiggle.easeOut{animation-timing-function:ease-out!important}.shake.easeInOut,.spin-ccw.easeInOut,.spin-cw.easeInOut,.wiggle.easeInOut{animation-timing-function:ease-in-out!important}.shake.bounceIn,.spin-ccw.bounceIn,.spin-cw.bounceIn,.wiggle.bounceIn{animation-timing-function:cubic-bezier(.485,.155,.24,1.245)!important}.shake.bounceOut,.spin-ccw.bounceOut,.spin-cw.bounceOut,.wiggle.bounceOut{animation-timing-function:cubic-bezier(.485,.155,.515,.845)!important}.shake.bounceInOut,.spin-ccw.bounceInOut,.spin-cw.bounceInOut,.wiggle.bounceInOut{animation-timing-function:cubic-bezier(.76,-.245,.24,1.245)!important}.shake.slow,.spin-ccw.slow,.spin-cw.slow,.wiggle.slow{animation-duration:750ms!important}.shake.fast,.spin-ccw.fast,.spin-cw.fast,.wiggle.fast{animation-duration:250ms!important}.shake.delay,.spin-ccw.delay,.spin-cw.delay,.wiggle.delay{animation-delay:.3s!important}.shake.long-delay,.spin-ccw.long-delay,.spin-cw.long-delay,.wiggle.long-delay{animation-delay:.7s!important}.long-stagger,.stagger,.stort-stagger{transition-delay:150ms;transition-duration:0}.position-absolute{overflow:hidden;position:relative}.ui-animation.ng-enter-active,.ui-animation.ng-leave-active{position:absolute!important;backface-visibility:hidden;-webkit-transform-style:preserve-3d;top:0;right:0;bottom:0;left:0}.notification,.static-notification{z-index:1000;position:relative;margin-top:.5rem;margin-bottom:.5rem;display:none}.notification h1,.static-notification h1{font-size:1.25em;margin:0}.notification p,.static-notification p{margin:0}.is-active.notification,.is-active.static-notification{display:flex}.notification .close-button,.static-notification .close-button{color:#fff}.notification-container{z-index:3000;position:fixed;display:flex;flex-direction:column}.notification{background:#00558b;padding:1rem;border-radius:4px}.notification,.notification h1,.notification h2,.notification h3,.notification h4,.notification h5,.notification h6{color:#fff}.notification.success{background:#43AC6A;padding:1rem;border-radius:4px}.notification.success,.notification.success h1,.notification.success h2,.notification.success h3,.notification.success h4,.notification.success h5,.notification.success h6{color:#fff}.notification.warning{background:#F08A24;padding:1rem;border-radius:4px}.notification.warning,.notification.warning h1,.notification.warning h2,.notification.warning h3,.notification.warning h4,.notification.warning h5,.notification.warning h6{color:#fff}.notification.alert{background:#F04124;padding:1rem;border-radius:4px}.notification.alert,.notification.alert h1,.notification.alert h2,.notification.alert h3,.notification.alert h4,.notification.alert h5,.notification.alert h6{color:#fff}.notification.dark{background:#232323;padding:1rem;border-radius:4px}.notification.dark,.notification.dark h1,.notification.dark h2,.notification.dark h3,.notification.dark h4,.notification.dark h5,.notification.dark h6{color:#fff}.static-notification{background:#00558b;padding:1rem;border-radius:4px;position:fixed!important}.static-notification,.static-notification h1,.static-notification h2,.static-notification h3,.static-notification h4,.static-notification h5,.static-notification h6{color:#fff}.static-notification.top-right{width:25rem;right:1rem;top:1rem}@media only screen and (min-width:0em) and (max-width:39.9375rem){.static-notification.top-right{width:auto;left:1rem;right:1rem;margin-left:0}}.static-notification.top-left{width:25rem;left:1rem;top:1rem}@media only screen and (min-width:0em) and (max-width:39.9375rem){.static-notification.top-left{width:auto;left:1rem;right:1rem;margin-left:0}}.static-notification.top-middle{width:25rem;left:50%;margin-left:-12.5rem;top:1rem}@media only screen and (min-width:0em) and (max-width:39.9375rem){.static-notification.top-middle{width:auto;left:1rem;right:1rem;margin-left:0}}.static-notification.bottom-right{width:25rem;right:1rem;top:auto;bottom:1rem}@media only screen and (min-width:0em) and (max-width:39.9375rem){.static-notification.bottom-right{width:auto;left:1rem;right:1rem;margin-left:0}}.static-notification.bottom-left{width:25rem;left:1rem;top:auto;bottom:1rem}@media only screen and (min-width:0em) and (max-width:39.9375rem){.static-notification.bottom-left{width:auto;left:1rem;right:1rem;margin-left:0}}.static-notification.bottom-middle{width:25rem;left:50%;margin-left:-12.5rem;top:auto;bottom:1rem}@media only screen and (min-width:0em) and (max-width:39.9375rem){.static-notification.bottom-middle{width:auto;left:1rem;right:1rem;margin-left:0}}.static-notification.success{background:#43AC6A;padding:1rem;border-radius:4px}.static-notification.success,.static-notification.success h1,.static-notification.success h2,.static-notification.success h3,.static-notification.success h4,.static-notification.success h5,.static-notification.success h6{color:#fff}.static-notification.warning{background:#F08A24;padding:1rem;border-radius:4px}.static-notification.warning,.static-notification.warning h1,.static-notification.warning h2,.static-notification.warning h3,.static-notification.warning h4,.static-notification.warning h5,.static-notification.warning h6{color:#fff}.static-notification.alert{background:#F04124;padding:1rem;border-radius:4px}.static-notification.alert,.static-notification.alert h1,.static-notification.alert h2,.static-notification.alert h3,.static-notification.alert h4,.static-notification.alert h5,.static-notification.alert h6{color:#fff}.static-notification.dark{background:#232323;padding:1rem;border-radius:4px}.off-canvas,.off-canvas~.grid-frame{transition:transform .25s ease-out;background:#fff}.static-notification.dark,.static-notification.dark h1,.static-notification.dark h2,.static-notification.dark h3,.static-notification.dark h4,.static-notification.dark h5,.static-notification.dark h6{color:#fff}.notification-container{width:25rem;right:1rem;top:1rem}@media only screen and (min-width:0em) and (max-width:39.9375rem){.notification-container{width:auto;left:1rem;right:1rem;margin-left:0}}.notification-container.top-right{width:25rem;right:1rem;top:1rem}@media only screen and (min-width:0em) and (max-width:39.9375rem){.notification-container.top-right{width:auto;left:1rem;right:1rem;margin-left:0}}.notification-container.top-left{width:25rem;left:1rem;top:1rem}@media only screen and (min-width:0em) and (max-width:39.9375rem){.notification-container.top-left{width:auto;left:1rem;right:1rem;margin-left:0}}.notification-container.top-middle{width:25rem;left:50%;margin-left:-12.5rem;top:1rem}@media only screen and (min-width:0em) and (max-width:39.9375rem){.notification-container.top-middle{width:auto;left:1rem;right:1rem;margin-left:0}}.notification-container.bottom-right{width:25rem;right:1rem;top:auto;bottom:1rem}@media only screen and (min-width:0em) and (max-width:39.9375rem){.notification-container.bottom-right{width:auto;left:1rem;right:1rem;margin-left:0}}.notification-container.bottom-left{width:25rem;left:1rem;top:auto;bottom:1rem}@media only screen and (min-width:0em) and (max-width:39.9375rem){.notification-container.bottom-left{width:auto;left:1rem;right:1rem;margin-left:0}}.notification-container.bottom-middle{width:25rem;left:50%;margin-left:-12.5rem;top:auto;bottom:1rem}@media only screen and (min-width:0em) and (max-width:39.9375rem){.notification-container.bottom-middle{width:auto;left:1rem;right:1rem;margin-left:0}}.notification-icon{flex:0 0 60px;margin-right:1rem}.notification-icon img{width:100%;height:auto}.notification-content{flex:1}.is-active.off-canvas{transform:translate(0,0)!important}.off-canvas~.grid-frame{transform:translate(0,0,0);backface-visibility:hidden}.off-canvas{position:fixed;overflow:auto;-webkit-overflow-scrolling:touch;z-index:2;width:250px;height:100%;top:0;left:0;box-shadow:inset -3px 0 10px rgba(0,0,0,.25);transform:translateX(-100%);color:#000}.popup,.switch{overflow:hidden}.off-canvas.is-active~.grid-frame{transform:translateX(250px)!important}.off-canvas.top{height:250px;width:100%;top:0;left:0;transform:translateY(-100%);box-shadow:inset 0 -3px 10px rgba(0,0,0,.25)}.off-canvas.top.is-active~.grid-frame{transform:translateY(250px)!important}.off-canvas.right{width:250px;height:100%;left:auto;top:0;right:0;box-shadow:inset 3px 0 10px rgba(0,0,0,.25);transform:translateX(100%)}.off-canvas.right.is-active~.grid-frame{transform:translateX(-250px)!important}.off-canvas.bottom{height:250px;width:100%;top:auto;bottom:0;left:0;transform:translateY(100%);box-shadow:inset 0 3px 10px rgba(0,0,0,.25)}.off-canvas.bottom.is-active~.grid-frame{transform:translateY(-250px)!important}.off-canvas.left{width:250px;height:100%;top:0;left:0;box-shadow:inset -3px 0 10px rgba(0,0,0,.25);transform:translateX(-100%)}.off-canvas.left.is-active~.grid-frame{transform:translateX(250px)!important}.off-canvas.detached{z-index:0;box-shadow:none}.off-canvas.detached,.off-canvas.detached.is-active{transform:none}.off-canvas.detached~.grid-frame{z-index:1;box-shadow:0 0 15px rgba(0,0,0,.5)}.popup,.popup.dark,.popup.primary{box-shadow:0 0 10px rgba(0,0,0,.25)}.off-canvas.primary{background:#00558b;color:#fff}.off-canvas.dark{background:#232323;color:#fff}.popup{position:absolute;z-index:1000;opacity:0;transition:opacity .25s ease-out;pointer-events:none;width:18.75rem;background:#fff;border-radius:0;border:0}.tether-enabled.popup{opacity:1;pointer-events:auto}.popup.dark{background:#232323;border-radius:0;border:0}.popup.primary{background:#00558b;border-radius:0;border:0}.switch{position:relative;display:inline-block}.switch>input{position:absolute;left:-9999px;outline:0}.switch>label{-ms-touch-action:manipulation;touch-action:manipulation;display:block;width:100%;height:100%;margin:0;background:#ccc}.switch,.switch>label::after{height:2rem;border-radius:9999px}.switch{width:3.125rem}.switch>label::after{content:'';display:block;position:absolute;top:0;left:0;width:2rem;background:#fff;transition:left .15s ease-out;border:4px solid #ccc}.switch input:checked+label::after{left:1.125rem;border-color:#00558b}.switch input:checked+label{background:#00558b;margin:0}.tabs,.tabs.vertical{display:flex;background:0 0}.switch.small{width:2.5rem;height:1.625rem}.switch.small>label::after{width:1.625rem;height:1.625rem}.switch.small input:checked+label::after{left:.875rem}.switch.large{width:3.75rem;height:2.375rem}.switch.large>label::after{width:2.375rem;height:2.375rem}.switch.large input:checked+label::after{left:1.375rem}.tabs{flex-flow:row wrap}.tabs.vertical{flex-flow:column nowrap}.tabs .tab-item{background:#f3f3f3;padding:1rem;line-height:1;margin:0;flex:0 1 auto;color:#000}.tabs .tab-item.is-active{background:#ececec;color:#000}.tabs .tab-item.is-active:hover,.tabs .tab-item:hover{background:#e7e7e7}.tab-contents{padding:1rem}.tab-contents .tab-content{display:none}.tab-contents .tab-content.is-active{display:block}.accordion{border:1px solid #cbcbcb}.accordion-title{padding:1rem;background:#f3f3f3;color:#000;line-height:1;cursor:pointer}.accordion-title:hover{background:#e7e7e7}.is-active>.accordion-title{background:#ececec;color:#000}.accordion-content{padding:1rem;display:none}.is-active>.accordion-content{display:block}blockquote,dd,div,dl,dt,form,h1,h2,h3,h4,h5,h6,li,ol,p,pre,td,th,ul{margin:0;padding:0}a{color:#00558b;text-decoration:none;line-height:inherit}p,p.lead{line-height:1.6}a:focus,a:hover{color:#004978}a img{border:none}p{font-family:inherit;font-size:1rem;margin-bottom:1.25rem}.subheader,h1,h2,h3,h4,h5,h6{margin-top:.2rem;margin-bottom:.5rem;font-weight:400}p.lead{font-size:1.21875rem}p aside{font-size:.875rem;line-height:1.35;font-style:italic}h1,h2,h3,h4,h5,h6{font-family:"Helvetica Neue",Helvetica,Helvetica,Arial,sans-serif;font-style:normal;color:#222;line-height:1.4}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small{font-size:60%;color:#6f6f6f;line-height:0}h1{font-size:2.125rem}h2{font-size:1.6875rem}h3{font-size:1.375rem}h4,h5{font-size:1.125rem}h6{font-size:1rem}.subheader{line-height:1.4;color:#6f6f6f}b,em,i,small,strong{line-height:inherit}hr{border:solid #ddd;border-width:1px 0 0;margin:1.25rem 0 1.1875rem;height:0}em,i{font-style:italic}small{font-size:60%;color:#6f6f6f}code{font-family:Consolas,"Liberation Mono",Courier,monospace;font-weight:400;color:#464646;background-color:#fbfbfb;border-width:1px;border-style:solid;border-color:#e2e2e2;padding:.125rem .3125rem .0625rem}dl,ol,ul{font-size:1rem;line-height:1.6;margin-bottom:1.25rem;list-style-position:outside;font-family:inherit}ol,ul{margin-left:1.1rem}ol li ol,ol li ul,ul li ol,ul li ul{margin-left:1.25rem;margin-bottom:0}ul.no-bullet{margin-left:0}dl dt{margin-bottom:.3rem;font-weight:700}dl dd{margin-bottom:.75rem}abbr,acronym{text-transform:uppercase;font-size:90%;color:#222;border-bottom:1px dotted #ddd;cursor:help}abbr{text-transform:none}blockquote{margin:0 0 1.25rem;padding:.5625rem 1.25rem 0 1.1875rem;border-left:1px solid #ddd}blockquote cite{display:block;font-size:.8125rem;color:#555}blockquote cite:before{content:"\2014 \0020"}blockquote cite a,blockquote cite a:visited{color:#555}blockquote,blockquote p{line-height:1.6;color:#6f6f6f}.v-align{display:flex;align-items:center;justify-content:space-between}.v-align .align-center{align-self:center}.v-align .align-bottom{align-self:flex-end}.v-align .small-align-top{align-self:flex-start}.v-align .small-align-center{align-self:center}.v-align .small-align-bottom{align-self:flex-end}.hide{display:none!important}.invisible{visibility:hidden}.hide-for-small:not(.ng-hide){display:block!important;display:none!important}.hide-for-small[class*=grid-block]:not(.ng-hide){display:flex!important;display:none!important}.show-for-small:not(.ng-hide){display:none!important;display:block!important}.show-for-small[class*=grid-block]:not(.ng-hide){display:none!important;display:flex!important}.hide-for-small-only:not(.ng-hide){display:block!important}@media only screen and (min-width:0em) and (max-width:39.9375rem){.hide-for-small-only:not(.ng-hide){display:none!important}}.hide-for-small-only[class*=grid-block]:not(.ng-hide){display:flex!important}.show-for-small-only:not(.ng-hide){display:none!important}@media only screen and (min-width:0em) and (max-width:39.9375rem){.hide-for-small-only[class*=grid-block]:not(.ng-hide){display:none!important}.show-for-small-only:not(.ng-hide){display:block!important}}.show-for-small-only[class*=grid-block]:not(.ng-hide){display:none!important}@media only screen and (min-width:0em) and (max-width:39.9375rem){.show-for-small-only[class*=grid-block]:not(.ng-hide){display:flex!important}.small-only-text-left{text-align:left}}.hide-for-medium:not(.ng-hide){display:block!important}@media only screen and (min-width:40em){h1,h2,h3,h4,h5,h6{line-height:1.4}h1{font-size:2.75rem}h2{font-size:2.3125rem}h3{font-size:1.6875rem}h4{font-size:1.4375rem}h5{font-size:1.125rem}h6{font-size:1rem}.v-align .medium-align-top{align-self:flex-start}.v-align .medium-align-center{align-self:center}.v-align .medium-align-bottom{align-self:flex-end}.hide-for-medium:not(.ng-hide){display:none!important}}.hide-for-medium[class*=grid-block]:not(.ng-hide){display:flex!important}.show-for-medium:not(.ng-hide){display:none!important}@media only screen and (min-width:40em){.hide-for-medium[class*=grid-block]:not(.ng-hide){display:none!important}.show-for-medium:not(.ng-hide){display:block!important}}.show-for-medium[class*=grid-block]:not(.ng-hide){display:none!important}@media only screen and (min-width:40em){.show-for-medium[class*=grid-block]:not(.ng-hide){display:flex!important}.medium-text-left{text-align:left}}.hide-for-medium-only:not(.ng-hide){display:block!important}@media only screen and (min-width:40em) and (max-width:74.9375rem){.hide-for-medium-only:not(.ng-hide){display:none!important}}.hide-for-medium-only[class*=grid-block]:not(.ng-hide){display:flex!important}.show-for-medium-only:not(.ng-hide){display:none!important}@media only screen and (min-width:40em) and (max-width:74.9375rem){.hide-for-medium-only[class*=grid-block]:not(.ng-hide){display:none!important}.show-for-medium-only:not(.ng-hide){display:block!important}}.show-for-medium-only[class*=grid-block]:not(.ng-hide){display:none!important}@media only screen and (min-width:40em) and (max-width:74.9375rem){.show-for-medium-only[class*=grid-block]:not(.ng-hide){display:flex!important}.medium-only-text-left{text-align:left}}.hide-for-large:not(.ng-hide){display:block!important}@media only screen and (min-width:75em){.v-align .large-align-top{align-self:flex-start}.v-align .large-align-center{align-self:center}.v-align .large-align-bottom{align-self:flex-end}.hide-for-large:not(.ng-hide){display:none!important}}.hide-for-large[class*=grid-block]:not(.ng-hide){display:flex!important}.show-for-large:not(.ng-hide){display:none!important}@media only screen and (min-width:75em){.hide-for-large[class*=grid-block]:not(.ng-hide){display:none!important}.show-for-large:not(.ng-hide){display:block!important}}.show-for-large[class*=grid-block]:not(.ng-hide){display:none!important}@media only screen and (min-width:75em){.show-for-large[class*=grid-block]:not(.ng-hide){display:flex!important}.large-text-left{text-align:left}}.hide-for-large-only:not(.ng-hide){display:block!important}@media only screen and (min-width:75em) and (max-width:89.9375rem){.hide-for-large-only:not(.ng-hide){display:none!important}}.hide-for-large-only[class*=grid-block]:not(.ng-hide){display:flex!important}.show-for-large-only:not(.ng-hide){display:none!important}@media only screen and (min-width:75em) and (max-width:89.9375rem){.hide-for-large-only[class*=grid-block]:not(.ng-hide){display:none!important}.show-for-large-only:not(.ng-hide){display:block!important}}.show-for-large-only[class*=grid-block]:not(.ng-hide){display:none!important}@media only screen and (min-width:75em) and (max-width:89.9375rem){.show-for-large-only[class*=grid-block]:not(.ng-hide){display:flex!important}.large-only-text-left{text-align:left}}@media only screen and (orientation:portrait){.hide-for-portrait{display:none!important}.hide-for-portrait[class*=grid-block]{display:flex!important}}.show-for-portrait{display:none!important}@media only screen and (orientation:portrait){.show-for-portrait{display:block!important}.show-for-portrait[class*=grid-block]{display:flex!important}}@media only screen and (orientation:landscape){.hide-for-landscape{display:none!important}.hide-for-landscape[class*=grid-block]{display:flex!important}}.show-for-landscape{display:none!important}@media only screen and (orientation:landscape){.show-for-landscape{display:block!important}.show-for-landscape[class*=grid-block]{display:flex!important}}.small-text-left,.text-left{text-align:left}.small-text-right,.text-right{text-align:right}@media only screen and (min-width:0em) and (max-width:39.9375rem){.small-only-text-right{text-align:right}}@media only screen and (min-width:40em){.medium-text-right{text-align:right}}@media only screen and (min-width:40em) and (max-width:74.9375rem){.medium-only-text-right{text-align:right}}@media only screen and (min-width:75em){.large-text-right{text-align:right}}@media only screen and (min-width:75em) and (max-width:89.9375rem){.large-only-text-right{text-align:right}.large-only-text-center{text-align:center}}.small-text-center,.text-center{text-align:center}@media only screen and (min-width:0em) and (max-width:39.9375rem){.small-only-text-center{text-align:center}}@media only screen and (min-width:40em){.medium-text-center{text-align:center}}@media only screen and (min-width:40em) and (max-width:74.9375rem){.medium-only-text-center{text-align:center}}@media only screen and (min-width:75em){.large-text-center{text-align:center}.large-text-justify{text-align:justify}}.small-text-justify,.text-justify{text-align:justify}@media only screen and (min-width:0em) and (max-width:39.9375rem){.small-only-text-justify{text-align:justify}}@media only screen and (min-width:40em){.medium-text-justify{text-align:justify}}@media only screen and (min-width:40em) and (max-width:74.9375rem){.medium-only-text-justify{text-align:justify}}@media only screen and (min-width:75em) and (max-width:89.9375rem){.large-only-text-justify{text-align:justify}}.clearfix:after,.clearfix:before{content:" ";display:table}.float-left{float:left}.float-right{float:right}.float-none{float:none}
-/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1hcHBzL3Njc3MvY29tcG9uZW50cy9fYmxvY2stbGlzdC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLWFwcHMvc2Nzcy92ZW5kb3IvX25vcm1hbGl6ZS5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLWFwcHMvc2Nzcy9fZ2xvYmFsLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tYXBwcy9zY3NzL2NvbXBvbmVudHMvX2FjdGlvbi1zaGVldC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLWFwcHMvc2Nzcy9jb21wb25lbnRzL19mb3Jtcy5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLWFwcHMvc2Nzcy9jb21wb25lbnRzL190eXBvZ3JhcGh5LnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tYXBwcy9zY3NzL2NvbXBvbmVudHMvX2J1dHRvbi1ncm91cC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLWFwcHMvc2Nzcy9jb21wb25lbnRzL19saXN0LnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tYXBwcy9zY3NzL2NvbXBvbmVudHMvX21lbnUtYmFyLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tYXBwcy9zY3NzL2NvbXBvbmVudHMvX2dyaWQuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1hcHBzL3Njc3MvY29tcG9uZW50cy9fbm90aWZpY2F0aW9uLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tYXBwcy9zY3NzL2NvbXBvbmVudHMvX3V0aWxpdGllcy5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLWFwcHMvc2Nzcy9oZWxwZXJzL19taXhpbnMuc2NzcyIsImZvdW5kYXRpb24vX2ZvdW5kYXRpb24taWNvbnMuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1hcHBzL3Njc3MvY29tcG9uZW50cy9fdGl0bGUtYmFyLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tYXBwcy9zY3NzL2NvbXBvbmVudHMvX2ljb25pYy5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLWFwcHMvc2Nzcy9jb21wb25lbnRzL19idXR0b24uc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1hcHBzL3Njc3MvaGVscGVycy9fYnJlYWtwb2ludHMuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1hcHBzL3Njc3MvaGVscGVycy9fZnVuY3Rpb25zLnNjc3MiLCIkc3RkaW4iLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tYXBwcy9zY3NzL2NvbXBvbmVudHMvX2NhcmQuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1hcHBzL3Njc3MvaGVscGVycy9faW1hZ2VzLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tYXBwcy9zY3NzL2NvbXBvbmVudHMvX3BvcHVwLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tYXBwcy9zY3NzL2NvbXBvbmVudHMvX21vdGlvbi5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLWFwcHMvc2Nzcy9jb21wb25lbnRzL19leHRyYXMuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1hcHBzL3Njc3MvY29tcG9uZW50cy9fcGFuZWwuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1hcHBzL3Njc3MvY29tcG9uZW50cy9fbGFiZWwuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1hcHBzL3Njc3MvY29tcG9uZW50cy9fbW9kYWwuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1hcHBzL3Njc3MvY29tcG9uZW50cy9fc3dpdGNoLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tYXBwcy9zY3NzL2NvbXBvbmVudHMvX3RhYnMuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1hcHBzL3Njc3MvY29tcG9uZW50cy9fb2ZmLWNhbnZhcy5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLWFwcHMvc2Nzcy9jb21wb25lbnRzL19hY2NvcmRpb24uc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUErSFEsb0JDNEtELGlCQUNJLHFCQUNULE9BQVEsUUN0TkosS0R1RU4sSUFDRyxJRXdEQyxTQUFVLFNINkZKLGtDSXBGSixPSGlKSixtQkFBb0IsS0d6U2pCLGdCQUFpQixLQ3dIcEIsR0FBSSxHQUFJLEdBQUksR0FBSSxHQUFNLEdBbEJyQixFQXVCQyxlQTNLb0IsbUJGVXBCLGlCQUFBLHNCQUFBLHlCSDJTRixZQS9SSyxlTThHUSxjQ25KRCxhQzBPSCxVQ29LUSxZQUFDLGFBQUEsYUFBQSxhQUFELFlBQUEsWUFBQSxZQUFBLFlBQUEsWUFBQSxZQUFBLFlKaklmLGFBQ2UsbUJBQVQsbUJBQ0osZ0JBQWlCLEtLbkZILG1CQ3RJSixvQkFDUixXQVBLLFdDc0NKLGdCUHlITCxHT3pIUSxNQUFPLEtDM0ZULFdBQ1IsWUFBZ0MsaUJBQ2hDLElBQUssNkNBQXFELGVBQzFELFlBQWEsSUFDYixXQUFZLE9BSUUsd0JBQ1AsaUJB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a0RBTEcsaURBTVIsV0o1RVEsc0JJNkVSLE1KN0VRLFFhbEJoQixpREFBQyx1RUFBQSxzREFXeUIsNEVBWDFCLHFEQUFDLDJFQUNDLEtiaUJjLFFhVlosT2JVWSxRSXNGRSxpREFBQyx1REFDRyx5REFDTiwrREFDUixXSnpGUSxRSTBGUixNWXZCd0IsS0hyRmhDLDJEQUFDLGlGQUFBLG1FQVd5Qix5RkFWeEIsS0dvRjhCLEtIN0U1QixPRzZFNEIsS1ptRW5CLGdDQXBFWCxhSi9EWSxRSW1FUixxQ0FBb0IsMENBQWYseUNBQ0wsYUpwRVEsUUlxRVIsTUpyRVEsUUltRVAsMkNBS00sZ0RBTEcsK0NBTVIsV0p6RU0scUJJMEVOLE1KMUVNLFFhckJkLCtDQUFDLHFFQUFBLG9EQVd5QiwwRUFYMUIsbURBQUMseUVBQ0MsS2JvQlksUWFiVixPYmFVLFFJbUZJLCtDQUFDLHFEQUNHLHVEQUNOLDZEQUNSLFdKdEZNLFFJdUZOLE1ZdkJtQyxLSHJGM0MseURBQUMsK0VBQUEsaUVBV3lCLHVGQVZ4QixLR29GeUMsS0g3RXZDLE9HNkV1QyxLWm9FOUIsZ0NBckVYLGFKOURZLFFJa0VSLHFDQUFvQiwwQ0FBZix5Q0FDTCxhSm5FUSxRSW9FUixNSnBFUSxRSWtFUCwyQ0FLTSxnREFMRywrQ0FNUixXSnhFTSxxQkl5RU4sTUp6RU0sUWF0QmQsK0NBQUMscUVBQUEsb0RBV3lCLDBFQVgxQixtREFBQyx5RUFDQyxLYnFCWSxRYWRWLE9iY1UsUUlrRkksK0NBQUMscURBQ0csdURBQ04sNkRBQ1IsV0pyRk0sUUlzRk4sTVl2Qm1DLEtIckYzQyx5REFBQywrRUFBQSxpRUFXeUIsdUZBVnhCLEtHb0Z5QyxLSDdFdkMsT0c2RXVDLEtacUVoQyw4QkF0RVQsYUpqRVUsUUlxRU4sbUNBQW9CLHdDQUFmLHVDQUNMLGFKdEVNLFFJdUVOLE1KdkVNLFFJcUVMLHlDQUtNLDhDQUxHLDZDQU1SLFdKM0VJLG9CSTRFSixNSjVFSSxRYW5CWiw2Q0FBQyxtRUFBQSxrREFXeUIsd0VBWDFCLGlEQUFDLHVFQUNDLEtia0JVLFFhWFIsT2JXUSxR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ZGUsT01kVyx3Q05xQlgsa0JBQ2YsV0FSZSxPTWR1QyxtRU4yQmxDLHVCQUNwQixXQWRlLE1BYU0sd0JBQ3JCLFdBZHNCLFFBT04sbUJBTlYsYUFDVixXQUYwQixPTWQrQixrRU4yQmhDLHdCQUNyQixXQWRzQixRTWRJLHdDTnFCVCxvQkFDakIsV0FSc0IsUU1kZ0MsbUVOMkJoQyx5QkFDdEIsV0Fkc0IsUU1kSSx3Q05xQlYsbUJBQ2hCLFdBUnNCLE9BT0wsb0JBQ2pCLFdBUjhCLFNBT2Isb0JBTlYsY0FDWCxXQUZrQyxRTWR1QixrRU4yQi9CLHlCQUN0QixXQWQ4QixTTWRKLHdDTnFCUixxQkFDbEIsV0FSOEIsU01kd0IsbUVOMkIvQiwwQkFDdkIsV0FkOEIsU01kd0IsbUVOMkJoQyx5QkFDdEIsV0FkOEIsU0NqQ3JCLGdCQUFoQixpQkFBbUIsUUFBYSxJQUFFLFFBQVMsTUQyRC9CLFlBQ1QsTUFBTSxLQURJLGFBQ1YsTUFBTSxNQURHLFlBQ1QsTUFBTSIsImZpbGUiOiJmb3VuZGF0aW9uL2ZvdW5kYXRpb24tY29uZi5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gIEJMT0NLIExJU1RcclxuICAtLS0tLS0tLS0tXHJcblxyXG4gIEEgZ2VuZXJpYyBsaXN0IGNvbXBvbmVudCB0aGF0IGNhbiBhY2NvbW9kYXRlIGEgdmFyaWV0eSBvZiBzdHlsZXMgYW5kIGNvbnRyb2xzLlxyXG5cclxuICBGZWF0dXJlczpcclxuICAgLSBJY29uc1xyXG4gICAtIExhYmVsc1xyXG4gICAtIENoZXZyb25zXHJcbiAgIC0gVGV4dCBmaWVsZHNcclxuICAgLSBEcm9wZG93biBtZW51c1xyXG4gICAtIENoZWNrYm94L3JhZGlvIGlucHV0c1xyXG4qL1xyXG5cclxuLy8vIEBGb3VuZGF0aW9uLnNldHRpbmdzXHJcbi8vIEJsb2NrIExpc3RcclxuJGJsb2NrbGlzdC1iYWNrZ3JvdW5kOiAjZmZmICFkZWZhdWx0O1xyXG4kYmxvY2tsaXN0LWZ1bGxibGVlZDogdHJ1ZSAhZGVmYXVsdDtcclxuJGJsb2NrbGlzdC1mb250c2l6ZTogMXJlbSAhZGVmYXVsdDtcclxuXHJcbiRibG9ja2xpc3QtaXRlbS1wYWRkaW5nOiAwLjhyZW0gMXJlbSAhZGVmYXVsdDtcclxuJGJsb2NrbGlzdC1pdGVtLWNvbG9yOiBpc2l0bGlnaHQoJGJsb2NrbGlzdC1iYWNrZ3JvdW5kLCAjMDAwLCAjZmZmKSAhZGVmYXVsdDtcclxuJGJsb2NrbGlzdC1pdGVtLWJhY2tncm91bmQtaG92ZXI6IHNtYXJ0c2NhbGUoJGJsb2NrbGlzdC1iYWNrZ3JvdW5kLCA0LjUlKSAhZGVmYXVsdDtcclxuJGJsb2NrbGlzdC1pdGVtLWNvbG9yLWRpc2FibGVkOiAjOTk5ICFkZWZhdWx0O1xyXG4kYmxvY2tsaXN0LWl0ZW0tYm9yZGVyOiAxcHggc29saWQgc21hcnRzY2FsZSgkYmxvY2tsaXN0LWJhY2tncm91bmQsIDE4LjUlKSAhZGVmYXVsdDtcclxuXHJcbiRibG9ja2xpc3QtaXRlbS1sYWJlbC1jb2xvcjogc2NhbGUtY29sb3IoJGJsb2NrbGlzdC1pdGVtLWNvbG9yLCAkbGlnaHRuZXNzOiA2MCUpICFkZWZhdWx0O1xyXG4kYmxvY2tsaXN0LWl0ZW0taWNvbi1zaXplOiAwLjggIWRlZmF1bHQ7XHJcblxyXG4kYmxvY2tsaXN0LWhlYWRlci1mb250c2l6ZTogMC44ZW0gIWRlZmF1bHQ7XHJcbiRibG9ja2xpc3QtaGVhZGVyLWNvbG9yOiBzbWFydHNjYWxlKCRibG9ja2xpc3QtaXRlbS1jb2xvciwgNDAlKSAhZGVmYXVsdDtcclxuJGJsb2NrbGlzdC1oZWFkZXItdXBwZXJjYXNlOiB0cnVlO1xyXG5cclxuJGJsb2NrbGlzdC1jaGVjay1pY29uczogdHJ1ZSAhZGVmYXVsdDtcclxuLy8vXHJcblxyXG4vKlxyXG4gIEFkZHMgc3R5bGVzIGZvciBhIGJsb2NrIGxpc3QgY29udGFpbmVyLlxyXG5cclxuICAkZm9udC1zaXplOiBnbG9iYWwgZm9udCBzaXplIGZvciB0aGUgbGlzdC5cclxuICAkZnVsbC1ibGVlZDogd2hlbiBcInRydWVcIiwgdGhlIG1hcmdpbnMgb2YgdGhlIGxpc3QgaW52ZXJ0IHRvIGxpbmUgaXQgdXAgd2l0aCB0aGUgZWRnZSBvZiBhIHBhZGRlZCBlbGVtZW50LlxyXG4qL1xyXG4lYmxvY2stbGlzdC1jb250YWluZXIge1xyXG4gIG1hcmdpbi1ib3R0b206IDFyZW07XHJcbiAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XHJcblxyXG4gICYsIHVsIHtcclxuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcclxuICB9XHJcbiAgdWwge1xyXG4gICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgfVxyXG59XHJcbkBtaXhpbiBibG9jay1saXN0LWNvbnRhaW5lcihcclxuICAkZm9udC1zaXplOiAkYmxvY2tsaXN0LWZvbnRzaXplLFxyXG4gICRmdWxsLWJsZWVkOiAkYmxvY2tsaXN0LWZ1bGxibGVlZFxyXG4pIHtcclxuICBAZXh0ZW5kICVibG9jay1saXN0LWNvbnRhaW5lcjtcclxuICBmb250LXNpemU6ICRmb250LXNpemU7XHJcblxyXG4gIEBpZiAkZnVsbC1ibGVlZCB7XHJcbiAgICBtYXJnaW4tbGVmdDogLSRnbG9iYWwtcGFkZGluZztcclxuICAgIG1hcmdpbi1yaWdodDogLSRnbG9iYWwtcGFkZGluZztcclxuICB9XHJcbn1cclxuXHJcbi8qXHJcbiAgU3R5bGVzIGJsb2NrIGxpc3QgaGVhZGVycyBvbiB0aGUgc2VsZWN0b3IgeW91IGluY2x1ZGUgdGhpcyBtaXhpbiBpbiAobm9ybWFsbHkgYSA8aGVhZGVyPikuXHJcblxyXG4gICRjb2xvciAtIGNvbG9yIG9mIHRoZSBoZWFkZXIuXHJcbiAgJGZvbnQtc2l6ZSAtIGZvbnQgc2l6ZSBvZiB0aGUgaGVhZGVyLlxyXG4gICRvZmZzZXQgLSBsZWZ0IG1hcmdpbiB0byBhZGQgdG8gdGhlIGhlYWRlciwgdG8gbGluZSBpdCB1cCB3aXRoIHRoZSBsaXN0IGl0ZW1zLlxyXG4qL1xyXG5AbWl4aW4gYmxvY2stbGlzdC1oZWFkZXIoXHJcbiAgJGNvbG9yOiAkYmxvY2tsaXN0LWhlYWRlci1jb2xvcixcclxuICAkZm9udC1zaXplOiAkYmxvY2tsaXN0LWhlYWRlci1mb250c2l6ZSxcclxuICAkdXBwZXJjYXNlOiAkYmxvY2tsaXN0LWhlYWRlci11cHBlcmNhc2UsXHJcbiAgJG9mZnNldDogZ2V0LXNpZGUoJGJsb2NrbGlzdC1pdGVtLXBhZGRpbmcsIGxlZnQpXHJcbikge1xyXG4gIG1hcmdpbi10b3A6IDFlbTtcclxuICBjb2xvcjogJGNvbG9yO1xyXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gIG1hcmdpbi1ib3R0b206IDAuNWVtO1xyXG4gIG1hcmdpbi1sZWZ0OiAkb2Zmc2V0O1xyXG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcclxuICBjdXJzb3I6IGRlZmF1bHQ7XHJcbiAgQGlmICR1cHBlcmNhc2UgeyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XHJcbn1cclxuXHJcbi8qXHJcbiAgU3R5bGVzIGJsb2NrIGxpc3QgaXRlbXMgb24gdGhlIHNlbGVjdG9yIHlvdSBpbmNsdWRlIHRoaXMgbWl4aW4gaW4gKG5vcm1hbGx5IGFuIDxsaT4pLlxyXG5cclxuICAkY29sb3IgLSBjb2xvciBvZiBpdGVtcy5cclxuICAkY29sb3ItaG92ZXIgLSBjb2xvciBvZiBpdGVtcyBvbiBob3Zlci5cclxuICAkYmFja2dyb3VuZCAtIGJhY2tncm91bmQgb2YgaXRlbXMuXHJcbiAgJGJhY2tncm91bmQtaG92ZXIgLSBiYWNrZ3JvdW5kIG9mIGl0ZW1zIG9uIGhvdmVyLlxyXG4gICRib3JkZXIgLSBib3JkZXIgYmV0d2VlbiBpdGVtcy5cclxuICAkcGFkZGluZyAtIHBhZGRpbmcgb24gaXRlbXMuXHJcbiovXHJcbkBtaXhpbiBibG9jay1saXN0LWl0ZW0oXHJcbiAgJGNvbG9yOiAkYmxvY2tsaXN0LWl0ZW0tY29sb3IsXHJcbiAgJGNvbG9yLWhvdmVyOiAkYmxvY2tsaXN0LWl0ZW0tY29sb3IsXHJcbiAgJGNvbG9yLWRpc2FibGVkOiAkYmxvY2tsaXN0LWl0ZW0tY29sb3ItZGlzYWJsZWQsXHJcbiAgJGJhY2tncm91bmQ6IHRyYW5zcGFyZW50LFxyXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkYmxvY2tsaXN0LWl0ZW0tYmFja2dyb3VuZC1ob3ZlcixcclxuICAkYm9yZGVyOiAkYmxvY2tsaXN0LWl0ZW0tYm9yZGVyLFxyXG4gICRwYWRkaW5nOiAkYmxvY2tsaXN0LWl0ZW0tcGFkZGluZ1xyXG4pIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gIEBpZiBoYXN2YWx1ZSgkYm9yZGVyKSB7XHJcbiAgICBib3JkZXItYm90dG9tOiAkYm9yZGVyO1xyXG4gICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgIGJvcmRlci10b3A6ICRib3JkZXI7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBJbm5lciBlbGVtZW50cyBzaGFyZSB0aGUgc2FtZSBiYXNpYyBzdHlsZXNcclxuICA+IGEsID4gc3BhbiwgPiBsYWJlbCB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHBhZGRpbmc6ICRwYWRkaW5nO1xyXG4gICAgcGFkZGluZy1sZWZ0OiBnZXQtc2lkZSgkcGFkZGluZywgbGVmdCk7XHJcbiAgICBjb2xvcjogJGNvbG9yO1xyXG4gICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgfVxyXG4gID4gc3BhbiB7XHJcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XHJcbiAgfVxyXG4gID4gYSwgPiBsYWJlbCB7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIGNvbG9yOiAkY29sb3ItaG92ZXI7XHJcbiAgICB9XHJcbiAgfVxyXG4gID4gYSwgPiBsYWJlbCwgc2VsZWN0IHtcclxuICAgICY6aG92ZXIge1xyXG4gICAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZC1ob3ZlcjtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIENvbG9yaW5nIGNsYXNzZXNcclxuICAmLmNhdXRpb24gPiBhIHtcclxuICAgICYsICY6aG92ZXIgeyBjb2xvcjogJGFsZXJ0LWNvbG9yOyB9XHJcbiAgfVxyXG4gICYuZGlzYWJsZWQgPiBhIHtcclxuICAgIGN1cnNvcjogZGVmYXVsdDtcclxuICAgICYsICY6aG92ZXIgeyBjb2xvcjogJGNvbG9yLWRpc2FibGVkOyB9XHJcbiAgICAmOmhvdmVyIHsgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cclxuICB9XHJcbn1cclxuXHJcbi8qXHJcbiAgQWRkcyBsYWJlbCBzdHlsZXMgdG8gdGhlIGNsYXNzIHlvdSBpbmNsdWRlIHRoaXMgbWl4aW4gaW4uXHJcblxyXG4gICRjb2xvciAtIGNvbG9yIG9mIHRoZSBsYWJlbC5cclxuICAkbGVmdC1jbGFzcyAtIGV4dHJhIGNsYXNzIHRvIGZsaXAgdGhlIG9yaWVudGF0aW9uIG9mIHRoZSBsYWJlbC5cclxuICAkbGVmdC1wYWRkaW5nIC0gbGVmdCBwYWRkaW5nIHRvIHVzZSBmb3IgbGVmdC1oYW5kIGxhYmVscy5cclxuKi9cclxuQG1peGluIGJsb2NrLWxpc3QtbGFiZWwoXHJcbiAgJGNvbG9yOiAkYmxvY2tsaXN0LWl0ZW0tbGFiZWwtY29sb3IsXHJcbiAgJGxlZnQtY2xhc3M6ICdsZWZ0JyxcclxuICAkbGVmdC1wYWRkaW5nOiBnZXQtc2lkZSgkYmxvY2tsaXN0LWl0ZW0tcGFkZGluZywgdG9wKVxyXG4pIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgZmxvYXQ6IHJpZ2h0O1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgY29sb3I6ICRjb2xvcjtcclxuICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuXHJcbiAgJi4jeyRsZWZ0LWNsYXNzfSB7XHJcbiAgICBtYXJnaW4tbGVmdDogJGxlZnQtcGFkZGluZztcclxuICAgIGZsb2F0OiBub25lO1xyXG4gIH1cclxufVxyXG5cclxuLypcclxuICBBZGRzIHN1cHBvcnQgZm9yIGNoZXZyb25zLCB3aGljaCBhcHBlYXIgb24gdGhlIHJpZ2h0LWhhbmQgc2lkZSBvZiB0aGUgaXRlbS5cclxuXHJcbiAgJGNvbG9yIC0gY29sb3Igb2YgdGhlIGNoZXZyb24uXHJcbiAgJHBhZGRpbmcgLSBpbmNsdWRlIHRoZSBnbG9iYWwgcGFkZGluZyBvZiBibG9jayBsaXN0IGl0ZW1zIGhlcmUuXHJcbiovXHJcbkBtaXhpbiBibG9jay1saXN0LWNoZXZyb24oXHJcbiAgJGNvbG9yOiAkYmxvY2tsaXN0LWhlYWRlci1jb2xvcixcclxuICAkcGFkZGluZzogJGJsb2NrbGlzdC1pdGVtLXBhZGRpbmcsXHJcbiAgJGxhYmVsLWNsYXNzOiAnYmxvY2stbGlzdC1sYWJlbCdcclxuKSB7XHJcbiAgLy8gQ2hldnJvbnMgYXJlIGEgcHNldWRvLWVsZW1lbnRcclxuICAmOjphZnRlciB7XHJcbiAgICBjb250ZW50OiAnXFwyMDNBJztcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgcmlnaHQ6IGdldC1zaWRlKCRwYWRkaW5nLCByaWdodCk7XHJcbiAgICB0b3A6IDUwJTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgY29sb3I6ICRjb2xvcjtcclxuICAgIGZvbnQtc2l6ZTogMmVtO1xyXG4gIH1cclxuXHJcbiAgLy8gTGFiZWxzIG5leHQgdG8gbGlua3MgbW92ZSBvdmVyIHRvIG1ha2Ugcm9vbSBmb3IgdGhlIGNoZXZyb25cclxuICAvLyBUT0RPOiB0aGlzIHNlbGVjdG9yIG5lZWRzIHRvIGJlIGN1c3RvbWlhYmxlLCBidXQgYWRkaW5nIGEgc2V0dGluZyBqdXN0IGZvciBpdCBtaWdodCBiZSB3ZWlyZFxyXG4gIC4jeyRsYWJlbC1jbGFzc30ge1xyXG4gICAgcGFkZGluZy1yaWdodDogZ2V0LXNpZGUoJHBhZGRpbmcsIHJpZ2h0KSAqIDEuNTtcclxuICB9XHJcbn1cclxuXHJcbi8qXHJcbiAgQWRkcyBpY29uIHN0eWxlcy4gQ2FsbCB0aGlzIG1peGluIG9uIGEgYmxvY2sgbGlzdCBjb250YWluZXIuXHJcblxyXG4gICRzaXplIC0gc2l6ZSBvZiB0aGUgaWNvbiBhcyBhIHBlcmNlbnRhZ2UgKGRlY2ltYWwpIG9mIHRoZSBsaXN0IGl0ZW0ncyBoZWlnaHQuXHJcbiAgJGl0ZW0tc2VsZWN0b3IgLSBvdmVycmlkZXMgdGhlICdsaScgc2VsZWN0b3IgdXNlZCBmb3IgbGlzdCBpdGVtcy5cclxuKi9cclxuQG1peGluIGJsb2NrLWxpc3QtaWNvbnMoXHJcbiAgJHNpemU6ICRibG9ja2xpc3QtaXRlbS1pY29uLXNpemUsXHJcbiAgJGl0ZW0tc2VsZWN0b3I6ICdsaSdcclxuKSB7XHJcbiAgLy8gUEggLSBuZWVkIGEgYmV0dGVyIHNvbHV0aW9uXHJcbiAgJGl0ZW0taGVpZ2h0OlxyXG4gICAgJGJsb2NrbGlzdC1mb250c2l6ZVxyXG4gICAgKyBnZXQtc2lkZSgkYmxvY2tsaXN0LWl0ZW0tcGFkZGluZywgdG9wKVxyXG4gICAgKyBnZXQtc2lkZSgkYmxvY2tsaXN0LWl0ZW0tcGFkZGluZywgdG9wKTtcclxuXHJcbiAgJGljb24taGVpZ2h0OiAkaXRlbS1oZWlnaHQgKiAkYmxvY2tsaXN0LWl0ZW0taWNvbi1zaXplO1xyXG4gICRpY29uLW9mZnNldDogKCRpdGVtLWhlaWdodCAtICRpY29uLWhlaWdodCkgLyAyO1xyXG5cclxuICAjeyRpdGVtLXNlbGVjdG9yfSB7XHJcbiAgICA+IGEsID4gc3BhbiwgPiBsYWJlbCB7XHJcbiAgICAgIHBhZGRpbmctbGVmdDogKGdldC1zaWRlKCRibG9ja2xpc3QtaXRlbS1wYWRkaW5nLCBsZWZ0KSAqIDIpICsgJGJsb2NrbGlzdC1pdGVtLWljb24tc2l6ZTtcclxuICAgIH1cclxuICAgIGltZywgLmljb25pYyB7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgdG9wOiAkaWNvbi1vZmZzZXQ7XHJcbiAgICAgIGxlZnQ6ICRpY29uLW9mZnNldDtcclxuICAgICAgd2lkdGg6ICRpY29uLWhlaWdodDtcclxuICAgICAgaGVpZ2h0OiAkaWNvbi1oZWlnaHQ7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcclxuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vKlxyXG4gIEFkZHMgc3VwcG9ydCBmb3IgdGV4dCBmaWVsZHMsIHNlbGVjdCBtZW51cywgYW5kIGNoZWNrYm94L3JhZGlvIGdyb3VwcyBpbiBibG9jayBsaXN0cy5cclxuXHJcbiAgJGNvbG9yIC0gY29sb3Igb2Ygc2VsZWN0IG1lbnUgYXJyb3cuXHJcbiAgJGJhY2tncm91bmQtaG92ZXIgLSBjb2xvciBvZiBzZWxlY3QgbWVudSB3aGVuIGhvdmVyZWQgb3Zlci5cclxuICAkcGFkZGluZyAtIGluY2x1ZGUgdGhlIGdsb2JhbCBwYWRkaW5nIG9mIGJsb2NrIGxpc3QgaXRlbXMgaGVyZS5cclxuICAkZHJvcGRvd24tY2xhc3MgLSBjbGFzcyB0byB1c2UgZm9yIGxpc3QgaXRlbXMgdGhhdCBjb250YWluIGEgZHJvcGRvd24uXHJcbiAgJHN3aXRjaC1jbGFzcyAtIGNsYXNzIHRvIHVzZSBmb3Igc3dpdGNoZXMgaW5zaWRlIGxpc3QgaXRlbXMuXHJcbiovXHJcbkBtaXhpbiBibG9jay1saXN0LWlucHV0cyhcclxuICAkY29sb3I6ICRibG9ja2xpc3QtaXRlbS1jb2xvcixcclxuICAkYmFja2dyb3VuZDogJGJsb2NrbGlzdC1iYWNrZ3JvdW5kLFxyXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkYmxvY2tsaXN0LWl0ZW0tYmFja2dyb3VuZC1ob3ZlcixcclxuICAkcGFkZGluZzogJGJsb2NrbGlzdC1pdGVtLXBhZGRpbmcsXHJcbiAgJGljb25zOiAkYmxvY2tsaXN0LWNoZWNrLWljb25zLFxyXG4gICRkcm9wZG93bi1jbGFzczogJ3dpdGgtZHJvcGRvd24nLFxyXG4gICRzd2l0Y2gtY2xhc3M6ICdzd2l0Y2gnXHJcbikge1xyXG4gIC8vIFRleHQgZmllbGRzXHJcbiAgI3skdGV4dC1pbnB1dC1zZWxlY3RvcnN9IHtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIGJvcmRlcjogMDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgcGFkZGluZzogJHBhZGRpbmc7XHJcbiAgICBjb2xvcjogaW5oZXJpdDtcclxuXHJcbiAgICAmOmhvdmVyLCAmOmZvY3VzIHtcclxuICAgICAgYm9yZGVyOiAwO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gTXVsdGlwbGUgc2VsZWN0XHJcbiAgbGkgPiBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sIGxpID4gaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGxlZnQ6IC05OTk5cHg7XHJcblxyXG4gICAgJiArIGxhYmVsIHtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIGZvbnQtc2l6ZTogJGJsb2NrbGlzdC1mb250c2l6ZTtcclxuICAgICAgbWFyZ2luOiAwO1xyXG4gICAgfVxyXG5cclxuICAgIEBpZiAkaWNvbnMgPT0gdHJ1ZSB7XHJcbiAgICAgICY6Y2hlY2tlZCArIGxhYmVsIHtcclxuICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgQGluY2x1ZGUgaW1hZ2UtY2hlY2ttYXJrKCRjb2xvcik7XHJcbiAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlO1xyXG4gICAgICAgICAgd2lkdGg6IDEuNWVtO1xyXG4gICAgICAgICAgaGVpZ2h0OiAxLjVlbTtcclxuICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuICAgICAgICAgIGZsb2F0OiByaWdodDtcclxuICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgICAgICAgbWFyZ2luLXRvcDogLTAuMjVlbTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIERyb3Bkb3duc1xyXG4gIC4jeyRkcm9wZG93bi1jbGFzc30ge1xyXG4gICAgY29sb3I6IGluaGVyaXQ7XHJcblxyXG4gICAgc2VsZWN0IHtcclxuICAgICAgLy8gUmVzZXQgcGVza3kgPHNlbGVjdD4gc3R5bGVzXHJcbiAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcclxuICAgICAgICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xyXG4gICAgICBvdXRsaW5lOiAwO1xyXG4gICAgICBiYWNrZ3JvdW5kOiAwO1xyXG4gICAgICBib3JkZXI6IDA7XHJcbiAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgcGFkZGluZzogJHBhZGRpbmc7XHJcbiAgICAgIG1hcmdpbjogMDtcclxuICAgICAgZm9udC1zaXplOiAxZW07IC8vIFNhbWUgc2l6ZSBhcyBpdHMgcGFyZW50XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgICBjb2xvcjogaW5oZXJpdDtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBTd2l0Y2hlc1xyXG4gIC4jeyRzd2l0Y2gtY2xhc3N9IHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogNTAlO1xyXG4gICAgcmlnaHQ6IGdldC1zaWRlKCRwYWRkaW5nLCByaWdodCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgfVxyXG59XHJcblxyXG5AaW5jbHVkZSBleHBvcnRzKGJsb2NrLWxpc3QpIHtcclxuICAuYmxvY2stbGlzdCB7XHJcbiAgICBAaW5jbHVkZSBibG9jay1saXN0LWNvbnRhaW5lcjtcclxuICAgIEBpbmNsdWRlIGJsb2NrLWxpc3QtaW5wdXRzO1xyXG5cclxuICAgICYud2l0aC1pY29ucyB7IEBpbmNsdWRlIGJsb2NrLWxpc3QtaWNvbnM7IH1cclxuICAgIGhlYWRlciAgICAgICB7IEBpbmNsdWRlIGJsb2NrLWxpc3QtaGVhZGVyOyB9XHJcblxyXG4gICAgbGkge1xyXG4gICAgICBAaW5jbHVkZSBibG9jay1saXN0LWl0ZW07XHJcblxyXG4gICAgICAmLndpdGgtY2hldnJvbiAgICB7IEBpbmNsdWRlIGJsb2NrLWxpc3QtY2hldnJvbjsgfVxyXG4gICAgICAuYmxvY2stbGlzdC1sYWJlbCB7IEBpbmNsdWRlIGJsb2NrLWxpc3QtbGFiZWw7IH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLyohIG5vcm1hbGl6ZS5jc3MgdjMuMC4xIHwgTUlUIExpY2Vuc2UgfCBnaXQuaW8vbm9ybWFsaXplICovXG5cbi8qKlxuICogMS4gU2V0IGRlZmF1bHQgZm9udCBmYW1pbHkgdG8gc2Fucy1zZXJpZi5cbiAqIDIuIFByZXZlbnQgaU9TIHRleHQgc2l6ZSBhZGp1c3QgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlLCB3aXRob3V0IGRpc2FibGluZ1xuICogICAgdXNlciB6b29tLlxuICovXG5cbmh0bWwge1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjsgLyogMSAqL1xuICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgZGVmYXVsdCBtYXJnaW4uXG4gKi9cblxuYm9keSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLyogSFRNTDUgZGlzcGxheSBkZWZpbml0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYW55IEhUTUw1IGVsZW1lbnQgaW4gSUUgOC85LlxuICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGBkZXRhaWxzYCBvciBgc3VtbWFyeWAgaW4gSUUgMTAvMTEgYW5kIEZpcmVmb3guXG4gKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYG1haW5gIGluIElFIDExLlxuICovXG5cbmFydGljbGUsXG5hc2lkZSxcbmRldGFpbHMsXG5maWdjYXB0aW9uLFxuZmlndXJlLFxuZm9vdGVyLFxuaGVhZGVyLFxuaGdyb3VwLFxubWFpbixcbm5hdixcbnNlY3Rpb24sXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCBgaW5saW5lLWJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGluIElFIDgvOS5cbiAqIDIuIE5vcm1hbGl6ZSB2ZXJ0aWNhbCBhbGlnbm1lbnQgb2YgYHByb2dyZXNzYCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAqL1xuXG5hdWRpbyxcbmNhbnZhcyxcbnByb2dyZXNzLFxudmlkZW8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8qIDEgKi9cbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvKiAyICovXG59XG5cbi8qKlxuICogUHJldmVudCBtb2Rlcm4gYnJvd3NlcnMgZnJvbSBkaXNwbGF5aW5nIGBhdWRpb2Agd2l0aG91dCBjb250cm9scy5cbiAqIFJlbW92ZSBleGNlc3MgaGVpZ2h0IGluIGlPUyA1IGRldmljZXMuXG4gKi9cblxuYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiAwO1xufVxuXG4vKipcbiAqIEFkZHJlc3MgYFtoaWRkZW5dYCBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS8xMC5cbiAqIEhpZGUgdGhlIGB0ZW1wbGF0ZWAgZWxlbWVudCBpbiBJRSA4LzkvMTEsIFNhZmFyaSwgYW5kIEZpcmVmb3ggPCAyMi5cbiAqL1xuXG5baGlkZGVuXSxcbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogTGlua3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgY29sb3IgZnJvbSBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gKi9cblxuYSB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuXG4vKipcbiAqIEltcHJvdmUgcmVhZGFiaWxpdHkgd2hlbiBmb2N1c2VkIGFuZCBhbHNvIG1vdXNlIGhvdmVyZWQgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmE6YWN0aXZlLFxuYTpob3ZlciB7XG4gIG91dGxpbmU6IDA7XG59XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkvMTAvMTEsIFNhZmFyaSwgYW5kIENocm9tZS5cbiAqL1xuXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQ7XG59XG5cbi8qKlxuICogQWRkcmVzcyBzdHlsZSBzZXQgdG8gYGJvbGRlcmAgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICovXG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4gKi9cblxuZGZuIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4vKipcbiAqIEFkZHJlc3MgdmFyaWFibGUgYGgxYCBmb250LXNpemUgYW5kIG1hcmdpbiB3aXRoaW4gYHNlY3Rpb25gIGFuZCBgYXJ0aWNsZWBcbiAqIGNvbnRleHRzIGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbiAqL1xuXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwO1xufVxuXG4vKipcbiAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkuXG4gKi9cblxubWFyayB7XG4gIGJhY2tncm91bmQ6ICNmZjA7XG4gIGNvbG9yOiAjMDAwO1xufVxuXG4vKipcbiAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGFuZCB2YXJpYWJsZSBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG59XG5cbi8qKlxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgYWZmZWN0aW5nIGBsaW5lLWhlaWdodGAgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtO1xufVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07XG59XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIGJvcmRlciB3aGVuIGluc2lkZSBgYWAgZWxlbWVudCBpbiBJRSA4LzkvMTAuXG4gKi9cblxuaW1nIHtcbiAgYm9yZGVyOiAwO1xufVxuXG4vKipcbiAqIENvcnJlY3Qgb3ZlcmZsb3cgbm90IGhpZGRlbiBpbiBJRSA5LzEwLzExLlxuICovXG5cbnN2Zzpub3QoOnJvb3QpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLyogR3JvdXBpbmcgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGRyZXNzIG1hcmdpbiBub3QgcHJlc2VudCBpbiBJRSA4LzkgYW5kIFNhZmFyaS5cbiAqL1xuXG5maWd1cmUge1xuICBtYXJnaW46IDFlbSA0MHB4O1xufVxuXG4vKipcbiAqIEFkZHJlc3MgZGlmZmVyZW5jZXMgYmV0d2VlbiBGaXJlZm94IGFuZCBvdGhlciBicm93c2Vycy5cbiAqL1xuXG5ociB7XG4gIC1tb3otYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBoZWlnaHQ6IDA7XG59XG5cbi8qKlxuICogQ29udGFpbiBvdmVyZmxvdyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxucHJlIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8qKlxuICogQWRkcmVzcyBvZGQgYGVtYC11bml0IGZvbnQgc2l6ZSByZW5kZXJpbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmNvZGUsXG5rYmQsXG5wcmUsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICBmb250LXNpemU6IDFlbTtcbn1cblxuLyogRm9ybXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogS25vd24gbGltaXRhdGlvbjogYnkgZGVmYXVsdCwgQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWCBhbGxvdyB2ZXJ5IGxpbWl0ZWRcbiAqIHN0eWxpbmcgb2YgYHNlbGVjdGAsIHVubGVzcyBhIGBib3JkZXJgIHByb3BlcnR5IGlzIHNldC5cbiAqL1xuXG4vKipcbiAqIDEuIENvcnJlY3QgY29sb3Igbm90IGJlaW5nIGluaGVyaXRlZC5cbiAqICAgIEtub3duIGlzc3VlOiBhZmZlY3RzIGNvbG9yIG9mIGRpc2FibGVkIGVsZW1lbnRzLlxuICogMi4gQ29ycmVjdCBmb250IHByb3BlcnRpZXMgbm90IGJlaW5nIGluaGVyaXRlZC5cbiAqIDMuIEFkZHJlc3MgbWFyZ2lucyBzZXQgZGlmZmVyZW50bHkgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICovXG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGNvbG9yOiBpbmhlcml0OyAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cbiAgbWFyZ2luOiAwOyAvKiAzICovXG59XG5cbi8qKlxuICogQWRkcmVzcyBgb3ZlcmZsb3dgIHNldCB0byBgaGlkZGVuYCBpbiBJRSA4LzkvMTAvMTEuXG4gKi9cblxuYnV0dG9uIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi8qKlxuICogQWRkcmVzcyBpbmNvbnNpc3RlbnQgYHRleHQtdHJhbnNmb3JtYCBpbmhlcml0YW5jZSBmb3IgYGJ1dHRvbmAgYW5kIGBzZWxlY3RgLlxuICogQWxsIG90aGVyIGZvcm0gY29udHJvbCBlbGVtZW50cyBkbyBub3QgaW5oZXJpdCBgdGV4dC10cmFuc2Zvcm1gIHZhbHVlcy5cbiAqIENvcnJlY3QgYGJ1dHRvbmAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gRmlyZWZveCwgSUUgOC85LzEwLzExLCBhbmQgT3BlcmEuXG4gKiBDb3JyZWN0IGBzZWxlY3RgIHN0eWxlIGluaGVyaXRhbmNlIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uLFxuc2VsZWN0IHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi8qKlxuICogMS4gQXZvaWQgdGhlIFdlYktpdCBidWcgaW4gQW5kcm9pZCA0LjAuKiB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2BcbiAqICAgIGFuZCBgdmlkZW9gIGNvbnRyb2xzLlxuICogMi4gQ29ycmVjdCBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIGBpbnB1dGAgdHlwZXMgaW4gaU9TLlxuICogMy4gSW1wcm92ZSB1c2FiaWxpdHkgYW5kIGNvbnNpc3RlbmN5IG9mIGN1cnNvciBzdHlsZSBiZXR3ZWVuIGltYWdlLXR5cGVcbiAqICAgIGBpbnB1dGAgYW5kIG90aGVycy5cbiAqL1xuXG5idXR0b24sXG5odG1sIGlucHV0W3R5cGU9XCJidXR0b25cIl0sIC8qIDEgKi9cbmlucHV0W3R5cGU9XCJyZXNldFwiXSxcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMiAqL1xuICBjdXJzb3I6IHBvaW50ZXI7IC8qIDMgKi9cbn1cblxuLyoqXG4gKiBSZS1zZXQgZGVmYXVsdCBjdXJzb3IgZm9yIGRpc2FibGVkIGVsZW1lbnRzLlxuICovXG5cbmJ1dHRvbltkaXNhYmxlZF0sXG5odG1sIGlucHV0W2Rpc2FibGVkXSB7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLyoqXG4gKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgYm9yZGVyIGluIEZpcmVmb3ggNCsuXG4gKi9cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuaW5wdXQ6Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8qKlxuICogQWRkcmVzcyBGaXJlZm94IDQrIHNldHRpbmcgYGxpbmUtaGVpZ2h0YCBvbiBgaW5wdXRgIHVzaW5nIGAhaW1wb3J0YW50YCBpblxuICogdGhlIFVBIHN0eWxlc2hlZXQuXG4gKi9cblxuaW5wdXQge1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xufVxuXG4vKipcbiAqIEl0J3MgcmVjb21tZW5kZWQgdGhhdCB5b3UgZG9uJ3QgYXR0ZW1wdCB0byBzdHlsZSB0aGVzZSBlbGVtZW50cy5cbiAqIEZpcmVmb3gncyBpbXBsZW1lbnRhdGlvbiBkb2Vzbid0IHJlc3BlY3QgYm94LXNpemluZywgcGFkZGluZywgb3Igd2lkdGguXG4gKlxuICogMS4gQWRkcmVzcyBib3ggc2l6aW5nIHNldCB0byBgY29udGVudC1ib3hgIGluIElFIDgvOS8xMC5cbiAqIDIuIFJlbW92ZSBleGNlc3MgcGFkZGluZyBpbiBJRSA4LzkvMTAuXG4gKi9cblxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogRml4IHRoZSBjdXJzb3Igc3R5bGUgZm9yIENocm9tZSdzIGluY3JlbWVudC9kZWNyZW1lbnQgYnV0dG9ucy4gRm9yIGNlcnRhaW5cbiAqIGBmb250LXNpemVgIHZhbHVlcyBvZiB0aGUgYGlucHV0YCwgaXQgY2F1c2VzIHRoZSBjdXJzb3Igc3R5bGUgb2YgdGhlXG4gKiBkZWNyZW1lbnQgYnV0dG9uIHRvIGNoYW5nZSBmcm9tIGBkZWZhdWx0YCB0byBgdGV4dGAuXG4gKi9cblxuaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQWRkcmVzcyBgYXBwZWFyYW5jZWAgc2V0IHRvIGBzZWFyY2hmaWVsZGAgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4gKiAyLiBBZGRyZXNzIGBib3gtc2l6aW5nYCBzZXQgdG8gYGJvcmRlci1ib3hgIGluIFNhZmFyaSBhbmQgQ2hyb21lXG4gKiAgICAoaW5jbHVkZSBgLW1vemAgdG8gZnV0dXJlLXByb29mKS5cbiAqL1xuXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cbiAgLW1vei1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMiAqL1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbn1cblxuLyoqXG4gKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgc2VhcmNoIGNhbmNlbCBidXR0b24gaW4gU2FmYXJpIGFuZCBDaHJvbWUgb24gT1MgWC5cbiAqIFNhZmFyaSAoYnV0IG5vdCBDaHJvbWUpIGNsaXBzIHRoZSBjYW5jZWwgYnV0dG9uIHdoZW4gdGhlIHNlYXJjaCBpbnB1dCBoYXNcbiAqIHBhZGRpbmcgKGFuZCBgdGV4dGZpZWxkYCBhcHBlYXJhbmNlKS5cbiAqL1xuXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLyoqXG4gKiBEZWZpbmUgY29uc2lzdGVudCBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcuXG4gKi9cblxuZmllbGRzZXQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xuICBtYXJnaW46IDAgMnB4O1xuICBwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCBgY29sb3JgIG5vdCBiZWluZyBpbmhlcml0ZWQgaW4gSUUgOC85LzEwLzExLlxuICogMi4gUmVtb3ZlIHBhZGRpbmcgc28gcGVvcGxlIGFyZW4ndCBjYXVnaHQgb3V0IGlmIHRoZXkgemVybyBvdXQgZmllbGRzZXRzLlxuICovXG5cbmxlZ2VuZCB7XG4gIGJvcmRlcjogMDsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDgvOS8xMC8xMS5cbiAqL1xuXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vKipcbiAqIERvbid0IGluaGVyaXQgdGhlIGBmb250LXdlaWdodGAgKGFwcGxpZWQgYnkgYSBydWxlIGFib3ZlKS5cbiAqIE5PVEU6IHRoZSBkZWZhdWx0IGNhbm5vdCBzYWZlbHkgYmUgY2hhbmdlZCBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBPUyBYLlxuICovXG5cbm9wdGdyb3VwIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi8qIFRhYmxlc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgbW9zdCBzcGFjaW5nIGJldHdlZW4gdGFibGUgY2VsbHMuXG4gKi9cblxudGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBib3JkZXItc3BhY2luZzogMDtcbn1cblxudGQsXG50aCB7XG4gIHBhZGRpbmc6IDA7XG59IiwiLypcbiAgR0xPQkFMXG4gIC0tLS0tLVxuXG4gIEdsb2JhbCBzdHlsZXMgYW5kIHNldHRpbmdzIGZvciBGb3VuZGF0aW9uIGZvciBBcHBzIGFyZSBzdG9yZWQgaGVyZS4gVGhpcyBmaWxlIG11c3QgYWx3YXlzXG4gIGJlIGltcG9ydGVkLCBubyBtYXR0ZXIgd2hhdC5cblxuICBJbmNsdWRlczpcbiAgIC1cbiovXG5cbi8vLyBARm91bmRhdGlvbi5zZXR0aW5nc1xuLy8gR2xvYmFsIFN0eWxlc1xuLy8gVGhpcyBzZXRzIDFyZW0gdG8gYmUgMTZweFxuJHJlbS1iYXNlOiAxNnB4O1xuXG4vLyBUaGUgZGVmYXVsdCBmb250LXNpemUgaXMgc2V0IHRvIDEwMCUgb2YgdGhlIGJyb3dzZXIgc3R5bGUgc2hlZXQgKHVzdWFsbHkgMTZweClcbi8vIGZvciBjb21wYXRpYmlsaXR5IHdpdGggYnJvd3Nlci1iYXNlZCB0ZXh0IHpvb20gb3IgdXNlci1zZXQgZGVmYXVsdHMuXG5cbi8vIFNpbmNlIHRoZSB0eXBpY2FsIGRlZmF1bHQgYnJvd3NlciBmb250LXNpemUgaXMgMTZweCwgdGhhdCBtYWtlcyB0aGUgY2FsY3VsYXRpb24gZm9yIGdyaWQgc2l6ZS5cbi8vIElmIHlvdSB3YW50IHlvdXIgYmFzZSBmb250LXNpemUgdG8gYmUgZGlmZmVyZW50IGFuZCBub3QgaGF2ZSBpdCBhZmZlY3QgdGhlIGdyaWQgYnJlYWtwb2ludHMsXG4vLyBzZXQgJHJlbS1iYXNlIHRvICRiYXNlLWZvbnQtc2l6ZSBhbmQgbWFrZSBzdXJlICRiYXNlLWZvbnQtc2l6ZSBpcyBhIHB4IHZhbHVlLlxuJGJhc2UtZm9udC1zaXplOiAxMDAlICFkZWZhdWx0O1xuXG4vLyAkYmFzZS1saW5lLWhlaWdodCBpcyAyNHB4IHdoaWxlICRiYXNlLWZvbnQtc2l6ZSBpcyAxNnB4XG4kYmFzZS1saW5lLWhlaWdodDogMS41ICFkZWZhdWx0O1xuXG4vLyBUZXh0IHNlbGVjdG9yIGhlbHBlcnNcbiRoZWFkZXJzOiBcImgxLGgyLGgzLGg0LGg1LGg2XCI7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBkZWZpbmUgZGVmYXVsdCBmb250IHdlaWdodHNcbiRmb250LXdlaWdodC1ub3JtYWw6IG5vcm1hbCAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1ib2xkOiBib2xkICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB2YXJpb3VzIGdsb2JhbCBzdHlsZXNcbiRib2R5LWJhY2tncm91bmQ6ICNmZmYgIWRlZmF1bHQ7XG4kYm9keS1mb250LWNvbG9yOiAjMjIyICFkZWZhdWx0O1xuJGJvZHktZm9udC1mYW1pbHk6IFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJIZWx2ZXRpY2FcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZiAhZGVmYXVsdDtcbiRib2R5LWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuJGJvZHktZm9udC1zdHlsZTogbm9ybWFsICFkZWZhdWx0O1xuJGJvZHktYW50aWFsaWFzZWQ6IHRydWU7XG5cbi8vIEFwcGxpY2F0aW9uIENvbG9yc1xuJHByaW1hcnktY29sb3I6ICMwMDU1OGIgIWRlZmF1bHQ7XG4kc2Vjb25kYXJ5LWNvbG9yOiAjZjFmMWYxICFkZWZhdWx0O1xuJGFsZXJ0LWNvbG9yOiAjRjA0MTI0ICFkZWZhdWx0O1xuJGluZm8tY29sb3I6ICNBMEQzRTggIWRlZmF1bHQ7XG4kc3VjY2Vzcy1jb2xvcjogIzQzQUM2QSAhZGVmYXVsdDtcbiR3YXJuaW5nLWNvbG9yOiAjRjA4QTI0ICFkZWZhdWx0O1xuJGRhcmstY29sb3I6ICMyMzIzMjMgIWRlZmF1bHQ7XG4kZ3JheTogI2RmZGZkZiAhZGVmYXVsdDtcbiRncmF5LWRhcms6IGRhcmtlbigkZ3JheSwgOCkgIWRlZmF1bHQ7XG4kZ3JheS1saWdodDogbGlnaHRlbigkZ3JheSwgOCkgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBtYWtlIHN1cmUgYm9yZGVyIHJhZGl1cyBtYXRjaGVzIHVubGVzcyB3ZSB3YW50IGl0IGRpZmZlcmVudC5cbiRnbG9iYWwtcmFkaXVzOiA0cHggIWRlZmF1bHQ7XG4kZ2xvYmFsLXJvdW5kZWQ6IDEwMDBweCAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoaXMgZm9yIGRlZmF1bHQgc3BhY2luZ1xuJGdsb2JhbC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuJGdsb2JhbC1zcGFjaW5nOiByZW0tY2FsYygxNSkgIWRlZmF1bHQ7XG4vLy9cblxuLy8gRm9yIGludGVybmFsIHVzZTogYSBjb2xvciBtYXBcbiRmb3VuZGF0aW9uLWNvbG9yczogKFxuICBwcmltYXJ5OiAkcHJpbWFyeS1jb2xvcixcbiAgc3VjY2VzczogJHN1Y2Nlc3MtY29sb3IsXG4gIHdhcm5pbmc6ICR3YXJuaW5nLWNvbG9yLFxuICBhbGVydDogJGFsZXJ0LWNvbG9yLFxuICBkYXJrOiAkZGFyay1jb2xvcixcbik7XG5cbkBpbmNsdWRlIGV4cG9ydHMoZ2xvYmFsKSB7XG4gIC8vIE1ha2UgZXh0cmEgc3VyZSB3ZSdyZSB1c2luZyB0aGUgd2hvbGUgd2luZG93XG4gIGh0bWwsIGJvZHkge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZTtcbiAgfVxuICAvLyBTZXQgYm94LXNpemluZyBnbG9iYWxseSB0byBoYW5kbGUgcGFkZGluZyBhbmQgYm9yZGVyIHdpZHRoc1xuICBodG1sIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG4gICosICo6YmVmb3JlLCAqOmFmdGVyIHtcbiAgICBib3gtc2l6aW5nOiBpbmhlcml0O1xuICB9XG5cbiAgLy8gRGVmYXVsdCBib2R5IHN0eWxlc1xuICBib2R5IHtcbiAgICBiYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcbiAgICBmb250LXdlaWdodDogJGJvZHktZm9udC13ZWlnaHQ7XG4gICAgZm9udC1zdHlsZTogJGJvZHktZm9udC1zdHlsZTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBAaWYgJGJvZHktYW50aWFsaWFzZWQge1xuICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgIH1cbiAgfVxuXG4gIGltZyB7XG4gICAgLy8gR3JpZCBEZWZhdWx0cyB0byBnZXQgaW1hZ2VzIGFuZCBlbWJlZHMgdG8gd29yayBwcm9wZXJseVxuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgLW1zLWludGVycG9sYXRpb24tbW9kZTogYmljdWJpYztcblxuICAgIC8vIEdldCByaWQgb2YgZ2FwIHVuZGVyIGltYWdlcyBieSBtYWtpbmcgdGhlbSBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGJ5IGRlZmF1bHRcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgfVxuXG4gIC8vIEdpdmUgYWxsIGFuY2hvcnMgYW5kIGludGVyYWN0aXZlIGRpcmVjdGl2ZXMgdGhlIGhvdmVyIGN1c29yXG4gIGEsIFt1aS1zcmVmXSwgW3pmLW9wZW5dLCBbemYtY2xvc2VdLCBbemYtdG9nZ2xlXSB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG5cbiAgI21hcF9jYW52YXMsXG4gIC5tYXBfY2FudmFzIHtcbiAgICBpbWcsXG4gICAgZW1iZWQsXG4gICAgb2JqZWN0IHsgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7IH1cbiAgfVxuXG4gIC5wYWRkaW5nIHtcbiAgICBwYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmc7XG4gIH1cbn1cbiIsIi8qXHJcbiAgQUNUSU9OIFNIRUVUXHJcbiAgLS0tLS0tLS0tLS0tXHJcblxyXG4gIEEgZHJvcGRvd24gbWVudSB0aGF0IHN0aWNrcyB0byB0aGUgYm90dG9tIG9mIHRoZSBzY3JlZW4gb24gc21hbGwgZGV2aWNlcywgYW5kIGJlY29tZXMgYSBkcm9wZG93biBtZW51IG9uIGxhcmdlciBkZXZpY2VzLlxyXG4qL1xyXG5cclxuLy8vIEBGb3VuZGF0aW9uLnNldHRpbmdzXHJcbi8vIEFjdGlvbiBTaGVldFxyXG4kYWN0aW9uc2hlZXQtYmFja2dyb3VuZDogd2hpdGUgIWRlZmF1bHQ7XHJcbiRhY3Rpb25zaGVldC1ib3JkZXItY29sb3I6ICNjY2MgIWRlZmF1bHQ7XHJcbiRhY3Rpb25zaGVldC1hbmltYXRlOiB0cmFuc2Zvcm0gb3BhY2l0eSAhZGVmYXVsdDtcclxuJGFjdGlvbnNoZWV0LWFuaW1hdGlvbi1zcGVlZDogMC4yNXMgIWRlZmF1bHQ7XHJcbiRhY3Rpb25zaGVldC13aWR0aDogMzAwcHggIWRlZmF1bHQ7XHJcbiRhY3Rpb25zaGVldC1yYWRpdXM6IDRweCAhZGVmYXVsdDtcclxuJGFjdGlvbnNoZWV0LXNoYWRvdzogMCAtM3B4IDEwcHggcmdiYShibGFjaywgMC4yNSkgIWRlZmF1bHQ7XHJcbiRhY3Rpb25zaGVldC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmcgIWRlZmF1bHQ7XHJcbiRhY3Rpb25zaGVldC10YWlsLXNpemU6IDEwcHggIWRlZmF1bHQ7XHJcblxyXG4kYWN0aW9uc2hlZXQtcG9wdXAtc2hhZG93OiAwIDAgMTBweCByZ2JhKGJsYWNrLCAwLjI1KSAhZGVmYXVsdDtcclxuXHJcbiRhY3Rpb25zaGVldC1saW5rLWNvbG9yOiAjMDAwICFkZWZhdWx0O1xyXG4kYWN0aW9uc2hlZXQtbGluay1iYWNrZ3JvdW5kLWhvdmVyOiBzbWFydHNjYWxlKCRhY3Rpb25zaGVldC1iYWNrZ3JvdW5kKSAhZGVmYXVsdDtcclxuLy8vXHJcblxyXG4vKlxyXG4gIFN0eWxlcyBmb3IgdGhlIGxpc3QgaW5zaWRlIGFuIGFjdGlvbiBzaGVldC5cclxuICBEb24ndCBpbmNsdWRlIHRoaXMgbWl4aW4gaWYgeW91IHdhbnQgdG8gYnVpbGQgY3VzdG9tIGNvbnRyb2xzIGluc2lkZSB0aGUgc2hlZXQuXHJcbiovXHJcbkBtaXhpbiBhY3Rpb24tc2hlZXQtbWVudShcclxuICAkcGFkZGluZzogJGFjdGlvbnNoZWV0LXBhZGRpbmcsXHJcbiAgJGNvbG9yOiAkYWN0aW9uc2hlZXQtbGluay1jb2xvcixcclxuICAkYm9yZGVyLWNvbG9yOiAkYWN0aW9uc2hlZXQtYm9yZGVyLWNvbG9yLFxyXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkYWN0aW9uc2hlZXQtbGluay1iYWNrZ3JvdW5kLWhvdmVyXHJcbikge1xyXG4gIC8vIE1lbnUgY29udGFpbmVyXHJcbiAgdWwge1xyXG4gICAgbWFyZ2luOiAtKCRwYWRkaW5nKTtcclxuICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XHJcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcclxuXHJcbiAgICAvLyBJZiB0aGUgbWVudSBoYXMgbm8gY29udGVudCBhYm92ZSBpdFxyXG4gICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgIG1hcmdpbi10b3A6IC0kcGFkZGluZztcclxuXHJcbiAgICAgIGxpOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICBib3JkZXItdG9wOiAwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gTWVudSBsaW5rc1xyXG4gICAgYSB7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICBwYWRkaW5nOiAkcGFkZGluZyAqIDAuODtcclxuICAgICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICAgIGNvbG9yOiAkY29sb3I7XHJcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xyXG5cclxuICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvcjtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZC1ob3ZlcjtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5hbGVydCA+IGEge1xyXG4gICAgICBjb2xvcjogJGFsZXJ0LWNvbG9yO1xyXG4gICAgfVxyXG4gICAgLmRpc2FibGVkID4gYSB7XHJcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgICBjb2xvcjogIzk5OTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8qXHJcbiAgU3R5bGVzIGZvciB0aGUgYWN0aW9uIHNoZWV0IGNvbnRhaW5lci4gQWN0aW9uIHNoZWV0cyBwaW4gdG8gdGhlIHRvcCBvciBib3R0b20gb2YgdGhlIHNjcmVlbi5cclxuKi9cclxuQG1peGluIGFjdGlvbi1zaGVldChcclxuICAkcG9zaXRpb246IGJvdHRvbSxcclxuICAkc2hhZG93OiAkYWN0aW9uc2hlZXQtc2hhZG93LFxyXG4gICRhbmltYXRlOiAkYWN0aW9uc2hlZXQtYW5pbWF0ZSxcclxuICAkYW5pbWF0aW9uLXNwZWVkOiAkYWN0aW9uc2hlZXQtYW5pbWF0aW9uLXNwZWVkLFxyXG4gICRwYWRkaW5nOiAkYWN0aW9uc2hlZXQtcGFkZGluZyxcclxuICAkYmFja2dyb3VuZDogJGFjdGlvbnNoZWV0LWJhY2tncm91bmRcclxuKSB7XHJcbiAgcG9zaXRpb246IGZpeGVkO1xyXG4gIGxlZnQ6IDA7XHJcbiAgei1pbmRleDogMTAwMDtcclxuICB3aWR0aDogMTAwJTtcclxuICBwYWRkaW5nOiAkcGFkZGluZztcclxuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogJGFuaW1hdGU7XHJcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogJGFuaW1hdGlvbi1zcGVlZDtcclxuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XHJcblxyXG4gIEBpZiBoYXN2YWx1ZSgkc2hhZG93KSB7XHJcbiAgICBib3gtc2hhZG93OiAkc2hhZG93O1xyXG4gIH1cclxuXHJcbiAgLy8gUG9zaXRpb25zXHJcbiAgQGlmICRwb3NpdGlvbiA9PSBib3R0b20ge1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpO1xyXG5cclxuICAgICYuaXMtYWN0aXZlIHtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKTtcclxuICAgIH1cclxuICB9XHJcbiAgLy8gVGhlc2UgdHdvIGRvbid0IHF1aXRlIHdvcmsgYXMgcGxhbm5lZCB5ZXRcclxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gdG9wIHtcclxuICAgIHRvcDogMDtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XHJcblxyXG4gICAgJi5pcy1hY3RpdmUge1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1peGluIHBvcHVwLW1lbnUoXHJcbiAgJHBvc2l0aW9uOiBib3R0b20sXHJcbiAgJGJhY2tncm91bmQ6ICRhY3Rpb25zaGVldC1iYWNrZ3JvdW5kLFxyXG4gICR3aWR0aDogJGFjdGlvbnNoZWV0LXdpZHRoLFxyXG4gICRyYWRpdXM6ICRhY3Rpb25zaGVldC1yYWRpdXMsXHJcbiAgJHNoYWRvdzogJGFjdGlvbnNoZWV0LXBvcHVwLXNoYWRvdyxcclxuICAkdGFpbC1zaXplOiAkYWN0aW9uc2hlZXQtdGFpbC1zaXplXHJcbikge1xyXG4gIC8qXHJcbiAgICBDb3JlIHN0eWxlc1xyXG4gICovXHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIGxlZnQ6IDUwJTtcclxuICB3aWR0aDogJHdpZHRoO1xyXG4gIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XHJcbiAgb3BhY2l0eTogMDtcclxuICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuXHJcbiAgLypcclxuICAgIE1lbnUgc2hhZG93XHJcbiAgKi9cclxuICBAaWYgaGFzdmFsdWUoJHNoYWRvdykge1xyXG4gICAgYm94LXNoYWRvdzogJHNoYWRvdztcclxuICB9XHJcblxyXG4gIC8qXHJcbiAgICBBY3RpdmUgc3RhdGVcclxuICAqL1xyXG4gICYuaXMtYWN0aXZlIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bztcclxuICB9XHJcblxyXG4gIC8qXHJcbiAgICBNZW51IHRhaWxcclxuICAqL1xyXG4gICY6OmJlZm9yZSwgJjo6YWZ0ZXIge1xyXG4gICAgY29udGVudDogJyc7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBsZWZ0OiA1MCU7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHdpZHRoOiAwcHg7XHJcbiAgICBoZWlnaHQ6IDBweDtcclxuICAgIGJvcmRlci1sZWZ0OiAkdGFpbC1zaXplIHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgYm9yZGVyLXJpZ2h0OiAkdGFpbC1zaXplIHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgbWFyZ2luLWxlZnQ6IC0oJHRhaWwtc2l6ZSk7XHJcbiAgfVxyXG5cclxuICAvKlxyXG4gICAgUG9zaXRpb25pbmdcclxuICAqL1xyXG4gIEBpZiAkcG9zaXRpb24gPT0gYm90dG9tIHtcclxuICAgIHRvcDogYXV0bztcclxuICAgIGJvdHRvbTogMDtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKDExMCUpO1xyXG4gICAgJi5pcy1hY3RpdmUge1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgxMDAlKTtcclxuICAgIH1cclxuXHJcbiAgICAmOjpiZWZvcmUsICY6OmFmdGVyIHtcclxuICAgICAgdG9wOiAtKCR0YWlsLXNpemUpO1xyXG4gICAgICBib3R0b206IGF1dG87XHJcbiAgICAgIGJvcmRlci10b3A6IDA7XHJcbiAgICAgIGJvcmRlci1ib3R0b206ICR0YWlsLXNpemUgc29saWQgJGJhY2tncm91bmQ7XHJcbiAgICB9XHJcbiAgICAmOjpiZWZvcmUge1xyXG4gICAgICB0b3A6IC0oJHRhaWwtc2l6ZSArIDIpO1xyXG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiByZ2JhKGJsYWNrLCAwLjE1KTtcclxuICAgIH1cclxuXHJcbiAgfVxyXG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSB0b3Age1xyXG4gICAgdG9wOiAwO1xyXG4gICAgYm90dG9tOiBhdXRvO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTEyMCUpO1xyXG4gICAgJi5pcy1hY3RpdmUge1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtMTEwJSk7XHJcbiAgICB9XHJcblxyXG4gICAgJjo6YmVmb3JlLCAmOjphZnRlciB7XHJcbiAgICAgIHRvcDogYXV0bztcclxuICAgICAgYm90dG9tOiAtKCR0YWlsLXNpemUpO1xyXG4gICAgICBib3JkZXItdG9wOiAkdGFpbC1zaXplIHNvbGlkICRiYWNrZ3JvdW5kO1xyXG4gICAgICBib3JkZXItYm90dG9tOiAwO1xyXG4gICAgfVxyXG4gICAgJjo6YmVmb3JlIHtcclxuICAgICAgYm90dG9tOiAtKCR0YWlsLXNpemUgKyAyKTtcclxuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogcmdiYShibGFjaywgMC4xNSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AaW5jbHVkZSBleHBvcnRzKGFjdGlvbi1zaGVldCkge1xyXG4gIC5hY3Rpb24tc2hlZXQtY29udGFpbmVyIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHJcbiAgICAuYnV0dG9uIHtcclxuICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcclxuICAgIH1cclxuICB9XHJcbiAgLmFjdGlvbi1zaGVldCB7XHJcbiAgICBAaW5jbHVkZSBhY3Rpb24tc2hlZXQ7XHJcbiAgICBAaW5jbHVkZSBhY3Rpb24tc2hlZXQtbWVudTtcclxuXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICBAaW5jbHVkZSBwb3B1cC1tZW51O1xyXG5cclxuICAgICAgJi50b3Age1xyXG4gICAgICAgIEBpbmNsdWRlIHBvcHVwLW1lbnUodG9wKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYucHJpbWFyeSB7XHJcbiAgICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xyXG4gICAgICBjb2xvcjogaXNpdGxpZ2h0KCRwcmltYXJ5LWNvbG9yKTtcclxuICAgICAgYm9yZGVyOiAwO1xyXG4gICAgICAmOjpiZWZvcmUgeyBkaXNwbGF5OiBub25lOyB9XHJcbiAgICAgICY6OmJlZm9yZSwgJjo6YWZ0ZXIgeyBib3JkZXItdG9wLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjsgfVxyXG4gICAgICAmLnRvcDo6YmVmb3JlLCAmLnRvcDo6YWZ0ZXIgeyBib3JkZXItYm90dG9tLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjsgfVxyXG5cclxuICAgICAgQGluY2x1ZGUgYWN0aW9uLXNoZWV0LW1lbnUoXHJcbiAgICAgICAgJGNvbG9yOiBpc2l0bGlnaHQoJHByaW1hcnktY29sb3IpLFxyXG4gICAgICAgICRib3JkZXItY29sb3I6IHNtYXJ0c2NhbGUoJHByaW1hcnktY29sb3IsIDEwJSksXHJcbiAgICAgICAgJGJhY2tncm91bmQtaG92ZXI6IHNtYXJ0c2NhbGUoJHByaW1hcnktY29sb3IpXHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgICAmLmRhcmsge1xyXG4gICAgICBiYWNrZ3JvdW5kOiAkZGFyay1jb2xvcjtcclxuICAgICAgY29sb3I6IGlzaXRsaWdodCgkZGFyay1jb2xvcik7XHJcbiAgICAgIGJvcmRlcjogMDtcclxuICAgICAgJjo6YmVmb3JlIHsgZGlzcGxheTogbm9uZTsgfVxyXG4gICAgICAmOjpiZWZvcmUsICY6OmFmdGVyIHsgYm9yZGVyLXRvcC1jb2xvcjogJGRhcmstY29sb3I7IH1cclxuICAgICAgJi50b3A6OmJlZm9yZSwgJi50b3A6OmFmdGVyIHsgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGRhcmstY29sb3I7IH1cclxuXHJcbiAgICAgIEBpbmNsdWRlIGFjdGlvbi1zaGVldC1tZW51KFxyXG4gICAgICAgICRjb2xvcjogaXNpdGxpZ2h0KCRkYXJrLWNvbG9yKSxcclxuICAgICAgICAkYm9yZGVyLWNvbG9yOiBzbWFydHNjYWxlKCRkYXJrLWNvbG9yLCAxMCUpLFxyXG4gICAgICAgICRiYWNrZ3JvdW5kLWhvdmVyOiBzbWFydHNjYWxlKCRkYXJrLWNvbG9yKVxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvKlxuICBGT1JNU1xuICAtLS0tLVxuXG4gIE91ciBmb3JtIHN0eWxlcyBpbmNsdWRlIGJhc2ljIHJlc2V0cyBmb3IgdGV4dCBmaWVsZHMsIHNlbGVjdCBtZW51cywgYW5kIHNvIG9uLCBhbG9uZyB3aXRoIHNvbWUgb2Ygb3VyIG93biBjdXN0b20gY29tcG9uZW50cy5cblxuICBJbmNsdWRlczpcbiAgIC0gVGV4dCBmaWVsZHNcbiAgIC0gVGV4dCBhcmVhc1xuICAgLSBTZWxlY3QgbWVudXNcbiAgIC0gQ2hlY2tib3hlcyBhbmQgcmFkaW8gYnV0dG9uc1xuICAgLSBSYW5nZSBzbGlkZXJcbiAgIC0gUHJvZ3Jlc3MgYmFycyBhbmQgbWV0ZXJzXG4qL1xuXG4vLy8gQEZvdW5kYXRpb24uc2V0dGluZ3Ncbi8vIEZvcm1zXG4vLyBCYXNpYyBmb3JtIHZhcmlhYmxlc1xuJGZvcm0tZm9udHNpemU6IDFyZW0gIWRlZmF1bHQ7XG4kZm9ybS1wYWRkaW5nOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vIFRleHQgZmllbGRzXG4kaW5wdXQtY29sb3I6ICMwMDAgIWRlZmF1bHQ7XG4kaW5wdXQtY29sb3ItaG92ZXI6ICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcbiRpbnB1dC1jb2xvci1mb2N1czogJGlucHV0LWNvbG9yICFkZWZhdWx0O1xuJGlucHV0LWJhY2tncm91bmQ6ICNmZmYgIWRlZmF1bHQ7XG4kaW5wdXQtYmFja2dyb3VuZC1ob3ZlcjogJGlucHV0LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW5wdXQtYmFja2dyb3VuZC1mb2N1czogJGlucHV0LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDogc21hcnRzY2FsZSgkaW5wdXQtYmFja2dyb3VuZCkgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyOiAxcHggc29saWQgI2NjYyAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItaG92ZXI6IDFweCBzb2xpZCAjYmJiICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1mb2N1czogMXB4IHNvbGlkICM5OTkgIWRlZmF1bHQ7XG4kaW5wdXQtY3Vyc29yLWRpc2FibGVkOiBub3QtYWxsb3dlZCAhZGVmYXVsdDtcblxuLy8gU2VsZWN0IG1lbnVzXG4kc2VsZWN0LWNvbG9yOiAjMDAwICFkZWZhdWx0O1xuJHNlbGVjdC1iYWNrZ3JvdW5kOiAjZmFmYWZhICFkZWZhdWx0O1xuJHNlbGVjdC1iYWNrZ3JvdW5kLWhvdmVyOiBzbWFydHNjYWxlKCRzZWxlY3QtYmFja2dyb3VuZCwgNCUpICFkZWZhdWx0O1xuJHNlbGVjdC1hcnJvdzogdHJ1ZSAhZGVmYXVsdDtcbiRzZWxlY3QtYXJyb3ctY29sb3I6ICRzZWxlY3QtY29sb3IgIWRlZmF1bHQ7XG5cbi8vIExhYmVsc1xuJGZvcm0tbGFiZWwtZm9udHNpemU6IDAuOXJlbSAhZGVmYXVsdDtcbiRmb3JtLWxhYmVsLW1hcmdpbjogMC41cmVtICFkZWZhdWx0O1xuJGZvcm0tbGFiZWwtY29sb3I6ICMzMzMgIWRlZmF1bHQ7XG5cbi8vIElubGluZSBsYWJlbHNcbiRpbmxpbmVsYWJlbC1jb2xvcjogIzMzMyAhZGVmYXVsdDtcbiRpbmxpbmVsYWJlbC1iYWNrZ3JvdW5kOiAjZWVlICFkZWZhdWx0O1xuJGlubGluZWxhYmVsLWJvcmRlcjogJGlucHV0LWJvcmRlciAhZGVmYXVsdDtcblxuLy8gUmFuZ2Ugc2xpZGVyXG4kc2xpZGVyLWJhY2tncm91bmQ6ICNkZGQgIWRlZmF1bHQ7XG4kc2xpZGVyLWhlaWdodDogMXJlbSAhZGVmYXVsdDtcbiRzbGlkZXItcmFkaXVzOiAwcHggIWRlZmF1bHQ7XG4kc2xpZGVyLXRodW1iLWhlaWdodDogMS41cmVtICFkZWZhdWx0O1xuJHNsaWRlci10aHVtYi1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG4kc2xpZGVyLXRodW1iLXJhZGl1czogMHB4ICFkZWZhdWx0O1xuXG4vLyBQcm9ncmVzcyBhbmQgbWV0ZXJcbiRtZXRlci1oZWlnaHQ6IDEuNXJlbSAhZGVmYXVsdDtcbiRtZXRlci1iYWNrZ3JvdW5kOiAjY2NjICFkZWZhdWx0O1xuJG1ldGVyLWZpbGw6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuJG1ldGVyLWZpbGwtaGlnaDogJHN1Y2Nlc3MtY29sb3IgIWRlZmF1bHQ7XG4kbWV0ZXItZmlsbC1tZWRpdW06ICNlN2NmMDAgIWRlZmF1bHQ7XG4kbWV0ZXItZmlsbC1sb3c6ICRhbGVydC1jb2xvciAhZGVmYXVsdDtcbiRtZXRlci1yYWRpdXM6IDAgIWRlZmF1bHQ7XG4vLy9cblxuLy8gRGlzYWJsZSBPUy1sZXZlbCBzdHlsZXNcbkBtaXhpbiBuby1hcHBlYXJhbmNlIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8vIFRleHQgZmllbGRzXG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG4jeyR0ZXh0LWlucHV0LXNlbGVjdG9yc30ge1xuICAkdG9wLXBhZGRpbmc6IGdldC1zaWRlKCRmb3JtLXBhZGRpbmcsIHRvcCk7XG4gICRib3R0b20tcGFkZGluZzogZ2V0LXNpZGUoJGZvcm0tcGFkZGluZywgYm90dG9tKTtcbiAgJGhlaWdodDogKCRmb3JtLWZvbnRzaXplICogMS40KSArICR0b3AtcGFkZGluZyArICRib3R0b20tcGFkZGluZztcblxuICBAaW5jbHVkZSBuby1hcHBlYXJhbmNlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogJGhlaWdodDtcbiAgcGFkZGluZzogJGZvcm0tcGFkZGluZztcbiAgbWFyZ2luOiAwIDAgJGdsb2JhbC1wYWRkaW5nIDA7XG4gIGJvcmRlcjogJGlucHV0LWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZDogJGlucHV0LWJhY2tncm91bmQ7XG4gIGNvbG9yOiAkaW5wdXQtY29sb3I7XG4gIGZvbnQtc2l6ZTogJGZvcm0tZm9udHNpemU7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICY6aG92ZXIge1xuICAgIGJvcmRlcjogJGlucHV0LWJvcmRlci1ob3ZlcjtcbiAgICBiYWNrZ3JvdW5kOiAkaW5wdXQtYmFja2dyb3VuZC1ob3ZlcjtcbiAgICBjb2xvcjogJGlucHV0LWNvbG9yLWhvdmVyO1xuICB9XG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG4gICAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyLWZvY3VzO1xuICAgIGJhY2tncm91bmQ6ICRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzO1xuICAgIGNvbG9yOiAkaW5wdXQtY29sb3ItZm9jdXM7XG4gIH1cblxuICBsYWJlbCA+ICYge1xuICAgIG1hcmdpbi10b3A6ICRmb3JtLWxhYmVsLW1hcmdpbjtcbiAgfVxufVxuXG4vLyBPdmVycmlkZSB0aGUgY29udGVudC1ib3ggZGVjbGFyYXRpb24gc2V0IGJ5IE5vcm1hbGl6ZVxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi8vIERpc2FibGVkIHN0YXRlXG5pbnB1dCB7XG4gICYuZGlzYWJsZWQsXG4gICZbZGlzYWJsZWRdLFxuICAmW3JlYWRvbmx5XSxcbiAgZmllbGRzZXRbZGlzYWJsZWRdICYge1xuICAgIGN1cnNvcjogJGlucHV0LWN1cnNvci1kaXNhYmxlZDtcblxuICAgICYsICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ7XG4gICAgfVxuICB9XG59XG5cbi8vIExhYmVsc1xuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxubGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAkZm9ybS1sYWJlbC1mb250c2l6ZTtcbiAgbWFyZ2luLWJvdHRvbTogJGZvcm0tbGFiZWwtbWFyZ2luO1xuICBjb2xvcjogJGZvcm0tbGFiZWwtY29sb3I7XG5cbiAgPiBpbnB1dCwgPiB0ZXh0YXJlYSB7XG4gICAgbWFyZ2luLXRvcDogJGZvcm0tbGFiZWwtbWFyZ2luO1xuICB9XG59XG5cbi8vIENoZWNrYm94L3JhZGlvIGJ1dHRvbnNcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSwgaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgd2lkdGg6IDFyZW07XG4gIGhlaWdodDogMXJlbTtcblxuICAvLyBJbnB1dCBpbnNpZGUgb2YgYSBsYWJlbFxuICBsYWJlbCA+ICYge1xuICAgIG1hcmdpbi1yaWdodDogJGZvcm0tcGFkZGluZyAqIDAuNTtcbiAgfVxuXG4gIC8vIElucHV0IG5leHQgdG8gYSBsYWJlbFxuICAmICsgbGFiZWwge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tbGVmdDogJGZvcm0tcGFkZGluZztcbiAgICBtYXJnaW4tcmlnaHQ6ICRmb3JtLXBhZGRpbmcgKiAyO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICB9XG59XG5cbi8vIElubGluZSBsYWJlbHNcbi8vIElubGluZSBsYWJlbHMgYWxsb3cgeW91IHRvIHByZWZpeCBvciBwb3N0Zml4IHNwZWNpYWwgbGFiZWxzIHRvIGlucHV0c1xuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuLmlubGluZS1sYWJlbCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIG1hcmdpbi1ib3R0b206ICRnbG9iYWwtcGFkZGluZztcblxuICAvLyBJbWl0YXRlcyB0aGUgdG9wIG1hcmdpbiBvbiBub3JtYWwgaW5wdXRzXG4gIGxhYmVsID4gJiB7XG4gICAgbWFyZ2luLXRvcDogJGZvcm0tbGFiZWwtbWFyZ2luO1xuICB9XG5cbiAgLy8gSW5wdXRzIHN0cmV0Y2ggYWxsIHRoZSB3YXkgb3V0XG4gID4gaW5wdXQsID4gc2VsZWN0IHtcbiAgICBmbGV4OiAxO1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIC8vIElubGluZSBsYWJlbHMgYW5kIGJ1dHRvbnMgc2hyaW5rXG4gID4gLmZvcm0tbGFiZWwge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIGJhY2tncm91bmQ6ICRpbmxpbmVsYWJlbC1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkaW5saW5lbGFiZWwtY29sb3I7XG4gICAgYm9yZGVyOiAkaW5saW5lbGFiZWwtYm9yZGVyO1xuICAgIHBhZGRpbmc6IDAgJGZvcm0tcGFkZGluZztcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAmOmZpcnN0LWNoaWxkIHsgYm9yZGVyLXJpZ2h0OiAwOyB9XG4gICAgJjpsYXN0LWNoaWxkICB7IGJvcmRlci1sZWZ0OiAwOyB9XG4gIH1cbiAgLy8gQnV0dG9ucyBhbHNvIHNocmlua1xuICA+IGEsXG4gID4gYnV0dG9uLFxuICA+IGlucHV0W3R5cGU9XCJidXR0b25cIl0sXG4gID4gaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICB9XG59XG5cbi8vIFRleHQgYXJlYXNcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cbnRleHRhcmVhIHtcbiAgaGVpZ2h0OiBhdXRvO1xuICB3aWR0aDogMTAwJTtcbiAgbWluLWhlaWdodDogNTBweDtcbn1cblxuLy8gU2VsZWN0IG1lbnVzXG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG5zZWxlY3Qge1xuICAkdG9wLXBhZGRpbmc6IGdldC1zaWRlKCRmb3JtLXBhZGRpbmcsIHRvcCk7XG4gICRib3R0b20tcGFkZGluZzogZ2V0LXNpZGUoJGZvcm0tcGFkZGluZywgYm90dG9tKTtcbiAgJGhlaWdodDogKCRmb3JtLWZvbnRzaXplICogMS40KSArICR0b3AtcGFkZGluZyArICRib3R0b20tcGFkZGluZztcbiAgJGNvbG9yOiBpc2l0bGlnaHQoJHNlbGVjdC1iYWNrZ3JvdW5kKTtcblxuICBAaW5jbHVkZSBuby1hcHBlYXJhbmNlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogJGhlaWdodDtcbiAgcGFkZGluZzogJGZvcm0tcGFkZGluZztcbiAgbWFyZ2luOiAwIDAgJGdsb2JhbC1wYWRkaW5nIDA7XG4gIGZvbnQtc2l6ZTogJGZvcm0tZm9udHNpemU7XG4gIGNvbG9yOiAkc2VsZWN0LWNvbG9yO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBib3JkZXI6ICRpbnB1dC1ib3JkZXI7XG5cbiAgQGlmICRzZWxlY3QtYXJyb3cge1xuICAgIGJhY2tncm91bmQ6ICRzZWxlY3QtYmFja2dyb3VuZCB1cmwoaW1hZ2UtdHJpYW5nbGUoJHNlbGVjdC1hcnJvdy1jb2xvcikpIHJpZ2h0IDEwcHggY2VudGVyIG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDhweCA4cHg7XG4gICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoMThweCkgKyAkZm9ybS1wYWRkaW5nO1xuICB9XG4gIEBlbHNlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2VsZWN0LWJhY2tncm91bmRcbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWxlY3QtYmFja2dyb3VuZC1ob3ZlcjtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIGRyb3Bkb3duIGFycm93IGFkZGVkIGluIElFMTAvMTFcbiAgJjo6LW1zLWV4cGFuZCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4vLyBSYW5nZSBzbGlkZXJcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cbmlucHV0W3R5cGU9XCJyYW5nZVwiXSB7XG4gICRtYXJnaW46ICgkc2xpZGVyLXRodW1iLWhlaWdodCAtICRzbGlkZXItaGVpZ2h0KSAvIDI7XG5cbiAgQGluY2x1ZGUgbm8tYXBwZWFyYW5jZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgbWFyZ2luLXRvcDogJG1hcmdpbjtcbiAgbWFyZ2luLWJvdHRvbTogJG1hcmdpbjtcbiAgYm9yZGVyOiAwO1xuICBsaW5lLWhlaWdodDogMTtcblxuICBAaWYgaGFzdmFsdWUoJHNsaWRlci1yYWRpdXMpIHtcbiAgICBib3JkZXItcmFkaXVzOiAkc2xpZGVyLXJhZGl1cztcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cblxuICAvLyBDaHJvbWUvU2FmYXJpXG4gICY6Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNrIHtcbiAgICBoZWlnaHQ6ICRzbGlkZXItaGVpZ2h0O1xuICAgIGJhY2tncm91bmQ6ICRzbGlkZXItYmFja2dyb3VuZDtcbiAgfVxuICAmOjotd2Via2l0LXNsaWRlci10aHVtYiB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIGJhY2tncm91bmQ6ICRzbGlkZXItdGh1bWItY29sb3I7XG4gICAgd2lkdGg6ICRzbGlkZXItdGh1bWItaGVpZ2h0O1xuICAgIGhlaWdodDogJHNsaWRlci10aHVtYi1oZWlnaHQ7XG4gICAgbWFyZ2luLXRvcDogLSRtYXJnaW47XG4gICAgQGlmIGhhc3ZhbHVlKCRzbGlkZXItdGh1bWItcmFkaXVzKSB7XG4gICAgICBib3JkZXItcmFkaXVzOiAkc2xpZGVyLXRodW1iLXJhZGl1cztcbiAgICB9XG4gIH1cbiAgLy8gRmlyZWZveFxuICAmOjotbW96LXJhbmdlLXRyYWNrIHtcbiAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgaGVpZ2h0OiAkc2xpZGVyLWhlaWdodDtcbiAgICBiYWNrZ3JvdW5kOiAjY2NjO1xuICB9XG4gICY6Oi1tb3otcmFuZ2UtdGh1bWIge1xuICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiAkc2xpZGVyLXRodW1iLWNvbG9yO1xuICAgIHdpZHRoOiAkc2xpZGVyLXRodW1iLWhlaWdodDtcbiAgICBoZWlnaHQ6ICRzbGlkZXItdGh1bWItaGVpZ2h0O1xuICAgIG1hcmdpbi10b3A6IC0kbWFyZ2luO1xuICAgIEBpZiBoYXN2YWx1ZSgkc2xpZGVyLXRodW1iLXJhZGl1cykge1xuICAgICAgYm9yZGVyLXJhZGl1czogJHNsaWRlci10aHVtYi1yYWRpdXM7XG4gICAgfVxuICB9XG4gIC8vIEludGVybmV0IEV4cGxvcmVyXG4gICY6Oi1tcy10cmFjayB7XG4gICAgaGVpZ2h0OiAkc2xpZGVyLWhlaWdodDtcbiAgICBiYWNrZ3JvdW5kOiAkc2xpZGVyLWJhY2tncm91bmQ7XG4gICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogMDtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICBib3JkZXItdG9wOiAkbWFyZ2luIHNvbGlkICRib2R5LWJhY2tncm91bmQ7XG4gICAgYm9yZGVyLWJvdHRvbTogJG1hcmdpbiBzb2xpZCAkYm9keS1iYWNrZ3JvdW5kO1xuICB9XG4gICY6Oi1tcy10aHVtYiB7XG4gICAgYmFja2dyb3VuZDogJHNsaWRlci10aHVtYi1jb2xvcjtcbiAgICB3aWR0aDogJHNsaWRlci10aHVtYi1oZWlnaHQ7XG4gICAgaGVpZ2h0OiAkc2xpZGVyLXRodW1iLWhlaWdodDtcbiAgICBib3JkZXI6IDA7XG4gICAgQGlmIGhhc3ZhbHVlKCRzbGlkZXItdGh1bWItcmFkaXVzKSB7XG4gICAgICBib3JkZXItcmFkaXVzOiAkc2xpZGVyLXRodW1iLXJhZGl1cztcbiAgICB9XG4gIH1cbiAgJjo6LW1zLWZpbGwtbG93ZXIsICY6Oi1tcy1maWxsLXVwcGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAkc2xpZGVyLWJhY2tncm91bmQ7XG4gIH1cbn1cbm91dHB1dCB7XG4gIGxpbmUtaGVpZ2h0OiAkc2xpZGVyLXRodW1iLWhlaWdodDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWFyZ2luLWxlZnQ6IDAuNWVtO1xufVxuXG4vLyBOdW1iZXIgaW5wdXRzXG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdIHtcbiAgJjo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbiB7XG5cbiAgfVxuICAmOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4gIH1cbn1cblxuLy8gUHJvZ3Jlc3MgYW5kIG1ldGVyXG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG5wcm9ncmVzcywgbWV0ZXIge1xuICBAaW5jbHVkZSBuby1hcHBlYXJhbmNlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogJG1ldGVyLWhlaWdodDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcblxuICBAaWYgaGFzdmFsdWUoJG1ldGVyLXJhZGl1cykge1xuICAgIGJvcmRlci1yYWRpdXM6ICRtZXRlci1yYWRpdXM7XG4gIH1cblxuICAvLyBGb3IgRmlyZWZveFxuICBiYWNrZ3JvdW5kOiAkbWV0ZXItYmFja2dyb3VuZDtcbiAgYm9yZGVyOiAwO1xufVxuXG5wcm9ncmVzcyB7XG4gICY6Oi13ZWJraXQtcHJvZ3Jlc3MtYmFyIHtcbiAgICBiYWNrZ3JvdW5kOiAkbWV0ZXItYmFja2dyb3VuZDtcbiAgICBAaWYgaGFzdmFsdWUoJG1ldGVyLXJhZGl1cykge1xuICAgICAgYm9yZGVyLXJhZGl1czogJG1ldGVyLXJhZGl1cztcbiAgICB9XG4gIH1cbiAgJjo6LXdlYmtpdC1wcm9ncmVzcy12YWx1ZSB7XG4gICAgYmFja2dyb3VuZDogJG1ldGVyLWZpbGw7XG4gICAgQGlmIGhhc3ZhbHVlKCRtZXRlci1yYWRpdXMpIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRtZXRlci1yYWRpdXM7XG4gICAgfVxuICB9XG4gICY6Oi1tb3otcHJvZ3Jlc3MtYmFyIHtcbiAgICBiYWNrZ3JvdW5kOiAkbWV0ZXItZmlsbDtcbiAgICBAaWYgaGFzdmFsdWUoJG1ldGVyLXJhZGl1cykge1xuICAgICAgYm9yZGVyLXJhZGl1czogJG1ldGVyLXJhZGl1cztcbiAgICB9XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluIChoaWdoOiAkbWV0ZXItZmlsbC1oaWdoLCBtZWRpdW06ICRtZXRlci1maWxsLW1lZGl1bSwgbG93OiAkbWV0ZXItZmlsbC1sb3cpIHtcbiAgICAmLiN7JG5hbWV9IHtcbiAgICAgICY6Oi13ZWJraXQtcHJvZ3Jlc3MtdmFsdWUge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgICB9XG4gICAgICAmOjotbW96LXByb2dyZXNzLWJhciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbm1ldGVyIHtcbiAgLy8gQ2hyb21lL1NhZmFyaVxuICAmOjotd2Via2l0LW1ldGVyLWJhciB7XG4gICAgYmFja2dyb3VuZDogJG1ldGVyLWJhY2tncm91bmQ7XG4gICAgQGlmIGhhc3ZhbHVlKCRtZXRlci1yYWRpdXMpIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRtZXRlci1yYWRpdXM7XG4gICAgfVxuICB9XG4gICY6Oi13ZWJraXQtbWV0ZXItaW5uZXItZWxlbWVudCB7XG4gICAgQGlmIGhhc3ZhbHVlKCRtZXRlci1yYWRpdXMpIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRtZXRlci1yYWRpdXM7XG4gICAgfVxuICB9XG4gICY6Oi13ZWJraXQtbWV0ZXItb3B0aW11bS12YWx1ZSB7XG4gICAgYmFja2dyb3VuZDogJG1ldGVyLWZpbGwtaGlnaDtcbiAgICBAaWYgaGFzdmFsdWUoJG1ldGVyLXJhZGl1cykge1xuICAgICAgYm9yZGVyLXJhZGl1czogJG1ldGVyLXJhZGl1cztcbiAgICB9XG4gIH1cbiAgJjo6LXdlYmtpdC1tZXRlci1zdWJvcHRpbXVtLXZhbHVlIHtcbiAgICBiYWNrZ3JvdW5kOiAkbWV0ZXItZmlsbC1tZWRpdW07XG4gICAgQGlmIGhhc3ZhbHVlKCRtZXRlci1yYWRpdXMpIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRtZXRlci1yYWRpdXM7XG4gICAgfVxuICB9XG4gICY6Oi13ZWJraXQtbWV0ZXItZXZlbi1sZXNzLWdvb2QtdmFsdWUge1xuICAgIGJhY2tncm91bmQ6ICRtZXRlci1maWxsLWxvdztcbiAgICBAaWYgaGFzdmFsdWUoJG1ldGVyLXJhZGl1cykge1xuICAgICAgYm9yZGVyLXJhZGl1czogJG1ldGVyLXJhZGl1cztcbiAgICB9XG4gIH1cblxuICAvLyBGaXJlZm94XG4gIGJhY2tncm91bmQ6ICRtZXRlci1iYWNrZ3JvdW5kO1xuICAmOjotbW96LW1ldGVyLWJhciB7XG4gICAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4gICAgQGlmIGhhc3ZhbHVlKCRtZXRlci1yYWRpdXMpIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRtZXRlci1yYWRpdXM7XG4gICAgfVxuICB9XG4gICY6LW1vei1tZXRlci1vcHRpbXVtOjotbW96LW1ldGVyLWJhciB7XG4gICAgYmFja2dyb3VuZDogJG1ldGVyLWZpbGwtaGlnaDtcbiAgfVxuICAmOi1tb3otbWV0ZXItc3ViLW9wdGltdW06Oi1tb3otbWV0ZXItYmFyIHtcbiAgICBiYWNrZ3JvdW5kOiAkbWV0ZXItZmlsbC1tZWRpdW07XG4gIH1cbiAgJjotbW96LW1ldGVyLXN1Yi1zdWItb3B0aW11bTo6LW1vei1tZXRlci1iYXIge1xuICAgIGJhY2tncm91bmQ6ICRtZXRlci1maWxsLWxvdztcbiAgfVxufVxuIiwiLypcclxuICBUWVBPR1JBUEhZXHJcbiAgLS0tLS0tLS0tLVxyXG5cclxuICBJbmNsdWRlcyB0eXBvZ3JhcGhpYyByZXNldHMgZm9yIG1hbnkgY29tbW9uIGVsZW1lbnRzLCBhbmQgYSBmZXcgaGVscGVyIGNsYXNzZXMuXHJcbiAgIC0gSGVhZGVyc1xyXG4gICAtIFN1YmhlYWRlcnNcclxuICAgLSBMZWFkIHBhcmFncmFwaHNcclxuICAgLSBPcmRlcmVkL3Vub3JkZXJlZCBsaXN0c1xyXG4gICAtIENvZGUgc2FtcGxlc1xyXG4gICAtIEFuY2hvcnNcclxuICAgLSBEaXZpZGVyc1xyXG4gICAtIEJsb2NrcXVvdGVzXHJcbiAgIC0gQWNyb255bXNcclxuKi9cclxuXHJcbi8vLyBARm91bmRhdGlvbi5zZXR0aW5nc1xyXG4vLyBUeXBvZ3JhcGh5XHJcbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIGhlYWRlciBmb250IHN0eWxlc1xyXG4kaGVhZGVyLWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseSAhZGVmYXVsdDtcclxuJGhlYWRlci1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcclxuJGhlYWRlci1mb250LXN0eWxlOiAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xyXG4kaGVhZGVyLWZvbnQtY29sb3I6ICMyMjIgIWRlZmF1bHQ7XHJcbiRoZWFkZXItbGluZS1oZWlnaHQ6IDEuNCAhZGVmYXVsdDtcclxuJGhlYWRlci10b3AtbWFyZ2luOiAuMnJlbSAhZGVmYXVsdDtcclxuJGhlYWRlci1ib3R0b20tbWFyZ2luOiAuNXJlbSAhZGVmYXVsdDtcclxuJGhlYWRlci10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5ICFkZWZhdWx0O1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgaGVhZGVyIGZvbnQgc2l6ZXNcclxuJGgxLWZvbnQtc2l6ZTogcmVtLWNhbGMoNDQpICFkZWZhdWx0O1xyXG4kaDItZm9udC1zaXplOiByZW0tY2FsYygzNykgIWRlZmF1bHQ7XHJcbiRoMy1mb250LXNpemU6IHJlbS1jYWxjKDI3KSAhZGVmYXVsdDtcclxuJGg0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMjMpICFkZWZhdWx0O1xyXG4kaDUtZm9udC1zaXplOiByZW0tY2FsYygxOCkgIWRlZmF1bHQ7XHJcbiRoNi1mb250LXNpemU6IDFyZW0gIWRlZmF1bHQ7XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBoZWFkZXIgc2l6ZSByZWR1Y3Rpb24gb24gc21hbGwgc2NyZWVuc1xyXG4kaDEtZm9udC1yZWR1Y3Rpb246IHJlbS1jYWxjKDEwKSAhZGVmYXVsdDtcclxuJGgyLWZvbnQtcmVkdWN0aW9uOiByZW0tY2FsYygxMCkgIWRlZmF1bHQ7XHJcbiRoMy1mb250LXJlZHVjdGlvbjogcmVtLWNhbGMoNSkgIWRlZmF1bHQ7XHJcbiRoNC1mb250LXJlZHVjdGlvbjogcmVtLWNhbGMoNSkgIWRlZmF1bHQ7XHJcbiRoNS1mb250LXJlZHVjdGlvbjogMCAhZGVmYXVsdDtcclxuJGg2LWZvbnQtcmVkdWN0aW9uOiAwICFkZWZhdWx0O1xyXG5cclxuLy8gVGhlc2UgY29udHJvbCBob3cgc3ViaGVhZGVycyBhcmUgc3R5bGVkLlxyXG4kc3ViaGVhZGVyLWxpbmUtaGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XHJcbiRzdWJoZWFkZXItZm9udC1jb2xvcjogc2NhbGUtY29sb3IoJGhlYWRlci1mb250LWNvbG9yLCAkbGlnaHRuZXNzOiAzNSUpICFkZWZhdWx0O1xyXG4kc3ViaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xyXG4kc3ViaGVhZGVyLXRvcC1tYXJnaW46IC4ycmVtICFkZWZhdWx0O1xyXG4kc3ViaGVhZGVyLWJvdHRvbS1tYXJnaW46IC41cmVtICFkZWZhdWx0O1xyXG5cclxuLy8gQSBnZW5lcmFsIDxzbWFsbD4gc3R5bGluZ1xyXG4kc21hbGwtZm9udC1zaXplOiA2MCUgIWRlZmF1bHQ7XHJcbiRzbWFsbC1mb250LWNvbG9yOiBzY2FsZS1jb2xvcigkaGVhZGVyLWZvbnQtY29sb3IsICRsaWdodG5lc3M6IDM1JSkgIWRlZmF1bHQ7XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgcGFyYWdyYXBoc1xyXG4kcGFyYWdyYXBoLWZvbnQtZmFtaWx5OiBpbmhlcml0ICFkZWZhdWx0O1xyXG4kcGFyYWdyYXBoLWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xyXG4kcGFyYWdyYXBoLWZvbnQtc2l6ZTogMXJlbSAhZGVmYXVsdDtcclxuJHBhcmFncmFwaC1saW5lLWhlaWdodDogMS42ICFkZWZhdWx0O1xyXG4kcGFyYWdyYXBoLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKSAhZGVmYXVsdDtcclxuJHBhcmFncmFwaC1hc2lkZS1mb250LXNpemU6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcclxuJHBhcmFncmFwaC1hc2lkZS1saW5lLWhlaWdodDogMS4zNSAhZGVmYXVsdDtcclxuJHBhcmFncmFwaC1hc2lkZS1mb250LXN0eWxlOiBpdGFsaWMgIWRlZmF1bHQ7XHJcbiRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eSAhZGVmYXVsdDtcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSA8Y29kZT4gdGFnc1xyXG4kY29kZS1jb2xvcjogZ3JheXNjYWxlKCRwcmltYXJ5LWNvbG9yKSAhZGVmYXVsdDtcclxuJGNvZGUtZm9udC1mYW1pbHk6IENvbnNvbGFzLCAnTGliZXJhdGlvbiBNb25vJywgQ291cmllciwgbW9ub3NwYWNlICFkZWZhdWx0O1xyXG4kY29kZS1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcclxuJGNvZGUtYmFja2dyb3VuZC1jb2xvcjogc2NhbGUtY29sb3IoJHNlY29uZGFyeS1jb2xvciwgJGxpZ2h0bmVzczogNzAlKSAhZGVmYXVsdDtcclxuJGNvZGUtYm9yZGVyLXNpemU6IDFweCAhZGVmYXVsdDtcclxuJGNvZGUtYm9yZGVyLXN0eWxlOiBzb2xpZCAhZGVmYXVsdDtcclxuJGNvZGUtYm9yZGVyLWNvbG9yOiBzY2FsZS1jb2xvcigkY29kZS1iYWNrZ3JvdW5kLWNvbG9yLCAkbGlnaHRuZXNzOiAtMTAlKSAhZGVmYXVsdDtcclxuJGNvZGUtcGFkZGluZzogcmVtLWNhbGMoMikgcmVtLWNhbGMoNSkgcmVtLWNhbGMoMSkgIWRlZmF1bHQ7XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgYW5jaG9yc1xyXG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbjogbm9uZSAhZGVmYXVsdDtcclxuJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI6IG5vbmUgIWRlZmF1bHQ7XHJcbiRhbmNob3ItZm9udC1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XHJcbiRhbmNob3ItZm9udC1jb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGFuY2hvci1mb250LWNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKSAhZGVmYXVsdDtcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSB0aGUgPGhyPiBlbGVtZW50XHJcbiRoci1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcclxuJGhyLWJvcmRlci1zdHlsZTogc29saWQgIWRlZmF1bHQ7XHJcbiRoci1ib3JkZXItY29sb3I6ICNkZGQgIWRlZmF1bHQ7XHJcbiRoci1tYXJnaW46IHJlbS1jYWxjKDIwKSAhZGVmYXVsdDtcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSBsaXN0c1xyXG4kbGlzdC1mb250LWZhbWlseTogJHBhcmFncmFwaC1mb250LWZhbWlseSAhZGVmYXVsdDtcclxuJGxpc3QtZm9udC1zaXplOiAkcGFyYWdyYXBoLWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuJGxpc3QtbGluZS1oZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XHJcbiRsaXN0LW1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbSAhZGVmYXVsdDtcclxuJGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGUgIWRlZmF1bHQ7XHJcbiRsaXN0LXNpZGUtbWFyZ2luOiAxLjFyZW0gIWRlZmF1bHQ7XHJcbiRsaXN0LW9yZGVyZWQtc2lkZS1tYXJnaW46IDEuNHJlbSAhZGVmYXVsdDtcclxuJGxpc3Qtc2lkZS1tYXJnaW4tbm8tYnVsbGV0OiAwICFkZWZhdWx0O1xyXG4kbGlzdC1uZXN0ZWQtbWFyZ2luOiByZW0tY2FsYygyMCkgIWRlZmF1bHQ7XHJcbiRkZWZpbml0aW9uLWxpc3QtaGVhZGVyLXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XHJcbiRkZWZpbml0aW9uLWxpc3QtaGVhZGVyLW1hcmdpbi1ib3R0b206IC4zcmVtICFkZWZhdWx0O1xyXG4kZGVmaW5pdGlvbi1saXN0LW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSBibG9ja3F1b3Rlc1xyXG4kYmxvY2txdW90ZS1mb250LWNvbG9yOiBzY2FsZS1jb2xvcigkaGVhZGVyLWZvbnQtY29sb3IsICRsaWdodG5lc3M6IDM1JSkgIWRlZmF1bHQ7XHJcbiRibG9ja3F1b3RlLXBhZGRpbmc6IHJlbS1jYWxjKDkgMjAgMCAxOSkgIWRlZmF1bHQ7XHJcbiRibG9ja3F1b3RlLWJvcmRlcjogMXB4IHNvbGlkICNkZGQgIWRlZmF1bHQ7XHJcbiRibG9ja3F1b3RlLWNpdGUtZm9udC1zaXplOiByZW0tY2FsYygxMykgIWRlZmF1bHQ7XHJcbiRibG9ja3F1b3RlLWNpdGUtZm9udC1jb2xvcjogc2NhbGUtY29sb3IoJGhlYWRlci1mb250LWNvbG9yLCAkbGlnaHRuZXNzOiAyMyUpICFkZWZhdWx0O1xyXG4kYmxvY2txdW90ZS1jaXRlLWxpbmstY29sb3I6ICRibG9ja3F1b3RlLWNpdGUtZm9udC1jb2xvciAhZGVmYXVsdDtcclxuXHJcbi8vIEFjcm9ueW0gc3R5bGVzXHJcbiRhY3JvbnltLXVuZGVybGluZTogMXB4IGRvdHRlZCAjZGRkICFkZWZhdWx0O1xyXG4vLy9cclxuXHJcbkBtaXhpbiBsZWFkIHtcclxuICBmb250LXNpemU6ICRwYXJhZ3JhcGgtZm9udC1zaXplICsgcmVtLWNhbGMoMy41KTtcclxuICBsaW5lLWhlaWdodDogMS42O1xyXG59XHJcblxyXG5AbWl4aW4gc3ViaGVhZGVyIHtcclxuICBsaW5lLWhlaWdodDogJHN1YmhlYWRlci1saW5lLWhlaWdodDtcclxuICBjb2xvcjogJHN1YmhlYWRlci1mb250LWNvbG9yO1xyXG4gIGZvbnQtd2VpZ2h0OiAkc3ViaGVhZGVyLWZvbnQtd2VpZ2h0O1xyXG4gIG1hcmdpbi10b3A6ICRzdWJoZWFkZXItdG9wLW1hcmdpbjtcclxuICBtYXJnaW4tYm90dG9tOiAkc3ViaGVhZGVyLWJvdHRvbS1tYXJnaW47XHJcbn1cclxuXHJcbkBpbmNsdWRlIGV4cG9ydHModHlwb2dyYXBoeSkge1xyXG4gIC8qIFR5cG9ncmFwaHkgcmVzZXRzICovXHJcbiAgZGl2LFxyXG4gIGRsLFxyXG4gIGR0LFxyXG4gIGRkLFxyXG4gIHVsLFxyXG4gIG9sLFxyXG4gIGxpLFxyXG4gIGgxLFxyXG4gIGgyLFxyXG4gIGgzLFxyXG4gIGg0LFxyXG4gIGg1LFxyXG4gIGg2LFxyXG4gIHByZSxcclxuICBmb3JtLFxyXG4gIHAsXHJcbiAgYmxvY2txdW90ZSxcclxuICB0aCxcclxuICB0ZCB7XHJcbiAgICBtYXJnaW46MDtcclxuICAgIHBhZGRpbmc6MDtcclxuICB9XHJcblxyXG4gIC8qIERlZmF1bHQgTGluayBTdHlsZXMgKi9cclxuICBhIHtcclxuICAgIGNvbG9yOiAkYW5jaG9yLWZvbnQtY29sb3I7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uO1xyXG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XHJcblxyXG4gICAgJlt1aS1zcmVmXSB7XHJcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIH1cclxuXHJcbiAgICAmOmhvdmVyLFxyXG4gICAgJjpmb2N1cyB7XHJcbiAgICAgIGNvbG9yOiAkYW5jaG9yLWZvbnQtY29sb3ItaG92ZXI7XHJcbiAgICAgIEBpZiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3ZlciAhPSAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbiB7XHJcbiAgICAgIFx0dGV4dC1kZWNvcmF0aW9uOiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3ZlcjtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGltZyB7IGJvcmRlcjpub25lOyB9XHJcbiAgfVxyXG5cclxuICAvKiBEZWZhdWx0IHBhcmFncmFwaCBzdHlsZXMgKi9cclxuICBwIHtcclxuICAgIGZvbnQtZmFtaWx5OiAkcGFyYWdyYXBoLWZvbnQtZmFtaWx5O1xyXG4gICAgZm9udC13ZWlnaHQ6ICRwYXJhZ3JhcGgtZm9udC13ZWlnaHQ7XHJcbiAgICBmb250LXNpemU6ICRwYXJhZ3JhcGgtZm9udC1zaXplO1xyXG4gICAgbGluZS1oZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZS1oZWlnaHQ7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XHJcbiAgICB0ZXh0LXJlbmRlcmluZzogJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZztcclxuXHJcbiAgICAmLmxlYWQgeyBAaW5jbHVkZSBsZWFkOyB9XHJcblxyXG4gICAgJiBhc2lkZSB7XHJcbiAgICAgIGZvbnQtc2l6ZTogJHBhcmFncmFwaC1hc2lkZS1mb250LXNpemU7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAkcGFyYWdyYXBoLWFzaWRlLWxpbmUtaGVpZ2h0O1xyXG4gICAgICBmb250LXN0eWxlOiAkcGFyYWdyYXBoLWFzaWRlLWZvbnQtc3R5bGU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKiBEZWZhdWx0IGhlYWRlciBzdHlsZXMgKi9cclxuICBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHtcclxuICAgIGZvbnQtZmFtaWx5OiAkaGVhZGVyLWZvbnQtZmFtaWx5O1xyXG4gICAgZm9udC13ZWlnaHQ6ICRoZWFkZXItZm9udC13ZWlnaHQ7XHJcbiAgICBmb250LXN0eWxlOiAkaGVhZGVyLWZvbnQtc3R5bGU7XHJcbiAgICBjb2xvcjogJGhlYWRlci1mb250LWNvbG9yO1xyXG4gICAgdGV4dC1yZW5kZXJpbmc6ICRoZWFkZXItdGV4dC1yZW5kZXJpbmc7XHJcbiAgICBtYXJnaW4tdG9wOiAkaGVhZGVyLXRvcC1tYXJnaW47XHJcbiAgICBtYXJnaW4tYm90dG9tOiAkaGVhZGVyLWJvdHRvbS1tYXJnaW47XHJcbiAgICBsaW5lLWhlaWdodDogJGhlYWRlci1saW5lLWhlaWdodDtcclxuXHJcbiAgICBzbWFsbCB7XHJcbiAgICAgIGZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZTtcclxuICAgICAgY29sb3I6ICRzbWFsbC1mb250LWNvbG9yO1xyXG4gICAgICBsaW5lLWhlaWdodDogMDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGgxIHsgZm9udC1zaXplOiAkaDEtZm9udC1zaXplIC0gJGgxLWZvbnQtcmVkdWN0aW9uOyB9XHJcbiAgaDIgeyBmb250LXNpemU6ICRoMi1mb250LXNpemUgLSAkaDItZm9udC1yZWR1Y3Rpb247IH1cclxuICBoMyB7IGZvbnQtc2l6ZTogJGgzLWZvbnQtc2l6ZSAtICRoMy1mb250LXJlZHVjdGlvbjsgfVxyXG4gIGg0IHsgZm9udC1zaXplOiAkaDQtZm9udC1zaXplIC0gJGg0LWZvbnQtcmVkdWN0aW9uOyB9XHJcbiAgaDUgeyBmb250LXNpemU6ICRoNS1mb250LXNpemUgLSAkaDUtZm9udC1yZWR1Y3Rpb247IH1cclxuICBoNiB7IGZvbnQtc2l6ZTogJGg2LWZvbnQtc2l6ZSAtICRoNi1mb250LXJlZHVjdGlvbjsgfVxyXG5cclxuICAuc3ViaGVhZGVyIHsgQGluY2x1ZGUgc3ViaGVhZGVyOyB9XHJcblxyXG4gIGhyIHtcclxuICAgIGJvcmRlcjogJGhyLWJvcmRlci1zdHlsZSAkaHItYm9yZGVyLWNvbG9yO1xyXG4gICAgYm9yZGVyLXdpZHRoOiAkaHItYm9yZGVyLXdpZHRoIDAgMDtcclxuICAgIGNsZWFyOiBib3RoO1xyXG4gICAgbWFyZ2luOiAkaHItbWFyZ2luIDAgKCRoci1tYXJnaW4gLSByZW0tY2FsYygkaHItYm9yZGVyLXdpZHRoKSk7XHJcbiAgICBoZWlnaHQ6IDA7XHJcbiAgfVxyXG5cclxuICAvKiBIZWxwZnVsIFR5cG9ncmFwaHkgRGVmYXVsdHMgKi9cclxuICBlbSxcclxuICBpIHtcclxuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcclxuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xyXG4gIH1cclxuXHJcbiAgc3Ryb25nLFxyXG4gIGIge1xyXG4gICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xyXG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XHJcbiAgfVxyXG5cclxuICBzbWFsbCB7XHJcbiAgICBmb250LXNpemU6ICRzbWFsbC1mb250LXNpemU7XHJcbiAgICBjb2xvcjogJHNtYWxsLWZvbnQtY29sb3I7XHJcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcclxuICB9XHJcblxyXG4gIGNvZGUge1xyXG4gICAgZm9udC1mYW1pbHk6ICRjb2RlLWZvbnQtZmFtaWx5O1xyXG4gICAgZm9udC13ZWlnaHQ6ICRjb2RlLWZvbnQtd2VpZ2h0O1xyXG4gICAgY29sb3I6ICRjb2RlLWNvbG9yO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvZGUtYmFja2dyb3VuZC1jb2xvcjtcclxuICAgIGJvcmRlci13aWR0aDogJGNvZGUtYm9yZGVyLXNpemU7XHJcbiAgICBib3JkZXItc3R5bGU6ICRjb2RlLWJvcmRlci1zdHlsZTtcclxuICAgIGJvcmRlci1jb2xvcjogJGNvZGUtYm9yZGVyLWNvbG9yO1xyXG4gICAgcGFkZGluZzogJGNvZGUtcGFkZGluZztcclxuICB9XHJcblxyXG4gIC8qIExpc3RzICovXHJcbiAgdWwsXHJcbiAgb2wsXHJcbiAgZGwge1xyXG4gICAgZm9udC1zaXplOiAkbGlzdC1mb250LXNpemU7XHJcbiAgICBsaW5lLWhlaWdodDogJGxpc3QtbGluZS1oZWlnaHQ7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAkbGlzdC1tYXJnaW4tYm90dG9tO1xyXG4gICAgbGlzdC1zdHlsZS1wb3NpdGlvbjogJGxpc3Qtc3R5bGUtcG9zaXRpb247XHJcbiAgICBmb250LWZhbWlseTogJGxpc3QtZm9udC1mYW1pbHk7XHJcbiAgfVxyXG5cclxuICAvKiBMaXN0cyAqL1xyXG4gIHVsLCBvbCB7XHJcbiAgICBtYXJnaW4tbGVmdDogJGxpc3Qtc2lkZS1tYXJnaW47XHJcbiAgICBsaSB7XHJcbiAgICAgIHVsLFxyXG4gICAgICBvbCB7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICRsaXN0LW5lc3RlZC1tYXJnaW47XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyogTGlzdHMgd2l0aG91dCBidWxsZXRzICovXHJcbiAgdWwubm8tYnVsbGV0IHtcclxuICAgICYsIGxpIHVsLCBsaSBvbCB7XHJcbiAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcclxuICAgIH1cclxuICAgIG1hcmdpbi1sZWZ0OiAkbGlzdC1zaWRlLW1hcmdpbi1uby1idWxsZXQ7XHJcbiAgfVxyXG5cclxuICAvKiBEZWZpbml0aW9uIExpc3RzICovXHJcbiAgZGwge1xyXG4gICAgZHQge1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAkZGVmaW5pdGlvbi1saXN0LWhlYWRlci1tYXJnaW4tYm90dG9tO1xyXG4gICAgICBmb250LXdlaWdodDogJGRlZmluaXRpb24tbGlzdC1oZWFkZXItd2VpZ2h0O1xyXG4gICAgfVxyXG4gICAgZGQgeyBtYXJnaW4tYm90dG9tOiAkZGVmaW5pdGlvbi1saXN0LW1hcmdpbi1ib3R0b207IH1cclxuICB9XHJcblxyXG4gIC8qIEFiYnJldmlhdGlvbnMgKi9cclxuICBhYmJyLFxyXG4gIGFjcm9ueW0ge1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgIGZvbnQtc2l6ZTogOTAlO1xyXG4gICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XHJcbiAgICBib3JkZXItYm90dG9tOiAkYWNyb255bS11bmRlcmxpbmU7XHJcbiAgICBjdXJzb3I6IGhlbHA7XHJcbiAgfVxyXG4gIGFiYnIge1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XHJcbiAgfVxyXG5cclxuICAvKiBCbG9ja3F1b3RlcyAqL1xyXG4gIGJsb2NrcXVvdGUge1xyXG4gICAgbWFyZ2luOiAwIDAgJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xyXG4gICAgcGFkZGluZzogJGJsb2NrcXVvdGUtcGFkZGluZztcclxuICAgIGJvcmRlci1sZWZ0OiAkYmxvY2txdW90ZS1ib3JkZXI7XHJcblxyXG4gICAgY2l0ZSB7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICBmb250LXNpemU6ICRibG9ja3F1b3RlLWNpdGUtZm9udC1zaXplO1xyXG4gICAgICBjb2xvcjogJGJsb2NrcXVvdGUtY2l0ZS1mb250LWNvbG9yO1xyXG4gICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDIwMTQgXFwwMDIwXCI7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGEsXHJcbiAgICAgIGE6dmlzaXRlZCB7XHJcbiAgICAgICAgY29sb3I6ICRibG9ja3F1b3RlLWNpdGUtbGluay1jb2xvcjtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBibG9ja3F1b3RlLFxyXG4gIGJsb2NrcXVvdGUgcCB7XHJcbiAgICBsaW5lLWhlaWdodDogJHBhcmFncmFwaC1saW5lLWhlaWdodDtcclxuICAgIGNvbG9yOiAkYmxvY2txdW90ZS1mb250LWNvbG9yO1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgIGgxLGgyLGgzLGg0LGg1LGg2IHsgbGluZS1oZWlnaHQ6ICRoZWFkZXItbGluZS1oZWlnaHQ7IH1cclxuICAgIGgxIHsgZm9udC1zaXplOiAkaDEtZm9udC1zaXplOyB9XHJcbiAgICBoMiB7IGZvbnQtc2l6ZTogJGgyLWZvbnQtc2l6ZTsgfVxyXG4gICAgaDMgeyBmb250LXNpemU6ICRoMy1mb250LXNpemU7IH1cclxuICAgIGg0IHsgZm9udC1zaXplOiAkaDQtZm9udC1zaXplOyB9XHJcbiAgICBoNSB7IGZvbnQtc2l6ZTogJGg1LWZvbnQtc2l6ZTsgfVxyXG4gICAgaDYgeyBmb250LXNpemU6ICRoNi1mb250LXNpemU7IH1cclxuICB9XHJcbn1cclxuIiwiLy8vIEBGb3VuZGF0aW9uLnNldHRpbmdzXHJcbi8vIEJ1dHRvbiBHcm91cFxyXG4kYnRuZ3JvdXAtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XHJcbiRidG5ncm91cC1jb2xvcjogI2ZmZiAhZGVmYXVsdDtcclxuJGJ0bmdyb3VwLXJhZGl1czogJGJ1dHRvbi1yYWRpdXMgIWRlZmF1bHQ7XHJcbi8vL1xyXG5cclxuJGNoaWxkLXNlbGVjdG9yczogJz4gYSwgPiBsYWJlbCwgPiBidXR0b24nO1xyXG5cclxuJWJ1dHRvbi1ncm91cCB7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIG1hcmdpbi1ib3R0b206IDFyZW07XHJcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xyXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gIGJvcmRlci1yYWRpdXM6ICRidG5ncm91cC1yYWRpdXM7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICBmb250LXNpemU6ICRidXR0b24tZm9udC1zaXplO1xyXG5cclxuICA+IGxpIHtcclxuICAgIGZsZXg6IDAgMCBhdXRvO1xyXG5cclxuICAgIC8vIExpbmtzIGJlY29tZSBidXR0b25zXHJcbiAgICAjeyRjaGlsZC1zZWxlY3RvcnN9IHtcclxuICAgICAgQGV4dGVuZCAlYnV0dG9uO1xyXG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xyXG4gICAgICBmb250LXNpemU6IGluaGVyaXQ7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICBtYXJnaW46IDA7XHJcbiAgICB9XHJcbiAgICA+IGlucHV0ICsgbGFiZWwge1xyXG4gICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgIH1cclxuICAgIC8vIEFkZCBib3JkZXJzIGJldHdlZW4gaXRlbXNcclxuICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XHJcbiAgICAgICN7JGNoaWxkLXNlbGVjdG9yc30ge1xyXG4gICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHNjYWxlLWNvbG9yKCRidG5ncm91cC1iYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAtMjUlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQGlmIHVzaW5nKGljb25pYykge1xyXG4gICAgLmljb25pYyB7XHJcbiAgICAgIHdpZHRoOiAxZW07XHJcbiAgICAgIGhlaWdodDogMWVtO1xyXG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuMjVlbTtcclxuICAgICAgbWFyZ2luLXRvcDogLTJweDsgLy8gVGhlIGljb25zIGFyZSBvZGRseSBtaXNhbGlnbmVkXHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4lYnV0dG9uLWdyb3VwLXNlZ21lbnRlZCB7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgJHByaW1hcnktY29sb3I7XHJcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogYmFja2dyb3VuZCBjb2xvcjtcclxuXHJcbiAgPiBsaSB7XHJcbiAgICAvLyBIaWRlIHRoZSByYWRpbyBidXR0b25cclxuICAgID4gaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICBsZWZ0OiAtOTk5OXB4O1xyXG4gICAgfVxyXG4gICAgLy8gVGhpcyBpcyB0aGUgYnV0dG9uXHJcbiAgICAjeyRjaGlsZC1zZWxlY3RvcnN9IHtcclxuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBidXR0b24tZ3JvdXAtc2l6ZSgkc2l6ZTogbWVkaXVtLCAkZXhwYW5kOiBmYWxzZSkge1xyXG4gICRzaXplOiAkYnV0dG9uLWZvbnQtc2l6ZSAqIG1hcC1nZXQoJGJ1dHRvbi1zaXplcywgJHNpemUpO1xyXG4gIGZvbnQtc2l6ZTogJHNpemU7XHJcblxyXG4gIEBpZiAkZXhwYW5kIHtcclxuICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1leHBhbmQ7XHJcbiAgfVxyXG59XHJcbkBtaXhpbiBidXR0b24tZ3JvdXAtZXhwYW5kKCRzdHJldGNoOiB0cnVlKSB7XHJcbiAgZGlzcGxheTogaWYoJHN0cmV0Y2gsIGZsZXgsIGlubGluZS1mbGV4KTtcclxuXHJcbiAgPiBsaSB7XHJcbiAgICBmbGV4OiBpZigkc3RyZXRjaCwgMSwgMCAwIGF1dG8pO1xyXG5cclxuICAgICN7JGNoaWxkLXNlbGVjdG9yc30ge1xyXG4gICAgICBAaWYgJHN0cmV0Y2ggeyBAaW5jbHVkZSBidXR0b24tZXhwYW5kOyB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbkBtaXhpbiBidXR0b24tZ3JvdXAtc3R5bGUoXHJcbiAgJHNlZ21lbnRlZDogZmFsc2UsXHJcbiAgJGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yLFxyXG4gICRjb2xvcjogYXV0b1xyXG4pIHtcclxuXHJcbiAgQGlmIG5vdCgkc2VnbWVudGVkKSB7XHJcbiAgICA+IGxpIHtcclxuICAgICAgI3skY2hpbGQtc2VsZWN0b3JzfSB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiYWNrZ3JvdW5kLCBhdXRvLCAkY29sb3IpO1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogc2NhbGUtY29sb3IoJGJhY2tncm91bmQsICRsaWdodG5lc3M6IC0xNSUpO1xyXG4gICAgICB9XHJcbiAgICAgICYuaXMtYWN0aXZlIHtcclxuICAgICAgICAjeyRjaGlsZC1zZWxlY3RvcnN9IHtcclxuICAgICAgICAgIGJhY2tncm91bmQ6IHNjYWxlLWNvbG9yKCRiYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAtMTUlKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2Uge1xyXG4gICAgQGV4dGVuZCAlYnV0dG9uLWdyb3VwLXNlZ21lbnRlZDtcclxuICAgICRob3Zlci1jb2xvcjogcmdiYSgkYmFja2dyb3VuZCwgMC4yNSk7XHJcbiAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kO1xyXG5cclxuICAgID4gbGkge1xyXG4gICAgICAvLyBUaGlzIGlzIHRoZSBidXR0b25cclxuICAgICAgI3skY2hpbGQtc2VsZWN0b3JzfSB7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZDtcclxuICAgICAgICBjb2xvcjogJGJhY2tncm91bmQ7XHJcblxyXG4gICAgICAgIC8vIFRoaXMgaXMgdGhlIGJ1dHRvbiBiZWluZyBob3ZlcmVkIG9uXHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkaG92ZXItY29sb3I7XHJcbiAgICAgICAgICBjb2xvcjogJGJhY2tncm91bmQ7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaWYgdXNpbmcoaWNvbmljKSB7XHJcbiAgICAgICAgICAuaWNvbmljIHsgQGluY2x1ZGUgY29sb3ItaWNvbigkYmFja2dyb3VuZCk7IH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC8vIFRoaXMgaXMgdGhlIGJ1dHRvbiB3aGVuIGl0J3MgYWN0aXZlXHJcbiAgICAgICYuaXMtYWN0aXZlID4gYSxcclxuICAgICAgPiBpbnB1dDpjaGVja2VkICsgbGFiZWwge1xyXG4gICAgICAgICYsICY6aG92ZXIge1xyXG4gICAgICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XHJcbiAgICAgICAgICBjb2xvcjogaXNpdGxpZ2h0KCRiYWNrZ3JvdW5kKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpZiB1c2luZyhpY29uaWMpIHtcclxuICAgICAgICAgIC5pY29uaWMgeyBAaW5jbHVkZSBjb2xvci1pY29uKGlzaXRsaWdodCgkYmFja2dyb3VuZCkpOyB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gYnV0dG9uLWdyb3VwKFxyXG4gICRzZWdtZW50ZWQ6IGZhbHNlLFxyXG4gICRleHBhbmQ6IGZhbHNlLFxyXG4gICRiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcixcclxuICAkY29sb3I6ICNmZmZcclxuKSB7XHJcbiAgQGV4dGVuZCAlYnV0dG9uLWdyb3VwO1xyXG4gIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1leHBhbmQoJGV4cGFuZCk7XHJcbiAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXN0eWxlKCRzZWdtZW50ZWQsICRiYWNrZ3JvdW5kLCAkY29sb3IpO1xyXG4gIGJvcmRlci1yYWRpdXM6ICRidG5ncm91cC1yYWRpdXM7XHJcbn1cclxuXHJcbkBpbmNsdWRlIGV4cG9ydHMoYnV0dG9uLWdyb3VwKSB7XHJcbiAgLmJ1dHRvbi1ncm91cCB7XHJcbiAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXA7XHJcblxyXG4gICAgLy8gQ29sb3JzXHJcbiAgICAmLnNlY29uZGFyeSB7IEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1zdHlsZShmYWxzZSwgJHNlY29uZGFyeS1jb2xvcik7IH1cclxuICAgICYuc3VjY2VzcyAgIHsgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXN0eWxlKGZhbHNlLCAkc3VjY2Vzcy1jb2xvcik7IH1cclxuICAgICYud2FybmluZyAgIHsgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXN0eWxlKGZhbHNlLCAkd2FybmluZy1jb2xvcik7IH1cclxuICAgICYuYWxlcnQgICAgIHsgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXN0eWxlKGZhbHNlLCAkYWxlcnQtY29sb3IpOyB9XHJcblxyXG4gICAgLy8gSW5kaXZpZHVhbCBjb2xvcnNcclxuICAgID4gbGkge1xyXG4gICAgICAmLnNlY29uZGFyeSB7ICN7JGNoaWxkLXNlbGVjdG9yc30geyBAaW5jbHVkZSBidXR0b24tc3R5bGUoJHNlY29uZGFyeS1jb2xvciwgYXV0bywgJGJ0bmdyb3VwOiB0cnVlKTsgfSB9XHJcbiAgICAgICYuc3VjY2VzcyAgIHsgI3skY2hpbGQtc2VsZWN0b3JzfSB7IEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkc3VjY2Vzcy1jb2xvciwgYXV0bywgJGJ0bmdyb3VwOiB0cnVlKTsgfSB9XHJcbiAgICAgICYud2FybmluZyAgIHsgI3skY2hpbGQtc2VsZWN0b3JzfSB7IEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkd2FybmluZy1jb2xvciwgYXV0bywgJGJ0bmdyb3VwOiB0cnVlKTsgfSB9XHJcbiAgICAgICYuYWxlcnQgICAgIHsgI3skY2hpbGQtc2VsZWN0b3JzfSB7IEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYWxlcnQtY29sb3IsIGF1dG8sICRidG5ncm91cDogdHJ1ZSk7IH0gfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIFNlZ21lbnRlZFxyXG4gICAgJi5zZWdtZW50ZWQgeyBAaW5jbHVkZSBidXR0b24tZ3JvdXAtc3R5bGUodHJ1ZSk7XHJcbiAgICAgICYuc2Vjb25kYXJ5IHsgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXN0eWxlKHRydWUsICRzZWNvbmRhcnktY29sb3IpOyB9XHJcbiAgICAgICYuc3VjY2VzcyAgIHsgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXN0eWxlKHRydWUsICRzdWNjZXNzLWNvbG9yKTsgfVxyXG4gICAgICAmLndhcm5pbmcgICB7IEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1zdHlsZSh0cnVlLCAkd2FybmluZy1jb2xvcik7IH1cclxuICAgICAgJi5hbGVydCAgICAgeyBAaW5jbHVkZSBidXR0b24tZ3JvdXAtc3R5bGUodHJ1ZSwgJGFsZXJ0LWNvbG9yKTsgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIFNpemluZ1xyXG4gICAgJi50aW55ICAgICAgeyBAaW5jbHVkZSBidXR0b24tZ3JvdXAtc2l6ZSh0aW55KTsgfVxyXG4gICAgJi5zbWFsbCAgICAgeyBAaW5jbHVkZSBidXR0b24tZ3JvdXAtc2l6ZShzbWFsbCk7IH1cclxuICAgICYubGFyZ2UgICAgIHsgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXNpemUobGFyZ2UpOyB9XHJcbiAgICAmLmV4cGFuZCAgICB7IEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1leHBhbmQ7IH1cclxuXHJcbiAgICAvLyBEaXNhYmxlZFxyXG4gICAgbGkuZGlzYWJsZWQge1xyXG4gICAgICAjeyRjaGlsZC1zZWxlY3RvcnN9IHtcclxuICAgICAgICBAaW5jbHVkZSBidXR0b24tZGlzYWJsZWQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiQG1peGluIGlubGluZS1saXN0KCRhbGlnbm1lbnQpe1xyXG5cdGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcclxuXHR0ZXh0LWFsaWduOiAkYWxpZ25tZW50O1xyXG5cdGxpLCBkdCwgZGQge1xyXG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0bWFyZ2luLWxlZnQ6IC0ycHg7XHJcblx0XHRtYXJnaW4tcmlnaHQ6IC0ycHg7XHJcblx0fVxyXG59XHJcblxyXG5AaW5jbHVkZSBleHBvcnRzKGxpc3QpIHtcclxuICAuaW5saW5lLWxpc3Qge1xyXG4gICAgQGluY2x1ZGUgaW5saW5lLWxpc3QobGVmdCk7XHJcbiAgICBsaSB7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogMXJlbTtcclxuICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi8qXG4gIE1FTlUgQkFSXG4gIC0tLS0tLS0tXG5cbiAgQSBnZW5lcmljLCBmbGV4aWJsZSBtZW51IGNvbXBvbmVudC5cblxuICBGZWF0dXJlczpcbiAgIC0gT3JpZW50IGhvcml6b250YWxseSBhbmQgdmVydGljYWxseVxuICAgICAtIENoYW5nZSBvcmllbnRhdGlvbiBhdCBjZXJ0YWluIGJyZWFrcG9pbnRzXG4gICAtIEl0ZW1zIHdpdGggaWNvbnMgYWJvdmUsIGJlbG93LCBvciB0byB0aGUgbGVmdCBvciByaWdodFxuICAgLSBUZXh0IGxhYmVscyBmb3IgdmVydGljYWwgbWVudXMgYW5kIGJhZGdlcyBmb3IgaG9yaXpvbnRhbCBtZW51c1xuKi9cblxuLy8vIEBGb3VuZGF0aW9uLnNldHRpbmdzXG4vLyBNZW51IEJhclxuJG1lbnViYXItZm9udHNpemU6IDFyZW0gIWRlZmF1bHQ7XG4kbWVudWJhci1iYWNrZ3JvdW5kOiAjZmZmICFkZWZhdWx0O1xuJG1lbnViYXItYmFja2dyb3VuZC1ob3Zlcjogc21hcnRzY2FsZSgkbWVudWJhci1iYWNrZ3JvdW5kLCA3JSkgIWRlZmF1bHQ7XG4kbWVudWJhci1iYWNrZ3JvdW5kLWFjdGl2ZTogJG1lbnViYXItYmFja2dyb3VuZC1ob3ZlcjtcbiRtZW51YmFyLWNvbG9yOiBpc2l0bGlnaHQoJG1lbnViYXItYmFja2dyb3VuZCkgIWRlZmF1bHQ7XG4kbWVudWJhci1jb2xvci1ob3ZlcjogJG1lbnViYXItY29sb3IgIWRlZmF1bHQ7XG4kbWVudWJhci1jb2xvci1hY3RpdmU6ICRtZW51YmFyLWNvbG9yLWhvdmVyO1xuXG4kbWVudWJhci1pdGVtLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZyAhZGVmYXVsdDtcbiRtZW51YmFyLWljb24tc2l6ZTogMjVweCAhZGVmYXVsdDtcbiRtZW51YmFyLWljb24tc3BhY2luZzogJG1lbnViYXItaXRlbS1wYWRkaW5nICFkZWZhdWx0O1xuLy8vXG5cbi8vIE1lbnUgYmFyIGNvbnRhaW5lclxuJW1lbnUtYmFyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuXG4gIC8vIE1lbnUgaXRlbVxuICA+IGxpIHtcbiAgICAvLyBUaGlzIGZsZXggc2V0dGluZyBtYWtlcyBlYWNoIGl0ZW0gYW4gZXF1YWwgd2lkdGhcbiAgICBmbGV4OiAxIDAgYXV0bztcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgLy8gTGluayBpbnNpZGUgbWVudSBpdGVtXG4gICAgPiBhIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgcGFkZGluZzogJG1lbnViYXItaXRlbS1wYWRkaW5nO1xuICAgICAgZm9udC1zaXplOiAkbWVudWJhci1mb250c2l6ZTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWVudS1iYXItbGF5b3V0IChcbiAgJG9yaWVudGF0aW9uOiBob3Jpem9udGFsLFxuICAkc3RyZXRjaDogdHJ1ZVxuKSB7XG4gIC8qXG4gICAgT3JpZW50YXRpb25cbiAgKi9cbiAgQGlmICRvcmllbnRhdGlvbiA9PSBob3Jpem9udGFsIHtcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgID4gbGkgPiBhIHtcbiAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICA+IGxpID4gYSB7XG4gICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgfVxuICB9XG5cbiAgLypcbiAgICBTdHJldGNoXG4gICovXG4gID4gbGkge1xuICAgIEBpZiAkc3RyZXRjaCA9PSBmYWxzZSB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1lbnUtYmFyLXN0eWxlKFxuICAkYmFja2dyb3VuZDogJG1lbnViYXItYmFja2dyb3VuZCxcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRtZW51YmFyLWJhY2tncm91bmQtaG92ZXIsXG4gICRiYWNrZ3JvdW5kLWFjdGl2ZTogJG1lbnViYXItYmFja2dyb3VuZC1hY3RpdmUsXG4gICRjb2xvcjogJG1lbnViYXItY29sb3IsXG4gICRjb2xvci1ob3ZlcjogJG1lbnViYXItY29sb3ItaG92ZXIsXG4gICRjb2xvci1hY3RpdmU6ICRtZW51YmFyLWNvbG9yLWFjdGl2ZSxcbiAgJGF1dG9jb2xvcjogZmFsc2Vcbikge1xuICAvLyBBdXRvY29sb3JpbmdcbiAgQGlmICgkYXV0b2NvbG9yKSB7XG4gICAgJGJhY2tncm91bmQtaG92ZXI6IHNtYXJ0c2NhbGUoJGJhY2tncm91bmQsIDclKTtcbiAgICAkYmFja2dyb3VuZC1hY3RpdmU6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuXG4gICAgJGNvbG9yOiBpc2l0bGlnaHQoJGJhY2tncm91bmQpO1xuICAgICRjb2xvci1ob3ZlcjogJGNvbG9yO1xuICAgICRjb2xvci1hY3RpdmU6ICRjb2xvcjtcbiAgfVxuXG4gIC8vIENvbnRhaW5lclxuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcblxuICAvLyBJdGVtc1xuICA+IGxpID4gYSB7XG4gICAgY29sb3I6ICRjb2xvcjtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQtaG92ZXI7XG4gICAgICBjb2xvcjogJGNvbG9yLWhvdmVyO1xuICAgIH1cbiAgfVxuICAuaXMtYWN0aXZlID4gYSB7XG4gICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQtYWN0aXZlO1xuICAgIGNvbG9yOiAkY29sb3ItYWN0aXZlXG4gIH1cblxuICAvLyBJY29uaWNcbiAgQGlmIHVzaW5nKGljb25pYykge1xuICAgIC5pY29uaWMgeyBAaW5jbHVkZSBjb2xvci1pY29uKCRjb2xvcik7IH1cbiAgfVxufVxuXG5AbWl4aW4gbWVudS1iYXItaWNvbnMoXG4gICRwb3NpdGlvbjogbGVmdCxcbiAgJHNpemU6ICRtZW51YmFyLWljb24tc2l6ZVxuKSB7XG4gID4gbGkge1xuICAgIC8vIFNpemluZ1xuICAgID4gaW1nLCA+IC5pY29uaWMge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgQGlmICRtZW51YmFyLWljb24tc2l6ZSAhPSBmYWxzZSB7XG4gICAgICAgIHdpZHRoOiAkbWVudWJhci1pY29uLXNpemU7XG4gICAgICAgIGhlaWdodDogJG1lbnViYXItaWNvbi1zaXplO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFBvc2l0aW9uXG4gICAgQGlmICRwb3NpdGlvbiA9PSBsZWZ0IHtcbiAgICAgID4gYSB7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgPiBpbWcsID4gLmljb25pYyB7IG1hcmdpbjogMCAkbWVudWJhci1pY29uLXNwYWNpbmcgMCAwOyB9XG4gICAgICB9XG4gICAgfVxuICAgIEBpZiAkcG9zaXRpb24gPT0gdG9wIHtcbiAgICAgID4gYSB7XG4gICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgICAgPiBpbWcsID4gLmljb25pYyB7IG1hcmdpbjogMCAwICRtZW51YmFyLWljb24tc3BhY2luZyAwOyB9XG4gICAgICB9XG4gICAgfVxuICAgIEBpZiAkcG9zaXRpb24gPT0gcmlnaHQge1xuICAgICAgPiBhIHtcbiAgICAgICAgZmxleC1mbG93OiByb3ctcmV2ZXJzZSBub3dyYXA7XG4gICAgICAgID4gaW1nLCA+IC5pY29uaWMgeyBtYXJnaW46IDAgMCAwICRtZW51YmFyLWljb24tc3BhY2luZzsgfVxuICAgICAgfVxuICAgIH1cbiAgICBAaWYgJHBvc2l0aW9uID09IGJvdHRvbSB7XG4gICAgICA+IGEge1xuICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbi1yZXZlcnNlIG5vd3JhcDtcbiAgICAgICAgPiBpbWcsID4gLmljb25pYyB7IG1hcmdpbjogJG1lbnViYXItaWNvbi1zcGFjaW5nIDAgMCAwOyB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtZW51LWJhci1sYWJlbHMoXG4gICR4OiByaWdodCxcbiAgJHk6IGNlbnRlcixcbiAgJG9mZnNldDogJG1lbnViYXItaXRlbS1wYWRkaW5nLFxuICAkc2l6ZTogMS4ycmVtLFxuICAkYmFja2dyb3VuZDogcmVkLFxuICAkY29sb3I6IGF1dG8sXG4gICRzZWxlY3RvcjogJy5tZW51LWJhci1sYWJlbCdcbikge1xuICA+IGxpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICA+IGEge1xuICAgICAgQGlmICR4ID09IGxlZnQgb3IgJHggPT0gcmlnaHQge1xuICAgICAgICBwYWRkaW5nLSN7JHh9OiAkc2l6ZSArICRvZmZzZXQgKiAyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICN7JHNlbGVjdG9yfSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAkc2l6ZSAqIDAuNzU7XG4gICAgd2lkdGg6ICRzaXplO1xuICAgIGhlaWdodDogJHNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRzaXplO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBib3JkZXItcmFkaXVzOiAxMDAwcHg7XG4gICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gICAgY29sb3I6IGlmKCRjb2xvciA9PSBhdXRvLCBpc2l0bGlnaHQoJGJhY2tncm91bmQpLCAkY29sb3IpO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAgIEBpZiAkeCA9PSBsZWZ0IG9yICR4ID09IHJpZ2h0IHtcbiAgICAgICN7JHh9OiAkb2Zmc2V0O1xuICAgIH1cblxuICAgIEBpZiAkeSA9PSB0b3Agb3IgJHkgPT0gYm90dG9tIHtcbiAgICAgICN7JHl9OiAkb2Zmc2V0O1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB9XG4gIH1cbn1cblxuLypcbiAgU2V0IHRoZSBhbGlnbm1lbnQgb2YgbWVudSBpdGVtcyAobGkpIHdpdGhpbiBhIG1lbnUtYmFyXG5cbiAgbGVmdDogSXRlbXMgYWxpZ24gdG8gdGhlIGxlZnQuXG4gIHJpZ2h0OiBJdGVtcyBhbGlnbiB0byB0aGUgcmlnaHQuXG4gIGNlbnRlcjogSXRlbXMgYWxpZ24gdG8gdGhlIGNlbnRlci5cbiAganVzdGlmeTogSXRlbXMgYXJlIHNwYWNlZCBlcXVhbGx5IGFwYXJ0IHNvIHRoZXkgb2NjdXB5IHRoZSBzcGFjZSBvZiB0aGUgZW50aXJlIGdyaWQuXG4gIHNwYWNlZDogSXRlbXMgYXJlIGdpdmVuIGVxdWFsIHNwYWNlIHRvIHRoZWlyIGxlZnQgYW5kIHJpZ2h0LlxuXG4gIEBncm91cCBtZW51LWJhclxuXG4gIEBwYXJhbSB7c3RyaW5nfSAkYWxpZ24gLSBBbGlnbm1lbnQgdG8gdXNlLlxuXG4gIEBvdXRwdXQgQW4gYXBwcm9wcmlhdGUganVzdGlmeS1jb250ZW50IHZhbHVlLlxuKi9cbkBtaXhpbiBtZW51LWJhci1hbGlnbigkYWxpZ246IGxlZnQpIHtcbiAgJG9wdGlvbnM6IChcbiAgICBsZWZ0OiBmbGV4LXN0YXJ0LFxuICAgIHJpZ2h0OiBmbGV4LWVuZCxcbiAgICBjZW50ZXI6IGNlbnRlcixcbiAgICBqdXN0aWZ5OiBzcGFjZS1iZXR3ZWVuLFxuICAgIHNwYWNlZDogc3BhY2UtYXJvdW5kLFxuICApO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IG1hcC1nZXQoJG9wdGlvbnMsICRhbGlnbik7XG59XG5cbi8qXG4gIENTUyBvdXRwdXRcbiovXG5AaW5jbHVkZSBleHBvcnRzKG1lbnUtYmFyKSB7XG4gIC5tZW51LWJhciB7XG4gICAgQGV4dGVuZCAlbWVudS1iYXI7XG4gICAgQGluY2x1ZGUgbWVudS1iYXItc3R5bGU7XG5cbiAgICAvLyBQb3NpdGlvbmluZ1xuICAgICYsICYuaG9yaXpvbnRhbCAgeyBAaW5jbHVkZSBtZW51LWJhci1sYXlvdXQoaG9yaXpvbnRhbCk7IH1cbiAgICAmLnZlcnRpY2FsICAgICAgIHsgQGluY2x1ZGUgbWVudS1iYXItbGF5b3V0KHZlcnRpY2FsKTsgfVxuXG4gICAgLy8gQ29uZGVuc2VkIGJhclxuICAgICYuY29uZGVuc2Uge1xuICAgICAgPiBsaSB7IGZsZXg6IDAgMCBhdXRvOyB9XG4gICAgfVxuXG4gICAgLy8gQWxpZ24gTWVudSBJdGVtc1xuICAgICYuYWxpZ24tcmlnaHQgICB7IEBpbmNsdWRlIG1lbnUtYmFyLWFsaWduKHJpZ2h0KTsgfVxuICAgICYuYWxpZ24tY2VudGVyICB7IEBpbmNsdWRlIG1lbnUtYmFyLWFsaWduKGNlbnRlcik7IH1cbiAgICAmLmFsaWduLWp1c3RpZnkgeyBAaW5jbHVkZSBtZW51LWJhci1hbGlnbihqdXN0aWZ5KTsgfVxuICAgICYuYWxpZ24tc3BhY2VkICB7IEBpbmNsdWRlIG1lbnUtYmFyLWFsaWduKHNwYWNlZCk7IH1cblxuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICAmLiN7JHNpemV9LWNvbmRlbnNlIHsgbGkgeyBmbGV4OiAwIDAgYXV0bzsgfSB9XG4gICAgICAgICYuI3skc2l6ZX0tZXhwYW5kICAgeyBsaSB7IGZsZXg6IDEgMCBhdXRvOyB9IH1cblxuICAgICAgICAvLyBSZXNwb25zaXZlIEFsaWdubWVudFxuICAgICAgICAmLiN7JHNpemV9LWFsaWduLWxlZnQgICB7IEBpbmNsdWRlIG1lbnUtYmFyLWFsaWduKGxlZnQpOyB9XG4gICAgICAgICYuI3skc2l6ZX0tYWxpZ24tcmlnaHQgICB7IEBpbmNsdWRlIG1lbnUtYmFyLWFsaWduKHJpZ2h0KTsgfVxuICAgICAgICAmLiN7JHNpemV9LWFsaWduLWNlbnRlciAgeyBAaW5jbHVkZSBtZW51LWJhci1hbGlnbihjZW50ZXIpOyB9XG4gICAgICAgICYuI3skc2l6ZX0tYWxpZ24tanVzdGlmeSB7IEBpbmNsdWRlIG1lbnUtYmFyLWFsaWduKGp1c3RpZnkpOyB9XG4gICAgICAgICYuI3skc2l6ZX0tYWxpZ24tc3BhY2VkICB7IEBpbmNsdWRlIG1lbnUtYmFyLWFsaWduKHNwYWNlZCk7IH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBSZXNwb25zaXZlIHBvc2l0aW9uaW5nXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgICYuI3skc2l6ZX0taG9yaXpvbnRhbCB7XG4gICAgICAgICAgQGluY2x1ZGUgbWVudS1iYXItbGF5b3V0KGhvcml6b250YWwpO1xuICAgICAgICB9XG4gICAgICAgICYuI3skc2l6ZX0tdmVydGljYWwge1xuICAgICAgICAgIEBpbmNsdWRlIG1lbnUtYmFyLWxheW91dCh2ZXJ0aWNhbCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBJY29uIHBvc2l0aW9uaW5nXG4gICAgJiwgJi5pY29uLXRvcCB7IEBpbmNsdWRlIG1lbnUtYmFyLWljb25zKHRvcCk7IH1cbiAgICAmLmljb24tcmlnaHQgIHsgQGluY2x1ZGUgbWVudS1iYXItaWNvbnMocmlnaHQpOyB9XG4gICAgJi5pY29uLWJvdHRvbSB7IEBpbmNsdWRlIG1lbnUtYmFyLWljb25zKGJvdHRvbSk7IH1cbiAgICAmLmljb24tbGVmdCAgIHsgQGluY2x1ZGUgbWVudS1iYXItaWNvbnMobGVmdCk7IH1cbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBlYWNoICRwb3MgaW4gKHRvcCwgcmlnaHQsIGJvdHRvbSwgbGVmdCkge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgICAgJi4jeyRzaXplfS1pY29uLSN7JHBvc30geyBAaW5jbHVkZSBtZW51LWJhci1pY29ucygkcG9zKTsgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gTGFiZWxzXG4gICAgJi5sYWJlbC1zaWRlICAgeyBAaW5jbHVkZSBtZW51LWJhci1sYWJlbHMocmlnaHQsIGNlbnRlcik7IH1cbiAgICAmLmxhYmVsLWNvcm5lciB7IEBpbmNsdWRlIG1lbnUtYmFyLWxhYmVscyhyaWdodCwgdG9wKTsgfVxuXG4gICAgLy8gQ29sb3JpbmdcbiAgICAmLnByaW1hcnkge1xuICAgICAgQGluY2x1ZGUgbWVudS1iYXItc3R5bGUoJHByaW1hcnktY29sb3IsICRhdXRvY29sb3I6IHRydWUpO1xuICAgIH1cbiAgICAmLmRhcmsge1xuICAgICAgQGluY2x1ZGUgbWVudS1iYXItc3R5bGUoJGRhcmstY29sb3IsICRhdXRvY29sb3I6IHRydWUpO1xuICAgIH1cblxuICAgIC8vIFRpdGxlXG4gICAgPiBsaS50aXRsZSB7XG4gICAgICBwYWRkaW5nOiAkbWVudWJhci1pdGVtLXBhZGRpbmc7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB9XG4gIH1cblxuICAvLyBNZW51IGdyb3Vwc1xuICAubWVudS1ncm91cCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgfVxuXG4gICAgPiAubWVudS1ncm91cC1sZWZ0LCA+IC5tZW51LWdyb3VwLXJpZ2h0IHtcbiAgICAgIGZsZXg6IDEgMSAxMDAlO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBNZW51IGJhciBpcyBjb25kZW5zZWRcbiAgICAubWVudS1iYXIge1xuICAgICAgPiBsaSB7IGZsZXg6IDAgMCBhdXRvOyB9XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgLy8gQ29sb3JpbmcgY2xhc3MgY2FzY2FkZXMgZG93biB0byB0aGUgbWVudSBiYXJcbiAgICAmLnByaW1hcnkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICAubWVudS1iYXIge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWJhci1zdHlsZSgkcHJpbWFyeS1jb2xvciwgJGF1dG9jb2xvcjogdHJ1ZSk7XG4gICAgICB9XG4gICAgfVxuICAgICYuZGFyayB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGFyay1jb2xvcjtcbiAgICAgIC5tZW51LWJhciB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtYmFyLXN0eWxlKCRkYXJrLWNvbG9yLCAkYXV0b2NvbG9yOiB0cnVlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCJAaW1wb3J0IFwicGFuZWxcIjtcblxuLypcbiAgVEhFIEdSSURcbiAgLS0tLS0tLS1cblxuICBGb3VuZGF0aW9uJ3MgbWFnaWNhbCwgZmxleGJveC1wb3dlcmVkIGdyaWQuXG5cbiAgRmVhdHVyZXM6XG4gICAtIEhvcml6b250YWwgb3IgdmVydGljYWwgZ3JpZHNcbiAgIC0gQXV0by1zaXppbmcgb3IgcGVyY2VudGFnZSB3aWR0aCBncmlkIGJsb2Nrc1xuICAgLSBJbmRlcGVuZGVudGx5LXNjcm9sbGFibGUgYmxvY2tzXG4gICAtIENvbHVtbiBhbGlnbm1lbnRcbiAgIC0gU291cmNlIG9yZGVyaW5nXG4gICAtIE9mZnNldHNcbiovXG5cbi8vLyBARm91bmRhdGlvbi5zZXR0aW5nc1xuLy8gR3JpZFxuJGNvbnRhaW5lci13aWR0aDogcmVtLWNhbGMoOTAwKSAhZGVmYXVsdDtcbiRibG9jay1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmcgIWRlZmF1bHQ7XG4kdG90YWwtY29sdW1uczogMTIgIWRlZmF1bHQ7XG4kYmxvY2stZ3JpZC1tYXgtc2l6ZTogNiAhZGVmYXVsdDtcbi8vL1xuXG4vKlxuICBEZWZpbmUgdGhlIHNpemUgb2YgYSBncmlkIGJsb2NrLiBCbG9ja3MgYXJlIGZsZXggaXRlbXMuIEJ5IGRlZmF1bHQsIHRoZXkgc3RyZXRjaCB0byBmaWxsIGFsbCBhdmFpbGFibGUgc3BhY2UsIGJhc2VkIG9uIHRoZSBzaXplIG9mIHNpYmxpbmcgYmxvY2tzLiBUaGlzIGlzIHRoZSBcImV4cGFuZFwiIGJlaGF2aW9yLlxuXG4gIElmIHNldCB0byBcInNocmlua1wiLCB0aGUgYmxvY2sgd2lsbCBjb250cmFjdCBhbmQgb25seSBmaWxsIGFzIG11Y2ggc3BhY2UgYXMgaXQgbmVlZHMgZm9yIGl0cyBjb250ZW50LlxuXG4gIElmIHNldCB0byBhIG51bWJlciwgdGhlIGJsb2NrIHdpbGwgYmUgZ2l2ZW4gYSBwZXJjZW50YWdlIHdpZHRoLCBiYXNlZCBvbiB0aGUgdG90YWwgbnVtYmVyIG9mIGNvbHVtbnMgKDEyIGJ5IGRlZmF1bHQpLiBQZXJjZW50YWdlIHdpZHRocyBkb24ndCB3b3JrIGlmIGEgYmxvY2sgaXMgaW5zaWRlIGEgdmVydGljYWwgZ3JpZC5cblxuICBAZ3JvdXAgZ3JpZFxuXG4gIEBwYXJhbSB7bnVtYmVyfHN0cmluZ30gJHNpemUgLSBTaXppbmcgYmVoYXZpb3Igb2YgdGhlIGJsb2NrLiBTaG91bGQgYmUgZXhwYW5kLCBzaHJpbmssIG9yIGEgbnVtYmVyLlxuXG4gIEBvdXRwdXQgVGhlIGZsZXgtYmFzaXMsIGZsZXgtZ3JvdywgYW5kIGZsZXgtc2hyaW5rIHByb3BlcnRpZXMuXG4qL1xuQG1peGluIGdyaWQtc2l6ZSgkc2l6ZTogZXhwYW5kKSB7XG4gIEBpZiAodHlwZS1vZigkc2l6ZSkgPT0gJ251bWJlcicpIHtcbiAgICAkcGN0OiBwZXJjZW50YWdlKCRzaXplIC8gJHRvdGFsLWNvbHVtbnMpO1xuICAgIGZsZXg6IDAgMCAkcGN0O1xuICAgIC8vIG1heC13aWR0aCBwcmV2ZW50cyBjb2x1bW5zIGZyb20gd3JhcHBpbmcgZWFybHkgaW4gSUUxMC8xMVxuICAgIG1heC13aWR0aDogJHBjdDtcbiAgfVxuICBAZWxzZSBpZiAoJHNpemUgPT0gc2hyaW5rKSB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gIH1cbiAgQGVsc2UgaWYgKCRzaXplID09IGV4cGFuZCkge1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICB9XG59XG4vKlxuICBTZXQgdGhlIG9yaWVudGF0aW9uIG9mIGJsb2NrcyB3aXRoaW4gdGhpcyBibG9jay4gVGhlIGdyaWQgaXMgcmUtb3JpZW50ZWQgYnkgY2hhbmdpbmcgdGhlIGZsZXggZGlyZWN0aW9uIG9mIHRoZSBibG9jay5cblxuICBAZ3JvdXAgZ3JpZFxuXG4gIEBwYXJhbSB7c3RyaW5nfSAkb3JpZW50YXRpb24gLSBEaXJlY3Rpb24gb2YgdGhlIGdyaWQsIGVpdGhlciBob3Jpem9udGFsIG9yIHZlcnRpY2FsLlxuXG4gIEBvdXRwdXQgQSBmbGV4LWZsb3cgcHJvcGVydHkgdG8gbWF0Y2ggdGhlIGRpcmVjdGlvbiBnaXZlbi5cbiovXG5AbWl4aW4gZ3JpZC1vcmllbnQoJG9yaWVudGF0aW9uOiBob3Jpem9udGFsKSB7XG4gIEBpZiAoJG9yaWVudGF0aW9uID09IHZlcnRpY2FsKSB7XG4gICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICB9XG4gIEBlbHNlIHtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICB9XG59XG4vKlxuICBTdHJldGNoIGEgZ3JpZCdzIGNoaWxkIGJsb2NrcyBhY3Jvc3MgaXRzIGNyb3NzLWF4aXMsIG1ha2luZyBldmVyeSBjb2x1bW4gYXBwZWFyIHRvIGhhdmUgdGhlIHNhbWUgaGVpZ2h0LlxuXG4gIEBncm91cCBncmlkXG5cbiAgQHBhcmFtIHtib29sfSAkc3RyZXRjaCAtIFN0cmV0Y2ggYmxvY2tzIGlmIHRydWUsIG9yIGFsaWduIGJsb2NrcyB0byB0b3AgaWYgZmFsc2UuXG5cbiAgQG91dHB1dCBTZXRzIGFsaWduLWl0ZW1zIHRvIFwic3RyZXRjaFwiIGlmICRzdHJldGNoIGlzIHRydWUsIG9yIFwiZmxleC1zdGFydFwiICh0aGUgZGVmYXVsdCB2YWx1ZSkgaWYgZmFsc2UuXG4qL1xuQG1peGluIGdyaWQtd3JhcCgkd3JhcDogdHJ1ZSkge1xuICBAaWYgJHdyYXAge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgfVxuICBAZWxzZSB7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIH1cbn1cbi8qXG4gIFNldCB0aGUgYWxpZ25tZW50IG9mIGJsb2NrcyB3aXRoaW4gYSBncmlkLlxuXG4gIGxlZnQ6IEl0ZW1zIGFsaWduIHRvIHRoZSBsZWZ0LlxuICByaWdodDogSXRlbXMgYWxpZ24gdG8gdGhlIHJpZ2h0LlxuICBjZW50ZXI6IEl0ZW1zIGFsaWduIHRvIHRoZSBjZW50ZXIuXG4gIGp1c3RpZnk6IEl0ZW1zIGFyZSBzcGFjZWQgZXF1YWxseSBhcGFydCBzbyB0aGV5IG9jY3VweSB0aGUgc3BhY2Ugb2YgdGhlIGVudGlyZSBncmlkLlxuICBzcGFjZWQ6IEl0ZW1zIGFyZSBnaXZlbiBlcXVhbCBzcGFjZSB0byB0aGVpciBsZWZ0IGFuZCByaWdodC5cblxuICBAZ3JvdXAgZ3JpZFxuXG4gIEBwYXJhbSB7c3RyaW5nfSAkYWxpZ24gLSBBbGlnbm1lbnQgdG8gdXNlLlxuXG4gIEBvdXRwdXQgQW4gYXBwcm9wcmlhdGUganVzdGlmeS1jb250ZW50IHZhbHVlLlxuKi9cbkBtaXhpbiBncmlkLWFsaWduKCRhbGlnbjogbGVmdCkge1xuICAkb3B0aW9uczogKFxuICAgIGxlZnQ6IGZsZXgtc3RhcnQsXG4gICAgcmlnaHQ6IGZsZXgtZW5kLFxuICAgIGNlbnRlcjogY2VudGVyLFxuICAgIGp1c3RpZnk6IHNwYWNlLWJldHdlZW4sXG4gICAgc3BhY2VkOiBzcGFjZS1hcm91bmQsXG4gICk7XG4gIGp1c3RpZnktY29udGVudDogbWFwLWdldCgkb3B0aW9ucywgJGFsaWduKTtcbn1cbi8qXG4gIFNldCB0aGUgc291cmNlIG9yZGVyIG9mIGEgYmxvY2suIEl0ZW1zIHdpdGggbG93ZXIgbnVtYmVycyBhcHBlYXIgZmlyc3QuIElmIG11bHRpcGxlIGl0ZW1zIGhhdmUgdGhlIHNhbWUgbnVtYmVyLCB0aGUgb25lIGluIHRoZSBIVE1MIGZpcnN0IHdpbGwgYXBwZWFyIGZpcnN0LlxuXG4gIEBncm91cCBncmlkXG5cbiAgQHBhcmFtIHtudW1iZXJ9ICRvcmRlciAtIFBvc2l0aW9uIGluIHNvdXJjZSBvcmRlci5cblxuICBAb3V0cHV0IEFuIG9yZGVyIHByb3BlcnR5LlxuKi9cbkBtaXhpbiBncmlkLW9yZGVyKCRvcmRlcjogMCkge1xuICBvcmRlcjogJG9yZGVyO1xufVxuLypcbiAgQ29sbGFwc2UgYSBjb250ZW50IGJsb2NrIGJ5IHJlbW92aW5nIHRoZSBwYWRkaW5nLlxuXG4gIEBncm91cCBncmlkXG5cbiAgQHBhcmFtIHtib29sfSAkY29sbGFwc2UgLSBDb2xsYXBzZXMgdGhlIGJsb2NrIGlmIHRydWUuXG5cbiAgQG91dHB1dCBBIHBhZGRpbmcgdmFsdWUuXG5cbiAgQHRvZG8gTm8gd2F5IHRvIHJldmVyc2UgY29sbGFwc2UgdXNpbmcgdGhpcyBtaXhpbi4gU29sdXRpb246XG4gICAgLSBJZiB0cnVlLCBhZGQgcGFkZGluZzogMDtcbiAgICAtIElmIGZhbHNlLCBhZGQgcGFkZGluZzogMXJlbTtcbiAgICAtIElmIG51bGwsIGFkZCBub3RoaW5nLCB0byBjdXQgZG93biBvbiBDU1Mgb3V0cHV0XG4gICAgLSBNYWtlIG51bGwgdGhlIGRlZmF1bHQgdmFsdWVcbiovXG5AbWl4aW4gZ3JpZC1jb2xsYXBzZSgkY29sbGFwc2U6IHRydWUpIHtcbiAgQGlmICgkY29sbGFwc2UpIHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG59XG4vKlxuICBDb25zdHJhaW4gdGhlIHNpemUgb2YgYSBibG9jayB0byB0aGUgc2l6ZSBvZiB0aGUgYXZlcmFnZSBncmlkIHJvdywgYW5kIGNlbnRlci1hbGlnbiBpdC4gVGhpcyBpbWl0YXRlcyB0aGUgYmVoYXZpb3Igb2Ygb3JkaW5hcnkgRm91bmRhdGlvbiByb3dzLlxuXG4gIEBncm91cCBncmlkXG5cbiAgQHBhcmFtIHtib29sfSAkY29udGFpbmVyIC0gQWRkcyBjb250YWluZXIgc3R5bGVzIGlmIHRydWUuXG5cbiAgQG91dHB1dCBBIG1heGltdW0gd2lkdGggYW5kIHRoZSBnb29kIG9sZCBtYXJnaW46IDAgYXV0byBmb3IgY2VudGVyIGFsaWdubWVudC5cbiovXG5AbWl4aW4gZ3JpZC1jb250YWluZXIoJHdpZHRoOiAkY29udGFpbmVyLXdpZHRoLCAkYWxpZ246IGNlbnRlcikge1xuICAkbWFyZ2luczogKFxuICAgIGxlZnQ6ICAwIGF1dG8gMCAwLFxuICAgIHJpZ2h0OiAwIDAgMCBhdXRvLFxuICAgIGNlbnRlcjogMCBhdXRvLFxuICApO1xuICBtYXgtd2lkdGg6ICR3aWR0aDtcbiAgbWFyZ2luOiBtYXAtZ2V0KCRtYXJnaW5zLCAkYWxpZ24pO1xufVxuLypcbiAgQWRkIG5lZ2F0aXZlIG1hcmdpbnMgdG8gYSBibG9jaywgZXF1YWwgdG8gdGhlIHBhZGRpbmcgb2YgYSBjb250ZW50IGJsb2NrLiBUaGlzIGFsaWducyB0aGUgZWRnZXMgb2YgYSBibG9jayBuZXN0ZWQgaW5zaWRlIGEgY29udGVudCBibG9jay5cblxuICBAZ3JvdXAgZ3JpZFxuXG4gIEBwYXJhbSB7Ym9vbH0gJG5lc3QgLSBBZGRzIG5lZ2F0aXZlIG1hcmdpbnMgaWYgdHJ1ZS5cblxuICBAb3V0cHV0IE5lZ2F0aXZlIG1hcmdpbiB2YWx1ZXMuXG4qL1xuQG1peGluIGdyaWQtbmVzdCgkbmVzdDogdHJ1ZSkge1xuICBAaWYgKCRuZXN0KSB7XG4gICAgbWFyZ2luLWxlZnQ6IC0xcmVtO1xuICAgIG1hcmdpbi1yaWdodDogLTFyZW07XG4gIH1cbn1cbi8qXG4gIE9mZnNldCBhIGJsb2NrIGJ5IGFkZGluZyBhIGxlZnQgbWFyZ2luLlxuXG4gIEBncm91cCBncmlkXG5cbiAgQHBhcmFtIHtudW1iZXIgfCBib29sfSAkb2Zmc2V0IC0gSWYgZmFsc2UsIG5vdGhpbmcgaXMgb3V0cHV0LiBJZiBhIG51bWJlciwgb2Zmc2V0cyB0aGUgY29sdW1uIGJ5IHRoZSBzcGVjaWZpZWQgbnVtYmVyIG9mIGNvbHVtbnMuXG5cbiAgQG91dHB1dCBBIGxlZnQgbWFyZ2luIGJhc2VkIG9uIHRoZSBudW1iZXIgb2YgY29sdW1ucyBzcGVjaWZpZWQsIGFuZCB0aGUgZ2xvYmFsIG51bWJlciBvZiBjb2x1bW5zLlxuKi9cbkBtaXhpbiBncmlkLW9mZnNldCgkb2Zmc2V0OiBmYWxzZSkge1xuICBAaWYgKCRvZmZzZXQgIT0gZmFsc2UpIHtcbiAgICBtYXJnaW4tbGVmdDogcGVyY2VudGFnZSgkb2Zmc2V0IC8gJHRvdGFsLWNvbHVtbnMpO1xuICB9XG59XG5cbi8qXG4gIFJlc2V0cyBzdHlsZXMgc2V0IGJ5IHBhbmVscy4gVXNlIHRoaXMgd2hlbiBhIHBhbmVsIHRyYW5zZm9ybXMgaW50byBhIGJsb2NrIG9uIGxhcmdlciBzY3JlZW5zLlxuXG4gIEBncm91cCBncmlkXG5cbiAgQG91dHB1dCBSZXNldHMgdG8gdHJhbnNmb3JtLCBwb3NpdGlvbiwgYW5kIGEgZmV3IHZpc3VhbCBzdHlsZXMuXG4qL1xuQG1peGluIGdyaWQtcGFuZWwtcmVzZXQoKSB7XG4gIHRyYW5zZm9ybTogbm9uZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiBhdXRvO1xuICB6LWluZGV4OiBhdXRvO1xuICBib3gtc2hhZG93OiBub25lO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgdG9wOiBhdXRvO1xuICByaWdodDogYXV0bztcbiAgYm90dG9tOiBhdXRvO1xuICBsZWZ0OiBhdXRvO1xufVxuXG4vKlxuICBGcmFtZXMgYXJlIGNvbnRhaW5lcnMgdGhhdCBzdHJldGNoIHRvIHRoZSBmdWxsIGRpbW1lbnNpb25zIG9mIHRoZSBicm93c2VyIHdpbmRvdy5cbiovXG5AbWl4aW4gZ3JpZC1mcmFtZSgkc2l6ZTogZXhwYW5kLCAkb3JpZW50YXRpb246IGhvcml6b250YWwsICR3cmFwOiBmYWxzZSwgJGFsaWduOiBsZWZ0LCAkb3JkZXI6IDApIHtcbiAgZGlzcGxheTogZmxleDtcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgQGluY2x1ZGUgZ3JpZC1zaXplKCRzaXplKTtcbiAgQGluY2x1ZGUgZ3JpZC1vcmllbnQoJG9yaWVudGF0aW9uKTtcbiAgQGluY2x1ZGUgZ3JpZC13cmFwKCR3cmFwKTtcbiAgQGluY2x1ZGUgZ3JpZC1hbGlnbigkYWxpZ24pO1xuICBAaW5jbHVkZSBncmlkLW9yZGVyKCRvcmRlcik7XG59XG5cbi8qXG4gIEdyb3VwcyBhcmUgY29sbGVjdGlvbnMgb2YgY29udGVudCBpdGVtcy4gVGhleSdyZSB0aGUgXCJyb3dzXCIgb2YgRm91bmRhdGlvbiBmb3IgQXBwcy5cbiovXG5AbWl4aW4gZ3JpZC1ibG9jaygkc2l6ZTogZXhwYW5kLCAkb3JpZW50YXRpb246IGhvcml6b250YWwsICR3cmFwOiBmYWxzZSwgJGFsaWduOiBsZWZ0LCAkb3JkZXI6IDApIHtcbiAgQGluY2x1ZGUgZ3JpZC1mcmFtZSgkc2l6ZSwgJG9yaWVudGF0aW9uLCAkd3JhcCwgJGFsaWduLCAkb3JkZXIpO1xuXG4gIC8vIFJlc2V0IHRoZSBoZWlnaHQgdXNlZCBieSBmcmFtZXNcbiAgaGVpZ2h0OiBhdXRvO1xuXG4gIC8vIEJsb2NrcyB3aWxsIHNjcm9sbCBieSBkZWZhdWx0IGlmIHRoZWlyIGNvbnRlbnQgb3ZlcmZsb3dzXG4gIEBpZiAoJG9yaWVudGF0aW9uID09IHZlcnRpY2FsKSB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgfVxuICBAZWxzZSB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgfVxuXG4gIC8vIEFkZCBzY3JvbGxpbmcgd2l0aCBpbmVydGlhXG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7XG59XG5cbi8qXG4gIEJsb2NrcyBhcmUgY29udGFpbmVycyBmb3IgYWN0dWFsIGNvbnRlbnQuIFRoZXkncmUgdGhlIFwiY29sdW1uc1wiIG9mIEZvdW5kYXRpb24gZm9yIEFwcHMuXG4qL1xuQG1peGluIGdyaWQtY29udGVudCgkc2l6ZTogZXhwYW5kLCAkb2Zmc2V0OiBudWxsLCAkb3JkZXI6IG51bGwpIHtcbiAgLy8gQ29udGVudCBibG9ja3MgYXJlIG5vdCBmbGV4IGl0ZW1zIGFuZCBoYXZlIHBhZGRpbmdcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDAgJGJsb2NrLXBhZGRpbmc7XG5cbiAgLy8gQWRkIHNjcm9sbGluZyB3aXRoIGluZXJ0aWFcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjtcblxuICBAaW5jbHVkZSBncmlkLXNpemUoJHNpemUpO1xuICBAaWYgJG9mZnNldCAhPSBudWxsIHsgQGluY2x1ZGUgZ3JpZC1vZmZzZXQoJG9mZnNldCk7IH1cbiAgQGlmICRvcmRlciAhPSBudWxsICB7IEBpbmNsdWRlIGdyaWQtb3JkZXIoJG9yZGVyKTsgfVxufVxuXG5AbWl4aW4gZ3JpZC1sYXlvdXQoJHVwKSB7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG5cbiAgPiBsaSwgPiBkaXYsID4gc2VjdGlvbiB7XG4gICAgcGFkZGluZzogMCAxcmVtIDFyZW07XG4gICAgZmxleDogMCAwIHBlcmNlbnRhZ2UoMSAvICR1cCk7XG4gIH1cbn1cblxuLy8gQ1NTIE91dHB1dFxuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG5cbi8vIFNoYXJlZCBzdHlsZXMgZm9yIGZyYW1lcyBhbmQgYmxvY2tzIChwYXJlbnQgZWxlbWVudHMpXG4lYmxvY2stY29yZSB7XG4gIC8vIENoYW5nZSB0aGUgZGlyZWN0aW9uIGNoaWxkcmVuIGZsb3dcbiAgJi52ZXJ0aWNhbCB7IEBpbmNsdWRlIGdyaWQtb3JpZW50KHZlcnRpY2FsKTsgfVxuICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAmLiN7JHNpemV9LXZlcnRpY2FsICAgeyBAaW5jbHVkZSBncmlkLW9yaWVudCh2ZXJ0aWNhbCk7IH1cbiAgICAgICYuI3skc2l6ZX0taG9yaXpvbnRhbCB7IEBpbmNsdWRlIGdyaWQtb3JpZW50KGhvcml6b250YWwpOyB9XG4gICAgfVxuICB9XG5cbiAgLy8gQWxpZ24gdGhlIGNoaWxkcmVuIG9mIGEgZ3JpZCBibG9ja1xuICAmLmFsaWduLXJpZ2h0ICAgeyBAaW5jbHVkZSBncmlkLWFsaWduKHJpZ2h0KTsgfVxuICAmLmFsaWduLWNlbnRlciAgeyBAaW5jbHVkZSBncmlkLWFsaWduKGNlbnRlcik7IH1cbiAgJi5hbGlnbi1qdXN0aWZ5IHsgQGluY2x1ZGUgZ3JpZC1hbGlnbihqdXN0aWZ5KTsgfVxuICAmLmFsaWduLXNwYWNlZCAgeyBAaW5jbHVkZSBncmlkLWFsaWduKHNwYWNlZCk7IH1cblxuICAvLyBBbGxvdyBjaGlsZCBlbGVtZW50cyB0byB3cmFwXG4gICYud3JhcCB7IEBpbmNsdWRlIGdyaWQtd3JhcCh0cnVlKTsgfVxufVxuXG4vLyBTaGFyZWQgc3R5bGVzIGZvciBibG9ja3MgYW5kIGNvbnRlbnQgYmxvY2tzIChjaGlsZCBlbGVtZW50cylcbiVjaGlsZC1jb3JlIHtcbiAgLy8gU2hyaW5rIGEgZmxleCBpdGVtIHNvIGl0IG9ubHkgdGFrZXMgdXAgdGhlIHNwYWNlIGl0IG5lZWRzXG4gICYuc2hyaW5rIHsgQGluY2x1ZGUgZ3JpZC1zaXplKHNocmluayk7IH1cblxuICAvLyBQcmV2ZW50IGFuIGVsZW1lbnQgZnJvbSBzY3JvbGxpbmdcbiAgJi5ub3Njcm9sbCB7IG92ZXJmbG93OiBoaWRkZW47IH1cbn1cblxuQGluY2x1ZGUgZXhwb3J0cyhncmlkKSB7XG4gIC8vIFRoZSBjb3JlIGdyaWQgZWxlbWVudHM6XG4gIC8vICAtIEZyYW1lXG4gIC8vICAtIEJsb2NrXG4gIC8vICAtIENvbnRlbnQgYmxvY2tcbiAgLy8gIC0gQ29udGFpbmVyXG4gIC5ncmlkLWZyYW1lIHtcbiAgICBAZXh0ZW5kICVibG9jay1jb3JlO1xuICAgIEBpbmNsdWRlIGdyaWQtZnJhbWU7XG4gIH1cbiAgLmdyaWQtYmxvY2sge1xuICAgIEBleHRlbmQgJWJsb2NrLWNvcmU7XG4gICAgQGV4dGVuZCAlY2hpbGQtY29yZTtcbiAgICBAaW5jbHVkZSBncmlkLWJsb2NrO1xuICB9XG4gIC5ncmlkLWNvbnRlbnQge1xuICAgIEBleHRlbmQgJWNoaWxkLWNvcmU7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb250ZW50O1xuXG4gICAgJi5jb2xsYXBzZSB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC8vIEdyaWRzIGluc2lkZSBjb250ZW50IGJsb2NrcyBzaG91bGQgd3JhcCBieSBkZWZhdWx0LCBzbyB0aGV5IG1pbWljIHRyYWRpdGlvbmFsIGZsb2F0IGdyaWRzXG4gICAgLmdyaWQtYmxvY2sge1xuICAgICAgbWFyZ2luLWxlZnQ6IC0oJGJsb2NrLXBhZGRpbmcpO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtKCRibG9jay1wYWRkaW5nKTtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuXG4gICAgICAvLyBSZXZlcnNlIHRoZSBhYm92ZSB3cmFwcGluZyBiZWhhdmlvclxuICAgICAgJi5ub3dyYXAge1xuICAgICAgICBAaW5jbHVkZSBncmlkLXdyYXAoZmFsc2UpO1xuICAgICAgfVxuXG4gICAgICAuZ3JpZC1jb250ZW50IHtcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5ncmlkLWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb250YWluZXI7XG5cbiAgICAmLmNvbnRhaW4tbGVmdCAgeyBAaW5jbHVkZSBncmlkLWNvbnRhaW5lcigkYWxpZ246IGxlZnQpOyB9XG4gICAgJi5jb250YWluLXJpZ2h0IHsgQGluY2x1ZGUgZ3JpZC1jb250YWluZXIoJGFsaWduOiByaWdodCk7IH1cbiAgfVxuXG4gIC8vIEJyZWFrcG9pbnQgY2xhc3NlcyBmb3IgYmxvY2tzXG4gIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIC4jeyRzaXplfS1ncmlkLWJsb2NrIHtcbiAgICAgIEBleHRlbmQgJWJsb2NrLWNvcmU7XG4gICAgICBAZXh0ZW5kICVjaGlsZC1jb3JlO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtYmxvY2s7XG5cbiAgICAgICAgLy8gT3ZlcnJpZGUgcGFuZWwgc3R5bGVzXG4gICAgICAgICYucGFuZWwgeyBAaW5jbHVkZSBncmlkLXBhbmVsLXJlc2V0OyB9XG4gICAgICB9XG4gICAgfVxuICAgIC4jeyRzaXplfS1ncmlkLWNvbnRlbnQge1xuICAgICAgQGV4dGVuZCAlY2hpbGQtY29yZTtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBAaW5jbHVkZSBncmlkLWNvbnRlbnQ7XG5cbiAgICAgICAgLy8gT3ZlcnJpZGUgcGFuZWwgc3R5bGVzXG4gICAgICAgICYucGFuZWwgeyBAaW5jbHVkZSBncmlkLXBhbmVsLXJlc2V0OyB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gU2l6aW5nIGFuZCBvcmRlcmluZyBjbGFzc2VzXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJHRvdGFsLWNvbHVtbnMge1xuICAgIC8vIFNvdXJjZSBvcmRlcmluZ1xuICAgIC5vcmRlci0jeyRpfSB7IEBpbmNsdWRlIGdyaWQtb3JkZXIoJGkpOyB9XG4gIH1cbiAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkdG90YWwtY29sdW1ucyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIC8vIEJsb2NrIHNpemluZ1xuICAgICAgICAuI3skc2l6ZX0tI3skaX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGdyaWQtc2l6ZSgkaSk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gU291cmNlIG9yZGVyaW5nXG4gICAgICAgIC4jeyRzaXplfS1vcmRlci0jeyRpfSB7XG4gICAgICAgICAgQGluY2x1ZGUgZ3JpZC1vcmRlcigkaSk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gT2Zmc2V0c1xuICAgICAgICAuI3skc2l6ZX0tb2Zmc2V0LSN7JGl9IHtcbiAgICAgICAgICBAaW5jbHVkZSBncmlkLW9mZnNldCgkaSk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gUGFyZW50IHNpemluZyAoYmxvY2sgZ3JpZHMpXG4gICAgICAgIC4jeyRzaXplfS11cC0jeyRpfSB7XG4gICAgICAgICAgQGluY2x1ZGUgZ3JpZC1sYXlvdXQoJGkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmdyaWQtY29udGVudCAubW9kYWwgLmdyaWQtYmxvY2sge1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICB9XG59XG4iLCIvKlxyXG4gIE5PVElGSUNBVElPTlxyXG4gIC0tLS0tLS0tLS0tLVxyXG5cclxuICBBbiBhbGVydCB0aGF0IHBpbnMgdG8gdGhlIGNvcm5lciBvZiB0aGUgc2NyZWVuIHdoZW4gdHJpZ2dlcmVkIGJ5IEphdmFTY3JpcHQuIEl0IGNhbiBiZSBzZXQgdG8gZGlzYXBwZWFyIGFmdGVyIGEgY2VydGFpbiBwZXJpb2Qgb2YgdGltZSwgb3IgdG8gc3RheSBwdXQgdW50aWwgdGhlIHVzZXIgY2xpY2tzIG9uIGl0LiBBIGN1c3RvbSBhY3Rpb24gY2FuIGJlIGFzaWduZWQgdG8gYSBub3RpZmljYXRpb24gYXMgd2VsbC5cclxuXHJcbiAgT3B0aW9uYWxseSwgdGhlIG5vdGlmaWNhdGlvbnMgZGlyZWN0aXZlIGNhbiBhbHNvIHRhcCBpbnRvIHRoZSBicm93c2VyJ3MgbmF0aXZlIG5vdGlmaWNhdGlvbiBzdXBwb3J0LCBpZiBpdCBleGlzdHMuXHJcbiovXHJcblxyXG4vLy8gQEZvdW5kYXRpb24uc2V0dGluZ3NcclxuLy8gTm90aWZpY2F0aW9uXHJcbiRub3RpZmljYXRpb24tZGVmYXVsdC1wb3NpdGlvbjogcmlnaHQgdG9wICFkZWZhdWx0O1xyXG4kbm90aWZpY2F0aW9uLXdpZHRoOiByZW0tY2FsYyg0MDApICFkZWZhdWx0O1xyXG4kbm90aWZpY2F0aW9uLW9mZnNldDogJGdsb2JhbC1wYWRkaW5nICFkZWZhdWx0O1xyXG5cclxuJG5vdGlmaWNhdGlvbi1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcclxuJG5vdGlmaWNhdGlvbi1jb2xvcjogd2hpdGUgIWRlZmF1bHQ7XHJcbiRub3RpZmljYXRpb24tcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nICFkZWZhdWx0O1xyXG4kbm90aWZpY2F0aW9uLXJhZGl1czogNHB4ICFkZWZhdWx0O1xyXG5cclxuJG5vdGlmaWNhdGlvbi1pY29uLXNpemU6IDYwcHggIWRlZmF1bHQ7XHJcbiRub3RpZmljYXRpb24taWNvbi1tYXJnaW46ICRnbG9iYWwtcGFkZGluZyAhZGVmYXVsdDtcclxuJG5vdGlmaWNhdGlvbi1pY29uLWFsaWduOiB0b3AgIWRlZmF1bHQ7XHJcblxyXG4vLy9cclxuXHJcbiVub3RpZmljYXRpb24ge1xyXG4gIHotaW5kZXg6IDEwMDA7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgbWFyZ2luLXRvcDogLjVyZW07XHJcbiAgbWFyZ2luLWJvdHRvbTogLjVyZW07XHJcbiAgZGlzcGxheTogbm9uZTtcclxuXHJcbiAgaDEge1xyXG4gICAgZm9udC1zaXplOiAxLjI1ZW07XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgfVxyXG4gIHAge1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gIH1cclxuXHJcbiAgLy8gUGxhY2Vob2xkZXIgYW5pbWF0aW9uXHJcbiAgLy8gdHJhbnNpdGlvbjogb3BhY2l0eSAxcyBlYXNlLW91dDtcclxuXHJcbiAgJi5pcy1hY3RpdmUge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICB9XHJcblxyXG4gIC5jbG9zZS1idXR0b24ge1xyXG4gICAgY29sb3I6IHdoaXRlO1xyXG4gIH1cclxufVxyXG5cclxuJW5vdGlmaWNhdGlvbi1jb250YWluZXIge1xyXG4gIHotaW5kZXg6IDMwMDA7XHJcbiAgcG9zaXRpb246IGZpeGVkO1xyXG5cclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbn1cclxuXHJcbkBtaXhpbiBub3RpZmljYXRpb24tbGF5b3V0KFxyXG4gICR4OiBudGgoJG5vdGlmaWNhdGlvbi1kZWZhdWx0LXBvc2l0aW9uLCAxKSxcclxuICAkeTogbnRoKCRub3RpZmljYXRpb24tZGVmYXVsdC1wb3NpdGlvbiwgMiksXHJcbiAgJHNpemU6ICRub3RpZmljYXRpb24td2lkdGgsXHJcbiAgJG9mZnNldDogJG5vdGlmaWNhdGlvbi1vZmZzZXRcclxuKSB7XHJcbiAgd2lkdGg6ICRzaXplO1xyXG5cclxuICBAaWYgJHggPT0gcmlnaHQge1xyXG4gICAgcmlnaHQ6ICRvZmZzZXQ7XHJcbiAgfVxyXG4gIEBlbHNlIGlmICR4ID09IGxlZnQge1xyXG4gICAgbGVmdDogJG9mZnNldDtcclxuICB9XHJcbiAgQGVsc2UgaWYgJHggPT0gbWlkZGxlIHtcclxuICAgIGxlZnQ6IDUwJTtcclxuICAgIG1hcmdpbi1sZWZ0OiAtKCRzaXplIC8gMik7XHJcbiAgfVxyXG5cclxuICBAaWYgJHkgPT0gdG9wIHtcclxuICAgIHRvcDogJG9mZnNldDtcclxuICB9XHJcbiAgQGVsc2UgaWYgJHkgPT0gYm90dG9tIHtcclxuICAgIHRvcDogYXV0bztcclxuICAgIGJvdHRvbTogJG9mZnNldDtcclxuICB9XHJcblxyXG4gIC8vIE9uIHNtYWxsIHNjcmVlbnMsIG5vdGlmaWNhdGlvbnMgYXJlIGZ1bGwgd2lkdGggYnV0IG1haW50YWluIHRoZWlyIHZlcnRpY2FsIG9yaWVudGF0aW9uXHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XHJcbiAgICB3aWR0aDogYXV0bztcclxuICAgIGxlZnQ6ICRvZmZzZXQ7XHJcbiAgICByaWdodDogJG9mZnNldDtcclxuICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gIH1cclxufVxyXG5AbWl4aW4gbm90aWZpY2F0aW9uLXN0eWxlKFxyXG4gICRiYWNrZ3JvdW5kOiAkbm90aWZpY2F0aW9uLWJhY2tncm91bmQsXHJcbiAgJGNvbG9yOiAkbm90aWZpY2F0aW9uLWNvbG9yLFxyXG4gICRwYWRkaW5nOiAkbm90aWZpY2F0aW9uLXBhZGRpbmcsXHJcbiAgJHJhZGl1czogJG5vdGlmaWNhdGlvbi1yYWRpdXNcclxuKSB7XHJcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XHJcbiAgcGFkZGluZzogJHBhZGRpbmc7XHJcbiAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcclxuXHJcbiAgJiwgaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XHJcbiAgICBjb2xvcjogJGNvbG9yO1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIG5vdGlmaWNhdGlvbihcclxuICAkYmFja2dyb3VuZDogJG5vdGlmaWNhdGlvbi1iYWNrZ3JvdW5kLFxyXG4gICRjb2xvcjogJG5vdGlmaWNhdGlvbi1jb2xvcixcclxuICAkcGFkZGluZzogJG5vdGlmaWNhdGlvbi1wYWRkaW5nLFxyXG4gICRyYWRpdXM6ICRub3RpZmljYXRpb24tcmFkaXVzXHJcbikge1xyXG4gIEBleHRlbmQgJW5vdGlmaWNhdGlvbjtcclxuICBAaW5jbHVkZSBub3RpZmljYXRpb24tc3R5bGUoJGJhY2tncm91bmQsICRjb2xvciwgJHBhZGRpbmcsICRyYWRpdXMpO1xyXG59XHJcblxyXG5AbWl4aW4gbm90aWZpY2F0aW9uLWNvbnRhaW5lcihcclxuICAkeDogbnRoKCRub3RpZmljYXRpb24tZGVmYXVsdC1wb3NpdGlvbiwgMSksXHJcbiAgJHk6IG50aCgkbm90aWZpY2F0aW9uLWRlZmF1bHQtcG9zaXRpb24sIDIpLFxyXG4gICRzaXplOiAkbm90aWZpY2F0aW9uLXdpZHRoLFxyXG4gICRvZmZzZXQ6ICRub3RpZmljYXRpb24tb2Zmc2V0XHJcbikge1xyXG4gIEBleHRlbmQgJW5vdGlmaWNhdGlvbi1jb250YWluZXI7XHJcbiAgQGluY2x1ZGUgbm90aWZpY2F0aW9uLWxheW91dCgkeCwgJHksICRzaXplLCAkb2Zmc2V0KTtcclxufVxyXG5cclxuQG1peGluIG5vdGlmaWNhdGlvbi1pY29uKFxyXG4gICRzaXplOiAkbm90aWZpY2F0aW9uLWljb24tc2l6ZSxcclxuICAkbWFyZ2luOiAkbm90aWZpY2F0aW9uLWljb24tbWFyZ2luLFxyXG4gICRhbGlnbjogJG5vdGlmaWNhdGlvbi1pY29uLWFsaWduXHJcbikge1xyXG4gICRhbGlnbm1lbnRzOiAoXHJcbiAgICB0b3A6IGZsZXgtc3RhcnQsXHJcbiAgICBtaWRkbGU6IG1pZGRsZSxcclxuICAgIGJvdHRvbTogZmxleC1lbmQsXHJcbiAgKTtcclxuICBmbGV4OiAwIDAgJHNpemU7XHJcbiAgbWFyZ2luLXJpZ2h0OiAkZ2xvYmFsLXBhZGRpbmc7XHJcbiAgYWxpZ24tc2VsZjogbWFwLWdldCgkYWxpZ25tZW50cywgJGFsaWduKTtcclxuXHJcbiAgaW1nIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG4gIH1cclxufVxyXG5cclxuLypcclxuICBDU1MgT3V0cHV0XHJcbiovXHJcblxyXG5AaW5jbHVkZSBleHBvcnRzKG5vdGlmaWNhdGlvbikge1xyXG4gIC5ub3RpZmljYXRpb24ge1xyXG4gICAgQGluY2x1ZGUgbm90aWZpY2F0aW9uO1xyXG5cclxuICAgICYuc3VjY2VzcyAgIHsgQGluY2x1ZGUgbm90aWZpY2F0aW9uLXN0eWxlKCRzdWNjZXNzLWNvbG9yKSB9XHJcbiAgICAmLndhcm5pbmcgICB7IEBpbmNsdWRlIG5vdGlmaWNhdGlvbi1zdHlsZSgkd2FybmluZy1jb2xvcikgfVxyXG4gICAgJi5hbGVydCAgICAgeyBAaW5jbHVkZSBub3RpZmljYXRpb24tc3R5bGUoJGFsZXJ0LWNvbG9yKSB9XHJcbiAgICAmLmRhcmsgICAgICB7IEBpbmNsdWRlIG5vdGlmaWNhdGlvbi1zdHlsZSgkZGFyay1jb2xvciwgI2ZmZikgfVxyXG5cclxuXHJcbiAgfVxyXG5cclxuICAuc3RhdGljLW5vdGlmaWNhdGlvbiB7XHJcbiAgICBAaW5jbHVkZSBub3RpZmljYXRpb247XHJcblxyXG4gICAgcG9zaXRpb246IGZpeGVkICFpbXBvcnRhbnQ7XHJcbiAgICBcclxuICAgICYudG9wLXJpZ2h0ICAgICB7IEBpbmNsdWRlIG5vdGlmaWNhdGlvbi1sYXlvdXQocmlnaHQsIHRvcCk7IH1cclxuICAgICYudG9wLWxlZnQgICAgICB7IEBpbmNsdWRlIG5vdGlmaWNhdGlvbi1sYXlvdXQobGVmdCwgdG9wKTsgfVxyXG4gICAgJi50b3AtbWlkZGxlICAgIHsgQGluY2x1ZGUgbm90aWZpY2F0aW9uLWxheW91dChtaWRkbGUsIHRvcCk7IH1cclxuXHJcbiAgICAmLmJvdHRvbS1yaWdodCAgeyBAaW5jbHVkZSBub3RpZmljYXRpb24tbGF5b3V0KHJpZ2h0LCBib3R0b20pOyB9XHJcbiAgICAmLmJvdHRvbS1sZWZ0ICAgeyBAaW5jbHVkZSBub3RpZmljYXRpb24tbGF5b3V0KGxlZnQsIGJvdHRvbSk7IH1cclxuICAgICYuYm90dG9tLW1pZGRsZSB7IEBpbmNsdWRlIG5vdGlmaWNhdGlvbi1sYXlvdXQobWlkZGxlLCBib3R0b20pOyB9XHJcblxyXG4gICAgJi5zdWNjZXNzICAgeyBAaW5jbHVkZSBub3RpZmljYXRpb24tc3R5bGUoJHN1Y2Nlc3MtY29sb3IpIH1cclxuICAgICYud2FybmluZyAgIHsgQGluY2x1ZGUgbm90aWZpY2F0aW9uLXN0eWxlKCR3YXJuaW5nLWNvbG9yKSB9XHJcbiAgICAmLmFsZXJ0ICAgICB7IEBpbmNsdWRlIG5vdGlmaWNhdGlvbi1zdHlsZSgkYWxlcnQtY29sb3IpIH1cclxuICAgICYuZGFyayAgICAgIHsgQGluY2x1ZGUgbm90aWZpY2F0aW9uLXN0eWxlKCRkYXJrLWNvbG9yLCAjZmZmKSB9XHJcbiAgfVxyXG5cclxuICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciB7XHJcbiAgICBAaW5jbHVkZSBub3RpZmljYXRpb24tY29udGFpbmVyO1xyXG5cclxuICAgICYudG9wLXJpZ2h0ICAgICB7IEBpbmNsdWRlIG5vdGlmaWNhdGlvbi1sYXlvdXQocmlnaHQsIHRvcCk7IH1cclxuICAgICYudG9wLWxlZnQgICAgICB7IEBpbmNsdWRlIG5vdGlmaWNhdGlvbi1sYXlvdXQobGVmdCwgdG9wKTsgfVxyXG4gICAgJi50b3AtbWlkZGxlICAgIHsgQGluY2x1ZGUgbm90aWZpY2F0aW9uLWxheW91dChtaWRkbGUsIHRvcCk7IH1cclxuXHJcbiAgICAmLmJvdHRvbS1yaWdodCAgeyBAaW5jbHVkZSBub3RpZmljYXRpb24tbGF5b3V0KHJpZ2h0LCBib3R0b20pOyB9XHJcbiAgICAmLmJvdHRvbS1sZWZ0ICAgeyBAaW5jbHVkZSBub3RpZmljYXRpb24tbGF5b3V0KGxlZnQsIGJvdHRvbSk7IH1cclxuICAgICYuYm90dG9tLW1pZGRsZSB7IEBpbmNsdWRlIG5vdGlmaWNhdGlvbi1sYXlvdXQobWlkZGxlLCBib3R0b20pOyB9XHJcbiAgfVxyXG5cclxuICAubm90aWZpY2F0aW9uLWljb24ge1xyXG4gICAgQGluY2x1ZGUgbm90aWZpY2F0aW9uLWljb247XHJcbiAgfVxyXG4gIC5ub3RpZmljYXRpb24tY29udGVudCB7XHJcbiAgICBmbGV4OiAxO1xyXG4gIH1cclxuXHJcbn1cclxuIiwiLypcclxuICBVVElMSVRJRVNcclxuICAtLS0tLS0tLS1cclxuXHJcbiAgUmVzcG9uc2l2ZSBoZWxwZXIgY2xhc3NlcyB0byBhc3Npc3QgeW91IGluIHF1aWNrbHkgZG9pbmcgYmFzaWMgZm9ybWF0dGluZyBhbmQgbGF5b3V0LlxyXG5cclxuICBGZWF0dXJlczpcclxuICAgLSBWZXJ0aWNhbCBhbGlnbm1lbnRcclxuICAgLSBWaXNpYmlsaXR5XHJcbiAgIC0gVGV4dCBhbGlnbm1lbnRcclxuICAgLSBGbG9hdGluZ1xyXG4qL1xyXG5cclxuJGJsb2NrLXNlbGVjdG9yOiAnW2NsYXNzKj1cImdyaWQtYmxvY2tcIl0nO1xyXG5cclxuQG1peGluIHNob3ctZm9yKCRzaXplLCAkcHJvcDogYmxvY2spIHtcclxuICAmOm5vdCgubmctaGlkZSkge1xyXG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xyXG4gICAgICBkaXNwbGF5OiAkcHJvcCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1peGluIHNob3ctZm9yLW9ubHkoJHNpemUsICRwcm9wOiBibG9jaykge1xyXG4gICY6bm90KC5uZy1oaWRlKSB7XHJcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplIG9ubHkpIHtcclxuICAgICAgZGlzcGxheTogJHByb3AgIWltcG9ydGFudDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBoaWRlLWZvcigkc2l6ZSwgJHByb3A6IGJsb2NrKSB7XHJcbiAgJjpub3QoLm5nLWhpZGUpIHtcclxuICAgIGRpc3BsYXk6ICRwcm9wICFpbXBvcnRhbnQ7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XHJcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBoaWRlLWZvci1vbmx5KCRzaXplLCAkcHJvcDogYmxvY2spIHtcclxuICAmOm5vdCgubmctaGlkZSkge1xyXG4gICAgZGlzcGxheTogJHByb3AgIWltcG9ydGFudDtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUgb25seSkge1xyXG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AaW5jbHVkZSBleHBvcnRzKHV0aWxpdGllcykge1xyXG4gIC8vIFZlcnRpY2FsIGFsaWdubWVudFxyXG4gIC52LWFsaWduIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG5cclxuICAgICRhbGlnbi12YWx1ZXM6IChcclxuICAgICAgJ3RvcCc6IGZsZXgtc3RhcnQsXHJcbiAgICAgICdjZW50ZXInOiBjZW50ZXIsXHJcbiAgICAgICdib3R0b20nOiBmbGV4LWVuZCxcclxuICAgICk7XHJcblxyXG4gICAgQGVhY2ggJG9yaWVudCBpbiAodG9wLCBjZW50ZXIsIGJvdHRvbSkge1xyXG4gICAgICAuYWxpZ24tI3skb3JpZW50fSB7XHJcbiAgICAgICAgYWxpZ24tc2VsZjogbWFwLWdldCgkYWxpZ24tdmFsdWVzLCAkb3JpZW50KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xyXG4gICAgICBAZWFjaCAkb3JpZW50IGluICh0b3AsIGNlbnRlciwgYm90dG9tKSB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xyXG4gICAgICAgICAgLiN7JHNpemV9LWFsaWduLSN7JG9yaWVudH0ge1xyXG4gICAgICAgICAgICBhbGlnbi1zZWxmOiBtYXAtZ2V0KCRhbGlnbi12YWx1ZXMsICRvcmllbnQpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gVmlzaWJpbGl0eVxyXG4gIC5oaWRlIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XHJcblxyXG4gIC5pbnZpc2libGUgeyB2aXNpYmlsaXR5OiBoaWRkZW47IH1cclxuXHJcbiAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XHJcbiAgICAuaGlkZS1mb3ItI3skc2l6ZX0ge1xyXG4gICAgICBAaW5jbHVkZSBoaWRlLWZvcigkc2l6ZSk7XHJcbiAgICAgICYjeyRibG9jay1zZWxlY3Rvcn0geyBAaW5jbHVkZSBoaWRlLWZvcigkc2l6ZSwgZmxleCk7IH1cclxuICAgIH1cclxuXHJcbiAgICAuc2hvdy1mb3ItI3skc2l6ZX0ge1xyXG4gICAgICBAaW5jbHVkZSBzaG93LWZvcigkc2l6ZSk7XHJcbiAgICAgICYjeyRibG9jay1zZWxlY3Rvcn0geyBAaW5jbHVkZSBzaG93LWZvcigkc2l6ZSwgZmxleCk7IH1cclxuICAgIH1cclxuXHJcbiAgICAuaGlkZS1mb3ItI3skc2l6ZX0tb25seSB7XHJcbiAgICAgIEBpbmNsdWRlIGhpZGUtZm9yLW9ubHkoJHNpemUpO1xyXG4gICAgICAmI3skYmxvY2stc2VsZWN0b3J9IHsgQGluY2x1ZGUgaGlkZS1mb3Itb25seSgkc2l6ZSwgZmxleCk7IH1cclxuICAgIH1cclxuXHJcbiAgICAuc2hvdy1mb3ItI3skc2l6ZX0tb25seSB7XHJcbiAgICAgIEBpbmNsdWRlIHNob3ctZm9yLW9ubHkoJHNpemUpO1xyXG4gICAgICAmI3skYmxvY2stc2VsZWN0b3J9IHsgQGluY2x1ZGUgc2hvdy1mb3Itb25seSgkc2l6ZSwgZmxleCk7IH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBlYWNoICRvcmllbnRhdGlvbiBpbiAocG9ydHJhaXQsIGxhbmRzY2FwZSkge1xyXG4gICAgLmhpZGUtZm9yLSN7JG9yaWVudGF0aW9ufSB7XHJcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG9yaWVudGF0aW9uKSB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICAgICYjeyRibG9jay1zZWxlY3Rvcn0geyBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7IH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5zaG93LWZvci0jeyRvcmllbnRhdGlvbn0ge1xyXG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgIFxyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRvcmllbnRhdGlvbikge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgJiN7JGJsb2NrLXNlbGVjdG9yfSB7IGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDsgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKlxyXG4gICAgVGV4dCBhbGlnbm1lbnRcclxuICAqL1xyXG4gIEBlYWNoICRhbGlnbiBpbiAobGVmdCwgcmlnaHQsIGNlbnRlciwganVzdGlmeSkge1xyXG4gICAgLnRleHQtI3skYWxpZ259IHtcclxuICAgICAgdGV4dC1hbGlnbjogJGFsaWduO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcclxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xyXG4gICAgICAgIC4jeyRzaXplfS10ZXh0LSN7JGFsaWdufSB7XHJcbiAgICAgICAgICB0ZXh0LWFsaWduOiAkYWxpZ247XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplIG9ubHkpIHtcclxuICAgICAgICAuI3skc2l6ZX0tb25seS10ZXh0LSN7JGFsaWdufSB7XHJcbiAgICAgICAgICB0ZXh0LWFsaWduOiAkYWxpZ247XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKlxyXG4gICAgRmxvYXRpbmdcclxuICAqL1xyXG4gIC5jbGVhcmZpeCB7IEBpbmNsdWRlIGNsZWFyZml4OyB9XHJcblxyXG4gIEBlYWNoICRmbG9hdCBpbiAobGVmdCwgcmlnaHQsIG5vbmUpIHtcclxuICAgIC5mbG9hdC0jeyRmbG9hdH0ge1xyXG4gICAgICBmbG9hdDogI3skZmxvYXR9O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBBcHBzXG4vL1xuLy8gTWl4aW5zXG4vLyAtLS0tLS1cbi8vIFRoZSBmcmFtZXdvcmsgY29tZXMgd2l0aCBhIG51bWJlciBvZiBtaXhpbnMgdGhhdCBoZWxwIHlvdSBlYXNpbHkgY3JlYXRlIGNvbW1vbiBzbWFsbCBjb21wb25lbnRzLFxuLy8gbGlrZSB0cmlhbmdsZXMgYW5kIG1lbnUgaWNvbnMuXG5cbi8vLyBDU1MgVHJpYW5nbGVcbi8vLyBDcmVhdGVzIGEgQ1NTIHRyaWFuZ2xlLCB3aGljaCBjYW4gYmUgdXNlZCBmb3IgZHJvcGRvd24gYXJyb3dzLCBwb3B1cCB0YWlscywgYW5kIG1vcmUuIFVzZSB0aGlzIG1peGluIGluc2lkZSBhIGAmOjpiZWZvcmVgIG9yIGAmOjphZnRlcmAgc2VsZWN0b3IsIHRvIGF0dGFjaCB0aGUgdHJpYW5nbGUgdG8gYW4gZXhpc3RpbmcgZWxlbWVudC5cbi8vL1xuLy8vIEBwYXJhbSB7bnVtYmVyfSAkdHJpYW5nbGUtc2l6ZSAtIFdpZHRoIG9mIHRoZSB0cmlhbmdsZS5cbi8vLyBAcGFyYW0ge2NvbG9yfSAkdHJpYW5nbGUtY29sb3IgLSBDb2xvciBvZiB0aGUgdHJpYW5nbGUuXG4vLy8gQHBhcmFtIHtrZXl3b3JkfSAkdHJpYW5nbGUtZGlyZWN0aW9uIC0gRGlyZWN0aW9uIHRoZSB0cmlhbmdsZSBwb2ludHMuIENhbiBiZSBgdG9wYCwgYHJpZ2h0YCwgYGJvdHRvbWAsIG9yIGBsZWZ0YC5cbkBtaXhpbiBjc3MtdHJpYW5nbGUoJHRyaWFuZ2xlLXNpemUsICR0cmlhbmdsZS1jb2xvciwgJHRyaWFuZ2xlLWRpcmVjdGlvbikge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyOiBpbnNldCAkdHJpYW5nbGUtc2l6ZTtcbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IHRvcCkge1xuICAgIGJvcmRlci1jb2xvcjogJHRyaWFuZ2xlLWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSBib3R0b20pIHtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvciB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gbGVmdCkge1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yO1xuICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gcmlnaHQpIHtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICB9XG59XG5cbi8vIEBtaXhpbnNcbi8vXG4vLy8gSGFtYnVyZ2VyXG4vLy8gQ3JlYXRlcyBhIHRocmVlLWxpbmUgbWVudSBpY29uLCBhZmZlY3Rpb25hdGVseSByZWZlcnJlZCB0byBhcyB0aGUgXCJoYW1idXJnZXIgaWNvblwiLlxuLy8vXG4vLy8gQHBhcmFtIHtudW1iZXJ9ICR3aWR0aCAtIFdpZHRoIG9mIHRoZSBpY29uLCBpbiByZW0gdW5pdHMuXG4vLy8gQHBhcmFtIHtudW1iZXJ8Ym9vbGVhbn0gJGxlZnQgLSBMZWZ0IG9mZnNldCBvZiB0aGUgaWNvbi4gU2V0IHRvIGBmYWxzZWAgdG8gY2VudGVyIHRoZSBpY29uIGhvcml6b250YWxseS5cbi8vLyBAcGFyYW0ge251bWJlcnxib29sZWFufSAkdG9wIC0gVG9wIG9mZnNldCBvZiB0aGUgaWNvbi4gU2V0IHRvIGBmYWxzZWAgdG8gY2VudGVyIHRoZSBpY29uIHZlcnRpY2FsbHkuXG4vLy8gQHBhcmFtIHtudW1iZXJ9ICR0aGlja25lc3MgLSBIZWlnaHQgb2YgZWFjaCBsaW5lIGluIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7bnVtYmVyfSAkZ2FwIC0gQW1vdW50IG9mIHNwYWNlIGJldHdlZW4gZWFjaCBsaW5lLlxuLy8vIEBwYXJhbSB7Y29sb3J9ICRjb2xvciAtIENvbG9yIG9mIHRoZSBsaW5lcy5cbi8vLyBAcGFyYW0ge2NvbG9yfSAkaG92ZXItY29sb3IgLSBDb2xvciBvZiB0aGUgbGluZXMgb24gaG92ZXIuXG5AbWl4aW4gaGFtYnVyZ2VyKCR3aWR0aCwgJGxlZnQsICR0b3AsICR0aGlja25lc3MsICRnYXAsICRjb2xvciwgJGhvdmVyLWNvbG9yLCAkb2ZmY2FudmFzKSB7XG4gIHNwYW46OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDA7XG5cbiAgICBAaWYgJG9mZmNhbnZhcyB7XG4gICAgICBAaWYgJHRvcCB7XG4gICAgICAgIHRvcDogJHRvcDtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIG1hcmdpbi10b3A6IC0kd2lkdGgvMjtcbiAgICAgIH1cbiAgICAgIEBpZiAkbGVmdCB7XG4gICAgICAgIGxlZnQ6ICRsZWZ0O1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBsZWZ0OiAoJHRhYmJhci1tZW51LWljb24td2lkdGggLSAkd2lkdGgpLzI7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbWFyZ2luLXRvcDogLSR3aWR0aC8yO1xuICAgICAgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogJHRvcGJhci1saW5rLXBhZGRpbmc7XG4gICAgfVxuXG4gICAgYm94LXNoYWRvdzpcbiAgICAgIDAgMHB4IDAgJHRoaWNrbmVzcyAkY29sb3IsXG4gICAgICAwICRnYXAgKyAkdGhpY2tuZXNzIDAgJHRoaWNrbmVzcyAkY29sb3IsXG4gICAgICAwICgyICogJGdhcCArIDIqJHRoaWNrbmVzcykgMCAkdGhpY2tuZXNzICRjb2xvcjtcbiAgICB3aWR0aDogJHdpZHRoO1xuICB9XG4gIHNwYW46aG92ZXI6YWZ0ZXIge1xuICAgIGJveC1zaGFkb3c6XG4gICAgICAwIDBweCAwICR0aGlja25lc3MgJGhvdmVyLWNvbG9yLFxuICAgICAgMCAkZ2FwICsgJHRoaWNrbmVzcyAwICR0aGlja25lc3MgJGhvdmVyLWNvbG9yLFxuICAgICAgMCAoMiAqICRnYXAgKyAyKiR0aGlja25lc3MpIDAgJHRoaWNrbmVzcyAkaG92ZXItY29sb3I7XG4gIH1cbn1cblxuLy8vIENsZWFyZml4XG4vLy8gVXNlcyB0aGUgbWljcm8gY2xlYXJmaXggaGFjayBwb3B1bGFyaXplZCBieSBOaWNvbGFzIEdhbGxhZ2hlci4gSW5jbHVkZSB0aGlzIG1peGluIG9uIGEgY29udGFpbmVyIGlmIGl0cyBjaGlsZHJlbiBhcmUgYWxsIGZsb2F0ZWQsIHRvIGdpdmUgdGhlIGNvbnRhaW5lciBhIHByb3BlciBoZWlnaHQuXG4vLy9cbi8vLyBAc2VlIGh0dHA6Ly9uaWNvbGFzZ2FsbGFnaGVyLmNvbS9taWNyby1jbGVhcmZpeC1oYWNrL1xuQG1peGluIGNsZWFyZml4IHtcbiAgJjpiZWZvcmUsICY6YWZ0ZXIgeyBjb250ZW50OiBcIiBcIjsgZGlzcGxheTogdGFibGU7IH1cbiAgJjphZnRlciB7IGNsZWFyOiBib3RoOyB9XG59XG5cbi8vLyBJbnZpc2libGUgRWxlbWVudFxuLy8vIE1ha2VzIGFuIGVsZW1lbnQgdmlzdWFsbHkgaGlkZGVuLCBidXQgYWNjZXNzaWJsZS5cbi8vL1xuLy8vIEBzZWUgaHR0cDovL3Nub29rLmNhL2FyY2hpdmVzL2h0bWxfYW5kX2Nzcy9oaWRpbmctY29udGVudC1mb3ItYWNjZXNzaWJpbGl0eVxuQG1peGluIGVsZW1lbnQtaW52aXNpYmxlIHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMXB4O1xuICB3aWR0aDogMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7XG59XG5cbi8vLyBJbnZpc2libGUgRWxlbWVudCBPZmZcbi8vLyBSZXZlcnNlcyB0aGUgQ1NTIG91dHB1dCBieSB0aGUgYGVsZW1lbnQtaW52aXNpYmxlKClgIG1peGluLlxuQG1peGluIGVsZW1lbnQtaW52aXNpYmxlLW9mZiB7XG4gIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgaGVpZ2h0OiBhdXRvO1xuICB3aWR0aDogYXV0bztcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIGNsaXA6IGF1dG87XG59XG5cbiR0ZXh0LWlucHV0LXNlbGVjdG9yczogJ2lucHV0W3R5cGU9XCJ0ZXh0XCJdLCBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0sIGlucHV0W3R5cGU9XCJkYXRlXCJdLCBpbnB1dFt0eXBlPVwiZGF0ZXRpbWVcIl0sIGlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXSwgaW5wdXRbdHlwZT1cIm1vbnRoXCJdLCBpbnB1dFt0eXBlPVwid2Vla1wiXSwgaW5wdXRbdHlwZT1cImVtYWlsXCJdLCBpbnB1dFt0eXBlPVwibnVtYmVyXCJdLCBpbnB1dFt0eXBlPVwic2VhcmNoXCJdLCBpbnB1dFt0eXBlPVwidGVsXCJdLCBpbnB1dFt0eXBlPVwidGltZVwiXSwgaW5wdXRbdHlwZT1cInVybFwiXSwgaW5wdXRbdHlwZT1cImNvbG9yXCJdLCB0ZXh0YXJlYSc7XG4iLCIvKiBcbiAqIEZvdW5kYXRpb24gSWNvbnMgdiAzLjBcbiAqIE1hZGUgYnkgWlVSQiAyMDEzIGh0dHA6Ly96dXJiLmNvbS9wbGF5Z3JvdW5kL2ZvdW5kYXRpb24taWNvbi1mb250cy0zXG4gKiBNSVQgTGljZW5zZVxuICovXG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJmb3VuZGF0aW9uLWljb25zXCI7XG4gIHNyYzogdXJsKFwiL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1pY29ucy53b2ZmXCIpIGZvcm1hdChcIndvZmZcIik7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuXG4uZmktYWRkcmVzcy1ib29rOmJlZm9yZSxcbi5maS1hbGVydDpiZWZvcmUsXG4uZmktYWxpZ24tY2VudGVyOmJlZm9yZSxcbi5maS1hbGlnbi1qdXN0aWZ5OmJlZm9yZSxcbi5maS1hbGlnbi1sZWZ0OmJlZm9yZSxcbi5maS1hbGlnbi1yaWdodDpiZWZvcmUsXG4uZmktYW5jaG9yOmJlZm9yZSxcbi5maS1hbm5vdGF0ZTpiZWZvcmUsXG4uZmktYXJjaGl2ZTpiZWZvcmUsXG4uZmktYXJyb3ctZG93bjpiZWZvcmUsXG4uZmktYXJyb3ctbGVmdDpiZWZvcmUsXG4uZmktYXJyb3ctcmlnaHQ6YmVmb3JlLFxuLmZpLWFycm93LXVwOmJlZm9yZSxcbi5maS1hcnJvd3MtY29tcHJlc3M6YmVmb3JlLFxuLmZpLWFycm93cy1leHBhbmQ6YmVmb3JlLFxuLmZpLWFycm93cy1pbjpiZWZvcmUsXG4uZmktYXJyb3dzLW91dDpiZWZvcmUsXG4uZmktYXNsOmJlZm9yZSxcbi5maS1hc3RlcmlzazpiZWZvcmUsXG4uZmktYXQtc2lnbjpiZWZvcmUsXG4uZmktYmFja2dyb3VuZC1jb2xvcjpiZWZvcmUsXG4uZmktYmF0dGVyeS1lbXB0eTpiZWZvcmUsXG4uZmktYmF0dGVyeS1mdWxsOmJlZm9yZSxcbi5maS1iYXR0ZXJ5LWhhbGY6YmVmb3JlLFxuLmZpLWJpdGNvaW4tY2lyY2xlOmJlZm9yZSxcbi5maS1iaXRjb2luOmJlZm9yZSxcbi5maS1ibGluZDpiZWZvcmUsXG4uZmktYmx1ZXRvb3RoOmJlZm9yZSxcbi5maS1ib2xkOmJlZm9yZSxcbi5maS1ib29rLWJvb2ttYXJrOmJlZm9yZSxcbi5maS1ib29rOmJlZm9yZSxcbi5maS1ib29rbWFyazpiZWZvcmUsXG4uZmktYnJhaWxsZTpiZWZvcmUsXG4uZmktYnVyc3QtbmV3OmJlZm9yZSxcbi5maS1idXJzdC1zYWxlOmJlZm9yZSxcbi5maS1idXJzdDpiZWZvcmUsXG4uZmktY2FsZW5kYXI6YmVmb3JlLFxuLmZpLWNhbWVyYTpiZWZvcmUsXG4uZmktY2hlY2s6YmVmb3JlLFxuLmZpLWNoZWNrYm94OmJlZm9yZSxcbi5maS1jbGlwYm9hcmQtbm90ZXM6YmVmb3JlLFxuLmZpLWNsaXBib2FyZC1wZW5jaWw6YmVmb3JlLFxuLmZpLWNsaXBib2FyZDpiZWZvcmUsXG4uZmktY2xvY2s6YmVmb3JlLFxuLmZpLWNsb3NlZC1jYXB0aW9uOmJlZm9yZSxcbi5maS1jbG91ZDpiZWZvcmUsXG4uZmktY29tbWVudC1taW51czpiZWZvcmUsXG4uZmktY29tbWVudC1xdW90ZXM6YmVmb3JlLFxuLmZpLWNvbW1lbnQtdmlkZW86YmVmb3JlLFxuLmZpLWNvbW1lbnQ6YmVmb3JlLFxuLmZpLWNvbW1lbnRzOmJlZm9yZSxcbi5maS1jb21wYXNzOmJlZm9yZSxcbi5maS1jb250cmFzdDpiZWZvcmUsXG4uZmktY3JlZGl0LWNhcmQ6YmVmb3JlLFxuLmZpLWNyb3A6YmVmb3JlLFxuLmZpLWNyb3duOmJlZm9yZSxcbi5maS1jc3MzOmJlZm9yZSxcbi5maS1kYXRhYmFzZTpiZWZvcmUsXG4uZmktZGllLWZpdmU6YmVmb3JlLFxuLmZpLWRpZS1mb3VyOmJlZm9yZSxcbi5maS1kaWUtb25lOmJlZm9yZSxcbi5maS1kaWUtc2l4OmJlZm9yZSxcbi5maS1kaWUtdGhyZWU6YmVmb3JlLFxuLmZpLWRpZS10d286YmVmb3JlLFxuLmZpLWRpc2xpa2U6YmVmb3JlLFxuLmZpLWRvbGxhci1iaWxsOmJlZm9yZSxcbi5maS1kb2xsYXI6YmVmb3JlLFxuLmZpLWRvd25sb2FkOmJlZm9yZSxcbi5maS1lamVjdDpiZWZvcmUsXG4uZmktZWxldmF0b3I6YmVmb3JlLFxuLmZpLWV1cm86YmVmb3JlLFxuLmZpLWV5ZTpiZWZvcmUsXG4uZmktZmFzdC1mb3J3YXJkOmJlZm9yZSxcbi5maS1mZW1hbGUtc3ltYm9sOmJlZm9yZSxcbi5maS1mZW1hbGU6YmVmb3JlLFxuLmZpLWZpbHRlcjpiZWZvcmUsXG4uZmktZmlyc3QtYWlkOmJlZm9yZSxcbi5maS1mbGFnOmJlZm9yZSxcbi5maS1mb2xkZXItYWRkOmJlZm9yZSxcbi5maS1mb2xkZXItbG9jazpiZWZvcmUsXG4uZmktZm9sZGVyOmJlZm9yZSxcbi5maS1mb290OmJlZm9yZSxcbi5maS1mb3VuZGF0aW9uOmJlZm9yZSxcbi5maS1ncmFwaC1iYXI6YmVmb3JlLFxuLmZpLWdyYXBoLWhvcml6b250YWw6YmVmb3JlLFxuLmZpLWdyYXBoLXBpZTpiZWZvcmUsXG4uZmktZ3JhcGgtdHJlbmQ6YmVmb3JlLFxuLmZpLWd1aWRlLWRvZzpiZWZvcmUsXG4uZmktaGVhcmluZy1haWQ6YmVmb3JlLFxuLmZpLWhlYXJ0OmJlZm9yZSxcbi5maS1ob21lOmJlZm9yZSxcbi5maS1odG1sNTpiZWZvcmUsXG4uZmktaW5kZW50LWxlc3M6YmVmb3JlLFxuLmZpLWluZGVudC1tb3JlOmJlZm9yZSxcbi5maS1pbmZvOmJlZm9yZSxcbi5maS1pdGFsaWM6YmVmb3JlLFxuLmZpLWtleTpiZWZvcmUsXG4uZmktbGFwdG9wOmJlZm9yZSxcbi5maS1sYXlvdXQ6YmVmb3JlLFxuLmZpLWxpZ2h0YnVsYjpiZWZvcmUsXG4uZmktbGlrZTpiZWZvcmUsXG4uZmktbGluazpiZWZvcmUsXG4uZmktbGlzdC1idWxsZXQ6YmVmb3JlLFxuLmZpLWxpc3QtbnVtYmVyOmJlZm9yZSxcbi5maS1saXN0LXRodW1ibmFpbHM6YmVmb3JlLFxuLmZpLWxpc3Q6YmVmb3JlLFxuLmZpLWxvY2s6YmVmb3JlLFxuLmZpLWxvb3A6YmVmb3JlLFxuLmZpLW1hZ25pZnlpbmctZ2xhc3M6YmVmb3JlLFxuLmZpLW1haWw6YmVmb3JlLFxuLmZpLW1hbGUtZmVtYWxlOmJlZm9yZSxcbi5maS1tYWxlLXN5bWJvbDpiZWZvcmUsXG4uZmktbWFsZTpiZWZvcmUsXG4uZmktbWFwOmJlZm9yZSxcbi5maS1tYXJrZXI6YmVmb3JlLFxuLmZpLW1lZ2FwaG9uZTpiZWZvcmUsXG4uZmktbWljcm9waG9uZTpiZWZvcmUsXG4uZmktbWludXMtY2lyY2xlOmJlZm9yZSxcbi5maS1taW51czpiZWZvcmUsXG4uZmktbW9iaWxlLXNpZ25hbDpiZWZvcmUsXG4uZmktbW9iaWxlOmJlZm9yZSxcbi5maS1tb25pdG9yOmJlZm9yZSxcbi5maS1tb3VudGFpbnM6YmVmb3JlLFxuLmZpLW11c2ljOmJlZm9yZSxcbi5maS1uZXh0OmJlZm9yZSxcbi5maS1uby1kb2dzOmJlZm9yZSxcbi5maS1uby1zbW9raW5nOmJlZm9yZSxcbi5maS1wYWdlLWFkZDpiZWZvcmUsXG4uZmktcGFnZS1jb3B5OmJlZm9yZSxcbi5maS1wYWdlLWNzdjpiZWZvcmUsXG4uZmktcGFnZS1kZWxldGU6YmVmb3JlLFxuLmZpLXBhZ2UtZG9jOmJlZm9yZSxcbi5maS1wYWdlLWVkaXQ6YmVmb3JlLFxuLmZpLXBhZ2UtZXhwb3J0LWNzdjpiZWZvcmUsXG4uZmktcGFnZS1leHBvcnQtZG9jOmJlZm9yZSxcbi5maS1wYWdlLWV4cG9ydC1wZGY6YmVmb3JlLFxuLmZpLXBhZ2UtZXhwb3J0OmJlZm9yZSxcbi5maS1wYWdlLWZpbGxlZDpiZWZvcmUsXG4uZmktcGFnZS1tdWx0aXBsZTpiZWZvcmUsXG4uZmktcGFnZS1wZGY6YmVmb3JlLFxuLmZpLXBhZ2UtcmVtb3ZlOmJlZm9yZSxcbi5maS1wYWdlLXNlYXJjaDpiZWZvcmUsXG4uZmktcGFnZTpiZWZvcmUsXG4uZmktcGFpbnQtYnVja2V0OmJlZm9yZSxcbi5maS1wYXBlcmNsaXA6YmVmb3JlLFxuLmZpLXBhdXNlOmJlZm9yZSxcbi5maS1wYXc6YmVmb3JlLFxuLmZpLXBheXBhbDpiZWZvcmUsXG4uZmktcGVuY2lsOmJlZm9yZSxcbi5maS1waG90bzpiZWZvcmUsXG4uZmktcGxheS1jaXJjbGU6YmVmb3JlLFxuLmZpLXBsYXktdmlkZW86YmVmb3JlLFxuLmZpLXBsYXk6YmVmb3JlLFxuLmZpLXBsdXM6YmVmb3JlLFxuLmZpLXBvdW5kOmJlZm9yZSxcbi5maS1wb3dlcjpiZWZvcmUsXG4uZmktcHJldmlvdXM6YmVmb3JlLFxuLmZpLXByaWNlLXRhZzpiZWZvcmUsXG4uZmktcHJpY2V0YWctbXVsdGlwbGU6YmVmb3JlLFxuLmZpLXByaW50OmJlZm9yZSxcbi5maS1wcm9oaWJpdGVkOmJlZm9yZSxcbi5maS1wcm9qZWN0aW9uLXNjcmVlbjpiZWZvcmUsXG4uZmktcHV6emxlOmJlZm9yZSxcbi5maS1xdW90ZTpiZWZvcmUsXG4uZmktcmVjb3JkOmJlZm9yZSxcbi5maS1yZWZyZXNoOmJlZm9yZSxcbi5maS1yZXN1bHRzLWRlbW9ncmFwaGljczpiZWZvcmUsXG4uZmktcmVzdWx0czpiZWZvcmUsXG4uZmktcmV3aW5kLXRlbjpiZWZvcmUsXG4uZmktcmV3aW5kOmJlZm9yZSxcbi5maS1yc3M6YmVmb3JlLFxuLmZpLXNhZmV0eS1jb25lOmJlZm9yZSxcbi5maS1zYXZlOmJlZm9yZSxcbi5maS1zaGFyZTpiZWZvcmUsXG4uZmktc2hlcmlmZi1iYWRnZTpiZWZvcmUsXG4uZmktc2hpZWxkOmJlZm9yZSxcbi5maS1zaG9wcGluZy1iYWc6YmVmb3JlLFxuLmZpLXNob3BwaW5nLWNhcnQ6YmVmb3JlLFxuLmZpLXNodWZmbGU6YmVmb3JlLFxuLmZpLXNrdWxsOmJlZm9yZSxcbi5maS1zb2NpYWwtNTAwcHg6YmVmb3JlLFxuLmZpLXNvY2lhbC1hZG9iZTpiZWZvcmUsXG4uZmktc29jaWFsLWFtYXpvbjpiZWZvcmUsXG4uZmktc29jaWFsLWFuZHJvaWQ6YmVmb3JlLFxuLmZpLXNvY2lhbC1hcHBsZTpiZWZvcmUsXG4uZmktc29jaWFsLWJlaGFuY2U6YmVmb3JlLFxuLmZpLXNvY2lhbC1iaW5nOmJlZm9yZSxcbi5maS1zb2NpYWwtYmxvZ2dlcjpiZWZvcmUsXG4uZmktc29jaWFsLWRlbGljaW91czpiZWZvcmUsXG4uZmktc29jaWFsLWRlc2lnbmVyLW5ld3M6YmVmb3JlLFxuLmZpLXNvY2lhbC1kZXZpYW50LWFydDpiZWZvcmUsXG4uZmktc29jaWFsLWRpZ2c6YmVmb3JlLFxuLmZpLXNvY2lhbC1kcmliYmJsZTpiZWZvcmUsXG4uZmktc29jaWFsLWRyaXZlOmJlZm9yZSxcbi5maS1zb2NpYWwtZHJvcGJveDpiZWZvcmUsXG4uZmktc29jaWFsLWV2ZXJub3RlOmJlZm9yZSxcbi5maS1zb2NpYWwtZmFjZWJvb2s6YmVmb3JlLFxuLmZpLXNvY2lhbC1mbGlja3I6YmVmb3JlLFxuLmZpLXNvY2lhbC1mb3Jyc3Q6YmVmb3JlLFxuLmZpLXNvY2lhbC1mb3Vyc3F1YXJlOmJlZm9yZSxcbi5maS1zb2NpYWwtZ2FtZS1jZW50ZXI6YmVmb3JlLFxuLmZpLXNvY2lhbC1naXRodWI6YmVmb3JlLFxuLmZpLXNvY2lhbC1nb29nbGUtcGx1czpiZWZvcmUsXG4uZmktc29jaWFsLWhhY2tlci1uZXdzOmJlZm9yZSxcbi5maS1zb2NpYWwtaGk1OmJlZm9yZSxcbi5maS1zb2NpYWwtaW5zdGFncmFtOmJlZm9yZSxcbi5maS1zb2NpYWwtam9vbWxhOmJlZm9yZSxcbi5maS1zb2NpYWwtbGFzdGZtOmJlZm9yZSxcbi5maS1zb2NpYWwtbGlua2VkaW46YmVmb3JlLFxuLmZpLXNvY2lhbC1tZWRpdW06YmVmb3JlLFxuLmZpLXNvY2lhbC1teXNwYWNlOmJlZm9yZSxcbi5maS1zb2NpYWwtb3JrdXQ6YmVmb3JlLFxuLmZpLXNvY2lhbC1wYXRoOmJlZm9yZSxcbi5maS1zb2NpYWwtcGljYXNhOmJlZm9yZSxcbi5maS1zb2NpYWwtcGludGVyZXN0OmJlZm9yZSxcbi5maS1zb2NpYWwtcmRpbzpiZWZvcmUsXG4uZmktc29jaWFsLXJlZGRpdDpiZWZvcmUsXG4uZmktc29jaWFsLXNraWxsc2hhcmU6YmVmb3JlLFxuLmZpLXNvY2lhbC1za3lwZTpiZWZvcmUsXG4uZmktc29jaWFsLXNtYXNoaW5nLW1hZzpiZWZvcmUsXG4uZmktc29jaWFsLXNuYXBjaGF0OmJlZm9yZSxcbi5maS1zb2NpYWwtc3BvdGlmeTpiZWZvcmUsXG4uZmktc29jaWFsLXNxdWlkb286YmVmb3JlLFxuLmZpLXNvY2lhbC1zdGFjay1vdmVyZmxvdzpiZWZvcmUsXG4uZmktc29jaWFsLXN0ZWFtOmJlZm9yZSxcbi5maS1zb2NpYWwtc3R1bWJsZXVwb246YmVmb3JlLFxuLmZpLXNvY2lhbC10cmVlaG91c2U6YmVmb3JlLFxuLmZpLXNvY2lhbC10dW1ibHI6YmVmb3JlLFxuLmZpLXNvY2lhbC10d2l0dGVyOmJlZm9yZSxcbi5maS1zb2NpYWwtdmltZW86YmVmb3JlLFxuLmZpLXNvY2lhbC13aW5kb3dzOmJlZm9yZSxcbi5maS1zb2NpYWwteGJveDpiZWZvcmUsXG4uZmktc29jaWFsLXlhaG9vOmJlZm9yZSxcbi5maS1zb2NpYWwteWVscDpiZWZvcmUsXG4uZmktc29jaWFsLXlvdXR1YmU6YmVmb3JlLFxuLmZpLXNvY2lhbC16ZXJwbHk6YmVmb3JlLFxuLmZpLXNvY2lhbC16dXJiOmJlZm9yZSxcbi5maS1zb3VuZDpiZWZvcmUsXG4uZmktc3RhcjpiZWZvcmUsXG4uZmktc3RvcDpiZWZvcmUsXG4uZmktc3RyaWtldGhyb3VnaDpiZWZvcmUsXG4uZmktc3Vic2NyaXB0OmJlZm9yZSxcbi5maS1zdXBlcnNjcmlwdDpiZWZvcmUsXG4uZmktdGFibGV0LWxhbmRzY2FwZTpiZWZvcmUsXG4uZmktdGFibGV0LXBvcnRyYWl0OmJlZm9yZSxcbi5maS10YXJnZXQtdHdvOmJlZm9yZSxcbi5maS10YXJnZXQ6YmVmb3JlLFxuLmZpLXRlbGVwaG9uZS1hY2Nlc3NpYmxlOmJlZm9yZSxcbi5maS10ZWxlcGhvbmU6YmVmb3JlLFxuLmZpLXRleHQtY29sb3I6YmVmb3JlLFxuLmZpLXRodW1ibmFpbHM6YmVmb3JlLFxuLmZpLXRpY2tldDpiZWZvcmUsXG4uZmktdG9yc28tYnVzaW5lc3M6YmVmb3JlLFxuLmZpLXRvcnNvLWZlbWFsZTpiZWZvcmUsXG4uZmktdG9yc286YmVmb3JlLFxuLmZpLXRvcnNvcy1hbGwtZmVtYWxlOmJlZm9yZSxcbi5maS10b3Jzb3MtYWxsOmJlZm9yZSxcbi5maS10b3Jzb3MtZmVtYWxlLW1hbGU6YmVmb3JlLFxuLmZpLXRvcnNvcy1tYWxlLWZlbWFsZTpiZWZvcmUsXG4uZmktdG9yc29zOmJlZm9yZSxcbi5maS10cmFzaDpiZWZvcmUsXG4uZmktdHJlZXM6YmVmb3JlLFxuLmZpLXRyb3BoeTpiZWZvcmUsXG4uZmktdW5kZXJsaW5lOmJlZm9yZSxcbi5maS11bml2ZXJzYWwtYWNjZXNzOmJlZm9yZSxcbi5maS11bmxpbms6YmVmb3JlLFxuLmZpLXVubG9jazpiZWZvcmUsXG4uZmktdXBsb2FkLWNsb3VkOmJlZm9yZSxcbi5maS11cGxvYWQ6YmVmb3JlLFxuLmZpLXVzYjpiZWZvcmUsXG4uZmktdmlkZW86YmVmb3JlLFxuLmZpLXZvbHVtZS1ub25lOmJlZm9yZSxcbi5maS12b2x1bWUtc3RyaWtlOmJlZm9yZSxcbi5maS12b2x1bWU6YmVmb3JlLFxuLmZpLXdlYjpiZWZvcmUsXG4uZmktd2hlZWxjaGFpcjpiZWZvcmUsXG4uZmktd2lkZ2V0OmJlZm9yZSxcbi5maS13cmVuY2g6YmVmb3JlLFxuLmZpLXgtY2lyY2xlOmJlZm9yZSxcbi5maS14OmJlZm9yZSxcbi5maS15ZW46YmVmb3JlLFxuLmZpLXpvb20taW46YmVmb3JlLFxuLmZpLXpvb20tb3V0OmJlZm9yZSB7XG4gIGZvbnQtZmFtaWx5OiBcImZvdW5kYXRpb24taWNvbnNcIjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XG59XG5cbi5maS1hZGRyZXNzLWJvb2s6YmVmb3JlIHsgY29udGVudDogXCJcXGYxMDBcIjsgfVxuLmZpLWFsZXJ0OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTAxXCI7IH1cbi5maS1hbGlnbi1jZW50ZXI6YmVmb3JlIHsgY29udGVudDogXCJcXGYxMDJcIjsgfVxuLmZpLWFsaWduLWp1c3RpZnk6YmVmb3JlIHsgY29udGVudDogXCJcXGYxMDNcIjsgfVxuLmZpLWFsaWduLWxlZnQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYxMDRcIjsgfVxuLmZpLWFsaWduLXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTA1XCI7IH1cbi5maS1hbmNob3I6YmVmb3JlIHsgY29udGVudDogXCJcXGYxMDZcIjsgfVxuLmZpLWFubm90YXRlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTA3XCI7IH1cbi5maS1hcmNoaXZlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTA4XCI7IH1cbi5maS1hcnJvdy1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTA5XCI7IH1cbi5maS1hcnJvdy1sZWZ0OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTBhXCI7IH1cbi5maS1hcnJvdy1yaWdodDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjEwYlwiOyB9XG4uZmktYXJyb3ctdXA6YmVmb3JlIHsgY29udGVudDogXCJcXGYxMGNcIjsgfVxuLmZpLWFycm93cy1jb21wcmVzczpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjEwZFwiOyB9XG4uZmktYXJyb3dzLWV4cGFuZDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjEwZVwiOyB9XG4uZmktYXJyb3dzLWluOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTBmXCI7IH1cbi5maS1hcnJvd3Mtb3V0OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTEwXCI7IH1cbi5maS1hc2w6YmVmb3JlIHsgY29udGVudDogXCJcXGYxMTFcIjsgfVxuLmZpLWFzdGVyaXNrOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTEyXCI7IH1cbi5maS1hdC1zaWduOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTEzXCI7IH1cbi5maS1iYWNrZ3JvdW5kLWNvbG9yOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTE0XCI7IH1cbi5maS1iYXR0ZXJ5LWVtcHR5OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTE1XCI7IH1cbi5maS1iYXR0ZXJ5LWZ1bGw6YmVmb3JlIHsgY29udGVudDogXCJcXGYxMTZcIjsgfVxuLmZpLWJhdHRlcnktaGFsZjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjExN1wiOyB9XG4uZmktYml0Y29pbi1jaXJjbGU6YmVmb3JlIHsgY29udGVudDogXCJcXGYxMThcIjsgfVxuLmZpLWJpdGNvaW46YmVmb3JlIHsgY29udGVudDogXCJcXGYxMTlcIjsgfVxuLmZpLWJsaW5kOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTFhXCI7IH1cbi5maS1ibHVldG9vdGg6YmVmb3JlIHsgY29udGVudDogXCJcXGYxMWJcIjsgfVxuLmZpLWJvbGQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYxMWNcIjsgfVxuLmZpLWJvb2stYm9va21hcms6YmVmb3JlIHsgY29udGVudDogXCJcXGYxMWRcIjsgfVxuLmZpLWJvb2s6YmVmb3JlIHsgY29udGVudDogXCJcXGYxMWVcIjsgfVxuLmZpLWJvb2ttYXJrOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTFmXCI7IH1cbi5maS1icmFpbGxlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTIwXCI7IH1cbi5maS1idXJzdC1uZXc6YmVmb3JlIHsgY29udGVudDogXCJcXGYxMjFcIjsgfVxuLmZpLWJ1cnN0LXNhbGU6YmVmb3JlIHsgY29udGVudDogXCJcXGYxMjJcIjsgfVxuLmZpLWJ1cnN0OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTIzXCI7IH1cbi5maS1jYWxlbmRhcjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjEyNFwiOyB9XG4uZmktY2FtZXJhOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTI1XCI7IH1cbi5maS1jaGVjazpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjEyNlwiOyB9XG4uZmktY2hlY2tib3g6YmVmb3JlIHsgY29udGVudDogXCJcXGYxMjdcIjsgfVxuLmZpLWNsaXBib2FyZC1ub3RlczpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjEyOFwiOyB9XG4uZmktY2xpcGJvYXJkLXBlbmNpbDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjEyOVwiOyB9XG4uZmktY2xpcGJvYXJkOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTJhXCI7IH1cbi5maS1jbG9jazpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjEyYlwiOyB9XG4uZmktY2xvc2VkLWNhcHRpb246YmVmb3JlIHsgY29udGVudDogXCJcXGYxMmNcIjsgfVxuLmZpLWNsb3VkOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTJkXCI7IH1cbi5maS1jb21tZW50LW1pbnVzOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTJlXCI7IH1cbi5maS1jb21tZW50LXF1b3RlczpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjEyZlwiOyB9XG4uZmktY29tbWVudC12aWRlbzpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjEzMFwiOyB9XG4uZmktY29tbWVudDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjEzMVwiOyB9XG4uZmktY29tbWVudHM6YmVmb3JlIHsgY29udGVudDogXCJcXGYxMzJcIjsgfVxuLmZpLWNvbXBhc3M6YmVmb3JlIHsgY29udGVudDogXCJcXGYxMzNcIjsgfVxuLmZpLWNvbnRyYXN0OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTM0XCI7IH1cbi5maS1jcmVkaXQtY2FyZDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjEzNVwiOyB9XG4uZmktY3JvcDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjEzNlwiOyB9XG4uZmktY3Jvd246YmVmb3JlIHsgY29udGVudDogXCJcXGYxMzdcIjsgfVxuLmZpLWNzczM6YmVmb3JlIHsgY29udGVudDogXCJcXGYxMzhcIjsgfVxuLmZpLWRhdGFiYXNlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTM5XCI7IH1cbi5maS1kaWUtZml2ZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjEzYVwiOyB9XG4uZmktZGllLWZvdXI6YmVmb3JlIHsgY29udGVudDogXCJcXGYxM2JcIjsgfVxuLmZpLWRpZS1vbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYxM2NcIjsgfVxuLmZpLWRpZS1zaXg6YmVmb3JlIHsgY29udGVudDogXCJcXGYxM2RcIjsgfVxuLmZpLWRpZS10aHJlZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjEzZVwiOyB9XG4uZmktZGllLXR3bzpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjEzZlwiOyB9XG4uZmktZGlzbGlrZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE0MFwiOyB9XG4uZmktZG9sbGFyLWJpbGw6YmVmb3JlIHsgY29udGVudDogXCJcXGYxNDFcIjsgfVxuLmZpLWRvbGxhcjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE0MlwiOyB9XG4uZmktZG93bmxvYWQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYxNDNcIjsgfVxuLmZpLWVqZWN0OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTQ0XCI7IH1cbi5maS1lbGV2YXRvcjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE0NVwiOyB9XG4uZmktZXVybzpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE0NlwiOyB9XG4uZmktZXllOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTQ3XCI7IH1cbi5maS1mYXN0LWZvcndhcmQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYxNDhcIjsgfVxuLmZpLWZlbWFsZS1zeW1ib2w6YmVmb3JlIHsgY29udGVudDogXCJcXGYxNDlcIjsgfVxuLmZpLWZlbWFsZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE0YVwiOyB9XG4uZmktZmlsdGVyOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTRiXCI7IH1cbi5maS1maXJzdC1haWQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYxNGNcIjsgfVxuLmZpLWZsYWc6YmVmb3JlIHsgY29udGVudDogXCJcXGYxNGRcIjsgfVxuLmZpLWZvbGRlci1hZGQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYxNGVcIjsgfVxuLmZpLWZvbGRlci1sb2NrOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTRmXCI7IH1cbi5maS1mb2xkZXI6YmVmb3JlIHsgY29udGVudDogXCJcXGYxNTBcIjsgfVxuLmZpLWZvb3Q6YmVmb3JlIHsgY29udGVudDogXCJcXGYxNTFcIjsgfVxuLmZpLWZvdW5kYXRpb246YmVmb3JlIHsgY29udGVudDogXCJcXGYxNTJcIjsgfVxuLmZpLWdyYXBoLWJhcjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE1M1wiOyB9XG4uZmktZ3JhcGgtaG9yaXpvbnRhbDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE1NFwiOyB9XG4uZmktZ3JhcGgtcGllOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTU1XCI7IH1cbi5maS1ncmFwaC10cmVuZDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE1NlwiOyB9XG4uZmktZ3VpZGUtZG9nOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTU3XCI7IH1cbi5maS1oZWFyaW5nLWFpZDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE1OFwiOyB9XG4uZmktaGVhcnQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYxNTlcIjsgfVxuLmZpLWhvbWU6YmVmb3JlIHsgY29udGVudDogXCJcXGYxNWFcIjsgfVxuLmZpLWh0bWw1OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTViXCI7IH1cbi5maS1pbmRlbnQtbGVzczpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE1Y1wiOyB9XG4uZmktaW5kZW50LW1vcmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYxNWRcIjsgfVxuLmZpLWluZm86YmVmb3JlIHsgY29udGVudDogXCJcXGYxNWVcIjsgfVxuLmZpLWl0YWxpYzpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE1ZlwiOyB9XG4uZmkta2V5OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTYwXCI7IH1cbi5maS1sYXB0b3A6YmVmb3JlIHsgY29udGVudDogXCJcXGYxNjFcIjsgfVxuLmZpLWxheW91dDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE2MlwiOyB9XG4uZmktbGlnaHRidWxiOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTYzXCI7IH1cbi5maS1saWtlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTY0XCI7IH1cbi5maS1saW5rOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTY1XCI7IH1cbi5maS1saXN0LWJ1bGxldDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE2NlwiOyB9XG4uZmktbGlzdC1udW1iZXI6YmVmb3JlIHsgY29udGVudDogXCJcXGYxNjdcIjsgfVxuLmZpLWxpc3QtdGh1bWJuYWlsczpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE2OFwiOyB9XG4uZmktbGlzdDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE2OVwiOyB9XG4uZmktbG9jazpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE2YVwiOyB9XG4uZmktbG9vcDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE2YlwiOyB9XG4uZmktbWFnbmlmeWluZy1nbGFzczpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE2Y1wiOyB9XG4uZmktbWFpbDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE2ZFwiOyB9XG4uZmktbWFsZS1mZW1hbGU6YmVmb3JlIHsgY29udGVudDogXCJcXGYxNmVcIjsgfVxuLmZpLW1hbGUtc3ltYm9sOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTZmXCI7IH1cbi5maS1tYWxlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTcwXCI7IH1cbi5maS1tYXA6YmVmb3JlIHsgY29udGVudDogXCJcXGYxNzFcIjsgfVxuLmZpLW1hcmtlcjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE3MlwiOyB9XG4uZmktbWVnYXBob25lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTczXCI7IH1cbi5maS1taWNyb3Bob25lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTc0XCI7IH1cbi5maS1taW51cy1jaXJjbGU6YmVmb3JlIHsgY29udGVudDogXCJcXGYxNzVcIjsgfVxuLmZpLW1pbnVzOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTc2XCI7IH1cbi5maS1tb2JpbGUtc2lnbmFsOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTc3XCI7IH1cbi5maS1tb2JpbGU6YmVmb3JlIHsgY29udGVudDogXCJcXGYxNzhcIjsgfVxuLmZpLW1vbml0b3I6YmVmb3JlIHsgY29udGVudDogXCJcXGYxNzlcIjsgfVxuLmZpLW1vdW50YWluczpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE3YVwiOyB9XG4uZmktbXVzaWM6YmVmb3JlIHsgY29udGVudDogXCJcXGYxN2JcIjsgfVxuLmZpLW5leHQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYxN2NcIjsgfVxuLmZpLW5vLWRvZ3M6YmVmb3JlIHsgY29udGVudDogXCJcXGYxN2RcIjsgfVxuLmZpLW5vLXNtb2tpbmc6YmVmb3JlIHsgY29udGVudDogXCJcXGYxN2VcIjsgfVxuLmZpLXBhZ2UtYWRkOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTdmXCI7IH1cbi5maS1wYWdlLWNvcHk6YmVmb3JlIHsgY29udGVudDogXCJcXGYxODBcIjsgfVxuLmZpLXBhZ2UtY3N2OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTgxXCI7IH1cbi5maS1wYWdlLWRlbGV0ZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE4MlwiOyB9XG4uZmktcGFnZS1kb2M6YmVmb3JlIHsgY29udGVudDogXCJcXGYxODNcIjsgfVxuLmZpLXBhZ2UtZWRpdDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE4NFwiOyB9XG4uZmktcGFnZS1leHBvcnQtY3N2OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTg1XCI7IH1cbi5maS1wYWdlLWV4cG9ydC1kb2M6YmVmb3JlIHsgY29udGVudDogXCJcXGYxODZcIjsgfVxuLmZpLXBhZ2UtZXhwb3J0LXBkZjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE4N1wiOyB9XG4uZmktcGFnZS1leHBvcnQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYxODhcIjsgfVxuLmZpLXBhZ2UtZmlsbGVkOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTg5XCI7IH1cbi5maS1wYWdlLW11bHRpcGxlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMThhXCI7IH1cbi5maS1wYWdlLXBkZjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE4YlwiOyB9XG4uZmktcGFnZS1yZW1vdmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYxOGNcIjsgfVxuLmZpLXBhZ2Utc2VhcmNoOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMThkXCI7IH1cbi5maS1wYWdlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMThlXCI7IH1cbi5maS1wYWludC1idWNrZXQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYxOGZcIjsgfVxuLmZpLXBhcGVyY2xpcDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE5MFwiOyB9XG4uZmktcGF1c2U6YmVmb3JlIHsgY29udGVudDogXCJcXGYxOTFcIjsgfVxuLmZpLXBhdzpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE5MlwiOyB9XG4uZmktcGF5cGFsOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTkzXCI7IH1cbi5maS1wZW5jaWw6YmVmb3JlIHsgY29udGVudDogXCJcXGYxOTRcIjsgfVxuLmZpLXBob3RvOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTk1XCI7IH1cbi5maS1wbGF5LWNpcmNsZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE5NlwiOyB9XG4uZmktcGxheS12aWRlbzpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE5N1wiOyB9XG4uZmktcGxheTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE5OFwiOyB9XG4uZmktcGx1czpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE5OVwiOyB9XG4uZmktcG91bmQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYxOWFcIjsgfVxuLmZpLXBvd2VyOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTliXCI7IH1cbi5maS1wcmV2aW91czpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE5Y1wiOyB9XG4uZmktcHJpY2UtdGFnOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTlkXCI7IH1cbi5maS1wcmljZXRhZy1tdWx0aXBsZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE5ZVwiOyB9XG4uZmktcHJpbnQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYxOWZcIjsgfVxuLmZpLXByb2hpYml0ZWQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYxYTBcIjsgfVxuLmZpLXByb2plY3Rpb24tc2NyZWVuOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWExXCI7IH1cbi5maS1wdXp6bGU6YmVmb3JlIHsgY29udGVudDogXCJcXGYxYTJcIjsgfVxuLmZpLXF1b3RlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWEzXCI7IH1cbi5maS1yZWNvcmQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYxYTRcIjsgfVxuLmZpLXJlZnJlc2g6YmVmb3JlIHsgY29udGVudDogXCJcXGYxYTVcIjsgfVxuLmZpLXJlc3VsdHMtZGVtb2dyYXBoaWNzOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWE2XCI7IH1cbi5maS1yZXN1bHRzOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWE3XCI7IH1cbi5maS1yZXdpbmQtdGVuOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWE4XCI7IH1cbi5maS1yZXdpbmQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYxYTlcIjsgfVxuLmZpLXJzczpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFhYVwiOyB9XG4uZmktc2FmZXR5LWNvbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYxYWJcIjsgfVxuLmZpLXNhdmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYxYWNcIjsgfVxuLmZpLXNoYXJlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWFkXCI7IH1cbi5maS1zaGVyaWZmLWJhZGdlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWFlXCI7IH1cbi5maS1zaGllbGQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYxYWZcIjsgfVxuLmZpLXNob3BwaW5nLWJhZzpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFiMFwiOyB9XG4uZmktc2hvcHBpbmctY2FydDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFiMVwiOyB9XG4uZmktc2h1ZmZsZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFiMlwiOyB9XG4uZmktc2t1bGw6YmVmb3JlIHsgY29udGVudDogXCJcXGYxYjNcIjsgfVxuLmZpLXNvY2lhbC01MDBweDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFiNFwiOyB9XG4uZmktc29jaWFsLWFkb2JlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWI1XCI7IH1cbi5maS1zb2NpYWwtYW1hem9uOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWI2XCI7IH1cbi5maS1zb2NpYWwtYW5kcm9pZDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFiN1wiOyB9XG4uZmktc29jaWFsLWFwcGxlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWI4XCI7IH1cbi5maS1zb2NpYWwtYmVoYW5jZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFiOVwiOyB9XG4uZmktc29jaWFsLWJpbmc6YmVmb3JlIHsgY29udGVudDogXCJcXGYxYmFcIjsgfVxuLmZpLXNvY2lhbC1ibG9nZ2VyOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWJiXCI7IH1cbi5maS1zb2NpYWwtZGVsaWNpb3VzOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWJjXCI7IH1cbi5maS1zb2NpYWwtZGVzaWduZXItbmV3czpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFiZFwiOyB9XG4uZmktc29jaWFsLWRldmlhbnQtYXJ0OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWJlXCI7IH1cbi5maS1zb2NpYWwtZGlnZzpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFiZlwiOyB9XG4uZmktc29jaWFsLWRyaWJiYmxlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWMwXCI7IH1cbi5maS1zb2NpYWwtZHJpdmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYxYzFcIjsgfVxuLmZpLXNvY2lhbC1kcm9wYm94OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWMyXCI7IH1cbi5maS1zb2NpYWwtZXZlcm5vdGU6YmVmb3JlIHsgY29udGVudDogXCJcXGYxYzNcIjsgfVxuLmZpLXNvY2lhbC1mYWNlYm9vazpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFjNFwiOyB9XG4uZmktc29jaWFsLWZsaWNrcjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFjNVwiOyB9XG4uZmktc29jaWFsLWZvcnJzdDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFjNlwiOyB9XG4uZmktc29jaWFsLWZvdXJzcXVhcmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYxYzdcIjsgfVxuLmZpLXNvY2lhbC1nYW1lLWNlbnRlcjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFjOFwiOyB9XG4uZmktc29jaWFsLWdpdGh1YjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFjOVwiOyB9XG4uZmktc29jaWFsLWdvb2dsZS1wbHVzOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWNhXCI7IH1cbi5maS1zb2NpYWwtaGFja2VyLW5ld3M6YmVmb3JlIHsgY29udGVudDogXCJcXGYxY2JcIjsgfVxuLmZpLXNvY2lhbC1oaTU6YmVmb3JlIHsgY29udGVudDogXCJcXGYxY2NcIjsgfVxuLmZpLXNvY2lhbC1pbnN0YWdyYW06YmVmb3JlIHsgY29udGVudDogXCJcXGYxY2RcIjsgfVxuLmZpLXNvY2lhbC1qb29tbGE6YmVmb3JlIHsgY29udGVudDogXCJcXGYxY2VcIjsgfVxuLmZpLXNvY2lhbC1sYXN0Zm06YmVmb3JlIHsgY29udGVudDogXCJcXGYxY2ZcIjsgfVxuLmZpLXNvY2lhbC1saW5rZWRpbjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFkMFwiOyB9XG4uZmktc29jaWFsLW1lZGl1bTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFkMVwiOyB9XG4uZmktc29jaWFsLW15c3BhY2U6YmVmb3JlIHsgY29udGVudDogXCJcXGYxZDJcIjsgfVxuLmZpLXNvY2lhbC1vcmt1dDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFkM1wiOyB9XG4uZmktc29jaWFsLXBhdGg6YmVmb3JlIHsgY29udGVudDogXCJcXGYxZDRcIjsgfVxuLmZpLXNvY2lhbC1waWNhc2E6YmVmb3JlIHsgY29udGVudDogXCJcXGYxZDVcIjsgfVxuLmZpLXNvY2lhbC1waW50ZXJlc3Q6YmVmb3JlIHsgY29udGVudDogXCJcXGYxZDZcIjsgfVxuLmZpLXNvY2lhbC1yZGlvOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWQ3XCI7IH1cbi5maS1zb2NpYWwtcmVkZGl0OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWQ4XCI7IH1cbi5maS1zb2NpYWwtc2tpbGxzaGFyZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFkOVwiOyB9XG4uZmktc29jaWFsLXNreXBlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWRhXCI7IH1cbi5maS1zb2NpYWwtc21hc2hpbmctbWFnOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWRiXCI7IH1cbi5maS1zb2NpYWwtc25hcGNoYXQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYxZGNcIjsgfVxuLmZpLXNvY2lhbC1zcG90aWZ5OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWRkXCI7IH1cbi5maS1zb2NpYWwtc3F1aWRvbzpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFkZVwiOyB9XG4uZmktc29jaWFsLXN0YWNrLW92ZXJmbG93OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWRmXCI7IH1cbi5maS1zb2NpYWwtc3RlYW06YmVmb3JlIHsgY29udGVudDogXCJcXGYxZTBcIjsgfVxuLmZpLXNvY2lhbC1zdHVtYmxldXBvbjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFlMVwiOyB9XG4uZmktc29jaWFsLXRyZWVob3VzZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFlMlwiOyB9XG4uZmktc29jaWFsLXR1bWJscjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFlM1wiOyB9XG4uZmktc29jaWFsLXR3aXR0ZXI6YmVmb3JlIHsgY29udGVudDogXCJcXGYxZTRcIjsgfVxuLmZpLXNvY2lhbC12aW1lbzpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFlNVwiOyB9XG4uZmktc29jaWFsLXdpbmRvd3M6YmVmb3JlIHsgY29udGVudDogXCJcXGYxZTZcIjsgfVxuLmZpLXNvY2lhbC14Ym94OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWU3XCI7IH1cbi5maS1zb2NpYWwteWFob286YmVmb3JlIHsgY29udGVudDogXCJcXGYxZThcIjsgfVxuLmZpLXNvY2lhbC15ZWxwOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWU5XCI7IH1cbi5maS1zb2NpYWwteW91dHViZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFlYVwiOyB9XG4uZmktc29jaWFsLXplcnBseTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFlYlwiOyB9XG4uZmktc29jaWFsLXp1cmI6YmVmb3JlIHsgY29udGVudDogXCJcXGYxZWNcIjsgfVxuLmZpLXNvdW5kOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWVkXCI7IH1cbi5maS1zdGFyOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWVlXCI7IH1cbi5maS1zdG9wOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWVmXCI7IH1cbi5maS1zdHJpa2V0aHJvdWdoOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWYwXCI7IH1cbi5maS1zdWJzY3JpcHQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYxZjFcIjsgfVxuLmZpLXN1cGVyc2NyaXB0OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWYyXCI7IH1cbi5maS10YWJsZXQtbGFuZHNjYXBlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWYzXCI7IH1cbi5maS10YWJsZXQtcG9ydHJhaXQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYxZjRcIjsgfVxuLmZpLXRhcmdldC10d286YmVmb3JlIHsgY29udGVudDogXCJcXGYxZjVcIjsgfVxuLmZpLXRhcmdldDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFmNlwiOyB9XG4uZmktdGVsZXBob25lLWFjY2Vzc2libGU6YmVmb3JlIHsgY29udGVudDogXCJcXGYxZjdcIjsgfVxuLmZpLXRlbGVwaG9uZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFmOFwiOyB9XG4uZmktdGV4dC1jb2xvcjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFmOVwiOyB9XG4uZmktdGh1bWJuYWlsczpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFmYVwiOyB9XG4uZmktdGlja2V0OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWZiXCI7IH1cbi5maS10b3Jzby1idXNpbmVzczpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFmY1wiOyB9XG4uZmktdG9yc28tZmVtYWxlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWZkXCI7IH1cbi5maS10b3JzbzpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFmZVwiOyB9XG4uZmktdG9yc29zLWFsbC1mZW1hbGU6YmVmb3JlIHsgY29udGVudDogXCJcXGYxZmZcIjsgfVxuLmZpLXRvcnNvcy1hbGw6YmVmb3JlIHsgY29udGVudDogXCJcXGYyMDBcIjsgfVxuLmZpLXRvcnNvcy1mZW1hbGUtbWFsZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjIwMVwiOyB9XG4uZmktdG9yc29zLW1hbGUtZmVtYWxlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjAyXCI7IH1cbi5maS10b3Jzb3M6YmVmb3JlIHsgY29udGVudDogXCJcXGYyMDNcIjsgfVxuLmZpLXRyYXNoOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjA0XCI7IH1cbi5maS10cmVlczpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjIwNVwiOyB9XG4uZmktdHJvcGh5OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjA2XCI7IH1cbi5maS11bmRlcmxpbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYyMDdcIjsgfVxuLmZpLXVuaXZlcnNhbC1hY2Nlc3M6YmVmb3JlIHsgY29udGVudDogXCJcXGYyMDhcIjsgfVxuLmZpLXVubGluazpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjIwOVwiOyB9XG4uZmktdW5sb2NrOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjBhXCI7IH1cbi5maS11cGxvYWQtY2xvdWQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYyMGJcIjsgfVxuLmZpLXVwbG9hZDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjIwY1wiOyB9XG4uZmktdXNiOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjBkXCI7IH1cbi5maS12aWRlbzpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjIwZVwiOyB9XG4uZmktdm9sdW1lLW5vbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYyMGZcIjsgfVxuLmZpLXZvbHVtZS1zdHJpa2U6YmVmb3JlIHsgY29udGVudDogXCJcXGYyMTBcIjsgfVxuLmZpLXZvbHVtZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjIxMVwiOyB9XG4uZmktd2ViOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjEyXCI7IH1cbi5maS13aGVlbGNoYWlyOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjEzXCI7IH1cbi5maS13aWRnZXQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYyMTRcIjsgfVxuLmZpLXdyZW5jaDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjIxNVwiOyB9XG4uZmkteC1jaXJjbGU6YmVmb3JlIHsgY29udGVudDogXCJcXGYyMTZcIjsgfVxuLmZpLXg6YmVmb3JlIHsgY29udGVudDogXCJcXGYyMTdcIjsgfVxuLmZpLXllbjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjIxOFwiOyB9XG4uZmktem9vbS1pbjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjIxOVwiOyB9XG4uZmktem9vbS1vdXQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYyMWFcIjsgfVxuIiwiLypcclxuICBUSVRMRSBCQVJcclxuICAtLS0tLS0tLS1cclxuXHJcbiAgQSBuYXZpZ2F0aW9uYWwgY29tcG9uZW50IHdoaWNoIGNhbiBkaXNwbGF5IHRoZSBjdXJyZW50IHNjcmVlbiB0aGUgdXNlciBpcyBvbiwgYWxvbmcgd2l0aCBhZGRpdGlvbmFsIGNvbnRyb2xzIG9yIG1lbnUgaXRlbXMuXHJcblxyXG4gIFRoZSB0aXRsZSBiYXIgaW5jbHVkZXMgY2xhc3NlcyB0byBjcmVhdGUgY2VudGVyLCBsZWZ0LCBhbmQgcmlnaHQgc2VjdGlvbnMsIHdoaWNoIGNhbiBiZSB1c2VkIGluIGFueSBjb21iaW5hdGlvbi4gSG93ZXZlciwgaW4gdGhlIG1hcmt1cCwgdGhlIHNlY3Rpb25zIG11c3QgY29tZSBpbiB0aGlzIG9yZGVyOlxyXG4gICAtIENlbnRlclxyXG4gICAtIExlZnRcclxuICAgLSBSaWdodFxyXG4qL1xyXG5cclxuLy8vIEBGb3VuZGF0aW9uLnNldHRpbmdzXHJcbi8vIFRpdGxlIEJhclxyXG4kdGl0bGViYXItY2VudGVyLXdpZHRoOiA1MCUgIWRlZmF1bHQ7XHJcbiR0aXRsZWJhci1zaWRlLXdpZHRoOiAoMTAwJSAtICR0aXRsZWJhci1jZW50ZXItd2lkdGgpIC8gMiAhZGVmYXVsdDtcclxuJHRpdGxlYmFyLWJhY2tncm91bmQ6ICNlZWUgIWRlZmF1bHQ7XHJcbiR0aXRsZWJhci1jb2xvcjogIzAwMCAhZGVmYXVsdDtcclxuJHRpdGxlYmFyLWJvcmRlcjogMXB4IHNvbGlkICNjY2MgIWRlZmF1bHQ7XHJcbiR0aXRsZWJhci1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmcgIWRlZmF1bHQ7XHJcbiR0aXRsZWJhci1pdGVtLWNsYXNzZXM6IChcclxuICBjZW50ZXI6ICdjZW50ZXInLFxyXG4gIGxlZnQ6ICdsZWZ0JyxcclxuICByaWdodDogJ3JpZ2h0JyxcclxuICB0aXRsZTogJ3RpdGxlJyxcclxuKSAhZGVmYXVsdDtcclxuLy8vXHJcblxyXG4ldGl0bGUtYmFyIHtcclxuICAkY2VudGVyOiBtYXAtZ2V0KCR0aXRsZWJhci1pdGVtLWNsYXNzZXMsIGNlbnRlcik7XHJcbiAgJGxlZnQ6IG1hcC1nZXQoJHRpdGxlYmFyLWl0ZW0tY2xhc3NlcywgbGVmdCk7XHJcbiAgJHJpZ2h0OiBtYXAtZ2V0KCR0aXRsZWJhci1pdGVtLWNsYXNzZXMsIHJpZ2h0KTtcclxuICAkdGl0bGU6IG1hcC1nZXQoJHRpdGxlYmFyLWl0ZW0tY2xhc3NlcywgdGl0bGUpO1xyXG5cclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXg6IDAgMCBhdXRvO1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xyXG5cclxuICAvLyBEZW5vdGVzIHRoZSB0aXRsZSBvZiB0aGUgYmFyXHJcbiAgLiN7JHRpdGxlfSB7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICB9XHJcblxyXG4gIC8vIERlbm90ZXMgbGVmdCwgcmlnaHQsIGFuZCBjZW50ZXIgc2VjdGlvbnMgb2YgdGhlIGJhclxyXG4gIC4jeyRsZWZ0fSwgLiN7JGNlbnRlcn0sIC4jeyRyaWdodH0ge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XHJcblxyXG4gICAgLy8gSWYgb25seSBvbmUgc2VjdGlvbiBpcyBpbiB1c2UsIHN0cmV0Y2ggaXQgYWxsIHRoZSB3YXkgb3V0XHJcbiAgICAmOmZpcnN0LWNoaWxkOmxhc3QtY2hpbGQge1xyXG4gICAgICBmbGV4OiAxO1xyXG4gICAgICBtYXJnaW46IDA7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBMZWZ0IGFsd2F5cyBjb21lcyBmaXJzdCwgdGhlbiBjZW50ZXIsIHRoZW4gcmlnaHRcclxuICAvLyBUaGUgbGVmdCBhbmQgcmlnaHQgc2VjdGlvbnMgaGF2ZSB0aGUgc2FtZSB3aWR0aFxyXG4gIC4jeyRsZWZ0fSB7XHJcbiAgICBvcmRlcjogMTtcclxuICAgIGZsZXg6IDAgMCAkdGl0bGViYXItc2lkZS13aWR0aDtcclxuICB9XHJcbiAgLiN7JGNlbnRlcn0ge1xyXG4gICAgb3JkZXI6IDI7XHJcbiAgICBmbGV4OiAwIDAgJHRpdGxlYmFyLWNlbnRlci13aWR0aDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICB9XHJcbiAgLiN7JHJpZ2h0fSB7XHJcbiAgICBvcmRlcjogMztcclxuICAgIGZsZXg6IDAgMCAkdGl0bGViYXItc2lkZS13aWR0aDtcclxuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gIH1cclxuXHJcbiAgLy8gSWYgb25seSBsZWZ0IGFuZCByaWdodCBhcmUgaW4gdXNlLCBzdHJldGNoIHRoZW0gYm90aCBvdXQgZXF1YWxseVxyXG4gIC4jeyRsZWZ0fTpmaXJzdC1jaGlsZCB7XHJcbiAgICBmbGV4OiAxIDEgYXV0bztcclxuICB9XHJcbiAgLiN7JGxlZnR9OmZpcnN0LWNoaWxkICsgLiN7JHJpZ2h0fTpsYXN0LWNoaWxkIHtcclxuICAgIGZsZXg6IDEgMSBhdXRvO1xyXG4gIH1cclxuXHJcbiAgLy8gSWYgb25seSBjZW50ZXIgYW5kIHJpZ2h0IGFyZSBpbiB1c2UsIHNoaWZ0IHRoZSBjZW50ZXIgc2VjdGlvbiBpbnRvIHRoZSByaWdodCBwb3NpdGlvblxyXG4gIC4jeyRjZW50ZXJ9OmZpcnN0LWNoaWxkOm5vdCg6bGFzdC1jaGlsZCkge1xyXG4gICAgbWFyZ2luLWxlZnQ6ICR0aXRsZWJhci1zaWRlLXdpZHRoO1xyXG4gIH1cclxuICAvLyBJZiBvbmx5IGNlbnRlciBhbmQgbGVmdCBhcmUgaW4gdXNlLCBvdmVycmlkZSB0aGUgYWJvdmUgc3R5bGVcclxuICAuI3skY2VudGVyfSArIC4jeyRsZWZ0fSB7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IC0oJHRpdGxlYmFyLXNpZGUtd2lkdGgpO1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIHRpdGxlLWJhci1zdHlsZShcclxuICAkYmFja2dyb3VuZDogJHRpdGxlYmFyLWJhY2tncm91bmQsXHJcbiAgJGNvbG9yOiAkdGl0bGViYXItY29sb3IsXHJcbiAgJGJvcmRlcjogJHRpdGxlYmFyLWJvcmRlcixcclxuICAkcGFkZGluZzogJHRpdGxlYmFyLXBhZGRpbmdcclxuKSB7XHJcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XHJcbiAgY29sb3I6ICRjb2xvcjtcclxuICBwYWRkaW5nOiAkcGFkZGluZztcclxuICBib3JkZXItYm90dG9tOiAkYm9yZGVyO1xyXG59XHJcblxyXG5AbWl4aW4gdGl0bGUtYmFyKFxyXG4gICRiYWNrZ3JvdW5kOiAkdGl0bGViYXItYmFja2dyb3VuZCxcclxuICAkY29sb3I6ICR0aXRsZWJhci1jb2xvcixcclxuICAkYm9yZGVyOiAkdGl0bGViYXItYm9yZGVyLFxyXG4gICRwYWRkaW5nOiAkdGl0bGViYXItcGFkZGluZ1xyXG4pIHtcclxuICBAZXh0ZW5kICV0aXRsZS1iYXI7XHJcbiAgQGluY2x1ZGUgdGl0bGUtYmFyLXN0eWxlKCRiYWNrZ3JvdW5kLCAkY29sb3IsICRib3JkZXIsICRwYWRkaW5nKTtcclxufVxyXG5cclxuQGluY2x1ZGUgZXhwb3J0cyh0aXRsZS1iYXIpIHtcclxuICAudGl0bGUtYmFyIHtcclxuICAgIEBpbmNsdWRlIHRpdGxlLWJhcjtcclxuXHJcbiAgICAmLnByaW1hcnkge1xyXG4gICAgICBAaW5jbHVkZSB0aXRsZS1iYXItc3R5bGUoJHByaW1hcnktY29sb3IsIGlzaXRsaWdodCgkcHJpbWFyeS1jb2xvcikpO1xyXG4gICAgICBhLCBhOmhvdmVyIHsgY29sb3I6IGlzaXRsaWdodCgkcHJpbWFyeS1jb2xvcik7IH1cclxuICAgICAgQGlmIHVzaW5nKGljb25pYykgeyAuaWNvbmljIHsgQGluY2x1ZGUgY29sb3ItaWNvbihpc2l0bGlnaHQoJHByaW1hcnktY29sb3IpKTsgfSB9XHJcbiAgICB9XHJcbiAgICAmLmRhcmsge1xyXG4gICAgICBAaW5jbHVkZSB0aXRsZS1iYXItc3R5bGUoJGRhcmstY29sb3IsICNmZmYpO1xyXG4gICAgICBhLCBhOmhvdmVyIHsgY29sb3I6ICNmZmY7IH1cclxuICAgICAgQGlmIHVzaW5nKGljb25pYykgeyAuaWNvbmljIHsgQGluY2x1ZGUgY29sb3ItaWNvbigjZmZmKTsgfSB9XHJcbiAgICB9XHJcbiAgfVxyXG4gICAgLnRpdGxlLWJhci1ib3R0b20ge1xyXG4gICAgICBib3JkZXItYm90dG9tOiAwO1xyXG4gICAgICBib3JkZXItdG9wOiAkdGl0bGViYXItYm9yZGVyO1xyXG4gICAgfVxyXG59XHJcbiIsIi8vIElDT05JQ1xyXG4vLyAtLS0tLS1cclxuLy9cclxuLy8gQSBzYW1wbGUgb2YgMjQgZmxleGlibGUsIGVhc2lseSBzY2hlbWFibGUgaWNvbnMgZnJvbSB0aGUgZm9sa3MgYXQgSWNvbmljLlxyXG4vLyBcclxuLy8gRmVhdHVyZXM6XHJcbi8vICAtIDI0IGljb25zXHJcbi8vICAtIEJ1aWx0LWluIGNvbG9yaW5nIGFuZCBzaXppbmcgY2xhc3Nlc1xyXG4vLyAgLSBDb2xvcmluZyBtaXhpblxyXG4vLyAgLSBBbmd1bGFyIHN1cHBvcnRcclxuXHJcbi8vLyBARm91bmRhdGlvbi5zZXR0aW5nc1xyXG4vLyBJY29uaWNcclxuJGljb25pYy1wcmltYXJ5LWZpbGw6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xyXG4kaWNvbmljLXByaW1hcnktc3Ryb2tlOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcclxuJGljb25pYy1hY2NlbnQtZmlsbDogJGljb25pYy1wcmltYXJ5LWZpbGwgIWRlZmF1bHQ7XHJcbiRpY29uaWMtYWNjZW50LXN0cm9rZTogJGljb25pYy1hY2NlbnQtZmlsbCAhZGVmYXVsdDtcclxuLy8vXHJcblxyXG4vLyBDb2xvcnMgdGhlIGZpbGwsIGFuZCBvcHRpb25hbGx5IHN0cm9rZSwgYWNjZW50IGZpbGwsIGFuZCBhY2NlbnQgc3Ryb2tlIG9mIGFuIEljb25pYyBpY29uLlxyXG5AbWl4aW4gY29sb3ItaWNvbihcclxuICAkZmlsbCxcclxuICAkc3Ryb2tlOiBudWxsLFxyXG4gICRmaWxsQWNjZW50OiBudWxsLFxyXG4gICRzdHJva2VBY2NlbnQ6IG51bGxcclxuKSB7XHJcbiAgKiB7XHJcbiAgICBmaWxsOiAkZmlsbDtcclxuXHJcbiAgICAvLyBVc2UgdGhlIGZpbGwgY29sb3IgaWYgbm8gc3Ryb2tlIGlzIHByb3ZpZGVkXHJcbiAgICBAaWYgaGFzdmFsdWUoJHN0cm9rZSkge1xyXG4gICAgICBzdHJva2U6ICRzdHJva2U7XHJcbiAgICB9XHJcbiAgICBAZWxzZSB7XHJcbiAgICAgIHN0cm9rZTogJGZpbGw7XHJcbiAgICB9XHJcblxyXG4gICAgJi5pY29uaWMtcHJvcGVydHktYWNjZW50IHtcclxuICAgICAgLy8gVXNlIHRoZSBmaWxsIGNvbG9yIGlmIG5vIGFjY2VudCBpcyBwcm92aWRlZFxyXG4gICAgICBAaWYgaGFzdmFsdWUoJGZpbGxBY2NlbnQpIHtcclxuICAgICAgICBmaWxsOiAkZmlsbEFjY2VudDtcclxuICAgICAgfVxyXG4gICAgICBAZWxzZSB7XHJcbiAgICAgICAgZmlsbDogJGZpbGw7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC8vIFVzZSB0aGUgbm9ybWFsIHN0cm9rZSBjb2xvciBpZiBubyBhY2NlbnQgaXMgcHJvdmlkZWRcclxuICAgICAgQGlmIGhhc3ZhbHVlKCRzdHJva2VBY2NlbnQpIHtcclxuICAgICAgICBzdHJva2U6ICRzdHJva2VBY2NlbnQ7XHJcbiAgICAgIH1cclxuICAgICAgQGVsc2Uge1xyXG4gICAgICAgIC8vIC4uLm9yIHVzZSB0aGUgZmlsbCBpZiBubyBub3JtYWwgc3Ryb2tlIGlzIHByb3ZpZGVkXHJcbiAgICAgICAgQGlmIGhhc3ZhbHVlKCRzdHJva2UpIHtcclxuICAgICAgICAgIHN0cm9rZTogJHN0cm9rZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGVsc2Uge1xyXG4gICAgICAgICAgc3Ryb2tlOiAkZmlsbDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBpbmNsdWRlIGV4cG9ydHMoaWNvbmljKSB7XHJcbiAgLmljb25pYyB7XHJcbiAgICB3aWR0aDogMXJlbTtcclxuICAgIGhlaWdodDogMXJlbTtcclxuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcblxyXG4gICAgYSA+ICYge1xyXG4gICAgICBAaW5jbHVkZSBjb2xvci1pY29uKCRwcmltYXJ5LWNvbG9yKTtcclxuICAgICAgbWFyZ2luLXRvcDogLTJweDtcclxuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmljb25pYyAqIHtcclxuICAgIGZpbGw6ICRpY29uaWMtcHJpbWFyeS1maWxsO1xyXG4gICAgc3Ryb2tlOiAkaWNvbmljLXByaW1hcnktc3Ryb2tlO1xyXG5cclxuICAgICYuaWNvbmljLXByb3BlcnR5LWFjY2VudCB7XHJcbiAgICAgIGZpbGw6ICRpY29uaWMtYWNjZW50LWZpbGw7XHJcbiAgICAgIHN0cm9rZTogJGljb25pYy1hY2NlbnQtc3Ryb2tlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQGVhY2ggJGNvbG9yIGluIG1hcC1rZXlzKCRmb3VuZGF0aW9uLWNvbG9ycykge1xyXG4gICAgLmljb25pYy1jb2xvci0jeyRjb2xvcn0ge1xyXG4gICAgICBAaW5jbHVkZSBjb2xvci1pY29uKG1hcC1nZXQoJGZvdW5kYXRpb24tY29sb3JzLCAkY29sb3IpKTtcclxuICAgIH1cclxuICB9XHJcbiAgLmljb25pYy1jb2xvci1zZWNvbmRhcnkge1xyXG4gICAgQGluY2x1ZGUgY29sb3ItaWNvbigkc2Vjb25kYXJ5LWNvbG9yKTtcclxuICB9XHJcbn1cclxuIiwiLy8vIEBGb3VuZGF0aW9uLnNldHRpbmdzXHJcbi8vIEJ1dHRvblxyXG4kYnV0dG9uLXBhZGRpbmc6IDAuODVlbSAxZW0gIWRlZmF1bHQ7XHJcbiRidXR0b24tbWFyZ2luOiAwICRnbG9iYWwtcGFkZGluZyAkZ2xvYmFsLXBhZGRpbmcgMCAhZGVmYXVsdDtcclxuJGJ1dHRvbi1zdHlsZTogc29saWQgIWRlZmF1bHQ7XHJcbiRidXR0b24tYmFja2dyb3VuZDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XHJcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlcjogc2NhbGUtY29sb3IoJGJ1dHRvbi1iYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAtMTUlKSAhZGVmYXVsdDtcclxuJGJ1dHRvbi1jb2xvcjogYXV0byAhZGVmYXVsdDtcclxuJGJ1dHRvbi1yYWRpdXM6IDAgIWRlZmF1bHQ7XHJcbiRidXR0b24tc2l6ZXM6IChcclxuICB0aW55OiAwLjcsXHJcbiAgc21hbGw6IDAuOCxcclxuICBtZWRpdW06IDEsXHJcbiAgbGFyZ2U6IDEuMyxcclxuKSAhZGVmYXVsdDtcclxuJGJ1dHRvbi1mb250LXNpemU6IDAuOXJlbSAhZGVmYXVsdDtcclxuJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkOiAwLjUgIWRlZmF1bHQ7XHJcbiRidXR0b24tdGFnLXNlbGVjdG9yOiBmYWxzZSAhZGVmYXVsdDtcclxuLy8vXHJcblxyXG4lYnV0dG9uIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgYm9yZGVyOiAwO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBsaW5lLWhlaWdodDogMTtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xyXG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xyXG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4yNXMgZWFzZS1vdXQ7XHJcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuXHJcbiAgcGFkZGluZzogJGJ1dHRvbi1wYWRkaW5nO1xyXG4gIG1hcmdpbjogJGJ1dHRvbi1tYXJnaW47XHJcbiAgZm9udC1zaXplOiAkYnV0dG9uLWZvbnQtc2l6ZTtcclxuICBib3JkZXItcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcclxuXHJcbiAgLy8gRHJvcGRvd24gYXJyb3dcclxuICAvLyBUT0RPOiBDaGFuZ2UgdG8gY2xhc3MgYW5kIG1peGluIGJlY2F1c2Ugbm93IHRoZSB0b2dnbGUgaXMgJ2ZhLW9wZW4nIHdoaWNoIGlzIHRvbyBnZW5lcmljXHJcbiAgLy8gJltkYXRhLXBvcHVwLXRvZ2dsZV0ge1xyXG4gIC8vICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIC8vICAgcGFkZGluZy1yaWdodDogMmVtOyAvLyBQbGFjZWhvbGRlclxyXG5cclxuICAvLyAgICY6OmFmdGVyIHtcclxuICAvLyAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKDZweCwgYmxhY2ssIHRvcCk7XHJcbiAgLy8gICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAvLyAgICAgcmlnaHQ6IDAuN2VtO1xyXG4gIC8vICAgICB0b3A6IDUwJTtcclxuICAvLyAgICAgbWFyZ2luLXRvcDogLTNweDtcclxuICAvLyAgIH1cclxuICAvLyB9XHJcbn1cclxuXHJcbkBtaXhpbiBidXR0b24tc2l6ZSgkc2l6ZTogbWVkaXVtLCAkZXhwYW5kOiBmYWxzZSkge1xyXG4gICRzaXplOiAkYnV0dG9uLWZvbnQtc2l6ZSAqIG1hcC1nZXQoJGJ1dHRvbi1zaXplcywgJHNpemUpO1xyXG4gIGZvbnQtc2l6ZTogJHNpemU7XHJcblxyXG4gIEBpZiAkZXhwYW5kIHtcclxuICAgIEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQ7XHJcbiAgfVxyXG5cclxuICBAaWYgdXNpbmcoaWNvbmljKSB7XHJcbiAgICAuaWNvbmljIHtcclxuICAgICAgd2lkdGg6IDFlbTtcclxuICAgICAgaGVpZ2h0OiAxZW07XHJcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogMC4yNWVtO1xyXG4gICAgICBtYXJnaW4tdG9wOiAtMnB4OyAvLyBUaGUgaWNvbnMgYXJlIG9kZGx5IG1pc2FsaWduZWRcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBidXR0b24tZXhwYW5kKCRleHBhbmQ6IHRydWUpIHtcclxuICBAaWYgJGV4cGFuZCB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgfVxyXG4gIEBlbHNlIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgbWFyZ2luOiAkYnV0dG9uLW1hcmdpbjtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBidXR0b24tc3R5bGUoXHJcbiAgJGJhY2tncm91bmQ6ICRidXR0b24tYmFja2dyb3VuZCxcclxuICAkYmFja2dyb3VuZC1ob3ZlcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLFxyXG4gICRjb2xvcjogJGJ1dHRvbi1jb2xvcixcclxuICAkc3R5bGU6ICRidXR0b24tc3R5bGUsXHJcbiAgJHJhZGl1czogJGJ1dHRvbi1yYWRpdXMsXHJcbiAgJGJ0bmdyb3VwOiBmYWxzZVxyXG4pe1xyXG4gIEBpZiAkc3R5bGUgPT0gaG9sbG93IHtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRiYWNrZ3JvdW5kO1xyXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICBjb2xvcjogJGJhY2tncm91bmQ7XHJcblxyXG4gICAgJjpob3ZlciwgJjpmb2N1cyB7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogc2NhbGUtY29sb3IoJGJhY2tncm91bmQsICRsaWdodG5lc3M6IDI1JSk7XHJcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgICBjb2xvcjogc2NhbGUtY29sb3IoJGJhY2tncm91bmQsICRsaWdodG5lc3M6IDI1JSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC8vIFNvbGlkIGlzIHRoZSBkZWZhdWx0XHJcbiAgQGVsc2Uge1xyXG4gICAgQGlmICRjb2xvciA9PSBhdXRvIHtcclxuICAgICAgJGNvbG9yOiBpc2l0bGlnaHQoJGJhY2tncm91bmQpO1xyXG4gICAgfVxyXG5cclxuICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xyXG4gICAgY29sb3I6ICRjb2xvcjtcclxuXHJcbiAgICAmOmhvdmVyLCAmOmZvY3VzIHtcclxuICAgICAgQGlmICRiYWNrZ3JvdW5kLWhvdmVyID09IGF1dG8ge1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHNjYWxlLWNvbG9yKCRiYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAtMTUlKTtcclxuICAgICAgfVxyXG4gICAgICBAZWxzZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQtaG92ZXI7XHJcbiAgICAgIH1cclxuICAgICAgY29sb3I6ICRjb2xvcjtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBpZiAkYnRuZ3JvdXAge1xyXG4gICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZDtcclxuICAgICY6aG92ZXIsICY6Zm9jdXMge1xyXG4gICAgICBib3JkZXItY29sb3I6IHNjYWxlLWNvbG9yKCRiYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAtMjUlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBpZiB1c2luZyhpY29uaWMpIHtcclxuICAgIEBpZiAkc3R5bGUgPT0gaG9sbG93IHtcclxuICAgICAgLmljb25pYyB7XHJcbiAgICAgICAgQGluY2x1ZGUgY29sb3ItaWNvbigkYmFja2dyb3VuZCk7XHJcbiAgICAgIH1cclxuICAgICAgJjpob3ZlciAuaWNvbmljIHtcclxuICAgICAgICBAaW5jbHVkZSBjb2xvci1pY29uKHNjYWxlLWNvbG9yKCRiYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAyNSUpKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGVsc2Uge1xyXG4gICAgICAuaWNvbmljIHtcclxuICAgICAgICBAaW5jbHVkZSBjb2xvci1pY29uKCRjb2xvcik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBidXR0b24tZGlzYWJsZWQoKSB7XHJcbiAgb3BhY2l0eTogJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkO1xyXG4gIGN1cnNvcjogZGVmYXVsdDtcclxuICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxufVxyXG5cclxuQG1peGluIGJ1dHRvbihcclxuICAkc2l6ZTogbWVkaXVtLFxyXG4gICRleHBhbmQ6IGZhbHNlLFxyXG4gICRiYWNrZ3JvdW5kOiAkYnV0dG9uLWJhY2tncm91bmQsXHJcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRidXR0b24tYmFja2dyb3VuZC1ob3ZlcixcclxuICAkY29sb3I6ICRidXR0b24tY29sb3IsXHJcbiAgJHN0eWxlOiAkYnV0dG9uLXN0eWxlLFxyXG4gICRyYWRpdXM6ICRidXR0b24tcmFkaXVzXHJcbikge1xyXG4gIEBleHRlbmQgJWJ1dHRvbjtcclxuICBAaW5jbHVkZSBidXR0b24tc2l6ZSgkc2l6ZSk7XHJcbiAgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZCgkZXhwYW5kKTtcclxuICBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJhY2tncm91bmQsICRiYWNrZ3JvdW5kLWhvdmVyLCAkY29sb3IsICRzdHlsZSk7XHJcbn1cclxuXHJcbkBpbmNsdWRlIGV4cG9ydHMoYnV0dG9uKSB7XHJcbiAgLmJ1dHRvbiB7XHJcbiAgICBAaW5jbHVkZSBidXR0b247XHJcblxyXG4gICAgJi50aW55ICAgeyBAaW5jbHVkZSBidXR0b24tc2l6ZSh0aW55KTsgfVxyXG4gICAgJi5zbWFsbCAgeyBAaW5jbHVkZSBidXR0b24tc2l6ZShzbWFsbCk7IH1cclxuICAgICYubGFyZ2UgIHsgQGluY2x1ZGUgYnV0dG9uLXNpemUobGFyZ2UpOyB9XHJcbiAgICAmLmV4cGFuZCB7IEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQ7IH1cclxuXHJcbiAgICAmLnNlY29uZGFyeSB7IEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkc2Vjb25kYXJ5LWNvbG9yLCBhdXRvKSB9XHJcbiAgICAmLnN1Y2Nlc3MgICB7IEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkc3VjY2Vzcy1jb2xvciwgYXV0bykgfVxyXG4gICAgJi53YXJuaW5nICAgeyBAaW5jbHVkZSBidXR0b24tc3R5bGUoJHdhcm5pbmctY29sb3IsIGF1dG8pIH1cclxuICAgICYuYWxlcnQgICAgIHsgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRhbGVydC1jb2xvciwgYXV0bykgfVxyXG4gICAgJi5pbmZvICAgICAgeyBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGluZm8tY29sb3IsIGF1dG8pIH1cclxuICAgICYuZGFyayAgICAgIHsgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRkYXJrLWNvbG9yLCBhdXRvKSB9XHJcblxyXG4gICAgQGlmICRidXR0b24tc3R5bGUgIT0gaG9sbG93IHtcclxuICAgICAgJi5ob2xsb3cgeyBAaW5jbHVkZSBidXR0b24tc3R5bGUoJHN0eWxlOiBob2xsb3cpO1xyXG4gICAgICAgICYuc2Vjb25kYXJ5IHsgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRzZWNvbmRhcnktY29sb3IsICRzdHlsZTogaG9sbG93KTsgfVxyXG4gICAgICAgICYuc3VjY2VzcyAgIHsgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRzdWNjZXNzLWNvbG9yLCAkc3R5bGU6IGhvbGxvdyk7IH1cclxuICAgICAgICAmLndhcm5pbmcgICB7IEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkd2FybmluZy1jb2xvciwgJHN0eWxlOiBob2xsb3cpOyB9XHJcbiAgICAgICAgJi5hbGVydCAgICAgeyBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGFsZXJ0LWNvbG9yLCAkc3R5bGU6IGhvbGxvdyk7IH1cclxuICAgICAgICAmLmluZm8gICAgICB7IEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkaW5mby1jb2xvciwgJHN0eWxlOiBob2xsb3cpOyB9XHJcbiAgICAgICAgJi5kYXJrICAgICAgeyBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGRhcmstY29sb3IsICRzdHlsZTogaG9sbG93KTsgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5kaXNhYmxlZCB7IEBpbmNsdWRlIGJ1dHRvbi1kaXNhYmxlZDsgfVxyXG4gIH1cclxuXHJcbiAgQGlmICRidXR0b24tdGFnLXNlbGVjdG9yIHtcclxuICAgIGJ1dHRvbiB7XHJcbiAgICAgIEBleHRlbmQgLmJ1dHRvbjtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLy8gRm91bmRhdGlvbiBmb3IgQXBwc1xuLy9cbi8vIEJSRUFLUE9JTlRTXG4vLyAtLS0tLS0tLS0tLVxuLy8gRm91bmRhdGlvbiBmb3IgQXBwcyBoYXMgdGhyZWUgY29yZSBicmVha3BvaW50czogc21hbGwgKD4gMCksIG1lZGl1bSAoPj0gNjQwKSwgYW5kIGxhcmdlICg+PSAxMDI0KS5cbi8vIFRoZXJlIGFyZSB0d28gYWRkaXRpb25hbCBicmVha3BvaW50cywgeGxhcmdlLCBhbmQgeHhsYXJnZSwgd2hpY2ggKGJ5IGRlZmF1bHQpIGRvIG5vdCBvdXRwdXQgYXMgc2l6aW5nIGNsYXNzZXMuXG4vLyBBY2Nlc3MgbmFtZWQgYnJlYWtwb2ludHMgdXNpbmcgdGhlIG1peGluIGJyZWFrcG9pbnQoJHNpemUpLCB3aGVyZSAkc2l6ZSBpcyBhIGJyZWFrcG9pbnQgdmFsdWUuXG4vLyBZb3UgY2FuIGFsc28gcGFzcyBhbiBlbSwgcmVtLCBvciBwaXhlbCB2YWx1ZSBpbnRvIHRoaXMgbWl4aW4gdG8gZ2VuZXJhdGUgYW4gZW0tYmFzZWQgbWVkaWEgcXVlcnkuXG4vLyBDcmVhdGUgbmV3IG5hbWVkIGJyZWFrcG9pbnRzIHVzaW5nIHRoZSAkYnJlYWtwb2ludHMgbWFwLiBDaGFuZ2Ugd2hpY2ggbmFtZWQgYnJlYWtwb2ludHMgZ2V0IHRoZWlyIG93biBjbGFzc2VzIGJ5IG1vZGlmeWluZyB0aGUgJGJyZWFrcG9pbnQtY2xhc3NlcyBtYXAuXG4vLyBOT1RFOiBJZiB5b3UgY2hhbmdlIHRoZSAkYnJlYWtwb2ludHMgbWFwLCBrbm93IHRoYXQgYWxsIHZhbHVlcyBtdXN0IGJlIG9yZGVyZWQgYnkgd2lkdGgsIHNtYWxsZXN0IHdpZHRoIGZpcnN0LiBTbyAwIGlzIGFsd2F5cyB5b3VyIGZpcnN0IHZhbHVlLlxuXG4vLyAxLiBWYXJpYWJsZXNcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG5cbi8vLyBARm91bmRhdGlvbi5zZXR0aW5nc1xuLy8gQnJlYWtwb2ludHNcbi8vIFRoZXNlIGFyZSBvdXIgbmFtZWQgYnJlYWtwb2ludHMuIFlvdSBjYW4gdXNlIHRoZW0gaW4gb3VyIGJyZWFrcG9pbnQgZnVuY3Rpb24gbGlrZSB0aGlzOiBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyAvLyBNZWRpdW0gYW5kIGxhcmdlciBzdHlsZXMgfVxuJGJyZWFrcG9pbnRzOiAoXG4gIHNtYWxsOiByZW0tY2FsYygwKSxcbiAgbWVkaXVtOiByZW0tY2FsYyg2NDApLFxuICBsYXJnZTogcmVtLWNhbGMoMTIwMCksXG4gIHhsYXJnZTogcmVtLWNhbGMoMTQ0MCksXG4gIHh4bGFyZ2U6IHJlbS1jYWxjKDE5MjApLFxuKSAhZGVmYXVsdDtcblxuLy8gQWxsIG9mIHRoZSBuYW1lcyBpbiB0aGlzIGxpc3Qgd2lsbCBiZSBvdXRwdXQgYXMgY2xhc3NlcyBpbiB5b3VyIENTUywgbGlrZSBzbWFsbC0xMiwgbWVkaXVtLTYsIGFuZCBzbyBvbi5cbiRicmVha3BvaW50LWNsYXNzZXM6IChzbWFsbCBtZWRpdW0gbGFyZ2UpICFkZWZhdWx0O1xuLy8vXG5cbi8vIDIuIE1peGluc1xuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cblxuLy8vIFdyYXBzIGEgbWVkaWEgcXVlcnkgYXJvdW5kIHRoZSBjb250ZW50IHlvdSBwdXQgaW5zaWRlIHRoZSBtaXhpbi4gVGhpcyBtaXhpbiBhY2NlcHRzIGEgbnVtYmVyIG9mIHZhbHVlczpcbi8vLyAgLSBJZiBhIHN0cmluZyBpcyBwYXNzZWQsIHRoZSBtaXhpbiB3aWxsIGxvb2sgZm9yIGl0IGluIHRoZSAkYnJlYWtwb2ludHMgbWFwLCBhbmQgdXNlIGEgbWVkaWEgcXVlcnkgdGhlcmUuXG4vLy8gIC0gSWYgYSBwaXhlbCB2YWx1ZSBpcyBwYXNzZWQsIGl0IHdpbGwgYmUgY29udmVydGVkIHRvIGFuIGVtIHZhbHVlIHVzaW5nICRyZW0tYmFzZS5cbi8vLyAgLSBJZiBhIHJlbSB2YWx1ZSBpcyBwYXNzZWQsIHRoZSB1bml0IHdpbGwgYmUgY2hhbmdlZCB0byBlbS5cbi8vLyAgLSBJZiBhbiBlbSB2YWx1ZSBpcyBwYXNzZWQsIHRoZSB2YWx1ZSB3aWxsIGJlIHVzZWQgYXMtaXMuXG4vLy9cbi8vLyBAcGFyYW0ge21peGVkfSAkdmFsIC0gQnJlYWtwb2ludCBuYW1lIG9yIHB4L2VtL3JlbSB2YWx1ZSB0byBwcm9jZXNzLlxuLy8vXG4vLy8gQG91dHB1dCBJZiB0aGUgYnJlYWtwb2ludCBpcyBcIjBweCBhbmQgbGFyZ2VyXCIsIG91dHB1dHMgdGhlIGNvbnRlbnQuIE90aGVyd2lzZSwgb3V0cHV0cyB0aGUgY29udGVudCB3cmFwcGVkIGluIGEgbWVkaWEgcXVlcnkuXG5AbWl4aW4gYnJlYWtwb2ludCgkdmFsOiBzbWFsbCkge1xuICAvLyBTaXplIG9yIGtleXdvcmRcbiAgJGJwOiBudGgoJHZhbCwgMSk7XG4gIC8vIFZhbHVlIGZvciBtYXgtd2lkdGggbWVkaWEgcXVlcmllc1xuICAkYnBNYXg6IDA7XG4gIC8vIERpcmVjdGlvbiBvZiBtZWRpYSBxdWVyeSAodXAsIGRvd24sIG9yIG9ubHkpXG4gICRkaXI6IGlmKGxlbmd0aCgkdmFsKSA+IDEsIG50aCgkdmFsLCAyKSwgdXApO1xuICAvLyBFdmVudHVhbCBvdXRwdXRcbiAgJHN0cjogJ29ubHkgc2NyZWVuJztcbiAgLy8gSXMgaXQgYSBuYW1lZCBtZWRpYSBxdWVyeT9cbiAgJG5hbWVkOiBmYWxzZTtcblxuICAvLyBPcmllbnRhdGlvbiBtZWRpYSBxdWVyaWVzIGhhdmUgYSB1bmlxdWUgc3ludGF4XG4gIEBpZiAkYnAgPT0gJ2xhbmRzY2FwZScgb3IgJGJwID09ICdwb3J0cmFpdCcge1xuICAgICRzdHI6ICRzdHIgKyAnIGFuZCAob3JpZW50YXRpb246ICN7JGJwfSknO1xuICB9XG5cbiAgQGVsc2Uge1xuICAgIC8vIFRyeSB0byBwdWxsIGEgbmFtZWQgYnJlYWtwb2ludCBvdXQgb2YgdGhlICRicmVha3BvaW50cyBtYXBcbiAgICBAaWYgdHlwZS1vZigkYnApID09ICdzdHJpbmcnIHtcbiAgICAgIEBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICRicCkge1xuICAgICAgICBAaWYgJGRpciA9PSAnb25seScge1xuICAgICAgICAgICRuZXh0LWJwOiBtYXAtbmV4dCgkYnJlYWtwb2ludHMsICRicCk7XG4gICAgICAgICAgQGlmICRuZXh0LWJwID09IG51bGwge1xuICAgICAgICAgICAgJGJwTWF4OiBudWxsO1xuICAgICAgICAgIH1cbiAgICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgICAkYnBNYXg6ICRuZXh0LWJwIC0gKDEvMTYpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAkYnA6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkYnApO1xuICAgICAgICAkbmFtZWQ6IHRydWU7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgICRicDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBQaXhlbCBhbmQgdW5pdGxlc3MgdmFsdWVzIGFyZSBjb252ZXJ0ZWQgdG8gcmVtc1xuICAgIEBpZiB1bml0KCRicCkgPT0gJ3B4JyBvciB1bml0KCRicCkgPT0gJycge1xuICAgICAgJGJwOiByZW0tY2FsYygkYnApO1xuICAgIH1cbiAgICAvLyBGaW5hbGx5LCB0aGUgcmVtIHZhbHVlIGlzIHR1cm5lZCBpbnRvIGFuIGVtIHZhbHVlXG4gICAgJGJwOiBzdHJpcC11bml0KCRicCkgKiAxZW07XG5cbiAgICAvLyBTa2lwIG1lZGlhIHF1ZXJ5IGNyZWF0aW9uIGlmIHRoZSBpbnB1dCBpcyBcIjAgdXBcIiBvciBcIjAgZG93blwiXG4gICAgQGlmICRicCA+IDAgb3IgJGRpciA9PSAnb25seScge1xuICAgICAgLy8gQW5kIGxvLCBhIG1lZGlhIHF1ZXJ5IHdhcyBib3JuXG4gICAgICBAaWYgJGRpciA9PSAnb25seScge1xuICAgICAgICBAaWYgJG5hbWVkID09IHRydWUge1xuICAgICAgICAgICRzdHI6ICRzdHIgKyAnIGFuZCAobWluLXdpZHRoOiAjeyRicH0pJztcbiAgICAgICAgICBAaWYgJGJwTWF4ICE9IG51bGwge1xuICAgICAgICAgICAgJHN0cjogJHN0ciArICcgYW5kIChtYXgtd2lkdGg6ICN7JGJwTWF4fSknO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgQGRlYnVnICdFUlJPUjogT25seSBuYW1lZCBtZWRpYSBxdWVyaWVzIGNhbiBoYXZlIGFuIFwib25seVwiIHJhbmdlLic7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAgICAgJG1heDogJGJwIC0gKDEvMTYpO1xuICAgICAgICAkc3RyOiAkc3RyICsgJyBhbmQgKG1heC13aWR0aDogI3skbWF4fSknO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICAkc3RyOiAkc3RyICsgJyBhbmQgKG1pbi13aWR0aDogI3skYnB9KSc7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gT3V0cHV0XG4gIEBpZiAkYnAgPT0gMGVtIGFuZCAkZGlyICE9ICdvbmx5JyB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBtZWRpYSAjeyRzdHJ9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gUHJlZml4ZXMgc2VsZWN0b3IgJGNsYXNzIHdpdGggYnJlYWtwb2ludCBrZXl3b3JkcywgYWxsb3dpbmcgeW91IHRvIGNyZWF0ZSBhIGJhdGNoIG9mIGJyZWFrcG9pbnQgY2xhc3NlcyB3aXRoIG9uZSBjaHVuayBvZiBjb2RlLiBJZiB5b3Ugd2FudCB0byBza2lwIGEgYnJlYWtwb2ludCAobGlrZSBzbWFsbCwgYmVjYXVzZSBtb2JpbGUgZmlyc3QgYW5kIGFsbCB0aGF0KSwgYWRkIHZhbHVlcyB0byB0aGUgJG9taXQgcGFyYW1ldGVyLlxuLy8vXG4vLy8gQHBhcmFtIHtzdHJpbmd9ICRjbGFzcyAtIENsYXNzIHRvIHByZWZpeCB3aXRoIHRoZSBicmVha3BvaW50IG5hbWUgYW5kIGEgaHlwaGVuLlxuLy8vIEBwYXJhbSB7bGlzdH0gJG9taXQgLSBOYW1lZCBicmVha3BvaW50cyB0byBza2lwLiBObyBjbGFzcyB3aWxsIGJlIGFkZGVkIHdpdGggYnJlYWtwb2ludHMgaW4gdGhpcyBsaXN0LlxuQG1peGluIGVhY2gtYnJlYWtwb2ludCgkY2xhc3MsICRvbWl0OiAoKSkge1xuICAvLyBJdGVyYXRlIHRocm91Z2ggYnJlYWtwb2ludCBjbGFzc2VzXG4gIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIC8vIE9ubHkgZG8gc29tZXRoaW5nIGlmIHRoZSBicmVha3BvaW50IGlzIG5vdCBpbiAkb21pdFxuICAgIEBpZiBpbmRleCgkb21pdCwgJHNpemUpID09IG51bGwge1xuICAgICAgJHZhbDogbWFwLWdldCgkYnJlYWtwb2ludHMsICRzaXplKTtcbiAgICAgIC8vIFByZWZpeCAkY2xhc3Mgd2l0aCAkc2l6ZSBhbmQgYSBoeXBoZW5cbiAgICAgIC4jeyRzaXplICsgJy0nICsgJGNsYXNzfSB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyAzLiBDU1MgT3V0cHV0XG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuXG4vLyBNZXRhIHN0eWxlcyBhcmUgaW5jbHVkZWQgaW4gYWxsIGJ1aWxkcywgYXMgdGhleSBhcmUgYSBkZXBlbmRhbmN5IG9mIHRoZSBKYXZhc2NyaXB0LlxuLy8gVXNlZCB0byBwcm92aWRlIG1lZGlhIHF1ZXJ5IHZhbHVlcyBmb3IgamF2YXNjcmlwdCBjb21wb25lbnRzLlxuLy8gRm9yd2FyZCBzbGFzaCBwbGFjZWQgYXJvdW5kIGV2ZXJ5dGhpbmcgdG8gY29udmluY2UgUGhhbnRvbUpTIHRvIHJlYWQgdGhlIHZhbHVlLlxuXG5tZXRhLmZvdW5kYXRpb24tdmVyc2lvbiB7XG4gIGZvbnQtZmFtaWx5OiBcIiN7JGZvdW5kYXRpb24tdmVyc2lvbn1cIjtcbn1cbm1ldGEuZm91bmRhdGlvbi1tcSB7XG4gIGZvbnQtZmFtaWx5OiBcIiN7bWFwLXNlcmlhbGl6ZSgkYnJlYWtwb2ludHMpfVwiO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgQXBwcyBBTFBIQVxyXG4vLyBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG4kaW5jbHVkZS1jc3M6ICgpICFkZWZhdWx0O1xyXG4kbW9kdWxlczogKCkgIWRlZmF1bHQ7XHJcbiRyZW0tYmFzZTogMTZweCAhZGVmYXVsdDtcclxuXHJcbi8vLyBDaGVja3MgaWYgYSBtb2R1bGUgaXMgaW4gdXNlLlxyXG5AZnVuY3Rpb24gdXNpbmcoJG5hbWUpIHtcclxuICAvLyBJbXBvcnQgZnJvbSBnbG9iYWwgc2NvcGVcclxuICAkaW5jbHVkZS1jc3M6ICRpbmNsdWRlLWNzcyAhZ2xvYmFsO1xyXG4gICRtb2R1bGUta2V5OiBtYXAtZ2V0KCRpbmNsdWRlLWNzcywgJG5hbWUpO1xyXG5cclxuICBAaWYgJG1vZHVsZS1rZXkgPT0gdHJ1ZSBvciAkbW9kdWxlLWtleSA9PSBudWxsIHtcclxuICAgIEByZXR1cm4gdHJ1ZTtcclxuICB9XHJcbiAgQGVsc2Uge1xyXG4gICAgQHJldHVybiBmYWxzZTtcclxuICB9XHJcbn1cclxuXHJcbi8vLyBDaGVja3MgaWYgYSBtb2R1bGUncyBDU1MgaGFzIGFscmVhZHkgYmVlbiBleHBvcnRlZC5cclxuQGZ1bmN0aW9uIGltcG9ydGVkKCRuYW1lKSB7XHJcbiAgLy8gSW1wb3J0IGZyb20gZ2xvYmFsIHNjb3BlXHJcbiAgJG1vZHVsZXM6ICRtb2R1bGVzICFnbG9iYWw7XHJcbiAgLy8gQ2hlY2sgaWYgdGhlIG1vZHVsZSBpcyBhbHJlYWR5IG9uIHRoZSBpbXBvcnRlZCBsaXN0XHJcbiAgQGlmIHR5cGUtb2YoaW5kZXgoJG1vZHVsZXMsICRuYW1lKSkgPT0gJ251bWJlcicge1xyXG4gICAgQHJldHVybiB0cnVlO1xyXG4gIH1cclxuICBAZWxzZSB7XHJcbiAgICBAcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxufVxyXG5cclxuLy8vIE91dHB1dHMgdGhlIGNodW5rIG9mIGNvbnRlbnQgcGFzc2VkIGlmIGNvbXBvbmVudCAkbmFtZSBoYXNuJ3QgeWV0IGJlZW4gb3V0cHV0LlxyXG4vLy8gVGhpcyBwcmV2ZW50cyBjb2RlIGR1cGxpY2F0aW9uIGJ5IGtlZXBpbmcgdHJhY2sgb2Ygd2hpY2ggY29tcG9uZW50cyBoYXZlIGFscmVhZHkgYmVlbiBvdXRwdXQuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtzdHJpbmd9ICRuYW1lIC0gTmFtZSBvZiBjb21wb25lbnQgdG8gb3V0cHV0XHJcbi8vL1xyXG4vLy8gQG91dHB1dCBUaGUgY29udGVudCBwYXNzZWQsIGlmIHRoZSBjb21wb25lbnQgaGFzIG5vdCB5ZXQgYmVlbiBleHBvcnRlZC5cclxuQG1peGluIGV4cG9ydHMoJG5hbWUpIHtcclxuICAvLyBDaGVjayBpZiB0aGUgbW9kdWxlIGhhcyBhbHJlYWR5IGJlZW4gaW1wb3J0ZWRcclxuICBAaWYgbm90KGltcG9ydGVkKCRuYW1lKSkge1xyXG4gICAgLy8gQ2hlY2sgaWYgdGhlIG1vZHVsZSBzaG91bGQgYmUgdXNlZFxyXG4gICAgQGlmIHVzaW5nKCRuYW1lKSB7XHJcbiAgICAgICRtb2R1bGVzOiBhcHBlbmQoJG1vZHVsZXMsICRuYW1lKSAhZ2xvYmFsO1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vLyBNYXAgU2VyaWFsaXplXHJcbi8vLyBDb252ZXJ0cyBhIFNhc3MgbWFwIHRvIGEgVVJMLWVuY29kZWQgc3RyaW5nLCBsaWtlIHRoaXM6IGBrZXkxPXZhbHVlMSZrZXkyPXZhbHVlMmAuIFdlIHVzZSB0aGlzIGZ1bmN0aW9uIHRvIGVuY29kZSB0aGUgbWVkaWEgcXVlcmllcyBpbiB0aGUgYCRicmVha3BvaW50c2AgdmFyaWFibGUsIHNvIGl0IGNhbiBiZSB0cmFuc2ZlcnJlZCB0byBvdXIgSmF2YVNjcmlwdCBmb3IgdXNlIHRoZXJlLlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7bWFwfSAkbWFwIC0gTWFwIHRvIGNvbnZlcnQuXHJcbi8vL1xyXG4vLy8gQHJldHVybiBBIHN0cmluZyB3aXRoIGEgbWFwIGNvbnZlcnRlZCB0byBhIHN0cmluZy5cclxuQGZ1bmN0aW9uIG1hcC1zZXJpYWxpemUoJG1hcCkge1xyXG4gICRzdHI6ICcnO1xyXG4gIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkbWFwIHtcclxuICAgICRzdHI6ICRzdHIgKyAka2V5ICsgJz0nICsgJHZhbHVlICsgJyYnO1xyXG4gIH1cclxuICAkc3RyOiBzdHItc2xpY2UoJHN0ciwgMSwgLTIpO1xyXG5cclxuICBAcmV0dXJuICRzdHI7XHJcbn1cclxuXHJcbi8vLyBNYXAgTmV4dFxyXG4vLy8gRmluZCB0aGUgbmV4dCBrZXkgaW4gYSBtYXAuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHttYXB9ICRtYXAgLSBNYXAgdG8gdHJhdmVyc2UuXHJcbi8vLyBAcGFyYW0ge21peGVkfSAka2V5IC0gS2V5IHRvIHVzZSBhcyBhIHN0YXJ0aW5nIHBvaW50LlxyXG4vLy9cclxuLy8vIEByZXR1cm4gVGhlIHZhbHVlIGZvciB0aGUga2V5IGFmdGVyIGAka2V5YCBpZiBgJGtleWAgd2FzIGZvdW5kLiBJZiBgJGtleWAgd2FzIG5vdCBmb3VuZCwgb3IgYCRrZXlgIHdhcyB0aGUgbGFzdCB2YWx1ZSBpbiB0aGUgbWFwLCByZXR1cm5zIG51bGwuXHJcbkBmdW5jdGlvbiBtYXAtbmV4dCgkbWFwLCAka2V5KSB7XHJcbiAgLy8gU3RvcmUgdGhlIHZhbHVlcyBvZiB0aGUgbWFwIGFzIGEgbGlzdCwgc28gd2UgY2FuIGFjY2VzcyB0aGVtIHdpdGggbnRoXHJcbiAgJHZhbHVlczogbWFwLXZhbHVlcygkbWFwKTtcclxuXHJcbiAgLy8gR2hldHRvIGZvciBsb29wXHJcbiAgJGk6IDE7XHJcbiAgJGZvdW5kOiBmYWxzZTtcclxuICBAZWFjaCAkdmFsIGluIG1hcC1rZXlzKCRtYXApIHtcclxuICAgIEBpZiAkZm91bmQgPT0gZmFsc2Uge1xyXG4gICAgICBAaWYgKCRrZXkgPT0gJHZhbCkge1xyXG4gICAgICAgICRmb3VuZDogdHJ1ZTtcclxuICAgICAgfVxyXG4gICAgICAkaTogJGkgKyAxO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gSWYgdGhlIGtleSBkb2Vzbid0IGV4aXN0LCBvciBpdCdzIHRoZSBsYXN0IGtleSBpbiB0aGUgbWFwLCByZXR1cm4gbnVsbFxyXG4gIEBpZiAkaSA+IGxlbmd0aCgkbWFwKSB7XHJcbiAgICBAcmV0dXJuIG51bGw7XHJcbiAgfVxyXG4gIC8vIE90aGVyd2lzZSByZXR1cm4gdGhlIHZhbHVlXHJcbiAgQGVsc2Uge1xyXG4gICAgQHJldHVybiBudGgoJHZhbHVlcywgJGkpO1xyXG4gIH1cclxufVxyXG5cclxuLy8vIElzIEl0IExpZ2h0P1xyXG4vLy8gQ2hlY2tzIHRoZSBsaWdodG5lc3Mgb2YgJGNvbG9yLCBhbmQgaWYgaXQgcGFzc2VzIHRoZSAkdGhyZXNob2xkIG9mIGxpZ2h0bmVzcywgaXQgcmV0dXJucyB0aGUgYCR5ZXNgIGNvbG9yLiBPdGhlcndpc2UsIGl0IHJldHVybnMgdGhlIGAkbm9gIGNvbG9yLiBVc2UgdGhpcyBmdW5jdGlvbiB0byBkeW5hbWljYWxseSBvdXRwdXQgYSBmb3JlZ3JvdW5kIGNvbG9yIGJhc2VkIG9uIGEgZ2l2ZW4gYmFja2dyb3VuZCBjb2xvci5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge2NvbG9yfSAkY29sb3IgLSBDb2xvciB0byBjaGVjayB0aGUgbGlnaHRuZXNzIG9mLlxyXG4vLy8gQHBhcmFtIHtjb2xvcn0gJHllcyAtIENvbG9yIHRvIHJldHVybiBpZiAkY29sb3IgaXMgbGlnaHQuXHJcbi8vLyBAcGFyYW0ge2NvbG9yfSAkbm8gLSBDb2xvciB0byByZXR1cm4gaWYgJGNvbG9yIGlzIGRhcmsuXHJcbi8vLyBAcGFyYW0ge3BlcmNlbnRhZ2V9ICR0aHJlc2hvbGQgLSBUaHJlc2hvbGQgb2YgbGlnaHRuZXNzIHRvIGNoZWNrIGFnYWluc3QuXHJcbi8vL1xyXG4vLy8gQHJldHVybiBUaGUgJHllcyBjb2xvciBvciAkbm8gY29sb3IuXHJcbkBmdW5jdGlvbiBpc2l0bGlnaHQoJGNvbG9yLCAkeWVzOiAjMDAwLCAkbm86ICNmZmYsICR0aHJlc2hvbGQ6IDYwJSkge1xyXG4gIEBpZiAobGlnaHRuZXNzKCRjb2xvcikgPiAkdGhyZXNob2xkKSB7XHJcbiAgICBAcmV0dXJuICR5ZXM7XHJcbiAgfVxyXG4gIEBlbHNlIHtcclxuICAgIEByZXR1cm4gJG5vO1xyXG4gIH1cclxufVxyXG5cclxuLy8vIFNtYXJ0IFNjYWxlXHJcbi8vLyBTY2FsZXMgYSBjb2xvciB0byBiZSBsaWdodGVyIGlmIGl0J3MgbGlnaHQsIG9yIGRhcmtlciBpZiBpdCdzIGRhcmsuIFVzZSB0aGlzIGZ1bmN0aW9uIHRvIFwiZmFkZVwiIGEgY29sb3IgYXBwcm9wcmlhdGUgdG8gaXRzIGxpZ2h0bmVzcy5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge2NvbG9yfSAkY29sb3IgLSBDb2xvciB0byBzY2FsZS5cclxuLy8vIEBwYXJhbSB7cGVyY2VudGFnZX0gJHNjYWxlIC0gQW1vdW50IHRvIHNjYWxlIHVwIG9yIGRvd24uXHJcbi8vLyBAcGFyYW0ge3BlcmNlbnRhZ2V9ICR0aHJlc2hvbGQgLSBUaHJlc2hvbGQgb2YgbGlnaHRuZXNzIHRvIGNoZWNrIGFnYWluc3QuXHJcbi8vL1xyXG4vLy8gQHJldHVybiBBIHNjYWxlZCBjb2xvci5cclxuQGZ1bmN0aW9uIHNtYXJ0c2NhbGUoJGNvbG9yLCAkc2NhbGU6IDUlLCAkdGhyZXNob2xkOiA2MCUpIHtcclxuICBAaWYgbGlnaHRuZXNzKCRjb2xvcikgPiAkdGhyZXNob2xkIHtcclxuICAgICRzY2FsZTogLSRzY2FsZTtcclxuICB9XHJcbiAgQHJldHVybiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6ICRzY2FsZSk7XHJcbn1cclxuXHJcbi8vLyBIYXMgVmFsdWVcclxuLy8vIFJldHVybnMgdHJ1ZSBpZiBhIHZhbHVlIGlzIG5vdCAwLCBudWxsLCBvciBub25lLiBVc2UgdGhpcyBmdW5jdGlvbiB0byBjaGVjayBmb3IgdmFsdWVzIGxpa2UgYGJvcmRlcjogMGAgb3IgYGJveC1zaGFkb3c6IG5vbmVgLlxyXG4vLy9cclxuLy8vIEBwYXJhbSAkdmFsIC0gVmFsdWUgdG8gY2hlY2suXHJcbi8vL1xyXG4vLy8gQHJldHVybiBUcnVlIGlmIGAkdmFsYCBpcyBub3QgMCwgbnVsbCwgb3Igbm9uZS5cclxuQGZ1bmN0aW9uIGhhc3ZhbHVlKCR2YWwpIHtcclxuICBAaWYgJHZhbCA9PSBudWxsIG9yICR2YWwgPT0gbm9uZSB7XHJcbiAgICBAcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuICBAaWYgdHlwZS1vZigkdmFsKSA9PSAnbnVtYmVyJyBhbmQgc3RyaXAtdW5pdCgkdmFsKSA9PSAwIHtcclxuICAgIEByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG4gIEByZXR1cm4gdHJ1ZTtcclxufVxyXG5cclxuLy8vIEdldCBTaWRlXHJcbi8vLyBEZXRlcm1pbmUgYSB0b3AvcmlnaHQvYm90dG9tL3JpZ2h0IHZhbHVlIG9uIGEgcGFkZGluZywgbWFyZ2luLCBldGMuIHByb3BlcnR5LCBubyBtYXR0ZXIgaG93IG1hbnkgdmFsdWVzIHdlcmUgcGFzc2VkIGluLiBVc2UgdGhpcyBmdW5jdGlvbiBpZiB5b3UgbmVlZCB0byBrbm93IHRoZSBzcGVjaWZpYyBzaWRlIG9mIGEgdmFsdWUsIGJ1dCBkb24ndCBrbm93IGlmIHRoZSB2YWx1ZSBpcyB1c2luZyBzaG9ydGhhbmQuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtsaXN0fG51bWJlcn0gJHZhbCAtIFZhbHVlIHRvIGFuYWx5emUuIFNob3VsZCBiZSBhIHNob3J0aGFuZCBzaXppbmcgcHJvcGVydHksIGUuZy4gXCIxZW0gMmVtIDFlbVwiXHJcbi8vLyBAcGFyYW0ge2tleXdvcmR9ICRzaWRlIC0gU2lkZSB0byByZXR1cm4uIFNob3VsZCBiZSB0b3AsIHJpZ2h0LCBib3R0b20sIG9yIGxlZnQuXHJcbi8vL1xyXG4vLy8gQHJldHVybiBBIHNpbmdsZSB2YWx1ZSBiYXNlZCBvbiBgJHZhbGAgYW5kIGAkc2lkZWAuXHJcbkBmdW5jdGlvbiBnZXQtc2lkZSgkdmFsLCAkc2lkZSkge1xyXG4gICRsZW5ndGg6IGxlbmd0aCgkdmFsKTtcclxuXHJcbiAgQGlmICRsZW5ndGggPT0gMSB7XHJcbiAgICBAcmV0dXJuICR2YWw7XHJcbiAgfVxyXG4gIEBpZiAkbGVuZ3RoID09IDIge1xyXG4gICAgQHJldHVybiBtYXAtZ2V0KChcclxuICAgICAgdG9wOiBudGgoJHZhbCwgMSksXHJcbiAgICAgIGJvdHRvbTogbnRoKCR2YWwsIDEpLFxyXG4gICAgICBsZWZ0OiBudGgoJHZhbCwgMiksXHJcbiAgICAgIHJpZ2h0OiBudGgoJHZhbCwgMiksXHJcbiAgICApLCAkc2lkZSk7XHJcbiAgfVxyXG4gIEBpZiAkbGVuZ3RoID09IDMge1xyXG4gICAgQHJldHVybiBtYXAtZ2V0KChcclxuICAgICAgdG9wOiBudGgoJHZhbCwgMSksXHJcbiAgICAgIGxlZnQ6IG50aCgkdmFsLCAyKSxcclxuICAgICAgcmlnaHQ6IG50aCgkdmFsLCAyKSxcclxuICAgICAgYm90dG9tOiBudGgoJHZhbCwgMyksXHJcbiAgICApLCAkc2lkZSk7XHJcbiAgfVxyXG4gIEBpZiAkbGVuZ3RoID09IDQge1xyXG4gICAgQHJldHVybiBtYXAtZ2V0KChcclxuICAgICAgdG9wOiBudGgoJHZhbCwgMSksXHJcbiAgICAgIHJpZ2h0OiBudGgoJHZhbCwgMiksXHJcbiAgICAgIGJvdHRvbTogbnRoKCR2YWwsIDMpLFxyXG4gICAgICBsZWZ0OiBudGgoJHZhbCwgNCksXHJcbiAgICApLCAkc2lkZSk7XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gR2V0IEJvcmRlciBWYWx1ZVxyXG4vLy8gR2l2ZW4gYm9yZGVyICR2YWwsIGZpbmQgYSBzcGVjaWZpYyBlbGVtZW50IG9mIHRoZSBib3JkZXIsIHdoaWNoIGlzICRlbGVtLiBUaGUgcG9zc2libGUgdmFsdWVzIGZvciAkZWxlbSBhcmUgd2lkdGgsIHN0eWxlLCBhbmQgY29sb3IuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtsaXN0fSAkdmFsIC0gQm9yZGVyIHZhbHVlIHRvIGZpbmQgYSB2YWx1ZSBpbi5cclxuLy8vIEBwYXJhbSB7a2V5d29yZH0gJGVsZW0gLSBCb3JkZXIgY29tcG9uZW50IHRvIGV4dHJhY3QuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIElmIHRoZSB2YWx1ZSBleGlzdHMsIHJldHVybnMgdGhlIHZhbHVlLiBJZiB0aGUgdmFsdWUgaXMgbm90IGluIHRoZSBib3JkZXIgZGVmaW5pdGlvbiwgdGhlIGZ1bmN0aW9uIHdpbGwgcmV0dXJuIGEgMHB4IHdpZHRoLCBzb2xpZCBzdHlsZSwgb3IgYmxhY2sgYm9yZGVyLlxyXG4gQGZ1bmN0aW9uIGdldC1ib3JkZXItdmFsdWUoJHZhbCwgJGVsZW0pIHtcclxuICAgLy8gRmluZCB0aGUgd2lkdGgsIHN0eWxlLCBvciBjb2xvciBhbmQgcmV0dXJuIGl0XHJcbiAgIEBlYWNoICR2IGluICR2YWwge1xyXG4gICAgICR0eXBlOiB0eXBlLW9mKCR2KTtcclxuICAgICBAaWYgJGVsZW0gPT0gd2lkdGggYW5kICR0eXBlID09ICdudW1iZXInIHtcclxuICAgICAgIEByZXR1cm4gJHY7XHJcbiAgICAgfVxyXG4gICAgIEBpZiAkZWxlbSA9PSBzdHlsZSBhbmQgJHR5cGUgPT0gJ3N0cmluZycge1xyXG4gICAgICAgQHJldHVybiAkdjtcclxuICAgICB9XHJcbiAgICAgQGlmICRlbGVtID09IGNvbG9yIGFuZCAkdHlwZSA9PSAnY29sb3InIHtcclxuICAgICAgIEByZXR1cm4gJHY7XHJcbiAgICAgfVxyXG4gICB9XHJcblxyXG4gICAvLyBEZWZhdWx0c1xyXG4gICAkZGVmYXVsdHM6IChcclxuICAgICB3aWR0aDogMCxcclxuICAgICBzdHlsZTogc29saWQsXHJcbiAgICAgY29sb3I6IGJsYWNrLFxyXG4gICApO1xyXG4gICBAcmV0dXJuIG1hcC1nZXQoJGRlZmF1bHRzLCAkZWxlbSk7XHJcbiB9XHJcblxyXG4vLy8gR2V0IFNoYWRvdyBWYWx1ZVxyXG4vLy8gR2l2ZW4gc2hhZG93IHZhbHVlICR2YWwsIGZpbmQgYSBzcGVjaWZpYyBlbGVtZW50IG9mIHRoZSBzaGFkb3csIHdoaWNoIGlzICRlbGVtLiBUaGUgcG9zc2libGUgdmFsdWVzIGZvciAkZWxlbSBhcmUgeCwgeSwgc2l6ZSwgc3ByZWFkLCBjb2xvciwgYW5kIGluc2V0LlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7bGlzdH0gJHZhbCAtIFNoYWRvdyB2YWx1ZSB0byBmaW5kIGEgdmFsdWUgaW4uXHJcbi8vLyBAcGFyYW0ge2tleXdvcmR9ICRlbGVtIC0gU2hhZG93IGNvbXBvbmVudCB0byBleHRyYWN0LlxyXG4vLy9cclxuLy8vIEByZXR1cm4gSWYgdGhlIHZhbHVlIGV4aXN0cywgcmV0dXJucyB0aGUgdmFsdWUuIElmIHRoZSB2YWx1ZSBpcyBub3Qgc2V0LCByZXR1cm5zIGZhbHNlLiBJZiBgJGVsZW1gIGlzIFwiaW5zZXRcIiwgcmV0dXJucyB0cnVlLCBvdGhlcndpc2UgZmFsc2UuXHJcbkBmdW5jdGlvbiBnZXQtc2hhZG93LXZhbHVlKCR2YWwsICRlbGVtKSB7XHJcbiAgLy8gUmV0dXJuIFwibm9uZVwiIGlmIHRoZXJlJ3Mgbm8gc2hhZG93XHJcbiAgQGlmICR2YWwgPT0gbm9uZSB7XHJcbiAgICBAcmV0dXJuIG5vbmU7XHJcbiAgfVxyXG5cclxuICAvLyBJbnNldCBhbmQgY29sb3IgYXJlIGFsd2F5cyBhdCB0aGUgYmVnaW5uaW5nIGFuZCBlbmRcclxuICBAaWYgJGVsZW0gPT0gaW5zZXQge1xyXG4gICAgQHJldHVybiBudGgoJHZhbCwgMSkgPT0gaW5zZXQ7XHJcbiAgfVxyXG4gIEBpZiAkZWxlbSA9PSBjb2xvciB7XHJcbiAgICBAaWYgdHlwZS1vZihudGgoJHZhbCwgLTEpKSA9PSBjb2xvciB7XHJcbiAgICAgIEByZXR1cm4gbnRoKCR2YWwsIC0xKTtcclxuICAgIH1cclxuICAgIEBlbHNlIHtcclxuICAgICAgQHJldHVybiBibGFjaztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIFRoZSByZXN0IG9mIHRoZSB2YWx1ZXMgYXJlIGxvY2F0ZWQgcGVyaWxvdXNseSBpbiB0aGUgbWlkZGxlXHJcbiAgJHZhbHVlczogKCk7XHJcbiAgQGVhY2ggJHYgaW4gJHZhbCB7XHJcbiAgICBAaWYgdHlwZS1vZigkdikgPT0gJ251bWJlcicge1xyXG4gICAgICAkdmFsdWVzOiBhcHBlbmQoJHZhbHVlcywgJHYpO1xyXG4gICAgfVxyXG4gIH1cclxuICBAaWYgJGVsZW0gPT0geCB7XHJcbiAgICBAaWYgbGVuZ3RoKCR2YWx1ZXMpID49IDEge1xyXG4gICAgICBAcmV0dXJuIG50aCgkdmFsdWVzLCAxKTtcclxuICAgIH1cclxuICAgIEBlbHNlIHtcclxuICAgICAgQHJldHVybiAwO1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkZWxlbSA9PSB5IHtcclxuICAgIEBpZiBsZW5ndGgoJHZhbHVlcykgPj0gMiB7XHJcbiAgICAgIEByZXR1cm4gbnRoKCR2YWx1ZXMsIDIpO1xyXG4gICAgfVxyXG4gICAgQGVsc2Uge1xyXG4gICAgICBAcmV0dXJuIDA7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRlbGVtID09IHNpemUge1xyXG4gICAgQGlmIGxlbmd0aCgkdmFsdWVzKSA+PSAzIHtcclxuICAgICAgQHJldHVybiBudGgoJHZhbHVlcywgMyk7XHJcbiAgICB9XHJcbiAgICBAZWxzZSB7XHJcbiAgICAgIEByZXR1cm4gMDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJGVsZW0gPT0gc3ByZWFkIHtcclxuICAgIEBpZiBsZW5ndGgoJHZhbHVlcykgPj0gNCB7XHJcbiAgICAgIEByZXR1cm4gbnRoKCR2YWx1ZXMsIDQpO1xyXG4gICAgfVxyXG4gICAgQGVsc2Uge1xyXG4gICAgICBAcmV0dXJuIDA7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIHtcclxuICAgIEByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gU3RyaXAgVW5pdFxyXG4vLy8gUmVtb3ZlcyB0aGUgdW5pdCAoZS5nLiBweCwgZW0sIHJlbSkgZnJvbSBhIHZhbHVlLCByZXR1cm5pbmcgdGhlIG51bWJlciBvbmx5LlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7bnVtYmVyfSAkbnVtIC0gTnVtYmVyIHRvIHN0cmlwIHVuaXQgZnJvbS5cclxuLy8vXHJcbi8vLyBAcmV0dXJuIFRoZSBzYW1lIG51bWJlciwgc2FucyB1bml0LlxyXG5AZnVuY3Rpb24gc3RyaXAtdW5pdCgkbnVtKSB7XHJcbiAgQHJldHVybiAkbnVtIC8gKCRudW0gKiAwICsgMSk7XHJcbn1cclxuXHJcbi8vLyBUdXJuIHRvIERlZ3JlZXNcclxuLy8vIENvbnZlcnRzIGEgdHVybiB1bml0IHRvIHRoZSBlcXVpdmFsZW50IHVuaXQgaW4gZGVncmVlcy4gMXR1cm4gaXMgZXF1YWwgdG8gMzYwIGRlZ3JlZXMuIE5vdCBhbGwgYnJvd3NlcnMgc3VwcG9ydCB0dXJuLCBzbyB0aGlzIGZ1bmN0aW9uIGFsbG93cyB1cyB0byB1c2UgdHVybnMgd2hpbGUgb3V0cHV0dGluZyBhIHZhbHVlIHRoYXQgYWxsIGJyb3dzZXJzIHVuZGVyc3RhbmQuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtudW1iZXJ9ICR2YWx1ZSAtIFR1cm4gdmFsdWUgdG8gY29udmVydC5cclxuLy8vXHJcbi8vLyBAcmV0dXJuIFRoZSBzYW1lIHZhbHVlLCBidXQgaW4gZGVncmVlcy5cclxuQGZ1bmN0aW9uIHR1cm4tdG8tZGVnKCR2YWx1ZSkge1xyXG4gIEByZXR1cm4gc3RyaXAtdW5pdCgkdmFsdWUpICogMzYwZGVnO1xyXG59XHJcblxyXG4vLy8gQ29udmVydCB0byBSZW1cclxuLy8vIENvbnZlcnRzIGEgcGl4ZWwgdmFsdWUgdG8gbWF0Y2hpbmcgcmVtIHZhbHVlLiAqQW55KiB2YWx1ZSBwYXNzZWQsIHJlZ2FyZGxlc3Mgb2YgdW5pdCwgaXMgYXNzdW1lZCB0byBiZSBhIHBpeGVsIHZhbHVlLiBCeSBkZWZhdWx0LCB0aGUgYmFzZSBwaXhlbCB2YWx1ZSB1c2VkIHRvIGNhbGN1bGF0ZSB0aGUgcmVtIHZhbHVlIGlzIHRha2VuIGZyb20gdGhlIGAkcmVtLWJhc2VgIHZhcmlhYmxlLlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7bnVtYmVyfSAkdmFsdWUgLSBQaXhlbCB2YWx1ZSB0byBjb252ZXJ0LlxyXG4vLy9cclxuLy8vIEByZXR1cm4gQSBudW1iZXIgaW4gcmVtcywgY2FsY3VsYXRlZCBiYXNlZCBvbiB0aGUgZ2l2ZW4gdmFsdWUgYW5kIHRoZSBiYXNlIHBpeGVsIHZhbHVlLlxyXG5AZnVuY3Rpb24gY29udmVydC10by1yZW0oJHZhbHVlLCAkYmFzZS12YWx1ZTogJHJlbS1iYXNlKSAge1xyXG4gICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpIC8gc3RyaXAtdW5pdCgkYmFzZS12YWx1ZSkgKiAxcmVtO1xyXG4gIEBpZiAoJHZhbHVlID09IDByZW0pIHsgJHZhbHVlOiAwOyB9IC8vIFR1cm4gMHJlbSBpbnRvIDBcclxuICBAcmV0dXJuICR2YWx1ZTtcclxufVxyXG5cclxuLy8vIFJlbSBDYWxjdWxhdG9yXHJcbi8vLyBDb252ZXJ0cyBvbmUgb3IgbW9yZSBwaXhlbCB2YWx1ZXMgaW50byBtYXRjaGluZyByZW0gdmFsdWVzLiBUaGlzIGZ1bmN0aW9uIHdvcmtzIGEgbG90IGxpa2UgYGNvbnZlcnQtdG8tcmVtYCwgZXhjZXB0IGl0IGNhbiBjb252ZXJ0IG1vcmUgdGhhbiBvbmUgdmFsdWUgYXQgb25jZSwgd2hpY2ggaXMgdXNlZnVsIHdoZW4gc2V0dGluZyBtdWx0aXBsZSB2YWx1ZXMgb24gYSBgbWFyZ2luYCBvciBgcGFkZGluZ2AgcHJvcGVydHkuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtudW1iZXJ8bGlzdH0gJHZhbHVlcyAtIE9uZSBvciBtb3JlIHZhbHVlcyB0byBjb252ZXJ0LiBCZSBzdXJlIHRvIHNlcGFyYXRlIHRoZW0gd2l0aCBzcGFjZXMgYW5kIG5vdCBjb21tYXMuIElmIHlvdSBuZWVkIHRvIGNvbnZlcnQgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdCwgd3JhcCB0aGUgbGlzdCBpbiBwYXJlbnRoZXNlcy5cclxuLy8vXHJcbi8vLyBAcmV0dXJuIEEgbGlzdCBvZiBjb252ZXJ0ZWQgdmFsdWVzLlxyXG5AZnVuY3Rpb24gcmVtLWNhbGMoJHZhbHVlcywgJGJhc2UtdmFsdWU6IG51bGwpIHtcclxuICBAaWYgJGJhc2UtdmFsdWUgPT0gbnVsbCB7XHJcbiAgICAkYmFzZS12YWx1ZTogJHJlbS1iYXNlO1xyXG4gIH1cclxuICAkbWF4OiBsZW5ndGgoJHZhbHVlcyk7XHJcblxyXG4gIEBpZiAkbWF4ID09IDEgeyBAcmV0dXJuIGNvbnZlcnQtdG8tcmVtKG50aCgkdmFsdWVzLCAxKSwgJGJhc2UtdmFsdWUpOyB9XHJcblxyXG4gICRyZW1WYWx1ZXM6ICgpO1xyXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJG1heCB7XHJcbiAgICAkcmVtVmFsdWVzOiBhcHBlbmQoJHJlbVZhbHVlcywgY29udmVydC10by1yZW0obnRoKCR2YWx1ZXMsICRpKSwgJGJhc2UtdmFsdWUpKTtcclxuICB9XHJcbiAgQHJldHVybiAkcmVtVmFsdWVzO1xyXG59XHJcbiIsbnVsbCwiLypcclxuICBDYXJkc1xyXG5cclxuICBTdHJ1Y3R1cmU6XHJcblxyXG4gIHRpdGxlc1xyXG4gIGxpc3RzXHJcbiovXHJcblxyXG4vLy8gQEZvdW5kYXRpb24uc2V0dGluZ3NcclxuLy8gQ2FyZFxyXG4kY2FyZC1iYWNrZ3JvdW5kOiAjZmZmICFkZWZhdWx0O1xyXG4kY2FyZC1jb2xvcjogaXNpdGxpZ2h0KCRjYXJkLWJhY2tncm91bmQpICFkZWZhdWx0O1xyXG4kY2FyZC1ib3JkZXI6IDFweCBzb2xpZCBzbWFydHNjYWxlKCRjYXJkLWJhY2tncm91bmQsIDclKSAhZGVmYXVsdDtcclxuJGNhcmQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcclxuJGNhcmQtc2hhZG93OiAwIDFweCAycHggcmdiYSgjMDAwLCAwLjIpICFkZWZhdWx0O1xyXG4kY2FyZC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmcgIWRlZmF1bHQ7XHJcbiRjYXJkLW1hcmdpbjogMC41cmVtICFkZWZhdWx0O1xyXG5cclxuJGNhcmQtZGl2aWRlci1iYWNrZ3JvdW5kOiBzbWFydHNjYWxlKCRjYXJkLWJhY2tncm91bmQsIDclKSAhZGVmYXVsdDtcclxuLy8vXHJcblxyXG5AbWl4aW4gY2FyZC1jb250YWluZXIoXHJcbiAgJGJhY2tncm91bmQ6ICRjYXJkLWJhY2tncm91bmQsXHJcbiAgJGNvbG9yOiAkY2FyZC1jb2xvcixcclxuICAkYm9yZGVyOiAkY2FyZC1ib3JkZXIsXHJcbiAgJHJhZGl1czogJGNhcmQtcmFkaXVzLFxyXG4gICRzaGFkb3c6ICRjYXJkLXNoYWRvdyxcclxuICAkcGFkZGluZzogJGNhcmQtcGFkZGluZyxcclxuICAkbWFyZ2luOiAkY2FyZC1tYXJnaW5cclxuKSB7XHJcbiAgYm9yZGVyOiAkYm9yZGVyO1xyXG4gIG1hcmdpbi1ib3R0b206ICRtYXJnaW47XHJcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XHJcbiAgY29sb3I6ICRjb2xvcjtcclxuICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xyXG4gIGJveC1zaGFkb3c6ICRzaGFkb3c7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuXHJcbiAgaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XHJcbiAgICBjb2xvcjogaW5oZXJpdDtcclxuICB9XHJcblxyXG4gIHVsIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgfVxyXG5cclxuICBpbWcge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gY2FyZC1kaXZpZGVyKFxyXG4gICRiYWNrZ3JvdW5kOiAkY2FyZC1kaXZpZGVyLWJhY2tncm91bmQsXHJcbiAgJHBhZGRpbmc6ICRjYXJkLXBhZGRpbmdcclxuKSB7XHJcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XHJcbiAgcGFkZGluZzogJHBhZGRpbmc7XHJcbn1cclxuXHJcbkBtaXhpbiBjYXJkLXNlY3Rpb24oXHJcbiAgJHBhZGRpbmc6ICRjYXJkLXBhZGRpbmdcclxuKSB7XHJcbiAgcGFkZGluZzogJHBhZGRpbmc7XHJcbn1cclxuXHJcbkBpbmNsdWRlIGV4cG9ydHMoY2FyZCkge1xyXG4gIC5jYXJkIHtcclxuICAgIEBpbmNsdWRlIGNhcmQtY29udGFpbmVyO1xyXG5cclxuICAgIEBlYWNoICRjb2xvciBpbiBtYXAta2V5cygkZm91bmRhdGlvbi1jb2xvcnMpIHtcclxuICAgICAgJi4jeyRjb2xvcn0ge1xyXG4gICAgICAgICRjb2xvci12YWx1ZTogbWFwLWdldCgkZm91bmRhdGlvbi1jb2xvcnMsICRjb2xvcik7XHJcbiAgICAgICAgQGluY2x1ZGUgY2FyZC1jb250YWluZXIoXHJcbiAgICAgICAgICAkYmFja2dyb3VuZDogJGNvbG9yLXZhbHVlLFxyXG4gICAgICAgICAgJGNvbG9yOiBpc2l0bGlnaHQoJGNvbG9yLXZhbHVlKSxcclxuICAgICAgICAgICRib3JkZXI6IDBcclxuICAgICAgICApO1xyXG4gICAgICAgIC5jYXJkLWRpdmlkZXIge1xyXG4gICAgICAgICAgQGluY2x1ZGUgY2FyZC1kaXZpZGVyKFxyXG4gICAgICAgICAgICAkYmFja2dyb3VuZDogc21hcnRzY2FsZSgkY29sb3ItdmFsdWUsIDclKVxyXG4gICAgICAgICAgKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgICAuY2FyZC1kaXZpZGVyIHtcclxuICAgICAgQGluY2x1ZGUgY2FyZC1kaXZpZGVyO1xyXG4gICAgfVxyXG4gICAgLmNhcmQtc2VjdGlvbiB7XHJcbiAgICAgIEBpbmNsdWRlIGNhcmQtc2VjdGlvbjtcclxuICAgIH1cclxufVxyXG4iLCJAZnVuY3Rpb24gaW1hZ2UtdHJpYW5nbGUoJGNvbG9yOiAjMDAwKSB7XG4gICRjb2xvcjogcmdiKHJlZCgkY29sb3IpLCBncmVlbigkY29sb3IpLCBibHVlKCRjb2xvcikpO1xuICBAcmV0dXJuICdkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2ZXJzaW9uPVwiMS4xXCIgd2lkdGg9XCIzMlwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAzMiAyNFwiPjxwb2x5Z29uIHBvaW50cz1cIjAsMCAzMiwwIDE2LDI0XCIgc3R5bGU9XCJmaWxsOiAjeyRjb2xvcn1cIj48L3BvbHlnb24+PC9zdmc+Jztcbn1cblxuQG1peGluIGltYWdlLWNoZWNrbWFyaygkY29sb3I6ICMwMDApIHtcbiAgJGNvbG9yOiByZ2IocmVkKCRjb2xvciksIGdyZWVuKCRjb2xvciksIGJsdWUoJGNvbG9yKSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmVyc2lvbj1cIjEuMVwiIHdpZHRoPVwiMzJcIiBoZWlnaHQ9XCIzMlwiIHZpZXdCb3g9XCIwIDAgMzIgMzJcIj48cGF0aCBmaWxsPVwiI3skY29sb3J9XCIgZD1cIk0xNiAwYy04LjgzNyAwLTE2IDcuMTYzLTE2IDE2czcuMTYzIDE2IDE2IDE2IDE2LTcuMTYzIDE2LTE2LTcuMTYzLTE2LTE2LTE2em02LjkwNiA4Ljg3NWwyLjIxOSAyLjAzMS0xMi4wNjMgMTMuMjgxLTYuMTg4LTYuMTg4IDIuMTI1LTIuMTI1IDMuOTM4IDMuOTM4IDkuOTY5LTEwLjkzOHpcIi8+PC9zdmc+Jyk7XG5cbiAgLy8gSUUxMCBmYWxsYmFjaywgc2luY2UgaXQgZG9lc24ndCBzdXBwb3J0IFNWRyBkYXRhIFVSTHNcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDowXFwwKSB7XG4gICAgQGlmIGxpZ2h0bmVzcygkY29sb3IpIDwgNjAlIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFnQ0FZQUFBQnplbnIwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFkbEpSRUZVZU5yTWwwRnVnekFRUlkzVFJaZW9GeWhWTDBCT2tHVFhKZXphSFp3Z3VVbkVDYUNyZEZkNmdxUW5DTjExVXlrNVFla05PbE9OSldNVkdNQ2dmR2xrRUlZM0huc0cyeEZNM2Q5NlBqUUIyQUpzV2RQdEFQWU9sbitkVHdYbnV3NERIRUd6QnZORk42RURDVGlTOVhJQXdCNDBhY05vdWNLb3hPRElpZTBBd0FPQ3U4S09TbklpTngvTWFrSytBN3NXOW9UZmVyeHgzZlAzVDFuVVJvQkcvaXJHVmFoSHdqSG0vR2d4N0UzVE1WZHJRbW9QMGduZ2doaHBaUTNRdkcvRWRQTFVlbEFSV0k4QXljanE5TWQwcU1JZGJjTmhqbU9LTG9ZN3F1azNsMVJlYmVxZzRBd0ZrbXE3TFdHT2gxcG1OWTBldFpBV1NxME9YOEhvUzRKdld1Q29wYlNZMjZFR1IvQ1c4NkswQkYrcHdrTHdsUHV5SEpoT0NsNW9lNFp0Risrdk9xU1QrR2RPWXdPKzcxcE4yVk5Bam1RR1BDZTQyd2V1SERnMFBJOG9sVXduWXJYVEdRSkg5Z3hxOGwxTEt2clF4NE82L1lZMzJLcC91Z2IzZXk3Z1o0eEF6dWhZaVlUeEIvVUhaRkF1YVJFVlhaMmc2eUZsdkVDMnlvS0VtYnNSWllOZ1ZMazJKZWFPYUcreExITitXQ3N6RFdNcUxHT3JKRmExRGxBcGpTZHdvSEpHcUd6TEliMCtjYXMwd2g1Qmg3ODBuZ3N3eDhHSkQ3aDhzSGcyd0xBL21mRExQWnBkeE9GMHF1UDVyd0FEQUFGSXpTUnZ1MW01QUFBQUFFbEZUa1N1UW1DQycpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBZ0NBWUFBQUJ6ZW5yMEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBVDlKUkVGVWVOck1WNHNSZ3lBTURVN2dDSTZBRTdRak1JTGRvQ080Q2QyZzNhQjJBaDJoRzdRYjBPRFJPMnI5OEFucXU4dHhLdklTSUkvQXdCRktLWTZOUUR1Z0hTZTZOV2dQdEJ0anJBTUtJSEdGMWlwLzZIK3FHT0lDN2E3aW9jY29mTWtGMmt2UlFZOGxmS1k4RlNxWHlGUGpaeWFZdmViWXRHZzVwTVVicmNRc2VlcUh6UG9nVnlBSHd5SFhYUGZaL2NDTUEzcnFPWEdrRjlOT2Jid09sNkhzRlM1QmROS2FYVG5UajJkR1hpblJZR1FueDc0Q2lOVE9sdC9jTWZwZUpTRWgrZG5sSnlDVTJpSWtxNENJbkllbXRJc0RjbVl0aCtUYzl4Q0R5SFFTTWVSZURvdzRVVm52ODlEajJ5VU54NXdZa3JlQis2ZFB3OXBIMlFiT3hKQnIxRDVTTEVjY3VFWm1FUDhPMVBvNjRhQnlpOElWZWh4TEF2TC84b3o0VEZqZWZIc3B5VFl2U3ZkVmx1L2lZcktMcTltYWwxTzI5Zlg4SThBQU5wSVF6QzBoVGRFQUFBQUFTVVZPUks1Q1lJST0nKTtcbiAgICB9XG4gIH1cbn0iLCIvKlxyXG4gIFBPUFVQXHJcbiAgLS0tLS1cclxuXHJcbiAgQSBmbG9hdGluZyBjb250YWluZXIgdGhhdCBjYW4gYW5jaG9yIHRvIGFueSBvdGhlciBvbi1zY3JlZW4gZWxlbWVudCwgYW5kIGNvbnRhaW4gYW55IGNvbnRlbnQsIGluY2x1ZGluZyBncmlkIGJsb2NrcyBvciBwYW5lbHMuXHJcbiovXHJcblxyXG4vLy8gQEZvdW5kYXRpb24uc2V0dGluZ3NcclxuLy8gUG9wdXBcclxuJHBvcHVwLXdpZHRoOiByZW0tY2FsYygzMDApICFkZWZhdWx0O1xyXG4kcG9wdXAtYmFja2dyb3VuZDogI2ZmZiAhZGVmYXVsdDtcclxuJHBvcHVwLWJvcmRlcjogMCAhZGVmYXVsdDtcclxuJHBvcHVwLXJhZGl1czogMCAhZGVmYXVsdDtcclxuJHBvcHVwLXNoYWRvdzogMCAwIDEwcHggcmdiYSgjMDAwLCAwLjI1KSAhZGVmYXVsdDtcclxuLy8vXHJcblxyXG4lcG9wdXAge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB6LWluZGV4OiAxMDAwO1xyXG4gIG9wYWNpdHk6IDA7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMjVzIGVhc2Utb3V0O1xyXG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG5cclxuICAmLnRldGhlci1lbmFibGVkIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bztcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBwb3B1cC1sYXlvdXQoXHJcbiAgJHdpZHRoOiAkcG9wdXAtd2lkdGhcclxuKSB7XHJcbiAgd2lkdGg6ICRwb3B1cC13aWR0aDtcclxufVxyXG5AbWl4aW4gcG9wdXAtc3R5bGUoXHJcbiAgJGJhY2tncm91bmQ6ICRwb3B1cC1iYWNrZ3JvdW5kLFxyXG4gICRjb2xvcjogIzAwMCxcclxuICAkcmFkaXVzOiAkcG9wdXAtcmFkaXVzLFxyXG4gICRzaGFkb3c6ICRwb3B1cC1zaGFkb3csXHJcbiAgJGJvcmRlcjogJHBvcHVwLWJvcmRlclxyXG4pIHtcclxuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcclxuICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xyXG4gIGJveC1zaGFkb3c6ICRzaGFkb3c7XHJcbiAgYm9yZGVyOiAkYm9yZGVyO1xyXG59XHJcblxyXG5AbWl4aW4gcG9wdXAoXHJcbiAgJHdpZHRoOiAkcG9wdXAtd2lkdGgsXHJcbiAgJGJhY2tncm91bmQ6ICRwb3B1cC1iYWNrZ3JvdW5kLFxyXG4gICRyYWRpdXM6ICRwb3B1cC1yYWRpdXMsXHJcbiAgJHNoYWRvdzogJHBvcHVwLXNoYWRvdyxcclxuICAkYm9yZGVyOiAkcG9wdXAtYm9yZGVyXHJcbikge1xyXG4gIEBleHRlbmQgJXBvcHVwO1xyXG4gIEBpbmNsdWRlIHBvcHVwLWxheW91dCgkd2lkdGgpO1xyXG4gIEBpbmNsdWRlIHBvcHVwLXN0eWxlKCRiYWNrZ3JvdW5kLCBpc2l0bGlnaHQoJGJhY2tncm91bmQpLCAkcmFkaXVzLCAkc2hhZG93LCAkYm9yZGVyKTtcclxufVxyXG5cclxuQGluY2x1ZGUgZXhwb3J0cyhwb3B1cCkge1xyXG4gIC5wb3B1cCB7XHJcbiAgICBAaW5jbHVkZSBwb3B1cDtcclxuXHJcbiAgICAmLmRhcmsgICAgeyBAaW5jbHVkZSBwb3B1cC1zdHlsZSgkZGFyay1jb2xvciwgI2ZmZik7IH1cclxuICAgICYucHJpbWFyeSB7IEBpbmNsdWRlIHBvcHVwLXN0eWxlKCRwcmltYXJ5LWNvbG9yLCBpc2l0bGlnaHQoJHByaW1hcnktY29sb3IpKTsgfVxyXG4gIH1cclxufVxyXG4iLCIvLyBGT1VOREFUSU9OIE1PVElPTiBVSVxyXG4vLyBUYWJsZSBvZiBDb250ZW50c1xyXG4vL1xyXG4vLyAwLiBWYXJpYWJsZXNcclxuLy8gMS4gQmFzZSBUcmFuc2l0aW9uc1xyXG4vLyAgICAgIGEuIFNsaWRlXHJcbi8vICAgICAgYi4gRmFkZVxyXG4vLyAgICAgIGMuIEhpbmdlXHJcbi8vICAgICAgZC4gU2NhbGVcclxuLy8gICAgICBlLiBTcGluXHJcbi8vIDIuIEJhc2UgQW5pbWF0aW9uc1xyXG4vLyAgICAgIGEuIFNoYWtlXHJcbi8vICAgICAgYi4gU3Bpbm5lcnNcclxuLy8gICAgICBjLiBXaWdnbGVcclxuLy8gMy4gSFRNTCBBdHRyaWJ1dGVzXHJcblxyXG4vLyAwLiBWYXJpYWJsZXNcclxuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxyXG5cclxuLy8vIEBGb3VuZGF0aW9uLnNldHRpbmdzXHJcbi8vIE1vdGlvbiBVSVxyXG4vLyBDbGFzc2VzIHRvIHVzZSB3aGVuIHRyaWdnZXJpbmcgaW4vb3V0IGFuaW1hdGlvbnNcclxuJG1vdGlvbi1jbGFzczogKFxyXG4gIGluOiBcIm5nLWVudGVyXCIsXHJcbiAgb3V0OiBcIm5nLWxlYXZlXCIsXHJcbikgIWRlZmF1bHQ7XHJcbiRtb3Rpb24tY2xhc3MtYWN0aXZlOiAoXHJcbiAgaW46IFwibmctZW50ZXItYWN0aXZlXCIsXHJcbiAgb3V0OiBcIm5nLWxlYXZlLWFjdGl2ZVwiLFxyXG4pICFkZWZhdWx0O1xyXG4kbW90aW9uLWNsYXNzLXN0YWdnZXI6IChcclxuICBpbjogXCJuZy1lbnRlci1zdGFnZ2VyXCIsXHJcbiAgb3V0OiBcIm5nLWxlYXZlLXN0YWdnZXJcIixcclxuKSAhZGVmYXVsdDtcclxuJG1vdGlvbi1jbGFzcy1zaG93aGlkZTogKFxyXG4gIGluOiBcIm5nLWhpZGUtcmVtb3ZlXCIsXHJcbiAgb3V0OiBcIm5nLWhpZGUtYWRkXCIsXHJcbik7XHJcbiRtb3Rpb24tY2xhc3Mtc2hvd2hpZGUtYWN0aXZlOiAoXHJcbiAgaW46IFwibmctaGlkZS1yZW1vdmUtYWN0aXZlXCIsXHJcbiAgb3V0OiBcIm5nLWhpZGUtYWRkLWFjdGl2ZVwiLFxyXG4pO1xyXG5cclxuLy8gU2V0IGlmIG1vdmVtZW50LWJhc2VkIHRyYW5zaXRpb25zIHNob3VsZCBhbHNvIGZhZGUgdGhlIGVsZW1lbnQgaW4gYW5kIG91dFxyXG4kbW90aW9uLXNsaWRlLWFuZC1mYWRlOiBmYWxzZSAhZGVmYXVsdDtcclxuJG1vdGlvbi1oaW5nZS1hbmQtZmFkZTogdHJ1ZSAhZGVmYXVsdDtcclxuJG1vdGlvbi1zY2FsZS1hbmQtZmFkZTogdHJ1ZSAhZGVmYXVsdDtcclxuJG1vdGlvbi1zcGluLWFuZC1mYWRlOiB0cnVlICFkZWZhdWx0O1xyXG5cclxuLy8gRGVmYXVsdCBzcGVlZCBmb3IgdHJhbnNpdGlvbnMgYW5kIGFuaW1hdGlvbnNcclxuJG1vdGlvbi1kdXJhdGlvbi1kZWZhdWx0OiA1MDBtcyAhZGVmYXVsdDtcclxuXHJcbi8vIFNsb3cgYW5kIGZhc3QgbW9kaWZpZGVyc1xyXG4kbW90aW9uLWR1cmF0aW9uLXNsb3c6IDc1MG1zICFkZWZhdWx0O1xyXG4kbW90aW9uLWR1cmF0aW9uLWZhc3Q6IDI1MG1zICFkZWZhdWx0O1xyXG4kbW90aW9uLXN0YWdnZXItZHVyYXRpb24tZGVmYXVsdDogMTUwbXMgIWRlZmF1bHQ7XHJcbiRtb3Rpb24tc3RhZ2dlci1kdXJhdGlvbi1zaG9ydDogNTBtcyAhZGVmYXVsdDtcclxuJG1vdGlvbi1zdGFnZ2VyLWR1cmF0aW9uLWxvbmc6IDMwMG1zICFkZWZhdWx0O1xyXG5cclxuLy8gRGVmYXVsdCB0aW1pbmcgZnVuY3Rpb24gZm9yIHRyYW5zaXRpb25zIGFuZCBhbmltYXRpb25zXHJcbiRtb3Rpb24tdGltaW5nLWRlZmF1bHQ6IGVhc2UgIWRlZmF1bHQ7XHJcblxyXG4vLyBCdWlsdC1pbiBhbmQgY3VzdG9tIGVhc2luZyBmdW5jdGlvbnNcclxuLy8gRXZlcnkgaXRlbSBpbiB0aGlzIG1hcCBiZWNvbWVzIGEgQ1NTIGNsYXNzXHJcbiRtb3Rpb24tdGltaW5nczogKFxyXG4gIGxpbmVhcjogbGluZWFyLFxyXG4gIGVhc2U6IGVhc2UsXHJcbiAgZWFzZUluOiBlYXNlLWluLFxyXG4gIGVhc2VPdXQ6IGVhc2Utb3V0LFxyXG4gIGVhc2VJbk91dDogZWFzZS1pbi1vdXQsXHJcbiAgYm91bmNlSW46IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuMjQwLCAxLjI0NSksXHJcbiAgYm91bmNlT3V0OiBjdWJpYy1iZXppZXIoMC40ODUsIDAuMTU1LCAwLjUxNSwgMC44NDUpLFxyXG4gIGJvdW5jZUluT3V0OiBjdWJpYy1iZXppZXIoMC43NjAsIC0wLjI0NSwgMC4yNDAsIDEuMjQ1KSxcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vIERlZmF1bHQgZGVsYXkgZm9yIGFsbCB0cmFuc2l0aW9ucyBhbmQgYW5pbWF0aW9uc1xyXG4kbW90aW9uLWRlbGF5LWRlZmF1bHQ6IDAgIWRlZmF1bHQ7XHJcbi8vIFNob3J0IGFuZCBsb25nIGRlbGF5IG1vZGlmaWVyc1xyXG4kbW90aW9uLWRlbGF5LXNob3J0OiAzMDBtcyAhZGVmYXVsdDtcclxuJG1vdGlvbi1kZWxheS1sb25nOiA3MDBtcyAhZGVmYXVsdDtcclxuLy8vXHJcblxyXG4vLyBMb29rcyBmb3IgYSB0aW1pbmcgZnVuY3Rpb24gaW4gdGhlIGxpc3Qgb2YgcHJlc2V0c1xyXG4vLyBJZiBub25lIGFyZSBmb3VuZCwgcmV0dXJucyB0aGUgdmFsdWUgYXMtaXMuXHJcbkBmdW5jdGlvbiBnZXQtdGltaW5nKCR0aW1pbmcpIHtcclxuICBAaWYgbWFwLWhhcy1rZXkoJG1vdGlvbi10aW1pbmdzLCAkdGltaW5nKSB7XHJcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1vdGlvbi10aW1pbmdzLCAkdGltaW5nKTtcclxuICB9XHJcbiAgQGVsc2Uge1xyXG4gICAgQHJldHVybiAkdGltaW5nO1xyXG4gIH1cclxufVxyXG5cclxuLy8gQXBwbGllcyB0cmFuc2l0aW9uIHNldHRpbmdzIGNvbW1vbiB0byBhbGwgbWl4aW5zXHJcbkBtaXhpbiB0cmFuc2l0aW9uLWJhc2ljcyhcclxuICAkZHVyYXRpb246ICRtb3Rpb24tZHVyYXRpb24tZGVmYXVsdCxcclxuICAkdGltaW5nOiAkbW90aW9uLXRpbWluZy1kZWZhdWx0LFxyXG4gICRkZWxheTogJG1vdGlvbi1kZWxheS1kZWZhdWx0XHJcbikge1xyXG4gIHRyYW5zaXRpb24tZHVyYXRpb246ICRkdXJhdGlvbjtcclxuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZ2V0LXRpbWluZygkdGltaW5nKTtcclxuICB0cmFuc2l0aW9uLWRlbGF5OiAkZGVsYXk7XHJcbn1cclxuXHJcbi8vIFdyYXBzIGNvbnRlbnQgaW4gYW4gZW50ZXIvbGVhdmUgY2xhc3MsIGNoYWluZWQgdG8gdGhlIHBhcmVudCBzZWxlY3RvclxyXG4vLyBEZWZpbmUgdGhlIGluaXRpYWwgc3RhdGUgb2YgYSB0cmFuc2l0aW9uIGhlcmVcclxuQG1peGluIHRyYW5zaXRpb24tc3RhcnQoJGRpcikge1xyXG4gICRzZWwxOiBtYXAtZ2V0KCRtb3Rpb24tY2xhc3MsICRkaXIpO1xyXG4gICRzZWwyOiBtYXAtZ2V0KCRtb3Rpb24tY2xhc3Mtc2hvd2hpZGUsICRkaXIpO1xyXG5cclxuICAmLiN7JHNlbDF9LFxyXG4gICYuI3skc2VsMn0ge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBXcmFwcyBjb250ZW50IGluIGFuIGVudGVyL2xlYXZlIGFjdGl2ZSBjbGFzcywgY2hhaW5lZCB0byB0aGUgbWF0Y2hpbmdcclxuLy8gZW50ZXIvbGVhdmUgY2xhc3MsIGNoYWluZWQgdG8gdGhlIHBhcmVudCBzZWxlY3RvclxyXG4vLyBEZWZpbmUgdGhlIGVuZCBzdGF0ZSBvZiBhIHRyYW5zaXRpb24gaGVyZVxyXG5AbWl4aW4gdHJhbnNpdGlvbi1lbmQoJGRpcikge1xyXG4gICRzZWwxOiAgbWFwLWdldCgkbW90aW9uLWNsYXNzLCAkZGlyKTtcclxuICAkc2VsMUE6IG1hcC1nZXQoJG1vdGlvbi1jbGFzcy1hY3RpdmUsICRkaXIpO1xyXG5cclxuICAkc2VsMjogIG1hcC1nZXQoJG1vdGlvbi1jbGFzcy1zaG93aGlkZSwgJGRpcik7XHJcbiAgJHNlbDJBOiBtYXAtZ2V0KCRtb3Rpb24tY2xhc3Mtc2hvd2hpZGUtYWN0aXZlLCAkZGlyKTtcclxuXHJcbiAgJi4jeyRzZWwxfS4jeyRzZWwxQX0sXHJcbiAgJi4jeyRzZWwyfS4jeyRzZWwyQX0ge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gc3RhZ2dlcigkZGVsYXktYW1vdW50KSB7XHJcbiAgdHJhbnNpdGlvbi1kZWxheTogJGRlbGF5LWFtb3VudDtcclxuICAvLyB0aGlzIGlzIHRvIGF2b2lkIGFjY2lkZW50YWwgQ1NTIGluaGVyaXRhbmNlXHJcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjowO1xyXG59XHJcblxyXG5cclxuLy8gMS4gQmFzZSBUcmFuc2l0aW9uc1xyXG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXHJcblxyXG4vLyBTTElERVxyXG5AbWl4aW4gc2xpZGUgKFxyXG4gICRkaXI6IGluLFxyXG4gICRmcm9tOiBsZWZ0LFxyXG4gICRmYWRlOiAkbW90aW9uLXNsaWRlLWFuZC1mYWRlLFxyXG4gICRkdXJhdGlvbjogJG1vdGlvbi1kdXJhdGlvbi1kZWZhdWx0LFxyXG4gICR0aW1pbmc6ICRtb3Rpb24tdGltaW5nLWRlZmF1bHQsXHJcbiAgJGRlbGF5OiAkbW90aW9uLWRlbGF5LWRlZmF1bHRcclxuKSB7XHJcbiAgJHNsaWRlRGlyZWN0aW9uczogKFxyXG4gICAgdG9wOiAgICB0cmFuc2xhdGVZKC0xMDAlKSxcclxuICAgIHJpZ2h0OiAgdHJhbnNsYXRlWCgxMDAlKSxcclxuICAgIGJvdHRvbTogdHJhbnNsYXRlWSgxMDAlKSxcclxuICAgIGxlZnQ6ICAgdHJhbnNsYXRlWCgtMTAwJSksXHJcbiAgKTtcclxuICAkc3RhcnQ6ICcnO1xyXG4gICRlbmQ6ICcnO1xyXG5cclxuICBAaWYgJGRpciA9PSBpbiB7XHJcbiAgICAkc3RhcnQ6IG1hcC1nZXQoJHNsaWRlRGlyZWN0aW9ucywgJGZyb20pO1xyXG4gICAgJGVuZDogdHJhbnNsYXRlWCgwKSB0cmFuc2xhdGVZKDApO1xyXG4gIH1cclxuICBAZWxzZSB7XHJcbiAgICAkc3RhcnQ6IHRyYW5zbGF0ZVgoMCkgdHJhbnNsYXRlWSgwKTtcclxuICAgICRlbmQ6IG1hcC1nZXQoJHNsaWRlRGlyZWN0aW9ucywgJGZyb20pO1xyXG4gIH1cclxuXHJcbiAgLy8gQ1NTIE91dHB1dFxyXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tc3RhcnQoJGRpcikge1xyXG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1iYXNpY3MoJGR1cmF0aW9uLCAkdGltaW5nLCAkZGVsYXkpO1xyXG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xyXG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgdHJhbnNmb3JtOiAkc3RhcnQ7XHJcblxyXG4gICAgQGlmICRmYWRlIHsgb3BhY2l0eTogaWYoJGRpciA9PSBpbiwgMCwgMSk7IH1cclxuICB9XHJcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1lbmQoJGRpcikge1xyXG4gICAgdHJhbnNmb3JtOiAkZW5kO1xyXG5cclxuICAgIEBpZiAkZmFkZSB7IG9wYWNpdHk6IGlmKCRkaXIgPT0gaW4sIDEsIDApOyB9XHJcbiAgfVxyXG59XHJcblxyXG4vLyBGQURFXHJcbkBtaXhpbiBmYWRlKFxyXG4gICRkaXI6IGluLFxyXG4gICRmcm9tOiAwLFxyXG4gICR0bzogMSxcclxuICAkZHVyYXRpb246ICRtb3Rpb24tZHVyYXRpb24tZGVmYXVsdCxcclxuICAkdGltaW5nOiAkbW90aW9uLXRpbWluZy1kZWZhdWx0LFxyXG4gICRkZWxheTogJG1vdGlvbi1kZWxheS1kZWZhdWx0XHJcbikge1xyXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tc3RhcnQoJGRpcikge1xyXG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1iYXNpY3MoJGR1cmF0aW9uLCAkdGltaW5nLCAkZGVsYXkpO1xyXG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTtcclxuICAgIG9wYWNpdHk6ICRmcm9tO1xyXG4gIH1cclxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLWVuZCgkZGlyKSB7XHJcbiAgICBvcGFjaXR5OiAkdG87XHJcbiAgfVxyXG59XHJcblxyXG4vLyBISU5HRVxyXG5AbWl4aW4gaGluZ2UgKFxyXG4gICRkaXI6IGluLFxyXG4gICRmcm9tOiBsZWZ0LFxyXG4gICRheGlzOiBlZGdlLFxyXG4gICRwZXJzcGVjdGl2ZTogMjAwMHB4LFxyXG4gICR0dXJuLW9yaWdpbjogZnJvbS1iYWNrLFxyXG4gICRmYWRlOiAkbW90aW9uLWhpbmdlLWFuZC1mYWRlLFxyXG4gICRkdXJhdGlvbjogJG1vdGlvbi1kdXJhdGlvbi1kZWZhdWx0LFxyXG4gICR0aW1pbmc6ICRtb3Rpb24tdGltaW5nLWRlZmF1bHQsXHJcbiAgJGRlbGF5OiAkbW90aW9uLWRlbGF5LWRlZmF1bHRcclxuKSB7XHJcblxyXG4gIC8vIFJvdGF0aW9uIGRpcmVjdGlvbnMgd2hlbiBoaW5naW5nIGZyb20gYmFjayB2cy4gZnJvbnRcclxuICAkcm90YXRpb25BbW91bnQ6IDkwZGVnO1xyXG4gICRyb3RhdGlvbnNCYWNrOiAoXHJcbiAgICB0b3A6IHJvdGF0ZVgoJHJvdGF0aW9uQW1vdW50ICogLTEpLFxyXG4gICAgcmlnaHQ6IHJvdGF0ZVkoJHJvdGF0aW9uQW1vdW50ICogLTEpLFxyXG4gICAgYm90dG9tOiByb3RhdGVYKCRyb3RhdGlvbkFtb3VudCksXHJcbiAgICBsZWZ0OiByb3RhdGVZKCRyb3RhdGlvbkFtb3VudCksXHJcbiAgKTtcclxuICAkcm90YXRpb25zRnJvbTogKFxyXG4gICAgdG9wOiByb3RhdGVYKCRyb3RhdGlvbkFtb3VudCksXHJcbiAgICByaWdodDogcm90YXRlWSgkcm90YXRpb25BbW91bnQpLFxyXG4gICAgYm90dG9tOiByb3RhdGVYKCRyb3RhdGlvbkFtb3VudCAqIC0xKSxcclxuICAgIGxlZnQ6IHJvdGF0ZVkoJHJvdGF0aW9uQW1vdW50ICogLTEpLFxyXG4gICk7XHJcblxyXG4gIC8vIFJvdGF0aW9uIG9yaWdpblxyXG4gICRyb3RhdGlvbjogJyc7XHJcbiAgQGlmICR0dXJuLW9yaWdpbiA9PSBmcm9tLWZyb250IHtcclxuICAgICRyb3RhdGlvbjogbWFwLWdldCgkcm90YXRpb25zRnJvbSwgJGZyb20pO1xyXG4gIH1cclxuICBAZWxzZSBpZiAkdHVybi1vcmlnaW4gPT0gZnJvbS1iYWNrIHtcclxuICAgICRyb3RhdGlvbjogbWFwLWdldCgkcm90YXRpb25zQmFjaywgJGZyb20pO1xyXG4gIH1cclxuICBAZWxzZSB7XHJcbiAgICBAd2FybiBcImAkdHVybi1vcmlnaW5gIG11c3QgYmUgZWl0aGVyIGBmcm9tLWJhY2tgIG9yIGBmcm9tLWZyb250YFwiO1xyXG4gIH1cclxuXHJcbiAgLy8gU3RhcnQgYW5kIGVuZCBzdGF0ZVxyXG4gICRzdGFydDogJyc7XHJcbiAgJGVuZDogJyc7XHJcbiAgQGlmICRkaXIgPT0gaW4ge1xyXG4gICAgJHN0YXJ0OiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpICRyb3RhdGlvbjtcclxuICAgICRlbmQ6IHJvdGF0ZSgwZGVnKTtcclxuICB9XHJcbiAgQGVsc2Uge1xyXG4gICAgJHN0YXJ0OiByb3RhdGUoMGRlZyk7XHJcbiAgICAkZW5kOiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpICRyb3RhdGlvbjtcclxuICB9XHJcblxyXG4gIC8vIFR1cm4gYXhpc1xyXG4gICRvcmlnaW46ICcnO1xyXG4gIEBpZiAkYXhpcyA9PSBlZGdlIHtcclxuICAgICRvcmlnaW46ICRmcm9tO1xyXG4gIH1cclxuICBAZWxzZSB7XHJcbiAgICAkb3JpZ2luOiBjZW50ZXI7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLXN0YXJ0KCRkaXIpIHtcclxuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tYmFzaWNzKCRkdXJhdGlvbiwgJHRpbWluZywgJGRlbGF5KTtcclxuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcclxuICAgIHRyYW5zZm9ybTogJHN0YXJ0O1xyXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogJG9yaWdpbjtcclxuICAgIEBpZiAkZmFkZSB7IG9wYWNpdHk6IGlmKCRkaXIgPT0gaW4sIDAsIDEpOyB9XHJcbiAgfVxyXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRkaXIpIHtcclxuICAgIHRyYW5zZm9ybTogJGVuZDtcclxuICAgIEBpZiAkZmFkZSB7IG9wYWNpdHk6IGlmKCRkaXIgPT0gaW4sIDEsIDApOyB9XHJcbiAgfVxyXG59XHJcblxyXG4vLyBTQ0FMRVxyXG5AbWl4aW4gc2NhbGUoXHJcbiAgJGRpcjogaW4sXHJcbiAgJGZyb206IDEuNSxcclxuICAkdG86IDEsXHJcbiAgJGZhZGU6ICRtb3Rpb24tc2NhbGUtYW5kLWZhZGUsXHJcbiAgJGR1cmF0aW9uOiAkbW90aW9uLWR1cmF0aW9uLWRlZmF1bHQsXHJcbiAgJHRpbWluZzogJG1vdGlvbi10aW1pbmctZGVmYXVsdCxcclxuICAkZGVsYXk6ICRtb3Rpb24tZGVsYXktZGVmYXVsdFxyXG4pIHtcclxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLXN0YXJ0KCRkaXIpIHtcclxuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tYmFzaWNzKCRkdXJhdGlvbiwgJHRpbWluZywgJGRlbGF5KTtcclxuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgcHJvcGVydHk7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlKCRmcm9tKTtcclxuICAgIEBpZiAkZmFkZSB7IG9wYWNpdHk6IGlmKCRkaXIgPT0gaW4sIDAsIDEpIH1cclxuICB9XHJcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1lbmQoJGRpcikge1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgkdG8pO1xyXG4gICAgQGlmICRmYWRlIHsgb3BhY2l0eTogaWYoJGRpciA9PSBpbiwgMSwgMCkgfVxyXG4gIH1cclxufVxyXG5cclxuLy8gU1BJTlxyXG5AbWl4aW4gc3BpbihcclxuICAkZGlyOiBpbixcclxuICAkYW1vdW50OiAwLjc1dHVybixcclxuICAkY2N3OiBmYWxzZSxcclxuICAkZmFkZTogJG1vdGlvbi1zcGluLWFuZC1mYWRlLFxyXG4gICRkdXJhdGlvbjogJG1vdGlvbi1kdXJhdGlvbi1kZWZhdWx0LFxyXG4gICR0aW1pbmc6ICRtb3Rpb24tdGltaW5nLWRlZmF1bHQsXHJcbiAgJGRlbGF5OiAkbW90aW9uLWRlbGF5LWRlZmF1bHRcclxuKSB7XHJcbiAgJGFtb3VudDogdHVybi10by1kZWcoJGFtb3VudCk7XHJcbiAgJHN0YXJ0OiAwO1xyXG4gICRlbmQ6IDA7XHJcblxyXG4gIEBpZiAkZGlyID09IGluIHtcclxuICAgICRzdGFydDogaWYoJGNjdywgJGFtb3VudCwgJGFtb3VudCAqIC0xKTtcclxuICAgICRlbmQ6IDA7XHJcbiAgfVxyXG4gIEBlbHNlIHtcclxuICAgICRzdGFydDogMDtcclxuICAgICRlbmQ6IGlmKCRjY3csICRhbW91bnQgKiAtMSwgJGFtb3VudCk7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLXN0YXJ0KCRkaXIpIHtcclxuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlKCRzdGFydCk7XHJcbiAgICBAaWYgJGZhZGUgeyBvcGFjaXR5OiBpZigkZGlyID09IGluLCAwLCAxKTsgfVxyXG4gIH1cclxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLWVuZCgkZGlyKSB7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgkZW5kKTtcclxuICAgIEBpZiAkZmFkZSB7IG9wYWNpdHk6IGlmKCRkaXIgPT0gaW4sIDEsIDApOyB9XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLy8gMi4gQmFzZSBBbmltYXRpb25zXHJcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cclxuXHJcbi8vIFNIQUtFXHJcbkBrZXlmcmFtZXMgc2hha2Uge1xyXG4gIDAlLCAxMCUsIDIwJSwgMzAlLCA0MCUsIDUwJSwgNjAlLCA3MCUsIDgwJSwgOTAlIHtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg3JSk7XHJcbiAgfVxyXG4gIDUlLCAxNSUsIDI1JSwgMzUlLCA0NSUsIDU1JSwgNjUlLCA3NSUsIDg1JSwgOTUlIHtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNyUpO1xyXG4gIH1cclxuICAxMDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XHJcbn1cclxuXHJcbi8vIFNQSU5ORVJTXHJcbkBrZXlmcmFtZXMgc3Bpbi1jdyB7XHJcbiAgMCUgeyB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxyXG4gIDEwMCUgeyB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgc3Bpbi1jY3cge1xyXG4gIDAlIHsgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cclxuICAxMDAlIHsgdHJhbnNmb3JtOiByb3RhdGUoLTM2MGRlZyk7IH1cclxufVxyXG5cclxuLy8gV0lHR0xFXHJcbkBrZXlmcmFtZXMgd2lnZ2xlIHtcclxuICA0MCUsIDUwJSwgNjAlIHtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlKDdkZWcpO1xyXG4gIH1cclxuICAzNSUsIDQ1JSwgNTUlLCA2NSUge1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTdkZWcpO1xyXG4gIH1cclxuICAwJSwgMzAlLCA3MCUsIDEwMCUgeyB0cmFuc2Zvcm06IHJvdGF0ZSgwKTsgfVxyXG59XHJcblxyXG5AbWl4aW4gYW5pbWF0aW9uKFxyXG4gICRhbmltYXRpb24sXHJcbiAgJGR1cmF0aW9uOiAkbW90aW9uLWR1cmF0aW9uLWRlZmF1bHQsXHJcbiAgJHRpbWluZzogJG1vdGlvbi10aW1pbmctZGVmYXVsdCxcclxuICAkZGVsYXk6ICRtb3Rpb24tZGVsYXktZGVmYXVsdCxcclxuICAkaXRlcmF0aW9uczogbnVsbFxyXG4pIHtcclxuICBcclxuICBhbmltYXRpb24tbmFtZTogJGFuaW1hdGlvbjtcclxuICBhbmltYXRpb24tZHVyYXRpb246ICRkdXJhdGlvbjtcclxuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkdGltaW5nO1xyXG5cclxuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XHJcblxyXG4gIEBpZiAkZGVsYXkgIT0gbnVsbCB7XHJcbiAgICBhbmltYXRpb24tZGVsYXk6ICRkZWxheTtcclxuICB9XHJcbiAgQGlmICRpdGVyYXRpb25zICE9IG51bGwge1xyXG4gICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogJGl0ZXJhdGlvbnM7XHJcbiAgfVxyXG5cclxuICBAaWYgJGFuaW1hdGlvbiA9PSBudWxsIHtcclxuICAgIEB3YXJuIFwiUGxlYXNlIGluY2x1ZGUgYW4gYW5pbWF0aW9uIG5hbWVcIjtcclxuICB9XHJcbn1cclxuXHJcbi8vIDMuIEhUTUwgRXhwb3J0c1xyXG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXHJcblxyXG5AaW5jbHVkZSBleHBvcnRzKG1vdGlvbikge1xyXG4gIC8qXHJcbiAgICBUcmFuc2l0aW9uc1xyXG4gICovXHJcblxyXG4gIC8vIFNsaWRlXHJcbiAgLnNsaWRlSW5Eb3duICAgIHsgQGluY2x1ZGUgc2xpZGUoJGZyb206IHRvcCk7IH1cclxuICAuc2xpZGVJbkxlZnQgICAgeyBAaW5jbHVkZSBzbGlkZSgkZnJvbTogcmlnaHQpOyB9XHJcbiAgLnNsaWRlSW5VcCAgICAgIHsgQGluY2x1ZGUgc2xpZGUoJGZyb206IGJvdHRvbSk7IH1cclxuICAuc2xpZGVJblJpZ2h0ICAgeyBAaW5jbHVkZSBzbGlkZSgkZnJvbTogbGVmdCk7IH1cclxuICAuc2xpZGVPdXRCb3R0b20geyBAaW5jbHVkZSBzbGlkZSgkZGlyOiBvdXQsICRmcm9tOiBib3R0b20pOyB9XHJcbiAgLnNsaWRlT3V0UmlnaHQgIHsgQGluY2x1ZGUgc2xpZGUoJGRpcjogb3V0LCAkZnJvbTogcmlnaHQpOyB9XHJcbiAgLnNsaWRlT3V0VXAgICAgIHsgQGluY2x1ZGUgc2xpZGUoJGRpcjogb3V0LCAkZnJvbTogdG9wKTsgfVxyXG4gIC5zbGlkZU91dExlZnQgICB7IEBpbmNsdWRlIHNsaWRlKCRkaXI6IG91dCwgJGZyb206IGxlZnQpOyB9XHJcblxyXG4gIC8vIEZhZGVcclxuICAuZmFkZUluICB7IEBpbmNsdWRlIGZhZGUoaW4sIDAsIDEpOyB9XHJcbiAgLmZhZGVPdXQgeyBAaW5jbHVkZSBmYWRlKG91dCwgMSwgMCk7IH1cclxuXHJcbiAgLy8gSGluZ2VcclxuICAuaGluZ2VJbkZyb21Ub3AgICAgICB7IEBpbmNsdWRlIGhpbmdlKCRkaXI6IGluLCAkZnJvbTogdG9wKTsgfVxyXG4gIC5oaW5nZUluRnJvbVJpZ2h0ICAgIHsgQGluY2x1ZGUgaGluZ2UoJGRpcjogaW4sICRmcm9tOiByaWdodCk7IH1cclxuICAuaGluZ2VJbkZyb21Cb3R0b20gICB7IEBpbmNsdWRlIGhpbmdlKCRkaXI6IGluLCAkZnJvbTogYm90dG9tKTsgfVxyXG4gIC5oaW5nZUluRnJvbUxlZnQgICAgIHsgQGluY2x1ZGUgaGluZ2UoJGRpcjogaW4sICRmcm9tOiBsZWZ0KTsgfVxyXG4gIC5oaW5nZUluRnJvbU1pZGRsZVggIHsgQGluY2x1ZGUgaGluZ2UoJGRpcjogaW4sICRmcm9tOiB0b3AsICAgJGF4aXM6IGNlbnRlcik7IH1cclxuICAuaGluZ2VJbkZyb21NaWRkbGVZICB7IEBpbmNsdWRlIGhpbmdlKCRkaXI6IGluLCAkZnJvbTogcmlnaHQsICRheGlzOiBjZW50ZXIpOyB9XHJcbiAgLmhpbmdlT3V0RnJvbVRvcCAgICAgeyBAaW5jbHVkZSBoaW5nZSgkZGlyOiBvdXQsICRmcm9tOiB0b3ApOyB9XHJcbiAgLmhpbmdlT3V0RnJvbVJpZ2h0ICAgeyBAaW5jbHVkZSBoaW5nZSgkZGlyOiBvdXQsICRmcm9tOiByaWdodCk7IH1cclxuICAuaGluZ2VPdXRGcm9tQm90dG9tICB7IEBpbmNsdWRlIGhpbmdlKCRkaXI6IG91dCwgJGZyb206IGJvdHRvbSk7IH1cclxuICAuaGluZ2VPdXRGcm9tTGVmdCAgICB7IEBpbmNsdWRlIGhpbmdlKCRkaXI6IG91dCwgJGZyb206IGxlZnQpOyB9XHJcbiAgLmhpbmdlT3V0RnJvbU1pZGRsZVggeyBAaW5jbHVkZSBoaW5nZSgkZGlyOiBvdXQsICRmcm9tOiB0b3AsICAgJGF4aXM6IGNlbnRlcik7IH1cclxuICAuaGluZ2VPdXRGcm9tTWlkZGxlWSB7IEBpbmNsdWRlIGhpbmdlKCRkaXI6IG91dCwgJGZyb206IHJpZ2h0LCAkYXhpczogY2VudGVyKTsgfVxyXG5cclxuICAvLyBTY2FsZVxyXG4gIC56b29tSW4gIHsgQGluY2x1ZGUgc2NhbGUoaW4sICAxLjUsIDEpOyB9XHJcbiAgLnpvb21PdXQgeyBAaW5jbHVkZSBzY2FsZShvdXQsIDAuNSwgMSk7IH1cclxuXHJcbiAgLy8gU3BpblxyXG4gIC5zcGluSW4gICAgIHsgQGluY2x1ZGUgc3BpbihpbiwgMC43NXR1cm4pOyB9XHJcbiAgLnNwaW5PdXQgICAgeyBAaW5jbHVkZSBzcGluKG91dCwgMC43NXR1cm4pOyB9XHJcbiAgLnNwaW5JbkNDVyAgeyBAaW5jbHVkZSBzcGluKGluLCAwLjc1dHVybiwgdHJ1ZSk7IH1cclxuICAuc3Bpbk91dENDVyB7IEBpbmNsdWRlIHNwaW4ob3V0LCAwLjc1dHVybiwgdHJ1ZSk7IH1cclxuXHJcbiAgLypcclxuICAgIFRyYW5zaXRpb24gbW9kaWZpZXJzXHJcbiAgKi9cclxuXHJcbiAgLy8gRHVyYXRpb25cclxuICAuc2xvdyB7IHRyYW5zaXRpb24tZHVyYXRpb246ICRtb3Rpb24tZHVyYXRpb24tc2xvdyAhaW1wb3J0YW50OyB9XHJcbiAgLmZhc3QgeyB0cmFuc2l0aW9uLWR1cmF0aW9uOiAkbW90aW9uLWR1cmF0aW9uLWZhc3QgIWltcG9ydGFudDsgfVxyXG5cclxuICAvLyBFYXNpbmdcclxuICBAZWFjaCAkZWFzaW5nIGluIG1hcC1rZXlzKCRtb3Rpb24tdGltaW5ncykge1xyXG4gICAgLiN7JGVhc2luZ30ge1xyXG4gICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbWFwLWdldCgkbW90aW9uLXRpbWluZ3MsICRlYXNpbmcpICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBEZWxheVxyXG4gIC5kZWxheSAgICAgICB7IHRyYW5zaXRpb24tZGVsYXk6ICRtb3Rpb24tZGVsYXktc2hvcnQgIWltcG9ydGFudDsgfVxyXG4gIC5sb25nLWRlbGF5ICB7IHRyYW5zaXRpb24tZGVsYXk6ICRtb3Rpb24tZGVsYXktbG9uZyAhaW1wb3J0YW50OyB9XHJcblxyXG4gIC8qXHJcbiAgICBBbmltYXRpb25zXHJcbiAgKi9cclxuXHJcbiAgLnNoYWtlICAgIHsgQGluY2x1ZGUgYW5pbWF0aW9uKHNoYWtlKTsgfVxyXG4gIC5zcGluLWN3ICB7IEBpbmNsdWRlIGFuaW1hdGlvbihzcGluLWN3KTsgfVxyXG4gIC5zcGluLWNjdyB7IEBpbmNsdWRlIGFuaW1hdGlvbihzcGluLWNjdyk7IH1cclxuICAud2lnZ2xlICAgeyBAaW5jbHVkZSBhbmltYXRpb24od2lnZ2xlKTsgfVxyXG5cclxuICAvKlxyXG4gICAgQW5pbWF0aW9uIG1vZGlmaWVyc1xyXG4gICovXHJcblxyXG4gIC5zaGFrZSxcclxuICAuc3Bpbi1jdyxcclxuICAuc3Bpbi1jY3csXHJcbiAgLndpZ2dsZSB7XHJcbiAgICAvLyBSZXBlYXRcclxuICAgICYuaW5maW5pdGUgeyBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTsgfVxyXG5cclxuICAgIC8vIEVhc2luZ1xyXG4gICAgQGVhY2ggJHRpbWluZyBpbiBtYXAta2V5cygkbW90aW9uLXRpbWluZ3MpIHtcclxuICAgICAgJi4jeyR0aW1pbmd9IHtcclxuICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBtYXAtZ2V0KCRtb3Rpb24tdGltaW5ncywgJHRpbWluZykgIWltcG9ydGFudDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIER1cmF0aW9uXHJcbiAgICAmLnNsb3cgeyBhbmltYXRpb24tZHVyYXRpb246ICRtb3Rpb24tZHVyYXRpb24tc2xvdyAhaW1wb3J0YW50OyB9XHJcbiAgICAmLmZhc3QgeyBhbmltYXRpb24tZHVyYXRpb246ICRtb3Rpb24tZHVyYXRpb24tZmFzdCAhaW1wb3J0YW50OyB9XHJcblxyXG4gICAgLy8gRGVsYXlcclxuICAgICYuZGVsYXkgICAgICAgeyBhbmltYXRpb24tZGVsYXk6ICRtb3Rpb24tZGVsYXktc2hvcnQgIWltcG9ydGFudDsgfVxyXG4gICAgJi5sb25nLWRlbGF5ICB7IGFuaW1hdGlvbi1kZWxheTogJG1vdGlvbi1kZWxheS1sb25nICFpbXBvcnRhbnQ7IH1cclxuICB9XHJcbiAgLnN0YWdnZXIgeyBAaW5jbHVkZSBzdGFnZ2VyKCRtb3Rpb24tc3RhZ2dlci1kdXJhdGlvbi1kZWZhdWx0KTsgfVxyXG4gIC5zdG9ydC1zdGFnZ2VyIHsgQGluY2x1ZGUgc3RhZ2dlcigkbW90aW9uLXN0YWdnZXItZHVyYXRpb24tZGVmYXVsdCk7IH1cclxuICAubG9uZy1zdGFnZ2VyIHsgQGluY2x1ZGUgc3RhZ2dlcigkbW90aW9uLXN0YWdnZXItZHVyYXRpb24tZGVmYXVsdCk7IH1cclxufVxyXG5cclxuLy8gVmlldyBhbmltYXRpb24gY2xhc3Nlc1xyXG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cclxuXHJcbi8vIEFwcGxpZWQgdG8gdGhlIGltbWVkaWF0ZSBwYXJlbnQgb2YgdGhlIGFuaW1hdGluZyB2aWV3c1xyXG4ucG9zaXRpb24tYWJzb2x1dGUge1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcblxyXG4vLyBBcHBsaWVkIHRvIHRoZSBhbmltYXRpbmcgdmlld3NcclxuLnVpLWFuaW1hdGlvbiB7XHJcbiAgJi5uZy1lbnRlci1hY3RpdmUsICYubmctbGVhdmUtYWN0aXZlIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xyXG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICBib3R0b206IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gIH1cclxufVxyXG4iLCIvKlxuICBPZGRzIGFuZCBlbmRzLlxuKi9cblxuLy8vIEBGb3VuZGF0aW9uLnNldHRpbmdzXG4vLyBFeHRyYXNcbiRjbG9zZWJ1dHRvbi1wb3NpdGlvbjogKHRvcCByaWdodCkgIWRlZmF1bHQ7XG4kY2xvc2VidXR0b24tc2l6ZTogMmVtICFkZWZhdWx0O1xuJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQ6IDAuNSAhZGVmYXVsdDtcbiRjbG9zZWJ1dHRvbi1jb2xvcjogIzk5OSAhZGVmYXVsdDtcbiRjbG9zZWJ1dHRvbi1jb2xvci1ob3ZlcjogIzMzMyAhZGVmYXVsdDtcblxuJHRodW1ibmFpbC1wYWRkaW5nOiAwLjVyZW0gIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLXNoYWRvdzogMCAzcHggMTVweCByZ2JhKGJsYWNrLCAwLjI1KSAhZGVmYXVsdDtcbi8vL1xuXG4vLyBBIGJhc2ljIGNsb3NlIGJ1dHRvbi4gVGhleSBwaW4gdG8gdGhlIGNvcm5lciBvZiB0aGUgdGhpbmcgdGhleSdyZSBpbnNpZGUuXG4lY2xvc2UtYnV0dG9uIHtcbiAgJHg6IG50aCgkY2xvc2VidXR0b24tcG9zaXRpb24sIDEpO1xuICAkeTogbnRoKCRjbG9zZWJ1dHRvbi1wb3NpdGlvbiwgMik7XG5cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb2xvcjogJGNsb3NlYnV0dG9uLWNvbG9yO1xuICAjeyR4fTogJGdsb2JhbC1wYWRkaW5nO1xuICAjeyR5fTogJGdsb2JhbC1wYWRkaW5nO1xuICBmb250LXNpemU6ICRjbG9zZWJ1dHRvbi1zaXplO1xuICBsaW5lLWhlaWdodDogJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogJGNsb3NlYnV0dG9uLWNvbG9yLWhvdmVyO1xuICB9XG59XG5cbi8vIE1ha2UgeW91ciBpbWFnZXMgZmFuY3ktbGlrZS5cbiV0aHVtYm5haWwge1xuICBwYWRkaW5nOiAkdGh1bWJuYWlsLXBhZGRpbmc7XG4gIGJveC1zaGFkb3c6ICR0aHVtYm5haWwtc2hhZG93O1xufVxuXG5AaW5jbHVkZSBleHBvcnRzKGV4dHJhcykge1xuICAuY2xvc2UtYnV0dG9uIHtcbiAgICBAZXh0ZW5kICVjbG9zZS1idXR0b247XG4gIH1cbiAgLnRodW1ibmFpbCB7XG4gICAgQGV4dGVuZCAldGh1bWJuYWlsO1xuICB9XG4gIHVsLnRodW1ibmFpbHMgPiBsaSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICBcbiAgICBhIHsgZGlzcGxheTogYmxvY2s7IH1cbiAgICBpbWcgeyBAZXh0ZW5kICV0aHVtYm5haWw7IH1cbiAgfVxufVxuIiwiLypcbiAgUEFORUxcbiAgLS0tLS1cblxuICBUaGUgZnJpZW5kbHkgcGFuZWwgaXMgYW4gYWxsLXB1cnBvc2UgY29udGFpbmVyIGZvciBoaWRpbmcgY29udGVudCBvZmYtc2NyZWVuLlxuXG4gIEZlYXR1cmVzOlxuICAgLSBQb3NpdGlvbiBhdCB0b3AsIHJpZ2h0LCBib3R0b20sIG9yIGxlZnRcbiAgIC0gQW5jaG9yIHRvIGdyaWQgYmxvY2sgb3Igd2luZG93XG4gICAtIERlZmluZSBtYXggd2lkdGggb3IgaGVpZ2h0XG4gICAtIFRyYW5zZm9ybSBpbnRvIGdyaWQgYmxvY2sgZGVwZW5kaW5nIG9uIHNjcmVlbiBzaXplXG4qL1xuXG4vLy8gQEZvdW5kYXRpb24uc2V0dGluZ3Ncbi8vIFBhbmVsXG4kcGFuZWwtc2l6ZS1ob3Jpem9udGFsOiAzMDBweCAhZGVmYXVsdDtcbiRwYW5lbC1zaXplLXZlcnRpY2FsOiAzMDBweCAhZGVmYXVsdDtcbiRwYW5lbC1wYWRkaW5nOiAwICFkZWZhdWx0O1xuXG4kcGFuZWwtYmFja2dyb3VuZDogI2ZmZiAhZGVmYXVsdDtcbiRwYW5lbC1zaGFkb3c6IDNweCAwIDEwcHggcmdiYShibGFjaywgMC4yNSkgIWRlZmF1bHQ7XG5cbi8vIERFUFJFQ0FURUQ6IHRoZXNlIHZhcmlhYmxlcyB3aWxsIGJlIHJlbW92ZWQgaW4gYSBmdXR1cmUgdmVyc2lvbi5cbiRwYW5lbC1hbmltYXRpb24tc3BlZWQ6IDAuMjVzICFkZWZhdWx0O1xuLy8vXG5cbiVwYW5lbC1iYXNlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTAwO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBkaXNwbGF5OiBub25lO1xuXG4gICYuaXMtYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG5AbWl4aW4gcGFuZWwtbGF5b3V0KFxuICAkcG9zaXRpb246IGxlZnQsXG4gICRzaXplOiBkZWZhdWx0LFxuICAkc2hhZG93OiAkcGFuZWwtc2hhZG93XG4pIHtcbiAgQGlmICRzaXplID09IGRlZmF1bHQge1xuICAgIEBpZiAkcG9zaXRpb24gPT0gbGVmdCBvciAkcG9zaXRpb24gPT0gcmlnaHQge1xuICAgICAgJHNpemU6ICRwYW5lbC1zaXplLWhvcml6b250YWw7XG4gICAgfVxuICAgIEBpZiAkcG9zaXRpb24gPT0gdG9wIG9yICRwb3NpdGlvbiA9PSBib3R0b20ge1xuICAgICAgJHNpemU6ICRwYW5lbC1zaXplLXZlcnRpY2FsO1xuICAgIH1cbiAgfVxuXG4gIC8qXG4gICAgRGlyZWN0aW9uXG4gICovXG4gIEBpZiAkcG9zaXRpb24gPT0gdG9wIHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gcmlnaHQge1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IGJvdHRvbSB7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IGxlZnQge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxuXG4gIC8qXG4gICAgU2l6aW5nXG4gICovXG4gIC8vIEhvcml6b250YWwgcGFuZWxzIGFyZSBhbHdheXMgYWxsIHRoZSB3YXkgdGFsbCBhbmQgaGF2ZSBhIHNldCB3aWR0aFxuICBAaWYgJHBvc2l0aW9uID09IGxlZnQgb3IgJHBvc2l0aW9uID09IHJpZ2h0IHtcbiAgICBAaWYgdW5pdCgkc2l6ZSkgPT0gJyUnIHtcbiAgICAgIHdpZHRoOiAkc2l6ZTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIHdpZHRoOiAkc2l6ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLy8gKEZvciBub3cpIHZlcnRpY2FsIHBhbmVscyBkb24ndCBjaGFuZ2Ugc2l6ZVxuICBAaWYgJHBvc2l0aW9uID09IHRvcCBvciAkcG9zaXRpb24gPT0gYm90dG9tIHtcbiAgICBoZWlnaHQ6ICRzaXplO1xuICB9XG5cbiAgLypcbiAgICBTaGFkb3dzXG4gICovXG4gICRzaGFkb3ctZGlzdGFuY2U6IGdldC1zaGFkb3ctdmFsdWUoJHNoYWRvdywgeCk7XG4gICRzaGFkb3ctc2l6ZTogZ2V0LXNoYWRvdy12YWx1ZSgkc2hhZG93LCBzaXplKTtcbiAgJHNoYWRvdy1jb2xvcjogZ2V0LXNoYWRvdy12YWx1ZSgkc2hhZG93LCBjb2xvcik7XG4gICYuaXMtYWN0aXZlIHtcbiAgICBAaWYgJHBvc2l0aW9uID09IGxlZnQgICAgICAgIHsgYm94LXNoYWRvdzogJHNoYWRvdy1kaXN0YW5jZSAwICRzaGFkb3ctc2l6ZSAkc2hhZG93LWNvbG9yOyB9XG4gICAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHJpZ2h0ICB7IGJveC1zaGFkb3c6ICgtJHNoYWRvdy1kaXN0YW5jZSkgMCAkc2hhZG93LXNpemUgJHNoYWRvdy1jb2xvcjsgfVxuICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSB0b3AgICAgeyBib3gtc2hhZG93OiAwICRzaGFkb3ctZGlzdGFuY2UgJHNoYWRvdy1zaXplICRzaGFkb3ctY29sb3I7IH1cbiAgICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gYm90dG9tIHsgYm94LXNoYWRvdzogMnB4ICgtJHNoYWRvdy1kaXN0YW5jZSkgJHNoYWRvdy1zaXplICRzaGFkb3ctY29sb3I7IH1cbiAgfVxufVxuXG5AbWl4aW4gcGFuZWwtc3R5bGUoXG4gICRwYWRkaW5nOiAkcGFuZWwtcGFkZGluZyxcbiAgJGJhY2tncm91bmQ6ICRwYW5lbC1iYWNrZ3JvdW5kXG4pIHtcbiAgLypcbiAgICBCYXNpYyBzdHlsZXNcbiAgKi9cbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xufVxuXG5AaW5jbHVkZSBleHBvcnRzKHBhbmVsKSB7XG4gIC5wYW5lbCB7XG4gICAgQGV4dGVuZCAlcGFuZWwtYmFzZTtcbiAgICBAaW5jbHVkZSBwYW5lbC1zdHlsZTtcbiAgfVxuXG4gIC5wYW5lbC10b3AgICAgeyBAaW5jbHVkZSBwYW5lbC1sYXlvdXQodG9wKTsgfVxuICAucGFuZWwtcmlnaHQgIHsgQGluY2x1ZGUgcGFuZWwtbGF5b3V0KHJpZ2h0KTsgfVxuICAucGFuZWwtYm90dG9tIHsgQGluY2x1ZGUgcGFuZWwtbGF5b3V0KGJvdHRvbSk7IH1cbiAgLnBhbmVsLWxlZnQgICB7IEBpbmNsdWRlIHBhbmVsLWxheW91dChsZWZ0KTsgfVxuXG4gIC5wYW5lbC1maXhlZCAgeyBwb3NpdGlvbjogZml4ZWQ7IH1cbn0iLCIvKlxyXG4gIExhYmVsXHJcbiovXHJcblxyXG4vLy8gQEZvdW5kYXRpb24uc2V0dGluZ3NcclxuLy8gTGFiZWxcclxuJGxhYmVsLWZvbnRzaXplOiAwLjhyZW0gIWRlZmF1bHQ7XHJcbiRsYWJlbC1wYWRkaW5nOiAoJGdsb2JhbC1wYWRkaW5nIC8gMykgKCRnbG9iYWwtcGFkZGluZyAvIDIpICFkZWZhdWx0O1xyXG4kbGFiZWwtcmFkaXVzOiAwICFkZWZhdWx0O1xyXG4kbGFiZWwtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XHJcbiRsYWJlbC1jb2xvcjogaXNpdGxpZ2h0KCRwcmltYXJ5LWNvbG9yKSAhZGVmYXVsdDtcclxuXHJcbiRiYWRnZS1mb250c2l6ZTogMC44ZW0gIWRlZmF1bHQ7XHJcbiRiYWRnZS1kaWFtZXRlcjogMS41cmVtICFkZWZhdWx0O1xyXG4kYmFkZ2UtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XHJcbiRiYWRnZS1jb2xvcjogI2ZmZiAhZGVmYXVsdDtcclxuLy8vXHJcblxyXG4lbGFiZWwge1xyXG4gIGxpbmUtaGVpZ2h0OiAxO1xyXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIGN1cnNvcjogZGVmYXVsdDtcclxufVxyXG5cclxuQG1peGluIGxhYmVsLWxheW91dChcclxuICAkZm9udHNpemU6ICRsYWJlbC1mb250c2l6ZSxcclxuICAkcGFkZGluZzogJGxhYmVsLXBhZGRpbmdcclxuKSB7XHJcbiAgZm9udC1zaXplOiAkZm9udHNpemU7XHJcbiAgcGFkZGluZzogJHBhZGRpbmc7XHJcbn1cclxuXHJcbkBtaXhpbiBsYWJlbC1zdHlsZShcclxuICAkYmFja2dyb3VuZDogJGxhYmVsLWJhY2tncm91bmQsXHJcbiAgJGNvbG9yOiAkbGFiZWwtY29sb3IsXHJcbiAgJHJhZGl1czogJGxhYmVsLXJhZGl1c1xyXG4pIHtcclxuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcclxuICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xyXG5cclxuICBAaWYgJGNvbG9yID09IGF1dG8ge1xyXG4gICAgY29sb3I6IGlzaXRsaWdodCgkYmFja2dyb3VuZCk7XHJcbiAgfVxyXG4gIEBlbHNlIHtcclxuICAgIGNvbG9yOiAkY29sb3I7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gbGFiZWwoXHJcbiAgJGJhY2tncm91bmQ6ICRsYWJlbC1iYWNrZ3JvdW5kLFxyXG4gICRjb2xvcjogJGxhYmVsLWNvbG9yLFxyXG4gICRyYWRpdXM6ICRsYWJlbC1yYWRpdXMsXHJcbiAgJGZvbnRzaXplOiAkbGFiZWwtZm9udHNpemUsXHJcbiAgJHBhZGRpbmc6ICRsYWJlbC1wYWRkaW5nXHJcbikge1xyXG4gIEBleHRlbmQgJWxhYmVsO1xyXG4gIEBpbmNsdWRlIGxhYmVsLWxheW91dCgkZm9udHNpemUsICRwYWRkaW5nKTtcclxuICBAaW5jbHVkZSBsYWJlbC1zdHlsZSgkYmFja2dyb3VuZCwgJGNvbG9yLCAkcmFkaXVzKTtcclxufVxyXG5cclxuQGluY2x1ZGUgZXhwb3J0cyhsYWJlbCkge1xyXG4gIC5sYWJlbCB7XHJcbiAgICBAaW5jbHVkZSBsYWJlbDtcclxuXHJcbiAgICBAZWFjaCAkY29sb3IgaW4gbWFwLWtleXMoJGZvdW5kYXRpb24tY29sb3JzKSB7XHJcbiAgICAgICYuI3skY29sb3J9IHtcclxuICAgICAgICAkY29sb3ItdmFsdWU6IG1hcC1nZXQoJGZvdW5kYXRpb24tY29sb3JzLCAkY29sb3IpO1xyXG4gICAgICAgIEBpbmNsdWRlIGxhYmVsLXN0eWxlKCRjb2xvci12YWx1ZSwgYXV0byk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8qXHJcbiAgQmFkZ2VcclxuKi9cclxuXHJcbiViYWRnZSB7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICBib3JkZXItcmFkaXVzOiAxMDAwcHg7XHJcbn1cclxuXHJcbkBtaXhpbiBiYWRnZS1sYXlvdXQoXHJcbiAgJGZvbnRzaXplOiAkYmFkZ2UtZm9udHNpemUsXHJcbiAgJGRpYW1ldGVyOiAkYmFkZ2UtZGlhbWV0ZXJcclxuKSB7XHJcbiAgZm9udC1zaXplOiAkZm9udHNpemU7XHJcbiAgd2lkdGg6ICRkaWFtZXRlcjtcclxuICBoZWlnaHQ6ICRkaWFtZXRlcjtcclxufVxyXG5cclxuQG1peGluIGJhZGdlLXN0eWxlKFxyXG4gICRiYWNrZ3JvdW5kOiAkYmFkZ2UtYmFja2dyb3VuZCxcclxuICAkY29sb3I6ICRiYWRnZS1mb250LWNvbG9yXHJcbikge1xyXG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xyXG5cclxuICBAaWYgJGNvbG9yID09IGF1dG8ge1xyXG4gICAgY29sb3I6IGlzaXRsaWdodCgkYmFja2dyb3VuZCk7XHJcbiAgfVxyXG4gIEBlbHNlIHtcclxuICAgIGNvbG9yOiAkY29sb3I7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gYmFkZ2UoXHJcbiAgJGJhY2tncm91bmQ6ICRiYWRnZS1iYWNrZ3JvdW5kLFxyXG4gICRjb2xvcjogJGJhZGdlLWNvbG9yLFxyXG4gICRkaWFtZXRlcjogJGJhZGdlLWRpYW1ldGVyLFxyXG4gICRmb250c2l6ZTogJGJhZGdlLWZvbnRzaXplXHJcbikge1xyXG4gIEBleHRlbmQgJWJhZGdlO1xyXG4gIEBpbmNsdWRlIGJhZGdlLWxheW91dCgkZm9udHNpemUsICRkaWFtZXRlcik7XHJcbiAgQGluY2x1ZGUgYmFkZ2Utc3R5bGUoJGJhY2tncm91bmQsICRjb2xvcik7XHJcbn1cclxuXHJcbkBpbmNsdWRlIGV4cG9ydHMoYmFkZ2UpIHtcclxuICAuYmFkZ2Uge1xyXG4gICAgQGluY2x1ZGUgYmFkZ2U7XHJcblxyXG4gICAgJi5zZWNvbmRhcnkge1xyXG4gICAgICBAaW5jbHVkZSBiYWRnZS1zdHlsZSgkc2Vjb25kYXJ5LWNvbG9yLCBhdXRvKTtcclxuICAgIH1cclxuICAgIEBlYWNoICRjb2xvciBpbiBtYXAta2V5cygkZm91bmRhdGlvbi1jb2xvcnMpIHtcclxuICAgICAgJi4jeyRjb2xvcn0ge1xyXG4gICAgICAgICRjb2xvci12YWx1ZTogbWFwLWdldCgkZm91bmRhdGlvbi1jb2xvcnMsICRjb2xvcik7XHJcbiAgICAgICAgQGluY2x1ZGUgYmFkZ2Utc3R5bGUoJGNvbG9yLXZhbHVlLCBhdXRvKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvKlxyXG4gIE1PREFMXHJcbiAgLS0tLS1cclxuXHJcbiAgVGhlIGh1bWJsZSBtb2RhbCBoaWRlcyBvZmYtY2FudmFzIHVudGlsIHN1bW1vbmVkIHdpdGggYW4gZmEtb3BlbiBkaXJlY3RpdmUuIE1vZGFscyBhcHBlYXIgb3ZlciBhbiBvdmVybGF5IHRoYXQgZGFya2VucyB0aGUgcmVzdCBvZiB0aGUgcGFnZSwgYW5kIGhhdmUgYSBtYXhtaW11bSB3aWR0aC4gWW91IGNhbiBjb25zdHJ1Y3QgYSBncmlkIGluc2lkZSBhIG1vZGFsLCBvciBhdHRhY2ggcGFuZWxzIHRvIGl0LlxyXG5cclxuICBOb3RlIHRoYXQgdGhlIG1vZGFsIG92ZXJsYXkgaXMgaGFyZGNvZGVkIGludG8gdGhlIENTUywgYmVjYXVzZSB3aGV0aGVyIG9yIG5vdCB5b3UgYnVpbGQgeW91ciBtb2RhbCBzZW1hbnRpY2FsbHksIHRoZSBvdmVybGF5IGlzIGFsd2F5cyByZXF1aXJlZCBhbmQgd2lsbCBhbHdheXMgbG9vayB0aGUgc2FtZS5cclxuKi9cclxuXHJcbi8vLyBARm91bmRhdGlvbi5zZXR0aW5nc1xyXG4vLyBNb2RhbFxyXG4kbW9kYWwtYmFja2dyb3VuZDogI2ZmZiAhZGVmYXVsdDtcclxuJG1vZGFsLWJvcmRlcjogMCAhZGVmYXVsdDtcclxuJG1vZGFsLXJhZGl1czogMHB4ICFkZWZhdWx0O1xyXG4kbW9kYWwtc2hhZG93OiBub25lICFkZWZhdWx0O1xyXG4kbW9kYWwtemluZGV4OiAxMDAwICFkZWZhdWx0O1xyXG4kbW9kYWwtc2l6ZXM6IChcclxuICB0aW55OiAzMDBweCxcclxuICBzbWFsbDogNTAwcHgsXHJcbiAgbWVkaXVtOiA2MDBweCxcclxuICBsYXJnZTogODAwcHgsXHJcbikgIWRlZmF1bHQ7XHJcblxyXG4kbW9kYWwtb3ZlcmxheS1jbGFzczogJ21vZGFsLW92ZXJsYXknICFkZWZhdWx0O1xyXG4kbW9kYWwtb3ZlcmxheS1iYWNrZ3JvdW5kOiByZ2JhKCMzMzMsIDAuNykgIWRlZmF1bHQ7XHJcbi8vL1xyXG5cclxuJW1vZGFsIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgei1pbmRleDogJG1vZGFsLXppbmRleCArIDE7XHJcbiAgYmFja2dyb3VuZDogJG1vZGFsLWJhY2tncm91bmQ7XHJcbiAgZmxleDogMCAwIGF1dG87XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiAxMDB2aDtcclxuICBtYXgtaGVpZ2h0OiAxMDAlO1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xyXG5cclxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgbWF4LXdpZHRoOiBtYXAtZ2V0KCRtb2RhbC1zaXplcywgbWVkaXVtKTtcclxuICB9XHJcblxyXG4gIC5ncmlkLWNvbnRlbnQsIC5ncmlkLWJsb2NrIHtcclxuICAgIG1hcmdpbjogMDtcclxuICB9XHJcblxyXG4gIC5jbG9zZS1idXR0b24sIFtmYS1jbG9zZV0ge1xyXG4gICAgei1pbmRleDogJG1vZGFsLXppbmRleCArIDE7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gbW9kYWwtZGlhbG9nKCkge1xyXG4gIGhlaWdodDogYXV0bztcclxufVxyXG5AbWl4aW4gbW9kYWwtbGF5b3V0KFxyXG4gICR3aWR0aDogbWFwLWdldCgkbW9kYWwtc2l6ZXMsIG1lZGl1bSksXHJcbiAgJGRpYWxvZzogZmFsc2VcclxuKSB7XHJcbiAgbWF4LXdpZHRoOiAkd2lkdGg7XHJcbn1cclxuQG1peGluIG1vZGFsLXN0eWxlKFxyXG4gICRib3JkZXI6ICRtb2RhbC1ib3JkZXIsXHJcbiAgJHJhZGl1czogJG1vZGFsLXJhZGl1cyxcclxuICAkc2hhZG93OiAkbW9kYWwtc2hhZG93XHJcbikge1xyXG4gIEBpZiAkYm9yZGVyICE9IDAge1xyXG4gICAgYm9yZGVyOiAkYm9yZGVyO1xyXG4gIH1cclxuICBAaWYgJHJhZGl1cyAhPSAwIHtcclxuICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XHJcbiAgfVxyXG4gIEBpZiAkc2hhZG93ICE9IG5vbmUge1xyXG4gICAgYm94LXNoYWRvdzogJHNoYWRvdztcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBtb2RhbChcclxuICAkd2lkdGg6IG1hcC1nZXQoJG1vZGFsLXNpemVzLCBtZWRpdW0pLFxyXG4gICRib3JkZXI6ICRtb2RhbC1ib3JkZXIsXHJcbiAgJHJhZGl1czogJG1vZGFsLXJhZGl1cyxcclxuICAkc2hhZG93OiAkbW9kYWwtc2hhZG93XHJcbikge1xyXG4gIEBleHRlbmQgJW1vZGFsO1xyXG4gIEBpbmNsdWRlIG1vZGFsLWxheW91dCgkd2lkdGgpO1xyXG4gIEBpbmNsdWRlIG1vZGFsLXN0eWxlKCRib3JkZXIsICRyYWRpdXMsICRzaGFkb3cpO1xyXG59XHJcblxyXG5AaW5jbHVkZSBleHBvcnRzKG1vZGFsKSB7XHJcbiAgLm1vZGFsIHtcclxuICAgIEBpbmNsdWRlIG1vZGFsO1xyXG5cclxuICAgIEBlYWNoICRzaXplIGluIG1hcC1rZXlzKCRtb2RhbC1zaXplcykge1xyXG4gICAgICAkd2lkdGg6IG1hcC1nZXQoJG1vZGFsLXNpemVzLCAkc2l6ZSk7XHJcbiAgICAgIEBpZiAkc2l6ZSAhPSBtZWRpdW0ge1xyXG4gICAgICAgIC4jeyRzaXplfSA+ICYgeyBAaW5jbHVkZSBtb2RhbC1sYXlvdXQoJHdpZHRoKTsgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmRpYWxvZyA+ICYge1xyXG4gICAgICBAaW5jbHVkZSBtb2RhbC1kaWFsb2c7XHJcbiAgICB9XHJcbiAgICAuY29sbGFwc2UgPiAmIHtcclxuICAgICAgcGFkZGluZzogMDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC4jeyRtb2RhbC1vdmVybGF5LWNsYXNzfSB7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICB0b3A6IDA7XHJcbiAgICByaWdodDogMDtcclxuICAgIGJvdHRvbTogMDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICB6LWluZGV4OiAkbW9kYWwtemluZGV4O1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRtb2RhbC1vdmVybGF5LWJhY2tncm91bmQ7XHJcblxyXG4gICAgLy8gSG9yaXpvbnRhbGx5IGFuZCB2ZXJ0aWNhbGx5IGNlbnRlciB0aGUgbW9kYWxcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHJcbiAgICAmLmlzLWFjdGl2ZSB7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi8qXHJcbiAgU1dJVENIXHJcbiAgLS0tLS0tXHJcbiovXHJcblxyXG4vLy8gQEZvdW5kYXRpb24uc2V0dGluZ3NcclxuLy8gU3dpdGNoXHJcbiRzd2l0Y2gtd2lkdGg6IHJlbS1jYWxjKDUwKSAhZGVmYXVsdDtcclxuJHN3aXRjaC1oZWlnaHQ6IHJlbS1jYWxjKDMyKSAhZGVmYXVsdDtcclxuJHN3aXRjaC1iYWNrZ3JvdW5kOiAjY2NjICFkZWZhdWx0O1xyXG4kc3dpdGNoLWJhY2tncm91bmQtYWN0aXZlOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcclxuJHN3aXRjaC1ib3JkZXI6IDAgIWRlZmF1bHQ7XHJcbiRzd2l0Y2gtcmFkaXVzOiA5OTk5cHggIWRlZmF1bHQ7XHJcbiRzd2l0Y2gtYW5pbWF0aW9uLXNwZWVkOiAwLjE1cyAhZGVmYXVsdDtcclxuXHJcbiRzd2l0Y2gtcGFkZGxlLWNvbG9yOiB3aGl0ZSAhZGVmYXVsdDtcclxuJHN3aXRjaC1wYWRkbGUtb2Zmc2V0OiA0cHggIWRlZmF1bHQ7XHJcbi8vL1xyXG5cclxuJXN3aXRjaCB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cclxuICA+IGlucHV0IHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGxlZnQ6IC05OTk5cHg7XHJcbiAgICBvdXRsaW5lOiBub25lO1xyXG4gIH1cclxuXHJcbiAgPiBsYWJlbCB7XHJcbiAgICAtbXMtdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XHJcbiAgICAgICAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgbWFyZ2luOiAwO1xyXG5cclxuICAgIC8vIFBhZGRsZVxyXG4gICAgJjo6YWZ0ZXIge1xyXG4gICAgICBjb250ZW50OiAnJztcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgdG9wOiAwO1xyXG4gICAgICBsZWZ0OiAwO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLypcclxuICBEZWZpbmVzIHRoZSBkaW1tZW5zaW9ucyBvZiB0aGUgc3dpdGNoLlxyXG5cclxuICAkd2lkdGggLSB3aWR0aCBvZiB0aGUgc3dpdGNoLlxyXG4gICRoZWlnaHQgLSBoZWlnaHQgb2YgdGhlIHN3aXRjaC5cclxuKi9cclxuQG1peGluIHN3aXRjaC1sYXlvdXQoXHJcbiAgJHdpZHRoOiAkc3dpdGNoLXdpZHRoLFxyXG4gICRoZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0XHJcbikge1xyXG4gIHdpZHRoOiAkd2lkdGg7XHJcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xyXG5cclxuICA+IGxhYmVsIHtcclxuICAgICY6OmFmdGVyIHtcclxuICAgICAgd2lkdGg6ICRoZWlnaHQ7XHJcbiAgICAgIGhlaWdodDogJGhlaWdodDtcclxuICAgIH1cclxuICB9XHJcbiAgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsIHtcclxuICAgICY6OmFmdGVyIHtcclxuICAgICAgbGVmdDogJHdpZHRoIC0gJGhlaWdodDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBzd2l0Y2gtc3R5bGUoXHJcbiAgJGJhY2tncm91bmQ6ICRzd2l0Y2gtYmFja2dyb3VuZCxcclxuICAkYmFja2dyb3VuZC1hY3RpdmU6ICRzd2l0Y2gtYmFja2dyb3VuZC1hY3RpdmUsXHJcbiAgJGJvcmRlcjogJHN3aXRjaC1ib3JkZXIsXHJcbiAgJHJhZGl1czogJHN3aXRjaC1yYWRpdXMsXHJcbiAgJHBhZGRsZS1jb2xvcjogJHN3aXRjaC1wYWRkbGUtY29sb3IsXHJcbiAgJHBhZGRsZS1vZmZzZXQ6ICRzd2l0Y2gtcGFkZGxlLW9mZnNldCxcclxuICAkYW5pbWF0aW9uLXNwZWVkOiAkc3dpdGNoLWFuaW1hdGlvbi1zcGVlZFxyXG4pIHtcclxuICBAaWYgaGFzdmFsdWUoJGJvcmRlcikge1xyXG4gICAgYm9yZGVyOiAkYm9yZGVyO1xyXG4gIH1cclxuICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xyXG5cclxuICA+IGxhYmVsIHtcclxuICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xyXG5cclxuICAgICY6OmFmdGVyIHtcclxuICAgICAgYmFja2dyb3VuZDogJHBhZGRsZS1jb2xvcjtcclxuICAgICAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcclxuICAgICAgdHJhbnNpdGlvbjogbGVmdCAkYW5pbWF0aW9uLXNwZWVkIGVhc2Utb3V0O1xyXG5cclxuICAgICAgQGlmIGhhc3ZhbHVlKCRwYWRkbGUtb2Zmc2V0KSB7XHJcbiAgICAgICAgYm9yZGVyOiAkcGFkZGxlLW9mZnNldCBzb2xpZCAkYmFja2dyb3VuZFxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBpbnB1dDpjaGVja2VkICsgbGFiZWwge1xyXG4gICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQtYWN0aXZlO1xyXG4gICAgbWFyZ2luOiAwO1xyXG5cclxuICAgICY6OmFmdGVyIHtcclxuICAgICAgQGlmIGhhc3ZhbHVlKCRwYWRkbGUtb2Zmc2V0KSB7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZC1hY3RpdmU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBzd2l0Y2goKSB7XHJcbiAgQGV4dGVuZCAlc3dpdGNoO1xyXG4gIEBpbmNsdWRlIHN3aXRjaC1sYXlvdXQ7XHJcbiAgQGluY2x1ZGUgc3dpdGNoLXN0eWxlO1xyXG59XHJcblxyXG5AaW5jbHVkZSBleHBvcnRzKHN3aXRjaCkge1xyXG4gIC5zd2l0Y2gge1xyXG4gICAgQGluY2x1ZGUgc3dpdGNoO1xyXG5cclxuICAgICYuc21hbGwgeyBAaW5jbHVkZSBzd2l0Y2gtbGF5b3V0KHJlbS1jYWxjKDQwKSwgcmVtLWNhbGMoMjYpKTsgfVxyXG4gICAgJi5sYXJnZSB7IEBpbmNsdWRlIHN3aXRjaC1sYXlvdXQocmVtLWNhbGMoNjApLCByZW0tY2FsYygzOCkpOyB9XHJcbiAgfVxyXG59XHJcbiIsIi8qXHJcbiAgVEFCU1xyXG4gIC0tLS1cclxuKi9cclxuXHJcbi8vLyBARm91bmRhdGlvbi5zZXR0aW5nc1xyXG4vLyBUYWJzXHJcbiR0YWJzdHJpcC1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcclxuXHJcbiR0YWItdGl0bGUtYmFja2dyb3VuZDogJGdyYXktbGlnaHQgIWRlZmF1bHQ7XHJcbiR0YWItdGl0bGUtYmFja2dyb3VuZC1ob3Zlcjogc21hcnRzY2FsZSgkdGFiLXRpdGxlLWJhY2tncm91bmQsIDUlKSAhZGVmYXVsdDtcclxuJHRhYi10aXRsZS1iYWNrZ3JvdW5kLWFjdGl2ZTogc21hcnRzY2FsZSgkdGFiLXRpdGxlLWJhY2tncm91bmQsIDMlKSAhZGVmYXVsdDtcclxuJHRhYi10aXRsZS1jb2xvcjogaXNpdGxpZ2h0KCR0YWItdGl0bGUtYmFja2dyb3VuZCkgIWRlZmF1bHQ7XHJcbiR0YWItdGl0bGUtY29sb3ItYWN0aXZlOiAkdGFiLXRpdGxlLWNvbG9yICFkZWZhdWx0O1xyXG5cclxuJHRhYi10aXRsZS1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmcgIWRlZmF1bHQ7XHJcbiR0YWItY29udGVudC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmcgIWRlZmF1bHQ7XHJcbi8vL1xyXG5cclxuQG1peGluIHRhYnN0cmlwKFxyXG5cdCRvcmllbnRhdGlvbjogaG9yaXpvbnRhbCxcclxuXHQkYmFja2dyb3VuZDogJHRhYnN0cmlwLWJhY2tncm91bmRcclxuKSB7XHJcblx0LypcclxuXHRcdENvbnRhaW5lciBzdHlsZXNcclxuXHQqL1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YmFja2dyb3VuZDogJGJhY2tncm91bmQ7XHJcblxyXG5cdEBpZiAkb3JpZW50YXRpb24gPT0gdmVydGljYWwge1xyXG5cdCAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xyXG5cdH1cclxuXHRAZWxzZSB7XHJcblx0XHRmbGV4LWZsb3c6IHJvdyB3cmFwO1xyXG5cdH1cclxufVxyXG5cclxuQG1peGluIHRhYnN0cmlwLWl0ZW0oXHJcblx0JGJhY2tncm91bmQ6ICR0YWItdGl0bGUtYmFja2dyb3VuZCxcclxuXHQkYmFja2dyb3VuZC1ob3ZlcjogJHRhYi10aXRsZS1iYWNrZ3JvdW5kLWhvdmVyLFxyXG5cdCRiYWNrZ3JvdW5kLWFjdGl2ZTogJHRhYi10aXRsZS1iYWNrZ3JvdW5kLWFjdGl2ZSxcclxuXHQkY29sb3I6ICR0YWItdGl0bGUtY29sb3IsXHJcblx0JGNvbG9yLWFjdGl2ZTogJHRhYi10aXRsZS1jb2xvci1hY3RpdmUsXHJcblx0JHBhZGRpbmc6ICR0YWItdGl0bGUtcGFkZGluZ1xyXG4pIHtcclxuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcclxuICBwYWRkaW5nOiAkcGFkZGluZztcclxuICBsaW5lLWhlaWdodDogMTtcclxuICBtYXJnaW46IDA7XHJcbiAgZmxleDogMCAxIGF1dG87XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIGNvbG9yOiAkY29sb3I7XHJcblxyXG4gICYuaXMtYWN0aXZlIHtcclxuICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLWFjdGl2ZTtcclxuICAgIGNvbG9yOiAkY29sb3ItYWN0aXZlO1xyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZC1ob3ZlcjtcclxuICAgIH1cclxuICB9XHJcbiAgJjpob3ZlciB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZC1ob3ZlcjtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiB0YWItY29udGVudChcclxuXHQkcGFkZGluZzogJHRhYi1jb250ZW50LXBhZGRpbmdcclxuKSB7XHJcbiAgcGFkZGluZzogJHBhZGRpbmc7XHJcbn1cclxuXHJcbkBtaXhpbiB0YWItY29udGVudC1pdGVtIHtcclxuICBkaXNwbGF5OiBub25lO1xyXG4gICYuaXMtYWN0aXZlIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gIH1cclxufVxyXG5cclxuQGluY2x1ZGUgZXhwb3J0cyh0YWJzKSB7XHJcbiAgLnRhYnMge1xyXG4gICAgQGluY2x1ZGUgdGFic3RyaXAoaG9yaXpvbnRhbCk7XHJcblxyXG4gICAgJi52ZXJ0aWNhbCB7XHJcbiAgICAgIEBpbmNsdWRlIHRhYnN0cmlwKHZlcnRpY2FsKTtcclxuICAgIH1cclxuXHJcbiAgICAudGFiLWl0ZW0ge1xyXG4gICAgICBAaW5jbHVkZSB0YWJzdHJpcC1pdGVtO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLnRhYi1jb250ZW50cyB7XHJcbiAgICBAaW5jbHVkZSB0YWItY29udGVudDtcclxuXHJcbiAgICAudGFiLWNvbnRlbnQge1xyXG4gICAgICBAaW5jbHVkZSB0YWItY29udGVudC1pdGVtO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvKlxyXG5cdE9mZi1jYW52YXMgbWVudVxyXG4gIC0tLS0tLS0tLS0tLS0tLVxyXG5cclxuICBBIGdlbmVyaWMgY29udGFpbmVyIHRoYXQgc3RheXMgZml4ZWQgdG8gdGhlIGxlZnQsIHRvcCwgcmlnaHQsIG9yIGJvdHRvbSBvZiB0aGUgc2NyZWVuLCBhbmQgaXMgc3VtbW9uZWQgd2hlbiBuZWVkZWQuIFdoZW4gYW4gb2ZmLWNhbnZhcyBwYW5lbCBpcyBvcGVuLCB0aGUgYXBwIGZyYW1lIHNoaWZ0cyBvdmVyIHRvIHJldmVhbCB0aGUgbWVudS5cclxuKi9cclxuXHJcbi8vLyBARm91bmRhdGlvbi5zZXR0aW5nc1xyXG4vLyBPZmYtY2FudmFzXHJcbiRvZmZjYW52YXMtc2l6ZS1ob3Jpem9udGFsOiAyNTBweCAhZGVmYXVsdDtcclxuJG9mZmNhbnZhcy1zaXplLXZlcnRpY2FsOiAyNTBweCAhZGVmYXVsdDtcclxuXHJcbiRvZmZjYW52YXMtYmFja2dyb3VuZDogI2ZmZiAhZGVmYXVsdDtcclxuJG9mZmNhbnZhcy1jb2xvcjogaXNpdGxpZ2h0KCRvZmZjYW52YXMtYmFja2dyb3VuZCkgIWRlZmF1bHQ7XHJcbiRvZmZjYW52YXMtcGFkZGluZzogMCAhZGVmYXVsdDtcclxuJG9mZmNhbnZhcy1zaGFkb3c6IDNweCAwIDEwcHggcmdiYShibGFjaywgMC4yNSkgIWRlZmF1bHQ7XHJcbiRvZmZjYW52YXMtYW5pbWF0aW9uLXNwZWVkOiAwLjI1cyAhZGVmYXVsdDtcclxuXHJcbiRvZmZjYW52YXMtZnJhbWUtc2VsZWN0b3I6ICcuZ3JpZC1mcmFtZScgIWRlZmF1bHQ7XHJcbi8vL1xyXG5cclxuJW9mZi1jYW52YXMge1xyXG4gIHBvc2l0aW9uOiBmaXhlZDtcclxuICBvdmVyZmxvdzogYXV0bztcclxuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XHJcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICRvZmZjYW52YXMtYW5pbWF0aW9uLXNwZWVkIGVhc2Utb3V0O1xyXG4gIHotaW5kZXg6IDI7XHJcblxyXG4gIC8vIEFjdGl2ZSBzdGF0ZVxyXG4gICYuaXMtYWN0aXZlIHtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsMCkgIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gIC8vIEZyYW1lIHN0eWxlc1xyXG4gICYgfiAjeyRvZmZjYW52YXMtZnJhbWUtc2VsZWN0b3J9IHtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsMCwwKTtcclxuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjI1cyBlYXNlLW91dDtcclxuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xyXG4gIH1cclxufVxyXG5AbWl4aW4gb2ZmLWNhbnZhcy1kZXRhY2hlZCB7XHJcbiAgei1pbmRleDogMDtcclxuICBib3gtc2hhZG93OiBub25lO1xyXG5cclxuICAmLCAmLmlzLWFjdGl2ZSB7XHJcbiAgICB0cmFuc2Zvcm06IG5vbmU7XHJcbiAgfVxyXG5cclxuICAmIH4gI3skb2ZmY2FudmFzLWZyYW1lLXNlbGVjdG9yfSB7XHJcbiAgICB6LWluZGV4OiAxO1xyXG4gICAgYm94LXNoYWRvdzogMCAwIDE1cHggcmdiYSgwLDAsMCwwLjUpO1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIG9mZi1jYW52YXMtbGF5b3V0KFxyXG4gICRwb3NpdGlvbjogbGVmdCxcclxuICAkc2l6ZTogZGVmYXVsdCxcclxuICAkc2hhZG93OiAkb2ZmY2FudmFzLXNoYWRvd1xyXG4pIHtcclxuICAvKlxyXG4gICAgR2V0IHNoYWRvdyB2YWx1ZXMgZm9yIGxhdGVyIHVzZVxyXG4gICovXHJcbiAgJHNoYWRvdy1sZW5ndGg6ICcnO1xyXG4gICRzaGFkb3ctc2l6ZTogJyc7XHJcbiAgJHNoYWRvdy1jb2xvcjogJyc7XHJcbiAgQGlmIGhhc3ZhbHVlKCRzaGFkb3cpIHtcclxuICAgICRzaGFkb3ctbGVuZ3RoOiBnZXQtc2hhZG93LXZhbHVlKCRzaGFkb3csIHgpO1xyXG4gICAgJHNoYWRvdy1zaXplOiBnZXQtc2hhZG93LXZhbHVlKCRzaGFkb3csIHNpemUpO1xyXG4gICAgJHNoYWRvdy1jb2xvcjogZ2V0LXNoYWRvdy12YWx1ZSgkc2hhZG93LCBjb2xvcik7XHJcbiAgfVxyXG5cclxuICAvKlxyXG4gICAgU2l6aW5nXHJcbiAgKi9cclxuICBAaWYgJHBvc2l0aW9uID09IGxlZnQgb3IgJHBvc2l0aW9uID09IHJpZ2h0IHtcclxuICAgIEBpZiAkc2l6ZSA9PSBkZWZhdWx0IHtcclxuICAgICAgJHNpemU6ICRvZmZjYW52YXMtc2l6ZS1ob3Jpem9udGFsO1xyXG4gICAgfVxyXG4gICAgd2lkdGg6ICRzaXplO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gIH1cclxuICBAZWxzZSB7XHJcbiAgICBAaWYgJHNpemUgPT0gZGVmYXVsdCB7XHJcbiAgICAgICRzaXplOiAkb2ZmY2FudmFzLXNpemUtdmVydGljYWw7XHJcbiAgICB9XHJcbiAgICBoZWlnaHQ6ICRzaXplO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgfVxyXG5cclxuICAvKlxyXG4gICAgUG9zaXRpb25pbmdcclxuICAqL1xyXG4gIEBpZiAkcG9zaXRpb24gPT0gbGVmdCB7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgQGlmIGhhc3ZhbHVlKCRzaGFkb3cpIHsgYm94LXNoYWRvdzogaW5zZXQgKC0kc2hhZG93LWxlbmd0aCkgMCAkc2hhZG93LXNpemUgJHNoYWRvdy1jb2xvcjsgfVxyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcclxuICAgICYuaXMtYWN0aXZlIHtcclxuICAgICAgJiB+ICN7JG9mZmNhbnZhcy1mcmFtZS1zZWxlY3Rvcn0geyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJHNpemUpICFpbXBvcnRhbnQ7IH1cclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHJpZ2h0IHtcclxuICAgIGxlZnQ6IGF1dG87XHJcbiAgICB0b3A6IDA7XHJcbiAgICByaWdodDogMDtcclxuICAgIEBpZiBoYXN2YWx1ZSgkc2hhZG93KSB7IGJveC1zaGFkb3c6IGluc2V0ICRzaGFkb3ctbGVuZ3RoIDAgJHNoYWRvdy1zaXplICRzaGFkb3ctY29sb3I7IH1cclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcclxuICAgICYuaXMtYWN0aXZlIHtcclxuICAgICAgJiB+ICN7JG9mZmNhbnZhcy1mcmFtZS1zZWxlY3Rvcn0geyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLSRzaXplKSAhaW1wb3J0YW50OyB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSB0b3Age1xyXG4gICAgdG9wOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XHJcbiAgICBAaWYgaGFzdmFsdWUoJHNoYWRvdykgeyBib3gtc2hhZG93OiBpbnNldCAwICgtJHNoYWRvdy1sZW5ndGgpICRzaGFkb3ctc2l6ZSAkc2hhZG93LWNvbG9yOyB9XHJcbiAgICAmLmlzLWFjdGl2ZSB7XHJcbiAgICAgICYgfiAjeyRvZmZjYW52YXMtZnJhbWUtc2VsZWN0b3J9IHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCRzaXplKSAhaW1wb3J0YW50OyB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSBib3R0b20ge1xyXG4gICAgdG9wOiBhdXRvO1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTtcclxuICAgIEBpZiBoYXN2YWx1ZSgkc2hhZG93KSB7IGJveC1zaGFkb3c6IGluc2V0IDAgJHNoYWRvdy1sZW5ndGggJHNoYWRvdy1zaXplICRzaGFkb3ctY29sb3I7IH1cclxuICAgICYuaXMtYWN0aXZlIHtcclxuICAgICAgJiB+ICN7JG9mZmNhbnZhcy1mcmFtZS1zZWxlY3Rvcn0geyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSRzaXplKSAhaW1wb3J0YW50OyB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gb2ZmLWNhbnZhcy1zdHlsZShcclxuICAkYmFja2dyb3VuZDogJG9mZmNhbnZhcy1iYWNrZ3JvdW5kLFxyXG4gICRjb2xvcjogJG9mZmNhbnZhcy1jb2xvcixcclxuICAkcGFkZGluZzogJG9mZmNhbnZhcy1wYWRkaW5nXHJcbikge1xyXG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xyXG5cclxuICBAaWYgJGNvbG9yID09IGF1dG8ge1xyXG4gICAgY29sb3I6IGlzaXRsaWdodCgkYmFja2dyb3VuZCwgIzAwMCwgI2ZmZik7XHJcbiAgfVxyXG4gIEBlbHNlIHtcclxuICAgIGNvbG9yOiAkY29sb3I7XHJcbiAgfVxyXG5cclxuICBAaWYgaGFzdmFsdWUoJHBhZGRpbmcpIHtcclxuICAgIHBhZGRpbmc6ICRwYWRkaW5nO1xyXG4gIH1cclxufVxyXG5cclxuQGluY2x1ZGUgZXhwb3J0cyhvZmYtY2FudmFzKSB7XHJcbiAgLm9mZi1jYW52YXMge1xyXG4gICAgQGV4dGVuZCAlb2ZmLWNhbnZhcztcclxuICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtbGF5b3V0O1xyXG4gICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1zdHlsZTtcclxuXHJcbiAgICAmLnRvcCAgICB7IEBpbmNsdWRlIG9mZi1jYW52YXMtbGF5b3V0KHRvcCk7IH1cclxuICAgICYucmlnaHQgIHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy1sYXlvdXQocmlnaHQpOyB9XHJcbiAgICAmLmJvdHRvbSB7IEBpbmNsdWRlIG9mZi1jYW52YXMtbGF5b3V0KGJvdHRvbSk7IH1cclxuICAgICYubGVmdCAgIHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy1sYXlvdXQobGVmdCk7IH1cclxuXHJcbiAgICAmLmRldGFjaGVkIHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy1kZXRhY2hlZDsgfVxyXG5cclxuICAgICYucHJpbWFyeSB7IEBpbmNsdWRlIG9mZi1jYW52YXMtc3R5bGUoJHByaW1hcnktY29sb3IsIGF1dG8pOyB9XHJcbiAgICAmLmRhcmsgICAgeyBAaW5jbHVkZSBvZmYtY2FudmFzLXN0eWxlKCRkYXJrLWNvbG9yLCBhdXRvKTsgfVxyXG4gIH1cclxufVxyXG4iLCIvKlxyXG4gIEFDQ09SRElPTlxyXG4gIC0tLS0tLS0tLVxyXG5cclxuICBUaGUgdHJ1c3kgYWNjb3JkaW9uIGFsbG93cyB5b3UgdG8gY3JlYXRlIGEgc2VyaWVzIG9mIHZlcnRpY2FsIHRhYnMuXHJcbiovXHJcblxyXG4vLy8gQEZvdW5kYXRpb24uc2V0dGluZ3NcclxuLy8gQWNjb3JkaW9uXHJcbiRhY2NvcmRpb24tYm9yZGVyOiAxcHggc29saWQgJGdyYXktZGFyayAhZGVmYXVsdDtcclxuXHJcbiRhY2NvcmRpb24tdGl0bGUtYmFja2dyb3VuZDogJGdyYXktbGlnaHQgIWRlZmF1bHQ7XHJcbiRhY2NvcmRpb24tdGl0bGUtYmFja2dyb3VuZC1ob3Zlcjogc21hcnRzY2FsZSgkYWNjb3JkaW9uLXRpdGxlLWJhY2tncm91bmQsIDUlKSAhZGVmYXVsdDtcclxuJGFjY29yZGlvbi10aXRsZS1iYWNrZ3JvdW5kLWFjdGl2ZTogc21hcnRzY2FsZSgkYWNjb3JkaW9uLXRpdGxlLWJhY2tncm91bmQsIDMlKSAhZGVmYXVsdDtcclxuJGFjY29yZGlvbi10aXRsZS1jb2xvcjogaXNpdGxpZ2h0KCRhY2NvcmRpb24tdGl0bGUtYmFja2dyb3VuZCkgIWRlZmF1bHQ7XHJcbiRhY2NvcmRpb24tdGl0bGUtY29sb3ItYWN0aXZlOiBpc2l0bGlnaHQoJGFjY29yZGlvbi10aXRsZS1iYWNrZ3JvdW5kKSAhZGVmYXVsdDtcclxuXHJcbiRhY2NvcmRpb24tdGl0bGUtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nICFkZWZhdWx0O1xyXG4kYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nICFkZWZhdWx0O1xyXG4vLy9cclxuXHJcbkBtaXhpbiBhY2NvcmRpb24tdGl0bGUoXHJcbiAgJGJhY2tncm91bmQ6ICRhY2NvcmRpb24tdGl0bGUtYmFja2dyb3VuZCxcclxuICAkYmFja2dyb3VuZC1ob3ZlcjogJGFjY29yZGlvbi10aXRsZS1iYWNrZ3JvdW5kLWhvdmVyLFxyXG4gICRiYWNrZ3JvdW5kLWFjdGl2ZTogJGFjY29yZGlvbi10aXRsZS1iYWNrZ3JvdW5kLWFjdGl2ZSxcclxuICAkY29sb3I6ICRhY2NvcmRpb24tdGl0bGUtY29sb3IsXHJcbiAgJGNvbG9yLWFjdGl2ZTogJGFjY29yZGlvbi10aXRsZS1jb2xvci1hY3RpdmUsXHJcbiAgJHBhZGRpbmc6ICRhY2NvcmRpb24tdGl0bGUtcGFkZGluZ1xyXG4pIHtcclxuICBwYWRkaW5nOiAkcGFkZGluZztcclxuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcclxuICBjb2xvcjogJGNvbG9yO1xyXG4gIGxpbmUtaGVpZ2h0OiAxO1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuXHJcbiAgJjpob3ZlciB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZC1ob3ZlcjtcclxuICB9XHJcblxyXG4gIC5pcy1hY3RpdmUgPiAmIHtcclxuICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLWFjdGl2ZTtcclxuICAgIGNvbG9yOiAkY29sb3ItYWN0aXZlO1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGFjY29yZGlvbi1jb250ZW50KFxyXG4gICRwYWRkaW5nOiAkYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZ1xyXG4pIHtcclxuICBwYWRkaW5nOiAkcGFkZGluZztcclxuXHJcbiAgZGlzcGxheTogbm9uZTtcclxuICAuaXMtYWN0aXZlID4gJiB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICB9XHJcbn1cclxuXHJcbkBpbmNsdWRlIGV4cG9ydHMoYWNjb3JkaW9uKSB7XHJcbiAgLmFjY29yZGlvbiB7XHJcbiAgICBAaWYgaGFzdmFsdWUoJGFjY29yZGlvbi1ib3JkZXIpIHtcclxuICAgICAgYm9yZGVyOiAkYWNjb3JkaW9uLWJvcmRlcjtcclxuICAgIH1cclxuICB9XHJcbiAgICAuYWNjb3JkaW9uLWl0ZW0ge1xyXG5cclxuICAgIH1cclxuICAgIC5hY2NvcmRpb24tdGl0bGUge1xyXG4gICAgICBAaW5jbHVkZSBhY2NvcmRpb24tdGl0bGU7XHJcbiAgICB9XHJcbiAgICAuYWNjb3JkaW9uLWNvbnRlbnQge1xyXG4gICAgICBAaW5jbHVkZSBhY2NvcmRpb24tY29udGVudDtcclxuICAgIH1cclxufVxyXG4iXSwic291cmNlUm9vdCI6Ii9zb3VyY2UvIn0= */